Eroeffnunsartikel (Jof, 10. Nov 1994, 12:34:10):
 In dieser Rubrik kann man Treffen wie Stammtische oder so, die fuer alle
Mud-
der interessant sind, ankuendigen und organisieren.

 Viel Spass
  Jof

-----------------------------------------------------------------------------



Stammtisch in Muenster (Jof, 10. Nov 1994, 12:35:27):
 Ich moechte dann auch gleich bei dieser Gelegenheit wieder an den Muenster-
aner Mud-Stammtisch erinnern, der jeden Dienstag abend um 20 Uhr im
Obina Shock (Ecke Ring/Huefferstrasse) stattfindet. Schaut halt mal rein :)

 Jof

-----------------------------------------------------------------------------



Nochn Stammtisch... (Grimmborn, 10. Nov 1994, 17:05:47):

Hiermit gebe ich die Gruendung eines Stammtischs in Goeteborg bekannt.
Treffpunkt bei mir zu Hause und Zeitpunkt wird spontan von Grimmdeath und mir
beschlossen, wir sind ja eh die einzigen Teilnehmer...
Naja, fuer alle mudder interessant? Vielleicht nicht.

Stammtischend,
              Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Silvana, 10. Nov 1994, 19:29:36):
#! rn=Jof rt=784467327
Tja - Wenn ihr nen anderen Tag haettet - Freitag z.B. koennte / wuerde ich
tatsaechlich mal kommen. Aber der Dienstag ist vollkommen unmoeglich fuer
mich. ;-(((

Etwas traurig - Silvana.

-----------------------------------------------------------------------------



Re: Nochn Stammtisch... (Fyt, 10. Nov 1994, 20:14:07):
(Bezug: Artikel von Grimmborn, Don, 10. Nov 1994, 17:05:47)

Gute Idee. Ich eroeffne hiermit einen Stammtisch in Liverpool. Termin wird
abwechselnd von me, myself und I festgelegt, wobei Jaf
auch noch ein Woertchen mitzureden hat...

Fyt, sich gerade ueberlegend, dass ein Pub eingentlich viel
realer als das MorgenGrauen ist...

-----------------------------------------------------------------------------



Re: Nochn Stammtisch... (Caradhras, 10. Nov 1994, 21:07:23):
(Bezug: Artikel von Grimmborn, Don, 10. Nov 1994, 17:05:47)
Och, mein Teesohn aeh Grimmfrosch, da findet sich sicher jemand, der
deinen Stammtisch mal besuchen wird. :-) Ganz bestimmt :-))

           Caradhras der ewige Prophet

-----------------------------------------------------------------------------



Re: Nochn Stammtisch... (Loco, 11. Nov 1994, 14:09:01):
#! rn=Grimmborn rt=784483547
Wuerde ja liebend gerne kommen, Anreise ist ja noch ertraeglich, nicht mal 24
Stunden in jede Richtung, aber wer zahlt meine Fahrkarten?

  ;-)  Loco

-----------------------------------------------------------------------------



Re: Nochn Stammtisch... (Tzuiop, 11. Nov 1994, 16:50:33):
#! rn=Grimmborn rt=784483547
Vielleicht im naechsten Sommer :))
/Tzuiop

-----------------------------------------------------------------------------



Und weiterer Stammtisch (Aranya, 14. Nov 1994, 14:49:54):
Als SPD-Mitglied schlage ich natuerlich einen Stammtisch in der Toskana vor.
Es lebe die Toskana-Fraktion! Pfeifenraucher willkommen! (Sollte das
vielleicht doch in Schmarrn?)
Mit solidarischen Gruessen
                            Aranya, die rote

-----------------------------------------------------------------------------



Stammtisch Bochum (Rxtech, 17. Nov 1994, 15:23:35):
Tja, wenn jetzt schon ueberall Stammtische auftauchen (uebertreib),
darf Bochum wohl nicht nachstehen. Also ich wurde angesprochen mal
nachzufragen, wer an sowas Interesse haette. Auch wenn das jetzt etwas
sehr merkwuerdig klingt, aber ich weiss nicht, ob ich selber teilnehmen kann.
Jedenfalls wurde von fast 20 Leutchen ausgegangen, die das interessieren
koennte. Also frag ich halt mal einfach nach. Freitags abends war im
Gespraech. Schreibt mir also einfach ne Mail und ich werd ds dann
weiterleiten.
Bis dann
Rxtech (ewig dudelnder Dudelsacker)

-----------------------------------------------------------------------------



Re: Stammtisch Bochum (Guldukat, 17. Nov 1994, 15:55:36):
#! rn=Rxtech rt=785082215
Freitags ist wohl schlecht, in der Woche waere besser (meine Freundin
verpruegelt mich, wenn ich freitags nicht da bin ;))) )
Ne, im Ernst, in der woche waere besser!

Was heisst eigentlich weiterleiten? Wer ist denn der Organisator des
Stammtisches, wenn du es nicht bist?

Dismissed, GD

-----------------------------------------------------------------------------



nochmal Stammtisch Bochum (Rxtech, 17. Nov 1994, 16:33:09):
Ich bin aber auch wieder schusselig heute.
Also ich wollte wirklich nicht unhoeflich sein, aber der Stammtisch Bochum
bezieht sich natuerlich nicht nur auf Bochum. Alle anderen sind natuerlich
genauso Eingeladen (falls soetwas wirklich stattfinden sollte). Also nur keine
Hemmungen.
Tausende von Mails erwartend

Rxtech (der Dudelsacker)

-----------------------------------------------------------------------------



Stammtisch Braunschweig ... (Durian, 17. Nov 1994, 20:04:14):
Hallo!

Ab heute trifft sich der Braunschweiger Stammtisch ... in der Telefonzelle!

*seufz*

- Durian, der fast einsame Braunschweiger

-----------------------------------------------------------------------------



Re: Stammtisch Braunschweig ... (Hakkikkt, 17. Nov 1994, 20:09:04):
#! rn=Durian rt=785099054
Hi Durian,
wie waere es, wenn sich der Braunschweiger Stammtisch mit dem Hannoveraner
Stammtisch zusammentut? Dann waerst du in der Telefonzelle nicht so alleine!
Hakkikkt

-----------------------------------------------------------------------------



braunschweig... (Augra, 17. Nov 1994, 21:28:02):
Hi Durian,
soll ich Hate ueberreden, das wir dich in Braunschweig besuchen, dann
braeuchten wir aber 2 Teflonzellen.....

                          die rege Diskussion ueber Treffen sehr
begruessend,
                                                                Augra

-----------------------------------------------------------------------------



Re: braunschweig... (Mateese, 17. Nov 1994, 21:34:57):
#! rn=Augra rt=785104082
Uh-oh, loesch das mal lieber wieder bevor Hate es sieht, sonst braucht
ihr noch eine Telefonzelle mehr.
 -- Mateese sucht vorsichtshalber schon mal ihr(e) Lieblings-MG.

-----------------------------------------------------------------------------



Telefonzelle (Grimmborn, 17. Nov 1994, 21:47:34):

Ich will mich nicht einmischen, aber ists in Telefonzellen nicht etwas kalt
um diese Jahreszeit? Oder sind die im reichen Deutschland zur Winterszeit
mittlerweile geheizt?
Naja, wenn ihr zu zweit seid koennt ihr euch ja ein paar warme Gedanken
machen... ;-)

haelt seinen einsamen Stammtisch bei sich zu Hause ab,
                                                   Grimmborn der Atheist

-----------------------------------------------------------------------------



anfrage (Wur, 18. Nov 1994, 02:39:44):
HOI ihr!

Sagt mal, gibt es in Berlin auch sowas wie ein mud-treffen. bisher habe ich
davon nichts gelesen hier. ich wuerde es ja nicht schlecht finden, bin
allerdings etwas faul was das organisieren derartiger dinge angeht.

	Wur

-----------------------------------------------------------------------------



Re: nochmal Stammtisch Bochum (Har, 18. Nov 1994, 11:11:34):
#! rn=Rxtech rt=785086389
Hallo Rxtech!
Also zeitlich ist es momentan schlecht bei mir, ich komme ja kaum noch
zum mudden, geschweige denn zum Stammtisch...
Irgendwie liese sich aber was einrichten :)

Har

-----------------------------------------------------------------------------



Re: braunschweig... (Boing, 18. Nov 1994, 12:30:09):
#! rn=Augra rt=785104082
Haben sie nicht vor ein paar Jahren in 'Wetten Dass?' mal gezeigt, dass
wesentlich mehr als 4 Leute in eine Telefonzelle reingehen? :)
Viel Spass beim Draengeln,
   Boing

-----------------------------------------------------------------------------



Re: anfrage (Fyt, 18. Nov 1994, 18:18:48):
#! rn=Wur rt=785122784

Berlin klingt gut, da koennte sogar ich vielleicht mal vorbeikommen...

Fyt


-----------------------------------------------------------------------------



Re: Re: Stammtisch Braunschweig ... (Tilion, 19. Nov 1994, 18:08:45):
#! rn=Hakkikkt rt=785099344

OK...machen wir nen BS Stammtisch...ich ueberrede mal Thorin, dass
er auch kommen soll...Durian, mach nen Treffpunkt aus und ne Zeit.
Ich schlage das McMurphy vor.
Tilion....

-----------------------------------------------------------------------------



Bochumer Treffen (Rxtech, 23. Nov 1994, 17:16:47):
Hiho
Nach ueberwaeltigendem Erfolg (so 3 mails), kondensiert sich ein Termin
und ein Ort heraus.
Es sieht nach Freitag naechste Woche um 20 Uhr nach dem Bochumer
Unicenter aus.

Wer interesse hat sollte mir ne Mail schreiben, weil sich ja
wer um ne Tischreservierung kuemmern muss.

Ich hoffe das nicht zu viele Fragen offen sind
Bis dann

Rxtech der Dudelkopp

-----------------------------------------------------------------------------



Re^3: nochmal Stammtisch Bochum (Har, 24. Nov 1994, 11:02:10):
#! rn=Flintnail rt=785200255
Vielleicht sagt mir ein Bochumer mal Bescheid, wenn Stammtisch ist, dann
nehme ich miich mir natuerlich die Zeit auch mal zum Stammtisch zu kommen ;)
Rudi sollte eigentlich meine E-MAil haben und Torf auch...
Har (beleidigt, dass ihm keiner Bescheid sagt)

-----------------------------------------------------------------------------



Re^5: nochmal Stammtisch Bochum (Charon, 25. Nov 1994, 21:36:09):
#! rn=Flintnail rt=785691705
"irgendwie nicht ganz normale studenten"
haha, wie recht er hat
*grins*
Charon

-----------------------------------------------------------------------------



Re: braunschweig... (Durian, 28. Nov 1994, 15:37:42):
#! rn=Augra rt=785104082
Hi Augra!

Immer dabei!!

- Durian

-----------------------------------------------------------------------------



Re: Re: braunschweig... (Tilion, 28. Nov 1994, 17:28:20):
#! rn=Durian rt=786033462
Wann, Wo, Wie und ueberhaupt...???

-----------------------------------------------------------------------------



Stammtisch in Linz (Catweazle, 28. Nov 1994, 17:40:50):
[Verlegt von allgemeines, Schrumpfi, 28. Nov 1994, 00:48:11]:
So liebe Mudder aus dem Oesiland, ich hab es geschafft und fuer den 2.12.94
einn Stammtisch organisiert!
Der Stammtisch findet am 2.12.94 ab 19:00 im Gasthaus "Alte Welt" in Linz
statt.
Zu finden ist die Alte Welt ganz leicht, sie ist direkt am Linzer Hauptplatz.

Vom Hauptbahnhof weg mit der Linie 3 bis Hauptplatz, wenn man aussteigt auf
derrechten Seite (beim Ali's Imbiss) durch den Durchgang, dann steht man
direkt davor.
Wenn ihr den Kellner im Restaurant nach dem Stammtisch fragt, sagt der euch
wo er ist.
Tel. Alte Welt 0732/770053
Bis dann
                          Schrumpfi

-----------------------------------------------------------------------------



Re: Stammtisch in Linz (Catweazle, 28. Nov 1994, 17:41:10):
[Verlegt von allgemeines, Caradhras, 28. Nov 1994, 12:28:11]:
#! rn=Schrumpfi rt=785980091
Ali's Imbiss? Kenn ich :-)) Dann muss ich wohl kommen. *GRINS*

    tschoe       Caradhras der ewige Prophet

-----------------------------------------------------------------------------



Bochumer Tisch (Torfdueng,  2. Dez 1994, 17:01:33):
Wir werden uns erstmal im Le Clohard treffen
Eine Karte, die dorthinfuehrt liegt im /open unter
Karte.Bochum
uni.pcx

Damit sollte man es finden
Das Le Clohard ist am Buscheyplatz
nahe dem Wohnheim am Sumperkamp, was jeder Studi wissen sollte in BO :)
Na ja
Bis denn
TD

-----------------------------------------------------------------------------



File (Torfdueng,  2. Dez 1994, 17:26:39):
Sorry,
allso, 1. heisst das file fuer die karte mbox
2. muesst hier das file dann umbennennen,was da rauskommt, in
**.pcx

Sorry
TD

-----------------------------------------------------------------------------



Bochumer Stammtisch (Rxtech,  3. Dez 1994, 14:58:16):
Kurze Mitteilung

Also wie mehrfach angekuendigt fand gestern abend der erste bochumer
stammtisch statt. Ich denke ich stehe nicht allein mit der meinung, dass
es ein ganz netter abend war (schade, dass die kneipe schon zugemacht hat).

fazit des abends ist jedenfalls, dass wir uns wohl an jedem ersten freitag
im monat treffen wollen. wer interesse hat sollte sich das schon mal
vormerken. vielleicht werden wir ja noch mehr.

also bis dann

rx der dudelkopp

-----------------------------------------------------------------------------



Dortmunder Stammtisch (Locutus,  8. Dez 1994, 11:43:05):
Hallo Muddies !

HAbe gerade ein laengeres Gespraech mit Shira gefuehrt und wir sind der
Meinung, dass man auch in Dortmund einen Morgengrauen MUD - Stammtisch
einrichten koennte, sofern genug Leute daran interessiert sind.
Deshalb erstmal die Anfrage, wer denn alles Interesse an einem Dortmunder
Stammtisch haette. Schreibt doch einfach hier in die Rubrik oder schickt mir
oder Shira ne MUDMail.

Locutus

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Hardil,  8. Dez 1994, 11:51:46):
#! rn=Locutus rt=786883385
Interesse...
... aber wie willst Du verhindern, dass auch Bochumer kommen ? :-)))
*grins*
FLAMES ON ME :-)

		Hardil

-----------------------------------------------------------------------------



Konkurenz (Rxtech,  8. Dez 1994, 14:28:33):
Aha, die Dortmunder wollen also Konkurrenz aufbauen. Koennt ihr haben.

grins

Rx

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Klinge,  8. Dez 1994, 15:13:49):
#! rn=Locutus rt=786883385

Ich hab Interesse, sach an wann :)

-----------------------------------------------------------------------------



Re: Re: Dortmunder Stammtisch (Quillian,  8. Dez 1994, 16:38:48):
#! rn=Hardil rt=786883906
aehm, was hast du gegen Bochumer ???

Der Stammtisch in bochum (letzter freitag) war recht nett ...

Quilli

-----------------------------------------------------------------------------



Dortmunder Stammtisch (Shira,  9. Dez 1994, 10:47:15):
Halloechen,
ich hatte also mit Locutus mal besprochen einen Dortmunder Stammtisch
einzuricten.
Das sollte natuerlich nicht als Konkurrenz zum Bochumer Treffen gedacht sein.
Ich bin natuerlich einfach nur faul, und Dortmund ist nunmal naeher!!!
Aber wir koennten doch einen Kompromiss finden, vielleicht koennen wir das
Treffen mal in Dortmund und mal in Bochum stattfinden lassen..
Oder wir treffen uns den 3.Freitag im Monat..  :-)
Also, vielleicht bekommen wir ja wirklich mal sowas zustande..
Bis denn,
Shira, die endlich auch mal die Leute kennenlernen will, mit denen sie es
hier zu tun hat  ;-)

-----------------------------------------------------------------------------



Re^3: Dortmunder Stammtisch (Hardil,  9. Dez 1994, 13:39:32):
#! rn=Quillian rt=786901128
Eigentlich nix, Quillian, ich hab nur schon mal TD im RL geknuddelt, und es
war nicht so prima :-)
 *grins*

Hardil

-----------------------------------------------------------------------------



Re^4: Dortmunder Stammtisch (Quillian,  9. Dez 1994, 18:53:17):
#! rn=Hardil rt=786976772
*grins*
So ein Bart ist nicht jedermanns Sache ...

Quillian, knuddelt TD lieber nicht weder hier noch in RL

-----------------------------------------------------------------------------



Stammtisch-DO (Bodo, 10. Dez 1994, 17:16:55):
Ein Stammtisch in Dortmund ware' nich' schlecht.
Vielleicht sollte man den Bochumer Stammtisch aufgeben und einen gemeinsamen
in DO machen.
Tuess
  Bodo

-----------------------------------------------------------------------------



Re: Stammtisch-DO (Klinge, 10. Dez 1994, 17:34:38):
#! rn=Bodo rt=787076215
Seh ich auch so.
Stammtisch in Bochum, .....wassn Quatsch !
;)

-----------------------------------------------------------------------------



Dortmunder Stammtisch, die Zweite ! (Locutus, 12. Dez 1994, 10:57:09):
Hallo !

Ich freue mich ueber die Resonanz auf meinen Artikel und das Interesse an
nem Dortmunder MG Stammtisch. Als erstes Treffen wuerde ich mal einfach
so das Cafe Durchblick in der Naehe der Uni DO vorschlagen (Campus Nord).
Alternativen sind natuerlich willkommen. Als ersten Zeitpunkt fuer ein
Treffen schlage ich Freitag, den 13. (*GRUSEL*) Januar vor. Schreibt mal,
ob Euch der Termin und Treffpunkt passt.

Locutus

-----------------------------------------------------------------------------



Re: Stammtisch-DO (Quillian, 12. Dez 1994, 12:52:47):
#! rn=Bodo rt=787076215

oder einfach alle dortmunder nach bochum einladen ?

Quillian, Bochumer

-----------------------------------------------------------------------------



Re: WIRD WOHL NOETIG! (Campino, 13. Dez 1994, 21:17:58):
#! rn=Yantro rt=787321678
Gute Idee ein Stammtisch in Koeln.
Allerdings, 'Zentrum der Welt' ist ja wohl nicht ganz korrekt, korrekter
waere wohl 'noerdlich vom Zentrum der Welt' ;).
Naja ich will nicht so weit gehen, zu behaupten, dass in Bonn abends mehr los
Also mein Vorschlag: Am besten so gegen 20.00 Uhr, und am allerbesten waere
es, eine Kneipe, in der Naehe einer 16-Haltestelle oder leicht vom HBF zu
erreichen.


-----------------------------------------------------------------------------



Re: Treffen in Passau (Kretek, 14. Dez 1994, 00:24:52):
#! rn=Transrapid rt=787320967
Suuuuuuuper Idee!

Schade nur, dass ich selber nicht kommen kann (fuer MICH ist das schade!),
weil ich ja zur Zeit im Amiland sitze... Aber prinzipiell finde ich
die Idee einfach super, auch uns Niederbayern ein bisschen zu
"organisieren"!
Ich wuensch Euch auf jeden Fall viel Erfolg bei der Sache, und hoffe,
dass das auch naechstes Jahr noch laeuft, wenn Apa und ich uns auch
wieder an der Uni Passau rumtreiben!

c u l8er,
   Kretek (stolz, ein Niederbayer zu sein!)

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch, die Zweite ! (Harkon, 14. Dez 1994, 02:18:24):
#! rn=Locutus rt=787226229

Jo Stammtisch ist gut, aber warum so weit ausserhalb der Stadt :) ?

Ciao, ein fauler Harkon.

-----------------------------------------------------------------------------



Re: Re: Dortmunder Stammtisch, die Zweite ! (Locutus, 14. Dez 1994, 11:16:30):
#! rn=Harkon rt=787367904
Naja, so weit ausserhalb isses doch nicht. Ausserdem ist der
Verkehrsanschluss relativ optimal.

Locutus freut sich schon drauf die Leute endlich mal im RL zu treffen.

-----------------------------------------------------------------------------



STAMMTISCH IN BIELEFELD?!?! (Ancalagon, 14. Dez 1994, 13:14:21):
So, mal sehen, obs klappt.
ACHTUNG: Dies ist ein Erstartikel!
Liebe Bielefelder muddies!
Alle ~d
Alle haben einen stammtisch nur wir nicht! Wollen wir ueberhaupt einen?
Von mir aus gern. Vorschlaege fuer zeit und Ort bitte in diese rubrik oder an
mich. Mein vorschlag waere: 1-2mal im Monat, Mo oder Mi, zwischen 19 und 22
Uhr, Tinneff, Stolander oder sonstwo.
Meldungen und Vorschlaege, wie schon gesagt an ancalagon oder, in RL, an
tenor.
So, jetzt hoffe ich auf reges Interesse. Tschuesschen und froehliches
Morgengrauen
                            Ancalagon

                   (Draco knudellensis major)

-----------------------------------------------------------------------------



Stammtisch in Koeln... (Bambulko, 14. Dez 1994, 13:25:25):
Klar doch. Ein Stammtisch in Koeln ist Spitze...Am besten in der naehe der
Physik und Chemie...(Ist da irgendetwas??)

Ein begeisterter BAMBULKO

-----------------------------------------------------------------------------



Stammtisch BOCHUM ! (Saikan, 14. Dez 1994, 14:34:59):
Hallo Leute!

Ich wollte nur sagen, dass Flaro und ich am Freitag den 06.01 zum Treffen
nicht kommen koennen.

Wir muessen zu einer Verabschiedungsparty, meine Wohnheimnachbarin zieht aus.

Es ist ja nicht das letzte Treffen, oder?
Ach ja, Zaltaar sagt mir gerade, dass er am 01. noch im Urlaub ist, kann also
wieder nicht kommen ... ;)

Wir sehen uns dann ein andermal wieder ;)

Tschau

Saikan

-----------------------------------------------------------------------------



Treffen in Bochum (Rxtech, 14. Dez 1994, 17:36:41):
Tja Saikan, wir haenegn eigentlich gar nicht am Clochard,
wenn Deine Nachbarin nett ist koennen wir uns ruhig auf der Fete treffen.
Macht doch alles umso billiger. Hahahahaha

also dann bis zum 06.01

ein kichernder Rxtech


-----------------------------------------------------------------------------



Nachbarin? (Saikan, 14. Dez 1994, 17:39:27):

Tja, waere mir recht .... ;)
Aber ich glaube meiner Nachbarin nicht.

Wir waere es wenn wir es am Samstag oder so machen?????
Wollte naemlich schon gerne mal wieder kommen ... ;)

Tschau
#
Saikan

-----------------------------------------------------------------------------



Re: Treffen in Bochum (Har, 14. Dez 1994, 19:59:30):
#! rn=Rxtech rt=787423001
Aeehhh - welche Fete Rxtech
Har (wuerde Rxtech auch gerne mal wiedersehen)

-----------------------------------------------------------------------------



Re: Nachbarin? (Quillian, 14. Dez 1994, 20:12:36):
#! rn=Saikan rt=787423167
merkst du was RX?
Wir sind ihm peinlich.

-----------------------------------------------------------------------------



Re: WIRD WOHL NOETIG! (Caradhras, 15. Dez 1994, 00:31:46):
#! rn=Yantro rt=787321678
                   Huhu

*gruebel* *kopfkratz* Ich dachte, den Stammtisch in Koeln gibts schon
lange? Oder wo war ich da vor ein paar Wochen...
*verwirrt aus der Rachendrachentuete kuck*

Oder war das jetzt nur ein inoffizieller Koelner Stammtisch? Ich meinte
nein...

          tschoe       Caradhras der ewige Prophet

-----------------------------------------------------------------------------



Treffen fuer niederbayern und  solche dies werden wollen (Transrapid, 15. Dez 1994, 09:37:37):
hi,
wie vorher schon berichtet versuchen wir passauer ein Treffen zu
organisieren.
Hiermit moechte ich offiziell einen Ausflug anbieten in dessen Rahmen das
treffen stattfinden kann
am 24.05.1995 veranstalten die Passauer Eisenbahnfreunde voraussichtlich
einen Vatertagszug "donau-moldau-Express" nach wallern/volary.
Wenn intresse besteht koennen wir in diesem zug unser treffen stattfinden
lassen. und uns eigenen plaetze reservieren lassen. Genauere Informationen
gibt es sobald ich mehr weis. Anmeldungen muessen als erstes bei mir erfolgen.
..
alles weitere dann von mir.

transi

-----------------------------------------------------------------------------



Nachbarin?? die dritte oder so (Saikan, 15. Dez 1994, 14:22:39):

Ne, ne Quillian, ich sagte mir ist es doch egal aber meiner Nachbarin wohl
nicht, denke ich mal.

Aber was ist denn mit nem anderen Termin Samstag oder so? Keine chance was?

Saikan

-----------------------------------------------------------------------------



Re: Treffen fuer niederbayern und  solche dies werden wollen (Aranya, 15. Dez 1994, 15:22:26):
#! rn=Transrapid rt=787480657
Vatertagszug? Da wuerd ich ja eh nicht mitkommen! Lauter besoffene Kerle...
Grllmpf!

Aranya

-----------------------------------------------------------------------------



Re: Treffen fuer niederbayern und  solche dies werden wollen (Kretek, 15. Dez 1994, 21:24:22):
#! rn=Transrapid rt=787480657
Mai ist goil!
Im Mai sind Apa und ich auch wieder in D-Land!

c u l8er,
   Kretek (zeigt starkes Interesse)

-----------------------------------------------------------------------------



Weihnachtstreff??? (Flintnail, 15. Dez 1994, 21:36:04):
Huhu alle Bochumer, Dortmunder, Essener und wer sich sonst noch berufen
fuehlt!

Ich schlage jetzt mal eben so ein Weihnachtstreffen vor...hmm...von mir aus
egal wo :) ob Bo oder Do! Hauptsache man kann nett nen Gluehwein trinken
gehen!!!
also wie waers ...mir schwebt ganz unproblematisch Freitag der 23.12 vor !!!
ohne grosses Tischbestellen in irgendeiner Kneipe!!!
  los jetzt sacht an...die Zeit wird knapp...;) so'n Treffen kann man doch
schnell organisieren!
      Flintnail, zwar Sauerlaender aber mobil!

-----------------------------------------------------------------------------



Re: STAMMTISCH IN BIELEFELD?!?! (Ronda, 15. Dez 1994, 22:50:41):
#! rn=Ancalagon rt=787407261
Hallo Bielefelder! (...und Paderborner???)
...natuerlich waere ein Stammtisch in Bi genial... Meldet Euch bei mir,
ich werde aus PB hinfahren (die PBer koennen ja ne Fahrgem. aufmachen...)

Ronda, die sich schon riesig freut, dass es nicht immer nur Pudding
aus Bielefeld gibt... :)

-----------------------------------------------------------------------------



Ort: egal, Zeit: 1.Jan - 8.Jan ??? (Loco, 16. Dez 1994, 09:55:55):
Gibts irgendwo ein Treffen in der Zeit 1. Januar bis 8. Januar? Moeglichst
nicht suedlicher als so etwa in der Mitte von Deutschland, nach Norden keine
sinnvolle Begrenzung... Da bin ich naemlich voraussichtlich sowieso irgendwo
unterwegs und koennte meine Reiseroute durchaus danach richten und bei einem
Stammtisch vorbeischauen (vorausgesetzt, ich kann irgendwo uebernachten oder
notfalls mit dem ersten Fruehzug wieder weg).

Bis dann (? ;-) )
                   Loco

-----------------------------------------------------------------------------



Passauer stammtisch! (Transrapid, 16. Dez 1994, 11:31:54):
nach dem ich ein fast niederbayrisches treffen schon angeboten habe, moechte
ich nun einen stammtisch in passau gruenden interessenten melden sich mit
ihrer lieblingskneipe bei mir.

ciao

transi
(a.k.a. Andi)


-----------------------------------------------------------------------------



Re: Weihnachtstreff??? (Quillian, 16. Dez 1994, 12:14:47):
#! rn=Flintnail rt=787523764
Oki Flint! Ich bin dabei
Wo waere mir auch egal (ist alles gleich weit von GE weg)

Quillian, hofft, dass er am 23. alle weihnachtsgeschenke hat

-----------------------------------------------------------------------------



Re^3: Dortmunder Stammtisch, die Zweite ! (Silvana, 16. Dez 1994, 15:57:03):
#! rn=Locutus rt=787400190
Tja - ich wuerde ja kommen, und Freitags ist bei mir auch der einzige Tag,
der gehen wuerde, aber ausgerechnet am 13.Jan hab ich schon was vor. Waere
schoen, wenn Ihr's verlegen koenntet...
Silvana (will endlich mal wieder ihre Tochter sehen...)

-----------------------------------------------------------------------------



BIELEFELDER MG-TREFF!!!! (Ancalagon, 16. Dez 1994, 16:04:48):
Moin, Muddies!
Jetzt gibt es einen termin fuer ein Morgengrauen-treffen in Bielefeld.
Und zwar am 28.12.!!!!! Im Cafe Mint!!!! ab 20.00 mUhr!!!!!!
Wir sind schon mindestens vier Leute! An diesem termin koennen wir ausser
normalem Kloenschnack auch noch Termine fuer einen regelmaessigen Stammtisch
besprechen. Bielefelder, erscheint zahlreich, auch die ihr nicht muehselig und
beladen seid......
Vor vorfreude gluehend....
                                      Ancalagon
                                Draco knudellensis major

-----------------------------------------------------------------------------



Re: BIELEFELDER MG-TREFF!!!! (Silvana, 16. Dez 1994, 17:02:06):
#! rn=Ancalagon rt=787590288
Ich wurde beauftragt, hier ergaenzend anzufuegen, dass natuerlich auch
Nicht-Bielefelder herzlichst eingeladen sind. Eine genaue Adresse und im
Bedarfsfall eine Wegbeschreibung wird nachgeliefert.

Silvana.

-----------------------------------------------------------------------------



Re: Weihnachtstreff??? (Guldukat, 18. Dez 1994, 15:53:46):
#! rn=Flintnail rt=787523764
ne, am 23.12. hab ich schon party! und am 21. und 20 auch! bleibt nur noch
der donnerstag oder der samstag (nicht vormittags, da ist auch party!) ;))
GD

-----------------------------------------------------------------------------



Re: Re: Weihnachtstreff??? (Guldukat, 18. Dez 1994, 15:55:13):
#! rn=Guldukat rt=787762426
und samstag mittag geht auch nicht, da muss ich noch weihnachtsgeschekne
besorgen! ;)
GD

-----------------------------------------------------------------------------



Weihnachtstreff am Donnerstag (Saikan, 19. Dez 1994, 10:32:22):

gruebel .... ja, Donnerstag wuerde mir auch besser gefallen ...
Natuerlich nur wenn das Treffen in Bochum (oder in Essen ;)) stattfindet


mfg
Saikan der leicht veraergert ist das er im Januar nicht kommen kann ...

-----------------------------------------------------------------------------



Weihnachtstreff in Passau (Transrapid, 19. Dez 1994, 10:50:30):
An alle die Lust haben sich am 23.12. noch zu treffen. Moeglich waehre es im
Discoland Tropicana in Hauzenberg.

Programm:
1. Pizza essen
2. Tanzen bis zum Umfallen

Treffpunkt: nach Vereinbarung.

wer will soll sich bei mir ueber mg-post melden.

ciao
Transi

-----------------------------------------------------------------------------



Re: Treffen fuer niederbayern und  solche dies werden wollen (Caradhras, 19. Dez 1994, 17:15:27):
#! rn=Transrapid rt=787480657
Hmmmm... Ich dachte, Du bist aus Regensburg und nicht aus Passau,
Transrapid. *gruebel* Donau-Modau? Hmmm, huebsch, an der Moldau
ist es schoen :)) *Smetana ausgrab*

Hmmm... Hmmm... mal warten ob ich da nicht grade Diplom habe :)
Was kostet es denn?

     neugierig und aus Passau

                Caradhras der ewige Prophet

-----------------------------------------------------------------------------



Re: Passauer stammtisch! (Caradhras, 19. Dez 1994, 17:25:48):
#! rn=Transrapid rt=787573914
Lieblingskneipe? *gruebel* Kommt drauf an :) Ob es was zum essen geben
soll dabei oder ob es schoen sein soll oder ob es gutes Bier geben soll
oder ob... Also alles nur kein INNSTADT Bier bitte *hust* *schuettel*
Wenngleich ich in der Innstadt wohne...

     tschoe           Caradhras der ewige Prophet
            - quotzpekinesisch, wie Mimo sagte (oder so aehnlich),
              also kein Bayer :)
PS: Wieviel Passauer gibts eigentlich hier? *gruebel*

-----------------------------------------------------------------------------



Jubilaeums-stammtisch! (Catweazle, 20. Dez 1994, 00:10:37):
Hi!
Ich hoffe in der angeregten Stammtisch-Diskussion in dieser Rubrik
habt ihr den allerersten, original MorgenGrauen-Stammtisch in
Muenster nicht vergessen!
Er findet, wie jeden Dienstag, um 20:00 Uhr im Obina-shock (Ring,
Ecke Huefferstrasse) Statt. Diesmal haben wir sogar einen besonderen
Stammtisch, einen Jubilaeumsstammtisch. Heute ist das Mud naemlich 1000
Tage alt geworden, jawoll! (Gratulationen bitte in die Schmarrn-
Rubrik, da ist Platz :-) ).
Also Leute, kommt zur Feier des Tages mal besonders zahlreich!
Yours truly,
                Catweazle

-----------------------------------------------------------------------------



Weihnachtstreffen!! (Imar, 20. Dez 1994, 08:42:10):
Flint, ich bin auch dabei, aber den Do finde ich besser !

IMAR, der die Weihnachtsgeschenke bis zum letzten Tag aufschiebt.

-----------------------------------------------------------------------------



Treffen fuer niederbayern (Transrapid, 22. Dez 1994, 11:03:00):
So nachdem ich die antworten auf meine artikel gelesen habemoecht ich jetzt
das erst passauer mg-treffen ankuendigen( zu mindest den ort), es wird
stattfinden im Bahnhof Neustift(fuer alle die ihn nicht kennen,: ist ne kneipe
im alten Bahnhofsgebaeude von
Neustift). Ich bitte euch mir mitzuteilen wann es euch am liebsten waehre,
sodass wir nicht ein treffen fuer zwei halten muessen.

cu in passau

Transi

P.S. Da das Treffen sicher nicht mehr vor Weihnachten stattfindet wuensch ich
euch allen (auch den nicht Bayeren) ein frohes und gesegnetes Weihnachtsfest
und viele geschenke

-----------------------------------------------------------------------------



Atheistentreff (Elric, 22. Dez 1994, 21:30:54):
Die Beschraenkung auf regionale Zugehoerigkeit bei MG-Treffen ist vielleicht
praktisch, aberwirkt sich doch auf die Zahl der VORSCHLAEGE fuer Treffen etwas
bescgraenkend aus:
Daher mein Vorschlag: ATHEISTENTREFF !
Goetter sind natuerlich zur Diskussion ueber die Entwicklung des
Morgengrauens herzlich eingeladen. Nehme Vorschlaege fuer Ort und Zeit gern
entgegen.

    YT (oh,nein!)  Elric
         in der Hoffnung, dasz auch dieser Artikel von irgendwem ernst
genommen wird und sich alle an den Flames die verfrorenen Haendchen waermen
koennen

-----------------------------------------------------------------------------



Stammtisch Bielefeld (Silvana, 27. Dez 1994, 10:07:39):
Hi, Muddies aus OWL und Umgebung!

Ich moechte noch einmal an den Bielefelder Stammtisch erinnern, der
morgen, Mittwoch den 28.12.1994 zum ersten mal stattfinden soll.

Wir treffen uns ab 19:00 im 'Cafe Mint' an der Heeper Strasse
(jetzt fragt mich nicht nach der Hausnummer...)

Wegbeschreibung:
a) Fuer Bielefelder und solche, die mit der Bundesbahn kommen
Ganz einfach: Buslinie 20-23 vom Jahnplatz Richtung Heepen bis
Haltestelle 'Carl-Severing-Schulen'. Dann ca 200m stadteinwaerts gehen.
Das 'Mint' liegt etwa gegenueber der Tankstelle.

b) Fuer ortskundige Autofahrer:
Heeper Strasse, Hoehe Carl-Severing-Schulen. in Sichtweite von der
Kreuzung Heeper/Stadtholz (da wo's zum PC69 geht)

c) Fuer alle, die von der A2 kommen (auch fuer Paderborner zu empfehlen)
A2 bis Ausfahrt BI-Mitte. Dann Stadteinwaerts. (Erst eine Schnellstrasse,
dann die Detmolder Str.) Nach einer ganzen Weile liegt auf den rechten
Seite die Strassenbahn-Endstation Sieker. Daran gradeaus vorbei bis zur
Haltestelle. Dann rechts in die Priessallee. (Ist die erste groessere
Kreuzung nach der Strassenbahn-Endstation) Jetzt immer grade aus -
Die Strasse wechselt zwischendurch den Namen: erst Priessallee, dann
Oststrasse, spaeter Huberstrasse - bis links der Marktkauf liegt.
Dann die naechste links (Heeper Strasse) Das Cafe Mint liegt dann auf der
linken Seite (etwa gegenueber der Tankstelle).
Parkplaetze sind uebrigens Mangelware.... ;-(

Tschau, bis (hoffentlich) Mitwoch abend: Silvana.

-----------------------------------------------------------------------------



Dortmund (Timor, 28. Dez 1994, 15:56:22):
Hey, ich waere auch an einem Dortmunder Stammtisch interessiert (falls es den
nciht schoin gibt. Ich lese jetzt erst diese rubrik...)

-----------------------------------------------------------------------------



Freitag, 13. Januar (Timor, 28. Dez 1994, 15:58:29):
Freitag, 13. Januar wuerde mir auch gefallen, um sich im UniDO-Durchblick zu
treffen.
In der Hoffnung, endlich mal ein paar andere kennenzulernen, Timor.

-----------------------------------------------------------------------------



Re: Dortmund (Hardil, 29. Dez 1994, 12:45:54):
#! rn=Timor rt=788626582

Wieso machen wir nicht einfach in den naechsten Tagen mal nen MUD-Stammtisch
in der Mensa in Dortmund? Ist gerade so schoen leer :-)

YTH

-----------------------------------------------------------------------------



Bielefelder MG-Treff jetzt regelmaessig!!!! (Ancalagon, 29. Dez 1994, 16:23:18):
Moin, ihr allens!
Nachdem uns der erste Versuch eines MG-Treffs in Bielefeld recht vergnueglich
gelang, haben wir uns gleich auf eine regelmaessige Fortsetzung geeinigt. Ab
1995 wird also an jedem letzten Mittwoch im Monat ab 19.00 Uhr im Cafe Mintein
MG-Treff stattfinden. Jeder Morgengrauer ist selbstredend herzlich willkommen.
Schoenes Morgengrauen und einen feuchtfroehlichen Rutsch ins neue Jahr
wuenscht
                               Ancalagon
                          Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Re: Dortmund (Klinge, 30. Dez 1994, 23:05:19):
#! rn=Hardil rt=788701554
Warum eigentlich nicht ?

-----------------------------------------------------------------------------



STAMMTISCH (Rudiratter,  2. Jan 1995, 15:00:59):
Am 6.1.1995 kommen zwar nicht die heiligen drei Koenige, aber relativ viele
Mudder nach Bochum ins Clochard am Buscheyplatz in Querenburg zum Bochumer
Stammtisch.
Wir treffen uns um 20 Uhr. Wer noch eine Wegbeschreibung braucht, kann sich
bei mir melden.
ALSO:
                    6. Januar 1995, 20 UHR
                       'Clochard'
                           Bochum-Querenburg, Buscheyplatz
Bis dann
Rudi.

-----------------------------------------------------------------------------



kurzfristiger Stammtisch (Yantro,  3. Jan 1995, 08:18:23):
Hi,

Aufgrund der zugegebenermassen chaotischen Orga nun ein kleiner Hinweis auf
ein kleines Treffen der Koelner MUDder:

Heute, am 3.1.1995 um 20 Uhr im SCHMELZTIEGEL !!!!

Dieser ist zu finden auf der Luxemburgerstrasse in der Naehe des
Barbarossa-Platzes, 2 Haeuser oestlich vom Luxor, schraeg gegenueber vom
RoseClub und BlueShell, altes haessliches Gebaeude mit "Peters Koelsch"
(Ihhhhh)-Reklame und einem grossen Schmelztiegel ueber dem Eingang. (Es ist
nur ein Geruecht, dass hier nur ChemikerInnen verkehren, denn ich war da auch
schon VOR meinem Chemiestudium Kunde ;))

Ich hoffe, so viele wie moeglich von euch zu sehen.... Dies ist dann
uebrigends NICHT der offizielle Koelner Stammtisch!

              Euer Yantro:)

-----------------------------------------------------------------------------



hausnummer (Yantro,  3. Jan 1995, 11:18:25):
nochmal ich.

die hausnummer des Schmelztiegels soll 34 sein ;))

Keine Gewehre.......    yantro:)

-----------------------------------------------------------------------------



Koelner Stammtisch (Bambulko,  3. Jan 1995, 18:38:34):
Wo ist den der offizielle koelner Stammtisch???
BAMBULKO

-----------------------------------------------------------------------------



Re: Koelner Stammtisch (Yantro,  5. Jan 1995, 08:54:06):
#! rn=Bambulko rt=789154714

Der Offizielle Koelner Stammtisch ist noch in Arbeit und ich warte immer noch
auf Vorschlaege fuer Zeit und Oertlichkeit.

                     Yantro:)

-----------------------------------------------------------------------------



Naechster Bielefelder MG-Treff!! (Ancalagon,  8. Jan 1995, 21:01:46):
Hallo, ihr Morgengrauer alle!
Ich hebe gerade etwas zeit, und moechte diese nutzen, um den termin fuer den
naechsten MG-Treff in B bekanntzugeben.
es ist dies der 25.1.95!
Leider wird er diesmal ohne Throin und mich stattfinden. trotzdem wuensch ich
denen, die kommen werden viel spass. Beim naechsten mal bin ich bestimmt
wieder dabei.
Herzlichst knuddelnd,
                                        Ancalagon
                                   Draco knudellensis major

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe Ende Januar (Floh,  9. Jan 1995, 20:08:33):
Hallo,

es ist mal wieder Zeit fuer nen Stammtisch in Karlsruhe.
Als Termine wuerde ich folgende vorschlagen:

   1. Wochenende 20 - 22 Jan ( Sa-abend oder Fr-abend)
   2. Wochenende 27 - 29 Jan ( Sa-abend oder Fr-abend)

Als Kneipen schlage ich vor:

   1. Metropolis (Jazzkneipe), Moningerstrasse
      - ruhige grosse Kneipe mit netter Atmosphaere
      - leider nur Moniger-Bier und nur kleine Gerichte
      - schlechte Parkplatzsituation
      - rel. schlechte Anbindung an oeffentl. Verkehrsmittel.
        (ca. 800 m von Haltestelle Muehlburger-Tor)

   2. Kaisergarten (Kaiserstrasse)
        - ebenfalls gross und nett
        - recht grosse Speisekarte
        - kein Moniger-Bier
        - schlechte Parkplatzsituation
        - 400 m zur naechsten Haltestelle.
        - manchmal (grad am Wochenende) recht voll

Alle meine Vorschlaege sollen nur dazu dienen, die Diskussion a
Wie siehts aus ... hat ihr Lust.

Bis bald
Floh

-----------------------------------------------------------------------------



Dortmund Stammtisch am 13.1. (Locutus, 11. Jan 1995, 10:39:07):
Hallo Muddies !

Wie ihr wahrscheinlich schon alle wisst ist am 13.1. in Dortmund
im Cafe Durchblick (Naehe Uni / Campus Nord) das erste Morgengrauen
Treffen. Allerdings habe ich glaube ich noch keine
Zeit gesagt oder es wurde noch keine Zeit vereinbart.
Ich wuerde mal sagen, dass ich so gegen 20:00 Uhr dort eintreffen
werde.
Nun, da man einige Leute, die kommen werden ja noch nie, oder lange
nicht gesehen hat, kurz zu meinem Aussehen, damit ihr nicht endlos
im Cafe herumirren muesst ;)
Ich werde am Freitag wohl einen dunkel-violetten Pullover anhaben.
Ausserdem werde ich mir noch n Startrek Communicator Pin anstecken
(..FIIIIIP... Aehm, ja Guinan, ich komme gleich zum Essen ....).
Ich denke, dass sollte als Beschreibung erstmal reichen.

Bis Freitag dann...
Ciao.
Locutus

-----------------------------------------------------------------------------



Spielertreff in Muenchen... (Rumata, 12. Jan 1995, 11:03:31):
[Verlegt von allgemeines, Jimdigriz, 12. Jan 1995, 00:50:35]:
Hallo Muddies ...
Wie waers wenn wir mal ein Treffen fuer die Spieler aus Muenchen und Umgebung
machen ?
Wer haette da interesse ? Ich denke dass schon einige spieler da herkommen.
Termin- und Ortvorschlaege bitte in die News. Ich dachte an eine coole
Kneipe.

Also ich hoffe auf zahlreiche followups :)

Ciao,
  James Bolivar diGriz , die Edelstahlratte !

(email:spocky(at)kult.isar.de ) (scusi der klammeraffe ging ned).


-----------------------------------------------------------------------------



Re: Spielertreff in Muenchen... (Stahldorn, 12. Jan 1995, 16:22:41):
#! rn=Rumata rt=789905011
naja ein treffen in muenchen waer nicht schlecht !
wieso organisierst du da nix, jim di griz ?

                   STAHL.

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe Ende Januar (Floh, 16. Jan 1995, 21:13:57):
#! rn=Floh rt=789678513
Hallo,
nochmals zum Stammtisch in Karlsruhe. Nach mehrern Gespraechen zu
diesem Thema schlage ich folgenden Termin und Ort vor:

     Freitag, 27.01.1994, Metropolis, Scheffelstrasse Karls-
                          ruhe (Weststadt / Naehe Kriegsstrasse
                          Allianz-Versicherung)
              Zeit: so gegen 20.00 h

Wer naehere Infos ueber Anfahrt oder sonstiges haben moechte, kann
sich nochmals an mich wenden. (Telefon: 0721-855796,
E-Mail: juergen_tress@p89.vrc.schiele-ct.de)

Ich hoffe, dass am Fr. viele kommen.
Bis dann

Floh

-----------------------------------------------------------------------------



Re: Re: Spielertreff in Muenchen... (Jimdigriz, 23. Jan 1995, 13:53:05):
#! rn=Stahldorn rt=789924161
Ich organisiere gerne was, wenn ich ungefaehr weiss, wieviele Leute interesse
haben.
Also wuesste ich gerne weiviel MG-muddies es in Muenchen gipt, und wer alles
interesse hat.
Schreibt mir doch .. MG-Post oder spocky@kult.isar.de oder
spock@probiers.mal.damit.biol.chemie.tu-muenchen.de
 Ciao,
 James Bolivar diGriz

-----------------------------------------------------------------------------



Treffen in Muenchen (Jimdigriz, 23. Jan 1995, 19:11:19):
Hi Muddies aus Muenchen und Umgebung..

Da anscheinend interesse vorhanden ist, hier mein vorschlag:

Fr. 24.2.95 Treffen in Muenchen in einer Kneipe (wenns ned sooooviele werden)
zb: atzinger
 eine echte party organisiere ich ned alleine, also wenn eine party
gewuenscht wird dann bitte ich
um mitorgas :),meldung per email....siehe vorherige artikel..(oder mudmail)
mit teflon !


Ciao,
 James Bolivar diGriz

-----------------------------------------------------------------------------



Bielefelder MG-Treff!! (Ancalagon, 24. Jan 1995, 11:01:50):
Hallo Muddies!
Kurz zur Erinnerung:
Morgen, am 25.1.95 findet um 20.00 uhr im Cafe Mint unser zweites MG-Treffen
statt. Ich selbst kann leider nicht anwesend sein (schnief), aber es kommen
hoffentlich trotzdem ein paar Leute zusammen...
Viel Spass wuenscht
                                     Ancalagon
                          Draco knuddellensis major

-----------------------------------------------------------------------------



Hannoveraner Postspieltreff (Hakkikkt, 24. Jan 1995, 11:56:24):
Hi,
am Donnerstag 26.01.1995 findet gegen 19.30 der monatliche
Hannoveraner Postspielstammtisch statt. Dort sind nicht nur die Postspieler
(PBM UND PBEM) Wwillkommen, sondern auch alle Mudder!
Ort: Restaurant Xenia, Melanchtonstr. (Wegbeschreibung auf Anfrage bei mir)

Bis denne, Hakkikkt

-----------------------------------------------------------------------------



MS-Treffen (Quasimodo, 24. Jan 1995, 16:11:27):
Heute ist doch Dienstag, oder?
Wieso hat Cat* noch keine Aufforderung geschrieben ins Obina zu kommen?

Fragen ueber Fragen stellt sich, Quasimodo

-----------------------------------------------------------------------------



Re: MS-Treffen (Catweazle, 24. Jan 1995, 16:35:39):
#! rn=Quasimodo rt=790960287
Catweazle hat noch keinen Artikel geschrieben, weil heute wirklich ALLE
was von ihm wollen .... Aber jetzt hab ich meinen eigenen Kram fast
fertig, kann also adie Fragerei losgehen :-)
Achso, ja:-) Heut ist uebrigens Dienstag! Wie jeden Dienstag treffen
sich interessierte MorgenGraeuler im ObinaShock um 20:== uhr zum
Stammtisch! Wer Lust hat vorbeizuschauen, ist herzlich eingeladen.
Heute mal ganz besonders Quasimodo :-)
Yours truly,
    Catweazle
PS: Und typos sind da auch drin *grummel*

-----------------------------------------------------------------------------



treffen in Muenchen (Jimdigriz, 25. Jan 1995, 12:58:09):
Hallo Muddies aus Muc und Umgebung..

Der aktuelle Stand zum Treff:

Also das erste Treffen wird wohl am Fr 24.2 oder Sa 25.2 stattfinden, es
haben
sich erst zwei Leute geaeussert denen jeweils ein Termin nicht gepasst hat.
schreibt also bitte zahlreich welcher euch lieber ist, damit man das
festlegen kann.

Treffen keine weiteren Meinungen mehr ein is es am Freitag 24.2. klaro ?

Ort ist nach wie vor der Atzinger (Schwabing) da noch keine Gegenvorschlaege
kamen.
bis auf den 'Yugo an der Sporthalle' von Bleelumpe . Also vor alle unibw-ler
Meldet Euch wenns euch woanders lieber is, ja ?

Ciao,
 James Bolivar diGriz

-----------------------------------------------------------------------------



Re: treffen in Muenchen (Bleelumpe, 27. Jan 1995, 11:38:48):
#! rn=Jimdigriz rt=791035089
Hiho Muechner
24.2. muss ich man schauen wies bei mir aussieht generell ja
werde den anderen muenchener mudies das sagen
bis denn Blee.

-----------------------------------------------------------------------------



Stammtisch KA (Bleelumpe, 27. Jan 1995, 11:43:41):
Hallo zusammen.
Ich fahre jetzt weg nach HD, sollte sich wer noch
entschliessen heute auf das Treffen in KA zu kommen,
und moechte mit mir mitfahren, dann solllte er bei
meine Eltern zu Hause anrufen ( bis 18.30 ), dann
fahre ich da weg. Ach ja hinterlasst bitte eure
Telefonnummer, damit wir einen Treffpunkt ausmachen
koennen
Euer Bleelumpe ( Tel 06221 / 80 13 43 ) aber nur fuer
heute, ansonsten bin ich in Muenchen

-----------------------------------------------------------------------------



Amiga2000-Turbokarte (Buri, 27. Jan 1995, 17:04:18):
Hallo Leute!
Hat nicht jemand von Euch eine Turbokarte fuer den Amiga 2000!
Ich waer
Ich waere schon mit einer 68020 TurboKarte zufrieden.
Also wenn jemand sie gebraucht abzugeben hat waere ich ganz zufrieden!

uri

-----------------------------------------------------------------------------



Reanimiert mal wieder jemand den Koelner Stammtisch? :-) (Zarathustra, 29. Jan 1995, 04:40:08):
Ich bin zwar nicht mehr allzu aktiv hier, aber gegen ein real life Treffen
mal wieder haett' ich nix einzuwenden... war doch ganz nett in dem
tex-mex-ding, oder? :-)
Hat jemand Lust, das anzuleiern? Semira? :-)

Bis die Tage
Zarathustra

-----------------------------------------------------------------------------



Treffen fuer Niederbayern und Umgebung (Transrapid, 31. Jan 1995, 10:00:38):



HI ihr Niederbayern


wer von euch intresse an einem Treffen hat meldet sich bei mir oder kommt
Donnerstags ab 19 Uhr zum Bahnhof in Passau und Fraegt den nach dem
Modellbahnkeller der Passauer Eisenbahnfreunde(fuer Ortskundige der abgang ist
neben dem eingang zur
Bahnhofsrestauration auf der Vorderseite des BAhnhofs) geplant ist ein
Treffen im Februar entweder im Leo`s oder im Neustifterbahnof.


auf grosses intresse freut sich euer Transi

-----------------------------------------------------------------------------



TREFFEN IN BOCHUM (Rudiratter, 31. Jan 1995, 12:04:50):
An diesem Freitag findet (wie jeden ersten Freitag im Monat) wieder der
                  STAMMTISCH IN BOCHUM
statt. Wir treffen uns um 20 Uhr im Clochard, Buscheyplatz,
Bochum-Querenburg.
Und mal wieder eine Wegbeschreibung:
 ist.

Naja, das findet wahrscheinlich keiner mit meiner Becshreibung...
Bis dann
Rudiratter

-----------------------------------------------------------------------------



Re: TREFFEN IN BOCHUM (Rudiratter, 31. Jan 1995, 12:05:37):
#! rn=Rudiratter rt=791550290
oops, die wegbeschreibung steht gar nciht da...
mailt mich an, ich hab keine lust, das noch mal aufzuschreiben
rudi

-----------------------------------------------------------------------------



Drum gruess ich Dich, mein BadnerLand! (Aranya,  1. Feb 1995, 12:41:19):
Nur mal zum Antesten: Wie sieht's im Suedbadischen mit einem Treffen aus?
Wer haette Interesse, sich in Freiburg zu treffen? Mich bitte anmehlen.

MfG
   Aranya

-----------------------------------------------------------------------------



Schlafplatz?! (Sysop,  1. Feb 1995, 17:47:39):
Ich braeuchte auch noch einen Schlafplatz (== 2 Quadratmeter Boden)
fuer die MG-Party. Ich wuerde naemlich soooo gern kommen ...
Eine Bushaltestelle in der Naehe (wo auch ab und zu mal ein Bus vorbei-
kommt) waere von Vorteil ...
-- Sysop

-----------------------------------------------------------------------------



treffen in passau (Transrapid,  2. Feb 1995, 13:24:05):
Liebe mit muder und muderinnen,

nach langer, harter Planung wird in der schoenen Dreifluesse Stadt Passau ein
Treffen statt finden, wozu IHr alle Herzlich eingeladen seit.

Es wird am Samstag den 11.Maerz statt finden.
Treffpunkt ist um 19.00 am Hauptbahnhof neben dem Eingang zur
Bahnhofsrestauration. Anschliessend werden wir in`s Leos`s gehen und bei
intresse dann noch in eine Disco.

ueber weitere anregungen wuerde ich mich sehr freuen.

und hoffe euch am 11. zu sehen(wer sicher weiss dass er kommt soll mir das
mitteilen).
ciao Transi

p.s. der Treffpunkt ist auch das kennzeichen. neben der Bahnhofs
restauratioaeh seht ihr treppen die nach unten fuehren dort warte ich


-----------------------------------------------------------------------------



Schlafplatz ??? (Arombolosch,  2. Feb 1995, 14:15:09):
Ich brauche noch 2 qm fuer meinen Schlafsack. :-) Es ist naemlich NOCH
bloeder
, and dem  Abend noch nach Tuebingen zurueckzufahren als nach Paderborn. ;-)

Arombolosch

-----------------------------------------------------------------------------



Treffen in Muenchen, 24.2 (Jimdigriz,  2. Feb 1995, 16:11:13):
Moin Muddies aus Muenchen und Umgebung,,,

Also fuer das Treffen hat sich Momentan folgendes ergeben:


Ort : kneipe Atzinger (div zusagen, keine konkrete absage)
Zeit : Fr. 24.2.95 ca 2100 Uhr (sorry loco fr passte vielen)
Bisherige Teilnehmer:
     - Miro
     - Kneorry
     - Bleelumpe (?)
     - Stahldorn (?)
     - Kiwi
     - Acrimon

 Ciao, Euer
 James Bolivar diGriz
 (email: spocky@kult.isar.de)

-----------------------------------------------------------------------------



Treffen in Dortmund (Locutus,  9. Feb 1995, 13:24:56):
Hi Muddies !

Im Rahmen einer Statistiker-Fete in Dortmund werden sich
auch ein paar MOrgengrauen Mudder treffen.
Es sind alle herzlich eingeladen.
Lest mal den entsprechenden Artikel von Hardil in der
Rubrik party.

Ciao !

Locutus & Hardil

-----------------------------------------------------------------------------



Dortmunder Stammtisch: 14.02.95 (Hardil, 13. Feb 1995, 17:11:37):

Noch mal fuer die, die es noch nicht mitbekommen haben, wir laden ein zum 2.
Dortmunder Stammtisch.
Wir haben uns gedacht, machen wir doch ein MUDdertreffen auf der

STATISTIK-Fete im Uni-/FH-Club (Lindemannstrasse 84).


Gute Musik, billiges Bier, was will man mehr ? ;-)


Wie man das findet: von der B1 aus Richtung Unna Abfahrt Versorgungsamt, nach
100 Metern auf der rechten Seite. Aus Richtung Bochum Abfahrt
Hombruch/WDR/Stadtmitte und in Richtung Stadtmitte, an der Riesenkreuzung
rechts bis zum Dreieck-Haus.
Mit dem OE-Pe-eN-Vau: S4 bis Moellerbruecke, dann die Lindemannstrasse
hochlaufen oder mit der 404/4087 bis Nicolaikirche bzw Versorgungsamt fahren.
Den Rest zu Fuss.
Bei Fragen einfach eine  Mud-mail an Locutus oder Hardil.

-----------------------------------------------------------------------------



E I N L A D U N G ! (Silvana, 21. Feb 1995, 10:00:32):
Hi, alle miteinander.

Aus gegebenem Anlass (u.a. sind Hobo und Boing dann hier) verlege ich
mal den Bielefelder MG-Stammtisch auf Samstag, den 25.2.1995, 19:30 Uhr
an gewohnter Stelle. (Cafe Mint) Alle Bielefelder, Muensteraner,
Paderborner und wer sonst noch in erreichbarer Entfernung wohnt sind
herzlich dazu eingeladen. Fuer Uebernachtungsmoeglichkeiten kann nach
Absprache gesorgt werden. Ich hoffe auf zahlreiches Erscheinen.

Silvana

PS: Ups - der eigentlich Termin ist ja schon morgen... Hmmm - OK: es ist
also ein ZUSAETZLICHER Stammtischtermin. ;-)

-----------------------------------------------------------------------------



Hannoveraner Stammtisch: 23.02.1995 (Hakkikkt, 21. Feb 1995, 10:23:47):
Hi,
ich moechte noch einmal auf den Hannoveraner Postspielstammtisch hinweisen.
Beim letzten Stammtisch waren auch zwei Mudder da, deswegen kann man ihn wohl
auch als MG-Stammtisch bezeichnen. Der naechste Termin ist Donnerstag 23.02.95
Restaurant Xenia, Melanchtonstr., Hannover

Bis denne, eure Hakkikkt

-----------------------------------------------------------------------------



Re: Hannoveraner Stammtisch: 23.02.1995 (Hakkikkt, 21. Feb 1995, 10:25:24):
#! rn=Hakkikkt rt=793358627
Ach ja, es geht nach 19.00 Uhr und vor 20.00 Uhr so richtig los....
bis denne, Hakkikkt

-----------------------------------------------------------------------------



wegbeschreibung (Silvana, 21. Feb 1995, 12:09:47):
Wegbeschreibung

a) Fuer alle, die ueber die A2 nach Bielefeld kommen:
Abfahrt Bielefeld Zentrum Richtung Bielefeld (Innenstadt)
Das ist ne 4-spurige Strasse, die auf die Detmolder Str. fuehrt.
Diese weiter Richtung Innenstadt. (ist nen ganz schoenes Stueck...)
Ihr kommt dann zu einer groesseren Kreuzung. Auf der rechten Seite
liegt vorher eine grosse Baustelle, direkt dahinter eine Strassenbahn-
Wendeschleife. Hier weiter gradeaus.
Direkt nach der naechsten Strassenbahnhaltestelle rechts (bergab)
in die Priessallee. Zu mir geht es dann NACH der Fussgaengerampel links
(Hamelmannstr 5), zum Cafe Mint geht's noch ne ganze Weile gradeaus.
Die Priessallee wird dann zur Oststrasse und anschliessend zur Hubertstr.
Wenn ihr an einem Markkauf (auf der linken Seite) vorbeigekommen seit,
kommt ihr an eine groessere Kreuzung. Hier links in die Heeper Strasse.
Nach etwa 200m liegt das Cafe Mint auf der linken Seite (etwa gegenueber
der Tankstelle). Parkplaetze sind da uebrigens ein Problem...

b) Fuer Muensteraner und andere aus Richtung Westen. ;-)
Meiner Erfahrung nach ist die kuerzeste Strecke nach Bielefeld von Muenster
aus folgende: MS - Warendorf - Harsewinkel - Steinhagen - Bielefeld(Quelle)
Aber egal, wie ihr fahrt: Versucht in Bielefeld auf den Ostwestfahlendamm
zu kommen und fahrt bis zum noerdlichen Ende. (Durch den Tunnel durch -
vorsicht: ZWEI Radarfallen!) Ihr landet dann auf der Eckendorfer Strasse.
Diese gradeaus bis zur ersten grossen Kreuzung NACH der Eisenbahnbruecke,
dann recht in 'Am Stadtholz'. Dann kommt ihr nach einer weiteren Eisenbahn-
bruecke an den Feuerwehr (links) und dem PC69 (rechts) vorbei. Direkt nach
dem PC69 ist eine Ampel. Dort gradeaus.
Zum Cafe Mint an der naechsten Ampel rechts (Heeper Str) siehe oben.
Zu mir weiter gradeaus, bis ihr die ersten Strassenbahnschienen kreuzt.
Dananch die dritte Strasse rechts (Hamelmannstr5, oberste Klingel).

Ich hoffe, man kann es finden.  ;-)

Silvana.

-----------------------------------------------------------------------------



TReffen in muc diesen Freiutag (Jimdigriz, 22. Feb 1995, 00:46:38):
Moin Muddies aus Muc und Umgebung

Miro hat mich daranb erinnert ein kennzeichen zu haben, dass ihr auch den
richtigen tisch findet
also ich habe eine Blaueb schirmmiuetze auf und wedle wahrscheinlich wild mit
den armen :))

bis zum freitag, Ciao
Euer
James Bolivar diGriz

-----------------------------------------------------------------------------



Re: TReffen in muc diesen Freiutag (Acrimon, 22. Feb 1995, 01:38:07):
#! rn=Jimdigriz rt=793410398
JimDigriz, gib bitte noch eine Wegbeschreibung fur die Kneipe Atzinger raus!

Danke,
Acrimon

-----------------------------------------------------------------------------



Re: Re: TReffen in muc diesen Freiutag (Guybrush, 22. Feb 1995, 09:00:53):
#! rn=Acrimon rt=793413487
ah das Atzinger

grins, das waren noch Zeiten :)

Guybrush, traeumt von Kneipen (auch tagsueber) :)

-----------------------------------------------------------------------------



Treffen in Muc morgen, Freitach (Jimdigriz, 23. Feb 1995, 14:36:36):
Moin Muddies !

Aehh hier noch eine wegbeschreibung zum Atzinger fuer die dies ned wissen
bisserl spaet aber mei
aaaaaaalso  Gaststaette Atzinger !
Ecke Amalienstrasse, Schellingstrasse (hoffentlich stimmt das auch ;-))
Schwabing, Naehe Ludwig-Maximilians-Universitaet
MVV: U3 oder U6 zur Universitaet, da findet man glkeich die Schellingstr,
weiter
sollte es kein Problem sein
Ciao
 Euer James Bolivar diGriz

-----------------------------------------------------------------------------



Stammtisch (Catweazle, 16. Mar 1995, 20:42:43):
Du glaubst wir haben ihn vergessen?
Du glaubst er wird kaum noch besucht?
Du glaubst es gibt ihn nicht mehr?
         FALSCH!!!
Nach wie vor gibt es in Muenster an jedem Dienstag den einzigen, wahren,
orignal MorgenGrauen-Stammtisch!
Und zwar im Obina-Shock (Ring, Ecke Huefferstrasse) um 20:00 Uhr.
Ganz besonders herzlich sind auch alle auswaertigen Mudder eingeladen.
Wer also imemr schon mal life mit erleben wollte, wie Jof dunkles
Weizen ueber Catweazles Hose verkippt, oder wie Rochus diverse Kerzen
abfackelt..Das ist DIE Gelegenheit!
Bis zum Stammtisch ...
Yours truly,
        Catweazle

-----------------------------------------------------------------------------



Re: Stammtisch (Yendi, 16. Mar 1995, 21:29:49):
#! rn=Catweazle rt=795382963

NIMM JOF DIE KERZE WEG!!!

UND DIE ANDERE AUCH!!!

UND LASS IHN NICHT AN DEIN FEUERZEUG RAN!!!

Wo soll das alles nur enden...

      YTY, kopfschuettelnd ob goettlicher Pyromanie


-----------------------------------------------------------------------------



Treffen - koeln - etc (Semira, 17. Mar 1995, 14:36:17):
HI Ihrs!

Jup, der Mexikaner auf der Zuelpicher strasse...hat happy hour von 18 bis 20
uhr (cocktails halber preis) und verdammt leckere sachen auf der karte (nicht
nur auf der getraenkekarte)
Wieviele Leute...hm, naja, wenn nicht alle an einen tisch wollen passen da
schon einige rein...aber ich kann sowas schlecht schaetzen...vielleicht
sollten wir mal zardoz, engy oder yantro fragen, die kennen das teil auch von
innen....
Aber die cocktails sind goettlich!

Semira

-----------------------------------------------------------------------------



Party in Muenchen, 29.4. (Fryder, 21. Mar 1995, 12:08:33):
Hallo!

Am 29.4. findet im so von Muenchen, im Haus von Bleelumpe, Wolfendart, Fyder
u.v.a. Muddies
eine Party statt, die eigentlich nicht so gross werden sollte. Diese letztere
Illusion mussten wir aber schon nach kurzer Zeit aufgeben, und so sind nun
alle
Muddies, die uns kennen, oder einfach nur Lust haben, herzlich eingeladen.
Anmeldungen bitte so frueh wie moeglich an mich.

Ciao

McFryder

-----------------------------------------------------------------------------



Starkbier in Muenchen!! (Fryder, 23. Mar 1995, 12:34:46):
Hallo!

In Muenchen ist Starkbierzeit. Ein guter Grund, auch fuer die Muddies, mal
von Bildschirm zu verschwinden und was konstruktives zu machen. Wir treffen
uns zunaechst mal im Shamerocks, und zwar am Do., dem 30.4. zwischen 8:00 und
9:00 abends. Bisher ist
"nur" Death und Fryder dabei, aber wir hoffen, es wird noch was groesseres,
....

-----------------------------------------------------------------------------



Re: Das mach mal (Kiwi, 25. Mar 1995, 18:27:47):
#! rn=Miro rt=796071639

Koennte man das nicht um eine Woche verschieben? Wuerde auch gern kommen!
Kiwi.

-----------------------------------------------------------------------------



Re: Das mach mal (Caradhras, 26. Mar 1995, 01:13:39):
#! rn=Miro rt=796071639
Au ja, nimm mich mit, Schrumpfi :) Ach neee, die faehrt ja erstens
wohl ueber Salzburg und zweitens wohl schwarz. *grins* Hmmm, Muenchen?
Ich will nicht nur wegen einem Tag nach Muenchen, kann man wo uebernachten
mit Schlafsack & Isomatte? Dann komm ich vielleicht auch. (vielleicht,
da Diplom) *seufz*

         Caradhras der Golddrachenbergprophetenseherfrosch (Chamaeleon)

-----------------------------------------------------------------------------



Re: Re: Das mach mal (Schrumpfi, 26. Mar 1995, 01:26:53):
#! rn=Caradhras rt=796176819
Ueber die Grenze schwarz?? Bin ich lebensmuede?
Ich koennt schon ueber Passau fahren nur leider dachte ich es sei im April
aber naechste Woche hab ich keine Zeit :(
Schrumpfi faehrt nur Strassenbahn schwarz :)

-----------------------------------------------------------------------------



Re^3: Das mach mal (Caradhras, 26. Mar 1995, 06:34:37):
#! rn=Schrumpfi rt=796177613
Naechste Woche? Ich hab 30ter April gelesen, ist schon April?
*gruebel* also momentan gehts nicht bis ende april.

       tschoe         Caradhras :)

-----------------------------------------------------------------------------



Treffen in Muechen (Miro, 27. Mar 1995, 00:23:58):
Das eine schliesst das andere ja nicht aus... und war nich Ende April auch
noch die Paaady bei Fryder und Co. draussen?
Und uebernachtungsplaetze sollen das Problem nicht sein (wenn man sich um
meinen Pentium herumkuscheln kann...)
Also: machen wir doch Ende April so eine Mudfete (sofern es ihn dann noch
gibt, habe heute noch kein Armagedon getroffen...)
Miro
P.S.: Schrumpfi: Das Starkbier ist ein ***Fasten***bier und soll eigentlich
das Essen ersetzen. Also nix mehr mit Starkbier nach Ostern. Ach ja, Fasten.
Waere auch mal wieder was.
Miro mit Muenchner Problem (Stau am mittleren Ring)

-----------------------------------------------------------------------------



Re: Re: Treffen in Muechen (Felagund, 27. Mar 1995, 08:27:21):
#! rn=Guybrush rt=796285074
Steht denn nu schon ein Datum fast, fuers Treffen in Muenchen??? Ich will
naemlich auch endlich mal n paar Leute kennenlernen....
Fela, dem eigentlich fast alles passt...

-----------------------------------------------------------------------------



Re^3: Treffen in Muechen (Jimdigriz, 27. Mar 1995, 17:06:08):
#! rn=Felagund rt=796285641
also momentan sind 1 Treffen und einen fete geplant, wenn ich s richtig
verstanden
hab:

Treffen Do. 30.3. im Shamrock so ab 20.30 ?? (komme aber erst ab 2330 :( )
Fete bei Fryder Bleelumpe & co am sa 29.4.
Ciao,
James Bolivar diGriz

-----------------------------------------------------------------------------



Stammtisch in Bochum (Rudiratter, 28. Mar 1995, 08:46:17):
Wie jeden ersten Freitag im Monat gibt's auch im April wieder einen
Stammtisch, diesmal aber ab 20 Uhr im UNIKUM am Buscheyplatz -weil da die
Pizza lecker schmeckt.
Bis denn
Rudi

-----------------------------------------------------------------------------



Treffen im Mint? (Baron, 28. Mar 1995, 08:59:05):
Moin Bielefelder,
ist eigentlich morgen (letzter Mittwoch im Maerz) wieder Stammtisch im Mint?
Baron (der wohl lust hat)

-----------------------------------------------------------------------------



Re^4: aber Schrumpfiiiiii (Boing, 28. Mar 1995, 10:34:49):
#! rn=Li rt=796375838
Bier ist Bier ... und es schmeckt durchweg besch.... :)
  Boing

-----------------------------------------------------------------------------



Re^5: aber Schrumpfiiiiii (Guybrush, 28. Mar 1995, 12:00:34):
#! rn=Boing rt=796379689
Kreuzigt Boing..oder steinigt ihn..oder gebt ihn in meine Haende
Guybrush!

-----------------------------------------------------------------------------



Re: Treffen im Mint? (Ronda, 28. Mar 1995, 14:56:48):
#! rn=Baron rt=796373945
Hi Bielefelders!
Ich werd wohl Mittwoch leider nicht in Bielefeld sein - ich schreib am
Freitag Klausur :(
Waers ganz uebel das ganze auf Freitagabend zu verschieben?
Ach ja: das waer der 31.3. ... da koennte man dann danach in der Uni in den
1.4. reinfeiern oder -trauern, je nachdem, ob das Mud dann noch laeuft?
Bitte meldet Euch bei mir via MPA, Mudmail oder auch Tel: 05251/67819 ...
Tschuess,
             Ronda

-----------------------------------------------------------------------------



Re^4: aber Schrumpfiiiiii (Icet, 28. Mar 1995, 18:42:01):
#! rn=Norweger rt=796357832
Bayrische (bzw fraenkische *sabber*) Biere stehen nicht ab!

Man muss nur TRINKEN, nicht dumm schauen wie beim Koelsch. Das schmeckt
so nach Chemie, dass ich lieber darauf warte, dass es verdunstet ;-)

-IceT (Franke)

-----------------------------------------------------------------------------



Re^4: aber Schrumpfiiiiii (Schulze, 28. Mar 1995, 19:14:46):
#! rn=Li rt=796375838
Kurze Verneigung richtung Gevelsberg...*grins*
(Fuer jeden Sauerlaender Pflicht vor dem ersten Bier...)

-----------------------------------------------------------------------------



Treffen im Mint! (Shinobi, 28. Mar 1995, 21:54:53):
Paule und ich haben grade festgestellt, dass wir beide nicht eher als 20.45
Uhr bzw. 21.00 Uhr koennen, also habe ich voellig eigenmaechtig und unueber-
legt einen Artikel unter allgemeines veroeffentlicht... Wer also morgen,
d.h. Mittwoch den 29.3.1995 schon eher als 20.45 Uhr kommen kann, der soll
das tun, wenn es ihn/sie gluecklich macht... (Treffpunkt ist das Cafe Mint
in der Heeper Str. / Naehe Carl-Severing-Schulen in Bielefeld.)

Shinobi

-----------------------------------------------------------------------------



Re^4: aber Schrumpfiiiiii (Schrumpfi, 29. Mar 1995, 10:12:36):
#! rn=Li rt=796375838
Also Li, entschuldige, aber Du hast ja  ueberhaupt keine Ahnung!! ;-)
Schrumpfi liebt Kaiser Bier laesst sich aber von Kretek gern ueberzeugen,
dass Bayerns Bier auch lecker schmeckt :-)

-----------------------------------------------------------------------------



Re^6: aber Schrumpfiiiiii (Schrumpfi, 29. Mar 1995, 10:14:30):
#! rn=Guybrush rt=796384834
Aber wenn dann nur 'Ritual steinigen' oder Ritual Kreuzigen :-)
Schrumpfi wirft den ersten Stein

-----------------------------------------------------------------------------



Re^5: aber Schrumpfiiiiii (Schrumpfi, 29. Mar 1995, 10:18:19):
#! rn=Icet rt=796408921
Dumm schauen ist gut ausgedrueckt! Ich hab in Koeln echt dumm geschaut als
mir die diese Sektfloete vor die Nase stellten und ernsthaft behaupteten das
sei ein Bier. :-)
Bier gehoert in ein ordentliches Halbe(oder fuer die Bayern: Mass)glass!!!!
Schrumpfi ist da pingelig :-)

-----------------------------------------------------------------------------



Treffen in Linz, Wien oder Passau (Schrumpfi, 29. Mar 1995, 10:23:01):
Hmmm, hab grad mit Eagle gelabert und wir dachten uns, dass ein Treffen in
Linz, Wien oder Passau mal wieder ganz nett waere. Was sagen denn die Wiener
und Pasauer dazu?
Schrumpfi hat das letzte Treffen in Linz eigentlich ganz gut gefallen,
zumindestens das was sie davon noch in Erinnerung hat :-)

-----------------------------------------------------------------------------



Re: Bier!!! (Li, 29. Mar 1995, 12:04:08):
#! rn=Throin rt=796398440
Ha, du hast wohl immer noch die alten vorurteile ueber das Herforder, wie?
:-)
zugegeben, fruher war es sch..., aber heute schmeckte es ziemlich gut.
Also, schmeiss Deine Vorurteile wech!

Li (trinkt am liebsten Veltins)

-----------------------------------------------------------------------------



Re: Treffen in Linz, Wien oder Passau (Caradhras, 29. Mar 1995, 14:52:22):
#! rn=Schrumpfi rt=796465381
                  Huhu

Also ich organisier nix :) ich muss grade auf mein Diplom lernen, aber
nach Passau wuerde ich doch kommen, wenn auch erst mal nicht weiter.

      tschoe           Caradhras

-----------------------------------------------------------------------------



Re: Re: Bier!!! (Throin, 29. Mar 1995, 16:17:18):
#! rn=Li rt=796471448
Tja Li, wie gut, dass Du bei mir letztens
Veltins angetroffen hast. Oder?
Aber "Herforder Pils, keiner wills" kommt mir immer noch
nicht in die Wohnung :)
Gruss Throin.

-----------------------------------------------------------------------------



MUD-Treffen in Bielefeld (Catweazle, 29. Mar 1995, 16:58:19):
[Verlegt von allgemeines, Shinobi, 28. Mar 1995, 21:27:13]:
Hallo Muddies (speziell im Raum NRW) !
--------------------------------------

Etwas kurzfristig zwar, aber hier ist die Einladung zum Maerz-MUD-Stammtisch
in Bielefeld.

Wir wollen uns am Mittwoch, den 29.3. gegen 20.45 Uhr im Cafe Mint (Heeper
Strasse, Naehe Carl-Severing-Schule) treffen.

Um zahlreiches Erscheinen und korrekte Kleidung wird gebeten ;-).

Shinobi


-----------------------------------------------------------------------------



Re: MUD-Treffen in Bielefeld (Catweazle, 29. Mar 1995, 16:59:10):
#! rn=Shinobi rt=796418833
[Verlegt von allgemeines, Yantro, 29. Mar 1995, 10:42:31]:

Also ich wuerd ja gerne kommen, aber das wird wohl nichts wegen der Kleidung
:(

Schoenen traurigen Gruss an Silvana....

                      Yantro ;)


-----------------------------------------------------------------------------



Re: Re: Treffen in Linz, Wien oder Passau (Kretek, 29. Mar 1995, 19:25:58):
#! rn=Caradhras rt=796481542
Bei mir stehen demnaechst dann auch ein paar saftige Pruefungen an,
aber Passau waer schon genial!

     _   __ ___  __
| / | \ |    |  |   | /
|/  |_/ |_   |  |_  |/
|\  |\  |    |  |   |\
| \ | \ |__  |  |__ | \


-----------------------------------------------------------------------------



Re^3: Treffen in Linz, Wien oder Passau (Schrumpfi, 29. Mar 1995, 22:26:21):
#! rn=Kretek rt=796497958
Ja sicher Passau waere mal nett aber ich organisier nix in Passau ;-)
Schrumpfi freut sich auf ein Treffen

-----------------------------------------------------------------------------



Re^5: aber Schrumpfiiiiii (Silvana, 30. Mar 1995, 08:38:43):
#! rn=Boing rt=796379689
Ich stelle fest, es gibt immer mehr Dinge, bei denen ich Boing voll zustimmen
muss. Scheint doch irgendwo eine Familienaehnlichkeit unter Magiern zu
geben...
Silvana - amuesiert ihrem Opa zuzwinkernd.

-----------------------------------------------------------------------------



Treffen in STGT ?!? (Warlord, 30. Mar 1995, 18:22:01):


Hi, wuerde Interresse an einem Treffen in Stuttgart bestehen ?

	Warlord, dem die anderen Treffen alle zu weit weg sind

-----------------------------------------------------------------------------



Re: Treffen in STGT ?!? (Gwyndon,  1. Apr 1995, 02:17:09):
#! rn=Warlord rt=796580521
 Hi, was haeltst Du von einem Treffen in Tuebingen?

    gez. Gwyndon, der Treffen am liebsten bei sich zuhause macht
                 der Weg ist kuerzer, der Tee ist vielfaeltiger,
                 der Wein besser und das Bier billiger - und
                 der Gwyndon bequem...

-----------------------------------------------------------------------------



Re: Re: Treffen in STGT ?!? (Warlord,  2. Apr 1995, 00:19:19):
#! rn=Gwyndon rt=796695429

Hi gwyndon,

wuerde prinzipiell in Ordnung gehen. Wo? Wann?

	Warlord, der sich in Tuebingen aber nicht auskennt ;)

-----------------------------------------------------------------------------



Stammtisch in Bochum (Rudiratter,  2. Apr 1995, 19:05:54):
Mittlerweile scheint es so, dass der Stammtisch am Freitag wieder megagross
ist. Damit ich nen anstaendigen Tisch bestellen kann, waer's ganz nett, wenn
mir die Leute, die kommen wollen, eine kurze Mail schicken.
Danke Rudi

-----------------------------------------------------------------------------



Re: Re: aber Schrumpfiiiiii (Mephisto,  4. Apr 1995, 00:47:02):
#! rn=Stahldorn rt=796382533
Doch, Experte:
Zillertaler Maerzen oder Gauderbock, kann mich da nie entscheiden. Kaiser,
Stiegel, Goesser ist Abspuelwasser, Hirter nicht ganz so schlecht (ein bissel
hopfig,nicht?), Fohrenburger hie und da ganz gut und die erstgenannten
grenzgenial.
Gesundheit.....
Meph (Der nach zuvielen Goessern scho im Spital war, jaja....)

-----------------------------------------------------------------------------



Der Treffen sind kein Ende - Muenchen (Miro, 10. Apr 1995, 18:37:17):
Hi Ihrs,
nachdem wir uns jetzt fast einen Monat nicht getroffen haben,
habe ich mit Kiwi und Fryder ausgeschnackt, dass man sich ja mal wieder in
Muenchen treffen koennte:
und zwar am Mittwoch 19.April um 20 Uhr im VOLLMOND.
Der ist in der Schleissheimer Strasse, von U-Bahn Theresienstrasse den ersten
Aufgang rechts rauf, geradeaus zu auf den Park,
dann nur noch rechts abbiegen, ein paar Schritte und man ist da...
Meldet Euch mal, wer so denkt, dass er kann und will, dass ich entweder zwei
Barhocker freihalte oder gleich das Lokal fuer uns miete...
und wenn ich jetzt nicht aufpasse treibt mich diese gelbe Robe noch in den
Sumpf,
also c u, frohes Ostereiersuchen,
usw.
Miro

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!! (Ancalagon, 23. Apr 1995, 13:07:29):
Halloele, ihr Mudders!
Naechsten Mittwoch ist mal wieder der letzte des monats, und wie (fast immer)
wird ein Treffen in Bielefeld im Cafe mint stattfinden. Nichtbielefelder, die
kommen wollen aber den weg nicht kennen, fragen einfach irgendeinen
Bielefelder nach dem Weg und sind selbstredend herzlich willkommen. Ach so,
losgehen tuts so ab 19.30. Bis denne,
                                   Ancalagon
                          Draco knuddellensis major

-----------------------------------------------------------------------------



SB-Treffen (Horschd, 25. Apr 1995, 02:44:15):

Hallihallo, Ihr Saarbruecker Mudder!

Anscheinend wird es hoechste Zeit, dass wir mal ein richtig grosses
Saarbruecker Treffen machen. Neulich hatten wir ja schon ein Treff
bei Pisello, wie wohl die meisten aus meinen Mails entnehmen konnten,
aber da konnten nun mal nicht alle...
Naja. Auf jeden Fall wuerde ich (und auch die meisten anderen Saar-
bruecker Mudder, die ich kenne) gerne mal ein Treff mit moeglichst allen
Saarbruecker Muddern machen. Glaubt ihr, dass wir sowas zustandebringen?

Meldet Euch auf jeden Fall mal per MudMail bei mir, weil ich versuche,
eine Liste aller Saarbruecker Mudder zusammenzustellen (bisher 19!!!).
Ihr koennt ja auch schonmal vorab Terminvorschlaege machen. Waer
schoen, wenn wir mal ein mehr oder weniger regelmaessiges Treffen
auf die Reihe bekaemen.

So long,

Horschd (Saarbruecker MudMail-Master :))

-----------------------------------------------------------------------------



STAMMTISCH BOCHUM (Rudiratter, 26. Apr 1995, 09:58:17):
Mittlerweile sollten es ja alle wissen, aber am ersten Freitag im Mai ist
wieder der lustige Stammtisch in Bochum im Clochard (im Unikum kann ich mich
ja nach dem letzten nicht mehr blicken lassen....)
Also.

AM 5. MAI UM 20 UHR STAMMTISCH IN BOCHUM IM CLOCHARD AM BUSCHEYPLATZ!!!

Wer eine Wegbeschreibung braucht, sollte sich nicht an Torfduen (huhu torf) ,
sondern an mich wenden. Meine Version 3.0 ist nachvollziehbar. ;)
Rudi

-----------------------------------------------------------------------------



Re: STAMMTISCH BOCHUM (Rxtech, 26. Apr 1995, 11:13:54):
#! rn=Rudiratter rt=798883097
Hey Rudi, das hast Du ja noch gar nicht erzaehlt. Wieso kannst Du Dich nicht
mehr im Unicum blicken lassen? Hast Du wieder die Huellen fallen lassen oder
was?

grinsend und vor allem neugierig

Rxtech

-----------------------------------------------------------------------------



Re: Re: STAMMTISCH BOCHUM (Aline, 26. Apr 1995, 13:24:04):
#! rn=Rxtech rt=798887634
Hallo Rxtech,

wenn Du gekommen waerst, muesstest Du jetzt nicht so neugierig fragen.
Fazit: Du hast was verpasst!!!

Aline (war da und weiss warum)

-----------------------------------------------------------------------------



STAMMTISCH HANNOVER (Hakkikkt, 26. Apr 1995, 13:35:20):
In Hannover findet mal wieder der POSTSPIELSTAMMTISCH statt, bei dem aber
auch Mud-Spieler herzlich willkommen sind.
Wo: Restaurant Xenia, Melanchthonstr.
Wann: ab ca. 19.30 Uhr

Bis denne, Hakkikkt

-----------------------------------------------------------------------------



Heute abend in Dortmund :-) (Hardil, 26. Apr 1995, 15:24:45):
Heute abend kann man mal wieder die Creme der Creme der Dortmunder Muddies
bewundern, und zwar abends im Uni-FH-Club, Lindemannstrasse 84.
jau, da ist auch gleichzeitig eine Party. Das ist Absicht.

Als Ehrengast koennen wir begruessen, live aus Bamberg/Franken:

den hohen Herrn Inselmagier Wizzard! :-)

Keine Angst, wir beissen nicht! :-)

			Locutus, Hardil

-----------------------------------------------------------------------------



Re: Re: STAMMTISCH BOCHUM (Baron, 26. Apr 1995, 19:29:51):
#! rn=Rxtech rt=798887634
Ich finde es absolut zum kotzen! Ich war jetzt schon auf zwei Bielefelder
Stammtischen und NIEMAND hat die Huellen fallen lassen, nicht mal Silvana :)!
Red Baron (gelangweilt)

-----------------------------------------------------------------------------



Treffen nur bei Neumond!!! (Fryder,  1. Mai 1995, 15:12:07):

Hallihallo!

Nach unserer rauschenden Cocktailparty am
letzten Samstag haben wir uns nun endlich
entschlossen, auch in Muenchen regelmaessige
Treffen zu veranstalten. Oertlich pass es da
in der Gegend von Miro am besten, westlich von
Schwabing. Da war ja auch schon letztens was
von uns und zwar im Vollmond, Beschreibung
siehe Miros letzten Artikel. Es gibt da nur
leider den entscheidenden Nachteil, dass dort
immer bei Vollmond irgendwelche Verlosungen
sind und dann da die Hoelle los ist. Was liegt
also naeher, als die Treffen immer am ersten
Neumond im Monat zu machen, da gibst dann auch
keinen Aerger mit den Wolpis. Davon
unabhaengig treffen wir uns aber jetzt das
erste mal schon diese Woche im Vollmond, und
zwar am Do, den 4.5..

Versucht moeglichst alle aus der Gegend zu
kommen, wir wollen dann auch die evtl.
Sommer-Mud-Party fuer die suedlichen Gefilde
besprechen

McFryder

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe ?? (Floh,  1. Mai 1995, 19:14:41):
Hallo,

wie seihts mit einem Stammtisch in Karlsruhe aus.
Besteht Interesse an einem Termin Ende Mai. Ich wuerde dabei an ein Treffen
in einem Bier-
garten denken .

Viele Gruesse

Floh

-----------------------------------------------------------------------------



DER Stammtisch (Catweazle,  8. Mai 1995, 18:35:52):
Hi!
Tja, MG-Treffen all over the world...
Naja nicht grade world...
Aber ihr habt alle das wichtigste vergessen!

Den einzigartigen, wundervollen Original-MorgenGrauen-Stammtisch hier
in Muenster!!!

Jeden Dienstag, 20:00 Uhr im Cafe Obina-Shock, Ring-Ecke Huefferstrasse.

So, und auf mehrfache Anfrage versuch ich mich mal an einer Wegbeschreibung:
Wenn ihr von Sueden kommt (ich nehme mal an ueber die A1 oder A43), dann
Muenster Sued ab (A1) oder einfach weiter nach muenster reinfahren.
Ihr fahrt dann erst mal grad aus, links kommt zb MoeGroKa, etwas spaeter
ist links das Lotto-Hochhaus. Danach muesst ihr dann an der naechsten Ampel
links abbiegen (an der Ampel ist glaub ich nen Hill-Markt)
( Achne, die heissen ja jetzt HL :-) )
Ihr seid jetzt auf dem Ring. Dann fahrt ihr weiter gradeaus, ueber die
Aaseebruecke drueber, irgendwann ist rechts ein Schiild zum Moevenpick-
Hotel, trotzdem weiter geradeaus fahren. So, jetzt muss ich ueberlegen, achja
da kommt dann auf der rechten Seite ein Parkplatz, der heisst *gruebel*
Pottkamp. Da kann man prima parken. So, an der NW-Ecke des Parkplatzes ist ne
Ampel, zu der kommt ihr, wenn ihr nicht auf den Parkplatz fahrt, sondern
weiter-
grade aus, an DIESER Ecke ist das Obina!
Ist ja wohl zu finden.

So, von Norden aus (Also A1 Aus nordrichtung ...)
Muenster-Nord abfahren, immer weiter Richtung Muenster rein.
Issn gute Stueck. Dann kommt rechts ne Eishalle. Kann man glaub ich auch
im Sommer als solche erkennen :)
Weiter grad aus. An der naechsten grossen Ampel, muesst ihr rechts ab. Dann
seid ihr auf dem Ring. Ring immer gradaus fahren. Rechts kommen die
NAturwissenschaftlichen Institute, und nen Parkhaus, ueber diese Kreuzung
muesst ihr noch drueber (Wenn ihr jemals den MG-Recher besichtigen wollt,
der gegenueber vom Parkhaus im Mathe-hochhaus :) )
So, die naechste links ab ist die huefferstrasse, wenn ihr da abbiegt, seht
ihr
sofort das Obina!

Fuer alle Muensteraner brauch ich das wohl nicht zu erklaeren :)
Achja, man kommt angeblich auch irgendwie mit dem Zug und Bus zum Obina, aber
das lasst ihr Euch besser von Anatol erklaeren, der hat das mal gemacht :)

Viel Glueck beim finden...
Yours truly,
    Catweazle

-----------------------------------------------------------------------------



Koeln-Treffen (Bendeigid,  9. Mai 1995, 15:04:24):
Hi, Muddies!

Speziell an alle Koelner, aber auch alle aus dem naeheren oder ferneren
Einzugsbereich:

Stammtischwiederbelebung in Koeln, Freitags.

Erster Termin: Erste Juniwoche. Dann hat auch jeder zeit genug zum Planen...

Vorschlagend,
            Bendeigid

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe ?? (Floh, 17. Mai 1995, 21:44:43):
#! rn=Hobo rt=800287235
Hallo,

also nochmals zum Termin.
Rudi meinte 2,3 Wochenende im Juni.
Hobo hat am 1 We keine Zeit und Loco kann am Pfingst-Mo nicht
mehr nach Tue zurueckfahren.
Ich schlage deshalb das 2 Wochenende im Juni 09 / 10.06 vor.
Wie siehts aus??? Interesse.
Als Ort wuerde ich bei schoenem Wetter entweder Kaiser-Garten
oder Hoepfner-Biergarten vorschlagen.

Viele Gruesse

Floh

-----------------------------------------------------------------------------



Re^7: Stammtisch in Karlsruhe ?? (Guybrush, 20. Mai 1995, 15:54:55):
#! rn=Guybrush rt=800779695
Hmmmmmmmmmmmmmmmmmmmmmmmmmmm
Wuerd sagen, wir bleiben mal dabei.
Jetzt haette ich nur einige Bitten:
a) Wer kommen will schickt mir ne mail
b) Wer Platz hat, Leute unterzubringen bitte auch
c) Kneipenideen bitte auch an mich.

Das wars dazu, schlagt mich, oder schreibt mir...mir eh egal :)
Guybrush, will mal ein WE feiern :)

-----------------------------------------------------------------------------



Berg-Kirchweih (Cerebus, 22. Mai 1995, 19:19:24):
Huhu, All Ihr Franken!

Da ich leider nicht zum letzten Treffen kommen konnte (hat ueberhauot eins
stattgefunden?), kenne ich Euch immer noch nicht (insbesondere die Erlanger).
Aber wie steht es denn mit einem Treffen bei der famosen Bergkirchweih? Z.B.
Dienstag?

Cerebus

Um den Spruch aus #39 richtigzustellen:
It's a Gottgeschenk
to be a Oberfrenk!

kicher


-----------------------------------------------------------------------------



Re: Berg-Kirchweih (Anthea, 23. Mai 1995, 00:14:21):
#! rn=Cerebus rt=801163164
Dienstag ist, aeh, wie soll ich sagen, meist nicht sehr gut, denn am Dienstag
haben alle Erlanger Geschaefte ab Mittags zu und sind auf dem Berg. Sprich: es
ist doppelt so voll wie sonst.

Ansonsten waere ich immer dafuer zu haben... ach ja: Zur Bergkirchweih
koennten ja vielleicht auch Nicht-Franken uns hier mal besuchen. Ist
schliesslich das aelteste Bierfest Deutschland (Oktoberfest ist ein ....
dagegen :) ). Nur so als Vorschlag...

        Anthea
      (Spart schon fuer die Berg-Zeit)

-----------------------------------------------------------------------------



Re: Re: Berg-Kirchweih (Highlander, 23. Mai 1995, 11:11:47):
#! rn=Anthea rt=801180861
Ich faende Dienstag nicht schlecht, weil ich ab Mittwoch nicht mehr in ER
bin. Also wenn's auch voll ist (ich mag Berg eh nicht so besonders) - wenn
schon Berg, dann wenigstens am Dienstag oder am Pfingstwochenende.
Naja, Montag ginge auch noch *grins Anthea - lassen wir die Probe halt sein*
Bye,
   Highlander

-----------------------------------------------------------------------------



Re^3: Berg-Kirchweih (Anthea, 26. Mai 1995, 12:46:09):
#! rn=Highlander rt=801220307
Hi Ihr fraenkischen Biersaeufer eV.

Ich war wohl auch etwas gegen Dienstag, weil ich da mit dem Geschaeft oben
bin. Aber wenn es euch nichts ausmacht, mich bereits etwas hm... nicht mehr
ganz nuechtern vorzufinden, koeennen wir uns auch gerne am Dienstag ab 19.00
treffen.
Also, ich wuerde dann erst einmal als Treffpunkt folgendes Angeben:
19:00 vor der Eisdiele an der Essenbacher Bruecke. Dann muss man wenigstens
nicht versuchen, sich oben im Gewuehl zu finden.
Danach... hm, als Erlanger geht man natuerlich zum Entlas-Keller, dann kann
ja wer danach kommt versuchen, uns da oben zu finden.

Als Erkennungszeichen... also, ich steck mir bestimmt keine Nelke an. Aber
wenn es warm geenug ist und ich daran denke, ziehe ich mir dann ein allen
wohlbekanntest T-Shirt vom letzten Sommer an.

Einsprueche, Verbesserungen, Anaderungen moeglichst hier veroeffentlichen...
ich weiss nicht, wie oft ich im Mud bin :(

 Anthea

-----------------------------------------------------------------------------



Re^4: Berg-Kirchweih (Icet, 26. Mai 1995, 19:15:15):
#! rn=Anthea rt=801485169
Ich kenne dein T-Shirt nicht.
Dabei wuerde ich sogar auf den Entlas-Keller gehen und das verpanschte
Bier dort trinken (wegen Freimarken ;-)

-IceT

-----------------------------------------------------------------------------



Nochmal KA-Treffen (Guybrush, 29. Mai 1995, 11:52:26):
Ich krieg nicht allzuviel Feedback auf meinen letzten Artikel.
Wenn ich die Leute bei unserem beschraenkten Moeglichkeiten aber unterbringen
will, sollte ich wenigstens wissen, wer wann kommt.
Ich hab zwar ein paar Absichtserklaerungen, aber wenn ich was organisieren
will, waeren genauere Auskuenfte ganz nett, sonst muessen wir nachher alle
draussen pennen :)
Guybrush, hofft auf mail

-----------------------------------------------------------------------------



Re: Nochmal KA-Treffen (Jof, 29. Mai 1995, 12:57:50):
#! rn=Guybrush rt=801741146
 Bei dem Wetter ist draussen pennen genau richtig :)
Ich werd wohl kommen, aber ich glaub, ich hab 'nen Schlafplatz bei Boing :)

 Jof

-----------------------------------------------------------------------------



Re: Re: Nochmal KA-Treffen (Grimmborn, 29. Mai 1995, 13:07:53):
#! rn=Jof rt=801745070

Passend. Zumal zwei NPC ja auch rl nicht sooo viel Platz wegnehmen... :-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Nochmal KA-Treffen (Asmodis, 29. Mai 1995, 18:59:30):
#! rn=Grimmborn rt=801745673
Ja, kann man notfalls auf Diskette abspeichern :)

-----------------------------------------------------------------------------



Linz (Anakin, 29. Mai 1995, 20:08:29):
Hiho,

Wenn ein Treffen in Linz sein sollte am 9.6 oder so, dann
weiss ich nicht ob es die Zugfahrt lohnt, ich koennte fruehestens
um 16.00 los waere also um 4.00 nachts in Linz und dann die Rueckfahrt
auch 12h, das bringt es nicht. Also mir waere ne Verschiebung
um ne Woche nach hinten ganz lieb.

Anakin (kaempft mit den Kanaelen waehrend des Schreibens)

P.S. und mit dem Zeilenumbruch....

-----------------------------------------------------------------------------



Re^8: Stammtisch in Karlsruhe ?? (Floh, 29. Mai 1995, 21:17:38):
#! rn=Guybrush rt=800978095
Hallo Guy,
also der 09/10.06.  .-))
Ich kann Schlafplaetze direkt in KA bieten. (Fusswegentfernung zur
Innenstadt)
insgesamt habe ich 1 Zimmer das belegt werden kann. Das
muesste so fuer 4 - 5 (oder mehr) Menschen reichen.

Ich schlage folgende Plaetze vor:
1. Kaisergarten (Kaiserstrasse)
2. Metropolis (mit nettem Biergarten)
.. vielleicht kann mir ja jemand zusaetzlich ne Mail an
meine Internet-Adresse schicken. (juergen_tress@p89.vrc.schiele-ct.de)
Bis dann

Floh

-----------------------------------------------------------------------------



Re: Linz (Caradhras, 30. Mai 1995, 01:15:38):
#! rn=Anakin rt=801770909
Ne Woche spaeter bin ich dann nicht da, da eier ich grade irgendwo
in der Naehe von Mannem oder weiter noerdlich rum ;-)

    Tschuess              Caradhras

-----------------------------------------------------------------------------



Re: Linz (Wur, 30. Mai 1995, 05:52:27):
#! rn=Anakin rt=801770909
Hm, ne woche spaeter und keine zugfahrt sondern ne Mitfahrzentrale und ich
ueberlege auch nach Linz zu fahren...
Ist das nicht nen Vorschlag Anakin?
Wur - grinsend

-----------------------------------------------------------------------------



LINZ-Treffen (Creative, 30. Mai 1995, 08:45:21):

So, schnell Senf on:
Ideen, Vorschlaege, Wuensche bzw. Termin an mich. 2 Wochen scheinen
undurchfuehrbar zu sein, also => Verschieben?? Linz-Treffen
wird wohl sicher statt finden, aber wann???
Also, wer nen Termin hat, soll sich melden, weil das Programm, das
wir vorhaben, sagt aus, dass wir genau wissen sollten,
wieviel Leute kommen. Ergo => gute Planung waere sinnvoll.
Also, mails bzw. MPA-Artikel werden verschlungen von mir & beantwortet.
Gebt mal nen Teil auch Stahli ab, der hat doch ausser Metzeln
eh nix zu machen :)

-Crea- (hoffentlich kommen viele! :))


-----------------------------------------------------------------------------



MG-Treff in Bielefeld! (Ancalagon, 30. Mai 1995, 10:27:38):
Halloechen Ihrs!
Nochmal zur erinnerung: morgen ist mal wieder Treff im Cafe Mint.
Sogar ich selbst werde mich diesmal einfinden, ehrlich. Und silvana und
Throin und Baron und hoffentlich noch mehr..........
Vielleicht auch mal wieder Nicht-Bielefelder?
Wegbeschreibung gibts problemlos von irgendeinem Bielefelder Mudder.....
Auf ein zahlreiches Erscheinen hoffend,
                                        Ancalagon
                                Draco knuddellensis major

-----------------------------------------------------------------------------



MUD-Treff in Linz (konkreter? :) (Creative,  1. Jun 1995, 09:50:32):

So, nu isses also mal fixer geworden.
Da man scheinbar nichts ausmachen kann, was binnen 2 Wochen geschehen
soll, werde ich das ganze einfach so machen. Egal, wann das MUD-Treffen in
Muenster stattfindet, im Herbst dieses (man hoere und staune, dieses! :))
Jahres wird es ein MUD-Treffen in Linz geben.
Nachdem bis jetzt grosses Interesse bekundet wurde, jedoch leider kein Echo
darauf kam, wird eben der Termin nach hinten verlegt, damit alle mal
vielleicht
doch koennen...
Genauer Termin wird noch bekannt gegeben, aber Herbst is mal grob gesagt
ungefaehr die Richtung. Falls genug Leute zusagen, kann man das Programm
auch auf 3 Tage ausweiten, wuerde ich mal vorschlagen. Vielleicht haben
die Muensteraner auch mal Lust, sich ein paar 100 km nach Suedwesten zu
bewegen :) und dann kann ich mir vorstellen, dass das Treffen ziemlich nett
werden kann...

Bitte bitte, schickt Terminvorschlaege und Wuensche und Listen, wer kommen
will an mich, das zu organisieren ist nicht einfach, wenn alle kommen, die
bis jetzt begeistert waren, dann bin ich bei ca. 40 - 50 Leuten :)
Und da Schlafplaetze finden, is nicht so einfach, wie man seit der letzten
Muensteraner Fete weiss... :)
Also, ich freu mich auf Briefe, Artikel und aehnliches. Ich koennte auch
schnell ein Partyboard proggen, rein fuer das Linzer Treff.
Ich rechne jedenfalls damit, dass ca. 12 Linzer da sein werden, die Wiener
haben ja auch nicht weit (als Ansporn oder als Abschreckung, suchts euch
aus :))

Bis bald, sich auf mails und Artikel freuend...
-Crea-


-----------------------------------------------------------------------------



Treffen in Dortmund (Anthea,  1. Jun 1995, 23:48:13):
[Verlegt von allgemeines, Locutus,  1. Jun 1995, 10:48:25]:
Hiho Leute !

Da die Rubrik treffen voll ist, schreib ich meinen Artikel mal hier
rein. Wie waer es, wenn wir mal wieder ein Treffen in Dortmund veranstalten
wuerden. Es gibt ja nun schon recht viele hochstufige Dortmunder. Schlagt
doch vielleicht mal einen Termin vor (Vielleicht 2 Wochen nach Pfingsten
am Donnerstag?). Das letzte Treffen war ja recht witzig, ist aber schon
zu lange her. Also alle Interessenten bitte mal bei mir oder Hardil melden
oder ne MUDmail schreiben.

Tschoe...

Locutus & Hardil


-----------------------------------------------------------------------------



kleiner MUD-Treff in Linz (Anthea,  1. Jun 1995, 23:48:29):
[Verlegt von allgemeines, Stahldorn,  1. Jun 1995, 20:28:08]:
Hallo Freunde und Feinde!

Wir (Creative und ich) machen nun naechstes WE trotzdem ein kleines Treffen.
Geplant sind ein dezents Ritteressen in nettem Ambiente (*griins*)
Der grosse Treff im Herbst findet natuerlich trotzdem statt.
Da das ein bisschen eine Abschiedsfeier vom MG von mir sein wird (naja ab
Juli bin ich nicht mehr da) hoffe ich auf rege Beteiligung und viele viele
Linz-Besucher!
*nach Wien und Passau schiel*
Die Linzer Garde wird wohl auch recht zahlreich vertreten sein, denk ich.
Also, wenn einer Lust hat, am 10.Juni nach Linz zu kommen: -> Mail an mich!
Damit ich mir ungefaehr ausrechnen kann, wie viele Leute teilnehmen. Den
genauen Zeitpunkt und Ort geb ich noch bekannt.



    STAHL freut sich schon.


P.S.: rubrik treffen war voll


-----------------------------------------------------------------------------



Re^5: Berg-Kirchweih (Anthea,  2. Jun 1995, 00:08:56):
#! rn=Icet rt=801508515
Hm... DAS T-Shirt, das ich dort anziehen will, kennt doch inzwischen nahezu
jeder... Es ist grau und hat ein Bildchen vorne drauf, auf dem MORGENGRAUEN
steht...

Also dann hoffe ich mal, dass am Dienstag moeglichst viele erscheinen...
Alleine saufen ist so anstrengend :)

Anthea

-----------------------------------------------------------------------------



Stammtisch (Taz,  3. Jun 1995, 22:52:21):
Hiho,


                       An alle

@@@@@@@   @@@@@@@@  @@@@@@@   @@@       @@@  @@@  @@@  @@@@@@@@  @@@@@@@
@@@@@@@@  @@@@@@@@  @@@@@@@@  @@@       @@@  @@@@ @@@  @@@@@@@@  @@@@@@@@
@@!  @@@  @@!       @@!  @@@  @@!       @@!  @@!@!@@@  @@!       @@!  @@@
@!@!@!@   @!!!:!    @!@!!@!   @!!       !!@  @!@ !!@!  @!!!:!    @!@!!@!
:!:  !:!  :!:       :!:  !:!   :!:      :!:  :!:  !:!  :!:       :!:  !:!
 :: ::::   :: ::::  ::   :::   :: ::::   ::   ::   ::   :: ::::  ::   :::
:: : ::   : :: ::    :   : :  : :: : :  :    ::    :   : :: ::    :   : :



 Hmm, so vieler Mudder und kein Stammtisch in Berlin? Das muss sich
aendern. So fuern nen Termin daechte ich mir ca. in 2-3 Wochen.
Vorschlaege ueber Treffpunkt oder genauen Termin Mail an mich oder
in die mpa (damit mal wieder was in der Zeitung steht). Also Leute
RAPPELT euch auf!!

Anakin (hofft auf reichlich Zuspruch)

-----------------------------------------------------------------------------



Re: kleiner MUD-Treff in Linz (Schrumpfi,  5. Jun 1995, 23:20:15):
#! rn=Anthea rt=802043309
Koennte man das nicht echt um ne Woche verschieben? Ich moecht schon gern,
dass Wur nach linz kommt! :-)
Schrumpfi

-----------------------------------------------------------------------------



Re: Re: kleiner MUD-Treff in Linz (Anakin,  5. Jun 1995, 23:21:30):
#! rn=Schrumpfi rt=802387215
Hiho,

Jaja, ein Woche verschieben, sag ich ja schon die ganze Zeit, dann
koennt ich auch.

Anakin.

-----------------------------------------------------------------------------



Re^3: kleiner MUD-Treff in Linz (Wur,  5. Jun 1995, 23:40:34):
#! rn=Anakin rt=802387290
Na dann verschiebt das ganze doch mal endlich!
Wur

-----------------------------------------------------------------------------



Re^4: kleiner MUD-Treff in Linz (Loco,  5. Jun 1995, 23:56:33):
#! rn=Wur rt=802388434
Ja, aber um mindestens 2 Wochen... oder notfalls macht einfach gleich noch
einen Termin :) Ich kann naemlich weder kommendes WE noch das drauf :(
Loco

-----------------------------------------------------------------------------



Re^5: kleiner MUD-Treff in Linz (Anakin,  6. Jun 1995, 00:07:41):
#! rn=Loco rt=802389393
Hiho,

wenn verschieben, dann aber unbedingt noch im Juni, weil sonst
Stahldorn wech ist. :(

Anakin

-----------------------------------------------------------------------------



Re^6: kleiner MUD-Treff in Linz (Loco,  6. Jun 1995, 14:42:27):
#! rn=Anakin rt=802390061
Ich glaub, ihr nehmt am besten keine Ruecksicht auf mich, ich musste naemlich
eben feststellen, dass ich kein Wochenende vor dem 1. Juli ueberhaupt Zeit
haben koennte. :-(
Ein andermal vielleicht...
       Loco

-----------------------------------------------------------------------------



Treffpunkt fuers Treffen in KA (Lechuck,  7. Jun 1995, 11:03:42):
grins...toller Titel :)
Also:
Fuer diejenigen, die sich nicht bei mir oder Boing einfinden:
uebe Shuto-juji-uke
Wir schaun erstmal (so ab 19.30-20.00) im Kaisergarten in der Kaiserallee
vorbei.
Je nach Wetter draussen oder drinnen...
Die Kaiserallee ist erreichbar von Norden aus ueber den Adenauerring , nach
rachts abbiegen wer von der Linkenheimer Strasse kommt (jetzt:
Willy-Brandt-Allee).
zweite grosse strasse rechts abbiegen, dort parkplatz suchen.
Fuer diejenigen, die von sueden (autobahn ) kommen, richtung bahnhof, dann
abbigen nach rechts richtung mannheim..
Auch hier die zweite GROSSE Kruezung nach links abbiegen und parkplatz suchen
:)
Hm..genauere beschreibeung besser an Boing wenden :)
LeChuck..mit 1000 typos...argl

-----------------------------------------------------------------------------



Re: Treffpunkt fuers Treffen in KA (Lechuck,  7. Jun 1995, 11:04:30):
#! rn=Lechuck rt=802515822
aehm, das uebe ist da reingerutscht...tschuldigung :)

-----------------------------------------------------------------------------



Re: Treffpunkt fuers Treffen in KA (Boing,  7. Jun 1995, 11:42:40):
#! rn=Lechuck rt=802515822
Bei mir daheim wird nicht Shuto-juji-uke geuebt! Ich haenge an
meiner Einrichtung ...
  Boing

-----------------------------------------------------------------------------



Re: Treffpunkt fuers Treffen in KA (Boing,  7. Jun 1995, 11:43:44):
#! rn=Lechuck rt=802515822
Wegbeschreibung zum Kaisergarten kann ich nicht liefern, ich war da
selbst erst einmal.
  Boing

-----------------------------------------------------------------------------



Treffen in Dortmund ! (Locutus,  7. Jun 1995, 13:27:29):
Hallo Muddies !

Hardil, Morgoth und ich haben uns mal ueberlegt, dass wir mal wieder
ein MUD-Treffen in Dortmund machen koennten. Nun ist es konkret geworden.
Wir treffen uns also am Mittwoch, den 14.6. so ab 20:00 Uhr im Cafe
Durchblick in der Naehe des Campus Nord der Uni-Dortmund.
Hoffentlich kommen viele Morgengrauer ;-) Das letzte Treffen war ja
recht gut besucht, ist aber schon wieder zu lange her.

Das Cafe Durchblick ist uebrigens am Vogelpothsweg gegenueber der Mensa
(ein ekliges orange-gelbes Gebaeude am Campus Nord).

Also hoffentlich bis dann...

Locutus & Hardil

-----------------------------------------------------------------------------



Re: Treffpunkt fuers Treffen in KA (Loco,  7. Jun 1995, 15:40:34):
#! rn=Lechuck rt=802515822
Auf die Gefahr hin, dass ich mal wieder irgendwas uebersehen habe - an
welchem Tag denn eigentlich ueberhaupt?
Und wie lautet die Wegbeschreibung fuer Leute ohne unnuetzen Benzinfresser
unterm Hintern? Notfalls tuts auch eine Adresse, aber mit der vorhandenen
Wegbeschreibung kann ich natuerlich nicht viel anfangen.

  Loco


-----------------------------------------------------------------------------



Re: Re: Treffpunkt fuers Treffen in KA (Rochus,  7. Jun 1995, 17:21:19):
#! rn=Boing rt=802518160
Was hast Du gegen Shuto-juji-uke einzuwenden? Das ist eine Abwehr!
Sei lieber froh, dass er nicht einen Otoshi-shuto-uchi
an Deiner Einrichtung ausprobiert hat... :-)
(Fuer Nicht-Karatekas: Das ist der Schlag, mit dem man ueblicherweise
Bretter zertruemmert :-)

-----------------------------------------------------------------------------



x-te Re: Treffen in linz (Stahldorn,  7. Jun 1995, 18:36:07):
*argl*
*grummel*
*fluch*

wieso haben die leute nie alle am gleichen tag zeit?
ausserdem koennte ich DIESES WE jemanden bei mir aufnehmen, aber naechstes
nicht.
am WE drauf haben Crea und Cara keine Zeit. verdammtnochmal. ich sag jetzt
nix mehr. aus. wenn dann soll schrumpfi oder wer das organisieren. mir
reichts


     STAHLi geht idlen.

-----------------------------------------------------------------------------



Re: x-te Re: Treffen in linz (Schrumpfi,  8. Jun 1995, 03:22:41):
#! rn=Stahldorn rt=802542967
Ok, ich uebernehm es! *grummel in Richtung Stahl*
Wenn mir bitte mal jeder der kommen will mailt wann er jetzt Zeit hat und ob
er einen Pennplatz braucht und vom Bahnhof abgeholt werden will ect. Und wenn
es geht die Mails bis heute Abend, denn es ist schon etwas knapp. Ich werde
dann am Donnerstag Abend genaueres in der Mpa verkuenden.
Bitte schnell, sonst koennen wir uns das Treffen eh von der Backe putzen!
Schrumpfi knurrt nochmal in Richtung Stahl und Crea

-----------------------------------------------------------------------------



KA-Treffen (Felagund,  8. Jun 1995, 07:33:08):
Wenn noch jemand ein Schlafplaetzchen fuer mich haette und mit mir was
ausmachen koennte um mich vom Bahnhof wegzuschaffen ;) wuerd ich ja auch
kommen...falls da ueberhaupt jemand Wert drauf legt...
Mandos' Hallen immer wieder entfliehend...Fela ;)=

-----------------------------------------------------------------------------



Kieler Woche (Guldukat,  8. Jun 1995, 08:58:43):
Kommen eigentlich Mudder zur Kieler Woche?
Gibt es in Kiel einen Stammtisch?
Oder kann man ein Treffen zur Woche einrichten?
GulDukat

-----------------------------------------------------------------------------



Argl! (Hardil,  8. Jun 1995, 17:48:40):
Hmmmm, das kann passieren, wenn man sich mal einen Nachmittag lang nicht im
Rechnerraum blicken laesst...
Aaaalso, der Termin, zu dem Locutus eingeladen hat, ist deswegen recht
unguenstig, weil zum einen meine Wenigkeit und zum anderen auch Dwight und
Franx nicht da sind - naemlich alle drei in Braunschweig zum Softball-Turnier.
Tja, was nun? verschieben?
Faende ich am besten...

			Hardil

-----------------------------------------------------------------------------



etwas mehr zum weg.... (Guybrush,  8. Jun 1995, 18:37:42):
also: wer www hat: der kaisergarten (treffpunkt ist auf folegnbder seite zu
finden:
http://www.ba-karlsruhe.de/KA/KA-Karte.html
er ist etwa ueber dem P von Panorama ganz am linken bildrand :)
auf der linken strassenseite stadtauswaerts
ihr werdets schon finden :)
Guybrush

aehm...auf der gegenueberligenden seite ist der zukuenftige aufenthaltsort
der MUDder
: Die psychiatrie ;)

Fuer diejenigen, die mit der bahn kommen: Straba anschluss ist gegeben (alte
linie hiess A, jetzt glaub ich S!) auf jeden fall richtung linkenheim,
leopoldshafen, aussteigen an Muehlburgertor, dann die kaiseralllee rein, auf
der linken seite..is noch ein kleines stueck.
Muehlburger-tor ist die haltestelle nach Europaplatz ;)
argl..bloedes Lag. Nicht mal nen artikel kann man da schreiben!!
Guybrush is genervt!

-----------------------------------------------------------------------------



Re: etwas mehr zum weg.... (Floh,  8. Jun 1995, 22:25:46):
#! rn=Guybrush rt=802629462
Hallo,

eine kleine Anmerkung zur Strassenbahnverbindung. Die Linie heisst S1? und
geht hauptsachlich Richtung Neureut / Eggenstein / Leopoldshafen
Die Strassenbahn, die bis nach Linkenheim geht faehrt nur alle 20 min (oder
spaeter).
Wenn Ihr vom Bahnhof mit einer Linie (z.B. 3, S??, oder 4) .. na ja mit allen
Strassen
bahne[C, die vom Bahnhof abfahren bis zum Marktplatz bzw. Europaplatz kommt,
dann koennt Ihr
vom Marktplatz alle Strassenbahnen nehmen, die in Westliche Richtung fahren
(z.B. auch Linie 1 / 2 Richtung
Knielingen bzw. Rheinstetten.
Aussteigen koennt Ihr entweder an der Haltestelle "Muehlburger-Tor" oder an
der darauffolgenden Haltestelle.
(leider weiss ich deren Namen nicht.
Vom Muehlburger Tor muesst Ihr so ca. 500 m in westliche Richtung (in die
Richtung, in die die Straba weiterfaehrt) weitergehen.
Der Kasisergarten ist dann auf der linken Strassenseite.
Ok. Viel Glueck bei der Wege-Suche.

Floh

-----------------------------------------------------------------------------



x hoch 2-te Linz-Treffen (Creative,  9. Jun 1995, 02:50:08):

Also, findet statt, letzte Neuigkeit ist, ihr kommt Sa vormittag an,
(oder auch mittag), wir organisieren die rumkutschiereri und die abendliche
Verkehrsproblematik. So mittag wirds wieder zum abtrudeln, je nachdem, wer
noch
bleiben will, bleibt :)
Aber die meisten wollen ja wieder puenktlich (wollen?????) daheim sein :)
Schlafplaetze werden morgen spaetestens beim Eintreffen bekanntgegeben, also
keine Sorge, wir sagen nicht am Mo 'Da haettest Du schlafen koennen' :))

i.A. des Linzer Organiationskomitees...

-Crea- (wenn nnadw => crea muellt die mpa voll)


-----------------------------------------------------------------------------



Muenchen? (Knoerry, 12. Jun 1995, 19:46:26):
...diesen Mittwoch sollte doch Treffen in Muenchen sein,
nur hab ich entweder den artikel uebersehen oder er
ist schon rausgeflogen.. naja.. wer was weiss wann und wo
kanns mir ja schreiben...
Opi Knoerry kommt sicher...

-----------------------------------------------------------------------------



MUENCHEN (Arty, 12. Jun 1995, 20:42:33):
hmm also gut, raffe ich mich mal auf...
Also:

mein vorschlag fuers treffen am mittwoch in muenchen ist :

          Mittwoch (logischerweise)
          gegen ab 19.30 Uhr also nicht erst um 1.00 oder so !
         wieder im Atzinger

Fragen ?? hoffentlich keine !! :)

ARTY

-----------------------------------------------------------------------------



treffen in Koeln (Orktoeter, 13. Jun 1995, 10:26:28):

Erstmal sorry, wenn das hier etwas wuest aussehen sollte, ich habe hier
gerade lags, bei denen nichteinmal mehr die eingetippten Zeiche auf dem Schirm
erscheinen.
Ich rege hiermit ein treffen (Stammtisch) der Koelner (und aller anderen die
Lust haben) Mudder fuer Montag den 26.06.95 an.
Ueber den Ort laesst sich ja noch reden, wenn wir wissen, wie viele Leute
kommen, daher meldet euch bitte bei mir, danke.
u.A.w.g. gruesse OrkT.

-----------------------------------------------------------------------------



Party-termin..... (Ancalagon, 13. Jun 1995, 15:48:51):
moin erstmal.
Also, ich faende den alten Partytermin auch besser. Macht doch das seminar
ohne die fete.....
Wenn der termin bleibt, komme ich trotzdem aber der 19.8. wuerde mir besser
passen....
                                        Ancalagon
                              Draco knuddellensis major

-----------------------------------------------------------------------------



ABSTIMMUNG!!! (Yendi, 13. Jun 1995, 16:02:57):

So, jetz iss abba genuch! Irgendwann muss auch mal Schluss sein!!!

Jeder schickt seine 3 Lieblingstermine an Catweazle, der Termin mit den
meisten Nennungen wird genommen!
Ihr habt bis zum 30.06. Zeit, fruehestmoeglicher Termin fuer die Party ist
der 01.08., letzter ... hmmm...
ach, sagen wir Semsterbeginn.

So. un dann is Ruhe im Kartong!

YTY, genervt und praeventiv auf der Flucht vor HTAC


-----------------------------------------------------------------------------



Re: ABSTIMMUNG!!! (Highlander, 13. Jun 1995, 16:06:20):
#! rn=Yendi rt=803052177
Was fuer ein Semesterbeginn? Gib mal ein Datum, weil wo anders
das Semester frueher oder spaeter anfaengt,
wir z.B. fangen im November wieder an.
    Highlander aus Franken (in Bayern)

-----------------------------------------------------------------------------



Re: Re: ABSTIMMUNG!!! (Loco, 13. Jun 1995, 16:18:45):
#! rn=Highlander rt=803052380
Hier ist Semesterbeginn am 16. Oktober, der frueheste Termin, von dem ich von
einer anderen Uni gehoert habe (vergessen, welche), waere dieses Jahr der 2.
Oktober.
    Loco (Tuebingen)

-----------------------------------------------------------------------------



Re: ABSTIMMUNG!!! (Durian, 15. Jun 1995, 10:28:26):
#! rn=Yendi rt=803052177
Bis zum 30.06? Toll, dann hat ja noch weniger Vorlaufzeit ...
Warum denkt eigentlich jeder, dass man sich ein kurzfristiger WE frei
machen kann?? Warum denkt nicht mal jemand daran, dass vielleicht schon
FRUEHER Bescheid wissen muss, um es einrichten zu koennen ... ??? Diese
Verschieberei bringt NULL. Wir brauchen einen Termin der steht. punkt.
Wer nicht kann, kann nicht. Aber wenn Ihr staendig verschiebt, kommt bald
niemand mehr!

- Durian

-----------------------------------------------------------------------------



BerlinStammtisch (Anakin, 15. Jun 1995, 18:36:49):

        JA ES GIBT IHN! Den einzgartigen fantastischen

                      MG-Mud-Stammtisch

                            in

                   +--------------------+
                   |      BERLIN        |
                   +--------------------+



             TERMIN: Jeden 2. Mittwoch im Monat

           ORT: 'Seeblick', Rykestrasse in PrenzlBerg

                       ZEIT: ab 21.00


     Also meine lieben Mitmudder, kommt vorbei und schaut rein.

P.S.: Ja und dass auch wirklich alle kommen, sind Magier (grins
      niemand an) am Ueberlegen fuer die Zeit des Stammtisches
      den Zugang aus Berlin zu sperren, damit ihr nicht mit der
      Ausrede kommen koennt, 'Nur die das Monster da, oder nur
      noch rasch die Quest'. ;-)

P.S.S: Wer noch Fragen hat, Mail an mich...





-----------------------------------------------------------------------------



Stammtischflut erreicht auch Bonn... (Zephyr, 15. Jun 1995, 18:53:37):

Hi Ihrs!

Bei so vielen Ankuendigungen kann ich ja nicht
widerstehen ....  Auch in Bonn wirds wieder nen
Stammtisch geben, und zwar am naechsten

     Dienstag, dem 20.6. ab 20.00 Uhr

im Irish Pub am Mauspfad. Wer kommen will, ist
herzlich eingeladen, wer ne Wegbeschreibung
braucht, kann dem durch ne mail an tine@uni-bonn.de
Ausdruck verleihen :)

In diesem Sinne, fuehlt Euch alle geknuddelt,

     Zephyr

-----------------------------------------------------------------------------



Mal wieder MG-Treff in Bielefeld... (Ancalagon, 16. Jun 1995, 09:37:31):
Moin erstmal!
Wo doch schon so viele stammtischankuendigungen voran stehen, gleich mal noch
eine dabei. Wie schon seit laengerem, findet auch in diesem Monat am letzten
Mittwoch (der 28.6!) der Bielefelder MG-Treff stattUnd zwar wie immer im Cafe
Mint um ca 19.30! Zumindest werde ich ab dann da sein. Ausserbielefelderische
Mudder sind selbstverfreilich hochwillkommen.
Herzlich gruessend und auf massiven Andrang hoffend,
                                  Ancalagon
                         Draco knuddellensis major

-----------------------------------------------------------------------------



artikel SB-Treffen (Horschd, 17. Jun 1995, 13:45:44):
Hiho, Leute.

Das letzte Saarbruecker Treffen ist ja nun schon ein paar Wochen (wenn nicht
sogar Monate... ) her. Ich finde, es ist an der Zeit, mal wieder ein neues
Treffen zu organisieren. Also, ich wuerde mal den

      07.  J u l i

vorschlagen. Bitte schreibt mir mal eure Meinung zu dem Termin. Als Treff-
punkt wuerde ich wieder das Canossa vorschlagen, und wenns dann laut wird,
gehen wir einfach woanders hin... lief ja letztes Mal recht gut.
Alle Nicht-Saarbruecker sind natuerlich auch herzlich eingeladen, zu kommen!

Naja, ich hoffe, dass der Termin einigermassen gut ist, und dass ihr
in Scharen kommt.

Bis denne,

Horschd :))

-----------------------------------------------------------------------------



Quillian kommt nach Berlin (Arachna, 17. Jun 1995, 16:58:39):
Hallo Ihr Berliner,

im Gegensatz zu anderen Staedten scheint ja in Berlin in Richtung Stammtisch
nix los zu sein. 4 oder 5 Leute, die sich halbwegs regelmaessig treffen, kann
man ja als sowas nicht bezeichnen. Jetzt haben wir die Chance das zu aendern.
Da Quillian kommende Woche Berlin besucht, ist das doch ein Grund, uns mal
alle zusammenzusetzen. Mein Vorschlag ist, dass wir uns am Mittwoch um ca.
20:30 im Kaffee Seeblick in der Rykestrasse treffen. Wenn jemand einen
anderen Vorschlag bezueglich des Termins oder der Zeit hat, bitte eine
Info an mich oder Hate, damit wir allen anderen Bescheid geben koennen.

Arachna

-----------------------------------------------------------------------------



Stammtisch? Doch nicht in Juelich! (Bobo, 18. Jun 1995, 14:07:14):
Nein, Leute,
das kriegen wir wohl nicht auf die Reihe, hier in der Ruebenpampa einen
regelmaessigen Stammtisch zu etablieren. Das ist auch gar nicht noetig,
denn die vielen hunderttausend Juelicher Mudderinnen und Mudder koennen sich
auch mal beim Mittagessen im WC treffen. (Wer hat da gelacht? WC heisst
Waldcasino - nicht was Ihr scho wieder denkt! Anm. d. Red.)
Mit einer rein negativen Bestandsaufnahme haette ich wohl in dieser Rubrik
mit meinem Artikel nichts verloren, darum also zum Grund meines Rede:
Am naechsten Freitag - jawohl, schon am 23. Juni 1995 - steigt hier in der
Provinz das dritte SOMMERFEST fuer alle die, die davon Wind bekommen.
Obwohl (oder gerade weil) es sich um eine Doktorandenproduktion handelt,
gibt es bezueglich der Teilnahme keine Einschraenkungen, es kostet nicht mal
Eintritt. Es geht bereits am fruehen Nachmittag mit einem internationalen
Fussballturnier los - nur gemischte Mannschaften zugelassen - und wird wohl
nicht vor Anbruch der Daemmerung beendet sein. Die Live-Musik beschraenkt
sich
mit Ruecksicht auf die Tiere und ihren Foerster auf die Zeit bis zehn, dafuer
haben wir uns aber auch alle Muehe gegeben, eine Spitzenband zu engagieren.
Fuer alle die, denen das noch nicht genug ist: natuerlich gibt's auch was zu
Futtern, und auch Getraenke sind in ausreichender Menge vorhanden. Ach, und
noch etwas, vielleicht ueberzeug' ich Euch ja damit: der Verfasser zapft...
Also, fuehlt Euch herzlich eingeladen, die Unterbringung sollte kein
Problem sein, meldet Euch nur moeglichst bald, damit ich dem Metzger noch
ein paar Kilo Fleisch aus den Rippen schneiden kann - oder er seinen
Schweinen,
fuer die Zartbesaiteten.
Aus zuverlaessiger Quelle weiss ich, dass am Freitag abend bzw. Samstag
morgen
die Sonne scheinen wird. Ausreden wie "mein Regenschirm war nicht genuegend
impraegniert" oder "ich kam nicht durch den Rhein" werden ohne Ruecksicht auf
Verluste gnadenlos abgeschmettert.
Bis Freitag dann,
this was BoBo speaking.

PS: Auch hier in Juelich gibt's eine fachliche Zugabe: fuer den Donnerstag
konnte ich zwei Typen gewinnen, die aus erster Hand ueber Waffenplutonium,
marode Kernkraftwerke im Osten und Nuklearterrorismus berichten. Wer an so
was interessiert ist, kann gerne schon frueher hier anreisen, ich krieg Euch
schon durchgefuettert... Ciao!

-----------------------------------------------------------------------------



Hannoveraner Stammtisch (Hakkikkt, 20. Jun 1995, 15:32:35):
Hi Hannoveraner,
ich moechte noch einmal auf dem Mini-Mud Stammtisch Hannover hinweisen.
Wir treffen uns jeden letzten Donnerstag im Monat (am 29.6. ist es wieder so
weit) im
griech. Restaurant Xenia (Hinterzimmer) in der Melanchthonstr. , bei gutem
Wetter draussen) in der Melanchtthonstr.
Da wir immer so wenig sind (immer zu zweit Durian und ich ;_)) treffen wir
uns gemeinsam
mit dem Postspielern. Beginn ist so zwischen 19.00 und 20.00 Uhr (Gleitzeit )
Bis denne, Hakkikkt

-----------------------------------------------------------------------------



Re: Hannoveraner Stammtisch (Hakkikkt, 20. Jun 1995, 15:34:03):
#! rn=Hakkikkt rt=803655155
so ein MIST, da wird man beim Schreiben unterbrochen und dann ist das ganze
Layout dahin...
ich hoffe ihr koennt es trotzdem lesen..
Bis denne, Hakkikkt

-----------------------------------------------------------------------------



Treffen in Koeln (Yantro, 22. Jun 1995, 15:00:51):

So.. wieder mal ich muss hier fuer die Koelner und den lieben Freunden aus
der Koelner Umgebung Naegel mit Koepfen machen:

Dritter Versuch eines Koelner Stammtisches findet statt am

             MONTAG, den 26.06.1995

                   um 19 Uhr

                     im

               Bistro MOKAMBO
             Otto-Fischer-Str. 9
                50674 Koeln

Das sagt natuerlich keinem was, also jetzt eine grobe Beschreibung:

Das Bistro findet ihr DIREKT (woertlich) auf der anderen Strassenseite , wenn
ihr aus dem Suedbahnhof geht. Frueher war da mal das 'Paddys', der geilste Pub
Koelns, aber lasst mich nicht zu sehr in der Vergangenheit schwelgen.

Fuer Strassenbahngestresste moecht ich nochmal darauf hinweisen, dass der
Suedbahnhof an der Luxemburgerstrasse zwischen Barbarossaplatz und Eifelwall
ist...

Ich hoffe auf zahlreiches Erscheinen... immerhin haben wir viel Platz da denn
die obere Etage der Kneipe ist an dem Tag unser! ;-)

                         Euer Yantro :)

-----------------------------------------------------------------------------



Re: Treffen in Koeln (Rudiratter, 22. Jun 1995, 16:30:48):
#! rn=Yantro rt=803826051
wer kommt denn da? lohnt sich da die weite anreise aus bochum?
rudi

-----------------------------------------------------------------------------



Re: Re: Treffen in Koeln (Yantro, 22. Jun 1995, 19:18:00):
#! rn=Rudiratter rt=803831448

fest zugesagt haben Zardoz, Grimmborn, Orktoeter, Grimmdeath, Skipper (wer
auch immer das ist?), grimmratter, yantro, bendeigid, engy, semira,
grimmwardanocheiner?, baboon... und noch ein paar... aber weiss jetzt nicht..
doch Kotzi will auch kommen ;-)

                         Yantro (meint, dass sind zu wenig)

-----------------------------------------------------------------------------



Re^3: Treffen in Koeln (Bendeigid, 23. Jun 1995, 12:13:07):
#! rn=Yantro rt=803841480
Arwen kommt auch, Bambulko, sofern ers schafft...

Z'par Servu,
              Bendeigid

-----------------------------------------------------------------------------



Protokoll, vortsetzung (Orktoeter, 23. Jun 1995, 14:04:53):
Es fehlte noch der Termin fuer die naechste Sitzung, hier ist er :
         04.07.95 18:00
OrkT.  (Schriftfuehrer, waere lieber Vizehaeuptling)

-----------------------------------------------------------------------------



Vorschlag zur Guete (Fryder, 23. Jun 1995, 20:55:54):

Nach dem superwitzigen Treffen letzte Woche und angesichts der gegenwaertigen
Ferienzeit meine ich, steht nichts im Wege, das ganze naechste Woche zu
wiederholen. Natuerlich nur ein bescheidener Vorschlag von mir. Ich wuerde
also sagen, am ueblichen Platz zur ueblichen Zeit, im Laufe des

   Mittwochabends, so ab 8, im Atzinger in Schwabing

Ich gehe davon aus, dass der harte Kern sowieso wieder dabei ist.
Bis dann

Fryder

-----------------------------------------------------------------------------



Remember: Mg-Treff in Bielefeld!! (Ancalagon, 26. Jun 1995, 10:13:25):
Moin erstmal!
Nur kurz zur Erinnerung: am Mittwoch dieser Woche ist wieder Mg-Treff in
Bielefeld. Ab 19.30 im Cafe Mint. Wer von ausserhalb kommen will, soll mich
nach dem Weg oder einem Treffpunkt fragen bzw. posten. Ganz besonders sind
Spieler willkommen, ich habs naemlich satt, der einzig Spieler zu sein (es
gibt echt ne Magierschwemme in Bielefeld...).
Kommet zuhauf!
                                        Ancalagon
                              Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Re: Vorschlag zur Guete (Yeti, 30. Jun 1995, 14:24:26):
#! rn=Jimdigriz rt=804512806
jaja die skripts :))))

just my 2 aluchips:))

Yeti

und ab nach Schmarrn :))

-----------------------------------------------------------------------------



Re^3: Vorschlag zur Guete (Cuchullin, 30. Jun 1995, 14:43:47):
#! rn=Yeti rt=804515066


Koennten wir bitte zwischen "script" und "trigger" unterscheiden?
Oder zumindest kurz definieren, welcher Begriff in welchem enthalten ist..?

Cuch - ratlos wie Wur.


-----------------------------------------------------------------------------



Treffen in SB (Horschd,  3. Jul 1995, 13:02:55):
Hiho.

Nur mal so zur Erinnerung:

Treffen am Freitag im Canossa um 20.00 Uhr. - Ich hoffe ihr kommt in
Scharen.
Achja, ich hoffe, dass auch ein paar Nicht-Saarbruecker kommen.... KL, TR,
usw.
sind ja nicht soooo weit weg. Wenn jemand von euch kommen will - ne weg-
beschreibung koennt ihr gerne bekommen....

Bis denne,

Horschd.

-----------------------------------------------------------------------------



Treffen in Essen (Elbyte,  6. Jul 1995, 20:53:48):
Hi !

Wer von euch haette interesse an einem Treffen in Essen ?
Treffpunkt und Zeit nach Absprache.

ElByte

-----------------------------------------------------------------------------



Re: Treffen in Essen (Quillian,  6. Jul 1995, 21:06:12):
#! rn=Elbyte rt=805056828
Klar, organisier mal :-)

Quillian, auf jedem Treffen in der Umgebung zu finden

-----------------------------------------------------------------------------



Re: Treffen in Essen (Dwight,  6. Jul 1995, 22:01:39):
#! rn=Elbyte rt=805056828
Aber immer.

Dwight

-----------------------------------------------------------------------------



Re: Re: Treffen in Essen (Mystix,  6. Jul 1995, 22:27:38):
#! rn=Dwight rt=805060899
Ich bin dabei (Schlage irgendwann zwischen dem 17 und 21 Juli vor!).

Mystix

-----------------------------------------------------------------------------



Treffen in DO?? (Aline,  7. Jul 1995, 12:30:17):
Hallo Leute,

nachdem inzwischen ja mal ein Treffen in Dortmund stattgefunden hat und
ich natuerlich genau zu dem Zeitpunkt nicht da war, moechte ich ein
neues MG-Treffen in Dortmund vorschlagen. Vielleicht entwickelt
sich daraus dann ja auch ein Stammtisch? *hoff*

Also mein Vorschlag Freitag den 28.7. um 20.00 Uhr
Ach ja und der Ort ist das Wallhala in der Innenstadt.

Ueber den Ort laest sich aber noch diskutieren.;)

Aline (neugierig auf die Dortmunder MGler)

-----------------------------------------------------------------------------



Re: Treffen in DO?? (Leusel,  7. Jul 1995, 15:47:59):
#! rn=Aline rt=805113017
Hi Aline !

Also Freitags find ich nicht so toll. Wie waere es mit Montag, oder Dienstag,
oder Mittwoch oder Donnerstag ? Hauptsache nicht Freitags. Da bin
ich naemlich nicht mehr in Do.



Leusel (faehrt Freitags nach Hause)

-----------------------------------------------------------------------------



Re: Treffen in DO?? (Hardil,  7. Jul 1995, 16:25:04):
#! rn=Aline rt=805113017

Hmmm. Warum grad das Walhalla? Und warum grad Freitag?
Aber sonst finde ich die Idee auch gut. :-)

Hardil.
Macht am Donnerstag mit Pampers und Locutus im Durchblick ein
Mini-MG-Treffen.

-----------------------------------------------------------------------------



Re: Re: Treffen in DO?? (Aline,  7. Jul 1995, 17:01:53):
#! rn=Hardil rt=805127104
Hallo Hardil

hier die Antworten auf Deine Fragen: Warum das Walhalla? Weil es eine nette
Kneipe
in der Innenstadt von Do ist. Falls es spaet wird komm ich von da aus am
Besten zurueck nach Hagen, ausserdem hab ich was gegen das Durchblick.:)
Warum gerade Freitag...naja ich gehoere halt zur arbeitenden Bevoelkerung
und kann halt nur am Freitag oder Samstag lange bleiben, in der Woche fahr
ich halt schon um 22.00 Uhr:(

Antwort genug???

Aline

-----------------------------------------------------------------------------



Re: Treffen in Essen (Plock,  7. Jul 1995, 17:11:17):
#! rn=Elbyte rt=805056828
Treffen in Essen? Ich bin dabei .... :)

Plock

-----------------------------------------------------------------------------



Re: Treffen in DO?? (Morgoth,  7. Jul 1995, 19:17:39):
#! rn=Aline rt=805113017
Warum nicht....ich hoffe ich hab daa noch nix vor...
Wie waers mit dem Durchblick an der Uni?
Morgoth

-----------------------------------------------------------------------------



Re: Re: Treffen in DO?? (Dwight,  7. Jul 1995, 21:09:37):
#! rn=Morgoth rt=805137459
Donnerstag, Freitag... Durchblick, Innenstadt.... mir alles Egal, ich komme.
Aber es ist schon verstaendlich, das Aline am besten am Wochenende kann.
Achso, Walhalla: ich weiss nicht, ob man da mit mehreren (so denn viele
kommen) gut sitzen kann, sonst ist es dort O.K.

Bis dann
       Dwight

PS: Leusel, kannst du nicht mal erst am Samstag morgen fahren?

-----------------------------------------------------------------------------



Bochum & Umgebung bzw Muenster (Hate,  7. Jul 1995, 21:15:30):
Hi,

ich werde vom Dienstag den 11.7. ca eine Woche
in Bochum sein und das waer vielleicht ein Grund fuer ein irregulaeres
Treffen in der Gegend. Ich habe auch vor mal nach Muenster zu kommen.
Hate.

-----------------------------------------------------------------------------



Treffen in Linz (Creative,  9. Jul 1995, 15:44:29):

Neulich, als ich einen waschechten Linzer (gibts die? :)) traf:

Er meinte: Also, das vielgeruehmte Treffen in Linz wird NICHT stattfinden
(ooooch, Anm. der Red.). Jedenfalls nicht wie versprochen im September.
(Hatte das noch wer in Erinnerung? :)) Aber sicher im Jaenner oder Februar.
Und diesmal wirds was. Und zwar a la Muensteraner Parties. Termin wird in den
nexten Wochen bekannt gegeben. Da werden doch wohl mal mehr Leute zusagen als
bis jetzt, wo es fast immer kurzfristig war und das letzte Mal eher ein
No-Name
Termin war. Nun gut. Nur als Vorankuendigung gedacht. Aber kommen muessen
auch die Herrscher aus Muenster. Wenn ihr wollt natuerlich.
Und damit mach ich mich schon wieder ans Organisieren. Oder programmieren?
Oder Fernsehen?

Das alles sagte ein wirklich WASCHechter Linzer. Nun gut. Wollen wirs mal
dabei belassen :)

-Crea- (ist KEIN Linzer, zur Erklaerung :)))

P.S.: Kein waschechter zumindest ;)


-----------------------------------------------------------------------------



Muenchen!!! (Miro,  9. Jul 1995, 22:10:25):
Hi Ihrs,
wenn Fryder mit Kotz... mal wieder fertig ist (Zueri hat geplaudert ;-)
koennen wir uns mal wieder in Muenchen treffen.
Termin waere kommender Donnerstag, wuerd ich sagen, das ist der 11. Juli und
wenn das Wetter schoen bleibt, schmeiss ich den Grill
bei uns im Wohnheim an und jeder bringt sich so das Fleisch oder den
Tofuburger mit, den er so meint.
Dazu reiche ich Salat, wer mag, kann auch einen mitbringen,
ich wuerde sagen, so halb acht ist eine gute Zeit, Bier und andere Getraenke
stehen gekuehlt bereit,
wer mir ne mail schickt, erfaehrt, wenn er's noch nicht weiss, wohin er muss,
waere gut, wenn ich auch erfahre, wer so alles gedenkt kommen zu koennen,
wenn allen der Termin nicht passt waere es auch gut es zurueckzumelden,
ansonsten keep on rocking,
man sieht sich
Miro

-----------------------------------------------------------------------------



Berliner Stammtisch (Anakin, 10. Jul 1995, 10:20:51):
               +------------------------------+
               |0 Am 12. Juli ist wieder der 0|
               | einzig wahre und einmalige   |
               |                              |
               |   BERLINER MUDSTAMMTSICH     |
               |                              |
               | im 'Seeblick' in PrenzlBerg  |
               |0        um 21.00.           0|
               +------------------------------+


Anakin.

P.S.: Wer noch Fragen hat zu Zeit oder wo das Seeblick ist, mailt ruhig.
P.S.S : Seeblick ist in der Rykestrasse, Nummer weiss ich ned.


-----------------------------------------------------------------------------



Re: Re: Treffen in DO?? (Locutus, 10. Jul 1995, 16:26:35):
#! rn=Hardil rt=805127104
Hi !

Das Minitreffen mit Pampers und mir (zu dem natuerlich auch alle anderen
herzlich eingeladen sind) ist verschoben worden. Es findet nun jetzt am
Mittwoch, den 12.7. um 20:00 Uhr im Cafe Durchblick in Dortmund statt.
Das Cafe Durchblick ist gegenueber der Mensa am Vogelpothsweg (Campus
Nord der Uni-Dortmund).

Tschoe...

Loc.

-----------------------------------------------------------------------------



Re: Treffen in Essen (Flagg, 11. Jul 1995, 14:59:32):
#! rn=Elbyte rt=805056828
Moin....
 Eventuell bin ich auch dabei.....

	Flagg

-----------------------------------------------------------------------------



Treffen in Darmstadt (Tryfan, 13. Jul 1995, 13:19:54):
Hi MG-ler
 naechsten Dienstag den 18. July wollen wir uns in Darmstadt treffen.
 und zwar um 20:00 vorm Hobbit   (wo sonst)
jeder, der Lust hat, ist herzlich eingeladen zu kommen.
Wahrscheinlich kommen: gundur, arun, gumpy, kaenguruh, avenger,valarian und
ich
 Wer nicht weiss, wo der Hobbit ist, kann Valarian oder mich fragen.

Tryfan

PS.: Im Hobbit kann man von Frodo bis Sauron alles verzehren. :)

-----------------------------------------------------------------------------



Re: Treffen in Essen (Paracelsus, 13. Jul 1995, 18:08:02):
#! rn=Elbyte rt=805056828
Treffen in Essen ? Klaro, mach ich mit !
Wann und wo ?

Waldmagier Paracelsus

-----------------------------------------------------------------------------



Mal wieder Treffen in Koeln? (Engywuck, 14. Jul 1995, 10:00:45):
An alle aus Koeln und Umgebung oder noch weiter weg!

Aaaalso, ich hab mir mal was ueberlegt fuer den naechsten Stammtisch.
Wo das Wetter doch in letzter Zeit so gut ist, koennte man doch einen
Stammtisch im Volksgarten abhalten. Und zwar so richtig stilecht mit
Grillen und so.
Angesichts der Groesse des Volksgartens duerfte es noch nicht einmal
Platzprobleme geben - selbst wenn das ganze MG anrueckt ;) Ein Termin
steht auch schon fest (und zwar ohne Diskussionen ;) naemlich Samstag
der 29.7. Zeit...hm...so gegen 7 oder 8 ? Also da bin ich noch
flexibel. Was tun wenn es regnet oder hagelt oder sonstwas? Hm...Fragt
mich was leichteres... :)
Ach ja... Nen special guest kann ich ankuendigen: Castaway wird zu
diesem Zeitpunkt in Koeln weilen und dem Ereignis beiwohnen :) Ich
wuerde dann auch irgendwie nen Grill und fossilen Brennstoff
organisieren. Was das Zeugs zum mampfen und/oder saufen angeht - da
sollte sich am besten jeder selbst drum kuemmern.
Oder moechte jemand ein Fass mit diesem alkoholischen Gerstensaft
organisieren?  Wie ihr wollt... Eingeladen ist natuerlich jeder, der
Lust hat. (*schiel zur Prominenz aus Muenster*)

So, und wehe, ihr sagt mir jetzt, dass ihr alle keinen Bock habt... ;)


Ciao,
   der kleine Engy


-----------------------------------------------------------------------------



Re: Mal wieder Treffen in Koeln? (Rxtech, 14. Jul 1995, 10:17:26):
#! rn=Engywuck rt=805708845
keinen Bock

zufireden?

Rx

-----------------------------------------------------------------------------



Re: Mal wieder Treffen in Koeln? (Wiralle, 14. Jul 1995, 12:29:39):
#! rn=Engywuck rt=805708845
Du hast es so gewollt:
KEINEN BOCK

*grins*

-----------------------------------------------------------------------------



Re: Mal wieder Treffen in Koeln? (Baboon, 14. Jul 1995, 15:32:48):
#! rn=Engywuck rt=805708845
Ne engy einen Bock hab ich wirklich nicht, die biester scheissen einem
doch alles voll. :-)
Allerdings das Treffen halte ich fuer ne gute Idee. Ich wuerde mich da
glatt als Gast1 einloggen. Was den Gerstnsaft angeht: Ich waere mehr fuer
Sachen in Richtung Schnellhaerter oder Teufelsriff-Rum. Waere doch auch
stilechter. ;-)

Baboon (faengt jetzt mit Erdarbeiten auf Der HE an :-) )

-----------------------------------------------------------------------------



Re: Mal wieder Treffen in Koeln? (Bendeigid, 14. Jul 1995, 19:41:23):
#! rn=Engywuck rt=805708845
Ich bin selbstverstaendlich dabei, ist klar. Ich koennte mich evtl.
ueberreden lassen, eine Kiste Cola zu besorgen. Umalgemaessig, so etwa, bei
genuegender Beteiligung.

Z'Par servu,
             Bendeigid

-----------------------------------------------------------------------------



Treffen in Stuttgart (Warlord, 17. Jul 1995, 10:56:16):

Hallo miteinander,

Roadrunner und ich wollen mal wieder n Treffen in Stuttgart auf die Fuesse
stellen. Der Termin wurde auf Di, den 25.07.95 um 20 Uhr festgelegt. Als
Kneipe wieder Boddschamber, wie das letzte mal auch. Uebrigens die Tuebinger
koennen sich auch angesprochen fuehlen. Wer interresse hat, bitte bei mir oder
Roadrunner melden.

	Warlord

-----------------------------------------------------------------------------



Re: Treffen in Stuttgart (Boing, 17. Jul 1995, 11:49:17):
#! rn=Warlord rt=805971376
Und wir Karlsruher duerfen uns nicht angesprochen fuehlen? So was ...
  Boing

-----------------------------------------------------------------------------



Re: Re: Treffen in Stuttgart (Warlord, 18. Jul 1995, 01:15:19):
#! rn=Boing rt=805974557

*rot werdend* *schaem* *grummel*

Natuerlich sind auch die Karlsruher und das restliche Deutschland dazu recht
herzlich eingeladen, so war das nicht gemeint.
Da aber Tuebingen die naechstleigende mudder-gemeinde ist, wollte ich sie
extr auffordern zu kommen.


	Warlord, der niemand ausgrenzen,
		 sondern eher eingrenzen will ;)

-----------------------------------------------------------------------------



VORANKUENDIGUNG! (Ancalagon, 18. Jul 1995, 17:43:38):
Moin erstmal!
Ich wollte nur mal ankuendigen, dass, wie schon laenger ueblich, am letzten
Mittwoch diesen Monats der Bielefelder MG-Treff stattfindet. Wie ueblich im
Cafe Mint um 19.30 - 20.00 Uhr. Auch wie ueblich ist jede(r) MorgenGrauer(in)
herzlichst willkommen.
Auf zahlreiches erscheinen hoffend,
                                          Ancalagon
                               Draco knuddellensis major

-----------------------------------------------------------------------------



Zwischenstand in Stgt (Warlord, 19. Jul 1995, 14:49:18):

Es haben bis jetzt folgende Leute Interresse am Treffen in Stuttgart
bekundet, bzw. haben sich angemeldet:
Boing, Hobo, Loco, Gwyndon, Roadrunner und meine Wenigkeit.
Ich hoffe, es werden noch mehr. Wenn du kommen willst, so melde mich bitte
bei roadrunner oder bei mir, da es evtl. Platzprobleme in der Kneipe gebe
koennte (vor allem bei schlechtem Wetter) und wir dann umdisponieren muessten.

	Warlord, der Grossorganisator ;)

-----------------------------------------------------------------------------



Stammtisch in Berlin (Anakin, 20. Jul 1995, 11:27:49):
  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  Also bis jetzt sind wir von mal zu mal mehr geworden.
  Mal sehen wie es am Mittwoch wird. :)

  P.S.: naechster Mittwoch meint den 26.6.95 :)
  P.P.S.: hmm wer noch ne Beschreibung braucht wo es ist,
          quatscht mich an oder mailt mir.

  Anakin


-----------------------------------------------------------------------------



Re: Mal wieder Treffen in Koeln? (Snuggle, 21. Jul 1995, 09:54:59):
#! rn=Engywuck rt=805708845
Wer soll denn um 7 oder 8 Uhr morgens im Volkspark sein, Engy?
Bist Du denn des Wahnsinns?

grinsend
Snuggle
Wenn das ganze natuerlich Abends waere, kaeme ich bestimmt :-)

-----------------------------------------------------------------------------



Re: Re: Mal wieder Treffen in Koeln? (Engywuck, 21. Jul 1995, 11:02:51):
#! rn=Snuggle rt=806313299
Gut. Ok.
Das Treffen wuerde ich fuer Samstag, den 29.7. gegen 19.00 (oder so) im
Koelner Volksgarten vorschlagen.
Es waere viellecht ganz nett, wenn mir die Leute, die kommen wollen, ne kurze
Mail schrieben, damit ich so ungefaehr nen Ueberblick hab, wieviele es wohl
werden. Denn wenn wir noch grillen wollen, muss ja auch einer die Kohle
besorgen, gelle? Und fuer 5 Leute kauf ich halt weniger als fuer 25...
Ansonsten: Essen, trinken und gute Laune sind selbst mitzubringen.

Bis denn!

Der kleine Engy

-----------------------------------------------------------------------------



Zusammenfassung vom Treffen in Dortmund (Aline, 22. Jul 1995, 14:30:45):
Hallo liebe Dortmunder MG ler,

hier eine Zusammenfassung der Resonanz auf meinen Vorschlag sich mal in
Dortmund zu Treffen. Die Begeisterung ueber diesen Vorschlag hat mich
umgehauen;) Also Leusel wuerde gerne kommen, kann aber nicht am WE. Dwight
kommt gerne und Morgoth schlaegt vor sich im Durchblick zu treffen. Da
ich gesagt habe, dass sich ueber den Ort noch diskutieren laesst bin
ich auch mit dem "Durchblick" an der UniDo einverstanden. Also hier
nochmal die Daten: Fr 28.07, 20.00 Uhr, im Durchblick.

Eingeladen sind nicht nur die Dortmunder, sonderen jeder der Lust und
Zeit hat:)

Aline

P.S.:Ich komm auf jeden Fall und wenn ich mit Dwigt und Morgoth alleine
dasitze ;)

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Anakin, 24. Jul 1995, 17:18:18):
#! rn=Anakin rt=806232469
Noch ein Nachtrag zum Stammtisch. Fuer alle die, die noch nicht
wissen wo es ist, hier ne Karte:
http://hyper-g.rz.fhtw-berlin.de/RZ/allgemein/People/Wehrens/mg/karte.html

Anakin.

-----------------------------------------------------------------------------



Re^3: Mal wieder Treffen in Koeln? (Yantro, 25. Jul 1995, 15:20:54):
#! rn=Engywuck rt=806317371

Hallo kleiner Engy,

ich stelle mal hier die Frage, weil es sicher ein paar Leutchen interessieren
duerfte:

WIE kommt man zum Volksgarten und WO in diesem doch grossen Revier findet man
Dich??

-----------------------------------------------------------------------------



Re^4: Mal wieder Treffen in Koeln? (Engywuck, 25. Jul 1995, 16:09:55):
#! rn=Yantro rt=806678454
Tja...
Also, fuer alle, die es unbedingt genauer wissen wollen: Hier die
Beschreibung des Wegs zum Volksgarten.
Also.

Man kann z.B. Strassenbahnlinie 12 benutzen. Wenn man dann am Eifelplatz
aussteigt, ist man schon fast da. Man geht von diesem Platz aus noch 50 -
100 Meter in die Volksgartenstrasse, bis der erste Weg nach rechts in den
Volksgarten selbst fuehrt. Dem ein wenig folgen, dann links in den Weg
einbiegen, der zum Biergarten fuehrt - duerfte nicht zu uebersehen sein.
Ich wuerde vorschlagen, dass die Aktion dann auf der Wiese gegenueber vom
Biergarten stattfindet, das ist wohl am leichtesten zu finden.

Bis denn dann,

    der kleine Engy


-----------------------------------------------------------------------------



MG-Treff in Bielefeld! Morgen! (Ancalagon, 25. Jul 1995, 19:31:58):
Moin erstmal! Nur zur Erinnerung. Morgen ist wieder
MG-Treff in Bielefeld. Ab ca 19.30 im Cafe Mint. Mal sehen, wer sich trotz
ferienzeit blicken laesst...
Herzlichst,
                               Ancalagon
                        Draco knuddellensis major

-----------------------------------------------------------------------------



Meeting in Muenchen (Miro, 25. Jul 1995, 23:24:09):
Hi Ihrs,
da kommt man nix ahnend wieder mal nach Hause und einem blinkt der
Anrufbeantworter mit einem roten Auge entgegen.
Statt Traumfrau, Lottogewinn, usw. toennt eine Stimme:
"Hier Mc Fryder. Kiwi und ich haben gestern abgemacht, dass wir uns
Donnerstag ganz gerne mal wieder treffen wuerden.
Was wuerde sich da besser anbieten als bei Dir.  Wir laden jetzt schon mal
die Leute rundherum ein, wenn es Dir nicht passt, dann mail mir.
Fryder"
Ts, ts, da hab' ich ja so meine Anfragen:
* Wenn Du Kiwi treffen moechtest, warum dann am besten bei Dir?
* Trinkt Ihr (v.a. Du) mir wieder meinen Kuehlschrank leer?
* Haelst Du mich wieder bis 5 Uhr frueh vom Schlafen ab?
* Rennst Du wieder unsere Glastuer ein (wir haben sie vorsorglich noch n noch
nicht repariert ;-)
Aber ansonsten: herzens gerne, ich heisse mal wieder den Grill an, bringt
alle mal wieder was zu grillen mit, den Nachtisch gibt's von mir, die
Getraenke auch (ich stelle aber mal ein Sparschwein auf ;-)
Danach ist am Donnerstag bei uns Semesterabschlussbar mit den herlichsten
Cocktails,
freue mich, wenn das in Muenchen mal wieder klappt
Miro

-----------------------------------------------------------------------------



Party (Anthea, 26. Jul 1995, 11:09:15):
So, da ja immer noch keiner aus MorgenGrauen auf meine Einladung reagiert
hat, hier noch mal ne Wiederholung:

_____  _____                  ______   ___                       ___
|        |    |\     | |     |      | |   \   |     | |\     |  /   \
|        |    | \    | |     |      | |    \  |     | | \    | /
|__      |    |  \   | |     |______| |     | |     | |  \   | |
|        |    |   \  | |     |      | |     | |     | |   \  | |   ___
|        |    |    \ | |     |      | |    /  |     | |    \ |  \    /
|____  __|__  |     \| |____ |      | |___/    \___/  |     \|   \__/

Bald ist es wieder so weit... Ich werde schon wieder ein Jahr aelter.
Ob das nun ein Grund zum Feiern ist? Ich weiss es nicht, ich feiere
es auf jeden Fall. Und DU feierst vielleicht mit mir?

Das Ganze findet statt am:
            30.7.1995 (Das ist ein Sonntag) ab 19:00 Uhr
            und zwar in Dechsendorf (das ist bei Erlangen)

Dort habe ich einen grossen Grillplatz zur Verfuegung. Grillfleisch
(oder was ihr sonst ueber die Kohlen haengen wollt) muss selber
mitgebracht werden. Wer Lust hat zu kommen wende sich bitte an
mich, Wegbeschreibung und sonstige Infos kommen dann bei Bedarf:

Per mudmail (an Anthea@Gueldenland, Anthea@TAPPMud, Anthea@MorgenGrauen)
Per e-mail  (bock@cip.e-technik.uni-erlangen.de)
Per Telefon (09131/440558)
Per-soenlich (wer mich halt kennt und sieht)

Anthea

P.S.:Nein, das wird keine private Mud-fete, es sind auch Leute
     eingeladen, die keine Ahnung von Computern haben.

-----------------------------------------------------------------------------



Dortmunder Stammtisch (Morgoth, 29. Jul 1995, 19:24:19):
Tja,
so wies aussieht, hat sich nun in Dortmund auch ein Stammtisch entwickelt.
Dieser findet jeden letzten Freitag im Monat um ca. 2000h im Cafe Durchblick
an der Uni-Do statt.
Morgoth

sonstige anwesende :
Bienchen, Aline, Craig, Leusel, Locutus, Silvana(immer?), Pampers, Dwight....

-----------------------------------------------------------------------------



Treffen in BO (Rxtech, 31. Jul 1995, 00:40:40):
Der ultimative Stammtisch in Bochum trifft sich mal wieder am Freitag.
Leider ist Rudi wohl nicht da, aber ien Rudi-Gedaechnis-Saufen ist ja auch
nicht zu veruebeln. Also Freitag abend ab 20 Uhr im Clochard im Unicenter
Bochum. Alle Mudder die kommen wollen sollen sich aufraffen und in Scharen
dahinstroemen, auch, wenn es diesmal keinen Schlammcatchkampf gibt, aber
vielleicht kriegen wir ja eine Alternatiovveranstaltung.

Rxtech

PS: Aline wenn Du willst fahr ich Dich natuerlich gern nach Hause

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Silvana, 31. Jul 1995, 06:56:27):
#! rn=Morgoth rt=807038659
Tja, ich schaetze ich muss das mangels eigenen Autos halten wie
Claustaler Alk-frei: nicht immer, aber immer oefter.
Silvana

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Bloodyharry,  1. Aug 1995, 02:11:31):
#! rn=Morgoth rt=807038659
Immer werde ich wohl auch nicht den Weg zum Treffen finden - aber immerhin
habe ich es bis jetzt schon 2mal geschaft :)    (wie oft war er ueberhaupt?)
Zaehlt mich mal zu den unregelmaessigen Besuchern.

ciao
   Bloody Harry

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Anakin,  1. Aug 1995, 13:44:34):
#! rn=Anakin rt=806599098
Jo......

Also, es ist wieder Stammtisch in Berlin und zwar
am 09.08.95 um 21.00, wie immer im Seeblick in
PrenzlBerg. Wie es so aussieht werden wir es jetzt
wohl jeden 2. Mittwoch machen wegen der grossen
Nachfrage :).
Schaut auch mal auf die Stammtischseite im MG-WWW. Da gibt
es auch ne Karte, fuer die, die immer noch nicht wissen
wo das Seeblick ist.

Anakin.

-----------------------------------------------------------------------------



Treffen in BO (Rxtech,  4. Aug 1995, 10:39:15):
Also fuer alle, die es noch nich wiesen, die es ignorieren oder einfach nicht
informiert wurden, weil sie keiner leiden kann :)

Heute abend ist mal wieder Stammtisch in Bochum.

Clochard im Unicenter um 20 Uhr

Es kommen tiolle Typen. Leider weiss ich selbstr nicht wer alles :))
Jedenfalls ist Guldi und Flint wohl da und natuerlich die liebliche Augra.

Also stroemt in Scharen, auch wenn diesmal kein Schlammcatchen im Angebot ist

Rx (schaut auch mal vorbei, will damit aber keinen abschrecken )

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Hardil,  4. Aug 1995, 19:29:00):
#! rn=Morgoth rt=807038659
Warum eigentlich immer Freitags? Freitag abends ist IMMER Fussball. Und im
Durchblick zeigen sie ja noch nicht mal ranissimo.
Macht sowas doch mal an fussballfreien Tagen, aehm, naja, Monatgs oder so.
:-)

- Hardil

-----------------------------------------------------------------------------



Re: Re: Dortmunder Stammtisch (Guldukat,  5. Aug 1995, 11:09:54):
#! rn=Hardil rt=807557340
wieso, gibts hier irgendwo fussballfans?
GD

-----------------------------------------------------------------------------



Berliner Stammtisch (Anakin, 23. Aug 1995, 12:09:36):
  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  P.S.: Beschreibung gibt es auf MG-WWW (Karte)
  P.P.S.: naechster Mittwoch heisst HEUTE!

  Anakin

-----------------------------------------------------------------------------



Wieder MG-Treff in Bielefeld! (Ancalagon, 24. Aug 1995, 20:22:42):
Moin, ihr Muddies!
Nur zur Erinnerung. Naechsten Mittwoch ist mal wieder der letzte des Monats
(und der 30.8. :) und da findet, wie schon gewohnt, unser Mg-Treff statt. Wie
immer so zwischen 19.30 und 20.00 Uhr. Zumindest Ich,Silvana und Throin werden
da sein. Und hoffentlich noch ein paar mehr....
Tschuessie,
                                     Ancalagon
                            Draco knuddellensis major
++

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Locutus, 24. Aug 1995, 20:27:32):
Hallo Muddies!

Ich moechte nochmal kurz daran erinnern, dass morgen also am 25.08. wieder
ein Stammtischtreffen im Cafe Durchblick hier in Dortmund (naehe Campus
Nord bei der Uni Dortmund) stattfindet. Morgoth, Aline, Hardil, Dwight,
Shira und ich wuerden uns ueber entsprechen viele Besucher freuen.
Lasst Euch mal blicken :-)

Tschoe...

Loc.

-----------------------------------------------------------------------------



bielefeld (Rudiratter, 24. Aug 1995, 20:30:15):

macht doch den stammtisch in vlotho, dann komm ich auch ;)
rudi

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Klinge, 24. Aug 1995, 22:43:30):
#! rn=Locutus rt=809288852
und? ... uhrzeit ???

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Dwight, 24. Aug 1995, 23:54:12):
#! rn=Klinge rt=809297010
Naja, die ueblich zeit, zwischen 19-20.00 Uhr werden wohl die meisten
antanzen...

Dwight

-----------------------------------------------------------------------------



Stammtisch in Bochum (Augra, 28. Aug 1995, 19:18:59):
Am Freitag, den 01.09.1995 ist es wieder soweit:

                   ------------------------------------
                  *  STAMMTISCH IN BOCHUM             *
                  *                                   *

                  * WO? : Clochard, Buscheyplatz      *
                  * WANN? : Freitag, 01.09.1995
                        [D[D[D[D[D[D*     20.00 Uhr

                 *------------------------------------*

Wer ne genauere Wegbeschreibung braucht, bitte bei mir oder Rxtech melden.

Auf viele freundliche, wenn auch ungewaschene gesichter hoffend,

Augra

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Augra, 28. Aug 1995, 19:20:03):
#! rn=Augra rt=809630339
sorry fuer die unmoeglich formatierung, warn Schnellschuss:)
,

-----------------------------------------------------------------------------



Stammtisch in SB (Horschd, 30. Aug 1995, 19:36:27):
Hallo Leute.

Am Freitag, 08. September ist es wieder soweit. Es gibt wieder einen
Stammtisch in Saarbruecken. Wir treffen uns wie immer so gegen 20.00 Uhr
im Canossa, wuerde ich sagen. Ich hoffe, dass ihr zuhauf erscheint :))

Achja: natuerlich sind auch alle Nicht-Saarbruecker herzlich eingeladen!
Wegbeschreibung gibt es bei mir oder den anderen Saarbruecker MUDdern.

Bis denne,

Horschd.

-----------------------------------------------------------------------------



Muenchen, mal wieder (Fryder, 31. Aug 1995, 16:29:53):
Hiho

Beim folgenden handelt es sich um eine Mail von Jimmi, die ich mit seiner
Erlaubnis hier poste, Flames, Meckereien und sonstige Beschwerden bitte
diesmal nicht an mich, Miro.

Ich schlage vor das naechste Treffen machen wir bei mir :)
Zeit: Mittwoch 6.9. ab 1900 sowas, bis ???? uebernachtungsmoeglichkeit
vorhanden ;-)
Ort: Ruffinialle 10 , 82166 Graefelfing, tel 8540017, Sbahn S6 bis
Graefelfing
Wenn man vom Bahnsteig kommt LINKS is dann gleich die Ruffiniallee
Autofahrer koennen sich ebenfalls am Graefelfinger Bahnhof orientieren.
Achtung : Es gibt die selbe Strasse mit anderen Hausnummern auch in PLANEGG.
Also Ruffinialle 10 ijn Graefelfing NICHT in Planegg ;-))

Wems nicht passt hat Pech gahabt, fuer Getraenke ist gesorgt, andere Termine
von mir aus leider nicht moeglich, zumindest nciht wenn Ihr zu mir kommt.

Gruesse,
 James Bolivar diGriz

I.A. Fryder

-----------------------------------------------------------------------------



Re: Muenchen, mal wieder (Miro, 31. Aug 1995, 23:09:20):
#! rn=Fryder rt=809879393
Hi, Hi,
liebes Fryderlein zum einen flame/mecker/beschwer ich mich nie an Dich
sondern maximal nur ueber Dich ;-)
und zum anderen: kennst Du auch jemanden, der immer zu anderen einlaed
(ironie!achtung ironie!ironie!achtung ironie!)
Hoe to c u bei jimmy,
Miro (inzwischen examensreif... nach der reife kommt die faeulniss ;-)

-----------------------------------------------------------------------------



Re: Re: Muenchen, mal wieder (Fryder,  1. Sep 1995, 16:51:06):
#! rn=Miro rt=809903360

Lieber Miro!

Der Begriff UEBERREIF scheint mir passender. Leider hab ich immer noch nicht
verstanden, was Dein Satz aussagen sollte???!!!??? :)

McFryder

-----------------------------------------------------------------------------



Re^3: Muenchen, mal wieder (Arty,  1. Sep 1995, 16:54:44):
#! rn=Fryder rt=809967066
*grins* Also wenn das in RL genauso spannend wird wie hier im MUD bringe ich
vielleicht einen Fotoapparat mit :)  (ich werde dann aber leider nicht die
Rolle des Schiedsrichters uebernehmen koennen ...)
*nochmal grins*

ciao ARTY

-----------------------------------------------------------------------------



Re^4: Muenchen, mal wieder (Fryder,  1. Sep 1995, 16:56:01):
#! rn=Arty rt=809967284

Jaaaaaaa :) **haendereib** Dann schnappen wir Dich, Kleiner!!


-----------------------------------------------------------------------------



Re^5: Muenchen, mal wieder (Miro,  2. Sep 1995, 03:26:14):
#! rn=Fryder rt=809967361
Hi Ihrs,
Hi Fryer, wen meinst Du mit ***Kleiner***? Meine bescheidenen 90 kg
Lebendgewicht?
Und ueberhaupt mache ich oefters mehr als einen Satz (und tausend
Tibbfaehler)...
welchen meinst Du?
Miro (ab nach Schmarrn... nein, nicht den Artikel, Miro himself ist reif fuer
die Narrenkappe)

-----------------------------------------------------------------------------



Re^6: Muenchen, mal wieder (Fryder,  2. Sep 1995, 11:58:04):
#! rn=Miro rt=810005174

Hallo Miro!

Das "Kleiner" bezog sich auf den vorangegangenen Artikel von Arty. Der hat
naemlich grad mal 40 Kg Lebendgewicht. :)

Fryder

-----------------------------------------------------------------------------



Stammtisch in berlin (Anakin,  4. Sep 1995, 10:57:37):

  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  P.S.: Beschreibung gibt es auf MG-WWW (Karte)
  P.P.S.: naechster Mittwoch heisst am 6.9.95!
  P.P.P.S.: ich hoffe ihr kommt wieder alle zahlreich :-)

  Anakin


-----------------------------------------------------------------------------



Treffen in KA ?? (Floh,  5. Sep 1995, 00:17:32):
Hallo,
w
wie wares mal wieder mit einem Treffen in Karlsruhe oder Umgebung.
Terminvorschlaege und Treffpunkte werden von mir gerne koordiniert.
Bis bald

Floh

-----------------------------------------------------------------------------



Re: Treffen in KA ?? (Warlord,  5. Sep 1995, 01:10:18):
#! rn=Floh rt=810253052

wuerde als Stuttgarter evtl. auch vorbei schauen

	Warlord

-----------------------------------------------------------------------------



Re^7: Muenchen, mal wieder (Arty,  5. Sep 1995, 21:22:19):
#! rn=Fryder rt=810035884
Ups, hab ich zugenommen? *grins*

ARTY

-----------------------------------------------------------------------------



SB-Stammtisch verschoben !!!!! (Horschd,  7. Sep 1995, 20:26:37):
Hallo Leute.

Leider mussten wir den Saarbruecker Stammtisch, der fuer morgen - 8.9. -
angesetzt war verschieben. Der Stammtisch findet jetzt naechsten
Freitag (15.9.) um 20.00 im Canossa statt. Also - alle Saarbruecker
naechsten Freitag im Canossa antreten :)).
Achja nochwas: Alle Nicht-Saarbruecker sind natuerlich herzlich
Willkommen! Wenn jemand von Euch kommen moechte schreibt mir am
besten eine Mail, dann kann ich euch den Weg erklaeren.

 Bis denne,

Horschd

-----------------------------------------------------------------------------



Stammtisch (Catweazle, 11. Sep 1995, 18:15:28):
Hi!
Da morgen Stammtishc ist, Das Obina aber wohl immer noich geschlossen,
findet der Stammtisch mal wieder im Tribunal statt!
Yours truly,
        Catweazle

-----------------------------------------------------------------------------



Re: Stammtisch (Cuchullin, 11. Sep 1995, 19:25:49):
#! rn=Catweazle rt=810836128

*fluch* Und wie komm ich da hin? Und wie wieder weg? Ich moechte Cat*s
Fahrrad ja nicht ueberbelasten...

Cuch.-  (betruebt)

-----------------------------------------------------------------------------



Re: Re: Stammtisch (Yendi, 12. Sep 1995, 13:51:22):
#! rn=Cuchullin rt=810840349

Keine Sorge, Cuchullin, das Fahrrad ist Schwertransporte gewohnt...

Autsch!
Hey! Auaaa!
Cat, lass das!  AU!

HIIIIILFEEEEEEEE!


Yendi

      *enter duck-and-run mode*


-----------------------------------------------------------------------------



Re^3: Stammtisch (Catweazle, 12. Sep 1995, 13:53:18):
#! rn=Yendi rt=810906682
Na warte!
Dich krieg ich!
Koenntest Du bitte mal in meinen Dunstkreis treten?
Jaaa, genau, und jetzt Deine Nase in diese meine Faust rammen?

Hey! Bleib stehn!
 Ich krieg Dich eh ...
...

-----------------------------------------------------------------------------



Re^4: Stammtisch (Yendi, 12. Sep 1995, 14:14:00):
#! rn=Catweazle rt=810906798





> n
Du befindest Dich auf einer hoelzernen Haengebruecke, die in die weissen
Wolken fuehrt. Der Nebel, der hier herrscht, ist so dicht, dass man die Hand
nicht vor Augen sieht. Der Abgrund rechts und links der Bruecke hat schon so
manchen tapferen Krieger gefordert, der hier nicht wachsam genug war und
indie Tiefe stuerzte. In Norden geht es weiter ins Ungewisse und im Sueden
Richtung Schreckensspitze.
Es gibt zwei sichtbare Ausgaenge: sueden und norden.
> schau planken
Das Holz dieser Planken sieht nicht besonders vertrauenerweckend aus.
> > Catweazle kommt an.
krieche n
Du robbst vorsichtig nach Norden.
Du befindest Dich auf einer hoelzernen Haengebruecke, die in die weissen
Wolken fuehrt. Der Nebel, der hier herrscht, ist so dicht, dass man die Hand
nicht vor Augen sieht. Der Abgrund rechts und links der Bruecke hat schon so
manchen tapferen Krieger gefordert, der hier nicht wachsam genug war und
indie Tiefe stuerzte. In Norden geht es weiter ins Ungewisse und im Sueden
Richtung Schreckensspitze.
Es gibt zwei sichtbare Ausgaenge: sueden und norden.
> Du hoerst ein Krachen und Bersten hinter Dir, und einen langen Schrei.
[Tod:] Eine Haengebruecke hat gerade Catweazle umgebracht.
[Tod: Eine Haengebruecke] Mann, sind die Dickmann!
[Tod: Eine Haengebruecke] Ist unter den Anwesenden ein Schreiner?

> grinse
Du grinst.


-----------------------------------------------------------------------------



Re^4: Stammtisch (Orktoeter, 12. Sep 1995, 14:43:29):
#! rn=Catweazle rt=810906798
Sitten herrschen in Muenster... tststststststs

-----------------------------------------------------------------------------



Re^5: Stammtisch (Cuchullin, 12. Sep 1995, 14:48:02):
#! rn=Orktoeter rt=810909809

Ich fuer meinen Teil bin Cat* trotzdem dankbar, auch wenn
Autsch!
Heeeee!
Jajaja, ich zahl ja, wenn sie uns...
*fluch*
Au..

-----------------------------------------------------------------------------



Auf zum Atzi! (Fryder, 12. Sep 1995, 17:25:11):

Hallo!

Wir waren lange nicht mehr beim Atzinger, ich denke, der vermisst uns schon.
Nach Absprache mit Kiwi und Robo (der noch Bini und 2 weitere Muddies
mitbringen moechte), haben wir uns auf den kommenden Fr., gegen 21:00 Uhr
geeinigt. Mal sehen was es wird.

Fryder

-----------------------------------------------------------------------------



Re: Auf zum Atzi! (Arty, 13. Sep 1995, 11:42:05):
#! rn=Fryder rt=810919511
Oha!
Hmm, naja mal sehen ob ich es doch noch einrichten kann, ihr koennt mir ja
kurzfristig nochmal ne mail schicken, ob das Treffen stattfindet.
Lust haette ich schon...

ciao ARTY

-----------------------------------------------------------------------------



KA_Treff (Guybrush, 14. Sep 1995, 19:14:13):
So, nun sind die Badener und Zugereisten auch mal wieder mit einem Treffen
dran.
Vorgesehen ist bisher der 29.September (das ist ein Freitag) .
Zeit: so ab 19.00
Ort: Im Vogelbraeu in Karlsruhe

Wegbeschreibungen auf Nachfrage, soweit es mir moeglich ist ;)

Guybrush, Lern-Mag...sowas wie Lernschwester :)

-----------------------------------------------------------------------------



Stammtisch (Anakin, 18. Sep 1995, 15:22:26):

  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  P.S.: Beschreibung gibt es auf MG-WWW (Karte)
  P.P.S.: naechster Mittwoch heisst am 18.9.95!
  P.P.P.S.: es kommen wahrscheinlich wieder ein
            paar Nicht-Berliner zu Besuch, also
            rafft euch auf
  Anakin



-----------------------------------------------------------------------------



Re: Stammtisch (Anakin, 18. Sep 1995, 23:05:11):
#! rn=Anakin rt=811430546
Hi,

Nachtrag a) wahrscheinlich kann ich nicht kommen, weil ich arbeiten muss
         b) es NATUERLICH DER 20.9.95 gemeint

Anakin.

-----------------------------------------------------------------------------



Bloe! (Catweazle, 19. Sep 1995, 13:01:46):
Bloe!
Obina ist immer noch zu :((
Also noch einmal... Stammtisch heut abend wieder im Tribunal...
YTC

-----------------------------------------------------------------------------



Re: Bloe! (Yendi, 19. Sep 1995, 13:11:13):
#! rn=Catweazle rt=811508506

Ach, und woher weisst Du, dass das Obina immer noch renoviert, hmmm?
Wer ist denn hingefahren und hat nachgeschaut? War das Catweazle, hmmm?

   Yendi, immer noch foellich fertich fom Farradfaahn...


-----------------------------------------------------------------------------



Re: Re: Bloe! (Catweazle, 19. Sep 1995, 13:15:23):
#! rn=Yendi rt=811509073
Tja, Yendi, siehste?
Das ist der kleine, aber dezente Unterschied zwischen Spielern und Magiern.
Ich brauch halt kein farad, ich mach stumpf 'goto'. :-)
YTC

-----------------------------------------------------------------------------



Re: KA_Treff (Aranya, 19. Sep 1995, 14:44:50):
#! rn=Guybrush rt=811098853
Au ja, da komm ich eventuell von Freiburg aus auch hin. *freu*

Aranya

-----------------------------------------------------------------------------



Treffen in Dortmund (Aline, 20. Sep 1995, 11:17:31):
Hallo Dortmunder (und solche die auch nach Dortmund kommen wuerden!)

Dieser Freitag ist mal wieder ein letzter Freitag eines Monates
Also treffen wir uns :)
Da man aus dem Durchblick sehr frueh und freundlich entlassen wird,
schlage ich mal wieder das Walhalla vor;) Also Freitag ab 20.00 Uhr
im Walhalla an der Kampstr. Wer ne Wegbeschreibung moechte, schickt
mir bitte eine kurze Mail.

Aline

P.S.: Ich kann leider erst um 21.30 Uhr kommen, ich komm aber ganz
sicher:)

-----------------------------------------------------------------------------



Re: Treffen in Dortmund (Locutus, 20. Sep 1995, 11:29:56):
#! rn=Aline rt=811588651
Hi!

Diesen Freitag? Also fuer mich ist der letzte Freitag im Monat der
Freitag der naechsten Woche, also der (rechne...) 29.09.
Dann wuerd ich sagen treffen wir uns. Auch gerne im Walhalla so gegen.
20:00 Uhr?

Tschoe...
Loc.

-----------------------------------------------------------------------------



Re: Re: Treffen in Dortmund (Hardil, 20. Sep 1995, 11:44:17):
#! rn=Locutus rt=811589396

Aeh, Du, Locutus: Aline ist blond.
Also komm besser an beiden Freitagen. :-)

-Hardil. Grinst immer noch.

-----------------------------------------------------------------------------



Re^3: Treffen in Dortmund (Bloodyharry, 20. Sep 1995, 11:49:10):
#! rn=Hardil rt=811590257
Ja, ich will auch endlich wieder zum Treffen kommen - aber wann denn nun?
Am 22ten oder am 29ten?
Ich hoffe neben den bekannten Gesichtern auch mal ein paar neue anzutreffen!

bis dann...

Bloody Harry

-----------------------------------------------------------------------------



Bonn! (21./22./23.) (Etah, 20. Sep 1995, 11:51:47):
Tja, ich werde da sein und Snuggle will sich um alles kuemmern.
Am Do Abend soll was sein :)
E>

-----------------------------------------------------------------------------



Re^4: Treffen in Dortmund (Aline, 20. Sep 1995, 12:12:54):
#! rn=Bloodyharry rt=811590550
Hi

Locutus hat recht, der letzte Freitag im Monat ist natuerlich der 29.
Also findet das Treffen am 29. im Walhalla statt. :)

Aline

P.S.:Natuerlich bin ich blond! Mein Kalender allerdings auch!
P.P.S: Ich bin dann schon ab 8.00 Uhr da, weil ich am 29. keinen
anderen Termin habe!

-----------------------------------------------------------------------------



Re^5: Treffen in Dortmund (Rxtech, 20. Sep 1995, 16:07:56):
#! rn=Aline rt=811591974
Wow, dann bist Du sicher schon ziemlich zu, wenn die anderen alle um 20 Uhr
antraben :))
Viel Spas sbeim 12-h-Kneipenmarrathon wuenscht Dir Rx


-----------------------------------------------------------------------------



Ausserplanmaessiger Bonner Tisch (ohne Stamm) (Snuggle, 20. Sep 1995, 16:21:15):
Am Samstag ist tag der offenen Tuer in der GMD (Gesellschaft fuer Mathematik
und Datenverarbeitung) in Bonn. Das scheint wohl einige Muddies aus fernen
Regionen anzuziehen. Und wenn sie schon mal da sind, wollen wir das doch
gleicgh ausnutzen.
Daher treffen wir uns am Donnerstag Abend (21.9.) in Bonn im Irish Pub
McSwiggans im Mauspfad.
Losgehn solls um acht und eingeladen ist jeder, der gerad in der Naehe ist.

Also auf gehts mit Buss und Bahn oder wie auch immer.

YT Snuggle


P.S. Ich hasse schreibfehler. aber bei meinem terminal... :-(

-----------------------------------------------------------------------------



Und wieder ein MG-Treff in Bielefeld! (Ancalagon, 20. Sep 1995, 18:25:26):
Moin erstmal!
am kommenden Mittwoch ist mal wieder der letzte im Monat, und deshalb auch
MG-Treff im Cafe Mint um 19.30 - 20.00...
Kommet zuhauf.....
                                          Ancalagon
                                 Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Und wieder ein MG-Treff in Bielefeld! (Throin, 21. Sep 1995, 10:16:44):
#! rn=Ancalagon rt=811614326
Eine halbe Stunde nur? (19.30 - 20.00) Ich finde, wir koennten uns ruhig
etwas laenger treffen! :)

-----------------------------------------------------------------------------



Stammtisch (Anakin, 25. Sep 1995, 15:53:14):

  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  P.S.: Beschreibung gibt es auf MG-WWW (Karte)
  (http://w3.rz.fhtw-berlin.de/RZ/allgemein/People/Wehrens/mg/karte.html)
  P.P.S.: naechster Mittwoch heisst am 03.10.95!
  P.P.P.S.: es kommen u.A. Quengistu und Tasha
            ich werd dieses mal auf wieder da sein


-----------------------------------------------------------------------------



Re: Stammtisch (Anakin, 25. Sep 1995, 17:18:26):
#! rn=Anakin rt=812040794
Hi,

Ich meinte den MITTWOCH (4.10) nicht DIENSTAG (3.10) sorry ;)

Anakin.

-----------------------------------------------------------------------------



Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Hardil, 26. Sep 1995, 13:38:50):

Hallu :-)

Ich moechte die diesjaehrige Diskussion ueber einen Termin und einen
Treffpunkt fuer die sicherlich wieder zahlreich auf der SPIEL 95 anwesenden
MuddIes eroeffnen.
Die Messe ist dieses jahr vom 19.10. bis zum 22.10., wie immer in den Essener
Gruga-Messehallen.
Ich werd wohl die ganze Zeit dasein, und von einem Puma hab ich das auch
schon gehoert. :-) Yendi wird (denk ich mal) auch nciht zu uebersehen sein,
und Wizzard auch nicht. Und Locutus hat einen guten Job am Stand von WotC. :-)
Und wer kommt noch alles?

Bitte melde Dich! :)

-Hardil.
Gruendet den Club wider "Nix Neues auf der Welt."

-----------------------------------------------------------------------------



Re: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Yendi, 26. Sep 1995, 14:05:17):
#! rn=Hardil rt=812119130

Locutus arbeitet bei WotC???

Duhuuuu, Locutuuuuuuuus....?   ;)


-----------------------------------------------------------------------------



Re: Re: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Hardil, 26. Sep 1995, 14:05:58):
#! rn=Yendi rt=812120717

Yendi, ich doch auch.
Nur Locutus hat sich fuer die Messe einspannen lassen, ich nciht. :-)

-Hardil.

-----------------------------------------------------------------------------



Re^3: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Guldukat, 26. Sep 1995, 16:14:46):
#! rn=Hardil rt=812120758

Sind die Mudder dann alle VIPs bei WotC?
Werden Kaffee und Gebaeck gereicht?

Na, ich werde jedenfalls auch mal aufkreuzen.
Deputy GulDukat (* Catweazle macht mich zum Deputy! *) (*grinse Cat an*)

-----------------------------------------------------------------------------



Re: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Raffi, 26. Sep 1995, 16:36:49):
#! rn=Hardil rt=812119130

ich bin aller wahrscheinlichkeit nach auch auf der Spiel 95.
Halle 9  (ich glaube Stand 125). Das ist zwar die falsche Ecke,
aber was anderes hab ich nicht mehr gekrigt :(

Gruss
H.
(Der hofft das nicht noch was dazwischen kommt.

-----------------------------------------------------------------------------



Re: Re: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Paracelsus, 27. Sep 1995, 20:25:15):
#! rn=Raffi rt=812129809
Hi!
Tja, warum setzen wir nicht einfach einen Treffpunkt fest, und dann
schaunmer mal, wer da so antanzt.

Paracelsus (kommt sicher).

-----------------------------------------------------------------------------



Re^3: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Raffi, 28. Sep 1995, 11:13:12):
#! rn=Paracelsus rt=812229915

Ok, dann schlag ich halt meinen Stand(anteil] als Treffpunkt vor.
Ich wuerde mir zwar den gleichen Andrang wie die WotC wuenschen,
realistisch betrachtet sollte es bie mir jedoch ruhiger
zugehen.

Gruzs
H.
(Ich haeng 'ne MG-Karte oder sowas als Zeichen aus :)

-----------------------------------------------------------------------------



Re^4: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Paracelsus, 28. Sep 1995, 21:00:41):
#! rn=Raffi rt=812283192
Na, dann ist das ja geklaert.
Auf viele Muddies hoffend
    Paracelsus.

-----------------------------------------------------------------------------



Re^4: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Mupfel, 28. Sep 1995, 22:53:41):
#! rn=Raffi rt=812283192
was ist WotC ?
-mupfel-

-----------------------------------------------------------------------------



Re^5: Treffen in Dortmund (Leusel, 29. Sep 1995, 09:47:38):
#! rn=Aline rt=811591974
Hi

Wo ist denn eigentlich das Walhalla ? Eine Wegbeschreibung fuer den OEPNV
waere ganz nett.

Leusel (faehrt Bus und Bahn, Bus und Bahn)

-----------------------------------------------------------------------------



Re^5: Alle Jahre wieder: MG-Treffen auf der Messe in Essen? (Raffi, 29. Sep 1995, 11:21:41):
#! rn=Mupfel rt=812325221
WotC war ein kleiner Spielehersteller, Vertrieb,
der vor ca. 3 Jahren das unverschaemte Glueck hatte ein neues Kartenspiel
angeboten zu bekommen weches sich MAGIC:the Gatering nannte .....
Jetzt sind sie nicht mehr ganz so klein :)

Gruss
H.

-----------------------------------------------------------------------------



Wegbeschreibung zum Wallhalla (Aline, 29. Sep 1995, 15:02:12):
Hi,

hier noch schnell eine kurze Wegbeschreibung fuer den Stammtisch heute abend
im Walhalla. Also fuer die Autofahrer unter Euch, denen ich noch keine
Wegbeschreibung gemailt habe : Ihr fahrt nach Dortmund rein und parkt
am Besten am Hauptbahnhof.
Und fuer die Leute, die wie ich mit dem OEPNV kommen hier eine
Beschreibung vom Bahnhof aus, die auch die Autofahrer interssieren
duerfte ;) :

Also ihr steht vor dem Bahnhof (Haupteingan im Ruecken) dann seht ihr eine
grosse Treppe die hoch. Dann bis zur naechsten Strasse mit Strassenbahn-
schienen immer geradeausgehen, dann 90 Grad Drehung nach links. Der Strasse
folgen (ist schon die Kampstrasse) immer an der Stadtsparkasse entlang,
die naechste Strasse noch ueberqueren und dann liegt das Walhalla gleich
nach der Apotheke. Wenn ihr an der U/Strabahnhaltestelle Kampstrasse seid,
STOP dann seid ihr naemlich zu weit gelaufen!!!

Bis spaeter

Aline

-----------------------------------------------------------------------------



Stammtisch (Catweazle, 10. Okt 1995, 10:12:35):
Hi!
Ihr habt ihn nicht vergessen, oder?
Das glaub ich nicht...
Jeden Dienstag gibts bei uns in Muenster den originooool
      MorgenGrauen-Stammtisch!!!

Und zwar um 20:00 Uhr im ... genau, eben nicht im Obina, sondern im
Tribunal. Das Tribunal ist an der Kreuzkirche, also gar nicht zu verfehlen.
(Naja, Kreuzkirche kennt in Muenster halt jeder ...)
Da das Obina auf unbestimmte Zeit geschlossen ist, haben wir den
Stammtisch erst mal permanent zum Tribunal verlegt!
Yours truly,
 Catweazle

-----------------------------------------------------------------------------



Naechsten Mittwoch isses wieder so weit.... (Ancalagon, 18. Okt 1995, 15:54:16):
Hallo erstmal....
Naechsten Mittwoch ist schon wieder der letzte dieses Monats. Und, wie schon
gewohnt, findet wieder der bielefelder MG-Treff statt. Wie immer im "Cafe
Mint" und, auch wie immer, ab 19.30 Uhr. Ich hoffe auf zahlreiches erscheinen,
auch von Nicht-Bielefeldern.
Bis dahin alles Knuddelkuschelbeste,
                                                  Ancalagon
                                          Draco knuddellensis major

-----------------------------------------------------------------------------



Gruene Tomaten (Catweazle, 23. Okt 1995, 20:06:40):
Neee, will ich nicht essen, aber hingehen!

Der Morgige Muensteraner Stammtisch findet im 'Gruene Tomaten' statt, und
zwar wie immer um 20:00 Uhr. Du weisst nicht wo das ist? Hm, versuchs
einfach mal beim Ex-Obina :)
Yours truly,
          Catweazle

-----------------------------------------------------------------------------



Spielemesse ... (Durian, 24. Okt 1995, 11:51:11):
Hi!

Irgendwie sollte man doch regelmaessig Zeitung lesen. Dann haette
ich gewusst, dass auch MUDDER auf der SPIEL rumdackeln. Ich moechte
lieber nicht wissen, an wem ich so alles vorbei getigert bin. Wer
weiss, vielleicht war es sogar ein MUDDER, der die Ehre hatte unser
zusammengelegten Mammut-Homelands-Fallen-Empire-Auftrag entgegen
zu nehmen. Die Menge wurde bestimmt nicht oft verkauft :-)

Naja, nu' ist's zu spaet, vielleicht naechstes Jahr ...

- Durian

-----------------------------------------------------------------------------



Der Freitag in Dortmund naehert sich (Aline, 24. Okt 1995, 12:40:20):
Hallo Dortmunder Mudder,

wenn ich mich nicht wieder blond angestellt habe, ist der naechste
Freitag wieder mal ein letzter Freitag im Monat!!!!
Das heisst wir koennen uns mal wieder treffen!! *freu* *huepf*

Also Stammtisch in Dortmund, am Freitag den 27.10, um 20.00 Uhr
im Walhalla.
Nett wie wir sind, koennen auch Nicht-Dortmunder gerne kommen :)

Aline

P.S.: Wer ne Wegbeschreibung haben moechte, kann sich an mich wenden.

-----------------------------------------------------------------------------



Re: Der Freitag in Dortmund naehert sich (Leusel, 24. Okt 1995, 12:42:27):
#! rn=Aline rt=814534820
Hi !

Diesmal stimmt es wirklich, Aline.

Ob ich kommen kann, ist allerdings fraglich (Oder hast Du Dich deshalb so
gefreut :) )

Leusel

-----------------------------------------------------------------------------



Re: Re: Der Freitag in Dortmund naehert sich (Paracelsus, 24. Okt 1995, 15:49:12):
#! rn=Leusel rt=814534947
Hmm, ich glaub ich komm auch mal (wieder) vorbei.
Weiss nur noch nicht wann, also bleibt schoen lange ;)

Paracelsus

-----------------------------------------------------------------------------



Re: Spielemesse ... (Hardil, 25. Okt 1995, 12:10:48):
#! rn=Durian rt=814531871
Hmmm,
eigentlich sollte ich es ja nicht verraten, aber im Bericht von West3 am
Samstag abend ueber die Spielemesse konnte man u.a. auch einen gewissen Herrn
Jof (bzw dessen Ruecken) fuer laengere Zeit beobachten. Beim naechsten
Kameraschwenk sah man dann einen
gewissen Catweazle, und mich sah man auch. Die 108 cm von Rzne sowie Larissa
hatten sich rechtzeitig hinter Jofs Ruecken gefluechtet. :-)

Das Video davon ist allerdings inzwischen wieder geloescht...

Fragt mich mal, wieviel Cat* mir dafuer gezahlt hat. :-)

-Hardil

-----------------------------------------------------------------------------



Re: Re: Spielemesse ... (Asmodis, 25. Okt 1995, 14:24:21):
#! rn=Hardil rt=814619448
Wieviel hat dir Cat* denn dafuer gezahlt ? :)

Jof stand also der Kamera im Weg, soso :)

-----------------------------------------------------------------------------



Re^3: Spielemesse ... (Hardil, 26. Okt 1995, 12:16:12):
#! rn=Yendi rt=814647459
Noe, Yendi, die Anzeigen von WotC in Arena etc werden alle vom Belgischen
Office gemacht. Da ich fuer das Office in Renton/Seattle arbeite, muss ich
auch manchmal recht hilflos mitansehen, was da fuer schlechtes Material aufg
den deutschen SPieler losge-
lassen wird.

NFU

-Hardil. NNN.

-----------------------------------------------------------------------------



Karlsruhe Treffen (Olpp, 26. Okt 1995, 17:44:52):
Wie waere es am Fr. d. 24.11.95
Vorschlaege bzgl. Uhrzeit und Ort bitte hier hinterlassen.

Gruss, Olpp

-----------------------------------------------------------------------------



Stammtisch Berlin (Anakin, 30. Okt 1995, 14:28:50):
  So Leute, am naechsten Mittwoch isses wieder soweit:

  D E R  E I N Z I G  W A H R E  S T A M M T I S C H

         in Berlin, im 'Seeblick' um 21.00 Uhr.

  P.S.: Beschreibung gibt es auf MG-WWW (Karte)
 
(http://hyper-g.rz.fhtw-berlin.de/RZ/allgemein/People/Wehrens/mg/karte.html)
  P.P.S.: naechster Mittwoch heisst am 01.11.95!
  P.P.P.S.: von ausserhalb ist diesmal Knoerry da


Anakin.

-----------------------------------------------------------------------------



Stammtisch in Bochum (Augra,  1. Nov 1995, 23:37:44):
So,
am Freitag ist es mal wieder soweit:

Freitag, 3. November 1995
Stammtisch in Bochum
im Clochard am Buscheyplatz
um 20.00 Uhr

wer immer noch denWEg nicht findet, bitte melden!

(sorry, zu muede fuer ne ordentliche Formatierung)

Augra

-----------------------------------------------------------------------------



Treffen in Koeln (Orktoeter,  2. Nov 1995, 11:43:32):
Hallo Alle miteinander !
Am Samstag Abend (ja, schon diesen Samstag, aslso am 4.11.) findet in Koeln
ein Treffen statt, auf dem u.a. Jof, Larissa und Creative sein werden.
Wer Lust und Zeit hat, kann um 8 Uhr im Crimson (frueheres Kamille) in der
Zuelpicherstr (ca Hausnummer 27) auftauchen.
Fuer nicht Koelner die Wegbeschreibungen.. :
Wer mit der DB kommt kann am besten gleich am Bahnhof Koeln-Sued aussteigen,
dort gibt es dann evtl. 2 moeglichkeiten runter zu gehen, wenn ihr aus dem
Hauptausgang rauskommt, geht es links zur hauptstrasse, dort links, wider
links, bis ihr auf eine Kreuzung trefft, auf der quer eine Strasenbahn
verlaeuft (Zuelpicherstr. dort noch ca 50 Meter rechts rein, auf der Rechten
Seite. Wenn ihr den anderen Ausgang benutzt habt, seit ihr schon auf der
Zuelpicherstr. , ihr braucht nur noch ca 80 Meter nach rechts zu gehen.
Wenn ihr mit der Strassenbahn kommt, fahrt mit der Linie 9 (wenn sie nach
Suelz faehrt auch mit der 7) bis zur Station Dasselstr.-Bahnhof-sued und ihr
seid an der gerade oben beschriebenen Kreuzung.
Fuer die Leute, die Mit dem eigenen Auto kommen.. Hmm bin nicht-Autofahrer,
kann ich euch leider nicht viel weiterhelfen, wenn da Fragen kommen, koennte
ja vieleicht ein anderer Koelner da etwas Posten...
Sich fuer die Typos, das schlechte Layout entschuldigend , aber schon auf Sa.
Abend freuend, OrkT.

-----------------------------------------------------------------------------



Re: Treffen in Koeln (Yantro,  2. Nov 1995, 17:04:59):
#! rn=Orktoeter rt=815309012

Hmmm jetzt kommt der grosse Rotstift:

Das Crimson hiess frueher mal "Vanille" und nicht anders. Es befindet sich
auf der Zuelpicherstrasse zwischen Zuelpicher PLatz und Bahnhof Sued!

Wer mit dem Auto kommen will, der sollte sich auf einen laengeren Fussweg
gefasst machen, denn Samstags Abends fallen bekanntlich immer diese boesen
Bergheimer in die Koelner Innenstadt ein *grins Zardoz* und dann ist es
entsprechend voll. Wer auch noch gratis parken will, dem sei der Uniparkplatz
an den chem. Instituten zu empfehlen. Dort ist immer was frei und bis zum
Crimson sind es dann nur 5-7 Minuten zu Fuss.

Autoweg von ausserhalb:

Man fahre auf dem Koelner Autobahnring bis zur Ausfahrt Koeln-Klettenberg und
da dann in Richtung Koeln centrum immer weiter geradeaus. (ziemlich lange)
Ihr seit dann auf der Luxemburgerstrasse und die kreuzt irgendwann vor einem
riesigem Hochhaus auf der linken Seite die Universitaetsstrasse... HINTER
dieser Kreuzung fahrt ihr auf die Linksabbiegespur und dann da in die Kleine
Strasse rein (greinstrasse). In dieser Strasse findet ihr dann nach 20 metern
zur Linkeneinen riesigen Parkplatz und rechts die chemischen Institute... Auto
abstellen, Schluessel ziehen und von aussen den Wagen gut verriegeln ;)

Von da an solltet ihr Zu Fuss weitergehen.... und zwar:
Neben der Chemie ist etwas nach hinten versetzt noch so ein flaches
haessliches Gebaeude, dass sich Physik nennt... zwischen Chemie und Physik
hindurchgehen und wenn ihr das ueberlebt, dann schraeg nach links ueber die
Wiese gehen. Ihr kommt dann auf eine Strasse, auf der schon oft eine
Strassenbahn mit einem Studenten in Konflikt geraten ist: Dies ist die von
euch ersehnte Zuelpicherstrasse und der folgt ihr in Richtung Innenstadt
(Innenstadt ist da, wo der Dom steht (ist zu sehen (wenn genug Licht ist))).
Ihr kommt dann auch unter der Unterfuehrung hindurch, von der Orktoeter so
geschwaermt hat, denn da ist auch der Bahnhof Sued.... der Strasse also weiter
folgen bis zum Crimson auf der rechten Strassenseite...

Tip: Wenn rechts neben euch die Haeuserwand gruen gestrichen ist und da gross
"IRISH PUB" drauf steht, dann seit ihr 5 Meter zu weit gegangen, denn das
Crimson ist im Gebaeude davor ;)


Ich hoff, dass das jetzt nicht zu wirrwarr - viel Spass beim Suchen ;)

         Euers Yantros (Kneipenfuehrer)

-----------------------------------------------------------------------------



Re: Re: Treffen in Koeln (Bambulko,  2. Nov 1995, 17:16:31):
#! rn=Yantro rt=815328299
Pah, die Chemie ist viel haesslicher als die Physik....wir haben wenigstens
ein Dach, das kein Wasser durchlaesst :-)

-----------------------------------------------------------------------------



Re^3: Treffen in Koeln (Bendeigid,  2. Nov 1995, 17:27:26):
#! rn=Bambulko rt=815328991
Angeber, das Dach ist laengst repariert. Und die Chemie hat nen Preis fuer
ihr Foyer bekommen, die Physik hoechstens fuer die groesste Langeweile!


-----------------------------------------------------------------------------



Re^4: Treffen in Koeln (Bambulko,  2. Nov 1995, 17:28:49):
#! rn=Bendeigid rt=815329646
Dafuer wurde die Physik vor kurzem schoen geputzt. ;-)
Und bei uns stinkt es nicht so.

Das sollte langsam mal nach Schmarrn

Bambulko (H2O)

-----------------------------------------------------------------------------



Re^4: Treffen in Koeln (Asmodis,  3. Nov 1995, 10:25:38):
#! rn=Bendeigid rt=815329646
Die Loecher im Dach kamen von der letzten Explosion in der Chemie ? :)

-----------------------------------------------------------------------------



Stammtisch in Berlin? (Etah,  3. Nov 1995, 10:30:15):
Tja, ich frage mich, ob es ueberhaupt noch Sinn macht, in Berlin
einen Stammtisch zu haben.
Die Moral dahin zu kommen ist jedenfalls verschwindend gering.
Nicht einmal die angemeldeten Personen erscheinen, nachdem man
schon eine ganze Stunde gewartet hat.
Anakin und ich haben uns ueberlegt das ganze sein zu lassen.
Vielleicht gehen wir beide ab und zu ins Seeblick, aber ohne
grosse Ankuendigung, da eh niemand kommt.
Ziemlich schlaff muss ich sagen.

Enttaeuscht,

E.

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin? (Grimmborn,  3. Nov 1995, 19:01:54):
#! rn=Etah rt=815391015

Da bleibt nur noch eins, Etah: Komm am Samstag nnach Koeln, ins Cranille
(oder so). Da tanzt der Baer, weil ich noch keinem gesagt habe, dass ich auch
da sien werde.
Aber vielleicht schicke ich auch nur Grimmtest vor...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin? (Bendeigid,  3. Nov 1995, 20:48:29):
#! rn=Grimmborn rt=815421714
Also, nur so zur Vorwarnung fuer die, dies noch lesen koennen: Es werden
a) derart viele Nicht-Koelner erwartet, dass es praktisch kein Koelner
Stammtisch ist und
b) es wird vermutlich NICHT im Vanille (ehemals) stattfinden, weil es wegen
a) zu viele Leute dafuer sind.
Wo wir denn genug Tische finden ist noch nicht sicher, aber. aehm, naja,
Koeln ist gross.
Seid puenktlich, damit alle zueinanderfinden! Oder so...

Bendeigid, freut sich schon riesig

-----------------------------------------------------------------------------



Re^3: Stammtisch in Berlin? (Hardil,  6. Nov 1995, 14:40:41):
#! rn=Bendeigid rt=815428109

Aehm, Stammtisch in Koeln:

Wie waere es mit dem Mexikaner neben dem Luxor, da passen zwar auch lange
nicht alle Leute rein, aber dafuer haben sie wenigstens gutes mexikanisches
Essen und Zitronenbier. :-)
Neeissklar.

-Hardil. NNN. Kommt Samstag wohl leider nicht.

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin? (Knoerry,  7. Nov 1995, 00:55:30):
#! rn=Etah rt=815391015
Na, hab dich nicht so Etah, ne Stunde geht schnell vorbei...
Da freut man sich auf nen Mudstammtisch in Berlin und ihr haltets nicht
mal ne Stunde alleine aus...~e
Fand ich auch nicht so toll...

Achja Treffen... wer ist den zur Zeit noch in Muenchen ?
Donnerstag in einer Woche ? Wo? Mal sehen?
Wer interesse hat kanns mir ja schreiben...

Knoerry ( home again )

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin? (Etah,  7. Nov 1995, 16:14:56):
#! rn=Knoerry rt=815702130
Ich akzeptiere Verspaetungen von mehr als einer STunde von Briten.
Aber ich akzeptiere es nicht, weil jemand nicht vom Rechner loskommt.
Und schon garnicht, wenn es nur EINMAL im Monat ist. Und ich bin
immer fuer 15min zu haben, aber nicht ueber eine STunde.
E.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Berlin? (Quillian,  7. Nov 1995, 20:05:44):
#! rn=Etah rt=815757296
Hmm,
Hatten wir nicht schonmal diskutiert das Mud fuer Staedte und Zeiten
in denen Stammtische stattfinden fuer alle infragekommende Spieler
zu sperren? War da nicht seinerzeit das Wort von den Schlaffies von
der FHTW? Naja .... egal ---> Schmarn.

Quillian muss wohl puenktlich genug gewesen sein, er hat so einen
Berliner Stammtisch schonmal erlebt (obwohl ein Attentat auf ihn
veruebt wurde)

PS: Ich hab kein Backspace, also net meckern :-)

-----------------------------------------------------------------------------



Heidelberg (Elora,  9. Nov 1995, 14:07:11):

Hallo Muddies in und um Heidelberg!

Kurz und schmerzlos:

Am Samstag, 25.11.95 ist in Heidelberg ein Treffen in Planung. Der Ort steht
noch nicht genau fest - ich tendiere zum Vetter (nette Kneipe mit RIESIGEN
Tischen und selbstgebrautem Bier).

Genaueres wird noch bekanntgegeben.

Elora (hofft, dass auch ja viele kommen werden!)

-----------------------------------------------------------------------------



Re: Heidelberg (Shakedbeer, 10. Nov 1995, 12:35:45):
#! rn=Elora rt=815922431
Super Idee mit Heidelberg.
Ich werde auf alle faelle kommen (wenn es selbstgebrautes Bier gibt).
Ausserdem hat sich meine Frau angekuendigt *FREU*.
Ich hoffe, man sieht sich in Heidelberg.

Euer Shaky.

-----------------------------------------------------------------------------



Re: Heidelberg (Gundur, 11. Nov 1995, 12:20:11):
#! rn=Elora rt=815922431
Jau hoert sich gut an..wenn Zeit , dann ich da! :-)
Aber Vetter find ich bischen Sch***  teuer, voll, kack Bedienung..
Ich wueder Vater Rhein vorschlagen..da kriegt man auch nen Platz und kann
sich abunzu ne Portion Spaghetti reinhauen fuer 3 maak fuffzig oder so (Essen
im Vetter is auch zu teuer)

Gruss
Gundur

-----------------------------------------------------------------------------



KA-Treffen (Hobo, 11. Nov 1995, 23:42:03):
Tja, das trifft sich ja klasse, wenn ihr in HD am 25. ein Treffen macht. :)
Hier in Karlsruhe ist naemlich was am 24. geplant.
Stand ja auch schon mal ein Artikel da. Voraussichtlich treffen wir uns im
Kleinen Maierhof (Mayer-, Meier-, Meyer???), so ab 20 h. :))
Wegbeschreibungen gibt es von mir nicht (kenn ich mich hier aus?), aber
vielleicht schreibt mein GoeGa ja mal was Kluges hier rein, wenn es aktuell
wird.
Bisher haben mehr oder weniger fest zugesagt, dass sie kommen: Jof, Larissa,
Elora, Tryfan, C4, Olpp, Baertiger (der Virrel-Baer, nicht der MGler), Muadib,
Oetti und A*, Guy, Fenchurch, HoBoing.

Und wir freuen uns ueber jeden, der auch noch kommt! :)

  Tschoe

        Hexchen Hobo - Spielkind

-----------------------------------------------------------------------------



Re: KA-Treffen (Loco, 12. Nov 1995, 15:27:26):
#! rn=Hobo rt=816129723
Hmmm... Elora hat sich fuer Karlsruhe angemeldet? Und macht jetzt am Tag
drauf was in Heidelberg? *wunder* ...

Jedenfalls - man sollte sich vielleicht einigen, wann und wo etwas
stattfindet. Zwei Treffen fast gleichzeitig in KA und HD halte ich fuer
ziemlich bloed. Das ist fuer beide schlecht - denn zu beiden hinzufahren ist
vielleicht doch etwas viel, andererseits liegen doch KA und HD nah genug
beieinander, um dieselben potentiellen Teilnehmer anzusprechen.

Tja...

         Loco

P.S.: Hoboing ist ein amerikanischer Slangausdruck, auf deutsch waere das
sowas wie S-Bahn-Surfen, nur meistens mit Gueterzuegen...

-----------------------------------------------------------------------------



Re: Re: KA-Treffen (Guybrush, 12. Nov 1995, 17:23:34):
#! rn=Loco rt=816186446
Naja Loco, wer hier bloed ist, ist ja wohl eindeutig: Die in HD, weil wir
erster waren :)) siehe weiter oben in der mpa....:)
Und in den USA Hobo zu sagen ist etwa so, wie zu einem Schwarzen dort Neger
zu sagen..heut zutage heisst das drifter (siehe auch Whitesnake :) )
Guybrush, ist doof aber kommt immer als erster :)

-----------------------------------------------------------------------------



Treffen in KA  (Mieze, 13. Nov 1995, 08:53:16):
Die Uni in Franzland wird mich wohl mal fuer ein paar Tage entbehren muessen-
wird nicht auffallen, da ich eh nur 12 Wochenstunden hab ;-))))
Bis denne in KA!

Mieze, die froh ist, mal wieder nach Deutschland zu kommen

-----------------------------------------------------------------------------



HD-KA (Elora, 13. Nov 1995, 11:14:14):

So, dass zwei Treffen an einem WE stattfinden sollen, scheint ja zumindest
bei einigen zu Unmut zu fuehren... kann ich gar nicht verstehen, denn es
zwingt ja keiner jemanden, auch zu beiden Treffen zu gehen und als eine
"Konkurrenzveranstaltung" wuerde ich das nun wirklich nicht bezeichnen. Der
Gedanke fuer das Treffen in HD ruehrte daher, dass an diesem WE ein paar
Leute
von weiter ausserhalb in HD sein werden (Slash, Jorinde, Shakedbeer, z.B.)
und
deswegen ist ein Treffen am Samstag keine schlechte Idee. Es ist auch bei
allen Treffen immer so, dass die einen an diesem Tag nicht koennen, die
anderen an einem anderen Tag nicht und vielen aus HD ist KA zu weit, auch
wenn's nur "um die Ecke" ist. Soviel dazu!

Ohne den Karlsruhern also "Konkurrenz" machen zu wollen (ich werde da ja auch
selbst hingehen!), halte ich weiterhin an dem Termin fuer ein Treffen in HD
fest.

Entgegen meiner Ankuendigung hat sich allerdings der Ort auf unbekannt ge-
aendert, denn das Vetter reserviert keine Tische und ist zudem wirklich
reich-
lich teuer - also abgelehnt. Ich bin also noch auf der Suche nach einer
anderen
geeigneten Kneipe, die auch gut zu finden ist und in der gegebenenfalls genug
Leute Platz haben. Gilberts Goldenen Adler hab' ich aus dem Rennen genommen,
weil wir da gestern (am Sonntag) weit und breit keinen Parkplatz gefunden
haben und das ist nicht zumutbar - finde ich.

Nunja, es ist ja noch genug Zeit und die Angabe ueber Ort/Zeit sowie Weg-
beschreibung kommt dann noch!

Ich hoffe, dass trotz des Treffens in KA am 24. auch viele am 25. nach HD
kommen werden.

Elora

-----------------------------------------------------------------------------



Re: Re: KA-Treffen (Jof, 13. Nov 1995, 11:19:30):
#! rn=Loco rt=816186446

 Naja, nicht mal sooo bloed, da lohnt sichs wenigstens auch fuer die Leute
aus den noerdlicheren Regionen, da hinzufahren...

Jof

-----------------------------------------------------------------------------



Re: HD-KA (Gundur, 13. Nov 1995, 15:21:17):
#! rn=Elora rt=816257654
Und was ist mit dem Vater Rhein? Wie waers du schaust da mal? Da gibts immer
Platz! Jaja
Gruss
Gundur

-----------------------------------------------------------------------------



Re: Re: HD-KA (Elora, 13. Nov 1995, 16:03:40):
#! rn=Gundur rt=816272477

Ja, auf Vater Rhein bin ich auch schon gekommen, habe nur noch keine Gelegen-
heit gehabt, nach Reservierungsmoeglichkeiten zu fragen.

Es wuerde auch fahrtechnisch guenstig liegen - in der Naehe vom billigsten
Parkhaus in ganz Heidelberg :)

Die Entscheidung kommt in Kuerze!!

Elora

-----------------------------------------------------------------------------



Re^3: HD-KA (Gundur, 13. Nov 1995, 18:26:05):
#! rn=Elora rt=816275020
Jo und in der Naehe von meinen Eltern..
Gundur hats somit nicht weit zu laufen :-)

-----------------------------------------------------------------------------



Re^3: HD-KA (Bleelumpe, 14. Nov 1995, 01:10:08):
#! rn=Elora rt=816275020
Wenn ihr ne billige kneipe mit parkmoeglichkeit sucht
kann ich das BEO in Ziegelhausen empfehlen
Die Wirtin reserviert auf jeden fall.
Anrfu genuegd

Hab ich schon mal ein treffen organisiert da.
Aber wichtig essen gibts nur bis 22uhr oder 2230 ?
Ich war lang so spaet zum essen da.

Adresse ist
Cafe Bistro Beo
In der Neckarhelle 64
69118 Heidelberg
Tel 06221 / 809001

Anfahrtswege hatt ich mal
muesst mal schauen ob sie in irgendwelchen save files rumliegen
das treffen wwar aber schon vor gut 1 nem jahr??

Aber zu finden ist es leicht.

Nur als tip euer Ziegelhhaeuser Bleelumpe

-----------------------------------------------------------------------------



Re^4: HD-KA (Elora, 14. Nov 1995, 09:53:42):
#! rn=Bleelumpe rt=816307808

Das Beo kenn' ich sehr gut (wohne 2 Haeuser weiter!), aber es gibt da mehr
oder minder nur Sitznischen und die Moeglichkeit, genug Tische fuer alle
Leute zusammenzustellen, gibt's leider nicht. (Schade auch fuer Digedag, der
wohnt naemlich direkt drueber!!)

Elora

-----------------------------------------------------------------------------



Re^5: HD-KA (Bleelumpe, 14. Nov 1995, 11:02:18):
#! rn=Elora rt=816339222
Hmm die Mud sucht geht in der neckarhelle um
ich wohn 43 Haeuser weiter.
:-)

-----------------------------------------------------------------------------



Re^3: KA-Treffen (Raffi, 14. Nov 1995, 20:40:06):
#! rn=Guybrush rt=816193414
Hobo:

Hmmmm - hab leider noch keinen gewsehen der sich so nannte - Nur Hobos.

Gruss
H.

-----------------------------------------------------------------------------



Treffen in Dortmund (Marita, 17. Nov 1995, 16:54:33):
Tach alle,

Da ich von Aline noch nichts in Richtung Treffen gehoert habe, aber der
letzte Freitag im Monat naht, muss ich wohl die Initiative ergreifen und
das diesmonatige Treffen einberufen. Wenn ich keine Flames bekomme, dann
findet es statt:
      Freitag, 24.11., 20 Uhr im Walhalla
      (mitten inne City, Haltestelle Kampstr.)

Ein Gruss auch zum gleichzeitigen Treffen nach Karlsruhe! (stimmt doch
oder?) Wer also den weiten Weg nach Ba-Wue scheut, kommt nach Do.
Mein neunter Beitrach :)
Marita

-----------------------------------------------------------------------------



Re: Treffen in Dortmund (Shakedbeer, 17. Nov 1995, 17:05:58):
#! rn=Marita rt=816623673
Ich finde den Termin OK! Qnyberth und BitMaster kommen auch wieder mit!

Man sieht sich in DO!

-----------------------------------------------------------------------------



Stammtisch in Bonn (Pra, 18. Nov 1995, 17:03:16):
Hi!

Es ist wieder soweit: Am Di, 21.11.95 ist wieder Stammtisch der Bonner
Mud-Suechtigen. Ort ist wie immer der irische Pub im Mauspfad.
Wegbeschreibung gibts auf Anfrage. Das ist uebrigens der Pub wo man
locker 6 DM fuer 0.4l ausgeben kann... (vielleicht sollte ich mir Anti-
werbung sparen? Es gibt auch billigeres Bier dort!)
Achso, und wenn noch keiner da ist, wenn DU kommst - nicht verzweifeln,
es gibt in Bonn so einige, die sich nicht vom Terminal trennen koennen,
selbst auf die Gefahr hin, dass das Bier warm werden koennte...

Bis Dienstag! Pra.

-----------------------------------------------------------------------------



Re: Re: Treffen in Dortmund (Hardil, 20. Nov 1995, 10:13:23):
#! rn=Shakedbeer rt=816624358

ARGL!

Der Termin ist nicht okee, der Termin ist doof. Weil: ist Fussball
gleoichzeitig. Leute, checkt doch vorher den Terminkalender der 2. Liga, bevor
ihr Stammtischtermine festsetzt ! :-)))

-Hardil. Konnte noch NIE auf den Bochumer Stammtisch, weil der IMMER
zeitgleich mit VfL-Heimspielen ist. Und jetzt ziehen die Dortmunder nach :(

NNN.

-----------------------------------------------------------------------------



Re^3: Treffen in Dortmund (Yantro, 20. Nov 1995, 10:28:28):
#! rn=Hardil rt=816858803

DORTMUND und 2.Liga?? Welch Wunsch ist denn da der Vater Deiner Gedanken,
Hardil??

          Musste sein.. Yantro;)

-----------------------------------------------------------------------------



Re^4: Treffen in Dortmund (Hardil, 20. Nov 1995, 10:33:23):
#! rn=Yantro rt=816859708

ARGL. Natuerlich ist das Wunschdenken. Leider diese Saison nicht mehr
durchfuehrbar. Dafuer erwischts den FC Koeln.
Aber ich wuerd mir doch auch keinen BVB in der zweiten Liga ansehen.

-Hardil.
NNN.


-----------------------------------------------------------------------------



Re^4: Treffen in Dortmund (Hardil, 20. Nov 1995, 10:34:43):
#! rn=Bloodyharry rt=816859800

Frueher waren die Dortmunder Stammtische doch auch nciht Freitags. Sondern
Dienstags, Mittwochs, je nachdem.

-Hardil. War auf keinem Stammtisch mehr, seit die freitags liegen. Ist gegen
starre Terminpolitik.

-----------------------------------------------------------------------------



Re^5: Treffen in Dortmund (Bloodyharry, 20. Nov 1995, 10:38:30):
#! rn=Hardil rt=816860083
Richtig. Das war aber nur so drei, vier mal. Circa.

B.Harry - dem der Freitag eigendlich auch nicht so ganz gut passt.

-----------------------------------------------------------------------------



Re^6: Treffen in Dortmund (Creative, 20. Nov 1995, 10:39:33):
#! rn=Bloodyharry rt=816860310

Wie waers denn mit nem neuen Termin? :)
Sagt doch 23. Februar 2002... da kann wohl ein jeder :)
Ach nee, da kommt bei mir der Tischler, habs doch vergessen :)

-Crea- (-=> Muell)

-----------------------------------------------------------------------------



Re^7: Treffen in Dortmund (Bloodyharry, 20. Nov 1995, 10:42:58):
#! rn=Creative rt=816860373
Noe. Samstags komme ich nicht zum Treffen. :)

B.Harry

-----------------------------------------------------------------------------



Re^8: Treffen in Dortmund (Hardil, 20. Nov 1995, 10:45:45):
#! rn=Bloodyharry rt=816860578
Wie waers denn mit Treffen Montags von 08:00 bis 10:00 ?
Da hab ich immer Zeit. :-)

-Hardil. NNN.

-----------------------------------------------------------------------------



Re^9: Treffen in Dortmund (Bloodyharry, 20. Nov 1995, 10:54:21):
#! rn=Hardil rt=816860745
Das waere ein Angebot. :)
Aber dann darfst Du mit keinem Studenten rechnen - ausser er ist noch vom
Sonntag Abend dort da. ... oouuups - schon wieder ins Fettnaepfchen getreten.
*frechgrinz*

Oki, ab damit nach schmarrn.

B.Harry - labert viel wenn der Tag lang ist. und der is immer noch zu lang.

-----------------------------------------------------------------------------



Re^10: Treffen in Dortmund (Hardil, 20. Nov 1995, 10:55:29):
#! rn=Bloodyharry rt=816861261

Argl. Bloody, ICH bin STudent. Ich gehoer halt nur zu der Sorte, die auch mal
um 07:30 frisch ausgeschlafen ins MUD kommen :-)
Neeissklar.

-Hardil.
 NNN.

-----------------------------------------------------------------------------



zu Heidelberg (Digedag, 20. Nov 1995, 11:34:45):
Nun, danke erstmal Elora fuer ihre viele Muehe, ein passendes Lokal in HD zu
finden!
Ich will ihr nicht vorweggreifen, die letzten Infos zu veroeffentlichen, aber
da ich gestern mit ihr sprach, heute noch nichts von ihr in der Zeitung steht
und der Termin langsam sehr nahe rueckt, hier schon mal die Kneipe:
"Ziegler" in der Naehe vom Bismarck-Platz
Elora meint, das Parkplatzproblem sei am besten durch ein guenstiges Parkhaus
in der Naehe zu loesen. Mit Bus & Strassenbahn ist es KEIN Problem zum
Bismarck-Platz zu kommen - auch vom Bahnhof.
Im Ziegler ist's ganz nett. Und Elora meinte, die Naehe zu einem
"super-billigen" Imbiss oder so sei sehr wichtig!  ;-)
Gegen das "Beo" in Ziegelhausen war ich persoenlich, Bleelumpe!  ;-)   'S ist
nicht sehr gemuetlich dort!
Elora, bitte entschuldige, falls ich Dir vorgriff, aber Du wirst sicher noch
ergaenzende Zeilen hierzu bringen!  :-)
In Vorfreude, endlich mal an einem MUD-Treffen teilnehmen zu koennen, Euer
			Digedag, der Alchemist
			*<8-)=====


-----------------------------------------------------------------------------



Re: zu Heidelberg (Elora, 20. Nov 1995, 12:06:35):
#! rn=Digedag rt=816863685

So, hier die letzten Infos zum Treffen in Heidelberg fuer alle, die von
ausserhalb kommen und das Ziegler nicht kennen:

Mit oeffentlichen Verkehrsmitteln ist der Bismarckplatz super-leicht zu
finden, man kann ihn praktisch gar nicht verfehlen!

Das Ziegler ist in der Bergheimer Strasse und zwar fast direkt neben dem
Chinese-Fast-Food-Laden, den kann man auch nicht uebersehen! Fuer die, die
das trotzdem schaffen: die Bergheimer Strasse ist rechts, wenn man vor
Galeria Horten steht und Richtung Eingang schaut. :)

Fuer die Autofahrer:

Heidelberg sollte jeder finden (A5 - Abfahrt Heidelberg). Ich beschreibe
am besten gleich den Weg zum Parkhaus und ab da weiter, denn alles andere
kann man als Nicht-Ortskundiger vergessen!
Von der Ausfahrt Heidelberg aus haelt man sich an der ersten Ampel links
(vorbei am Renaissance-Hotel) und faert am Neckar entlang. Man muss unter
zwei Bruecken durch und direkt nach der zweiten Bruecke eine 180Grad-Wende
nach rechts machen (ist kurz vor der Stadthalle - die, die an der Halle
VORBEIFAHREN, sind ZU WEIT! :) ). Auf der linken Seite geht es dann nach
ein paar Metern ins Parkhaus P6 (Kraus-Parkhaus), das kostet 4,-DM fuer die
ganze Nacht - sollte also okay sein. Aus dem Parkhaus raus (Fussgaengeraus-
gang) geht es nach rechts auf die Hauptstrasse (Fussgaengerzone!!!) und
diese dann nach rechts bis zum Bismarckplatz, ueber den Platz rueber -
voila !

So, ich hoffe, ihr kommt zahlreich!

Elora

P.S.: An die Heidelberger, Mannheimer und anderen, die in der Naehe wohnen:
Koennt Ihr, falls Bedarf entsteht, noch den einen oder anderen Schlafplatz
zur Verfuegung stellen?! Meine Wohnung ist mit 4 Besuchern leider schon "aus-
gebucht" :(

-----------------------------------------------------------------------------



Re: Re: zu Heidelberg (Elora, 20. Nov 1995, 12:20:55):
#! rn=Elora rt=816865595


Ich Idiot!! Ich habe natuerlich vergessen, die Zeit anzugeben!!

Also: die ersten Leutchen werden so gegen 19 Uhr eintrudeln. Alles andere
ist natuerlich wie immer auch okay :)

Elora - heute mit den Gedanken nicht so ganz bei der Sache... :)

-----------------------------------------------------------------------------



Re^5: Treffen in Dortmund (Leusel, 20. Nov 1995, 15:33:31):
#! rn=Hardil rt=816860083
Hi !

Ich bin auch dafuer, den Stammtisch dieses Mal zu verlegen (und das nicht un-
bedingt deshalb, weil der Termin mir nicht passt). Der naechste 'letzte'
Freitag im Monat wird den meisten wohl auch nicht passen. Wie waers, wenn wir
diesen hier um 1-2 Wochen verschieben, damit wegen des fehlenden Stammtischs
im Detzember keine so grosse
zeitliche Luecke entsteht.

Ach, und Montags, Dienstags, Mittwochs oder Donnerstags faende ich auch eine
besseren Termin fuer den Stammtisch (Freitag war doch nur wegen Aline, wenn
ich mich nicht irre). Vielliecht sollte man das jetzt auch noch mal
ueberdenken.

Leusel (ist Freitags meistens fast nie in Dortmund)

-----------------------------------------------------------------------------



Re^6: Treffen in Dortmund (Marita, 20. Nov 1995, 20:00:35):
#! rn=Leusel rt=816878011

Jetzt reichts mir aber.

Ich hab mir muehsam die letzten Freitage im Monat als festen Termin
freigeschaufelt, und jetzt dieses Affentheater.
Wenn jetzt nochmal der leiseste Termin-Flame von irgend jemand kommt, blas
ich die Sache wieder ab. Wer auch immer sich dann
irgendwo irgendwann trifft, wird die Ehre haben, ohne meine Anwesenheit
auszukommen. :(

Ende der Durchsage
Marita

-----------------------------------------------------------------------------



Re^6: Treffen in Dortmund (Aline, 20. Nov 1995, 20:22:48):
#! rn=Leusel rt=816878011
Hallo Leusel,

also ich seh auch immer zu, dass in meinem dichten Terminplan der
Freitag fuer den Stammtisch freibleibt. Ich war uebrigens nicht
die einzige, der der Freitag besser passte.
Es gibt ja auch noch zum Beispiel ein fleissiges Bienchen,
die waehrend der Woche arbeitet. Und so leer war es beim letzten
Mal ja wohl nicht, dass wir uns gross Gedanken machen muessten,
den Termin auf einen anderen Tag zu verlegen weil kaum einer kommt.

Der Vorschlag, den Termin dieses Mal um ein oder zwei Wochen zu verschieben
halte ich fuer nicht ganz so gelungen. Zum einen fahren viele Studenten
schon im Dezember nach Hause und zum Anderen spricht ja wohl nichts dagegen
sich auch mal im Dezember (auch mal waehrend der Woche *grummel*) zu Treffen.

Also soll ich jetzt im Walhalla nur einen Tisch fuer 2 Personen bestellen?
Oder kommt ausser mir und Marita noch einer??

Aline (faende es etwas schade alleine da zu sitzen)

-----------------------------------------------------------------------------



Karlsruhe _und_ Heidelberg (Loco, 20. Nov 1995, 22:17:29):
Moin...
Ich ueberlege ja noch, zu beiden Treffen zu kommen. Versprechen kann ich nix,
eigentlich habe ich leider gar keine Zeit.

Fragen jetzt:
1. Koennen die Organisatoren mir mal Bescheid sagen, wer vrs. kommt? Um zu
sehen, ob es sich lohnt.
2. Kann ich damit rechnen, auch unangemeldet bei Bedarf eine
Uebernachtungsgelegenheit zu finden? Schalfsack&Isomatte bring ich natuerlich
mit, 1m*2m Bodenflaeche sind voellig ausreichend.

Euer SWT-Spezialist

     Loco

-----------------------------------------------------------------------------



Re^7: Treffen in Dortmund (Bloodyharry, 21. Nov 1995, 07:38:43):
#! rn=Marita rt=816894035
War das jetzt Dein 10tes Posting??

B.Harry

-----------------------------------------------------------------------------



Re^7: Treffen in Dortmund (Morgoth, 21. Nov 1995, 08:26:13):
#! rn=Aline rt=816895368
also nochmal watt von mir
ich finde wir sollten diesen termin auf jeden fall durchziehen, weil viele
'neulinge' dort erscheinen wollen. ausserdem haben wir den tisch reservieren
lassen(hoffe ich **zwinker ??werwolltedasdochgleichmachen??**). als vorschlag
zur guete, fuer die die dort keine zeit haben, wuerde ich den weihnachtstermin
auf den 15. dez. vorverlegen. wie waers denn damit?? das sind zwar kurzfristig
zwei termine hintereinander, dafuer muss der dezember termin aber nicht
ausfallen......
**wink**
morgoth
p.s.: ich kann am 24. auch erst ab ca. 2300h, weil ich vorher in muenster bin
(welch ironie des schicksals). dummerweise dienstlich(fuers rote kreuz)

-----------------------------------------------------------------------------



Re: Karlsruhe _und_ Heidelberg (Elora, 21. Nov 1995, 10:23:48):
#! rn=Loco rt=816902249

Kurz davor eine mail an Loco zu schreiben ueberlege ich mir, dass es fuer
andere Zeitungsleser vielleicht auch interessant ist zu erfahren, wer zu dem
Treffen in HD kommen wird.

Vollstaendigkeit garantiere ich nicht und es ist auch nicht bei alles sicher,
ob/dass sie kommen - also Ihr, die Ihr vielleicht jetzt auf der Liste
erscheint,
aber nicht zum Treffen, nehmt's mir nicht uebel!

Also - mit Sicherheit kommen werden:


Digedag, Oetti, Arien, Larissa, Jof, Slash, Shakedbeer, BitMaster, Jorinde,
Klonk, Mieze

Nicht sicher bin ich bei:

Cifer, Alarin, Mystix, Gundur, Garfield

Hmmmmmmmmm... ich hoffe natuerlich, dass auch noch andere von dem Treffen
Wind bekommen und zahlreich erscheinen werden!

Elora

-----------------------------------------------------------------------------



SO, KA der letzte (hoff ich) Weg usw. (Guybrush, 21. Nov 1995, 10:51:40):
Jetzt stehts mal soweit fest: Das Treffen in KA findet am Fr. den 24. Nov im
"Kleine Meierhof" statt.
Zeitpunkt: Ab 19.30 wuerd ich sagen
Anfahrt: Bin zu faul, zu schreiben, also hab ich gescannt. Karten liegen in
/open/Grapfik/karten als ka1.gif und ka2.gif
Die Karte ka1.gif zeigt einen Ueberblick ueber die Anfahrstwege nach
KArlsruhe. Die Autobahn-Abfahrt Durlach ist auch noch mit drauf.
Fuer diejenigen die aus dem Norden kommen (werden wohl mehr sein) waers
allerdings
strategisch guenstiger schon in Bruchsal abzufahren (Baustellen mit Dauerstau
bis Durlach) und dann ueber die B36 in Richtung KA zu fahren: Bruchsal raus,
unten angekommen links, durchs Kaff durch, hinter der Eisenbahnbruecke zweite
rechts (Richtung Graben-Neudorf) dann in Graben an der Kreuzung rechts und
dann immer gerade aus. Irgendwann wirds 2-spurig, dort noch ca 2.5km dann
gehts rechts ab in Richtung Stadtmitte. immer wieder grad aus, bis an den
Adenauer-Ring (Halbkreis ums Schloss im N, auch gut auf der Karte zu sehen).
Dort links (Richtung Waldstadion). Dort ein Stueck fahren, dann kommt kurz vor
ner grossen Kreuzung die UNI auf der rechtsn Seite. AM besten da reinfahrn und
Parken (an 17.00 ist die Schranke hoch).
Auf der Karte ka2.gif ist das am linken Bildrand (liegt am bloeden Falkplan).
Dort steht auch Durlacher Tor, dort kommen auch die hin, die von der Autobahn
in Durlach abgefahren sind.
Suedlich der UNI sieht man die Kaiserstrasse (fussgaengerzone) und dahinter
die Zaehringerstrasse. Dort findet Ihr die Kneipe (hoff ich) :)

SO, das muss erstmal reichen
Guybrush, kennt sich auch nicht aus.

-----------------------------------------------------------------------------



Re^7: Treffen in Dortmund (Hardil, 21. Nov 1995, 11:39:54):
#! rn=Marita rt=816894035
Senf on:

TERMINFLAME TERMINFLAME TERMINFLAME

Sorry Marita, die alteingesessene Dortmunder Crew meutert weiter :-)
Du scheinst ja so auf 180 zu sein, dass Du sogar vergessen hast, Deinen
Beitrag durchzunumerieren. :-)

Senf off

immer noch grinsend,

-Hardil.
Macht zur Not auch wieder ein 5er-Treffen mit Blockbuster, Leusel, Locutus
und Pampers im Durchblick oder im WOlf. :)

-----------------------------------------------------------------------------



Re^8: Treffen in Dortmund (Bloodyharry, 21. Nov 1995, 11:54:58):
#! rn=Hardil rt=816950394
Wieso das Durchblick??? Ich dachte Ihr haette mit der Kneipe abgeschlossen?

6tes Rad am Wagen - aeh Treff,  B.Harry

-----------------------------------------------------------------------------



Re^7: Treffen in Dortmund (Leusel, 21. Nov 1995, 12:31:54):
#! rn=Marita rt=816894035
Jehova !

Also ich will nicht, dass das Treffen am Freitag verschoben wird oder sowas.
Aber ich bin sehr dafuer, dass man sich nochmal ueberlegt, die Treffen nicht
immer Freitags zu machen. Warum ?
1. Auch dei Bochumer machen ihr Treffen immer Freitags (wenn ich mich nicht
irre). Und wer Freitags nicht gut kann, kann dann weder nach Do noch nach Bo.
2. Der Freitag ist der (abgesehen vom Samstag) am schletesten freizuhaltende
Termin. Denn dummerweise feiern die meisten Leute ihre Geburtstage oder was
auch immer am Freitag oder Samstag. Und sind sind nur selten mit dem Artument
zu beeindrucken, dass ich
an dem Tag schon ein Mudtreffen hab.

Jehova off!

Leusel (nervt und noergelt wie immer)

-----------------------------------------------------------------------------



Re^9: Treffen in Dortmund (Aline, 21. Nov 1995, 12:38:11):
#! rn=Bloodyharry rt=816951298
Wieso nicht? Dann sorgt wenigstens jemand dafuer dass der Abend nicht
zu spaet wird ;)

Aline

-----------------------------------------------------------------------------



Re^10: Treffen in Dortmund (Shakedbeer, 21. Nov 1995, 12:44:44):
#! rn=Aline rt=816953891
Also ich bin der Meinung, dass das DO-Treffen ruhig auf einem Freitag bleiben
soll.
Das ist doch ein schoener Wochenabschluss und die richtige Einstimmung ins
WE!

Shakedbeer - Freitags extra laenger in DO bleibend.

-----------------------------------------------------------------------------



Re^11: Treffen in Dortmund (Locutus, 21. Nov 1995, 13:30:08):
#! rn=Shakedbeer rt=816954284
Hiho!

Ok, dann geb ich auch mal meinen Senf zum Dortmunder Treffen ab.
Persoenlich waer es mir lieber, wenn wir einen festen Termin fuer
den Stammtisch haben, wie z.B. den letzten Freitag im Monat. Beim
letzten mal konnte ich leider nicht kommen und ich werde wohl
auch diesen Freitag keine Zeit haben. Allerdings plaediere ich nciht
fuer einen anderen Wochentag, denn Freitags kann jeder wohl mal
n Stuendchen laenger bleiben und somit verlaeuft sich die Runde nicht
schon um 10 Uhr. Ich haette aber auch ncihts dagegen, wenn wir mal
wieder irgendwann kurzfristig noch vor Weihnachten (war der 15.12.
im Gespraech?) ein weiteres Treffen veranschlagen. Von mir aus auch
im Walhalla oder im Wolf (Obwohl die da so laute Borussia Fans haben ;-)

Also Freitag hin und her. Ich schlage den 15.12. fuer ein weiteres Treffen
vor. So, das wars von mir...SENF OFF

Tschoe...
Loc.

-----------------------------------------------------------------------------



Re^11: Treffen in Dortmund (Hardil, 21. Nov 1995, 13:38:00):
#! rn=Shakedbeer rt=816954284
Hmmmm, das Argument mit dem WOchenabschluss laesst sich aber auch umdrehen.
Wie waers mt einem MG-Treffen Montagmorgens um 08:00 - damit die Woche
wenigstens gut anfaengt? :-)

Abbaissokee.

-Hardil
NNN.

-----------------------------------------------------------------------------



Re^8: Treffen in Dortmund (Marita, 22. Nov 1995, 04:51:45):
#! rn=Hardil rt=816950394

Hallo alle Flamer :)

Nicht Eure Reaktionen, sondern die Artikelserie auf "etikette" hat mich
zu diesem Artikel verlitten. Der schlechte Ton im MG, der da beklagt wird,
hat wohl in dem Zusammenhang nichts mit mir zu tun, aber wir alle koennen
uns wohl eine Scheibe abschneiden. Ich nehme also das meiste von meinem
zickigen Ton aus meiner '
'Durchsage' zurueck und gelobe Besserung.

Ich schwaeche das wie folgt ab: Ich werde mich in Zukunft mit allen, die
Lust haben, am letzten Freitag im Monat im Walhalla treffen. Aus den
Artikeln schliesse ich, dass ein gemeinsamer Termin fuer alle im
oestlichen Ruhrgebiet wohl nicht zu finden sein wird. In den wenigen
Monaten, seit ich hier angefangen habe, war das Freitagstreffen das einzige,
von dem ich ueberhaupt erfahren habe. Falls es das einzige sein sollte, das
tatsaechlich stattgefunden hat, dann war es im wesentlichen Alines Verdienst,
dass UEBERHAUPT ein regelmaessiges Treffen zustande kam. Ueber die Vorteile
der Regelmaessigkeit brauchen wir hier wohl nicht zu reden. Die Regel-
maessigkeit ist aber nur dann gesichert, wenn es Leute gibt, die sie aktiv
mittragen. An MIR wird eine solche Regelmaessigkeit sicher nicht scheitern.

Dass ich mich auf den Freitagstermin festgebissen habe, liegt daran, dass
es ihn gibt, solange ich :) zurueckdenken kann, und ich seit oktober tat
mir tatsaechlich den Termin freigeschaufelt habe, und demnach der Fortfueh-
rung der Tradition (das nennt man dann wohl Kontinuitaet) auch von meiner
Seite aus nichts mehr im Wege steht. Jegliche Terminaenderung eruebrigt
sich, da es eben doch einige Leute gibt, die sich auch weiterhin am Freitag
treffen wollen und WERDEN. Ein moeglicher Alternativtermin waehrend der
Woche wird den Freitagstermin also nicht abloesen, sondern ergaenzen.
Dies waere zwar nicht so recht befriedigend, aber da ich befuerchte, dass
sich ein Alternativtermin auf die Dauer nicht durchsetzt, bleibe ich dem
bewaehrten Termin treu, an dem im Oktober die Bude ja immerhin proppenvoll
war.

Von einigen Leuten weiss ich, dass sie jetzt am Freitag im Walhalla da sind,
und deshalb freu ich mich allem Sempf zum Trotze.

Mein zehnter Beitrach (Nein, die Durchsage zaehlte nicht)
Marita

(Ok, ok, das Jubilaeum wird wie versprochen gefeiert:
Es sind gerade noch 24 Leute da. Ich bin in der Drachenbar. Wer da hin-
kommt, bevor ich fuer heute Schluss mache, saeuft Balins Hammer auf meine
Kosten :))

-----------------------------------------------------------------------------



Re^9: Treffen in Dortmund (Marita, 22. Nov 1995, 05:08:48):
#! rn=Marita rt=817012305
(Ok, alle zu beschaeftigt. Aufgeschoben ist nicht aufgehoben.
Meine Einladung erfolgt demnaechst mal spontan auf -a.) :)

-----------------------------------------------------------------------------



Re^10: Treffen in Dortmund (Bloodyharry, 22. Nov 1995, 07:40:13):
#! rn=Aline rt=816953891
Also wirklich. Mit etwas Anstrengung kann man in jedem ein Vorteil sehen. :)
Ich kann Freitags meisst erst ab 23:00 Uhr kommen. Wenn ich mich rcht
entsinne, war dies aber so ziemlich die Zeit, zu der das Durchblick seine Tore
geschlossen hatte?

B.Harry

-----------------------------------------------------------------------------



Re^11: Treffen in Dortmund (Leusel, 22. Nov 1995, 09:31:57):
#! rn=Bloodyharry rt=817022413
Ich war zwar nur auf einem Treffen im Walhalla (was wirklich um Klassen
besser ist als das Durchblick), aber um 23:00 waren alle ausser Locutus
unt mir schon gegangen. Aber wenn Du das als Vorteil ansehen willst
Bloodyharry :)
Und damit will ich die Diskussion um den besten Termin auch endlich beenden.
Man kanns halt wirklich nicht allen recht machen.

Leusel (hat mal wieder des letzte Wort, weil die Rubrik voll ist :) )

-----------------------------------------------------------------------------



Re^12: Treffen in Dortmund (Hardil, 22. Nov 1995, 10:46:43):
#! rn=Leusel rt=817029117

Wieso Rubrik voll? :)

Also die ersten und echten Treffen In Dortmund waren sicherlich nicht Alines
Verdienst, denn da war sie meist nicht da... ?
Naja, machen wir halt einen allte-Herren-Stammtisch unter der Woche und einen
Newbie-Stam,mtisch am Freitag. Die Dortmunder Gastronomie wirds schon
gutheissen. :)

-Hardil. Zieht gepflegten Zweitligafussball jedem Stammtisch vor. :-)

-----------------------------------------------------------------------------



Re^13: Treffen in Dortmund (Locutus, 22. Nov 1995, 10:53:53):
#! rn=Hardil rt=817033603
Wollen wir diese Rubrik auch noch vollmachen? Just kidding ;-)

Willst Du 'back to the roots of the Dortmunder Stammtisch', Hardil?
Frueher wars zwar kleiner aber nicht unbedingt gemuetlicher, oder?
Ich erinner mich aber immer wieder gerne an das erste Treffen mit
Silvana (*kicher*).

Was ist mit dem 15.12.? Lohnt es sich den Termin freizuhalten?
Hat noch jemand Interesse sich im Dezember zu treffen?

Rock'n'Roll

Loc.

BTW: Was ist eigentlich mit Dwight? Hat der sich geloescht oder
     sowas aehnliches?

-----------------------------------------------------------------------------



Re^14: Treffen in Dortmund (Hardil, 22. Nov 1995, 10:55:43):
#! rn=Locutus rt=817034033

Keine Ahnung, was mit Dwight ist. Hab ihn schon lang nicht mehr gesehen.
Vielleicht studiert er mal?
15.12. klingt noch ganz gut, ist aber wieder ein falscher Wochentag. :)

-Hardil. Faend auch das Concilium ganz gut.

-----------------------------------------------------------------------------



Re^14: Treffen in Dortmund (Bloodyharry, 22. Nov 1995, 10:55:57):
#! rn=Locutus rt=817034033
Jau 15.12. is gut. Hab ich mir schon mal vorgemerkt.

B.Harry

-----------------------------------------------------------------------------



Re^15: Treffen in Dortmund (Arty, 22. Nov 1995, 18:39:59):
#! rn=Bloodyharry rt=817034157
ARGL, wieso gibt es keine Rubrik treffen.dortmund?
Da kann man ja ewig dran lesen...(und nichts fuer mich dabei...)
*ironie on*
Ich bin dafuer, dass jede Stadt (am besten entsprechend der Aufgliederung
in /secure/simul_efun.c) eine eigene rubrik treffen erhaelt, dann gibt
es doch da keine Probs mehr oder?
*ironie off*

ciao ARTY

-----------------------------------------------------------------------------



Re^15: Treffen in Dortmund (Leusel, 22. Nov 1995, 18:48:20):
#! rn=Bloodyharry rt=817034157
Jau, 15.12 hoert sich gut an. Hauptsache es ist KEIN Freitag :)

Leusel (hat gerade sein Kalender vergessen, aber weiss, dass der 1.12. ein
Freitag ist. Was kann denn dann der 15.12. bloss sein ?)

-----------------------------------------------------------------------------



Re^15: Treffen in Dortmund (Aline, 23. Nov 1995, 09:13:27):
#! rn=Hardil rt=817034143
Hallo Hardil,

zu Dwight moechte ich noch etwas sagen, also auf dem letzten Treffen
war Dwight da und ich hoffe er kommt auch diesen Freitag wieder. Fuer
alle die es noch nicht wissen, er wohnt wieder in Minden und kann
nur zum Stammtisch ohne Probleme kommen, wenn dieser am Wochenende
(nicht gerade Sonntags) stattfindet.

Ansonsten freu ich mich schon auf Freitag
Aline

P.S. Ich hoffe Guldukat, Paracelsus, Morgoth, Pampers, Dwight und die
anderen Newbies kommen auch wieder (Freitags sind ja nur Newbies da) ;)
*Ironieoff*

-----------------------------------------------------------------------------



Und wieder naht der Monatsletzte...... (Ancalagon, 23. Nov 1995, 09:33:11):
.......Mittwoch. :)
Moin erstmal!
Naechsten Mittwoch, also am 29.11., ist mal wieder MG-Treff in Bielefeld. Wie
ueblich ab 19.30 und, wie genauso ueblich, im Cafe Mint. Leider, leider wird
uns die erhabene Gletscherfee Silvana diesmal nicht mit ihrer erlauchten
Anwesenheit beehren koennen, da sie einen Auftritt im Bunker Ulmenwall hat. Ob
wir aus diesem Anlass das Treffen dorthin verlegen, koennen wir ja noch
kurzfristig im "Mint" entscheiden.
Selbsteverstaendlich sind auch wieder Nicht-Bielefelder gern gesehen (ich
hoffe z.B. auf Verstaerkung aus Paderborn (hallo Rondaschatz:)). Wer sich in
der Bielefelder Oertlichkeit nicht auskennt, maile mich bitte an, damit ich
ihn diesbezueglichg erleuchten kann......
So much for pathos.....:)
Bis denne, und lasst eiuch mal wieder ordentlich durchknuddeln...
Euer
                                            Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Re^16: Treffen in Dortmund (Silvana, 23. Nov 1995, 12:13:16):
#! rn=Leusel rt=817062500
Tja, macht, was ihr wollt. Aber wenn ihm mich nochmal im Dortmund dabeihaben
wollt, solltet ihr's bei Freitag belassen. An anderen Tagen geht's bei
mir leider gar nicht. ;(
Silvana - kommt auch gerne zu einer Stammtisch ausser der Reihe - aber nur
Freitags.

-----------------------------------------------------------------------------



Re^16: Treffen in Dortmund (Paracelsus, 23. Nov 1995, 13:21:44):
#! rn=Aline rt=817114407
Tja, wenn ich kein Auto bekomme, muesst ihr wohl auf einen
Newbie verzichten. Ich hoffe aber noch ;)

Newbie Paracelsus hat keinen Bock auf OePNV.

-----------------------------------------------------------------------------



Treffen in Hannover/Braunschweig (Hakkikkt, 23. Nov 1995, 14:11:01):
Hi,
am 30.11.95 ab ca 19.30 Uhr findet im Restaurant Xenia (Hinterzimmer ;_),
Melanchthonstr., Hannover der allmonatliche Stammtisch
aller Postspieler aus Hannover statt. In diesem Rahmen treffen sich auch
einige MUDer aus Hannover und Braunschweig!
Durian bietet eine Mitfahrgelegenheit (Braunschweig - Hannover ) an, wer mi
kann sich bei ihm melden.

Bis denne, Hakkikkt

-----------------------------------------------------------------------------



Re: Und wieder naht der Monatsletzte...... (Ronda, 23. Nov 1995, 16:17:32):
#! rn=Ancalagon rt=817115591
Ebenfalls Moin aus Paderborn!
Was hat Siolvana denn fuer einen Auftritt? Waere es vielleicht besser, sich
frueher zu treffen wg. karten oder so (Freikarten gibts nicht, Mama?)
Ok, falls noch jemand aus Paderborn kommen moechte, meldet Euch doch einfach
bei mir...
(Hoffentlich habe ich dann auch wieder nen Mini - oder ist fuer die
Mitfahrenden wirklich der Golf gemuetlicher... sagts nicht *grins-grummel!
Pah, keiner mag in meinen Minis mitfahren =;)*
So, das wars erstmal, ich schau spaetestens Dienstag nochmal im MG vorbei -
ansonsten bitte direkt anmailen an:
    jhedd1@cik.uni-paderborn.de
Bis bald,
             Ronda

-----------------------------------------------------------------------------



Knuddeldrache sucht vielleicht Asyl in Heidelberg.... (Ancalagon, 23. Nov 1995, 18:32:33):
Moin erstmal!
Zephyr hat gefragt, ob ich am WE nach heidelberg komme. ich hab mir spontan
ueberlegt, dass ich kommen koennte, wenn es eine einigermassen gute
WE-Ticket-Verbindung gibt und ich irgendwo unterkomme. Nach letzterem wollte
ich mal anfragen. Gibt nes irgendwo noch platz? Ich weiss, ich weiss, das ist
etwaqs kurzfristig, aber ich bin halt ein spontaner Mensch. Morgen such ich
mal bei der DB nach ner Verbindung......mal sehen........Schoen waers
schon....
Auf einen Barmherzigen Samariter mit 2qm Schlafplatz hoffend,
                                                 Ancalagon
                                         Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Und wieder naht der Monatsletzte...... (Baron, 23. Nov 1995, 18:43:28):
#! rn=Ancalagon rt=817115591
Hm, Ancalagon. Offensichtlich ist man einigermassen out wenn man nicht an
festgelegten Terminen rummault :). Vielleicht sollten wir in dieser Rubrik
rasch auch noch einen kleinen Termin-Disput fuer Bielefelder Stammtische
aufziehen *kicher*?
Red - kommt wenn er kann. Wenn nicht, bleibt er weg.
PS: Ups, wollte sagen: Baron.

-----------------------------------------------------------------------------



Re: Re: Und wieder naht der Monatsletzte...... (Ancalagon, 23. Nov 1995, 18:45:21):
#! rn=Baron rt=817148608
moin erstmal!
Nix da, Baron! Hier wird nicht gemeckert. Und wenn, dann persoenlich
naechsetn Mittwoch im "mint". Basta!
                                          Ancalagon :)

-----------------------------------------------------------------------------



Re^3: Und wieder naht der Monatsletzte...... (Silvana, 24. Nov 1995, 08:03:14):
#! rn=Ancalagon rt=817148721
Ihr wollt doch nicht etwa meine Abwesenheit ausnutzen und den Termin kippen?
Das kommt ja wohl gar nicht in Frage!   ;)

Ach, ja - was den Auftritt angehen: siehe anzeigen.
Silvana

-----------------------------------------------------------------------------



Re^16: Treffen in Dortmund (Guldukat, 24. Nov 1995, 16:25:54):
#! rn=Aline rt=817114407

Newbie ????????

Unglaublich! ;)

ich ein newbie .... *lach*

Ich hab schon gemuddet, da haben die meissten gerade das wort internet in der
grundschule schreiben geuebt! ;-)

Naja, es waren auf jeden fall schoene zeiten, als hier in stosszeiten maximal
30 leute eingeloggt waren!

zum treffen kann ich aber nicht .... :( vielleicht naechsten monat (obwohl,
das faellt ja irgendwie auf weihnachten ...

Dismissed

-----------------------------------------------------------------------------



Re^17: Treffen in Dortmund (Mindolluin, 25. Nov 1995, 14:47:16):
#! rn=Guldukat rt=817226754
In den Stosszeiten 30 leute? Das ist ja erst in letzter Vergangenheit
gewesen. *grins Guldie*

-----------------------------------------------------------------------------



Re^17: Treffen in Dortmund (Bloodyharry, 26. Nov 1995, 23:47:50):
#! rn=Guldukat rt=817226754
Noe, das naechste Treffen soll am 15.12. sein.

Ich war ja schon eine Weile nicht mehr zum Treffen erschienen, weil ich
Freitags immer erst ab 23:00 Uhr kommen kann. So hat mich die grosse Anzahl
der Mudder doch ueberrascht. Wenn es noch ein paar mehr werden, koennen wir
zb. den Bochumern Konkurrenz machen. :)

Opapirat Bloody Harry

-----------------------------------------------------------------------------



Falls jemand etwas sehen sollte... (Loco, 27. Nov 1995, 14:52:15):
Wie einige mitbekommen haben, wurde mir ja zwischen dem Karlsruher und dem
Heidelberger Treffen am letzten Wochenende in Hochstetten bei Karlsruhe mein
Gepaeck geklaut. Die Sachen haben immerhin einen Wiederbeschaffungswert von
rund 1000 DM.

Unter den geklauten Gegenstaenden befand sich aber auch ein Einzelstueck
eines inoffiziellen MG-T-Shirts - Motiv ist eine Landkarte des MG, nicht
dieselbe wie auf dem offiziellen, sondern eine neuere, groessere, aber in
aehnlichem Stil. Falls also im Raum Karlsruhe ein solches T-Shirt einmal
gesehen wird, kann man sicher davon ausgehen, dass es meins ist. Bitte
versucht dann, herauszufinden, wo der Besitzer es her hat und benachrichtigt
mich augenblicklich.
Weitere auffaellige Gegenstaende: Ein T-Shirt mit Apfelmaennchenmotiv und
Aufdruck von Spektrum der Wissenschaften, ein schwedisch-deutsches
Woerterbuch, Buch Nils Holgersson im Original (schwedisch, Verlag Bonnier
Carlsson, Ausgabe von 1994). Falls also mal irgendwas davon irgendwo
auftaucht, man weiss ja nie.

Man soll die Hoffnung nicht aufgeben...

   Loco


-----------------------------------------------------------------------------



Re^18: Treffen in Dortmund (Hardil, 27. Nov 1995, 16:31:14):
#! rn=Bloodyharry rt=817426070

Aeh B. Harry: Bochumer? Welche Bochumer? ;-)

-Hardil.

-----------------------------------------------------------------------------



Stammtisch in bochum (Augra, 27. Nov 1995, 17:04:07):
Eigentlich.......

waere ja am Freitag, dem 01.12.1995 wieder Stammtisch in
Bochum. Nun wurde aber von einer jungen, koelschtrinkenden,
knielaedierten elfe (:)) die Bitte an mich herangetragen, das
doch diesmal schon am Donnerstag zu veranstalten. Hat jemand
dazu ne Meinung?

Augra
nn


-----------------------------------------------------------------------------



Re: Stammtisch in bochum (Aline, 28. Nov 1995, 08:28:47):
#! rn=Augra rt=817488247
Hallo Augra,

Meinung :)

Aline

P.S. Mir ist der Donnerstag mit dieser Elfe lieber als der Freitag ohne ;)

-----------------------------------------------------------------------------



SB-Stammtisch (Horschd, 28. Nov 1995, 22:18:04):
Hiho.

Hier ist noch (vielleicht etwas kurzfristig) das Datum des naechsten
Saarbruecker Stammtisches: Freitag, 1.12.95 (also diesen Freitag!)
Ich hoffe, ihr kommt Haufenweise :))

Bis Freitag,

Horschd.

P.S.: Treffen ist wie immer um 20.00 im Canossa. Und fuer alle
     Nicht-Saarlaender, die kommen wollen, gibts bei mir auch ne
     Wegbeschreibung, falls wer eine braucht...

-----------------------------------------------------------------------------



Stammtisch in Zuerich (Zillus, 29. Nov 1995, 01:11:13):
Nun gibts auch in Zuerich einen MorgenGrauen-Stammtisch! Endlich!! Heute
abend um 20.00 Uhr treffen wir uns im Brueggli (naehe Bahnhof Oerlikon). Wer
das nicht kennt, kann sich an Zuerileu oder mich wenden.
Wer aus weit entfernten Staedten anreist, kann natuerlich uebernachten, Platz
haben wir schon. Zuerich ist immer eine Reise wert :-)
Markiert also den heutigen Abend in Eurer Agenda, und kommt!

Zillus

-----------------------------------------------------------------------------



Re: Re: SB-Stammtisch (Horschd, 29. Nov 1995, 13:12:10):
#! rn=Creative rt=817631473
Scheibbs. ? Wasn das?

Horschd (auf dem Schlauch stehend - Einzeiler verfassend)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in bochum (Paracelsus, 29. Nov 1995, 13:19:04):
#! rn=Aline rt=817543727
DO oder FR ist mir auch egal. NUR ENTSCHEIDET EUCH RECHTZEITIG !
Para.

-----------------------------------------------------------------------------



Re^4: Stammtisch in bochum (Aranya, 29. Nov 1995, 16:57:27):
#! rn=Hardil rt=817652917
Aber zwischen BVB und SCF besteht eine Fan-Freundschaft. Zumindest behaupten
das die SCF-Fans. Den BVB-Leuten ist's scheint's egal...

*grinst*

--> muell
Aranya
     NNN

-----------------------------------------------------------------------------



Stammtisch in Bochum (Augra, 29. Nov 1995, 17:01:04):

Ok, ich sag jetzt einfach mal, obwohl, wer hat sowas eigentlich zu
entscheide?, der naechste Bochumer Stammtisch ist am
DONNERSTAG, 30.11.1995 um 20.00 Uhr im Clochard.

Ich hoffe, es finden sich trotz Terminsverlegung einige ein:)

Augra

-----------------------------------------------------------------------------



Re^5: Stammtisch in bochum (Engywuck, 29. Nov 1995, 17:06:44):
#! rn=Aranya rt=817660647
Kurze Zwischenfrage: Was sind denn BVB-Fan? SCF kenn ich ja noch als
"Self-consistent-field". Obwohl...Da Fan sein? Dann wuerde ich lieber MP2
empfehlen...
Aber mit BVB raetsel ich immer noch...

Engywuck, die theoretische Chemikerin

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Har, 29. Nov 1995, 17:28:51):
#! rn=Augra rt=817660864
Tja, ich schau mal ob ich es acuh mal schafffe :)

Har

-----------------------------------------------------------------------------



Re^3: SB-Stammtisch (Creative, 30. Nov 1995, 08:43:46):
#! rn=Horschd rt=817647130

Scheibbs, das is die Stadt, fuer die das KZ 'SB' steht. ganz einfach. :)
(und net etwa Saarbruecken oder wie das auch heissen mag.)
-Crea-, grinsend

-----------------------------------------------------------------------------



Re^6: Stammtisch in bochum (Loco, 30. Nov 1995, 11:41:06):
#! rn=Engywuck rt=817661204
BVB - Berliner Verkehrsbetriebe (aufgeloest, Ost-Berlin)
BVB - Basler Verkehrsbetriebe

oehm :-)

-----------------------------------------------------------------------------



Re^5: Stammtisch in bochum (Hardil, 30. Nov 1995, 12:47:29):
#! rn=Aranya rt=817660647

Hmmm, Aranya, mit wem haben die 'BVB'-Fans keine Fanfreundschaft?
Meines Erachtens unterstuetzen sie auch so SUper-Teams wie
* den Hassevau (aeh FC Seeler 95)
* Rot-Weiss Essen
* 1860 Muenchen
* FC Meineid 04
Und ich muss in dieser Stadt mit 600.000 Uebergeschnappten leben...

Neeissklar.

-Hardil
 Wandert nach tief im Westen aus, wenn er richtigen FUssball sehen will.

-----------------------------------------------------------------------------



Re^6: Stammtisch in bochum (Raffi, 30. Nov 1995, 14:36:01):
#! rn=Hardil rt=817732049

Hast Du was gegen '60 gesagt, Hardil ?????



H.

-----------------------------------------------------------------------------



Re^7: Stammtisch in bochum (Bloodyharry, 30. Nov 1995, 14:45:54):
#! rn=Raffi rt=817738561
...dann sind sie doch in bester Gesellschaft    ;)

B.Harry

-----------------------------------------------------------------------------



Muenchen! (Kiwi,  2. Dez 1995, 21:41:35):

Hi!

Naechste Woche gibts in Muenchen mal wieder ein Treffen (wird ja langsam auch
Zeit :-) ). Ich hab jetzt einfach schonmal mit Robo was grob ausgemacht - und
hoff jetzt mal wer gern kommen mag hat auch Zeit.
Also wir haben uns auf
   naechsten DO, 7.12., 20h im Vollmond
geeinigt. (Info fuer die dies nicht wissen sollten: Vollmond ist
Schleissheimerstr. 82; U-Bahn Theresienstr.)

So. Und alle kommen, gell?

Kiwi.

-----------------------------------------------------------------------------



Traditionstreffen in Koeln (Yantro,  4. Dez 1995, 11:29:40):

Hallo meine lieben MudderInnen,

wie schon erstmals im letzen Jahr wird auch wie jedes Jahr dieses Jahr ein
Stammtisch in Koeln stattfinden und zwar regelmaessig einmal im Jahr! ;)

Als Termin haben Zardoz und ich einfach mal was festgelegt:

              FREITAG, den 29.12.1995

                     19.00 UHR

                 im Borsalino !!!

Da es sich beim Borsalino um eine doch recht nette
Bistro/Pizzeria/Cafe-Variante handelt, die viele Termine haben ist es leider
erforderlich, vorzubestellen. Dies sollte aber bis kurz vor Weihnachten kein
Problem sein (laut Inhaber)...

Deshalb bitte ich DRINGENDST alle, die kommen wollen so frueh wie moeglich
mir eine Mail darueber zu schicken... Es koennen natuerlich auch spontane
Gaeste kommen, aber zumindest die Groessenordnungen sollten feststehen.

Das Borsalino ist sowohl mit dem Nahverkehr als auch zu Fuss sehr gut zu
erreichen. Autofahrer kriegen einen garantierten kostenfreien Parkplatz ca.
5-10 Minuten Fussweg entfernt.

Aehmmm vergessen:    Das Borsalino ist auf der Zuelpicherstrasse zwischen
Zuelpicher Platz und Dasselstrasse/Bahnhof Sued ! Damit ist sogar ein
BundesBahnAnschluss gewaehrleistet.

Eine Terminaenderung ist eigentlich nicht mehr moeglich (nur im Notfall),
also vergesst die Anmeldung per mail bei mir nicht!!!

Ich hoffe auf reiches Erscheinen, denn es ist der erste Stammtisch in Koeln,
der mal nicht erst 2 Tage vorher geplant ist...

                                    Yantro;)

P.S.: Nochmal... wenn ihr eventuell kommen wollt, dann meldet euch an...
absagen koennt ihr immer noch, aber wir haben lieber zuviel statt zuwenig
Tische bestellt !!!

-----------------------------------------------------------------------------



Re: Muenchen! (Raffi,  4. Dez 1995, 13:04:08):
#! rn=Kiwi rt=817936895

Kann man das nicht einen oder 2 tage Spaeter machen ? - SchLaDo ist einfach
deppert - und ausserdem bin ich bis Freitag in Erlangen :(

Gruss
H.

-----------------------------------------------------------------------------



Stammtisch (Anakin,  4. Dez 1995, 13:36:09):
########################################################
#                                                      #
# So Leute, am naechsten Mittwoch isses wieder soweit: #
#                                                      #
#                                                      #
# D E R  E I N Z I G  W A H R E  S T A M M T I S C H   #
#                                                      #
#         in Berlin, im 'Seeblick' um 20.00 Uhr.       #
#                                                      #
#                    am 6.12.1995                      #
#                                                      #
# Wie es oben steht diesmal SCHON um 20.00. Also Leute #
# nicht erst um 22.00.  Dann bin ich ja schon blau.;)  #
#                                                      #
# Anakin                                               #
#                                                      #
########################################################

-----------------------------------------------------------------------------



Re: Re: Muenchen! (Dauergast,  5. Dez 1995, 08:45:45):
#! rn=Raffi rt=818078648
Hi!

Raffi ist also in Erlangen, soso??!

Schoen, dass man das aus der Zeitung erfahren muss! Und wo sind jetzt die
Erlanger Magier, um den Muenchner Spionen anlaesslich eines schnell
organisierten Treffens die Leviten zu lesen??

Dauergast

-----------------------------------------------------------------------------



Re^3: Muenchen! (Anthea,  5. Dez 1995, 13:16:04):
#! rn=Dauergast rt=818149545
Keine Ahnung.... gibt es ueberhaupt Erlanger Magier? :)

-----------------------------------------------------------------------------



Re^4: Muenchen! (Highlander,  5. Dez 1995, 13:16:59):
#! rn=Anthea rt=818165764
Also ich kenne keine. Woher auch?
  HrT

-----------------------------------------------------------------------------



Re: Traditionstreffen in Koeln (Schrumpfi,  5. Dez 1995, 20:17:04):
#! rn=Yantro rt=818072980
Wenn jemand einen Pennplatz fuer mich hat und mich vom Bahnhof abholt, komm
ich auch. :-)
Schrumpfi hat ueberhaupt fast gar keine Ansprueche. :-)

-----------------------------------------------------------------------------



Treffen in DO? (Paracelsus,  5. Dez 1995, 22:10:01):
Hi.
Gibt es denn nun schon was definitives zum naechsten DO-Stammtisch?
Bleibt das nun beim 15., faellt der naechste aus, oder wie oder was?

Paracelsus (wartet auf den naechsten Stammtisch).

-----------------------------------------------------------------------------



Re^3: Muenchen! (Marcus,  5. Dez 1995, 23:44:11):
#! rn=Dauergast rt=818149545
Es sind noch viel mehr Mudder in Erlangen als du glaubst ;)
Aber hauptsaechlich TAPPMudder und zwei Realms of the Dragon mudder ... ;)

Marcus

-----------------------------------------------------------------------------



Re: Treffen in DO? (Marita,  5. Dez 1995, 23:50:54):
#! rn=Paracelsus rt=818197801
Tach,
da viele ihn wuenschen, WIRD der definitiv stattfinden. Denn selbst wenn
er nicht "offiziell" einberufen wird, duerften an dem Termin dermassen
viele einfach DA sein, dass er somit auch stattfindet.
(Oeh, betrachtet ihn hiermit als offiziell einberufen. Man trifft sich
am Freitag, 15.12. ab 20 Uhr im Walhalla.)
Tischreservierung ist uebrigens schwierig. Normalerweise ist es (laut Aus-
sage des Wirtes) aber keine Schwierigkeit, um acht Uhr abends einen freien
Tisch zu bekommen. (Da hatten wir im Oktober wohl einfach Pech)

Bis denne
Marita

-----------------------------------------------------------------------------



Re: Re: Treffen in DO? (Bloodyharry,  6. Dez 1995, 07:36:46):
#! rn=Marita rt=818203854
Vieleicht koennten die Ersten gleich um 20 Uhr die notwendigen 3 bis 4 Tische
zusammenstellen, damit man spaeter noch genuegend Platz hat? Hardil und ich
werden es wohl wieder erst um ca 23 Uhr schaffen, zum Treffen zu kommen. Dann
ist wohlmoeglich das Walhalla dicht daran, eine "Stehparty" zu werden.
Als Tischreservierung wuerde ich das dann weniger bezeichnen - eher als eine
Art Tischbesetzung. :)

Bloody Harry
...und 'ne Buddel voll Rum!

-----------------------------------------------------------------------------



Re^4: Muenchen! (Dauergast,  6. Dez 1995, 08:49:01):
#! rn=Marcus rt=818203451
Soso, noch mehr MUDder?
Und warum geht dann GAR NIX zusammen, kein Stammtisch, keine haeufigeren
Treffen??

Sind wir Franken wirklich so kontaktscheu wie allgemein behauptet oder haben
ALLE IMMER so viel zu tun und nie Zeit??

DG
(geht verschwenderisch mit Fragezeichen um ??)

-----------------------------------------------------------------------------



Treffen in Koeln (Yantro,  6. Dez 1995, 09:31:06):

Nochmal der Aufruf, nicht zu vergessen, sich fuer den

                      29.12.1995 um 19 UHR

bei mir mit einer mail anzumelden, damit ich das Bistro mit einer
Abschaetzung der Teilnehmerzahl vorwarnen kann.... die haetten das im
Idealfall gerne bis zu einer Woche vorher gewusst.... (ich sah Panik in den
Augen des Kellners, als ich meinte "10-30 Leute" ;) )

                  Yantro:)

P.S.: Genaue Wegbeschreibung gibt es von mir dann auch per mail ;)

-----------------------------------------------------------------------------



Re^5: Muenchen! (Kiwi,  6. Dez 1995, 11:45:12):
#! rn=Dauergast rt=818236141

Aehm.
Moment mal.
Ist ja ganz interessant wer sich da (?) fuer ein Muenchner Treffen
interessiert... Komm zwar nimmer ganz mit um was es geht... :-)
Aber solang genug Leute kommen ist das ja egal.

Kiwi.

-----------------------------------------------------------------------------



Re^4: Muenchen! (Arty,  7. Dez 1995, 10:50:49):
#! rn=Marcus rt=818203451
In Erlangen sind nur Verrueckte ! :))

ARTY, der immernoch eine 'kleine Meerjungfrau' von 2 Zentner vor sich
rumplantschen sieht und sich auch fuer nicht ganz normal haelt :)))

-----------------------------------------------------------------------------



Re^3: Treffen in DO? (Hardil,  7. Dez 1995, 13:07:34):
#! rn=Bloodyharry rt=818231806
Hmmm, Bloodyharry,
ich find es zwar nett, dass Du schreibst, dass ich erst so gfegen 23 Uhr und
mit Dir zusammen im Walhalla erscheinen werde - aber hab ich da ein Date
zwischen uns verpasst?
WOlltest Du mich vorher noch auf nen Gluehwein am Weihnachtsmarkt einladen?

grinsend: Hardil

-----------------------------------------------------------------------------



Re: Treffen in DO? (Morgoth,  7. Dez 1995, 18:31:04):
#! rn=Paracelsus rt=818197801
hmm....erstmal ne frage, was soll das beim aufruf von reply ??
> --------------------------
>#! rn=Paracelsus rt=818197801
>#--------------------------
hmm? egal!
also der 15. ist definitiv stammtischtag.
wie die letzten male auch, 2000h Walhalla
dafuer faellt der 29.er stammtisch aus.
**wink**

-----------------------------------------------------------------------------



Re: Re: Treffen in DO? (Paracelsus,  7. Dez 1995, 18:41:16):
#! rn=Morgoth rt=818357464
rn = reply name
rt = reply time

Oder so aehnlich.
  Para.

-----------------------------------------------------------------------------



Re^3: Treffen in DO? (Loco,  7. Dez 1995, 19:15:42):
#! rn=Paracelsus rt=818358076
Genau das, das ist eine Statuszeile, die nachher fuer den richtigen Bezug
sorgt. Sobald ich dazu komm, regel ich das etwas anders, aber vorerst muss sie
noch drinbleiben.
  Loco
P.S.: Nein, das ist nicht neu - neu ist nur, dass gleich beim Starten des
Editors der bereits vorhandene Text angezeigt wird...

-----------------------------------------------------------------------------



Mal wieder Koeln (Yantro,  8. Dez 1995, 16:50:10):

So! Hier also nochmal der Aufruf, so zahlreich wie moeglich zum

                         STAMMTISCH im herrlichen KOELN

                                am 29.12.1995 (Freitag)

                                      19 Uhr

                                        im

                                     Borsalino :)

zu erscheinen.

Wegbeschreibung kommt wie immer per mail von mir auf anfrage!

Meldet euch wenns geht bei mir auch mit ner mail an, damit wir entsprechen
vorbestellen koennen....
(Meldet euch auch an, wenn es noch nicht 100% sicher ist)

                                         Yantro:)

-----------------------------------------------------------------------------



Darmstadt (Roesti,  8. Dez 1995, 19:58:55):
Wenn mal jemand Lust hatt koennte mann ja auch mal wieder was in Darmstadt
machen...

Just 'n Idea...Roesti.

P.S.:Es gibt sie Doch...:)

-----------------------------------------------------------------------------



Re: Darmstadt (Felagund,  9. Dez 1995, 00:24:51):
#! rn=Roesti rt=818449135
darmstadt waer Klasse..Tryfan will bestimmt auch mal sein buch wiederham ;)
Befuerworter aber organisierunfaehig...Fela ;)

-----------------------------------------------------------------------------



Treffen in ..Nuernberg ! (Dauergast,  9. Dez 1995, 14:18:01):
Hi Frankniks!

Nachdem sich Raffi erneut ein paar Tage in Erlangen aufhaelt, hat sich eine
kleine, aber unfaehige Planungsgruppe bemueht, ein Treffen auszumachen.

Leider wurde mitten in der Diskussion am Freitag abend die Leitung gekappt,
so dass die exakte Zeit noch in den Sternen steht.

Deshalb als Vorwarnung fuer alle, die sich an Raffi, Escubar und mich
anschliessen wollen:
MONTAG, 11.Dezember AD 1995 wird Nuernberg unsicher gemacht!!
Ort und Zeit werden hier relativ KURZFRISTIG (ja, Flexibilitaet ist gefragt!)
im Laufe des Montags kundgetan.

Wer via MUD bis dahin nicht mehr erreichbar ist, MUDmail an mich, dann kann
er auch via Teflon verstaendigt werden.

Dauergast

-----------------------------------------------------------------------------



Re: Mal wieder Koeln (Janice,  9. Dez 1995, 18:32:14):
#! rn=Yantro rt=818437810
Huhu Koelner !!!
Ich spiel ja mit den Gedanken, mir euren Stammtisch anzutun, aber es
wuerde mich mal interessieren, ob ihr zu Silvester auch was macht ??
Schreibt mir mal ne Mail, wenn da irgendwo noch ne Party steigt

Janice, wuerde gern ein paar Tage nach Koeln kommen, nicht nur zum Stammtisch

-----------------------------------------------------------------------------



Re^4: Treffen in DO? (Bloodyharry, 10. Dez 1995, 01:26:12):
#! rn=Hardil rt=818338054
Hmm, dass wir zusammen kommen habe ich doch garnicht geschrieben - eben nur
zur gleichen Zeit. Du sagtest mir doch, dass Du sportsmaessig nicht frueher
Freitags koenntest, oder? Ich bin mir halt nicht mehr so ganz sicher,ob dass
so nun stimmte - ich bekomme wohl sowieso bald die alzheimer...?
Mit dem Date vorher wird allerdings nix, da ich wirklich nicht frueher kommen
kann. Also kein Gluehwein. Aber vieleicht kann ich Dich zu einem Bierchen ins
Walhalla einladen?

Aber nochmal meine Frage: Wie sieht es mit einer "Tischbesetzung" durch frueh
kommende Mudder aus?


Bloody Harry

-----------------------------------------------------------------------------



Re^5: Treffen in DO? (Paracelsus, 10. Dez 1995, 21:10:25):
#! rn=Bloodyharry rt=818555172
Tja, ich weiss noch nicht genau, wann ich komme, aber allzu spaet wirds wohl
nicht werden. Da wird sich schon eine "Tischbesetzung" organisieren lassen.
Wer Aerger machen will wird gezappt! ;)

Paracelsus, dunkel wie eh und jeh.

-----------------------------------------------------------------------------



Tradittionsstammtisch in Koeln ;) (Yantro, 11. Dez 1995, 11:41:50):

Hallo meine lieben MittrinkerInnen auf dieser Scheibe called MorgenGrauen!

Hier nu mal ein kleiner Zwischenstand in Sachen Stammtisch in Koeln, den zu
versaeumen mehr als eine TODSUENDE waere und das erst Recht, wenn sich so
viele nette Leutchen angekuendigt haben...

Er findet statt am

                  29.12.1995  um  19 Uhr

                      im Borsalino
                        in Koeln

Wegbeschreibungen gibbet von mir per mail, aber dat iss ja sowieso klar.

Wer sich bis jetzt noch nicht entscheiden konnte, teilzunehmen, der sollte
sich folgende Ueberlegungen mal zu Gemuete fuehren:

- Wann hat man schonmal die Chance, in RL festzustellen, ob unser Dom Ben
wirklich so igitt ist, wie sein Name es immer kundtut?

- Lasset euch knuddeln von unserer Supermaus Semira und seit danach reif fuer
eine Therapie bei der MG-Psychologin Engywuck, die versprach, sich auch in
ihre Netzstruempfe zu werfen, aber die Peitsche zu Hause zu lassen (oder hat
sie sich da versprochen?)

- Baboon klettert von seinem Baum herunter und bringt uns elfische Gruesse

- Tangalur, ein Mann wie ein Baum und sanft wie ein Steinbeisser... immer auf
dem neusten Stand der MPA (er muss nur noch 250 Artikel lesen ;) )

- Skipper, die Legende unter den Spielern.. lange war er die Nummer eins der
Spielerliste, doch dann machte er sich daran, die Seherwelt zu erkunden! Nun
hat er auch dort den Level 30 erreicht.

- Mr. lova lova persoenlich laesst sich dazu herab, in Koeln ein paar Runden
um uns zu huepfen und uns mit der Verbreitung seiner Sexuallockstoffe zu
begluecken... habt also mehr als ein Auge auf den lieben Oetti ;)

- Kotzbrocken kommt zwar aus Duesseldorf, aber will uns zeigen, dass er gar
nicht so einer ist.

- Depechemode aus dem fernen bergischen Land sorgt fuer den "kulturellen"
Teil des Stammtisches ;)

- Bambulko haben wir extra trockenlegen lassen, damit er nicht die ganze
Stadt waessert... was von ihm in Trockenmasse ueber ist, dass koennt ihr nur
hier in Koeln bestaunen.

- Der DUNKELE DAEMON persoenlich laesst sich herab und gibt uns Wuermern die
Ehre, ihm zu huldigen mit... aeh.. Zardoz, wie hiess der Spruch nochmal?

- ich komm auch, aber wen interessiert das schon!

- Die lieblichte aller Gletscherfeen gesellt sich an dem Abend zu uns und
wird mit ihrem toedlichen Laecheln jede Kerze im Raum verblassen lassen...
(das mit dem 'lieblichsten' ist relativ, denn Silvana ist auch die einzige im
MG)

- Im Gefolge der Gletscherfee begibt sich das Knuddeldrachenbaby Ancalagon in
die Niederungen unserer Stadt und hat versprochen, nur nach groessenem Bitten
auf den Tischen zu tanzen und alte nordische Weisen von sich zu groehlen ;)

- Verpasst auf keinen Fall das fanatische Flackern in Orktoeters Augen, wenn
er mit Baboon ueber seinen Wolpie philosophiert...

- Nirdavo, ein belesener Mann, aber auch einer des Schweigens, der sich aber
der Geselligkeit nicht zur wehr setzen konnte.

- Nicht irgendeiner, neeeeeinnn sondern DER Grimmborn hinself wird bei uns
sein und endlich koennen all die Fragen eroertert werden, die uns so lange
unter den Naegeln brennen, wie: Ist der wirklich so weise, wie er immer tut?
Glaubt er vielleicht doch an Goetter? Wieso fuehlt er sich geschmeichelt, wenn
man ihn als 'alten Schweden' beschimpft???

- Der TOETER geht um... lasst uns Platz fuer die Leichen machen!

- Jurry, das TIER wird sich von seiner besten Seite zeigen... wenn er sie
denn irgendwo unter der dicken Blutschicht auf seiner Haut findet! ;)

- Arien, ich sag immer 'kleine Hochzeitsfee', wir sich auch nicht nehmen
lassen, in unserer Mitte zu erscheinen. Wenn Sie nicht gewesen waere, dann
waer Vrai vielleicht heute noch nicht verheiratet, aber das kann sie euch
selber erzaehlen...

- Schrumpfi macht sich auf aus dem fernen Sueden in das Zentrum der guten
Laune in Koeln, um sich zu ihrem Mann und Geliebten und Sohn zu gesellen und
uns durch ihren Charm zu beSTECHEN, der den Voodoonadeln um nichts nachsteht.

- Als besonderen Ehrengast begruesse ich: Den Schoepfer einer der schoensten
Gebiete des MorgenGrauens, den Beherrscher der Hydra, dem Meister unter den
Questprogrammierern uuuunnd: Wohl seine groesste Leistung: Er ist mein Papa ;)
Lasset uns Puma bei uns willkommen heissen.


Soweit die bissherigen Anmeldungen... lasst euch das alles nicht entgehen..
kommt nach Koeln... feiert mit uns!

Entgegen aller Geruechte ist es moeglich, auch OHNE anmeldung per mail bei
mir zum Stammtisch zu kommen, aber es waere sozialer fuer den armen Besitzer
des Borsalinos, wenn er eine Vorwarnung ueber die Ausmasse unserer Gruppe
bekommt...

Also MAILT mir, dass Ihr kommt! Auch, wenns nicht 100% ist ;)

                               Yantro.

-----------------------------------------------------------------------------



Re: Tradittionsstammtisch in Koeln ;) (Yantro, 11. Dez 1995, 11:51:14):
#! rn=Yantro rt=818678510

Aehmm haett ich fast vergessen, ist aber wichtig:

NOCH GIBT ES SCHLAFPLAETZE, DIE FREI SIND !!!

Es ist aber auch sonst kein Problem, unterzukommen (hoff ich) ;)

                       Yantro ;)

-----------------------------------------------------------------------------



Re: Treffen in ..Nuernberg ! (Dauergast, 11. Dez 1995, 14:44:25):
#! rn=Dauergast rt=818515081
Hi Muddies in Franken!

Leider (mal wieder) Fehlanzeige!!
Raffi kommt erst morgen nach Nuernberg, Escubar konnte ich bislang (unser
Server hatte Probleme) nicht mehr erreichen, und andere Nuernberger/Erlanger
haben keine Zeit!

Aber: Anthea und Highlander spielen heute abend in Erlangen im Pub
'The Fat Lady Sings' suedliche ecke Bohlenplatz (neben SUS-Reisebuero) mit
ihrer band, ab etwa 21:00 Uhr. Vielleicht liesse sich da ja was machen?

Und irgendwann gibt's auch noch nen regelmaessigen Stammtisch in Franken!

Dauergast (gibt nicht auf ...aber bald!)

-----------------------------------------------------------------------------



Re^6: Treffen in DO? (Bloodyharry, 12. Dez 1995, 14:59:40):
#! rn=Paracelsus rt=818626225
Jaaa, Para Du bist ein Schatz! uups sorry *verlegen grins*
Das mit dem zappen is schon ok so, wenns fuer eine gute Sache ist, gilt es
nicht als PK ;))

bis spaeter

-----------------------------------------------------------------------------



Stammtischgaeste in Koeln #2 (Yantro, 12. Dez 1995, 16:50:30):

Hallo meine lieben Mittrinkerinnnen und Saeufer,

Dienstag Nachmittag ist und die Auswertung meines Briefkastens hat folgende
neue Gaeste in meiner erlauchten Liste erscheinen lassen:

- Nachdem Grimmborn angekuendigt hat, dass er einen Vortrag ueber die
Nichtexistenz der Goetter im MG halten wollte, hat es sich JOF persoenlich
nicht nehmen lassen, sich fuer den Stammtisch anzumelden und diesem Vortrag
beizuwohnen.

- In Jofs gefolge darf Larissa nicht fehlen und wir werden sie auch nicht
missen, denn sie wird dabeisein ;)

- Wenn ein Gott kommt, dann ist der andere meist nicht in der Ferne und so
kommt es, dass unser in diesem Jahr frischgekuerter Questmagier und
Waffenmeister BOING in seiner Anwesenheit bei uns erstrahlt! Huetet euch also
vor eurer flinken Zunge, denn er waeren nicht seine ersten rituellen Morde,
die er begaenge ;)

- Wir alle sind ja irgendwie Spielkinder, aber auch unter denen gibt es ein
Ultimum und das heisst Hobo ;) Mal schaun, was sie mit uns spielen will...

- Felagund hat zugesagt und das ist nett. (argl.. mir faellt nix ein)

- Hab ich von der einmaligen Silvana gesprochen, so hab ich verschwiegen,
dass es da eine kleine suesse Eisfee gibt, die uns hier im MG schon lange
nicht mehr aufgesucht hat und die nach so langer Zeit auch schon etwas
angetaut aussieht: Unsere liebe Fenchurch ist wieder da!


Das Treffen findet immer noch am 29.12 um 19 uhr in Koeln im Borsalino statt
und wenn ihr mich endlich mal mailen lasst, dann haettet ihr auch alle schon
eure Wegbeschreibung ;)

                       Yantro

-----------------------------------------------------------------------------



KOELN MAL WIEDER.... (Yantro, 14. Dez 1995, 11:20:14):

So meine Lieben Noch-nicht-Gaeste,

anlocken moechte ich euch mit einer weiteren Liste der Willigen, die keinen
Weg scheuen, um an dem groessten Ereignis des Jahres teilzunehmen:

         Der TraditionsStammTisch in Koeln
               immer ende des Jahres

Diesmal:

                       am 29.12.1995 um 19 Uhr
                                 im

                Borsalino (auf der Zuelpicherstrasse)

Neu angemeldet haben sich:

- Janice, ihre Lieblichkeit in Person! Wie lieblich sie aber in aller
Zweisamkeit sein kann, davon kann mit Sicherheit der Todesdrache mehr
erzaehlen als ich....

- Snuggle schwingt seine Hufe in Richtung Koeln und bringt natuerlich auch
Etain mit, denn die 2 sind nur im Doppelpack zu haben!

- MagicOlli kommt auch, um sich von Kotzbrocken die Schoenheiten der Koelner
Stadt zeigen zu lassen... das kann nur in einer Kneipentour enden, aber sicher
schauen die zwei auch mal bei uns rein ;)

- Ryne will uns vielleicht was zu Schuhen erzaehlen, aber es kann auch sein,
dass er mal wieder ueber seinen legendaeren Hydraschlachtplan philosophiert
(nicht, dass Puma das sieht ;) )

- Der Meister des fernen Westens, der uns immer alle so zum Narren haelt: Li
wird kommen und sicher auch Ni einen hauen ;)

- Ihr kennt Nasim nicht??? Ich auch nicht, aber das wird sich aendern
*erroet*

- Shakedbeer und Bitmaster hat es auf dem letzten Stammtisch in Koeln so gut
gefallen, dass sie wieder kommen werden und diesmal sogar Qnyberth mit
anschleppen werden...

- Xera kommt und das alleine ist ja schon ein Grund zur Freude, aber.....

- Dancer kommt auch und das setzt dem ganzen noch das Kroenchen auf ;) Damit
sind zweieinhalb Sandtiger anwesend... was will man mehr?


Damit hat sich die Liste auf 41 Personen erweitert und weil sicher auch viele
spontan erscheinen werden, bestimmt ich hiermit, dass der Stammtisch zu einem
offiziellen Weihnachtlichem MUDtreffen deklariert wird....


                    Lasset die Mudder zu mir kommen... Yantro;)

P.S.: Ich hab dem Kellner gesagt, dass ich mit 20 Personen rechne... ich
denk, die werden sich freuen ;))))

-----------------------------------------------------------------------------



Re^7: Treffen in DO? (Hardil, 14. Dez 1995, 13:44:05):
#! rn=Bloodyharry rt=818776780

Wir sollten am Freitag auf dem Stammtisch in Dortmund mal jemand waehlen, der
fuer uns den Yantro macht. :-) Also alle Gaeste hier inder mpa vorstellt und
so, damit man weiss, ob man selber kommen sollte oder nicht. :-)
Apropos: wer kommt denn jetzt ueberhaupt am Freitag ausser Locutus?

-Hardil. Wartet auf Maritas 13. Beitrach.

-----------------------------------------------------------------------------



TREFFEN IN DOrtmund (Morgoth, 14. Dez 1995, 17:55:10):
tja, dann werd ich mal versuchen die leutchen vorzustellen, die da so
rumhaengen
Bienchen - Eine kleine Biene, die mit Ihren Worten ganz gut stechen kann
(wenn sie will)
Locutus - Rasse: Borg, Widerstand ist zwecklos (war lange nicht mehr da, was
ist los???)
Leusel - Rasse: Informatiker, hm...auch lange nicht gesehen...!!!
Paracelsus - Oh, oh. Der fiese Drakonier. (ignoriere RL-wuschel ]:-) )
Pampers - Eine grooooosse Hoeschenwindel, arbeitet noch am Babyspeck  !!
Aline - Wenn sie da ist, dann mit Yanny(richtig geschrieben? nicht haun!!).
Emanze?
Yanny - Wenn sie? da ist, dann mit Aline (wer haette das gedacht).
unterdrueckte Emanze? Chili-Fan.
Qnyberth - Hm. Hab ich erst einmal gesehen **schaem**. Kann ich noch nix zu
sagen.
Shakedbeer - Engagierter Jungmagier sucht kuehles Blondes zwecks gemeinsamer
Abendgestaltung.?
Silvana - Selten, aber wahr. Auch sie ward schonmal in Do gesehen. Obermami
:-))
Mupfel - Och, das ist ja nur 'ne Stunde Zugfahrt....
Xantia - Ruhig und (fast) immer da, das ist Xantia.
Guldukat - Wolpiehasser Nr.1, mag dagegen auch kuehle Blonde (geschuettelt,
nicht geruehrt)? hae?
Desasta - Nach seinem Besuch ist eine Restauration des Lokals angebracht.
Denn er bringt Desasta nicht nur uebers MorgenGrauen, oder?
Saikan - Grummelnder Inselmagier. Spaetschalter(Bienchen). Ansonsten fleissig
und produktiv.
Marita - Lustig, interessiert, fleissig....und knuddelfreundlich ?
Elbyte - ADO mit der Goldkante. (ADO = Ausser-Dortmunder). Gold(kante), weil
so selten wie Gold. :-))
Craig - Metzler. Killer. Chaot total.
Hardil - 'Alter' Dortmunder Seher. Gehoert zur Einrichtung (wenn er mal da
ist).
Bloodyharry - Bloodymary? Noe. Quatsch. Opapirat. Verschmaet aber auch eine
Mary nicht, oder?
Bitmaster - Ist nicht so oft im MG wie ers gern haette.
Dwight - Friede seiner Asche(oder was er jetzt auch immer ist)
Morgoth - Nun ja, ich bin auch mal dran. Finsterer Gesell?, der sehr breite
Schultern haben muss, bei dem was er sich alles auflaedt.

so...mehr fallen uns im moment nicht ein....falls wir jemanden vergessen
haben.....
SOOOOOOORRRYYYY   fuehl dich 1000x geknuddelt
$me

-----------------------------------------------------------------------------



Re^8: Treffen in DO? (Yantro, 15. Dez 1995, 08:31:04):
#! rn=Hardil rt=818945045

WAAAAAAAAAAAS soll das heissen "den Yantro macht", haeh??? Willst aeerjaeer,
Du Haeuptling eines stinkenden StrohballenFetischVereins ;)))

MICH gibbet nur einmal (aus Statischen Gruenden ;))

Yantro. Wartet auf Maritas Zusage fuer den Koelner Stammtisch am 29.12 um 19
Uhr im Borsalino (Zuelpicherstrasse) und darauf, dass sie sich, wenn es geht
auch brav mit einer mail an mich anmeldet, obwohl sie auch ohne diese sehr
herzlich Willkommen ist *smile*

-----------------------------------------------------------------------------



Re^9: Treffen in DO? (Hardil, 15. Dez 1995, 14:03:20):
#! rn=Yantro rt=819012664

Naanaanaa, nicht gleich flamen.
Ausserdem bin ich gar nicht Haeuptling eines stinkenden
StrohballenFetischVereins, sonder das ist Pra. :-)
Und Morgoth hat ja auch reagiert. :-)
Ich weiss also wirklich nicht, was Du hast oder meinst.

grinsend: Hardil

-----------------------------------------------------------------------------



Re: TREFFEN IN DOrtmund (Guldukat, 15. Dez 1995, 16:48:21):
#! rn=Morgoth rt=818960110
Ich moechte richtigstellen, dass ich Wolpies mag!
Vom Grill oder auch Wolpi Blau, aber das fuehrt jetzt zu weit und sollte nach
rezepte verlegt werden.

GulDukat

-----------------------------------------------------------------------------



Re: Re: TREFFEN IN DOrtmund (Engywuck, 15. Dez 1995, 20:48:00):
#! rn=Guldukat rt=819042501
Also, Stroh vom Grill, ich weiss ja nicht ob das so der Bringer ist. Aber
jedem das seine....

Engy

-----------------------------------------------------------------------------



TREFFEN???? in Erlangen (Anthea, 18. Dez 1995, 13:47:52):
Hi MitFranken!
Wenn ihr am 1.1. am Abend wieder stehen und einigermassen geradeausgehen
koennt, dann kommt doch einfach mal ins Pub 'The Fat Lady Sings'... genau wie
schon einmal angekuendigt wird es dort eine groessere Session geben,  sofern
ich wieder die Finger auf die Gitarrensaiten bringe, ohne sie (die Saiten) zu
zerreissen (Fragt Highlander, der kann euch ein paar geschichten ueber meine
'destruktive' Spielweise erzaehlen)
Naja, dort kann man dann halt gute Musik hoeren, gutes Guinnes trinken und
sich gut amuesieren.... wie gesagt, vorausgesetzt natuerlich dass man noch aus
eigener Kraft bis dorthin kommt (zumindest von dder Tuer bis zum Tisch :) )
    Anthea

-----------------------------------------------------------------------------



Mal wieder Mg-Treff in Bieledorf... (Ancalagon, 18. Dez 1995, 14:39:35):
Moin erstmal!
Auch im Dezember gibt es einen letzten Mittwoch im Monat, und deswegen findet
auch der Bielefelder MG-Treff statt. Es sei denn, ich waere der einzige der
kommt.
Wer also am Mittwoch zwischen Wei(h)nacht und Neujahr zeit und Lust hat, kann
mal so ab 19.30 im Cafe Mint vorbeischaun.
Am besten aber vorher mich kurz anmailen, damit ichs rechtzeitig merke, wenn
ich tatsaechlich der einzige bleibe, der kommt.
soviel dazu,
                                                  Ancalagon
                                         Draco knuddellensis major

-----------------------------------------------------------------------------



Koelner Stammtischgaeste #3 (Yantro, 19. Dez 1995, 14:54:59):

Hallo Ihrs mal wieder,

weil sich ja gar nichts in er Zeitung zu tun scheint und weil auch die
Anmeldewelle bei mir etwas zurueckgegangen ist, will ich hier einfach mal noch
ein paar Gaeste ankuendigen, von denen ihr nichts wisst und hoff, dass ich
vielleicht noch den ein oder anderen zur Teilnahme ueberreden kann:

- Hans kommt, und zwar von weit her und er hat versprochen, und nicht mit zu
schnellen Antworten beim quizen zu nerven.

- Toe meint, dass er auch mal seine toes in Bewegung setzen wird, um uns zu
beehren. Wenn das nicht nett ist ;)

- Unser aller liebster BoBo kommt aus dem fernen Juelich herangefahren, um
sich mal wieder in unsere Mitte zu gesellen und diesmal muss er noch nicht mal
zapfen (aber wenn er will, dann darf er vielleicht ;) ).

- CauNo, der Karthograph, der das ganze Morgengrauen auf einer Karte hat und
den auch nicht das wildeste Labyrinth schreck! Er findet sogar noch ein
System, wo gar kein programmiert ist ;)

- Pra kommt auch mal auf ein paar Drinks dabei, wobei er wohl keinen Wolpie
trinken wird, denn so einen hat er mal zu sich genommen und kriegt ihn seit
dem nicht mehr von seinem TShirt runter.

- Steini hat gesagt, dass er nur kommt, wenn Elora auch kommt!... was machen
wir denn da???

- ELOOOOORAAAAAAA! Schoen, dass Du nach Koeln zu Stammtisch kommen willst und
wir freuen uns auch alle sehr... vor allem Steini (denn den sollst Du wohl
mitnehmen ;) ).


Das sind bis jetzt 48 Gaeste und ich bin etwas enttaeuscht, denn schliesslich
hab ich fuer 50 bestellt! Wer jetzt sagt, dass Jof und ich die beiden Plaetze
schon mit ausfuellen wuerden, der wird gezappt! ;) Also auf auf ins Herz der
Welt, nach Koelle am Rhing... und zwar am:

                         29.12.1995 (Freitag) um 19 UHR
                                       im

                       BORSALINO (auf der Zuelpicherstrasse)

                   Euer Stammtischler ;)

-----------------------------------------------------------------------------



Re: Koelner Stammtischgaeste #3 (Boing, 19. Dez 1995, 15:17:56):
#! rn=Yantro rt=819381299
Wuerd mir nie einfallen sowas zu sagen, Yantro! Ich denke Jof brauchst
Du dazu eh nicht ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: Koelner Stammtischgaeste #3 (Yantro, 19. Dez 1995, 15:19:50):
#! rn=Boing rt=819382676

Boing, ich kann Dich ja zur Not auf den Schoss nehmen... Kleiner ;)
*taetscheltaetschel*

                     Yantroli;)

-----------------------------------------------------------------------------



Re^3: Koelner Stammtischgaeste #3 (Yendi, 19. Dez 1995, 15:22:33):
#! rn=Yantro rt=819382790

Besser als umgekehrt, denke ich...

Wie hiess dieser Film noch gleich? "Die Goetter muessen zerdrueckt sein"?


Uuuuund ab nach Schmarrn...


-----------------------------------------------------------------------------



Re: Treffen in Da (Gundur, 19. Dez 1995, 21:52:38):
#! rn=Roesti rt=819402230
Tjo wegen mir schon....
Hobbit is ok...
Mach doch ne liste so wie Yantro mit Ankuendigung und Werbung und so :-)
Gruss
Gundur

-----------------------------------------------------------------------------



zug nach koeln (Felagund, 27. Dez 1995, 20:20:21):
Huhu
Also weil allein Zug fahren langweilig is und weil ich sonst keinen Grund
hab, nedd zu lernen, wuerd ich gern mal wissen, wer mit einem der folgenden
IC/ECs von Frankfurt nach Koeln zu fahren beabsichtigt...:
15:51 ab, 18:05 in koeln
16:51 ab, 19:05 in koeln
17:51 ab, 20:05 in koeln
Also wenn da einer mitfaehrt, bitte mail an mich ;)
Wenn eier um die Zeit in Koeln am Bahnhof is, kanners mir ja auch mailen,
dann mussmer nedd alleine das Borsalino suchen ;)
gruss...Fela

-----------------------------------------------------------------------------



weg zum Borsalino in Koeln (Morgoth, 28. Dez 1995, 13:30:40):
dies geschieht im auftrag von yantro, weil er z.zt. kein xwin hat :-))
Die Genaue Adresse (zum durchfragen) ist

                    Borsalino
                    Zuelpicherstrasse 7
                    (das ist auf der Ecke
Zuelpicherstrasse/Heinsbergstrasse)
                    Natuerlich in Koeln... fast Innenstadt

Fuer Nahverkehr:

Das Borsalino ist auf der Zuelpicherstrasse zwischen den Haltestellen
Zuelpicherplatz und Dasselstrasse/Bahnhof Sued der Linie 9 und 7. Der
ZuelpicherPlatz ist aber auch ueber den Ring mit den Linien 6, 10, 15, 19 zu
erreichen... sollte also kein Problem sein :)

Fuer Zugfernverkehr:

a) Ihr fahrt mit der Bundesbahn bis Bahnhof Koeln Sued! Das ist vom
Hauptbahnhof aus gesehen die Strecke Richtung Kall oder Bruehl/Bonn... Auf
dem
Suedbahnhof nehmt ihr dann auf dem Bahnsteig fuer die Gleise 3+4 (!!!
Aufpassen.. vielleicht muesst ihr wechseln!!!) den Ausgang
Zuelpicherstrasse/Dasselstrasse. Das ist eine steile Treppe runter... Dort
geht ihr dann rechts und bleibt auf der Strassenseite! Das Borsalino ist ca
100 meter stadteinwaerts, nicht zu verfehlen.

b) Ihr steigt am Hauptbahnhof in die U-bahn um (weil die oefters faehrt) und
fahrt zum NEUMARKT (fast alle Linien fahren da hin!) Dort fahrt ihr dann
oberirdisch mit der strassenbahn linie 9 oder 7 Richtung SUELZ weiter! Der
ZuelpicherPlatz ist die 2 Haltestelle vom Neumarkt aus. Von Dort aus zu Fuss
auf der linken Strassenseite weiter in die Richtung, in die die Bahn
faehrt...
ca 100 Meter bis zum Borsalino sind es dann noch.

Fuer Autofahrer:

Ihr koennt experimentieren, wie ihr wollt, aber ich geb jetzt nur eine
Variante an und dass ist die Idiotensichere ;):
Fahrt ueber den Autobahnring von Koeln bis in den Suedwesten und da die
Abfahrt KOELN-KLETTENBERG ab. Dort dann rechts in die Stadt hineinfahren...
Ihr seit automatisch auf der Luxemburgerstrasse Richtung Innenstadt. Folgt
der Strasse einfach immer weiter, bis ihr die Universitaetsstrasse kreuzt!
Das
ist leicht zu erkennen, denn es ist eine grosse Kreuzung HINTER der auf der
linken Seite ein einsames Hochhaus steht...
HINTER dieser Kreuzung dann links auf die Abbiegerspur und dann abbiegen,
ABER NUR 90 Grad in die kleine Strasse hinein (GREINSTRASSE heisst die) und
NICHT(!!!) 180Grad wenden, denn dann fahrt ihr wieder stadtauswaerts.
Die Greinstrasse durchfahren und ihr kommt (wenn auch gegen
Einbahnstrassenrichtung, aber das ist da egal) an einen grossen Parkplatz, wo
man NOCH nicht bezahlen muss. Ihr seit da an den Chemischen Instituten der
Uni. Die Institute sind der Flachbau, vor dem ihr da stehen solltet und an
dem
geht ihr LINKS vorbei, also NICHT an der Seite, wo die Luxemburgerstrasse
ist,
sondern die andere...
Ihr geht dann automatisch zwischen der Chemie und der Physik hindurch (das
ist auch so ein Flachbau, muesst kurz eine Treppe hoch und seht dann eine
grosse Wiese.
Ihr haltet euch dann links auf der Wiese (da ist auch ein Weg) und geht auf
eine Strasse zu, wo auch eine Strassenbahn fahren sollte.. das ist die
Zuelpicherstrasse... Dieser folgt ihr dann Richtung Innenstadt(unter eine
Bahnunterfuehrung durch (das ist der Bahnhof Sued von oben)) bis zum
Borsalino... von der Wiese aus vielleicht 200 Meter :)

Ich hoff, ich hab nix vergessen... ich freu mich auf euch alle...

                    Yantro;)

Ach ja: Da einige schon beim letzten Treffen im Crimson waren *zwinker Jof*,
kann man sich auch an die alte Wegbeschreibung halten, denn das Borsalino ist
ca. 30 Meter vom Crimson auf der selben Strasse und Strassenseite...

so, ich hoffe der zeilenumbruch hat geklappt...
morgoth

-----------------------------------------------------------------------------



Re: Re: hallo? (Mupfel,  8. Jan 1996, 19:40:04):
~#! rn=Gundur rt=821125185
~#! tid=821124275
wo issn das?

-mupfel-
(faehrt seit neustem gerne zu treffen....)

-----------------------------------------------------------------------------



Re^3: hallo? (Gundur,  8. Jan 1996, 21:25:55):
~#! rn=Mupfel rt=821126404
~#! tid=821124275
Darmstadt! :-)
Im Hobbit d.h. in einer Kneipe (toller Name gell? :-))
Wegbeschreibung auf Anfrage :-)
Gruss
Gundur

-----------------------------------------------------------------------------



Re: Re: hallo? (Ktest,  9. Jan 1996, 12:04:27):
~#! rn=Gundur rt=821125185
~#! tid=821124275
Mit den Frankfurtern ist nix, weil Kaneguruh und Gumpy an dem Freitag was
vorhaben und fuer andere Leute kann ich an dieser Stelle nicht sprechen, Val
und Arun sind ja keine Frankfurter :)

     Ktest - Kaneguruhs Testie

     (lern den Namen mal richtig schreiben, Gundur...)

-----------------------------------------------------------------------------



Re^3: hallo? (Dancer,  9. Jan 1996, 13:56:32):
~#! rn=Ktest rt=821185467
~#! tid=821124275
Quark, mit den Frankfurtern ist wohl was... Wotan und ich kommen naemlich.
Die MUD-Ur-Frankfurter sind also vertreten. ;-)

Dancer


-----------------------------------------------------------------------------



Re^4: hallo? (Yantro,  9. Jan 1996, 13:59:11):
~#! rn=Dancer rt=821192192
~#! tid=821124275
wenn dancer sagt, dass er kommt, dann ist das eine Luege...

           Yantro(aus Erfahrung schlau)

-----------------------------------------------------------------------------



Re^5: hallo? (Gundur,  9. Jan 1996, 13:59:45):
~#! rn=Yantro rt=821192351
~#! tid=821124275
Falsch

Gundur

-----------------------------------------------------------------------------



Re^5: hallo? (Garfield,  9. Jan 1996, 16:59:50):
~#! rn=Yantro rt=821192351
~#! tid=821124275

>wenn dancer sagt, dass er kommt, dann ist das eine Luege...

>                   Yantro(aus Erfahrung schlau)


Nu aber ma langsam, Yantro!
Mag ja sein, dass unser Sandtiger oft was andres vorhat, aber
trotzdem ... Sei nicht so hart zu ihm, okay?

=============================================================

und jetzt koennt ihr wieder alle rummeckern ueber
meinen chaotischen Stil und mein schreckliches Layout.

So.

ist ja auch egal.

garfield,
jetzt schon zitternd
***


-----------------------------------------------------------------------------



Muenster hat auch sowatt! (Catweazle,  9. Jan 1996, 19:57:08):

Hi!
Fuer alle die meinen, sie haetten den besten schoensten, groessten und
originalsten Stammtisch, hier ein hundertprozentiges Dementi:

Den _wirklich_ orignalen, weil ersten, Stammtisch und regelmaessig
hoechst dotiert besuchtesten gibt nur in der MG-Ursprungsstadt: Muenster!
ALso:

   Jeden DIENSTAG, um 20:00 Uhr findet im 'Gruene Tomaten' der
                  MORGENGRAUEN-STAMMTISCH
                          statt.

Insbesondere DU(!) bist allerherzlichst dazu eingeladen. Besonders
ueber Besuch aus dem Ausland (oehem, nicht-Muenster mein ich :-)
freuen wir uns immer!

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Saarbruecker Stammtisch (Horschd, 10. Jan 1996, 21:05:12):

Hi.

Es ist mal wieder soweit. Wir machen mal wieder einen Stammtisch.
Voraussichtlicher Termin:
                          Freitag, 19.01.96

Treffen tun wir uns wie immer um 20.00 im Canossa.
Ihr alle (auch Nichtsaarlaender!!!) seid recht herzlich eingeladen.
Es kann allerdings sein, dass der Termin noch etwas verschoben wird, wenn
da niemand Zeit hat.

Jo... ansonsten hoffe ich, dass man sich sieht!

Horschd.

-----------------------------------------------------------------------------



Mal ne frage ... (Mango, 10. Jan 1996, 21:54:17):
mich wuerde interessieren ob denn auch mal Treffen im saechsischen Raum
stattfinden? :)


Mango, der nicht die rechte Lust hat so weit zu fahren.


-----------------------------------------------------------------------------



Re: Muenster hat auch sowatt! (Mupfel, 11. Jan 1996, 03:34:30):
~#! rn=Catweazle rt=821213828
~#! tid=821213828
klar... publikum: jof, cat*, rochus, wargon, bertram und ryne. ausserdem
(manchmal) toeter, bloodgore, cuchullin, vanir und meine wenigkeit. maessig
aber regelmaessig (die betreiber der 'gruenen tomaten' sehen's mit grausen...
:-)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Muenster hat auch sowatt! (Cuchullin, 11. Jan 1996, 04:02:34):
~#! rn=Mupfel rt=821327670
~#! tid=821213828

"die betreiber der 'gruenen tomaten' sehen's mit grausen..."

*pffffffffffffffffffffft*
Wer die Frechheit besitzt, fuer ne grosse Coke SIEBEN Deutsche Mark zu
verlangen, hat _alles_ zu tolerieren.

Cuch.-


-----------------------------------------------------------------------------



Re^3: Muenster hat auch sowatt! (Caradhras, 11. Jan 1996, 10:17:51):
~#! rn=Cuchullin rt=821329354
~#! tid=821213828
Was ist das? Das Ritz?      *staun*

-----------------------------------------------------------------------------



Re^4: Muenster hat auch sowatt! (Wargon, 11. Jan 1996, 11:03:01):
~#! rn=Caradhras rt=821351871
~#! tid=821213828
Da die grosse Cola (a 0.5l) im 'Gruene Tomaten' nicht auf der Karte steht,
und es einiges an Ueberredungskunst bedurfte, sie ueberhaupt serviert zu
bekommen (Rochus und vor allem Bertram haben es dann aber doch noch
geschafft), hat sich die GT-Leitung entschlossen, die grosse Cola zum
2.5-fachen Preis der kleinen (0.2l) Cola anzubieten.
Als Zeichen der Grosszuegigkeit wurde jedoch sogar noch ein "Mengenrabatt"
von 50Pf gewaehrt... ;)
Fazit: Weizen waehrt am laengsten.
  Wargon

-----------------------------------------------------------------------------



mal wieder Muenchen... (Kiwi, 11. Jan 1996, 15:18:22):

Huhu,

Wie ausgemacht gibts demnaechst wieder ein Treffen in MUENCHEN - Fryder
is back in town...

   Zeit: irgendwann Ende naechster Woche - Do, 18.1.? Ist das ok?
   Ort : pf, wir muessen ja nicht immer im Vollmond oder Atzi (Aetzi :)
         rumhocken... schlagt mal was vor. Vielleicht mal im Westend?

Ich schreibs nochmal in die Zeitung, wenns was Genaueres gibt.

Auch wenn das jetzt noch arg ungenau ist, sind schonmal alle eingeladen.
Wer noch nie da war: zu uns kann man sich schon trauen, wir sind naemlich
alle lieb und nett (grins).

Kiwi

-----------------------------------------------------------------------------



Re: mal wieder Muenchen... (Bleelumpe, 11. Jan 1996, 16:32:50):
~#! rn=Kiwi rt=821369902
~#! tid=821369902
Also ich kann DO nicht da ich am Freitag ne Klausur schreibe
Aber wegen nem ort haette ich den Yougoslawen bei uns an der uni als
vorschglag
der ist billig und man kriegt platz ohne sich grossartig anzumeldne

Wenn ihr meint dasss man das treffen auf den freitag abend verschieben kann,
dann
werden arty und ich , dh ich bestimmt mit dazustossen.
Arty hat auch noch pruefungen zu schreiben , aber ab freitag will er wieder
mudden, also
sind die da auch rum.
schaut mal ob es moeglich ist.

bis denn euer bleee

-----------------------------------------------------------------------------



Re: Re: mal wieder Muenchen... (Caradhras, 11. Jan 1996, 17:14:33):
~#! rn=Bleelumpe rt=821374370
~#! tid=821369902
Hm, ich hab grade rumgefragt und gehoert, dass man mit 26 noch ne
Bahncard Tschunior kriegt, vielleicht komm ich auch nach Muenchen,
aber fuer einen Abend lohnt es sich nicht. Gibts da irgendwie nen
Ausweg? :)
Ich bring auch Celebdil mit wenns sein muss.

       tuessie       Caradhras

-----------------------------------------------------------------------------



Linztreffen (Schrumpfi, 11. Jan 1996, 19:49:37):
Wer hat denn mal wieder Lust auf ein Linztreffen? Ich haette Lust aber wenn
sonst niemand will erspar ich mir den Stress mit der Organisiererei.
Schrumpfi

-----------------------------------------------------------------------------



Re: mal wieder Muenchen... (Zuerileu, 11. Jan 1996, 22:30:38):
~#! rn=Kiwi rt=821369902
~#! tid=821369902
Sali zaeme,
Jojo.. aber morgen oder besser dieses Wochenende giebt es ein treffen in
Zuerich!! Naemlich Fryder kommt auf besuch =:))) Juhhuuuiii...  hihi.. jojo
und auch anwesend sind dann Golum und Zuerileu. evtl. kommt ja noch wer anders
auf die schnelle ?
Fuer ganz schnell entschlossene ANRUFEN: 0041 /01 4318309 =:)

Tschuess Zuerileu

-----------------------------------------------------------------------------



Re: Re: mal wieder Muenchen... (Raffi, 12. Jan 1996, 01:50:14):
~#! rn=Zuerileu rt=821395838
~#! tid=821369902
Treffen - OK, das ist ne sache - aber donnerstag ist definitiv schlecht - da
bin ich noch in Muenster - ich wuerd mal Freitag den 19. Vorschlagen - dann
wuerde auch unser allseits beliebter Eisbaer Escu* (mit alen 27 Zweities)
kommen!

Als Ort haette ich die Pfennigparade (Barlachstrasse - das ist beim
ring/Scheidplatz) vorzuschlagen - ruhige Sache, zu wirklich zivilen Preisen
(Wiener Pommes noch um 12 DM!

Gruss
H.
(Noch in erlangen, aber gerade auf dem Weg heim.)

-----------------------------------------------------------------------------



Re: Linztreffen (Creative, 12. Jan 1996, 10:03:39):
~#! rn=Schrumpfi rt=821386177
~#! tid=821386177
iiiiiiiiiiiiiiiiiiiiiiiich hab Lust.
:)
Und helf auch beim Organisiern. Ernsthaftes Angebot.
-Crea-

-----------------------------------------------------------------------------



Re: mal wieder Muenchen... (Arty, 12. Jan 1996, 10:05:28):
~#! rn=Kiwi rt=821369902
~#! tid=821369902
Also ich wuerde gerne hinkommen, wohin ist mir relativ egal - Hauptsache
Fryder gibt einen aus :))

Also bis dann...

ciao ARTY

PS.: Also ich bin nicht lieb und nett und alle die mich kennen koennen das
bestaetigen!

-----------------------------------------------------------------------------



Stammtisch DO (Paracelsus, 12. Jan 1996, 12:31:52):
Erste offizielle Ankuendigung des Stammtisches in Dortmund.
(Das Paracelsus als Autor genannt wird, ist kein Zufall.)

Is zwar noch ein bisschen hin, aber am 26.1. ist wohl wieder Stammtisch
in Dortmund im Wallhalla um 20:00 Uhr.

Para ]:-)

-----------------------------------------------------------------------------



Nochmal sachsen (Terrorist, 12. Jan 1996, 17:02:18):

DA die Anfrage von Mango ohne ANtwort abging frag ich also auc nochmal.
Gibt es auch ein Treffen oder Stammtisch im Raum SAchsen.
Wenn ja wo. WEnn nein wer hat Lust einen zu organizieren.
Es gibt bestimmt genug Mudder im Raum Dresden die Lust zum kommen haben.
Also nehmt euch das Herz organisiert einen Stammtisch in Dresden und postet
es .

Terrorist will auch Stammtischen

-----------------------------------------------------------------------------



Re^2 mal wieder in Muenchen... (Nautilus, 13. Jan 1996, 19:55:46):
Also am Freitag (19.1.) ist ein bisschen schlecht, ausser Ihr kommt
alle zu uns (Kadiya & Nautilus), da an diesem Tag Kadiya Ihren
Geburtstag feiert. (Robo ist z.B. sicher da, Kiwi ist auch eingeladen).
Wir wohnen auch im Westend :). Wenn viele kommen wollen, faende ich
es nett, wenn Ihr Euch anmelden koenntet. Wer noch nie hier war,
wird wohl auch die Adresse interessant sein.
(Oder so aehnlich).
Die koennt Ihr per Mail abfragen.
Ansonsten wuerde uns wohl auch der Sa. gefallen.
Ich weiss ja nicht, wie lange Fryder in M ist??

Nauti
(lus)

-----------------------------------------------------------------------------



Treffen in HD (Bleelumpe, 14. Jan 1996, 22:46:32):
Hallo Leute,
da ich am FR den 2.2.96 wieder mal in HD bin faende ich es passend mal
wieder dort ein Treffen zu machen. Wie siehts aus ??
Entweder am FR oder am SA mir ist es egal.
Ort:
    Cafe Bistro Beo
      In der Neckarhelle 21
    69118 Heidelberg
    Tel 06221 / 80 90 01

Warum dort ?? Weil ich dort kurzfristig was ausmachen kann egal fuer
wieviel Leute , wegen der vrohandenen Parkplaetze und weil ein
Bus dort vorbeifaehrt und in der Naehe haelt.

Ausederm war es da schon mal ;-))

Und die Preise sind auch annehmbar.
Also antworten bis am Mitte naechster Woche an mich, dmit ich anmelden kann
oder nicht mir ist es egal ich bin eh da :-))

Euer Bleelumpe

-----------------------------------------------------------------------------



Nachruf...  (Roesti, 15. Jan 1996, 09:55:02):
Zusammenfassender Bericht des
          MORGENGRAUEN-
                STAMMTISCHES
            vom 12.Januar 1996

Top 0 : Beschwerden ueber Wegbeschreibungen
Top1:Vorstellung der Anwesenden:
     Zephyr , Tryfan , Gundur , Arien , Felagund , Dancer , Garfield , Ark ,
     Roesti
Top 2:Graphische Darstellung von Gundur Zephyr Garfield Dancer Ark Roesti
     Felagund Tryfan
     mit anschliessender Diskussion weshalb Tryfan und Felagund
     ihre Darstellungen zerstoerten.(Graphische GestalterInnen waren:
     Zephyr und Roesti)
Topf 3:Verspeisen von Morgul , Frodo , Sam , Ork , Merry , Aragorn , Smeagol
     Gimli , Toastbrot und Shelob sowie dazugehoerige Getraenke
Top 4:Diskussion ob Shelob eklig sei weil Arien keine Spinnen mag.
Top 5:Zitronenmelisse-Bonbons ordentlich um den Tisch verteilt.Dies wurde
      durch das melodische Husten von Arien begleitet.
Top 6:Antrag ueber Morgengrauen-LiveRollenspielgruppe ( Dancer)
Top 7:Nachfrage von Zephyr ob man(n) Getraenke verspeisen kann ( Bezug:Topf
      3)
Top 8: Ark fand alles Top und forderte eine Wiederholung
Top 9:Feststellung das Ururopa Dancer es sich erlauben kann die Namen seines
      juengsten Sprosses vergessen darf.
      Vermutung:Alzheimer?
Top 10:Diskussion ueber Quests welche aus DSA uebernommen wurden.
       Bug festgestellt:In der Vampirbehausung im MG fehlt der Vampir
       (Nachgelesen in >>Die sieben magischen Kelche<<)
       Ark bemaengelte ausserdem das fehlen von Kobold Lupino , des Hydron
       und des Vampiers
Top 11:Woher aus Forgotten Realms kommen Namen wie:
       Drizzt D'Urden ( Saga vom Dunkelelfen)
       Zaknafein ( Vater von Drizzt ? )
       Wie hies der Zwerg?
Top 12:Verabschiedung von Tryfan und Zephyr(gegangen sind sie
       gluecklicherweise erst spaeter)
Top 13:Zurechtweisung von Roesti:
       Arien ist nicht verwand mit Arielle und demzufolge keine
       Meerjungfrau.
       Ark will eine Feuerstelle unter der Badewanne in die Roesti Arien
       gemalt hatte.
Top 14:Ark mag keinen rohen Fisch (Vorsicht Sushi)
       Richtigstellung von Ark:Ark mag nur rohen Fisch
       Richtigstellung von Ark:Nee das stimmt auch nicht
Top 15:Ark weis nicht was er will und was nicht
Top 16:Garfield will Tiramisu. Gibt es aber leider nicht im Hobbit.
Top 17:Die Biene Maya passt auch nicht zu Arien(Arien ist nur Maya ohne
      Biene)
      Roesti beschliesst das Arien nicht ordnungsgemaess darzustellen ist.
Top 18:Man kann Arien doch zeichnen
Top 19:Fragestellung ob Roesti der aellteste Spieler ist der immer noch
      Spielerstatus (Zweities ausgenommen) besitzt.Seher wurden als
      Spieler Status gerechnet).
Top 20:Tryfans Graphische Darstellung ist ohne Gegenstimme zur passensten
      Darstellung gewaehlt worden.:)

Berichtfuehrer: Roesti

-----------------------------------------------------------------------------



Re: Treffen in HD (Cheasy, 15. Jan 1996, 12:31:27):
~#! rn=Bleelumpe rt=821655992
~#! tid=821655992
Ich wuerd ganz gern kommen, der Tag ist OK.
-Cheasy

-----------------------------------------------------------------------------



Re: Nachruf...  (Yendi, 15. Jan 1996, 13:37:58):
~#! rn=Roesti rt=821696102
~#! tid=821696102

> Top 19:Fragestellung ob Roesti der aellteste Spieler ist der immer noch
>       Spielerstatus (Zweities ausgenommen) besitzt.Seher wurden als
>       Spieler Status gerechnet).
>

Einspruch, Euer Ehren! Wie alt behauptet Roesti denn, zu sein?



-----------------------------------------------------------------------------



Re: Re: Nachruf...  (Boing, 15. Jan 1996, 14:17:22):
~#! rn=Yendi rt=821709478
~#! tid=821696102
Er ist juenger als Du, Yendi ... Du hast aber trotzdem nur knapp
ueber die Haelfte von Bobo ... ;)
  Boing

-----------------------------------------------------------------------------



Re^3: Nachruf...  (Yendi, 15. Jan 1996, 20:18:42):
~#! rn=Boing rt=821711842
~#! tid=821696102

Moment! Gehen wir hier nach Zeitpunkt des ersten Einloggens oder nach der im
MUD verbrachten Zeit?
Dass ich nicht soviele Onlinestunden habe, wie mancher blutige Anfaenger, ist
mir laengst klar...



-----------------------------------------------------------------------------



Re: Re: Nachruf...  (Roesti, 15. Jan 1996, 20:35:24):
~#! rn=Yendi rt=821709478
~#! tid=821696102
1.Januar 1995...
Es hat sich inzwischen rausgestellt das es noch aeltere Spieler gibt als
mich...
Aber werd von denen Krebst noch bei level 13 rum?
Es ging ja in dem Top auch nur um die Fragestellung...nicht um die
FESTstellung...:)

-----------------------------------------------------------------------------



Re^3: Nachruf...  (Loco, 15. Jan 1996, 20:38:16):
~#! rn=Roesti rt=821734524
~#! tid=821696102
Sique: Alter 19 Tage, erstmals eingeloggt noch vor offizieller Oeffnung, also
vor etwa 3 Jahren, Spielerlevel 11. Aber auch nur deswegen, weil man bis vor
etwa 10 Monaten keine AP brauchte, um seine Stufe zu erhoehen.

Sique zu schlagen, duerfte allerdings schwer werden :)

Ein Rekordtip von
                 Loco

-----------------------------------------------------------------------------



Re^4: Nachruf...  (Caradhras, 16. Jan 1996, 05:21:51):
~#! rn=Loco rt=821734696
~#! tid=821696102
Jo, Sique, Looser und ich waren schon vor MG-Eroeffnung drin auf alle
Faelle. Aber ob das bei mir Dezember 92 oder Januar 93 war oder ob sogar
noch vorher wees ick ooch nuesch mehr. :)

  Caradhras - verleiht Sique mal ehrenhalber den Titel aeltester Spieler :)

-----------------------------------------------------------------------------



Heut Abend in Bonn (Snuggle, 16. Jan 1996, 12:22:43):
Ist zwar etwas kurzfristig, aber heut Abend wirdab etwa 19.30 der
allmonatliche

                Bonner Stammtisch

stattfinden, und zwar in etwas erweiterter Besetzung. Wer also in der Naehe
wohnt und sich des Wegs nicht scheut, ist hiermit herzlich eingeladen.

Ach ja, das ganze findet traditionell im Mc Swiggans Irish Pub im Mauspfad,
naehe Muensterplatz statt.

Vielleicht findet ja doch noch jemand den Weg dorthin.
Bis denne erstmal.

Snuggle

-----------------------------------------------------------------------------



Re: Re: Treffen in HD (Bleelumpe, 16. Jan 1996, 18:07:37):
~#! rn=Cheasy rt=821705487
~#! tid=821655992
Ok also wird das treffen am FR sein. Oder sind da noch einwaende ??
Am Fr den 2.2.96 ab 19.30 Uhr.

Wenn noch merh interessa haben bitte anmelden, damit ich Vorwarnen kann wegen
der Reservierung

Bis bald Euer Blee

-----------------------------------------------------------------------------



Re^3: Treffen in HD (Cheasy, 16. Jan 1996, 18:09:26):
~#! rn=Bleelumpe rt=821812057
~#! tid=821655992
Freitag, 19.30, am 2.Februar in Heidelberg ist OK.
-Cheasy
P.S: Ich komm wenn nix lebensbedrohliches dazwischenkommt.

-----------------------------------------------------------------------------



Re: Re: Linztreffen (Schrumpfi, 16. Jan 1996, 19:46:05):
~#! rn=Creative rt=821437419
~#! tid=821386177
Nachdem sonst wohl keiner Lust hat, vergessen wir es mal, da koennen wir auch
zu zweit einen Trinken gehn.
Schrumpfi - entaeuscht

-----------------------------------------------------------------------------



Re: mal wieder Muenchen... (Kiwi, 19. Jan 1996, 15:40:15):
~#! rn=Kiwi rt=821369902
~#! tid=821369902
Hi,
das Treffen ist verschoben bis irgendwann - war zuviel Chaos.
Kiwi

-----------------------------------------------------------------------------



Berlin (Anakin, 21. Jan 1996, 22:19:57):
                         Stammtisch
                            in
                   _____________________
                  ()--------------------)
                  |   B  E  R  L  I  N  |
                  ()--------------------)


                      TERMIN: 07.02.96
                       ORT: 'Seeblick'
                  Rykestrasse in PrenzlBerg
                       ZEIT: ab 20.00

                     Ne Karte liegt unter
                 http://w3.rz.fhtw-berlin.de/
          RZ/allgemein/People/Wehrens/mg/karte.html

           P.S.: Wer Fragen hat...Mail an mich :)


-----------------------------------------------------------------------------



Linztreffen nochmal (Schrumpfi, 22. Jan 1996, 22:26:32):
Creative und ich, wir haben uns jetzt entschlossen doch ein Treffen zu
machen. Und zwar sieht das jetzt folgendermassen aus: Das Treffen findet von
1.3-3.3 statt und zwar auf einer Huette in der Naehe von Linz. Wir werden dort
das WE sein und wir haben die ganze Huette fuer uns alleine. Es ist eine
Selbstversorgerhuette mit allem drum und dran. Strom, Wasser, Heizung ect. Die
Kosten waeren ca 30DM (200 Schilling) wenn wir 15 Leute sind, sonst 40DM
(250-300 Schilling).
Falls jemand interesse dran hat, der moege sich bitte moeglichst schnell via
Mail bei mir anmelden da ich reservieren muss. Bzw reserviert hab ich schon
nur muss ich sagen wieviel Leute kommen.
Schrumpfi

-----------------------------------------------------------------------------



KA-Treffen? (Guybrush, 23. Jan 1996, 19:42:12):

Wollen wir KA'ler uns auch nochmal treffen?
Ich weiss nicht, ob ich zur Party kommen kann, und allzulang werd ich wohl
nicht mehr im MUD sein, also koennten wir uns vielleicht im Feb. mal treffen.

Macht mal nen Vorschlag.
Guybrutsch

-----------------------------------------------------------------------------



Re: KA-Treffen? (Cheasy, 23. Jan 1996, 20:55:55):
~#! rn=Guybrush rt=822422532
~#! tid=822422532
Ich wuerd auch gern mal ein KA-Treffen kennenlernen...
arbeite und mudde schliesslich die meiste zeit von hier aus.
-Cheasy

-----------------------------------------------------------------------------



Re: Stammtisch DO (Marita, 24. Jan 1996, 05:56:47):
~#! rn=Paracelsus rt=821446312
~#! tid=821446312
Hi,

Recht hatter, der Para! Also nochmal zur Erinnerung:
Der diesmonatige Ruhrgebietsstammtisch findet zum ueblichen Termin statt,
also
          diesen Freitag (26.01.), um 20 Uhr
          wie immer im Walhalla (Kampstr., mitten inner Stadt,
          5 Minuten vom Bahnhof, wahlweise auch DIREKT oberhalb der
          Haltestelle Kampstrasse)

Mitzubringen ist vor allem gute Laune (also lasst Eure MPA-Artikel zu Hause)
;-)
Ein sehr kurzfristiger Beitrach von Marita (aber Para hats ja schon
mal angekuendigt)

-----------------------------------------------------------------------------



Re: Re: Stammtisch DO (Hardil, 24. Jan 1996, 12:15:19):
~#! rn=Marita rt=822459407
~#! tid=821446312

Aeh Marita -

welche mpa-Artikel? (*unschuldig grinsend*)

Nur zwei FrageN:

a) kommst Du in weiss ?
b) Duerfen wir wenigstens wieder MAGIC spielen, ohne Dein Missfallen zu
erregen? (Das war jetzt eigentlich nur ein Zaunpfahl fuer GulDukat, aber was
solls) :-)

Ab dafuer, aeh bis bald.

-Hardil
NNN.

-----------------------------------------------------------------------------



Re^3: Stammtisch DO (Guldukat, 24. Jan 1996, 14:14:16):
~#! rn=Hardil rt=822482119
~#! tid=821446312
Magic, wat is dat denn?

-----------------------------------------------------------------------------



Re^3: Stammtisch DO (Bloodyharry, 24. Jan 1996, 16:24:41):
~#! rn=Hardil rt=822482119
~#! tid=821446312
> a) kommst Du in weiss ?

Wahnsinn! Hoffendlich bringt dann jemand ne Kamera mit. Ich scanne das Bild
dann und lade das auf Muenster hoch. *freu* :))

Opipirat Bloody Harry, grinst piratenmaessig.

-----------------------------------------------------------------------------



Re^4: Stammtisch DO (Quillian, 24. Jan 1996, 22:44:06):
~#! rn=Guldukat rt=822489256
~#! tid=821446312
Hmm,
ich glaub ich komm auch mal nach Dortmund (wenn ich es wirklich
schaffe das WE im Ruhrgebeit zu sein...)
Aber Magic? *GulDukat angrinsend*

Quillian

-----------------------------------------------------------------------------



Re^4: Stammtisch DO (Aranya, 25. Jan 1996, 16:19:14):
~#! rn=Guldukat rt=822489256
~#! tid=821446312
...Magic?
Ist das nicht dieser eine Spieler?

Achso. Na dann nicht.
Aranya

-----------------------------------------------------------------------------



Re: Re: Stammtisch DO (Marita, 25. Jan 1996, 22:28:19):
~#! rn=Marita rt=822459407
~#! tid=821446312
Nochwas fuer Leute, die das Walhalla in Dortmund noch nicht kennen:
Die Kneipe ist zur Zeit von einem Baustellenzelt verdeckt (hat aber trotzdem
auf). Also nicht verzweifeln, wenn Ihrs von der Haltestelle Kampstr. aus
nicht seht - Ihr seid trotzdem richtig.

-----------------------------------------------------------------------------



Jetzt endlich Treffen in M ? (Nautilus, 28. Jan 1996, 23:15:39):
Hallo Muenchner Muddies,
leider hat ja unser Treffen am Wochenende 19.1./20.1. nicht geklappt.
Da aber Fryder zur Zeit in Muenchen ist, faende ich es toll, wenn
wir es trotzdem noch schaffen wuerden, ein Treffen zu organisieren.
Deshalb mache ich jetzt einfach mal einen Vorschlag:

Am Donnerstag, den 1.Feb. im Stragula.

Das Stragula ist, fuer die, die es nicht wissen, im Westend.
Genauer ist es in der Ridlerstrasse, Ecke Bergmannstrasse.
Mit dem MVV kommt man am besten hin, wenn man die U4/U5/S7
nimmt und am Heimeranplatz aussteigt. Von da sinds 3Min.
zu Fuss.
Ich hoffe, es koennen sich moeglichst viele aufraffen.
Oder macht doch einen anderen Vorschlag.

Ciao		Nautilus

P.S. Als Uhrzeit: Wie waers mit 20.00 Uhr?

-----------------------------------------------------------------------------



Re: Jetzt endlich Treffen in M ? (Robo, 29. Jan 1996, 13:03:11):
~#! rn=Nautilus rt=822867339
~#! tid=822867339
Also ich habe Zeit und werde kommen.

Ciao
                    robo

-----------------------------------------------------------------------------



Re: Re: Jetzt endlich Treffen in M ? (Bleelumpe, 31. Jan 1996, 09:43:13):
~#! rn=Robo rt=822916991
~#! tid=822867339
Ich hab keine Zeit und werde nicht kommen.

* leider *

Blee

-----------------------------------------------------------------------------



Treffen in HD- Wegbeschreibung (Bleelumpe, 31. Jan 1996, 09:48:43):
Hallo Leute.
Hier nochmal etwas wegen dem Treffen in Ziegelhausen ( Heidelberg ):

1. WO:	Cafe Bistro Beo
In der Neckarhelle 21
69118 Heidelberg
Tel.: 06221 / 80 90 01

2. WANN:Fr den 02.02.96
ab 19.30 Uhr

3. WEG dahin:

3.1	BUS: Mit der Linie 34 zur Haltestelle "NEUER WEG " fahren. Von dort aus
     Richtung Dorfmitte laufen. Das BEO befindet sich dann auf der
     Rechten Seite mit Parkplaetzen davor.
     ( Hinweiss: Man sieht von der Haltestelle aus eine Peugot-Werkstatt
		 Die muss man im Ruecken haben. Dann schaut man in
		 Richtung Dorfmitte. )
3.2	KFZ: Von der Autobahn A656 ( Kreuz Heidelberg ) aus:
     Der Beschilderung " Innere Medizin " folgen bis Ihr ueber der
     Bruecke seid. Dort gleich rechts abbiegen. Ist entweder "Eberbach"
     oder "Ziegelhausen" ausgeschildert. Ihr musst auf jeden Fall ab
     jetzt nur noch den Neckar entlang fahren bis nach Ziegelhausen
     ( ca 5 - 8 km ). Ihr muesst an einer Fussgaengerampel vorbei fahren
     und kommt an die Ausfahrt Ziegelhausen West. ( Erkennbar links von
     Eurer Fahrtrichtung ist eine Esso Tankstelle ). Nun bis zur Ampel
     anlage ( Ausfahrt Ziegelhausen Mitte ) fahren. dort Links abbiegen
     und gleich wieder links Abbiegen ( hier ist die Strasse " In der
     Neckarhelle " ) noch ca 300 m fahren und Ihr seht links eine Kneipe.
     Genau das Beo.

Also bis dahin Euer Bleelumpe.

PS: Falls ihr nicht weiterfindet, fragt einfach rum. Man kennt die Kneipe und
    die Ortschaft. Im Beo nach " Blacky " oder nem reservierten Tisch fuer
mich
    fragen.
PPS: Bei Fragen bitte mir mailen. Ich werde am DO den 01.02.96 um 18.00 Uhr
das
     letzte mal im MG sein.
     Ansonsten werde ich ab 19.30 im Beo sein unter der oben genannte
Rufnummer

Da ich am Freitag von Muenchen nach HD mit dem Auto unterwegs bin werde ich
hoffentlich ab 16.00 Uhr bis ca 19.00 Uhr unter der folgenden Adresse
erreichbar
sein:

Bernhard Schwarz ( Blacky )
In der Neckarhelle 64
69118 Heidelberg
Tel.: 066221 / 80 13 43

-----------------------------------------------------------------------------



Re: Jetzt endlich Treffen in M ? (Kiwi, 31. Jan 1996, 12:42:04):
~#! rn=Nautilus rt=822867339
~#! tid=822867339
Huhu,
Ich habe Zeit und wrde kommen.
Fryder (der ...) meldet sich nicht, selber schuld.
Kiwi.

-----------------------------------------------------------------------------



Rudelmudden in Bonn!!! (Pra,  2. Feb 1996, 11:18:28):
Seid gegruesst, ihr medial Abhaengigen!

Es ist wieder soweit:

            Am Dienstag, den 6. Februar 1996

findet in Bonn, Wegelerstr. 4 ('Baracken') das legaendaere Rudelmudden statt.

Wir bieten:
- 7 beheizte und beleuchtete Raeume.
- 9 Internetzugaenge ueber PC (alle Modelle ab 386 SX25 abwaerts sind da)
- 16 Internetzugaenge ueber die tollen IBM-3270-Terminals
- Pizzaservice (Telefonkarte ist mitzubringen)
- Bier, Wein und diverse Softdrinks (bringt der Pizzaservice mit...)
- nette Gesellschaft (Zephyr kommt allerdings auch, ich konnte sie nicht
  ausladen)

Noch Fragen? Ach ja: Wann?
Also, die ersten werden morgens um 9 da sein, aber die Mehrzahl wohl doch
erst
um 19 oder 20 Uhr.
Ende?
Am naechsten Morgen um 7 Uhr 30, weil dann das Internetgateway gewartet wird.

Weitere Fragen an Zephyr, oder auch an mich.

Aber am besten: nicht fragen, kommen.

Pra - Chaot.

-----------------------------------------------------------------------------



Treffen in DO (Paracelsus, 12. Feb 1996, 12:02:16):
Hiho DO-Stammtischler!
Wie ihr wohl schon alle bemerkt habt, faellt der naechste "offizielle"
Stammtisch-Termin auf das Party-Wochenende. Daher mein Vorschlag:
Lasst uns den Stammtisch diesen Monat eine Woche vorziehen. Das waere
dann diese Woche Freitag (der 16.).
Was meint ihr ?

Paracelsus.

-----------------------------------------------------------------------------



Re: Treffen in DO (Laila, 12. Feb 1996, 12:08:52):
~#! rn=Paracelsus rt=824122936
~#! tid=824122936
Hallo Dortmunder!
Freitag, der 16.? Also Februar :)
Hmmmm, lass mal ueberlegen!
*Gruebel, studier, schwitz*
Jaa, liesse sich einrichten. Ich glaube ich bin da.
Ab wann denn? Wieder 20.00 Uhr wie immer?

Mann/Frau sieht sich

Laila

-----------------------------------------------------------------------------



Re: Re: Treffen in DO (Morgoth, 12. Feb 1996, 12:11:37):
~#! rn=Laila rt=824123332
~#! tid=824122936
mir waere der 1.3 lieber. am 16.2 kann bienchen nicht...
morgoth

-----------------------------------------------------------------------------



Re: Treffen in DO (Quillian, 12. Feb 1996, 12:30:21):
~#! rn=Paracelsus rt=824122936
~#! tid=824122936
Gute Idee, dann koent ich endlich auch mal dabei sein :-)

Quillian

-----------------------------------------------------------------------------



Re: Treffen in DO (Shakedbeer, 12. Feb 1996, 12:33:43):
~#! rn=Paracelsus rt=824122936
~#! tid=824122936
Hi!

Klasse. Der 16.2. ist der einzige Freitag in naechster Zeit, an dem ich da
bin. Ich bin dabei. Qnyberth und Drobanir kommen dann wohl auch :)
Moeglicherweise ist sogar Leagro . o 0 (Wer ist das?) dabei.

Shakedbeer - freut sich auf jeden DO-Stammtisch.

-----------------------------------------------------------------------------



Re: Re: Treffen in DO (Hardil, 12. Feb 1996, 14:25:26):
~#! rn=Quillian rt=824124621
~#! tid=824122936
Hmmm. Der 16. ist schlecht.
Da kommt doch Mainz bleibt Mainz wie es singt und lacht.

Ich bin dann also nicht da. Freut Euch! :)

-Hardil. Hat sich jetzt geoutet.

-----------------------------------------------------------------------------



Re^3: Treffen in DO (Bloodyharry, 12. Feb 1996, 23:48:59):
~#! rn=Hardil rt=824131526
~#! tid=824122936
Selber schuld - dann bekommt eben ein anderer Dein Bier ;-)

Bloody Harry macht wieder ne Nachtschicht...

-----------------------------------------------------------------------------



Re^4: Treffen in DO (Mupfel, 13. Feb 1996, 00:56:04):
~#! rn=Bloodyharry rt=824165339
~#! tid=824122936
ist das immer am selben ort?

-mupfel-

-----------------------------------------------------------------------------



Re^5: Treffen in DO (Morgoth, 13. Feb 1996, 08:43:22):
~#! rn=Mupfel rt=824169364
~#! tid=824122936
ja mupfel.....kommst du ??
es war mal im durchblick, die schmeissen uns aber immer um 2300-2330h raus.
;-((
bahnhof nordausgang(hoffe ich), treppe hoch, links...nach 500m auffer linken
seite (walhalla)
Beginn: 2000h Ende: 0000-????h
**wink**
morgoth (kommt auch ohne bienchen ;-(( )

-----------------------------------------------------------------------------



Re^6: Treffen in DO (Aline, 13. Feb 1996, 09:02:57):
~#! rn=Morgoth rt=824197402
~#! tid=824122936
Hallo Morgoth,

Bahnhof in Dortmund und dann Nordausgang?? Wo schickst du die Leute hin?
Habt ihr das Treffen in die Linienstrasse verlegt? ;)
Also Mupfel, geh besser zum Hauptausgang raus.

Aline (kann leider nicht kommen) :(

P.S. Kommt Bienchen nicht, weil ihr das Treffen in gewisse Etablissements
verlegt habt?

-----------------------------------------------------------------------------



Re^4: Treffen in DO (Paracelsus, 13. Feb 1996, 13:41:46):
~#! rn=Bloodyharry rt=824165339
~#! tid=824122936
Jau, ich nehm das Bier schon. ;)
Also machen wir das Treffen jetzt am 16.
Para.

-----------------------------------------------------------------------------



Re^7: Treffen in DO (Pampers, 13. Feb 1996, 14:43:23):
~#! rn=Aline rt=824198577
~#! tid=824122936
Hi Aline!
 > Habt ihr das Treffen in die Linienstrasse verlegt? ;)

Super Idee! Gibst Du einen aus? :)
Pampers. Ein Schlechter Mensch.

-----------------------------------------------------------------------------



Re^7: Treffen in DO (Bloodyharry, 13. Feb 1996, 16:38:33):
~#! rn=Aline rt=824198577
~#! tid=824122936
Jetzt solltet ihr auch veraten, dass die Linienstrasse das horizontale
Gewerbe beinhaltet. So fuer alle Unkundige..
Aber mal im ernst. Koennte nicht mal jemand einen Ausschnitt des dortmunder
Satdtplans scannen und ins /open legen. Damit sich auch mal ein paar Spieler
aus anderen Staedten und Treffs nach Dortmund trauen?
Achja. Und wenn Bienchen nun nicht kommt, wer knuddelt mich dann?  :)

Bloody Harry

-----------------------------------------------------------------------------



Re^8: Treffen in DO (Locutus, 13. Feb 1996, 21:59:12):
~#! rn=Bloodyharry rt=824225913
~#! tid=824122936
Hiho ihr!

Ich kann leider nicht am Freitag kommen, aber ich wuerde mich evtl. darum
kuemmern, dass ein Stadtplanausschnitt ins /open-verzeichnis kommt, damit
auch ortsfremde mudder das walhalla schneller finden koennen.

Tschoe und keep on rocking...

Loc.

-----------------------------------------------------------------------------



Treffen in KA? (Aline, 15. Feb 1996, 10:33:36):
Hallo Mudder aus KA & Umgebung,

da ich am 2.3 in Karlsruhe Klausuraufsicht habe und schon am Freitag abend
(1.3) dafuer anreise, faende ich es sehr nett wenn ich mich mit ein paar
MGlern treffen koennte. Einen Ort zum Treffen kann ich leider nicht
vorschlagen,
da ich mich in KA nicht auskenne. Zum Zeitpunkt kann ich nur sagen, dass
ich wahrscheinlich so ab 19.30 in KA bin.

Aline

-----------------------------------------------------------------------------



Bielefeleder MG-Treff!! (Ancalagon, 16. Feb 1996, 16:16:25):
Moin erstmal!
Also, ich weiss nicht, wie die anderen Bielefelder das sehen, aber mir
scheint es angebracht, den allmonatlichen MG-Treff ausnahmsweise um eine Woche
vorzuverlegen. Es gibt schliesslich noch ein paar Kleinigkeiten zu besprechen.
Also lege ich jetzt einfach mal fest. Der Bielefelder MG-Treff findet diesmal
am Mittwoch den 21.2. statt. Wie immer ist der Beginn um ca 19.30 und der Ort
das "Cafe Mint".
Es wird uebrigens wohl nicht NUR um die Fete gehen. Also koennen sich auch
ruhig diverse gaeste einfinden (wie siehts mit Paderborn aus?).
Mit vorfreudigem gruss,
                                      Ancalagon
                               Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Bielefeleder MG-Treff!! (Baron, 16. Feb 1996, 17:55:43):
~#! rn=Ancalagon rt=824483785
~#! tid=824483785
Also, ich hab zwar am Mittwoch Zeit und komme auch vorbei, aber es scheint
mir angebracht erst noch ein wenig ueber den Termin und den Trffpunkt zu
noergeln ... :))). Wir Bielefelder sind anscheinend die einzigen wo das in
dieser Rubrik NICHT standardmaessig getan wird, und das geht ja nu wirklich
nicht *kicher*
Baron meint: Bielefeld ist NICHT anders als andere kleine Staedte :).

-----------------------------------------------------------------------------



Linztreffen (Schrumpfi, 17. Feb 1996, 14:36:10):
Hi,

Wer noch mitkommen will auf die Huette soll sich bitte bis spaetestens
Dienstag bei mir anmelden. Ich muss am Mittwoch anrufen und sagen wie viele
Zimmer sie heizen muessen. Letzte Chance also
Schrumpfi

-----------------------------------------------------------------------------



Re: Linztreffen (Semira, 17. Feb 1996, 19:16:03):
~#! rn=Schrumpfi rt=824564170
~#! tid=824564170
Mach ich doch noch mal n bissl Werbung!

Alle Welt schaut nach Bieledorf und keiner mag nach Linz kommen? Das kann
doch wohl nicht angehen. Sollen denn Engy, Zardoz, Grimmborn und ich ganz
alleine Entwicklungshilfe in .at leisten? Man hat doch schliesslich schon so
viel gehoert...Kanibalen, die Missionare verspeisen...

Also los, mitkommen, unterstuetzen!

Natuerlich ist auch der Rest der Welt angesprochen...auf nach Linz !

*knuddels*

Semira

P.S.: Autos waeren auch net uebel



-----------------------------------------------------------------------------



Re: Re: Linztreffen (Semira, 17. Feb 1996, 19:16:47):
~#! rn=Semira rt=824580963
~#! tid=824564170
Nicht dass es missverstaendlich klingt:

Linz findet ein WE nach Bieledorf statt!

Semira

-----------------------------------------------------------------------------



Re: Re: Linztreffen (Creative, 18. Feb 1996, 17:33:17):
~#! rn=Semira rt=824580963
~#! tid=824564170

Entwicklungshilfe? Mach ich das net immer, wenn ich nach Koeln fahr?
Flames oder Muell, egal.
-Crea-
 :)

-----------------------------------------------------------------------------



Re^3: Linztreffen (Semira, 18. Feb 1996, 17:34:10):
~#! rn=Creative rt=824661197
~#! tid=824564170
Hm...

*sichihrenteildenkundhedonistischgrins*


-----------------------------------------------------------------------------



Stammtisch in Bonn (Pra, 26. Feb 1996, 14:24:11):
Moin, moin!


Morgen, Dienstag, 27.2., findet mal wieder der Bonner Stammtisch statt.
Diesmal am 4. Dienstag im Monat, weil der Stammtisch letzte Woche aus
unerfindlichen Gruenden (Alaaf!) ausgefallen ist.
Wo? Achja, wie immer im McSwiggans. Wann? So um 20 Uhr ist angemessen.


Bis denne!

sagt Pra.

-----------------------------------------------------------------------------



Stammtisch Dresden (Jorinde, 26. Feb 1996, 14:24:29):

 Hallo wer hat Interesse an einem Stammtisch in Dresden. Meldungen bitte an
mich





 JORINDE

-----------------------------------------------------------------------------



DO-Stammtische im Maerz (Marita, 27. Feb 1996, 22:43:43):
Halloho!

Der naechste Dortmunder Stammtisch kommt bestimmt! Auf Bienchens :-)
besonderen Wunsch (wegen zu vieler Wochen dazwischen) berufe ich hiermit
einen Zwischen-Stammtisch ein am:

                 Freitag, 15. Maerz, 20 Uhr
wie immer im     Walhalla, Kampstrasse (mitten inne Sittie)

Damit keine Missverstaendnisse aufkommen: Ihr koennt Euch auch in Zukunft
darauf verlassen, dass am LETZTEN FREITAG im Monat der regulaere Stammtisch
stattfindet! So auch im kommenden Monat, also am:

                 Freitag, 29. Maerz, 20 Uhr
wie immer im     Walhalla, Kampstrasse (immer noch mitten inne Sittie)

Mudder von ausserhalb sind wie immer herzlich willkommen (solange Ihr NICHT
NUR ueber Programmierfragen und ueber fremde Muds und sowas reden wollt,
sonst versteht man als Spieler nur meinen Sklaven Bahnhof...).
Ganz leicht zu finden: Hauptbahnhof Haupteingang raus, ueber die Strasse,
Treppe hoch, hinter der Sparkasse links, nach 100 m auf der linken Seite.
Wer laenger als 5 Minuten fuer die Strecke braucht, ist wohl aus Versehen in
Bochum ausgestiegen ;-)

Ein Freitach-Beitrach
Marita die Heldin

-----------------------------------------------------------------------------



Re: DO-Stammtische im Maerz (Morgoth, 28. Feb 1996, 07:10:38):
~#! rn=Marita rt=825457423
~#! tid=825457423
Guter Artikel Marita. Schreib Dir ein Script dafuer, dieses jetzt
monatlich zu posten !!! Damit hast Du Dich nun geoutet. DU bist
die Dortmunder Yantro.
;-))

-----------------------------------------------------------------------------



Re: DO-Stammtische im Maerz (Har, 28. Feb 1996, 13:02:18):
~#! rn=Marita rt=825457423
~#! tid=825457423
Gibts auch ne Wegbeschreibung fuer Oekologische Saeue wie mich,
die mit dem Auto kommen wollen, weil am Abend die Zugverbindung in die
heimatlichen Staedte immer
so zu wuenschen uebrig lassen?
evtl. auch mal mailen, dann muss ich mir nciht extra nen Stadtplan von Do
kaufen :)

Har (hofft mal vorbeikommen zu koennen)

-----------------------------------------------------------------------------



Re: Re: DO-Stammtische im Maerz (Marita, 28. Feb 1996, 19:09:46):
~#! rn=Har rt=825508938
~#! tid=825457423
Hi, no prob:
Folge den Schildern richtung Hauptbahnhof, parke in Bahnhofsnaehe,
rueber zum Haupteingang, ueber die Strasse, Treppe hoch, hinter der
Sparkasse links, nach 100 m auf der linken Seite.
Wer laenger als 5 Minuten fuer die Strecke braucht, parkt wohl aus
Versehen am falschen Bahnhof ;-)

-----------------------------------------------------------------------------



Re^3: DO-Stammtische im Maerz (Bloodyharry, 29. Feb 1996, 07:52:51):
~#! rn=Marita rt=825530986
~#! tid=825457423
Hiho Leudde!
NIchts is besser erlaerend, als eine gescannte Karte. Worauf man auch gleich
noch die empfohlen Parkplaetze markieren koennte. Irgendwer wollte das doch
auch mal machen?
Eine Karte scannen koennte ich zwar auch, aber ich kenne mich in Dortmund nu
nich so gut aus. Vieleicht erbarmt sich ja doch noch mal jemand VOR dem 15ten
dritten?

Bloody Harry

-----------------------------------------------------------------------------



Stammstisch Berlin (Anakin,  4. Mar 1996, 12:40:18):
 ######################################################
#                                                      #
# So Leute, am naechsten Mittwoch isses wieder soweit: #
#                                                      #
#                                                      #
# D E R  E I N Z I G  W A H R E  S T A M M T I S C H   #
#                                                      #
#         in Berlin, im 'Seeblick' um 20.00 Uhr.       #
#                                                      #
#                    am 5.3.1996                       #
#                                                      #
 ######################################################

Anakin.

-----------------------------------------------------------------------------



Re: Stammstisch Berlin (Anakin,  4. Mar 1996, 14:53:40):
~#! rn=Anakin rt=825939618
~#! tid=825939618
Aeeeh..*huestel* ich mein natuerlich den 6.3.95.

Anakin. *schmipf auf Uhr die den 29.2 nicht geschnallt hat*

P.S.: Wer will dem nexten Sonnabend dann wird es wohl nen
extra Stammstisch im Seeblick geben, Quillian und Cymonk
sind da wurde mir gesagt..mir soll es recht sein.


-----------------------------------------------------------------------------



Stammtisch in Do - Was ist los mit Euch? (Aline, 12. Mar 1996, 09:41:51):
Hallo Leute,

komisch..... Marita kuendigt vor Wochen ein Treffen in Do an und?
Nichts passiert!!! (Ist nicht persoenlich gemeint! Nichts!!)
Keiner meckert, dass ihm der Termin nicht passt. Es kommen
keine Gegenvorschlaege, Ankuendigungen das jemand wegen des
bloeden Termines nicht kommt......
bloeden Termines nicht kommt.....
;) ;)

Also Leutchen was ist los mit Euch? Warum produzieren wir diesmal
nicht die ueblichen 10 Artikel ueber den Ort, die Zeit und den
Sinn eines Treffens?
Legt mal los, ihr habt nur noch bis Freitag um 20.00 Uhr Zeit. Zur
Not geht es auch noch am Freitag nach 20.00 Uhr, dann allerdings
muendlich im Walhalla. :)

Aline (macht schon mal den Anfang: Also mir passt der Termin nicht
*maul*, ich komm nicht)

-----------------------------------------------------------------------------



Re: Stammtisch in Do - Was ist los mit Euch? (Bloodyharry, 12. Mar 1996, 09:43:47):
~#! rn=Aline rt=826620111
~#! tid=826620111
Also gut.

Wo ist denn nun der Stadtplanscan?  :-)

bh

-----------------------------------------------------------------------------



Re: Stammtisch in Do - Was ist los mit Euch? (Leusel, 12. Mar 1996, 09:46:45):
~#! rn=Aline rt=826620111
~#! tid=826620111
Stimmt Aline, Du hast da voellig recht. Es ist wirklich schlechter Stil, bei
einer Ankuendigung fuer den Do-Stammtisch nicht zu meckern.

Ich war nur leider noch nicht dazu gekommen, einen gepfefferten Artikel ueber
diesen unsaeglichen Termin zu veroeffentliche, was ich jedoch jetzt nachhole.

Koennte ihr das Treffen nicht mal an anderen Tagen machen *wein*? Freitag ist
wirklich soooooooo dooooof! Und der 15 ist noch vieeel doeoeoeoeoefer! Und
ueberhaupt und sowieso.

Leusel (der wirklich nicht kommen kann)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Do - Was ist los mit Euch? (Locutus, 12. Mar 1996, 10:19:03):
~#! rn=Leusel rt=826620405
~#! tid=826620111
Hiho DO-Mudder,

Leusel spricht mir aus der Seele. Wie waers, wenn wir den zweiten Termin im
Monat auf einen anderen Wochentag schieben? Von mir aus auch Sonntag, aber
Freitags hab ich haeufig was anderes vor, als zum MUD-Stammtisch zu kommen.
Vielleicht sind Leusel und ich ja ganz alleine mit dieser Meinung? Dann
vergesst diese weinerliche mail ;-) einfach. Ansonsten plaediere ich
fuer einen Donnerstag oder Sonntag.

Locutus (der eigentlich auch den DO-Stadtplan scannen wollte, aber bisher
noch nichts gebacken bekommen hat und der leider auch nicht am Freitag
ins Walhalla kommen wird :(  )

-----------------------------------------------------------------------------



Re^3: Stammtisch in Do - Was ist los mit Euch? (Hardil, 12. Mar 1996, 10:31:46):
~#! rn=Locutus rt=826622343
~#! tid=826620111
Hmmm.
Freitags ist zwar scheisse, aber diesmal nicht, weil der VfL erst Sonnatg
spielt. Ich werde also wohl kommen koennen. Und auch meine MAGIC-Karten
mitbringen, damit der Herr GulDukat sich nicht ganz umsonst auf den weiten Weg
macht. :-)

Ab dafuer,

-hardil.
Beinahe nicht gemeckert.

-----------------------------------------------------------------------------



Re: Stammtisch in Do - Was ist los mit Euch? (Kramka, 12. Mar 1996, 10:32:32):
~#! rn=Aline rt=826620111
~#! tid=826620111
Hallo Dortmunder Mudder!

Das ist echt ein SCHEISS Termin !!!!!! :) (Ich hoffe damit den Erwartungen
genuege getan zu haben)
Aber ich kann trotzdem nicht kommen ! Wieso muss der Stammtisch gerade dann
stattfinden` wenn 1. Bei ein Newbie-Band spielt , die ich mir gerne anschauen
wuerde und dann noch am selben Abend eine Fete stattfindet.

So, aber am 29.03. bin ich auch jeden Fall da !

Kramka, Laila's Beschuetzer und Diener :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Do - Was ist los mit Euch? (Bloodyharry, 12. Mar 1996, 10:36:15):
~#! rn=Kramka rt=826623152
~#! tid=826620111

> Das ist echt ein SCHEISS Termin !!!!!! :) (Ich hoffe damit den Erwartungen
> genuege getan zu haben)

Das hast Du! :)
Ich moechte auch lieber einen anderen Wochentag als ausgerechnet den
Freitag. Meinetwegen dann am Sonntag, wenn da recht viele koennen.

bh

-----------------------------------------------------------------------------



Re^3: Stammtisch in Do - Was ist los mit Euch? (Hardil, 12. Mar 1996, 10:55:30):
~#! rn=Bloodyharry rt=826623375
~#! tid=826620111

Sid wir bald auf den noetigen 10 Artikeln, ohne die kein
Doofmudder-Stammtisch stattfinden kann? Also SOnntag ist auch Scheisse, denn
der VfL spielt zur Zeit entweder Freitag oder Sonntag, und wenn er SOnntag
nicht spielt, dann kann man selber kicken, und ist abends noch zu sehr mit dem
Pflegen der eigenen Wunden beschaeftigt. :-)
Wie waere es mit Donnerstag, nach dem langen Einkaufsbummel? Oder Montag?
Montag faende ich am besten, jedenfalls in den Ferien. Und welchen WOchentag
hatten wir noch nicht? :-)

grinsend:

-Hardil.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Do - Was ist los mit Euch? (Shakedbeer, 12. Mar 1996, 13:40:58):
~#! rn=Hardil rt=826624530
~#! tid=826620111
Hi!

Dann bin ich woh ler erste, der sich hier outet. Mir gefaellt dieser
Termin. Das ist doch ein super Wochenabschluss. Man geht gemuetlich zum
Stammtisch und faehrt dann ins Wochenedne in die Heimat. ;)

Shakedbeer - ist auf jeden fall da, hat aber auch nix gegen andere Termine.

-----------------------------------------------------------------------------



Re^5: Stammtisch in Do - Was ist los mit Euch? (Shakedbeer, 12. Mar 1996, 13:41:41):
~#! rn=Shakedbeer rt=826634458
~#! tid=826620111
Sorry. Die Tastatur hat nen Tick.

Shakedbeer.

-----------------------------------------------------------------------------



Re^5: Stammtisch in Do - Was ist los mit Euch? (Kramka, 12. Mar 1996, 13:43:01):
~#! rn=Shakedbeer rt=826634458
~#! tid=826620111
Hallo,
also ich spreche mal wieder fuer Laila:
Der Freitagstermin ist eigentlich ganz gut (aber nicht wenn iregndwelche
Bands spielen oder Freunde feten feiern.) Aber auch gegen Donnerstags haetten
wir (Laila und ich) nichts dagegen

Kramka, Laila's Beschuetzer und Diener

-----------------------------------------------------------------------------



Re: Stammtisch in Do - Was ist los mit Euch? (Nichts, 12. Mar 1996, 15:35:51):
~#! rn=Aline rt=826620111
~#! tid=826620111

*quengel* Immer ich. Immer ich. Immer muss ich passieren.
Wie waere es mit naechstem _Samstag_, damit ich Aline nochmal knuddeln kann,
bevor sie sich von so nem komischen Erzmagier ehelichen laesst... ;-)

Will sagen, ich wuerde mich fast anstrengen, auch mal einen
Nicht-Muenster-Stammtisch zu nerv^H^H^H^H^H besuchen.
Einer muss Hardil ja die Magic-Karten wegnehmen.

""


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Do - Was ist los mit Euch? (Har, 12. Mar 1996, 16:15:01):
~#! rn=Nichts rt=826641351
~#! tid=826620111
Tja, sieht so aus, als wuerde cih mal wieder nicht kommen koennen....
Der Termin ist total doof weil   ;-)
ich schon eine Verabredung auf der Geburtstagsparty eines guten Freundes
habe, und da der nun mal
dummerweise in Arnheim studiert, werde ich wohl beide Termine
nicht wahrnehemn koennen, schon alleine wegen der Entfernung.
Ausserdem habe ich in Arnheim einen Schlafplatz, das heisst,d ass icih auch
etwas Alkohol trinken
kann un dann nicht autofahren muss.

Har (bedauernd das es wieder nix wird mit Do)

-----------------------------------------------------------------------------



Re^6: Stammtisch in Do - Was ist los mit Euch? (Hardil, 14. Mar 1996, 12:51:00):
~#! rn=Kramka rt=826634581
~#! tid=826620111

Hmmm, einen Tag vor dem Stammtisch, und schon seit 36 STunden keine Artikel
mehr in der mpa... Schwaches Bild. :)
Wer kommt denn nun weswegen nicht?

Oetti kommt nicht wegen falscher Lakaien. Und sonst?

-Hardil.

-----------------------------------------------------------------------------



Stammtisch in BN (Pra, 18. Mar 1996, 13:48:33):
Moin, Bonner mudder!
(moin auch an die aus der naeheren Umgebung)

Am morgigen Dienstag, 19.3.96 ist es wieder soweit:

Stammtisch in Bonn. Diesmal ab 20:30 Uhr,
und diesmal auch an einem anderen ORT!!!
Und zwar: Beim Iren in Endenich, Frongasse. Direkt neben dem Rex-Kino
und direkt gegenueber der Springmaus.
Haltestelle Frongasse ist auch direkt gegenueber (vom Hbf mit Linie 634
oder 635).
Warum in Endenich? Weil is' billiger. Sagt jedenfalls Toe.
So, genug gelabert, meine Chaosruestung macht sich gerade wieder selb-
staendig. Bis Morgen sagt

Pra.

-----------------------------------------------------------------------------



Re: Stammtisch in BN (Har, 18. Mar 1996, 16:28:58):
~#! rn=Pra rt=827153313
~#! tid=827153313
Kann man/frau/abenteuerer/chaoskrieger den Stammtisch in bonn nch mal in die
Naehe des Wochenende legen?  ;-)

Har (maekelnd)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in BN (Zephyr, 18. Mar 1996, 16:29:27):
~#! rn=Har rt=827162938
~#! tid=827153313
geht das hier auch noch los? :)
den Dienstag verteidigend, Zephyr

-----------------------------------------------------------------------------



Re: Re: Stammtisch in BN (Grimmborn, 18. Mar 1996, 16:34:07):
~#! rn=Har rt=827162938
~#! tid=827153313

Keine Ahnung was Du hast, der Dienstag IST doch in der Naehe des Wochenendes.
Nur 2 Tage vom Sonntag weg, das ist doch moderat...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Stammtisch in BN (Bendeigid, 19. Mar 1996, 16:00:22):
~#! rn=Grimmborn rt=827163247
~#! tid=827153313
Ja, schon, aber der Donnnerstag waer nur zwei vom Samsatg wech, un da haette
ich kein Training und koennte auch mal vorbeischauen :)

Ja, iss ja jut, Zeph, isch saaach schon nix mehr!
Bendeigid

-----------------------------------------------------------------------------



Re^4: Stammtisch in BN (Har, 19. Mar 1996, 16:09:41):
~#! rn=Bendeigid rt=827247622
~#! tid=827153313
Aehmm, aeh, tja, also, wo wir jetzt mit dem Donnerstag schon so nah am
Wochende sind, wie waere es mit Freitag?

Har (feixend)

-----------------------------------------------------------------------------



Re^5: Stammtisch in BN (Pra, 19. Mar 1996, 16:12:32):
~#! rn=Har rt=827248181
~#! tid=827153313
Wat willstu denn eigentlich in Bonn, Har? Du hass da abba auch jaa nix
verlorn,

klar?

Pra.

-----------------------------------------------------------------------------



Re^6: Stammtisch in BN (Har, 19. Mar 1996, 16:15:15):
~#! rn=Pra rt=827248352
~#! tid=827153313
Tja, ich waere beinahe am Freitag mal in der Naehe von Bonn, aber dann eben
nicht (*seufz*). Und wenn keiner den Stammtisch mal so legt, dass cih auch
kommen kann, dann loesche ich mich eben selber (*jammer*).

Har (traurig)

-----------------------------------------------------------------------------



Re^7: Stammtisch in BN (Cih, 19. Mar 1996, 16:18:02):
~#! rn=Har rt=827248515
~#! tid=827153313
Was soll ich den beim Bonner Treff???

cih, sich wundernd

-----------------------------------------------------------------------------



Freitach in Dortmund! (Marita, 26. Mar 1996, 19:59:18):
(nur nochmal zur Erinnerung)

Hoffentlich mit:

Leagro..........s  Marita..........s  Drobanir........s  Qnyberth........s
Thufhir.........s  Xantia..........s  Yanny...........s  Ringor..........S
Aline...........S  Bienchen........S  Craig...........S  Hardil..........S
DeSaSTa.........S  Nichts..........S  Pampers.........m  Bloodyharry.....M
Mupfel..........M  Elbyte..........M  Leusel..........M  Locutus.........M
Shakedbeer......M  Paracelsus......R  Morgoth.........R  Saikan..........R

und mit allen weiteren Kurzentschlossenen! Immer noch um 20 Uhr im
Lall...Walhalla, mitten inne City, 5 Minuten vom Bahnhof: Vorne raus, uebere
Strasse, Treppe hoch, weiter bis Sparkasse, dahinter links ab, nach 100 m is
Walhalla aufe linken Seite (und NEIN, ich KANN keinen gescannten Plan
irgendwo ablegen, das muss jemand anders machen, aber das ist so toteneinfach
zu finden, auch ohne Plan...)
Mein Mensch hats letztens auch mal mit dem Auto ausprobiert: In
Bahnhofs-Sichtweite gips nen Parkplatz, da is abends normalerweise was frei.

Marita die Adeptin


-----------------------------------------------------------------------------



Re: Freitach in Dortmund! (Shakedbeer, 27. Mar 1996, 10:27:26):
~#! rn=Marita rt=827866758
~#! tid=827866758
HI!

Um den Anforderungen von Aline (zwinker) genuege zu tun, schreibe ich
hier kurz den Artikel Nr.2. Es fehlen also noch 8. Strengt Euch an, Leute!

Shakedbeer - ist auf jeden Fall wieder dabei.

-----------------------------------------------------------------------------



Re: Re: Freitach in Dortmund! (Morgoth, 27. Mar 1996, 10:29:03):
~#! rn=Shakedbeer rt=827918846
~#! tid=827866758
na gut..ich bin hoffentlich auch da...bienchen leider nicht
bis dann

morgoth

-----------------------------------------------------------------------------



Re: Re: Freitach in Dortmund! (Laila, 27. Mar 1996, 10:30:34):
~#! rn=Shakedbeer rt=827918846
~#! tid=827866758
Hi

Freitach ist Stammtisch tach. Das hat mir meine Ur-Ur-Ur-Ur-GOSSMUTTER
muetterlicherseits schon immer gesagt. Also bin diesen Freitach auch mal
wieder anwesend. Sooo, jetzt fehlen wohl noch 7 Artikel. Ist ja schoenes
Wetter heute. da kommen die mit sicherheit noch zusammen, aber nur wenn aline
am freitag auch wirklich da ist :))

laila

-----------------------------------------------------------------------------



Re: Freitach in Dortmund! (Hardil, 27. Mar 1996, 10:31:01):
~#! rn=Marita rt=827866758
~#! tid=827866758

Und was ist mit Blockbuster? Darf der nicht kommen? Und GulDukat, der ja
inzwischen fast Stammgast ist? :-)
Kein Dortmunder Treffen ohne 4 Replies :-)

-Hardil. NNN.

-----------------------------------------------------------------------------



Re: Re: Freitach in Dortmund! (Locutus, 27. Mar 1996, 13:19:49):
~#! rn=Hardil rt=827919061
~#! tid=827866758
Ok, also auch ne Reply von mir.

Ich hoffe, dass ich am Freitg auch mal wieder Zeit habe. Mal kucken, obs
klappt. An Gul und Hardil: Vergesst nicht Eure Killerdecks ;-)
Blockbuster ist uebrigens in Urlaub. Der kommt auf keinen Fall.

C ya
Loc.

-----------------------------------------------------------------------------



Re^3: Freitach in Dortmund! (Paracelsus, 27. Mar 1996, 13:22:28):
~#! rn=Locutus rt=827929189
~#! tid=827866758
Hi DO-STler
Ich komm evtl auch, wenn ich mein Lernpensum bis dahin geschafft habe ;)
Para macht auch ein reply. ;)

zap tippfehlerteufel

-----------------------------------------------------------------------------



Re: Re: Freitach in Dortmund! (Mupfel, 27. Mar 1996, 19:19:35):
~#! rn=Shakedbeer rt=827918846
~#! tid=827866758
Sollten Marita und Hardil da sein, ist die Wahrscheinlichkeit gross, dass ich
auch da bin.

-mupfel-

-----------------------------------------------------------------------------



Re^3: Freitach in Dortmund! (Anatol, 27. Mar 1996, 19:20:23):
~#! rn=Mupfel rt=827950775
~#! tid=827866758

.... Dafuer werde ICH ganz sicher nicht dabei sein. Und auch "Nichts" nicht.

Anatol


-----------------------------------------------------------------------------



Re^4: Freitach in Dortmund! (Mupfel, 27. Mar 1996, 19:21:22):
~#! rn=Anatol rt=827950823
~#! tid=827866758
aha. weil ICH da bin oder was?

-mupfel-

-----------------------------------------------------------------------------



Re^3: Freitach in Dortmund! (Hardil, 28. Mar 1996, 13:20:47):
~#! rn=Mupfel rt=827950775
~#! tid=827866758
Hmmm, wenn der Boss kommt, dann komm ich auch.
Und Marita - nun, Stammtische ohne Marita... :-)

Bis Freitag sagt:

		-Hardil.

-----------------------------------------------------------------------------



Re^4: Freitach in Dortmund! (Janice, 28. Mar 1996, 13:45:30):
~#! rn=Hardil rt=828015647
~#! tid=827866758
Da das hier anscheind die neue Schmarrn-rubrik ist, und hier auf Replys steht
schreib ich mal, das ich nicht komm :)

Janice bleibt lieber in Berlin, ist auch billiger :)

-----------------------------------------------------------------------------



Re^5: Freitach in Dortmund! (Guldukat, 28. Mar 1996, 19:24:19):
~#! rn=Janice rt=828017130
~#! tid=827866758
Nun, ich moechte die letzten artikel noch einmal zusammenfassen:

-------------- schnipsel hier -----------------------

Shakedbeer - ist auf jeden Fall wieder dabei.

Wenn die Biene Maja nicht kommt, dann kommt morgoth

Der mit der Ur-Ur-Ur-Ur-GOSSMUTTER tanzt kommt, aber nur wenn aline auch da
ist

Die grosse Videothekenkette darf nicht kommen? Der, der ja
inzwischen fast Stammgast ist? darf kommen, aber nur, wenn ein anderer
sein Killerdeck mitbringt und Mishra Zeit hat.

Der, der nicht kommen darf, ist eh in Urlaub


Jemand sagt: Hmmm, wenn der Boss kommt, dann komm ich auch.
Und Marita - nun, Stammtische ohne Marita... :-)

Bis Freitag sagt: -Hardil.

Der, der auch ein reply macht kommt, wenn er nicht lernt


Sollten Marita und Hardil da sein, ist die Wahrscheinlichkeit gross, dass ich
auch da bin. -mupfel-

Locutus sagt: Blcokbuster ist in Urlaub

Anatol sagt: .... Dafuer werde ICH ganz sicher nicht dabei sein. Und auch
"Nichts" nicht.


aha. weil ICH da bin oder was? -mupfel-

Para macht auch ein reply. ;)



-----------------------------------------------------

Nun zur Frage:

Wie alt ist die Grossmutter und wer tanzt mit Hardil?


-----------------------------------------------------------------------------



Re^6: Freitach in Dortmund! (Aline, 29. Mar 1996, 09:37:42):
~#! rn=Guldukat rt=828037459
~#! tid=827866758
Hallo Leuts, ;)

inzwischen muss ich doch auch mal meinen Senf dazugeben. *holtiefLuft*
Der mit der Ur-Ur-Ur-Ur-GOSSMUTTER tanzt kann ruhig kommen, denn ich
werde auch da sein!!!
Und heute sogar mal laenger als sonst *DiesisteineDrohung*

Da ich allerdings mit dem Auto komme, waere es nett wenn keiner der
anwesenden Zauberer "rausch" an mir uebt ;)

Aline (freut sich auf den Stammtisch)

-----------------------------------------------------------------------------



Dresdner Stammtisch (Terrorist,  1. Apr 1996, 19:14:12):
Jo es ist soweit.
Lange hat ihr gehofft, jetzt ist es erreicht.
Der 1. Dresdner Stammtisch

Stattfinden soll er in der Bierboerse und zwar am 10.04.96

um 19 Uhr.

Wir hoffen das alle kommen werden und wollen auch Mudder aus dem Umland sehen
(grob also aus Berlin,Leipzig oder Chemnitz).

Bei Problemen mit Ort oder Zeit, desweiteren Zusagen, um zu sehen das es sich
ueberhaupt lohnt, bite per mudmail an mich.
Ok das wars also ich hoffe auf grosse REsonanz.
Ach ihr koennt euch auch an Tweeg wenden.

Terrorist ist in Partylaune

-----------------------------------------------------------------------------



Stammtisch Berlin (Anakin,  2. Apr 1996, 11:33:41):
Hi,

also der Stammtisch in diesem Monat wird verlegt. Wahrscheinlich
erst in zwei Wochen...also nach Ostern..genaures hier in der MPA:

Anakin.

-----------------------------------------------------------------------------



Stammtisch in Berlin (Berlin, 15. Apr 1996, 11:29:24):
Hiho,

Es ist wieder soweit, der verlegte Stammtisch findet uebermorgen
am 17.04.96 um 20.00 im 'Seeblick' statt.


-----------------------------------------------------------------------------



treffen? (Guybrush, 15. Apr 1996, 11:36:03):
Hm, wie waer's nochmal mit nem Treffen in KA?
Oder gibts das nicht mehr? ;)

Guybrush, zieht demnaechst nach Dortmund, weil dort immer die rubrik gefuellt
wird ;)

-----------------------------------------------------------------------------



Re: treffen? (Oetti, 15. Apr 1996, 14:03:57):
~#! rn=Guybrush rt=829560963
~#! tid=829560963
Schlag was vor, dann schlag ich zurueck, Ex-Mann...

Oettl.

-----------------------------------------------------------------------------



Re: Re: treffen? (Guybrush, 15. Apr 1996, 15:27:24):
~#! rn=Oetti rt=829569837
~#! tid=829560963
Warum immer ich? ;)

Guybrush, auf dem besten Weg zum Dortmunder ;)

-----------------------------------------------------------------------------



Re: treffen? (Mupfel, 15. Apr 1996, 21:16:15):
~#! rn=Guybrush rt=829560963
~#! tid=829560963
Noch einer bei diesen 100-Mann-Stammtischen in DO ? :-)

-----------------------------------------------------------------------------



Re: Re: treffen? (Marita, 15. Apr 1996, 21:54:47):
~#! rn=Mupfel rt=829595775
~#! tid=829560963
Richtig, Mupfel. Und dieser 100-Mann-Stammtisch (oder so) findet mal wieder
naechste Woche statt! Also zum Mitschreiben: Dortmunder MG-Stammtisch

am               Freitag, 26. April 1996
wie immer im      Walhalla (Dortmund, Kampstr., mitten inne Sitti)

Wer nicht kommt, ist selber schuld, der verpasst die anderen 99 ;-)
Alines 2ti Marita die Adeptin

-----------------------------------------------------------------------------



Re^3: treffen? (Marita, 15. Apr 1996, 21:56:49):
~#! rn=Marita rt=829598087
~#! tid=829560963
Aeh, natuerlich wie immer um 20 Uhr :-)

-----------------------------------------------------------------------------



Re: Re: treffen? (Morgoth, 16. Apr 1996, 10:12:35):
~#! rn=Mupfel rt=829595775
~#! tid=829560963
wenn du den am 26.04. meinst ... ja ich bin da. allerdings erst ab ca. 2230h.
also nicht vergessen, 26.04. ist stammtischtag.

-----------------------------------------------------------------------------



Re^3: treffen? (Hardil, 16. Apr 1996, 12:47:32):
~#! rn=Marita rt=829598087
~#! tid=829560963

Argl. Marita. Du hast da was durcheinandergebracht.
Nicht Du bist Alines Zweitie. Sondern Xanthia.

Mal gucken, ob ich kann. Freitag ist wie imemr schlecht. Aber schaunmermal.

-Hardil. Freut sich auf Guybrush als Extragast.

-----------------------------------------------------------------------------



Re^4: treffen? (Shakedbeer, 16. Apr 1996, 14:19:51):
~#! rn=Hardil rt=829651652
~#! tid=829560963
Aufgepassst!

Wenn zu diesem DO-Stammtisch wieder ;) 100 Leute kommen, spendiere ich zur
Mudfete im Sommer 2 Kisten original Schuettelbier. :)
Ich glaube mehr wird davon eh nicht getrunken. Also strengt Euch an!

Shakedbeer - fehlen noch ca. 95 (schielaufdievorherigenartikel)

-----------------------------------------------------------------------------



Re^5: treffen? (Shakedbeer, 16. Apr 1996, 18:19:02):
~#! rn=Shakedbeer rt=829657191
~#! tid=829560963

EXTRABLATT: DIE SENSATION!!!

Jetzt ratet mal wer sich unverbindlich fuer den Stammtisch angemeldet hat?

Jorinde!!!

-----------------------------------------------------------------------------



Re^5: treffen? (Paracelsus, 16. Apr 1996, 21:41:42):
~#! rn=Shakedbeer rt=829657191
~#! tid=829560963
Jetzt fehlen Dir nur noch 94, Shaky.
Ich komm naemlich auch.

Paracelsus.

-----------------------------------------------------------------------------



Stammtisch in Muenchen! (Raffi, 17. Apr 1996, 00:50:49):

Soo, nachdem ein Muenchner Stammtisch irgendwie nie so recht aus
den Startloechern kommen will mach ich mal einen anderen Vorschlag:

Ich bin (fast) jeden Montag in der Pfenningparade anzutreffen. Das
ist zwar bereits ein Stammtisch (irgendwann mal vor so 15 Jahren
als Computersammtisch gegruendet), laesst sich aber gut zum MG/Mud-
Stammtisch erweitern.

Wer Lust auf ein bischen Ratschen hat, der soll einfach vorbeikommen.

Es gibt bis halb Neun warme Kueche zu wirklich zivilen Preisen
(Wiener Pommes in saettigender Groesse fuer ca. 12 DM). Es ist auch
RUHIG, d.h. man kann sich wirklich Unterhalten ohne Schreien zu
muessen.

Termin: JEDEN Montag ca. ab 19 Uhr.
Ort:    Caffe Pfennigparade Barlachstrasse.

Anfahrt: Auf dem Ring bis zur Belgradsttrasse, ab da Barlachstrasse
         (ist Paralell zum Ring), oder
         U-Bahn Scheidplatz, und dann BUS (44?) oder zu Fuss.

Hinweis: Von Aussen ist nur ein kleines Schild 'Die Cafe' zu sehen.
         Man muss die Wohnanlage bei dem Schild betreten, und nach
         rechts zum 2. Eingang gehen.

Hmm ich mach mal eine Plan:

Shell I  1  I                                I  2  I     I  3   I
------'     '--------------------------------'     '-----'      '--
         1                 Ring                 2           3
------,     ,---------------------,   ,------,     ,---------------
      I     '---------------------' 4 I      I     I
      I  1       Barlachstrasse       I      I  2  I
      I     ,-,  ,----------------, 4 I      I     I
      I  1  I  \ 5\    -> X <-    I 4 I      I  2  I
      I  1  I   \ 5\      ^       I 4 I      I  2  I
      I  1  I    \ 5\             I 4 I      I  2  I
      I  1  I     \ 5\            I 4 I      I  2  I

    (Scheidplatz)

1 Belgradstrasse
2 Leopoldstrasse
3 BAB Nuernberg
4 Kloppstockstrasse
5 Hagedornstrasse

Soo, und das X, ist der eingang zur Wohnanlage Pfennigparade ist ein
Durchgang. Da rein,  und rechts um das gruenzeug rum, dann kommt ein
Eingang mit autom. Schiebetueren, da rein, und dann linkerhand ist
der Eingang ins Lokal.

Soo, ich hoffe mal das war richtig schoen unverstaendlich.

Gruss
H.
P.S.: ich  hab gerademal auf den Plan geschaut - das ist auf dem Falk-Plam
auf P14, wobei die Wohnanlage als Rehab-Zentrum eingezeichnet ist -ach ja,
Rolli-Gebiet - wer  sich an sowas stoert sollte vorher daran denken!

-----------------------------------------------------------------------------



Schweizer Stammtisch? (Zuerileu, 17. Apr 1996, 07:56:20):
Ja ihr Schweizer,
Wo bleibt eigentlich unser Stammtisch? Ich meine einen einmaligen Stammtisch
war wohl einen Flop und dazu schon so lange her. Ich denke es waer mal an der
Zeit einen regelmaessigen Stammtisch einzufuehren. Es giebt sicher in
zwischenzeit noch weitere Schweizer MG-Fan's die intresse daran haben. Ich
schreib das hierhin da ich so sicher alle ereichen kann und es waer schoen
wenn ein paar antworten koemmen wuerden. Meldet euch doch bitte mal zu Wort
=:). Nun und es waer natuerlich auch schoen wenn jemand aus dem nahen Ausland
kommen koennte =:)

TSCHUUUUES Zuerileu

-----------------------------------------------------------------------------



Re^6: treffen? (Snuggle, 18. Apr 1996, 19:29:58):
~#! rn=Paracelsus rt=829683702
~#! tid=829560963
Hmm. ich sach mal vorsichtig noch 93

also strengt euch an, ich versuch, noch ein paar bonner aufzutreiben.

Snuggle, will schuettelbier.

-----------------------------------------------------------------------------



Re: treffen? (Cheasy, 20. Apr 1996, 23:41:07):
~#! rn=Guybrush rt=829560963
~#! tid=829560963
ich waer bei einem Treffen in KA sofort dabei... aber bitte Naehe Bohnhof,
der letzte Zug faehr 22.32 ab.

-Cheasy
wollte schon immer mal in der Naehe der Heimat mudden ;-)

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen! (Raffi, 22. Apr 1996, 14:16:57):
~#! rn=Raffi rt=829695049
~#! tid=829695049
Stammtisch in Muenchen!

Soo, Montag ist, wer Lust auf ein bischen Ratschen hat,
der ist Heute in der Pfennig recht.

Termin:  ab ca.20h Uhr.
Ort:     Caffee Pfennigparade Barlachstrasse.

Anfahrt: Auf dem Ring bis zur Belgradsttrasse, ab da Barlachstrasse
         (ist Paralell zum Ring), oder
         U-Bahn Scheidplatz, und dann BUS (44?) oder zu Fuss.

Hinweis: Von Aussen ist nur ein kleines Schild 'Die Cafe' zu sehen.
         Man muss die Wohnanlage bei dem Schild betreten, und nach
         rechts zum 2. Eingang gehen.

Hmm ich mach mal eine Plan:

Shell I  1  I                                I  2  I     I  3   I
------'     '--------------------------------'     '-----'      '--
         1                 Ring                 2           3
------,     ,---------------------,   ,------,     ,---------------
      I     '---------------------' 4 I      I     I
      I  1       Barlachstrasse       I      I  2  I
      I     ,-,  ,----------------, 4 I      I     I
      I  1  I  \ 5\    -> X <-    I 4 I      I  2  I
      I  1  I   \ 5\      ^       I 4 I      I  2  I
      I  1  I    \ 5\             I 4 I      I  2  I
      I  1  I     \ 5\            I 4 I      I  2  I
      :  :  :
    (Scheidplatz)

1 Belgradstrasse
2 Leopoldstrasse
3 BAB Nuernberg
4 Kloppstockstrasse
5 Hagedornstrasse
Shell: Shell-Tankstelle - Egal ob Boykott oder nicht, als Wegmarkierung
ist der gelbe Fleck ganz brauchbar.

Soo, und das X, ist der Eingang zur Wohnanlage Pfennigparade ist ein
Durchgang. Da rein, und rechts um das Gruenzeug rum, dann kommt ein
Eingang mit autom. Schiebetueren, da rein, und dann linkerhand ist
der Eingang ins Lokal.

Soo, ich hoffe mal das war richtig schoen unverstaendlich.

Gruss
H.

P.S.: ich  hab gerademal auf den Plan geschaut - das ist auf dem Falk-Plan
auf P14, wobei die Wohnanlage als Rehab-Zentrum eingezeichnet ist - ach ja,
Rolli-Gebiet - wer  sich an sowas stoert sollte vorher daran denken!

-----------------------------------------------------------------------------



Re^712: Treffen in Dortmund (Hardil, 23. Apr 1996, 13:51:40):

Argl, was ist los? Nur noch drei Tage bis zum naechsten Doofmudder Stammtisch
(ooooh, dieser Rechtschreibeteufel. Das sollte vorne natuerlich "Dortmunder"
heissen, sowas aber auch. Was das jetzt freudsch?), und diese Rubrik ist von
irgendwelchen Muenchner
Artikeln, Karlsruher Gelbfussartikeln und aehnlichem voll, aber der letzte
wirkliche Artikel ist 'ne Woche alt.
Was ist los?
Kommt denn keiner? Wo bleibt die Termindiskussion?

-Hardil. Sagt: Freitag als Termin ist wie immer dooof.
NNN.

-----------------------------------------------------------------------------



Re^713: Treffen in Dortmund (Mupfel, 23. Apr 1996, 14:37:06):
~#! rn=Hardil rt=830260300
~#! tid=830260300
kommt da wer interessantes?

-mupfel-

-----------------------------------------------------------------------------



Re^714: Treffen in Dortmund (Shakedbeer, 23. Apr 1996, 15:01:30):
~#! rn=Mupfel rt=830263026
~#! tid=830260300
Hey, Hardil, wie waers mit abzaehlen ;)

-----------------------------------------------------------------------------



Re^715: Treffen in Dortmund (Shakedbeer, 23. Apr 1996, 15:01:45):
~#! rn=Shakedbeer rt=830264490
~#! tid=830260300
1

Shakedbeer.

-----------------------------------------------------------------------------



Re^716: Treffen in Dortmund (Jorinde, 23. Apr 1996, 15:07:11):
~#! rn=Shakedbeer rt=830264505
~#! tid=830260300
2



JORINDE

-----------------------------------------------------------------------------



Re^717: Treffen in Dortmund (Morgoth, 23. Apr 1996, 16:23:43):
~#! rn=Jorinde rt=830264831
~#! tid=830260300
3

morgoth

4

bienchen

-----------------------------------------------------------------------------



Re^718: Treffen in Dortmund (Ringor, 23. Apr 1996, 16:55:13):
~#! rn=Morgoth rt=830269423
~#! tid=830260300
5


-----------------------------------------------------------------------------



Re^719: Treffen in Dortmund (Guldukat, 23. Apr 1996, 18:21:09):
~#! rn=Ringor rt=830271313
~#! tid=830260300


Magic?

-----------------------------------------------------------------------------



Re^720: Treffen in Dortmund (Morgoth, 24. Apr 1996, 07:14:14):
~#! rn=Guldukat rt=830276469
~#! tid=830260300
aehm, nach 5 kommt 6 guldukat, nicht magic ;-)

-----------------------------------------------------------------------------



Re^720: Treffen in Dortmund (Locutus, 24. Apr 1996, 10:39:16):
~#! rn=Guldukat rt=830276469
~#! tid=830260300
Magic? Klingt prinzipiell nicht schlecht.
Locutus kommt vielleicht, wenn Blockbuster nicht schon vorher mit dem Auto
ins Wochenende rauscht (Fahrgemeinschaft).
also vielleicht:

7

Blockbuster

8

Locutus

-----------------------------------------------------------------------------



Re^721: Treffen in Dortmund (Shakedbeer, 24. Apr 1996, 12:32:11):
~#! rn=Locutus rt=830335156
~#! tid=830260300
9

Qnyberth

10

Drobanir

(11)

RogerRabbit

-----------------------------------------------------------------------------



Re^722: Treffen in Dortmund (Hardil, 24. Apr 1996, 12:41:01):
~#! rn=Shakedbeer rt=830341931
~#! tid=830260300
12

Hardil (der VfL spielt erst SOnntag)

-----------------------------------------------------------------------------



Re^723: Treffen in Dortmund (Marita, 24. Apr 1996, 12:43:00):
~#! rn=Hardil rt=830342461
~#! tid=830260300
13 (Mann sind wir albern, die anderen sind bestimmt schon sauer ;-))

-----------------------------------------------------------------------------



Stammtisch (Li, 24. Apr 1996, 13:12:24):
Hi !
Da ich nicht weiss, ob Ancalagon heute noch kommt, moechte ich Euch alle
daran erinnern und herzlich dazu einladen, dass in Bi heute wieder Stammtisch
ist.
Treffpunkt wie immer Cafe Mint, Uhrzeit zwischen 19.30 und 20.00 Uhr.
Li

-----------------------------------------------------------------------------



Re^724: Treffen in Dortmund (Paracelsus, 24. Apr 1996, 21:45:13):
~#! rn=Marita rt=830342580
~#! tid=830260300
14

-----------------------------------------------------------------------------



Re^725: Treffen in Dortmund (Mupfel, 24. Apr 1996, 23:01:58):
~#! rn=Paracelsus rt=830375113
~#! tid=830260300
(lust && zeit ? 15 : 14)

-----------------------------------------------------------------------------



Re^726: Treffen in Dortmund (Cauno, 25. Apr 1996, 13:10:40):
~#! rn=Mupfel rt=830379718
~#! tid=830260300

Auch wenn ich nicht mehr weiss, was hier gezaehlt wird ...
Der 736ste Reply auf einen Brief ist irgendwie Rekordverdaechtig !
Was gibt es fuer den, der den tausendsten abliefertt?

					C. No

-----------------------------------------------------------------------------



Re^727: Treffen in Dortmund (Cauno, 25. Apr 1996, 13:13:09):
~#! rn=Cauno rt=830430640
~#! tid=830260300
Da hab ich mich doch noch vertippt ... na egal, ist sowieso bald so weit  ...

-----------------------------------------------------------------------------



Treffen in Karlsruhe (Boing, 25. Apr 1996, 14:26:30):
Da Oetti es nicht auf die Reihe bekommt, schreibe ich halt den Artikel:

Naechster Stammtisch in Karlsruhe ist am Dienstag, 30. April um 19 Uhr
im Miro (Naehe Europaplatz). Wer das nicht findet, soll sich bei mir
melden und bekommt dann eine Wegbeschreibung.

  Boing

PS: Ist jetzt etwas kurzfristig, aber Oe* wollte das schon vor ein paar
    Tagen posten ... ;)

-----------------------------------------------------------------------------



Re: Treffen in Karlsruhe (Loco, 25. Apr 1996, 14:31:09):
~#! rn=Boing rt=830435190
~#! tid=830435190
*grummel*
Na wenn ihr gerne unter Euch bleiben wollt... dann macht die naechsten ruhig
auch wieder mitten in der Woche. Wenn ihr aber auch gerne Gaeste von
ausserhalb habt, ist vielleicht doch das Wochenende die bessere Idee...

      Loco

-----------------------------------------------------------------------------



Re: Re: Treffen in Karlsruhe (Yantro, 26. Apr 1996, 08:40:19):
~#! rn=Loco rt=830435469
~#! tid=830435190

Hmmm Loco, ich weiss nicht, wie das bei Dir ist, aber ICH hab an dem Mittwoch
danach frei, denn da ist sowas wie ein Feiertag.....

-----------------------------------------------------------------------------



Re: Treffen in Karlsruhe (Oetti, 26. Apr 1996, 12:16:55):
~#! rn=Boing rt=830435190
~#! tid=830435190
Hi !
Ehh *schaem*, Der naechste Karlsruher Stammtisch Di. im Miro ;-))

Sorry Boing ! ;-))

Oettl

-----------------------------------------------------------------------------



Re^3: Treffen in Karlsruhe (Loco, 26. Apr 1996, 14:35:58):
~#! rn=Yantro rt=830500819
~#! tid=830435190
Tja... das sagt nur leider nichts ueber den Dienstag abend aus...
und auch nicht ueber den Dienstag nachmittag...
... und ausserdem sind Sa/So die Fahrkarten billiger.

Hmmm, gibts vielleicht mal wieder irgendwo in 500 km Umkreis ein Treffen am
Samstag abend?

       Loco

-----------------------------------------------------------------------------



Berliner Stammtisch (Jariel, 28. Apr 1996, 00:49:48):
Hi!

Wann und wo findet der naechste Stammtisch statt?

Jariel Tonack.

-----------------------------------------------------------------------------



Stammtisch in Muenchen! (Raffi, 29. Apr 1996, 17:37:55):

Soo, Montag ist, wer Lust auf ein bischen Ratschen hat,
der ist Heute in der Pfennig recht.

Termin:  ab ca.20h Uhr.
Ort:     Caffee Pfennigparade Barlachstrasse.

Anfahrt: Auf dem Ring bis zur Belgradsttrasse, ab da Barlachstrasse
         (ist Paralell zum Ring), oder
         U-Bahn Scheidplatz, und dann BUS (44?) oder zu Fuss.

Hinweis: Von Aussen ist nur ein kleines Schild 'Die Cafe' zu sehen.
         Man muss die Wohnanlage bei dem Schild betreten, und nach
         rechts zum 2. Eingang gehen.

Hmm ich mach mal eine Plan:

Shell I  1  I                                I  2  I     I  3   I
------'     '--------------------------------'     '-----'      '--
         1                 Ring                 2           3
------,     ,---------------------,   ,------,     ,---------------
      I     '---------------------' 4 I      I     I
      I  1       Barlachstrasse       I      I  2  I
      I     ,-,  ,----------------, 4 I      I     I
      I  1  I  \ 5\    -> X <-    I 4 I      I  2  I
      I  1  I   \ 5\      ^       I 4 I      I  2  I
      I  1  I    \ 5\             I 4 I      I  2  I
      I  1  I     \ 5\            I 4 I      I  2  I
      :  :  :
    (Scheidplatz)

1 Belgradstrasse
2 Leopoldstrasse
3 BAB Nuernberg
4 Kloppstockstrasse
5 Hagedornstrasse
Shell: Shell-Tankstelle - Egal ob Boykott oder nicht, als Wegmarkierung
ist der gelbe Fleck ganz brauchbar.

Soo, und das X, ist der Eingang zur Wohnanlage Pfennigparade ist ein
Durchgang. Da rein, und rechts um das Gruenzeug rum, dann kommt ein
Eingang mit autom. Schiebetueren, da rein, und dann linkerhand ist
der Eingang ins Lokal.

Soo, ich hoffe mal das war richtig schoen unverstaendlich.

Gruss
H.

P.S.: ich  hab gerademal auf den Plan geschaut - das ist auf dem Falk-Plan
auf P14, wobei die Wohnanlage als Rehab-Zentrum eingezeichnet ist - ach ja,
Rolli-Gebiet - wer  sich an sowas stoert sollte vorher daran denken!

-----------------------------------------------------------------------------



Stanntisch in Bochum? (Augra,  2. Mai 1996, 00:24:34):
ok, ok,
ich weiss ja, dass die meisten Ruhris zum Stammtisch nach dortmund fahren,
aber sit das ein Grund, den altehrwuehrdigen Bochumer Stammtisch quasi unter
densaelben fallen zu lassen? Ich denke, NEIN!!. Und weil jetzt mal wieder der
erste Freitag im Monat ist, rufe ich alle Bochumer zum STammtisch im Clochard
auf, Freitag, 20.00 Uhr. Natuerlich sind auch Gaeste aus der Nachbarschaft
herzlich willkommen.

Augra.

P.s. Rx, koenntest Du vielleicht so feuindlich sein, auch mal deinen Arsch
hoch zu kriegen?
P.ss. ganz am Rande: ich bring Besuch aus Berlin mit:))))

-----------------------------------------------------------------------------



Re: Stanntisch in Bochum? (Rudiratter,  2. Mai 1996, 05:57:11):
~#! rn=Augra rt=830989474
~#! tid=830989474
oooooooh, schade, eine woche zu frueh.
obwohl ich danach auch wieder weg bin.
trotzdem: gute idee, augra, im juni bin ich dabei.
Rudi

-----------------------------------------------------------------------------



Re: Stanntisch in Bochum? (Marita,  2. Mai 1996, 06:49:58):
~#! rn=Augra rt=830989474
~#! tid=830989474
Hi Bochumer,
Nachbarschaft auch willkommen? hmmmmmm wenn ich wuesste wo dieses ominoese
Kloschaar ist... mal schaun.
Hat mal wer die Adresse davon und/oder Wegbeschreibung odaso? :-)
Maridda

-----------------------------------------------------------------------------



Re: Re: Stanntisch in Bochum? (Shakedbeer,  2. Mai 1996, 16:16:30):
~#! rn=Marita rt=831012598
~#! tid=830989474
Stimmt! Wenn mal eine Wegbeschreibung da waere, wuerde ich auch kommen.

Shakedbeer - ist in Stammtischlaune.

-----------------------------------------------------------------------------



Re^3: Stanntisch in Bochum? (Mupfel,  2. Mai 1996, 21:46:54):
~#! rn=Shakedbeer rt=831046590
~#! tid=830989474
wo issn bochum? der berliner besuch taet mich interessier'n.... :-)

-mupfel-

-----------------------------------------------------------------------------



wegbeschreibung (Rudiratter,  3. Mai 1996, 01:12:54):
Wegbeschreibungen sind meine Spezialitaet, auch aus der Ferne:


KNEIPE (Clochard oder Unikum)
-----------------------------
-> A 43 bis Kreuz Bochum/Witten, Ausfahrt
'Bochum-Querenburg/Ruhr-Universitaet
Bochum'

von Muenster kommend: am Ende der Ausfahrt nach rechts fahren
von Wuppertal kommend: am Ende der Ausfahrt nach links fahren

-> 'Universitaetsstrasse', direkt die naechste Ausfahrt in Richtung Bochum-
Laer/ Uni-Center nach rechts nehmen (fuer Muensteraner: ca. 300 Meter
nach der Abfahrt; fuer Wuppertaler: ca. 300 Meter nach der Auffahrt auf
die A 43 Richtung Wuppertal)

-> 'Hustadtring': Der Strasse bis zur ersten Ampel folgen (dabei beim Kreis-
verkehr geradeaus fahren, klar). An der ersten Ampel nach links abbiegen,
danach direkt wieder rechts fahren.

-> 'Buscheyplatz': Parken. ;-)

Das Clochard liegt auf der linken Seite, das Unikum auf der rechten Seite.
** END OF MESSAGE ****

Rudi

-----------------------------------------------------------------------------



Re: wegbeschreibung (Hate,  3. Mai 1996, 07:53:52):
~#! rn=Rudiratter rt=831078774
~#! tid=831078774
Und fuer die Armen Schweine, die mit der Bahn kommen:
  Aufm Bochumer Hauptbahnhof eine Strassenbahn richtung Ruhr-Uni nehmen
  und mit der bis zur Haltestelle Ruhr-Uni fahren. Dort raus und in Fahrt-
  richtung links ueber die Bruecke (weg von der Uni, die rechts liegt)
  Dann mehr oder weniger auf der rechten Seite halten, bis ihr an einem
  Buchladen vorbeikommt. An dem rechts abbiegen und dem Weg solange folgen,
  bis ein Platz kommen (Buscheyplatz, wie Rudi sagt). Auf dem Platz weiter
  geradeaus gehts direkt aufs Clochard zu.

Hate.

-----------------------------------------------------------------------------



Re: wegbeschreibung (Rochus,  3. Mai 1996, 15:02:27):
~#! rn=Rudiratter rt=831078774
~#! tid=831078774
Eine Wegbeschreibung von der Mensa Anlieferung ausgehend
zum Clochard/Unikum waere sinnvoller, denn bei der landet
man sowieso frueher oder spaeter...

  Rochus (hat schonmal versucht, den Weg zu finden)

-----------------------------------------------------------------------------



Stammtisch in Muenchen! (Raffi,  6. Mai 1996, 19:34:09):

Soo, Montag ist, wer Lust auf ein bischen Ratschen hat,
der ist Heute in der Pfennig recht.

Termin:  ab ca.20h Uhr.
Ort:     Caffee Pfennigparade Barlachstrasse.

Anfahrt: Auf dem Ring bis zur Belgradsttrasse, ab da Barlachstrasse
         (ist Paralell zum Ring), oder
         U-Bahn Scheidplatz, und dann BUS (44?) oder zu Fuss.

Hinweis: Von Aussen ist nur ein kleines Schild 'Barlachstuben' zu sehen.
         Man muss die Wohnanlage bei dem Schild betreten, und nach
         rechts zum 2. Eingang gehen.

Hmm ich mach mal eine Plan:

Shell I  1  I                                I  2  I     I  3   I
------'     '--------------------------------'     '-----'      '--
         1                 Ring                 2           3
------,     ,---------------------,   ,------,     ,---------------
      I     '---------------------' 4 I      I     I
      I  1       Barlachstrasse       I      I  2  I
      I     ,-,  ,----------------, 4 I      I     I
      I  1  I  \ 5\    -> X <-    I 4 I      I  2  I
      I  1  I   \ 5\      ^       I 4 I      I  2  I
      I  1  I    \ 5\             I 4 I      I  2  I
      I  1  I     \ 5\            I 4 I      I  2  I
      :  :  :
    (Scheidplatz)

1 Belgradstrasse
2 Leopoldstrasse
3 BAB Nuernberg
4 Kloppstockstrasse
5 Hagedornstrasse
Shell: Shell-Tankstelle - Egal ob Boykott oder nicht, als Wegmarkierung
ist der gelbe Fleck ganz brauchbar.

Soo, und das X, ist der Eingang zur Wohnanlage Pfennigparade ist ein
Durchgang. Da rein, und rechts um das Gruenzeug rum, dann kommt ein
Eingang mit autom. Schiebetueren, da rein, und dann linkerhand ist
der Eingang ins Lokal.

Soo, ich hoffe mal das war richtig schoen unverstaendlich.

Gruss
H.

P.S.: ich  hab gerademal auf den Plan geschaut - das ist auf dem Falk-Plan
auf P14, wobei die Wohnanlage als Rehab-Zentrum eingezeichnet ist - ach ja,
Rolli-Gebiet - wer  sich an sowas stoert sollte vorher daran denken!

-----------------------------------------------------------------------------



Bochumer Stammtisch (Bloodyharry,  6. Mai 1996, 21:39:48):
Ich war schon etwas enttaeuscht, das ich kaum noch einen Bochumer und keinen
Berliner mehr auf dem Treffen um 11 Uhr angetroffen habe. Leider kann ich
Freitags ja nich frueher und in Do geht es um diese Zeit eigendlich erst
richtich los.

BH

P.S.: Dortmund ist mitlerweile wirklich das interessanteste MUD-Treffen
geworden.

-----------------------------------------------------------------------------



Treffe in Frankfurt (Boebbel,  6. Mai 1996, 22:03:30):
        ___________________________________
       /                                  /|
      /----------------------------------/ |
      |         1. offizieller          |  |
      |     +---------------------+     |  |
      |     | S T A M M T I S C H |     |  |
      |     +---------------------+     |  |
      |               in                |  |
      |            Frankfurt            |  |
      |                                 |  |
      |           am 07.06.96           |  |
      |           um 20:00 Uhr          |  |
      |                                 |  |
      |               im                |  |
      |         Domenicus-Keller        |  |
      |         ================        |  |
      |                                 |  |
      |          Mainstrasse 11         | /
      |_________________________________|/

Bei Fragen wendet Euch bitte an Dolph, EUle, Watz oder an mich.
Ab naechster Woche stelle ich auch einen Wegeplan als GIF-File
zur Verfuegung.

Wir sehen uns... ;-)
Boebbel


-----------------------------------------------------------------------------



Re: Treffe in Frankfurt (Shakedbeer,  6. Mai 1996, 22:04:31):
~#! rn=Boebbel rt=831413010
~#! tid=831413010
Schade, dass F so weit weg ist :(

Shakedbeer - traurig.

-----------------------------------------------------------------------------



Re: Re: Treffe in Frankfurt (Wurzel,  6. Mai 1996, 22:09:53):
~#! rn=Shakedbeer rt=831413071
~#! tid=831413010
gut, dass frankfurt nicht so weit weg ist :)
shaky, frankfurt liegt ziemlich in der mitte von deutschland (is ja nich an
der oder), da solltest du hinkommen koennen...

wurzel kommt bestimmt, verena auch

-----------------------------------------------------------------------------



Re: Re: wegbeschreibung (Guldukat,  6. Mai 1996, 22:27:24):
~#! rn=Rochus rt=831128547
~#! tid=831078774

Mensa Anlieferung???????????

lache
rotfl


-----------------------------------------------------------------------------



Re: Bochumer Stammtisch (Guldukat,  6. Mai 1996, 22:28:26):
~#! rn=Bloodyharry rt=831411588
~#! tid=831411588
Keine ahnung, fanta und ich kamen erst um 1200, und da waren noch
5 leute da!

-----------------------------------------------------------------------------



Re: Re: Bochumer Stammtisch (Shakedbeer,  7. Mai 1996, 09:14:10):
~#! rn=Guldukat rt=831414506
~#! tid=831411588
Aber fast nur Dortmunder ;)

Shakedbeer - grinsend.

-----------------------------------------------------------------------------



DO-Stammtisch (Marita, 11. Mai 1996, 05:29:18):
Hi Ruhrpoettler,
Mein Mensch kann leider nicht am regulaeren Termin zum Stammtisch dieses
Monats erscheinen und wird deshalb ausserplanmaessig schon am 17.05. ab
20 Uhr im Walhalla sitzen und hoffen, dass jemand vorbeikommt. Wenn ich
recht informiert bin, liegt der regulaere Termin in den NW-Studi-Ferien,
so dass vielleicht zumindest die Pfingsturlauber vorbeikommen, um nicht
VOELLIG in Entzug zu geraten :-)
Marita die Adeptin

-----------------------------------------------------------------------------



Re: DO-Stammtisch (Shakedbeer, 12. Mai 1996, 16:45:51):
~#! rn=Marita rt=831785358
~#! tid=831785358
Hey! Da hab ich sogar Zeit. Ich werde mal vorbeischauen.

Shakedbeer - laesst Marita nicht im Stich.

-----------------------------------------------------------------------------



Re: Re: DO-Stammtisch (Paracelsus, 13. Mai 1996, 08:40:18):
~#! rn=Shakedbeer rt=831912351
~#! tid=831785358
Jo, ich glaube, ich komme auch.
Paracelsus.

P.S.: Aber fangt jetzt nicht wieder an, durchzuzaehlen ;)

-----------------------------------------------------------------------------



Re^3: DO-Stammtisch (Morgoth, 13. Mai 1996, 10:22:47):
~#! rn=Paracelsus rt=831969618
~#! tid=831785358
bienchen und ich sind auf ner birthday-fete. also leider nicht anwesend auf
dem AO-Stammtisch.
morgoth

-----------------------------------------------------------------------------



Re^4: DO-Stammtisch (Hardil, 14. Mai 1996, 12:33:59):
~#! rn=Morgoth rt=831975767
~#! tid=831785358

Ferien? Ich hoer nur was von Ferien? 
Also die vorlesungsfreie Zeit beginnt erst am Pfingtdienstag offiziell. Ich
bin allerdings mit fast 100%iger W'keit an diesem Wochenende nicht in
Doofmund, weil wohl doch viel zu viele biene-maja-gekleidete Irre an diesen
Tagen die Strassen beherrschen -
und das muss ich mir beileibe nicht antun, besonders, wenns in der Heimat den
ersten richtigen einheimnschen Spargel gibt. :)

-Hardil. Dortmunder wider willen.

-----------------------------------------------------------------------------



STAAAAAAAAMTISCH !!! (Morgoth, 27. Jun 1996, 16:13:08):
Morgen, am 28.6. isses mal wieder soweit. Alle dran denken. Stammtisch is in
Dortmund.
Walhalla, 2000h.
Morgoth 1, Bienchen 2 

-----------------------------------------------------------------------------



Re: STAAAAAAAAMTISCH !!! (Laila, 27. Jun 1996, 16:13:31):
~#! rn=Morgoth rt=835884788
~#! tid=835884788
Laila 3

-----------------------------------------------------------------------------



Re: Re: STAAAAAAAAMTISCH !!! (Shakedbeer, 27. Jun 1996, 16:14:18):
~#! rn=Laila rt=835884811
~#! tid=835884788
Shaky 4

-----------------------------------------------------------------------------



Re: STAAAAAAAAMTISCH !!! (Engywuck, 27. Jun 1996, 16:14:50):
~#! rn=Morgoth rt=835884788
~#! tid=835884788
Also, wenn ich die Wahl haette zwischen Morgoth und Bienchen waere bei mir
sicher nicht Morgoth die Nr. 1 ;)
 
Enyg 

-----------------------------------------------------------------------------



Re^3: STAAAAAAAAMTISCH !!! (Laila, 27. Jun 1996, 16:14:56):
~#! rn=Shakedbeer rt=835884858
~#! tid=835884788
Wie ? Kommt Bruno wieder nicht mit ?

-----------------------------------------------------------------------------



Re: Re: STAAAAAAAAMTISCH !!! (Laila, 27. Jun 1996, 16:15:51):
~#! rn=Engywuck rt=835884890
~#! tid=835884788
Na DU aber auch nicht, dann doch lieber Morgoth !!!

-----------------------------------------------------------------------------



Re^4: STAAAAAAAAMTISCH !!! (Shakedbeer, 27. Jun 1996, 16:16:06):
~#! rn=Laila rt=835884896
~#! tid=835884788
Bruno teilt Dir mit: Bruno (5).

-----------------------------------------------------------------------------



Re^3: STAAAAAAAAMTISCH !!! (Ringor, 27. Jun 1996, 16:16:11):
~#! rn=Shakedbeer rt=835884858
~#! tid=835884788
Ringor 5

-----------------------------------------------------------------------------



Re^4: STAAAAAAAAMTISCH !!! (Paracelsus, 27. Jun 1996, 22:07:02):
~#! rn=Ringor rt=835884971
~#! tid=835884788
Paracelsus 6

-----------------------------------------------------------------------------



Re^5: STAAAAAAAAMTISCH !!! (Janice, 27. Jun 1996, 23:15:36):
~#! rn=Paracelsus rt=835906022
~#! tid=835884788
also ich komm net
Janice -1

-----------------------------------------------------------------------------



Re^6: STAAAAAAAAMTISCH !!! (Asmodis, 27. Jun 1996, 23:16:01):
~#! rn=Janice rt=835910136
~#! tid=835884788
Muesst ihr jetzt Nummern tragen ? :)

-----------------------------------------------------------------------------



Re^7: STAAAAAAAAMTISCH !!! (Janice, 27. Jun 1996, 23:16:44):
~#! rn=Asmodis rt=835910161
~#! tid=835884788
ach die regen mich auf, die mit ihren nummern da !!
Janice sagt kontra !

-----------------------------------------------------------------------------



Re^8: STAAAAAAAAMTISCH !!! (Asmodis, 27. Jun 1996, 23:17:12):
~#! rn=Janice rt=835910204
~#! tid=835884788

re keine 90

-----------------------------------------------------------------------------



Re^9: STAAAAAAAAMTISCH !!! (Grimmborn, 28. Jun 1996, 10:45:40):
~#! rn=Asmodis rt=835910232
~#! tid=835884788
Wusst ichs doch.
Manche Leute kann man auf eine Nummer reduzieren. Und bei einem Teil reicht
sogar eine einstellige...

Grimmborn der Atheist

-----------------------------------------------------------------------------



BERLINER STAMMTISCH (Anakin, 28. Jun 1996, 11:27:36):
Hi,

am Mittwoch (ich denk mal es ist der 3. Juli) ist mal wieder Stammtisch
in Berlin. Wie immer um 20.00 im Seeblick. Wer nicht weiss wo das ist:
http://www.kulturbox.de/cgi-bin/berlininfo?name=rykestrasse&
hausnummer=15&TEXT=Morgengrauen-Stammtisch. Dort einfach mal schlau machen :)

Ciao
Anakin.

-----------------------------------------------------------------------------



Zum Treffen in Koeln (Orktoeter, 28. Jun 1996, 12:54:05):
Also, das Treffen findet wie angekuendigt am 20.07 statt.
Es wird ein kleines Grillfest werden.
Wer Lust hat zu kommen, bitte vorher Ankuendigen, danke :)
OrkT.

-----------------------------------------------------------------------------



Re: Zum Treffen in Koeln (Grimmborn, 28. Jun 1996, 13:46:46):
~#! rn=Orktoeter rt=835959245
~#! tid=835959245

Jung, schrievv doch ens emmer dae Termin dabei. Es besser.

Jrimmborn dae Atha...athe...Ujlaeubije

-----------------------------------------------------------------------------



Re^7: STAAAAAAAAMTISCH !!! (Boing, 28. Jun 1996, 13:48:24):
~#! rn=Asmodis rt=835910161
~#! tid=835884788
Ich komme uebrigens auch nicht.
Das duerfte in etwa genauso interessant sein, wie die letzten Artikel.
  Boing

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Fatima, 28. Jun 1996, 14:02:15):
Ich komm uebrigens. Ne Nummer? Also ihr seid mir welche. (Ferkels ihr)
*grins*

Fatima

-----------------------------------------------------------------------------



Stammtisch DD (Pugs,  1. Jul 1996, 14:34:43):
es ist schon bald wieder der 2te Dienstag im Monat und da findet nun der
schon 3te Dresdner Mudstammtisch statt. Beginn ist wie immer 19.00 Uhr und
zwar im TIR NA NOG... Ich bitte um eine mail
von allen die kommen wollen um ggf. Plaetze zu reservieren.

Milamber@Gueldenland hat sich bereiterklaert neulingen Wegbeschreibungen
zu mailen..also falls ihr ne Beschreibung braucht wendet euch an
MIlamber@Gueld

CU PUGS

-----------------------------------------------------------------------------



Kein Stammtisch, aber... (Yantro,  1. Jul 1996, 14:59:36):

Halloele, 

angesichts einen Gastes, den ich am Freitag in Koeln gegruessen werde, moechte
ich alle, die Lust und Zeit haben, nach Koeln zu einem kleinen Treffen und
Zusammensein einladen... 

Stattfinden wird das ganze am Freitag den 5.7.1996 am fruehen Abend im Taco
Loco, dem genialsten Mexikaner mit den nettesten Cocktails und der laengsten
HappyHour in Koeln :-)

Wo find ich diesen Ort der Freude?

Natuerlich in Koeln, auf der Zuelpicher strasse und dass fast beim Zuelpicher
Platz!

Uhrzeit wie gesagt steht nicht fest, aber es wird so ab 18 oder 19 Uhr einer
da sein :-)

                           Yantro, der mit dem Gast tanzt...


-----------------------------------------------------------------------------



treffen (Illian,  1. Jul 1996, 17:25:52):
Hallo Leute,
am Donnerstag, den 11. Juli ist ein MUD-Stammtisch in Osnabrueck im gruenen
Jaeger (Zumindest wenn ein paar Mudder kommen ).
Falls jemand Lust hat zu kommen und den Weg nicht kennt, bitte an
ingo@rols1.oec.uni-osnabrueck.de 
schreiben, da  ich dort am haeufigsten kontrolliere und lese.

-----------------------------------------------------------------------------



Treffen in Osnabrueck (Fatima,  1. Jul 1996, 18:07:23):
Ich komm auch iss doch klar.

Fatima

-----------------------------------------------------------------------------



Re: Treffen in Osnabrueck (Rudiratter,  1. Jul 1996, 18:07:44):
~#! rn=Fatima rt=836237243
~#! tid=836237243
wen juckt's?

-----------------------------------------------------------------------------



Stammtisch in Bochum (Augra,  1. Jul 1996, 18:51:38):
So, am Freitag ist wieder der erste, und Ihr wisst ja, was dann passiert:

   STAMMTISCH IN BOCHUM
   20.00Uhr, Clochard am Buscheyplatz


CU,
Augra

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Paracelsus,  1. Jul 1996, 23:00:27):
~#! rn=Augra rt=836239898
~#! tid=836239898
Au fein! Wer kommt denn alles?
Paracelsus.

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Morgoth,  2. Jul 1996, 07:19:58):
~#! rn=Augra rt=836239898
~#! tid=836239898
HAAAALT!!!!
Am Freitag ist Sommerfest der Chemie hier in Dortmund anna Uni. Verlegt doch
euren 
Stammtisch einfach nach hier. Is ja nich so weit und das Bier is sicher
billiger.
Alle anderen sind natuerlich auch eingeladen. Hier werden auf jeden Fall immer
ein paar verrueckte Mudder rumflippen. Es gibt naemlich neben Bier, Wein und
Wuerstchen auch noch Live-Mucke.
Also, bis Freitag dann.....
Morgoth ruehrt die Werbetrommel

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum (Laila,  2. Jul 1996, 12:05:26):
~#! rn=Morgoth rt=836284798
~#! tid=836239898
Da faellt sie Wahl nicht schwer ! Natuerlich zum Sommerfest, auch wenn einer
mal ne mail an den Sommer schreiben kann, er moege doch auch bitte erscheinen.

Laila, freut sich schon

-----------------------------------------------------------------------------



Re^3: Stammtisch in Bochum (Morgoth,  2. Jul 1996, 14:42:36):
~#! rn=Laila rt=836301926
~#! tid=836239898
und vergiss Voyager nicht ;-))

-----------------------------------------------------------------------------



Re^4: Stammtisch in Bochum (Guldukat,  2. Jul 1996, 15:27:18):
~#! rn=Morgoth rt=836311356
~#! tid=836239898

Magic ?

-----------------------------------------------------------------------------



Re^5: Stammtisch in Bochum (Morgoth,  2. Jul 1996, 15:30:18):
~#! rn=Guldukat rt=836314038
~#! tid=836239898
Read my lips:
'Ich werde nicht in Bochum sein.'
'Ich werde hier auf dem Sommerfest saufen.'

Morgoth

-----------------------------------------------------------------------------



Re^6: Stammtisch in Bochum (Ringor,  2. Jul 1996, 18:09:41):
~#! rn=Morgoth rt=836314218
~#! tid=836239898
Wie es aussieht, werden zumindest alle Dortmunder beim Sommerfest sein.
Aber das macht bei dem riesigen Zulauf in Bochum ja nichts aus, gell? ;-)

Ringor - ist auch auf dem Sommerfest

-----------------------------------------------------------------------------



Re^7: Stammtisch in Bochum (Augra,  2. Jul 1996, 18:23:20):
~#! rn=Ringor rt=836323781
~#! tid=836239898
Macht doch was ir wollt, dann mach ich mir nen lauschigen Abend mit meinem
langvermissten Ehemann:)

Augra

-----------------------------------------------------------------------------



Re^6: Stammtisch in Bochum (Rudiratter,  2. Jul 1996, 23:27:26):
~#! rn=Morgoth rt=836314218
~#! tid=836239898
MORGOTH, wen juckt's , wo DU bist? 
Rudi

-----------------------------------------------------------------------------



Re: Stammtisch DD (Terrorist,  3. Jul 1996, 15:33:52):
~#! rn=Pugs rt=836224483
~#! tid=836224483

und wie es in Dresden so Sitte ist wird auch dieser Stammtisch verlegt :)
ja und zwar auf Mittwoch den 10. Juli
Ort und Uhrzeit bleiben gleich.
Der Unterschied is es kommen nur mehr Leute. :)

                               
                                 sind wir nicht alle ein bisschen B L U N A
???

-----------------------------------------------------------------------------



Grillen in Koeln (Orktoeter, 12. Jul 1996, 11:47:52):
So, nachdem ich ja nun laengere Zeit nichts mehr gesagt habe hier der aktuelle
Stand :
Es wird am Samstag den 20.07 in Koeln gegrillt.
Diejenigen, die kommen wollen und sich noch nicht bei mir gemeldet haben,
moegen dieses bitte tun damit ich weiss was so an Grillkapazitaet gebraucht
wird..
Ort und Uhrzeit (mit Anfahrtsweg und so) gibt es dann naechste Woche.
Der einfachheit halber bitte ich darum, Grillsachen und Getraenke selbst
mitzubringen. Wer da Probleme hat, weil er von ausserhalb und ohne Auto kommt
(oder aehnliches) der kann sich auch gerne an mich wenden.
So, nun hofft und drueckt die Daumen, auf das es schoenes Wetter gibt !
OrkT, sicher das am Grillplatz kein FP ist.

-----------------------------------------------------------------------------



Re: Grillen in Koeln (Bendeigid, 12. Jul 1996, 11:49:36):
~#! rn=Orktoeter rt=837164872
~#! tid=837164872
Wie waers wenn du spasseshalber schonmal den Ort fuer "Ortskundige" angibst?
Ich hab zwar keine ahnung ob ich komme, aber noch weniger weiss ich, ob ich
naechste woche ins MG gucke...

-----------------------------------------------------------------------------



MGSC '96 Stammtisch (Anakin, 12. Jul 1996, 12:58:14):
Hi,

fuer alle nochmal die es interessiert....
MGSC '96 Spezial Stammtisch in Berlin a, 13.6.96 um 20.00 wie
immer im Seeblick.

Anakin.

-----------------------------------------------------------------------------



stammtisch? (Jorinde, 13. Jul 1996, 17:46:31):
Ich wollt nur mal fragen, ob der stammtisch in dd nett war? ich mein, ich merk
ja eh nichts mehr :)))
Jorinde ist wieder da :))

-----------------------------------------------------------------------------



Mal wieder ein KA-Treffen (Guybrush, 15. Jul 1996, 21:10:46):
Es ist mal wieder soweit. Regelmaessig wie immer, gut besucht wie immer, mit
den interessantesten Gaesten aus der weiten Welt der Film- und Showbranche,
den schoensten Frauen, den staerksten Maennern..hm, die bisher aufgezaehlten
waren eigentlich noch nie da... und den bloedsten Goettern, Magiern,
Kleinmagiern und sonstigem Krimskrams, findet der Karslruher Nicht-Stammtisch
statt.

Eingeladen sind alle, die es schaffen, den Weg zu finde, da ich nicht verrate,
wo es stattfindet ;)

Ne, Quark, das hat grad mein bloeder Zweiti getippt, der bekommt direkt mal
Hausrrest..

Also: Langer Rede, Null Sinn: 
ORT: Irish Pub neben dem Vogelbraeu
ZEIT: Kommt zwischen 20.00 und 20.30 Uhr

Hm, das wars
Bringt Durst mit und vielleicht ein paar Freunde ;)

Wegbeschreibungen gibts NUR auf Anfrage, weil ich die erst machen muesste ;)

Guybrush, von Hobo gezwungen, dass zu schreiben, aber wieder nur rumlabernd

-----------------------------------------------------------------------------



Re: Mal wieder ein KA-Treffen (Guybrush, 15. Jul 1996, 21:13:12):
~#! rn=Guybrush rt=837457846
~#! tid=837457846
ARGL!

Zeit is ja schon gut, aber an welchem Tag???
Jaja, am Dienstag naechste WOche, das ist der

***************************************************
     23.07.1996   20.00-20.30 Uhr 
**************************************************

P.S.: Der Ort ist noch der gleiche

-----------------------------------------------------------------------------



Grillparty in Koeln (Tangalur, 16. Jul 1996, 10:53:12):
Hi,
OrkT hat mich gebeten eine kleine Wegbeschreibung fuer die Grillparty am
Samstag den 20.07.96 zu schreiben.

Wegbeschreibung:

Das Grillfest findet am Samstag, den 20.07.96 im Volksgarten statt.
Der Volksgarten liegt zwischen der Eifel- und der Vorgebirgstrasse in
der Neustadt-Sued.

Strassenbahn: mit der Linie 12 Richtung Zollstock bzw. Suedfriedhof
              und in der Naehe Eifelplatz aussteigen.

PKW         : A4 aus Richtung Koeln West (A1) oder Koeln Sued bis zur
              Abfahrt Koeln-Klettenberg. Dann die Luxemburgerstrasse
              Richtung Zentrum/Innenstadt bis Barbarossaplatz fahren.
              Dort rechts ab auf den Salierring, dann wieder rechts
              auf die Eifelstrasse. Am Eifelplatz links in die
              Volksgartenstrasse und hoffen dort einen Parkplartz zu
              finden.

              Von A3 Autobahnkreuz-Koeln Ost: Richtung Koeln-Zentrum
              ueber die Zoobruecke und immer gradeaus (ca. 10 km) der
              Kanal- bzw. der Universitaetsstrasse entlang. In Hoehe
              des Unicenters (nicht zu verfehlen riesiges Hochhaus)
              links abbiegen auf die Luxemburgerstrasse dann weiter
              wie oben.

Am Volksgarten am Besten schnell ein Wegscript erstellen und den
unauffaellig und voellig willkuerlich verteilten Forscherpunkten
folgen.

Auf Wunsch kann eine gescannte Karte (nur per e-mail) oder eine
detailierte individuelle Wegbeschreibung erhalten werden (Anfragen
bitte bis spaetestens Donnerstag Mittag). Anreegungen unr Ergaenzungen
sind natuerlich, wie auch tatkraeftige mithilfe, willkommen.

Wie aus gut unterrichteten Kreisen bekannt wurde soll Tangalur
Feuertatze 20 Grillwuerstchen, die er den Doggen bei Mueller
abgeluchst hat, dabei haben und eventuell gegen eine Dose Whiskas oder
so tauschen ...

     |\      _,,,---,,_              Tangalur Feuertatze
     /,`.-'`'    -.  ;-;;,_
    |,4-  ) )-,_..;\ (  `'-'
   '---''(_/--'  `-'\_)



-----------------------------------------------------------------------------



Re: stammtisch? (Terrorist, 16. Jul 1996, 11:52:29):
~#! rn=Jorinde rt=837272791
~#! tid=837272791

jo war nicht schlecht oder?

                                Sind wir nicht alle ein bisschen B L U N A ??

-----------------------------------------------------------------------------



Grillen in Koeln (Orktoeter, 16. Jul 1996, 13:11:52):
Ach so, noch 2 kleinigkeiten..
1. Das ganze soll so ab 16:00 Uhr losgehen (nicht das Grillen selbst, aber man
kann sich ja schon Treffen und Reden.... (ist uebrigens ein schoener Park,
wunderbar fuer spaziergaenge..)
2. Da ich dagegen bin, groessere Muellberge zu produzieren, bitte ich darum,
Teller und Besteck mitzubringen (Fleisch und Wuerste etc. fuers grillen hatte
ich ja schon frueher mal erwaehnt ((gilt auch fuer Getraenke)) )
Jo, dann bis Samstag.
PS wer nichts zu trinken bei hat, ein bischen was werde ich wohl mitbringen
PPS im Notfall ist da auch noch ein Biergarten..
PPPS wer kommt und sich noch nicht bei mir (oder Fryder) gemeldet hat, sollte
das bitte baldmoeglichst nachholen :)

-----------------------------------------------------------------------------



Re: Grillen in Koeln (Yantro, 18. Jul 1996, 08:35:39):
~#! rn=Orktoeter rt=837515512
~#! tid=837515512
Orkt, koenntest du mal einen zwischenstand in die Zeitung posten, wer denn so
alles kommt? Ich wuerd nur gerne wissen, ob ich mit meiner BodenBodenRak
groesseren Schaden erreiche als mir lieb ist, oder ob ich damit nur Gutes tue
;-)

         Yantro, im Zweifelsfalle auf Shotgun umsteigend....

-----------------------------------------------------------------------------



Re: Re: Grillen in Koeln (Orktoeter, 18. Jul 1996, 11:16:07):
~#! rn=Yantro rt=837671739
~#! tid=837515512
Ach Yantro, du hast es geschafft, ab nun wirst du ignoriert.. gratuliere :)
OrkT

-----------------------------------------------------------------------------



Re^3: Grillen in Koeln (Hardil, 18. Jul 1996, 11:17:04):
~#! rn=Orktoeter rt=837681367
~#! tid=837515512
Wer ist Yantro?
Muss man den kennen?

-Hardil. Nimmt einfach einige schon laneg nicht mehr ernst.

-----------------------------------------------------------------------------



Re^3: Grillen in Koeln (Mupfel, 18. Jul 1996, 18:38:12):
~#! rn=Orktoeter rt=837681367
~#! tid=837515512
Tja Yantro... nun ignoriert Dich auch noch der letzte Spieler :-)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Grillen in Koeln (Asmodis, 18. Jul 1996, 19:58:33):
~#! rn=Mupfel rt=837707892
~#! tid=837515512
Hmm, wieso? der steht nichtmal auf meiner Liste :)

-----------------------------------------------------------------------------



Re^5: Grillen in Koeln (Cauno, 19. Jul 1996, 13:17:55):
~#! rn=Asmodis rt=837712713
~#! tid=837515512
Wenn das Ignorieren nur immer so leicht waere ...

C. No

-----------------------------------------------------------------------------



Treffen in Muenchen! (Raffi, 19. Jul 1996, 14:13:25):

Vieleicht brauchen ja einige mehr vorlauf, daher heute schon die
beliebte Muenchner Ankuendigung:

Wenns Monteag ist stuermen alle in die Pfennig, denn da ist
Stammtisch:

Termin:  ab ca.20 Uhr.
Ort:     Barlachstubn (ex.Caffee) Pfennigparade Barlachstrasse.

Anfahrt: Auf dem Ring bis zur Belgradsttrasse, ab da Barlachstrasse
         (ist Paralell zum Ring), oder
         U-Bahn Scheidplatz, und dann BUS (44?) oder zu Fuss.

Hinweis: Von Aussen ist nur ein kleines Schild 'Barlachstuben' zu sehen.
         Man muss die Wohnanlage bei dem Schild betreten, und nach 
         rechts zum 2. Eingang gehen.

Hmm ich mach mal eine Plan:

Shell I  1  I                                I  2  I     I  3   I
------'     '--------------------------------'     '-----'      '--
         1                 Ring                 2           3      
------,     ,---------------------,   ,------,     ,---------------
      I     '---------------------' 4 I      I     I
      I  1       Barlachstrasse       I      I  2  I
      I     ,-,  ,----------------, 4 I      I     I
      I  1  I  \ 5\    -> X <-    I 4 I      I  2  I
      I  1  I   \ 5\      ^       I 4 I      I  2  I
      I  1  I    \ 5\             I 4 I      I  2  I
      I  1  I     \ 5\            I 4 I      I  2  I
      :  :  :
    (Scheidplatz)

1 Belgradstrasse
2 Leopoldstrasse
3 BAB Nuernberg
4 Kloppstockstrasse
5 Hagedornstrasse
Shell: Shell-Tankstelle - Egal ob Boykott oder nicht, als Wegmarkierung
ist der gelbe Fleck ganz brauchbar.

Soo, und das X, ist der Eingang zur Wohnanlage Pfennigparade ist ein
Durchgang. Da rein, und rechts um das Gruenzeug rum, dann kommt ein
Eingang mit autom. Schiebetueren, da rein, und dann linkerhand ist
der Eingang ins Lokal.

Soo, ich hoffe mal das war richtig schoen unverstaendlich.

Gruss
H.

P.S.: ich  hab mal auf den Plan geschaut - das ist auf dem Falk-Plan auf P14,
      wobei die Wohnanlage als Rehab-Zentrum eingezeichnet ist - ach ja,
      Rolli-Gebiet - wer  sich an sowas stoert sollte vorher daran denken!
P.P.S.: Wer mich noch nicht kennt: Blaues Hemd und Vollbart :)

-----------------------------------------------------------------------------



Re^6: Grillen in Koeln (Asmodis, 19. Jul 1996, 17:45:48):
~#! rn=Cauno rt=837775075
~#! tid=837515512
Falls das ignorieren nicht klappt, koennt ihr ihn ja immer noch
knebeln :)

-----------------------------------------------------------------------------



Dortmund (Shakedbeer, 21. Jul 1996, 21:35:42):
Hiho!

Es ist wieder so weit! Am Freitag ist wieder Stammtisch in DO angesagt.
Gleiche Zeit gleicher Ort also: 20:00 im Walhalla.

Shakedbeer.

-----------------------------------------------------------------------------



Re: Dortmund (Paracelsus, 21. Jul 1996, 21:36:38):
~#! rn=Shakedbeer rt=837977742
~#! tid=837977742
Jo!
Ob wie es diesmal ohne Durchzaehlen schaffen? ;)
Paracelsus (kommt mal wieder)

-----------------------------------------------------------------------------



Re: Re: Dortmund (Quillian, 21. Jul 1996, 21:37:36):
~#! rn=Paracelsus rt=837977798
~#! tid=837977742
Oki
-> 1 <- (oder zaehlt Para* schon?) 

Quilli

-----------------------------------------------------------------------------



Re: Re: Dortmund (Ringor, 21. Jul 1996, 21:37:38):
~#! rn=Paracelsus rt=837977798
~#! tid=837977742
Ist das jetzt Durchzaehlen ohne Nummern?

Ringor - is auch dabei

-----------------------------------------------------------------------------



Re^3: Dortmund (Morgoth, 22. Jul 1996, 07:05:27):
~#! rn=Ringor rt=837977858
~#! tid=837977742
bienchen und ich sind auch da. siborit wird hoffentlich auch ein kleines
gastspiel geben.
Morgoth

-----------------------------------------------------------------------------



Re^4: Dortmund (Guldukat, 22. Jul 1996, 09:12:12):
~#! rn=Morgoth rt=838011927
~#! tid=837977742
Magic?

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein KA-Treffen (Guybrush, 22. Jul 1996, 10:00:40):
~#! rn=Guybrush rt=837457992
~#! tid=837457846
So, das sollte der dritte und letzte Artikel zum KA-Treffen (Stammtisch ist
das ja wirklich keiner) sein. Wir sind ja hier nicht in Dortmund.

Der Irish-Pub heisst seinnvollerweise: IRISH
befindet sich in der : KAPELLENSTRASSE 40 (vom Vogelbraeu aus Richtung
Durlacher Tor)

Fuer diejenigen, oder den einen, die mit der Strassebahn kommen wollen: 
Die naechste Haltestelle befindet sich am Durlachertor. 
Von dort aus gesehen ist die Kapellenstrasse die Verlaengerung des
Adenauer-Rings, und laueft nach Sueden, zwischen der Kaiserstr. und der
Durlacherallee.
Auf der anderen Strassenseite (der linken, vom Durlacher Tor aus gesehen) ist
ein kleiner Park (Alter Friedhof) auf dem auch eineige Parkmoeglichkeiten
sind.

Wenn noch jemand was wissen moechte, bitte mail an mich, oder ein Artikel in
schmarrn (wink nach Dortmund ;) )

Guybrush, ist zu dumm, alles in einem Artikel zu posten

P.S:
Nochmal Zusammenfassung:
Kneipe:               IRISH
Adr.:                 KAPELLENSTR. 40
BEGINN:               AB 20.00 MESZ
TEILNEHMER:           hab ich Loecher in den Fuessen?

-----------------------------------------------------------------------------



Re^3: Dortmund (Pampers, 22. Jul 1996, 11:28:02):
~#! rn=Ringor rt=837977858
~#! tid=837977742
Ihr habt wieder mal Glueck!
Pampers. Ist am Freitag in Stockholm.

-----------------------------------------------------------------------------



Re^4: Dortmund (Locutus, 24. Jul 1996, 12:18:26):
~#! rn=Pampers rt=838027682
~#! tid=837977742
Locutus und Hardil sind nicht da. Also von uns aus auch kein Magic ;-)
Tja, Gul, da musst Du wohl Magic-Patience legen...

Viel Spass...

Loc.

-----------------------------------------------------------------------------



Re^5: Dortmund (Durian, 24. Jul 1996, 12:45:47):
~#! rn=Locutus rt=838203506
~#! tid=837977742

Magic-Patience

Klingt prima! Hat wer Regeln??

- Durian

-----------------------------------------------------------------------------



Nachruf zum kleinen koelner Treffen (Fryder, 25. Jul 1996, 19:02:37):

Also, wenn hier niemand was zum letzten WE schreiben moechte, mache ich den
Anfang: Ich fands oberspitze, nicht zu gross, nur nette Leute, schoen ruhig,
und genau richtig organisiert. Kompliment an Orki, auch fuer den geilen Park.
Ich freu mich schon aufs naechste mal. Wird bei mir wohl leider etwas dauern,
aber ich bin immer dabei.

Fryder, der Rabauke

-----------------------------------------------------------------------------



Re: Nachruf zum kleinen koelner Treffen (Orktoeter, 26. Jul 1996, 09:27:52):
~#! rn=Fryder rt=838314157
~#! tid=838314157
Jo, danke fuer die Blumen, mir hat es auch gefallen :)
OrkT
PS der Volksgarten ist echt Klasse, aber dafuer kann ich nichts, den gab es
schon vor mir.. :)

-----------------------------------------------------------------------------



Dresden (Pugs, 26. Jul 1996, 13:18:25):
Aufgrund des Sommercamps habe ich (nach langer Diskussion mit Terrorist, nein
ich bin nicht blond terror :) ) beschlossen, den 5zen MG-Stammtisch fuer
naechste
Woche Dienstag bekanntzugeben.

Ort: TIR NA NOG
Beginn: 19.00 Uhr
Ende: irgendwann

Programm:
 MGSC
- Bier trinken (fuer Tanis gibt es auch Cola)
- Grumbleman aergern :) (ja ich habe den Sandtiger gekillt :) )
-------------------------

ich weiss nicht wie es ist, aber um 22:00 Uhr faengt im Kino um die Ecke "From
Dusk Till down" an..dieser Film ist so genial (3mal gesehen :) )..und auf
einem kleinen
inoffiziellen MG-KINO-NACHT waren die anderen auch der selben Meinung..


Bis denne euer PUGF=Milamber

-----------------------------------------------------------------------------



Re^6: Dortmund (Raffi, 26. Jul 1996, 16:14:43):
~#! rn=Durian rt=838205147
~#! tid=837977742

Magic-Patience? Ist ganz simpel

a) Alle Karten der selben Farbe gehoeren auf den gleichen stapel
b) sie mussen in der reihenfolge ihrer Kosten abgelegt werden
c) bei gleichen Kosten wird eine subpartie gestartet (ups die Regel gibts ja
schon wo :)

Grins
H.

-----------------------------------------------------------------------------



Rudeln in Bonn (Pra, 29. Jul 1996, 15:06:21):
Hi Rudelmudder in und um Bonn.

Zeph meint, dass wg. der Fete naechste Woche im Osten das regulaere Rudeln
auf morgen, Dienstag, 30. Juli, vorgezogen wird. Ab 20 Uhr also in den
Baracken des RZs.

Rueckfragen an mich oder Zephyr.

Pra.

-----------------------------------------------------------------------------



Bielefelder MG-Treff: TERMINAENDERUNG!!! (Ancalagon,  1. Aug 1996, 20:53:05):
Halo erstmal!
Da ich ja in der WWW-Seite als Ansprechpartner drinstehe, vermelde ich mal
folgendes:
1) Im August findet KEIN MG-treff in Bielefeld statt!
2) Ab September findet der Bielefelder MG-treff (Wunder-, Ander- und sonstige
-laender sind natuerlich auch gern gesehen.)
jeweils am 1. Mittwoch des Monats statt. Also z.B.: am 4.9. !
Zeit und Ort bleiben gleich: Cafe Mint so etwa ab 19.30!
Hoffentlich verirren sich auch mal wieder ein paar Osnabruecker zu uns..
oder sogar mal wer von Muenster oder noch weiter weg...
Herzlichste Knuddels,
                                         Ancalagon
                                 Draco knuddellensis major

P.S.: Ach so, koentte der WWW-seiten-zustaendige (wer immer das auch ist)
bitte bei gelegenheit die entsprechenden Aenderungen vornehmen... ? Danke! :)

-----------------------------------------------------------------------------



Re: Nachruf zum kleinen koelner Treffen (Qitess,  2. Aug 1996, 11:45:31):
~#! rn=Fryder rt=838314157
~#! tid=838314157

aehm, wenn ich jetzt ( nach ein paar ewigkeiten ) auch noch schnell meinen
mist zum kleinen koelner treffen abgeben duerfte ? danke.

aehm...(raeusper) ich fand es ausserordentlich toll.

qitess lacht immer noch ueber josef


-----------------------------------------------------------------------------



Stammmtisch (Anakin, 12. Aug 1996, 13:36:27):
Hi,

wieder mal Stammtisch in Berlin.
Am Mittwoch um 19.30 im Seeblick. Wie gehabt. Rykestrasse 14 oder so :).

Special Guests: Dusty, Woody, Frederick, Stahldorn, Quillian und evt. Toe.

Anakin.

-----------------------------------------------------------------------------



Karlsruher fliehet! (Tamara, 13. Aug 1996, 21:44:04):

Ihr habt noch die Chance!

Denn ich werde kommen , und zwar bald, SEHR bald und einen jeden von Euch um
einen Internetzugang anbetteln.
nebenbei fehlt mir auch noch die Kleinigkeit eine Computers inclusive Modem,
aber das wird sich schon finden.
Das kleine Problem, was ich habe ist naemlich: Ich bin keine Studentin mehr.
Ich habe mich letzten Freitag exmatrikuliert und werde in KA i
in den Ernst des Lebens treten...... und ....... arbeiten...oh was fuer ein
graessliches wirt! ihhh-bahhhh glibber!
Aber man kann mir diesen schrecklichen Start etwas erleichtern. Ja, und zwar ,
indem
 ihr mir bzw. Har (der wird es mir weiterleiten) schreibt und Mut macht.
UND vor allem :sagt mir ,wann wieder KA-Treffen ist, und ich werde wieder
aufbluehen.

Tamara (uralt, tausendmal gestorben, aber immer noch nicht Seherin, aber wie
soll nur ein Leben ohne MUD aussehen?)

=:-))))))


-----------------------------------------------------------------------------



ENDLICH !!!! (Yantro,  4. Sep 1996, 09:24:47):

... ist es wieder soweit. Der Stammtisch aller Stammtische wird stattfinden.
DAs Megatreffen, bei dem JEDE Party schwach aussieht, denn was gibt es
schoeneres als feiern in der schoensten Stadt der Welt: Koeln. Hier ist man
liberal, tolerant, aufgeschlossen gegenueber allem und jedem. Deshalb meldet
euch jetzt schon an zum grossen traditionellen JahresStammTisch am:

3.1.1997     abend um 18 Uhr
in KOELN
im Brauhaus zur Malzmuehle mitten in der Innenstadt.

Der Ort ist nicht zu aendern, denn es ist der innigste Wunsch von Zardoz,
Rudiratter, mir und meiner Leber.

Diesjaehrig gibt es zum ersten Mal ein Motto der Veranstaltung mit einer
kleinen Kundgebung und einem Vortrag ueber Humor, Arschkriecherei und
aehnliches unter dem Slogan:

         EIN KOELSCH AUF OETTI !!! ES LEBE DIE FREIHEIT DES GEISTES !!!

ich brauche ein paar anmeldungen wegen der reservierung der thekenplaetze...

        Yantro, Werbetrommel

-----------------------------------------------------------------------------



Re: ENDLICH !!!! (Kotzbrocken,  4. Sep 1996, 10:23:10):
~#! rn=Yantro rt=841821887
~#! tid=841821887
bin am start denke ich
 kotz* ;)

-----------------------------------------------------------------------------



Re: Re: ENDLICH !!!! (Yantro,  4. Sep 1996, 14:35:27):
~#! rn=Kotzbrocken rt=841825390
~#! tid=841821887

Aehmmm die Anmeldungen natuerlich per MAIL an mich und nciht in die Zeitung,
denn dann krieg ich euch nicht in den verteiler fuer die Karten, Anfahrtswege,
Infos, Danksagungen, Tagesordnungen und was mir sonst noch fuer ein Unsinn
einfaellt.

       Yantro.

-----------------------------------------------------------------------------



Re^3: ENDLICH !!!! (Kotzbrocken,  4. Sep 1996, 16:19:35):
~#! rn=Yantro rt=841840527
~#! tid=841821887
schon klar, wollte mich ja auch nur oeffentlich aufzwingen ;)
ko*

-----------------------------------------------------------------------------



Re: ENDLICH !!!! (Asmodis,  4. Sep 1996, 17:38:41):
~#! rn=Yantro rt=841821887
~#! tid=841821887
Trinkt lieber ein Bier statt einem Koelsch :)

-----------------------------------------------------------------------------



Re: Re: ENDLICH !!!! (Guybrush,  4. Sep 1996, 17:42:20):
~#! rn=Asmodis rt=841851521
~#! tid=841821887
Rettet den Genitiv! ;)
...statt eines Koelschs , bitte ;)
Guybrush, der zweitgroesste Besserwisser im MG

-----------------------------------------------------------------------------



Re^3: ENDLICH !!!! (Asmodis,  4. Sep 1996, 18:16:29):
~#! rn=Guybrush rt=841851740
~#! tid=841821887
Was soll ich mit einem Genitiv? davon werd ich auch nicht satt (aehem,
was ist das gegenteil von durstig? *gruebel*)

-----------------------------------------------------------------------------



Re^4: ENDLICH !!!! (Durian,  4. Sep 1996, 18:35:12):
~#! rn=Asmodis rt=841853789
~#! tid=841821887
Darueber haben sich schon Wissenschaftler den Kopf zerbrochen und sind nach
einigen jahren zu folgender Erkenntnis gelangt:

Das Gegenteil von durstig ist trinksatt. Kein Witz, Fakt!

- Durian, verkannter Deutschlehrer

-----------------------------------------------------------------------------



Re^5: ENDLICH !!!! (Rantanplan,  4. Sep 1996, 18:37:41):
~#! rn=Durian rt=841854912
~#! tid=841821887
Hey das kenn ich !!

Isch trink heut wieder satt einen uebern Durst...

Rantanplan nicht wissend.

-----------------------------------------------------------------------------



Stammtisch Frankfurt (Dolph,  4. Sep 1996, 18:40:33):
Buaehhhhhhhhhhhh!

Pulsar und ich koennen leider nicht kommen, da wir nach Muenchen fahren!

Buaehhhhhhhhhh!

Ein Vorschlag von uns an den Stammtisch: Verschiebt ihn doch bitte um eine
Woche, dann waeren wir hundertprozentig beide da.

Besprecht das mal mit Boebbel und teilt ihm eure Nachricht mit.

Ansonsten koennen wir euch nur VIEL SPASS wuenschen!

Euer Pulsar und Dolph

-----------------------------------------------------------------------------



Re: Stammtisch Frankfurt (Wurzel,  4. Sep 1996, 19:42:21):
~#! rn=Dolph rt=841855233
~#! tid=841855233
hm, ganz schlecht... dann muesste ich meine teilnahme doch sehr in frage
stellen, und verena kaeme ganz sicher nicht.
vorschlag: treffen etwas haeufiger veranstalten, dann gleicht sich das wieder
aus.

wurzel

-----------------------------------------------------------------------------



Re: Stammtisch Frankfurt (Acrimon,  4. Sep 1996, 19:44:57):
~#! rn=Dolph rt=841855233
~#! tid=841855233
Was weinst Du da?
Muenchen ist besser als jeder Stammtisch!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Stammtisch Frankfurt (Boebbel,  4. Sep 1996, 21:36:01):
~#! rn=Dolph rt=841855233
~#! tid=841855233
Hi!

Zwei Tage vorher das Treffen zu verschieben halte ich nicht fuer sinnvoll!
Zumal auch Leute von weiter weg kommen, die sich auf diesen Termin 
eingerichtet haben.
Es kann ja immer mal passieren, das jemand mal nicht kann, aber dann
muesste das mindestens eine Woche vorher besprochen werden...

Also: Das Treffen findet wie geplant statt!!!

Oder soll ich das warme Buffet und das Freibier wieder abbestellen? ;-)
Und ueberhaupt... Muenchen... wo isn das? ;-)

CU am 06.09.96 im Domenicus-Keller, Mainstr. 11, Frankfurt/Main
Boebbel

-----------------------------------------------------------------------------



Re: ENDLICH !!!! (Nasim,  4. Sep 1996, 22:30:04):
~#! rn=Yantro rt=841821887
~#! tid=841821887
Den Ort aendern? Wer sollte das wollen - gibt es einen Ort mit leckerem
Bier???

Gruss, Nasim (kommt auf jeden Fall und auf keinen mit dem Auto)

-----------------------------------------------------------------------------



Re: Re: ENDLICH !!!! (Grimmborn,  4. Sep 1996, 23:48:22):
~#! rn=Asmodis rt=841851521
~#! tid=841821887

Ein richtiges Bier? Auf Oetti?? Nene, dann doch lieber nurn Koelsch...

Grimmborn der Atheist verkauft seinen Patriotismus fuer einen mittelmaessigen
gag. Jederzeit.

P.S. Wer ist auf die daemliche Idee gekommen, den Stammtisch auf den 3.1. zu
legen? Der war doch IMMER zwischen Weihnachten und Neujahr...

-----------------------------------------------------------------------------



Re: Re: ENDLICH !!!! (Baboon,  5. Sep 1996, 11:29:42):
~#! rn=Kotzbrocken rt=841825390
~#! tid=841821887
Me too.

Baboon.

-----------------------------------------------------------------------------



artiekl (Valarian,  5. Sep 1996, 12:36:16):
Stammtisch Frankfurt
Also ich komm gerne nach FFm, aber jetzt am Freitag muss hab ich schon einen
Termin zum sinnlosen Besaufen.

Aber naechstes Mal wuerde ich gern kommen,

Gruss Val.

-----------------------------------------------------------------------------



Re: ENDLICH !!!! (Schrumpfi,  5. Sep 1996, 21:36:23):
~#! rn=Yantro rt=841821887
~#! tid=841821887
Ok, ich trink ein Alt. ;-)
Naja, ok ok ich trink doch ein Koelsch aber ich trinks nicht auf Oetti ich
trinks auf mich, hoehoe
Schrumpfi meldet sich hiermit an

-----------------------------------------------------------------------------



Re: Re: ENDLICH !!!! (Caradhras,  5. Sep 1996, 21:39:46):
~#! rn=Schrumpfi rt=841952183
~#! tid=841821887
Aber nicht zuviel, Schrumpfi, sonst kannste wieder am naechsten Tag nicht
mehr aufstehen.

      Golddrache opppps, Rothorn Caradhras grinst in sich rein

-----------------------------------------------------------------------------



Re^3: ENDLICH !!!! (Schrumpfi,  5. Sep 1996, 21:42:44):
~#! rn=Caradhras rt=841952386
~#! tid=841821887
Da muss ich ja dann hoffentlich auch nicht aufstehen :-)
Hier habt mich ja am fruehen, grauen Morgen aus dem Bett geworfen, kein Wunder
das ich da wieder reingekrochen bin :-)
Schrumpfi

-----------------------------------------------------------------------------



Re^4: ENDLICH !!!! (Grimmborn,  5. Sep 1996, 23:28:51):
~#! rn=Schrumpfi rt=841952564
~#! tid=841821887

Jaja, Schrumpfi und wie sie am fruehen Morgen (d.h. so ab 13 Uhr) aus dem Bett
zu kriegen ist. Eine lange, internationale, haeufige und immer wieder gern
probierte Geschichte... ;-)

Grimmborn der Atheist hat da Groenemeyer und fuer Extremfaelle noch ne
Notloesung...

-----------------------------------------------------------------------------



Re^5: ENDLICH !!!! (Schrumpfi,  6. Sep 1996, 15:38:06):
~#! rn=Grimmborn rt=841958931
~#! tid=841821887
Erzaehl das nicht jedem, Grimmborn!
Achja, den Ort find ich uebrigends saucool :-) *grins Zardoz breit an*
Schrumpfi freut sich schon tierisch aufs Koelschsaufen.

-----------------------------------------------------------------------------



Die ersten 7 gesichtet am 1. Frankenstammtisch (Ketos, 12. Sep 1996, 01:33:15):
7 Leute hat es letzte Woche in den Pleitegeier verschlagen.
Rein zufaellig war es der 1.Donnerstag und so 19 Uhr :-)

Wer war alles da?: 
bernard@mg, dauergast@mg, marcus@{tappmud,mg}, tahar@tappmud, escubar@mg, 
icetea@abalon und ketos@mg.

Ob der grosen Schaar an Mudder oder der guten Pizza. Ich fand das erste
Treffen ganz gelungen.  Auf alle Faelle, bis zu naechtenmal


-----------------------------------------------------------------------------



Re: Die ersten 7 gesichtet am 1. Frankenstammtisch (Dauergast, 12. Sep 1996, 08:56:53):
~#! rn=Ketos rt=842484795
~#! tid=842484795
Und zur Vervollstaendigung der Gaeste-Liste:

Nicht zu vergessen   krigi@wunderland und escubar@silberland, oder wollten
die inkognito bleiben ..?

Sich ebenfalls auf's naechste mal freuend (warum gibt's eigentlich immer 
nur einen ersten Donnerstag im Monat ??) 

DG 

-----------------------------------------------------------------------------



Ausserordentlicher Stammtisch in Do (Aline, 12. Sep 1996, 16:17:44):
Hallo Dortmunder-Stammtischbesucher,


auf den vielfachen Wunsch eines einzelnen Herren, findet am
naechsten Dienstag ein ausserordentlicher Stammtisch in 
Dortmund statt. Damit dieser ordnungsgemaess durchdiskutiert
werden kann, mache ich den Termin hiermit oeffentlich bekannt.

Wann: Di 17.9.96 ab 19.00 Uhr
Wo: Walhalla
Warum: einfach so :)

Und damit der uebliche Diskussionstil benutzt wird, fang ich schon
mal an: Das ist ja nicht an einem Freitag, da kann ich aber schlecht
*maul* (Macht Euch keine Hoffnungen, ich komm trotzdem!)

Aline

P.S.: Beinahe haette ich es vergessen: 1

-----------------------------------------------------------------------------



Re: Ausserordentlicher Stammtisch in Do (Guldukat, 12. Sep 1996, 16:20:24):
~#! rn=Aline rt=842537864
~#! tid=842537864

Magic?

-----------------------------------------------------------------------------



Re: Re: Ausserordentlicher Stammtisch in Do (Hardil, 12. Sep 1996, 16:22:48):
~#! rn=Guldukat rt=842538024
~#! tid=842537864

also ich bin da.
2

-----------------------------------------------------------------------------



Dortmund-Stammtisch (Fatima, 12. Sep 1996, 18:57:13):
Also der Dienstag ist schlecht. Da muss ich arbeiten. So ein Mist. Waere sonst
gern gekommen.

So ein Sch... aber auch.
*grummel*

Dienstags.... so ne Schnappsidee..... da ist Muensteranerstammtisch.

Fatima *sauergrummelndmoppernd*

-----------------------------------------------------------------------------



Re: Ausserordentlicher Stammtisch in Do (Bloodyharry, 12. Sep 1996, 22:27:05):
~#! rn=Aline rt=842537864
~#! tid=842537864
Ich weiss nun nicht, wer denn nun der Herr mit dem vielfachen Wunsch ist.
Aber gerade dieser Termin ist fuer mich DIESMAL sehr unguenstig.
Der Grund sind liebe Gaeste aus Tuebingen die ich gerne zum Treffen mit-
bringen wollte. Es sind Astar und Morgar.
Da wir uns auf voll auf die bestehende Regelung verlassen haben, wollten sie
zum Treffen am 27.9. erscheinen. Vieleicht machen wir dann ein ausser-ausser-
ordentliches Treffen im Walhalla?
Eventuell waere auch ein anderer Wochentag vor dem 27.9. denkbar - das als
Diskussionsvorgabe fuer die, die gegen den Freitag sein sollten.

ciao
BH

-----------------------------------------------------------------------------



Re: Re: Ausserordentlicher Stammtisch in Do (Shakedbeer, 13. Sep 1996, 08:57:27):
~#! rn=Bloodyharry rt=842560025
~#! tid=842537864
Hi!

Ich werde auch mal wieder versuchen, da zu sein.

Shaky - freut sich schon (ich glaube 3)

-----------------------------------------------------------------------------



Re: Re: Ausserordentlicher Stammtisch in Do (Guldukat, 13. Sep 1996, 09:17:01):
~#! rn=Guldukat rt=842538024
~#! tid=842537864

Gut, Dann also 4.

-----------------------------------------------------------------------------



Re: Re: Ausserordentlicher Stammtisch in Do (Aline, 13. Sep 1996, 10:00:55):
~#! rn=Bloodyharry rt=842560025
~#! tid=842537864
He Opapirat,

dass ein ausserordentlicher Stammtisch jetzt am Dienstag
stattfindet, heisst noch lange nicht dass der regulaere Stammtisch
am 27.9 entfaellt! Natuerlich findet da auch noch
ein ganz normaler Stammtisch statt. Dann koennen
alle kommen und Deinen lieben Besuch aus Tuebingen mal zeigen,
was so auf einem Dortmunder Stammtisch los ist. ;)

Alles klar?

Aline

-----------------------------------------------------------------------------



Re^3: Ausserordentlicher Stammtisch in Do (Paracelsus, 13. Sep 1996, 13:36:30):
~#! rn=Aline rt=842601655
~#! tid=842537864
Recht hat sie, die Aline.
Zweimal Stammtisch im Monat kann doch nicht schaden, oder?
Paracelsus
5

-----------------------------------------------------------------------------



Re^3: Ausserordentlicher Stammtisch in Do (Bloodyharry, 13. Sep 1996, 14:12:48):
~#! rn=Aline rt=842601655
~#! tid=842537864
> Alles klar?
Oh, ja, natuerlich. Sonst haettest Du ja auch was von verschieben gesagt
und nicht von ausserordentlich.

BH - glaubt, dass er immer blonder wird.

-----------------------------------------------------------------------------



Treffen in DO (Morgar, 14. Sep 1996, 18:22:12):
Astar und ich koennen leider doch nicht zum Stammtisch kommen, aber vielleicht
klappt es ja ein ander mal.

Morgar

-----------------------------------------------------------------------------



Hast Du Dich schon angemeldet.... (Yantro, 19. Sep 1996, 09:23:38):

... zum legendaeren Traditionsstammtisch in der schoensten Stadt der Welt,
naemlich in KOELLE am RHING ???

Wenn nicht, dann wird es hoechste Zeit, mal eine Mail an Yantro zu schreiben,
in der steht, dass er mit DEINER Anwesenheit zu rechnen hat, denn der Arme
muss den noch aermeren Wirt im schoensten Brauhaus der Welt, naemlich im 

                BRAUHAUS ZUR MALZMUEHLE am HEUMARKT in der 
                      KOELNER INNENSTADT (Herz der Welt)

vorwarnen, damit er auch genug Koeche und Koebisse bereithaelt, um unseren
schlimmsten Durst der Welt zu loeschen. Stattfinden wird das ganze am 

                3.Januar 1997  ab ca. 18 Uhr und zwar siehe oben :)

Solltest du also nach Weihnachtsbraten und Silvesterbesaeufnis den ECHTEN
Hoehepunkt Deiner Ferien und des Jahreswechsels vermissen, so mach Dich auf
nach Koeln und lern die nettesten Mudder der Welt kennen... Koelner Mudder :)

Ach ja... es gibt sogar Schlafplaetze, und das nicht nur, weil Koeln die
schoensten Bruecken der Welt hat, sondern auch, weil Koelner immer ein
kuscheliges Plaetzchen ueber haben... 

                  Yantro, Werbefachmann

P.S.: Also mailt mir, auch, wenn ihr nicht sicher seit, damit ich mit eurem
Erscheinen prahlen kann ;-)


-----------------------------------------------------------------------------



Re: Hast Du Dich schon angemeldet.... (Grimmborn, 19. Sep 1996, 09:52:13):
~#! rn=Yantro rt=843117818
~#! tid=843117818

Dem bliebe noch inzuzufuegen:

Dieser Stammtisch ist DIE Gelegenheit fuer Berliner, Zonies, Bayern
(Karlsruhe, Mannheim etc.) und aehnlich unterprivilegierte auch mal die
richtige Rheinseite zu bewundern, die Malzmuehle ist naemlich linksrheinisch.

Auch wenn Yantro schreibt, man koennte "die nettesten Mudder der Welt
kennenlernen" - Orktoeter kommt natuerlich trotzdem. ;-)

Nicht nur die Bruecken sind schoen, auch die Parkbaenke sind weit ueber die
Stadtgrenzen hinaus bekannt. Und wer es lieber gesellig mag: In der
Annostrasse gibt es billige Unterkuenfte, wo man sich mit anderen
Nichtsesshaften und Kakerlaken ein gemuetliches Bett teilen kann...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Hast Du Dich schon angemeldet.... (Yantro, 19. Sep 1996, 11:47:35):
~#! rn=Grimmborn rt=843119533
~#! tid=843117818

und in der Hornstrasse gibt es auch oeffentliche Betten, die man aber gegen
ein nicht gerade geringes Entgeld in dafuer aber netter Gesellschaft nutzen
kann... zahlweise stuendlich.... und fuer Frauen gibt es da sogar nette Knaben
:-)

           Yantro, pennt zuHause und traeumt, einmal Fernando zu sein...


-----------------------------------------------------------------------------



Re: Hast Du Dich schon angemeldet.... (Kafka, 19. Sep 1996, 14:23:34):
~#! rn=Yantro rt=843117818
~#! tid=843117818
Aehm, was fuer koelsch gibt das da eigentlich? rein informativ...
k

-----------------------------------------------------------------------------



SPIEL '96 (Hardil, 20. Sep 1996, 10:54:24):

AHoi!


Vom 17.10. - 20.10. findet in Essen die SPIEL '96 statt, und von Jahr zu Jahr
trifft man dort ja mehr und mehr Mudder.
Deswegen haben wir uns auf dem ausserplanmaessigen Dortmudner Stammtisch
gesagt, dass wir den naechsten Dortmudner Stammtisch in die Messewoche legen,
damit man auch die Gaeste von ausserhalb einbinden kann.
Stattfinden tut das ganze dann auch nciht unbedingt im Walhalla, sondern in
einer Essener Lokalitaet in Messenaehe (Genosse Elbyte wird sich dazu spaeter
noch aeussern).
Nun ist die Frage - welcher Messetag ist denn den Auswaertigen am genehmsten?
Der Donnerstag oder der Freitag?

Wer kommt ueberhaupt zur Messe?

Meldet Euch einfach mal hier in der mpa (wenn jemand mal aufraeumt). :)

-Hardil

-----------------------------------------------------------------------------



Re: SPIEL '96 (Pampers, 20. Sep 1996, 10:56:37):
~#! rn=Hardil rt=843209664
~#! tid=843209664
Mahlzeit!

Hab ich das recht verstanden, dass am Freitag (27.?) KEIN Stammtisch ist?

Ich komm trotzdem :-)
20:00 Walhalla. 

Pampers. Will Bier ha'm.

-----------------------------------------------------------------------------



Re: SPIEL '96 (Locutus, 20. Sep 1996, 13:27:29):
~#! rn=Hardil rt=843209664
~#! tid=843209664
Hiho,

so wie es im Moment aussieht, bin ich wohl wieder auf der Spiel '96 und
arbeite dort fuer AMIGO (Der deutsche Vertreiber fuer die Magic-Karten).
Wuerde mich freuen, wenn mich dort Mudder besuchen. Zum Stammtisch wuerde
ich dann auch gerne kommen, wenn der nicht zu weit weg ist. Mach doch einfach
mal nen Treffpunkt aus Hardil.

c ya...

Loc.

-----------------------------------------------------------------------------



Re: Re: SPIEL '96 (Vergon, 22. Sep 1996, 22:14:54):
~#! rn=Pampers rt=843209797
~#! tid=843209664
Also ich denke, derregulaere DO-Stammtisch findet trotzdem statt.
Vergon (kommt auch)

-----------------------------------------------------------------------------



Re: Re: Hast Du Dich schon angemeldet.... (Nasim, 24. Sep 1996, 13:49:25):
~#! rn=Kafka rt=843135814
~#! tid=843117818
Natuerlich das beste Koelsch der Welt: Muehlenkoelsch!
Yan^H^H^HNasim

-----------------------------------------------------------------------------



Re^4: Dortmund (Hardil, 26. Sep 1996, 11:06:19):
~#! rn=Bloodyharry rt=843728723
~#! tid=843722181

Nicht mit Dir, wuerde Pampers jetzt sagen.
Sorry, diesen Steilpass musste ich grad aufnehmen. :)

-Hardil.

Ist auf de mAnderland-Con, kann deswegen nicht.

-----------------------------------------------------------------------------



Re^6: Dortmund (Hardil, 26. Sep 1996, 11:12:48):
~#! rn=Bloodyharry rt=843729050
~#! tid=843722181
Freitag ist ja auch ein doofer Termin. Aber am Dienstag warst Du ja auch nicht
da...
Schlag doch mal was besseres vor. :)

-Hardil.

-----------------------------------------------------------------------------



Re^5: Dortmund (Pampers, 26. Sep 1996, 13:17:53):
~#! rn=Hardil rt=843728779
~#! tid=843722181
Nicht mit Dir, wuerde Pampers jetzt sagen.


Wuerde ich gar nicht! :-)

Ist doch eigentlich ne ganz gute Idee. ;-)

Pampers. Aua.

-----------------------------------------------------------------------------



Re: Dortmund (Morgoth, 27. Sep 1996, 08:01:01):
~#! rn=Aline rt=843722181
~#! tid=843722181
ich mecker nich, ich bin auch da, mit anhang ;-)

-----------------------------------------------------------------------------



Re: Re: Dortmund (Shakedbeer, 27. Sep 1996, 18:15:10):
~#! rn=Morgoth rt=843804061
~#! tid=843722181
Ich komm' auch und bringe Zenka mit ;)

9 (Shaky) und 10 (Zenka) oder umgekehrt.

-----------------------------------------------------------------------------



DD-Stammtisch (Terrorist, 28. Sep 1996, 13:15:53):

Da im Sep. der Stammtisch nicht stattgefunden hat aus welchen Gruenden auch
immer hoffe ich doch das ihr alle zum Oktoberstammtisch am 8.10.96 kommt.
Natuerlich wieder im Tir Na Nog beginn 19.00 Uhr.

Alos ich zaehl auf euch.

Terrorist

-----------------------------------------------------------------------------



Re: DD-Stammtisch (Guldukat, 28. Sep 1996, 13:16:47):
~#! rn=Terrorist rt=843909353
~#! tid=843909353
Tir Na Nog, ist das eine Ferengi-Bar?

-----------------------------------------------------------------------------



Re: Re: DD-Stammtisch (Terrorist, 28. Sep 1996, 13:18:02):
~#! rn=Guldukat rt=843909407
~#! tid=843909353

Noe keltisch

-----------------------------------------------------------------------------



Re: Re: DD-Stammtisch (Cauno, 28. Sep 1996, 13:20:57):
~#! rn=Guldukat rt=843909407
~#! tid=843909353

Tir na nOg ist Irland im Shadowrun. Und, wie Terr* schon sagte, 's kommt aus
dem keltischen.

Banause.

:-)

C. No

-----------------------------------------------------------------------------



Schon wieder MG-Treff in Bielefeld!! (Ancalagon, 29. Sep 1996, 17:16:21):
Knuddels! :)
Der kommende Mittwoch ist mal wieder der erste im Monat, und deswegen findet
am selbigen Mittwoch auch wieder der Bielefelder MG-Treff statt. Wie ueblich
sind wieder mal saemtliche MG-,WL-, und Anderlaender herzlichst willkommen. 
Zeit: wie ueblich, ca 19.30 Uhr
Ort: dito, Cafe Mint, Heeper Str.
Kommet zuhauf!
Nochmal Knuddels,
                                               Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



treffen (Illian, 30. Sep 1996, 14:21:36):
Fuer alle die ich vergessen habe einzuladen, hier jetzt nochmal die Kurzinfo:
am Mittwoch, den 02 Oktober ist fuer alle Interessierten Stammtisch im Jaeger
zu Osnabrueck.
Kommt zahlreich sonst blamiere ich mich (mal wieder)
Illian

-----------------------------------------------------------------------------



Re^3: Dortmund (Wargon,  1. Okt 1996, 12:25:53):
~#! rn=Shakedbeer rt=843840910
~#! tid=843722181
  Hi!
Um meiner Doku-EM-Pflicht nachzukommen, hier eine kurze Zusammenfassung:
-------------------------------------------------------
FUNKTION:
     int stammtisch(object walhalla);

DEFINIERT IN:
     /de/nrw/dortmund.c

ARGUMENTE:
     walhalla
          Die Stammtischkneipe

BESCHREIBUNG:
     Hier wird der Dortmunder Stammtisch durchgefuehrt. Unter
     normalen Umstaenden ist dies allerdings nur einmal pro
     Monat (am letzten Freitag) moeglich.

RUeCKGABEWERT:
     1, wenn man da war, ansonsten 0.

BEMERKUNGEN:
     Es gibt kein dunkles Weizen...

     Der Stammtisch ist ganz gut besucht, weist ein recht ausge-
     wogenes Spieler-Magier-Verhaeltnis auf, die EM-Dichte ist
     dafuer gering (2 von etwa 20 Anwesenden im Gegensatz zu 3 von
     6 Anwesenden beim letzten MG-Stammtisch...)

     Das Walhalla ist auch ohne Wegescript recht schnell zu erreichen
     (vom Hauptbahnhof aus).

SIEHE AUCH:
     http://mud.uni-muenster.de/Information/Treffen/stammtisch.html,
     std/pub.c
-------------------------------------------------------
  Wargon

-----------------------------------------------------------------------------



Re^4: Dortmund (Anakin,  1. Okt 1996, 12:27:05):
~#! rn=Wargon rt=844165553
~#! tid=843722181
Hiho,

am nexten Mittwoch, also irgendwie morgen der 2.10.96 ist
wieder Stammtisch in Berlin. 20.00 wie immer im Seeblick.

Anakin.

-----------------------------------------------------------------------------



Stammtisch in Bochum (Bronwyn,  1. Okt 1996, 20:56:44):

Also, wer zeit und lust hat, moege sich am Freitag, 20.00 Uhr im Clochard am
Buscheyplatz einfinden.

Bronwyn

-----------------------------------------------------------------------------



Yippeehihoooouuuuu in DA ! (Ark,  1. Okt 1996, 21:53:50):

So, man hat mich wieder beauftragt, ein kleines Mud-Treffen
zu organisieren. Das mache ich ganz schnell, indem ich
einfach sage:

         NEVER CHANGE A WINNING COMBINATION !!!!

Das heisst, mal wieder ab in den Hobbit, da is immer Platz fuer
die paar Leute, die wirklich nach Darmstadt kommen :-)

Als Termin wuerde ich mir einen Mittwoch oder Freitag rausschauen,
ich bitte um Meinungen, sonst sag ich einfach:

              Freitag, den 11.10.1996 im Hobbit, um 20.00 Uhr

Mailt mir, ob ihr ueberhaupt Lust habt oder Terminprobleme oder so...

Ciao,

***ARK*the*Magnificent***


-----------------------------------------------------------------------------



Re: Yippeehihoooouuuuu in DA ! (Wurzel,  1. Okt 1996, 22:00:24):
~#! rn=Ark rt=844199630
~#! tid=844199630
hm, ganz schlechter termin... sonst immer, aber ausgerechnet an dem abend
koennen verena und wurzel nicht kommen wegen fete.


-----------------------------------------------------------------------------



Schaut auf mein Goldkettchen... (Yantro,  2. Okt 1996, 16:41:48):


... und staunt, dass euch die Augen aus den Koepfen fallen, denn der beste,
schoenste und traditionellste Stammtisch der Welt hat nu eine eigene Webseite.

Zu finden ist das ueber den Umweg der Stammtischseite des MGs oder aber direkt
bei ....

http://www.uni-koeln.de/~ari03/gelage.html

Hier ist immer aktuell zu erfragen, wo der Stammtisch ist, was ihr machen
muesst um mir einen Gefallen zu tun, und das wichtigste: Wer sich denn schon
alles vor euch angemeldet hat!!! 

Verpasst nicht das Event des naechsten Jahres! Ist es ein Vogel? nein! Ist es
ein Flugzeug? Nein! Ist es WillkuerWargon? Nein! Es ist der

              TRADITIONSSTAMMTISCH ZU KOELN am 3.1.1997 !!!!!!

Was braucht man mehr zum Gluecklichsein?

                           Yantro, demnaechst auch mit signature :-)

-----------------------------------------------------------------------------



Treffen in HD/Mannheim (Jimdigriz, 11. Okt 1996, 16:38:56):
Hallo,

offensichtlich findet am WE 18. - 20.10. ein Treffen im 
Raum Heidelberg/Mannheim statt.

Ansprechpartner sind wohl Penelope und Steini.
Ich wunder mich dass ich in der Rubrik hier nix davon
gelesen habe, und wuerde gerne wissen:
   - wer denn so alles kommt
   - wann sich wer wo trifft (Fr Mannheim, Konzert ????)
Ich werde vermutlich dann auch kommen (*droh* ;)).

Anworten von mir aus auch per mail.

Ciao,
 James Bolivar diGriz

-----------------------------------------------------------------------------



Re: Treffen in HD/Mannheim (Fyt, 12. Okt 1996, 11:14:31):
~#! rn=Jimdigriz rt=845044736
~#! tid=845044736

Aehm, ja, und ich hab gehoert, dass am selben WE etwa 3 Mio Leute inclusive
mehrerer Rudel Mudder in Berlin sein werden :-)

Fyt.

-----------------------------------------------------------------------------



Re: Re: Treffen in HD/Mannheim (Anakin, 13. Okt 1996, 15:34:34):
~#! rn=Fyt rt=845111671
~#! tid=845044736
In Berlin? Mudder? Gleich Rudelweise? Glaub ich nicht.

Anakin.

-----------------------------------------------------------------------------



Re: Treffen in HD/Mannheim (Penelope, 13. Okt 1996, 21:38:30):
~#! rn=Jimdigriz rt=845044736
~#! tid=845044736
Aehm...hi!

Also, ich wollt nur mal was richtig stellen: Es handelt sich nicht um ein
offizielles Treffen oder ne Party! Keine Ahnung wer solche Geruechte in die
Welt setzt!? Auf jeden Fall steht deshalb nix in der MPA, weils was privates
ist!
Somit waeren wohl alle Unklarheiten beseitigt!

Ciao, Penny!

-----------------------------------------------------------------------------



Showtime (Yantro, 14. Okt 1996, 15:12:37):

Ich denke, Mupfel haette das mit den Plakaten nicht sagen sollen.....

                Yantro

uuuuuuuuunnnd nicht vergessen: 

RiesenMegaSuperGeilerTraditionsStammtisch in Koeln am 

                    3. Januar 1997 !!!!

Anmelden bei mir per Mail an mich! Siehe dazu auch meine eigens geschaffene
Prollseite:

       http://www.uni-koeln.de/~ari03/gelage.html

Denn nix ist schoener als Feiern in bester Gesellschaft !!!

-----------------------------------------------------------------------------



Re^3: Treffen in HD/Mannheim (Fyt, 14. Okt 1996, 16:57:02):
~#! rn=Loco rt=845298012
~#! tid=845044736

Hm, die Menschen sind ne Teilmenge der Menge der Einwohner, oder?
Also versteh ich Deinen Einwand nicht, Igelchen :)

Fyt.

PS: Wie waer's mit einem 'FollwUp-To' in der MPA?

-----------------------------------------------------------------------------



Re: Showtime (Mupfel, 14. Okt 1996, 20:23:14):
~#! rn=Yantro rt=845298757
~#! tid=845298757

Ich kann noch viel 'schlimmer', Yantro :-) wie waers mit einem NPC, der in
jedem Reset eine kurze Erinnerung per shout uebers MUD verbreitet. Wer seine
Ruhe haben will, muss den platthauen (also mach ihn schoen stark :-)

-mupfel-

-----------------------------------------------------------------------------



Spielemesse, last call! (Hardil, 15. Okt 1996, 16:33:19):

Ich haenge am Stand der AGZapp! (Arbeitsgemeinschaft der nicht-kommerziellen
Amateurpostspielzeitungen oder so aehnlich - da, wo man immer Turnited spielen
kann) einen grosen Zettel aus, wo jeder dran schreiben kann, wann er wo zu
erreichen ist, und ob wir am Donnerstag abend einen Stammtisch irgendwo machen
sollen/wollen/koennen.
TIch bring die Hydra mit, und Wizzard. Und Locutus ist eh da, udn Durian soll
auch irgendwann auftauchen, heisst es. Was ist mit dem Rest?

Tja, ich bin ab jetzt weg. Also message an den Postspielerstandzettel
schreiben. :)

-Hardil. 

-----------------------------------------------------------------------------



Re^6: Ausserordentlicher Stammtisch in DO (Pampers, 24. Okt 1996, 16:33:16):
~#! rn=Paracelsus rt=846167576
~#! tid=845469561
Ich sag mal einfach: schaun mer mal.
Pampers. Will nich zuwenig versprechen.

-----------------------------------------------------------------------------



Re^6: Ausserordentlicher Stammtisch in DO (Mupfel, 24. Okt 1996, 17:43:01):
~#! rn=Paracelsus rt=846167576
~#! tid=845469561

Kommen irgendwelche besonderen gaeste?

-mupfel-

-----------------------------------------------------------------------------



Re^7: Ausserordentlicher Stammtisch in DO (Bloodyharry, 24. Okt 1996, 18:11:20):
~#! rn=Mupfel rt=846171781
~#! tid=845469561
> Kommen irgendwelche besonderen gaeste?

Jau:

          Jungmagier Astar und
          Metzelseher Morgar

und meine Wenigkeit wird auch dort sein.

bh
:wq

-----------------------------------------------------------------------------



Re^8: Ausserordentlicher Stammtisch in DO (Guldukat, 24. Okt 1996, 18:11:51):
~#! rn=Bloodyharry rt=846173480
~#! tid=845469561

Magic ?

GD

PS: Fantaboy hat sich heute 2 starter und 3 booster gekauft!
Seine ersten Karten

(es werden sicher nicht seine letzten sein! ;))




-----------------------------------------------------------------------------



Re^9: Ausserordentlicher Stammtisch in DO (Hardil, 24. Okt 1996, 18:16:15):
~#! rn=Guldukat rt=846173511
~#! tid=845469561

Zum 'normalen' Stammtisch bin ich nicht da. Exkursion, oder wie man das nennt.

MAGIC? Was ist das? :-)

-Hardil.

-----------------------------------------------------------------------------



Re^8: Ausserordentlicher Stammtisch in DO (Morgar, 24. Okt 1996, 18:29:51):
~#! rn=Bloodyharry rt=846173480
~#! tid=845469561
Ich bin kein Metzelseher. Ich bin Wurstseher.
*grins*

Morgar

-----------------------------------------------------------------------------



Re^10: Ausserordentlicher Stammtisch in DO (Durian, 24. Okt 1996, 20:02:14):
~#! rn=Hardil rt=846173775
~#! tid=845469561
> MAGIC? Was ist das? :-)

Keine Ahnung, ich spiel's nur.

- Durian

-----------------------------------------------------------------------------



Asselstammtisch in Koeln ? (Jimdigriz, 25. Okt 1996, 16:09:39):
Hugh,

nachdem Yantro sooviel nervige Werbung fuer seinen Stammtisch 
macht, dass am Ende auch noch der letzte die Lust verliert da hizugehen,
waer es doch die Gelegenheit den boesen Asselstammtisch
aus Berlin wieder aufleben zu lassen, natuerlich als 
Konkurrenzveranstaltung ;). 
Um moeglichst viele Gaeste 'umzustimmen' waere es
praktisch den selben Veranstaltungsort zu waehlen.

Hiermit rufe ich also alle Asseln, Alkoholiger, Froods, 
Fertige, Gammler, Ausgestossene, Widerlinge, Dunkle,
und sonstige coolen Leute auf:
  Boykottiert den Traditionsstammtisch und
  Kommt zum Asi-/Asso-/AsselStammtisch
  am 3. Januar in Koeln in der Brauerei Malzmuehle
  Anmelden koennt Ihr Euch bei Yantro
  ( praktisch wenn er einem die Orgaarbeit abnimmt ;))

Der Ueble Zecher DiGriz

-----------------------------------------------------------------------------



Was war denn das? (Shakedbeer, 26. Okt 1996, 17:45:20):
HI!

Was war denn das gestern? Wir kommen um punkt 8 im Walhalla an (Es geht um
den Stammtisch in Dortmund) und nur ein einziger Muddie huetet die Tische. 
Das war schon sehr verwunderlich. Noch schlimmer wurde es, als sich immer
mehr herausstellte, dass wir nur mit Muehe und Not ein halbes Dutzend Mudder
zusammenbekommen. (Knapp 20% davon kamen aus Giessen ;) Hi Yogibaer!) Gab
es da irgendein Missverstaendnis wegen dem Ausserordentlichen Stammtisch?

Shakedbeer - wundert sich immer noch.

-----------------------------------------------------------------------------



artikel KA spontan verlegt (Klonk, 26. Okt 1996, 20:31:56):
Aehm, das Treffen in KA wurde spontan verlegt.
von Kneipe nach Privat, weil und ueberhaupt.

Also wer kommen will und die Adresse nicht kennte sollte mich einfach 
anmailen. 

Klonk 

-----------------------------------------------------------------------------



Re: Was war denn das? (Bloodyharry, 27. Okt 1996, 00:10:32):
~#! rn=Shakedbeer rt=846344720
~#! tid=846344720
Das Echo war wirklich nucht sher gross gewesen, also war schon damit zu
rechnen, dass es sehr wenige sein werden, die zum Treffen kommen wuerden.

BH - waere um 23:00 Uhr sowieso sicher eingeschlafen

-----------------------------------------------------------------------------



Re: Re: Was war denn das? (Hardil, 28. Okt 1996, 08:49:39):
~#! rn=Bloodyharry rt=846367832
~#! tid=846344720
Das war halt das uebliche Freitagabend-Problem. Die Haelfte der Leute sind im
Wochenende, und die andere Haelfte hatte wohl schon was anderes vor.
Tja, schade.

-Hardil. Ist immer wieder gegen den Freitag.

PS: Und jetzt mal los, die Diskussion um den besten Stammtischtermin ist schon
lang nicht mehr dagewesen. :)

PS: am dritten Januar ist hoffentlich Hochwasser. :)

-----------------------------------------------------------------------------



*S*T*A*T*I* (Qitess, 28. Okt 1996, 09:36:52):

Ja, hallo, ers`mal, ich weiss nich` ob Ihr`s schon wusstet, aber ...

WIR TICKEN JETZT VOELLIG AB !!!

...und das kam so :

Jetzt am Freitag waren Festin, Critter und Qitess, also ich, auf einer
mittelalterlichen Party. Das war so abgedreht gut, dass wir uns kurzerhand
dazu entschlossen, aus unserem naechsten       S*T*A*T*I      ein Kulttreffen
zu machen, wo alle genau so gekleidet kommen sollten. Natuerlich sind wir
tolerant, und Ihr koennt auch unverkleidet erscheinen. So haben wir uns denn
gedacht, dass jeder, der sich erdreistet,

am  FREITAG  den  1.11.  um  21 Uhr

ins  VIERTEL NACH    in  BRAUNSCHWEIG

zu kommen,  o h n e  dass er sich entsprechend der ueblichen Bekleidung im
Lande des MorgenGrauen gewandet hat, eine Tuete ueber den Kopf gestuelpt
bekommt.

MIT UNS IST NICHT ZU SPASSEN 

-ansonsten wie immer : kommt zahlreich, kommt froehlich, wir haben nix
reserviert, und schlafplaetze sind auch nicht organisiert....eigentlich is`
hier gar nix organisiert ...... ? ...

In diesem Sinne 

QI                   tic toc








P.S.:wem das alles zu doof is... naja, kommt einfach trotzdem :)


-----------------------------------------------------------------------------



Re: *S*T*A*T*I* (Qitess, 29. Okt 1996, 17:19:16):
~#! rn=Qitess rt=846491812
~#! tid=846491812
ja, also, um es nochmal zu verdeutlichen. wir verlangen keine absolut
autentische Mittelalter-verkleidung, sondern nur, dass man es toleriert, dass
wir so komich aussehen, und naja, dass man ungefaehr sich auch ein wenig so
anzieht. keine komischen spitzen huete und lange kleider oder ne
ritterruestung. ein weisses hemd oder so gehen auch. vielleicht bindet man
sich ein paar lederbaender um die handglenke.  irgendwie sowas halt...

:)

QI wollte das jetzt mal ein wenig abschwaechen...

* *

-----------------------------------------------------------------------------



Re: Re: *S*T*A*T*I* (Jasper, 30. Okt 1996, 08:36:01):
~#! rn=Qitess rt=846605956
~#! tid=846491812
sind die nicht damals nackt und mit ner keule in der hand rumgelaufen ?

-----------------------------------------------------------------------------



Re^3: *S*T*A*T*I* (Qitess, 30. Okt 1996, 09:11:31):
~#! rn=Jasper rt=846660961
~#! tid=846491812

nein, quark, wo lebst du denn ? im mittelalter sind die leute ordentlich
gewandet gewesen.

QI muss sich doch jetzt sehr wundern


-----------------------------------------------------------------------------



Re^4: *S*T*A*T*I* (Bloodyharry, 30. Okt 1996, 09:13:39):
~#! rn=Qitess rt=846663091
~#! tid=846491812
> nein, quark, wo lebst du denn ? im mittelalter sind die leute ordentlich
> gewandet gewesen.
Ja. Und es gab Hexenverbrennungen.
Welche Feierlichkeiten habt ihr vorbereitet?

bh

-----------------------------------------------------------------------------



Re^5: *S*T*A*T*I* (Jasper, 30. Okt 1996, 09:24:40):
~#! rn=Bloodyharry rt=846663219
~#! tid=846491812
wollte schrumpfi auch kommen ? :)

-----------------------------------------------------------------------------



Re^4: *S*T*A*T*I* (Grimmborn, 30. Okt 1996, 12:21:23):
~#! rn=Qitess rt=846663091
~#! tid=846491812

Tu Dir keinen Zwang an, Jasper. Du darfst sicher auch gerne nackt und mit
einer Keule kommen. Obwohl natuerlich ein solcher Hinweis auf Deinen geistigen
und moralischen Stand wohl nicht noetig waere...
Ach ja, und vergiss nicht, den kleinen Dino als Haustier mitzubringen!

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^5: *S*T*A*T*I* (Mupfel, 30. Okt 1996, 15:21:15):
~#! rn=Bloodyharry rt=846663219
~#! tid=846491812
>Ja. Und es gab Hexenverbrennungen.
>Welche Feierlichkeiten habt ihr vorbereitet?

Qitess wird oeffentlich verbrannt :-)

-mupfel-

-----------------------------------------------------------------------------



STATI in BS  (Qitess, 30. Okt 1996, 17:18:29):

so, um nochmal einen klitzekleinen artikel zu schreiben :
der stati in bs findet am 1.11. um 21 uhr im viertel nach statt.
wir feiern sozusagen noch haloween und kommen demnach alle verkleidet... mehr
oder weniger jedenfalls. und weil das nunmal passt, dass wir alles muddies
sind, kommen wir halt alle in mud-maessigen klamotten. und das sind -
jedenfalls in meinen augen - mittelalterlich angehauchte sachen.

natuerlich kann man niemanden zwingen verkleidet zu erscheinen. und wir werden
auch niemanden ausschliessen, der nicht verkleidet ist, aber... ich wuerde
mich sehr freuen wenn ihr alle zahlreich UND verkleidet kaemt. :)

naja, ich wuerde dann jetzt doch mal gerne wissen, wer alles kommt, er alles
evtl kommt. und diesbezueglich moeget ihr ne mail an mich schicken :)

QI 


-----------------------------------------------------------------------------



Re^11: Ausserordentlicher Stammtisch in DO (Hardil, 31. Okt 1996, 13:36:32):
~#! rn=Durian rt=846180134
~#! tid=845469561

Um mal wieder der Thread aufleben zu lassen, fange ich jetzt einfach mal mit
dem Countdown fuer den ausserordentlichen Stammtisch am 08.11. an:
EINS

Mal gespannt, ob am ausserordentlichen jetzt immer mehr Leute kommen als beim
ordentlichen. In diesem Fall muesste man natuerlich ne Diskussion in der mpa
starten, ob man nicht den ausserordentlichen zum ordentlichen Stammtisch udn
umgekehrt macht. Allerdings ist dann der ordentliche wieder ausserordentlich,
und dann kommen evtl wieder mehr Leute am anderen Termin.

-Hardil. Unordentlich. Und etwas verwirrt. :)

-----------------------------------------------------------------------------



Re^12: Ausserordentlicher Stammtisch in DO (Morgar, 31. Okt 1996, 13:53:45):
~#! rn=Hardil rt=846765392
~#! tid=845469561
Astar und ich kommen natuerlich auch. *grins*

ZWEI, DREI
q

-----------------------------------------------------------------------------



Re^13: Ausserordentlicher Stammtisch in DO (Guldukat, 31. Okt 1996, 14:01:32):
~#! rn=Morgar rt=846766425
~#! tid=845469561
jip

-----------------------------------------------------------------------------



Re^12: Ausserordentlicher Stammtisch in DO (Mupfel, 31. Okt 1996, 14:04:00):
~#! rn=Hardil rt=846765392
~#! tid=845469561
SOLIDARITAET :-)

na mal schaun vielleicht komm ich ja...

-mupfel-
achja... PI^3/14

-----------------------------------------------------------------------------



Re^14: Ausserordentlicher Stammtisch in DO (Morgoth, 31. Okt 1996, 14:50:31):
~#! rn=Guldukat rt=846766892
~#! tid=845469561
was ist denn 'jip'. so quiuekt ein hund wenn man ihm auf den schwanz
tritt...also hoermal, was laesst du so alles rumhaengen, hm ?

-----------------------------------------------------------------------------



Re^13: Ausserordentlicher Stammtisch in DO (Bloodyharry, 31. Okt 1996, 15:02:03):
~#! rn=Morgar rt=846766425
~#! tid=845469561
> ZWEI, DREI
= fuenf

aeh bin auch da, wollte ich sagen. Und das sogar mal puenktlich und bestimmt
auch ausgeschlafen. :)

bh - ist da, wer noch?
:wq

-----------------------------------------------------------------------------



Re^6: *S*T*A*T*I* (Lug,  3. Nov 1996, 04:18:27):
~#! rn=Mupfel rt=846685275
~#! tid=846491812
Moin, so sehr ich Mupfels Gedanken auch zustimmen kann. Hexenverbrennungen
sind nur in geringem Masse eine mittelalterliche Erscheinung, sondern kommen
erst im 17. Jh.so richtig zum Zuge. Immer auf Mittelalter, schaemt Euch ;)

Lug

P.S.: Literaturtip - Hans-Juergen Wolf, Hexenwahn. Hexen in Geschichte und
Gegenwart (2. Auflage, Dornstadt 1989).

-----------------------------------------------------------------------------



nexter STATI (Qitess,  4. Nov 1996, 09:37:34):

also, lockere vorankuendigung :

nexter stammtisch in BS am ersten samstag im dezember ( is der 7. glaube ich)

bis denn .

mails an QI


-----------------------------------------------------------------------------



Re^14: Ausserordentlicher Stammtisch in DO (Laila,  4. Nov 1996, 12:48:09):
~#! rn=Bloodyharry rt=846770523
~#! tid=845469561
S E C H S !!!!

Und ich bin mal so dreist und verpasse Shaky die Nummer S I E B E N :)

Bis Freitag dann
                 Laila

-----------------------------------------------------------------------------



ER-Stammtisch, Do 7/11 (Highlander,  4. Nov 1996, 13:08:51):
Erlanger Stammtisch, erster Donnerstag im Monat - also am 7. Nov,
1900, Pleitegeier (fuer den Fall, dass wer kommen will, der den nicht
kennt: gegenueber vom E-Werk).
Ihr duerft mich auch auf ein halbes Haehnchen einladen, ich hab da
Geburtstag ;>

  HrT

-----------------------------------------------------------------------------



Re^15: Ausserordentlicher Stammtisch in DO (Paracelsus,  4. Nov 1996, 13:17:19):
~#! rn=Laila rt=847108089
~#! tid=845469561
Hmm, A C H T , ElByte wahrscheinlich N E U N.
Para.

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!!! (Ancalagon,  5. Nov 1996, 10:01:33):
Knuddels zusammen! 
So, morgen ist mal wieder der erste Mittwoch eines Monats und deshalb findet
ebenfalls morgen auch wieder der Bielefelder MG-Treff statt. Wie immer im
"Cafe Mint" an der heeper Str. und zwar (auch wie immer) ab 19.30 Uhr. Es
waere schoen, wenn auch mal wieder die Paderborner und dissener vorbeischauen
wuerden.
Die letzten Male waren wir doch eine recht kleine Schar...
Also, kommet zuhauf.....
                                                  Ancalagon
                                         Draco knuddellensis major

-----------------------------------------------------------------------------



Stammtisch.... (Yantro,  6. Nov 1996, 08:42:13):

nur noch mal, um vielleicht einen Kleinen Anmeldeschwung zu produzieren... wie
auch fast ueberall im Mud auf so schoenen Plakaten zu lesen ist, findet Anfang
Januar in Koeln ein netter gemuetlicher Stammtisch statt und ich moechte
nochmals darauf hinweisen, dass ich, wenns irgendwie moeglich ist, eine
Anmeldung brauche, denn ich muss am Freitag Tische reservieren. 

Ich werd dann die dann aktuelle Anzahl der Anmeldungen +20 reservieren, damit
es einigermassen klar geht. Letztes Jahr hatten sich 51 angemeldet und dann
sind 65 gekommen und der Wirt hat Panik bekommen.... 

Das heisst nicht, dass ich ab naechste Woche keine Anmeldungen mehr brauche,
denn ich kann die Zahl der Reservierungen sicher zwsichendurch noch ein
bisschen erhoehen...


Nebenbei moechte ich doch eine Kleine Aufforderung an die Koelner und
Umgebungsmudder geben, doch mal zu schauen, ob nicht irgendwo in der
Rumpelkammer noch ein Plaetzchen fuer die ein oder andere Isomatte ist,d enn
ich kann ja nicht alle Uebernachtungswuensche an Bambulko schicken (auch wenn
der sich noch nicht beschwert hat, also immer schoen weiter bei ihm melden ;)
)

Yantro

-----------------------------------------------------------------------------



plakate (Yantro,  6. Nov 1996, 12:00:03):

Leider wurde ich von Rochus auf mehr als unfreundliche Weise gezwungen, meine
Plakate zu loeschen und nicht mehr irgendwo zu verteilen... 

ICh dachte eigentlich, dass so ein Objekt mit Infos netter ist als generve in
der Zeitung oder aber ein .signature und alle 2 Tage eine neue Liste in der
Zeitung mit den neusten Gaesten, aber das stoert wohl. 

Wer also Infos ueber den Stammtisch in Koeln haben will, der maile mich an
oder schaue auf die entsprechende www-seite, deren Adresse er bei mir per mail
kriegen kann....

Da ich mit meinem Werbemuell natuerlich nciht auch noch die Mudmail belasten
will, sollten alle Mails an yantro@uni-koeln.de gehen.... 

Ich bin im Moment etwas sauer, aber es koennte auch sein, dass durch dieses
Getue hier von oberer Seite der Stammtisch einfach gestrichen wird, denn ich
reiss mir nicht den Arsch auf und organisier sowas, damit mir hier Leute
dummkommen!!!

Ich dachte bis jetzt immer, dass ein Stammtisch von MGmuddern auch was mit dem
MG zu tun haette und damit hier hin gehoert, aber das scheint wohl nicht der
Fall zu sein, wenn es sich um eine Aktion handelt, die von ungeliebten
Charakteren gemacht wird.

So.. das ist das letzte, was ihr vom Koelner Stammtisch je zu hoeren bekommen
werdet... rest per mail AUSSERHALB des Muddes, wenn denn noch einer Interesse
hat.

Yantro, sauer.

-----------------------------------------------------------------------------



Re: plakate (Rochus,  6. Nov 1996, 13:07:05):
~#! rn=Yantro rt=847278003
~#! tid=847278003
Eine der Grundregeln fuer den Anschluss von Objekten ist,
dass man nichts in fremder Leute Gebiete anschliesst ohne deren
Genehmigung, das heisst insbesondere, dass man die entsprechenden
Magier vorher FRAGEN sollte.
Yantro hingegen hat die Plakate einfach ohne zu fragen nicht nur
aufgestellt, nein, er ist sogar noch einen Schritt weitergegangen
und hat sie automatisch immer wieder aufstellen lassen, wenn
sie nicht mehr da waren, also auch, wenn z.B. der entsprechende
Gildenmagier das Plakat nicht in seiner Gilde wollte und er
es destructet hat, war es bald wieder da.
Darauf habe ich zugegebenermassen ziemlich sauer reagiert.

-----------------------------------------------------------------------------



Ausserordentlicher Do-Stammti. (Fatima,  6. Nov 1996, 13:41:40):
Gut dass ich das noch lese. Muss Zorro doch glatt ueberreden mit mir
dahinzufahren.

Also vielleicht bis Freitag.

Fatima - wie immer frech -
:)

-----------------------------------------------------------------------------



Re: Re: plakate (Rantanplan,  6. Nov 1996, 15:57:53):
~#! rn=Rochus rt=847282025
~#! tid=847278003
Blaaaaaaaaaaa !!!

Klemmt euch die Plakate sonstwohin und kommt einfach zum Stammtisch...



KINDER...


Ran*

-----------------------------------------------------------------------------



Re^3: plakate (Hardil,  6. Nov 1996, 16:01:59):
~#! rn=Rantanplan rt=847292273
~#! tid=847278003

Setz Dich in Dein Auto und komm am Freitag zum einzig wahren Stammtisch,
Hundedoedel.
Koeln. Wenn ich das schon hoere. Da kriegt man doch eh nur nasse Fuesse. :)

-Hardil.

-----------------------------------------------------------------------------



Re: ER-Stammtisch, Do 7/11 (Highlander,  7. Nov 1996, 13:17:39):
~#! rn=Highlander rt=847109331
~#! tid=847109331
Verzweiflung! Oder auch: Ja, der Pleitegeier ist wo anders.
Ich verwechsle den immer gern mit dem Huehnertod, wie mal wieder passiert.
Der Pleitegeier ist natuerlich nicht gegenueber vom E-Werk, sondern
am Martin-Luther-Platz. Aber wenn man vorm E-Werk steht, kann man ja mal
das Smile und den Huehnertod suchen, davor nach links gehen und dann rechts
die Strasse hoch und immer grad aus, bis ihr 'ne Kirche seht, also bei der
ersten grossen Kreuzung. Aeh, nicht die erste Strasse rechts hoch, sondern
die erste ernsthafte :>  Da muss man sich auch glaub ich zwischen links und
rechts entscheiden.  Ja, und wenn ihr dann an der Kreuzung mit der Kirche
seid, dann  ist an der Ecke schraeg links vor euch der Pleitegeier.
Und der Weg geht so....

   DA HIN GEHT'S!   |    |
             |      |    |
             +-> PG |    | 1-2 Haeuser Kirche
--------------------      --------------------
 Richtung Berg             Hauptstrasse
--------------------      --------------------
                    |    |
                    |    |
                    |    |
                    |    |
                    |    | irgendwelche Minigaesschen
                    |    |
                    |    |
                    |    |
                    |    |         Norma, Smile, Huehnertod
                    |     ---------------------------
                    |
                    |     -----    ----     ----------
                    |    |     |  |    \--  |         E-Werk
                    |    |     |  |     Einfahrt E-
                    Unterfuehrungen     Werk-Parkplatz
                                        (vorher andere
                                         P-Einfahrt)


  HrT

-----------------------------------------------------------------------------



Re: MG-Treff in Bielefeld!!!! (Ronda,  7. Nov 1996, 17:00:20):
~#! rn=Ancalagon rt=847184493
~#! tid=847184493
Du siehst:
Eine Kneipe in Bielefeld... hier solls immer die tollen Treffen der MGler
geben.
Unt Uhr
Es ist jetzt 20.00 Uhr.
unt raum
Hmmm, viele Leute, aber keine Mudder...
seufze

Wo wart Ihr eigentlich am Mittwoch? Wir drei Paderborner hatten zwar nen
netten Abend im Cafe Mint, aber mit noch nen paar anderen waers schoener
gewesen...
Etwas verwundert,
                    Ronda

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Aline, 26. Nov 1996, 09:27:23):
~#! rn=Hardil rt=848924220
~#! tid=848910236
Hi Hardil,

ist ja schade, dass Du an diesem Freitag nicht zum Stammtisch kommen kannst.
:(
Allerdings schreibe ich nicht jedesmal einen Artikel, wenn ich nicht zum
Stammtisch kommen kann. Ausserdem hab ich den Eindruck, dass der Freitag
an sich kein sooooo furchtbar unguenstiger termin ist, da
die ausserordentlichen Stammtische in letzter Zeit komischerweise
auch immer auf einem Freitag lagen. So dolle passt mir dieser Freitag
nun auch nicht und ich werde wieder um 21.20 Uhr abhauen um den letzten
Zug nach Hannover zu nehmen. Auch wenn ich dann das Vergnuegen habe,
von ca. 22.55 Uhr bis 23.50 Uhr in Hannover auf dem Bahnhof rumzuhaengen.
Dafuer hab ich halt die Hoffnung, dass am Freitag mal wieder ein paar
aus Osnabrueck oder Muenster kommen....... :)

Aline (die hoffentlich nicht allein im Walhalla sitzen wird)

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Fatima, 27. Nov 1996, 12:56:56):
Also damit Alines Erwartungen mal erfuellt werden.

Eins. Aber nur wenn das Wetter mitspielt.

(und wenn mal keine Magickarten auf den Tischen liegen.)

Fatima und Zorro bestimmt *zwei* :)

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Morgoth, 27. Nov 1996, 13:12:43):
~#! rn=Fatima rt=849095816
~#! tid=849095816
Bienchen & Morgoth sind auch da ;-)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Mupfel, 27. Nov 1996, 14:15:34):
~#! rn=Morgoth rt=849096763
~#! tid=849095816
war ja auch nicht anders zu erwarten...

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Guldukat, 27. Nov 1996, 14:35:58):
~#! rn=Fatima rt=849095816
~#! tid=849095816
He, beim letzen DO stammtisch lagen ueberhaupt keine magic karten auf dem
tisch! Und nicht, weil ich nicht da war! ;)
GD

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Shakedbeer, 28. Nov 1996, 11:54:41):
~#! rn=Guldukat rt=849101758
~#! tid=849095816
Ist auch besser so. 

Shaky ist auch wieder da. Und zur Abwechslung mal sichtbar ;)

-----------------------------------------------------------------------------



*S*T*A*T*I*  in BS (Qitess, 28. Nov 1996, 16:32:00):

HALLO JUNGS UND MAEDELS !!!

Also : es ist ja wirklich peinlich, aber auf den MORGENGRAUENSTAMMTISCH in BS
kommen wahrscheinlich mehr UNItopisten als MG-ler. Waere schon cool, wenn
unsere Gaeste nicht ganz soviel waeren, ich meine, immerhin ist es ja ein
MORGENGRAUEN-Stammtisch und kein UNItopia-Stammtisch.

Also, Kinners :

Rafft Euch auf und kommt

am SAMSTAG    den   7.12.   ins  ViertelNach in braunschweig im Bueltenweg.
und zwar um 20 uhr.

Wir koennen uns doch nicht blamieren.

Und ausserdem waers klasse, wenn ihr mir vorher ne mail schickt, damit ich so
ungefaehr weiss, wer kommt.

QI  - ist schon ganz verzweifelt ob des regen Desinteresses.  {:

P.S.: es gibt ueberigens eine ueberraschung fuer alle die kommen :)

sozusagen als belohnung :) 

bis dann

*

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Asmodis, 28. Nov 1996, 19:47:41):
~#! rn=Fatima rt=849095816
~#! tid=849095816
Spielen sie jetzt unter dem Tisch ? :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Aline, 29. Nov 1996, 09:58:35):
~#! rn=Asmodis rt=849206861
~#! tid=849095816

Aber Teufelchen! Unter dem Tisch gehen ganz andere Dinge ab ;)

Komm doch einfach mal und schau es Dir selbst an ;)

Aline

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Bloodyharry, 29. Nov 1996, 12:51:53):
~#! rn=Aline rt=849257915
~#! tid=849095816
Also eigendlich reichten mir schon die Intimitaeten, die oberhalb des
Tisches abgingen. ;)

bh - heute mal wieder ganz pruede.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Asmodis, 29. Nov 1996, 12:56:36):
~#! rn=Bloodyharry rt=849268313
~#! tid=849095816
Legt Aline einen Striptease hin? Auf dem Tisch  :)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Dortmund (Grimmborn, 29. Nov 1996, 13:43:04):
~#! rn=Asmodis rt=849268596
~#! tid=849095816
Na, dann aber nix wie hin zum Stammtisch, was, Asmodis? ;-)

Grimmborn der Atheist grinst sich eins.

-----------------------------------------------------------------------------



Rudeln in Bonn (Pra,  2. Dez 1996, 12:29:39):
Hi Suechtige und die, die es werden wollen!

Es ist wieder soweit! Am Dienstag, 3. Dez*hicks*ember ist wieder Rudelmudden
angesogt und so. Kommt ab - aeh - naja, abends halt, und bringt - aeh -
ja, was ihr wollt, mit. 'N bisschen Bier ist noch da, wird zum
Selbstkostenpreis verschleudert. Pizza wird bestellt ab 21 Uhr (wer
bringt ein Handy mit?) Und wo? Fuer alle Neulinge: In den Baracken (sic!)
des Rechenzentrums Bonn. Wegelerstr. 4, hinterer Eingang. Wenn verschlossen
-> kraeftig gegen die Tuer bollern. Telefon: 73-3849.

Pra.

-----------------------------------------------------------------------------



Erlangen Dez 5 (Highlander,  2. Dez 1996, 12:40:53):
Hi,
am 5. Dezember ist es wieder so weit - erster Donnerstag im Monat. Das
heisst mit anderen Worten Erlanger Mudstammtisch im Pleitegeier um 19 Uhr.
Nachdem ich mir zum Glueck die Karte aufgehoben hab, mach ich mal ein
cut'n'paste,,,

             |      |    |
             +-> PG |    | 1-2 Haeuser Kirche
--------------------      --------------------
 Richtung Berg             Hauptstrasse
--------------------      --------------------
                    |    |
                    |    |
                    |    |
                    |    |
                    |    | irgendwelche Minigaesschen
                    |    |
                    |    |      Hier geht auch ne kleine Strasse hoch 
                    |    |      | 
                    |    |      x  Norma, Smile, Huehnertod
                    |     ---------------------------
                    |
                    |     -----    ----     ----------
                    |    |     |  |    \--  |         E-Werk
                    |    |     |  |     Einfahrt E-
                    Unterfuehrungen     Werk-Parkplatz
                                        (vorher andere
                                         P-Einfahrt)


Die Karte geht deswegen vom E-Werk aus, weil man das leicht findet, weil
es da Parkplaetze gibt (die sind glaub ich immer noch ab 7 kostenlos, ob-
wohl das Kaufland inzwischen bis 8 offen hat) und weil ich das erste Mal
den Pleitegeier mit dem Huehnertod verwechselt hab.
Oh, ich seh grad, die erste Zeile der Karte fehlt. Da fehlt ein
"Da geht's hin!" bei dem gewinkelten Pfeil zum PG.

   HrT

-----------------------------------------------------------------------------



S*T*A*T*I in Braunschweig (Festin,  2. Dez 1996, 13:17:49):
Nun ist es bald wieder soweit. Noch FUENF Tage bis zum naechsten
Braunschweiger
Stammtisch. Er findet wie immer im Viertel nach statt und zwar fuer alle,
die keine Lust zum Zaehlen haben, ist es Samstag der 7.12. und zwar um 20.00
Uhr.
Waere nur noch zu sagen, dass ihr moeglichst zahlreich kommen solltet, da
wir sonst in der unangenehmen Lage sind, das unsere Gaeste aus Unitopia mehr
Leute
stellen als wir.

Also ich hoffe auf zahlreichen Besuch (es wird bestimmt wieder mal recht
lustig)
Bis dann Festin, der nun endlich Seher ist.

-----------------------------------------------------------------------------



Re: Rudeln in Bonn (Asmodis,  2. Dez 1996, 23:45:15):
~#! rn=Pra rt=849526179
~#! tid=849526179
Bier im RZ ? Habt ihr keinen Nachtwaechter ?? :)
Also bei uns gaebe es sowas nicht :)

-----------------------------------------------------------------------------



Re: Re: Rudeln in Bonn (Pra,  3. Dez 1996, 14:30:18):
~#! rn=Asmodis rt=849566715
~#! tid=849526179

Die Nachtwaechter werden bestochen.

-----------------------------------------------------------------------------



MG-Treff in Bielefeld! (Ancalagon,  3. Dez 1996, 15:02:36):
Hallo erstmal!
Morgen ist mal wieder der erste Mittwoch des Monats und wie ueblich findet der
Bielefelder MG-Treff statt! Wie immer im Cafe Mint und auch wie immer um ca
19.30. Genauere infos bei allen Bielefelder Muiddern!
Kommet zuhauf,
                                            Ancalagon

-----------------------------------------------------------------------------



Stammtisch in Tuebingen? (Loco,  3. Dez 1996, 15:10:12):
Vor ein paar Wochen trafen sich einmal ein paar Tuebinger und kamen auf die
Idee, einen Stammtisch hier aufzuziehen. Nichts regelmaessiges, aber so ab
und zu.
Bevor diese Idee wieder versackt, weil sich keiner drum kuemmert: 
Wer Interesse hat - bitte schreibt mir eine mail mit Terminvorschlaegen und
auch mit Auflistung der Termine, wo ihr ueberhaupt nicht koennt. Vorschlaege
ueber den Ort werden natuerlich auch gerne entgegengenommen.
Potentielle Gaeste aus anderen Staedten (und auch aus anderen Muds) waeren
natuerlich ebenfalls willkommen und koennen sich gerne zu Wort melden.

- Loco

-----------------------------------------------------------------------------



Re: Re: Rudeln in Bonn (Nasim,  3. Dez 1996, 22:58:02):
~#! rn=Asmodis rt=849566715
~#! tid=849526179
Ich werde dochwohl in meinem Buero abends Bier trinken duerfen ...

Prost, Nasim!

-----------------------------------------------------------------------------



STAMMTISCH - DD (Sunflower,  4. Dez 1996, 12:07:38):
Da (Neu)-Organisator Ghorwin da wohl einiges vermasselt hat, moechte ich
nun sagen das, der Stammtisch:

im TIR NA NOG
um 19.30 Uhr 
beginnt.

Wie immer mit der Linie 13 bis Alaunplatz oder
mit der 7/8 bis Bischofsweg.

Bis denne *hicks*

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Berliner Stammtisch (Jariel,  4. Dez 1996, 12:21:59):
Diesen Freitag ist Berliner Stammtisch! Special Guests are FATIMA and ZORRO!
Ich bin so gegen 20.30 -21.00 ankommender Weise anwesend. Und bleib bis mein
Bierchen alle ist :)

Ich hoffe auf rege Teilnahme!!!!

Jariel (nimmt mal das organisieren in die Hand)

-----------------------------------------------------------------------------



*S*T*A*T*I* (Qitess,  4. Dez 1996, 15:57:29):

also : wahrscheinlich aber eher nicht letzter aufruf :

am samstag, den 7.december ist in braunschweig ein stammtisch !

und zwar um 20 uhr im viertel nach im bueltenweg.

wer kommen moechte soll kommen :)

aber bitte zahlreich und mit guter laune. :) und bitte auch ne kurze
bescheid-mail an mich.

jeder der kommt bekommt eine kleine ueberraschung :)

QI *seufzt, weil doch mal ganz viele kommen sollen :)*

*

-----------------------------------------------------------------------------



Re: Berliner Stammtisch (Grimmborn,  4. Dez 1996, 17:11:59):
~#! rn=Jariel rt=849698519
~#! tid=849698519

Lass mich raten: Im Seeblick?

Grimmborn der Atheist kommt eh nicht.

-----------------------------------------------------------------------------



Gibts eigentlich nen Stammtisch in Stuttgart? (Ronda,  4. Dez 1996, 17:42:28):
Da ich mich in der naechsten Zeit mal in Stuttgart aufhalten werde: gibts da
nen Stammtisch?
Nur grade drueber nachgegruebelt,
          Ronda

-----------------------------------------------------------------------------



Re: Gibts eigentlich nen Stammtisch in Stuttgart? (Loco,  4. Dez 1996, 18:19:14):
~#! rn=Ronda rt=849717748
~#! tid=849717748
Mangels MGlern nein.
Aber wenn Du Bescheid sagst, wann Du kommst, und nichts dagegen hast, noch ein
paar wenige km weiterzufahren, koennten wir das ja als Termin-Anlass fuer den
ersten Tuebinger Stammtisch nutzen...

Uebernachtungen in Tuebingen, Wegbeschreibungen und OePNV-Tips koennen
problemlos gestellt werden.

- Loco

-----------------------------------------------------------------------------



 *S*T*A*T*I*   (Qitess,  5. Dez 1996, 14:31:43):
Hallo Jungs und Maedels ! :)

Hier nun die vorlaeufig aktuellste Liste fuer den Morgengrauenstamm -
tisch am 7.12. -also uebermorgen- im ViertelNach in Braunschweig im
Bueltenweg um 20 Uhr :

Das Kompromittee (Qitess, Festin, Critter)   - aus Braunschweig 
Orktoeter                                    - aus Koeln  (ohne Auto)
Sobibar   wenn die A2 relativ frei ist       - aus Magdeburg
Chondos   wenn die A2 relativ frei ist       - aus Essen
Snibril   wenn Chondos kommt                 - aus Braunschweig


...und diverse Leutchen aus UNItopia ... die kommen aus Clausthal...

also kommt zahlreich und froehlich und bildet Fahrgemeinschaften , 
denn vielleicht kommen dann sogar welche, die sonst nicht kommen 
wuerden ... ??? 

:)

QI  hoffnungsfroh, dass das ViertelNach aus allen Naehten platzt, 
    was wohl nicht sein wird ... *kicher*

*



-----------------------------------------------------------------------------



Re:  *S*T*A*T*I*   (Hardil,  5. Dez 1996, 14:54:35):
~#! rn=Qitess rt=849792703
~#! tid=849792703

Also wenn hier noch weiter gejammert wird mit den ganzen Stammtischen, wo nie
jemand kommt, dann machen Pampers udn ich unsere Drohung wahr, schnappen uns
Leusel und machen zu dritt die Stammtische bundesweit so laneg unsicher, bois
sich keiner mehr traut, Stammtische hier anzukuendigen, damit wir die Termine
nicht mebtkommen.

Howgh, ich habe gesprochen.

-Hardil.

PS Wo wollen wir zuerst hin, Pampers? Tuebingen, Schwaben erschrecken?

-----------------------------------------------------------------------------



Re: Re:  *S*T*A*T*I*   (Engywuck,  5. Dez 1996, 15:19:31):
~#! rn=Hardil rt=849794075
~#! tid=849792703
Ich empfehle da den grossen Koelner Traditionsstammtisch, am 3.1.1997 in
koeln. Naehere Infos unter:
http://www.uni-koeln.de/~ari03/gelage.html

Engy*

-----------------------------------------------------------------------------



Re^3:  *S*T*A*T*I*   (Yantro,  5. Dez 1996, 19:57:18):
~#! rn=Engywuck rt=849795571
~#! tid=849792703
Engy kriegt da KEIN Geld fuer... auch sonst nix... wobei ich ihm auch nichts
versprochen habe... er scheint mich einfach so zu lieben :)

Yantro

-----------------------------------------------------------------------------



Stammtisch in Berlin. (Raffi,  5. Dez 1996, 19:58:36):

Nu bin ich in B, und es ist kein stammtiche ... kann sein das einer den
Freitag verlegt hat (so wie die ganzen Artikel hier ?)

Gruebeld
H.

-----------------------------------------------------------------------------



Re: Re:  *S*T*A*T*I*   (Ancalagon,  6. Dez 1996, 10:20:06):
~#! rn=Hardil rt=849794075
~#! tid=849792703
Kommt doch, kommt doch.... *zunge rausstreck*
MG-Treff in Bielefeld, jeden 1.Mittwoch im Monat, ab 19.30 im Cafe Mint,
heeper Str. (uebernachtungsplaetze lassen sich bestimmt organisieren...)
Mit uebermuetiugen Knuddels,
                                              Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Re^3:  *S*T*A*T*I*   (Sunflower,  6. Dez 1996, 12:53:08):
~#! rn=Ancalagon rt=849864006
~#! tid=849792703
Bielefeld ? Bielefeld ? gibts das ueberhaupt ?


Tststs immer diese BIELEFELD-EXISTIERT-DOCH-MENSCHEN

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Dortmunder Stammfisch (Hardil,  6. Dez 1996, 14:51:03):

Aline hat gerade festgestellt, dass der letzte Freitag im Monat diesmal auf
den 27.12. faellt, und das ist doch etwas doof.
Und jetzt fragen wir uns gerade, ob wir lieber am Freitag, den 13ten, oder
am Donnerstag, den 19ten den Stammtisch mal wieder ausserplanmaessig machen
wollen.

Meldet Euch fleissig! Die Rubrik her ist viel zu leer!

-Hardil.

-----------------------------------------------------------------------------



Re^4:  *S*T*A*T*I*   (Qitess,  6. Dez 1996, 17:11:28):
~#! rn=Sunflower rt=849873188
~#! tid=849792703

HE ! 

DIESE GANZEN ARTIKEL GEHOEREN NICHT UNTER DIE UEBERSCHRIFT *S*T*A*T*I* !!!

QI - RICHTIG ERBOST

*

-----------------------------------------------------------------------------



Re^5:  *S*T*A*T*I*   (Sunflower,  6. Dez 1996, 17:18:25):
~#! rn=Qitess rt=849888688
~#! tid=849792703
wenn man ein "r(eply)" auf einen Artikel in dieser Zeitung macht und der
Artikel die Bezeichnung "S*T*A*T*I" trug so ist doch anzunehmen das als
naechstes die
Ueberschrift Re^(n): <bezeichnung> kommt.

Sunflower die das mal sagen wollte und sich schon duckt weil es wieder kein
Artikel war der zu "S*T*A*T*I*" passt (ab nach schmarrn)

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^6:  *S*T*A*T*I*   (Qitess,  6. Dez 1996, 17:20:44):
~#! rn=Sunflower rt=849889105
~#! tid=849792703
aber *S*T*A*T*I* ist ein rechtlich geschuetztes markenzeichen nur fuer den
braunschweiger stammtisch im viertelnach im bueltenweg, der morgen um 20 uhr
wieder stattfindet.

qi  weiss doch das mit dem reply ...
qi  weiss doch das mit dem reply ...


-----------------------------------------------------------------------------



Re^7:  *S*T*A*T*I*   (Orktoeter,  6. Dez 1996, 17:22:21):
~#! rn=Qitess rt=849889244
~#! tid=849792703
was soll das mit diesem S*T*A*S*I* eigentlich immer ?
OrkT gespannt.
(und sich schon mal auf die Pruegel gefasst machend)
-> schmarrn

-----------------------------------------------------------------------------



Re^8:  *S*T*A*T*I*   (Sunflower,  6. Dez 1996, 17:23:34):
~#! rn=Orktoeter rt=849889341
~#! tid=849792703
STAMMTISCH-SICHERHEIT vermutlich, 

weil das ja geschuetzt ist das STATI und darum brauchen die ne STASI, immerhin
haben die es ja hinbekommen das ueber 16 Mio Menschen kein STATI sagen.

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^6:  *S*T*A*T*I*   (Loco,  6. Dez 1996, 17:27:41):
~#! rn=Sunflower rt=849889105
~#! tid=849792703
Ich verstehe - ihr wollt ein reply <neuer Titel> ...
Ok, ihr sollt es bekommen. Irgendwann in den naechsten Tagen, zusammen mit dem
eigentlich schon fertigen Generalupdate der MPA...

- Loco

-----------------------------------------------------------------------------



Re^7:  *S*T*A*T*I*   (Sunflower,  6. Dez 1996, 17:35:06):
~#! rn=Loco rt=849889661
~#! tid=849792703
aber das gehoert nun wirklich nicht unter *S*T*A*T*I*

ob qitess ein rotangelaufenes Gesicht steht ?

Sunflower duckend

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^8:  *S*T*A*T*I*   (Raffi,  6. Dez 1996, 22:34:21):
~#! rn=Sunflower rt=849890106
~#! tid=849792703
Was ? Ne extra *S*T*A*S*I* Erweiterung in der MPA ???

Geht das nicht etwas weit ?

Gruebel
H.

-----------------------------------------------------------------------------



ER Jan 97 (Highlander,  7. Dez 1996, 10:45:56):
Hi!
Wie wir auf dem Stammtisch festgestellt haben, ist der erste Donnerstag
1997 schon der 2.1. - um die Zeit ist aber wohl kaum jemand in Erlangen.
Daher findet der Erlanger Stammtisch naechsten Monat mal am zweiten
Donnerstag statt, also am 9.1.97 um 1900 im Pleitegeier.
   HrT

-----------------------------------------------------------------------------



Re: Dortmunder Stammfisch (Bloodyharry,  8. Dez 1996, 01:12:07):
~#! rn=Hardil rt=849880263
~#! tid=849880263
> am Donnerstag, den 19ten den Stammtisch mal wieder ausserplanmaessig machen

Dieser Termin kaeme mir sehr gelegen - ich hoffe er findet anklangt!


bh

-----------------------------------------------------------------------------



Re^4:  *S*T*A*T*I*   (Ancalagon,  8. Dez 1996, 14:27:35):
~#! rn=Sunflower rt=849873188
~#! tid=849792703
Knuddels!
Mensch, nu lasst mir doch mal meine Illusionen....... :)
leicht kraechzend (chorwochenendsgeschaedigt),
                                            Ancalagon
                                    Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Re: Dortmunder Stammfisch (Marita,  9. Dez 1996, 02:27:41):
~#! rn=Bloodyharry rt=850003927
~#! tid=849880263

Na, den einzigen Termin, an dem mein Mensch auch mal wieder auftauchen wuerde,
naemlich Fr 20., habt Ihr ja sauber umschifft. Hat das einen besonderen Grund?
Ok ok ich will keine Antwort hoeren ;-)
Nee, ueberlegts Euch nochmal, nehmt Euch ein Herz und sagt:
"Jawohl, der 20. isses, der Freitach halt!"
Mein aeh... irgendein Beitrach jedenfalls
Marita

-----------------------------------------------------------------------------



Re^3: Dortmunder Stammfisch (Hardil,  9. Dez 1996, 08:22:42):
~#! rn=Marita rt=850094861
~#! tid=849880263

Tja, den 20ten haben Aline und ich schon mit Absicht umschifft.
Das weitere Procedere wird das folgende sein: wenn nicht bis, sagen wir
spaetrestens Mittwoch, 12 Uhr, genuegend Artikel hier auftauchen, dass ihr
lieber am Donnerstag, den 19ten Stammtischlern wollt, setzt Aline in ihrer
uneingeschraenkten Demokratie den Fretitag, den 13ten fest.

Was haltet ihr eigentlich davon, den Stammtisch vom Walhalla auf den
Weihnachtsmarkt zum Gluehweinstand zu verlagern? :))

-Hardil.

-----------------------------------------------------------------------------



Re^4: Dortmunder Stammfisch (Pampers,  9. Dez 1996, 10:40:59):
~#! rn=Hardil rt=850116162
~#! tid=849880263
Freitach den 13. kannichnich... Ist aber nich so schlimm, weil ich am 19.
vermutlich auch nich kann. :)

Pampers.

-----------------------------------------------------------------------------



Re^4: Dortmunder Stammfisch (Guldukat,  9. Dez 1996, 12:42:23):
~#! rn=Hardil rt=850116162
~#! tid=849880263
Gluehwein ist in Ordnung, nur wo spielen wir da magic? ;)

-----------------------------------------------------------------------------



Re^5: Dortmunder Stammfisch (Bloodyharry,  9. Dez 1996, 12:48:09):
~#! rn=Pampers rt=850124459
~#! tid=849880263
> Freitach den 13. kannichnich... Ist aber nich so schlimm, weil ich am 19.
> vermutlich auch nich kann. :)
Oder wir nehmen den 20ten. Da kann ich naemlich auch nich. :)

bh
:wq

-----------------------------------------------------------------------------



Re^6: Dortmunder Stammfisch (Pampers, 11. Dez 1996, 11:45:13):
~#! rn=Bloodyharry rt=850132089
~#! tid=849880263
Oder wir nehmen den 20ten. Da kann ich naemlich auch nich. :)

Gute Idee! Ich naemlich auch nicht.

Pampers. Ist fuer den 19. da kann ich wenigstens VIELLEICHT. ;-))

-----------------------------------------------------------------------------



Re^7: Dortmunder Stammfisch (Laila, 11. Dez 1996, 11:46:01):
~#! rn=Pampers rt=850301113
~#! tid=849880263
Lasst am 19.12 Stammtisch machen. Ich kenne da einige die am 20. NICHT koennen
!!

Laila

-----------------------------------------------------------------------------



*K*I*N*O* (Sunflower, 11. Dez 1996, 11:49:38):
Am Freidach den 13ten ist mal wieder zu ehren von Geburtstagskind Spielberg
die bereits legendaere INDY-Filmnacht :) Ich hoffe das sich viele
DD-Mudder einfinden wie auch in den Jahren zuvor.

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Koelner Stammtisch ! (Yantro, 13. Dez 1996, 10:01:46):

Hallo Ihrs... 
ich hab mal fuer alle, die des www nicht maechtig sind oder keine Lust aufs
surfen haben, die wunderschoene Seite

              http://www.uni-koeln.de/~ari03/gelage.html

von den ganzen laestigen < und > gereinigt und will sie hier mal posten, denn
vielleicht kommt dadurch der ein oder andere doch noch auf die Idee, sich
anzumelden :) oder einfach zu kommen...

				Chez Yantro

			Traditions-Stammtisch in Koeln

Es ist mal wieder soweit. Der ueberall beliebte und nicht zu uebertreffende
Stammtisch in Koeln wird auch diesmal wieder stattfinden. Schon seit Aeonen
reden die Voelker der Welt von nichts anderem als diesem Grossereignis der
Gesellschaft. Wieder werden sich Hunderte von Muddern aus allen
Himmelsrichtungen sammeln, um fuer einen Tag das zu geniessen, was es nur
hier in Koeln gibt:

			Die beste Stimmung der Welt.
			Die groesste Lebensfreude der Welt.
			Das leckerste Essen der Welt.
			Das beste Bier der Welt.
			Die nettesten Mudder der Welt.

Das alles und noch einiges mehr koennt ihr erleben, wenn ihr euch auch auf
den Weg macht in die Stadt, die nicht umsonst (sondern auch gratis) das 
HERZ DER WELT genannt wird. Kommt nach Koeln zum
groessten Stammtisch aller Zeiten!

			Wann soll das sein??
			Wo soll das sein?? 
			Wie komm ich da hin??
			Was muss ich machen??

Das ist doch alles gar nicht sooo schwer. Also stattfinden wird das ganze
am:

		<<<<<	3. Januar 1997   >>>>>

			   ab 18 Uhr

			    in der 

		    Brauerei zur Malzmuehle

			  Heumarkt 6
			  50667 Koeln

Fuer eine genaue Wegbeschreibung wendet ihr Euch am Besten per Mail 
an mich oder an eine der angeschlossenen Mitspelunken. ;-)

Das einzige, was Ihr noch erledigen muesst ist eine Mail an 
mich schreiben, dass ihr gedenkt zu kommen (also zum Stammtisch, 
sonst braucht das keine Mail) und wieviele Ihr seid, damit ich den 
armen Koebes ein wenig darauf vorbereiten kann, was er so an 
Faessern bereithalten muss.

Ach ja... wenn ihr einen Schlafplatz braucht oder einen zu bieten habt, dann
schreibt das auch in die Mail hinein, damit ich da ein bisschen vermitteln
kann, wenns noetig  sein sollte. 


	Wer kommt denn schon? Wer hat sich denn schon angesagt? 

Bis zum 13.12.1996 haben sich folgende freundlichen Wesen angesagt:

-  Yantro, der Werbetrommler, dem das Ganze zu verdanken ist. :-)
-  AncalOgon (nur echt mit typo ;)), mein Kuschelwuschellieblingsdrache, mit dem man immer einen
schoenen Abend haben kann. Vor allem, wenn man dafuer sorgt,
dass ihm nie das Bier ausgeht.
-  Nasim, der wie immer einer der Ersten ist, wenn es um eine Party in
Koeln geht.
-  Vanir, der hofft, dass ihm nichts dazwischen kommt, wobei er mir nicht
weiter verraten wollte, WOzwischen er denn nu meint.
-  Nirdavo, der es trotz Diplomarbeit schafft, laenger eingeloggt zu
sein als ich, was aber daran liegt, dass sein Rechner auch sein
Arbeitsplatz ist.
-  CauNo, der Kartograph, der nicht nur sehr viele Filme, Buecher und
Serien kennt, nein, er rezitiert sie auch noch alle aus dem Kopf.
-  Nefertiri, die kleine Dienerin Ras und Hobbymudderin, die immer gute
Laune hat und diese auch sehr ansteckend verbreitet, wenn sie nicht gerade
wochenlang unter einem Kneipentisch liegt und dort auf eine Rose wartet. ;-)
-  Zardoz, der oberste aller Daemonen, der aber nur kommen will, wenn
ihn ja keiner fragt, wann denn die KaempferGilde angeschlossen wird!
-  Bendeigid, Zars Leibsklave, der Herr der Erfrierungen und wackeres
Standbild echten Koelner Humors.
-  Bambulko, im Mud wegen seiner mangelnden Anwesenheit zu einer mickrigen
Pfuetze verkommen, erscheint noch einmal in all seiner Naesse. Bei
ihm sind noch Schlafgelegenheiten zu ergattern und es ist ein
Geruecht, dass man dazu eine Sauerstofflasche braucht.
-  Bobo, der Meister aller Zapfhaehne ist wieder im Lande und beehrt
uns auf dem Treffen mit seiner immer guten Laune.
-  Baboon will auch nerven, auch wenn er meint, dass mich das nicht
interessiert.
-  Engywuck hat ihre liebliche Erscheinung  angek&uumlndigt und das wird uns den Sex unter den
Tischen garantieren. :-)
-  Semira hat sich lange ueberlegt, ob sie ihre Engy alleine mit so
vielen anderen netten Muddern alleine lassen kann und will das Risiko
dann doch nicht eingehen, aber sie kommt auch nicht alleine, denn in ihrem
Schlepptau ist:
-  Creative, der knuddelige Oesi, der stundenlang still in einer Ecke
rumidlen kann, bis er dann mal meint, er muesste 10 Witze posten.
-  Kotzbrocken ist einer der groessten Kampftrinker eines kleinen
verschlafenen Vorortes Koelns namens Duesseldorf. Von dort kommend
wird er antesten, ob seine Kondition mit der eines original-koelner
K&oumlbesses mithalten kann.
-  Escubar, der Eisbaer wird auch aus dem tiefen Sueden kommen und
mit Creative wohl erstmal ausmachen muessen, wer denn der eisigere
Baer ist.
-  JimDiGriz kommt nicht nur mal so vorbei, nein, er laesst sich
extra aus seinem Urlaub in GB einfliegen... wenn das keine Treue ist. :-)
-  Skipper schippert auch hier rum und das mal nicht ueber Modem,
sondern LIVE!
-  Jorinde ist sich noch nicht sicher, also redet auf sie ein, dass
sie DAS nicht verpassen darf!
-  Ob Pra sich wieder mit seinem gar haesslichen TShirt als WolpieFan
outen wird, dass werden wir dann vielleicht sehen. Er koennte statt des
Shirts ja auch mal den echten Wolpie mitbringen.
-  Isnogood hat sich angesagt und ich bin mir ehrlich gesagt nicht sicher,
ob er seinem Namen alle Ehre machen wird.
-  Rhiannon will uns auf alle Faelle beehren und meint, dass mit
ihr wohl die suesseste Seherin des MGs anwesend sein wird. Ob sie in RL
haelt, was sie in VL verspricht, dass kann ich nicht
beschwoeren, aber wenn nur die Haelfte wahr ist, dann lohnt sich
sicher der weite Weg nach Koeln.
-  Ryne hat versprochen, mit der Anwesenheit seines "y" den
Coolness-Faktor des Stammtisches um einiges zu steigern und er kommt nicht
alleine, denn bei ihm ist....
-  Rudiratter, die sicher mit ihrem Durst den Wirt zur Verzweiflung
bringen wird, aber wie sollte man dem besten Bier der Welt auch widerstehen
koennen, vor allem, wenn die groesste Sexbombe aller Muds
danach duerstet. :-)
-  Mit Mupfel hat sich inzwischen nicht nur ein Gott, sondern auch einer
der fleissigsten Werbeideengeber des Stammtisches angesagt. Danke, Du :)
-  Ich bin nicht sicher, wie Malzmuehlen-Koelsch schmeckt, wenn
man es vorher gut schuettelt, aber das zu testen ueberlasse ich
lieber Shakedbeer, der auch da sein wird.
-  Oetti hat sich angesagt, wenn auch nur in seiner geistreichen Form,
aber das macht nix, denn er ist schliesslich der Grund des Mottos des
Stammtisches (klingt das kompliziert;)). Er bringt sogar einen Koerper
mit, wenn auch nur den eines stinkenden Koeters.
-  Wowbagger hat nachgefragt, ob denn auch kleine und unbedeutende Spieler
kommen duerfen und die Antwort ist JA. Kommen darf jeder, ueber eine
Aufhebung des Sprechverbotes wird noch zu verhandeln sein. ;)
-  Castaway verlaesst extra Ihre einsame Insel, um dabei zu
sein, wenn sich ein so grosser Haufen Mudder vergnuegt.
-  Beelzebub hat sich angesagt und das ist auch gut so. Wenn Asmodis
kommen wuerde, dann koennte man testen, wen man mit wem austreiben
kann.
-  Sushi hat es ja nicht weit aus Bonn. Ich denke auch, dass ein echtes
Stueck Sushi aus der Heimat nicht mehr so gut riechen wuerde nach
der langen Reise um die halbe Welt.
-  Mit Schrumpfi hat sich inzwischen das erste Hexchen angemeldet und ich
hoffe, dass es nicht das letzte sein wird, dass sich dazu entschliesst, im
schoenen Koeln zu erscheinen *grins Aline und C4 an*.
-  Grimmborns Anmeldung muss man einfach zitieren: "Ja, ich komm dann auch
mal. So eine Idiotengalerie kann ich mir ja nicht entgehen lassen...".
Schoen, dass er kommt, denn so sind wir komplett. ;)
-  Almdudler weiss hoffentlich, dass er in einem koelner Brauhaus fast
alles kriegen kann, nur sich selber nicht und sicher kein Alt, aber das ist
ein anderes Thema.
-  Sicherlich werde ich ein paar Schwierigkeiten haben, wenn ich dem
Koebes erklaeren muss, wieso eine Windel die Aufnahme der
Feuchtigkeit mit Bier testen will, aber sicherlich laesst er sich
ueberzeugen, dass das eine ganz neue Werbekampagne von Pampers ist.
-  Auf dem Stammtisch wird ja nur eine ganz bestimmte Biersorte
ausgeschenkt und das ist die BESTE. Es handelt sich dabei aber nicht um ein
Rootbeer, denn dann wuerde Wurzel sicher nicht kommen.
-  Verena dagegen waere sicher froh, denn nach allem, was man
ueber sie weiss, scheint sie auf Wurzeln zu stehen. :-)
-  Dolph hat sich angemeldet und koennte nach dem Reinfall mit Dancer
das letzte Mal endlich ein Frankfurter sein, der auch erscheint. Er will
auch noch ein paar Freunde ueberreden: Boebbel, Eule, Pulsar und Watz!
Fehlt eigentlich nur noch das Tigerwuerstchen aus FFM. :-)
-  Therin will den Beweis erbringen, dass Wahlbonner nicht nur
Zauberer, sondern sogar nette Menschen sein koennen. :-)
-  Inzwischen ist auch fast sichergestellt, dass es an dem Abend was zu
lachen geben wird, denn unter uns weilen wird SIE, die wilde, die
wahnwitzige, die umzaehmbare Kitzelhexe aus Bonn. (Wen mein ich nur?)
-  Wenn Ihr bei der Ankunft in Koeln ueber mehrere Erdhuegel
stolpern solltet, dann kann das daran liegen, dass sich einer der
Gaeste zu uns durchgegraben hat. Der weisse Tryfan will eben auch
kommen.
-  Aline hat lange gebraucht, bis sie sich dazu durchringen konnte, sich
anzumelden, aber sie hat es dann doch getan und so kann ich nu auch hier
ganz offiziell mit ihrer Anwesenheit protzen.
-  Das Aline nicht alleine kommt, dass kann sich sicher fast jeder denken.
Das die Begleitung aber Yanny und nicht Wargon heisst, dass wundert mich
dann aber doch schon ein wenig. :-)
-  Achakzai wird dann doch kommen, obwohl er mir eigentlich abgesagt
hatte, aber wir haben es dem guten zureden von daemonischer Seite zu
verdanken, dass uns der Genuss zuteil kommt, ihn kennenzulernen.
-  Arelion, der shakende Elf wird sich auf den Weg nach Koeln machen,
um uns alle ein wenig durchzuschuetteln.
-  Schokofee ist sicher mehr als ein verheissungsvoller Name fuer
einen Stammtischgast. Ob die Braut wirklich so naschenswert ist, dass wird
sich herausstellen. :-)
-  Lange hat sie sich im MG nur gesonnt, uns immer mit ihrem Laecheln
verwoehnt und nu kommt sie als Traeumerin zu uns zum Stammtisch, die
bezaubernde Arien.


	Wer kommt denn NICHT? Wer bleibt uns erspart?

Bis zum 13.12.1996 haben sich folgende freundlichen Wesen ABgesagt:

-  Orktoeter hat abgesagt. Er nuschelte was von Schwarzwald und Qitess und
hatte dabei einen seltsamen Blick und ein wenig Sabber zwischen den Lippen.
-  Qitess kommt auch nicht... siehe oben.
-  Yadgar, Hafis oder Prollbacke, wie er sich nannte, wird auch nicht
kommen. Zwar haben wir im versprochen, dass wir Schrumpfi nicht einreisen
lassen, aber seine Panik gegenueber dem Verfassungsschutz im MG ist zu
gross. Er mailte mir: "Ich werde nicht kommen, da ihr Mudder ein
grossenteils Haufen linker Ueberwachungsstaat-Paranoiker seid oder aber,
falls das nicht der Fall ist und ich Eure Verfassungsschutzgeschichten fuer
bare Muenze nehmen muss, muesste ich auf derartigen Treffen erst recht damit
rechnen, ins Visier zu geraten...  Mit afghanischen Gruessen   Hafis"
-  Schrumpfi wird wohl nicht kommen. Nachdem ich ihr die Absage von Hafis
geforwardet habe (ich musste es tun... sie hat mich in der Hand), meinte
sie, dass sich ja so das Kommen leider nicht lohnen wuerde. Hafis war
die einzige Zielperson, ueber die beim VS keine aktuelle Akte vorliegt.
(Hafis denk immer noch, dass er im Hirn einen Chip implantiert hat, aber
Schrumpfi gestand mir, dass der Chip in der Pelzmuetze ist.)



Yantro :-)

-----------------------------------------------------------------------------



MfG nach Koeln? (Ancalagon, 16. Dez 1996, 14:34:41):
Knuddels!
Also, ich habe da ein Problem. Da sich Silvana noch nicht entschieden hat, ob
sie am 3.1. nach Koeln faehrt, stehe ich zunaechst mal ohne Fahrgelegenheit
da. Und der Deutschen Bummelbahn moechte ich nur ungern ein heidengeld in den
rachen werfen. deshal meine Frage: Faehrt jemand zum Koelner treff und kommt
an Bielefeld vorbei UND hat noch Platz fuer einen netten, stubenreinen
Knuddeldrachen?
Ich hoffe mal....
thanx im voraus,
                                                  Ancalagon
                                           Draco knuddellensis major

-----------------------------------------------------------------------------



Demokratie in Dortmund (Aline, 16. Dez 1996, 16:07:20):
Hallo liebe Dortmunder Stammfischler,

wie schon von Hardil angekuendigt, verlege ich ganz demokratisch
den Stammtisch in diesem Monat vom 27. auf den 19.
Ja auf diese Woche Donnerstag :)
Wem das nicht passt und wer mir seine Meinung dazu sagen moechte
(als wenn die mich interessieren wuerde!), der kommt einfach am
Donnerstag ins Wallhalla. So ab 19.00 Uhr werde ich da sein.
(Ansonsten wie immer Diskussion hier in der MPA, weil es alle nicht
interessiert!)
Ach ja, zieht Euch warm an fuer den Stammtisch. Es kann naemlich
sein, dass wir uns ab ca 20.30 Uhr an den naechsten Glueschweinstand
begeben :) 

Aline

P.S. Wir hinterlassen bei der Kellnerin im Wallhalla nicht nur
unsere unbezahlten Deckel, sonderen auch einen Tip wie uns Nachzuegler
finden koennen ;)

-----------------------------------------------------------------------------



stammtisch gesucht (Flinx, 16. Dez 1996, 18:18:26):
Huhu,

Weiss irgendjemand ob in den naechsten 3 Wochen ein
Stammtisch in Muenster, Osnabrueck oder Bielefeld (oder dort in der Naehe) ist
?
Ich bin naemlich zufaellig im Land...


Flinx. Bald wieder im schoenen Muensterland daheim...

-----------------------------------------------------------------------------



Re: stammtisch gesucht (Yantro, 17. Dez 1996, 08:40:57):
~#! rn=Flinx rt=850756706
~#! tid=850756706
am 3.1 ist einer in Koeln... das ist nur 90 Minuten von Muenster mit nem guten
Auto ;)

Yantro

-----------------------------------------------------------------------------



Weg_nach_Koeln (Yantro, 17. Dez 1996, 10:17:22):

Aehmm da es sicher viele, ja gar hunderte von unentschlossenen gibt, die alle
spontan entscheiden wollen, ob sie zum legendaeren und ultimativen Stammtisch
nach koeln kommen, denk ich, dass ich die Wegbeschreibung auch hier in die
Zeitung setzen sollte.... 

Das File liegt aber auch als weg.txt im /open oder auch in meinem home, falls
es da einer geloescht haben sollte... 


Halloele meine lieben Freunde, 

danke erstmal, dass Ihr Euch angemeldet habt, denn damit war es 
fuer mich und den Wirt einfacher, ein wenig zu planen, mit welchen 
Massstaeben nun zu rechnen sei. Sicherlich habt Ihr Euch schon 
gefragt, wie Ihr den Weg nach Koeln und vor allem in die Malzmuehle 
finden sollt. Leider ist das nicht so einfach wie das letzte Mal in 
Koeln, denn das Brauhaus zur Malzmuehle befindet sich mitten in der 
Innenstadt und vor allem die Autofahrer unter Euch werden ein wenig 
experimentieren muessen.....

Vielleicht erstmal die Adresse, denn danach koennt ihr in Koeln 
eigentlich fast jeden fragen. Der Heumarkt ist einer der zentralen 
Plaetze in Koeln und jeder kennt ihn eigentlich und vor allem einen Weg
dahin. Das Brauhaus selber ist direkt an dem Platz und eigentlich nicht 
zu uebersehen, wenn man auf der richtigen Seite der Strassenbahnhaltestelle
ist. Direkt schraeg neben dem Brauhaus ist das Maritim und auch das sollte 
in Koeln bekannt sein, zumindest bei jedem Taxifahrer.

Der Stammtisch ist also am 

                    3. Januar 1997 ab 18 Uhr
                    
in der               Brauerei zur Malzmuehle  
                            Heumarkt 6 (Suedseite vom Heumarkt)
                           50667  Koeln         
                         Tel.:0221/210117


Strassenbahn:
=============

Der Heumarkt ist eine der zentralen Stationen in Koeln. Die Bahnen der 
Linien 1, 7 und 9 fahren dort und es ist auf dieser Rheinseite die Station 
direkt vor der Deutzer Bruecke, wenn man also von der anderen Rheinseite
(da, wo NICHT der Dom steht) ankommt, dann ist es direkt die erste Station
nach der Bruecke. Diese Art der Anreise ist eigentlich DRINGEND zu empfehlen,
weil sie einfach und sicher ist. Problem ist, dass man sicher, wenn man von 
ausserhalb kommt, hier oder da mal umsteigen muss.

Wer auf einem der Messeparkplaetze in Deutz geparkt hat, der sollte darauf 
achten, dass er in die richtigen Bahnen steigt! In Deutz fahren viele 
Strassenbahnen, aber NUR die 1, 7 und 9 fahren zum Heumarkt. Alle anderen 
nehmen andere Bruecken und ihr koenntet in BONN (waeh) landen! Denkt dann
eher daran, in Rheinnaehe zu parken und zu Fuss ueber eine der Bruecken 
zu gehen, wobei man dann auch das Panorama auf die schoenste Altstadt der 
Welt geniessen kann....


BundesBahn:
===========

Die Anreise mit der Bundesbahn ist kein Problem und sehr stressfrei. Den 
Hauptbahnhof nicht zu verpassen traue ich eigentlich jedem zu und von dort 
aus gibt es mehrere Moeglichkeiten, zum Heumarkt zu kommen.
Die einfache Moeglichkeit ist, einfach zum Rheinufer direkt am Bahnhof zu 
gehen und dann RheinAUFWAERTS zu spazieren. Hierbei empfiehlt es sich, dass 
Wasser des Rheines ein wenig zu betrachten. :) Man kommt bei dem Weg an der 
wunderschoenen Kulisse der Koelner Altstadt vorbei und kann sie bewundern, 
wenn sie nicht gerade unter Wasser stehen sollte. :) Am Bahnhof ist ja fuer 
die Bundesbahn die markante Hohenzollernbruecke mit den hohen Boegen. Schon
die naechste Bruecke rheinaufwaerts ist die Deutzer Bruecke und dort sollte 
man sich dann vom Ufer abwenden, um direkt zu Heumarkt zu kommen, der am Ende
der Bruecke lauert. Dort sollte dann auch das Maritim und das Brauhaus nicht 
mehr zu uebersehen sein. Der Fussweg von Bahnhof bis Heumarkt ist fuer den 
geuebten Fussgaenger gute 10 Minuten... wer mehr als 30 Minuten unterwegs ist,
sollte sich Gedanken machen. ;)
Die umstaendliche Methode ist, sich am Bahnhof auf den Plaenen ueber eine 
Strassenbahn zu informieren, die in Richtung Heumarkt faehrt, aber ich sags 
Euch jetzt schon: Es gibt keinen direkten Weg ohne umsteigen. Man muss erst 
zum NEUmarkt (BITTE nicht mit HEUmarkt verwechseln) fahren und da dann 
umsteigen. Makel an diesem Weg ist, dass man einen grossen Umweg durch halb
Koeln faehrt und in der Regel doppelt so lange unterwegs ist, als es zu Fuss
gedauert haette.


Auto:
=====

Hmmm Innenstadt und Auto :) Ich laester besser nicht, aber ich denke, dass
es nicht ratsam ist, direkt bis zum Heumarkt vorzudringen, denn dort gibt es
mit Sicherheit keine Parkplaetze und wenn, dann teuer. Mutige koennen es 
natuerlich versuchen. Es gibt wohl auch unter dem Maritim ein Parkhaus, aber 
ueber die Preise da will ich mich nicht aeussern.
Generell brauch ich eigentlich keine genaue Beschreibung abgeben, denn zum 
einen ist der Heumarkt direkt am RHEIN, an der DEUTZER BRUECKE und das in der 
INNENSTADT, was auch gerne CENTRUM genannt wird. Irgendwas davon steht immer
auf dem einen oder anderen Strassenschild und eines muss man Koeln lassen: Es
ist GUT beschildert. Ausserdem gibt es in Koeln sehr viele EPC (eingeborene
player characters), die sich auskennen und immer fuer einen Rat da sind. 
Merken muss man sich nur folgende grundlegende Tatsache: Der Heumarkt ist 
auf der SELBEN RHEINSEITE WIE DER DOM!!! Das heisst, wenn ihr auf der anderen 
Seite landet, dann muesst ihr wieder zurueck, aber das muss nicht falsch sein
(siehe unten!).


Parktips:
=========

Zum einen kann man natuerlich rund um die Universitaet in Koeln gratis parken, 
ABER das ist MEHRER KM weg von der Innenstadt und sollte nur genutzt werden, 
wenn man dann mit der Bahn in die Innenstadt will und wenn man festgestellt hat, 
dass auch spaet nachts wieder einen Bahn dahin zurueck fahren wird !!!

In der Innenstadt selber ist auf der Rheinseite des Doms eigentlich nicht an ein 
parken zu denken, denn es wird Wochenende sein und da ist meist alles voll. 
Sicher gibt es in Koeln auch in den Innenstadt ein Parkleitsystem und auch am 
Heumarkt ein Parkhaus, aber das kostet viele viele Muenzen.              

Ausnahme ist hier sicher das Parkhaus direkt UNTER (ja, da ist eins ;)) dem 
Dom! Hier kann man gut parken und es ist eines der Parkhaeuser, die sicher 
NIE zu verfehlen ist. Man muss einfach immer nur in Richtung Bahnhof fahren.
Von da geht man dann am sichersten am Dom vorbei Richtung Rheinufer und dort 
geht es weiter, wie oben schon beim Weg vom Bahnhof aus beschrieben. Ich halte 
das eigentlich fuer eine Elfensichere Variante, zum Stammtisch zu kommen.

Einer der besten Tips ist die ANDERE Rheinseite. Dann muss man zwar mit ner 
Bahn oder zu Fuss ueber eine Bruecken (am Besten die DEUTZER BRUECKE), aber 
auch direkt am Rhein gibt es "drueben" freie Parkplaetz im Hafengelaende. 
Ausserdem sollten ein Teil der Messeparkplaetze geoeffnet und kostenlos 
nutzbar sein. Die Messe ist auf dieser "falschen" Rheinseite und von ueberall
in Koeln beschildert. An der Messe fahren auch die Strassenbahnen der 1, 7 
und 9, die man nutzen kann, um zum Heumarkt zu kommen. SIEHE AUCH IM 
KAPITEL "Strassenbahnen" !!!!


Also, keine Panik, wenn ihr was nicht findet. Der Heumarkt ist ueberall 
bekannt und man kann alle fragen. Man kann ihn eigentlich auch nicht verfehlen,
wenn man sich Richtung Innenstadt und Rhein haelt. Direkt parken da ist schwer
und eine Suche meist vergebens... geht lieber 10 Minuten zu Fuss... 

Ich denke, dass das reichen sollte und das sich keiner verlaufen wird. Wenn 
doch, dann einfach in der Malzmuehle anrufen und die erklaeren zur Not selber
wie man sie findet oder ich komm ans Telefon ;). 

Yantro (Marc)

-----------------------------------------------------------------------------



Stammtisch Muenster (Wargon, 17. Dez 1996, 10:55:13):
  Hi!
Aufgrund der unguenstigen Haeufung von Feiertagen fallen die Muensteraner
Stammtische am 24.12 und 31.12 aus.
Wer also in diesem Jahr noch einen Stammtisch in Muenster erleben will, hat
nur noch HEUTE (17.12.) die Gelegenheit!
Wie ueblich ab 20.00 im Tribunal (an der Kreuzkirche, Hoyastrasse, Ecke
Kampstrasse).
  Wargon

-----------------------------------------------------------------------------



Re: Weg_nach_Koeln (Sunflower, 17. Dez 1996, 11:27:39):
~#! rn=Yantro rt=850814242
~#! tid=850814242
also bei 28% wusste ich noch wies langgeht, dann bei den endlosen
wiederholungen habe ich den Faden verloren (es war ein gruener). Also man
kommt an geht nicht ueber die Deutzer Bruecke, bekommt keine 4000 muenzen,
landet dann 10 Minuten vorm Gefaengnis, um dann eine 1 zu wuerfeln um die 7
Felder zur Schlossallee hinter sich zubekommen um zu merken das man nach 9 im
Parkhaus am Neumarkt steht, oder wie ?

Sunflower gruebelnd.

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re: Demokratie in Dortmund (Pampers, 17. Dez 1996, 14:38:36):
~#! rn=Aline rt=850748840
~#! tid=850748840
Eine gute Nachricht!

Ich komme nicht.
Also: Freie Bahn fuer alle, die einen Pampersfreien Stammtisch wollen.

Pampers. Hat leider anderswo Verpflichtungen. Ist aber nicht so schlimm, da
gibts auch Bier.

-----------------------------------------------------------------------------



Re: Stammtisch Muenster (Mupfel, 17. Dez 1996, 18:07:29):
~#! rn=Wargon rt=850816513
~#! tid=850816513

Alos der am 31.12. faellt doch eher aus Vorsichtsgruenden aus, schaetze ich
mal... :-) 

-mupfel- (sieht Catty im Geiste ne Zuendschnur anzuenden.... :-)

-----------------------------------------------------------------------------



Wegbeschreibung (Yantro, 18. Dez 1996, 07:55:46):

Wer von den angemeldeten immer noch eine Wegbeschreibung braucht, der hat
folgende Moeglichkeiten:

- mail an mich
- per ftp weg.txt im /open ziehen
- sich weg.txt aus meinem home kopieren lassen...

Yantro

-----------------------------------------------------------------------------



Re: Re: Weg_nach_Koeln (Qitess, 18. Dez 1996, 11:55:59):
~#! rn=Sunflower rt=850818459
~#! tid=850814242

auch oder gerade trotzdem du mich ignorierst, sunflower... etc ...

der artikel is cool :)

qi hat nur ... zwei oder drei auf der ignoriere liste...
+

-----------------------------------------------------------------------------



Re^3: Weg_nach_Koeln (Sunflower, 18. Dez 1996, 11:58:26):
~#! rn=Qitess rt=850906559 rg=treffen
~#! tid=850814242
na es musste mal sein (verzeih mir yantro engelchen), zumal der Artikel
ellenlang war und fast jede Zeile identisch zur vorhergehenden war ;(
und so ein ding lag dann auch noch im Postfach.

Man kanns uebertreiben ;) Aber Yantro mit seinem Artikel ? (gibts noch
ne steigerung fuer uebertreiben ?)

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^4: Weg_nach_Koeln (Yantro, 18. Dez 1996, 12:13:56):
~#! rn=Sunflower rt=850906706 rg=treffen
~#! tid=850814242

Die lange Wegbeschreibung ist dafuer da, dass man sie sich ausdrucken kann und
sich dann die Teile raussucht, die man braucht.... letztes Jahr haben sich bei
einer kurzen beschreibung Leute verfahren und damals war es eigentlich
einfacher zu finden....

Yantro, der auch will, dass alle ankommen

-----------------------------------------------------------------------------



Re^5: Weg_nach_Koeln (Wurzel, 18. Dez 1996, 19:44:02):
~#! rn=Yantro rt=850907636 rg=treffen
~#! tid=850814242
hm, soo schwierig isses doch gar nicht... malzmuehle in koeln reicht :)
wenn nicht, der taxifahrer weiss schon wo das ist :)

-----------------------------------------------------------------------------



Koeln und mudden (Yantro, 23. Dez 1996, 17:15:05):

Jaja.. da der Toeter auch kommt und der Meinung ist, dass das eigentlich eine
Pflichtveranstaltung ist, wird das MG am 3.1.97 ab 1700 bis zum naechsten
Morgen runtergefahren... 

:-)

-----------------------------------------------------------------------------



Re: Koeln und mudden (Sushi, 24. Dez 1996, 01:34:59):
~#! rn=Yantro rt=851357705 rg=treffen
~#! tid=851357705
Wie waere es, wenn wir einfach Dich runterfahren? Z.B. in die Sahara... Da
kannst Du dann mit snail-mail in die MPA posten.

Sushi - den Stecker fuer Yantros flash-rom suchend...

P.S. Merry Xmas and stuff...

-----------------------------------------------------------------------------



Re: Re: Koeln und mudden (Schrumpfi, 26. Dez 1996, 05:38:27):
~#! rn=Sushi rt=851387699 rg=treffen
~#! tid=851357705
Aehm, wehe ihr faehrt das Mud runter! Soll ich denn hier am Arsch der Welt
machen?
Schrumpfi ist entsetzt

-----------------------------------------------------------------------------



Re^3: Koeln und mudden (Fyt, 26. Dez 1996, 14:50:32):
~#! rn=Schrumpfi rt=851575107 rg=treffen
~#! tid=851357705
Du sollst.

Fyt.

-----------------------------------------------------------------------------



Re^3: Koeln und mudden (Asmodis, 28. Dez 1996, 17:24:22):
~#! rn=Schrumpfi rt=851575107 rg=treffen
~#! tid=851357705
Im PK-MUD mudden ?

-----------------------------------------------------------------------------



Re^5:    *S*T*A*T*I*    (Sunflower, 27. Jan 1997, 12:57:02):
~#! rn=Qitess rt=854366029 rg=treffen
~#! tid=854365171
ich habe heute gar keine roten sachen an, nur ein rotes Basecap.
Was hat ein Stammtisch mit meiner politischen Gesinnung zu tun ? Ich
dachte wir haetten Meinungsfreiheit.

Frieden ? was ist das ? Es wird nie Frieden geben. Weil immer irgendwelche
Laender sich bekriegen muessen. Sei es um Oel, wegen Ihren Glauben oder was
weiss ich.

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Stammtisch in DO (Ringor, 27. Jan 1997, 15:00:34):
Eine kleine Erinnerung fuer alle die, die den Artikel von vor einer Woche
schon wieder vergessen haben: :-)

Jetzt Freitag, den 31.01.1997 findet wie immer ab 20:00 Uhr und ebenfalls wie
immer im Walhalla der beruehmt-beruechtigte Dortmunder Stammtisch statt.
Diskussionen ueber Freitage als Termin im allgemeinen und diesen Freitag ganz
speziell sowie Aufzaehlen der zu erwartenden Leute und sonstige Diskussionen
wie immer hier in der Rubrik.

Ringor - 1

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Sidolin, 27. Jan 1997, 15:01:03):
~#! rn=Ringor rt=854373634 rg=treffen
~#! tid=854373634
Ich komme nicht. :-)

Sidolin. - immer noch 1

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Hardil, 27. Jan 1997, 15:34:45):
~#! rn=Sidolin rt=854373663 rg=treffen
~#! tid=854373634

He Gul, ich hab ein neues MAGIC-Deck. hast Lust?

-Hardil.

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Paracelsus, 28. Jan 1997, 09:18:54):
~#! rn=Hardil rt=854375685 rg=treffen
~#! tid=854373634
Paracelsus denkt . o O ( 2 )

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 28. Jan 1997, 10:30:02):

Aehaem, ich habe da wohl noch was nachzutragen : 

'sich dem Status als MorgenGrauenBewohner angemessen zu kleiden' heisst nicht,
dass man sich als Kater, als Teddy oder als Qitess verkleiden soll. (Btw - wie
verkleidet man sich als Qitess??? :) ) Man soll sich also morgengrauenmaessig
anziehen, sprich zB einen Steinpanzer, eine Lederhose und Ledermokassins
tragen. (Waffen duerfen in diesem Fall weggelassen werden, sie werden dort
naemlich nicht benoetigt.) Also, wenn Ihr verkleidet kommt, dann bitte ... ja
genau: mittelalterlich-phantastisch. :) ich hoffe, dass habt ihr verstanden.
:)

QI** freut sich schon auf euer zahlreiches Erscheinen :)=


-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Asmodis, 28. Jan 1997, 11:26:38):
~#! rn=Qitess rt=854443802 rg=treffen
~#! tid=854443802
Wo kriegt man einen Steinpanzer her ? :)

-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 11:38:42):
~#! rn=Asmodis rt=854447198 rg=treffen
~#! tid=854443802
Ja und wer kommt den nun in der *S*T*A*S*I* Uniform ?

oder macht das dann der Wirt ?

Wie ging man ueberhaupt im Mittelalter ? ich kann mich so schlecht daran
erinnern, liegt wohl am Alzheimer, war das nicht die Zeit wo man Frauen
verbrannte ?

Sunflower gruebelnd

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^3:    *S*T*A*T*I*    (Asmodis, 28. Jan 1997, 12:22:28):
~#! rn=Sunflower rt=854447922 rg=treffen
~#! tid=854443802
Au ja, macht schon mal nen Scheiterhaufen fuer Sunflower :)

-----------------------------------------------------------------------------



Re^4:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 12:23:15):
~#! rn=Asmodis rt=854450548 rg=treffen
~#! tid=854443802
auja verbrennt mich, dann komm ich in die Hoelle und kann fuer immer bei
Asmodis sein :-)

dasch wird aber luschtisch :)

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^5:    *S*T*A*T*I*    (Asmodis, 28. Jan 1997, 12:24:54):
~#! rn=Sunflower rt=854450595 rg=treffen
~#! tid=854443802
Noe, du faellst bei der Vorauswahl durch und musst zu den Typen da oben :)

-----------------------------------------------------------------------------



Re^6:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 12:26:30):
~#! rn=Asmodis rt=854450694 rg=treffen
~#! tid=854443802
Aber nicht doch :) Ich bin doch das Abgrundtief Boese, der Typ da oben
will mich doch nicht (Geld gen Himmel streck, Eine Hand nimmt das Geld, Stimme
aus dem Off: Sie gehoert Dir Asmodis)

Na siehst du , der dort oben schickt mich zu Dir
(empfehlungsschreiben an Asmodis gib)

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^4:    *S*T*A*T*I*    (Qitess, 28. Jan 1997, 13:22:10):
~#! rn=Asmodis rt=854450548 rg=treffen
~#! tid=854443802
ich zerhacke die waelder nordamerikas dafuer. unentgeltlich und freiwillig.


-----------------------------------------------------------------------------



Re^5:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 13:24:15):
~#! rn=Qitess rt=854454130 rg=treffen
~#! tid=854443802
Aber Aber, 
denk an die vielen Tiere, die da ohne Heim dastehen, denk an unser Klima,
denk an die wenigen Leute die sich in den Waeldern zurueckgezogen haben um
in ruhe zu leben und denk an Bigfoot.


                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^6:    *S*T*A*T*I*    (Qitess, 28. Jan 1997, 13:25:43):
~#! rn=Sunflower rt=854454255 rg=treffen
~#! tid=854443802
ich denke durchaus an die vielen tiere und den uebrigen kram, den du
auffuehrst.  EBEN GERADE DESHALB JA !


-----------------------------------------------------------------------------



Re^7:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 13:26:53):
~#! rn=Qitess rt=854454343 rg=treffen
~#! tid=854443802
Soll das heissen du opferst Tiere, Baeume und den anderen kram nur um
mich gluecklich zu machen ?

Sunflower weint vor Freude.

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^8:    *S*T*A*T*I*    (Qitess, 28. Jan 1997, 13:27:25):
~#! rn=Sunflower rt=854454413 rg=treffen
~#! tid=854443802
QI** muss jetzt kotzen.


-----------------------------------------------------------------------------



Re^9:    *S*T*A*T*I*    (Sunflower, 28. Jan 1997, 13:29:52):
~#! rn=Qitess rt=854454445 rg=treffen
~#! tid=854443802
Sunflower deutet wichtig auf das Schild: 
                            Kotzen verboten
        Bei zuwiderhandlungen ist mit einer Strafe von 20 Stunden
        online talk mit Sunflower zu rechnen. 
                                   Irgendwas von Irgendwo

                    --=== bluemchen ===--

-----------------------------------------------------------------------------



Re^8:    *S*T*A*T*I*    (Mango, 28. Jan 1997, 13:30:23):
~#! rn=Sunflower rt=854454413 rg=treffen
~#! tid=854443802


Tut das Not das ihr Euch hier in der rubrik so behaemmert vollscheisst?


Mango, extrem genervt.


-----------------------------------------------------------------------------



Scheiterhaufen (Magnus, 28. Jan 1997, 13:46:47):
Hexen hat man erst in derNeuzeit verbrannt. .


-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*    (Mupfel, 28. Jan 1997, 16:12:39):
~#! rn=Asmodis rt=854447198 rg=treffen
~#! tid=854443802
Kill nen Steintroll :-)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Ronda, 28. Jan 1997, 16:24:47):
~#! rn=Paracelsus rt=854439534 rg=treffen
~#! tid=854373634
Hmmmm, vielleicht koennt ichs schaffen, auf dem Rueckweg nach Paderborn bei
Euch vorbeizuschauen... koenntet Ihr mir ne etwas bessere Anleitung mailen,
wie ich da hinkomme?

     Ronda
... denkt mit Freude an Locos Beschreibung von Tuebingen... naja... verfahren
hab ich mich trotzdem =;)

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO (Bloodyharry, 28. Jan 1997, 16:38:02):
~#! rn=Ronda rt=854465087 rg=treffen
~#! tid=854373634
Das Walhalla ist ungefaehr, ziemlich genau, in etwa in der Stadtmitte. Mit der
dortmunder Metro isses Haltestelle Kampstrasse. Mittem Auto .... muss ich auch
immer wieder suchen. :}

bh- hofft, jemand kann den Weg noch etwas genauer beschreiben.

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Guldukat, 28. Jan 1997, 20:47:15):
~#! rn=Hardil rt=854375685 rg=treffen
~#! tid=854373634

Was ist Magic?
GD

-----------------------------------------------------------------------------



Re^3:    *S*T*A*T*I*    (Asmodis, 29. Jan 1997, 02:31:11):
~#! rn=Mupfel rt=854464359 rg=treffen
~#! tid=854443802
Wo gibts in RL Steintrolle ? 

-----------------------------------------------------------------------------



Trolle : hier ! (Flinx, 29. Jan 1997, 17:40:07):
Trolle gibts hier jede Menge. Meistens Gross, Glatzkoepfig und
Springerstiefeltragend.
Ausserdem treten sie meist in Rudeln auf.

Flinx, nach der letzten troll-Begegnung mit Kieferschiene und gesplitterten
Zaehnen.

-----------------------------------------------------------------------------



Re: Trolle : hier ! (Kretek, 29. Jan 1997, 17:52:03):
~#! rn=Flinx rt=854556007 rg=treffen
~#! tid=854556007
... Was natuerlich nicht heissen soll, dass alle wenig-bis-nicht-behaarten
springerstiefeltragenden Wesen boese Trolle sind, oder?
Ich laufe naemlich auch oefter mal so rum... **grins**


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re: Re: Trolle : hier ! (Methedras, 29. Jan 1997, 18:13:56):
~#! rn=Kretek rt=854556723 rg=treffen
~#! tid=854556007
Stimmt, KreteK ist eher dick als boes... aber Rest passt durchaus.

      Der letzte Berg Methedras

-----------------------------------------------------------------------------



Re^3: Trolle : hier ! (Wurzel, 29. Jan 1997, 18:42:16):
~#! rn=Methedras rt=854558036 rg=treffen
~#! tid=854556007
es gibt einen unterschied zwische freiwilligen und unfreiwilligen glatzen...
zu welcher kategorie jemand gehoert, kann man allerdings meistens recht
schnell herausfinden.

wurzel hat keine glatze :)

-----------------------------------------------------------------------------



Re^4: Trolle : hier ! (Qitess, 29. Jan 1997, 18:43:34):
~#! rn=Wurzel rt=854559736 rg=treffen
~#! tid=854556007
und nicht jeder, der eine freiwillige glatze hat ist ein nazi.

QI** ist weder noch


-----------------------------------------------------------------------------



Re: Re: Trolle : hier ! (Sidolin, 30. Jan 1997, 10:58:21):
~#! rn=Kretek rt=854556723 rg=treffen
~#! tid=854556007
Ich auch. :-)
Aber dass ich eine bezaubernde Waldfee bin und kein Troll, sollte doch einigen
bekannt sein. :-)

Sidolin. Hat eine SEHR lange Stirn. :-)

-----------------------------------------------------------------------------



   *S*T*A*T*I* (Qitess, 30. Jan 1997, 11:00:33):
also : an alle braunschweiger muddies, die einen brief bekommen haben und an
alle sonstigen muddies, die vielleicht zu unserem stati kommen wollen :

BITTE SCHICKT MIR EINE MAIL !!! 

braunschweiger bitte positiven oder negativen inhalts,

alle anderen muddies bitte nur, wenn sie kommen wollen :)

bis denne

QI**

P.S.: nochmal ebent der termin :
      freitag, 7.2. , im viertel nach im bueltenweg, um 20 uhr
      nach moeglichkeit verkleidet (mittelalterlich phantastisch, 
       halt wie im MG)


-----------------------------------------------------------------------------



S*T*A*T*I in Dresden ! (Ivo, 30. Jan 1997, 11:03:47):
Hallo Leute !
Wen es interessiert, heute am Donnerstag findet in Dresden der Stammtisch
statt !
Ort : Aquarium  (St. Petersburger-Strasse)
Zeit : 21.00 Uhr
Ghorwin hat es leider nicht geschafft es allen zu mailen, also teile ich es
Euch auf diesem Weg mit.

Wir sehen uns !

Ivo

-----------------------------------------------------------------------------



Re: S*T*A*T*I in Dresden ! (Qitess, 30. Jan 1997, 12:13:59):
~#! rn=Ivo rt=854618627 rg=treffen
~#! tid=854618627

auf saemtliche gleiche oder aehnliche formen von *S*T*A*T*I* besteht ein
rechtsanspruch oder so... jedenfalls gilt dieses zeichen nur fuer den
braunschweiger stammtisch wollt ich nur nochmal sagen. 

QI is naemlich schrecklich blind und man muss gerade DIE zwei stammtische
auseinanderhalten koennen.


-----------------------------------------------------------------------------



Re^3: Trolle : hier ! (Asmodis, 30. Jan 1997, 17:24:41):
~#! rn=Sidolin rt=854618301 rg=treffen
~#! tid=854556007
Ich dachte, mit dir putzt man Fenster ? :)

-----------------------------------------------------------------------------



Stammtisch in Frankfurt! (Boebbel, 30. Jan 1997, 22:59:48):
        ___________________________________
       /                                  /|
      /----------------------------------/ |
      |                3.               |  |
      |     +---------------------+     |  |
      |     | S T A M M T I S C H |     |  |
      |     +---------------------+     |  |
      |               in                |  |
      |            Frankfurt            |  |
      |                                 |  |
      |           am 07.02.97           |  |
      |           um 20:00 Uhr          |  |
      |                                 |  |
      |               im                |  |
      |         Domenicus-Keller        |  |
      |         ================        |  |
      |                                 |  |
      |          Mainstrasse 11         | /
      |_________________________________|/

Traut Euch zu kommen, es wird wie immer lustig... :-)
Ein Boebbel...

-----------------------------------------------------------------------------



Re: Stammtisch in Frankfurt! (Wurzel, 30. Jan 1997, 23:07:10):
~#! rn=Boebbel rt=854661588 rg=treffen
~#! tid=854661588
>Traut Euch zu kommen, es wird wie immer lustig... :-)

wird es bestimmt. wer sich schon immer mal bei mir beschweren wollte und die
gelegenheit in koeln verpasst hat, kann dort so richtig auftrumpfen :)

wurzel


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Frankfurt! (Boebbel, 30. Jan 1997, 23:10:09):
~#! rn=Wurzel rt=854662030 rg=treffen
~#! tid=854661588

Und vor allen Dingen wird man um 23:00 Uhr nicht rausgeworfen... :-))

Ein Boebbel... (sitzt um 2 Uhr noch da)

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO (Marita, 31. Jan 1997, 00:52:55):
~#! rn=Bloodyharry rt=854465882 rg=treffen
~#! tid=854373634
Auto? Eigentlich ganz einfach: In Bahnhofsnaehe parken. Dann vom Hauptausgang
des Bahnhofs aus ueber die Strasse, geradeaus die Treppe hoch und hinter der
Sparkasse links ab. Das Walhalla liegt dann nach ca. 100 m auf der linken
Seite. Na, ist das ein Service? :-)

Maridda, nicht kommen koennend und trotzdem das Partizip gebrauchend

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Hardil, 31. Jan 1997, 08:31:55):
~#! rn=Marita rt=854668375 rg=treffen
~#! tid=854373634

Achja, die Strasse vom Bahnhof, bzw vom Ring aus, heisst 'Freistuhl'. Und wer
vom Ring kommt, immer dran denken, *im Uhrzeigersinn(* um den Ring und nach
der grossen Baustelle an der Ampel abbiegen, gegenueber vom HBF. Wer gegen den
Uhrzeigersinn faehrt, hat Probleme wegen der Verkehrsfuehrung.

Bis dann!


-----------------------------------------------------------------------------



Franken rules! (Dauergast, 31. Jan 1997, 09:35:45):

So, es ist wieder soweit:

Der Februar draeut heran, damit der 1. Donnerstach darin, und damit 
wird es Zeit fuer's monatliche

     Geiern   in Erlangen !!

  Treff:  Donnerstach, 6. Februar 1997, so ab 19 Uhr

         im Pleitegeier in Erlangen, am Martin-Luther-Platz

     (die angekuendigten Gaeste aus Bayreuth bitte mit Schlips in Kontakt
bleiben)

   Da es diesmal wohl etwas voller werden koennte -wir werden noch
   zum Klassiker!- waere Tischreservierung erforderlich ...und dazu
   ein DO-likes Abzaehlen via MUDMAIL an mich ...

>Ich mach dann die Reservierung am Montag oder Dienstag klar, wenn abzusehen
ist, mit wievielen Leuten zu rechnen ist!

CU, und keiner drueckt sich, kapiert?? 

Dauergast

-----------------------------------------------------------------------------



Re^5: Trolle : hier ! (Beelzebub, 31. Jan 1997, 14:03:53):
~#! rn=Qitess rt=854559814 rg=treffen
~#! tid=854556007
Alles Quatsch, seit Lindenstrasse weiss doch jeder dass auch langhaarige
Bombenleger Nazis sind (war nun Benni oder Klausi das bloede Blag - verwechsel
ich immer...) 
Beelze

-----------------------------------------------------------------------------



Re^6: Trolle : hier ! (Acrimon, 31. Jan 1997, 14:14:11):
~#! rn=Beelzebub rt=854715833 rg=treffen
~#! tid=854556007
Gibt es denn einen Unterschied zwischen "linken" und "rechten" Bombenlegern?
Beide benehmen sich genauso daneben.

Acrimon, der Rote Ritter mag keine Bomben.

-----------------------------------------------------------------------------



Infos ueber Karlsruhe? (Aramos,  2. Feb 1997, 11:25:13):
Falls irgendjemand von euch noch Infos ueber Karlsruhe an sich
(nicht das Treffen) haben will und WWW kein Fremdwort ist, kann
er sich mal folgende URL anschauen, die scheint mir recht gut
gelungen zu sein:

http://www-etu.wiwi.uni-karlsruhe.de/marktplatz/ka/index.html

Bis zum Treffen - ich freu mich drauf!

Aramos, der Seher ohne Ahnung :)


-----------------------------------------------------------------------------



RuDeLmUdDeN iN bOnN (Pra,  3. Feb 1997, 15:08:21):
moin Chaoten und anderes Gesocks!

's is' mal wieder soweit: 

Am morgigen Dienstag, 4. Feb., wird wieder gerudelt. Wie immer in der
Baracke des Rechenzentrums, Wegelerstr. 4, Bonn.
Ab abends, Getraenke etc. ist mitzubringen, Pizza wird gegen 21 Uhr bestellt.

Immer noch Fragen? Bei Wuqour, ihr nervt! Dann fragt doch! Aber bitte nicht
nur mich, sondern auch Zephyr!

Also in diesem oder aehnlichem Sinne (Pra).

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  3. Feb 1997, 17:17:30):


hallo kinners ... 

wenn ihr zum *S*T*A*T*I* am 7.2. in braunschweig um 20 uhr im viertel nach im
bueltenweg und zwar nach moeglichkeit (aber nicht zwingend) verkleidet kommen
wollt, so moeget ihr mir dies bitte mal mud-mailen, ja ? waere SEHR nett.
bisher haben sich naemlich nur zwei leute schriftlich angemeldet.

QI**

        weiss immer noch nicht, wieviele leute kommen werden


-----------------------------------------------------------------------------



Kurze Erinnerung! :) (Ancalagon,  3. Feb 1997, 17:47:28):
Knuddels!
Mg-Treff in Bielefeld am MI, 5.2.97
Wann: ca 19.30
Wo: Cafe Mint, Heeper Str.

Kommet zuhauf!!

Vorfreudig,
                                        Ancalagon
                                 Draco knuddellensis major

-----------------------------------------------------------------------------



Stammtisch in Frankfurt (Dolph,  4. Feb 1997, 17:26:14):
An alle Stammtischler aus Frankfurt und Umgebung.

Ihr braucht euch erst am Samstag eine Pappnase und ein Kostuem kaufen.

Der Stammtisch am Freitag findet unter Auschluss aller Narren im Domenicus-
Keller statt. Somit duerften auch die letzten Aengste der Faschingsmuffel 
behoben worden sein.
Wir koennen dort in einer gemuetlichen Runde etwas trinken und erzaehlen, 
was zu erzaehlen ist.
Um 2.00 Uhr kommt dann der spannende Augenblick ob Boebbel sich erhebt
oder ob er doch noch ein kleines Bierchen trinkt.

Dolph freut sich riesig auf den Stammtisch

-----------------------------------------------------------------------------



Erlanger Stammtisch (Schlips,  4. Feb 1997, 20:35:59):

Hi Frankniks,

damit der Stammtisch keine Pleite wird hab ich jetzt grad mal 15 Plaetze
reservieren lassen. Die Reservierung lautet auf 'MUD-Stammtisch' so dass
es eigentlich jeder finden muesste.

Zur Erinnerung nochmal, der Stammtisch ist am:

    Donnerstag, 6. Febr. ab 19 Uhr im Pleitegeier (Erlangen)

wer jetzt noch nicht weiss wo das ist hat ja noch Gelegenheit sich bei
Dauergast oder mir danach zu erkundigen.

Schlips vertritt Dauergast (im Freizeitstress)

-----------------------------------------------------------------------------



W A R N U N G !!! (Willow,  6. Feb 1997, 23:46:00):
Aeh, wie von gut unterichteten Greisen zu erfahren war, wird Willow wohl am
7.2. beim Stammtisch in Braunschweig auflaufen.
Also aufgepasst - wer dort erscheint koennte einer lebenden Weide begegnen!

                   Weidchen Willow

PS: die Wahrscheinlichkeit des Erscheinens liegt bei ca. 95 % ;-)

-----------------------------------------------------------------------------



Re: W A R N U N G !!! (Acrimon,  8. Feb 1997, 16:08:57):
~#! rn=Willow rt=855269160 rg=treffen
~#! tid=855269160
Willst du damit behaupten, die anderen Weiden (die mit den Wurzeln und dem
Stamm und den Aesten und Blaettern) wuerden nicht leben?

Acrimon, der Rote Ritter wundert sich doch sehr.

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO (Hardil, 11. Feb 1997, 11:57:01):
~#! rn=Hardil rt=854695915 rg=treffen
~#! tid=854373634

Alter Thread, neuer Stammtisch.

Freitag, den 28.Februar?

Aline hat beantragt, den Stammtisch auf Dienstag zu verlegen, weil dann
Doofmudder und HagenerInnen endlich wieder unter sich sind. Diese Invasion von
Bielefeldern, Bochumern und Osnabrueckern letztesmal... :-)

Start replying now.

-Hardil.

-----------------------------------------------------------------------------



Re^9: Stammtisch in DO (Wargon, 11. Feb 1997, 13:26:20):
~#! rn=Hardil rt=855658621 rg=treffen
~#! tid=854373634
Gut, dann brauch ich am 28. ja doch nicht nach DO :)
  Wargon

-----------------------------------------------------------------------------



Re^10: Stammtisch in DO (Hardil,  3. Mar 1997, 10:03:31):
~#! rn=Wargon rt=855663980 rg=treffen
~#! tid=854373634

Da der naechste regulaere Stammtisch auf Karfreitag fallen wuerde, und jetzt
ah Ferien sind, gibt es (laut Absprache auf dem letzten Stammtisch) jetzt
einen
unregelmaessigen mal wieder.
Und zwar am

Freitag, 14.03.97, 20 Uhr im KRAFTSTOFF (Rheinische Strasse)

Ja, wir haben das Lokal gewechselt, weil sie uns am Freitag aus dem Walhalla
geworfen haben (und weder Leusel, Pampers noch ich waren schuld), und im
Kraftstoff war genug Platz und es hat uns gefallen.



Start replying now.

-----------------------------------------------------------------------------



Re^11: Stammtisch in DO (Silvana,  3. Mar 1997, 10:04:58):
~#! rn=Hardil rt=857379811 rg=treffen
~#! tid=854373634
Ich will mal hoffen, dazu gibt es noch rechtzeitig vorher 
ne brauchbare Wegbeschreibung...


  Silvana 

-----------------------------------------------------------------------------



Der Pleitegeier ruft! (Highlander,  3. Mar 1997, 10:10:01):
Nein, nicht was ihr gleich wieder denkt :>
Nicht ich rufe, sondern der Pleitegeier, die Stammtischkneipe in Erlangen.
Am Donnerstag dem 6. 3. (muesste der 6. sein - halt am ersten Do im Monat)
ist wieder Stammtischzeit im Pleitegeier in Erlangen. Zeit 1900.
Wegbeschreibung gibt's auf Anfrage, ich will Platz in der mpa sparen :>
   HrT (wenn wer von ausserhalb kommt, bitte Bescheid geben)

-----------------------------------------------------------------------------



Re^12: Stammtisch in DO (Hardil,  3. Mar 1997, 11:48:36):
~#! rn=Silvana rt=857379898 rg=treffen
~#! tid=854373634

Hmmtja.
Der Weg anfuersich ist ganz einfach: vor dem Walhalla parken und etwa 800
Meter nach Westen gehen.
Und dann ist das Kraftstoff auf der anderen Strassenseite. Orientieren kann
man sich auch am grossen U, das den Nachthimmel Dortmunds erleuchtet. ->
Walhalla -> U -> Strasse ueberqueeren -> noch ein paar MEter weiter.

Alinchen und ich sind allerdings uebereingekommen, dass wir beide mit eienr
Verschiebung aufMontag, den 17.03. auch nicht ungluecklich waeren.

Any comments?

-Hardil.

-----------------------------------------------------------------------------



Bonn (Pra,  3. Mar 1997, 18:23:32):
Moin!

Zephyr war diktatorisch (ich zitiere):

Da der Mudrechner zur Zeit und voraussichtlich bis mindestens
Dienstag nicht ansprechbar ist, verlege ich das naechste 
Rudelmudden einfach mal ganz diktatorisch auf den folgenden
Dienstag, den 11.3., dann aber wie gewohnt ab 19.00 Uhr im
Flachbau in der Wegelerstrasse 4. Wer irgendwelche Einwaende
oder was gegen solche tyrannischen Verhaeltnisse hat, darf
natuerlich auch gern trotzdem naechsten Dienstag hier rein-
schauen :)


Pra.

-----------------------------------------------------------------------------



Re: Bonn (Fyt,  3. Mar 1997, 18:24:11):
~#! rn=Pra rt=857409812 rg=treffen
~#! tid=857409812

Ich bin dagegen. Aus Prinzip.

Fyt. Stur.

-----------------------------------------------------------------------------



Re: Re: Bonn (Pra,  3. Mar 1997, 18:25:10):
~#! rn=Fyt rt=857409851 rg=treffen
~#! tid=857409812
O.k. 

Wann kommst du morgen vorbei? Ich schliess dir auf und geh dann wieder.

Pra.

-----------------------------------------------------------------------------



Re^12: Stammtisch in DO (Mupfel,  3. Mar 1997, 19:22:11):
~#! rn=Silvana rt=857379898 rg=treffen
~#! tid=854373634
wenns nicht allzu weit weg ist vom nahnhof...
aeh bahnhof

mupfel

-----------------------------------------------------------------------------



Re^13: Stammtisch in DO (Hardil,  4. Mar 1997, 10:58:25):
~#! rn=Mupfel rt=857413331 rg=treffen
~#! tid=854373634

Zum Bahnhof aus sinds vom Kraftstoff nur ungefaehr 6-8 Minuten fuer einen
Standard-Normal-Mudder. Ich schaffs auch in 4. :-)

-Hardil. Sportlich wie immer.

-----------------------------------------------------------------------------



Re^15: Stammtisch in DO (Sidolin,  4. Mar 1997, 11:25:46):
~#! rn=Sidolin rt=857471043 rg=treffen
~#! tid=854373634
Das Kraftstoff ist genauso weit vom Bahnhof weg wie das Walhalla, aber die
Kellnerinnen sind VIEL huebscher!

Sidolin. Fuehlt sich im Kraftstoff wohler. :-)

-----------------------------------------------------------------------------



Re^11: Stammtisch in DO (Laila,  4. Mar 1997, 14:00:14):
~#! rn=Hardil rt=857379811 rg=treffen
~#! tid=854373634
Also fuer einen Stammtisch ist das KRAFTSTOFF doch wohl recht ungeeignet.
Atens sind die
Tische dort so klein, das man 5 oder 6 aneinanderstellen muss damit man mit
unserer Masse
an Leuten geschlossen dort sitzen kann und Btens ist die Musik dort nicht
unbedingt schlechter
aber auf jeden Fall lauter, was einer anstaendigen Unterhaltung recht
abtraeglich ist, wenn
man keinen Bock hat staendig rumzuschreien und auch noch von mehr als einer
Person verstanden
werden will.
Was man im Kraftstoff gut machen kann ist sich sonnvoll zu besaufen oder
heftig zu flirten,
das kann man auch an jedem anderen Tag machen.

The little Laila Baggins from Bag-End, Underhill bleibt dem Walhalla treu

-----------------------------------------------------------------------------



Re^12: Stammtisch in DO (Laila,  4. Mar 1997, 14:02:44):
~#! rn=Laila rt=857480414 rg=treffen
~#! tid=854373634
Ach ja, ich vergasse noch Ctens: Das KRAFTSTOFF ist normalerweise Freitags
nicht immer
so leer wie am letzten Stammtisch :))

The little Laila Baggins from Bag-End, Underhill bleibt dem Walhalla treu

-----------------------------------------------------------------------------



Re^12: Stammtisch in DO (Hardil,  4. Mar 1997, 14:03:04):
~#! rn=Laila rt=857480414 rg=treffen
~#! tid=854373634

Hmmmm, also ausser Dir hats wohl jedem gefallen dort, liebstes Laila. :-)
Machen wir es so: Du gehst ins Walhalla, und der Rest stammtischt im
Kraftstoff.
Dann haben alle das, was sie wollen. :-)

Naja, und was Dein 'Baggins-Baggern' betrifft: haben Pampers und ich Dir nicht
schonmal gesagt und gezeigt, wie sexy wir Dich finden? Du bekommst da glatt 2
Punkte auf der nach unten offenen Sunflower-Skala.

-Hardil. :-)

-----------------------------------------------------------------------------



Re^13: Stammtisch in DO (Wargon,  4. Mar 1997, 14:08:49):
~#! rn=Hardil rt=857480584 rg=treffen
~#! tid=854373634
Wieso rennt nicht einfach ein Dortmunder eine Woche vor dem Stammtischtermin
zum Walhalla und reserviert nen Tisch (oder zwei? oder drei?). Wenn die jetzt
eh Reservierungen vornehmen, waere das doch die einfachste Loesung. Naja,
vielleicht nicht fuer den, der immer rennen muss, aber er geniesst dafuer das
Ansehen der anderen Stammtischler :)
  Wargon

-----------------------------------------------------------------------------



Re^14: Stammtisch in DO (Hardil,  4. Mar 1997, 14:09:24):
~#! rn=Wargon rt=857480929 rg=treffen
~#! tid=854373634

*Das* waere zu einfach, Wargon. :-)

-hardil. :-)

-----------------------------------------------------------------------------



Re^15: Stammtisch in DO (Laila,  4. Mar 1997, 14:11:25):
~#! rn=Hardil rt=857480964 rg=treffen
~#! tid=854373634
Heyy, guter Vorschlag :)) Das kann man sich ueberlegen und vielleicht das
naechste Mal direkt
proggen debuggen und implementieren ;->

Laila, sucht schon man die Tele-Nummer vom Walhalla

-----------------------------------------------------------------------------



Re^13: Stammtisch in DO (Bloodyharry,  5. Mar 1997, 15:23:39):
~#! rn=Hardil rt=857386116 rg=treffen
~#! tid=854373634
> Der Weg anfuersich ist ganz einfach: vor dem Walhalla parken und etwa 800
                                       ^^^^^^^^^^^^^^^^^^^^^^^
Hmm, falsche Rubrik?  --> Witze :|

bh

-----------------------------------------------------------------------------



Re^12: Stammtisch in DO (Bloodyharry,  5. Mar 1997, 15:53:17):
~#! rn=Laila rt=857480414 rg=treffen
~#! tid=854373634
> und Btens ist die Musik dort nicht unbedingt schlechter aber auf jeden Fall
> lauter, was einer anstaendigen Unterhaltung recht abtraeglich ist...

Ich fand es im Walhalla schon recht laut. Muss also nicht sein. Mit Ruecksicht
auf meine armen, alten Gehoergaenge - koennte man nicht eine Lokalitaet mit
dezenterer Geraeuschkulisse auftreiben. Hier hats doch genug Saufbuden. Da
muss sich doch eigendlich was geeignetes finden lassen?
Ich wuerde ja fast das Egal vorschlagen (wenns unbedingt Innenstadt sein
soll), wenn dieses aber vermutlich nicht einen solchen Mudderansturm
verkraften duerfte.

Vorschlaege?

bh

-----------------------------------------------------------------------------



Stammtisch Berlin (Anakin,  5. Mar 1997, 16:36:18):
Hi,

heute ist Stammtisch um 20.00 im Seeblick in Berlin. :-)

Anakin.

-----------------------------------------------------------------------------



Re^13: Stammtisch in DO (Hardil, 10. Mar 1997, 08:53:41):
~#! rn=Bloodyharry rt=857573597 rg=treffen
~#! tid=854373634

Ich habe gerade Leusel gefragt, und er ist auch fuer den Montagstermin. Und da
Montags eh weniger Ansturm sein duerfte als Freitags, koennen wir doch
problemlos ins Kraftstoff gehen.
Wegen des wenigen Laerms fuer Bloodyharry,
wegen der suessen Bedienung fuer Pampers
und wegen des Kicker-Tisches fuer den sportlichen Teil. ;-)

Ah, Aline hat sich grad eingeloggt. Mal sehen, was sie zu diesem Thread zu
sagen hat.

Aaaaaalso, bis auf weiteres:


Dortmund-Stammtisch diesmal wegen Karfreitagsverlegung:

MONTAG, 17.03.1997, so ab 20 Uhr, Kraftstoff (Rheinische Strasse)

Wegbeschreibung folgt. Man muss ja auf die Reply-Anzahl achten.

-Hardil.

-----------------------------------------------------------------------------



Re^14: Stammtisch in DO (Shakedbeer, 10. Mar 1997, 13:07:49):
~#! rn=Hardil rt=857980421 rg=treffen
~#! tid=854373634


HEY! Montag ist Kinotag!

Shakedbeer.

-----------------------------------------------------------------------------



Re^15: Stammtisch in DO (Kartoffel, 10. Mar 1997, 20:49:24):
~#! rn=Shakedbeer rt=857995669 rg=treffen
~#! tid=854373634
Hmmm, Freitag waer schon irgendwie sinniger, es gibt schliesslich auch Leute,
die arbeiten muessen. 
Wo is mir eigentlich Wurst, allerdings fand ichs im Walhalla schon
gemuetlicher.

Kartoffel (Tigerauge mitschleifen wollend)

-----------------------------------------------------------------------------



Re^16: Stammtisch in DO (Kartoffel, 11. Mar 1997, 16:09:32):
~#! rn=Kartoffel rt=858023364 rg=treffen
~#! tid=854373634
Gibts noch mal ne defintive Aussage, wann und wo das alles jetzt stattfindet?

Kartoffel

-----------------------------------------------------------------------------



Re^17: Stammtisch in DO (Aline, 12. Mar 1997, 14:41:23):
~#! rn=Kartoffel rt=858092972 rg=treffen
~#! tid=854373634

Also auf mehrfaches Draengen von Hardil schreibe ich jetzt auch was
zum Thema Stammfisch hierher:

WAS

Aline

P.S.: Zufrieden Hardil? ;)

P.P.S.: Also ich komme am Montag um ca 20.00 Uhr in die Kneipe namens
Kraftstoff und schau mir den Laden mal an.
Ansonsten wuerde ich sagen lassen wir den Stammtischtermin auf
jeden Fall auf den letzten Freitag im Monat liegen, trotz der grossen Gefahr,
dass dann wieder Horden von Osnabruecker Mudder oder Bielefelder Gesocks dort
auftaucht ;) (oder eher gerade wegen der Gefahr.........)

-----------------------------------------------------------------------------



Re^18: Stammtisch in DO (Kartoffel, 12. Mar 1997, 21:19:08):
~#! rn=Aline rt=858174083 rg=treffen
~#! tid=854373634
Jo, ganz wichtig, Freitag lassen, damit auch das Duesseldorfer Gesocks kommen
kann!!

Kartoffel *grinsend*

-----------------------------------------------------------------------------



Re^19: Stammtisch in DO (Hardil, 13. Mar 1997, 14:45:53):
~#! rn=Kartoffel rt=858197948 rg=treffen
~#! tid=854373634

Wegbeschreibung +++ wegbeschreibung +++ wegbeschreibung

Wer vom HBF kommt:
raus (Hauptausgang) und dann nach rechts, dem Wallring folgen. Immer in
Richtung des grossen leuchtenden U. Irgendwann kommt dann eine Riesenkreuzung,
und dort muesst ihr nach rechts. Und dann immer den Strassenbahnschienen
folgen, bis auf der anderen Strassenseite das Kraftstoff liegt. Das ist nicht
so weit.

Mit dem Auto: Wallring fahren, und wenn die Ausfallstrasse in Richtung
Dorstfeld kommt, diese nehmen. Sonst siehe oben.

-Hardil.

-----------------------------------------------------------------------------



Re^20: Stammtisch in DO (Bloodyharry, 13. Mar 1997, 15:05:37):
~#! rn=Hardil rt=858260753 rg=treffen
~#! tid=854373634
Na prima. Das koennte ja sogar ich noch finden. :)
Also ich wollte dann auch den Montag kommen um wieder ein paar Mudder und
besonders meine Schwester(n) dort zu sehen.

das war ein Beitrach von BH. (aber niemals ein Ersatz fuer Maritas Beitraeche)

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 13. Mar 1997, 18:17:44):

so liebe kinners, aus aktuellem anlass ein kurzer artikel

im monat maerz findet kein stati statt, dafuer ist das kompromittee auf der 8.
fan-con der rollenspieler anzutreffen (CONVENTUS LEONIS)

dat ding fendet statt vom 21. bis zum 23.3. wie wo wann genau kann ich jetzt
grad nicht schreiben, weil ich trottel den zettel zu hause vergessen hab.
was solls.

das kompromittee wird jedenfalls dort sein, inclusive einer lustigen
role-master-truppe.

wer noch kommen will, kann das immer gerne tun tun.

genaue daten wie jesacht spaeter...

QI**

-----------------------------------------------------------------------------



Re^21: Stammtisch in DO (Hardil, 17. Mar 1997, 11:28:42):
~#! rn=Bloodyharry rt=858261937 rg=treffen
~#! tid=854373634

Ha! hier kommt die ultimative Skizze!

                         |
               __________|_________
              /                    \
             /                      \
             |                      |
         ____|______________________|_____________[x]
             \        [y]           /[U]
              \____________________/
                         [HBF]


Tolle Skizze von Dortmund.
[x]: Kraftstoff  -> da ist der Stammtisch
[y]: Walhalla    -> da isser nicht!
[HBF]: Hauptbahnhof
[U]: Ehemalige Union-Brauerein mit ne grossen Leucht-U auffem Dach

Und die Strasse, an der x und y liegen, hat ne Strassenbahn-Schiene und ist
dadurch auch gut zu erkennen. Von y bis U heisst sie Kampstrasse, danach
heisst sie Rheinische Strasse. 


So. Jetzt duerfte es keiner mehr finden!

-Hardil.

-----------------------------------------------------------------------------



Re^22: Stammtisch in DO (Bloodyharry, 17. Mar 1997, 23:36:53):
~#! rn=Hardil rt=858594522 rg=treffen
~#! tid=854373634
Was war los mit der uebervollen Kneipe?

Warum war um halb elf niemand mehr beim neuen Treffen? Haben sie Euch raus
geschmissen? Ich haette vieleicht noch ein paar Minuten frueher da sein
koennen, wenn die Baubuden nicht den Schriftzug "Kraftstoff" vor meinen
Augen verborgen haetten. Aber immerhin war ich eine halbe Stunde frueher
da als zu den Freitagsterminen. Trotzdem grinste mich eine gaehnende Leere
an. Naja, dachte ich mir, vieleicht fand die Allgemeinheit die neue Oert-
lichkeit doch nicht so ansprechend und ist reumuetig zur alten Traenke
zurueckgekehrt. Dieser letzte Hoffnungsschimmer, der in mir noch einmal
aufglimmte wurde, dort angekommen, dann doch brutal ausgeloescht - hier
herrschte die gleiche truebsinnige, trost- und freudlose Stimmung wie in
dem vorherigen Bleifreischuppen. Was war passiert?

bh - ratlos

-----------------------------------------------------------------------------



Re^23: Stammtisch in DO (Aline, 18. Mar 1997, 08:54:36):
~#! rn=Bloodyharry rt=858638213 rg=treffen
~#! tid=854373634
Hi Opapirat,

warum es im Kraftstoff ziemlich leer war, kann ich Dir leider nicht sagen.
Warum ich allerdings entgegen meiner Ankuendigung nicht da war, kann ich Dir
schon sagen:

Ich hab gestern halt mal wieder bis 21.oo Uhr gearbeitet :(

Tja und da ich leider nur am Wochenende noch ein paar Nacht-S-Bahnen zur 
Verfuegung habe um wieder nach Hagen zu kommen, bin ich dann auch nicht
mehr in Richtung Dortmund gestartet. :(

Soviel dazu

Aline (macht sich wieder an die Arbeit) *wink*

-----------------------------------------------------------------------------



Re^24: Stammtisch in DO (Hardil, 18. Mar 1997, 10:07:31):
~#! rn=Aline rt=858671676 rg=treffen
~#! tid=854373634

Tja, Emanze und Opapirat...

ich war so von 8 bis kurz nach halb 10 da, dann war mein Krimi ausgelesen und
noch keiner da. Kaum war ich 5 Minuten weg, kam als Abloesung Pampers. Der hat
mich dann um kurz vor halb 11 angerufen, das er auch geht, und das muss kurz
bevor der Ankunft des Opapiraten gewesen sein.
Tja, kann passieren.
War aber trotzdem ein netter Abend, im Kraftstoff kann man naemlich doch sehr
gemuetlich Tee trinken und Krimis lesen.
-> Buchtip: David Dodge: Die blaue Limousine

Bis zum naechsten Stammtisch...  :-)

-Hardil.

-----------------------------------------------------------------------------



Re^25: Stammtisch in DO (Wargon, 18. Mar 1997, 10:32:19):
~#! rn=Hardil rt=858676051 rg=treffen
~#! tid=854373634
Hm... ist der Montagstermin als Alternative zum Freitag damit dann auch
gestorben? :)
  Wargon

-----------------------------------------------------------------------------



Re^26: Stammtisch in DO (Bloodyharry, 18. Mar 1997, 23:40:21):
~#! rn=Wargon rt=858677539 rg=treffen
~#! tid=854373634
> Hm... ist der Montagstermin als Alternative zum Freitag damit dann auch
> gestorben? :)

Das haengt davon ab, was an dem Scheitern des Treffens schuldig war.
Ich fand die Lokalitaet (als Autofahrer) recht ansprechend. Die Geraeusch-
kulisse lag sicher deutlich unter der vom Hockenheimring. Und das ist fuer
mich schon ausschlaggebend. Man kann Buecher dabei lesen.
Ich bin nun mit jedem Termin einverstanden, wenn ich die Leute auch noch ab
halb zehn antreffen kann.
Ja Wargon, ihr habt das etwas einfacher. Aber Muenster ist eben nur ein Dorf.
;)

bh

-----------------------------------------------------------------------------



Re^27: Stammtisch in DO (Kartoffel, 18. Mar 1997, 23:43:44):
~#! rn=Bloodyharry rt=858724821 rg=treffen
~#! tid=854373634
Aeh, mal ganz drastisch gesagt, die Idee den Stammtisch evtl demnaechst
montags zu machen is ja wohl absolut besch..., Leute die arbeiten oder von
weiter her kommen, haben dann naemlich die totale Ar...-karte gezogen.

Also: BITTE; BITTE BEIM FREITAG BLEIBEN!!!


Kartoffel

-----------------------------------------------------------------------------



Re^28: Stammtisch in DO (Bloodyharry, 18. Mar 1997, 23:49:56):
~#! rn=Kartoffel rt=858725024 rg=treffen
~#! tid=854373634
> ..., Leute die arbeiten oder von weiter her kommen, haben dann naemlich die
> totale Ar...-karte gezogen.
Tja. Das koennte wohl auch der Grund und die Quittung fuer den Montagabend
gewesen sein.

bh

-----------------------------------------------------------------------------



Re^29: Stammtisch in DO (Silvana, 20. Mar 1997, 09:52:09):
~#! rn=Bloodyharry rt=858725396 rg=treffen
~#! tid=854373634
Naja, da haben die Do-ler mal erlebt, wie ein Stammtisch ohne auswaertiges
Gesocks ist. Wems gefaellt... :) Ich ziehe da ja nen vollen Freitagstermin
vor, aber ich bin auch nicht aus DO... 

  Silvana

-----------------------------------------------------------------------------



Re^28: Stammtisch in DO (Sidolin, 20. Mar 1997, 11:23:36):
~#! rn=Kartoffel rt=858725024 rg=treffen
~#! tid=854373634
Leute die arbeiten, haben sowieso die Arschkarte gezogen...
wieso sollte das bei Stammtischen anders sein? ;-)

Sidolin. Froh, dass er nicht arbeiten muss.  Noch nicht... ;-)

-----------------------------------------------------------------------------



Re^29: Stammtisch in DO (Kartoffel, 20. Mar 1997, 20:34:06):
~#! rn=Sidolin rt=858853416 rg=treffen
~#! tid=854373634
Dafuer gibbet aber auch Geld Sido :))

WorKartoffel

-----------------------------------------------------------------------------



Re^30: Stammtisch in DO (Grimmborn, 21. Mar 1997, 20:25:31):
~#! rn=Kartoffel rt=858886446 rg=treffen
~#! tid=854373634
Aha, fuer Geld tust Du also alles? Sogar arbeiten?

GdA

-----------------------------------------------------------------------------



Treffen in bzw bei Giessen (Felagund, 22. Mar 1997, 02:42:34):
Huhu
Fuer alle, dies irgendwie interessiert: 
Der erste halbwegs offizielle Giessen-Stammtisch (nix regelmaessig oder so ;))
is jetzt mal vorlaeufig fuer den 4.4. angesetzt und zwar im Gasthof
"Junkersberg" in Kirchgoens (kennt eh kein Schwein, aber Wegbeschreibung kommt
naechste Woche, wenn ich mal wacher bin ;))
Also: 4.4. bei massivem Einspruch muesste es halt wieder verschoben werden ;)

Fela

-----------------------------------------------------------------------------



Re: Treffen in bzw bei Giessen (Nairolf, 23. Mar 1997, 14:36:59):
~#! rn=Felagund rt=858994954 rg=treffen
~#! tid=858994954
alles klar Fela dann beschreib mal den Weg :-) *lach* 

Nairolf, hat was gehoert, das da auch marburger kommen wollen... naja sind eh
nur Sterbe-Zweitis :-)


P.S.: Braunbaer.... Sumpfdrache....

-----------------------------------------------------------------------------



ER -> BA? (Highlander, 25. Mar 1997, 13:36:47):
Die Bamberger haben gefragt, ob wir (die Erlanger) mal nach Bamberg
kommen wollen zum Stammtisch. Meinungen, ihr Betroffenen?
  HrT

-----------------------------------------------------------------------------



Re: ER -> BA? (Grimmborn, 25. Mar 1997, 13:42:05):
~#! rn=Highlander rt=859293407 rg=treffen
~#! tid=859293407
Bleibt doch in Erlangen, da gibts doch den schoenen Irish Pub, wo man ein
Weizen bestellt und ein Pils bekommt. Und eine kleinigkeit essen will und
gleich zwei riesige Platten serviert bekommt, allerdings ohne Teller.
Ist doch viel gemuetlicher. ;-)

Grimmborn der Atheist war auch mal in Erlangen

-----------------------------------------------------------------------------



Re: Re: ER -> BA? (Highlander, 25. Mar 1997, 13:43:33):
~#! rn=Grimmborn rt=859293725 rg=treffen
~#! tid=859293407
Du verwechselst da was - das ist in Herzogenaurach, bei Rainer.
Wir sind immer im Pleitegeier in ER selber.
  HrT

-----------------------------------------------------------------------------



Re^3: ER -> BA? (Grimmborn, 25. Mar 1997, 13:52:30):
~#! rn=Highlander rt=859293813 rg=treffen
~#! tid=859293407
Ach was, Bayern ist Bayern. :-)

GdA

-----------------------------------------------------------------------------



wegbeschreibung (Felagund, 25. Mar 1997, 18:26:10):
Also gut, jetzt in wachem Zustand die Wegbeschreibung zum Gasthof Junkersberg
(bzw eher nach Kirchgoens, wenn man das erstmal gefunden hat findet man
_darin_ eh alles ;))
Ueber A45: Am Giessener Suedkreuz Abfahrt auf A485 in Richtung Butzbach
(moeglicherweise steht da auch Bad Nauheim oder Friedberg, oder auch
Langgoens) nehmen. In Richtung Butzbach hoert irgendwann die A485 auf und geht
als B3 weiter, danach die Ausfahrt Ayers Kaserne / Kirchgoens nehmen, nach der
Abfahrt links in Richtung Kirchgoens fahren, direkt am Ortseingang rechts ist
dann der 'Junkersberg'.

Ueber A5: Abfahrt Butzbach runter und einfach der B3 in Richtung Giessen
folgen (durch Butzbach durch, zumindest am Rande) noch bevor die B3 zur A485
wird kommt die Ausfahrt Kirchgoens/AyersKaserne (muesste die 3tte oder 4te
Ausfahrt sein), da runter und rechts nach Kirchgoens, am Ortseingang auf der
rechten Seite is dann der 'Junkersberg' (fuer die, die den letzten Absatz
komplett uebersprungen haben ;))

gruss..Fela

-----------------------------------------------------------------------------



Re: ER -> BA? (Schlips, 25. Mar 1997, 21:22:06):
~#! rn=Highlander rt=859293407 rg=treffen
~#! tid=859293407
Hab nix dagegen - war noch nie da.
Betroffen ist allerdings insofern richtig, als ich keinen fahrbaren
Untersatz hab ... 

Schlips

-----------------------------------------------------------------------------



Rudeln in Bonn (Pra, 26. Mar 1997, 14:16:07):
Hi!

Zephyr hat beschlossen:

Am ersten Dienstag des folgenden Monats wird in Bonn wieder gerudelt!

Ja, es ist der 1. April. Trotzdem.

Also: wie immer, so ab 19 Uhr oder so, am gewohnten Ort mit gewohnter
Verpflegung.

Wer das ncht gewohnt ist -> Fragt Zephyr, mich oder sonstwen...

Pra.

-----------------------------------------------------------------------------



Treffen in Giessen zum Dritten (Felagund, 26. Mar 1997, 20:22:57):
Ach ja, noch was ;)
Wer schopn weiss, dass er kommt schreibe doch bitte mal ne mail, dann kannich
das schon in etwa klarmachen. Essen kann man da uebrigens auch sehr gut.
Fela

-----------------------------------------------------------------------------



Re: Re: ER -> BA? (Escubar, 26. Mar 1997, 20:26:51):
~#! rn=Schlips rt=859321326 rg=treffen
~#! tid=859293407

Jou, ginge schon bei mir. Ich koennt auch fahren, muss ja eh ueber Erlangen
nach Bamberg ...

Eisbaer Escubar

-----------------------------------------------------------------------------



Re: Rudeln in Bonn (Asmodis, 27. Mar 1997, 13:27:04):
~#! rn=Pra rt=859382167 rg=treffen
~#! tid=859382167

Ist doch eh nur ein Aprilscherz :)

-----------------------------------------------------------------------------



Re: ER -> BA? (Dauergast, 27. Mar 1997, 19:39:54):
~#! rn=Highlander rt=859293407 rg=treffen
~#! tid=859293407

Bamberg? hm, jo warum nich ...

aber Bayreuth hat sich zuerst fuer nen 'Auswaertigen Stammtisch'
beworben ... immerhin waren die Bayreuther auch schon in Erlangen ..

DG

PS: wer is aus Bamberg ...? 

-----------------------------------------------------------------------------



Re: Rudeln in Bonn (Wurzel, 27. Mar 1997, 19:43:57):
~#! rn=Pra rt=859382167 rg=treffen
~#! tid=859382167
ach, was waren das noch fuer zeiten, als rudeln noch ganz ohne computer war..

wurzel schuettelt bedauernd den kopf

-----------------------------------------------------------------------------



Giessen (Key, 27. Mar 1997, 20:14:45):
Huhu Fela,
Kannst Du auch mal den Weg vom Bahnhof aus beschreiben? Ist naemlich nen
bisserl bloed den Zugfahrer davon zu ueberzeugen er solle ueber irgendwelche
A3 oder b5559 oder was weiss ich fahren ;)
Der haelt mich noch fuer bloed un laesst mich einliefern ;)=
bis denn
Sterbemeister Key das Schluesselchen will mal auf nen Stammtisch :)

-----------------------------------------------------------------------------



Re: Re: ER -> BA? (Highlander, 28. Mar 1997, 09:47:33):
~#! rn=Dauergast rt=859487994 rg=treffen
~#! tid=859293407
AAAAAAAARGH!!!
Asche auf mein Haupt!  Ich MEINTE natuerlich Bayreuth - an der Situation
mit "wer hat was gegen, wenn wer faehrt" aendert das natuerlich nix, es ist
nur ein bisschen weiter.
   HrT, verwechslungsgeplagt.

-----------------------------------------------------------------------------



Re^3: ER -> BA? (Escubar, 28. Mar 1997, 10:45:19):
~#! rn=Highlander rt=859538853 rg=treffen
~#! tid=859293407

Nach Bayreuth fahr ich dann aber net ueber Erlangen ;)

Wenn noch Fahrer fehlen, taet ich Euch dann ab Nuernberg/Fuerth mitnehmen ... 
Zurueck gehts dann halt nach Erlangen ;)

Eisbaer Escubar

-----------------------------------------------------------------------------



Re^4: ER -> BA? (Grimmborn, 28. Mar 1997, 15:39:37):
~#! rn=Escubar rt=859542319 rg=treffen
~#! tid=859293407
Nach Bayreuth wuerde ich sofort kommen, wenn ich auch eine Opernkarte bekaeme.
Vorzugsweise fuer den Tristan, bitteschoen.

Grimmborn der Atheist mag Wagner. Auch ideologisch...

-----------------------------------------------------------------------------



Re: Re: Rudeln in Bonn (Engywuck, 28. Mar 1997, 18:40:01):
~#! rn=Wurzel rt=859488237 rg=treffen
~#! tid=859382167
Aeh...Meinst Du diese Geschichten Ende der 60'er? "Wer einmal mit
derselben..." usw.? Tja, das hab ich leider nicht mehr mitbekommen ;)

Engy*

-----------------------------------------------------------------------------



Re^3: Rudeln in Bonn (Wurzel, 28. Mar 1997, 23:25:35):
~#! rn=Engywuck rt=859570801 rg=treffen
~#! tid=859382167
bin halt schon etwas aelter :)

-----------------------------------------------------------------------------



Berlin (Anakin, 31. Mar 1997, 14:47:17):
Hi,

am nexten Mittwoch ist wieder um 2000 Stammtisch
im Seeblick.
Wie immer.

Anakin.

-----------------------------------------------------------------------------



Oder so (Aline,  1. Apr 1997, 17:05:11):

Aeh, ich meine aeh 
aeh naja, wenn ich da so drueber nachdenken aeh

Also wie waere es mal wieder mit einem ausserordentlichen Stammtisch in
Dortmund im Walhalla,
aeh ich meine, man kann dann ja zur Not spaeter wieder in die Bikerkneipe
gehen, oder sich gleich aufteilen aeh
aeh also wer Lust hat mal wieder ein paar verrueckte Mudder aus Dortmund und
Umgebung zu sehen:
aeh Walhalla, Fr. 11. 4. 19.30 Uhr

aeh ja Ringor will auch da sein :)

Aeh Aline

-----------------------------------------------------------------------------



Re: Oder so (Kartoffel,  1. Apr 1997, 21:26:58):
~#! rn=Aline rt=859907111 rg=treffen
~#! tid=859907111
Klingt gut!!!!

Kartoffel *huepfend vor Freude*

-----------------------------------------------------------------------------



Re: Oder so (Bloodyharry,  2. Apr 1997, 02:40:28):
~#! rn=Aline rt=859907111 rg=treffen
~#! tid=859907111
> man kann dann ja zur Not spaeter wieder in die Bikerkneipe gehen, ...
Es waere eventuell von Nutzem, wenn man ueber einen gewissen Zeitraum die
aktuellen Aufenthaltsdaten wuesste.
Naja, verrueckt bin ich sicher genug dafuer. Aber es sollte schon etwas
genauer geplant werden.

ciao
bh

-----------------------------------------------------------------------------



Stammtisch mal in Bayreuth (Golem,  2. Apr 1997, 09:27:53):
si
Also, damit wir Bayreuther (Jaelle und meine Kleinigkeit) auch mal
in den Genuss eines Stammtisches kommen (und uns zumindest einmal
die Fahrt sparen koennen  (-; ) hier mal die Wegbeschreibung zum
Grizzly's in Bayreuth. Zeit wie gewohnt 19.00 Uhr. Und bitte mir 
vorher mailen, damit ich weiss, ob ich nen Tisch reservieren muss
oder nicht!!

Hier nu die Beschreibung:

Die Ausfahrt Bayreuth Sued raus, gleich nach rechts (= Nuernberger
Strasse). Nach nem Kilometer oder so kommt ne Ampel - da rechts 
(Ihr seid jetzt auf dem Ring).
Die naechsten drei Ampeln gradeaus, und an der vierten rechts (da
gehts zum Bahnhof, ist natuerlich auch ausgeschildert). Da kommt
dann gleich wieder ne Ampel, diesmal links (= Carl-Schueller-Str.).
si
Dann die 2. Querstrasse rechts (= Jaegerstr.) und gleich die 
naechste Querstrasse links (= Gabelsberger Str.).
Am hinteren Ende, auf der linken Seite ist dann das Grizzly's!!


PS - Da kann man sehr gut essen!!! Spare Ribs sind klasse  *grins*

Also dann bis morgen in Bayreuth - Golem

-----------------------------------------------------------------------------



Treffen in KA (Guybrush,  2. Apr 1997, 10:37:19):

Es ist mal wieder soweit:
Die paar Restmudder in der Gegend hier wollen sich am Di, den 8.04, treffen.
Als Ort wuerde ich, wenn keine Bedenken vorliegen, die "Kippe" vorschlagen.
Zeit: ab 19.30 kann eingetrudelt werden.

Beschwerden, Alternativen oder sonstige Nettigkeiten bitte an mich per mail,
denn wir sind ja nicht in DO hier, oder?

Guybrush, feiert dort seinen Abschied

-----------------------------------------------------------------------------



Korrektur (Golem,  2. Apr 1997, 16:00:39):
Ups - da ist mir doch glatt ein peinlicher Fehler unterlaufen
in der Beschreibung wies nach Bayreuth geht (grins verlegen):

Nach der Ausfahrt (von der A9, wenn man von Nuernberg her kommt)
geht es natuerlich nach links Richtung Bayreuth, sonst landet Ihr
ja in der Praerie ;-). (Fuer manche ist natuerlich Bayreuth schon
Praerie)  ;)

Golem

-----------------------------------------------------------------------------



Nochmal Giessen-Stammtisch in Kirchgoens (Felagund,  3. Apr 1997, 00:45:42):
Ich hab voellig vergessen, ne Zeit durchzugeben, das waer dann so  um
        19:30 - 20:00 Uhr
   im 'Junkersberg' in Kirchgoens (Weg s.o.)
    am morgigen Freitag dem 4.4.

Fela...vergesslich ;)

-----------------------------------------------------------------------------



Re: Nochmal Giessen-Stammtisch in Kirchgoens (Nairolf,  3. Apr 1997, 08:23:57):
~#! rn=Felagund rt=860021142 rg=treffen
~#! tid=860021142
schoen und wie kommen die Leute die mitm Zuch kommen hin  ? :-)

Nairolf....kommend

-----------------------------------------------------------------------------



Re: Oder so (Kartoffel,  7. Apr 1997, 15:05:04):
~#! rn=Aline rt=859907111 rg=treffen
~#! tid=859907111
Also, seh ich das jetzt richtig?
Freitag ausserordentlicher Stammtisch in Dortmund im Walhalla?
Ich hab naemlich keine Lust von Duesseldorf umsonst nach Dortmund zu fahren.
Bestellt jemand n Tisch?

Kartoffel

-----------------------------------------------------------------------------



Re: Re: Oder so (Wargon,  7. Apr 1997, 15:06:42):
~#! rn=Kartoffel rt=860418304 rg=treffen
~#! tid=859907111
Wie aus gut unterrichteten Kreisen zu erfahren war, handelt es sich bei der
Ankuendigung NICHT um einen Aprilscherz.
  Wargon (da wohl auch mal wieder hinfaehrt)

-----------------------------------------------------------------------------



treffen (Illian, 21. Apr 1997, 16:33:09):
Fuer alle interessierten, die am Stadtplan Osnabruecks oder meiner yu kuryen
Einladungsliste yu scheitern drohen hier nochmal eine kury Ankuendigung, dass
am Dienstag, den 22 April in Os ein Stammtisch stattfindet. Falls noch jemand
den Weg sucht, eine E/Mail an mich schreiben. Ich werde wohl morgen immer mal
wieder vorbeischauen, ob noch jemand eine Frage hat.
Bevor ich es vergesse, Treffen ist ab 19>30 im gruenen Jaeger.
Illian
*Entschuldigt sich nochmal, fuer die Ortographie, aber der Unixbereich ist
gerade wieder abgestuerzt, und daher sieht hier alles duester aus

-----------------------------------------------------------------------------



Stammtisch Freitag? (Aline, 22. Apr 1997, 09:51:41):

Hi Leute,

wie schon der Titel sagt, geht es um einen Stammtisch.
Es handelt sich um den ordentlichen Stammtisch in Dortmund.
Also Freitag 25.4 ab ca 19.00 Uhr im Walhalla

Aline


-----------------------------------------------------------------------------



Re: Stammtisch Freitag? (Hardil, 22. Apr 1997, 13:28:18):
~#! rn=Aline rt=861695501 rg=treffen
~#! tid=861695501

Kommen am Freitag dann wieder Erzmagier? :-)
Koennen wir nicht mal einen Stammtisch mit Sofortexekution eines
spielerhelfenden Magiers machen? Das haette doch wirklich was. :-)

-Hardil. Mal gucken wegen Freitag.

-----------------------------------------------------------------------------



Stammtisch MS am 22.04. (Wargon, 22. Apr 1997, 15:01:14):
  Hi!
Zugunsten des Osnabrueck-Stammtisches faellt der Muenster-Stammtisch heute
(22.04.) aus.
  Wargon (der trotzdem nicht nach OS faehrt :)

-----------------------------------------------------------------------------



ER (Highlander, 22. Apr 1997, 16:11:23):
Hiho!
Wenn ich das richtig abschaetze, ist naechste Woche am Donnerstag mal wieder
der erste des Monats - und das heisst Stammtisch in ER im Pleitegeier!
Zeit wie immer gegen 1900, und Rueckmeldung erwuenscht, wegen Tisch und so.
Wenn einer kommen will, der nicht weiss, wo's lang geht, mich oder
einen anderen Erlanger fragen.
   HrT

-----------------------------------------------------------------------------



Re: Stammtisch MS am 22.04. (Catweazle, 22. Apr 1997, 17:59:01):
~#! rn=Wargon rt=861714074 rg=treffen
~#! tid=861714074
Alles gelogen.

Ich zumindest bin da. Das sollte ja wohl reichen, oder?

YTC

-----------------------------------------------------------------------------



Re: ER (Escubar, 23. Apr 1997, 00:50:13):
~#! rn=Highlander rt=861718283 rg=treffen
~#! tid=861718283
Meinereiner kommt schonmal, auch wenns ein Feiertach ist ... ;)

Eisbaer Escubar

-----------------------------------------------------------------------------



Re: Re: Stammtisch MS am 22.04. (Anatol, 23. Apr 1997, 01:27:35):
~#! rn=Catweazle rt=861724741 rg=treffen
~#! tid=861714074

Immerhin war Rochus bei UNS und nicht bei EUCH.

Anatol


-----------------------------------------------------------------------------



Stammtisch (Astar, 23. Apr 1997, 16:01:24):
Am letzten Freitag im Mai, findet vorraussichtlich in der Marquartei, um 20:00
Uhr in Tuebingen ein Stammtisch statt.
Nur so schonmal als Vorankuendigung.

Astar

-----------------------------------------------------------------------------



Re: Re: Stammtisch Freitag? (Bloodyharry, 25. Apr 1997, 08:50:47):
~#! rn=Hardil rt=861708498 rg=treffen
~#! tid=861695501
Huch! Ich glaube da komme ich besser nicht hin.  O :-)

bh

-----------------------------------------------------------------------------



ups kommt da heute ueberhaupt wer? (Augra, 25. Apr 1997, 18:13:52):
~#! rn=Bloodyharry rt=861951047 rg=treffen
~#! tid=861695501
hm, 
die begeisterung fuer den DO_Stati schein ja arg nachzulassen...wenn ich da
alleine sitzen muss, ueberleg ich mir das noch mal:)


-----------------------------------------------------------------------------



Re: ups kommt da heute ueberhaupt wer? (Bloodyharry, 26. Apr 1997, 01:28:16):
~#! rn=Augra rt=861984832 rg=treffen
~#! tid=861695501
Naja. War ja doch noch ein schoenes Treffen geworden. Vieleicht weil nur Augra
wusste das ich kommen wuerde? Was solls. Und dann gab es ja noch dieses
rl-quest mit den durchbohrten Zigarretten und Schnueren dran. Echt witzig das.
Hardil meinte ich haette mir mit der Loesung eine Packung Zigarretten
verdient, aber wie gewoehnlich war ich auch heute mal wieder viel zu spaet
dafuer da. Freitags ist ja auch so ein.. ah, aehm.
Hardil meinte dann noch, dass ich ihm mal ein Bier ausgegeben hatte waere
eigendlich auch Spielerhilfe gewesen? Das kann doch nicht sein. Und
hoffendlich ist das mittlerweile schon verjaehrt.
Dann war da noch ein netter Besuch aus Duesseldorf. Ich hatte es ja immer
geahnt aber nun weiss ich es genau: es gibt suesse Kartoffeln! :)

bh

-----------------------------------------------------------------------------



Re: Re: ups kommt da heute ueberhaupt wer? (Kartoffel, 26. Apr 1997, 11:42:57):
~#! rn=Bloodyharry rt=862010896 rg=treffen
~#! tid=861695501
*grins*
Ich bin keine Suesskartoffel :))

Kartoffel

-----------------------------------------------------------------------------



Re: Re: ups kommt da heute ueberhaupt wer? (Guldukat, 26. Apr 1997, 19:19:23):
~#! rn=Bloodyharry rt=862010896 rg=treffen
~#! tid=861695501
Und meine anwesenheit wird wieder gekonnt verschwiegen. dabei hatte ich
ueberhaupt keine magic karten dabei, sondern beteiligte ich konstruktiv am
stammtisch! 
;)

-----------------------------------------------------------------------------



Re^3: ups kommt da heute ueberhaupt wer? (Bloodyharry, 27. Apr 1997, 03:27:25):
~#! rn=Guldukat rt=862075163 rg=treffen
~#! tid=861695501
Vieleicht darf ich zu meiner Verteidigung erwaehnen, dass ich nicht mehr alle
Leute angetroffen habe und somit sicher auch nicht alle haette erwaehnen
koennen. Ausserdem hatte ich echt mit dem alkfreien Bier zu kaempfen. Wenn ich
jetzt jemanden in meiner Aufzaehlung ausliesse, gibt es wieder Beschwerden?
Dann ueberlasse ich das lieber Hardil. Der kann das eh viel besser als ich.

bh - ist nicht nur blind. nein, er sieht auch noch schlecht 8-}

-----------------------------------------------------------------------------



ER 7d verschoben... (Highlander, 28. Apr 1997, 15:32:11):
... da wegen Feiertag das wohl nicht so guenstig ist. Bei _zwei_ Leuten,
die bisher gesagt haben, dass sie kommen. Also, Stammtisch in ER
ausnahmsweise mal am _2._ Donnerstag im Monat. Das ist dann der 8. Mai.
Oder spricht was wichtiges dagegen?
   Hrt

-----------------------------------------------------------------------------



Re: ER 7d verschoben... (Highlander, 28. Apr 1997, 15:37:32):
~#! rn=Highlander rt=862234331 rg=treffen
~#! tid=862234331
Ja, der 8. ist auch einer. Feiertag. Aber mit mehr Vorwarnung kommen
vielleicht dohc mehr. Oder fahren da alle wegen Muttertag heinm?!
   HrT

-----------------------------------------------------------------------------



Re: Re: ER 7d verschoben... (Lacrimosa, 28. Apr 1997, 15:38:17):
~#! rn=Highlander rt=862234652 rg=treffen
~#! tid=862234331
Da ist auch Maennertag :-)

-----------------------------------------------------------------------------



Re^3: ER 7d verschoben... (Lacrimosa, 28. Apr 1997, 15:39:09):
~#! rn=Lacrimosa rt=862234697 rg=treffen
~#! tid=862234331
und tag der befreiung...
und der  Muttertag faellt auf den Sonntag -> 11. Mai

Jaja opi, das istz alzheimer, deine enkelin :-)

-----------------------------------------------------------------------------



Re^4: ER 7d verschoben... (Highlander, 28. Apr 1997, 15:44:49):
~#! rn=Lacrimosa rt=862234749 rg=treffen
~#! tid=862234331
Dass der Muttertag der 11. ist, weiss ich. Pappnase! :>
Aber viele machen ein langes Wochenende draus, deswegen die Verbindung.
  HrT

-----------------------------------------------------------------------------



Re^5: ER 7d verschoben... (Escubar, 28. Apr 1997, 18:46:55):
~#! rn=Highlander rt=862235089 rg=treffen
~#! tid=862234331
Also ich taet vorschlagen wir bleiben beim 1. Mai, weil 8. Mai ist doof, da
ist ja Himmelfahrt ...

Eisbaer Escubar

PS: Und wenn keiner kommt, dann machme halt am 8. nochmal Stammtisch ;)
PS2: Was ist mit Bayreuth?

-----------------------------------------------------------------------------



Re^6: ER 7d verschoben... (Marcus, 28. Apr 1997, 19:01:42):
~#! rn=Escubar rt=862246015 rg=treffen
~#! tid=862234331
Also mir ist das reichlich egal. Am 1. hab ich Zeit, am 8. auch.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^7: ER 7d verschoben... (Dauergast, 29. Apr 1997, 14:02:19):
~#! rn=Marcus rt=862246902 rg=treffen
~#! tid=862234331
HI!

Also, Bayreuth will wohl am 1. Mail kommen ... 
Da ich am 8. wohl schon kurz nach Mittag hoffnungslos besoffen sein koennte,
also lieber am 1. Mai ....

Krigi

-----------------------------------------------------------------------------



Re^8: ER 7d verschoben... (Highlander, 29. Apr 1997, 15:21:48):
~#! rn=Dauergast rt=862315339 rg=treffen
~#! tid=862234331
*seufz* OK. Aber ich hab jetzt den Ueberblick verloren, wer alles kommen
will. Zaehl mal wer anders. Schlips zaehlt fuer 1 1/2, und Escubar hat
sich auch geruehrt.
  HrT
PS: Grr. Am 1. kommt Flintstones.

-----------------------------------------------------------------------------



Re: Re: ER 7d verschoben... (Schlips, 30. Apr 1997, 00:20:36):
~#! rn=Highlander rt=862234652 rg=treffen
~#! tid=862234331
och, schade
ich hatte mich schon so gefreut - die haben das bestimmt alle mit der mail an
Dich
verpennt
aber so kannst Du's ja gleich bis zum Berch verschieben ...

Schlips ists im prinzip egal, wuerde sich aber trotzdem auch schon diesen Do
treffen

-----------------------------------------------------------------------------



Re^3: ER 7d verschoben... (Highlander, 30. Apr 1997, 10:41:15):
~#! rn=Schlips rt=862352436 rg=treffen
~#! tid=862234331
Wie gesagt - nachdem so ziemlich alles geschrieen hat, IST der
Stammtisch am ersten. ABER BITTE ZAEHL WER ANDERS DURCH.
Ich hab naemlich kaum Zeit dazu. Also: Es BLEIBT beim 1.5. (seufz)
  HrT

-----------------------------------------------------------------------------



Re^4: ER 7d verschoben... (Marcus, 30. Apr 1997, 13:47:26):
~#! rn=Highlander rt=862389675 rg=treffen
~#! tid=862234331
2.5 :)

Marcus

-----------------------------------------------------------------------------



Stammtisch in Darmstadt am 23.05. (Tryfan,  1. Mai 1997, 18:23:51):

 Nach langer langer Zeit treffen wir uns mal wieder in Darmstadt,
 um uns mal wieder RL zu sehen. Bei uns sind alle willkommen, von
 einfachem Spieler ueber Seher und Erzmagier bis zum Gott. Denn im
 RL sind alle gleich. Wir reden auch gerne ueber Dinge ausserhalb des
 MG und sind sogar noch stolz darauf. ;)

 Also macht Euch auf nach Darmstadt in den HOTZENPLOTZ in der
 Lauteschlaegerstrasse naehe Kantplatz. Losgehen soll es so um 19:30,
 damit man noch Platz an den grossen Tischen bekommt. Wer nicht weiss,
 wie man's findet, fragt am besten Ark (*kicher* der wird sich freuen)
 oder einen der anderen unten aufgefuehrten.

 Wir erwarten Ark the Magnificent (wenn er doch kommen kann), die Wurzel
 allen Uebels, Verena, Dancer, Xera und die uebrige Rasselbande aus
Frankfurt,
 Garfield und Gundur (aeh, oder konnten die nicht?), Zephyr und meine
 Wenigkeit.

 Kommt zahlreich!    Tryfan aus Duncton

-----------------------------------------------------------------------------



Re: Stammtisch in Darmstadt am 23.05. (Wurzel,  3. Mai 1997, 12:47:58):
~#! rn=Tryfan rt=862503831 rg=treffen
~#! tid=862503831
eigentlich erwarten wir noch mehr, jedenfalls hoffen wir dass noch mehr
kommen :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Darmstadt am 23.05. (Boebbel,  4. Mai 1997, 21:32:57):
~#! rn=Wurzel rt=862656478 rg=treffen
~#! tid=862503831

Noch mehr? Und wo sollen die alle sitzen? ;-)

Boebbel (kommt wieder erst spaeter, und weiss, dass er bis 23:00 Uhr stehen 
         muss...)

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!!! (Ancalagon,  5. Mai 1997, 10:54:44):
Knuddels vorweg!
Leute,Leute, der kommende Mittwoch ist mal wieder der erste eines Monats und
deshalb findet da auch wieder der Bielefelder MG-Treff statt. Vielleicht
kroiegen wir ja auch irgendwann mal wieder besuch von ausserhalb. Schoen
waers...
Also, kommet zuhauf...,
Herzlichst knuddelnd,
                                             Ancalagon
                                      Draco knuddellensis major

-----------------------------------------------------------------------------



Stammtisch in Berlin (Janice,  5. Mai 1997, 14:05:19):
Hi Berliner !
Wenn ich das richtig seh, haben wir am Mittwoch wieder Stammtisch. Wie
immer selbe Zeit, selber Ort. Naemlich 20:00 im Seeblick.

Janice, auch mal was schreiben wollend

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  5. Mai 1997, 17:39:16):
okay, juns und maedels..
in braunschweig findet mal wieder eine art stammtisch statt.
am pfingstwochenende wird dies sein, und zwar open air auf dem domplatz.

dort findet naemlich ein mittelalterlicher markt statt, auf dem wir uns
tummeln werden.

wer halt kommen will...

QI** wird auf alle faelle dort sein.

wohlan...

-----------------------------------------------------------------------------



Re^3: Stammtisch in Darmstadt am 23.05. (Ark,  6. Mai 1997, 18:09:03):
~#! rn=Boebbel rt=862774377 rg=treffen
~#! tid=862503831

Keine Angst, da laufen bestimmt nicht so viele ein, und ihr aus FRA kommt
doch eh erst immer, wenn schon alles vorueber ist ;^)

Ich komm leider net, sorry, meine Schwester macht da gerade einen grossen
Fehler :-)

Zum Hotzenplotz kommt man uebrigens von der A5 (Abfahrt DA), o, o, o, o,
s, o, n, n, o, n bis zur Ecke, dort isser dann.
Als Spieler duerfte das ja dann kein Problem sein, die Bezeichnungen gelten
nur an den Ampeln :-) (hm, soweit ich sie kenne...)

Viel Spass wuenscht


              ***ARK*the*Magnificent***


-----------------------------------------------------------------------------



Re^4: Stammtisch in Darmstadt am 23.05. (Wurzel,  6. Mai 1997, 20:50:15):
~#! rn=Ark rt=862934943 rg=treffen
~#! tid=862503831
hm, stimmt so nicht ganz... am letzten knick (bevor man nach n bis zur ecke
muss) gibts keine ampel. aber findige mudder scripten da so lange in der
gegend herum, bis sie es gefunden haben :)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Darmstadt am 23.05. (Grimmborn,  6. Mai 1997, 20:56:24):
~#! rn=Wurzel rt=862944615 rg=treffen
~#! tid=862503831
Falsch. Die stellen sich hin und mrufen laut "bug, hier gehts nicht weiter!".

GdA

-----------------------------------------------------------------------------



Re^5: Stammtisch in Darmstadt am 23.05. (Ark,  6. Mai 1997, 22:21:08):
~#! rn=Wurzel rt=862944615 rg=treffen
~#! tid=862503831

Hehehe, jetzt hast Du alles verraten. Jep, es stimmt, wenn man da
bis zur Ampel faehrt und dann erst nach n abbiegt, landet man auf
der Baustelle - ist mindestens so interessant wie
das Treffen der hiesigen Mudder ;^)

Ich mach das Ganze mal madig *grins*


              ***ARK*the*Magnificent***


-----------------------------------------------------------------------------



Re^6: Stammtisch in Darmstadt am 23.05. (Wurzel,  7. Mai 1997, 19:42:35):
~#! rn=Ark rt=862950068 rg=treffen
~#! tid=862503831
bring doch einfach deine schwester mit. dann macht sie keinen fehler, und du
brauchst es nicht madig zu machen :)

-----------------------------------------------------------------------------



Re^7: Stammtisch in Darmstadt am 23.05. (Ark,  7. Mai 1997, 21:53:15):
~#! rn=Wurzel rt=863026955 rg=treffen
~#! tid=862503831

naja, aber bei soner hochzeit gibt es immer was tolles zu essen.

ausserdem haben sie ne gute band engagiert, die capones, man kennt
sie vielleicht vom irish pub.
deshalb geh ich doch mal lieber auf die hochzeit ;^)

bis zum naechsten stammtisch dann,



              ***ARK*the*Magnificent***


-----------------------------------------------------------------------------



Re^8: Stammtisch in Darmstadt am 23.05. (Boebbel,  8. Mai 1997, 22:33:03):
~#! rn=Ark rt=863034795 rg=treffen
~#! tid=862503831

Und wieso machen wir nicht den Stammtisch bei Deiner Schwester auf der 
Hochzeit? Auf 10 Leute kommts doch nicht an, oder? Ich wuerde auch langsam 
trinken... ;-)

Oder entfuehrt Sie doch ins Hotzenplotz, dann haben wir wenigstens auch was
davon!!! :-)

Ein Boebbel...

-----------------------------------------------------------------------------



Re^9: Stammtisch in Darmstadt am 23.05. (Ark,  9. Mai 1997, 12:51:49):
~#! rn=Boebbel rt=863123583 rg=treffen
~#! tid=862503831

Hm, hoffentlich wird das jetzt keine Diskussion ueber die Hochzeit ;^D

Kurzum, alles was meine Schwester betrifft:

a) Der Zukuenftige ist sehr boese und schlaegt wild um sich, wenn irgendwas
   mit ihr passiert.
b) Die Beiden koennten (werden!) sich an mir grausam raechen, meine Haare
   vom Kopf saufen oder aehnlich schlimmes ...

Das wollt ihr doch nicht, oder?

                O D E R ????



              ***ARK*the*Magnificent***


-----------------------------------------------------------------------------



Re^10: Stammtisch in Darmstadt am 23.05. (Gralkor,  9. Mai 1997, 12:53:53):
~#! rn=Ark rt=863175109 rg=treffen
~#! tid=862503831
DOCH!

-----------------------------------------------------------------------------



Re^11: Stammtisch in Darmstadt am 23.05. (Ronda,  9. Mai 1997, 22:07:24):
~#! rn=Gralkor rt=863175233 rg=treffen
~#! tid=862503831
Doch 2! *Bitte durchzaehlen!*
         Ronda
(Vielleicht schaff ichs ja bei Euch vorbeizuschauen - nur die Wegbeschreibung
war Sch*** - koenntet Ihr fuer Magier bitte den Filenamen == Strassennamen
angeben?)

-----------------------------------------------------------------------------



Re^12: Stammtisch in Darmstadt am 23.05. (Wurzel, 10. Mai 1997, 11:04:30):
~#! rn=Ronda rt=863208444 rg=treffen
~#! tid=862503831
no problem. hotzenplotz ist an der ecke mauerstrasse/lauteschlaegerstrasse.
direkt an der ecke ist der eingang... es gibt zwar noch mehr eingaenge in
der gegend, aber dann landet man in anderen kneipen. die sind zwar auch
recht schoen, aber mudderfrei :)

wurzel

-----------------------------------------------------------------------------



Bergstammtisch in Erlangen! (Escubar, 11. Mai 1997, 19:12:12):

Hi Franken!

Wie besprochen machen wir am:

16. Mai 1997 unseren ausserordentlichen Bergstammtisch ;)

Ich schlag mal folgendes als Treffpunkt vor:

15:00 am Bahnhof Erlangen fuer alle "Fruehgaenger", kann sich noch etwas
verschieben wegen Jaelle ...

19:30 am Pferdeteil unten fuer alle "Nachzuegler"

Wir metzeln uns am Besten zum Entlaskeller durch, daher die fruehe Uhrzeit ;)

Bitte irgendwen anmailen, damit wir in etwa wissen fuer wieviel Leute die
"Fruehschicht" besetzen muss ;)

Eisbaer Escubar

PS: Wenn noch irgendwelche Nichtfranken kommen wollen, Ihr seid gerne
willkommen, grade zur Bergkirchweih ist es in Erlangen echt cool ...

PS2: Nehmt Euch die Nacht frei, nach dem Berg gehts noch ins E-Werk ...

.,

-----------------------------------------------------------------------------



Re: Bergstammtisch in Erlangen! (Schlips, 11. Mai 1997, 19:54:10):
~#! rn=Escubar rt=863370732 rg=treffen
~#! tid=863370732
Muss man am Entla's Keller nicht erst nach 8 metzeln?
Naja - ich bin jedenfalls dabei, ob ich's zur Fruehschicht schon schaff
weiss ich noch nicht.

Ein Schlips.
Enthaelt: Tonkrug (gezueckt)
          Bergkirchweihausruestung (angezogen)

-----------------------------------------------------------------------------



Re: Re: Bergstammtisch in Erlangen! (Marcus, 11. Mai 1997, 21:41:10):
~#! rn=Schlips rt=863373250 rg=treffen
~#! tid=863370732
Entla's Keller wird erst ab 21:00 richtig spannend... wenn die Musi anfaengt
und die Leute auf die Tische steigen... Fuer die ganz harten ist dann
angesagt:
Vorne, Gang direkt vor der Buehne... Miniquests:
- Menschenmassen, die von den Baenken fallen auffangen.
- NPCs, die masskruegeweise Bier verschuetten (BierVerSchuettler?) ausweichen 
- mitgroehlen so laut es geht... 
- sich keine Sorgen machen, das man umfaellt... man kann gar nicht ;)

[hey, die letzten 3 jahre hab ich das mitgemacht ;)]

Marcus

-----------------------------------------------------------------------------



Re^3: Bergstammtisch in Erlangen! (Dauergast, 13. Mai 1997, 12:37:06):
~#! rn=Marcus rt=863379670 rg=treffen
~#! tid=863370732
hi, Franknix!

Tut Entlas denn wirklich not??

Mir persoenlich (leicht claustro- und ziemlich publio-phob) waere ein 
etwas ruhigerer Keller, mehr im Zentrum des Berges, lieber...
Wie waere es denn mit FSV?

Gruss, Dauergast

-----------------------------------------------------------------------------



Re^4: Bergstammtisch in Erlangen! (Schlips, 13. Mai 1997, 18:07:14):
~#! rn=Dauergast rt=863519826 rg=treffen
~#! tid=863370732

das koennen wir ja am Freitag eigentlich noch spontan ausmachen - 
im Prinzip ist es am Entlas ja erst ab neun interessant (wie Marcus schon
meinte) davor ist es dort auch ganz gemuetlich.
Also ich wuerde nach so gegen neun schon gern dorthinsehen - fuer mich ist das
DIE Attraktion (auch wenn ich mir inzw dort schon etwas alt vorkomme)

-----------------------------------------------------------------------------



Re: Bergstammtisch in Erlangen! (Highlander, 15. Mai 1997, 12:29:00):
~#! rn=Escubar rt=863370732 rg=treffen
~#! tid=863370732
Wir (Doris and me) kommen um 3 an den Bahnhof, wartet also bitte ggf :>
Uebrigens: Sind auch eher abgeneigt gegenueber Enge und Massen und
starkem Laerm.
  Highlander

-----------------------------------------------------------------------------



BRAUNSCHWEIGER *S*T*A*T*I (Critter, 16. Mai 1997, 15:11:49):
Der naechste braunschweiger stammtisch...
Ist am Freitag den 13.06.97
um 20.00 im Viertel nach (fuer mathematiker: 1/4 nach)
auf dem bueltenweg in braunschweig...
critter
ach ja bitte mir mailen wer denn so alles kommen sollte:
entweder: Critter@unitopia.uni-stuttgart.de
oder critter@seifenblase ....
auf GAR KEINEN FALL hier inne zeitung.... 
weil ich mit der net umgehen kann :)
aber ansonsten tuts natuerlich auch critter@morgengrauen


-----------------------------------------------------------------------------



Bericht vom Berg - oder: Finde Key! (Schwips, 17. Mai 1997, 12:35:16):
So die Festplatte geht wieder - dann kann hier ein kleiner Bericht von
Der Berchkaerwa folgen:
 
Es begann am Nachmittag als sich ein kleiner Haufen Verrueckter (naja
es waren wohl so 10 Leute) am Erlanger Bahnhof trafen. Angesichts des
schoenen Wetters haben wir erts mal einen kleinen Haken geschlagen,
Richtung Eisdiele (kommentar von ???: ist das nicht die falsche
Richtung?). Anschliessend gings dann aber in gerader Linie auf den
Berch. Nachdem einige Leute gewisse Vorbehalte gegenueber dem Entlas'
Keller hatten sichterten wird uns eine Bank in einem benachbarten
Keller (5 Meter von der Box). Die Berch-Unkundigen brechen dann, unter
fachklundiger Fuehrung des Berch-Magiers Highlander zu einem Rundgang
auf, waehrend der Rest den gegen einige nervige Gaeste verteidigte.
Dann galt es Genesys und Key zu treffen, was leider daran scheiterte,
dass beide im Stau bei Schluesselfeld (?) festhingen (war das schon
ein Hinweis auf unsere spaetabendlichen Schluesselprobleme?).
Nunja, inzwischen begannen Dauergast und Jaelle mit ihrer Miniquest:
2 Chemiker gegen 6 Informatiker, die sie im Verlauf des Abends auch
bravuroes meisterten (wie war noch gleich der Endstand? Ich glaube die
Chemiker fuehrten schliesslich mit 1-2 Mass.
Schliesslich waren dann doch noch Genesys und Key am vereinbarten
Treffpunkt. Im Keller stieg die Stimmung mittlerweile ihrem Siedepunkt
entgegen; die Musik wurde besser. (Sogar ich als absoluter Entlas' Fan
muss zugeben, dass die letzten 1 1/2 Stunden klasse waren - auch wenn
am Entlas' alles noch einen Kick mehr haette: noch weniger Platz; noch
mehr Gewippe auf den Baenken, noch mehr Gefahr fuer Lein und Bier ...).
Highlander (+ Doris) verliessen uns dann bevor die Stimmung so richtig
ausgelassen wurde (goto home). Der Rest hielt aus, auch wenn es bei
Rolling Stones, Westernhagen, Drafi Deutscher ... (was man halt so auf
ner richtigen fraenkischen Kaerwa so hoehrt) immer schwieriger wurde die
Balance zu halten. Vor allem Dauergast und ein paar volle Massen hatten
dabei so ihre Probleme ;).
Bei dem dichten Gewuehl wurde auch der Weg zum Klo immer schwieriger.
Gegen viertel elf (22:15 fuer die des Fraenkischen nicht maechtigen
Leser) machte sich dann Key auf diesen Weg und ward seither nicht mehr
gesehen. Um elf war es dann zuende, bzw da schliessen die Keller und
die Musiker beenden mit dem Kultlied 'Lilly Marleen' ihren Abend.
Doch wo war Key? Kurz vor dem erfolgreichen Ende unserer Bergkirchweih-
Quest hatten wir doch glatt unseren Schluessel verloren. Zunaechst mal
warteten wir am Keller. Schlips und Dauergast suchten den Weg zum Klo
mal ab - kein Key. Selbst bei Escubar dem Zaubereisbaer versagte das
'finde key'. Lag das nun am besoffen Zaubern, oder befand sich Key
in einem Gebiet, das ploetzlich abgehaengt worden war und irrte dort
umher? Die Spekulationen fuer Key's Verschwinden reichten von falschem
Wegescript bis hin zu Raeubergebuesch.
Nach einer weiteren halben Stunde am Keller war es ziemlich ausgeschlossen
dass Key von selbst auftauchen wuerde, also machten wir uns selbst auf
die Suche. Zuerst also zu dem Reit-Teil, wo wir Key und Genesys am Abend
getroffen hatten. Mit einem 'untersuche alles'-Script liesen Escubar,
Jaelle und Genesys keinen Winkel ununtersucht. Die Frage blieb trotzdem:
Wo ist Key? Nun begannen wir systematischer vorzugehen: Escubar
durchkaemmte den oberen Teil des Berges, Damien den Keller nochmal. Der
Rest wartete am Reit-Teil. Key tauchte nicht auf :(
Also, letzte Hoffnung: das Auto am Parkplatz. Vorbei an 3-4 Diskotheken,
20 Kneipen (reicht das??) - sollte Key dort drin sein? Dort suchen war
jedenfalls sinnlos, man kam eh nicht durch in dem Gewuehl. Also Parkplatz.
Aber auch am Auto war keine Spur von Key. Was also tun? Nachdem auch
Genesys nach Befragung seines Kobolds (=Handi) keine Nachricht von Key
hatte standen wir auf ziemlich verlorenem Posten. Zuerstmal schrieben
wir eine Nachricht an Key und liessen sie auf dem Parkplatz zurueck.
Das Blatt wurde mit einem Zaubertrank beschwert, den Schlips in einer
Querstrebe des Parkhauses gefunden hatte. Dann begann eine wilde
Scripterei mit dem Auto durch Erlangen - zurueck zum Berg. Escubar
und Schlips durchkaemmten nochmal den unteren Teil des Bergs. Genesys,
Damien und Nachtwind folgten. Doch da waren schon die Aufraeumarbeiten
(mit dem Wasserschlauch) im Gange. Wenn Key nicht gefunden wurde so
waere er doch zumindest fortgespuelt worden.
Was blieb? Der Bahnhof - Kannix und Schlips scripteten also an den
Erlanger Bahnhof, doch auch dort kein Key. Inzwischen waren auch
Escubar, Jaelle, Genesys, Nachtwind und Damien am Bahnhof. Wir
beschloessen die Suche erstmal abzubrechen und im MG einen Steckbrief
aufzugeben. Schlips eilte ins Institut, Kannix und Nachtwind ins
Rechenzentrum und der Rest nach Nuernberg, wo sie ebenfalls erstmal
den Bahnhof durchsuchten. Im MG fiel erstmal Lug aus allen Wolken.
Nach und nach sickerten auch die letzen Suchmeldungen durch:
Nachforschungen bei der Erlanger Polizei und im Krankenhaus waren
erfolglos. In Nuernberg am Bahnhof war er auch nicht.
Schlips (und wahrscheinlich auch den anderen) fielen schon allmaehlich
die Augen zu. Also ausgeloggt. Er beschloss noch einen letzten Versuch
zu unternehmen und auf der Heimfahrt ein paar dunkle Gassen zu
durchfahren. Der Weg fuehrte auch am Bahnhof vobei - warum also nicht
dort nochmal nachsehen. Tatsaechlich das auf einer Bank auch ein
zusammengesunkenes Haeuflein Elend. Also 'und haeuflein': Du kannst
zwei Ringe erkennen, die Dir bekannt vorkommen (Da war ich mir dann
sicher). 'Schuettel Haeuflein' - eine leere Bifi-Huelle faellt aus der
Hand. 'Sag: Hey Key' und 'schuettel nochmal kraeftig'. Langsam tauchte
ein Gesicht aus dem Buendel Stoff auf. Es war Key!! Es blickte noch
etwas verdutzt und wusste noch nicht wie ihm geschah (wahrscheinlich
dachte er im ersten Moment er sei mal wieder bei Lars). Wir beschlossen
erstmal ins Institut zu gehen und dem MG die frohe Kunde zu bringen.
Das war leichter gesagt als getan - Key schwankte doch betraechtlich.
Unterwegs versuchte ich dann herauszukriegen was passiert war, doch
er konnte sich an nichts mehr erinnern. Er murmelte was von '... wo
seid ihr hin, ich hab euch nicht mehr gefunden ...' '... irgendwann
hab ich was gegessen ...' '... die Polizei ist mir auch begegnet - aber
frag mich nicht was die wollten ...'
Naja schliesslich organisierten wir die Fahrt nach Nuernberg. Hermione
und Escubar holten Key aus Erlangen ab. Gegen 4 Uhr morgens hatte die
Suche ein Ende und es hiess:
 
[Abenteuer: Quest] Damien, Dauergast, Genesys, Hermione, Highlander
[Abenteuer: Quest] (+ Doris), Jaelle, Kannix, Marcus, Nachtwind, Schlips
[Abenteuer: Quest] haben gerade ein Abenteuer bestanden: Finde Key.
[Abenteuer: Quest] Key knuddelt alle und ruft: Endlich habe ich meinen
[Abenteuer: Quest] Bergschein bekommen !!!
 
 
                        B E S T A E T I G U N G
 
Hiermit wird bestaetigt, dass Key ordnungsgemaess an den kleinen
Exkusionen zum Berg teilgenommen hat.
 
                                      gez. Bergkoenig Pinsel
 
 
(da hat der Koenig wohl ein Auge zugedrueckt ;)
ich hoffe ich hab niemanden vergessen, aber ihr koennt das ja ergaenzen ...
 
Schlips
 

-----------------------------------------------------------------------------



Der Berg - die 2. (Schlips, 20. Mai 1997, 00:14:59):
So - wo fang ich an ....
 
Also, weil der letzte Freitag so toll war (abgesehen von einigen
Bierleichen *zu Key ruebergrins*) wollen wir uns nochmal am Berg
treffen.
 
Falls also noch jemand Lust bekommen hat sich Deutschlands groessten
Biergarten anzusehen, kann er gerne vorbeischaun.
Was den ZEITPUNKT anbelangt, dachten wir an naechsten Samstag, und
noch relativ sicher einen Platz zu bekommen sollten wir uns um etwa
5 Uhr treffen. Am besten auch wieder an dem Reit-Teil wie letzten
Freitag.
 
Damit ihr wisst worauf ihr euch einlasst, hier der Berg in Stichpunkten:
Die Mass zu knapp 10 Mark (+ 5 Mark Krugpfand) wird in insgesamt 11
Kellern (Biergaerten) und 4 Festzelten auf insgesamt 20000 Plaetzen
ausgeschenkt. Die Musik reicht von RumTaTa (wo das gespielt wird kann ich
net sagen, in den Kellern bin ich nie :) bis zu ja Rockmusik. Der
Keller wo wir letzten Freitag waren war eigentlich net schlecht.
Gewohnlich wird die Musik besser je spaeter der Abend, und um elf
ist dann alles vorbei. Wer danach noch nicht genug hat verteilt sich
aufdie Kneipen oder ins Bergwerk.
 
Wer kommen moechte sollte am besten eine MUDMAIL AN Escubar oder
mich schicken. Dann versuchen wir das etwas zu koordinieren.
 
Schlips, kommt grad vom Berg ...
 

-----------------------------------------------------------------------------



Re: Re: Der Berg - die 2. (Gnome, 20. Mai 1997, 00:21:57):
~#! rn=Key rt=864080221 rg=treffen
~#! tid=864080099
hi,
aeh... um elf ist alles vorbei? ist das euer ernst?
oder meinst du um elf in der frueh? ;-)

gnOme, verwirrt

-----------------------------------------------------------------------------



Re^3: Der Berg - die 2. (Schlips, 20. Mai 1997, 01:05:09):
~#! rn=Gnome rt=864080517 rg=treffen
~#! tid=864080099
Ja, 23:00 ist (zumindest am Berg) alles vorbei. Schaetz mal das hat zum
einen Laermschutzgruende, zum andern haben die Bedienungen in den Kellern
dann auch schon nen ganzen tag hinter sich. Das ganze beginnt um 10 oder
11 Uhr morgens.
Aber wie gesagt - danach gibst dann noch das Bergwerk (E-Werk Dikosthek)
bis ??? und ausserdem die zig Kneipen Erlangens - die oeffen dann naemlich
erst ;)

Tja und Key, wir haben natuerlich nix dagegen wenn Du nochmal kommst
(im Gegenteil) - aber sag und doch diesmal gleich, wann wir Dich dann
(nachts) am Bahnhof abholen sollen ;)

Schlips denkt (wer den Schaden hat braucht fuer den Spott nicht zu
sorgen ....)

-----------------------------------------------------------------------------



*grummel* (Grimmborn, 20. Mai 1997, 11:48:32):
Also, ich hab auf vielfachen Wunsch den Kram nach muell verlegt (auch wenn ich
ihn ganz amuesant fand, aber wenn ich 24 Artikel nach shcmarrn lege, werde ich
ja doch nur gesteinigt...). Und ich nehme mir jederzeit die Freiheit, lange
Wochenenden oder sonstwie Gelegenheiten fern vom mud zu verbringen, ohne dass
ich hier hinter euch Kleinkindern herraeume. Beschwerdemails deswegen bitte an
Gast1.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: *grummel* (Boing, 20. Mai 1997, 12:34:34):
~#! rn=Grimmborn rt=864121712 rg=treffen
~#! tid=864121712
Gute Aktion! Ich habe heute zum allerersten mal die Rubrik treffen ueber-
gehen muessen, weil ich es nicht mehr ertragen konnte. Es sollte hier
schon moeglich sein, sich darueber zu informieren, wo und wann Treffen
sind, ohne sich durch einen Berg sinnlosen Geschwalles wuehlen zu muessen,
macht das bitte in schmarrn.
  Boing

-----------------------------------------------------------------------------



Bin weg (Schrumpfi, 22. Mai 1997, 03:49:54):
Hi
Ich verabschiede mich aus dem MG. Hab aus diversen Gruenden keinen Bock mehr
aufs MG.
Amazora lasse ich zum Mail lesen hier.
Tschuess
Schrumpfi

-----------------------------------------------------------------------------



Altbierfest (Kartoffel, 25. Mai 1997, 23:08:11):
Nachdem der Berg gerufen hat, ruft jetzt der Rhein :

Naechstes Wochenende (30.5. - 1.6.) ist in der Duesseldorfer Altstadt 
      * * * A L T B I E R F E S T * * *

Wie siehts aus??

Kartoffel

-----------------------------------------------------------------------------



Re: Altbierfest (Grimmborn, 26. Mai 1997, 10:04:49):
~#! rn=Kartoffel rt=864594491 rg=treffen
~#! tid=864594491
Danke, mir ist schon schlecht.

Grimmborn der Atheist aus Koeln

-----------------------------------------------------------------------------



altbierfest (Dolph, 26. Mai 1997, 10:16:39):
~#! rn=Grimmborn rt=864633889 rg=treffen
~#! tid=864594491
Schade ich wuerde gerne kommen ! * trauer *

Ich wuensch euch viel Spass und trinkt einen fuer mich mit.

Lieber ein Alt als 5 Koelsch.

Dolph der Durstige

-----------------------------------------------------------------------------



Re: Altbierfest (Pampers, 26. Mai 1997, 11:23:16):
~#! rn=Kartoffel rt=864594491 rg=treffen
~#! tid=864594491
Wer Altbier trinkt, der tritt auch alten Omis den Krueckstock weg.

Pampers. Pils- oder Weizentrinker.

-----------------------------------------------------------------------------



Re: Re: Altbierfest (Key, 26. Mai 1997, 12:41:45):
~#! rn=Pampers rt=864638596 rg=treffen
~#! tid=864594491
Macht doch Spass, oder? :))
Nene ernsthaft Altbier schmeckt auch net schlecht :)
Key

-----------------------------------------------------------------------------



Re: Altbierfest (Jasper, 26. Mai 1997, 12:50:40):
~#! rn=Kartoffel rt=864594491 rg=treffen
~#! tid=864594491
gibts da auch bier???

-----------------------------------------------------------------------------



NICHT-Stammtisch in Koeln (Orktoeter, 27. Mai 1997, 12:38:06):
Morgen Abend ab 21:00 in Koeln, Zuelpicherstr. Limerick (das ist ein
Irish-Pub, da wird auch richtiges Dart gespielt).
Wer Lust und Laune hat, kann ja vorbeikommen.
Fryder kommt, Skipper vileicht, ich auch (hihi, wer hat wohl alles bis gerade
ueberlegt zu kommen und es sich justamente anders ueberlegt ?).

OrkT.

-----------------------------------------------------------------------------



TUe-Stammtisch (Morgar, 27. Mai 1997, 14:42:11):
So, diesen Freitag (30.5.) findet mal wieder ein Tuebinger Stammtisch statt.
Ort und Zeit: 20 Uhr in der Marqurtei (fragt mich bloss nicht nach ner
Wegbeschreibung. Fragt lieber Loco, der kennt sich besser aus.)

Morgar (Eins)

-----------------------------------------------------------------------------



Re: TUe-Stammtisch (Astar, 27. Mai 1997, 14:42:59):
~#! rn=Morgar rt=864736931 rg=treffen
~#! tid=864736931
zwei

Astar

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Hardil, 27. Mai 1997, 15:14:12):


Stammtisch in Dortmund ist abgeschafft.
5 Leute letztesmal waren zu wenig, und die Quest mit den Zigaretten an der
Schnur hat auch nur ein Magier kapiert.
Ab jetzt uebernimmt Augra das ganze und der Stammtisch ist in Bochum.
Augra hat naemlich auf dem letzten Stammtisch gemeckert.
Jetzt hat sie uns alle am Hals. So ein Pech.

-Hardil. Vollstrecker.

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Hate, 27. Mai 1997, 15:20:01):
~#! rn=Hardil rt=864738852 rg=treffen
~#! tid=864738852
Tja und dann isse einfach weg, So ein Pech ;-)

Hate.

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Augra, 27. Mai 1997, 15:21:30):
~#! rn=Hardil rt=864738852 rg=treffen
~#! tid=864738852
1. Ich hab nicht gemeckert, worueber auch?

2. Am Samstag kommt der Moebelwagen, und dan zieh ich nach Berlin, waer also
ziemlich witzlos, wenn ausgerechnet ich nen Stammtisch in Bochum organisieren
wuerde.

3. Natuerlich waer es nett, wenn die Bochumer wieder aktiver ins
Stammtischgeschehen eingreifen wuerden. Helva hat sich schon erboten, den
treff im clochard wieder zu beleben. :)

Augra, auf gepackten Koffern sitzend.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Bloodyharry, 27. Mai 1997, 15:25:08):
~#! rn=Augra rt=864739290 rg=treffen
~#! tid=864738852
Hmm, warum machen wir nicht mal ein Treffen in Castrop-Rauxel?
Das laege so ungefaehr zwischen Bochum und Dortmund.
Und ich haette das nich so weit. :)

bh

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Astar, 27. Mai 1997, 15:26:25):
~#! rn=Bloodyharry rt=864739508 rg=treffen
~#! tid=864738852
Mach doch, aber sag rechtzeitig bescheid :)

Astar

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Mupfel, 27. Mai 1997, 18:00:52):
~#! rn=Augra rt=864739290 rg=treffen
~#! tid=864738852
naja dann ist der stammtisch halt nach berlin verlegt :-)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Shakedbeer, 27. Mai 1997, 22:18:56):
~#! rn=Mupfel rt=864748852 rg=treffen
~#! tid=864738852
Also ich fahre am Fr nach Dortmund (Gegen 20:00 im Walhalla) wer frueher
kann, sollte schon mal nen Tisch reservieren (oder 2 oder 3...)

Shaky.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Guldukat, 27. Mai 1997, 22:24:05):
~#! rn=Bloodyharry rt=864739508 rg=treffen
~#! tid=864738852
Castrop Rauxel is ja fast genauso schlimm wie Bottrop!

nich hauen! ;)
GD

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Guldukat, 27. Mai 1997, 22:24:49):
~#! rn=Hardil rt=864738852 rg=treffen
~#! tid=864738852
Hehe, und du musstest die dinger ja abfackeln!

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Anatol, 27. Mai 1997, 22:28:26):
~#! rn=Guldukat rt=864764689 rg=treffen
~#! tid=864738852

Schaemet euch nicht, letzten Dienstag waren es in Muenster genau 6 Personen...
Davon nur 2/3 aus Muenster selbst. :) Armutszeugnis...

Anatol


-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Bloodyharry, 28. Mai 1997, 02:33:28):
~#! rn=Guldukat rt=864764645 rg=treffen
~#! tid=864738852
Mag sein. Aber noch schlimmer ist es, wenn man den Bindestrich zwischen
Castrop-Rauxel vergisst! ;-)

bh

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Har, 28. Mai 1997, 09:21:59):
~#! rn=Guldukat rt=864764645 rg=treffen
~#! tid=864738852
Hoemma Guldukat!
Wat denks Dich dabei Castrop mit Bottrop zu vergleichen zu tun. Dich hat woll
ein Dortmunder gezeucht, Du hast ja nicht alle Laateks stramm. Castropper sind
bloede Bumskoeppe die alle wat anne Kirsche haben, Geldgierich sind und et mit
Schanes und Kuehens tun!

Har (Bottrop)

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Aline, 28. Mai 1997, 18:35:34):
~#! rn=Shakedbeer rt=864764336 rg=treffen
~#! tid=864738852

Also ich finde 5 Leute auch nicht zuwenig und deshalb komm ich am Freitag
auch. Freu mich schon :)

Aline
P.S.: zur Not sitz ich halt mit Shaky alleine da.........waere auch nicht das
1. Mal, dass nur 3 Leute da sind.

-----------------------------------------------------------------------------



Re^5: Stammtisch in Dortmund (Grimmborn, 28. Mai 1997, 18:57:24):
~#! rn=Aline rt=864837334 rg=treffen
~#! tid=864738852
Huch, Aline ist zu dritt ("Mit Shaky allein... nur drei Leute da")? Da
gratuliere ich doch herzlich und warte auf die Einladung zur Taufe. ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Stammtisch in Dortmund (Paracelsus, 30. Mai 1997, 09:14:42):
~#! rn=Grimmborn rt=864838644 rg=treffen
~#! tid=864738852
Naja, ich werd wohl auch da sein. Sind wir damit jetzt 3 oder 4? *gruebel*
Para*

-----------------------------------------------------------------------------



Re^7: Stammtisch in Dortmund (Pampers, 30. Mai 1997, 10:48:18):
~#! rn=Paracelsus rt=864976482 rg=treffen
~#! tid=864738852
5. Ich komm naemlich auch.

Pampers.

-----------------------------------------------------------------------------



Re^7: Stammtisch in Dortmund (Silvana, 30. Mai 1997, 11:09:12):
~#! rn=Paracelsus rt=864976482 rg=treffen
~#! tid=864738852
Dann hoff ich mal, dass Aline das rosa Schleifenband nicht vergisst. :)
  Silvana

-----------------------------------------------------------------------------



Stammtisch in Erlangen (Schlips, 30. Mai 1997, 13:10:30):

Hi

naechsten Donnerstag ist ja schon wieder Juni - das heisst, es ist
auch wieder MUD-Stammtisch:

Donnerstag, 5. Juni, 19.00 im Pleitegeier

Bitte geht mir (uebers MUD oder per MUDMAIL) bescheid, wenn ihr
kommt, damit ich einen Tisch reservieren kann (und weiss ob ich
fuer 10 oder 20 Leute reservieren soll ;)

Schlips

-----------------------------------------------------------------------------



Re^6: Stammtisch in Dortmund (Kramka, 30. Mai 1997, 15:40:25):
~#! rn=Grimmborn rt=864838644 rg=treffen
~#! tid=864738852
Am besten du liest Aline's Artikel noch mal. Dann wird dir der Sinn vielleicht
auch noch aufgehen .

Kramka

-----------------------------------------------------------------------------



BerlSta (Anakyn,  1. Jun 1997, 22:28:35):
Hi,

Am 4. Juni um 20.00 wie immer Stammtisch im Berlin, Prenzlberg, Rykestrasse,
Seeblick.

Anakin.

-----------------------------------------------------------------------------



MG-Treff in Bielefeld! :) (Ancalagon,  2. Jun 1997, 10:45:06):
Knuddels! :)
Der naechste Mittwoch ist mal wieder der erste eines Monats, und deswegen
findet am selbigen tage auch der Bielefelder MG-ZTreff statt. Wie immer im
Cafe Mint und so ca. ab 19.30 ct! .:)
Wunder-,Ander-, Silber- und sonstiger -laender, sind natuerlich ebenfalls
willkommen...
Also, kommet zuhauf!
Knuddels,
                                         Ancalagon
                                 Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Stammtisch in Erlangen (Schlips,  2. Jun 1997, 20:35:26):
~#! rn=Schlips rt=864990630 rg=treffen
~#! tid=864990630
Oki,

ich hab grad mal den Tisch im (Pleite)Geier reserviert - ich hoff
das klappt diesmal besser und sie verschmeissen das nicht wieder.

Jedenfalls sollten jetzt fuer Donnerstag 15 Plaetze reserviert sein,
auf den Namen 'Winkler'. Ich selbst werd moeglicherweise etwas
spaeter kommen (geb mir nach ein paar Jahren mal wieder ne Vorlesung ;)

Bis denn, Schlips

-----------------------------------------------------------------------------



Stammtisch in Bonn (Zephyr,  2. Jun 1997, 21:29:33):

Nach Jahren der Abstinenz ist es nun auch in Bonn wieder mal so weit:

     Donnerstag, 5.6 ab 19 Uhr

findet im Irish Pub am Mauspfad mal wieder ein Stammtisch statt.
Wegbeschreibungen fuer Interessierte gibts auf Anfrage bei mir :)

*knuddel*
           Zephyr, heut voellig unkreativ, aber dem Stammtisch
                   ne Chance geben wollend

-----------------------------------------------------------------------------



Re: Stammtisch in Bonn (Grimmborn,  2. Jun 1997, 21:31:14):
~#! rn=Zephyr rt=865279773 rg=treffen
~#! tid=865279773
Ich moechte das Augenmerk auf diese Dinge lenken:
Stammtisch in Bonn (Zephyr,  2. Jun 1997, 21:29:33):
[Stammtisch] Donnerstag, 5.6 ab 19 Uhr
Zephyr, [...] dem Stammtisch ne Chance geben wollend

Na, faellt was auf? ;-)

GdA

-----------------------------------------------------------------------------



Re^3: Stammtisch in Bonn (Grimmborn,  2. Jun 1997, 21:35:01):
~#! rn=Zephyr rt=865280013 rg=treffen
~#! tid=865279773
Ich wollte mehr daruaf hinaus, dass es sehr glaubhaft ist, wenn man sagt, man
will einem Stammtisch eine Chance geben und ihn dann praktisch zwei Tage
vorher ankuendigt. Aber ich hab da wohl zu kompliziert gedacht. Jedenfalls
kann ich nicht, aber ich waere wohl auch nicht gekommen,w enn ich gekonnt
haette. ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Helva,  3. Jun 1997, 22:12:25):
~#! rn=Augra rt=864739290 rg=treffen
~#! tid=864738852
zu 3. Ja, habe ich wirklich Lust drauf ;). Ich waere allerdings fuers Unikum
und jeder, der Interesse hat, kann mir ja mal seine Terminvorschlaege mailen.
Helva **

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Quillian,  3. Jun 1997, 22:47:00):
~#! rn=Helva rt=865368745 rg=treffen
~#! tid=864738852
Hmm, nach Bochum wuerd ich der alten Zeiten wegen (als es in Dortmund noch gar
kein Internet gab :)) auch kommen. Also los Augra, organisier mal :)

Quilli

-----------------------------------------------------------------------------



Stuttgartaufenthalt (Bendeigid,  4. Jun 1997, 16:46:53):
Halloele Stuttgarter und naehere Umgebung,

vermutlich werde ich in der Woche vom 15.6. bis 20.6. in Stuttgart weilen.
Wenn irgendwer da unten Lust und Laune hat, sowas wie ein Minitreffen zu
organisieren (ich kenn mich absolut nicht aus da...), dann kann ich mal
schauen, ob ich das irgendwie auf die Reihe kriege, mal vorbeizuschauen.

Irgendwer Interesse? Oder hockt ihr schon in den Fluchtstartloechern?

Z'par Servu,
           Bendeigid

-----------------------------------------------------------------------------



Re: Stuttgartaufenthalt (Loco,  4. Jun 1997, 18:30:34):
~#! rn=Bendeigid rt=865435613 rg=treffen
~#! tid=865435613
Falls Dir Tuebingen nah genug an Stuttgart ist, sollte sich da sicher was
spontan machen lassen ... wir haben ja ein paar Leute hier. Umgekehrt koennte
ich mir auch vorstellen, dass ein paar Tuebinger evtl nach Stuttgart kommen
wuerden, falls da was organisiert wird.

Loco
zustaendig fuer Stadtfuehrungen, Wegbeschreibungen und Verkehrsverbindungen.

-----------------------------------------------------------------------------



Re: Re: Stuttgartaufenthalt (Yantro,  5. Jun 1997, 09:04:43):
~#! rn=Loco rt=865441834 rg=treffen
~#! tid=865435613

Bende, inStuttgart solltest du dich mit ein paar Leuten aus UNItopia
treffen... vielleicht findest du gefallen und aeh... weisst schon :)

Yantro, bissig

-----------------------------------------------------------------------------



Re^3: Stuttgartaufenthalt (Mupfel,  5. Jun 1997, 23:03:14):
~#! rn=Yantro rt=865494283 rg=treffen
~#! tid=865435613
Er hat bereits, Yantro... 

-----------------------------------------------------------------------------



Re^4: Stuttgartaufenthalt (Bendeigid,  6. Jun 1997, 08:46:13):
~#! rn=Mupfel rt=865544594 rg=treffen
~#! tid=865435613
Joh, wenn ihr soooooo gemein seid, dann geh ich eben zur Konkurrenz! Jawollja,
das habt ihr nu davon. Und am besten nehm ich jemand ganz bestimmtes aus Koeln
mit. Kennst Du auch Yantro, klein und suess und blond und hast mal versucht
dran zu graben, deshalb ist sie im Uni ;))

*grins Mupfel*

Z'par Servu,
            Bendeigid

-----------------------------------------------------------------------------



Re^5: Stuttgartaufenthalt (Yantro,  6. Jun 1997, 09:54:23):
~#! rn=Bendeigid rt=865579573 rg=treffen
~#! tid=865435613
 Ist das so einfach, Leute loszuwerden?

Yantro, graebt jetzt Orktoeter an.

-----------------------------------------------------------------------------



Re^6: Stuttgartaufenthalt (Orktoeter,  6. Jun 1997, 09:58:16):
~#! rn=Yantro rt=865583663 rg=treffen
~#! tid=865435613
Nicht doch Schnuckelchen, sonst hast du hinterher noch Erflog !

Hai tai tai (oder so)

OrkT.

PS: ab nach schmarrn.

-----------------------------------------------------------------------------



DD-Treffen ... Report ... (Mahatmu,  6. Jun 1997, 12:57:20):
Kurzreport. Wir haben alle Patryn ob seiner Ratten zusammengeschlagen.
Blutend und am Boden liegend schwor er uns Rache mit noch netteren
Monstern. Daraufhin wurde er mit Martini abgefuellt, damit er nicht
noch auf dumme Ideen kommt ;-)
Bis auf die ueblichen Kneipenschlaegerein sonst nichts weiter
Interessantes. Eine Ex-Sonnenblume wurde gegen vier Uhr schnarchend
auf einer Wiese gesichtet. Wozu Mudden doch so alles fuehrt.

Gloin

-----------------------------------------------------------------------------



Re: DD-Treffen ... Report ... (Patryn,  6. Jun 1997, 13:04:41):
~#! rn=Mahatmu rt=865594640 rg=treffen
~#! tid=865594640
voellig falsch....abgefuellen musste ich mich selbst, da ich nix verraten
hab...und so schlimm wars ja nu doch nicht :)
schliesslich konnte ich danach noch mudden *grins*

------
patryn

-----------------------------------------------------------------------------



Re: Re: DD-Treffen ... Report ... (Mahatmu,  6. Jun 1997, 13:06:32):
~#! rn=Patryn rt=865595081 rg=treffen
~#! tid=865594640
Da will man schon mal einen in Miskredit bringen. Noja. Gibt ja noch
Muenster. Oehm :)

Gloin

-----------------------------------------------------------------------------



Re^5: Stuttgartaufenthalt (Key,  6. Jun 1997, 13:53:00):
~#! rn=Bendeigid rt=865579573 rg=treffen
~#! tid=865435613
Kleiun suess und blond Bende? :)
Ich will Fotos, Namen, Beweise ;)

Key


-----------------------------------------------------------------------------



Re^6: Stuttgartaufenthalt (Orktoeter,  6. Jun 1997, 13:55:57):
~#! rn=Key rt=865597980 rg=treffen
~#! tid=865435613
Bweise ?
Hmm an was denkst du ? Hoeschen ?
Tststststs

OrkT.

-----------------------------------------------------------------------------



Re^7: Stuttgartaufenthalt (Key,  6. Jun 1997, 13:58:41):
~#! rn=Orktoeter rt=865598157 rg=treffen
~#! tid=865435613
*lach*
Hmm ich weiss ja nicht recht was du so an einem Hoeschen alles erkennen kannst
... Aber ob man dadurch rausfinden kann ob sie suess, blond und klein ist? .)
Naja hmm oki blond evtl :)

Key

-----------------------------------------------------------------------------



Re^8: Stuttgartaufenthalt (Orktoeter,  6. Jun 1997, 14:02:46):
~#! rn=Key rt=865598321 rg=treffen
~#! tid=865435613
Nein, ich geh jetzt nicht darauf ein, ob man aus der groesse des Hoeschens
erkennen kann wie klein sie ist, sonst sind wir hier bald bei einer belgischen
Diskussion...

OrkT.

-> Schmarrn

-----------------------------------------------------------------------------



Re: Stuttgartaufenthalt (Janice,  6. Jun 1997, 15:30:14):
~#! rn=Bendeigid rt=865435613 rg=treffen
~#! tid=865435613
Ben in Stuttgart ?? ich wuerde ganz schnell Stuttgart verlassen, wenn
ich da leben wuerde *streck Ben die Zunge raus*

:-)
Janice

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Kartoffel,  7. Jun 1997, 13:14:10):
~#! rn=Quillian rt=865370820 rg=treffen
~#! tid=864738852

Also Mooooooooment mal,
wo ist denn das problem mit dem Dortmunder Stammtisch?

Das letzte mal waren immerhin 12 Leute da, is da etwa nix??

Kartoffel

-----------------------------------------------------------------------------



Re: Stammtisch in Bonn (Toe,  7. Jun 1997, 21:36:47):
~#! rn=Zephyr rt=865279773 rg=treffen
~#! tid=865279773
Hi Zephyr,
so wird das aber nie was...
Deine basisdemokratischen Entscheidungen sind leicht unregelmaessig und dann
auch noch echt kurzfristig. Ich dachte der 2. (zweite) Donnerstag sei jetzt
festgezurrt worden. Gestern noch mit twingi darueber gesprochen... Hm, war
also gestern/aeh Donnerstag..., naja MausTreff war auch ganz nett.

toe
P.S.: Sorry Zephyr, haette dir auch ne persmail schreiben koennen...

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bonn (Pra,  8. Jun 1997, 16:34:40):
~#! rn=Toe rt=865712207 rg=treffen
~#! tid=865279773
Hi Toe, du Schnarchseher!

Letzen Donnerstag war *Stammtisch*, und zwar ausser der Reihe.

Am 2. Donnerstag im Monat ist *Rudeln*, und das ist auch diesen Monat so:

Also auch fuer nicht Schnarchseher hier die Einladung:

Am Do, 12. 6. ist Rudelmudden in Bonn. 

Halt wie immer: Ab abends in den Baracken des Rechenzentrums, Wegelerstr.4
Terminals werden gestellt, Getraenke muss jeder selbst mitbringen.
Um ca. 21 uhr wird die Pizza bestellt.

War's das? Jo, das war's. Also bis Do in BN!

Pra.

-----------------------------------------------------------------------------



Nicht-Stammtisch in Koeln (Orktoeter,  9. Jun 1997, 10:13:47):
Hi !
Am Mittwoch Abend gegen 20:00 Uhr ist ein Treffen in Limerick in der
Zuelpicher Str.
Wenn das noch zu hat, im Irish Pub gegenueber, wenn auch der zuhaben sollte in
irgendeinem stassencafe in der Naehe, so das man die anderen sehen kann, wenn
sie kommen.

Bislang fest zugeagt haben : Fryder und meine wenigkeit.

OrkT.

-----------------------------------------------------------------------------



Re: Nicht-Stammtisch in Koeln (Baboon,  9. Jun 1997, 14:08:38):
~#! rn=Orktoeter rt=865844027 rg=treffen
~#! tid=865844027
Hm, ich seh das schon kommen, das wir wieder zu viert zwischen den geparkten
Autos rumsitzen und den ganzen Abend auf die Bedienung warten. Wird sicher
wieder sehr lustig. :-)

Baboon (kommt wohl auch wenn er nichts besseres zu tun hat)


-----------------------------------------------------------------------------



Re^6: Stuttgartaufenthalt (Mupfel,  9. Jun 1997, 22:38:20):
~#! rn=Key rt=865597980 rg=treffen
~#! tid=865435613
Fotos gibts im Web, wo sonst.

-mupfel-

-----------------------------------------------------------------------------



Party Im RZ!!! (Hermione, 11. Jun 1997, 11:14:34):
Hallo an alle Erlanger und solche dies werden wollen!
Am 13. 6. 1997 startet um 21:30 Uhr einen kleine Party im Cip-Pool (erster
Stock) im blauen Informatikerhochhaus von der Uni Erlangen.
Wer Lust hat zu kommen, kann kommen, sollte aber vorher mir oder Kannix
bescheid sagen (weil man um diese Uhrzeit ohne Code-Karte nicht mehr rein
kommt).
Wir freuen uns natuerlich ueber jeden der kommmt! :)))
(Teilnahme auf eigene Gefahr, Eltern haften fuer ihre Kinder, Alkoholleichen
werden umgehend exekutiert ;) )

Hermione :)

-----------------------------------------------------------------------------



Re: Party Im RZ!!! (Schlips, 11. Jun 1997, 12:19:25):
~#! rn=Hermione rt=866020474 rg=treffen
~#! tid=866020474
Hmm, ich werd kommen,

ich frag mich nur wie Alkoholleichen exekutiert werden ...
ich dachte immer die werden am Bahnhof abgeladen

Schlips

-----------------------------------------------------------------------------



Re: Re: Party Im RZ!!! (Rochus, 11. Jun 1997, 14:45:56):
~#! rn=Schlips rt=866024365 rg=treffen
~#! tid=866020474
Du hast es erraten - auf den Schienen. ;-)

-----------------------------------------------------------------------------



Re^3: Party Im RZ!!! (Grimmborn, 11. Jun 1997, 14:49:27):
~#! rn=Rochus rt=866033156 rg=treffen
~#! tid=866020474
Exekutieren ist sowieso ein Holzweg.
Das einzig richtige ist exhumieren.

GdA

-----------------------------------------------------------------------------



Berlin (Anakyn, 12. Jun 1997, 13:17:06):
Hi,

nexten Mittwoch, was so der 17te sein koennte
ist ExtraStammtisch in Berlin. 2000 im Seeblick wie
immer. Special Guest: Mieze.

Anakin.

-----------------------------------------------------------------------------



Re: Berlin (Anakyn, 12. Jun 1997, 13:18:06):
~#! rn=Anakyn rt=866114226 rg=treffen
~#! tid=866114226
Okok, ist der 18te.

Thx c4

Anakin.

-----------------------------------------------------------------------------



TUe-Stammtisch (Morgar, 12. Jun 1997, 13:27:08):
Der Termin fuer den Tuebinger Stammtisch hatt sich wegen Ueberschneidung mit
dem Dortmunder Stammtisch geaendert. Ab sofort findet er am ersten Freitag im
Monat statt.
Also:

Wann: erster Freitag im Monat, 20 Uhr
Wo: Marquartei
Ansprechpartner: Morgar

So, und ich fang schon mal fuer Juli mit zaehlen an, wer alles kommt...

Morgar: Eins

-----------------------------------------------------------------------------



Treffen in Hamburg (Hangover, 19. Jun 1997, 12:47:24):
Moin!

Alldieweil es ja doch eine Reihe Spieler in Hamburg gibt, wollen
wir uns mal treffen. Und zwar am 10. Juli (Donnerstag) ab 19 Uhr
in der Zinnschmelze (Maurienstr 19, das ist nahe der U-Bahnstation
Barmbek). Auswaertige Besucher sollten mich mal anschreiben, 
dann versuch ich mal ne ordentliche Wegbeschreibung zu erstellen
oder besorge Schlafplaetze...

Knuddels,
Hangover

-----------------------------------------------------------------------------



Stammtisch in DO? (Kartoffel, 19. Jun 1997, 23:59:20):

Halloele,

wie siehts denn aus? Halten wir den Stammtisch weiter aufrecht?
Dann waers am 27. wieder so weit.

Kartoffel

-----------------------------------------------------------------------------



Re: Stammtisch in DO? (Ringor, 20. Jun 1997, 00:00:18):
~#! rn=Kartoffel rt=866757560 rg=treffen
~#! tid=866757560
Aber klar tun wir das. 

Und bevor jemand ein anderes Lokal vorschlaegt: wie immer 20.00 Uhr im
Walhalla.

Ringor.

-----------------------------------------------------------------------------



Re: Stammtisch in DO? (Morgoth, 20. Jun 1997, 07:59:47):
~#! rn=Kartoffel rt=866757560 rg=treffen
~#! tid=866757560
Au ja, ich glaub ich werd auch mal wieder reinschauen. OHNE Bienchen !! ;-)) 
M*

-----------------------------------------------------------------------------



Stammtisch in Bonn (Zephyr, 20. Jun 1997, 09:51:15):
Nachdem der letzte Stammtisch ein voller Erfolg war, haben wir
beschlossen, eine Wiederbelebungsaktion zu starten. Der Bonner
Stammtisch wird in Zukunft wieder im zweiwoechigen Wechsel mit
dem Rudelmudden stattfinden, also an jedem vierten Donnerstag
eines Monats. Das naechste Treffen ist also naechste Woche,
   Donnerstag, 26.6. ab 19 Uhr um Irish Pub am Mauspfad
Wer eine Wegbeschreibung braucht, wende sich vertrauensvoll
an mich :)

Gruss & *knuddel*
                         Zephyr

-----------------------------------------------------------------------------



Re: Stammtisch in DO? (Aline, 20. Jun 1997, 10:33:29):
~#! rn=Kartoffel rt=866757560 rg=treffen
~#! tid=866757560

Klar halten wir den Stammtisch noch aufrecht.
Auch wenn wir nicht 30 Leute zusammenbekommen. Ich hab da naemlich von anderen
Stammtischen gehoert, die auch mit 3 Leuten zufrieden sind.......;)

Also Freitag den 27.6.97 ab ca 20.00 Uhr im Walhalla

Aline

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO? (Escubar, 20. Jun 1997, 19:05:40):
~#! rn=Aline rt=866795609 rg=treffen
~#! tid=866757560
Also Erlangen hats das letztemal schon auf 16 Leute gebracht!

Wir ueberholen Euch alle *grins*

Eisbaer Escubar

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO? (Shakedbeer, 20. Jun 1997, 22:25:25):
~#! rn=Escubar rt=866826340 rg=treffen
~#! tid=866757560
Ich bin auch mal wieder dabei!

Shaky.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO? (Bloodyharry, 22. Jun 1997, 02:27:18):
~#! rn=Morgoth rt=866786387 rg=treffen
~#! tid=866757560
Ohne Bienchen? Schade. Ich fand den rl knuddel so gut. Naja. Vor 22:00 Uhr
werde ich das wieder mal nicht schaffen. Und dann darf ich nich auf einen
dicht besetzten Stammtisch hoffen.

bh

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO? (Morgoth, 23. Jun 1997, 10:06:33):
~#! rn=Bloodyharry rt=866939238 rg=treffen
~#! tid=866757560
Naja, wers noch nicht weiss. Bienchen und ich werden RL bald umziehen. Jeder
in eine eigene Wohnung. 
M*

-----------------------------------------------------------------------------



Berlin (Anakin, 25. Jun 1997, 15:18:15):
Hi,

am 19.7.97 20.00 ist Extrastammtisch in Berlin.
Irgendwie treiben sich eine Menge Nichtberliner Mudder in
der Stadt rum so z.B. Ronda, Jafel und Toeter.
Deswegen dieses sinnlose Posting.
Achja wie immer im Seeblick.

Anakin. Nicht da sein werdend.

-----------------------------------------------------------------------------



Re: Berlin (Key, 25. Jun 1997, 16:25:27):
~#! rn=Anakin rt=867244695 rg=treffen
~#! tid=867244695
Hmm wo kann man sich anmelden? :)

Key

-----------------------------------------------------------------------------



Re: Re: Berlin (Janice, 25. Jun 1997, 19:38:48):
~#! rn=Key rt=867248727 rg=treffen
~#! tid=867244695
komm einfach, nix mit anmeldung

Janice hofft, das Key was ordentliches zum trinken mitbringt *zwinker* :)

-----------------------------------------------------------------------------



Erlangen (Highlander, 26. Jun 1997, 14:41:37):
Und es ist wieder so weit - der erste Donnerstag im Juli naehert sich,
und dann ist wieder Stammtisch im Pleitegeier in Erlangen. Mailt mir
bitte, wer alles kommen will.
   HrT

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!! :) (Ancalagon,  1. Jul 1997, 17:27:04):
Knuddels!
Wieder mal ist der kommende Mittwoch der erste eines Monats (des Juli
naemlich)
und daher findet auch wieder der allmonatliche MG-Treff statt. Wie immer im
Cafe Mint und, ebenfalls wie immer, so ca. ab 19.30 Uhr....
MorgenGrauer, Ander-,Silber- und Wunderlaender aus aller Welt sind herzlichst
willkommen.
Knuddels! :)

P.S.: Bei schoenem Wetter sitzen wir hinten im Biergarten..... :)

-----------------------------------------------------------------------------



re party im RZ (Roesti,  4. Jul 1997, 16:14:34):
noe die Alkoholleichen werden weder exhumiert noch exekutiert sonder
exmatrikuliert...

Wicky

-----------------------------------------------------------------------------



Nicht-Stammtisch in Koeln ! (Orktoeter,  8. Jul 1997, 15:54:37):
Wie ueblich fuer Nicht-Stammtische in Koeln, wieder mit superlanger
Vorwarnfrist :
Morgen Abend (mittwoch der 9.7.97) im Limerick (so etwa ab 8 Uhr)

Das LImerick ist auf der Zuelpicherstr und somit in Uninaehe, mit der
Strassengahn bis haltestelle Dasselstr/Bahnhof Sued, mit der Linie 9; oder mit
dem ZUg eben bis zum Suedbahnhof.


Lasst euch ueberaschen wer kommt und wer nicht :)

OrkT.

-----------------------------------------------------------------------------



Re: Nicht-Stammtisch in Koeln ! (Orktoeter,  8. Jul 1997, 15:55:13):
~#! rn=Orktoeter rt=868370077 rg=treffen
~#! tid=868370077
sorry fuer die Typos *schaem*

OrkT

-----------------------------------------------------------------------------



Reminder (Hangover,  9. Jul 1997, 14:43:33):
Moin!

Kleine Erinnerung an das Treffen in Hamburg:

Morgen, also Donnerstag, ab 19 Uhr in der

Zinnschmelze, Maurienstr. 19 in Hamburg-Barmbek 
(das ist 2 Min. von der gleichnamigen S-Bahn-Station gelegen)

Cya!
-Hangover

-----------------------------------------------------------------------------



Re^3: Berlin (Ronda, 12. Jul 1997, 14:13:06):
~#! rn=Janice rt=867260328 rg=treffen
~#! tid=867244695
Schnueff!
Im Moment klingts leider danach, als wuerde die Berlin-Fahrt nicht klappen:
Jafel hat dusseligerweise vergessen, dass ihr Schwesterchen suesse 30 Jahre
alt wird und prompt an dem Wochenende feiern muss... und Jafel muss dabei sein
(versteh zwar nicht, warum - aber egal...).
Tja, und allein hochfahren ist a) ziemlich teuer... b) hab ich im Moment
sowieso nen paar Leute an den Hacken, die wollen, dass ich mehr arbeite... und
c) das das x. Wochenende waere, an dem ich auf Achse bin und nicht zuletzt d)
ich gern auf die Mudparty nach Muenster will... und ich dann hoffentlich die
Chance habe, Euch alle auch da zu sehen...
... kurz und schlecht: Jafel und ich werden wohl nicht nach Berlin fahren :(
Jedenfalls nicht naechstes Wochenende... aber vielleicht irgendwann spaeter...
*echt traurig*
                Ronda
Ps: War echt lieb von Euch, uns einzuplanen... aber es hat wohl nicht sollen
sein :(

-----------------------------------------------------------------------------



Re^4: Berlin (Mupfel, 12. Jul 1997, 18:12:42):
~#! rn=Ronda rt=868709586 rg=treffen
~#! tid=867244695
Na vielleicht kommt ihr ja mal zum Muensteraner Stammtisch. Jeden Dienstag im
Tribunal. Da sieht man eh zu selten andere Gesichter als die von Wargon,
Rochus und Catweazle...

-mupfel-

-----------------------------------------------------------------------------



E-Stammtisch Berlin (Anakyn, 14. Jul 1997, 10:37:49):
Hi,

nochmal zur Erinnerung: am 19.7 um 20.00 Stammtisch im
Seeblick. Wegen dem Toeter der in der Stadt ist.

Anakin.

-----------------------------------------------------------------------------



Anmeldung fuers dortmunder Treffen (Bloodyharry, 19. Jul 1997, 21:46:32):
Fuer das Treffen am 25.7. im Walhalla habe ich drei Anmeldungen:
Astar, Morgar und meine Wenigkeit. Ich hoffe es kommen noch viele andere
Mudder zum Treffen.

ciao
bh

-----------------------------------------------------------------------------



Re: Anmeldung fuers dortmunder Treffen (Guldukat, 20. Jul 1997, 12:32:10):
~#! rn=Bloodyharry rt=869341592 rg=treffen
~#! tid=869341592
shick mir am donnerstag noch mal ne emehl, sonst vergess ich das sicher
wieder! ;-)
gd

-----------------------------------------------------------------------------



Re: Re: Anmeldung fuers dortmunder Treffen (Kartoffel, 20. Jul 1997, 20:34:44):
~#! rn=Guldukat rt=869394730 rg=treffen
~#! tid=869341592

Ich bin auch wieder da :) (_mit_ Tigerauge ;) )

Kartoffel

-----------------------------------------------------------------------------



Re: Anmeldung fuers dortmunder Treffen (Tux, 21. Jul 1997, 08:41:03):
~#! rn=Bloodyharry rt=869341592 rg=treffen
~#! tid=869341592
Hmmm, wenn das Papamobil anspringt werde ich mich auch mal auf die
paepstlichen Beine machen!

Wuerdevoll verneigend
Des Papstes Diener

-----------------------------------------------------------------------------



Dortmunder Stammtisch (Knurt, 21. Jul 1997, 12:24:36):
Der Knurt kommt auch

Knurt (1/2 der Hobbit-Flaschen)

-----------------------------------------------------------------------------



Muensteraner Stammtisch (Morgar, 21. Jul 1997, 12:41:02):
Ich wollte mal nachfragen, ob Morgen wieder Stammtisch in Muenster ist, falls
ja, kommen Astar und ich.

Morgar

-----------------------------------------------------------------------------



Re: Dortmunder Stammtisch (Thufhir, 21. Jul 1997, 14:50:16):
~#! rn=Knurt rt=869480676 rg=treffen
~#! tid=869480676
Hiho,

scheint am Freitag in Dortmund ja maechtig was los zu sein...
ich werde meine Zwergenbeine dann auch mal mobilisieren, falls mein
Alzheimer nicht wieder zuschlaegt... ;)

Bis denne, Thufhir (sein Alzheimer noch nicht vergessen habend)

-----------------------------------------------------------------------------



Suche Bleibe (Tux, 21. Jul 1997, 15:08:56):
Tja, da mein Erstie, seine Hochwuerden, diese Rubrik ignoriert, muss mal
wieder ich ran....:((

Ich suche fuer den kommenden Stammtisch noch ne
Uebernachtungsmoeglichkeit....muss nix dolles sein, ein bett, ein kissen, ein
zudeck, ein haeschen, das waers schon....:)

Mails bitte an mich oder seine Hochwuerden!"


-----------------------------------------------------------------------------



Re: Wegbeschreibung fuer den Stammtisch DO. (Kartoffel, 21. Jul 1997, 19:44:52):
~#! rn=Bloodyharry rt=869493584 rg=treffen
~#! tid=869493584
Das moechte ich abstreiten, der Stammtisch wird doch wohl wie gewohnt im
Walhalla stattfinden.
Gegenueber des Hbf die Treppe hoch geradeaus, bis zur naechsten Strasse, der
links folgen, dann ist das Walhalla auf  der linken Seite.

Kartoffel -stimmt mit Tigerauge fuer's Walhalla (zwei)

-----------------------------------------------------------------------------



Re: Wegbeschreibung fuer den Stammtisch DO. (Ringor, 21. Jul 1997, 21:20:05):
~#! rn=Bloodyharry rt=869493584 rg=treffen
~#! tid=869493584
Der Stammtisch im Kraftstoff war ein Ausrutscher, und wird so schnell nich
wieder vorkommen. Die grandiose Zahl von drei Muddern, die zudem noch
nacheinander statt gleichzeitig anwesend waren, spricht fuer sich. ;-)

Der Stammtisch am Freitag, 25.07.1997 findet wie immer ab 20:00 Uhr im
Walhalla statt.

Ringor, heute mal autoritaer :-)

-----------------------------------------------------------------------------



Re: Re: Wegbeschreibung fuer den Stammtisch DO. (Bloodyharry, 22. Jul 1997, 00:28:42):
~#! rn=Kartoffel rt=869507092 rg=treffen
~#! tid=869493584
> Das moechte ich abstreiten, der Stammtisch wird doch wohl wie gewohnt im
> Walhalla stattfinden.

Ups! Jetzt hab ich doch tatsaechlich den falschen Text erwischt. Nein, in
das Kraftstoff moechte ich nicht wieder hin. Da ist mir das Walhalla mit
all seinem Qualm und Laerm lieber.


bh

-----------------------------------------------------------------------------



Stammtisch Do (Knurt, 22. Jul 1997, 01:02:30):
Also ich persohnlich mag das Kraftstoff ja lieber... 

Knurt

-----------------------------------------------------------------------------



Re: Stammtisch Do (Ringor, 22. Jul 1997, 01:04:20):
~#! rn=Knurt rt=869526150 rg=treffen
~#! tid=869526150
Fuer kleine Gruppen ist es ja auch die nettere Kneipe - aber fuer einen
Stammtisch denkbar ungeeignet.

Und da wir die Diskussion schon einmal hatten: Freitag, 20 Uhr, Walhalla.

Ringor

-----------------------------------------------------------------------------



Re: Muensteraner Stammtisch (Wargon, 22. Jul 1997, 11:09:46):
~#! rn=Morgar rt=869481662 rg=treffen
~#! tid=869481662
Ja, heute ist Stammtisch in MS.
  Wargon

-----------------------------------------------------------------------------



Re: Re: Muensteraner Stammtisch (Catweazle, 22. Jul 1997, 13:53:02):
~#! rn=Wargon rt=869562586 rg=treffen
~#! tid=869481662
Kannichnich :)

YTC

-----------------------------------------------------------------------------



Re^3: Muensteraner Stammtisch (Astar, 22. Jul 1997, 16:57:11):
~#! rn=Catweazle rt=869572382 rg=treffen
~#! tid=869481662
Schade

Astar

-----------------------------------------------------------------------------



Erlangen (Highlander, 30. Jul 1997, 12:35:24):
Also,
der naechste Stammtisch naht. Er ist zwar nicht morgen, da ist noch Juli,
aber morgen in einer Woche ist es wieder soweit. Pleitegeier, Erlangen,
1900 - wer kommt, soll mal Laut geben. Mit Ausnahme von Dauergast, Schlips
und Escubar - die sollen Laut geben, wenn sie NICHT kommen :>
   HrT

-----------------------------------------------------------------------------



Stammtisch in Berlin (Janitze,  1. Aug 1997, 12:45:29):
Wenn ich mich nicht irre, faengt heute ein neuer Monat an, und somit ist
am naechsten Mittwoch wieder Stammtisch im Seeblick. Los gehts wie immer
um 20:00.
Wir haben sogar wieder einen Gast, naehmlich: Crolla !!! Das solltet ihr
euch nicht entgehen lassen !!
Tschue
  Janice

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Hardil,  1. Aug 1997, 13:51:06):
~#! rn=Janitze rt=870432329 rg=treffen
~#! tid=870432329

Wer naemlich mit 'h' schreibt, ist daemlich.

:-)

-Hardil.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Anatol,  1. Aug 1997, 14:16:53):
~#! rn=Hardil rt=870436266 rg=treffen
~#! tid=870432329
naemlic_h_.

Weiss Bescheid,
Anatol


-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Escubar,  1. Aug 1997, 21:04:40):
~#! rn=Janitze rt=870432329 rg=treffen
~#! tid=870432329
Aber passt Obacht, stellt Euch net wieder nach 24 Uhr vor die Kneipe und
laermt ;)
Du weisst ja, alles gute kommt von oben *lach*

Eisbaer Escubar, der die Obermieter vom Seeblick fuer intolerant haelt

-----------------------------------------------------------------------------



Stammtisch Muenster => Cavete (Wargon,  4. Aug 1997, 10:27:48):
  Hi!
Aus bedienungstechnischen Gruenden (Cat*: ZIMMERSERVICE!) findet der
Muensteraner Stammtisch zumindest vorerst nicht mehr im Tribunal statt,
sondern in der Cavete (Kreuzstrasse 16).
Fuer Auswaertige: Wer mit dem Auto kommt, kann (mit etwas Glueck :) an der
Muenzstrasse parken. Wer mit dem Zug kommt, kann vom Bahnhof aus den Bus (z.B.
die 1, 5 oder 6) bis zum Rosenplatz nehmen. Zumindest die 5 faehrt die Strecke
ziemlich direkt, bei den anderen beiden Linien weiss ich das jetzt nicht so
genau.
Ob es endgueltig/nur fuer den Sommer/nur als Notbehelf bei der Cavete bleibt,
steht noch nicht fest (da gibts nicht mal dunkle Weizen, und die grosse Cola
ist auch nur 0.4 gross), morgen (5.8.) findet der Stammtisch aber auf jeden
Fall dort statt.
  Wargon

-----------------------------------------------------------------------------



Re: Stammtisch Muenster => Cavete (Anatol,  4. Aug 1997, 14:18:03):
~#! rn=Wargon rt=870683268 rg=treffen
~#! tid=870683268
Dass "ne Grosse" nur eine Halbgrosse ist, finde ich nach wie vor untragbar.
Ausserdem haben die in der Cavete auch nicht viel schneller bedient - dafuer,
dass wir in Sichtweite zur Bar sassen, sind 20 Minuten fuer ne Cola auch
recht... happig.
Im Tribunal war es gemuetlicher und die Tische appetitlicher :)

Anatol


-----------------------------------------------------------------------------



Re: Re: Stammtisch Muenster => Cavete (Grimmborn,  4. Aug 1997, 16:29:29):
~#! rn=Anatol rt=870697083 rg=treffen
~#! tid=870683268
"Tische appetitlicher"? Also, vielleicht stosse ich hiermit ja eine Revolution
in Westfalen an, aber hier in Koeln gibt es fuer Speisen Teller und fuer
Getraenke Gefaesse (meist: "Glaeser"), so dass nichts davon im Normalfall mit
dem Tisch in Beruehrung kommt.
Und Tische werden bei uns auch nicht gegessen, daher ist der
Appetitlichkeitszustand der Tische zumindest hier eher nebensaechlich...

GdA

-----------------------------------------------------------------------------



Re^3: Stammtisch Muenster => Cavete (Cuchullin,  4. Aug 1997, 16:30:59):
~#! rn=Grimmborn rt=870704969 rg=treffen
~#! tid=870683268
Im Tribunal werden Tische gewischt, weil sie aus Holz und ohne Tischdecke
sind. In der Cavete - frag mich nicht, wie oft diese ultrasaugfaehigen
Tischdecken da gewechselt werden. Bestimmt nicht Always. Nicht, so wie die
aussahen... :)

Anatol *brummel* *kommduerstmaldahin*


-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!! (Ancalagon,  4. Aug 1997, 19:26:22):
Knuddels!
Da ich gerade in der richtigen Rubrik lese, mal schnell dies:
Grad ist mir aufgefallen, dass der naechste Mittwoch der erste im August ist!
Deshalb gibts an ebendiesem Mittwoch wieder den Bielefelder treff im Cafe
Mint. Startzeit wie ueblich so um 19.30 Uhr. ich und Yaren sind Minnigens
da..... mal schaun wer noch...
Knuddels,
                                           Ancalagon

-----------------------------------------------------------------------------



Re: Stammtisch Muenster => Cavete (Mupfel,  4. Aug 1997, 22:39:57):
~#! rn=Wargon rt=870683268 rg=treffen
~#! tid=870683268
Sind die da auch so tolerant gegenueber angezuendeten Aschenbechern und
aehnlichen Scherzen? :-)

-jemand-

-----------------------------------------------------------------------------



Re: Re: Stammtisch Muenster => Cavete (Aline,  5. Aug 1997, 09:31:38):
~#! rn=Mupfel rt=870727197 rg=treffen
~#! tid=870683268

Wieso fragst Du Mupfel?
Jof wurde doch schon lange nicht mehr auf nem Stammtisch gesehen ;)

Aline

-----------------------------------------------------------------------------



Mud-Treffen in Seattle/WA (Hardil,  5. Aug 1997, 11:51:37):

Locutus und ich machen(weil 3ter Freitag im Monat) am 15.08. den
traditionellen Mud-Stammtisch in Seattle. Ort und Zeit wird noch festgelegt.
Wer noch Interesse hat, soll sich melden. :-)

-Hardil.

-----------------------------------------------------------------------------



Re^4: Stammtisch Muenster => Cavete (Hardil,  5. Aug 1997, 11:53:06):
~#! rn=Cuchullin rt=870705059 rg=treffen
~#! tid=870683268

Also in Dortmund heisst das ja "Cafete" oder "Cafeteria".
Ihr wollt ja nur zeigen, dass ihr die Rechtschreibdeform schon intus habt, ihr
Muensteraner.

-Hardil.

-----------------------------------------------------------------------------



Re^3: Stammtisch Muenster => Cavete (Mupfel,  5. Aug 1997, 13:24:42):
~#! rn=Aline rt=870766298 rg=treffen
~#! tid=870683268
Wieso Jof? Du kennst anscheined Mesaron nicht... :-) 

-mupfel-
(unvergessen ist, wie damals der aschenbecher vor hitze platzte, grade als die
bedienung vorbeikam :-)

-----------------------------------------------------------------------------



Re: Stammtisch Muenster => Cavete (Tolpatsch,  5. Aug 1997, 19:04:48):
~#! rn=Wargon rt=870683268 rg=treffen
~#! tid=870683268

Also,

ich bin fuer den 'Auflauf' Da gibts wenigstens was Gescheites zu Essen und
ne Bushaltestelle ist direkt vor der Tuer. Ausserdem sind die Bedienungen
immer
nett!!!

Tolpatsch.

-----------------------------------------------------------------------------



Re: Mud-Treffen in Seattle/WA (Mbbela,  6. Aug 1997, 09:26:23):
~#! rn=Hardil rt=870774697 rg=treffen
~#! tid=870774697
Hmm - wenn ihr das naechstes Jahr wieder macht komm ich vielleicht ;)

Schlips.

-----------------------------------------------------------------------------



Re: Re: Mud-Treffen in Seattle/WA (Hardil,  6. Aug 1997, 11:03:04):
~#! rn=Mbbela rt=870852383 rg=treffen
~#! tid=870774697
Das machen wir jedes Jahr. Das ist dieses Jahr schon das dritte Mal :-)

-Hardil. Globetrottel.

-----------------------------------------------------------------------------



Re: Mud-Treffen in Seattle/WA (Guldukat,  6. Aug 1997, 20:15:32):
~#! rn=Hardil rt=870774697 rg=treffen
~#! tid=870774697
gib mal genau wegbeschreibung!
gd

-----------------------------------------------------------------------------



Gibt's BT noch? (Highlander, 13. Aug 1997, 13:27:22):
Haalloooooooo.
Hoert mich jemand?
Gibt es noch Bayreuther? Nix mehr gehoert. Keinen mehr gesehen.
Wenn's euch noch gibt, ruehrt euch mal. Wir haben ueberlegt,
euch mal wieder heimzusuchen.

  Highlander fuer Die Erlanger Bande

-----------------------------------------------------------------------------



Re^5: Stammtisch Muenster => Cavete (Yendi, 22. Aug 1997, 13:56:59):
~#! rn=Hardil rt=870774786 rg=treffen
~#! tid=870683268

Nur fuer den Fall, dass Du das wirklich noch nicht gewusst haben solltest:

Die Cavete heisst so, weil man sich vor dem Hund im Wappen hueten soll!


-----------------------------------------------------------------------------



Nachtreffen oder naechstes Treffen (Teddy, 24. Aug 1997, 19:14:20):
Hi Suchties. 

Nachdem Silvana schon gefragt hat, schliesse ich mich an: Wann gibts die
naechste Party?
Als Vorschlag wurde ein erweiterter(extended) Dortmunder Stammtisch
vorgeschlagen, da es relativ zentral liegt.
Wer Interesse hat, kann sich ja mal melden. 
Ach so, da ich NICHT in der Gegend wohne, ist es mir nicht moeglich, das
Treffen zu organisieren, sollte es denn ieberhaupt und auch dort stattfinden,
solltet ihr aber Lust haben, das ganze in Wolfsburg oder Braunschweig zu
machen, koennen wir auch hierueber reden.
Ach so, da ich NICHT in der Gegend wohne, ist es mir nicht moeglich, das
Treffen zu organisieren, sollte es denn ieberhaupt und auch dort stattfinden,
solltet ihr aber Lust haben, das ganze in Wolfsburg oder Braunschweig zu
machen, koennen wir auch hierueber reden.
Das wars erstmal, 

Teddy, suechtiger denn je. ;-)

-----------------------------------------------------------------------------



Re: Nachtreffen oder naechstes Treffen (Teddy, 24. Aug 1997, 19:24:23):
~#! rn=Teddy rt=872442860 rg=treffen
~#! tid=872442860
Aehm, ich bitte, die Verdopplung des letzten Absatzes zu entschuldigen, da ich
nicht mit meinem Editor arbeite, bin ich erst spaeter darauf aufmerksam
gemacht worden:
Nach dem Versenden.

Teddy

-----------------------------------------------------------------------------



Re: Nachtreffen oder naechstes Treffen (Key, 24. Aug 1997, 19:27:13):
~#! rn=Teddy rt=872442860 rg=treffen
~#! tid=872442860
Dortmund zentral?
Kann es sein das einige net wissen wie gross Deutschland ist? :))

Key

-----------------------------------------------------------------------------



Re: Re: Nachtreffen oder naechstes Treffen (Mango, 25. Aug 1997, 12:22:47):
~#! rn=Key rt=872443633 rg=treffen
~#! tid=872442860
Dem kann ich nur zustimmen, die was weiss ich ca. 90 km dann noch nach
Muenster machens auch nicht Fett. Aber wie schon mal angesprochen in Richtung
Erlangen, Nuernberg waere schon o.k. 

Mango, auch wieder in Partylaune.


-----------------------------------------------------------------------------



BT bitte melden! (Highlander, 25. Aug 1997, 12:49:39):
He, Bayreuth!
Wenn's euch noch gibt und ihr wollt, dass mal wieder wir kommen,
dann ruehrt euch diese Woche mal! Ansonsten ist der September-
Stammtisch wieder in Erlangen.
   HrT

-----------------------------------------------------------------------------



Stammtisch in Bonn (Zephyr, 25. Aug 1997, 19:05:45):
Da wir schon so lange keine Party mehr hatten, ist mal wieder 
Stammtisch angesagt in BN, und zwar wie immer in letzter Zeit
im Irish Pub am Mauspfad, ab 20 Uhr. Wer ne Wegbeschreibung
braucht: bitte mail an tine@uni-bonn.de

*knuddels*
                     Zephyr

-----------------------------------------------------------------------------



Re: Stammtisch in Bonn (Hangover, 25. Aug 1997, 19:06:23):
~#! rn=Zephyr rt=872528745 rg=treffen
~#! tid=872528745
Aeh...welches Datum?

Hangover, extrem verwirrt

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bonn (Zephyr, 25. Aug 1997, 19:09:57):
~#! rn=Hangover rt=872528783 rg=treffen
~#! tid=872528745
*argl* Das war wieder ein Fall von immer-noch-nich-wach-und-schon-wieder-muede
Der Stammtisch findet am Donnerstag, dem 28.8. statt

       Zephyr, geht jetzt Kaffee trinken

-----------------------------------------------------------------------------



Re^3: Nachtreffen oder naechstes Treffen (Woody, 26. Aug 1997, 02:28:19):
~#! rn=Mango rt=872504567 rg=treffen
~#! tid=872442860
Abgesehen davon, dass die MG-Spielerschaft nicht nur in
Deutschland daheim ist. (Nuernberg waer schon klasse, aber
WER soll DAS organisieren???)

Woody.- (um die 1400 km weit nach MS bahngefahren seiend *gaehn*)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Bonn (Olpp, 26. Aug 1997, 15:52:11):
~#! rn=Zephyr rt=872528997 rg=treffen
~#! tid=872528745
Do 20h im Irish Pub, vielleicht schaff ichs nach einem Jahr in Bonn ja mal ;-)

Ciaoi, Olpp

-----------------------------------------------------------------------------



Re: Stammtisch Muenster => Cavete (Olpp, 26. Aug 1997, 15:54:14):
~#! rn=Wargon rt=870683268 rg=treffen
~#! tid=870683268
Hmm, da ich diese und naechste Woche beruflich in MS bin komm ich vielleicht 
einfach mal in die Cavete. Ist das ein Imperativ? Lang ists her mit dem
Latein..

Ciao, Olpp

-----------------------------------------------------------------------------



Stammfisch (Aline, 26. Aug 1997, 17:27:14):

Also ich weiss ja nicht, ob ihr Euch alle schon von dem Wochenende
erholt habt, d. h. ob ihr nicht immer noch beim Anblick eines RL-Mudders
schreiend davonrennt. Wer allerdings aus der Gegend um Dortmund kommt
und inzwischen wieder den Anblick von Muddern ertragen kann, der
kann dann auch getrost am Freitag abend ins Walhalla kommen.
Also fangt schon mal an mit den Diskussionen hier in der MPA, ob
wann, wo und ueberhaupt, Stammfisch oder Treffen, mit Ringor, Thufhir
oder ohne.

Aline

P.S.: Ach ja das durchzaehlen nicht vergessen!!

-----------------------------------------------------------------------------



Re: Stammfisch (Kartoffel, 26. Aug 1997, 21:19:59):
~#! rn=Aline rt=872609234 rg=treffen
~#! tid=872609234

Da gibbet keine Diskussion.

Bin dabei (ich denke Tigerauge auch).

Kartoffel

-----------------------------------------------------------------------------



Re: Re: Stammfisch (Guldukat, 26. Aug 1997, 22:16:28):
~#! rn=Kartoffel rt=872623199 rg=treffen
~#! tid=872609234
magic?
;-)

-----------------------------------------------------------------------------



Re: Re: Stammfisch (Knurt, 26. Aug 1997, 22:53:31):
~#! rn=Kartoffel rt=872623199 rg=treffen
~#! tid=872609234
Sorry Knurt kann nich kommen.
Also wird diesmal kein Kleiner nerven :)

Schade...

-----------------------------------------------------------------------------



Re: Stammfisch (Bloodyharry, 26. Aug 1997, 23:08:47):
~#! rn=Aline rt=872609234 rg=treffen
~#! tid=872609234

Nachdem ich leider diese wohl wirklich schoene MUD-Paady in Muenster
verpasst habe, moechte ich zumindest zum Do-Treffen erscheinen (wenngleich
die nachfolgenden Streitereien sicher nicht so leicht erreichbar waeren,
wie sie derzeit wieder in der mpa zu finden sind).
Ich habe noch keine Nummer entdecken koennen - darum fang ich einfach mal an:

#1
bh

-----------------------------------------------------------------------------



Re: Re: Stammfisch (Thufhir, 27. Aug 1997, 09:37:19):
~#! rn=Bloodyharry rt=872629727 rg=treffen
~#! tid=872609234

Thufhir ist (leider) auch noch durch keine MUD-Fete vorbelastet und
ist am Freitag ganz sicher auch da.

#2

Winke, Thufhir.

-----------------------------------------------------------------------------



Wat is nu? (Ark, 27. Aug 1997, 22:51:00):
Ich will mal wissen, ob jemand Interesse an einem Darmstaedter Stammtisch hat.
Wenn ja, bitte melden, als Treffpunkt hab ich mal den 19.09. ins Auge gefasst,
da kann Wurzel, und ich, aeh, hoffentlich auch :)

Mailto ->


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Treffen in Hamburg! (Hangover, 28. Aug 1997, 18:08:01):
Moin!

Die Hamburger Mudder treffen sich wieder einmal und zwar
am: 11.9.97 ab 19 Uhr
im: Joh. Matz Brauhaus

Das befindet sich in der Robert-Koch-Str. 36, also in der
Naehe der U-Bahnstationen Eppendorfer Baum / Kellinghusenstr.

Wer mehr wissen will, frage mich...

-Hangover

-----------------------------------------------------------------------------



Re: Wat is nu? (Boebbel, 28. Aug 1997, 22:32:21):
~#! rn=Ark rt=872715060 rg=treffen
~#! tid=872715060

Klar!

Aber wo? Wieder im Hotzenplotz?

Ein Boebbel...

-----------------------------------------------------------------------------



Re: Re: Wat is nu? (Ark, 29. Aug 1997, 08:52:14):
~#! rn=Boebbel rt=872800341 rg=treffen
~#! tid=872715060
Jep, oder Hobbit, wenn jemand was dagegen hat.

Vorteil: Hobbit is direkt daneben, da kann man schnell gucken :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Wat is nu? (Anacrion, 29. Aug 1997, 14:23:58):
~#! rn=Ark rt=872837534 rg=treffen
~#! tid=872715060
Ich werde da sein....Hobbit oder Hotzenplotz....darauf kommt's nu echt net
an...
Anacrion - Vorfreude im Herzen tragend

-----------------------------------------------------------------------------



Re^3: Stammfisch (Hardil, 29. Aug 1997, 14:56:56):
~#! rn=Thufhir rt=872667439 rg=treffen
~#! tid=872609234

Hmmm.
Ich komm vielleicht dann auch, aber fruehestens nach 22 Uhr. Wegen Heimspiel
VfL gegen K-Town. Darf man ja nicht verpassen, die beiden besten Fussballclubs
der Repoplig gegeneinander. :)

#3

-Hardil.

-----------------------------------------------------------------------------



Re^4: Wat is nu? (Wurzel, 29. Aug 1997, 19:15:27):
~#! rn=Anacrion rt=872857438 rg=treffen
~#! tid=872715060
erstmal im hotzenplotz, wg. groesseren und mehr tischen. und damit nicht die
einen hierhin, die anderen dorthin gehen...

wurzel

-----------------------------------------------------------------------------



Re: Treffen in Hamburg! (Janitze, 30. Aug 1997, 23:17:57):
~#! rn=Hangover rt=872784481 rg=treffen
~#! tid=872784481
mal gucken, vielleicht komm ich ja, brauch nur noch nen Schlafplatz :)

Janice, findet, das HH eine interessante Stadt ist

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!!!! (Ancalagon, 31. Aug 1997, 18:10:17):
Knuddels!
der kommende Mittwoch ist mal wieder der erste eines Monats, und deshalb
findet auch wieder der Bielefelder MG-Treff statt.........WENN ausser Silvana
noch leute zeit und lust haben!!!
= /test insert := !insert
Ich selber kann diesmal ausnahmsweise mal nicht, und yaren hat auch schon
abgesagt. Da das 2/3 der 3 lezten MG-Treffs sind, und Silvana wahrscheinlich
nur geringes Interesse daran hat, alleine im cafe Mint zu sitzen, solltet ihr
euch mit ihr in Verbindung setzen, wenn ihr kommen wollt. Ansonsten wird der
treff fuer diesen Monat wohl ausfallen.......
Knuddels,
                             Ancalagon
                       Draco knuddellensis major

-----------------------------------------------------------------------------



Erlangen (Highlander,  1. Sep 1997, 12:38:46):
Aaaachtung, erster Donnerstag im Monat voraus!
Ausguck meldet einen Stammtisch im Pleitegeier um 1900.
Wer kommt alles?
  HrT

-----------------------------------------------------------------------------



Re: Erlangen (Key,  1. Sep 1997, 12:41:44):
~#! rn=Highlander rt=873110326 rg=treffen
~#! tid=873110326
AAaaaachtung! Naechstes WE vorrausichtlich aussergewoehnlicher Stammtisch
irgendwo ;)

Key

-----------------------------------------------------------------------------



Re: Re: Erlangen (Escubar,  1. Sep 1997, 14:01:23):
~#! rn=Key rt=873110504 rg=treffen
~#! tid=873110326

Der aussergewoehnliche Stammtisch ist im Zweifel bei mir daheim, da ist
naemlich der Schnaps, zum begiessen der Schnapszahl am Besten greifbar, und
Key und ich muessen uns nicht soweit nach Hause schleppen ...

Eisbaer Escubar, der mit Hermione und Key und Sting und wer sonst noch kommt
die Schnapszahl begiessen wird ...


-----------------------------------------------------------------------------



Re^3: Erlangen (Key,  1. Sep 1997, 16:19:56):
~#! rn=Escubar rt=873115283 rg=treffen
~#! tid=873110326
Hmm standesgemaess sollte jeder bei 333 Toden auch 333 Glaeschen zu sich
nehmen, oder? :)

Key

-----------------------------------------------------------------------------



Re^4: Erlangen (Cauno,  1. Sep 1997, 16:20:33):
~#! rn=Key rt=873123596 rg=treffen
~#! tid=873110326
melde dich wieder, wenn du bei 666 bist - naechste woche?

C. No

-----------------------------------------------------------------------------



Re^5: Erlangen (Orktoeter,  1. Sep 1997, 16:21:15):
~#! rn=Cauno rt=873123633 rg=treffen
~#! tid=873110326
direkt aus der Hoelle ?

-> Schmarrn, 
OrkT.

-----------------------------------------------------------------------------



Re^5: Erlangen (Key,  1. Sep 1997, 16:22:39):
~#! rn=Cauno rt=873123633 rg=treffen
~#! tid=873110326
Ohoh nach 666 Glaeschen bin ich aber bestimmt so voll das ich gleich nochmal
111 mal sterbe ;)

Key

-----------------------------------------------------------------------------



stammtisch in berlin (Birdy,  1. Sep 1997, 17:54:22):

Wie ueblich im seeblick um ca. 2000 ueberraschung: special guest
Birdy, grinsend

-----------------------------------------------------------------------------



Re: stammtisch in berlin (Key,  1. Sep 1997, 18:08:37):
~#! rn=Birdy rt=873129262 rg=treffen
~#! tid=873129262
Aber net wieder so laut sein gegen abend :)

Key erinnert sich an die kalte dusche. :)

-----------------------------------------------------------------------------



Re: Re: stammtisch in berlin (Orktoeter,  1. Sep 1997, 18:10:16):
~#! rn=Key rt=873130117 rg=treffen
~#! tid=873129262
Hmm hatte die "erzieherische Massnahme" von "Jemand" doch gewirkt ?
OrkT grinsend.

-----------------------------------------------------------------------------



   *S*T*A*T*I*     (Qitess,  8. Sep 1997, 11:59:52):

Hallihallohalloele !

                        Es ist wieder soweit !
        Die ganze MorgenGrauenvolle Welt hat lange darauf gewartet !
             Jawohl, er findet wieder statt, der ultimative

                           *S*T*A*T*I*

                                                       in Braunschweig!

Ich hoffe, dass moeglichst viele am Donnerstag, den 18.09.1997 um 20"Uhr
 Zeit finden, nach Braunschweig ins ViertelNach im Bueltenweg zu kommen.
Dort werden wir sehnsuechtig auf Euch warten. Wir haben naemlich ein 
 kleines Problem :

              WIR WERDEN VON UNITOPISTEN UEBERLAUFEN !!!

Angefangen hat ja alles damit, dass ein Kumpel den rechten Weg nicht 
 gefunden hat (er ist in UNItopia), aber trotzdem mal beim   
                            *S*T*A*T*I* 
 dabei sein wollte, und beim zweiten Mal hatte er dann zwei Freunde 
 mitgebracht, und beim letzten Mal waren es tatsaechlich mehr UNItopisten 
 als MG'ler !

            DAS DUERFEN WIR NICHT AUF UNS SITZEN LASSEN !!!

Deshalb mein Appell an Euch :

                                Kommt *Z*A*H*L*R*E*I*C*H*  !

Wie gesagt :  am 18.09.1997
                 (das ist ein Donnerstag)
                                 um 20"Uhr
                                     im Viertel Nach
                                           (Bueltenweg, in Braunschweig)

Kommt BIIITTEEEEE !

In diesem Sinne  -
                    Ab in die Rinne.
Das Kompromittee (Festin & Qitess)
(Critter@UNItopia wird auch anwesend sein)

P.S.: Falls jemand von Ausserhalb kommt : Uebernachtungsmoeglichkeiten 
      werden nicht gestellt, vom Bahnhof kann abgeholt werden, wenn 
      rechtzeitig Bescheid gemudmailt wird :) 



-----------------------------------------------------------------------------



nochmal   *S*T*A*T*I*    (Qitess,  8. Sep 1997, 19:37:29):
Ach herrjehminehminehmineh...

Da habe ich doch glatt vergessen dazuzuschreiben, dass die Leute, die zum  
*S*T*A*T*I*   am 18.09.1997 um 20"Uhr im ViertelNach im Bueltenweg in
Braunschweig kommen wollen, mir bitte vorher eine Bescheid-Mail zukommen
lassen moegen, bitte.

QI**


-----------------------------------------------------------------------------



Dortmund? (Shakedbeer, 21. Sep 1997, 21:23:43):
Hi!

Wer kommt denn alles nach Dortmund am Freitag?

Shakedbeer - ist gegen 20:00 da. (1!)

-----------------------------------------------------------------------------



Re: Dortmund? (Kartoffel, 21. Sep 1997, 22:47:42):
~#! rn=Shakedbeer rt=874869823 rg=treffen
~#! tid=874869823
Jo

Kartoffel und Tigerauge (2 +3)

-----------------------------------------------------------------------------



Re: Re: Dortmund? (Morgoth, 22. Sep 1997, 08:08:13):
~#! rn=Kartoffel rt=874874862 rg=treffen
~#! tid=874869823
Hoffentlich !!! auch Morgoth und Bienchen (ab 2130h).

-----------------------------------------------------------------------------



TUe-Stammtisch (Morgar, 22. Sep 1997, 23:15:53):
Am Freitag dem 26. September findet in Tuebingen ein ausserordentlicher
Stammtisch statt. Wie gehabt 20 Uhr in der Marquartei.

Morgar

-----------------------------------------------------------------------------



MG-Treff in Bielefeld (Ancalagon, 23. Sep 1997, 19:28:46):
Knuddels und hallihallo!
Naechste Woche ists mal wieder soweit! am Mittwoch ist mal wieder der erste
eines Monats und dieserhalb und desterwegen findet auch wieder der Bielefelder
MG-Treff statt! Wie immer im Cafe Mint und wie immer um ca 19.30 Uhr!
Und ebenfalls wie immer bitte ich um zahlreiches Erscheinen!
Auf wiederknuddeln,
                                     Ancalagon
                              Draco k nuddellensis major

-----------------------------------------------------------------------------



Stammtisch in B (Gnome, 23. Sep 1997, 19:40:04):
jo,
auch wir haben wieder naechste woche am Mi. unser treffen :)
ich hoffe auf zahlreiche und gutgelaunter mudder...

gnOme

-----------------------------------------------------------------------------



Spielemesse in Essen (Hardil, 24. Sep 1997, 11:58:50):

Es hat sich ja in den letzten jahren "eingebuergert", dass man waehrend der
Spielemesse in Essen gezielt oder ungezielt anderen Muddern ueber den Weg
lief.

Fuer alle, die den Termin nciht wissen: 23.-26. Oktober.

Schreibt mal was. :) Ich bin jedenfalls da.

-Hardil.

-----------------------------------------------------------------------------



Re: Spielemesse in Essen (Bloodyharry, 26. Sep 1997, 01:05:15):
~#! rn=Hardil rt=875095130 rg=treffen
~#! tid=875095130
Ich moechte wieder am Donnerstag kommen. Bin aber etwas durch die Herbstferien
eingeschraenkt, die diesmal leider nicht guenstig fallen. 

-----------------------------------------------------------------------------



Sensation! (Highlander, 27. Sep 1997, 17:22:59):
Wie Erlanger Wissenschaftler heute bekanntgaben, ist am Donnerstag
der zweite Oktober. Die Folgerung aus dieser Erkenntnis erlaeutert
Prof. Dr. S. Tammtisch:
"Wir sind uns sicher, dass daher an diesem Tag in einer Lokalitaet namens
Pleitegeier sich eine ungewisse Menge geistig zum Teil auf elektronische
Kommunikation und Erlebnisse fixierte Personen gegen 19 Uhr
versammeln wird. Sie werden vermutlich ueber unverstaendliche Dinge reden
und dabei die Vorraete der genannten Lokalitaet an fluessigen und festen
Naehrstoffen verringern."
Er erwaehnte ausserdem, dass das Element "Escubarium" in Erlangen zu dieser
Zeit wohl nicht zu finden sein wuerde.
Wir melden sofort, wenn sich neue Erkenntnisse ergeben.

-----------------------------------------------------------------------------



Stammtisch in Koeln (Orktoeter, 29. Sep 1997, 15:15:01):
Am 8.10. um 20:00 Uhr im Limericks in Koeln.
OrkT.

-----------------------------------------------------------------------------



Re: Stammtisch in Koeln (Baboon, 30. Sep 1997, 10:04:47):
~#! rn=Orktoeter rt=875538901 rg=treffen
~#! tid=875538901
8.10? bist du sicher, orki? Normalerweise duerfen solche Termine nicht mehr
als 12h im vorraus angekuendigt werden, damit nicht mehr als 4-5 Leute kommen.
:-)

Baboon()


-----------------------------------------------------------------------------



Re: Stammtisch in Koeln (Grimmborn, 30. Sep 1997, 16:03:29):
~#! rn=Orktoeter rt=875538901 rg=treffen
~#! tid=875538901
Natuerlich handelt es sich nicht um den _echten_ Koelner Stammtisch, der
bekanntlich nur dann wirklich echt und gut und ein Knaller ist, wenn er um den
Jahreswechsel und von Yantro organisiert stattfindet. Das, was am 8.10.
stattfindet ist also lediglich eine billige Kopie (die ja nicht zwingend
schlecht sein muss).

Soviel nur zur Klarstellung... 

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Koeln (Tux,  2. Okt 1997, 17:39:36):
~#! rn=Grimmborn rt=875628209 rg=treffen
~#! tid=875538901
Da mein Erstie kommen will...werde wohl auch ich kommen...

Im Auftrag des Papstes
Tux

-----------------------------------------------------------------------------



Re^3: Stammtisch in Koeln (Orktoeter,  2. Okt 1997, 18:45:46):
~#! rn=Tux rt=875806776 rg=treffen
~#! tid=875538901
 W A S ! Der Papst kommt nach Koeln !?  U F F !!!!

OrkT ist platt.

PS : *grins*

-----------------------------------------------------------------------------



Braunschweig (Zorro,  7. Okt 1997, 11:45:06):
Hi

Ich bin wieder in BS und bekomme am we weiblichen Mud-besuch, habt ihr bock
einen spontanen mud-stammtisch am samstag zumachen, wenn ja meldet euch mal.
ich denke das viertel nach waere wieder die richtige lokalitaet

gruss Zorro

-----------------------------------------------------------------------------



Re: Braunschweig (Festin,  7. Okt 1997, 11:57:32):
~#! rn=Zorro rt=876217506 rg=treffen
~#! tid=876217506
Hiho,
ich bin dabei!

Festin
PS: Ich bring dann wohl auch noch Qitess mit...

-----------------------------------------------------------------------------



Re: Braunschweig (Har,  7. Okt 1997, 14:08:01):
~#! rn=Zorro rt=876217506 rg=treffen
~#! tid=876217506
Weiblichen Mud-Bescuh?
Ist das ein weibliches Mud?Wenn ja, wie sieht es aus und welche Adresse hat
es?

Har (sich wundernd)

-----------------------------------------------------------------------------



Re: Re: Braunschweig (Zorro,  7. Okt 1997, 14:23:04):
~#! rn=Har rt=876226081 rg=treffen
~#! tid=876217506
Har leider ist es ne Mudderin und kein Mud, was mir natuerlich lieber waere...
:)
Zorro

-----------------------------------------------------------------------------



Re^3: Braunschweig (Pampers,  7. Okt 1997, 16:40:56):
~#! rn=Zorro rt=876226984 rg=treffen
~#! tid=876217506
Hast Du mit weiblichen Personen nix besseres vor, als Dich mit Muddern zu
treffen?
Pampers. Enttaeuscht.

-----------------------------------------------------------------------------



Re^4: Braunschweig (Cerebus,  8. Okt 1997, 19:56:51):
~#! rn=Pampers rt=876235256 rg=treffen
~#! tid=876217506
weibliche mudder
Frueher hat man seiner Angebeteten zumindest noch die briefmarkensammlung
gezeigt, heute tun es anscheinend schon die MUD-Freunde...

Cerebus (der im Sirup steckt)
3

-----------------------------------------------------------------------------



Re^5: Braunschweig (Wurzel,  8. Okt 1997, 19:58:22):
~#! rn=Cerebus rt=876333411 rg=treffen
~#! tid=876217506
ist doch nur modern. wer hat denn im fax- und mailzeitalter schon noch
briefmarken... alles online, ey, boah.

wurzel

-----------------------------------------------------------------------------



Re^6: Braunschweig (Zorro,  8. Okt 1997, 20:50:42):
~#! rn=Wurzel rt=876333502 rg=treffen
~#! tid=876217506
naja nen ganzen tag die briefmarkensammlung zuzeigen ist auch langweilig, das
kann man auch noch vor, waehrend (damenklo) und nach dem Stammtisch. :)
also was soll der schmarrn.
Zorro

-----------------------------------------------------------------------------



S*O*N*T*I  S*T*A*T*I (Festin,  9. Okt 1997, 12:24:18):
Also, machen wir es jetzt offiziell.
MUD-Stammtisch in Braunschweig, am Samstag, den 11.10.97, so gegen 20.00 Uhr
wie schon von Zorro vorgeschlagen mal wieder im Viertel-Nach.

Waer schoen, wenn trotz der kurzen Ankuendigung ein paar Leutchen kommen
wuerden

Bis denn
Festin

-----------------------------------------------------------------------------



Re: S*O*N*T*I  S*T*A*T*I (Qitess,  9. Okt 1997, 13:54:30):
~#! rn=Festin rt=876392658 rg=treffen
~#! tid=876392658
AEHEM ! Wenn dann bitteschoen :


*S*P*O*N*T*I* *S*T*A*T*I*

QI** muss das wissen :)


-----------------------------------------------------------------------------



Re: Braunschweig (Teddy,  9. Okt 1997, 17:37:27):
~#! rn=Zorro rt=876217506 rg=treffen
~#! tid=876217506
Logo, sofern ich meinen (weiblichen und sehr energischen) Terminplan heute
abend gefragt habe.

Teddy

-----------------------------------------------------------------------------



Re^5: Braunschweig (Teddy,  9. Okt 1997, 17:38:48):
~#! rn=Cerebus rt=876333411 rg=treffen
~#! tid=876217506
Wenn er Ihr andere Mudder zeigt, wird er hoechstens den gegenteiligen Effekt
erzielen, als mit der guten alten Briefmarkensammlung. ;-)

Teddy, hat auch ne Briefmarkensammlung im Schrank ;)

-----------------------------------------------------------------------------



erlangen (Cerebus, 12. Okt 1997, 21:58:16):
Huhu!
Treffen sich die ErlangerInnen regelmaessig? wenn ja, in welchem rhythmus?

cerebus (der zwar im sirup steckt, aber ab und zu auch mal nach erlangen
kommet)

-----------------------------------------------------------------------------



Stammtisch in BS (Teddy, 13. Okt 1997, 04:10:27):
Also, wir haben uns beim letzten Stammtisch am Samstag darauf geeinigt, einen
regelmaessigen Stammtisch in Braunschweiog abzuhalten.
Treffen ist in Zukunft der 1. Dienstag im Monat um 20 Uhr im Viertel Nach

Wer Info's braucht, kann irgendwem mailen (wenn sein muss auch mir).

Teddy

-----------------------------------------------------------------------------



Re: erlangen (Marcus, 13. Okt 1997, 10:44:04):
~#! rn=Cerebus rt=876686296 rg=treffen
~#! tid=876686296
Jau, wir treffen uns jeden ersten Donnerstag im Monat im Pleitegeier
in Erlangen... Also am 6. November wieder. Wegbeschreibung auf Anfrage :)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Re: erlangen (Highlander, 13. Okt 1997, 11:17:19):
~#! rn=Marcus rt=876732244 rg=treffen
~#! tid=876686296
Ausserdem ist dazu zu sagen, dass auf den MG-Seiten eine entsprechende
Rubrik ist, wo alle bekannten Stammtische aufgefuehrt sind. Die Uhrzeit
ist in Erlangen uebrigens 1900, da ist meistens Dauergast da. Meinereiner
kommt meist ein paar Minuten danach, weil der Parkplatz, wo ich idR parke,
erst ab 1900 frei ist und ab und an Stau auf dem Weg dahin.
   HrT

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 20. Okt 1997, 13:35:08):

                          Hallihallohalloele !

Es findet ein Morgengrauenstammtisch in Braunschweig statt, der sogenannte 

                              *S*T*A*T*I*

                         selbiger findet statt
          ----   an jedem ersten Dienstag eines Monats   ----
                  

naechster also 

am 04.11.1997  (ein Dienstag)

um 20"Uhr

im ViertelNach im Bueltenweg 


Ihr seid herzlichst dazu eingeladen


Das Kompromittee (Festin und Qitess)

Teddy


P.S.: Wenn Du auch kommst bitte anmelden per MUD-MAIL bei
 
               Qitess@MorgenGrauen


QI**


-----------------------------------------------------------------------------



MG-Treffen auf der SPIEL '97 (Hardil, 21. Okt 1997, 10:41:04):

Tja, bevor es zu spaet ist, bestimme ich jetzt einfach einen Termin fuer das
jaehrliche Mudder-Treffen auf den Essener Spieletagen. :) Ganz spontan sage
ich mal Freitag, 14 Uhr, Halle 6, Stand 83.

Man sieht sich!

-Hardil.

-----------------------------------------------------------------------------



Re: MG-Treffen auf der SPIEL '97 (Hangover, 21. Okt 1997, 11:01:24):
~#! rn=Hardil rt=877423264 rg=treffen
~#! tid=877423264
Moin!

Dazu gleich folgender Vorschlag...Mudder treffen sich nicht bloss Freitag
(ist ja nicht jeder alle Tage da...) sondern gleich jeden Tag an besagter
Stelle - am besten auch erkennbar :-)

Cya,
Hangover

-----------------------------------------------------------------------------



Re: Re: MG-Treffen auf der SPIEL '97 (Teddy, 22. Okt 1997, 10:26:09):
~#! rn=Hangover rt=877424484 rg=treffen
~#! tid=877423264
Aeh, wann sind die eigentlich?

Teddy

-----------------------------------------------------------------------------



Re^3: MG-Treffen auf der SPIEL '97 (Yendi, 22. Okt 1997, 13:08:38):
~#! rn=Teddy rt=877508769 rg=treffen
~#! tid=877423264

Die SPIEL97 findet in den Messehallen der schoenen Stadt Essen statt, und zwar
von Donnerstag, dem 23. Oktober, bis Sonntag, 26. Oktober.
Die Oeffnungszeiten sind irgendwas wie 9:00 - 19:00, oder so.

AAswioG.


-----------------------------------------------------------------------------



Re^4: MG-Treffen auf der SPIEL '97 (Bloodyharry, 22. Okt 1997, 14:43:54):
~#! rn=Yendi rt=877518518 rg=treffen
~#! tid=877423264
> Die Oeffnungszeiten sind irgendwas wie 9:00 - 19:00, oder so.

Oder so: 10:00 bis 19:00 und am Sonntag bis 18:00 Uhr.

Schaut mal unter http://www.messe-essen.de/

Wer keine Lust hat, sich bei der Ankunft die Beine vor den Kassen in den
Bauch zu stehen, kann sich auch die Karten im Vorverkauf holen:

http://www.grugahalle.de/stellen.html

Die Erwachsenenkarte kostet dann zwar 22,10 DM statt 18,- DM. Dafuer sind
aber die Kosten fuer die An- und Abfahrt im gesamten VRR-Gebit mit drin.

Ich werde am Samstag da sein - irgendwo auf der Messe - da in einer Gruppe.


ciao
bh

-----------------------------------------------------------------------------



Re^4: MG-Treffen auf der SPIEL '97 (Teddy, 22. Okt 1997, 15:07:56):
~#! rn=Yendi rt=877518518 rg=treffen
~#! tid=877423264
Thx, also nix fuer mich, eine Woche zu frueh ;:-(

Teddy

-----------------------------------------------------------------------------



Re^5: MG-Treffen auf der SPIEL '97 (Janitze, 22. Okt 1997, 20:20:40):
~#! rn=Teddy rt=877525676 rg=treffen
~#! tid=877423264
kommen Mudder da kostenlos rein, oder muessen die auch diesen Erwachsenen-
preis bezahlen ?

Janice, ist ueberhaupt nicht erwachsen

-----------------------------------------------------------------------------



Re^6: MG-Treffen auf der SPIEL '97 (Hangover, 22. Okt 1997, 20:21:15):
~#! rn=Janitze rt=877544440 rg=treffen
~#! tid=877423264
Ohne Eintritt wird das nix, aber ne Kneipe fuer den Abend
waere auch was ,)

Hangover

-----------------------------------------------------------------------------



TUe-Stammtisch (Morgar, 27. Okt 1997, 12:40:21):
Am Freitag den 7. November findet wieder der Tuebinger MG-Stammtisch ab 20 Uhr
in der Marquartei statt.

Morgar

-----------------------------------------------------------------------------



Stammtisch in Dresden (Ivo, 27. Okt 1997, 14:03:22):
Hi Leute
fuer alle Interessierten findet am Donnerstag, den 6.11. 21:00 Uhr in Dresden
im Klub Aquarium der Morgengrauen Stammtisch statt.
Als Ansprechpartner bin ich bei Problemen dazu erreichbar.
Wir sehen uns,
YTC Ivo

-----------------------------------------------------------------------------



Re: Stammtisch in Dresden (Mango, 27. Okt 1997, 14:07:15):
~#! rn=Ivo rt=877957402 rg=treffen
~#! tid=877957402
Aber mach den Leuten nicht wieder schmackhaft das ich dann in der Nacht 2:00
den Fahrservice spiele. ;)

Mango, notorisch pleite. ;)


-----------------------------------------------------------------------------



Re: Stammtisch in Dresden (Hobo, 27. Okt 1997, 14:19:34):
~#! rn=Ivo rt=877957402 rg=treffen
~#! tid=877957402
YTC???

Das ist doch Catty!


So ein Etikettenschwindel!

   Hobo - haengt an Traditionen

-----------------------------------------------------------------------------



ER am 6.11. (Highlander, 27. Okt 1997, 14:20:19):
Naechste Woche ist wieder der erste Donnerstag im Monat. Daher findet
im Pleitegeier in Erlangen ab 1900 wieder ein Rudel-Essen-Vernichten der
Erlanger Mudder statt. Wer sonst noch Lust hat zu kommen, soll das tun :>
Fragen zum Weg oder so an mich.
   HrT

-----------------------------------------------------------------------------



Dortmund nich vergessen (Morgoth, 27. Okt 1997, 14:39:39):
Is wieder der letzte Freitach, also Stammtisch in Dortmund.
Wie immer im Walhalla um 2000h und evtl. schon mit Infos ueber die naechste
Fete.
Also bis dan...
argl..dann

Morgoth (1)

-----------------------------------------------------------------------------



Re: Dortmund nich vergessen (Thufhir, 27. Okt 1997, 14:56:56):
~#! rn=Morgoth rt=877959579 rg=treffen
~#! tid=877959579

Ausserdem ist Helloween... vielleicht sollte jemand frueher kommen und
Tische in Beschlag nehmen... :)

Thufhir(2)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dresden (Ivo, 27. Okt 1997, 16:05:01):
~#! rn=Hobo rt=877958374 rg=treffen
~#! tid=877957402
Da hast du wohl recht, ich bin nicht Cati ;). ich hoffe diesmal klappt das mit
dem Gruss besser.
YT Ivo

-----------------------------------------------------------------------------



Treffen in Frankfurt/M (Boebbel, 28. Okt 1997, 00:34:03):
        ___________________________________
       /                                  /|
      /----------------------------------/ |
      |     +---------------------+     |  |
      |     | S T A M M T I S C H |     |  |
      |     +---------------------+     |  |
      |               in                |  |
      |            Frankfurt            |  |
      |                                 |  |
      |           am 07.11.97           |  |
      |           um 20:00 Uhr          |  |
      |               im                |  |
      |         Domenicus-Keller        |  |
      |         ================        |  |
      |          Mainstrasse 11         | /
      |_________________________________|/

Bis dann,
Ein Boebbel...

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dresden (Rikus, 28. Okt 1997, 00:40:07):
~#! rn=Mango rt=877957635 rg=treffen
~#! tid=877957402
hm, entweder muss ich dann abends/nachts noch nach Chemnitz zurueck oder
einer von Euch ist so nett und hat einen Platz fuer mich!

Danke, Rikus

-----------------------------------------------------------------------------



Re: Dortmund nich vergessen (Shakedbeer, 28. Okt 1997, 00:51:02):
~#! rn=Morgoth rt=877959579 rg=treffen
~#! tid=877959579
Bin Freitag wahrscheinlich nicht dabei :-(

Shaky (-1)

-----------------------------------------------------------------------------



Treffen in Hamburg! (Hangover, 29. Okt 1997, 11:31:48):
Moin!

Schon wieder zwei Monate sind ins Land gegangen, deswegen gibt es auch wieder
ein kleines MUD-Treffen im schoenen Hamburg...

Termin: 13. November, ab 19 Uhr
Ort: Rieckhof in Hamburg-Harburg

Man sieht sich!
-Hangover

-----------------------------------------------------------------------------



Treffen in Frankfurt (Dolph, 29. Okt 1997, 14:28:41):
Ich geh mal davon aus, das noch jeder den Weg nach Frankfurt
zum Domenicuskeller findet !

Ansonsten habe ich da noch eine prima selbst abgefahren Wegbe-
schreibung, die bis auf den Meter genau stimmt. 

Fuer diejenigen unter euch die noch nicht da waren, hier ein 
kleiner Tip. Setzt euch nicht alleine an einen Tisch. Sondern 
am besten gegenueber vor der Theke. Da sitzen wir eh immer, ich 
meine sogar der Tisch hatte die Nummer 13 oder war es doch die 9.

Zur Not haette ich eine Skizze der Kneipe anzubieten.

Dolph will mal wieder Dummschmus labbern !


-----------------------------------------------------------------------------



Re: Treffen in Frankfurt (Wurzel, 29. Okt 1997, 19:55:54):
~#! rn=Dolph rt=878131721 rg=treffen
~#! tid=878131721
wenn man frueh genug kommt, ist das der tisch wo die leute sitzen... wer zu
spaet kommt, den bestraft das leben :)

-----------------------------------------------------------------------------



Re: Re: Treffen in Frankfurt (Anacrion, 29. Okt 1997, 19:56:49):
~#! rn=Wurzel rt=878151354 rg=treffen
~#! tid=878131721

Hmm. Wollen wir das Treffne nicht um ne Woche verlegen ? :)

Anac* - wuerde auch gern kommen..

-----------------------------------------------------------------------------



Re: Re: Dortmund nich vergessen (Kartoffel, 30. Okt 1997, 00:17:45):
~#! rn=Shakedbeer rt=877996262 rg=treffen
~#! tid=877959579
Bin da

Kartoffel (3)

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 30. Okt 1997, 17:30:34):

                          Hallihallohalloele !

Es findet ein Morgengrauenstammtisch in Braunschweig statt, der sogenannte 

                              *S*T*A*T*I*

                         selbiger findet statt
          ----   an jedem ersten Dienstag eines Monats   ----
                  

naechster also 

am 04.11.1997  (ein Dienstag)

um 20"Uhr

im ViertelNach im Bueltenweg 


Ihr seid herzlichst dazu eingeladen


Das Kompromittee (Festin und Qitess)

Teddy


P.S.: Wenn Du auch kommst bitte ----* anmelden *---- per MUD-MAIL bei
 
                      Qitess@MorgenGrauen


P.P.S.:        Bisher haben zugesagt :
       Qitess, Festin, Teddy, Mars, Jasonrigid, Zorro, Gavriel, Mylena, 
       Critter@UNItopia, Edmund@UNItopia, Snibril kommt wohl nicht, sacht 
       er, kommt aber eh meistens,auch wenn er es dementiert...


QI**


-----------------------------------------------------------------------------



besser spaet... (Gnome,  3. Nov 1997, 23:53:31):
...als nie! :)
in 2 tagen findet auch wieder der Berliner Stammtisch statt.
wie immer im seeblick (prenzl berg?), um 20.00h.
ich hoffe auf zahlreiches erscheinen :-)))

gnOme

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  4. Nov 1997, 13:19:00):
Also schoen, Kinners...

Heute , am Dienstag den 4.november

findet im Viertel Nach der monatliche

Braunschweiger     *S*T*A*T*I*   statt   !!!

Juchuu, werdet ihr denken. 

und wir hoffen, dass auch ein paar erscheinen tun...

Das Kompromittee (Qitess & Festin)

Teddy

Critter@UNItopia

P.S.: Bis denne...

QI**


-----------------------------------------------------------------------------



Re: ER am 6.11. (Marcus,  4. Nov 1997, 16:34:53):
~#! rn=Highlander rt=877958419 rg=treffen
~#! tid=877958419
Errr.....
Ist am ersten Donnerstag nicht immer die angewandte Chemie EinfuehrungsVL ? 
(Ok, ich hab sie gesehen, aber es gibt sicherlich einige, die sie noch nicht
kennen ... )

Ciao, Marcus

-----------------------------------------------------------------------------



Bonn-WE (Sting,  5. Nov 1997, 13:32:34):
Hi Leute!

Am 22.11. findet in Bonn ein Rudelmudden/Stammtisch/Party statt :)
Es werden wohl einige von ausserhalb kommen (unter anderem Ich, und vermutlich
auch Key, evtl. ein paar Essener...)
Das wird sicherlich lustig, also wenn jemand Lust/Zeit hat, kann er ruhig mal
ne Mail an mich oder nen Bonner schreiben.
CU

    Sting

-----------------------------------------------------------------------------



Re: Bonn-WE (Yantro,  5. Nov 1997, 13:35:17):
~#! rn=Sting rt=878733154 rg=treffen
~#! tid=878733154
wieso legt ihr solche trefftermine immer genau auf die geburtstagsfeiern von
netten Koelnerinnen? *grmpf* 

yantro

-----------------------------------------------------------------------------



Re: Re: Bonn-WE (Ronda,  5. Nov 1997, 13:38:03):
~#! rn=Yantro rt=878733317 rg=treffen
~#! tid=878733154
Hi,
da bin ich mal wieder mit meinem (Stief?)-Papa einig...
Oh je... heisst das, dass wir zusammen bei Semira in der Kueche pennen
muessen, Yantro?
Wie waere es, den Termin in Bonn auf den 6. Dezember zu lgen? So ne Art
"Nikolausmudden"?
Dafuer wuerd ich wohl dann auch aus Paderborn anreisen - wer bringt Kekse mit?
Ind Tannengruen? *grins*

       Ronda

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Bendeigid,  5. Nov 1997, 21:44:29):
~#! rn=Qitess rt=878645940 rg=treffen
~#! tid=878645940
ARGH!
Qitess, koenntest du mal versuchen, die daemlichen und hoechst ueberfluessigen
tausend Leerzeilen aus deiner ewig gleichen Ankuendigung wegzulassen? jedesmal
scroll ueber zwei Seiten fuer einen Inhalt, der in eine oder zwei Zeilen
passt.

Zurueckscrollend,
                Bendeigid

P.S.: Nein, spart euch die replys, ist eh vergeblich

-----------------------------------------------------------------------------



ER am 6.11. (Geordi,  5. Nov 1997, 21:56:28):
Hallihallo!

Wer von Euch kommt denn morgen so alles in den Pleitegeier?

Geordi

-----------------------------------------------------------------------------



Re: ER am 6.11. (Hangover,  6. Nov 1997, 08:38:37):
~#! rn=Geordi rt=878763388 rg=treffen
~#! tid=878763388
Hiho!

Honx und ich werden diesmal nicht kommen, wir haben aber Erlangen nicht
vergessen - ein andermal :)

-Hangover


-----------------------------------------------------------------------------



Re: Re: ER am 6.11. (Highlander,  6. Nov 1997, 08:42:59):
~#! rn=Hangover rt=878801917 rg=treffen
~#! tid=878763388
Doris & moi kommen. Allerdings werden wir wohl bis 2130 wieder 
verschwinden, weil ich Fr morgens eine   ahem   wichtige Verabredung hab.
  HrT
PS: Dauergast hat mir auch schon sein OK gegeben, und ich denke,
    Marcus wird auch da sein.

-----------------------------------------------------------------------------



Karlsruhe (Hobo,  6. Nov 1997, 08:50:28):
Wenn alle anderen ihre Trffen schon so ankuendigen, mach ich das auch mal
wieder:

   Treffen in Karlsruhe
   so wie jede Woche donnerstags
   im Kleinen Meierhof

Waer auch mal nett, wenn ein paar neue Leute hinkommen, nicht Nihao?

Bis denne


  Hobo (denkt: Spaghetti!!!)

-----------------------------------------------------------------------------



Re: Karlsruhe (Hobo,  6. Nov 1997, 08:51:23):
~#! rn=Hobo rt=878802628 rg=treffen
~#! tid=878802628
achja, da war noch was:

    ab 20 Uhr!

Tschuessi  

     Hobo

-----------------------------------------------------------------------------



frankfurt (Wurzel,  6. Nov 1997, 19:47:44):
na gut, wenn alle hier rumsuelzen... zur erinnerung:

freitag, 7.11. treffen in frankfurt, domenicuskeller ab 20 uhr :)

wurzel schreibt heute superfluide artikel

-----------------------------------------------------------------------------



Muenster (Freund,  7. Nov 1997, 00:57:37):
Wenn's gerade in ist:
Stammtisch in Muenster, jeden Dienstag, 20 Uhr in der Cavete (oder Cafete?),
na, jedenfalls da, wo es die _tollen_ Kartoffelecken gibt, die man bestellt
und dann nur einen leeren Teller zu bekommen scheint.

Freund, fasst regelmaessig da.

-----------------------------------------------------------------------------



Re: Muenster (Wargon,  7. Nov 1997, 09:32:38):
~#! rn=Freund rt=878860657 rg=treffen
~#! tid=878860657
Also wenn Deine Kartoffelecken bei mir vorbeikamen, waren immer welche drauf
auf dem Teller :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: Muenster (Grimmborn,  7. Nov 1997, 09:38:06):
~#! rn=Wargon rt=878891558 rg=treffen
~#! tid=878860657
Wo wir gerade dabei sind:
Stammtisch in Koeln, so um die Zeit zwischen Weihnachten und Neujahr, der
einzig echte!
Naehere Details und Ankuendigungen zu gegebener Zeit von Yantro.

Grimmborn der Atheist

-----------------------------------------------------------------------------



MG-Treff in Bielefeld am 19.-23.11.??? (Ancalagon,  7. Nov 1997, 11:26:09):
Knuddels!
Ich hab gerade gehoert, dass hier vom 19.-23.11. ein
Informatik-Fachschaftstreffen stattfindet. Welcher MGler ist denn dann hier in
Bielefeld und haette Interesse an einem MG-Treff? Und wer ist dann zwar nichgt
hier, wuerde aber kommen, wenn einer stattfindet? Bei ausreichend Interesse
versuch ich mal, was auf die beine zu stellen....
meldet euch bitte mailmaessig bei mir....
Tschuessknuddels,
                               Ancalagon

-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*    (Qitess,  7. Nov 1997, 13:15:23):
~#! rn=Bendeigid rt=878762669 rg=treffen
~#! tid=878645940

   MEMM NICH RUM !

QI**


-----------------------------------------------------------------------------



Re: MG-Treff in Bielefeld am 19.-23.11.??? (Yantro,  7. Nov 1997, 13:43:08):
~#! rn=Ancalagon rt=878898369 rg=treffen
~#! tid=878898369
am selben WE ist auch in Bielefeld BuFaTa (BundesFachschaftenTagung der
ChemikerInnen.... ich bin zwar nihct dabei, aber vielleicht andere.

-----------------------------------------------------------------------------



Re: Re: MG-Treff in Bielefeld am 19.-23.11.??? (Hangover,  7. Nov 1997, 14:34:44):
~#! rn=Yantro rt=878906588 rg=treffen
~#! tid=878898369
Moin!

Mir wuerde es ja schon ausreichen, wenn wir uns einfach auf einen Tag und eine
Kneipe einigen...der Rest gibt sich dann von selbst ;)

-Hangover

-----------------------------------------------------------------------------



Treffen ! (Rantanplan, 10. Nov 1997, 12:50:13):
Stammtisch in Heidelberg !

Jeden Mittwoch im Schwimmbad-Club in Heidelberg ab 23.00 Uhr.

Zu sehen gibt es dunkle gestalten in Lack und Leder und Barocken gewaendern.

Nix fuer schwache Nerven !

Oe*

-----------------------------------------------------------------------------



Re: Re: MG-Treff in Bielefeld am 19.-23.11.??? (Fyt, 11. Nov 1997, 00:02:43):
~#! rn=Yantro rt=878906588 rg=treffen
~#! tid=878898369

Hm, ich bin zwar nicht bei den Chemikern, aber bei den Mathematikern
am selben Ort zur selben Zeit ;--)

Fyt.

PS: Da soll auch noch die *K*onferenz der *I*n*f*ormatik*f*achschaften
sein...

-----------------------------------------------------------------------------



Re^3: MG-Treff in Bielefeld am 19.-23.11.??? (Hangover, 11. Nov 1997, 00:03:40):
~#! rn=Fyt rt=879202963 rg=treffen
~#! tid=878898369
Ja, Fyt.

Aber nur mit einem 'f'.
Wer hat Dir denn die Idee gegeben, dass wir kiffen? ;)

Hangover -> schmarrn



-----------------------------------------------------------------------------



Re^4: MG-Treff in Bielefeld am 19.-23.11.??? (Fyt, 11. Nov 1997, 00:07:44):
~#! rn=Hangover rt=879203020 rg=treffen
~#! tid=878898369

Komisch, die *Ko*nferenz der deutschsprachigen *Ma*thematikfachschaften
schreibt man voellig ohne 'f', aber wenn mir jemand erzaehlen wuerde, da
wuerde keiner ab und zu so tun, als waere er Informatiker, wuerde ich
schleunigst 'n Optikertermin vereinbaren wollen...

Fyt.

-----------------------------------------------------------------------------



Re^5: MG-Treff in Bielefeld am 19.-23.11.??? (Acrimon, 11. Nov 1997, 19:41:49):
~#! rn=Fyt rt=879203264 rg=treffen
~#! tid=878898369
Die sind ja auch alle im Koma :-)

(-> schmarrn)

-----------------------------------------------------------------------------



Re^6: MG-Treff in Bielefeld am 19.-23.11.??? (Ancalagon, 13. Nov 1997, 14:26:54):
~#! rn=Acrimon rt=879273709 rg=treffen
~#! tid=878898369
Knuddels!
Also, es scheinen ja doch einige MGler an diesen tagen in Bielefeld zu sein.
Ich sag also einfach mal, dass wir uns am Donnerstag den 20.11. im Cafe Mint
treffen. Fuer die Leute die an der Uni sind ist das hinkommen ganz einfach.
Wir treffen uns einfach an der Uni und ziehen gemeinsam los. Wie waere es mit
19.00 Uhr am Haupteingang? Wer spaeter oder von woanders kommen will, fragt
einfach mich, Yaren, Li oder Silvana nach dem Weg.....
Alles einverstanden damit? Fein.....
Ach uebrigens, Donnerstags kosten im Cafe Mint alle Auflaeufe nur 10 DM. Also
koennt ihr euchg das Abendessen sparen.....
Also, bis Donnerstag,
                                                Ancalagon

P.S.: ich werde natuerlich anfang naechster Woche noch mal eine Erinnerung in
die zeitung setzen..... :)


-----------------------------------------------------------------------------



Re^7: MG-Treff in Bielefeld am 19.-23.11.??? (Ancalagon, 13. Nov 1997, 14:30:54):
~#! rn=Ancalagon rt=879427614 rg=treffen
~#! tid=878898369
Knuddels nochmal.....
Ich hab noch vergessen: Der termin am 20.11. muss nicht der einzige bleiben.
wir koennen uns auch gerne am Wochenende noch verabreden...aber das koennen
wir dann ja klaeren....
c u l8er,
                                      Ancalagon

-----------------------------------------------------------------------------



Re^7: MG-Treff in Bielefeld am 19.-23.11.??? (Silvana, 13. Nov 1997, 15:06:41):
~#! rn=Ancalagon rt=879427614 rg=treffen
~#! tid=878898369
Uebrigens gehoert zur Kif auch ne Fete, naemlich am Freitag um 21:00 
in der Mensa der FH. Es ist natuerlich jeder eingeladen, da zu erscheinen.
Leider kann ich da nicht kommen, aber vielleicht kommt ja der eine oder 
andere MGler?

  Silvana

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 17. Nov 1997, 12:51:36):

                          Hallihallohalloele !
Es findet ein Morgengrauenstammtisch in Braunschweig statt, der sogenannte 

                              *S*T*A*T*I*

                         selbiger findet statt
          ----   an jedem ersten Dienstag eines Monats   ----
                  
               allerdings   NICHT!!!   der naechste !!!!!

     Denn aus gegebenem Anlass findet der naechste   *S*T*A*T*I*   zum
               Nikolaus statt, genauergesagt, vor Nikolaus... 

              also am     05.12.1997  (ein Freitag diesmal !)
         wie immer um 20"Uhr       im ViertelNach im Bueltenweg 

Ihr seid herzlichst dazu eingeladen


Das Kompromittee (Festin und Qitess)

P.S.: Wenn Du auch kommst bitte ----* anmelden *---- per MUD-MAIL bei
 
                      Qitess@MorgenGrauen

P.P.S.: bitte diesmal    UNBEDINGT   VORHER   ANMELDEN !!!
          auch wenn es nur mit einem *vielleicht* oder einem
          *hoechstwahrscheinlich* oder einem *unter Umstaenden* ist!!!
                  DANKESCHOEN !!! 

QI**

-----------------------------------------------------------------------------



MG-Treff in Bielefeld!!! (Ancalagon, 18. Nov 1997, 18:04:43):
Knuddels!
Hier nochmal eine kurze Erinnerung: Weil sich am kommenden Wochenende einige
MGler inj Bielefeld befinden, findet dortselbst ein ausserordentlicher
MG-Treeff statt!!!! Und zwar am Donnerstag, den 20.11.97 um ca 20.00 Uhr im
Cafe Mint!!!
Entweder trefft ihr euch mit mir um 19.00 Uhr am Haupteingang der Uni, oder
ihr kommt direkt dorthin. Wer den Weg nicht kennt, frage oder maile mich, Li,
Yaren, Nixihau, Aurian oder Silvana an.....
Uebrigens ist Donnerstags Auflauftag im Cafe Mint (alle Auflaeufe 10,- DM) Und
die sind echt nicht schlecht......
Auf zahlreiches Erscheinen hoffend,
                                           Ancalagon
                                   Draco knuddellensis major

-----------------------------------------------------------------------------



Bonner Som^H^H^HHerbst (Zephyr, 19. Nov 1997, 14:01:58):

 Zu Studienzwecken ("Ich will auch mal ein Rudeln miterleben") und weil
man so was natuerlich eigentlich immer machen kann, findet mal wieder
einer der beruechtigten Bonner Rudel-Abende statt, und zwar am 
       Samstag, 22.11., ab 16:30 Uhr im Flachbau des RZ

Als Studienobjekte haben sich bisher Nesaja, Nairolf, Sting, Key, Schoko,
Anatol, Kartoffel, Sofie, Gando, Twingi und meine Elfigkeit zur Verfuegung
gestellt. Da die Rechner wohl nicht fuer alle gleichzeitig reichen werden,
wird alternativ auch gesiedelt werden koennen (wer das schon mal gespielt
hat, weiss, dass das auch was mit Rudeln zu tun hat ;)

Als weiterer Hoehepunkt ist zu empfehlen: das Frueh(Spaet-?)Stueck am
      Sonntag morgen (vormittag?), Uhrzeit noch unbekannt :)
Fuer das Fruehstueck aber bitte anmelden bei mir, da sonst nicht alle
satt werden ;) (Wer sich nicht anmeldet, kriegt hoechstens nen Kaffee ;)

*knuddels*
                     Zephyr

PS: Wegbeschreibung gibbs wie immer bei mir.

-----------------------------------------------------------------------------



Re: Bonner Som^H^H^HHerbst (Sharia, 19. Nov 1997, 15:32:37):
~#! rn=Zephyr rt=879944518 rg=treffen
~#! tid=879944518
BETRUG !!!!!! Nairolf wird nicht kommen...  er wird wohl mich schicken :-)

Sharia freut sich.

-----------------------------------------------------------------------------



Re: Re: Bonner Som^H^H^HHerbst (Key, 19. Nov 1997, 16:09:53):
~#! rn=Sharia rt=879949957 rg=treffen
~#! tid=879944518
Pff dann komm ich auch net, sondern schicke nur Tui ;))

Key

-----------------------------------------------------------------------------



treffen (Sting, 19. Nov 1997, 19:54:40):
Ich komme auf _jeden_ Fall selber, und schicke Riddler hoechstens als Spion
vor :)

Sting

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Boing, 20. Nov 1997, 10:00:28):
Heute ist wieder Stammtisch im Kleinen Meierhof in Karlsruhe, Zaehringer
Strasse. Zeitpunkt 20 Uhr. Wer kommen moechte soll das tun.
Uebrigens ist JEDEN Donnerstag Stammtisch.
  Boing

-----------------------------------------------------------------------------



Muensteraner Stammtisch (Freund, 20. Nov 1997, 15:14:04):
Ja, hallo erstmal,
in Muenster ist ja in der Cafete jeden Dienstag Stammtisch. Klar - weiss
ja jeder, da, wo es die tollen Kartoffelecken gibt, die so schnell ver-
dunsten...
Aber NEU IST:
Wir haben einen _reservierten_ Tisch. Theoretisch jeden Dienstag.

Freund, der an die denkt, die von weiter weg kommen.

P.S.: Natuerlich waren vorletztes Mal ohne Reservierung wahnsinnig
viele Leute da (draeng in Ecke, zerquetscht Rochus, Bhamir, werft mit
Jof-Deckeln...) und letztes Mal, an dem grossen Tisch, waren wir gerade 
mal 7. :-) Murphy scheint auch Mud-Gesetze zu machen...

-----------------------------------------------------------------------------



Es weihnachtet irgendwie schon... (Ark, 24. Nov 1997, 12:00:12):
So. Und weil das so ist, koennte man doch statt dick
und fett inner Kneipe zu hocken (reine Polemik), sich
aufmachen, und einen Weihnachtsmarkt per Fuss erkunden.
Das 
Ich dachte da an den Heidelberger Weihnachtsmarkt.
Wie isses, an einem WE im Dezember? Aufgerufen sind die,
die sich angesprochen fuehlen. Koeniglicher Vorschlag
von mir: Samstag, 13.12. (so als Diskussionsgrundlage).
Nun sprechet...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Es weihnachtet irgendwie schon... (Anacrion, 24. Nov 1997, 21:40:46):
~#! rn=Ark rt=880369212 rg=treffen
~#! tid=880369212

Eigentlich sitzt Ark hier neben mir und diktiert mir (mangels Fingerkuppen)
...

Der 13.12 ist doch nicht so gut .... ein anderer Termin waere doch besser
passend
(auch mir, Anm. d. Anacrion) ... Vorschlaege bitte an ark@mg. Kann auch unter
der Woche sein....Studenten und auch aeltere Semester haben ja viel Zeit
(besonders, wenn man sich mal die Onlinestatistik anguckt :) )

Nu ja....alles weitere wird (oder auch nicht) folgen....

Yours Truly

 Anacrion - THE MAGNIFICENT   (heute mal Schizophren)

-----------------------------------------------------------------------------



Re: Re: Es weihnachtet irgendwie schon... (Wurzel, 24. Nov 1997, 21:51:46):
~#! rn=Anacrion rt=880404046 rg=treffen
~#! tid=880369212
leute, da koennt ihr ruhig hingehen. ist bestimmt absolut wurzelfrei.

wurzel hats nicht so mit weihnachtsmaennern.

-----------------------------------------------------------------------------



Koeln? (Shakedbeer, 25. Nov 1997, 18:38:42):
Hi!

Wie sieht es eigentlich mit dem Koelner Neujahresstammtisch aus?

Shaky.

-----------------------------------------------------------------------------



DO-Stati (Shakedbeer, 25. Nov 1997, 18:39:50):
Achja,

und Dortmund liegt auch wieder an! Freitag, gleiche 20:00 Uhr
Walhalla?

Shaky. (1)

-----------------------------------------------------------------------------



Re: Koeln? (Semira, 25. Nov 1997, 19:39:07):
~#! rn=Shakedbeer rt=880479522 rg=treffen
~#! tid=880479522
keine sorge, der kommt...aber frag nicht zu laut, sonst startet yantro wieder
so eine werbekampagne wie letztes jahr...

*freut sich schon vor und hat den Termin schon im Kalender stehn*
Semira

-----------------------------------------------------------------------------



Re: Re: Koeln? (Wurzel, 25. Nov 1997, 19:46:16):
~#! rn=Semira rt=880483147 rg=treffen
~#! tid=880479522
waere trotzdem nett, wenn wenigstens der termin bekanntgegeben wuerde (muss
ja nicht gleich wieder so ein brimborium werden :). bin irgendwann in der
fraglichen zeit eh in der naehe, aber planen taet ich schon gern...

wurzel

-----------------------------------------------------------------------------



IHR HABS NICHT ANDERS GEWOLLT...... (Yantro, 27. Nov 1997, 06:49:12):
UND AUCH NICHT ANDERS VERDIENT !!!!!!!!!!!!!!!!!!!!!

Shaki hat als erster gefragt, also uebernimmt er die Orga, oder seh ich das
falsch? :-)

okok... spass beiseite... 

Fuehlt euch alle eingeladen zum grandiosen, wahnwitzigen, grossartigen,
unuebertroffenen, lieblichen, versoffenen, verrauchten, verfressenen,
spassigen, ueberfuellten, unsterblichen und immer wieder guten STAMMTISCH mit
der groessten Tradition aller Zeiten. 

Wann?     Freitag, der 2.1.1997
Wo?       Koeln, Zuelpicher strasse, Borsalino (wie vor 2 Jahren)
          (die wissen aber noch nichts von ihrem Glueck (?) :) )
Wer?      Ich, alle, die wollen, hoffentlich wirds voll.
Weshalb?  Weils einfach das BESTE ist!
Wieviel?  Umkostenbeitrag gibt es KEINEN! Jeder zahlt fuer sich selbst.
Wo pennen?Melden bei mir wie immer... oder selbst suchen.
Melden?   Sicher ists wie immer besser, sich anzumelden. Wirt warnen ist nett!
WWW?      Mach ich wohl keine Seite diesmal.
Weg?      Aeh tja... hat noch einer die Wegbeschreibung von vor 2 Jahren? :)

Mehr bald in dieser Zeitung.... muss die Werbetrommel noch raussuchen.

Yantro

-----------------------------------------------------------------------------



Re: DO-Stati (Hardil, 27. Nov 1997, 10:37:39):
~#! rn=Shakedbeer rt=880479590 rg=treffen
~#! tid=880479590

In Dortmund wird gestreikt.
Das betrifft ja wohl auch den MG-Stammtisch, oder?
:-))

-Hardil

-----------------------------------------------------------------------------



Re: IHR HABS NICHT ANDERS GEWOLLT...... (Bendeigid, 27. Nov 1997, 16:07:32):
~#! rn=Yantro rt=880609752 rg=treffen
~#! tid=880609752
Shit, muss es das Borsalino sein? Bisher wars da zweimal, und beide male haben
die den Riesenumsatz ihres Lebens gemacht, und beide Male stress wegen einer
Cola oder so, die noch angeblich unbezahlt war. Ich wette noch immer, dass die
Bedienung sich schlicht vertippt hatte und eine zu viel aufgeschrieben hat. 

Naja, Raum haben die genug, wenigstens. Crimson ist zu klein, Brauhaus zu doof
weil um 11 schon zu etc....

Z'par Servu,
           Bendeigid, auch keine bessere Idee fuer nen Ort habend

-----------------------------------------------------------------------------



Re: Re: DO-Stati (Teddy, 28. Nov 1997, 12:25:42):
~#! rn=Hardil rt=880623459 rg=treffen
~#! tid=880479590
Och noe, bin ich gegen.

Teddy

-----------------------------------------------------------------------------



Dresdener Stammtisch (Gloin, 30. Nov 1997, 15:34:46):
Am 4.12. gegen 21:00 Uhr in der Alma mater. Bei Fragen an mich wenden, dann
kommt ihr auf unseren Stati-Emailer.

Gloin

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  1. Dez 1997, 14:45:12):
hiho,
am Mi, den 03.12.97, findet im Seeblick wieder unser stammtisch statt. 
wie immer um 20.00h. kommet zahlreich, und es sind ganz besonders die
eingeladen, die noch nie da waren... :)

bis denne....

gnOme

-----------------------------------------------------------------------------



Re: stammtisch in B (Janitze,  1. Dez 1997, 15:12:02):
~#! rn=Gnome rt=880983912 rg=treffen
~#! tid=880983912
ich kann leider nicht kommen, mein chef will mit seinen angestellten
abends in den Friedrich-Stadt-Palast :(

Janice wuerde gern kommen

-----------------------------------------------------------------------------



Stammtisch irgendwo ? (Qitess,  1. Dez 1997, 16:04:37):
hi. 
weil ich am WE um den 13. rum nach MG (in diesem Falle MoenchenGladbach und
net MorgenGrauen) fahre, wollte ich mal wissen, ob zufaellig dann ein
Stammtisch in der Naehe bzw auf dem weg von WOB nach MG stattfindet.

???

(Muenster zB wuerde in diesem falle auch noch auf dem weg liegen.)

QI** und Festin

P.S.: fuer Ignoranten und Dummkoepfe : WOB = Wolfsburg ;)
      Extra-Knuddels an Ignoranten und Dummkoepfe ;)

-----------------------------------------------------------------------------



TUe-Stammtisch (Morgar,  1. Dez 1997, 16:11:33):
Der Tuebinger Stammtisch findet aus aktuellem Anlass nicht am 5., sondern erst
am Freitag den 12.12 statt.
Ort bleibt aber der selbe. (20 Uhr Marquartei)

Morgar

-----------------------------------------------------------------------------



Re: TUe-Stammtisch (Qitess,  1. Dez 1997, 16:13:31):
~#! rn=Morgar rt=880989093 rg=treffen
~#! tid=880989093
liegt Tuebingen auf dem Weg zwischen Wolfsburg und MoenchenGladbach ?

QI** hat nich so viel Ahnung von Deutscha geegrafi

-----------------------------------------------------------------------------



Re: Re: TUe-Stammtisch (Morgar,  1. Dez 1997, 16:14:09):
~#! rn=Qitess rt=880989211 rg=treffen
~#! tid=880989093
Hm, glaub nicht.

Morgar (nicht viel mehr Ahnung habend)

-----------------------------------------------------------------------------



Faellt aus wegen is nich' (Ark,  1. Dez 1997, 20:09:59):
So, nachdem alle mir die Tueren eingerennt haben wegen dem Weihnachtsmarkt-
vorschlag, wuerde ich sagen, verschieben wir es auf Ostern :-)
Statt dessen: wie mir aus verlaesslicher Quelle mitgeteilt wurde, findet
am FREITACH, DEN 12.12.1997 ein geheimes Treffen noch nicht genauer quanti-
fizierter Subjekte aus dem MorgenGrauen statt. Wahrscheinlicher und dubioser
Treffpunkt des Gesocks scheint eine Spelunke namens 'Hotzenplotz' zu sein.

Aufforderung an alle: Kommt um 20.00 Uhr dorthin, da werden wir den Zwergen,
Menschen, Elfchen und Hobbbitttssssen mal zeigen, wo's langgeht ...

Hm, langsam raste ich hier aus :-), trotzdem, wer nich kommt, wird mit einem
missbilligendem Blick und einem 'rknuddel-scroll' nicht unter 2 min bestraft.

Hossa!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Darmstadt (Ark,  1. Dez 1997, 20:11:31):
Achso, jetzt hab ich schon Darmstadt zum Nabel der Welt gemacht, und ganz
vergessen zu sagen, dass das Treffen natuerlich daselbst stattfindet 8^B


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  2. Dez 1997, 16:20:58):
Der alldonnerstaegliche Karlsruher Mud-Stammtisch findet natuerlich
auch diesen Donnerstag wieder um 20 Uhr im kleinen Meierhof (Zaehringer
Strasse) statt. Ich selbst werde zwar nicht da sein, aber dafuer jede
Menge andere Leute.
Uebrigens kann ich gleich ankuendigen, dass die Woche drauf (duerfte der
11.12. sein oder so aehnlich) kein Stammtisch ist! Stattdessen fahren 
wird ins Elsass zum Flammkuchen essen, wer da mit will soll rechtzeitig
Bescheid sagen (Muadib oder mir)!
  Boing

-----------------------------------------------------------------------------



Stammtisch in Erlangen (Marcus,  2. Dez 1997, 16:26:10):
Hi

Wie jeden Monat, gibts diesen Donnerstag wieder einen Stammtisch
in Erlangen. 19:00 im Pleitegeier.
Wer kommen will, kann mir eine Mail schicken, dann kann ich nen Tisch 
reservieren lassen ;)

Marcus

-----------------------------------------------------------------------------



Re: Darmstadt (Anacrion,  2. Dez 1997, 20:10:51):
~#! rn=Ark rt=881003491 rg=treffen
~#! tid=881003491
Und JAWOLL :)

bis zum 12.12.......bzw. frueher (gelle, Val* und Ark;) )

Anac* ... kommt bestimmt und freut sich, endlich mal an einem Termin zu
koennen :)

-----------------------------------------------------------------------------



Ein Wunder! Ein Zeichen! Es gibt Paderborn! (Ronda,  2. Dez 1997, 22:03:12):
Nun ists passiert: selbst in Paderborn gibts (wenige) Mudder - mal sehen,
vielleicht kommen ja auch Bielefelder so weit Richtung Rom?
Treffpunkt ist der "Gruene Frosch", Freitag den 5.12. ab 19.30 - wenn wirklich
"Nicht-Eingeborene" kommen wollen, meldet Euch einfach bei mir...

Tschuess,
          Ronda

-----------------------------------------------------------------------------



Berlin! (Jimdigriz,  3. Dez 1997, 20:00:29):
Hoi,

ich habe vor Anfang Januar (ab 2.1.) fuer ein paar
Tage nach Berlin zu kommen. Waer cool wenn da zufaellig
auch ein Stammtisch oder so stattfindet, und auch evtl
sonst ein paar Mudder da waeren mit denen ich mal
auf ein Bier oder zwei gehen koennte. :)

Is allerdings noch ned 100% sicher.

cu there,
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Berlin! (Grimmborn,  3. Dez 1997, 20:04:47):
~#! rn=Jimdigriz rt=881175629 rg=treffen
~#! tid=881175629
Vergiss es.
Die sind da alle auf dem einzig wahren MG-Stammtisch in Koeln. Da solltest Du
auch sein.

Grimmborn der Atheist

-----------------------------------------------------------------------------



DO-Stammtisch verschieben? (Kartoffel,  3. Dez 1997, 22:53:29):
Halloele,

der letzte Freitag in diesem Monat ist ungeschickter Weise, der zweite
Weihnachtsfeiertag, wie waer's wenn man den Stammtisch in DO verschiebt, z.B.
um eine Woche nach vorne auf den 19.?

Kartoffel - laesst den Panda verschrotten, wenn der wieder Dummheiten macht...

-----------------------------------------------------------------------------



Re: Re: Berlin! (Janitze,  4. Dez 1997, 01:05:34):
~#! rn=Grimmborn rt=881175887 rg=treffen
~#! tid=881175629
da sei Dir mal nicht so sicher Grimmborn, mal gucken, da Jim* am anfang
des monats kommt, ist es sehr wahrscheinlich, das wir da nen Stammtisch
haben, wenn net, wird einfach einer einberufen :)
Apropos, vor Weihnachten wird's wohl noch einen geben, da uns Fatima
und Hanni besuchen kommen, aber wann weiss ich noch net genau.

Bis dann Janice !

-----------------------------------------------------------------------------



Re^3: Berlin! (Grimmborn,  4. Dez 1997, 10:25:51):
~#! rn=Janitze rt=881193934 rg=treffen
~#! tid=881175629
So, die Berliner spielen die Spalter und denken ueber einen
Konkurrenzstammtisch zum einzig wahren, phantastischen und traditionellen
Koelner MG-Stammtisch (nur authentisch wenn von Yantro organisiert) nach?
Jungs, lasst es, das ist doch zum Scheitern verurteilt. Um den Jahreswechsel
gibt es eben nur einen echten MG-Stammtisch, und der ist in Koeln.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Berlin! (Janitze,  4. Dez 1997, 18:55:01):
~#! rn=Grimmborn rt=881227551 rg=treffen
~#! tid=881175629
ach nun halt doch mal die Luft an ! Wer sagt denn, das wir nen konkurrenz-
stammtisch machen ? Vielleicht ist es einfach so, das nicht alle berliner
nach Koeln fahren koennen/wollen, und deshalb nen stammtisch in berlin 
machen, der sowieso schon seid altersher am beginn den monats war !

Janice sticht Grim* mit ner Nadel wohin *zisch* *winke*

-----------------------------------------------------------------------------



Re^5: Berlin! (Yantro,  5. Dez 1997, 07:47:06):
~#! rn=Janitze rt=881258101 rg=treffen
~#! tid=881175629
Aehaem... es ist NICHT wahr, dass ich Grimmis Passwort hab und ich hab ihn
weder bestochen noch engagiert, Werbung zu machen!!!!

Yantro


-----------------------------------------------------------------------------



Re: IHR HABS NICHT ANDERS GEWOLLT...... (Larissa,  8. Dez 1997, 09:38:10):
~#! rn=Yantro rt=880609752 rg=treffen
~#! tid=880609752
Hoi,
solte man sich irgendwo anmelden (koennen) fuer den
Koelner Jahresend-Weihnachts-Silvester-Neujahrese-Stammtisch?
Letztes Jahr wars da schon uebel voll, nicht, dass
am Ende kein Platz fuer alle ist.

Gruesse, Lari,
kommt, wenns gut geht mit Jof und Freund.

-----------------------------------------------------------------------------



Re: Re: IHR HABS NICHT ANDERS GEWOLLT...... (Ancalagon,  8. Dez 1997, 09:42:49):
~#! rn=Larissa rt=881570290 rg=treffen
~#! tid=880609752
Knuddels!
Ich will mich auch anmelden! :)
Allerdings weiss ich noch nicht 100%ig sicher, ob ich kommen kann.
Ich versuchs auf alle faelle!! :)
Auf wiederknuddeln,
                                    Ancalagon

-----------------------------------------------------------------------------



Re^3: IHR HABS NICHT ANDERS GEWOLLT...... (Grimmborn,  8. Dez 1997, 12:34:02):
~#! rn=Ancalagon rt=881570569 rg=treffen
~#! tid=880609752
Jaja, Anmeldungen fuer den Koelner Stammtisch wie gehabt per mail an Yantro.
Das ist doch wirklich selbstverstaendlich...

Grimmborn der Atheist ist immer hilfreich

-----------------------------------------------------------------------------



Re: Re: IHR HABS NICHT ANDERS GEWOLLT...... (Aline,  8. Dez 1997, 15:34:41):
~#! rn=Larissa rt=881570290 rg=treffen
~#! tid=880609752
Hi Larissa,

>Gruesse, Lari,
>kommt, wenns gut geht mit Jof und Freund.

Uiiii schon einen Freund.......
Was sagt Jof eigentlich dazu? ;)

Aline *grinst*

-----------------------------------------------------------------------------



Zweiter Versuch (Kartoffel,  8. Dez 1997, 23:40:17):

Nachdem, mein erster Artikel so viel Anklang befunde hat, versuch ichs
nochmal:
Der letzte Freitag im Dezember ist der zweite Weihnachtsfeiertag, fuern
Stammtisch ziemlich dumm, wie waers mit Vorverlegen?
Also DO-Stammtisch am Freitag den 19.12.?

Kartoffel - will nicht allein im Walhalla sitzen

-----------------------------------------------------------------------------



Re: Zweiter Versuch (Morgoth,  9. Dez 1997, 07:19:30):
~#! rn=Kartoffel rt=881620817 rg=treffen
~#! tid=881620817
Yep.
In alter frische um 2000h, oder doch etwas frueher, weil Weihnachtsmarkt und
Einkaufswut in vollen Zuegen?
Nein Yantro, nicht die Zuege der Bundesbahn... ;-)

Morgoth 

-----------------------------------------------------------------------------



Re: Zweiter Versuch (Teddy,  9. Dez 1997, 09:54:16):
~#! rn=Kartoffel rt=881620817 rg=treffen
~#! tid=881620817
So wie es bislang aussieht, werde ich an dem Wochenende tatsaechlich hier
sein.

Teddy, der durchaus nicht ungerne mit Kartoffel alleine im Walhalla sitzen
wuerde ;)

-----------------------------------------------------------------------------



Re: Re: Zweiter Versuch (Ringor,  9. Dez 1997, 10:33:37):
~#! rn=Teddy rt=881657656 rg=treffen
~#! tid=881620817
Also Teddy alleine mit Kartoffel?

Keine Chance :-)

Ringor. Kommt auch.

-----------------------------------------------------------------------------



Re^3: Zweiter Versuch (Hardil,  9. Dez 1997, 10:57:29):
~#! rn=Ringor rt=881660017 rg=treffen
~#! tid=881620817

Freitags ist scheisse. :)

-Hardil. Kommt nicht.

-----------------------------------------------------------------------------



Muenster?! (Ronda,  9. Dez 1997, 13:19:06):
Hi,
es koennte passieren, dass es sogar vier Paderborner bis nach Muenster
schaffen - koenntet Ihr bitte nochmal posten, wo der Stammtisch heute abend
stattfindet? (Viper und ich hatten irgendwas diskutiert wegen Verlegung in ne
andere Kneipe - aber ich hab keinen Schimmer...).
Wird zwar alles ziemlich knapp - aber ich freu mich trotzdem drauf,

Ronda

-----------------------------------------------------------------------------



Re: Re: Muenster?! (Freund,  9. Dez 1997, 14:57:24):
~#! rn=Teddy rt=881670412 rg=treffen
~#! tid=881669946
Klar! 20 Uhr, heute ist doch...

KARTOFFELECKENTAG!!! :-)))

Freund, gibt wie immer eine Schale fuer alle aus. (Genau eine! fuer alle
zusammen!!! :-)

-----------------------------------------------------------------------------



Re: Muenster?! (Rochus,  9. Dez 1997, 15:54:41):
~#! rn=Ronda rt=881669946 rg=treffen
~#! tid=881669946
Wegbeschreibung, ausgehend von AK Muenster-Nord (Steinfurter Str.):
Immer geradeaus, bis zu einer Kreuzung, vor der an der rechten Seite
eine Aral-Tankstelle ist (Ecke Steinfurter Str./Wilhelmstr.).
Bei dieser Ampel die linke Geradeausspur nehmen, bei der NACHFOLGENDEN
Ampel links abbiegen in die Muenzstrasse.
Es folgen SOFORT ein Parkplatz auf der linken Seite und etwas spaeter
kurz vor einer Ampel ein weiterer Parkplatz auf der linken Seite.
Falls moeglich auf dem 2. parken, fast genau gegenueber (eher etwas rechts
von der Parkplatzeinfahrt aus gesehen) ist die Kreuzstrasse.
Dort ist kurz vorm Ende der Strasse auf der linken Seite das Cavete.
Stadtplan zur besseren Orientierung:
http://medweb.uni-muenster.de/institute/epi/ms_innen.html
Notfalls kann man noch auf dem Hindenbrugplatz parken (keine 10 Minuten
Fussweg zum Cavete), allerdings ist das erst ab 21:00 kostenfrei.

  Rochus

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  9. Dez 1997, 16:24:16):
Mangels Planung faellt das fuer Donnerstag geplante Flammkuchenessen
aus, stattdessen ist ganz normal um 20 Uhr Stammtisch im Kleinen
Meierhof (Zaehringer Strasse).
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Grimmborn,  9. Dez 1997, 16:26:01):
~#! rn=Boing rt=881681056 rg=treffen
~#! tid=881681056
Ist auch besser so.
Mit Essen spielt man nicht, und so leckeren Kuchen abfackeln - also nee. Es
gibt viele arme Negerkinder die froh und dankbar waeren fuer all den Kuchen,
den die Leute hier bei uns einfach nur so verbrennen.

Grimmborn der Atheist verbreitet den Geist der Weihnachtszeit

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Freund,  9. Dez 1997, 16:26:40):
~#! rn=Grimmborn rt=881681161 rg=treffen
~#! tid=881681056
Grimmborn, als Atheist weisst Du doch gar nix von Weihnachtszeit... ;)

Freund, :-P

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Grimmborn,  9. Dez 1997, 16:32:22):
~#! rn=Freund rt=881681200 rg=treffen
~#! tid=881681056
Tststs, dass Leute immer wieder "Wissen" und "Ueberzeugung"
durcheinanderbringen...

Grimmborn der Atheist singt gleich wieder das Horst Wessels Lied

-----------------------------------------------------------------------------



Re: Zweiter Versuch (Shakedbeer,  9. Dez 1997, 17:53:04):
~#! rn=Kartoffel rt=881620817 rg=treffen
~#! tid=881620817
Hi!

Wie es aussieht, bin ich auch mit dabei.

Shaky - freut sich auf den verfruehten Stammtisch.

-----------------------------------------------------------------------------



Re^3: IHR HABS NICHT ANDERS GEWOLLT...... (Engywuck,  9. Dez 1997, 19:06:19):
~#! rn=Aline rt=881591681 rg=treffen
~#! tid=880609752
>>Gruesse, Lari,
>>kommt, wenns gut geht mit Jof und Freund.

>Uiiii schon einen Freund.......
>Was sagt Jof eigentlich dazu? ;)

>Aline *grinst*

Passt zwar jetzt gar nicht zum Thema, aber fuer Aline und andere Spiesser 
kann ich das Buch 
"Die neuen Paare - Anleitung zur Polygamie" empfehlen.
Infos gibts bei mir.

Engy - duckt sich schon mal

-----------------------------------------------------------------------------



Re^4: IHR HABS NICHT ANDERS GEWOLLT...... (Grimmborn,  9. Dez 1997, 19:19:11):
~#! rn=Engywuck rt=881690779 rg=treffen
~#! tid=880609752
Alles Naturwissenschaftler...
Ganz eindeutig bezieht sich hier der "Freund" auf Jof.

Inwieweit jetzt Larissa damit klar kommt, dass Jof einen Freund (in doch recht
eindeutigem Zusammenhang) hat bleibt ihr ueberlassen. Allerdings haben die
meisten Frauen weniger Probleme, wenn der Mann seine homosexuellen Neigungen
entdeckt als wenn er mit ner anderen Frau ankommt...

Grimmborn der Atheist - syntaktisch immer korrekt

-----------------------------------------------------------------------------



Re^5: IHR HABS NICHT ANDERS GEWOLLT...... (Raffi,  9. Dez 1997, 19:21:29):
~#! rn=Grimmborn rt=881691551 rg=treffen
~#! tid=880609752
Wobei Freund hier durchaus auch in der Geschlechtsneutralen Form verwendet
worden sein koennte ... z.B. um die von Dir angesprochenen moeglichen
Komplikationen zu vermeiden.

Gruebelnd
H.

E: Trotzdem raff ichs nicht.

-----------------------------------------------------------------------------



Re^6: IHR HABS NICHT ANDERS GEWOLLT...... (Larissa,  9. Dez 1997, 19:50:21):
~#! rn=Raffi rt=881691689 rg=treffen
~#! tid=880609752
kann den Thread mal einer nach muell schieben? 

Lari, *hmpf* *grumpf* *pffffffffffffffff*

-----------------------------------------------------------------------------



kleines treffen am montag (Janitze, 10. Dez 1997, 13:30:32):
Hi Berliner !!!
Am Montag kommt Hardil zu Besuch nach Berlin, deswegen wuerd ich mal
vorschlagen, wir treffen uns abends in Seeblick, da koennen wir dann
auch gleich den einen oder anderen Geburtstag nachfeiern :-)

Janice

-----------------------------------------------------------------------------



Re: Zweiter Versuch (Posco, 10. Dez 1997, 16:31:56):
~#! rn=Kartoffel rt=881620817 rg=treffen
~#! tid=881620817
Also Knurt kommt wenn dann erst spaet zum Stammtisch am 19.11.
Ist doch Fussball an dem Tag...

-----------------------------------------------------------------------------



Stammtisch (Yantro, 10. Dez 1997, 19:21:42):
Hi, 
Wenn Grimmborn will, dann kann er das uebernehmen, aber ich bin nicht gewillt,
bei meinem derzeitigen Stress, meiner derzeitigen Laune und bei den Leuten,
die hier im Mud gegen mich stehen auch nur irgendetwas fuers Mud oder fuer ein
Treffen zu machen. Wenns keiner uebernimmt, dann faellt der Stammtisch aus,
bzw es wird ein wilder, nicht organisierter. Mailen braucht ihr also nicht
mehr an mich, Anmeldungen sind unnoetig und ueberhaupt macht, was ihr wollt.

Yantro, deprimiert, dass man sich alles gefallen lassen muss hier aber wenn
man dann selbst mal austeilt, dann ist man der Boese

-----------------------------------------------------------------------------



Re^3: Stammtisch (Catweazle, 10. Dez 1997, 23:50:27):
~#! rn=Wurzel rt=881783104 rg=treffen
~#! tid=881778102
Hm, wer in der Zeitung aufpasst, kann einen Artikel von
Gast2, der mit gast1 unterschrieben hat, uebrigens eindeutig
zuweisen :-)
YTC

-----------------------------------------------------------------------------



SORRY! (Freund, 11. Dez 1997, 00:20:26):
Ich wollte meinen eigenen Artikel aus dieser Gruppe wegen eines falschen
Zusatzes gerade loeschen und neu posten, da habe ich leider den BEZUGSartikel
von Wurzel geloescht. Ich schreibe daher hier, was Wurzel schrieb. SORRY
WURZEL, keine Zensur, nur schlechte Augen um Mitternacht.
----------
man sollte vielleicht den thread wieder aufnehmen, den gaesten das schreiben
von artikeln zu verbieten. yantro hat eine menge fuer das mud getan und darf
daher meiner meinung nach auch mal entgleisen (find ich zwar nicht gut, aber
was solls...) ein gast, der nichtmal genug courage hat seinen eigenen namen zu
nennen, ist wirklich superfluid.

wurzel.

-------

Freund, buegelt auch seine Fehler aus, wenn es geht. :-/

-----------------------------------------------------------------------------



Nun mein eigener... (Freund, 11. Dez 1997, 00:22:41):
Nun mein eigener Artikel dazu:

Stimme Wurzel in puncto "Gaeste sollten in die Zeitung schreiben koennen" ohne
Vorbehalt zu. Zu Yantro muss ich schreiben: Er ist inzwischen mehr als einmal
entgleist. Und ich bin nicht laenger Willens, mich von irgendwem _grundlos_
beleidigen zu lassen. Und zu einer Entgleisung gehoert meines Erachtens auch
das Einsehen hinterher. Und eine ganz normale Entschuldigung. Oder war das die
Sache mit dem Unterschied in RL und VL, den ich nie begriffen habe? 

Freund, heute nacht mal nahezu eine gespaltene Persoenlichkeit.

-----------------------------------------------------------------------------



Re: Nun mein eigener... (Silvana, 11. Dez 1997, 00:25:58):
~#! rn=Freund rt=881796161 rg=treffen
~#! tid=881796161
Nur die Ruhe! Lassen wir doch erst mal alle Beteiligten eine Nacht
drueber schlafen, dann sieht alles gleich ganz anders aus. Dummerweise
hat Yantro diese Nacht Nachtschicht...

  Silvana (noch optimistisch)

-----------------------------------------------------------------------------



Re^4: Stammtisch (Gast1, 11. Dez 1997, 03:25:52):
~#! rn=Catweazle rt=881794227 rg=treffen
~#! tid=881778102
Ich muss mich allerdings von Gast2/Gast1's Artikel distanzieren. 
Meine gepflegte Abneigung bezueglich Yantro in Ehren, aber _drei_
Ausrufungszeichen und _dieser_ Stil entsprechen nicht ganz dem 
arroganten Niveau meiner Artikel.

Anatol


-----------------------------------------------------------------------------



Re: Re: Zweiter Versuch (Morgoth, 11. Dez 1997, 09:27:07):
~#! rn=Posco rt=881767916 rg=treffen
~#! tid=881620817
FUSSBALL IST SCHEISSE !!!
M*

-----------------------------------------------------------------------------



Re^3: Zweiter Versuch (Hardil, 11. Dez 1997, 10:42:58):
~#! rn=Morgoth rt=881828827 rg=treffen
~#! tid=881620817

Heul doch!
Oder geh zum Koelner Stammtisch und diskutiere dort ueber das Uebel der Welt!

-Hardil. Hat heute mal wieder viele gute Ratschlaege.

-----------------------------------------------------------------------------



Re: SORRY! (Grimmborn, 11. Dez 1997, 12:04:36):
~#! rn=Freund rt=881796026 rg=treffen
~#! tid=881796026
Hmm? Ist doch geloest. Offiziell koennen Gaeste in der mpa schreiben,
inoffiziell loesche ich so einen anonymen Artikel, sobald ich ihn sehe.
Erstens weil ich finde, Gaeste sollten das nicht koennen und zweitens weil ich
dazu in der Lage bin. Bisher hat sich noch kein Gast beschwert...

Grimmborn der Zensor

-----------------------------------------------------------------------------



Re: Re: SORRY! (Yendi, 11. Dez 1997, 13:35:24):
~#! rn=Grimmborn rt=881838276 rg=treffen
~#! tid=881796026

> inoffiziell loesche ich so einen anonymen Artikel, sobald ich ihn sehe.

... sobald Du ihn _gelesen_ hast, hoffe ich; ansonsten geht wohl der eine oder
andere Hilfe!-Ich-kann-mich-nicht-einloggen!-Ruf ungehoert unter.

Yendi, besorgt.


-----------------------------------------------------------------------------



Stammtisch Muenster, 30.12. (Wargon, 11. Dez 1997, 14:13:32):
  Hi!
Der Muensteraner Jahresabschlussstammtisch findet aus Nostalgiegruenden (oder
wars Pyromanie?) NICHT in der Cavete statt, sondern im 'Gruene Tomaten'
(Huefferstrasse, Ecke Ring).
Der Stammtisch am 23.12 wird voraussichtlich ausfallen.
  Wargon

-----------------------------------------------------------------------------



Koelner Stammtisch (Dolph, 11. Dez 1997, 18:48:42):
Koenntet ihr noch einmal bekannt geben wo der Stammtisch in Koeln ist !
Ich muss naemlich wieder mal ein Hotel fuer die Frankfurter Kollegen
suchen und wollte eins in der Naehe suchen.
Vielleicht kennt ihr ja auch einige gute Hotels dir ihr empfehlen 
koennt.
Vielen Dank im voraus
                        Dolph

-----------------------------------------------------------------------------



Stammtische allgemein (Srabi, 11. Dez 1997, 18:54:58):
Warum gibt es immer nur Stammtische in Muenster, Koeln oder sonst wo???
Es gibt genug Leute aus dem Grossraum Frankfurt, Giessen und Marburg, die
keine Moeglichkeiten haben, so weit fahren zu koennen.
Daher habe ich mal den Vorschlag, einen Stammtisch in diesem Grossraum zu
gruenden.


-----------------------------------------------------------------------------



Re: Stammtische allgemein (Freund, 11. Dez 1997, 18:56:04):
~#! rn=Srabi rt=881862898 rg=treffen
~#! tid=881862898
Nicht vorschlagen, gruenden. :-)

Freund.

-----------------------------------------------------------------------------



Stammtische allgemein (Freund, 11. Dez 1997, 19:03:05):
~#! on=Dolph ot=881863295 og=allgemeines
Ich antworte auf den Artikel 'Stammtische allgemein'
aus der Rubrik Treffen. Sie ist leider voll.

Morgen findet doch der Stammtisch in Darmstadt statt !
Ausserdem war letzten Monat Stammtisch in Frankfurt.
Oefter mal die Zeitung lesen hilft manchmal 

Dolph 

-----------------------------------------------------------------------------



Muenster (Freund, 11. Dez 1997, 19:05:58):
Hi,

also ich habe schon Lust, am Tag vor Heiligabend Kartoffelecken zu naschen.
Wer hat noch Lust und kommt vorbei? (Cafete 20 Uhr)

Freund, Dienstags abends immer hungrig.

-----------------------------------------------------------------------------



Re: Stammtische allgemein (Marcus, 11. Dez 1997, 21:32:26):
~#! rn=Srabi rt=881862898 rg=treffen
~#! tid=881862898
Apropos Stammtisch

Es kann doch nicht angehen, das beim letzten Erlangener Stammtisch nur
4 Leute da waren (Dauergast, Highlander+Freundin, ich) ... Gut, es war
gerade Streik/Demo ... aber das betraf ja maximal noch Damien und Hermione...

Wo sind die Fraenkischen Mudder? Sehen wir sie auf dem ersten 1998 Stammtisch
wieder? 

[Vorschlag: erst am 8.1., weil am 1.1. wohl der Grossteil der Leute
noch nicht wieder in Erlangen ist, wenn er nicht hier wohnt ;)]

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stammtische allgemein (Boing, 12. Dez 1997, 08:19:02):
~#! rn=Srabi rt=881862898 rg=treffen
~#! tid=881862898
Jeden Donnerstag ist Stammtisch in Karlsruhe, das liegt durchaus
noch im Grossraum Frankfurt. :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Sharia, 12. Dez 1997, 08:54:12):
~#! rn=Boing rt=881911142 rg=treffen
~#! tid=881862898
hmpf wie mans nimmt .... dann liegt Frankfurt an der Oder auch im Grossraum
Frankfurt am Main :-)))

Nairolf

-----------------------------------------------------------------------------



Re: Stammtische allgemein (Babs, 12. Dez 1997, 09:28:01):
~#! rn=Srabi rt=881862898 rg=treffen
~#! tid=881862898
Es gibt einen regelmaessigen Marburger MUD_Stammtisch. (Ich glaube,
einmal monatlich). Du musst es halt ertragen, ausser den Morgengrauenvollen
auch mit Nightfallern, TUBen, Unitopikern, Avanloniern, Finalisten, 
Regenverbiegern, Schaumschlaegern, Anderen, Gueldenlaendlern, PK-lingen
(iiiiiih! ;-P ) und aehnlichem Gesocks an einem Tisch zu sitzen.
Frag halt mal Avatar@Avalon, Quillian@fastueberall oder sonst eine/n der
regulaeren Marburger Muddies danach.

Babs, traut sich vielleicht ach demnaechst mal hin. :-)

-----------------------------------------------------------------------------



Re^3: Stammtische allgemein (Grimmborn, 12. Dez 1997, 10:48:24):
~#! rn=Sharia rt=881913252 rg=treffen
~#! tid=881862898
Nein, da irrst Du.
Frankfurt am Main liegt in Bayern, Frankfurt an der Oder dagegen irgendwo in
Sachsen (also quasi fast in Sibirien). Das ist nicht ganz dasselbe.
Obwohl, in gewisser Hinsicht gibt es schon Aehnlichkeiten: Beide Staedte sind
rechtsrheinisch und damit nicht gross der Rede wert...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Stammtische allgemein (Sharia, 12. Dez 1997, 12:17:31):
~#! rn=Grimmborn rt=881920104 rg=treffen
~#! tid=881862898
Frankfurt liegt in Bayern ???? Du mich auch !!!!

Sharia kommt NICHT aus Bayern !!!!!!

-----------------------------------------------------------------------------



Rechtsrheinisch! (Ark, 12. Dez 1997, 12:34:51):
Darmstadt liegt rechterseits des beruehmten Rheins und ist heute
abend Nabel des MorgenGrauens, der Ort an dem sich alle wichtigen
Leute treffen, um sich Geschichten aus ihren Abenteuern zu erzaehlen,
um zu wettern wider die Sturheit der Menschen und derb zu saufen, auf
dass sich die Probleme der Welten von alleine loesen moegen.
Drum hoeret, Weiber und Mannsbilder, Kinder und Monster:
Begebt Euch ins ... aeh ... regnerische Darmstadt, um zu erfahren,
was den Adel des MorgenGrauens bewegt.

(Bitte keine Threads, Flames, o.ae., die werden heute abend im
 Hotzenplotz, 20.00 Uhr vernascht und getilgt.)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Stammtische allgemein (Grimmborn, 12. Dez 1997, 13:40:56):
~#! rn=Sharia rt=881925451 rg=treffen
~#! tid=881862898
Sicher liegt Frankfurt a.M. in Bayern, hab das eben noch auf einer Karte
kontrolliert.
Frankfurt ist da ziemlich eindeutig suedlich von Koblenz.

Grimmborn der Atheist
P.S. "Multipel exclamation marks are a sure sign of a diseased mind!"
     (T. Pratchett,  Eric, S.121) Ich sag ja: Bayern...

-----------------------------------------------------------------------------



Re^6: Stammtische allgemein (Yaren, 12. Dez 1997, 14:29:51):
~#! rn=Grimmborn rt=881930456 rg=treffen
~#! tid=881862898
Koeln liegt auch suedlich von Bielefeld ... das MUSS auch in Bayern sein ...

Yaren. Kommt aus der nicht existenten Stadt ...

-----------------------------------------------------------------------------



Bilder (Freund, 12. Dez 1997, 14:30:53):
Hi,

ich habe letzten Dienstag ein paar Bilder gemacht. (Stammtisch Muenster)

Ihr findet sie unter: http://www.westbrock.com/Stammtisch

Mit FREUNDlichen Gruessen
Markus Westbrock.

-----------------------------------------------------------------------------



Re^6: Stammtische allgemein (Gast1, 12. Dez 1997, 15:41:06):
~#! rn=Grimmborn rt=881930456 rg=treffen
~#! tid=881862898
Ach ja? Und Du, Grimmborn? Preusse?

Etwas von "alles noerdlich der Donau..." murmelnd,
Anatol - KEIN Bayer


-----------------------------------------------------------------------------



Re^7: Stammtische allgemein (Wurzel, 13. Dez 1997, 00:43:03):
~#! rn=Gast1 rt=881937666 rg=treffen
~#! tid=881862898
nein. grimmborn ist ein schwede, der in frankreich lebt. kein preusse, dafuer
hat er zu lange haare.

wurzel (aus hessen)

-----------------------------------------------------------------------------



Re^7: Stammtische allgemein (Silvana, 13. Dez 1997, 00:52:44):
~#! rn=Yaren rt=881933391 rg=treffen
~#! tid=881862898
Nenene, Yaren... Das, wo Du wohnst, heisst schon fast Schilske. Das ist
genausowenig Bielefeld wie Quirkendorp - und damit existierts. :)

  Silvana - lokalpatriotisch/vollidiotisch/seltsam drauf. :)

-----------------------------------------------------------------------------



Re^8: Stammtische allgemein (Hangover, 13. Dez 1997, 00:54:20):
~#! rn=Silvana rt=881970764 rg=treffen
~#! tid=881862898
Moin!

Also was Bielefld angeht - wir Hamburger waren uns waehrend der KIF
einig, dass Bielefeld komplett von Hamburg-Bergedorf abgekupfert ist.
Somit existierts, aber ist auf seine Art grausig ;)

-Hangover
(Tourist)

-----------------------------------------------------------------------------



Re^9: Stammtische allgemein (Silvana, 13. Dez 1997, 00:56:30):
~#! rn=Hangover rt=881970860 rg=treffen
~#! tid=881862898
Habt ihr waehrend der KIF eigentlich was anderes kennengelernt als
Dornberg? :) Da ist die Uni naemlich (so mehr oder weniger...).
Achja... der Stammtisch...der war tatsaechlich in nichtexistentem Bereich...

Silvana - schmarrt rum.

-----------------------------------------------------------------------------



Re^10: Stammtische allgemein (Wurzel, 13. Dez 1997, 00:58:44):
~#! rn=Silvana rt=881970990 rg=treffen
~#! tid=881862898
wieso eigentlich nichtexistent? wollt ihr mich mit gewalt neugierig machen?
oder was? irgendwie verstehe ich diesen thread nicht...

wurzel liebt nichtexistente staedte. das ist fuer das auge ungefaehr das,
was techno unplugged fuer das ohr ist :)

-----------------------------------------------------------------------------



Re^11: Stammtische allgemein (Silvana, 13. Dez 1997, 01:00:44):
~#! rn=Wurzel rt=881971124 rg=treffen
~#! tid=881862898
Nur zur Erklaerung: Es gab in irgendeiner Newsgroup mal einen recht
schluessigen Beweis fuer das, was alle Quirkendorper schon lange 
wissen: Bielefeld existiert nicht.
Hast Du den Artikel noch, Mama? :)

  Silvana (durchsucht jetzt ihr mail)

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Quillian, 14. Dez 1997, 15:35:30):
~#! rn=Babs rt=881915281 rg=treffen
~#! tid=881862898
Ups ... Aehm ja :)
Es gibt diesen Stammtisch schon seit etwa 2 Jahren in Marburg. Er findet
immer am letzten Dienstag im Monat statt. Es werden aber Benachrichti-
gungen verschickt. Wer in den Verteiler aufgenommen werden moechte, kann
mir vertrauensvoll eine Mail schreiben. Der naechste Stammtisch findet
voraussichtlich zwischen den Feiertagen statt (sofern sich genug Leute
finden, die Marburg nicht den Ruecken zugekehrt haben). Wie Babs schon
schreib kommen da Mudder aus den verschiedensten Muds ... also wer da keine
Beruehrungsaengste hat darf gerne mal vorbeisehen :)

Quillian

PS: Ich hatte schonmal vor etwa nem Jahr an alle (mir bekannten) MR-
    Mudder geschrieben ... aber die verstecken sich scheinbar lieber
    hinter Monitoren (*grins Babs*)

-----------------------------------------------------------------------------



Re^12: Stammtische allgemein (Hobo, 15. Dez 1997, 08:35:36):
~#! rn=Silvana rt=881971244 rg=treffen
~#! tid=881862898
Oehm, Mist, ich wusste doch, dass es ein Fehler ist, meine mailbox
aufzuraeumen.
Nein, ich hab den Artikel nicht mehr. :(

  Hobo - Mama von einer baertigen Fee

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Damien, 15. Dez 1997, 08:44:26):
~#! rn=Babs rt=881915281 rg=treffen
~#! tid=881862898
Also, auf einen Stammtisch in der Ecke kaeme ich auch gerne mal, nur so am
Rande.

Damien.

-----------------------------------------------------------------------------



Re^11: Stammtische allgemein (Damien, 15. Dez 1997, 08:46:59):
~#! rn=Wurzel rt=881971124 rg=treffen
~#! tid=881862898
Wieso Techno unplugged? Ich finde... :) Na, gut gheoert nicht hierher...

-> Schmarrrrrrrrrrrrn

Damien

-----------------------------------------------------------------------------



Re^12: Stammtische allgemein (Highlander, 15. Dez 1997, 12:54:18):
~#! rn=Silvana rt=881971244 rg=treffen
~#! tid=881862898
Die Bielefeld-Verschwoerung.
http://jswww.cs.uni-sb.de/~kroener/TKR/bielefeld.html
HrT

-----------------------------------------------------------------------------



Re: Stammtische allgemein (Qitess, 15. Dez 1997, 14:56:37):
~#! rn=Srabi rt=881862898 rg=treffen
~#! tid=881862898
NIMM ES SELBST IN DIE HAND !!! ;)

QI** hat den in BS auch ins Leben gerufen...

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Morgoth, 15. Dez 1997, 14:56:58):
~#! rn=Qitess rt=882194197 rg=treffen
~#! tid=881862898
Du Ferkel....
M*

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Hangover, 15. Dez 1997, 14:57:36):
~#! rn=Qitess rt=882194197 rg=treffen
~#! tid=881862898
Hi!

Ich muss mal Qitess zustimmen... :-)

Hangover,
Stammtisch Hamburg.
*

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Zorro, 15. Dez 1997, 16:12:37):
~#! rn=Qitess rt=882194197 rg=treffen
~#! tid=881862898
IHN nicht ES qitess ...

Zorro schliesst sich Morgoth an ... "Du Ferkel .. "

-----------------------------------------------------------------------------



KARTOFFELECKENTAG (Freund, 15. Dez 1997, 16:20:09):
MOrgen ist wieder...
Kartoffeleckentag!!!

20 Uhr Cafete Muenster Innenstadt.

-----------------------------------------------------------------------------



Re^3: Stammtische allgemein (Damien, 15. Dez 1997, 17:51:51):
~#! rn=Morgoth rt=882194218 rg=treffen
~#! tid=881862898
Einer musste es ja sagen... :)

Damien.

-----------------------------------------------------------------------------



Re^6: Stammtische allgemein (Teddy, 15. Dez 1997, 19:33:10):
~#! rn=Grimmborn rt=881930456 rg=treffen
~#! tid=881862898
Klar, Hamburg ist uebrigens Suedschweden.

Teddy

-----------------------------------------------------------------------------



Re: Re: Stammtische allgemein (Teddy, 15. Dez 1997, 19:36:32):
~#! rn=Qitess rt=882194197 rg=treffen
~#! tid=881862898
Stimmt, und keiner kam ;)

Teddy, erinnert sich da an recht einsame Stammtische in BS

-----------------------------------------------------------------------------



Re^7: Stammtische allgemein (Alpha, 15. Dez 1997, 20:29:18):
~#! rn=Teddy rt=882210790 rg=treffen
~#! tid=881862898
Besser: Schweden ist Norddeutschland.
Schmarrn.

-----------------------------------------------------------------------------



Re^8: Stammtische allgemein (Grimmborn, 15. Dez 1997, 20:35:33):
~#! rn=Alpha rt=882214158 rg=treffen
~#! tid=881862898
Grosse Worte.
Die Ostsee ist immerhin schwedisches Binnengewaesser gewesen, so lang ist das
noch nichtmal her.

Grimmborn der Schwede

-----------------------------------------------------------------------------



Re^9: Stammtische allgemein (Alpha, 15. Dez 1997, 20:41:46):
~#! rn=Grimmborn rt=882214533 rg=treffen
~#! tid=881862898
War die Ostsee nicht auch mal deutsches Binnengewaesser, so in den Vierzigern?
Mit nem kleinem Laendchen innerhalb von Deutschland, Schweden genannt?
Noch mehr Schmarrn;)

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG (Wargon, 16. Dez 1997, 09:54:53):
~#! rn=Freund rt=882199209 rg=treffen
~#! tid=882199209
Nix Cafete! Cavete! Trotzdem heute.
  Wargon

-----------------------------------------------------------------------------



Stammtisch Karlsruhe - Flammkuchenessen (Boing, 16. Dez 1997, 12:31:58):
So, diese Woche ist also definitiv Flammkuchenessen angesagt (am
Donnerstag). Wer noch mit will, soll sich bei mir melden.
D.h. auch, dass der allwoechentliche Stammtisch im Kleinen Meierhof ausfaellt!
  Boing

-----------------------------------------------------------------------------



Planung Stammtisch fuer Marburg, Giessen und Frankfurt (Srabi, 17. Dez 1997, 10:15:03):
Also ich wuerde gerne die Planung fuer einen Stammtisch fuer die Bereiche
Frankfurt, Giessen und Marburg uebernehmen. Ich bitte daher, alle die daran
Interesse haben, sich bei mir zu melden.

Srabi

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Ringor, 17. Dez 1997, 22:32:54):
Hiho!

Nochmal als kleine Erinnerung:

Am Freitag, den 19.12.1997 findet ab 20:00 Uhr ein ausserordentlicher
Vorweihnachts-Stammtisch im Walhalla statt.

Sozusagen der letzte DO-Stammtisch in diesem Jahr - also nutzt die Chance und
erscheint zahlreich :-)

Ringor

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Knurt, 18. Dez 1997, 13:16:33):
~#! rn=Ringor rt=882394374 rg=treffen
~#! tid=882394374
Knurti kommt gegen 1/2 11 nach dem Spiel

-----------------------------------------------------------------------------



erinnerung an den stammtisch (Srabi, 18. Dez 1997, 14:31:00):
Also nochmal, wehr interesse an einem stammtiesch in der region Marburg,
Giessen und Frankfurt hat, moege sich bitte bei mir melden.

Srabi

-----------------------------------------------------------------------------



Stammti auch mal in der Saalestadt :) (Mieze, 18. Dez 1997, 15:42:23):
Hallo Mudder,

falls Ihr mal Lust habt auf einen Stammti in Halle, wuerd ich die Orga in die
Hand nehmen. Schickt am besten eine Mail :)

Mieze, Ordensschwesterorganisationstalent :)

-----------------------------------------------------------------------------



Re: erinnerung an den stammtisch (Anacrion, 19. Dez 1997, 01:23:21):
~#! rn=Srabi rt=882451860 rg=treffen
~#! tid=882451860
MELD :)

Anac*

-----------------------------------------------------------------------------



Re: erinnerung an den stammtisch (Sharia, 19. Dez 1997, 01:49:03):
~#! rn=Srabi rt=882451860 rg=treffen
~#! tid=882451860
auja mach mal einen in MR :-)
Sharia

-----------------------------------------------------------------------------



Re: erinnerung an den stammtisch (Damien, 19. Dez 1997, 12:54:22):
~#! rn=Srabi rt=882451860 rg=treffen
~#! tid=882451860
Hmm, dann wiederhole ich halt nochmal mein Interesse, ich komme zwar sicher
nicht immer, aber gerne mal zwischendurch.

Damien.

-----------------------------------------------------------------------------



Re: Re: erinnerung an den stammtisch (Key, 20. Dez 1997, 16:54:26):
~#! rn=Sharia rt=882492543 rg=treffen
~#! tid=882451860
Pah Sharia keine Chance! .)
Wir lassen keine baertigen Frauen nach Marburg =;)

Hmm Damien Ancalagon ... eure beiden Meldungen galten dem Marburger
Stammtisch??

Key

-----------------------------------------------------------------------------



Re^3: erinnerung an den stammtisch (Anacrion, 21. Dez 1997, 00:24:31):
~#! rn=Key rt=882633266 rg=treffen
~#! tid=882451860

Au mann....Key....also irgendwie unterscheidet sich der Name Anacrion
geringfuegig von Ancalagon....aber: ja...ich faende einen Stammtisch ganz nett
und : hmm. ich faende ihn in giessen noch netter (alldieweil ich in darmstadt
studiere und bei friedberg wohne und der weg nach marburg ja sooooo kurz ist)
:)

Gruss

Anac*

-----------------------------------------------------------------------------



stammtisch marburg (Srabi, 21. Dez 1997, 14:28:37):
also, nochmal, ich habe schon von einigen gehoert, dass sie interesse
an einem stammtisch in der region Marburg, Giessen, Frankfurt haben.
Ich wuerde das Les Journoux in der Marburger Elisabethstrasse vorschlagen.
Interesse haben bis jetzt Sharia, Key, Karol und Damien bekundet.
Falls noch mehr Interessenten im Morgengrauen sind, lasst es mich wissen.
Falls noch mehr Interessenten im Morgengrauen sind, lasst es mich wissen.

Srabi

-----------------------------------------------------------------------------



Re: stammtisch marburg (Sting, 21. Dez 1997, 15:30:35):
~#! rn=Srabi rt=882710917 rg=treffen
~#! tid=882710917
Habe ich auch Interesse, wenn ich auch nicht so oft kommen wuerde, aber ab und
zu schon :)


Sting

-----------------------------------------------------------------------------



Treffen Koeln (Teddy, 22. Dez 1997, 14:06:48):
Sagt mal ihr lieben Koelner: Ist es wirklich so schwer, im Borsalino anzurufen
und fuer den 2.1.98 anzudrohen, das ein paar Leute vorbeikommen koennten?
Ich fuer meinen Teil hatte mich jedenfalls schon drauf gefreut und finde es
schade, das der Stammtisch nicht stattfinden soll.
Falls das doch noch irgendwer in den Griff bekommt, wuerde ich mich freuen.

Teddy
P.S. Ich werde vermutlich erst kurzfristig nachschauen koennen, ob es doch
klappt, aber falls ja, kann ich gerne ein paar Leute aus Braunschweig
mitnehmen.

-----------------------------------------------------------------------------



Bilder aus Dortmund (Freund, 22. Dez 1997, 15:44:04):
Unter

www.westbrock.com/Dortmund/

koennt ihr die Bilder vom Dortmunder Stammtisch vom letzten Freitag sehen.

Nur wen es interssiert...
Freund.

-----------------------------------------------------------------------------



Re: Treffen Koeln (Grimmborn, 22. Dez 1997, 20:09:34):
~#! rn=Teddy rt=882796008 rg=treffen
~#! tid=882796008
Nu heult nicht. Kommt halt in das Borsalino und man wird sehen, wer und was da
ist.
Nur, der einzig wahre, offizielle Koelner Jahresstammtisch ist das da nicht,
weil der ist nur echt, wenn Yantro ihn organisiert.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Treffen Koeln (Wurzel, 22. Dez 1997, 23:30:12):
~#! rn=Grimmborn rt=882817774 rg=treffen
~#! tid=882796008
na, ich werde auf jeden fall mal kommen. und hoffen, dass yantro auch da ist.

wurzel

-----------------------------------------------------------------------------



Re: Stammti auch mal in der Saalestadt :) (Fyt, 23. Dez 1997, 11:43:26):
~#! rn=Mieze rt=882456143 rg=treffen
~#! tid=882456143

Hm, Halle is nicht der direkte Weg, aber auch nicht soooooo weit ;-)

Fyt.

-----------------------------------------------------------------------------



Re^3: Treffen Koeln (Nietzsche, 23. Dez 1997, 11:49:31):
~#! rn=Wurzel rt=882829812 rg=treffen
~#! tid=882796008
oehm, koennte denn bitte jemand hier mal angeben, wie man vom hbf am besten 
dorthin kommt, per u-bahn oder andere oeffentliche verkehrsmittel? komme naem-
lich aus feindlichem gebiet (ddorf ;) ) und kenne mich in koeln nicht so aus,
haette aber trotzdem nichts dagegen, 1-10 bierchen mitzuzischen...
N*

-----------------------------------------------------------------------------



Re^4: Treffen Koeln (Orktoeter, 23. Dez 1997, 11:54:01):
~#! rn=Nietzsche rt=882874171 rg=treffen
~#! tid=882796008
Hm kurze Wegbeschreibungzum Borsalino ? 
Entweder gleicht bis zur DB-Haltestelle Koeln-Sued, oder vom hauptbahnhof mit
der u-Bahn bis zum neumarkt, dort oberirdisch mit der linie 9 richtung Suelz
bis zum Zuelpicher Platz, geradeaus weiter, auf der linken Seite ist es.
Von der DB-Haltestelle aus raus, links, unter den gleisen durch, links, die
strasse lang, bis zur naechsten kreuzung (da liegen strassenganhschienen),
dort nach rechts, bis rechter hand das Borsalino ist) 
Die Strasse heisst uebrigens Zuelpicher Str. und das Borsalino ist ziemlich in
der Mitte zwischen Zuelpicher Platz und der strassenbahnhaltestelle
Dasselstr/Bahnhof Sued.

OrkT.

-----------------------------------------------------------------------------



Re^4: Treffen Koeln (Jasper, 23. Dez 1997, 11:54:47):
~#! rn=Nietzsche rt=882874171 rg=treffen
~#! tid=882796008
>..haette aber trotzdem nichts dagegen, 1-10 bierchen mitzuzischen...

Naja wenns in Koeln ist, gibt es wohl nur Koelsch.

-----------------------------------------------------------------------------



Re^5: Treffen Koeln (Nietzsche, 23. Dez 1997, 11:57:56):
~#! rn=Jasper rt=882874487 rg=treffen
~#! tid=882796008
hm, da wird es ja wohl auch pils geben...? ueberdies trinke ich sowieso
koelsch
10 mal lieber als alt (das wird erst einverleibt, wenn nix anderes alkhaltiges
optional ist).

-----------------------------------------------------------------------------



Re^6: Treffen Koeln (Grimmborn, 23. Dez 1997, 12:05:54):
~#! rn=Nietzsche rt=882874676 rg=treffen
~#! tid=882796008
Im Borsalino gibts kein Koelsch, da gibts Sion oder son Zeuchs. Aber dafuer
kann man da wohl was essen (als haette die Parallelstrasse der Zuelpicher
nicht die groesste Imbissdichte Deutschlands)...

Grimmborn der Atheist

P.S. Ach ja, wenn ein Koelner Schlafplaetze anzubieten hat, schreibt doch
bitte ne mail. Ebenso Auswaertige, die zu naechtigen wuenschen (nicht Du,
Wurzel! Fuer Dich gibts das Domhotel). Ich versuch das dann ein bischen zu
koordinieren, aber garantieren tu ich fuer nix.

-----------------------------------------------------------------------------



Nochmal Berlin (Jimdigriz, 29. Dez 1997, 17:12:07):
Hiho,

Hab ja schonmal versucht hier mit den Leuten
Kontakt aufzunehmen, kam leider noch nix konkretes Raus.

Also ich faends gut, wenn die Leute, die ein Treffen 
fuer eine gute Sache halten, auch wenn ich dabei bin,
sich mal aeussern koennten, welcher Termin ihnen denn
so passen wuerde.
Nochmal zur Erinnerung:
Ich komme am Freitag 2.1. (irgendwann) und 
fahre am 6. oder 7. wieder weg.
Waer super wenns klappt. Am Sonntag 4.1.
haette ich schon ein Treffen, liesse sich aber
sicher auch kombinieren.

Also bis dann,
 Jim DiGriz

-----------------------------------------------------------------------------



Stammtisch Muenster, 30.12.97 (Wargon, 30. Dez 1997, 11:13:47):
  Hi!
Nochmal zur Erinnerung:
Der Muensteraner Stammtisch heute, Dienstag, 30.12.1997, findet NICHT in der
Cavete statt, sondern aus Gruenden der Nostalgie (und damit die naechsten
Stammtische nicht wieder in rauchenden Ruinen stattfinden muessen) im:
Gruene Tomaten
Zu finden ist die Kneipe an der Ecke Huefferstrasse/Ring (da wo aus dem
Kardinal-von-Galen-Ring der Rishon-Le-Zion-Ring wird).
Im neuen Jahr finden die Stammtische weiterhin wie gewohnt in der Cavete
statt. Aenderungen werden in dieser Rubrik bekanntgegeben (und fuer die
Muensteraner natuerlich auch in der Einlogmeldung).
  Wargon

-----------------------------------------------------------------------------



ER (Highlander, 30. Dez 1997, 15:26:19):
Naechster ER-Stammtisch ist wohl kaum vor dem 8.1.,
und an dem Tag kann ich aus familiaeren Gruenden nicht,.
Trotzdem (oder deswegen?) viel Spass :>
   HrT

-----------------------------------------------------------------------------



Borsalino, Koeln, 2.1.98 (Grimmborn, 31. Dez 1997, 00:08:10):
Also, alle Angemeldeten und nicht angemeldeten koennen zum unechten Koelner
Stammtisch am Freitag ins Borsalino kommen. Die Tische sind so ab 19 Uhr
bestellt. Auswaertige duerfen sich die Daumen druecken, ob sich Koelner mit
freien Schlafplaetzen einfinden (nicht Wurzel, im Dom-Hotel ist sicher was
frei). Bisher hab ich weder Anfragen noch Angebote fuer Schlafplaetze
bekommen. Schaunmermal was bei rauskommt.
Ach ja, ich hab mal 30 Plaetze bestellt, das ist etwa das fuenffache der
bisher Angemeldeten. Ob das reicht? Wir werden sehen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



ExtraStammtisch (Anakin, 31. Dez 1997, 12:32:08):
Hi,

am 3.1.98 um 20.00 im Seeblick gibt es einen Neujahrextrastammtisch.
Alle Berliner sollen sich mal aufraffen. 

Special Guest: JimdiGriz und Mieze (soviel ich weiss)

Anakin.

-----------------------------------------------------------------------------



Gerade, bei der Silvesterparty... (Wargon,  1. Jan 1998, 01:06:13):
Es ist der 01.01.1998.
Die Party bei Bertram laeuft seit 7 Stunden.
Ploetzlich: Stille... erwartungsvolles Schweigen... 
Catwaezle wendet sich an Nemesis.
(Beide waren fast von Anfang an dabei)
Catweazle fragt Nemesis: Sag mal, wo warst Du eigentlich Silvester?
-------
Na dann... Prost!
  Wargon

-----------------------------------------------------------------------------



Re: ExtraStammtisch (Mieze,  1. Jan 1998, 19:53:43):
~#! rn=Anakin rt=883567928 rg=treffen
~#! tid=883567928
hiho,

ich wusste noch gar nicht, dass ich Berlin komme, Anakin. Aber wenn Du mich so
nett einlaedst, kann ich gar nicht "nein" sagen :)

Mieze, am 3.1. in Berlin

-----------------------------------------------------------------------------



Interesse am Stammtisch in Duesseldorf? (Kartoffel,  1. Jan 1998, 22:41:00):

Halloele zusammen,

Tigerauge und ich wuerden gerne wissen, ob Interesse an einem Stammtisch in
Duesseldorf besteht.
Wir hatten an einmal im Monat, am besten Freitags gedacht (natuerlich nicht in
Konkurrenz zu Dortmund ;)) ).
Wer grundsaetzlich Lust haette zu kommen, bitte Mail an mich, dann ueberlegen
wir mal wo man so was am besten aufziehen koennte.

Kartoffel

-----------------------------------------------------------------------------



Re^5: Treffen Koeln (Faselbla,  1. Jan 1998, 23:31:13):
~#! rn=Orktoeter rt=882874441 rg=treffen
~#! tid=882796008
Koeln, unendliche Breiten aehh Weiten...
Starbase Borsalino (technisches klicken ( special effekt! ) im Hintergrund )
krzzzcchhh kraaaakk...(funkgeraeusche )..Wegbeschreibung...

also Da ist der Hauptbahnhof, der so heist weil er ziemlich gross ist und ein
eglaskuppel auf seinem haupt hat und da er ein haupt hat ist er ein
hauptbahnhof, den kann man auch garnicht verfehlen weil schraeg zum haupt
steht ja auch der dom ( nein nicht der don, das ist jemand anders, und in
miami sind wa ja auch nicht )..so ist man nun im bahnhof 
dann folgt man solchen blauen u-schildern ( die fuehren einen demzufolge nahc
unten )..dann ist man in einem bereich der sich haltestelle nennt, da sollten
auch abundzu dinge halten, wie shuttles ( strassen/u-bahnen)..da faehrt man
bis neumarkt ( ist von da auch gleich die naechste station..line 18, 19 und
was weiss ich noch )...

von dort steigt man dann in die line 9 ( Quest: Finde die Linie 9, 0 APs ), ha
tman diese Quest bestanden ( Komplettloesungen bei den Koelner NPCs die da
rumlaufen ), befindet man sich an der haltestelle der linie 9. Da wartet man
da, auch idlen genannt. Dann sollte auch mal ne Bahn kommen, falls die kein
lag hat ) dort steigt man hinen und faehrt richtung suelz zur zuelpicher
strasse, wo man wieder aussteigt ( man kann auch sitzenbleiben, aber dann
kommt man woanders raus ), dabnn geht man gerade aus richtung zuelpicher
Platz, und geht immer weiter in diese richtung...und geht und geht und geht
und...
bis man es auf der linken seite sieht, Dann betritt man es wie folgt: eoffne
tuer ( oder benutze tuerklinke ) gehe auf haufen zu, unt haufen. Ein hafuen
Mudder die nicht mudden sondern sich ueber ein grauen am morgen unterhaltne.
-- So nun ist man richtig und dann sollte man selbsstaendig handeln solange es
bei muddern ueberhaupt moeglich ist.

Sunflower ( kommt auch oder ist schon da oder aehh evtl. vielleicht doch mal
oder so je nachdem..)

-----------------------------------------------------------------------------



MUENSTERANER AUFGEPASST!!! (Freund,  2. Jan 1998, 00:42:43):
Hi
Der MUENSTERANER Stammtisch wird in diesem Jahr im ALABAMA stattfinden. (Da
gibt es auch Kartfoffelecken, aber eben noch viel mehr und ausserdem fuer 40%
weniger preislich!)

WO das ist, sollten Euch die Leute erklaeren, die schon laenger in Muenster
leben als ich. :-)

Also: Dienstags, 20 Uhr im ALABAMA.

Freund freut sich auf regen Zulauf. Achja, SPIELER duerfen auch gerne mal
vorbeikommen. :)

-----------------------------------------------------------------------------



Re: MUENSTERANER AUFGEPASST!!! (Wargon,  2. Jan 1998, 10:14:11):
~#! rn=Freund rt=883698163 rg=treffen
~#! tid=883698163
Das ALABAMA findet man in der Aegidiistrasse (die Nummer weiss ich jetzt nicht
auswendig); frueher war das mal der Aegidiihof (wer bei den MG-Parties II und
III freitags dabei war, weiss ja, wo das ist :)
  Wargon

-----------------------------------------------------------------------------



Re: Re: ExtraStammtisch (Mieze,  3. Jan 1998, 13:54:20):
~#! rn=Mieze rt=883680823 rg=treffen
~#! tid=883567928
Hi,

falls Ihr Euch wundert, wo ich bleibe.... hab leider zu viel um die Ohren. :(

Viel Spass im Seeblick heute Abend!

Gruss Mieze


-----------------------------------------------------------------------------



stati in bs ? (Zorro,  3. Jan 1998, 16:47:06):
Mal ne frage ... findet am dienstag der stammtisch in Braunschweig statt ?
Wenn ja wuerde ich vorschlagen den in unsere wg zuverlegen wir machen naemlich
abriss-fete... also wenn ja dann meldet euch mal ...

Gruss Zorro

-----------------------------------------------------------------------------



Koelner Stammtisch (Grimmborn,  3. Jan 1998, 21:37:04):
Ich zitiere einen mir im Original vorliegenden Bierdeckel:
"Erhalten als Spende vom Koelner Jahresstammtisch fuer den MG-Foerderverein
"Trinkgeld": 8,45DM
unterzeichnet: Toeter"

Dazu gehoert eine mehr oder weniger kurzweilige Story, deren Ergebnis wohl
ist, dass der Koelner Stammtisch naechstes Jahr nicht im Borsalino stattfinden
wird, wenn ich wieder gezwungen werde, was mit der Organisation zu tun zu
haben... ;-) Ansonsten schiens aber ganz nett gewesen zu sein. Und wenn euch
Silvana je eine selbstgemachte Praline anbieten sollte: Zugreifen!

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Koelner Stammtisch (Wurzel,  3. Jan 1998, 21:39:14):
~#! rn=Grimmborn rt=883859824 rg=treffen
~#! tid=883859824
das mit den pralinen kann ich voll und ganz unterstreichen :)
das mit dem borsalino war wohl ein griff ins klo. kommt selten vor, dass ich
durstig aus der kneipe komme...
ansonsten: supergut. wer nicht da war, hat was verpasst.

wurzel

-----------------------------------------------------------------------------



Re: Re: Koelner Stammtisch (Engywuck,  3. Jan 1998, 21:40:27):
~#! rn=Wurzel rt=883859954 rg=treffen
~#! tid=883859824
Durstig? Wieso, die hatten doch neben Koelsch auch Bier...

-----------------------------------------------------------------------------



Re^3: Koelner Stammtisch (Wurzel,  3. Jan 1998, 21:41:21):
~#! rn=Engywuck rt=883860027 rg=treffen
~#! tid=883859824
wenn der kellner zu faul ist, was zum trinken zu verkaufen, bleibt man eben
durstig.

-----------------------------------------------------------------------------



Hamburg! Donnerstag! :) (Hangover,  3. Jan 1998, 22:13:31):
Moin!

Auch in Hamburg gibts mal wieder ein kleines Treffen der Mudder.
Und zwar am 8. Januar (Donnerstag) ab 19 Uhr im "Zwick" im 
Mittelweg 121b (ca. 5 Minuten vom Bahnhof Dammtor entfernt).

-Hangover

-----------------------------------------------------------------------------



Treffen Bielefeld (Yaren,  4. Jan 1998, 20:14:52):
ja, ich weiss: gerade erst eine woche ist das jahr alt, da rufe ich zum
stammtisch auf ... also:

     Mittwoch, 7. Januar, 19:30 Uhr, Cafe Mint

Hypo und ich werden wohl erscheinen - wer denn noch? :-)

Yaren

-----------------------------------------------------------------------------



Dresdener MG-StaTi (Gloin,  5. Jan 1998, 14:31:12):
Am Donnerstag (8.01.) 20:00 - 21:00 im Guentzclub. Mehr Infos bei mir.

Ieh, ein Einzeiler. Gloin

-----------------------------------------------------------------------------



Alabama in Muenster, Wegbeschreibung (Bhamir,  5. Jan 1998, 16:18:28):
Okay, fuer alle die von Ausserhalb kommen und nicht wissen wo das Alabama ist,
hier eine Wegbeschreibung:
1. Moeglichkeit: Auto , Ausgangspunkt: Autobahnkreuz MS Sued
Man Nimmt also die Abfahrt von der Autobahn in Richtung muenster und folgt
ihr.
Nach einiger Zeit geht diese unmerklich in die Weseler Strasse ueber. Man 
sollte den drang vermeiden auf die Umgehungsstrasse zu fahren, man landet dann
naehmlich ganz woanders. Wer der Weseler Strasse lange genug gefolgt ist, wird
irgendwann auf der linken Seite ein McDonalds bemerken (wenn man aufmerksam
genug ist). Kurz dahinter folgt dann auf der linken Seite der Aasee mit den 
beruehmten Aaseekugeln. Direkt gegenueber davon geht auf der rechten Seite
eine Strasse ab, DAS ist ist die Aegidiistrasse, also hier abbiegen. Direkt 
danach soll dann auf der linken Seite ein kleiner parkplatz sein, wer ihn 
verpasst oder keinen mehr findet: weiter unten an der Strasse kommt auf der
linken Seite ein Parkhaus. Mann muss dann allerdings den Weg wieder 
zuruecklaufen, das Alabama ist in naehe der Muehlenstrasse (selbe
Strassenseite)
Im WWWW unter http://medweb.uni-muenster.de/institute/epi/ms_innen.html 
findet
man eine Karte der Innenstadt. Der Aasee und die Weseler Str sind unten 
links ;). 
2. Moeglichkeit Bahn/Bus:
Aehh , ohne einen Busfahrplan weiss ich im Augenblick keine (gute) Loesung
um zum Alabama zu kommen, ausser man nimmt einen laengeren Fussmarsch vom 
Prinzipalmarkt auf sich (aus dem Bahnhof raus Buslinie 1,5,6 zum Prinzipal-
markt, aussteigen, sich zur Strasse drehen, sich nach links wenden, der
Strasse
folgen bis links die Stadtsparkasse kommmt, Strasse dahinter ignorieren,
weiter-
gehen, naechste Strasse auf der linken Seite ist die AegidiiStrasse, abbiegen,
weitergehen, auf der rechten Seite kommt dann irgendwann das Alabama, Sorry).

Wer ne bessere Bahn,Bus Moeglichkeit kennt postet das am besten direkt in die 
MPA (und das alles nur damit Freund es nicht soweit bis zu seinen Kartoffel-
ecken hat ;) ). 

see you
Bhamir 

-----------------------------------------------------------------------------



Re: Dresdener MG-StaTi (Hangover,  5. Jan 1998, 16:20:14):
~#! rn=Gloin rt=884007072 rg=treffen
~#! tid=884007072
Moin!

Macht ihr nur eine STunde Stammtisch? Muss ja ein klasse Besaeufnis
sein ;-)

-Hangover

-----------------------------------------------------------------------------



Re: Re: Dresdener MG-StaTi (Gloinson,  5. Jan 1998, 20:02:28):
~#! rn=Hangover rt=884013614 rg=treffen
~#! tid=884007072
Chlor. Wer nach der Stunde nicht unter dem Tisch liegt, zahlt den naechsten
StaTi.

Gloin

-----------------------------------------------------------------------------



Re^3: Dresdener MG-StaTi (Mahatma,  5. Jan 1998, 21:30:44):
~#! rn=Gloinson rt=884026948 rg=treffen
~#! tid=884007072
Uwidimsja pod stolom.

Mahatma

-----------------------------------------------------------------------------



Re^4: Dresdener MG-StaTi (Grimmborn,  5. Jan 1998, 22:59:47):
~#! rn=Mahatma rt=884032244 rg=treffen
~#! tid=884007072
> Uwidimsja pod stolom.

Hmm, ich verstehe anscheinend doch schlechter saechsisch als ich dachte. :-)

GdA

-----------------------------------------------------------------------------



Re^5: Dresdener MG-StaTi (Marcus,  5. Jan 1998, 23:44:15):
~#! rn=Grimmborn rt=884037587 rg=treffen
~#! tid=884007072
Na, das ist russisch, wie jeder mit 7 Jahren Zwangsrussisch an der Schule
weiss ;)

pod stolom heisst unter dem Stuhl, aber was Uwidimsja heisst bring ich jetzt
nicht zusammen ;)

Marcus(kommt zum Stammtisch ER am Donnerstag)

-----------------------------------------------------------------------------



Re^6: Dresdener MG-StaTi (Asmodis,  5. Jan 1998, 23:46:17):
~#! rn=Marcus rt=884040255 rg=treffen
~#! tid=884007072
Dass Ossis sich immer outen muessen ... :)

-----------------------------------------------------------------------------



Re^7: Dresdener MG-StaTi (Marcus,  5. Jan 1998, 23:52:29):
~#! rn=Asmodis rt=884040377 rg=treffen
~#! tid=884007072
Ex Ossi bzw. Neu Franke ;) bitte ;) ich lebe jtzt schon 6 Jahre hier...
Achja, Bayrisch und fraenkisch sind wesentlich schwerer als Russisch.

Ciao, Marcus(19:00 ! im Pleitegeier!)

-----------------------------------------------------------------------------



Re^7: Dresdener MG-StaTi (Gloinson,  6. Jan 1998, 00:20:44):
~#! rn=Asmodis rt=884040377 rg=treffen
~#! tid=884007072
Das sich aber die Wessis auch immer outen muessen ...

Gloin (wird Mahatma _nicht_ unter dem Tisch sehen!!! Den Saufkopp, den.)

-----------------------------------------------------------------------------



Re^5: Dresdener MG-StaTi (Mahatma,  6. Jan 1998, 05:09:09):
~#! rn=Grimmborn rt=884037587 rg=treffen
~#! tid=884007072
Fuer alle in Frankreich wohnenden Schweden:

Uwidimsja pod stolom. = Wir sehen uns unter dem Tisch. (Russ. Trinkspruch)

Mahatma (saeuft wie ein Russe)

-----------------------------------------------------------------------------



Stammtisch Bereich Marburg, Giessen, Frankfurt (Srabi,  6. Jan 1998, 12:31:17):
Ich frage einfach nochmal, ob irgendein Interesse an einem Stammtisch fr den
Bereich Marburg, Giessen oder Frankfurt gibt. Ich habe bis jetzt sehr wenig
Antwort erhalten. Darum bitte ich Euch, gebt mir bei Interesse noch einmal
Rckmeldung
Srabi

-----------------------------------------------------------------------------



Re: Stammtisch Bereich Marburg, Giessen, Frankfurt (Gundur,  6. Jan 1998, 13:06:13):
~#! rn=Srabi rt=884086277 rg=treffen
~#! tid=884086277
Es gibt doch abundzu immer einen in Darmstadt...reicht doch oder :-)
Gruesse von Gundur

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bereich Marburg, Giessen, Frankfurt (Mieze,  6. Jan 1998, 13:15:42):
~#! rn=Gundur rt=884088373 rg=treffen
~#! tid=884086277

... desweiteren auch in Halle an der wunderschoenen Saale (wenn auch sehr
unregelmaessig). Wir wollten einen Mitte Januar machen... mailt mal, falls
Interesse besteht.

Mieze - will auch mal nen Stammti organisieren :)

-----------------------------------------------------------------------------



Re^3: Stammtisch Bereich Marburg, Giessen, Frankfurt (Trancefear,  6. Jan 1998, 15:52:13):
~#! rn=Mieze rt=884088942 rg=treffen
~#! tid=884086277
Die Halle-Treffen sollen ja beruechtigt sein...

tf

-----------------------------------------------------------------------------



Re^4: Stammtisch Bereich Marburg, Giessen, Frankfurt (Mieze,  6. Jan 1998, 18:02:54):
~#! rn=Trancefear rt=884098333 rg=treffen
~#! tid=884086277
das versteh ich jetzt nicht :))

Mieze

-----------------------------------------------------------------------------



Re: Alabama in Muenster, Wegbeschreibung (Larissa,  6. Jan 1998, 18:46:17):
~#! rn=Bhamir rt=884013508 rg=treffen
~#! tid=884013508
Hm, fehlt eigentlich noch die Anfahr von MS-Nord und ein paar Busse:

Vom Hauptbahnhof aus fahren die Linien 11 und 21 zum Aegidiimarkt. Dort
aussteigen ueber die Strasse auf die Geschaefte zu, diese rechts liegen-
lassen, und ca. 100 meter die Strasse reinlaufen, auf der rechten 
Seite liegt das ALABAMA.


Von Richtung MS-Nord.
Richtung Muenster den Schildern nach, bis auf die Steinfurter Strasse,
bis zur beruehmten Araltanke, dort weiter geradeaus, am Hindenburglatz
und am Gericht vorbei. Dnach folgt rechte eine freie Tanke, an der
naechsten Ampel links ab, das ist dann schon die richtige Strasse. Parken.
Aussteigen. Kartoffelecken bestellen.

Lari.

-----------------------------------------------------------------------------



Re: Stammtisch Bereich Marburg, Giessen, Frankfurt (Wurzel,  6. Jan 1998, 20:12:03):
~#! rn=Srabi rt=884086277 rg=treffen
~#! tid=884086277
mein terminkalender sagt mir, dass am 6. februar der naechste stammtisch in
frankfurt ist, wie immer abends im domenicuskeller. aber anscheinend liest
srabi die zeitung nicht, sondern schreibt nur artikel... 

wurzel

p.s. boebbel, schreib endlich die offizielle einladung :)

-----------------------------------------------------------------------------



Re^3: Stammtisch Bereich Marburg, Giessen, Frankfurt (Sharia,  6. Jan 1998, 23:13:43):
~#! rn=Mieze rt=884088942 rg=treffen
~#! tid=884086277
Ja es gibt interesse ... leute meldet euch mal .. auch die NICHT Giessener...
was ist mit Gundur, Boebbel, Eule, Pulsar....... usw usw usw ? :-) na kommt
raus aus euren Loechern
Sharia .... kommt auch dahin und hat KEINEN BART

-----------------------------------------------------------------------------



Re^4: Stammtisch Bereich Marburg, Giessen, Frankfurt (Sharia,  6. Jan 1998, 23:15:35):
~#! rn=Sharia rt=884124823 rg=treffen
~#! tid=884086277
6. Februar ... leider dagegen wenn ich das in meinem Kalender so sehe..
ausserdem gehts uns drum auch mal einen Hessen-Stati weiter im Norden zu
machen :-))

-----------------------------------------------------------------------------



Re^5: Stammtisch Bereich Marburg, Giessen, Frankfurt (Janitze,  6. Jan 1998, 23:59:03):
~#! rn=Mieze rt=884106174 rg=treffen
~#! tid=884086277
ich versteh das schon mieze, aber das erklaer ich Dir nen andermal, ich
schau derweil mal in den terminkalender fuer'n guenstigen Tag, um mal
wieder nach Halle zu kommen.

Janice, irgendwie magisch an Halle gebunden

-----------------------------------------------------------------------------



Berlin (Gnome,  7. Jan 1998, 09:49:52):
hiho,
da sich nicht genug leute gefunden haben, um den stammtisch auf einen
anderen tag zu verlegen, bleibt es also beim Mittwoch.
heute ist der erste mittwoch des monats, also:
ort: seeblick, rykestrasse (nr. ??)
zeit: 20.00 h

gnOme

-----------------------------------------------------------------------------



Berlin, ich komme :-) (Ark,  7. Jan 1998, 15:19:16):
Ich bin vom 09. bis 11. in Berlin, einen Freund besuchen.
War noch nie dort, allerdings ist dieser Freund noch
ziemlich beschaeftigt. Wie ist das, hat jemand Lust und
Zeit, mir etwas von Berlin zu zeigen? Habe halt nur die
Zeit vom Freitag bis Sonntag abend zur Verfuegung :-(
Mailt mir schnell :-) ich bin morgen nochmal kurz da.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Berlin (Janitze,  7. Jan 1998, 15:52:41):
~#! rn=Gnome rt=884162992 rg=treffen
~#! tid=884162992
ich kann leider net kommen, weil ich morgen ne Klausur schreib, trotzdem
viel Spass !

Janice

-----------------------------------------------------------------------------



TUe Stammtisch (Morgar,  7. Jan 1998, 16:17:32):
Am Freitag ist wieder in Tuebingen um 20 Uhr in der Marquartei Stammtisch.
Wegen Silvester 1 Woche spaeter als sonst.

Morgar

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bereich Marburg, Giessen, Frankfurt (Boebbel,  8. Jan 1998, 21:25:32):
~#! rn=Wurzel rt=884113923 rg=treffen
~#! tid=884086277

Viel zu frueh... :-)

Ein Boebbel...

P.S. Trotzdem findet der am 06.02. im Domenicus-Keller statt... 

-----------------------------------------------------------------------------



Koeln (Orktoeter,  8. Jan 1998, 21:56:06):
Mittwoch den 14.1. im Limericks, 19-20 Uhr gehts los.

OrkT.

-----------------------------------------------------------------------------



Re: Koeln (Homm,  9. Jan 1998, 09:28:29):
~#! rn=Orktoeter rt=884292966 rg=treffen
~#! tid=884292966
In der Kuerze liegt die Wuerze....und in den Gaesten.

Wuerdevoll verneigend
Papst Homm

-----------------------------------------------------------------------------



Re: Re: Alabama in Muenster, Wegbeschreibung (Aline, 11. Jan 1998, 19:58:39):
~#! rn=Larissa rt=884108777 rg=treffen
~#! tid=884013508

Wieso sollte ich Kartoffelecken bestellen, Larissa?
Das machst Du doch fuer mich. ;)

Aline

-----------------------------------------------------------------------------



ms-stati komen da auch spieler? (Gorog, 12. Jan 1998, 11:11:01):
Moins ich wollt mal fragen ob diese Woche ausser magier und Bahmir noch
Spieler kommen. Was natuerlich nicht heissen soll das ich was gegen Magier
hab. (Die sind nicht doof und stinken)
Ausserdem wollte ichden Kartoffelecken noch n Chance geben, letztes mal waren
die viel zu labberig (total unknusprig)

Gorog der echt verwoehnte Kartofeleckenfreund.

-----------------------------------------------------------------------------



Stammtisch in Frankfurt (Dolph, 12. Jan 1998, 16:01:25):
[Bezug: Artikel 72 von Wurzel vom  6. Jan 1998, 20:12:03]

Ja so eine schoene Einladungskarte hat nicht jeder Stammtisch !
Gut Ding will Weile haben !


[Bezug: Artikel 74 von Sharia, 6. Jan 1998, 23:13:43]

Der letzte Stammtisch in Giessen ist auch schon eine Weile her und 
dies war groesstenteils der Verdienst von Felagund. Ihr solltet euch
mal die Muehe machen wieder einen Stammtisch zu organisieren.


[Bezug: Artikel 80 von Boebbel,  8. Jan 1998, 21:25:32]

Boebbel sucht bestimmt wieder mal eine Fahrer !

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel, 12. Jan 1998, 17:22:26):

Wir wagen es: Erster Stammtisch in Duesseldorf, 23.1. (naechste Woche Freitag)
im TIGGES (Naehe Bilker Bahnhof), ab 20:00 Uhr.

Wer kommen will, bitte kurze Mail an mich, damit ich entsprechend reservieren
kann, ebenso bei Wegbeschreibungen.

Kartoffel

-----------------------------------------------------------------------------



Treffen in Koeln (Orktoeter, 12. Jan 1998, 21:34:38):
Nochmal zur Errinerung :
Mi 14.02. treffen im Limericks zwischen 19 Uhr und 20 Uhr gehts los

OrkT.

-----------------------------------------------------------------------------



KARTOFFELECKENTAG! (Freund, 13. Jan 1998, 00:00:30):
Hi,

Dienstag ist natuerlich (besoners in Alabama) Kartoffeleckentag! 

Und damit sich die armen, wenigen (:-() Spieler nicht so allein fuehlen,
koennen ruhig mal ein paar NEUE Spieler kommen, so es denn welche in Muenster
gibt? Auf, um 20 Uhr ins Alabama...

Ausserdem moechte ich gerne ein paar Partysachen klaeren. :-) Vor allem, wo
wir fuer die Party Kartoffelecken herbekommen...

Kartoffelfreund.

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG! (Anatol, 13. Jan 1998, 00:03:54):
~#! rn=Freund rt=884646030 rg=treffen
~#! tid=884646030
Osnabrueck bringt mindestens zwei Seher und einen Spieler. Zumindest 
stehen die Chancen dafuer nicht schlecht - haengt davon ab, wie schnell
gewisse Leute mit ihren Java-Aufgaben fertig werden..

Reserviert also besser gleich mehr Plaetze und stellt nen Tisch an, BEVOR
er von Eingeborenen belegt wird ;)

anatol


-----------------------------------------------------------------------------



Das Walhalla ist TOT ! (Morgoth, 13. Jan 1998, 08:21:18):
Hi,
da leider unser Stammtischlokal 'Walhalla' fuer immer von uns gegangen ist,
werden die naechsten Stammtische erstmal im Cafe 'Durchblick' an der UniDo
stattfinden bis wir etwas besseres gefunden haben.

Wegbeschreibung zum Durchblick

Bahn:
Mit dem Zug bis Dortmund Hbf, dort in die S1 Richtung Bochum, Essen usw.
Haltestelle Dortmund-Universitaet (ist die dritte) aussteigen und die
Treppen erklimmen. Dem Weg rechts neben der Bibliothek (grosser Bau mit
viel Glas) folgen und die naechste rechts abbiegen. Tadaaaa....

Bus:
Auf Anfrage

Auto:
1. B1 bis Abfahrt Dortmund Eichlinghofen/Universitaet
   - von Unna rechts und von Essen kommend links fahren
   - die naechste Ampel links (Sparkasse links auf der Ecke)
   - die naechste Ampel rechts und dort sofort rechts auf den
     Parkplatz fahren
   - Das Durchblick ist in dem 'Uni-Center'-Gebaeude im oberen Teil,
     also Treppe rauf und rein....
2. A45 bis Abfahrt Dortmund Eichlinghofen/Universitaet
   - von der Abfahrt rechts
   - !NACH! der naechsten Ampel links abbiegen
   - an der zweiten Ampel rechts abbiegen (Sparkasse auf der Ecke)
   - siehe 1.

Das wars, ich hoffe ihr erscheint zahlreich, fruchtbar und willig....

Morgoth

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG! (Key, 13. Jan 1998, 11:33:03):
~#! rn=Freund rt=884646030 rg=treffen
~#! tid=884646030
Hmmpf ... wenn endlich mal nen Stammtisach an nem WE stattfinden wuerde ... .)
Aber immer nen tach urlaub nehmen um zu nem stammtisch zu fahren ... und dann
netmal mit dem WE ticket ... uiuiui .))

Key, sonst immer gerne dabei ,)

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG! (Zorro, 13. Jan 1998, 12:11:06):
~#! rn=Freund rt=884646030 rg=treffen
~#! tid=884646030
Ich dachte Kartoffelfreund waere jemand anders ...

Zorro lernt nie aus ...

-----------------------------------------------------------------------------



Re: ms-stati komen da auch spieler? (Trancefear, 13. Jan 1998, 17:05:58):
~#! rn=Gorog rt=884599861 rg=treffen
~#! tid=884599861
Hmja kann sein dass ich komme (waschechter level-1 (oder wars 2))-spieler :-)

tf

-----------------------------------------------------------------------------



Stammtisch Karlsuhe (Boing, 13. Jan 1998, 17:08:19):
Wie jeden Donnerstag ist auch an diesem wieder Stammtisch in Karlsruhe
im kleinen Meierhof (Zaehringer Strasse). Ab 20 Uhr wird wohl jemand
da sein. 
  Boing

-----------------------------------------------------------------------------



Freiwillige gesucht (Aline, 13. Jan 1998, 17:39:24):
Freiwillige gesucht (Aline, 13. Jan 1998, 17:34:29):

Hi Dortmunderstammtischbesucher,

mit Ueberraschung hab ich Morgoths Ankuendigung gelesen, dass das Wallhalla
nicht mehr sein soll :(
(Davon werde ich mich aber selbst noch ueberzeugen.)
Da mir das Durchblick von der Lage, den Preisen und der Kueche her
nicht in der allerbesten Erinnerung geblieben ist, will ich mich
auf die Suche nach einem neuen Domizil fuer unseren Stammtisch machen.
Vorschlaege werden gerne entgegengenommen.
Wer hat Lust an diesem Freitag, (also 2 Wochen VOR dem regulaeren
Stammtisch und damit noch lange genug Zeit fuer die anderen zum
Noergeln) mit mir sich in Dortmunds dunklen Kneipen rumzutreiben
und inkognito als Stammtischgeeignetheitspruefer unterwegens zu sein?

Ich warne Euch aber:

Es koennte hart werden!
Oder auch nicht!

Freiwillige vor!

Aline

-----------------------------------------------------------------------------



Dresden - StaTi (Mingo, 13. Jan 1998, 18:32:58):
Da mein Name nicht werbewirksam ist uebernimmt ab jetzt Topspieler Mahatma
die Einladungen - wahrscheinlich auch wieder in der WU, um den etwas
aelteren Spielern entgegenzukommen.
Letzter StaTi war im Guentz 22 -> notfallverlegt von der 28, die dann
doch einen Tanzabend veranstaltete. Und da keiner 'tanze' eingab, war
der vorher abgesicherte Umzug noetig.
Es lief darauf hinaus, dass Mahatma, Mesirii und Gloin wie die Bloeden
bis irgendwann naechtens Skat kloppten.

Gloin

-----------------------------------------------------------------------------



Re: Dresden - StaTi (Wurzel, 13. Jan 1998, 19:13:48):
~#! rn=Mingo rt=884712778 rg=treffen
~#! tid=884712778
ich glaube nicht, dass es am namen liegt, wer die einladungen macht...
ein stammtisch mit "skat wie bloed" ist irgendwie vielleicht nicht so
prickelnd :)

wurzel

-----------------------------------------------------------------------------



Re: Re: Dresden - StaTi (Mingo, 13. Jan 1998, 19:39:09):
~#! rn=Wurzel rt=884715228 rg=treffen
~#! tid=884712778
Hey - zwischen den einzelnen Stichen kann man immer prima ueber Deine
letzten Bugs laestern. Also nichts gegen Skat.

Gloin

-----------------------------------------------------------------------------



Re: Re: KARTOFFELECKENTAG! (Kartoffel, 13. Jan 1998, 21:59:45):
~#! rn=Zorro rt=884689866 rg=treffen
~#! tid=884646030
Dacht ich auch...

Kartoffel

-----------------------------------------------------------------------------



Re: Freiwillige gesucht (Morgoth, 14. Jan 1998, 08:50:57):
~#! rn=Aline rt=884709564 rg=treffen
~#! tid=884709564
Hi,
also das mit dem Walhalla stimmt. Die machen zu wegen der Bauarbeiten um die
Sparkasse herum. Wenn sich ein Fahrer finden wuerde, der mich nach der
Test-Tour nach Hause karrt, komme ich natuerlich mit.
M*

-----------------------------------------------------------------------------



Re: Dresden - StaTi (Patryn, 14. Jan 1998, 19:53:23):
~#! rn=Mingo rt=884712778 rg=treffen
~#! tid=884712778
wenn du dich mal auf meine anfrage hin, ob da was laeuft, wirklich
gekuemmert haettest, dann waere dieser umzug kaum noetig gewesen.
tip an mahatma: schreibe das naechste mal: beginn 17:00, dann sind alle
leute um 20:00 da. kleiner seitenhieb an gloin: wuerdest du dir weniger
sorgen um dinge machen, die dich nix angehen, dann haettest du mehr zeit
fuer die stammtisch-organisation gehabt ;|

------
patryn, den schlechtesten stammtisch erlebt habend

-----------------------------------------------------------------------------



Re: Re: Dresden - StaTi (Mingo, 15. Jan 1998, 00:29:45):
~#! rn=Patryn rt=884804003 rg=treffen
~#! tid=884712778
Pft. Du warst ja weg, als es gemuetlich wurde. Und wenn Du Dich mehr
um Dinge gekuemmert haettest, die Dich was angehen, haettest Du
auch noch nicht weg sein muessen.
Blablabla. Sonst noch was? Danke.

Gloin

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG! (Teddy, 15. Jan 1998, 14:58:53):
~#! rn=Freund rt=884646030 rg=treffen
~#! tid=884646030
Klar, da werden es von mal zu mal mehr Spieler beim Muensteraner Stammtisch,
die Tische reichen schon nicht aus und du schreistt nach noch mehr. 

Teddy, der dieses mal nicht dabei ist, trotz Partyplanung.

-----------------------------------------------------------------------------



Re: Re: Freiwillige gesucht (Aline, 15. Jan 1998, 18:38:48):
~#! rn=Morgoth rt=884764257 rg=treffen
~#! tid=884709564

Hi Morgoth,

also ich kann Dir hoechtens anbieten mit Dir in der
S-Bahn zu fahren, aber das Bier moechte ich auch testen.

So ein Freiwilliger hat sich gefunden und wer noch Lust hat
morgen (Freitag 16.1.) Dortmunds Kneipen zu besichtigen, sollte
sich um 18.30 Uhr am Service-Point im Dortmunder Hauptbahnhof
einfinden. 
Waere schoen wenn auch ein paar Nicht-Dortmunder kommen.

Bis denne

Aline

P.S. Testergebnisse werden dann hier veroeffentlicht.

-----------------------------------------------------------------------------



Neuer Stati-Treff in Berlin (Mysterious, 15. Jan 1998, 18:44:35):
kon-ban-wa :)

in einigen koepfen geistert ja schon laenger die vorstellung herum, das cafe
zu wechseln, bloss ein neuer ort wollte uns noch nicht so recht einfallen...

aber freut euch; ich habe das ideale cafe vor einigen tagen entdeckt...

die ausstattung bietet ein mittelalterliches ambiente und die preise sind
*weissnochnichwie*...
auf jeden fall sah es von aussen ganz gut aus 8-)

das cafe befindet sich ebenfalls im prenzlberg und zwar neben der
kulturbrauerei, kurz vor der petersburger/dimitroff-str. (da is auch gleich n
guter doener-laden daneben fuer den kleinen hunger)....

wer noch nicht spontan begeistert ist, dem kann ich (bzw. jemand, der dort in
der gegend wohnt *schiel bolder und flavia an*) noch die preise und die genaue
adresse liefern...

ein weiterer anfahrtsweg wird sich dadurch wohl nicht ergeben, da der u-bhf.
eberswalder str. 5mins entfernt liegt...


so... also... am 04.02. stati im *name hab ich leider wieder vergessen*...

wer dafuer ist, der sage bescheid...
die mehrheit wird entscheiden...

so long....

*hoeflich verneig*...

-----------------------------------------------------------------------------



Re: KARTOFFELECKENTAG! (Asmodis, 15. Jan 1998, 18:48:18):
~#! rn=Freund rt=884646030 rg=treffen
~#! tid=884646030
Arme Kartoffel, finde ich gemein, dass ihr immer ihre Ecken anknabbert !!

-----------------------------------------------------------------------------



Re: Neuer Stati-Treff in Berlin (Gnome, 15. Jan 1998, 22:44:36):
~#! rn=Mysterious rt=884886275 rg=treffen
~#! tid=884886275
hmmm... ich kann dem nur zustimmen :)
wir koennen ja mal was anderes ausprobiere... allein schon der gedanke an
ein mittelalterliches ambiente laesst mein herz doch ein wenig hoeher
huepfen :)
also: mut zum traditiosbruch, wenn uns das nicht gefaellt, koennen wir immer
noch wieder innen seeblick...

dafuer (2)

gnOme

-----------------------------------------------------------------------------



Re: Re: Neuer Stati-Treff in Berlin (Janitze, 16. Jan 1998, 18:36:55):
~#! rn=Gnome rt=884900676 rg=treffen
~#! tid=884886275
hmmja, koennten wir ja mal machen, wenn Myst der Name der Kneipe
nochmal einfallen wuerde, waer das schon toll, dann kann ich da 
notfalls mal gucken gehn

dafuer(3)

Janice

-----------------------------------------------------------------------------



Re^3: Freiwillige gesucht (Morgoth, 16. Jan 1998, 19:27:01):
~#! rn=Aline rt=884885928 rg=treffen
~#! tid=884709564
Hi ALine,
sorry, aber wie Du an der Zeit sehen kannst sitze ich leider immer noch an der
Uni und versuche diesen /&%/($%/'%$%& Rechner umzubauen.

M* **gefrustet**

-----------------------------------------------------------------------------



Re: Re: KARTOFFELECKENTAG! (Kartoffel, 18. Jan 1998, 13:53:52):
~#! rn=Asmodis rt=884886498 rg=treffen
~#! tid=884646030
Ich hab schon gar keine mehr, bin schon ganz rundgeknabbert ;)

Kartoffel

-----------------------------------------------------------------------------



Re: Re: KARTOFFELECKENTAG! (Teddy, 19. Jan 1998, 12:09:04):
~#! rn=Asmodis rt=884886498 rg=treffen
~#! tid=884646030
Wenn sie so suesse Ecken hat. ;)

Teddy

-----------------------------------------------------------------------------



Koelner Fund (Morgoth, 20. Jan 1998, 07:49:06):
Hi,
endlich hab ich mal Zeit das hier in die Zeitung zu setzen.
Wer auf dem Koelner Stammtisch etwas verloren haben sollte und dieses gerne
wieder haben moechte (ich denke schon), sollte mir eine kleine Mail schicken
und dieses Teiil etwas genauer beschreiben. Bei der naechstmoeglichen
Gelegenheit werde ich es dann zurueck geben.
M*

-----------------------------------------------------------------------------



KARTOFFELECKENTAG! (Freund, 20. Jan 1998, 10:15:45):
Hi,

heute ist Dienstag, also Stammtisch in Muenster, im Alabama, ab 20 Uhr, incl.
Tischreservierung.

Anschliessend ist wieder Sneak-Preview. Letzte Woche kam "In&Out". Reingehen,
reingehen, reingehen! Fuer jede Art von Humor sollte der Film ansprechend
wirken. Ausser man arbeitet beim FBI...

Ein freundlich muddender Kinogaenger.

-----------------------------------------------------------------------------



Testbericht (Aline, 20. Jan 1998, 11:44:08):

Es war am Freitag den 16 J. anno 1998 wo sich drei tapfere Tester zu
Dortmunde begaben um im Namen des (Morgen)Grauens  eine neue Bleibe
fuer den durchaus beliebten Stammtisch zu finden. Als da waren also nun 
zwei unerschrockene Zauberer, die es wagten sich mit einem Erzi in der
Oeffentlichkeit sehen zu lassen und eben schon erwaehnter Erzmagier. 
Bierschuettler, Kleriker oder gar Kaempfer,  Leute also die Gildenbedingt
doch mehr Ahnung vom edlen Gerstensaft und guter Speise haben duerften,
fanden sich zu diesem Unterfangen leider nicht ein.  Unsere drei tapferen 
MGler schafften es denn auch am Bahnhof auf Anhieb die erste Aufgabe 
(naemlich das Erkennen als MGler ohne andere brave Buerger mit seltsamen
Aeusserungen wie "MorgenGrauen?", "Blutsagerschwert?" oder aehlichem
zu belaestigen) mit Bravour zu meistern.  Danach ging es auf Schusters
Rappen vom Sammelpunkt der eisernen Postkutschen zum ersten Gasthaus.

Als unsere tapferen Testerchen dieses betraten, es war die franzoesiche
"schwarze Katz" , leuchteten zuerst ihre Gesichter auf, stand da doch eine
grosse ovale Tafel fuer an die 20 wackere Stammtischler bereit. Auf 
dieser Tafel dann noch das vielversprechende Schild "Reserviert"!
Sollte die Wahl denn auf diese Wirtsstube fallen, koennte man eine Woche 
vorher dem Schankwirt Nachricht geben und die ewigen (wenn auch fast
immer ruhm- und siegreichen) Kaempfe um einen Tisch fuer uns wie 
dazumal im Wallhalla ueblich, wuerden der Vergangenheit angehoeren.
Das Leuchten auf den Gesichtern unserer drei Gesellen liess aber merklich 
nach, nachdem sie einen Blick in die Speisekarte geworfen hatten. 4 
Muenzen fuer ein Glas (0,3) des holden Gerstensaftes (Stifts ist aber um
laengen besser als das DAB), ob wir das unseren braven Leuten zumuten 
duerfen? Naja fuer einmal Stammtisch im Monde, muesste das nach 
ordentlichen Aufraeumen in Moron und in der SSP durchaus zumutbar 
sein. Gerstensaft, Coca-Cola, Milchkaffe und die zu reinen Testzwecken 
eingenomme Speise (reichliches Kaninchenfutter) mundeten unseren 
Testern wohl und so verliessen sie diesen gastlichen Ort frisch gestaerkt 
und zum weiteren Testen bereit.

Wieder auf Schusters Rappen (leider zeigte es sich, dass die Portale in 
Dortmunde gar zu gut versteckt waren) ging es dann zur naechsten 
Schenke. Diese hatte einen allzu seltsamen Namen und war gar seltsam 
ausgeschmueckt (Coconut). Sie befand sich in einer laenglichen, 
schlauchfoermigen Hoehle die leider etwas zugig war. Zudem sehen 
unsere Tester das Problem, wenn wieder viele tapfere Mudder zusammen 
kommen, um von ihren heldenhaften Taten zu prahl$"$!"/&(erzaehlen, 
muessten sich die braven Buerger die den Abend nach langem Tageswerk in 
dieser Schenke verbringen moechten, damit abfinden den Abend im Stehen 
zu verbringen. Gefaehrlich fuer diese Gaststube koennte auch ein Besuch 
unseres Mudgottes sein, denn in der Dekoration befanden sich 
maiskolbenartig geformte Wachskerzen. 3.50 Muenzen fuers Gebraeu und 
etwas, dass man getrost als Kartoffelecken ansehen koennte, wurden 
positiv bewertet, fuer Pepsi Cola gab es allerdings Maulerei von der 
mitgereisten Zauberin. Ebendiese hatte auch leichte Probleme ihre 
maennlichen Begleiter zum Weiterziehen und Testen zu ueberreden, da die
 Schankmagt den beiden gar zu lieblich deuchte. 

Zu vorgerueckter Stunde ging es dann durch den Regen ein ganzes Stueck
weit hinein in die Stadt Dortmund, um dann den Rand dieses beruechtigten 
Schenkenviertels an der Kreuzkirche zu erreichen. Was leider der dort 
besuchten Wirtschaft auch zum Nachteil gereicht, es ist vom 
Eisenrossstall etwas weiter entfernt und falls Besucher mit eiseren 
Pferden anreisen, kann das Finden eines Platzes fuer ebendieses sich zu
einem nicht leichten Abenteuer entwickeln. Unsere drei Tester betraten 
dann die letzte Schenke (Buergermeister Lindemann) fuer diesen 
Testabend. Aufatmend stellte die Zauberin fest, dass es keine huebsche 
Schankmagt in dieser Gaststube gab und dass das Bier nur 2.80 Muenzen 
kostete. Einen Raum fuer Mudder gab es auch, wobei das Vergraulen von 
leicht bis schwer angeheiterten, dartenden Buergern von den drei Testern 
nicht geschafft wurde. Weiter fiel unseren Testern negativ auf, dass die
Speisen in dieser Wirtsstube dem ueblichen Nieveau von westfaelischen 
Kneipen nur entsprach. Die Befuerchtung, dass hungrige Mudder groehlend 
durch das Viertel stroemen, auf der Suche nach Essbaren und dafuer den 
Stammtisch verlassen, ist leider nicht von der Hand zu weisen.

Am Ende eines lustigen und leider etwas kurzen (die Zauberin musste den 
letzten Teleport zu ihren Eltern heim ins Dorf erwischen) Abend, laesst
sich folgendes Fazit ziehen:

Wir nehmen den Tisch und die Speisen aus der ersten Schankstube 
zusammen mit dem Schankmaedchen aus der Zweiten und finden uns dann 
in der letzen Schenke ein.

Falls das nicht moeglich ist, schlaegt die Chronistin vor, fuer den 31. in 
der etwas teureren ersten Schenke die grosse Tafel zu reservieren.

Aline

-----------------------------------------------------------------------------



Re: Testbericht (Freund, 20. Jan 1998, 11:53:48):
~#! rn=Aline rt=885293048 rg=treffen
~#! tid=885293048
Fuer die sprachliche Ausgestaltung des Reiseberichts bekommst Du ein Extra-Lob
von mir! (Wenn's Dir was bedeuten sollte... ;-)

Freund, ehrlich angetan.

-----------------------------------------------------------------------------



Stammtisch Bonn, Do, 22.1.98 (Pra, 20. Jan 1998, 13:30:45):
Hier ist eine Kopie einer Mail, die ueber irgendeine dubiose Mailing-Liste
bei mir aufgeschlagen ist:


From dittrich@xmailer.informatik.uni-bonn.de Tue Jan 20 13:29:10 1998
Date: Tue, 20 Jan 1998 13:22:39 +0100 (MET)
From: Tobias Dittrich <dittrich@xmailer.informatik.uni-bonn.de>
To: mg-l@work1.rhrz.uni-bonn.de
Subject: Stammtisch

Hi Ihrs!


Auf vielfachen Wunsch haben wir (wer auch immer das sein mag) beschlossen
den Stammtisch diese Woche Donnerstag in den Pub in Endenich zu verlegen.
Das heisst also der Stammtisch findet statt:

Donnerstag, den 22.01.1998 um 19.00 Uhr im Irish Pub in Endenich.

Fuer alle, die von ausserhalb kommen (ja die Massen stroemen nach Bonn! ;) is
das von der A565 Ausfahrt Bonn/Endenich, an der Ampel rechts und gleich die
naechste links, dort nach ca. 50 Metern is der Pub auf der linken Seite.
Fuer alle Bonner oder solche, die sich in Bonn auskennen: der Pub is gegen-
ueber der Springmaus in Endenich im Mauspfad *achwasweissichwelchenummmer*.


Auf rege Beteiligung hoffend....
Schoko


-----------------------------------------------------------------------------



Re: Stammtisch Bonn, Do, 22.1.98 (Pra, 20. Jan 1998, 13:45:56):
~#! rn=Pra rt=885299445 rg=treffen
~#! tid=885299445
und noch was aus meiner mailbox zum selben thema:


From bobzien@informatik.uni-bonn.de Tue Jan 20 13:42:45 1998
Date: Tue, 20 Jan 1998 13:36:49 +0100 (MET)
From: Matthias Bobzien <bobzien@informatik.uni-bonn.de>
To: Tobias Dittrich <dittrich@xmailer.informatik.uni-bonn.de>
Cc: mg-l@work1.rhrz.uni-bonn.de
Subject: Re: Stammtisch

Und fuer alle, die die Segnungen des OEPNV zu schaetzen wissen (und
vielleicht ein Studi-Ticket haben):

Ab Hauptbahnhof (Bus) mit Linie 634 oder 635 Richtung
Malteserkrankenhaus/Duisdorf, aussteigen Haltestelle Frongasse,
die Kneipe ist direkt gegenueber der Haltestelle.
Die Busse fahren bis ca. 19:30 alle 7/8 Minuten, danach viertelstuendlich.

Pra.



-----------------------------------------------------------------------------



Re: Testbericht (Kartoffel, 20. Jan 1998, 22:31:03):
~#! rn=Aline rt=885293048 rg=treffen
~#! tid=885293048
Halloele,

prima Bericht, und Klasse dass Ihr Euch auf die Suche gemacht habt!
Nur eine Frage zum Datum... 31.?? Das ist ein Samstag, habt Ihr das auch
gleich mitgeaendert?

Kartoffel -eckenlos, verwirrt-

-----------------------------------------------------------------------------



inoffizieller Stammtisch Dresden/Sachsen/Tschechien/Russland .... (Mingo, 21. Jan 1998, 04:58:53):
Der Geheimdienst der Abenteurer (GdA) hat Informationen ueber
die geplante Zusammenrottung gewisser muddender Elemente in
der Wu11 am 27.01.98 erhalten. Fuehrende Seher und Spieler
machten deutlich, dort erscheinen zu wollen. Es wird angeraten,
zumindest den regionalen Ueberwachungsmagier (Deckname "Patryn")
abzustellen, um weiteres Material ueber umstuerzlerische
Plaene zu erhalten.

Da die Pruefungszeit nahe rueckt und den Leuten auf den Naegeln
brennt, fanden Mahatma und meinereiner, dass der "Russische
Abend" eine gute Gelegenheit ist, sich nochmal gemuetlich
einen zu brennen. Dort werden wir auch Mahatmas Hypothese
eroertern, dass Magier "alles Russen seien", so denn welche
erscheinen.
Es wird angeraten, die Resistenzen hingehend Kohl und
Waesserchen stark zu erhoehen - Kartoffelecken werden
landestypisch in fluessiger, destillierter Form gereicht.

PS: Uwidimsja pod stolom.

Gloin

-----------------------------------------------------------------------------



Re: Re: Testbericht (Aline, 21. Jan 1998, 09:19:19):
~#! rn=Kartoffel rt=885331863 rg=treffen
~#! tid=885293048
Hi Kartoffel,

nee ich hab mich da leider etwas verrechnet. Treffen ist natuerlich
am FREITAG den 30. 
Sorry :(

Also Stammtisch in Dortmund am 30.01.98
ab ca. 19.30 Uhr im "Cafe Chat noir".
Wegbeschreibungen gibt es auf Anfrage bei mir.

So wie es bis jetzt aussieht kommen:
Wargon, Ringor, Aline

Die uebliche Meckerei und Noergelei hier in der MPA kann also beginnen ;)

Aline

-----------------------------------------------------------------------------



Re^3: Testbericht (Knurt, 21. Jan 1998, 13:26:38):
~#! rn=Aline rt=885370759 rg=treffen
~#! tid=885293048
Knurt kommt auch

-----------------------------------------------------------------------------



Re^4: Testbericht (Shakedbeer, 21. Jan 1998, 15:43:47):
~#! rn=Knurt rt=885385598 rg=treffen
~#! tid=885293048
Hey Aline!

Wo hast Du nur so sprechen gelernt? *STAUN*

Shakedbeer - kann noch nicht versprechen, dass er kommt.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 22. Jan 1998, 12:01:26):
Wie jeden Donnerstag findet auch heute wieder der Karlsruher Stammtisch
im kleinen Meierhof statt. Zeit ist wie immer 20 Uhr. Heute gibt es aber
aufgrund des 3-jaehrigen Jubilaeums des momentanen Wirts Suvlaki fuer
nur 6 DM! Also kommt alle, es ist immer lustig.
  Boing

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 22. Jan 1998, 13:47:10):
HEJHO MUDDIES !!!!

Der naechste

             *S*T*A*T*I*

                         ist mal wieder faellig!

Nachdem nun der Januar-Termin ausgefallen ist, weil alle vernuenftigen
Mudder da in koeln gewesen sein sollten, ist nun der naechste Termin fuer
den
    06.02.1998 (Freitag)
                         festgesetzt.
Lokalitaet wie immer das  ViertelNach im Bueltenweg.
  Zeit auch wie immer um  20:00 Uhr.

Ich hoffe ihr werdet mal wieder zahlreich erscheinen.
Gaeste aus Uebersee sind immer hartelig welkom, aber die muessten sich
selber um eine Bleibe kuemmern tun.

In diesem Sinne 
                - ab in die Rinne !

Das Kompromittee (Qitess & Festin)


QI**


-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Teddy, 22. Jan 1998, 14:36:01):
~#! rn=Qitess rt=885473230 rg=treffen
~#! tid=885473230
AYehm, ich will dir nicht reinreden oder so, aber ich wollte heute eigentlich
den 31.01. einfach mal vorschlagen, weil ich da naemlich zufaellig mit ein
wenig zeit zusammen in BS bin.
Wer also Lust hat, ich faends toll.

Teddy

-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*    (Qitess, 22. Jan 1998, 14:51:40):
~#! rn=Teddy rt=885476161 rg=treffen
~#! tid=885473230
Wie gesagt : Der    *S*T*A*T*I*   findet am 06.02. statt.
Um 20:00 Uhr im ViertelNach im Bueltenweg.

QI**

-----------------------------------------------------------------------------



Re^3:    *S*T*A*T*I*    (Festin, 22. Jan 1998, 14:52:46):
~#! rn=Qitess rt=885477100 rg=treffen
~#! tid=885473230

Aber es verbietet ja keiner, sich auch am 31.01 zu treffen, oder?

Festin, mit einem Einzeiler

-----------------------------------------------------------------------------



Re^4:    *S*T*A*T*I*    (Qitess, 22. Jan 1998, 15:06:04):
~#! rn=Festin rt=885477166 rg=treffen
~#! tid=885473230
Bekanntmachung :

Die Person Namens 'Festin'
ist ab sofort
vom Kompromittee ausgeschlossen worden.
Er verlaesst es mit der Schmach
ein Verraeter zu sein.

Das Kompromittee (Qitess)

QI** ist EMPOERT...


-----------------------------------------------------------------------------



Re^5:    *S*T*A*T*I*    (Teddy, 22. Jan 1998, 15:31:48):
~#! rn=Qitess rt=885477964 rg=treffen
~#! tid=885473230
Da Snibril am 31. eh nicht kommen kann, koennt ihr eueren Stammtisch ja ruhig
am 6. halten, auch wenn ich nicht da bin. Ihr muesst langsam erwachsen werden
und lernen, ohne mich zu leben, Kinners. ;)
Ansonsten werde ich den 31. ab ca. 19 Uhr im Viertel Nach verbringen und wer
grad in der naehe ist, kann ja mal hallo sagen.

teddy, versuchsweise diplomatisch.

-----------------------------------------------------------------------------



StaTi-Berlin (Claymore, 22. Jan 1998, 16:17:18):
ich weiss wie die kneipe heisst is bei mir um die ecke
si heisst : Selig 
die preise gehen becher Met 5 oder 6 DM (0,2)
bier gibts auch und natuerlich den geilsten schnaps dens gibt!!!
BAERENFANG!!!!

nagut ich wuerde mich euch anschliessen wenn ihr woll!!! (haha)
meldet euch fuer nahere infos..
bis dann claymore :-]

-----------------------------------------------------------------------------



Re: StaTi-Berlin (Hate, 22. Jan 1998, 16:29:58):
~#! rn=Claymore rt=885482238 rg=treffen
~#! tid=885482238
0,2 fuer 6DM ?
Fuer 5DM gibts sonst 0.5 Wernesgruener...
Das sind doch solche Westpreise, mit 6DM/0.2l

Hate.

-----------------------------------------------------------------------------



Re: Re: StaTi-Berlin (Mysterious, 22. Jan 1998, 16:37:42):
~#! rn=Hate rt=885482998 rg=treffen
~#! tid=885482238
konni chi wa!

ich hoffe, claymore meinte 6dm fuer 0,2l MET und nich bier, das dann wohl
billiga is..

er kann ja mal nach den restlichen preisen (alkoholfreie) fragen und uns dann
hier bescheid geben....

uebrigens steht es momentan 7:0 stimmen fuer den wechsel... wobei die alte
garde noch gar nix dazu gesagt hat *guck hate an*

duiiiiii
              dA mYstA

-----------------------------------------------------------------------------



Re: Re: StaTi-Berlin (Key, 22. Jan 1998, 17:36:23):
~#! rn=Hate rt=885482998 rg=treffen
~#! tid=885482238
Die Preise erinnern eher an nen Puff, oder? :)))

Key

-----------------------------------------------------------------------------



Re^3: StaTi-Berlin (Wurzel, 22. Jan 1998, 19:18:25):
~#! rn=Key rt=885486983 rg=treffen
~#! tid=885482238
aha, wieder einer, der sich outet :)
hab mich immer gewundert, wie die laeden existieren, wenn kein mensch da hin
geht und die maedels sich langweilen :)

wurzel

-----------------------------------------------------------------------------



MG-Stammti in Halle (Mieze, 22. Jan 1998, 19:27:42):

Hi Muddies,

vor einiger Zeit hab ich mal nen Stammti in Halle angekuendigt. Der soll in
der naechsten Woche am Freitag oder Samstag sein. Falls jemand kommen moechte,
mailt oder postet, welcher Termin besser ist. 

Gruss Mieze

-----------------------------------------------------------------------------



Re^4: StaTi-Berlin (Silvana, 22. Jan 1998, 20:22:48):
~#! rn=Wurzel rt=885493105 rg=treffen
~#! tid=885482238
Naja, wenn keiner hingeht, erklaert das doch die Preise fuer die,
die dann doch hingehen. Von irgendwas muss mensch ja leben, oder? :)

  Silvana (spekuliert)

-----------------------------------------------------------------------------



Re: MG-Stammti in Halle (Janitze, 23. Jan 1998, 08:06:45):
~#! rn=Mieze rt=885493662 rg=treffen
~#! tid=885493662
Samstag ist besser, Freitag muss ich eventl. arbeiten, sprich, ich komm
dann auch erst am Samstag, ausserdem wollt ich mir mit Birdy das Wochen-
endticket teilen.
Gehn'wa in die Apotheke ? Ist ne tolle kneipe !

Janice

-----------------------------------------------------------------------------



WOCHENENDSTAMMTISCH! (Freund, 23. Jan 1998, 10:54:24):
Hi,
am naechsten Wochenende, also dem 31. Januar / 1. Februar soll in MUENSTER ein
WOCHENEND-Stammtisch stattfinden! Es hatten sich ja auch mal einige beklagt,
dass sie nicht in der Woche kommen koennten, daher nun dieses einmalige(?)
Angebot!!!

Damit ich abschatzen kann, wieviel Leute wann koennten, bitte posten/mailen,
WANN ihr wollt (Sa oder So abend) und DASS ihr kommt. :-)

Special Guest: Etain.

Freund, organisationserprobt.

-----------------------------------------------------------------------------



Re: WOCHENENDSTAMMTISCH! (Anatol, 23. Jan 1998, 10:55:54):
~#! rn=Freund rt=885549264 rg=treffen
~#! tid=885549264
Sa.   -   1.

Anatol


-----------------------------------------------------------------------------



Re: Re: MG-Stammti in Halle (Gralkor, 23. Jan 1998, 13:29:14):
~#! rn=Janitze rt=885539205 rg=treffen
~#! tid=885493662
Apotheke ist abgelehnt.
Ich bin, wie ihr wisst, eher fuer die Bruchbude.
Auch wenn die JWD liegt.
Ist die beste in Halle, kommt nich mals Gildenhaus ran. :)
Alternativ ist der Bierbauch sehr gemuetlich und rustikal.
(nein, nicht meiner :) )
G.

-----------------------------------------------------------------------------



So reserviert is (Aline, 23. Jan 1998, 13:51:51):

So ich hab dann einfach mal den grossen Tisch im "Chat noir"
reserviert.

Aline (heute mal kurz)

-----------------------------------------------------------------------------



stati-berlin (Claymore, 23. Jan 1998, 14:16:27):
ich bins noch mal.also gemeint war das met, aber ich meine ne andere kneipe,
meine ist danziger ecke knaakstrasse. sorry bin aber trozdem weiter
interessiert!!
bis denne :-)

-----------------------------------------------------------------------------



Duesseldorfer Stammtischbericht (Kartoffel, 26. Jan 1998, 00:30:45):
Es war an nem Freitag in Duesseldorf-Bilk
Da fuehrten neun Mudder n Stammtisch im Schild
Ins Tigges sie eilten
Dort lange verweilten
und setzten sich erstmal ins Bild

Der Ratz war der 'Opa' was Spielzeit angeht
Vier Jahre, dass o lang das Mud schon steht
Das dachte wohl Schleicher
Level 3 hat erreicht er
Ist unser Kueken und Schuettlbier-Athlet

Sloane und Hyena schlichen im Rudel herein
Schwanzwedelnd Gonzo ihr Hund hinterdrein
Auch kam die Edel
Und sorgte fuer Raetsel
Denn laut 'finger' soll die nicht vorhanden sein

Als Gaeste aus Dortmund kamen Shkaedbeer
Und auch sein Bruder der Drobanir
Doch eine kurze Nacht
Sie hatte muede gemacht
Und sie liessen allein uns beim Bier

Kartoffel und Tigerauge sahen in die Runde
Zaehlten die Spieler und dachten im Bunde
Kein Magier mehr hier
Nur Spieler beim Bier
Na da ist ne seltene Stunde

Und so ruf ich nun auf
Kommt ins Tigges zu hauf
Am Dreizehnten Zwoten
Markierts mit nem Roten
Stift im Kalender und rafft Euch auf.


Kartoffel



    

-----------------------------------------------------------------------------



Re: Duesseldorfer Stammtischbericht (Kartoffel, 26. Jan 1998, 00:39:24):
~#! rn=Kartoffel rt=885771045 rg=treffen
~#! tid=885771045
Ich berichtiger mich, Schleicher ist Level 6

Kartoffel *erroet*

-----------------------------------------------------------------------------



Re: Duesseldorfer Stammtischbericht (Hobo, 26. Jan 1998, 09:11:52):
~#! rn=Kartoffel rt=885771045 rg=treffen
~#! tid=885771045
Nur vier Jahr MG?
Kann nicht sein!
Ich spiel' dich schon seit 10/93 und da war das MG schon ein paar Monate alt!
Wann gibt's eigentlich das naechste Jubilaeum zu feiern, Boing, Jof, Cat* und
all die anderen aus der ersten Stunde?



-----------------------------------------------------------------------------



Treffen in Koeln (Orktoeter, 26. Jan 1998, 09:41:39):
MI 11.02.98 im Limericks; Begin zwischen 19 und 20 Uhr.

OrkT.

-----------------------------------------------------------------------------



Re: WOCHENENDSTAMMTISCH! (Trancefear, 26. Jan 1998, 10:15:06):
~#! rn=Freund rt=885549264 rg=treffen
~#! tid=885549264
Du machst es einem echt schwer... am Freitag is was in Dortmund, und dann auch
noch Sa/so nach Muenster...? 

tf

-----------------------------------------------------------------------------



Re: Re: Duesseldorfer Stammtischbericht (Catweazle, 26. Jan 1998, 11:31:29):
~#! rn=Hobo rt=885802312 rg=treffen
~#! tid=885771045
Offizieller erster geloggter Onlinetag des MG ist der 25. (26.?) Maerz 1992.
Wir haben also demnaechst bereits unseren sechsten Geburtstag. Also eine 
prima Gelegenheit fuer eine Fete, wuerde ich mal sagen :-)
Noch ein schoener Tag zu feiern: Der 25. April, ein Samstag uebrigens.
Da wird MG 2222 tage alt :-)

YTC

-----------------------------------------------------------------------------



Re^3: Duesseldorfer Stammtischbericht (Fyt, 26. Jan 1998, 15:11:32):
~#! rn=Catweazle rt=885810689 rg=treffen
~#! tid=885771045

2200 Tage schon?

Hmpf, da hab ich ja 90% des Mudlebens verpasst...

Fyt.

-----------------------------------------------------------------------------



Re: WOCHENENDSTAMMTISCH! (Yendi, 26. Jan 1998, 15:12:32):
~#! rn=Freund rt=885549264 rg=treffen
~#! tid=885549264

*argl* Da freu ich mich schon, endlich mal wieder ein paar MUDder zu sehen,
und dann lese ich den Termin...  *seufz*

YTY, der weder Dienstags abends noch dieses Zeit hat.

-----------------------------------------------------------------------------



Re^3: Duesseldorfer Stammtischbericht (Key, 26. Jan 1998, 16:40:00):
~#! rn=Catweazle rt=885810689 rg=treffen
~#! tid=885771045
Schoen ,)
Dann machen wir am 25 Maerz Winter und 6-Jahresfeier, und am  25 April Sommer
und Schnapsparty ;)))

*gruebel* Muss dann jeder 2222 Schnaepse trinken um es wuerdig zu feiern? =;)



Achja .. Stammtisch am We, immer mein Wunsch :) Aber das ist doch nen bisserl
knapp ... Trotzdem Danke Freund fuers planen :)

Key

-----------------------------------------------------------------------------



stammtisch in essen (Cymonk, 27. Jan 1998, 23:06:23):
halloechen,

wie waers mit einem stammtisch in essen am SA, den 14.2.
im Merlin ???

wer interess hat: hand hoch!

cymonk

p.s. es gibt einen special guest! ;)

-----------------------------------------------------------------------------



Re: Re: MG-Stammti in Halle (Ivo, 28. Jan 1998, 01:08:48):
~#! rn=Janitze rt=885539205 rg=treffen
~#! tid=885493662
Wenn ihr nochmal schreibt, wann und wo genau der Stammtisch stattfindet, komm
ich auch.

Ivo, geborenener Hallenser

-----------------------------------------------------------------------------



Wegbeschreibung (Aline, 28. Jan 1998, 12:17:06):
Hi Stammtischler,

da der Freitag immer naeher rueckt und ich so
ungerne an einem grossen Tisch alleine im Chat Noir
sitze, hier nochmal eine Erinnerung.
Freitag ist Stammtisch in Dortmund, ab 19.30 Uhr
im Chat Noir.

Aline

----- schnipp- schnapp---------

Wegbeschreibung zum Chat Noir:

Mit dem Auto:

Egal von wo ihr kommt, fahrt erstmal zum Bahnhof in Dortmund.
Wenn ihr dann vor dem Bahnhof langfahrt (vor dem Haupteingang an
der Suedseite), solltet ihr Euch auf dem Wallring befinden. Liegt der
Bahnhof dann beim Vorbeifahren auf der linken Seite -- eh bien 
naechster Absatz weiterlesen, wenn nicht, macht bitte bei der 
naechsten Gelegenheit einen U-turn (eine Drehung um 180 Grad) 
und fahrt nochmal am Bahnhof vorbei (jetzt sollte er auf der 
linken Seite liegen, wenn nicht ..... aeh, hmmmm, next try). 

So jetzt heisst es Ampeln zaehlen und zwar zaehle ich jetzt mal 
die Ampel direkt vor dem Bahnhof als 0. Ampel, 1. Ampel danach 
geradeaus weiterfahren (falls ihr dort nach rechts abbiegen wuerdet, 
wuerdet ihr zum Walhalla kommen. Tip fuer  Ortskundige.). 2. Ampel
auch geradeaus und an der 3. Ampel KOENNT ihr nach rechts in die 
Kuckelke reinfahren (es kann auch die 4. Ampel sein, ich schreib 
das hier aus dem Gedaechtnis. Sicher bin ich mir bei dem 
Strassennamen!). Dann nur noch gleich wieder rechts in die
Toreinfahrt rein (neben dem Rewe) und dann steht ihr vor dem
Chat noir. Nur parken koennt ihr da leider nicht!!!

Also fahrt lieber eine Ampel weiter auf dem Schwanenwall und
biegt dann rechts ab, gleich wieder rechts kommt ihr dann auf
die Parkplaetze, die da an dem Wall entlang liegen. Dann nur noch
ueber die Kuckelke gehen, neben dem Rewe in die Toreinfahrt rein,
dann nach links schauen und das Chat Noir sehen.

Zu Fuss vom Bahnhof aus:

Also raus aus dem Bahnhof durch den Haupteingang. Dann rechts 
(wenn ihr mit dem Ruecken zum Eingang steht und auf die 
wunderschoene Treppe mit der Baustelle links daneben, die wie 
eine grosse Spinne ausschaut, blickt) dem Wallring folgen. An 
der 3. Ampel (oder 4. Strasse heisst auf jeden Fall Kuckelke) ueber 
den Wallring gehen. Dann ist dort auf der linken Seite ein REWE und 
sofort daneben in Laufrichtung eine Toreinfahrt. Da hineingehen und
dann links ins Chat Noir rein.




-----------------------------------------------------------------------------



WOCHENENDSTAMMTISCH IN MS (Freund, 28. Jan 1998, 12:32:54):
Guten Tag,

die Entscheidung ist gefallen!!! Der erste(?) Wochenend-Stammtisch in Muenster
findet am

SAMSTAG, den 31. JANUAR 1998 im ALABAMA um 19 UHR statt!

Ich bitte um zahlreiches Erscheinen, sonst wird's auch so schnell keinen mehr
am WE geben. :-P

Freund, hofft auf seltene und neue Gesichter.

P.S.: Anfahrtsweg gibt es per mail.

-----------------------------------------------------------------------------



BAERlin, was nu? (Augra, 28. Jan 1998, 14:38:51):
 Nun gut, der Stammtisch soll also umziehen? In ein Gewoelbe mit Met und
Baeren fang? Probieren kann mans ja mal, aber hat nun mal jemand den Namen der
Pinte rausgekriegt? Und wie siehts mit nem Termin aus? Naechsten Mittwoch
waere regulaer dran, bleibts dabei? und koennt ihr euch mal einigen oder
muessen wir erst Aline einfliegen zum Testen ?

Augra, will ne klare Aussage


-----------------------------------------------------------------------------



Re: WOCHENENDSTAMMTISCH IN MS (Trancefear, 28. Jan 1998, 14:58:37):
~#! rn=Freund rt=885987174 rg=treffen
~#! tid=885987174
Jou, endlich mal ein Stammtisch, an dem nicht um 22 Uhr 3/4 der Leute
fluchtartig das Lokal verlassen, unentwegt was wie "...sneak..." murmelnd...
:-)

tf (makukkn ob mich wer mitnimmt)

-----------------------------------------------------------------------------



Re: BAERlin, was nu? (Birdy, 28. Jan 1998, 17:06:23):
~#! rn=Augra rt=885994731 rg=treffen
~#! tid=885994731
Ich denke mal, dass wir dann auch gleich den Freitag ausprobieren koennen oder
?:)
Die Schenke heisst "Selig" und ist direkt neben der Kulturbrauerei.
U Eberswalder Strasse, dann die Danziger in Richtung Prenzlauer, erste Ecke
rechts :)

Birdy

-----------------------------------------------------------------------------



Treffen in Frankfurt/Main (Boebbel, 28. Jan 1998, 21:44:08):
       ___________________________________
      /_________________________________ /|
      |     +---------------------+     | |
      |     | MuD - T R E F F E N |     | |
      |     +---------------------+     | |
      |               in                | |
      |            Frankfurt            | |
      |                                 | |
      |           am 13.02.98           | |
      |           um 20:00 Uhr          | |
      |               im                | |
      |         Domenicus-Keller        | |
      |         ================        | |
      |          Mainstrasse 11         | |
      |_________________________________|/

Ein Boebbel...

-----------------------------------------------------------------------------



Re: Treffen in Frankfurt/Main (Dolph, 29. Jan 1998, 10:23:02):
~#! rn=Boebbel rt=886020248 rg=treffen
~#! tid=886020248
Seit wann faengt denn der Stammtisch um 20.00 Uhr statt ???
Um 19.00 Uhr werden die Rechnerraeume geschlossen... dann 
brauch ich 15 Minuten mit der S-Bahn zum Treffen.

Jetzt weiss ich auch warum ich immer der Erste bin :-) 
           
             Wer kommt denn auch so frueh ?
           War es Tischnummer 9 oder doch 13 ?

Ich denke wir nehmen wieder den Tisch direkt vor der Theke ;-)

Dolph freut sich schon darauf 

-----------------------------------------------------------------------------



Re: Re: BAERlin, was nu? (Augra, 29. Jan 1998, 13:26:18):
~#! rn=Birdy rt=886003583 rg=treffen
~#! tid=885994731
Hm, also naechste Woche Freitag, das waere dann der 06.02....20.00 Uhr im
Selig?

Was meinen die andern?

Augra

-----------------------------------------------------------------------------



Re: Re: WOCHENENDSTAMMTISCH IN MS (Teddy, 29. Jan 1998, 14:04:46):
~#! rn=Trancefear rt=885995917 rg=treffen
~#! tid=885987174
Dafuer wirds danach meist besonders gemuetlich, wenn das Kroppzeug weg ist.

Teddy

-----------------------------------------------------------------------------



BAERliner (innen?) (Claymore, 29. Jan 1998, 15:22:01):
Also ich waehre auch fuer den 6.2. zu haben, wuerde aber erst spaehter kommen,
aber auf jeden fall!!!

Die frage ist nur die ob wir einen platz kriegen im Selig denn
erfahrungsgemaes ist es dort sehr voll!!!
Ich kann ja mal fragen ob ich Plaetzt vorbestellen kann.

bis dann Claymore!

-----------------------------------------------------------------------------



Re: BAERliner (innen?) (Janitze, 29. Jan 1998, 15:35:08):
~#! rn=Claymore rt=886083721 rg=treffen
~#! tid=886083721
mir waer der Mittwoch lieber, muss naemlich (ohne 'h') eventuell
freitag nacht arbeiten und dann kann ich net so lang bleiben :(

Janice

-----------------------------------------------------------------------------



Re: Re: BAERliner (innen?) (Mysterious, 29. Jan 1998, 19:00:04):
~#! rn=Janitze rt=886084508 rg=treffen
~#! tid=886083721
kon ban wa!

jau, also einen anderen termin als den 1. mittwoch im monat find ich auch gut
(kann ich endlich mal wieder chaos-radio hoeren >:)

wobei mir der donnerstag lieber waere.. aber fuer den freitag bin ich auch zu
haben...

also, freitag den 06.02.1998 im selig

duiiiiii
            dA mYstA

-----------------------------------------------------------------------------



Re: Re: Treffen in Frankfurt/Main (Wurzel, 29. Jan 1998, 19:02:49):
~#! rn=Dolph rt=886065782 rg=treffen
~#! tid=886020248
ist doch positv, wenn du frueh da bist. da muss ich mir keine gedanken um
den geeigneten tisch machen :)

wurzel kommt (mitsamt zweiti)

-----------------------------------------------------------------------------



Re^3: WOCHENENDSTAMMTISCH IN MS (Trancefear, 29. Jan 1998, 23:34:06):
~#! rn=Teddy rt=886079086 rg=treffen
~#! tid=885987174
Hmja... wenn dann nur noch Wargon und Rochus dasitzen (von uns Besuchern aus
OS mal abgesehen) - das nennst Du gemuetlich???

-mupfel-
PS nix gegen Wargon und Rochus :-)

-----------------------------------------------------------------------------



Re^4: WOCHENENDSTAMMTISCH IN MS (Zephyr, 30. Jan 1998, 09:46:20):
~#! rn=Trancefear rt=886113246 rg=treffen
~#! tid=885987174

Diesmal hats auch Besucher aus BN und DA :)

Zufaellig in der Gegend seiend,
         Zephyr

-----------------------------------------------------------------------------



ER (Highlander, 30. Jan 1998, 12:43:59):
Frage: Wer hat alles Lust und Zeit, naechste Woche zu kommen?
   Highlander, einen Versuchsballon startend

-----------------------------------------------------------------------------



Re: ER (Marcus, 30. Jan 1998, 12:56:50):
~#! rn=Highlander rt=886160639 rg=treffen
~#! tid=886160639
ICH ICH! :)

Ciao, Marcus

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 30. Jan 1998, 14:15:20):
ACHTUNG WICHTIGE AENDERUNG !!!

Aufrgrund einiger dummer Zusammenfaelle findet der STATI nicht wie geplant am

6. 2. statt, sondern erst eine woche darauf.
also : 

NEUER    *S*T*A*T*I*  TERMIN :

FREITAG, DER 13. (*zitter*) FEBRUAR

wie ueblich im viertel nach im bueltenweg in braunschweig in deutschland in
europa auf der erde im alphaquadranten (oder so)

und wie immer um 20 uhr.

und wie immer (ganz unten am rand) sind die UNItopisten miteingeladen

das kompromittee (Qitess , Festin nicht.

(Klammer zu) )

QI**

-----------------------------------------------------------------------------



nicht * S * T * A * T * I * (Festin, 30. Jan 1998, 14:20:24):
Nochmal fuer alle Braunschweiger, die am offiziellen Termin keine
Zeit haben, oder einfach nicht genug kriegen koennen:
Teddy und ich sitzen am Samstag (31.1) so ab 19.00 Uhr im Viertel Nach
wer Lust hat kann ja einfach mal vorbei schauen...

Festin

-----------------------------------------------------------------------------



StammTi in Halle (Mieze, 30. Jan 1998, 14:54:56):

Hiho,

tut mir leid, dass ich nicht eher gepostet hatte, wo der StammTi in Halle am
31.1.98 stattfinden soll... ich hoffe, dass ich nicht ganz allein im Bella
Italia sitzen muss.

Also: am 31.01.1998 um 20 Uhr im Bella Italia (am Markt)

Ich werde wohl ab 19.30 Uhr am Haendel(denkmal) stehen. Das ist auch auf dem
Markt (fuer Nicht-Hallenser).

Wegbeschreibung fuer Leute, die die Oeffentlichen benutzen:

Ab Hbf mit den Linien 5 oder 9 (im Notfall geht auch die 6) zum Markt fahren
(die 5 und die 9 fahren in Richtung Heide). Da stehe ich dann schon am
Haendel. Falls Du/Ihr spaeter kommst/kommt, das Bella Italia ist neben dem
Cafe (oder wars ein Bistro?) Rialto. Nicht (!!!!!) Restaurant Rialto! 
Das Bella Italia befindet sich im Keller und ist der beste Italiener in Halle
und dem Saalkreis und ueberhaupt :))))

Eine Wegbeschreibung fuer Autofahrer kann ich schlecht geben, weil ich nicht
autofahren kann. *schaem* Aber Halle ist in der Regel gut ausgeschildert.

Fuer Fragen koennt Ihr mich gerne anrufen unter 0345 55 007 56. Mail geht
auch, ich bin zum Glueck vernetzt :)

So, das wars. Ich hoffe, ich hab nichts vergessen. Doch... der Tisch ist fuer
Olschewski ab 20 Uhr reserviert. (falls mir irgendwas zustoesst :) )

Eure Mieze - will nicht ganz alleine essen...

-----------------------------------------------------------------------------



Re^3: BAERliner (innen?) (Cakey, 30. Jan 1998, 18:39:53):
~#! rn=Mysterious rt=886096804 rg=treffen
~#! tid=886083721

Moin!

Ich spreche mal hier fuer Aeneas, Birdy und mich, wenn ich sage, dass der
Freitagstermin wesentlich guenstiger waere. Brauch man nich schon so frueh
aufhoeren... ;-)

Wenn ich dann noch von der neuen Kneipe den Weg nach Hause finde, ist schon
alles okay.

Cakey


-----------------------------------------------------------------------------



Re^3: Treffen in Frankfurt/Main (Anacrion, 31. Jan 1998, 15:16:27):
~#! rn=Wurzel rt=886096969 rg=treffen
~#! tid=886020248

Jo! Genau :) Ich finde euch dann .... aeh. wo ist der Domenicus-Keller ?

Anacrion - auch kommen wollend.

-----------------------------------------------------------------------------



Dienstag kein Stammtisch in MS (Freund, 31. Jan 1998, 16:34:37):
Tach, Post!

Am kommenden Dienstag ist KEIN Stammtisch in MS. Jedenfalls werden die
normalerweise Anwesenden nicht da sein.

1. Wird am WE Stammtisch gewesen sein. (Futur II!)
2. Ist Dienstag ein anderes Event.

Danach die Woche ist alles wieder normal.

Freund, informiert.

-----------------------------------------------------------------------------



Neuer Stammtisch in Berlin (Gnome, 31. Jan 1998, 21:45:16):
hiho,
nach einigem hin und her moechte die mehrheit der noch aktiven mudder
in berlin nun mal was neues ausprobieren...
deshalb:
neuer ort: SELIG, Danziger Str./Knaackstr. (berlin mitte)

neuer tag: der 1. FREITAG im monat

alte zeit: 20.00 h

ich war vorhin im selig und hab es mir angeschaut. das ambiente ist
wirklich sehr nett, sogar die kellner(rinnen) kleiden sich mittel-
alterlich :) die preise sind ganz normal: krug bier (0,5l)=5,50 DM,
saft ab 4,00 DM und zu essen gibt es auch genug. wem es dort zu teuer
zum essen ist: daneben ist gleich nen doener-stand ;-)
oeffentliche verkehrsanbindung: u-bhf. eberswalder str.
achso: ich hab gleich mal nen tisch reserviert und hab gesacht, wir sind
so etwa 8-12 leute, also lasst mich jetzt nicht haengen! ;-)
ich hoffe auf viele alte und neue gesichter!!!

bis dann, im

SELIG, am Fr., 06.02.98 um 20.00h !

gnOme

p.s. die tuer ist von aussen nicht zu oeffnen, ein klopfen sollte euch
     einlass gewaehren, aber wem sag ich das... ;-)

-----------------------------------------------------------------------------



Re: Neuer Stammtisch in Berlin (Gnome, 31. Jan 1998, 21:48:33):
~#! rn=Gnome rt=886279516 rg=treffen
~#! tid=886279516
argl, wie ich gerade erfahren habe, ist mir ein kleiner fehler unterlaufen: 
das SELIG liegt im stadtteil prenzlauer berg, nicht in mitte. sorry.

gnOme

-----------------------------------------------------------------------------



Kleine Zitatsammlung (Freund,  1. Feb 1998, 12:52:56):
Guten Tag auch, 

nach einem gelungenen Wochenendstammtisch folgt nun die Auswertung meiner
(kurzen) Logfiles:

Morgoth: Zieh Dich aus, leg Dich hin, wir muessen reden.
---
Morgoth: Zieh die Schuhe aus, komm ganz rein.
---
Silvana: Einen grossen und einen kleinen. (:-))
---
Morgoth: Ich hab die ganze Zeit an ihre Schlafzimmertuer geklopft, aber sie
hat mich nicht rausgelassen.
Etain: Ist mir nie passiert.
---

Das war es von meiner Festplatte... Aber Morgoth hatte ein wesentlich
groesseres Logfile mit.

Vorfreude erzeugend...
Freund

-----------------------------------------------------------------------------



Re: Dienstag kein Stammtisch in MS (Wargon,  2. Feb 1998, 11:24:08):
~#! rn=Freund rt=886260877 rg=treffen
~#! tid=886260877
Aha?
Gibt es dazu auch naehere Informationen? Ansonsten werde ich wohl trotzdem im
Alabama auftauchen.
  Ein normalerweise Anwesender
    Wargon

-----------------------------------------------------------------------------



Re: Re: Dienstag kein Stammtisch in MS (Wargon,  2. Feb 1998, 11:27:38):
~#! rn=Wargon rt=886415048 rg=treffen
~#! tid=886260877
Aha!
Wie mir soeben aus gewoehnlich gut informierten Kreisen berichtet wurde,
betrifft die Abwesenheit nur die EMs. Wer also mal einen EM-freien
Muensteraner Stammtisch erleben moechte, ist herzlich zum Dienstag eingeladen!
  Wargon

-----------------------------------------------------------------------------



Re^4: WOCHENENDSTAMMTISCH IN MS (Teddy,  2. Feb 1998, 12:24:01):
~#! rn=Trancefear rt=886113246 rg=treffen
~#! tid=885987174
Erwaehnte ich schon meine leicht masochistische Ader?
Ausserdem drohen mir die beiden wenigstens nicht damit, mich zum Magier zu
machen. ;)

Teddy

-----------------------------------------------------------------------------



Re: Neuer Stammtisch in Berlin (Birdy,  2. Feb 1998, 15:26:57):
~#! rn=Gnome rt=886279516 rg=treffen
~#! tid=886279516

Ausserdem verkehren dort noch die Strassenbahnen 13,50,53 und die
strassenbahn, die die Danziger hoch und runter duest, deren Nummer mir aber
nicht einfaellt

Birdy, z.Z. total ueberlastet

-----------------------------------------------------------------------------



TUe Stammtisch (Morgar,  2. Feb 1998, 15:27:57):
Am 6.2. findet um 20 Uhr wieder der Tuebinger MG-Stammtisch in der Marquardtei
statt.

Morgar

-----------------------------------------------------------------------------



Re^3: Dienstag kein Stammtisch in MS (Freund,  2. Feb 1998, 16:24:32):
~#! rn=Wargon rt=886415258 rg=treffen
~#! tid=886260877
Ich wollte auch in keinster Weise jemandem verbieten, sich im Alabama, oder
sonstwo zu treffen; ich wollte aber darauf hinweisen, dass ich keinen Tisch
reserviert habe. Und dass Jof, Rochus, Freund, Larissa und vielleicht sonstwer
schon mal nicht da sind. 
Und vom "Standard" der Leute, die oft da sind, bleiben dann so 4-6.
Also, reine Definitionssache, wann man von einem Stammtisch reden darf... ;)

Freund - wuerde Wargon niemals verbieten, im Alabama allen anderen einen
auszugeben. ;-P

-----------------------------------------------------------------------------



(fwd) de.alt.mud, Regelmaessige MUD-Treffen (was 11. Spielertage im E-Werk). (Marcus,  3. Feb 1998, 13:16:55):
Hi,

In de.alt.mud gefunden... Ich werde wahrscheinlich beim ersten Mal hinfahren
und es mir mal ansehen ... ;)
Das Falkon's Maze ist eines der besseren InternetCafes hier im Grossraum.

Marcus
------------------------------------------------------------------------------
From: muftix@asbach.de (Juergen Ernst Guenther)
Newsgroups: de.alt.mud,nbg.veranstaltungen
Subject: Regelmaessige MUD-Treffen (was 11. Spielertage im E-Werk).
Date: 3 Feb 1998 01:11:22 +0100
 
Nachdem regelmaessig nach den Spielertagen die Frage auftaucht,
ob man so etwas nicht auch unter'm Jahr veranstalten kann, der
monatliche MUDTreff im Pleitegeier aber dummerweise relativ
rechnerfern ist, wollen wir ein aehnliches Treffen auch
im Falkon's Maze im Fuerth abhalten.
 
Das haette den Vorteil, dass die Sucht auch gleich vor Ort befriedigt
werden koennte. Zudem ist das Maze von Nuernberg, Fuerth und Erlangen
gleich gut zu erreichen.
 
Geplant ist das ganze zunaechst am 10.2. ab 20:00, wenns laeuft
zb. regelmaessig jeweils am 2. Dienstag im Monat.
 
  .m.
--
muftix@asbach.noris.de
Fahrrad? Wozu sollte sowas wohl gut sein?
_Zwei_ alternierende Kickstarter und _kein_ Motor...

-----------------------------------------------------------------------------



Stammtische Tuebingen (Astar,  4. Feb 1998, 16:00:49):
HiHo!

Auf Wunsch einiger Leute (mehr als beim letzten mal da waren), verschieben ich
den Stammtisch vom 6.2. auf den 13.2. Ort bleibt wie gehabt die Marquartei ab
20:00 Uhr.

Astar

-----------------------------------------------------------------------------



Re: Neuer Stammtisch in Berlin (Cakey,  4. Feb 1998, 17:31:59):
~#! rn=Gnome rt=886279516 rg=treffen
~#! tid=886279516

Sach mal Gnome, wie is denn die Syntax fuer die Tuer?
klopfe an tuer, klopfe mit tuerklopfer, benutze tuerklopfer oder was?

Cakey,
der nicht vor geschlossenen Tueren durstig in der Kaelte stehen will.

-----------------------------------------------------------------------------



Re: Re: Neuer Stammtisch in Berlin (Marcus,  4. Feb 1998, 19:18:00):
~#! rn=Cakey rt=886609919 rg=treffen
~#! tid=886279516
tritt tuer ein, breche opferstock auf ... 

Err.

Marcus

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  4. Feb 1998, 21:55:22):

Nachdem der erste Stammtisch direkt ain ausserordentlicher war nun

*** der erste 'ordentliche' Duesseldorfer Stammtisch ***

am 13.2. (jawoll Freitag der Dreizehnte :) ) um 20:00 Uhr im Tigges.

Anmeldungen und Anfragen fuer Wegbeschreibungen bitte per Mail an mich.

Kartoffel

-----------------------------------------------------------------------------



Re: Re: Neuer Stammtisch in Berlin (Gnome,  4. Feb 1998, 22:08:53):
~#! rn=Cakey rt=886609919 rg=treffen
~#! tid=886279516
probier einfach alles aus, da kann nix falsch sein ;-)

gnOme hat beim 1. mal vergeblich versucht den tuerknauf zu drehen. :)

-----------------------------------------------------------------------------



Re^3: Neuer Stammtisch in Berlin (Cakey,  4. Feb 1998, 22:32:24):
~#! rn=Gnome rt=886626533 rg=treffen
~#! tid=886279516


Na dann is ja gut, ich werds wohl schaffen reinzukommen. Wenn ich jetzt noch
schaffe den Bierpreis zu druecken, ueber Mengenrabatt oder sowas, steht einem
feuchtfroehlichen Treffen wohl nix mehr im Wege. :)

Cakey, der 5,50 fuer nen halben eigentlich zuviel findet.

-----------------------------------------------------------------------------



Dresdener Februar-Stammtisch (Zino,  5. Feb 1998, 16:42:58):
Moin,

am Donnerstag, dem 12.2.98 ist wieder Stammtisch in Dresden, und zwar in der
Wu11 (das ist der Studentenclub im Wohnheim Wundstrasse 11). Beginn ist um
21.00 Uhr. Wer nicht weiss, wo das ist, oder wer in die Einladungsmailliste
aufgenommen werden moechte, der moege mir das mitteilen, am besten Mail an
Zino (zum Einloggen des Chefs hab ich erstmal keine Zeit).

Mahatma (auf zahlreiches Erscheinen hoffend)

-----------------------------------------------------------------------------



Klitzekleine private Mudparty in Dortmund (Knurt,  8. Feb 1998, 15:53:10):
So, dann versuche ich es jetzt mal so:
Da mich der gute Snotty Ende Februar in Dortmund besuchen kommt, mache ich am
6.3. (was ein Freitag ist) eine kleine (Mud-)Party bei mir zuhause.
Der Ursprungsgedanke war erstmal alle unsere Freunde hier einzuladen und dann
flass noch Platz ist, halt einfach alle einzuladen (gerade weil ich auch die 
Dortmunder vom Stammtisch nicht alle kenne und die auf jeden Fall einladen
moechte).

Wer also Lust hat in einer kleinen Runde von 40 Leuten einen Freitag (und fuer
die
von weiter weg auch Samstag und von mir aus auch Sonntag) ein wenig
zusammenzuhocken
zu feiern (wie auch immer) moege sich bei mir doch mala per mail melden.
Schlafplaetze haben wir und ich faende es auch ganz schoen wenn sich die zig
Leute 
die wir angemailt haben aeussern wuerden. Bislang haben sich etwa 20 Leute
angesagt
es duerfen aber ruhig noch ein paar mehr werden :)

Weil mich schon ein paar Leutchen danch gefragt haben: Wegbeschreibungen
schicke ich Ende
der Woche raus. Und weil mir meine Festplatte gecrashed ist habe ich nicht so
ganz Ueberblick wer alles kommt,
deshalb liste ich hier mal die Leute auf. Wen ich vergessen habe moege sich
biit
nochmal bei mir melden (aehm). Bisher haben zugesagt:
Snotty (ach?), Hangover, Succamore, Kartoffel, Aline, Hardil, Tars, Mindblade,
Xand,
Saladrion, Nachtwind und ein paar Leute mit einem "vielleicht". Und einen habe
ich
ganz bestimmt vergessen. Ups.

Soweit,
Knurt (freut sich jedenfalls auf sein Fest)

-----------------------------------------------------------------------------



Erlangen - generelle Frage (Highlander,  9. Feb 1998, 13:00:01):
Ich haette eine grosse Frage.
Will ueberhaupt ausser Marcus (und mir mit wingmate) noch wer kommen?
Wuerden vielleicht an einem Freitag mehr kommen?
Sonst war am Donnerstag naemlich vielleicht vorerst mal der letzte
Erlanger Stammtisch.
    HrT

-----------------------------------------------------------------------------



Treffen in Koeln (Orktoeter,  9. Feb 1998, 14:45:56):
MI 11.2.98 Im Limerick, Beginn 19 Uhr.
Evtl. kommt Twingi als Gast, aber das steht noch nicht fest.

OrkT liefert auf bestellung auch Wegbeschreibungen.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Hobo, 10. Feb 1998, 12:01:56):
Am Donnerstag, den 19.02. wird der Stammtisch in Karlsruhe etwas groesser als
sonst. Damit wir einen ausreichend grossen Tisch bestellen koennen (ist immer
sehr voll), sollen sich alle, die ausser Hangover, Troy, Honz, Sting und zwei
anderen noch kommen wollen, bitte bis zum 12.02., 16:30 bei mir melden.

Sonst muesst Ihr naemlich hinter der Bank auf dem Fensterbrett sitzen!

   Hobo

-----------------------------------------------------------------------------



Hamburg. Donnerstag. (Hangover, 10. Feb 1998, 12:26:55):
Moin!

Aus aktuellem Anlass (Jammie kommt nach Hamburg) ergibt sich am 
Donnerstag ein Hamburger Stammtisch. Und zwar ab 19 Uhr im Klett 
(Grindelallee). Wegeskripte oder aehnliches auf Anfrage.

-Hangover

-----------------------------------------------------------------------------



Wegbeschreibung Frankfurter Stammtisch  (Dolph, 12. Feb 1998, 09:46:21):
Hier nun die Wegbeschreibung zum Stammtisch nach Frankfurt am 13.02.98

Von Darmstadt ueber die A 5 nach Frankfurt:

Die Abfahrt ist Ffm Westhafen auf die Gutleutstrasse. Sollte man von Darmstadt
kommend, nicht direkt dort abfahren koennen, fahrt halt 3 km weiter zum 
Westkreuz Frankfurt. Von dort fahrt ihr wieder die 3 km zurueck Richtung
Darmstadt und verlasst dann die Ausfahrt Ffm Westhafen.
Fahrt auf der Gutleutstrasse in Richtung Stadtmitte/ Bahnhof. Im Gutleut-
Viertel biegt ihr dann in die Hafenstrasse nach rechts ein und fahrt unter 
der Friedensbruecke hindurch auf dem Mainkai entlang. Diesen folgt ihr solange
bis ihr in die 'Schoene Aussicht' geradeaus einfahrt. Links ab in die Mainstr.
und ihr seht auf der linken Seiten den Domenikuskeller !

Von Darmstadt ueber die B 3 nach Frankfurt

Die Frankfurter Landstrasse geht ueber in die Darmstaedter Landstrasse. Diese 
Danach kommt die Paradisgasse und Elisabetstrasse. Von da rechts ab, ueber die
'Alte Bruecke' und dann wieder rechts in die Schoene Aussicht. Links ind die
Mainstrasse und ihr seht den Domenikuskeller auf eurer linken Seite.

Viel Glueck und gut Stau Dolph

-----------------------------------------------------------------------------



Bilder (Mingo, 13. Feb 1998, 04:28:28):
Was lange waehrt *gaehn*. Ich hab mich mal aufgerafft und einen Schwung
alter Bilder aus KA und MUE gescannt. Es sollen trotz Gewaltandrohung
sogar etliche Ablichtungen anatolischer Bauern aus Osnabrueck dabei sein.
Wenn wat nit klappt, dann mailt Mahatma, ick hob jetzt koa Bock mehr.

Hier, nehmt das:
http://www.wh9.tu-dresden.de/~beth/muds.html

Gloin

-----------------------------------------------------------------------------



Re: Bilder (Mahatma, 13. Feb 1998, 13:01:44):
~#! rn=Mingo rt=887340508 rg=treffen
~#! tid=887340508
Was ist MUE? Meinst Du vielleicht MS?

Mahatma

-----------------------------------------------------------------------------



Re: Re: Bilder (Mingo, 13. Feb 1998, 13:11:38):
~#! rn=Mahatma rt=887371304 rg=treffen
~#! tid=887340508
So in dem Dreh. Und gib Ruhe, sonst leg ich Deine Nacktbilder mit auf
die MG-Seite.

Mingo

-----------------------------------------------------------------------------



Re^3: Bilder (Key, 14. Feb 1998, 20:49:14):
~#! rn=Mingo rt=887371898 rg=treffen
~#! tid=887340508
Argl! Hoer auf uns zu drohen! .)
Ich wette das waere fuer alle anderen schlimmer als fuer Mahatma :)

Key

-----------------------------------------------------------------------------



Stammtisch in Marburg!!! (Key, 17. Feb 1998, 09:49:03):
Huhu .)

So also ... aeh oki ich gebs zu es hat lang gedauert ;)
Wir haben es endlich mal geschafft uns zusammenzuhocken und uns den 7.3.98
fuer den ersten MG-Stammtisch in Marburg ausgesucht.

Der Tag ist ein Samstag weil praktischer :)

So also bewegt euch herbei :)

Wer kommen will und das schon weiss schickt am besten gleich ne mail an mich,
ansonsten bitte innerhalb der naechsten Woche :)
Weil naemlich wir muessen noch planen wo wir den abhalten ,) Kommt halt
erstmal drauf an wieviele alles kommen wollen :)

Key lockt alle mal nach Marburg :)


-----------------------------------------------------------------------------



Re: Stammtisch in Marburg!!! (Lug, 17. Feb 1998, 17:38:44):
~#! rn=Key rt=887705343 rg=treffen
~#! tid=887705343
Aeh,

bleibt bloss alle weg!

So
Lug

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Marburg!!! (Sting, 17. Feb 1998, 18:39:00):
~#! rn=Lug rt=887733524 rg=treffen
~#! tid=887705343
ARGL!

Warum ausgerechnet an dem Tag, an dem auch in Dortmund ne Party ist :))


Naja, ich komme dann wohl doch nach Marburg.


Sting

-----------------------------------------------------------------------------



Re^3: Stammtisch in Marburg!!! (Lug, 17. Feb 1998, 22:26:11):
~#! rn=Sting rt=887737140 rg=treffen
~#! tid=887705343
Aeh,


sagte ich nicht wegbleiben? ;)

FidKG
Lug

-----------------------------------------------------------------------------



party in Dortmund (Knurt, 18. Feb 1998, 05:21:35):
Hmm, 
die Party in Dortmund ist am 6.3. und auch wohl am 7.3. (zumindest fuer die
die noch da bleiben).

Es sind noch Plaetze frei :)

Knurt

-----------------------------------------------------------------------------



Re: party in Dortmund (Ringor, 18. Feb 1998, 14:18:00):
~#! rn=Knurt rt=887775695 rg=treffen
~#! tid=887775695
Nur, damit jetzt keine Verwirrung aufkommt: bei der Party von Knurt handelt es
sich um eine mehr oder weniger grosse Privatfete, nicht um die offizielle
Winterparty des MG.

Ringor.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Marburg!!! (Key, 18. Feb 1998, 17:42:59):
~#! rn=Sting rt=887737140 rg=treffen
~#! tid=887705343
Ich sachte doch mail an mich ;) Sonst krieg ich nei nen Ueberblick :)

Also wer noch? .)

Key stopf Lug mal schnell ein Bier in den Mund. :)

-----------------------------------------------------------------------------



Re^4: Stammtisch in Marburg!!! (Lug, 18. Feb 1998, 17:46:30):
~#! rn=Key rt=887820179 rg=treffen
~#! tid=887705343
 Ae*gurgl*h

Ich*grurgl*sagte*gurgldoch*gurgl*wegbleiben*hick*

Nickt Key zu
Lug

-----------------------------------------------------------------------------



Stammtisch in DO? (Shakedbeer, 25. Feb 1998, 22:16:10):
Hi!
Wie siehts aus? Kein Dortmunder Stammtisch in diesem Monat?
Wenn doch, wo?

Shaky.

-----------------------------------------------------------------------------



Re: Stammtisch in DO? (Aline, 26. Feb 1998, 15:00:21):
~#! rn=Shakedbeer rt=888441370 rg=treffen
~#! tid=888441370

Lantuerlich ist wieder Stammtisch in Dortmund. Ich denke,
auch wenn Knurt zurecht auf seine Party eine
Woche spaeter verweist, lohnt es sich doch
einen kleinen Stammtisch in Dortmund zu machen.
Allerdings.... hmmmm ich hab vergessen zu reservieren.
Und ich persoenlich kann leider nicht da sein :(
Also, ansonsten wer Lust hat kann sich ja am Freitag
im ChatNoir um ca 19.00 Uhr einfinden.

Aline (leider im Stress)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO? (Morgoth, 26. Feb 1998, 15:22:09):
~#! rn=Aline rt=888501621 rg=treffen
~#! tid=888441370
JAJAJAJAJA.....

Morgoth ist da... (1)

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO? (Kartoffel, 26. Feb 1998, 17:18:19):
~#! rn=Morgoth rt=888502929 rg=treffen
~#! tid=888441370
Ebenso, und Para auch

Kartoffel (3)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO? (Knurt, 26. Feb 1998, 17:25:28):
~#! rn=Kartoffel rt=888509899 rg=treffen
~#! tid=888441370
Jepp, ich komme auch.
Knurt

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  2. Mar 1998, 22:05:04):
hiho.
stammtisch in braunschweig
freitag
6.3.98
im viertel nach
im bueltenweg
in braunschweig
um 20:00 uhr
kommen
vorher bitte anmelden
das kompromittee (qitess & festin)

QI**

-----------------------------------------------------------------------------



KARTOFFELECKENTAG! (Freund,  3. Mar 1998, 10:26:11):
Tag,

nur so zur Erinnerung: Heute ist Muensteraner Stammtisch, 20 Uhr im Alabama.
Da gibt es viel zu essen und fuer Teddy auch nur die grossen Portionen.

Und wer noch zweifelt: TANKEN ist in Muenster PREISWERT! (Also, fuer ein Auto,
meine ich jetzt!) Lohnt sich!!! :-)

Freund, hungrig.

-----------------------------------------------------------------------------



Stammtisch in Marburg (Srabi,  3. Mar 1998, 12:28:33):
Da Key irgendwie mir nicht die genaue Teilnehmerzahl bezueglich des Marburger
Stammtisches mitteilt, bitte ich Euch, schreibt mir, oder sagt mir, wehr
definitiv kommen will, damit ich den Tisch reservieren kann. Falls jemand
nicht mehr weiss wann: Termin: 07. Maerz 1998 in Marburg. Bitte meldet Euch so
schnell wie mglich, denn Die Kneipe will auch bis spaetestens Donnerstag
bescheid wissen.

Srabi, etwas ueber Key gefrustet

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg (Sharia,  3. Mar 1998, 12:46:06):
~#! rn=Srabi rt=888924513 rg=treffen
~#! tid=888924513
Key hat heute urlaub soviel ich weiss Srabi und konnte daher meine Mail von
gestern nicht lesen .. soviel ich weiss weiss Key wer kommen will, jedoch
denke ich dass eine Mail an Srabi UND Key das sinnvollste ist ...

Gruss Sharia, die dann mal mailt obwohl sie nach MR faehrt :) ? :-)

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg (Ark,  3. Mar 1998, 17:03:39):
~#! rn=Srabi rt=888924513 rg=treffen
~#! tid=888924513
Also, bei mir haengt alles von Gundur ab -> ihn fragen :-)
Bin zu faul zu mailen ... :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Marburger Stammtisch (Dolph,  3. Mar 1998, 17:29:10):
Koennt ihr mal die Wegbeschreibung vor Samstag in die Zeitung setzen ?
Moechte mir den Weg vorher mal anschauen !

Dolph sucht sich sonst dusselig in Marburg 

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg (Lug,  4. Mar 1998, 02:32:22):
~#! rn=Srabi rt=888924513 rg=treffen
~#! tid=888924513
Hm Srabi,

gibt es Key noch?

FidK
Lug

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg (Key,  4. Mar 1998, 11:14:39):
~#! rn=Srabi rt=888924513 rg=treffen
~#! tid=888924513
*gaehn* Huhu .)
Aeh also .. ich stimmt srabi zu ,)

Key sagt: Die Ruhe ist dem Weisen heillig, nur der Doofe, der hats eillig

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Marburg (Wargon,  4. Mar 1998, 11:26:35):
~#! rn=Key rt=889006479 rg=treffen
~#! tid=888924513
>Key sagt: Die Ruhe ist dem Weisen heillig, nur der Doofe, der hats eillig
Wieso muss ich dabei jetzt an Wegescripts denken? :)
  Wargon

-----------------------------------------------------------------------------



Re^3: Stammtisch in Marburg (Trancefear,  4. Mar 1998, 14:23:21):
~#! rn=Wargon rt=889007195 rg=treffen
~#! tid=888924513
weil du eine einseitige phantasie hast? :-)

tf

-----------------------------------------------------------------------------



Stammtisch Bielefeld (Yaren,  4. Mar 1998, 16:51:41):
Jaja, ich weiss: eigentlich waere es heute ja soweit, aber die Zeiten aendern
sich und eine traditionelle Veranstaltung damit auch ;-)

Ab sofort (d.h. ab naechsten Mittwoch, 11. Maerz) findet der Bielefelder
Stammtisch immer am 2. Mittwoch im Monat ab ca. 19:30 Uhr im Cafe Mint statt.
Bitte ein wenig Geduld - ich komme immer zu spaet ;-)

Fuer Neulinge: schaut mal nach den Bildern der letzten Party auf der WWW-Page
des MG, wenn Euch Fahndungsfotos zu Silvana und mir fehlen :-)

Yaren, heute mal bestimmend.

-----------------------------------------------------------------------------



Stati (Key,  4. Mar 1998, 20:02:51):
Soo denn ....
Der Ststi in MR ist diesen Samstag und zwar im Cafe News :)
Wer net weiss wo das is und trotzdem kommen will mail an mich :)

Key

-----------------------------------------------------------------------------



Stammtisch Erlangen (Marcus,  4. Mar 1998, 20:06:53):
Hi,

Morgen ist wieder der MUD Stammtisch Erlangen. 19:00 im Pleitegeier.
Ich hoffe, das diesmal nicht nur Highlander, Doris und Ich da sind ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stati (Lug,  4. Mar 1998, 20:34:47):
~#! rn=Key rt=889038171 rg=treffen
~#! tid=889038171

Soooosiehddas aus
 Und wer sich verlaufen will oder eine Ausrede fuer die Absage braucht: mail
an mich!

FidKG
Lug

-----------------------------------------------------------------------------



Re: Stati (Qitess,  4. Mar 1998, 21:19:25):
~#! rn=Key rt=889038171 rg=treffen
~#! tid=889038171
Amtliche Mitteilung:

Saemtliche Formen des Wortes
*S*T*A*T*I*
sind gesetzlich geschuetzt und duerfen nur fuer den Braunschweiger
MorgenGrauen-Stammtisch benutzt werden.

Zuwiderhandlungen werden mit dem Besuch desselbigen nicht unter 3 Stunden
bestraft.

Formen koennen sein : Stati
                      STATI
                      stati
                      *Stati*
                      *STATI*
                      *stati*

Benutzung des Wortes *S*T*A*T*I* in seiner Ur-Form ist ebenso nur fuer den
Gebrauch fuer den Braunschweiger MorgenGrauen-Stammtisch erlaubt.


Anmerkung: Die Liste der Formen des Wortes *S*T*A*T*I* wird erweitert.

Der Kompromittee-Vorsitz

QI**

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf!! (Kartoffel,  4. Mar 1998, 22:30:52):
 Hoi zusammen!!

Naechste Woche ist es wieder so weit:

--------> Stammtisch in Duesseldorf <-----------

---------> Um 20:00 Uhr im Tigges <-------------

--------> Freitag, der 13. <-----------


Wer ne Wegbeschreibung braucht: Mail an mich oder Schleicher

Kartoffel

-----------------------------------------------------------------------------



Re: Re: Stati (Lug,  4. Mar 1998, 22:44:42):
~#! rn=Qitess rt=889042765 rg=treffen
~#! tid=889038171
Oh Qitess,

schon wieder daneben. *Fettnapf aufstell*

FidKG
Lug

-----------------------------------------------------------------------------



Stati, auf Quitess Meinung verzichte ich. (Key,  5. Mar 1998, 09:15:14):
Halloe :)

So mal ne komplette Wegbeschreibung fuer Samstag :)
Zuerst fuer die Autofahrer, ich hoffe das alle aus Sueden kommen ;)
Also ihr fahrt schoen langsam die Stadtautobahn lang und dann Marburg NORD!
ab.
An der naechsten Ampel gleich rechts und der Strasse folgen ....
Bei der anschliessenden Ampel sollte man auf der linken Seite den Bahnhof
sehen :)
Die Strasse macht hier nen Knick nach rechts und geht dann erstmal eine Weile
geradeaus weiter :) Ihr fahrt an 2 weiteren Ampeln vorbei und gelangt an eine
T-Kreuzung, da haktet ihr euch links.
Soooo Dann an der naechsten Ampel geradeaus, und die naechste rechts.
Dann geht es die 2. nach links einen Berg hoch, an der ecke ist auch eine
metzgerei :)
jedenfalls fahrt ihr den berg bis ganz oben hin.
Oben auf der Kuppe angekommen solltet ihr zur linken ein langes gebaeude sehen
und zur rechten eine mauer .... Un in der Mauer ist eine Durchfahrt zu einem
relativ grossen Parkplatz :)
Genau da parkt ihr.
Dann geht ihr wieder durch diesen durchlass im tor und wendet euch nach rechts
;)
Da geht es dann wieder Bergab ;)
Ihr latscht dann solange da runtr bis auf der rechten seite ein kleiner
schlecker ist :)
Soo und dann .... dann geht ihr weiter geradeaus, an nem compiladen vorbei und
dann muesstet ihr auf der rechten eine kneipe namens Braserie sehen, und auf
der linken ist dann auch das News :)
Da rein, und ganz nach hinten ... da duerften wir an nem langen tisch zu
finden sein :)
So es hat sich zwar keiner mit der bahn angemeldet, trotzdem noch eine kurze
beschreibung von BHF aus
Also ... ueber die Strasse (Natuerlich die Ampel benutzen, Man will ja Vorbild
bleiben ;) Alternativ bietet sich natuerlich an die Ampel zu toeten, aber das
kleinvieh haelt nur auf ;)) Dann nach links zur Bushaltestelle.
Da steigt man dann am besten in die c linie (achtung kleinbus, erkennt man
nicht immer sofort ;) ) oder in die linie 6 ein und faehrt hmmm .... 3
Stationen bis zum rudolphsplatz.
Da aussteigen, geradeaus in den fahrstuhl, und hochfahren :)
Soo oben angekommen raus, den gang bis zum ende, nach links, und schon hat man
auf der linken seite das news :) Auch wieder ganz nach hinten und umschauen :)



So das war es ;) ich hoffe ihr findet es :)

Key

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  5. Mar 1998, 20:33:15):
okay, morgen findet der STATI in braunschweig statt, um 20 uhr im viertel
nach.


ZUSAETZLICH!!!ZUSAETZLICH!!!ZUSAETZLICH!!!ZUSAETZLICH!!!

findet naechste woche ein weiterer STATI statt - weil einfach sehr wichtige
personen morgen nicht teilnehmen koennen.

Also :

zweiter - zusaetzlicher - STATI

am freitag, den 13.Maerz

auch um 20 Uhr im viertel nach

bis morgen/denne

Das Kompromittee (Qitess&Festin)

QI**

-----------------------------------------------------------------------------



berliner stammtisch (Gnome,  6. Mar 1998, 01:04:25):
hi,
etwas spaet... aber besser spaet, als nie 8)

heute findet also der berliner stammtisch statt.
nur hab ich da ein kleines problem... ich habe versaeumt, im SELIG einen
tisch zu bestellen, als ich angerufen hab, war nix mehr frei :-(
DESHALB:
diesen monat nochmal stamtisch im alten

      SEEBLICK (Rykestr.), um 20.00h

kommet zahlreich und lyncht mich net... ;-)

gnOme

-----------------------------------------------------------------------------



Heute private MUD-Party in Dortmund (Knurt,  6. Mar 1998, 13:34:52):
So, 
nochmal schnell fuer etwaige kurzentschlossene die Einladung fuer die "Snotty
und Knurt feiern"-Party in Dortmund, die heute bei mir zuhause stattfindet.

Bislang kommen wohl so 25 Leute, es duerfen aber ruhig noch ein paar mehr
werden, wer also Lust hat, im illustren Kreis ein paar Bierchen zu schlecken,
moege einfach gegen 20 uhr vorbeikommen.

Ort: 
Bei mir zuhause, Adresse: Krummnacker, Neuer Graben 97, 44137 Dortmund
MIt dem Auto kommt man am besten ueber die B1, Ausfahrt WDR/ZVS hin, dann
zweite Ampel links.
MIt der Bahn entweder mit der U4 bis Moellerbruecke, Aus Richtung Unna rechts
die Strasse hoch, soffort links, wieder rechts.
Aus Richtung Dorstfeld links die Strasse hoch, wieder links, dann sofort
rechts.
MIt der Strassenbahn 408 bis Moellerbruecke dann die Lindemannstrasse Richtung
Westfalenstadion/B1 lang, erste Strasse rechts rein. 

Bisherige Gaesteliste: Nachtwind, Hangover, Saladrion, Mindblade, Tars, Nonne,
Xand, Morgoth, Succamore, Kartoffel, Aline, der halbe Dortmunder Stammtisch,
sowie etliche mit Fragebogen und damit sich keiner als zu klein ffuer so eine
Party fuehlen muss, kommt auch ein Level 2 Spieler (!) aus Bielefeld :)
Aeh Frage bogen heisst natuerlich Fragezeichen...

Knurt und Snotty *noch etwas muede*

-----------------------------------------------------------------------------



Re: Heute private MUD-Party in Dortmund (Catweazle,  6. Mar 1998, 14:40:20):
~#! rn=Knurt rt=889187692 rg=treffen
~#! tid=889187692

Fuer alle unwissenden moechte ich mal das Kommando ~h empfehlen.

Anstatt 'Aeh Frage bogen heisst natuerlich Fragezeichen...' haette Dir 

zum Beispiel ein '~s !Fragebogen!Fragezeichen!' enorm weiter-
geholfen. Stichwort substitute...

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Teddy,  9. Mar 1998, 04:36:04):
~#! rn=Qitess rt=889126395 rg=treffen
~#! tid=889126395
Tja, ich kann bei beiden nicht, aber ich rede mir eh den Mund fusselig, wenn
ich euch dauernd sagen muss, am 3ten Freitag im Monat passt es am Besten.

Teddy

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel, 11. Mar 1998, 22:24:43):


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 13.3. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

Kartoffel

-----------------------------------------------------------------------------



DA (Ark, 16. Mar 1998, 10:32:38):
Gestern besprochen: kurzfristig wird ein nicht ganz geheimes Treffen
von Muddern aus der Umgebung Darmstadt anberaumt. Weitere Interessenten
sind willkommen. Ort: Darmstadt, Hotzenplotz. Zeit: Sa, 21.03.98, 20.00 Uhr.
Falls Diskussionsbedarf besteht, bitte an Zephyr wenden :-) Ich kann eh
nur Samstag abend, wenn also ein anderer Termin an diesem WE sympatischer
ist, nur zu :-)
So, ist das ok, C4?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: DA (Anacrion, 16. Mar 1998, 17:19:08):
~#! rn=Ark rt=890040758 rg=treffen
~#! tid=890040758
Suuuuper !! Ich finde MUDtreffen toll ....

Also macht mehr davon, vielleicht auch mal wieder eins, wenn ich kann :)

Euer leicht betruebter, aber was besseres vorhabend verbleibender

Anac*

-----------------------------------------------------------------------------



Re: DA (Wurzel, 16. Mar 1998, 21:47:41):
~#! rn=Ark rt=890040758 rg=treffen
~#! tid=890040758
aehm, ja. findet dann wohl ohne mich statt.
es sei denn, der stammtisch ist an dem abend woanders ...
an dem samstag ist ab 20 uhr der 6. blues fuer die suchthilfe, mittlerweile
schon eine kultveranstaltung... und sehr empfehlenswert noch dazu. uebrigens
auch fuer mudder zu empfehlen :)
wer infos braucht, kann mich kontaktieren.

wurzel (plaediert wie immer fuer freitags-stammtisch)

-----------------------------------------------------------------------------



DA2 (Ark, 17. Mar 1998, 15:45:59):
Soeben erreichte uns die Nachricht einer faulen Kaemperinf (Schande
fuer ihre Zunft): Mach ma ...
Ok, ich machs und richte den wenigen, die am Samstag nach Darmstadt
kommen wollen, aus, dass wir uns um 7.00 Uhr im Hobbit, nicht im Hotzenplotz,
treffen (das is aber in Sichtweite vom Hotzenplotz).
So, ciao zusammen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Vorbereitungsstammtisch zur MG-Party (Zephyr, 17. Mar 1998, 22:40:11):
~#! rn=Orktoeter rt=890158511 rg=treffen
~#! tid=890158511
*grummel*

Lieber Orktoeter, der 26.3. ist der vierte Donnerstag des
Monats Maerz, und somit wie ueblich ein Tag, an dem (wie
uebrigens an jedem 4. Donnerstag eines Monats) der regulaere
Bonner Stammtisch stattfindet. Also WENN ihr Euch treffen
wollt, dann doch bitte ab 19 Uhr im Fiddlers in Endenich ;)
Wegbeschreibung und so gibts auf Anfrage bei mir.

*knuddels*
                   Zephyr

-----------------------------------------------------------------------------



Re: Re: Vorbereitungsstammtisch zur MG-Party (Boing, 18. Mar 1998, 08:29:40):
~#! rn=Zephyr rt=890170811 rg=treffen
~#! tid=890158511
Ausserdem ist JEDEN Donnerstag Mud-Stammtisch in Karlsruhe, lohnt sich
immer dort mal reinzuschauen. :)
20 Uhr, Kleiner Meierhof, Zaehringer Strasse.
  Boing

-----------------------------------------------------------------------------



Vorbereitungsstammtisch (Orktoeter, 19. Mar 1998, 11:49:15):
Hallo ihr lieben !
Da sich jetzt sogar schon die Goetter gegen den Donnerstag ausgesprochen
haben, bleibt also wohl keine Wahl.
Der Koelner Stammtisch findet also am Mittwoch den 25. Maerz statt. 
Ort ist aber immer noch das Borsalino (fuer Stammgaeste, keine 50 Meter vom
Limericks entfernt).

Zeit : ab 19 Uhr

Eine guenstige Gelegenheit fuer alle, die noch Mitfahrplaetze haben, oder eine
MFG suchen.

OrkT.

-----------------------------------------------------------------------------



muenchen? (Wurzel, 20. Mar 1998, 23:13:58):
da ich jetzt wohl fuer einige zeit in muenchen abhaenge und es abends im
hotel nicht so arg spannend ist... gibt es eigentlich einen stammtisch da?
nur mal so aus neugier, wieviele mudder gibts da eigentlich? oder ist das
etwa noch entwicklungsland...

wurzel

-----------------------------------------------------------------------------



Re: muenchen? (Mahatma, 21. Mar 1998, 17:35:46):
~#! rn=Wurzel rt=890432038 rg=treffen
~#! tid=890432038
Wenn ich mich recht entsinne, ist Acrimon in Muenchen. 

Mahatma (Wurzel viel Spass mit ihm wuenschend)

-----------------------------------------------------------------------------



Re: Re: muenchen? (Wurzel, 22. Mar 1998, 01:12:36):
~#! rn=Mahatma rt=890498146 rg=treffen
~#! tid=890432038
hm, waer doch mal was... :)
aber mal ernst: das kann ja wohl nicht alles sein. es gibt kuhdoerfer wie
giessen, wo etliche mudder herkommen, da wird doch in einer grossstadt was
los sein? also los, meldet euch...

wurzel will stammtisch (zur not auch im holiday inn)

-----------------------------------------------------------------------------



Stammtisch in Berlin (Janitze, 22. Mar 1998, 01:30:10):
Hi Berliner !!!
Wie ich heut mit erschrecken feststellte, ist das Selig bis auf weiteres
geschlossen :-(((
Deshalb muessen wir wohl wieder auf den Seeblick ausweichen, es sei denn
einer hat noch ne andere Idee. Wie ist das mit kommenden Freitag ? Ich
kann mir gut vorstellen, das die meisten auf der MG-Party in D. sind,
meinereins ist in KL, verschieben wir's um eine Woche ??

Janice

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Gnome, 22. Mar 1998, 19:45:27):
~#! rn=Janitze rt=890526610 rg=treffen
~#! tid=890526610
???
liebe janice :)
1. schade, dass das selig geschlossen hat... :-((( ich wuerde sagen, wir
   bleiben dann erstmal im seeblick, solange wir nix besseres finden...
2. "Wie ist das mit kommenden Freitag ?"
   kommender Freitag ist der 27., also der letzte Fr. im monat.
   der berliner stammtisch findet aber seit seit 2 monaten am 1. Fr. im
   monat statt. :) also keine panik ;-)

gnOme

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Janitze, 22. Mar 1998, 21:16:39):
~#! rn=Gnome rt=890592327 rg=treffen
~#! tid=890526610
oh ups, hab mich wohl in der Woche geirrt, naja, ich werd auch
alt, oder sowas :)

Janice

-----------------------------------------------------------------------------



Muenchener Stammtisch die 2te (Karis, 23. Mar 1998, 12:24:18):
Auf freundlichen Hinweis von Padreic sollte ein etwaiger Muenchener stammtisch
Nicht am 27.3., sondern erst am Do, 2.April stattfinden - soll ja keine
Konkurrenz *huestel* zur Mud-Party werden ...
Also nochmal: Muenchener Mud-Stammtisch, am Donnerstag, dem 2. April 
Im Unionsbraeu, Max-Weber-Platz, gegenueber dem Klinikum Rechts der Isar.
Sacht Bescheid, dort sollte man bestellen - das Bier dort is in 
einschlaegigen Kreisen bekannt ...

Karis

-----------------------------------------------------------------------------



Re^3: muenchen? (Jimdigriz, 23. Mar 1998, 23:14:53):
~#! rn=Wurzel rt=890525556 rg=treffen
~#! tid=890432038
Hoi,

Ausser Acrimon und meiner Wenigkeit gibt
es noch in der naeheren Umgebung:
 Guybrush, Rxtech, vermutlich Cyrax oder so,
 vielleicht noch Arty, Death, Helloween, Bleelumpe ??
Und natuerlich Raffi, wenn sich nichts geaendert hat

-----------------------------------------------------------------------------



Re^4: muenchen? (Jimdigriz, 23. Mar 1998, 23:16:40):
~#! rn=Jimdigriz rt=890691293 rg=treffen
~#! tid=890432038
...

argl, war noch ned fertig, scheiss editor

Also Stammtisch gibts keinen, Cyrax kennt 
keiner, Guy und Rxtech wohnen zu weit weg,
und von den Gueldenlaendern weiss ich nicht
ob sie ueberhaupt noch in Muenchen sind

Aber fuer ein gemuetliches Bierchen
bin ich zumindest immer zu haben. 
(email mit den Daten ging schon raus)

Ciao,
 JdG

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel, 29. Mar 1998, 21:20:17):
Da der zweite Freitag diesen Monat auf Karfreitag faellt, findet der
Stammtisch in Duesseldorf eine Woche eher statt, also:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 3.4. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

Kartoffel

-----------------------------------------------------------------------------



Stammtisch in Erlangen (Marcus, 29. Mar 1998, 21:35:53):
Es ist wieder mal der erste Donnerstag im Monat, also, wie auch im letzten
Monat:

Stammtisch in Erlangen, Donnerstag, 19:00, Pleitegeier. Wenn mehr als 4 Leute
zusagen, kann man ja diesmal einen Tisch reservieren und nicht drauf vertrauen
das hungrige Eisbaeren erstmal nen Tisch leerfressen ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Stammtisch Bielefeld (Yaren,  1. Apr 1998, 00:04:17):
Nochmal zur Erinnerung: der Stammtisch in Bielefeld findet nicht mehr am 1.,
sondern am 2. Mittwoch im Monat statt, also vormerken:

               Mittwoch, 8. April, 19:30 Uhr, Cafe Mint

Ich versuche auch mal, puenktlich zu koemmen ;-)

Yaren. 

-----------------------------------------------------------------------------



Stammtisch in Berlin (Gnome,  1. Apr 1998, 14:20:52):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in zwei
Monden) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

Diesmal haben wir sogar einen Ehrengast aus dem fernen Bonne!

gnOme

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Embe,  1. Apr 1998, 14:31:56):
~#! rn=Embe rt=891433846 rg=treffen
~#! tid=891433252
in 2 monden?
das is ja noch 8 wochen hin.
oder wie z"ahlst du monde?

gruss, eMBee.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Berlin (Gnome,  1. Apr 1998, 14:33:47):
~#! rn=Embe rt=891433916 rg=treffen
~#! tid=891433252
in 2 monden?
es gibt nur einen mond.
oder wie z"ahlst du monde?

gnOme

-----------------------------------------------------------------------------



Re^4: Stammtisch in Berlin (Embe,  1. Apr 1998, 17:04:14):
~#! rn=Gnome rt=891434027 rg=treffen
~#! tid=891433252
naja f"ur mich is ein mond der ablauf von einem vollmond zum naechsten.
das sin etwa 4 wochen, also ungefaehr ein monat.

was glaubst du wo das wort 'monat' denn herkommt?

gruss, martin.

-----------------------------------------------------------------------------



Letzer Aufruf (Karis,  1. Apr 1998, 17:41:32):
******** STAMMTISCH IN MUENCHEN **** STOP ******** STAMMTISCH 
IN MUENCHEN ****** STOP **** STAMMTISCH IN MUENCHEN **** STOP

Unionsbraeu am Max-Weber-Platz, MORGEN, Donnerstag 19.00 Uhr im
Bierkeller.

Um zahlreiches Erscheinen der Muenchener wird gebeten!

Wegbeschreibung gibts auf Anfrage bei

Karis.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Berlin (Yendi,  1. Apr 1998, 19:42:39):
~#! rn=Gnome rt=891434027 rg=treffen
~#! tid=891433252

Grimmboooooorn! Dein Auftritt...



-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Babs,  1. Apr 1998, 20:56:08):
~#! rn=Gnome rt=891433252 rg=treffen
~#! tid=891433252
Wahnsinn! Da kommt echt freiwillig einer aus der Bundeshauptstadt nach Berlin?
*duck*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Gnome,  2. Apr 1998, 00:20:44):
~#! rn=Babs rt=891456968 rg=treffen
~#! tid=891433252
das kaff bonn ist nur noch auf dem papier die bundeshauptstadt.
ausserdem ist es einE. :)

gnOme

-----------------------------------------------------------------------------



Re^3: Stammtisch in Berlin (Janitze,  2. Apr 1998, 12:36:37):
~#! rn=Gnome rt=891469244 rg=treffen
~#! tid=891433252
also da kann ich dir nicht zustimmen, ich fand, Bonn ist eine schoene
Stadt, jedenfalls die Suedstadt mit den vielen Villen, und schmalen
Strassen *schwaerm*

Janice sucht nen Grund, mal wieder nach Bon zu fahren

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  2. Apr 1998, 12:57:40):
Wie jeden Donnerstag findet auch heute wieder der sensationelle Karlsruher
MUD-Stammtisch im kleinen Meierhof (Zaehringer Strasse) statt. Auch
Gaeste von ausserhalb sind immer gern gesehen.
Ach ja, ab 20 Uhr ist meistens jemand da, kann aber auch etwas spaeter
werden.
  Boing

-----------------------------------------------------------------------------



6. InterMUD-StaTi Halle/Saale (Gralkor,  2. Apr 1998, 18:24:53):
Nach einem spontanen Gespraech mit Mieze habe ich beschlossen, dass am
Samstag, den 04.04.1998 um 19.00 Uhr der 6. InterMUD-StaTi in Halle/S. steigt,
Ort des Grauens: Pizzeria "Bella Italia" am Markt in Halle/S.

Ansprechpartner: meine Wenigkeit und Mieze

G.
PS: wer zu spaet kommt, kriegt nix :)

-----------------------------------------------------------------------------



Dortmunder Stammtisch - Walhalla jetzt neu (Hardil,  9. Apr 1998, 14:15:00):

Es begab sich zu naechtlicher Stunde, dass der Dude und der Knude, aeh Knurt
sich auf den Weg vom Programmkino in Richtung Heimat von einem
uebermenschlichen Durst gequaelt nach einer Quelle des labenden Gerstensafts
umschauten.
Und da die Stammkneipe des Dortmunder Stammtisches, die als Fantasylokal
getarnte Apotheke "Walhalla", an neuer Stelle wiedereroeffnet hat, und es eh
keinen White Russian gab, wurde die neue Lokalitaet spontan getestet.
Fazit: sieht ganz nett aus, eine Ecke mit 'nem stammtischgeeigneten Tisch ist
auch da, die Bierpreise sind relativ utopisch (3,50 fuer 0,3), und vom Bahnhof
ists auch nur 300 Meter weiter entfernt als das alte Walhalla.
Ob es noch den beliebten Oliventeller gibt, war noch nciht zu erfahren.
Speisekarten habe ich bislang nicht gesehen.

Ceterum censeo: adieu Chat Noir, hallo Walhalla.
Irgendwelche Einwaende, Aline? :)

-Hardil.

-----------------------------------------------------------------------------



Treffen in Koeln (Orktoeter, 20. Apr 1998, 13:56:17):
Wann : Mi. den 22.4.
Uhrzeit : ab 19:30
Ort : Limerick
Wer : jeder, der Lust hat und an den Tuersteherorks vorbeikommt.
wegbeschreibung notfalls ueber mich.

OrkT.

-----------------------------------------------------------------------------



Tuebinger Stammtisch (Astar, 20. Apr 1998, 15:53:09):
HiHo!

So, die Ferien sind vorbei und ich habe mal wieder Zeit, einen Stammtisch zu
roganisieren. Da ich denke, dass der 1.Mai kein sonderlich guter Termin ist:

Stammtisch Tuebingen
Am Freitag den 8. Mai
Im La Cave

Wegbeschreibung wie immer auf Anfage

Astar

-----------------------------------------------------------------------------



Wegbeschreibung (Hardil, 21. Apr 1998, 11:35:31):

... zum neuen Walhalla (denn der letzte Freitag im Monat ist nahe)

Aline zwang mich dazu: 
Das neue Walhalla befindet sich direkt an der Kreuzung Suedwall/Hohe Strasse,
also direkt am Stadtgarten bzw Theater.
Fuer Autofahrer bedeutet das: einfach solange um den Ring fahren, bis ihr das
Theater seht. Dort parken. Dann schraeg ueber die Kreuzung gehen. Und nicht
ueberfahren lassen.
Fuer Bahnfahrer:
Weg wie zum alten Walhalla (also: aus Bahnhof raus, ueber den Ring, Treppen
hoch, und an der Strassenbahn links abbiegen).
Dann aber den Schienen weiter folgen, bis ihr ein paar Meter weiter an eine
Strassenbahn-T-Kreuzung kommt. Dort rechts abbiegen (auf der linken Seite
kommt als Orientierungshilfe ein Karstadt), den Schienen folgen, nicht von der
Bahn ueberfahren lassen.
Solange den Schienen folgen, bis ihr rechts das Theater seht. Dann wieder
ueber den Ring und auf der linken Seite.

Ich bin aber vorsichtshalber am Freitagabend selber nicht da (falls die
Wegbeschreibung zu schlecht ist), weil ich mit Tryfan die Diamond-Club-Quest
RL nachspielen muss. :)

-Hardil.

-----------------------------------------------------------------------------



RL-Mudder in Dortmund (Teddy, 24. Apr 1998, 00:09:18):
Hiho,

da ich darum gebeten worde, mach ich's jetzt auch endlich.

An diesem Freitag findet in Dortmund der monatiliche Stammtisch statt.
Nachdem wir das neue Walhalla getestet haben und auch Hardil begeistert davon
war und schon ne Wegbeschreibung gepostet hat, haben wir im Walhalle ab 20 Uhr
nen grossen Tisch reserviert.
Wer also 4 Wochen nach der Party schon wieder Mudder sehen kann, moege sich
dort zu genannter Zeit einfinden.

Datum muesste in etwa der 24. sein, wenn nicht auch wurscht, halt heute. ;-)

Teddy

-----------------------------------------------------------------------------



Wander-Treffen :) (Mieze, 24. Apr 1998, 16:55:53):

Hi Muddies,

wer hat Lust und Zeit, am Wochendende vom 30.4. (am Nachmittag) bis 3.5. ein
bisschen den Harz per pedes zu erkunden? Wir hatten das schon laenger geplant,
doch leider sind 4 Leute von 10 verhindert. Die Uebernachtung und gute
Stimmung sind gesichert.

Falls Ihr zur Walpurgisnacht auf dem Brocken kraxeln wollt, mailt mir bitte
oder sprecht mich an (bin ja oft genug da :) ).

Mieze - mutiert von der Katzenkriegerin zur Brockenhexe

-----------------------------------------------------------------------------



Naechster Dresdener Stammtisch (Zino, 24. Apr 1998, 20:25:08):
Moin,

da ich in der letzten Zeit haeufiger darauf angesprochen wurde, kuendige ich
schonmal an: Der naechste Stammtisch ist wie gehabt am 2. Donnerstag des
Monats Mai (muesste der 14.5. sein) um 21:00 Uhr in der Wu11. Die
Einladungsmail schicke ich in ca. einer Woche rum, wenn ich mal wieder selber
im MG bin.
Mahatma

-----------------------------------------------------------------------------



stammtisch in B (Gnome, 28. Apr 1998, 19:12:46):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in zwei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

Diesmal haben wir aber keinen Ehrengast aus dem fernen Bonne! :-(

gnOme


-----------------------------------------------------------------------------



Re: stammtisch in B (Janitze, 28. Apr 1998, 20:22:40):
~#! rn=Gnome rt=893783566 rg=treffen
~#! tid=893783566
iche kann leider nich kommen, weil zu der zeit bin ich in Halle, naja, beim
naechsten wieder :)

viel Spass wuenscht Janice

-----------------------------------------------------------------------------



Re: Re: stammtisch in B (Gralkor, 29. Apr 1998, 08:25:12):
~#! rn=Janitze rt=893787760 rg=treffen
~#! tid=893783566
Geil! an dem Tag bin ich im Harz.
Glueck gehabt. 
G.,atmet auf
PS: :)

-----------------------------------------------------------------------------



Spontanstammtisch Dortmund (Teddy, 30. Apr 1998, 21:24:45):
Hiho,

wir haben gerade beschlossen, das wir am 1. Mai einen Spontanstammtisch
machen.

Also Freitag, 1.Mai 1998, 19 Uhr im NEUEN Walhalla.

Tschau,

Teddy.

-----------------------------------------------------------------------------



Re: Spontanstammtisch Dortmund (Knurt, 30. Apr 1998, 23:34:17):
~#! rn=Teddy rt=893964285 rg=treffen
~#! tid=893964285
Na im ALTEN Walhalla geht ja nun auch schlecht, was?

Knurt

-----------------------------------------------------------------------------



Re: Re: Spontanstammtisch Dortmund (Teddy,  1. Mai 1998, 00:08:04):
~#! rn=Knurt rt=893972057 rg=treffen
~#! tid=893964285
Es gibt Leute, die beim letzten Mal vor dem alten Walhalla standen und nicht
hinein kamen ;)

Teddy

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  2. Mai 1998, 22:26:53):

Freitag ist es wieder soweit

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 8.5. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

Kartoffel

-----------------------------------------------------------------------------



Re: Stammtisch in Duesseldorf (Lug,  2. Mai 1998, 22:37:02):
~#! rn=Kartoffel rt=894140813 rg=treffen
~#! tid=894140813

Hm,

mal ueberlegen. Wie kommt man da hin, wenn man hinwill?

Lug

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Duesseldorf (Kartoffel,  2. Mai 1998, 22:40:35):
~#! rn=Lug rt=894141422 rg=treffen
~#! tid=894140813
Lies einfach den letzten Satz meines Artikels nochmal und dann gaaaanz scharf
nachdenken :)

Kartoffel

-----------------------------------------------------------------------------



Re^3: Stammtisch in Duesseldorf (Lug,  2. Mai 1998, 22:41:13):
~#! rn=Kartoffel rt=894141635 rg=treffen
~#! tid=894140813

Aber Kartoffel,

seit wann halte ICH mich an sowas?

Echt Du solltest mich kennen, denn ich bin Kartoffel!
Lug

-----------------------------------------------------------------------------



Re^4: Stammtisch in Duesseldorf (Kartoffel,  2. Mai 1998, 22:42:39):
~#! rn=Lug rt=894141673 rg=treffen
~#! tid=894140813

Warum weisst Du dann nicht wie Du hinkommst?

Kartoffel

-----------------------------------------------------------------------------



Stammtisch Tuebingen (Astar,  4. Mai 1998, 18:20:34):
HiHo!

Ich hatte es ja schonmal letzte Woche angekuendigt, aber jetzt kommt nochmal
die endgueltige Version:

Am Freitag den 8. Mai ab 20 Uhr
Im La Cave in Tuebingen.

Eine Wegbeschreibung gibt es auf Anfrage.

Astar

PS: Achtung wir sind _nicht_ in der Marquartei!

-----------------------------------------------------------------------------



Stammtisch in Marburg!!! (Srabi,  5. Mai 1998, 09:58:30):
Ich plane mal wieder einen Stammtisch in Marburg. Der vorgesehene Termin ist
der 23. Mai 1998 im Knubbelcenter in Marburg.

An alle die Lust und Bock haben, meldet Euch per Mail bei mir bis spaetestens
Ende naechster Woche, damit ich bestellen kann.

Dieser Aufruf geht natuerlich auch an unsere Magier.

Srabi, der Stammtischplaner

-----------------------------------------------------------------------------



ER -> H2O (Highlander,  6. Mai 1998, 14:36:52):
Uebersetzt: Der Erlanger Stammtisch faellt diesen Monat ins Wasser.
Oder auch: Der Pleitegeier bleibt einsam, wir treffen us am Fr um
1830 oder so in H'Aurach im Schwimmbad.
   HrT

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg!!! (Lug,  7. Mai 1998, 01:23:40):
~#! rn=Srabi rt=894355110 rg=treffen
~#! tid=894355110
Stati in MR? Seufz und wieder muss ich mich nach Hessen bewegen.

Frust
Lug

-----------------------------------------------------------------------------



Party zweiter Teil (Morgoth,  7. Mai 1998, 13:15:27):
Hi Leute,
wieso zweiter Teil?? Na, der erste war bei Knurt und der zweite is bei mir.
Ganz einfach. Stattfinden soll das Ding vom 20.5. (mein Geburtsgtag) bis zum
24.5. (Sonntag).
Fuer Getraenke(Bier) ist erstmal gesorgt, wenn genuegend Leute laenger bleiben
muessen wir halt am Freitag noch mal los.
Ort des Ganzen ist Unna (direkt oestlich von Dortmund). 
Jeder der kommen will, ist herzlich eingeladen. Bitte meldet Euch fix per Mail
an, damit ich ein wenig kalkulieren kann. Einige Leute MUESSEN auf jeden Fall
da sein...ihr wisst schon...ja, genau DU. ;-))
Hm. Voellig wirr? Wundert Euch nicht, bin voll im Stress und Chef kann jede
Sekunde reinplatzen. Mehr Infos gibts per Re-Mail.

Morgoth (Sven)

-----------------------------------------------------------------------------



is there anybody out there? (Gnome,  7. Mai 1998, 22:12:59):
hi,
da ich die naechste woche von Mo. bis Fr. eher unfreiwillig in braunschweig
verweilen muss, hab ich vor, wenigstens den einen oder andern abend in
mudder-gesellschaft zu verbringen :)
nun meine frage: gibt es in braunschweig mudder? wenn ja, habt ihr nen
stammtisch, der _zufaellig_ in dieser woche stattfindet? :)))

bitte per mail an mich.

gnOme

-----------------------------------------------------------------------------



Re: is there anybody out there? (Teddy,  7. Mai 1998, 22:20:56):
~#! rn=Gnome rt=894571979 rg=treffen
~#! tid=894571979
Also ich bin Freitag bis Sonntag in der Gegend und wollte eh sowas am Freitag
machen, falls du dann noch da bist, kann man das gerne koordinieren.

Teddy.
P.S. Beileid fuer den Aufenthalt in BS ;)

-----------------------------------------------------------------------------



Stammtisch in Aachen (Succamore,  8. Mai 1998, 17:11:08):
Hallo allerseits,

da die Anzahl der Aachener Mudder immer groesser wird, wird es auch so langsam
Zeit fuer einen eigenen Stammtisch.

Wir laden deshalb zum Gruendungsstammtisch ein.


Wann?  1.6.98 (Pfingstmontag)
Wo?    Labyrinth (am Ponttor)
um     20 Uhr


Also, wenn ihr noch nichts geplant habt, nichts wie hin nach Aachen!
Eine Wegbeschreibung gibt es auf Anfrage. (Ponttor kennt aber auch jeder
Aachener.)


Prost, wa

         Succa*

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Morgoth,  9. Mai 1998, 15:04:51):
~#! rn=Succamore rt=894640268 rg=treffen
~#! tid=894640268
Klaro, da hab ich noch nix vor, obwohl mir der Sonntag lieber waere. Wie
stehts denn mit Uebernachtungsmoeglichkeiten in der Ecke??
M*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Aachen (Wargon, 11. Mai 1998, 12:30:46):
~#! rn=Morgoth rt=894719091 rg=treffen
~#! tid=894640268
Also vor acht Jahren konnte man im Ponttor uebernachten (wenn ich mich da
jetzt nicht vertue). Allerdings sollte man sich da vorher mit den Aachener
Pfadfindern absprechen :)
  Wargon

-----------------------------------------------------------------------------



stammtisch in stuttgart? (Anakin, 11. Mai 1998, 20:11:25):
Hi,

ich bin waehrend der CUG 98 vom 15ten bis 19ten Juni in Stuttgart,
da die Vortraege nicht bis nachtens gehen frage ich mich
ob ein Stammtisch in Stuttgart exisitiert und ob einer
stattfindet.

Mail oder MPA.

Anakin.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Aachen (Ronda, 13. Mai 1998, 20:47:41):
~#! rn=Wargon rt=894882646 rg=treffen
~#! tid=894640268
Hmm, Pfadfinder nennst Du die Knaben im Ponttor? Letztes Mal haette ich gern
vorsichtshalber nen BSS dabeigehabt... moechtig unheimlich, Deine "Pfadis" ;)
Also: Ponttor duerfte nicht ganz so gemuetlich sein.
Aber irgendwas zum Pennen wird sich sicher finden...

Ronda *Mal sehen, ob ich Zeit hab...*

-----------------------------------------------------------------------------



Bergstammtisch 1998 in Erlangen! (Marcus, 13. Mai 1998, 22:01:03):
Hi folks!

Wie letztes Jahr auch werden wir dieses Jahr unseren Juni Stammtisch auf
den Berg verlegen. Wir werden also entweder am Donnerstag dem 4.6 oder
am Freitag dem 5.6 auf den Berg ziehen. Falls jemand von ausserhalb kommen
will,
bitte moeglichst bald uns bzw. mir oder so mailen, damit mir uns zwischen
Dionnerstag und Freitag entscheiden koennen. Uebernahctungsmoeglichkeiten
gibts
sicherlich ;)
Und diesmal haengen wir Key an die Kette, falls er denn kommt :)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^4: Stammtisch in Aachen (Wargon, 14. Mai 1998, 10:26:32):
~#! rn=Ronda rt=895085261 rg=treffen
~#! tid=894640268
Wie gesagt, das ist acht Jahre her... Damals war im Ponttor ein Matrazenlager,
da konnte man recht gemuetlich naechtigen. :)
  Wargon

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Lortha, 14. Mai 1998, 19:54:19):
~#! rn=Succamore rt=894640268 rg=treffen
~#! tid=894640268
Ich komme auch!
Ich hoffe es gibt viele Leute die mir nett gesonnen sind, und mir helfen 
koenen. 
Bis dann Lortha

-----------------------------------------------------------------------------



Re: Re: is there anybody out there? (Gwynwaiter, 14. Mai 1998, 20:23:33):
~#! rn=Teddy rt=894572456 rg=treffen
~#! tid=894571979
teddy schrieb:
P.S. Beileid fuer der Aufenthalt in BS ;)

Dazu kann ich nur sagen: Hier ists ja ganz schoen, aber sobald ich 20km nach
rechts oder links oder oben (S) gehe, sehne ich mich nach Braunschweig
zurueck...

Gwyn*, Wahlwuerttemberger, Nichtschwabe und Exil-Braunschweiger
P.S.: Zu einem Stammtisch in BS wuerde ich evtl. auch anreisen!

-----------------------------------------------------------------------------



Re: Bergstammtisch 1998 in Erlangen! (Key, 15. Mai 1998, 15:56:41):
~#! rn=Marcus rt=895089663 rg=treffen
~#! tid=895089663
Hmm klingt interessant ;)
Ich verspreche auch mich zu benehmen :)

Key

-----------------------------------------------------------------------------



kleiner vorstammtisch ?? (Janitze, 17. Mai 1998, 02:14:29):
Hi Berliner !!
Wie der Zufall so will, ist Hadra naechste Woche (Mo-Mi) in Berlin und da
koennten wir ja eigentlich ein kleines Treffen machen. Eigentlich wollte
ich es am Mi machen, aber da Hadras Flieger schon abends fliegt, geht das
nich, deshalb wuerd ich mal den Di, 20:00 im Seeblick vorschlagen. Wer 
denkt, Mo waer doch viel besser, dann solls er's recht schnell sagen, viel
Zeit iss leider nich mehr ... :(

Janice

-----------------------------------------------------------------------------



Re: kleiner vorstammtisch ?? (Janitze, 17. Mai 1998, 02:16:43):
~#! rn=Janitze rt=895364069 rg=treffen
~#! tid=895364069
ich verbesser mich gleich mal, nachdem ein einzelner Berliner Protest
einlegte, nun dann doch den Mo, rest wie gehabt :)

Janice, leicht verwirrt und ueberhaupt

-----------------------------------------------------------------------------



Re: kleiner vorstammtisch ?? (Wur, 17. Mai 1998, 21:08:10):
~#! rn=Janitze rt=895364069 rg=treffen
~#! tid=895364069
Montags oder gar nicht. Jedenfalls bei mir.

Wur

-----------------------------------------------------------------------------



Dortmund: 1. Erinnerung (Teddy, 17. Mai 1998, 23:23:36):
Sehr geehrte Damen und Herren,

vorsorglich moechten wir Sie an den monatlichen MG-Stammtisch in Dortmund Ende
des Monats erinnern.
Zeit: ab 20.00 Uhr
Ort das NEUE Walhalle (gegenueber dem Theater)
Datum: Freitag, 29. Mai 1998
Wir moechten Sie herzlichst nochmal um Ihr rechtzeitig und vollzaehliges
Erscheinen bitten.
Bei weiteren Fragen wenden Sie sich bitte an einen Ihrer ueblichen
Ansprechpartner oder an den Unterzeichner.

Mit freundlichem Gruss,

Teddy.

-----------------------------------------------------------------------------



Stammtisch in Braunschweig (Jasonrigid, 18. Mai 1998, 11:24:01):
Hi Leute,

Da Qitess dich schon seit Ewigkeiten nicht mehr ruehrt, proklamiere ich jetzt
spontan den naechsten Stammtisch in BS fuer :

Freitag, den 22.5.1998, 20.00 Uhr im Viertel Nach.

Wer kommen moechte, bitte mail an mich :

JasonRigid@mg.mud.de oder c.winter@tu-bs.de

Wer immer kommem mag, ist eingeladen, bisher sind wir vier Leute.


Jason Rigid

-----------------------------------------------------------------------------



Re: Stammtisch in Braunschweig (Hardil, 18. Mai 1998, 13:28:52):
~#! rn=Jasonrigid rt=895483441 rg=treffen
~#! tid=895483441
Stammtisch in Muenchen?

In der ersten Juni-Woche ist ja Deutsches Turnfest in Muenchen.
Ich denke mal (naja, zumindest hoffe ich es), dass ich nciht de reinzige
Mudder bin, der sich dort sportlich betaetigen wird.
Bekommen die Muenchener was hin, zum Beispiel einen Stammtisch?

-Hardil. Ist da.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Braunschweig (Jimdigriz, 18. Mai 1998, 15:28:29):
~#! rn=Hardil rt=895490932 rg=treffen
~#! tid=895483441
Hoi,

schon moeglich, Reaper hat ja da einigermassen
erfolgreich was auf die Beine gestellt beim
letzten mal.

Lass mal rueberwachsne, wann genau Du zur
Verfuegung stehen wuerdest.
Di 2.6. waer dann mal mein Vorschlag.

Ciao,
 JdG

-----------------------------------------------------------------------------



Re^3: Stammtisch in Braunschweig (Gnome, 18. Mai 1998, 19:23:49):
~#! rn=Jimdigriz rt=895498109 rg=treffen
~#! tid=895483441
hmpf. ganz toll. nu bin ich nicht mehr in BS, und nu gibbet nen
stammtisch...
oder sollte mir das jetzt zu denken geben? ;-)))

gnOme

-----------------------------------------------------------------------------



Re: Stammtisch in Braunschweig (Teddy, 18. Mai 1998, 21:24:17):
~#! rn=Jasonrigid rt=895483441 rg=treffen
~#! tid=895483441
Praktisch, ich hatte schliesslich gerade angefangen die ersten Leute
anzusprechen fuer den tag.
Also ich bin da.

Teddy

-----------------------------------------------------------------------------



Re: kleiner vorstammtisch ?? (Cakey, 19. Mai 1998, 14:07:51):
~#! rn=Janitze rt=895364069 rg=treffen
~#! tid=895364069

Argl, koenn wa den nich doch am Dienstag machen, ich komm am Montag erst aus
Bamberg zurueck und hab keine Ahnung, ob ichs vor Mitternacht noch schaffe.

Cakey, haette gerne am Dienstag den Extra-Stammtisch

-----------------------------------------------------------------------------



Re: Re: kleiner vorstammtisch ?? (Gloinson, 19. Mai 1998, 14:20:55):
~#! rn=Cakey rt=895579671 rg=treffen
~#! tid=895364069
Hm, Birdy hats mir gestern noch gefluestert, aber da ich keine Ahnung habe,
wo der Seeblick liegt, ist nicht, weil war nicht... naechstes Mal bitte eine
etwas langfristigere Ankuendigung, danke :)

Gloin

-----------------------------------------------------------------------------



Re^3: kleiner vorstammtisch ?? (Stopdenbus, 19. Mai 1998, 16:40:26):
~#! rn=Gloinson rt=895580455 rg=treffen
~#! tid=895364069
nuja, das Treffen war nun schon gestern, also wirds nix mit heute :)
Und fuer Gloin sach ich schon mal, am 5.6. ist der naechste regulaere Stamm-
tisch im Seeblick (Selig hat leider immer noch zu), Rykestr. Prenzlauer Berg,
naehe S-Bahn Prenlauer Allee, bzw. U-Bahn Eberswalder Str (mit der U2 vom
Alex Richtung Vinetastr.), Rest musste suchen :)

Jani

-----------------------------------------------------------------------------



Stammtisch in Darmstadt (Anacrion, 19. Mai 1998, 21:48:40):

Aufgrund des grossen Interesses an einem Stammtisch in Suedhessen haben Ark
und ich soeben beschlossen, am 12.06. wieder mal einen zu veranstalten.

Wie immer ab 8.00 im Hotzenplotz .... bis die Tage :)

Anac*

P.S. Wegbeschreibungen aquf Anfrage


-----------------------------------------------------------------------------



Stammtisch in Marburg (Srabi, 20. Mai 1998, 12:53:43):
Nun ja, da ich von den meisten nichts gehoert habe, faellt der Stammtisch in
Marburg am 23 Mai aus. Ich finde es zwar schade, aber falls Interesse bestehr,
lasst es mich wissen und ich plane einen neuen.

Srabi

-----------------------------------------------------------------------------



Re: Stammtisch in Darmstadt (Wurzel, 24. Mai 1998, 13:32:03):
~#! rn=Anacrion rt=895607320 rg=treffen
~#! tid=895607320
wenn es nicht stoert, dass ich sozusagen in "arbeitskleidung" komme, bin ich
dabei :)

wurzel

-----------------------------------------------------------------------------



Berlin Kontakt? (Gwynwaiter, 26. Mai 1998, 02:56:50):
Hi BerlinerInnen,

Ich bin wegen der Internet World dieser Tage (Di-Do) in Berlin (Messe).
Wenn von Euch jemand Interesse hat, mich zu treffen oder zu beherbergen, just
call me: 0172-7430913.

Vielleicht wirds ja was...

Gruss,
Gwyn* / Wolfgang G. Wettach

-----------------------------------------------------------------------------



Vorstammtisch in Berlin ? (Brandir, 27. Mai 1998, 22:43:45):
Und wieder mal der Vorschlag fuer einen zusaetzlichen Stammtisch in Berlin.
Gorog wird mich naechste Woche besuchen kommen, und er wuerde gern doch auch
mal  ein paar von den Berlinern kennenlernen :)
(Ich wuerde es allerdings auch ganz gerne mal wieder schaffen, zu einem
Stammtisch zu kommen)
Also der fraglicher Termin waer dann wohl Mittwoch Abend. Ich weiss, es ist
nur zwei Tage vor dem normalen Stammtisch, aber wer Lust hat zwei verrueckte
Mudder zu Treffen, kann ja mal Bescheid sagen.

Ich wuerde generell auch gerne mal wissen, ob das mit den Freitagsstammtischen
jetzt Dauerzustand bleibt, da mir das im Allgemeinen gar nicht passt. Ich
wuerde ja auch mal einen zweiwoechigen Stammtisch vorschlagen, man muss ja
nicht immer kommen, aber so ist die Chance groesser, das man mal Zeit hat.

Oki, bis denn (und hoffentlich bis Mittwoch) :-)
Brandir - will trotz wenig Zeit doch mal wieder ein paar Mudder live sehen.

-----------------------------------------------------------------------------



Re: Vorstammtisch in Berlin ? (Stopdenbus, 27. Mai 1998, 22:59:47):
~#! rn=Brandir rt=896301825 rg=treffen
~#! tid=896301825
iche komm wohl zum vorstammtisch, es sei denn, ich muss nachts arbeiten,
fr bleibt erstmal, wir haben den ja erst dieses jahr von mi auf fr verlegt, 
weil viele am mi nich konnten, so schaut dat aus :-)

Janice

-----------------------------------------------------------------------------



Re: Vorstammtisch in Berlin ? (Gorog, 28. Mai 1998, 10:23:10):
~#! rn=Brandir rt=896301825 rg=treffen
~#! tid=896301825
ICH BIN NICHT VERRUECKT!!!!!!!

Gorog voll normal.

-----------------------------------------------------------------------------



Re: Re: Vorstammtisch in Berlin ? (Anakin, 28. Mai 1998, 11:27:50):
~#! rn=Gorog rt=896343790 rg=treffen
~#! tid=896301825
In den Anfangszeiten des Stammtische in Berlin war mal ne
zweiwoechige Phase (wurde von verschiedenen gefordert) das ist
dann aber doch etwas zu viel gewesen es saasen immer nur
ein paar Hanseln da.

Anakin. (Was schert es mich, ich mudde nicht mehr)

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 28. Mai 1998, 21:26:00):

Nur nochmal als kleine Erinnerung... am Pfingstmontag ist in Aachen Stammtisch
! :-)

Und zwar ab 20 Uhr im Labyrinth, genug Platz sollte reserviert sein.

Falls jemand noch ne Wegbeschreibung oder sonst irgendwas braucht --> kurze
Mail an Neb oder mich :)

Also bis denn,
           --> Darkwing

-----------------------------------------------------------------------------



Re: Vorstammtisch in Berlin ? (Cakey, 28. Mai 1998, 22:09:41):
~#! rn=Brandir rt=896301825 rg=treffen
~#! tid=896301825

Mittwoch hoert sich jut an, mittlerweile passt mir dit ooch bessa als Freitag.
Also bis denn mal 

Cakey freut sich schon uff den Stammtisch mit den Verrueckten

-----------------------------------------------------------------------------



Re: Re: Vorstammtisch in Berlin ? (Pake, 30. Mai 1998, 04:07:10):
~#! rn=Cakey rt=896386181 rg=treffen
~#! tid=896301825
*grusel*
bitte hoere auf zu berlinern (ich habe schon in der uni genug zu leiden, wa
ey?)

pake (woher kommt bloss dieses geruecht, dass alle berlinern diesen dialekt
drauf haben...? ;-)

--> schmarrn

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Darmstadt (Zephyr,  1. Jun 1998, 23:33:32):
~#! rn=Wurzel rt=896009523 rg=treffen
~#! tid=895607320

Spricht irgendwas dagegen, den Stammtisch in Darmstadt um ne
Woche nach hinten zu schieben? Gibt sonst leicht Probleme, was
Tryfans und meine Anwesenheit angeht *seufz*

      Zephyr

-----------------------------------------------------------------------------



Stammtisch in Osnabrueck! (Anatol,  2. Jun 1998, 04:11:34):

Ok, ihr habt es nicht anders gewollt! Immer nur herummeckern, jetzt 
heisst es: Aufraffen und vorbeischauen!

                  W o c h e n e n d - S t a m m t i s c h 
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                  in

                         O S N A B R U E C K !
                        ~~~~~~~~~~~~~~~~~~~~~~~

Und zwar am 20. Juni, Beginn wie immer Abends, was weiss ich, von mir aus
gegen 19.00 Uhr :) Damit man wenigstens ein *bisschen* Tageslicht hat. :)

Bei schoenem Wetter koennen wir grillen (gemuetlicher Hinterhof, ehrlich),
ansonsten gleich die Schlechtwetteralternative waehlen: Gruener Jaeger!

Da wir nur sehr begrenzte Uebernachtungsmoeglichkeiten fuer Fernanreisen
haben, meldet euch bitte an, Platz haben wir fuer 8 Schlaefer, wenn es
mehr werden, wird es eng... also seid brav und schickt _Illian_ eine Mail,
der ist auch *delegier* fuer Wegbeschreibungen zustaendig :). 

Wir sehn uns! *aufDichdeut*

Anatol


-----------------------------------------------------------------------------



Re^3: Stammtisch in Darmstadt (Ark,  2. Jun 1998, 09:00:41):
~#! rn=Zephyr rt=896736812 rg=treffen
~#! tid=895607320
*Seufz* Na gut, wenn von anderer Stelle kein Einwand kommt???
Also 19.06. um 19.00 Uhr oder so, ne, nachm Training um 20.00 Uhr?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Regelmaessiger Stammtisch in Aachen (Neb,  2. Jun 1998, 15:04:20):
Da unser gestriger erster Stammtisch nach einhelliger Meinung ein voller
Erfolg war, haben wir beschlossen, den Aachener Stammtisch zu einer
Dauereinrichtung werden zu lassen.
Ab  Sonntag, den 7.6.98 (also schon diesen Sonntag) wollen wir uns
regelmaessig jeden ersten Sonntag im Monat so gegen 20 Uhr in der Aachener
Kneipe "Labyrinth" in der Pontstrasse treffen, jeder Morgengrauenspieler ist
dazu immer herzlich eingeladen.

Wegbeschreibungen erhaelt man immer zumindest von Darkwing, Succamore und
meiner Wenigkeit.

Also, man sieht sich hoffentlich ;)

In Vertretung : Neb.

-----------------------------------------------------------------------------



Juni-Stammtisch in Dresden (Mahatma,  2. Jun 1998, 17:32:53):
Am Donnerstag, den 11.6.98, ist wieder Stammtisch in Dresden, und zwar ab
21:00 Uhr in der Wu11. Wer nicht weiss, wo das ist, Mail an mich.

Mahatma

-----------------------------------------------------------------------------



Re: Regelmaessiger Stammtisch in Aachen (Morgoth,  2. Jun 1998, 20:40:24):
~#! rn=Neb rt=896792660 rg=treffen
~#! tid=896792660
Sonntag ist ein Scheisstag. Montags muessen alle wieder arbeiten und all
denen, die auch mal von weiter her kommen moechten, wird somit die Tuer vor
die Nase geknallt. Versucht doch den Stammtisch auf Samstags oder so zu
verlegen.
M*

-----------------------------------------------------------------------------



Re: Re: Regelmaessiger Stammtisch in Aachen (Neb,  2. Jun 1998, 20:59:35):
~#! rn=Morgoth rt=896812824 rg=treffen
~#! tid=896792660
Okay, das sehe ich ein, ich werds mal ansprechen am jetzigen Sonntag auf dem
naechsten, vielleicht waere ja schon damit gedient, den Stammtisch eher als 20
uhr zu machen, sonst an einem Wochenendtag, schauen wir mal, ich frag auf
jeden Fall mal rum ;)

Neb.

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  2. Jun 1998, 22:04:41):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in drei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

Kommet diesmal zahlreich! Des letzten Males haben wir kaum eine Hand
voll bekommen... :-(

gnOme

-----------------------------------------------------------------------------



Re: Stammtisch in Osnabrueck! (Lug,  2. Jun 1998, 22:51:56):
~#! rn=Anatol rt=896753494 rg=treffen
~#! tid=896753494

Cooool,

endlich mal was in Niederbayern, Anatol. Und nicht in Hinterbayern ;)
OS liegt bekanntlich suedlich der Dammer Berge ;)
FidKG
Lug

-----------------------------------------------------------------------------



Berg-Stammtisch am Freitag (Jimdigriz,  3. Jun 1998, 18:27:40):
Hoi Erlanger,

ich ueberlege am Freitag zum Berg-Stammtosch zu kommen,
wenns keine Umstaende macht und evtl auch ein
Uebernachtungsplaetzchen da waere.

Bitte teilt mir also mit, am besten per email (dl@leo.org)
ob das theoretisch klappt, bis wann Ihr verbindlich 
bescheid wissen muesst und wo ich wann hinkommen sollte
(Wegbeschreibung) 

Vielen Dank & Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Osnabrueck! (Trancefear,  4. Jun 1998, 09:38:06):
~#! rn=Lug rt=896820716 rg=treffen
~#! tid=896753494
Fuer euch Ostfriesen sind wir wohl alle Bayern, was???

tf

-----------------------------------------------------------------------------



Re^3: Stammtisch in Osnabrueck! (Teddy,  4. Jun 1998, 15:24:27):
~#! rn=Trancefear rt=896945886 rg=treffen
~#! tid=896753494
Osnabrueck? ach das liegt doch in Sueddaenemark.

Teddy

-----------------------------------------------------------------------------



Re^3: Stammtisch in Osnabrueck! (Lug,  5. Jun 1998, 03:57:37):
~#! rn=Trancefear rt=896945886 rg=treffen
~#! tid=896753494
 BANAUSE!

Das Land Oldenburg ist und bleibt Freistaat! Die Zwangseingemeindung nach
Niedersachsen durch die Tommys ist ungueltig ;)

Lug

-----------------------------------------------------------------------------



Re: Re: Vorstammtisch in Berlin ? (Mysterious,  5. Jun 1998, 16:28:14):
~#! rn=Cakey rt=896386181 rg=treffen
~#! tid=896301825
konni chi wa!

super.. mir gefaellt naemlich mittwoch auch bessa als freitag :)

aber das koennen wir ja heute abend nochmal besprechen...

duiiiiiiii

         dA mYstA

-----------------------------------------------------------------------------



Stammtisch in Halle (Gralkor,  5. Jun 1998, 19:17:48):
Hi Leuts:
Am Freitag, den 19.06.1998 findet um 20.00 Uhr im Bella Italia am Markt der
(IMHO achte oder so) InterMUD-Stammtisch Halle/S. statt

G. der Informator

-----------------------------------------------------------------------------



Treffen in OS (Telya,  6. Jun 1998, 23:55:12):
1.) Politisch gehoert Oldenburg zu Bayern und OS nicht.
2.)Weganfragen an mich und nicht an Illian, der ist zu selten da.
3.) Ich hoffe auf rege Besucherteilnahme.

4.) Telya

-----------------------------------------------------------------------------



Re: Treffen in OS (Lug,  7. Jun 1998, 01:31:11):
~#! rn=Telya rt=897170112 rg=treffen
~#! tid=897170112

Da hat sie einer nicht alle.
Oldenburg ist eigener Staat mit Zwangseingemeindung nach Niedersachsen.
Osnabrueck ist nix und im Regierungsbezirk Weser-Ems, der Bezirkshauptstadt
(Oldenburg) untergeordnet. Ansonsten ist Osnabrueck katholisch und da fahren
sie Kinder tot, was in Niedersachse als Handicap gesehen wird.

Du BAYER!
Lug

-----------------------------------------------------------------------------



Re^4: Stammtisch in Darmstadt (Wurzel,  7. Jun 1998, 14:40:24):
~#! rn=Ark rt=896770841 rg=treffen
~#! tid=895607320
kein einwand. geht grad so...

wurzel (nur zeit fuer einzeiler)

-----------------------------------------------------------------------------



Grillstammtisch (Kartoffel,  7. Jun 1998, 21:57:58):

Halloele zusammen!

Am Freitag ist wieder Stammtischzeit in Duesseldorf!

Diesmal wollen wir allerdings grillen, das heisst, Stammtisch _nicht_ im
Tigges, sondern im Volksgarten (Wegbeschreibungen gibts bei mir sobald Sloane
sie mir gegebene hat ;) ).
Getraenke und Grillgut bringt bitte jeder selber mit, fuer den Rest wird
gesorgt.

Bis Freitag,
'Toffel

-----------------------------------------------------------------------------



Re^5: Stammtisch in Darmstadt (Anacrion,  8. Jun 1998, 01:02:15):
~#! rn=Wurzel rt=897223224 rg=treffen
~#! tid=895607320

Also von mir aus geht es auch :)

Anac* - auch einzeilend

-----------------------------------------------------------------------------



Re^6: Stammtisch in Darmstadt (Ark,  8. Jun 1998, 13:08:11):
~#! rn=Anacrion rt=897260535 rg=treffen
~#! tid=895607320
Na also, geht doch :-)))


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Stammtisch in Darmstadt (Zephyr,  8. Jun 1998, 14:04:17):
~#! rn=Ark rt=897304091 rg=treffen
~#! tid=895607320
wunderbar :)  -  Zephyr, auch einzeilig

-----------------------------------------------------------------------------



Re: Re: Treffen in OS (Acrimon,  8. Jun 1998, 20:16:10):
~#! rn=Lug rt=897175871 rg=treffen
~#! tid=897170112
Ich glaube, da verwechselst du was.
Kinder-tot-Fahren halte ich fuer extrem unchristlich.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Treffen in OS (Alboin,  8. Jun 1998, 20:20:46):
~#! rn=Acrimon rt=897329770 rg=treffen
~#! tid=897170112
man kann sich auch darueber streiten ob kathlosch christlich ist 
(nein, ich will hier keine neue Kirchen- oder Religionsdiskussion anfangen)

Alboin
P.S. die Betonung liegt auf 'man', dh. ich gebe mit obengesagtem nicht meine
Meinung wieder.

-----------------------------------------------------------------------------



Re^3: Treffen in OS (Yendi,  8. Jun 1998, 20:42:52):
~#! rn=Acrimon rt=897329770 rg=treffen
~#! tid=897170112
Also, ich kann mir Situationen vorstellen, wo sich das nicht ausschliesst...

Christian


-----------------------------------------------------------------------------



Jubelt zuhauf ... (Ark,  8. Jun 1998, 21:03:21):
Es ist soweit, hoeret, hoeret, ihr zahlreichen Anhaenger unserer Galaxy!

WIR haben es geschafft, am Sonntag, den 14. Juni wird unsere glorreiche
Mannschaft, die Frankfurt Galaxy (das nur fuer die armen Unwissenden)
die naerrischen Underdogs aus Duesseldorf (sie nennen sich Rhein Fire,
und brennen werden sie in der Tat!) vernichten.
Um dies schon im Vorfeld gebuehrend zu feiern, werden TryFAN und
C4fuerdieGalaxy so etwa gegen 13.00-14.00 Uhr gen Frankfurt jetten,
um uns mit Grilli-grilli bei Laune zu halten, gehoert, ihr beiden?
Danach gibt es nur noch folgendes zu hoeren:

Ark greift Rhein Fire mit einem ohrenbetaeubenden Pfiff an.
Ark trifft Rhein Fire sehr hart.
Mario Bailey faengt einen Pass des 'Daemons' Damon Huard.
Mario Bailey vernichtet Rhein Fire.
Rhein Fire faellt roechelnd zu Boden und ergibt sich.
Ein gellendes Pfeifkonzert erhebt sich, doch wird sofort durch
frenetischen Jubel von 40000 kreischenden Fans abgeloest.

Oder so ...

Ich glaub' ich raste langsam aus .^P  *haltet mich*
Tryfan, ich glaub', ich stell einen Galaxy-Merchandiser in Dein Stadion :-)

Wir sehen uns Sonntags, lass die WM fuer nen Tag ruhen.



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



ACHTUNG AENDERUNG (Kartoffel,  8. Jun 1998, 23:16:47):

Hoi,

da die Wetteraussichten nicht so rosig sind fuer Freitag grillen wir NICHT im
Volksgarten, sondern an der Uni, genauergesagt:
Am hinteren Parkdeck an den Naturwissenschaften (Botanischer Garten),
wie immer um 20:00 Uhr.
Getraenke und Grillzeug wie gesagt bitte selber mitbringen.

Kartoffel

P.S.: Wegbeschreibungen gibts wie immer bei mir

-----------------------------------------------------------------------------



Re^3: Treffen in OS (Lug,  9. Jun 1998, 02:21:08):
~#! rn=Acrimon rt=897329770 rg=treffen
~#! tid=897170112

Huhu, hihi, waelz!

DU bist eben aus Bayern, Acri, Du verstehst die Zusammenhaenge im Norden nicht
;)

Grins
Lug

-----------------------------------------------------------------------------



Grillen (Bluemel,  9. Jun 1998, 11:27:06):
Hurra, endlich wird Kartoffel gegrillt !
--> Schmarrn

-----------------------------------------------------------------------------



Re: Grillen (Morgoth,  9. Jun 1998, 11:34:30):
~#! rn=Bluemel rt=897384426 rg=treffen
~#! tid=897384426
Klar, bring die Alufolie mit !
M*

-----------------------------------------------------------------------------



Stammtisch in Braunschweig (Jasonrigid,  9. Jun 1998, 13:42:51):
Hi alle,

ich proklamiere jetzt unter Absprache mit Teddy mal den naechsten Stammtisch
in BS fuer :

Freitag, den 19.6.1998, 20.00 Uhr im Viertel Nach.

Wer kommen will, bitte mail an mich bis Donnerstag, 18.6.1998, damit ich einen
Tisch bestellen kann.

Bis denne

Jason Rigid

-----------------------------------------------------------------------------



Stammtisch in Hamburg (Bielefeld,  9. Jun 1998, 19:54:22):
Moin!

Es gibt mal wieder einen Stammtisch in Hamburg. Und zwar
am Freitag, den 19. Juni
ab 19 Uhr
im Joy, Winterhuder Weg 69

Wenns noch Fragen gibt: mich fragen :-)
Jemand aus Bielefeld

-----------------------------------------------------------------------------



Stammtisch Bielefeld (Yaren, 10. Jun 1998, 12:18:44):
Hidiho Ihr Bielefelder Muddies!

Heute ist mal wieder Stammtisch im Cafe Mint, Heeper Strasse um 19:30 Uhr. Ich
bin leider nicht dazu gekommen, vorher mal zu fragen, wer ueberhaupt kommen
will, denn schliesslich sind heute die ersten WM-Spiele, obwohl man das
Eroeffnungsspiel noch vor dem Stammtisch zu sehen bekommen koennte und um 21
Uhr nur noch Norwegen gegen Marokko kommt (wie haben die das nun wieder
geschafft??). Also: Wortmeldungen bitte an mich. Schwarz sehe ich uebrigens
fuer den Stammtisch im Juli: da ist naemlich das 2. Halbfinale ;-)

Yaren.

-----------------------------------------------------------------------------



Stammtisch Tuebingen (Astar, 10. Jun 1998, 12:43:16):
HiHo!

Am Freitag den 12.6. ist in Tuebingen im la Cave wieder mal ein Stammtisch.
Beginn 20:00 Uhr.
Wegbeschreibungen gibt es wie immer auf Anfrage.

Astar

-----------------------------------------------------------------------------



Stammtisch Aachen (Neb, 11. Jun 1998, 11:56:23):
Moin, Aachener und alle sonstigen Mudder, die Lust auf unseren Stammtisch
haben (es werden ja immer mehr ;)):

Schon mal zum vormerken:
Der naechste Aachener Stammtisch wird am Freitag (damit auch schoen viele
Auswaertige die Chance haben zu kommen), den 3.7.98 um 20 Uhr im Labyrinth
sein.
Wegbeschreibungen gibts bei Darkwing, Succamore oder mir, wie immer.

Man sieht sich, Neb.

-----------------------------------------------------------------------------



Braunschweig Stammtisch (Teddy, 13. Jun 1998, 04:41:29):
Bevor es niemand postet mach ich es halt doch: 

Am kommenden Freitag den hab ich vergessen ;) ist im viertel nach wieder
Stammtisch um 20 Uhr.

Teddy, kurz und schmerzlos

-----------------------------------------------------------------------------



Re: Braunschweig Stammtisch (Teddy, 13. Jun 1998, 04:42:03):
~#! rn=Teddy rt=897705689 rg=treffen
~#! tid=897705689
Der 19. wars ;)

Teddy

-----------------------------------------------------------------------------



Re: Braunschweig Stammtisch (Grimmborn, 14. Jun 1998, 19:15:16):
~#! rn=Teddy rt=897705689 rg=treffen
~#! tid=897705689
Nochmal langsam. War das jetzt um 20 Uhr oder um Viertel nach?

GdA

-----------------------------------------------------------------------------



Re: Re: Braunschweig Stammtisch (Teddy, 15. Jun 1998, 02:48:46):
~#! rn=Grimmborn rt=897844516 rg=treffen
~#! tid=897705689
Sowohl, als auch:
Treffen um 20 Uhr+akademische Viertelstunde, also auch um Viertel nach im
Viertel nach ;)

Teddy

-----------------------------------------------------------------------------



Re: Braunschweig Stammtisch (Jasonrigid, 15. Jun 1998, 16:46:21):
~#! rn=Teddy rt=897705689 rg=treffen
~#! tid=897705689
Jason Rigid deutet auf seinen Artikel vom 9.Juni.

Wenn er sich nicht irrt, hatte er den Stati angekuendigt.

Jason


-----------------------------------------------------------------------------



Re: Re: Braunschweig Stammtisch (Teddy, 15. Jun 1998, 22:49:52):
~#! rn=Jasonrigid rt=897921981 rg=treffen
~#! tid=897705689
Ups, ich werde alt. Sorry ;)

Teddy, meldet sich schonmal fuer die alzheimergruppe an.

-----------------------------------------------------------------------------



Stammtisch in Marburg (Srabi, 17. Jun 1998, 10:14:11):
Hi Mudder,

ich plane (mal wieder) einen Stammtisch in Marburg. 

Mich wuerde es sehr freuen, wenn Ihr mir mal mailt, wer Bock hat und wann ein
guter Termin ist. 

Ebenfalls wuerde es mich sehr freuen, wenn ein paar Herren oder Damen Magier
Zeit haetten, mal zu kommen.

Also ran an die Tasten und mir mailen, wann Ihr koennt und ob Ihr Bock habt,
wenns geht, bis Ende der naechsten Woche.

Srabi, plant mal wieder einen Stammtisch

-----------------------------------------------------------------------------



Treffen in OS (Telya, 17. Jun 1998, 10:34:35):
Hallo Freunde,
die Wuerfel sind gefallen, der Wetterbericht sagt Sonne voraus...
Also treffen wir uns an der Wachsbleiche 11 bei Joachim Hoehne (wer das wohl
sein mag ?

Anreise:
Ueber die A30 Abfahrt OS-Hellern Richtung Innenstadt. Am Wall Richtung B68
Bramsche (links) abbiegen. Dann an der zweiten grossen Kreuzung wieder links
Richtung Uni/FH Westerberg (nicht Uni-Schloss). Dort muesste die dritte
Querstrasse die Wachsbleiche sein (rechts abbiegen).
Von der A1 am besten Osnabrueck-Nord abfahren. Dann Richtung Innenstadt, nach
der Eisenbahnbruecke (gross) die zweite rechts, und ihr seid auf der
Natruperstrasse, dann vermutlich die dritte wieder rechts (ist die einzige
grosse Querstrasse) und dann seid auch ihr in der Wachsbleiche.

Viel Spass beim Anreisen
Alles weitere muss Anatol machen, der soll auch ein bisschen arbeiten.
Telya
(Oldenburg ist politisch doch in Bayern anzusiedeln, alle anderen Aussagen
sind Lug und Trug)

-----------------------------------------------------------------------------



Stammtisch in DO (Ringor, 23. Jun 1998, 10:43:54):
Hiho!

Es ist mal wieder soweit: Freitag ist schon wieder der letzte Freitag im
Monat. Und das heisst: Stammtisch!

Das Ganze findet statt im neuen Walhalla ab 20:00 Uhr.

Wegbeschreibungen gibts auf Anfrage.

Ciao, Ringor

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Trancefear, 23. Jun 1998, 19:03:49):
~#! rn=Ringor rt=898591434 rg=treffen
~#! tid=898591434
anfrage!

tf
ps.: mailto: mupfel@anderland

-----------------------------------------------------------------------------



Nachlese: Treffen in OS (Trancefear, 25. Jun 1998, 14:47:27):
Hallo

Der Besitzer der blauen rechteckigen Plastikdose moege sich doch bei mir (oder
Anatol) melden, natuerlich nur, wenn er sie wiederhaben will...

tf

-----------------------------------------------------------------------------



Re: Stammtisch Aachen (Neb, 29. Jun 1998, 18:51:12):
~#! rn=Neb rt=897558983 rg=treffen
~#! tid=897558983
Okay, hier noch einmal eine Erinnerung an den naechsten Aachener Stammtisch:

Freitag, den 3.7. (also diesen Freitag) so gegen 20 Uhr im Labyrinth.

Wegbeschreibungen wie immer bei Darkwing, Succamore oder mir.

Man sieht sich, Neb.

-----------------------------------------------------------------------------



Stammtisch in Marburg (Srabi, 30. Jun 1998, 09:45:36):
So, ich gehe mal einen Schritt weiter. Ich plane den Stammtisch in Marburg
fuer den 24.07 oder 25.07.1998.

Ich bitte alle, die daran teil nehmen wollen, mir eine Mail zu schicken, damit
ich weiss, wieviele Leute kommen wollen.

Der Stammtisch findet diesmal nicht im Cafe News statt.

Srabi, mal wieder planend

-----------------------------------------------------------------------------



Stammtisch in Muenster (Larissa, 30. Jun 1998, 12:10:41):
Ahoi!

Ich hab es auf dem letzten Stammtisch schonmal angesprochen, und
moechte es hier nochmal vor einem etwas breiteren Publikum diskutieren:

Der Stammtisch in Muenster wird (meine Meinung) immer leerer und langweiliger.
Gruende liegen darin, dass man sich schon ewig kennt, nichtmehr sehr viel
uebers MG redet sondern ueber Compis, Compispiele im allgemeinen oder
aehnliches, dass spaetestens ab 22.30 6-8 Leute in die Sneak verschwinden wenn
eine ist, dass fast ausschliesslich Magier am Tisch sitzen, und die Besuche
von Ausserhalb nicht mehr angekuendigt werden.

Uff, ich schlage deshalb vor, den Stammtisch nurnoch ein oder zweimal im Monat
stattfinden zu lassen, dann kann man sich ja vielleicht wieder ein bisschen
drauf freuen und einen anderen tag zu suchen (wegen der Sneak).

Lari, flame me.

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Teddy, 30. Jun 1998, 12:22:19):
~#! rn=Larissa rt=899201441 rg=treffen
~#! tid=899201441
OK, ich kuendige mal mein Erscheinen heute an. Knurt werd ich wohl auch
irgendwo auf der Strasse auflesen und mitbringen. ;-9

Teddy

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Morgoth, 30. Jun 1998, 12:42:33):
~#! rn=Larissa rt=899201441 rg=treffen
~#! tid=899201441
Meistens sind eh mehr Auswaertige da, als echte Muensteraner **grins**.
Vorschlag angenommen.

M*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenster (Catweazle, 30. Jun 1998, 12:48:00):
~#! rn=Morgoth rt=899203353 rg=treffen
~#! tid=899201441
Was ich zugegebenermassen auch viel interessanter finde ...
YTC

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Trancefear, 30. Jun 1998, 13:12:28):
~#! rn=Larissa rt=899201441 rg=treffen
~#! tid=899201441
Nunja verlegt ihn auf einen anderen Wochentag (einen ohne Sneak) und dann wird
man ja sehen wer kommt.

tf

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenster (Anatol, 30. Jun 1998, 17:15:47):
~#! rn=Trancefear rt=899205148 rg=treffen
~#! tid=899201441
Ich gedenke auch, heute Abend meinen edlen Koerper nach Muenster zu 
bewegen. Ist heute Sneak oder ists ein Stammtisch? :)

Ach ja, Beelze kommt wohl auch. :) Womit es Muenster schwer haben wird, 
die Mehrheit am Stammtisch zu halten...

Anatol


-----------------------------------------------------------------------------



stammtisch in B (Gnome, 30. Jun 1998, 17:17:13):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in drei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

gnOme

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenster (Trancefear, 30. Jun 1998, 17:34:20):
~#! rn=Anatol rt=899219747 rg=treffen
~#! tid=899201441
Hmja ich glaube ich sollte auch mal wieder in MS vorbeikucken bevor die
vergessen wie ich aussehe :-)

tf

-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenster (Catweazle, 30. Jun 1998, 19:39:47):
~#! rn=Trancefear rt=899220860 rg=treffen
~#! tid=899201441
Hm, scheints als wuerd es gleich massig voll werden :)

Der Stammtisch im Muenster ist nicht etwa langweilig, er muesste einfach nur
mal
mehr beworben werden. 
Gut gemacht Larissa :)

YTC

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Silvana, 30. Jun 1998, 19:40:51):
~#! rn=Larissa rt=899201441 rg=treffen
~#! tid=899201441
Wieso flame? An nem anderen Tag koennt ich wenigstens mal
kommen... Wenns nich grad Freitag ist.

  Silvana

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenster (Morgoth,  1. Jul 1998, 01:58:33):
~#! rn=Anatol rt=899219747 rg=treffen
~#! tid=899201441
Ums mal nachzuhalten:
3 'Dortmunder'
4+1 'Muensteraner'
waffenwurf Osnabruecker

Hmm....also es war ein ganz normaler MS-Stammtisch ;-))

M*

-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenster (Anatol,  1. Jul 1998, 01:58:55):
~#! rn=Morgoth rt=899251113 rg=treffen
~#! tid=899201441
Nettes Keybinding hast Du da.
*prust* :)

Anatol


-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenster (Yendi,  1. Jul 1998, 14:39:00):
~#! rn=Morgoth rt=899251113 rg=treffen
~#! tid=899201441
Ist "waffenwurf" ein Dialektausdruck fuer "massenhaft"?
So wie in "Na, wieder Orks gekillt?"  "Oh, waffenwurf..."


-----------------------------------------------------------------------------



Sommerfest (Morgoth,  2. Jul 1998, 23:07:54):
Heya, 
wer am Freitag, dem 3.7. noch nix vor hat und in der Umgebung von Dortmund
wohnt, soll sich gefaelligst aufraffen und zum Sommerfest der Chemie zur
Uni-Do kommen. Es gibt Bier, Grillzeugs, Live-Musik(*hoff*) und viele
verrueckte Chemiker, von denen einige neben bei noch Mudden. Also ein wilder
Haufen verrueckter Besoffener. ;-)))
Lust bekommen? Wie NEIN?? *patsch* Ahh, geht doch.
Also: S1 bis Do-Universitaet, die Treppen hoch, halblinks halten auf ein
grosses, orangenes Gebaeude zu (Mensa). Daran links vorbei und immer gradeaus.
Da sollten die ersten schon rumtorkeln.
Auto: Selber schuld, von der B1 und A45 gehts. Nachschaun. (Otto-Hahn-Str. 6)

Morgoth hat nen Schlafsack und ein Buero....**schnarch**

-----------------------------------------------------------------------------



Studiparty in Hannover? (Yendi,  3. Jul 1998, 12:26:44):
Weiss jemand was von einer Studentenparty, ca. 600-800 Leute, Frischluft,
am 8. Juli in Hannover? Wenn ja: Wann und wo genau ist das?
Wie kommt man da hin, und wo koennte man uebernachten?

YTY


-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  5. Jul 1998, 22:15:35):

Freitag ist es wieder soweit

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 10.7. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

Kartoffel

-----------------------------------------------------------------------------



Stammtisch in Braunschweig ?? (Jasonrigid,  6. Jul 1998, 17:52:20):

Hi Leute,

ich haette mal wieder Lust auf nen Stammtisch, und schlage spontan mal :

Freitag, den 17.7.1998 um 20.00 Uhr im Viertal Nach vor

Wie siehts aus, wer ist dafuer, wer dagegen, mail bitte an mich.

Jason

-----------------------------------------------------------------------------



stammtisch in braunschweig !! (Jasonrigid,  9. Jul 1998, 15:39:55):
Hi Leute,

Nach Ruecksprache mit diversen Leuten scheint der 17. okay.

Also : naechster Stammtisch : 17.7. 20.00 Uhr im Viertel nach, moeglicherweise
ziehe wir dann ins AudiMin um.


Bis denne

Jason

-----------------------------------------------------------------------------



Stammtisch in KA (Boing,  9. Jul 1998, 15:42:24):
Hallihallo,

ich muss doch auch mal wieder Werbung fuer den sagenhaften Karlsruher
Stammtisch machen. JEDEN Donnerstag um 20 Uhr im Kleinen Meierhof
(Zaehringer Strasse), wer eine Wegbeschreibung braucht, darf sich
gerne bei Muadib oder mir melden.

  Boing

-----------------------------------------------------------------------------



Re: stammtisch in braunschweig !! (Catweazle,  9. Jul 1998, 15:43:07):
~#! rn=Jasonrigid rt=899991595 rg=treffen
~#! tid=899991595
Ah, kannst Du Deine Aeusserungen etwas genauer spezifizieren?
Ich besuche an dem WE nen Freund in BS, weil ich mir mit ihm die Lions 
ansehen will, da werd ich evtl. schon Freitag abends da sein :-)
YTC

-----------------------------------------------------------------------------



Re: stammtisch in braunschweig !! (Jasonrigid, 10. Jul 1998, 15:00:14):
~#! rn=Jasonrigid rt=899991595 rg=treffen
~#! tid=899991595
Hi nochmal,

Da Critter arbeiten muss, verlegen wir unseren Stati ins AudiMin.

Bye Jason

-----------------------------------------------------------------------------



treffen in B (Gnome, 16. Jul 1998, 22:56:01):
moin,

jeder berliner, der mit auf das sommercamp 98 nach MS fahren moechte, moechte
sich bitte kommenden Mittwoch (22.7.) um 20.00h im seeblick zwecks besprechung
einfinden.

wer am mittwoch _keine_ zeit hat, in den seeblick zu kommen, aber trotzdem
mit nach MS will, der soll mir bitte eine mail schreiben, mit der info, ob
er in diesem zeitraum ein auto zur verfuegung hat und wieviel sitzplaetze
es hat (nein, nur die, die auch im fahrzeugbrief stehen... also kofferraum
und gepaecktraeger zaehlen nicht ;-))

gnOme

-----------------------------------------------------------------------------



Re: treffen in B (Lanfear, 17. Jul 1998, 00:40:57):
~#! rn=Gnome rt=900622561 rg=treffen
~#! tid=900622561
Heya, endlich mal wieder ein Treffen am Mittwoch !!!
Da werde ich Brandir doch gleich mal hinschicken, da sollte er eigentlich zeit
haben.
Er kommt zwar auch so nach Muenster, aber mal wieder ein ordentlicher
Stammtisch ist immer gut :)


Lanfear - hofft, dass viele kommen.

-----------------------------------------------------------------------------



Re: Re: treffen in B (Gnome, 18. Jul 1998, 13:29:25):
~#! rn=Lanfear rt=900628857 rg=treffen
~#! tid=900622561
aehem...
das ist _nicht_ der offizielle stammtisch, d.h., dass wir uns auch weiterhin
freitags treffen werden. das heisst natuerlich nicht, dass wir nicht uebers
MG sprechen koennen (ihr suchties, ihr ;-)), aber vorrangig sollten wir uns
auf die planung fuer die fahrt konzentrieren. zumindest es versuchen ;-).

gnOme

-----------------------------------------------------------------------------



Dortmundstammtisch (Teddy, 27. Jul 1998, 02:37:20):

Hiho

Da es mal wieder keiner macht hier nun die Ankuendigung:

Freitag is Stammtisch ab 20 Uhr im Walhalla


Teddy, kurz und knapp

-----------------------------------------------------------------------------



Re: Dortmundstammtisch (Morgoth, 27. Jul 1998, 07:48:40):
~#! rn=Teddy rt=901499840 rg=treffen
~#! tid=901499840
Jajaja, ich hab schon ein paar Leute 'unterwegs eingesammelt'. ;-)

M*

-----------------------------------------------------------------------------



Re: Re: Dortmundstammtisch (Teddy, 27. Jul 1998, 10:25:58):
~#! rn=Morgoth rt=901518520 rg=treffen
~#! tid=901499840
Heute schon? ;)

Teddy

-----------------------------------------------------------------------------



Re: Re: Dortmundstammtisch (Gorog, 27. Jul 1998, 11:55:07):
~#! rn=Morgoth rt=901518520 rg=treffen
~#! tid=901499840
Bin da auch sehr dankbar fuer, obwohl ich nicht alleine dort gewesen waere (; 

Gorog, der diesmal wohl etwas viel spaeter kommt aber dafuer auch noch wen
mitbringt.

*hoffentlich verplappert der sich nicht wieder. (;

-----------------------------------------------------------------------------



Stammtisch Bielefeld (Yaren, 27. Jul 1998, 16:06:46):
Ich habs gerade nachgerechnet: es ist mal wieder Stammtischzeit! Und zwar:

    12. August, 20:00 Uhr im Cafe Mint, Heeper Strasse

Ich habe das mal eigenmaechtig auf 20 Uhr verschoben - ich schaffs eh nie auf
19:30 ;-) Ich hoffe auf zahlreiches Erscheinen und kuendigt am besten Euer
(Nicht-)Erscheinen bei mir an :-)

Ach ja: es ist Sommer, und wenn diese Aussage auch am 12. noch zutrifft,
sitzen wir sicher hinten im Biergarten (unten durchgehen) und ich bin der
frisch "Rasierte" ;-)

Yaren.

-----------------------------------------------------------------------------



Stammtisch in Aachen (Neb,  2. Aug 1998, 16:43:59):
Und wieder mal ist es soweit:
Am Freitag, den 7.8.98 ist wieder ein

S T A M M T I S C H   I N   A A C H E N

und zwar im Labyrinth so gegen 20 Uhr.
Wir hoffen natuerlich wieder auf alle Aachener und moeglichst viele
Auswaertige (es sollte doch moeglich sein, den Besucherrekord des letzten
Monats noch einmal zu toppen, oder?), und da Darkwing Klausurenstress hat und
SUccamore wenig Zeit fuers MG, wird es wohl diesmal an mir haengenbleiben,
Interesstenten eine Wegbeschreibung zu vermitteln ;)

Neb, ruehrt wieder mal die Werbetrommel (Aachen rules!)

-----------------------------------------------------------------------------



Halle-Stati (Gralkor,  5. Aug 1998, 09:51:59):

Hi Muddies!!!

Am 14.08.1998 findet der allmonatliche InterMUD-Stammtisch Halle/Saale statt.
Ort des Verbrechens diesmal: Bruchbude im Versorgungsgebiet (Zscherbener
Landstrasse)
Zeit: 20:00 Uhr

G., der Informator

PS: wer kommt, und ne Pennmoeglichkeit sucht, bitte vorher melden (per MAIL)

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel, 11. Aug 1998, 21:55:26):

Freitag ist es wieder soweit

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 14.8. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

Kartoffel - kann leider diesmal nicht da sein

-----------------------------------------------------------------------------



Re: Halle-Stati (Gralkor, 12. Aug 1998, 08:21:27):
~#! rn=Gralkor rt=902303519 rg=treffen
~#! tid=902303519
Hi Folks!

Wir werden den Stammtisch von der Bruchbude in den Mohrengarten (Kroellwitz)
verlegen, Datum und Zeit bleiben!!! 14.08.1998, 20:00 Uhr

G.

-----------------------------------------------------------------------------



Stammtisch (Aline, 12. Aug 1998, 15:09:56):
Hi Dortmunder (und die anderen netten Mudder, die immer nach
Dortmund kommen),

ich haette Lust Euch mal wieder etwas zu nerven und da ich 
es leider in letzter Zeit kaum geschafft habe zum 
regulaeren Stammtisch zu kommen, denke ich es ist mal
wieder Zeit fuer einen ausserordentlichen Stammtisch!

Deswegen, wie waere es mit morgen (13.8) um 19.00 Uhr
im Cafe Erdmann (falls es das im Westpark noch gibt).
Wenn keiner sonst kommt, muss Ringor mich alleine 
ertragen :) :)

Aline

-----------------------------------------------------------------------------



Re: Stammtisch (Knurt, 13. Aug 1998, 01:11:36):
~#! rn=Aline rt=902927396 rg=treffen
~#! tid=902927396
knurt
kommt

-----------------------------------------------------------------------------



Re: Re: Stammtisch (Nonne, 13. Aug 1998, 11:38:13):
~#! rn=Knurt rt=902963496 rg=treffen
~#! tid=902927396
Ich komme auch, Erdmann sollte es noch geben, sonst ist da ne Wiese und ne
Bude mit billig Bier daneben ;)

Nonne.

-----------------------------------------------------------------------------



Re: Stammtisch (Teddy, 13. Aug 1998, 13:16:53):
~#! rn=Aline rt=902927396 rg=treffen
~#! tid=902927396
Sollte nicht heute abend was unvorhergesehenes passieren (was schnell der Fall
sein kein, wie einige ja wissen) kann ich heute abend nicht kommen.

Viel Spass mit Ringor, Aline ;)
Teddy

-----------------------------------------------------------------------------



Stammtisch DO (Morgoth, 14. Aug 1998, 19:10:28):
Mir faellt grad auf, dass der naechste Stammtisch am 28. ist. Args. Also ich
bin da noch in Zuerich und ausserdem ist die Party noch nciht ganz vergessen.
Wie waers mit nem ausserordentlichem am 11.9.  2000h im Walhalla???

Morgoth ist dafuer (1)

-----------------------------------------------------------------------------



Re: Stammtisch DO (Kartoffel, 14. Aug 1998, 21:47:41):
~#! rn=Morgoth rt=903114628 rg=treffen
~#! tid=903114628
Dagegen!!
Das ist der zweite freitag im Monat und damit traditionell *huestel, ok, seit
Januar halt* Stammtischtag in Duesseldorf.

'Toffel - kann sich doch nicht zweiteilen :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch DO (Knurt, 15. Aug 1998, 01:42:29):
~#! rn=Kartoffel rt=903124061 rg=treffen
~#! tid=903114628
Also ich hab nix gegen einen Stammtisch ausser der Reihe.
Aber auch nix gegen einen ohne Morgoth :)

Knurt

-----------------------------------------------------------------------------



Re^3: Stammtisch DO (Kartoffel, 16. Aug 1998, 22:15:22):
~#! rn=Knurt rt=903138149 rg=treffen
~#! tid=903114628
Gute Idee, regulaern Stammtisch machen, und dann koennt Ihr ja gern noch n
ausserordentlichen einschieben :)

'Toffel

-----------------------------------------------------------------------------



Stammtisch in DO (Kartoffel, 23. Aug 1998, 22:43:16):
Sooo, Teddy und ich haben beschlossen, dass Freitag regulaer Stammtisch ist
:)Wir sind also da, also raft Euch auf und kommt auch..

'Toffel

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Teddy, 24. Aug 1998, 08:46:16):
~#! rn=Kartoffel rt=903904996 rg=treffen
~#! tid=903904996
Nein, bleibt alle weg dann sind Toffel und ich alleine. ;-)
Wenn ihr es nicht vermeiden koennt, dann halt doch Walhalla am Freitag 20 Uhr.

Teddy

-----------------------------------------------------------------------------



Stammtisch in Braunschweig (Jasonrigid, 24. Aug 1998, 12:38:48):
So, endlich mal wieder ein Stati in BS, diesmal von langer Hand vorbereitet
und auch angekuendigt :

Freitag, den 11.9.1998, 20:00 Uhr im Audi Min

Mails, wer kommen kann, will, oder da nicht kann und was auch immer, bitte an
mich.

Bis denne

Jason

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 31. Aug 1998, 18:05:21):

Huhu Muddies,

Am Freitag den 4.9. ist es mal wieder soweit.. Stammtisch in Aachen :-)

Wie immer ab 20h im Labyrinth - kommet zu Hauf und in Scharen :)

Wegbeschreibungen gibt es diemal nur bei mir, da Neb in Urlaub faehrt...

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  2. Sep 1998, 21:13:11):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in zwei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

gnOme

-----------------------------------------------------------------------------



Re: stammtisch in B (Gloinson,  3. Sep 1998, 00:47:48):
~#! rn=Gnome rt=904763591 rg=treffen
~#! tid=904763591
*grummelgrumpf* Wenn das nicht immer so kurzfristig dastuende ... naja,
vielleicht mal im Oktober oder November ...

Gloin

-----------------------------------------------------------------------------



Re: stammtisch in B (Key,  3. Sep 1998, 16:48:36):
~#! rn=Gnome rt=904763591 rg=treffen
~#! tid=904763591
"die besten Abenteuhrer und Draufgaenger"
Abenteurer vielleicht ... aber Draufgaenger?
Ich komm doch garnicht :)

Key schmarrnd

-----------------------------------------------------------------------------



Stammtisch in Tue (Gwynwaiter,  6. Sep 1998, 17:01:45):
Hi Mit-Tuebinger,

Wann ist denn mal wieder Stammtisch in Tue? Ich finde, es wird mal wieder
Zeit...  Und vielleicht schaffe ich ja diesmal den weiten Weg von Boulanger
bis La Cave...

Gruss, Gwyn*

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  6. Sep 1998, 22:35:28):

Freitag ist es wieder soweit

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 11.9. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

-----------------------------------------------------------------------------



Extra-Stammtisch in DO (Morgoth,  7. Sep 1998, 00:18:52):
Hi Leute,
auch in DOrtmund gibts mal wieder einen Stammtisch. 
Am Freitag den 11. wie immer im Walhalla ab 2000h.

M* (1+1)

-----------------------------------------------------------------------------



Re: Extra-Stammtisch in DO (Teddy,  7. Sep 1998, 00:19:46):
~#! rn=Morgoth rt=905120332 rg=treffen
~#! tid=905120332
Aehm, schlechter Termin, da ist der Duesseldorfer schon.

Teddy

-----------------------------------------------------------------------------



Re: Re: Extra-Stammtisch in DO (Morgoth,  7. Sep 1998, 00:22:04):
~#! rn=Teddy rt=905120386 rg=treffen
~#! tid=905120332
Ja und? Dann gibts eben zwei. Es gibt halt Leute, die auf dem letzten
Stammtisch in DO keine Zeit hatten. ;-)

M*

-----------------------------------------------------------------------------



Mud-Stammtisch in Jena (Boing,  7. Sep 1998, 12:44:23):
~#! on=Hambti ot=904925381 og=gilden.kaempfer
Hi Ihr Leute aus Jena und Umgebung!
Hi Ihr Leute aus Jena und Umgebung!

Da nach meinen Kenntnissen bei den letzten Mud-Stammtischen in Jena
keiner ausser Snotty anwesend war, gebe ich hier noch mal einen Hinweis auf
den Mud-Stammtisch in Jena. Leider habe ich auch erst heute erfahren, dass es 
einen solchen ueberhaupt gibt. Er findet an jedem ersten Donnerstag im Monat
statt.
Befragt wegen der location am besten Snotty, da ich mich in dieser Hinsicht
noch nicht schlau gemacht habe :(
Der Stammtisch ist fuer alle Mudder in Jena und Umgebung gedacht (also nicht
nur MorgenGrauen).

Waere schoen einige von euch auch mal RL kennenzulernen, also kommt ruhig
recht zahlreich.

Bis denne, Hambti

-----------------------------------------------------------------------------



GI-MR-Stammtisch (Sharia,  7. Sep 1998, 13:12:37):
Hallo zusammen ... ich hatte zwar versprochen, dass ich nen STammtisch im
September in Giessen organisieren werde, aber ich komme im Moment nicht dazu
... hmm naja so nen bissl schon ... wer Interesse hat maile mir mal bitte
damit ich weiss wie gross die Oertlichkeit sein muss .. und vorallem welcher
Tag waere euch am liebsten ?? (ich glaub den Hanau-Frankfurtern wohl Freitags
oder ??)
Na mailt mir mal ..... 

Sharia

-----------------------------------------------------------------------------



Re^3: Extra-Stammtisch in DO (Thufhir,  8. Sep 1998, 17:14:45):
~#! rn=Morgoth rt=905120524 rg=treffen
~#! tid=905120332

Hiho,

wie waere es denn einfach als Dortmunder Delegation nach D zu fahren? ;)
btw, wer von den Do'lern hatte denn vor am Freitag zum StaTi zu kommen und
wer wuerde mit nach D fahren?

Gruesse, Thfhir (unwissend, harmlos)

-----------------------------------------------------------------------------



Re^4: Extra-Stammtisch in DO (Morgoth,  8. Sep 1998, 21:07:46):
~#! rn=Thufhir rt=905267685 rg=treffen
~#! tid=905120332
Noe, das is quatsch, weil es viel mehr DOrtmudder sind als DDorfer.

M*

-----------------------------------------------------------------------------



Re^5: Extra-Stammtisch in DO (Teddy,  8. Sep 1998, 23:26:27):
~#! rn=Morgoth rt=905281666 rg=treffen
~#! tid=905120332
Der DDorfer Stati ist aber immer am 2ten Freitag im Monat und 'Toffel hat
extra nochmal drauf hingewiesen.

Teddy

-----------------------------------------------------------------------------



Re^6: Extra-Stammtisch in DO (Morgoth,  9. Sep 1998, 08:15:15):
~#! rn=Teddy rt=905289987 rg=treffen
~#! tid=905120332
Ja und? .. Hallo... **wink** Es ist auch Stammtisch in Dortmund...
Wer will soll doch nach DDorf fahren, es werden aber garantiert trotzdem mehr
in Dortmund sein.

M*

-----------------------------------------------------------------------------



Re^7: Extra-Stammtisch in DO (Boing,  9. Sep 1998, 09:29:10):
~#! rn=Morgoth rt=905321715 rg=treffen
~#! tid=905120332
Ihr habt Probleme ... kommt einfach zum Stammtisch nach Karlsruhe, der
ist JEDEN Donnerstag und immer gut besucht. :) 
Also: Donnerstag 20 Uhr, Kleiner Meierhof, Zaehringer Strasse.
  Boing

-----------------------------------------------------------------------------



Re^8: Extra-Stammtisch in DO (Trancefear, 10. Sep 1998, 23:56:34):
~#! rn=Boing rt=905326150 rg=treffen
~#! tid=905120332
Mag sein, aber Karlsruhe liegt son bisschen weit ab vom Schuss...

tf

-----------------------------------------------------------------------------



Stammtischtransport (Catweazle, 18. Sep 1998, 10:41:49):
Moin!

Ich habe noch ein Partytshirt von Grimmborn, das irgendwie nach Koeln
muesste. Erklaert sich jemand bereit, das ueber die Stammtische zu
transportieren, etwas Muenster->Dortmund->Duesseldorf->Koeln? Bis nach Dormund
komm ich schon, wie siehts mit der restlichen Strecke aus?


YTC

-----------------------------------------------------------------------------



Re: Stammtischtransport (Zarniya, 19. Sep 1998, 19:29:23):
~#! rn=Catweazle rt=906108109 rg=treffen
~#! tid=906108109
ich kenn keinen Stammtisch in Koeln... also bringt das so nicht viel...
schicks doch per Post

-----------------------------------------------------------------------------



Re: Re: Stammtischtransport (Catweazle, 21. Sep 1998, 17:41:08):
~#! rn=Zarniya rt=906226163 rg=treffen
~#! tid=906108109
Grimmborn hat mir glaubhaft versichert, das er im Rechenzentrum (oder wo auch
immer ihr dauernd muddet) bekannt, erreichbar und ansprechbar genug ist, das 
ein Koelner Student durch einen Besuch eines koelschfeindlichen Stammtisches 
in der Lage sein sollte, das wertvolle Stueck bei ihm abzuliefern.
YTC

-----------------------------------------------------------------------------



Re: Re: Stammtischtransport (Grimmborn, 21. Sep 1998, 23:29:03):
~#! rn=Zarniya rt=906226163 rg=treffen
~#! tid=906108109
Du hast "ich bin bereit das Porto zu zahlen" bemerkenswert umstaendlich
ausgedrueckt.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Stammtisch in DO (Kartoffel, 23. Sep 1998, 22:34:49):
Sooo, da bsiher noch nix hier angekuendigt ist:

Freitag is mal wieder der letzte (im Monat ;) ) und entsprechend:

Stammtisch in Dortmund
Wie immer 20:00 Uhr im Walhalla.

Bis dahin,
'Toffel

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Thufhir, 24. Sep 1998, 13:22:53):
~#! rn=Kartoffel rt=906582889 rg=treffen
~#! tid=906582889
Thufhir (2), heute knapp einzeilig... ;)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Morgoth, 24. Sep 1998, 13:23:29):
~#! rn=Thufhir rt=906636173 rg=treffen
~#! tid=906582889
Morgoth 3...mit Rochus (4)

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Ringor, 24. Sep 1998, 13:24:16):
~#! rn=Morgoth rt=906636209 rg=treffen
~#! tid=906582889
Was hast Du vor? Die Leute abschrecken? :-)

Ringor. Hilft gerne. (5)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Paracelsus, 24. Sep 1998, 21:53:47):
~#! rn=Ringor rt=906636256 rg=treffen
~#! tid=906582889
Na dann kann ich ja auch kommen ... ]:->

Paracelsus. (6)

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO (Knurt, 25. Sep 1998, 01:40:51):
~#! rn=Paracelsus rt=906666827 rg=treffen
~#! tid=906582889
Knurt (7)

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO (Teddy, 25. Sep 1998, 01:42:43):
~#! rn=Knurt rt=906680451 rg=treffen
~#! tid=906582889
teddy (8)

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Gorog, 25. Sep 1998, 02:32:06):
~#! rn=Teddy rt=906680563 rg=treffen
~#! tid=906582889
Gorog (9) 

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Gorog, 25. Sep 1998, 02:32:44):
~#! rn=Teddy rt=906680563 rg=treffen
~#! tid=906582889
Mist ich hab ja noch n Fahrer (;  Brandir (10) *grins*

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO (Wargon, 25. Sep 1998, 12:18:26):
~#! rn=Gorog rt=906683564 rg=treffen
~#! tid=906582889
Wargon (11)
mit Grimmborns TShirt, wenn Cat die Tuer aufmacht.

-----------------------------------------------------------------------------



Stammtisch in Dortmund...Nachschlag (Morgoth, 26. Sep 1998, 21:21:31):
Es war mal wieder ein absolut gelungener Stammtisch...hier ein paar Auszuege
aus den Gespraechen/Taten....

Aline: Du willst Dich SCHEIDEN lassen??
Wargon: Das kann ich Anatol nicht antun.
Aline (laechelnd): Er waere der Naechste.

Rochus (nach dem er aufgefordert wurde, das Logfile zu schreiben): Ich kann
meine eigene Schrift nicht lesen.

Morgoth (zu Telka): Wollen wir uns anlegen?
Aline: Wie? Du willst Telka langlegen?

Wargon: Scheiss Impulserhaltung! 
Morgoth schubst Twrx -> Telka -> Wargon 

Ringor zu Paracelsus: DU hast den Bug in /std/unit.c eingebaut.
Paracelsus: Ach was macht denn schon EIN Ausrufezeichen...??
Rochus: SEHR VIEL

Twrx steht neben Morgoth auf.
Aline ergreift die Gelegenheit und deutet auf Morgoth.
Aline schaut Telka an.
Aline: Jetzt lass uns mal ran.
Aline zueckt eine rosa Schleife.


Argl...danach musste ich leiden...aber das darf ein anderer Erzaehlen...


Morgoth

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund...Nachschlag (Paracelsus, 26. Sep 1998, 21:24:13):
~#! rn=Morgoth rt=906837691 rg=treffen
~#! tid=906837691
Was denn, Du traust Dich nicht zu erzaehlen, dass Aline und Telka Dir zwei
Zoepfe geflochten haben (mit eingeflochtenem rosa Baendchen)?

Paracelsus - ist mit einer rosa Schleife im Haar davongekommen.

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund...Nachschlag (Ringor, 26. Sep 1998, 21:29:07):
~#! rn=Morgoth rt=906837691 rg=treffen
~#! tid=906837691
Das Zitat von Rochus hat Morgoth leider nur halb wiedergegeben:

Jemand sagt: Rochus, logg das mal mit.
Rochus sagt: Lieber nicht, meine Schrift kann keiner lesen.
Jemand sagt: Macht nichts, Hauptsache Du selbst kannst das nachher noch lesen.
Rochus sagt: Ich kann meine Schrift ja selbst nicht lesen.

</Gedaechtnisprotokoll>

Ringor

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund...Nachschlag (Trancefear, 26. Sep 1998, 22:49:20):
~#! rn=Ringor rt=906838147 rg=treffen
~#! tid=906837691
...und zum naechsten Stammtisch kommt Morgoth dann mit streichholzkurzem Haar
(dann erkennt ihn keiner mehr wieder :-)

tf

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund...Nachschlag (Kartoffel, 26. Sep 1998, 22:50:04):
~#! rn=Trancefear rt=906842960 rg=treffen
~#! tid=906837691
Glaub ich nicht, eher mit Handschellen um Aline an ihren Stuhl zu ketten...

'Toffel

-----------------------------------------------------------------------------



Und noch ein paar Logs (Mindblade, 26. Sep 1998, 22:53:13):
Morgoth: Hast Du nicht gerade Muschi gesagt?
Rochus: Moooorgoth, Du hast eine selektive Wahrnehmung.

Spaeter...
Knurt: Was ist der erste Fall?
Gorog: Substantiv?

Mind*, immernoch schmunzelnd.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund...Nachschlag (Morgoth, 27. Sep 1998, 11:12:56):
~#! rn=Kartoffel rt=906843004 rg=treffen
~#! tid=906837691
Oh ja, erzaehl weiter....hoert sich interessant an ;-))

M*

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund...Nachschlag (Anatol, 27. Sep 1998, 15:53:19):
~#! rn=Morgoth rt=906837691 rg=treffen
~#! tid=906837691
Also... es gibt Momente, da KANN ich einfach nicht "Ja" sagen.

Anatol, froh, dass gewisse Objekte NICHT autoload sind ;)


-----------------------------------------------------------------------------



Stati in AACHEN (Neb, 27. Sep 1998, 22:12:39):
Halli hallo,
diesen Monat wird der Stammtisch auf (fast ;)) einstimmigen Wunsch auf den 2.
Freitag im Monat verlegt, d.h. also :


Am Freitag, den 9.10. so gegen 20 uhr ist wieder im Labyrinth der fabuloese

S T A M M T I S C H   I N   A A C H E N !!!!!!

Alles weitere wie immer bei mir oder Darkwing, bis denn

Neb

-----------------------------------------------------------------------------



artikel stammtisch in B (Gnome, 28. Sep 1998, 14:51:04):
mist, hab meinen std-artikel grade nich zur hand... :)
also:

stammtisch am 1. Freitag des monats, d.h. am 2.10.

um 20.00h im Seeblick (Rykestr./Prenzlbg)

ich hoffe, dass es diesmal frueh genug angekuendigt war, gloin :)

gnOme

-----------------------------------------------------------------------------



Flammkuchen im Elsass (Hobo, 28. Sep 1998, 14:58:42):
Wir Karlsruher und einige eigens zu diesem Zweck eingeflogene Gaeste machen
ausnahmsweise mal was anderes, als unseren Standard-Stammtisch im Kleinen
Maierhof.

Am 10.10. soll es zum leckeren Flammkuchen-Essen in den Elsass gehen.
Falls sich noch jemand entschliessen kann: Bitte rechtzeitig (bis zum 03.10.)
anmelden, da wir Plaetze bestellen muessen.

Ciao

    Hobo

-----------------------------------------------------------------------------



Re: Flammkuchen im Elsass (Boing, 29. Sep 1998, 08:27:20):
~#! rn=Hobo rt=906987522 rg=treffen
~#! tid=906987522
Der Standard-Stammtisch jeden Donnerstag im kleinen Meierhof findet
natuerlich trotzdem statt! :)
  Boing

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  4. Okt 1998, 21:13:28):

Freitag ist es wieder soweit

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 9.10. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

-----------------------------------------------------------------------------



Oktober-Stammtisch in Dresden (Mahatma,  5. Okt 1998, 14:23:45):
Am Donnerstag ist in Dresden wieder Stammtisch, und zwar um 21:00 Uhr. Diesmal
sind wir auf vielfachen Wunsch in der Planwirtschaft, das ist in der Neustadt
in der Louisenstrasse 20.

Mahatma, auf zahlreiches Erscheinen hoffend.

-----------------------------------------------------------------------------



Hmmm faellt mir nix zu ein ;) (Key,  5. Okt 1998, 14:31:09):
Halloe .)

So eben habbich gehoert das es mal wieder nen Stammtisch in Marburg gibt :)

Diesmal allerdings mitten in der Woche ...

Am 13.10.1998 .)
Treffpunkt wuerde ich das Journaux vorschlagen, da ich diesmal nicht
allzuviele von ausserhalb erwarte .... oder? .)

Hmm und ab 19:00 .)

Also sattelt Pegasus und kommt vorbei ;)


Bis denn

Key

-----------------------------------------------------------------------------



Re: Hmmm faellt mir nix zu ein ;) (Key,  5. Okt 1998, 14:32:13):
~#! rn=Key rt=907590669 rg=treffen
~#! tid=907590669
Achja ... sollte doch wer unerwartet von ausserhalb kommen, oder sollte wer
net wissen wo oder was das journaux ist soll er sich melden ;)

Key

-----------------------------------------------------------------------------



Re: Re: Hmmm faellt mir nix zu ein ;) (Anacrion,  5. Okt 1998, 16:54:47):
~#! rn=Key rt=907590733 rg=treffen
~#! tid=907590669
 Hmm. NACH dem 14. wuerde ich kommen .... aber am 14. schreib ich mein
letztes Vordiplom ..... :((

Anac*

-----------------------------------------------------------------------------



Stammtisch im Braunschweig (Jasonrigid,  7. Okt 1998, 17:28:27):
So, jetzt ist es mal wieder soweit, ich stelle mal einen Termin fuer den
naechsten Stammtisch in BS zur Diskussion :

Freitag, den 16.10.1998, 20.00 Uhr im Herman's

Wer kommen kann und will, bitte mail an mich. Alpha ?? Jehova ?? Wie sieht es
aus ?

Immer alles her :)

Jason

-----------------------------------------------------------------------------



Re: Stati in AACHEN (Neb,  7. Okt 1998, 18:54:14):
~#! rn=Neb rt=906927159 rg=treffen
~#! tid=906927159
Neb wollte nur noch mal an den Stammtisch am Freitag abend (9.10.) in Aachen
erinnern.

-----------------------------------------------------------------------------



Re: Stammtisch im Braunschweig (Mieze,  7. Okt 1998, 19:58:37):
~#! rn=Jasonrigid rt=907774107 rg=treffen
~#! tid=907774107
Hi Braunschweiger,

das waer mal was... ich schau mal, ob ich vorbeikomme.

Gruss Mieze

-----------------------------------------------------------------------------



Re: Stammtisch im Braunschweig (Qitess, 10. Okt 1998, 16:30:09):
~#! rn=Jasonrigid rt=907774107 rg=treffen
~#! tid=907774107
langsam reichts mir. seit ich keine statis mehr organisiere geht nicht nur das
schicke layout der artikel floeten, sondern auch der name *S*T*A*T*I* (c).
im uebrigen auch die kultur des billardspielens, weil die neuen organisierer
es nicht schaffen den stammtisch wieder in die altvertraute stammtischkneipe
ViertelNach zu verlegen. immer wieder wird irgendsoein neumodischer krams
ausprobiert.
an dieser stelle musste ich mir jetzt mal luft dazu verschaffen.

QI** will wieder im ViertelNach stammtischlern !


-----------------------------------------------------------------------------



Die Darmstaedter wieder :-) (Miraka, 13. Okt 1998, 22:17:10):
Ich schlage hiermit als Stammtischdatum den 30.Oktober vor, Ort wie immer
im Hotzenplotz. Einwaende? Isn Freitag, da sollten alle koennen, die sich
sonst immer angesprochen fuehlten.

Miraka.

-----------------------------------------------------------------------------



Re: Die Darmstaedter wieder :-) (Anacrion, 15. Okt 1998, 12:07:07):
~#! rn=Miraka rt=908309830 rg=treffen
~#! tid=908309830
Au ja :)))

Anac* - einzeilend und freudig erregt :))

-----------------------------------------------------------------------------



--- KOELNER STAMMTISCH ?? -- (Sugaan, 15. Okt 1998, 19:37:43):
Falls noch irgendwer in Koeln mal wieder Lust hat auf so was wie einen
Stammtisch (moeglichst direkt vor der Haustuer), der sollte doch vielleicht
mal am MITTWOCH den 21.10 so ab 19.30 Uhr im Limerick vorbeischauen. Wuerde
mich ueber regen Andrang freuen. 

Meldet Euch doch bitte bei mir     SUGAAN ~**

-----------------------------------------------------------------------------



SPIEL 98? (Gorog, 15. Okt 1998, 21:52:14):
Aeh is naechste Woche nicht wieder SPIEL in Essen?
Wenn ja is wer von euch da und hat Lust auf ein Treffen. Muss ja nix langes
sein.

Gorog, der da bestimmt hin geht wenns auch nur fuer Crash and Burn is.

-----------------------------------------------------------------------------



Re: SPIEL 98? (Teddy, 15. Okt 1998, 23:44:53):
~#! rn=Gorog rt=908481134 rg=treffen
~#! tid=908481134
Wenn da is auf jeden Fall!

Teddy, immer dafuer ;)

-----------------------------------------------------------------------------



Re: Re: SPIEL 98? (Knurt, 16. Okt 1998, 00:59:42):
~#! rn=Teddy rt=908487893 rg=treffen
~#! tid=908481134
Huch, naechste Woche ist das schon?
Nagut, wenn mich einer auf der Spiel 98 zu treffen wuenscht, moege er mir doch
bis Dienstag mailen, ab dann ziehe ich fuer den Rest der Woche in unsere
traditionelle SPIEL98-WG nach Essen. Oder fragt halt mal bei
Kuhlmann-Geschichtsspiele nach wo ich denn so rumlaufe.
Knu(r)t

-----------------------------------------------------------------------------



Re^3: SPIEL 98? (Yendi, 16. Okt 1998, 13:54:56):
~#! rn=Knurt rt=908492382 rg=treffen
~#! tid=908481134
Auch dieses Jahr duerfte man mich wieder am Stand fuer 

   ***   WARHAMMER das Rollenspiel   ***

finden -- wie auch diverse Abenteuer und Regelwerke.

Live und in Farbe, auch als Hardcover erhaeltlich:
                                                     Yendi


-----------------------------------------------------------------------------



Re^4: SPIEL 98? (Hardil, 20. Okt 1998, 12:06:44):
~#! rn=Yendi rt=908538896 rg=treffen
~#! tid=908481134

Und mich findet man wie in jedem Jahr immer irgendwo auf der Messe. Und ich
habe gehoert, dass auch Puma (diesmal nur am Samstag) herumschwirren wird.

-Hardil.

-----------------------------------------------------------------------------



Re: Die Darmstaedter wieder :-) (Wurzel, 21. Okt 1998, 18:34:50):
~#! rn=Miraka rt=908309830 rg=treffen
~#! tid=908309830
hm, schade. da hab ich schon was vor, was ich nicht aendern kann.

wurzel

-----------------------------------------------------------------------------



Re: Re: Die Darmstaedter wieder :-) (Anacrion, 21. Okt 1998, 18:38:05):
~#! rn=Wurzel rt=908994890 rg=treffen
~#! tid=908309830
Oki,. Nach Ruecksprache mit einenigen anderen ist das Treffen hiermit auf eine
Woche spaeter verlegt. Ich hoffe, das macht keinem was audss :)
Ich hoffe auch, es machen meine blind-schreib-typos keinem was aus.

Anac*

P.S. Das ist damit am 6.11.98 wie immer 8.00 im hotzwenplotz

-----------------------------------------------------------------------------



Re^3: Die Darmstaedter wieder :-) (Wurzel, 21. Okt 1998, 18:39:14):
~#! rn=Anacrion rt=908995085 rg=treffen
~#! tid=908309830
okay, ist notiert. komme :)

wurzel

-----------------------------------------------------------------------------



Re^3: Die Darmstaedter wieder :-) (Zephyr, 21. Okt 1998, 20:15:07):
~#! rn=Anacrion rt=908995085 rg=treffen
~#! tid=908309830
Tja.. schade.. am 30. haetten Tryfan und ich gekonnt.
*seufzend*
C4

-----------------------------------------------------------------------------



Re^4: Die Darmstaedter wieder :-) (Morgoth, 21. Okt 1998, 20:15:54):
~#! rn=Zephyr rt=909000907 rg=treffen
~#! tid=908309830
Kommt nach Dortmund zum Stammtisch....

Ach ja...

Stammtisch in Dortmund am 30.10. im Walhalla ab 2000h.

Morgoth (1)

-----------------------------------------------------------------------------



Re^5: Die Darmstaedter wieder :-) (Teddy, 21. Okt 1998, 20:21:24):
~#! rn=Morgoth rt=909000954 rg=treffen
~#! tid=908309830
(2)

Teddy

-----------------------------------------------------------------------------



Re^6: Die Darmstaedter wieder :-) (Gorog, 21. Okt 1998, 22:41:12):
~#! rn=Teddy rt=909001284 rg=treffen
~#! tid=908309830
(3) , (4)
Gorog, naja und der Fahrer halt

-----------------------------------------------------------------------------



Re^3: Die Darmstaedter wieder :-) (Ark, 22. Okt 1998, 11:10:49):
~#! rn=Anacrion rt=908995085 rg=treffen
~#! tid=908309830
Hmpf, haetteste ja vorher was sagen koennen, hmpf, jetzt krieg ich wieder
Schelte von C4, hmpf, hmblwst, hsngrmph.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



DO-Stammtisch (Kartoffel, 22. Okt 1998, 20:07:06):
Dem ganzen mal den richttigen Titel verpassen...

(5)

`Toffel

-----------------------------------------------------------------------------



Re: DO-Stammtisch (Nonne, 23. Okt 1998, 08:23:54):
~#! rn=Kartoffel rt=909086826 rg=treffen
~#! tid=909086826
ich auch (6)

Nonne.

-----------------------------------------------------------------------------



Mud-Stammti in Halle (Mieze, 24. Okt 1998, 23:57:38):
Hiho,


nach einer kleinen Sommerpause gibts mal wieder einem Stammti in Halle. Wer
Lust und Zeit hat:

      am Freitag, 30.10. um 20.00 Uhr in der "Bruchbude" in Halle

Ein paar Leute von ausserhalb haben sich schon angemeldet.
Anfahrtsbeschreibung gibts bei mir -> Mail.


Mieze - martinisuechtig :)

-----------------------------------------------------------------------------



Re: Re: DO-Stammtisch (Knurt, 25. Okt 1998, 12:44:43):
~#! rn=Nonne rt=909131034 rg=treffen
~#! tid=909086826
(6 1/2)
Knurt

-----------------------------------------------------------------------------



Re^3: DO-Stammtisch (Trancefear, 25. Okt 1998, 19:35:52):
~#! rn=Knurt rt=909319483 rg=treffen
~#! tid=909086826
(etwas glueck ? 7 1/2 : 6 1/2)

tf

-----------------------------------------------------------------------------



Treffen in Darmstadt (Zephyr, 26. Okt 1998, 15:02:27):
Wer Lust und Zeit hat, kann trotzdem gern am 30. so gegen 19 Uhr
in den Hobbit kommen. Anwesende bisher wohl Ark, Tryfan und ich.
kurz und knuddelig,
C4

-----------------------------------------------------------------------------



Re: DO-Stammtisch (Brandir, 26. Okt 1998, 15:09:47):
~#! rn=Kartoffel rt=909086826 rg=treffen
~#! tid=909086826
rueckwirkende Bennenung der (4)


Brandir - moechte nicht einfach nur als Fahrer angemeldet werden :)

-----------------------------------------------------------------------------



Koeln (Fryder, 26. Okt 1998, 19:05:03):
Hallihallo!

Die alten Koelner MG-Veteranen wollen sich mal wieder gemuetlich
zusammensetzen. Bisher ist es leider nur Skipper und meine Wenigkeit und der
Termin ist auch recht kurzfristig und zwar am kommenden Mittwoch, dem 28.. Vom
Ort her sind wir an sich noch offen, fuer uns beide waere zwar Porz oder Deutz
besser, Koeln geht aber auch. Interessenten melhlen bitte mal an Skipper, wir
organisieren dann alles kurzfristig.

Bis Mi

Fryder

-----------------------------------------------------------------------------



Logfile (Morgoth,  2. Nov 1998, 10:04:37):

So, hier mal ein paar, aus dem Zusammenhang gerissene, Logs vom DO-Stammtisch:

[Zensiert von Leibniz]

Brandir spielt mit einem Ei.

Auf Wunsch von Bienchen:
Bienchen fragt Ringor: Was moechtest Du denn gerne spielen?
Ringor antwortet: Ich bin fuer fast ALLES zu haben.

0003h : Beelzebub gaehnt voellig geschwaechelt.

Morgoth wartet zitternd auf die Logs ueber ihn

-----------------------------------------------------------------------------



Stammtisch in Aachen (Neb,  2. Nov 1998, 16:41:46):
Hiho,
am Freitag, den 6.11. ist es wieder so weit:

----> Stammtisch in Aachen <----

und zwar wie immer so gegen 20 Uhr im Labyrinth.
Wegbeschreibungen und sonstiges wie immer bei Darkwing und mir, bis denn

Neb.

-----------------------------------------------------------------------------



Re: Treffen in Paderborn! (Daria,  2. Nov 1998, 20:17:33):
~#! rn=Viper rt=910037769 rg=treffen
~#! tid=910037769
Aehm. Wuenscht jemand ne Wegbeschreibung?
Daria. Auch mal einzeilig.

-----------------------------------------------------------------------------



Treffen in Paderborn! (Viper,  2. Nov 1998, 20:22:53):
Huhu erstmal,

am 6. November 1998 werden sich in Paderborn hoffentlich viele
Mudder zum erstenmal zu einem Treffen zusammenfinden.

Ort ist der "Gruene Frosch" Im Lichtenfelde 4 in Paderborn.


Zeit 19.00 Uhr.

Den Gruenen Frosch findet ihr Ecke Westfalenring (Fortsetzung vom Suedring)/
Dahler Weg.

Es sind alle herzlich willkommen (nicht nur Mudder aus Paderborn).


Gruss


Viper

-----------------------------------------------------------------------------



Berlin Stammtisch (Anakin,  2. Nov 1998, 21:00:57):
Hi,

ist am nexten Freitag Stammtisch? 

Antworten bitte per Mail an mich.

Anakin.

-----------------------------------------------------------------------------



November-Stammtisch in Dresden (Zino,  3. Nov 1998, 13:30:55):
Tach,

naechsten Donnerstag (ist der 12.11.) ist Stammtisch in Dresden, diesmal
wieder inner Wu11, Beginn wie immer 21:00 Uhr.

Mahatma

-----------------------------------------------------------------------------



Re: November-Stammtisch in Dresden (Alpha,  3. Nov 1998, 13:47:45):
~#! rn=Zino rt=910099855 rg=treffen
~#! tid=910099855
Sind waehrend des PK-Treffens (ist am 27er Wochenende) eigentlich irgendwelche
MG-Stammtische oder aehnliches in Dresden geplant?
Alpha.

-----------------------------------------------------------------------------



Re: Re: November-Stammtisch in Dresden (Zino,  3. Nov 1998, 13:48:07):
~#! rn=Alpha rt=910100865 rg=treffen
~#! tid=910099855
Noe.

Mahatma

-----------------------------------------------------------------------------



Re^3: November-Stammtisch in Dresden (Alpha,  3. Nov 1998, 13:49:16):
~#! rn=Zino rt=910100887 rg=treffen
~#! tid=910099855
Liesse sich das wohlmoeglich abaendern? Es kommen bestimmt ein paar MGler mit
nach Dresden....

-----------------------------------------------------------------------------



Re^4: November-Stammtisch in Dresden (Mahatmu,  3. Nov 1998, 16:39:16):
~#! rn=Alpha rt=910100956 rg=treffen
~#! tid=910099855
Ich glaube ich ahne da ein: 'Noe' :)

Gloin

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  3. Nov 1998, 18:59:57):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in vier
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

Obh es auch dieses Mal wihder ein paar Glaichgesinnte aus dem schoenen
Drehsden hierher verschlaegt? :)

gnOme

-----------------------------------------------------------------------------



Re: Logfile (Brandir,  4. Nov 1998, 01:17:18):
~#! rn=Morgoth rt=910001077 rg=treffen
~#! tid=910001077
Also diesmal kommst Du glimpflich davon Morgoth, aber das naechste Mal denk
ich garantiert ans loggen.

Brandir - dem leider Morgoths selektive Wahrnehmung fehlt.

-----------------------------------------------------------------------------



Re: stammtisch in B (Mahatmu,  4. Nov 1998, 13:56:01):
~#! rn=Gnome rt=910119597 rg=treffen
~#! tid=910119597
Wohl eher nicht. Ick bin ja jetzt een Berlina.

Gloin

-----------------------------------------------------------------------------



Re: Re: stammtisch in B (Atoz,  4. Nov 1998, 14:01:10):
~#! rn=Mahatmu rt=910187761 rg=treffen
~#! tid=910119597
Ja, genau wie Stopdenbus!!! ;)


Atoz - in Deckung gehend

-----------------------------------------------------------------------------



Re^3: stammtisch in B (Mahatmu,  4. Nov 1998, 14:02:10):
~#! rn=Atoz rt=910188070 rg=treffen
~#! tid=910119597
Ich grueble immer noch, woher dieser sinnfaellige Name stammen mag :)
Aber er geht auch bei 0.2% noch gut von der Zunge :)

Gloin

-----------------------------------------------------------------------------



Re^4: stammtisch in B (Novastorm,  4. Nov 1998, 14:04:25):
~#! rn=Mahatmu rt=910188130 rg=treffen
~#! tid=910119597
Hmm ich denk mal, Du hast in einer oehm besonders witzigen Stunde gedacht,
diverse Namen kuenstlerisch nachzubessern... ;-)

--> ab nach Schmarrn

-----------------------------------------------------------------------------



Re^5: stammtisch in B (Mahatmu,  4. Nov 1998, 16:30:39):
~#! rn=Novastorm rt=910188265 rg=treffen
~#! tid=910119597
Eigentlich meinte ich Stopdenbus. Ich bin der kleine (boese) Bruder
des alten Sacks (noch boeser?). Ohne verwandtschaftliche Beziehungen (der
alte Sack ist adoptiert).

Mahatmu

-----------------------------------------------------------------------------



Re^3: stammtisch in B (Stopdenbus,  6. Nov 1998, 14:21:06):
~#! rn=Atoz rt=910188070 rg=treffen
~#! tid=910119597
eh !! ich bin wirklich kein Berliner, waer ja noch schoener, ich sprech nur
wie`n berliner, bin aber keiner :)

Sdb

-----------------------------------------------------------------------------



Re^4: stammtisch in B (Hobo,  6. Nov 1998, 15:04:59):
~#! rn=Stopdenbus rt=910362066 rg=treffen
~#! tid=910119597
Jaja, ich kenn da auch einen, der sagt immer:
   "Ick bin keen Berliner!"

   Hobo

-----------------------------------------------------------------------------



WAAAAAH (Kadabra,  7. Nov 1998, 00:02:58):
Muss dat sein ?? Hab Spaetdienstfreitag da. dh erscheine um 9 und wanke um 
10 ins bett. grummel kadabra**
10 ins bett. grummel kadabra**

-----------------------------------------------------------------------------



Re: WAAAAAH (Kartoffel,  8. Nov 1998, 21:44:19):
~#! rn=Kadabra rt=910396978 rg=treffen
~#! tid=910396978
Muss nicht sein, deswegen sollt Ihr Euch ja aeussern.

'Toffel

-----------------------------------------------------------------------------



Re: Stammtisch in Ddorf verlegen? (Kartoffel,  8. Nov 1998, 22:14:33):
~#! rn=Kartoffel rt=910386881 rg=treffen
~#! tid=910386881

Nachdem sich die Mehrheit derer mit denen ich gesprochen habe 
dafuer ausgesprochen hat, dass der Stammtisch am gewohnten Termin
bleibt: 

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 13.11. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

-----------------------------------------------------------------------------



Re: Stammtisch in Ddorf verlegen? (Wurzel,  9. Nov 1998, 19:06:51):
~#! rn=Kartoffel rt=910386881 rg=treffen
~#! tid=910386881
hm, das waer nicht schlecht... an dem wochenende wollt ich eh mal wieder
nach ddorf... 

wurzel

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Ddorf verlegen? (Wurzel,  9. Nov 1998, 19:07:29):
~#! rn=Kartoffel rt=910563273 rg=treffen
~#! tid=910386881
na gut, dann nicht. have fun :)

wurzel

-----------------------------------------------------------------------------



Re^3: Stammtisch in Ddorf verlegen? (Cymonk,  9. Nov 1998, 23:01:54):
~#! rn=Wurzel rt=910638449 rg=treffen
~#! tid=910386881
wie waer's mit einem 2.stati fuer nachzuegler??
wir waeren dann schon zu dritt?? :))

cy

-----------------------------------------------------------------------------



Re^3: Stammtisch in Ddorf verlegen? (Hans, 11. Nov 1998, 17:50:21):
~#! rn=Wurzel rt=910638449 rg=treffen
~#! tid=910386881

Wurzel,

wenn Du kommst, wuerde ich auch glatt ein paar Minuten vorbeisehen.

- Hans

-----------------------------------------------------------------------------



Re^5: stammtisch in B (Stopdenbus, 13. Nov 1998, 16:42:35):
~#! rn=Hobo rt=910364699 rg=treffen
~#! tid=910119597
den stell mir ma vor, ich glaub, ich hab mit ihm ne menge gemeinsam :)

Stopdenbus

-----------------------------------------------------------------------------



Re^6: stammtisch in B (Wur, 14. Nov 1998, 20:07:29):
~#! rn=Stopdenbus rt=910975355 rg=treffen
~#! tid=910119597
Wie, was lese ich da? Du hast mit jemanden etwas gemeinsam?
Kann nich sein!

Wur

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess, 16. Nov 1998, 12:02:06):

                          Hallihallohalloele !
                          
   Es findet endlich mal wieder ein ordentlicher Morgengrauenstammtisch in
                  Braunschweig statt, der sogenannte 

                              *S*T*A*T*I*

                         selbiger findet statt
          ----   an jedem ersten Dienstag eines Monats   ----
                  
               allerdings   NICHT!!!   der naechste !!!!!

(eigentlich ueberhaupt gar keiner mehr,
                               wir stammtischeln jetzt wieder Freitags...)
              
     Denn aus gegebenem Anlass (was auch immer das sein mag) findet der
     naechste   *S*T*A*T*I*  ganz spontan diese Woche Freitag statt.
     
      also am     20.11.1997  
             (ein Freitag. ach, hab ich schon gesagt...)
         wie immer um 20"Uhr       
                      und endlich wieder im ViertelNach im Bueltenweg 

Ihr seid herzlichst dazu eingeladen
       auch, wenn Ihr nicht aus Braunschweig seid.

Das Kompromittee (Festin und Qitess) JAA, SIE SIND WIEDER DA!!!

P.S.: Wenn Du auch kommst bitte ---->* anmelden *<---- per MUD-MAIL bei
 
                      Qitess@MorgenGrauen

 

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Ronda, 16. Nov 1998, 17:46:05):
~#! rn=Qitess rt=911217726 rg=treffen
~#! tid=911217726
Oh Qitess...
... und Du beschwerst Dich ueber schlecht formatierte Artikel?
*kopfschuettel*
  Ronda
Ps: Wer steht schon hinter Qi*? (Ist jemand so bloe[d[d[d[d oehm... klug?
-> Schmarrn, aber schnell =:)

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Phobos, 16. Nov 1998, 20:43:27):
~#! rn=Qitess rt=911217726 rg=treffen
~#! tid=911217726
20.11.1997
      ^^^^ 

keine ahnung ob ich da zeit hatte

  mars  -  lebt nicht in der vergangenheit

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*    (Qitess, 16. Nov 1998, 21:37:54):
~#! rn=Qitess rt=911217726 rg=treffen
~#! tid=911217726
uiuiui.

also, es hat sich ein kleiner Fehler eingeschlichen:

Natuerlich fand der   *S*T*A*T*I*   nicht im Jahre 1997 statt sonder findet
dieses Jahr statt. sollte aber eigentlich klar sein ;)

QI**

hej, ronda, du torfnase, der artikel ist layoutet und hat nur den fehler mit
der jahreszahl. und ansonsten kannste mich *****denk dir was.

-----------------------------------------------------------------------------



Re^7: stammtisch in B (Atoz, 17. Nov 1998, 12:45:16):
~#! rn=Wur rt=911074049 rg=treffen
~#! tid=910119597
Najaa Wur es fragt sich, was er mit wem gemeinsam hat...

Zum Beispiel mit Kennedy, dass er ein Berliner ist und wenn er so weiter macht
im November noch das zeitliche segnet ;)))

Atoz - Weder Berliner noch Marburger ;)

-----------------------------------------------------------------------------



Re^8: stammtisch in B (Sharia, 17. Nov 1998, 12:52:03):
~#! rn=Atoz rt=911306716 rg=treffen
~#! tid=910119597
HA HA HA !! und was steht DA:

> fg atoz
Atoz ist anwesend,
und zwar von: Marburg.
Eingeloggt seit: Die,  3. Nov 1998, 12:05:18
Voller Name: Der zuckersuesse Atoz traegt lila Fnalelllaeppchen unter einem 
gruenen Kleid


Sharia glaubts ja nich

-----------------------------------------------------------------------------



Re^9: stammtisch in B (Atoz, 17. Nov 1998, 13:16:10):
~#! rn=Sharia rt=911307123 rg=treffen
~#! tid=910119597
Pah da kann man mal wieder sehen, dass Du gar keine Ahnung hast:

Wenn ich nicht ueber MR eingelogt waere dann waer ja hier mit Intelligenz gar
nix zu holen. Mit anderen Worten diese "anwesend und zwar von: Marburg" zeigt
nur meine Bereitschaft mich selbst zu erniedrigen, damit sich die
Durchschnittsintelligenz in Marburg steigen kann. - Aber das versteht sowas
wie Du ja eh nicht Stinke-Zwerg!

Atoz - Maertyrer

-----------------------------------------------------------------------------



Re^10: stammtisch in B (Key, 17. Nov 1998, 13:38:40):
~#! rn=Atoz rt=911308570 rg=treffen
~#! tid=910119597
Durchschnittsintelligenz in Marburg zu steigern ....
LACHHAFT!
Wie will sone FRAU! aus dem Vorort Giessen (Vorort von Marburg) Denn sowas
bewerkstelligen??

Key grumpft

-----------------------------------------------------------------------------



Re^11: stammtisch in B (Stopdenbus, 18. Nov 1998, 16:34:42):
~#! rn=Key rt=911309920 rg=treffen
~#! tid=910119597
dat frag ich mich auch Key, ich mein schau mal, da ist doch eh schon alles 
verloren in Marburg, man muss wirklich aus Giessen kommen, um sowas nicht
zu erkennen :)

Stopdenbus ist mutig, aber nur, weil Atoz nicht da ist

-----------------------------------------------------------------------------



Re^12: stammtisch in B (Atoz, 19. Nov 1998, 12:44:05):
~#! rn=Stopdenbus rt=911406882 rg=treffen
~#! tid=910119597
Genau Stoppie der Nachsatz ist weise gewaehlt, aber es nutzt Dir nix. Ich bin
naemlich fast gar nicht nachtragend. (Aber wenn Lwaxana diesen Stinker Nairolf
vor die Flinte kriegt sollte er schon mal bei Sharia sein Begraebnis bestellt
haben ;)))

Atoz - Eigentlich sowieso gaaaaanz friedfertig - meistens...

-----------------------------------------------------------------------------



STAMMTISCH in KOELN (Tangalur, 24. Nov 1998, 10:26:02):
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                           MG-STAMMTISCH  in KOELN

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ja den gibts tatsaechlich noch ! 

und zwar Morgen Mittwoch, den 25.11.1998 um 19:00 Uhr im
Limerick auf der Zuelpicher Strasse. Wer kommen mag ist herzlich
eingeladen.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-----------------------------------------------------------------------------



Re: STAMMTISCH in KOELN (Zarniya, 24. Nov 1998, 11:46:58):
~#! rn=Tangalur rt=911903162 rg=treffen
~#! tid=911903162
Poeh!

-----------------------------------------------------------------------------



Stammtisch in Do (Aline, 26. Nov 1998, 15:03:04):

Hi Leuts,

auch dieser Monat naehert sich so langsam aber sicher seinem Ende zu.
Das heisst, der naechste Freitag ist mal wieder der Letzte (oder so).
Auf jeden Fall trifft sich da doch immer eine aehm recht lustige 
(skurriele?) Truppe von Muddern im Walhalla. 
Wie leider schon oefter, werde auch ich mich nicht um 20.00 Uhr einfinden
koennen, weil ich nicht-muddenden Besuch da habe, der noch nicht
gaenzlich von meinem seltsamen Geisteszustand ueberzeugt ist (wenn ich
den mitbringe ist er es bestimmt!).
Also wuensche ich den anderen (Morgoth kommt, Ringor weiss nicht,...) viel
Spass.

Aline (neidvoll)

P.S.: Ueber den Dezemberstammtisch sollten wir noch mal lange diskutieren.


-----------------------------------------------------------------------------



Last meeting in DA :-) (Ark, 26. Nov 1998, 19:10:32):
So, wenn ich mich an letztes Jahr noch erinnere, war die Idee mit dem
Weihnachtsmarktbesuch mit anschliessendem Stammtisch nicht sooo prall
aufgenommen worden. Deshalb vielleicht nur der Vorschlag zum letzten
Stammtisch im Dezember: 18. oder 19., wer Lust hat, kann ja bekunden, ob nicht
doch irgendwas marktmaessiges in Frage kaeme, ich waer dabei. Kommentare bitte
nicht an mich, ich bin naechste Woche erst wieder am Do oder Fr da, also die,
die in Frage kommen, bitte einigt Euch schon mal wegen des Termins (die oben
sind nur Vorschlaege!).
CU soon,


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



gips das eigentlich noch? (Wurzel, 26. Nov 1998, 20:58:57):
hmm...

gibt es eigentlich wieder den jahresend-stmmtisch in koeln? bin da um die
zeit wieder inder naehe...

wurzel

-----------------------------------------------------------------------------



Re: Last meeting in DA :-) (Anacrion, 27. Nov 1998, 00:38:31):
~#! rn=Ark rt=912107432 rg=treffen
~#! tid=912107432
Gar nicht gut. Alle beide nicht. Schlafe den. aeh. 17.12. vor .... ist auch
nicht toll, aber 18. und 19. geht definitiv nicht.

Anac*

-----------------------------------------------------------------------------



Re: Last meeting in DA :-) (Zephyr, 27. Nov 1998, 00:39:45):
~#! rn=Ark rt=912107432 rg=treffen
~#! tid=912107432
Tryfan und mich musste dann auch streichen. WE davor ginge allerdings.
C4

-----------------------------------------------------------------------------



Re: Re: Last meeting in DA :-) (Anacrion, 27. Nov 1998, 00:42:25):
~#! rn=Zephyr rt=912127185 rg=treffen
~#! tid=912107432

Also ich hab mich mal mit C4 auf den oelften zwoelften (in Zahlen: 11.12 )
geeinigt :) weiter zusagen mit nummerierung bitte in dieser rubrik

Anac* (1, 2 und 3 ) :)

-----------------------------------------------------------------------------



Re: Stammtisch in Do (Teddy, 27. Nov 1998, 00:53:25):
~#! rn=Aline rt=912092584 rg=treffen
~#! tid=912092584
Bin diesmal verhindert, auch wenns keiner wissen will ;)

Teddy

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Do (Morgoth, 27. Nov 1998, 08:37:13):
~#! rn=Teddy rt=912128005 rg=treffen
~#! tid=912092584
Natuerlich wollen wirs wissen, damit wir uns freuen koennen ;-))
M*

-----------------------------------------------------------------------------



Re^3: Stammtisch in Do (Paracelsus, 27. Nov 1998, 09:22:01):
~#! rn=Morgoth rt=912155833 rg=treffen
~#! tid=912092584
Na dann sag ich jetzt besser nicht, dass ich hoechstwahrscheinlich auch nicht
komme.

Para.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Do (Boing, 27. Nov 1998, 09:26:09):
~#! rn=Paracelsus rt=912158521 rg=treffen
~#! tid=912092584
Ich komme wohl auch nicht.
  Boing

-----------------------------------------------------------------------------



Re^5: Stammtisch in Do (Nonne, 27. Nov 1998, 09:52:37):
~#! rn=Boing rt=912158769 rg=treffen
~#! tid=912092584
Auch keine Zeit, da ist ne Party mit lecker Maedschen bei uns im Haus...

Nonne.

-----------------------------------------------------------------------------



Re^6: Stammtisch in Do (Ringor, 27. Nov 1998, 11:07:31):
~#! rn=Nonne rt=912160357 rg=treffen
~#! tid=912092584
Na richtig voll wird's bei diesem Stammtisch dann wohl wirklich nicht.

Ringor. Noch einer weniger.

-----------------------------------------------------------------------------



Re^7: Stammtisch in Do (Nonne, 27. Nov 1998, 11:08:23):
~#! rn=Ringor rt=912164851 rg=treffen
~#! tid=912092584
Vielleicht sollte man den Stammtisch verschieben, sonst sitzt Morgoth da ganz
alleine.

-----------------------------------------------------------------------------



DA (Teasel, 27. Nov 1998, 11:43:34):
Warum nicht der 12.12.? 

-----------------------------------------------------------------------------



Re^6: Stammtisch in Do (Sharia, 27. Nov 1998, 12:35:10):
~#! rn=Nonne rt=912160357 rg=treffen
~#! tid=912092584
ich komm auch nich
nn
aehm Sharia

-----------------------------------------------------------------------------



Re^7: Stammtisch in Do (Orktoeter, 27. Nov 1998, 12:38:05):
~#! rn=Sharia rt=912170110 rg=treffen
~#! tid=912092584
Naja, bevor er ganz abgesagt wird, Arkana und meine wenigkeit kommen (aber ob
das nicht eher abschreckend wirkt weiss ich auch nicht) :)

OrkT.

-----------------------------------------------------------------------------



Re^7: Stammtisch in Do (Mindblade, 27. Nov 1998, 14:30:59):
~#! rn=Ringor rt=912164851 rg=treffen
~#! tid=912092584
Alles Luschen, kann ja gar nicht sein. Ich bin enttaeuscht!;)
Mind*, kommt auf jeden Fall!:)

-----------------------------------------------------------------------------



Re^8: Stammtisch in Do (Xand, 27. Nov 1998, 14:35:59):
~#! rn=Mindblade rt=912177059 rg=treffen
~#! tid=912092584
Naja dann wird es eben nicht so voll...

werde aber auch auf jeden Fall da sein

-----------------------------------------------------------------------------



Stammtisch in Hamburg (Bielefeld, 27. Nov 1998, 14:48:37):
Moin!

Es gibt mal wieder einen Stammtisch in Hamburg. Und zwar:
am 4. Dezember (Freitag)
ab 19:00 Uhr
in der Backatelle (direkt neben dem Grindelkino) - wer ein Wegescript
braucht, maile mich an...

-Bielefeld

-----------------------------------------------------------------------------



Sonder-Stammtisch in DO (Ringor, 27. Nov 1998, 15:06:05):
Da die Resonanz auf den ordentlichen Stammtisch nicht so richtig umwerfend ist
und der Dezember-Stammtisch am letzten Freitag im Monat auch recht ungeschickt
plaziert waere, hier mal ein kleiner Vorschlag fuer einen Sonder-Stammtisch:

Kombinierter Jahres-Abschluss-und-Weihnachts-und-ueberhaupt-Stammtisch am
Freitag, den 18.12.1998 ab 20:00 Uhr im Walhalla. 

Sozusagen letzte Chance in diesem Jahr. Irgendwelche Meinungen?

Ringor

-----------------------------------------------------------------------------



Re: Sonder-Stammtisch in DO (Mindblade, 27. Nov 1998, 15:07:58):
~#! rn=Ringor rt=912179165 rg=treffen
~#! tid=912179165
Hm, klingt ziemlich gut!:)
Sollte nichts Unvorhersehbares geschehen!
Babei, Mind* (1)

-----------------------------------------------------------------------------



Re: Re: Sonder-Stammtisch in DO (Xand, 27. Nov 1998, 15:09:41):
~#! rn=Mindblade rt=912179278 rg=treffen
~#! tid=912179165
Naja am 18 dann aber ohne mich, so wie es aussieht werde ich da wohl keine
Zeit haben :(

Xand

-----------------------------------------------------------------------------



Re^6: Stammtisch in Do (Teddy, 27. Nov 1998, 23:10:21):
~#! rn=Nonne rt=912160357 rg=treffen
~#! tid=912092584
Wo sind die Maedchen?

Teddy, sabbernd

-----------------------------------------------------------------------------



Stammtisch in Aachen (Menace, 29. Nov 1998, 23:42:37):
Am naechsen Freitag ist es wieder soweit, der allseits beliebte Stammtisch in
Aachen findet statt.
Zeit: Freitag 4.12.98 20.00 Uhr.
Ort:  Labyrinth auf der Pontstrasse in Aachen

Nachfragen und Wegbeschreibungen bei mir, oder wie immer bei Darkwing oder
Neb.

Bis Freitag, ich hoffe ihr kommt zahlreich und wir sind wieder so um die 20 
Leute! ;)

Menace

-----------------------------------------------------------------------------



Re^3: Last meeting in DA :-) (Wurzel, 30. Nov 1998, 20:20:16):
~#! rn=Anacrion rt=912127345 rg=treffen
~#! tid=912107432
trifft sich gut. ist voraussichtlich fuer laengere zeit mein letztes 
wochenende in darmstadt... komme :)

wurzel

-----------------------------------------------------------------------------



Re: DA (Anacrion, 30. Nov 1998, 21:15:57):
~#! rn=Teasel rt=912167014 rg=treffen
~#! tid=912167014
Da kann ich nicht ;)
Anac* - schmarrend

-----------------------------------------------------------------------------



Stammtisch in B (Birdy,  1. Dez 1998, 12:18:24):
Tja, da unser Kampfzwerg bisher noch nix bekanntgegeben hat, mach ich da jetzt
mal:
Kommet zahlreich und in Massen !
Hiermit wird kundgetan, dass am 4ten dieses Monats der abenteuerliche (auch
anderen Gilden wird der Zutritt nicht verwehrt)Stammtisch in derRykestrasse im
'seeblick' stattfindet.
Die Gastgeber werden auch diesmal wieder eine illustre Unterhaltung bieten:
-Strassenmusikanten aus aller Herren Laender,
-Verkaeufer europaeischer und aussereuropaeischer Flora,
-fahrende Haendler.

Der Gerstensaft wird wieder in Stroemen fliessen und die Frauen willig sein,
darum kommet alle wenn die Uhr 20mal geschlagen hat !

i.A. Birdy

-----------------------------------------------------------------------------



Re: Stammtisch in B (Key,  1. Dez 1998, 12:47:54):
~#! rn=Birdy rt=912514704 rg=treffen
~#! tid=912514704
Hmm ich wette das da nicht ein echter Kleriker auftaucht ...
"Frauen willig sein" Moensch echte Kleriker werden davon angeekelt! Die
brauchen Maenner!

Key schmarrnend ;)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in B (Mahatmu,  1. Dez 1998, 17:29:37):
~#! rn=Key rt=912516474 rg=treffen
~#! tid=912514704
Ich werde mich bemuehen mit Kandris MAcht die ORdnung aufrechtzuerhalten.
Allerdings erst ab halb zehn, bis dahin koennt ihr
herumorgeln.

Gloin

-----------------------------------------------------------------------------



Re^3: Stammtisch in B (Birdy,  1. Dez 1998, 21:01:21):
~#! rn=Mahatmu rt=912533377 rg=treffen
~#! tid=912514704
Jeder kleriker bringt einfach seinen zweitie , oder wars andersrum ?;)

Birdy

-----------------------------------------------------------------------------



Re: Stammtisch in B (Jameson,  1. Dez 1998, 21:43:49):
~#! rn=Birdy rt=912514704 rg=treffen
~#! tid=912514704
> darum kommet alle wenn die Uhr 20mal geschlagen hat !

dann kannste aber ewig warten :)

jAmeson

-----------------------------------------------------------------------------



Re: Sonder-Stammtisch in DO (Kartoffel,  2. Dez 1998, 22:05:08):
~#! rn=Ringor rt=912179165 rg=treffen
~#! tid=912179165
Klingt gut.

'Toffel - dann hoffentlich fitter

-----------------------------------------------------------------------------



Re^3: Stammtisch in B (Stopdenbus,  2. Dez 1998, 23:04:41):
~#! rn=Mahatmu rt=912533377 rg=treffen
~#! tid=912514704
ich kann leider net kommen, fahr scho am fr nachmittag nach Halle, na 
jedenfalls viel Spass da ! Und lasst euch net soviel krimskrams von den
fahrenden Haendlern aufschwatzen :)

SdB

-----------------------------------------------------------------------------



1. Intermud-Stammtisch in Magdeburg (Jehova,  2. Dez 1998, 23:31:31):

Hiermit moechte ich bekanntgeben, dass morgen (Donnerstag) der erste
Magdeburger Intermud-Stammtisch stattfindet. Eingeladen sind alle
MUD-Suechtigen, die den weiten Weg hierher nicht scheuen :)

Dieses Gross-Ereignis findet um 20 Uhr in der Kokospalme statt. Um zahlreiches
Erscheinen wird gebeten. Das MUD in welchem Ihr spielt ist dabei voellig egal.

Die besagte Oertlichkeit befindet sich direkt am Universitaetsplatz. Eine
ausfuehrliche Wegbeschreibung dahin gibt es bei Alpha@Morgengrauen oder
Largo@Wunderland.

Bis morgen dann, J*

-----------------------------------------------------------------------------



Re^3: Last meeting in DA :-) (Ark,  3. Dez 1998, 23:05:55):
~#! rn=Anacrion rt=912127345 rg=treffen
~#! tid=912107432
Ok, done, denn 12. und 13. sind bei mir nixe :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: 1. Intermud-Stammtisch in Magdeburg (Mieze,  4. Dez 1998, 16:50:02):
~#! rn=Jehova rt=912641491 rg=treffen
~#! tid=912641491

ohhje, jetzt weiss ich, was ich gestern vergessen hab... STammti in MD *seufz*


Mieze - total vergesslich

-----------------------------------------------------------------------------



Dezember-Stammtisch in DD (Zino,  5. Dez 1998, 23:47:52):
Moin,

am kommenden Donnerstag ist wieder wie ueblich Stammtisch in Dresden, wir
fangen um 21:00 Uhr inner Wu11 an.

Mahatma

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel,  6. Dez 1998, 21:52:40):

Es ist wieder soweit:: 

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 11.12. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

-----------------------------------------------------------------------------



Der Einzig Wahre Koelner Stammtisch (Grimmborn,  9. Dez 1998, 12:34:03):
Auch dieses Jahr wird es natuerlich einen Koelner Stammtisch rund um Neujahr
geben. Da dieser nur echt ist wenn von Zarniya organisiert muesst ihr euch
betreffs der Details mit ihm auseinandersetzen...

Grimmborn der Atheist sagt: Ueberall, aber nicht Borsalino!

-----------------------------------------------------------------------------



Stati in DA (Zephyr,  9. Dez 1998, 14:05:03):

Ich wollt noch mal an den Stati in Darmstadt erinnern; diesen
Freitag, 11.12. 20:00 Uhr im Hotzenplotz
C4

-----------------------------------------------------------------------------



Re: Der Einzig Wahre Koelner Stammtisch (Wurzel,  9. Dez 1998, 19:09:14):
~#! rn=Grimmborn rt=913206843 rg=treffen
~#! tid=913206843
malzmuehle war gut ("ein herr grimmborn wird am telefon verlangt"),
warum nicht wieder da?

wurzel

-----------------------------------------------------------------------------



Re: Re: Der Einzig Wahre Koelner Stammtisch (Teddy,  9. Dez 1998, 22:52:28):
~#! rn=Wurzel rt=913230554 rg=treffen
~#! tid=913206843
Hat aber ziemlich frueh dicht gemacht.

Teddy, fuer laengere Oeffnungszeiten ;)

-----------------------------------------------------------------------------



Re^3: Der Einzig Wahre Koelner Stammtisch (Zarniya, 10. Dez 1998, 11:14:57):
~#! rn=Teddy rt=913243948 rg=treffen
~#! tid=913206843
hmm hat mich eigentlich schon mal einer gefragt, ob es einen Stammtisch gibt? 

-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Teddy, 10. Dez 1998, 15:56:05):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843
OK, drueck ichs anders aus, wenn er stattfindet faend ichs klasse, wenn die
Oeffnungszeiten laenger als in der Malzmuehle und die getraenkeversorgung
besser als im Borsalino waere.

Teddy, (hoffentlich) diplomatisch ;)

-----------------------------------------------------------------------------



Re^5: Der Einzig Wahre Koelner Stammtisch (Bottom, 10. Dez 1998, 18:38:05):
~#! rn=Teddy rt=913305365 rg=treffen
~#! tid=913206843

als ob's in der Suedstadt nicht Kneipen satt gaebe...phhh!


-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Wurzel, 10. Dez 1998, 19:02:42):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843
ja. am 26.11. in dieser rubrik (derzeit artikel 17 :)

wurzel

-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Anakin, 11. Dez 1998, 12:47:07):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843

Muss man dazu dich fragen?

Anakin.

-----------------------------------------------------------------------------



Re^5: Der Einzig Wahre Koelner Stammtisch (Pra, 11. Dez 1998, 14:10:30):
~#! rn=Anakin rt=913380427 rg=treffen
~#! tid=913206843
Man sollte ihn fragen. Tu ich hiermit. Z*: Bitte, bitte, gibt es wieder 
einen Stammtisch in Koeln?

Pra.

-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Padreic, 12. Dez 1998, 09:34:15):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843
Zarniya ich bin doch ein wenig verwundert...
Wenn jemand mit einer Gemeinschaft nichts mehr zu tun haben will und ihr
sogar bewusst Schaden will, indem er seine Gebiete abhaengt, dann kann er
doch nicht gleichzeitig erwarten, das man mit ihm noch rechnet und/oder
irgendeine Ruecksicht auf ihn nimmt.
Sorry, aber zieh auch mal die wirklichen Konsequenzen und lass das Mud
seinen Weg gehn, es wird ihn sicherlich schaffen, auch ohne Dich. _Du_ warst
es der sich fuer diesen Schritt entschieden hat (zum Leid vieler Spieler).


                                    Padreic


-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Anacrion, 12. Dez 1998, 11:32:22):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843
Also jetzt platzt mir doch der Kragen .... so irgendwie ....

Ich hab mich ja aus dem ganzen Restaurations-/Hdf/Skowe-Thread rausgehalten,
weil ich das alles etwas kindisch finde, aber der Artikel geht doch deutlich
zu weit. Wenn in einer Rubrik steht, dass ein Stammtisch doch bitte von
ZarniYantro organisiert werden moege und der Betroffene meint, dass er, bevor
er das tun werde, gerne gefragt wuerde, dann ist das sein gutes Recht.
Ich weiss nicht, welch himmelschreiendes Unrecht Dir ZarniYantro zugefuegt
hat, Padreic, aber ein derart niedriges Niveau haette ich von Dir nicht
erwartet.

Anac*  (haengt langsam alles zum Hals raus)

-----------------------------------------------------------------------------



Koelner Traditionsgelage (Zarniya, 12. Dez 1998, 15:18:32):
Hi, 

eigentlich wollte ich mit dem MG aktiv nichts mehr zu tun haben und ich hab
mich auch ein wenig gewehrt, dass hier einfach ueber meinen Kopf bestimmt
wird, dass ich einen Stammtisch organisieren soll, aber ich hab auf der
anderen Seite hier einige echte Freunde und die haben mich gebeten, doch
wenigstens einen Ort und Termin festzulegen, denn sie wuerden doch gern weiter
der Tradition folgen. Also leg ich mal nen Termin fest und nen Ort.
Wegbeschreibung kommt spaeter, ich werd auch keine 60 PLaetze reservieren. Wir
machen es mal typisch koelsch a la "Et kuett, wie et Kuett". Platz findet sich
immer und wenns eng wird, dann ist das halt so :)

Also: Koelner Traditionsstammtisch ist am 

                 Freitag, der 08.01.1999    ab 19 Uhr 

                 im "The Harp"  Zwischen Friesenplatz und Suedbahnhof

Im Gegensatz zum Limeriks, wo immer das Orktoeterische Plagiat stattfindet,
ist das der einzig wahre und echte Koelner Irisch Pub. Zu essen gibt es da
auch was.... wobei ich nach 4-5 Guinness eigentlich keinen Hunger mehr hab. :)

Marc

-----------------------------------------------------------------------------



Re^5: Der Einzig Wahre Koelner Stammtisch (Anatol, 12. Dez 1998, 17:21:54):
~#! rn=Padreic rt=913455255 rg=treffen
~#! tid=913206843
Deinen Mangel der Faehigkeit, sich in die Situation anderer Leute ver-
setzen zu koennen und deren Beweggruende auch nur zu erahnen, ist doch
inzwischen bekannt - Du brauchst das nicht staendig neu zu beweisen.

Anatol


-----------------------------------------------------------------------------



Re^4: Der Einzig Wahre Koelner Stammtisch (Grimmborn, 12. Dez 1998, 21:46:52):
~#! rn=Zarniya rt=913288497 rg=treffen
~#! tid=913206843
Nein. Dich hat auch keiner gefragt, ob Du der Schwerkraft folgen willst wenn
Du aus dem Fenster springst. Es gibt einen Koelner Stammtisch um die
Jahreswende, und der wird von Dir organisiert. Das ist in etwa eine Klasse mit
der Gravitation, dem Planck'schen Wirkungsquantum und der
Lichtgeschwindigkeit. Da kommst Du nicht dran vorbei. ;-)

Ich will jetzt nicht anfangen zu kritteln, aber der 8. ist schon spaet, da hat
hier und dort schon die Uni wieder angefangen. Wie siehts mit dem 2. aus? Mir
ists ja egal, ich komme eh...

Harp ist klasse, prima Getraenke. Mein Tip: Frueh kommen. Das ist nicht die
Koelnarena... ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Der Einzig Wahre Koelner Stammtisch (Zarniya, 12. Dez 1998, 21:49:48):
~#! rn=Grimmborn rt=913499212 rg=treffen
~#! tid=913206843
also: im Jahr 1998 kann ich nicht, Neujahr ist ein Freitag, also als Tag
schlecht... Samstags kann ich aus prinzip nicht, wegen meinem Job Sonntags.
Dann ist der 8.1. der erste Freitag danach, denn Freitags geht es eher als in
der Woche.

Marc

-----------------------------------------------------------------------------



Re^5: Der Einzig Wahre Koelner Stammtisch (Lug, 12. Dez 1998, 23:24:11):
~#! rn=Padreic rt=913455255 rg=treffen
~#! tid=913206843
Ist es eigentlich nie genug?
Fuehlst Du Dich beim Nachtreten so gut wie ich es tun wuerde?
Macht es Dir besonderen Spass?
Momentan schreibt Zarn hier doch selten gemaessigt, man koennte ihm doch echt
mal eine Chance geben. Aber nein, man  muss immer noch eins draufgeben.

Toll, ich werd wohl Christ...
lug

-----------------------------------------------------------------------------



Re: Sonder-Stammtisch in DO (Morgoth, 14. Dez 1998, 12:31:39):
~#! rn=Ringor rt=912179165 rg=treffen
~#! tid=912179165
Also Leute, bisher etwas Mager.

STAAAAAAAAAAAAAAMMTIIIIIIIIIIIIIIIIISCH !!!!!!!!!!!!!!!!!

Am 18.12. im Walhalla um 2000h. 

Morgoth is dabei....und jezz los, melden Leute

-----------------------------------------------------------------------------



Re: Re: Sonder-Stammtisch in DO (Gorog, 14. Dez 1998, 12:33:24):
~#! rn=Morgoth rt=913638699 rg=treffen
~#! tid=912179165
Bei zuverfuegungstehender Fahrgelegenheit:

Gorog (2) und Fahrer (3)

Brandir wars glaube ich (;

-----------------------------------------------------------------------------



MS-Stati (Gorog, 14. Dez 1998, 12:34:55):
Aehm war das letzte Woche schon so oder hat das Alabama die Preise erst am
Wochenende um 3 DM erhoeht??

Gorog, der wohl nicht kommt diese Woche, allerdings nciht wegen der Preise.

-----------------------------------------------------------------------------



Re: MS-Stati (Catweazle, 14. Dez 1998, 14:52:14):
~#! rn=Gorog rt=913638895 rg=treffen
~#! tid=913638895
Jaaaa, das war letzte Woche schon so. Ich hab mich auch gleich beschwert, das
grenzt an Unverschaemtheit. Wollen wir mal ne neue Stammkneipe suchen? :)
Ich kann uebrigens diesen Dienstag auch nicht, ich muss schon Feuerzangenbowle
trinken. Aber ne ganze Woche ohne Stammtisch komm ich zurecht...
Aehm, Brandir? Stupse? /obj/money? EPs? *huestel*

YTC

-----------------------------------------------------------------------------



   *S*T*A*T*I*   *1* (Snowy, 14. Dez 1998, 16:28:56):
                                 _
                              __{_}_
                            .'______'-.
                          _:-'      `'-:
                     _   /   _______    `\
                  .-' \  \.-'       `'--./
                .'  \  \ /  () ___ ()    \
                \ \\\#  ||    (___)      |
                 \  #\\_||   '.___.'     |
                  \___|\  \_________.--./
                       \\ |         \   \--.
                        \\/_________/   /   `\       ,
                        .\\        /`--;`-.   `-.__.'/
                       / _\\   ,_.'   _/ \ \        /
                      |    `\   \   /`    | '.___.-'
                       \____/\   '--\____/
                      /      \\           \
                     |        \\           |
                     |         \\          |
                     |          \\         |
                     \           \\        /::.:::..
                      '.___..-.__.\\__.__.':::::::'''''

*SNOWY*SNOWMAN* laedt ein. Siehe naechster Artikel.

-----------------------------------------------------------------------------



   *S*T*A*T*I*   *2* (Snowy, 14. Dez 1998, 16:30:16):


    Es ist wieder mal soweit: Ein wunderschoener Abend steht uns bevor:
    
    
         *SNOWY*SNOWMAN*   hat einen   *S*T*A*T*I*   organisiert !!!
    
    
    Er findet statt: am 18.12.1998            um 20." Uhr
    
                   wie immer im Viertel Nach im Bueltenweg in Braunschweig.
    
    
    *SNOWY*SNOWMAN*   raet Euch langsam und vorsichtig dort hinzukommen,
    
    da es so richtig glatt und rutschig ist.
    
    Und bitte zieht Euch schoen warm an, denn es ist bitterkalt.
    
    
    
         *SNOWY*SNOWMAN*  hofft, dass Ihr zahlreich erscheint.
    
    
    
    Bitte sagt ihm vorher Bescheid unter folgender email-adresse
    
    *********************   Snowy@mg.mud.de   ************************
    
       Bis dann. Euer  *SNOWY*SNOWMAN* !!!
    
    ******************************************************************
    
    Da dieser    *S*T*A*T*I*   in Absprache mit Qitess, Festin und
    Jasonrigid organisiert wurde, kommen die drei natuerlich und sind
    auch schon angemeldet.
    
    ******************************************************************


-----------------------------------------------------------------------------



   *S*T*A*T*I*   *3* (Newsflash, 14. Dez 1998, 16:31:56):
    
    
    * NEWS-FLASH * Ein ploetzlicher warmer Wind ist ue-  * NEWS-FLASH *
    * NEWS-FLASH * ber dieses Winter-Wunderland gekommen.* NEWS-FLASH *
    * NEWS-FLASH * *SNOWY*SNOWMAN* sah sich dadurch lei- * NEWS-FLASH *
    * NEWS-FLASH * der gezwungen in kaeltere Gefilde ue- * NEWS-FLASH *
    * NEWS-FLASH * berzusiedeln. Aus diesem Grunde kann  * NEWS-FLASH *
    * NEWS-FLASH * *SNOWY*SNOWMAN* leider nicht am naech-* NEWS-FLASH *
    * NEWS-FLASH * sten   *S*T*A*T*I*   teilnehmen. * NEWS-FLASH *

:)

-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*   *3* (Anatol, 14. Dez 1998, 16:33:26):
~#! rn=Newsflash rt=913653116 rg=treffen
~#! tid=913653116
Du bist so doof wie drei Meter Blumenkohlbeet.

Anatol, kann es nicht besser ausdruecken


-----------------------------------------------------------------------------



Re:    *S*T*A*T*I*   *3* (Pra, 14. Dez 1998, 18:00:07):
~#! rn=Newsflash rt=913653116 rg=treffen
~#! tid=913653116
koennt ihr euch nicht mal angewoehnen, wenn ihr von einen Stati redet,
auch bitte gleich die Stadt im selben Atemzug zu nennen? Muss man sich erst
durch die MPA wuehlen oder rumfingern, bis man ahnt, um welche Stadt es
geht?

Pra. Grummelnd. Ist doch wahr.

-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*   *3* (Jasonrigid, 15. Dez 1998, 10:58:12):
~#! rn=Pra rt=913658407 rg=treffen
~#! tid=913653116

Naja, da zu den Braunschweiger Statis ausser ein paar aus Magdeburg ja eh nie
einer von Euch kommt (und eh ich jetzt gesagt bekomme, ja, weil ihr ja nie
sagt, in welcher Stadt das ist, es kamen auch keine, als ich das organisiert
habe, und ich HABE die Stadt in den Titel gesetzt) ... und die BSler wissens
auch so. Und ausserdem gibt es ja auch noch die Mundpropaganda ... und
ausserdem ist *S*T*A*T*I* schon sprechende genug, das wurde bisher in keiner
anderen Stadt gemacht ausser BS ... und ausserdem :

Keine ausserdems mehr, lieber fuesse stillhalten,

Jason hat es sich ueberlegt, verlegt das mal einer nach Schmarrn ;)

-----------------------------------------------------------------------------



Re^3: Sonder-Stammtisch in DO (Teddy, 15. Dez 1998, 14:49:41):
~#! rn=Gorog rt=913638804 rg=treffen
~#! tid=912179165
Teddy (4) mit Pfeife (5), zumindest wenn alles gutgeht 

Teddy

-----------------------------------------------------------------------------



Re^4: Sonder-Stammtisch in DO (Morgoth, 15. Dez 1998, 14:50:09):
~#! rn=Teddy rt=913733381 rg=treffen
~#! tid=912179165
Argl (-1) 

M* ;-)))

-----------------------------------------------------------------------------



Re^5: Sonder-Stammtisch in DO (Teddy, 15. Dez 1998, 14:50:37):
~#! rn=Morgoth rt=913733409 rg=treffen
~#! tid=912179165
Ah, dann kann der Stammtisch ja doch noch schoen werden ;)

Teddy

-----------------------------------------------------------------------------



Re^4: Sonder-Stammtisch in DO (Trancefear, 15. Dez 1998, 20:18:32):
~#! rn=Teddy rt=913733381 rg=treffen
~#! tid=912179165
TF (6) wenn ich zeit hab. wahrschweinlich ja

tf

-----------------------------------------------------------------------------



Re: Re:    *S*T*A*T*I*   *3* (Qitess, 15. Dez 1998, 20:55:47):
~#! rn=Pra rt=913658407 rg=treffen
~#! tid=913653116
es steht immer bei: wie immer im viertel nach im bueltenweg in braunschweig.
damit sollte wohl klar sein, in welcher stadt er stattfindet.
im uebrigen gibt es nur EINEN   *S*T*A*T*I*   und zwar den aus braunschweig.

QI** aufklaerend.

P.S.: Der Name   *S*T*A*T*I*  ist uebrigens bald patentiert. ;)

-----------------------------------------------------------------------------



Re: Re: Sonder-Stammtisch in DO (Kartoffel, 15. Dez 1998, 22:27:47):
~#! rn=Morgoth rt=913638699 rg=treffen
~#! tid=912179165
Hab doch schon gesacht, dass ich angekullert komm...

'Toffel

-----------------------------------------------------------------------------



Re^5: Sonder-Stammtisch in DO (Knurt, 16. Dez 1998, 00:30:33):
~#! rn=Trancefear rt=913753112 rg=treffen
~#! tid=912179165
knurt kommt nicht.
koennt ihr nicht _einmal_ nen stammtisch machen wenn kein heimspiel ist???

-----------------------------------------------------------------------------



Re^6: Sonder-Stammtisch in DO (Morgoth, 16. Dez 1998, 00:36:19):
~#! rn=Knurt rt=913768233 rg=treffen
~#! tid=912179165
Tja, wen interessiert Fussball???

M*

-----------------------------------------------------------------------------



Re^7: Sonder-Stammtisch in DO (Knurt, 16. Dez 1998, 00:36:33):
~#! rn=Morgoth rt=913768579 rg=treffen
~#! tid=912179165
mich

-----------------------------------------------------------------------------



Re^8: Sonder-Stammtisch in DO (Nonne, 16. Dez 1998, 09:46:06):
~#! rn=Knurt rt=913768593 rg=treffen
~#! tid=912179165
Ich(7) komme auch, obwohl heimspiel ist, ich fussballinteressiert bin und noch
3 andere partys sind ;) aber der abend ist ja lang ....

Nonne.

-----------------------------------------------------------------------------



Re^7: Sonder-Stammtisch in DO (Mindblade, 16. Dez 1998, 18:04:21):
~#! rn=Morgoth rt=913768579 rg=treffen
~#! tid=912179165
Genau Knurt, wen interresiert Fussball??:)

-----------------------------------------------------------------------------



Re^6: Sonder-Stammtisch in DO (Ringor, 17. Dez 1998, 10:24:49):
~#! rn=Knurt rt=913768233 rg=treffen
~#! tid=912179165
Das mit dem Stammtisch, wenn *kein* Heimspiel ist, ist recht schwer geworden
in letzter Zeit. Die spielen die letzten Wochen ja nur noch hier ;-)

Ringor

-----------------------------------------------------------------------------



Re^7: Sonder-Stammtisch in DO (Nonne, 17. Dez 1998, 10:26:31):
~#! rn=Ringor rt=913890289 rg=treffen
~#! tid=912179165
vieleicht sollte man dann den stammtisch auf den donnerstag legen, wenn
heimspiel ist. Freitags ist eh immer was los. diesen freitag sind 4(!) party
und ich muss mir vorher ueberlegen, wo wohl die huebscheren fraunen sind. ;)

Nonne.

-----------------------------------------------------------------------------



Re^8: Sonder-Stammtisch in DO (Novastorm, 17. Dez 1998, 10:27:43):
~#! rn=Nonne rt=913890391 rg=treffen
~#! tid=912179165
Tztztz...
Huebschere Frauen ?
a) Kleriker
b) Mudder 
c) gar keine Chance! .)


-----------------------------------------------------------------------------



Re^9: Sonder-Stammtisch in DO (Morgoth, 17. Dez 1998, 11:23:50):
~#! rn=Novastorm rt=913890463 rg=treffen
~#! tid=912179165
Seit wann bist Du Kleriker?

-----------------------------------------------------------------------------



Re^9: Sonder-Stammtisch in DO (Nonne, 17. Dez 1998, 11:25:43):
~#! rn=Novastorm rt=913890463 rg=treffen
~#! tid=912179165
a) gutaussehend.
b) intelligent.
c) ich kann sie alle haben

*ironie off*

Nonne.

-----------------------------------------------------------------------------



stammtisch in B (Gnome, 28. Dez 1998, 22:35:08):
hi,

bevor ichs vergesse: da der regulaere stammtisch auf den 01.01.1999 fallen
wuerde, muessen wir den natuerlich um 1 woche nach hinten verschieben.
also am 08.01.1999 um 20.00 h im seeblick.
das selig aht zwar wieder auf, aber damit beim naechsten stammtisch
nicht die haelfte da und die andere haelfte dort zu finden ist, fangen
wir das neue jahr im seeblick an :)

gnOme

-----------------------------------------------------------------------------



Re: stammtisch in B (Stopdenbus, 29. Dez 1998, 02:05:18):
~#! rn=Gnome rt=914884508 rg=treffen
~#! tid=914884508
oh super !!! Selig wieder auf *jubel* Da machen wir dann aba den
uebernaechsten
Stammtisch, oki ?
Bin am 8.1 dabei

Jani

-----------------------------------------------------------------------------



Re: Re: stammtisch in B (Grimmborn, 30. Dez 1998, 01:42:21):
~#! rn=Stopdenbus rt=914897118 rg=treffen
~#! tid=914884508
Der Stammtisch am 8.1. findet natuerlich nicht im Seeblick sondern in Koeln
statt.

GdA

-----------------------------------------------------------------------------



Re^3: stammtisch in B (Kartoffel,  1. Jan 1999, 22:07:57):
~#! rn=Grimmborn rt=914982141 rg=treffen
~#! tid=914884508
Hoi zusammen,

ich wuerd gern mal wissen, ob der Neujahrsstammtisch jetzt defintiv
organisiert ist, oder es bei Yantros Terminfestlegung und der Weigerung mehr
zu tun geblieben ist.

'Toffel - hat sonst naemlich am 8. den regulaeren Duesseldorfer Stammtisch im
Terminkalender

-----------------------------------------------------------------------------



Re^4: stammtisch in B (Grimmborn,  3. Jan 1999, 00:09:48):
~#! rn=Kartoffel rt=915228477 rg=treffen
~#! tid=914884508
Was genau fehlt Dir? Der Stammtisch ist doch soweit organisiert, oder nicht?

Grimmborn der Atheist (ist am Freitag jedenfalls da)

-----------------------------------------------------------------------------



Erinnerung (Grimmborn,  3. Jan 1999, 00:22:26):
Weil anscheinend nicht jeder mit der mpa umgehen kann (Tip: hilfe mpa, rubrik
treffen, inhalt, artikel <nr>) hier nochmal eine Erinnerung:

Freitag, 08.01.1999 ab 19 Uhr im "The Harp" zwischen Friesenplatz und
Westbahnhof (fragt mich jetzt nicht wie die Strasse heisst. Vom Friesenplatz
halt die grosse Strasse stadtauswaerts). Nettes Guinness, netter Cider, ein
paar nette Leute vermutlich auch. Schaunmermal.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Stammtisch D'dorf verlegt (Kartoffel,  3. Jan 1999, 23:19:59):

Da am 8.1. Neujahrstreffen in Koeln ist, verschieben wir den Duesseldorfer
Stammtisch um 2 Wochen auf den 22.1.: 

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 22.1. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel


-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing,  4. Jan 1999, 22:41:08):
Huhu :)

Und auch dieses Jahr gibt es in Aachen noch einen Stammtisch :-)

Freitag, 8.1. ab 20h im Labyrinth, wer den Weg nicht kennt kann sich kurz bei
Neb oder mir melden.

Ich hoffe wir sehn uns, bis denn!

Darkwing

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Grimmborn,  4. Jan 1999, 22:56:27):
~#! rn=Darkwing rt=915489668 rg=treffen
~#! tid=915489668
Der Aachener Stammtisch kann natuerlich am 8.1. nicht stattfinden, da findet
schon der Koelner statt. Im "The Harp". Dafuer schon ab 19.30.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Aachen (Neb,  4. Jan 1999, 23:00:02):
~#! rn=Grimmborn rt=915490587 rg=treffen
~#! tid=915489668
Also, wenn ich ja bisher auch nur je einen Koelner auf dem Aachener Stammtisch
gesehen haette, waer das nen Grund, Grimmborn, aber auch nur dann ;)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Aachen (Grimmborn,  4. Jan 1999, 23:02:10):
~#! rn=Neb rt=915490802 rg=treffen
~#! tid=915489668
1. Was Du siehst oder nicht siehst ist generell irrelevant.
2. Wir reden nicht von irgendwelchen Zusammenkuenften, wir reden von
   _DEM_ Koelner Stammtisch, nur echt wenn von Yant^WZarniya organisiert
   und um den Jahreswechsel herum stattfindend.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Stammtisch in Aachen (Neb,  4. Jan 1999, 23:03:26):
~#! rn=Grimmborn rt=915490930 rg=treffen
~#! tid=915489668
Na gut,
also wenn das so ist, duerft Ihr euren ECHTEN koelner Stammtisch natuerlich
gerne _neben_ dem Aachener Stammtisch am 8.1. machen, kein Problem ;)

-----------------------------------------------------------------------------



The Harp (Zarniya,  5. Jan 1999, 10:58:44):
Hi nochmals...

nachdem mein Manager Grimmborn so fleissig schreibt, nochmal eine
Bestaetigung:

Am Freitag, den 8.1.1999 findet in Koeln wieder ein unglaublich wichtiger
Stammtisch statt. Diesmal ab 19 Uhr im irisch Pub "The Harp", der sich auf der
Koelner Hauptverkehrsader namens VENLOERSTRASSE zwischen dem Westbahnhof und
dem friesenplatz befindet. Beides ist unter 5 Minuten Fussweg zu erreichen,
der Friesenplatz ist auch nur 2 UBahnstationen vom Hauptbahnhof weg. Der
Westbahnhof ist nur eine Station vom HBf weg. Parken ist da mitten in der
Innenstadt eigentlich nicht sooo dolle, aber rund um den Westbahnhof gibt es
einige Straesschen, und Parkplaetzchen, die es tun. Lasst euch nicht
abschrecken durch Schilder, denn es gibt in Koeln seit letztem Jahr KEINE
Anwohnerparkplaetze mehr (die sind illegal). 

Aufpassen muesst ihr, dass ihr nicht den Namen "The Harp" vergesst, denn so 20
m weiter nicht noch ein irish Pub, der ist aber nicht so kultig. Ich werd
heute versuchen, so 1-2 Tischlein zu reservieren, aber es kommt ja eh keiner.
:)

Wer eine noch genauere Wegbeschreibung haben will, der soll mir mailen. 

oder Grimmborn :)

Marc

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig (Jasonrigid,  6. Jan 1999, 15:04:23):

Hiho, frohes neues Jahr wuensche ich allen.

Der erste *S*T*A*T*I* im neuen Jahr findet statt :

Am Freitag, den 15.1.1999 um 20.00 Uhr im Viertel Nach

Es werden auf jeden Fall da sein :

Qitess, Festin, JasonRigid, Hanshansen und Ingramosch


Wenn jemand von Euch auch kommen moechte, dann bitte mail an Qitess


Bis denne


Jason

-----------------------------------------------------------------------------



Re: The Harp (Key,  6. Jan 1999, 16:46:01):
~#! rn=Zarniya rt=915533924 rg=treffen
~#! tid=915533924
*kicher*
Zu den Parkplaetzen faellt mir nur nen Bericht ein im TV ..
Ob was wahres dran ist kann man also nicht wissen ...
Ging jedenfalls dadrum das die Stadt alle Parkplaetze im Stadtbereich zu
Anwohnerparkplaetzen machte und fleissig knoellchen verteilte :)

Key hat nen seltsamem Humor ;)

-----------------------------------------------------------------------------



   *S*T*A*T*I*    (Qitess,  7. Jan 1999, 12:59:11):
HEJHO MUDDIES !!!!

Der erste 

             *S*T*A*T*I*

                         in diesem Jahr ist jetzt faellig!

Der naechste Termin ist fuer den
    
    15.01.1999 (Freitag)
                         festgesetzt.

Lokalitaet wie immer das  ViertelNach im Bueltenweg in Braunschweig.
  Zeit auch wie immer um  20:00 Uhr.

Ich hoffe ihr werdet mal wieder zahlreich erscheinen.
Gaeste aus Uebersee sind immer hartelig welkom, aber die muessten sich
selber um eine Bleibe kuemmern tun.

In diesem Sinne 
                - ab in die Rinne !

Das Kompromittee (Qitess & Festin)
Der Jasonrigid

QI**



 

-----------------------------------------------------------------------------



Januar-Stammtisch in Dresden (Zino,  7. Jan 1999, 14:34:02):
Der Dresdener Januar-Stammtisch ist wie gehabt am 2. Donnerstag des Monats,
das ist der 14.01.99, um 21.00 Uhr in der Wu11.

Mahatma

-----------------------------------------------------------------------------



stammtisch (Muadib,  7. Jan 1999, 14:41:14):
hi,

da es mode zu sein scheint: der karlsruher intermud stammtisch ist jeden 
donnerstag (fast) um 20.00h im kleinen meierhof

mua

-----------------------------------------------------------------------------



endlich... -> Treffen in Muenchen (Reaper,  7. Jan 1999, 15:41:10):

So, liebe muenchener Mudkollegen... es ist wieder soweit.
Das zweite offizielle Mud-Treffen in Muenchen steht jetzt an, und 
wird voraussichtlich in der ersten Februarwoche 
(Freitag, 5. Februar) stattfinden.

Erwartet werden wieder ca. 15 Mudder, und als besonderer Gast wird 
wahrscheinlich sogar der Sterbemeister Key anwesend sein *grins*
                               Bitte nagelt mich noch nicht 100%ig auf den
Termin fest.
Moeglicherweise wird das Treffen sogar eine Woche vorverlegt,
bzw. verschoben.  (erste Einwaende kamen schon...)
Fuer eine Anregung WO das ganze diesmal stattfinden wird bin ich 
jederzeit dankbar. Acrimon hat dazu schon seine Vorschlaege gebracht,
aber die hab ich inzwischen wieder vergessen...  :o) (lange her...*g*)

Ne Karte und die ueblichen Infos kommen wie gehabt noch rechtzeitig
ins Netz. (http://www.dmsp.com/service/mg)

Alle Muenchener sollten hiermit also schonmal vorgewarnt sein.
Also -> fleissig weiter MPA lesen :o)

ein organisierender
Reaper

-----------------------------------------------------------------------------



Re: endlich... -> Treffen in Muenchen (Calimera,  7. Jan 1999, 17:36:44):
~#! rn=Reaper rt=915723670 rg=treffen
~#! tid=915723670
ICH bin entsetzt !

schmollend 
Calimera

dann frag mich net wann ich kann, wenns dann doch der Tag is... ;(

-----------------------------------------------------------------------------



Re: Re: endlich... -> Treffen in Muenchen (Teddy,  7. Jan 1999, 17:37:20):
~#! rn=Calimera rt=915730604 rg=treffen
~#! tid=915723670
Deswegen hat er ja vermutlich gefragt ;)

Teddy

-----------------------------------------------------------------------------



Re^3: endlich... -> Treffen in Muenchen (Calimera,  7. Jan 1999, 17:37:49):
~#! rn=Teddy rt=915730640 rg=treffen
~#! tid=915723670
Boeser

-----------------------------------------------------------------------------



Re^4: endlich... -> Treffen in Muenchen (Teddy,  7. Jan 1999, 17:38:19):
~#! rn=Calimera rt=915730669 rg=treffen
~#! tid=915723670
Mehr davon ;-)

Teddy, ein ganz poeser Pursche

-----------------------------------------------------------------------------



Re^5: endlich... -> Treffen in Muenchen (Calimera,  7. Jan 1999, 17:42:02):
~#! rn=Teddy rt=915730699 rg=treffen
~#! tid=915723670
 Boykott ! :-)

-----------------------------------------------------------------------------



Re^4: endlich... -> Treffen in Muenchen (Reaper,  7. Jan 1999, 17:57:53):
~#! rn=Calimera rt=915730669 rg=treffen
~#! tid=915723670

Moeglicherweise wird das Treffen sogar eine Woche vorverlegt,
bzw. verschoben.  (zweite Einwaende kamen schon...)

grinsend
Reaper


-----------------------------------------------------------------------------



Re^5: endlich... -> Treffen in Muenchen (Calimera,  7. Jan 1999, 17:58:32):
~#! rn=Reaper rt=915731873 rg=treffen
~#! tid=915723670
solanges nicht wieder 2 wochen nach vorne sind :-))

Cali*

-----------------------------------------------------------------------------



Re^5: endlich... -> Treffen in Muenchen (Reaper,  7. Jan 1999, 17:59:10):
~#! rn=Reaper rt=915731873 rg=treffen
~#! tid=915723670

eher wieder 1/2 Jahr nach hinten....... :o(

Reaper

-----------------------------------------------------------------------------



Re^6: endlich... -> Treffen in Muenchen (Key,  7. Jan 1999, 20:02:32):
~#! rn=Calimera rt=915731912 rg=treffen
~#! tid=915723670
*huestel*
Aeh also ich glaub ich bin erst ne Woche spaeter da ;)

Key

-----------------------------------------------------------------------------



Re^7: endlich... -> Treffen in Muenchen (Wurzel,  7. Jan 1999, 20:23:30):
~#! rn=Key rt=915739352 rg=treffen
~#! tid=915723670
hm, solange es nicht maerz wird, bin ich wohl mit dabei... evtl mit zweiti.

wurzel

-----------------------------------------------------------------------------



Treffen in Os (Simarillion,  8. Jan 1999, 01:32:58):
Hallo,
wenn intereese besteht, 2. dienstag im februar im Gruenen jaeger zu OS,
Antworten bitte an Telya
Telya

-----------------------------------------------------------------------------



Re: Treffen in Os (Trancefear,  8. Jan 1999, 01:34:08):
~#! rn=Simarillion rt=915759178 rg=treffen
~#! tid=915759178
(1)

-----------------------------------------------------------------------------



Re: Re: Treffen in Os (Gorog,  8. Jan 1999, 14:19:54):
~#! rn=Trancefear rt=915759248 rg=treffen
~#! tid=915759178
(2) (3) ?!

-----------------------------------------------------------------------------



Am 14. gibt's nen Stammtisch in Magdeburg (Jehova,  8. Jan 1999, 19:14:04):

Am Donnerstag, den 14.01.1999 findet um 21 Uhr der erste Intermudstammtisch im
neuen Jahr statt. Ort ist wie immer die Kokospalme (direkt am Uni-Platz). Um
zahlreiches Erscheinen wird gebeten.

CU, J*

-----------------------------------------------------------------------------



stati Muenster (Gorog,  9. Jan 1999, 14:03:26):
Aehm is das jetzt noch im Alabama oder schon im Cuba?

Gorog wollts nur mal wissen.

-----------------------------------------------------------------------------



Re^5: endlich... -> Treffen in Muenchen (Songoku,  9. Jan 1999, 15:16:40):
~#! rn=Reaper rt=915731873 rg=treffen
~#! tid=915723670
Mir Egal ich komme! (dies ist eine Drohung ;)
Sayonara!

-----------------------------------------------------------------------------



Re: endlich... -> Treffen in Muenchen (Reaper, 11. Jan 1999, 11:26:32):
~#! rn=Reaper rt=915723670 rg=treffen
~#! tid=915723670

So, wie erwartet wird das Treffen jetzt um eine Woche
verschoben. Das Datum ist dann also der 12.02.1999.

Stattfinden wird das ganz im 'Bella Italia' nicht weit
vom Hauptbahnhof entfernt und nicht schwer zu finden.

Die Adresse, eine Karte und genauere Infos werd ich 
heute noch ins Netz stellen, und zwar unter 
http://www.dmsp.com/service/mg

Ach ja, ich werde staendig gefragt wer denn alles hinkommt.
Es waere nett, wenn mir kurz bescheid sagen koennte wer
kommen will, dann schreib ich die Namen auf die Website und
kann ich mich auch um ne Tischreservierung etc. kuemmern.

Bis dann,
Reaper

-----------------------------------------------------------------------------



Re: Re: endlich... -> Treffen in Muenchen (Jimdigriz, 11. Jan 1999, 11:50:50):
~#! rn=Reaper rt=916053992 rg=treffen
~#! tid=915723670
Hiho,

aeh es gibt ziemlich viele 'Bella Italia's in Muenchen,
vermutlich sogar um die Hauptbahnhofgegend rum mehr als eins,
vielleicht magst Du noch andere Landmarken nennen, damits dann 
keine Missverstaendnisse gibt, genaue Adresse koennte
auch helfen.
Leider kann ich nicht dabeisein, weil ich genau diese
WE nach Kiel fahre. Falls da was dazwischenkommt, schau
ich aber vorbei,

Viel Spass,
 Jim DiGriz

-----------------------------------------------------------------------------



Re^3: endlich... -> Treffen in Muenchen (Anatol, 11. Jan 1999, 11:54:35):
~#! rn=Jimdigriz rt=916055450 rg=treffen
~#! tid=915723670
Dann kannst Du ja am Freitag in OS vorbeischauen :o)

Anatol


-----------------------------------------------------------------------------



Re^4: endlich... -> Treffen in Muenchen (Jimdigriz, 11. Jan 1999, 11:56:18):
~#! rn=Anatol rt=916055675 rg=treffen
~#! tid=915723670

Hehehe,

 liegt das guenstig an der A7 ? ;-)

JdG, war noch nie gut in Geographie(tm)

-----------------------------------------------------------------------------



Re^5: endlich... -> Treffen in Muenchen (Anatol, 11. Jan 1999, 12:02:23):
~#! rn=Jimdigriz rt=916055778 rg=treffen
~#! tid=915723670
Ach Scheisse, Du kannst in Osnabrueck in einer beliebigen Richtung losfahren,
irgendwann kommst Du immer auf eine Autobahn - da wird wohl hoffentlich auch
eine A 7 dabei sein - frag halt Illian, der kennt sich aus :o)

Anatol - nicht wirklich Osnabruecker


-----------------------------------------------------------------------------



Re: stati Muenster (Catweazle, 11. Jan 1999, 13:36:55):
~#! rn=Gorog rt=915890606 rg=treffen
~#! tid=915890606
Im Alabama, ich war noch nicht im Cuba...

YTC

-----------------------------------------------------------------------------



Re^6: endlich... -> Treffen in Muenchen (Trancefear, 11. Jan 1999, 21:40:12):
~#! rn=Anatol rt=916056143 rg=treffen
~#! tid=915723670
Hmjanoe... die A7 umfaehrt Osnabrueck elegant mittels einem Schlenker durch
Hannover... da muesstest Du abbiegen auf die A2 wenn Du denn nach OS wolltest,
JdG

tf

-----------------------------------------------------------------------------



Re^7: endlich... -> Treffen in Muenchen (Jimdigriz, 12. Jan 1999, 15:41:59):
~#! rn=Trancefear rt=916090812 rg=treffen
~#! tid=915723670

Hmm mal sehen
ich will ja nach Kiel... aber wer was sich ergibt

JdG

-----------------------------------------------------------------------------



Sonderstati in DO (Mindblade, 12. Jan 1999, 16:33:41):
Kurz entschlossen haben wir uns aufgerafft, einfach am Mi. (13.1) mal ausser
der Reihe nen kleines Treffen abzuhalten. Wer Lust hat, ab 20.00 Uhr Im
Walhalla!:)
CU, Mindblade!

-----------------------------------------------------------------------------



Alabama heisst jetzt Cuba (Catweazle, 13. Jan 1999, 13:24:42):
Moin!

Der MorgenGrauen-Muenster-Stammtisch zieht um.
Aufgrund unverschaemter Preiserhoehungen, Verdunkelungszwaengen nach 23 Uhr,
minderwertiger Essenkarte und mangelhafter Bierauswahl haben wir uns
entschlossen unseren woechentlichen Stammtisch, der uebrigens jeden DIenstag
stattfindet, nicht weiter im Alabama zu betreiben, sondern im Cuba.
Cuba ist eine Kneipe in der Achtermannstrass, das ist ganz nahe am Bahnhof.
Also merken:

             Muensters MorgenGrauen Stammtisch
                   JEDE Woche Dienstags
                      ab 20:00 Uhr
                        im Cuba
                  Achtermannstr. 10-12

Wer Lust hat, sich mit anderen Muddern zu treffen, ist herzlich eingeladen.
Besondere Attraktionen sind ein immer puenktlicher und echter Rochus, ein
regelmaessig zu spaet kommender Ex-Sheriff, ein fast nie, aber selten doch
kommender Gott und einiges andere Magierkroppzeuch. Seit einiger Zeit gibt
es sogar wirklich erhoehtes Spieleraufkommen, ich fuehle mich regelmaessig
in der Unterzahl :).

Also gut, noch ne Wegbeschreibung:
Wenn man mit dem Auto kommt parkt man am besten am oder hinterm Bahnhof und 
geht dann durch den Bahnhof zum Hauptausgang.
Kommt man mit dem Zug get man auch zum Hauptausgang Richtung Zentrum, dann 
durch die Unterfuehrung unter der Bahnhofstrasse her, geradeaus in die
Windthorsttrasse, nach 50m rechts rein in die Achtermannstrasse und dann nach
50m links ins Cuba. Fussweg ab Hauptbahnhof schaetzungsweise 1 Minute und 46
Sekunden.
Ihr duerft alle kommen :)

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Alabama heisst jetzt Cuba (Catweazle, 13. Jan 1999, 13:35:25):
~#! rn=Catweazle rt=916233882 rg=treffen
~#! tid=916233882
Ok, Zusatz fuer Autofahrer:

A1 sued/A43:
- Geradeaus rein in die Stadt auf die Weseler Strasse.
- Auf der linken Seite nach McDrive Ausschau halten.
- Nach McDrive die zweite Ampel rechts rein in die Moltkestrasse (an der 
  Ecke ist die Antoniuskirche
- Geradeaus bis zum Kreisverkehr, auf den Kreisverkehr drauf und die 
  _dritte_ Abfahrt Richtung Bahnhof runter.
- Danach muesst ihr der Strasse folgen, ihr kommt automatisch am Bahnhof an.
  Mit viel Glueck kriegt man was vorm Bahnhof, ansonsten ist hinter dem 
  Bahnhof (entweder vorm Bahnhof durch den Tunnel fahren oder am Bahnhof
  vorbei und rechts/rechts abbiegen) ein Parkhaus.

A1 nord:
- Geradeaus rein in die Stadt auf die Steinfurter/Weseler Strasse.
- Nach Aasee links rein in die Moltkestrasse fahren
- Rest siehe oben

YTC

-----------------------------------------------------------------------------



Re: Re: Alabama heisst jetzt Cuba (Larissa, 13. Jan 1999, 21:05:50):
~#! rn=Catweazle rt=916234525 rg=treffen
~#! tid=916233882
Hm, das wichtigste haste vergessen, was gibbet da zum essen???

Lari, immer hunggrig.

-----------------------------------------------------------------------------



Re^3: Alabama heisst jetzt Cuba (Trancefear, 13. Jan 1999, 21:06:44):
~#! rn=Larissa rt=916261550 rg=treffen
~#! tid=916233882
Ich tippe auf irgenwelche Kartoffelecken mit diversen Sossen oder so. Das
wichtigste ist doch eh: was kostet ne grosse Cola? :-)

tf

-----------------------------------------------------------------------------



Re^4: Alabama heisst jetzt Cuba (Catweazle, 14. Jan 1999, 09:00:16):
~#! rn=Trancefear rt=916261604 rg=treffen
~#! tid=916233882
Kartoffelecken sind ja nun mittlerweile megaout. Wer isst denn sowas noch.
In welcher Zeit lebt ihr eigentlich, das war vielleicht mal letztes Jahr
interessant. 
Essen kann man da uebrigens reichlich, zumindest ist die Karte gross. 
Deswegen muesst ihr mir verzeihen, wenn ich die nicht gerade aus dem Steh-
greif runterrasseln kann. Wer wissen will, was es gibt, sollte vorbei-
kommen :)
Und was die grosse Cola kostet, muesst ihr Rochus fragen.

Yours truly,
     Catweazle


-----------------------------------------------------------------------------



Re^5: Alabama heisst jetzt Cuba (Anatol, 14. Jan 1999, 11:37:11):
~#! rn=Catweazle rt=916304416 rg=treffen
~#! tid=916233882
Wie bitte? Du/Ihr waehlst/waehlt einen neuen Stammtisch-Sitz aus, ohne
die Preise fuer 0.5/0.4-Coke zu kennen? Am Ende gibt's da nur PEPSI!

Anatol - geschockt!


-----------------------------------------------------------------------------



Re^6: Alabama heisst jetzt Cuba (Yendi, 14. Jan 1999, 11:41:08):
~#! rn=Anatol rt=916313831 rg=treffen
~#! tid=916233882
Ach, das schmeckt Rochus doch sowieso nie raus...

Yendi,
       zurrt sich schonmal die Laufschuhe fest


-----------------------------------------------------------------------------



Re^7: Alabama heisst jetzt Cuba (Flinx, 14. Jan 1999, 11:48:50):
~#! rn=Yendi rt=916314068 rg=treffen
~#! tid=916233882
aehm...da gibbet tatsaechlich nur pepsi soweit ich weiss...

flinx, letzte woche noch dort gewesen.

-----------------------------------------------------------------------------



Re^8: Alabama heisst jetzt Cuba (Beelzebub, 14. Jan 1999, 11:50:41):
~#! rn=Flinx rt=916314530 rg=treffen
~#! tid=916233882

waaas ? baeh. da bin ich aber froh dass ich Biertrinker bin...

Beileid an Rochus.

]:-)

-----------------------------------------------------------------------------



Re^6: Alabama heisst jetzt Cuba (Sharia, 14. Jan 1999, 12:08:02):
~#! rn=Anatol rt=916313831 rg=treffen
~#! tid=916233882
HMPF !!!!! WAS HAST DU GEGEN PEPSI !!!!!??????!?!?!?!?!!


Sharia - grummelnd

-----------------------------------------------------------------------------



Re^7: Alabama heisst jetzt Cuba (Anatol, 14. Jan 1999, 12:09:22):
~#! rn=Sharia rt=916315682 rg=treffen
~#! tid=916233882
Rhizinus.

Anatol


-----------------------------------------------------------------------------



Re^7: Alabama heisst jetzt Cuba (Yendi, 14. Jan 1999, 12:26:37):
~#! rn=Sharia rt=916315682 rg=treffen
~#! tid=916233882
Sharia, bei Gelegenheit wuerde ich mich an Deiner Stelle mal gegen Satzzeichen
impfen lassen, das grassiert im Moment wieder...

YTY


-----------------------------------------------------------------------------



Re^5: Alabama heisst jetzt Cuba (Key, 14. Jan 1999, 12:30:56):
~#! rn=Catweazle rt=916304416 rg=treffen
~#! tid=916233882
Soso ,) 
Je groesser die Karte desto mehr zu futtern? :)
Tsts fuer Mudder gibbet doch spezielle Karten mit Schriftzeichen in DIN A4 =;)

Key

-----------------------------------------------------------------------------



Re^6: Alabama heisst jetzt Cuba (Gorog, 14. Jan 1999, 13:03:02):
~#! rn=Anatol rt=916313831 rg=treffen
~#! tid=916233882
Genau dass Anatol (;
Aber es gibt auch Guinnes, das gleicht dieses Manko wieder aus.

Gorog

-----------------------------------------------------------------------------



Re^7: Alabama heisst jetzt Cuba (Anatol, 14. Jan 1999, 13:05:34):
~#! rn=Gorog rt=916318982 rg=treffen
~#! tid=916233882
Boerks. Trinkt euer Pepsi alleine.

Geht mit Rochus nen neuen Stammtisch aufmachen,
Anatol


-----------------------------------------------------------------------------



Re^8: Alabama heisst jetzt Cuba (Morgoth, 14. Jan 1999, 13:05:58):
~#! rn=Anatol rt=916319134 rg=treffen
~#! tid=916233882
Und tuess *winkwink*

M*

-----------------------------------------------------------------------------



Re^7: Alabama heisst jetzt Cuba (Beelzebub, 14. Jan 1999, 18:16:40):
~#! rn=Gorog rt=916318982 rg=treffen
~#! tid=916233882
GUINESS ? Hab ich grad GUINESS gehoert ??? 
na denn bis Dienstag ]:-))

I'm going i'm going
any which way the wind may be blowing 
i'm going i'm going
where the streams of whiskey are flowing

]:-)

-----------------------------------------------------------------------------



Re^8: Alabama heisst jetzt Cuba (Jameson, 14. Jan 1999, 21:29:03):
~#! rn=Beelzebub rt=916337800 rg=treffen
~#! tid=916233882
?

Da hast Du aber irgendwas missverstanden :-)
Guinness ist was Gutes! Aber irgendwie doch kein Whiskey, wenn ich mich
nicht irre ;-) [tm Sam Hawkins]
Eigentlich sollt ich's ja wissen, bei dem Namen... :)

Jameson

-----------------------------------------------------------------------------



Re^9: Alabama heisst jetzt Cuba (Beelzebub, 15. Jan 1999, 15:26:18):
~#! rn=Jameson rt=916349343 rg=treffen
~#! tid=916233882
weiss ich doch...
aber guinnes ist irisch und pogues sind irisch und der text war von den
pogues.

deshalb...
Beelze ]:-) 

-----------------------------------------------------------------------------



Stammtisch in Duesseldorf (Kartoffel, 16. Jan 1999, 21:21:40):

Am Freitag ist es wieder so weit:

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 22.1. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel


-----------------------------------------------------------------------------



MS-Stammtisch (Brandir, 18. Jan 1999, 13:46:49):
Ich wollte nur mal zum zahlreichen Erscheinen zum morgigen Stammtisch in
Muenster aufrufen.
Wie Catty ja schon gesagt hat, wird der Stammtisch ab jetzt im Cuba
stattfinden.

Es waere schoen, wenn moeglichst viele Leute kommen wuerden, vielleicht auch
mal wieder ein paar aus Osnabrueck oder Dortmund.

Special Guest: Leibniz  ;-)

Oki, bis denn, Brandir

-----------------------------------------------------------------------------



Re: MS-Stammtisch (Catweazle, 18. Jan 1999, 14:25:36):
~#! rn=Brandir rt=916667209 rg=treffen
~#! tid=916667209
Argh!
Ich hab bei der Bestellung 2-20 Personen gesagt. Mehr als 20 duerfen also 
auf gar keinen Fall kommen :)

YTC

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Ringor, 26. Jan 1999, 11:20:43):
~#! rn=Morgoth rt=917349592 rg=treffen
~#! tid=917349592
Soso, Magier skripten also auch ]:->

Ringor (1+1+1)

-----------------------------------------------------------------------------



Stammtisch in DO (Morgoth, 26. Jan 1999, 11:20:47):
Es ist mal wieder so weit, der Monat geht, der Stammtisch kommt.

Diesmal mit Special-Guest: !!!HIBBELIG!!!

Ach ja, aeh wie immer: Freitag, 29. Jan. 1999 2000h Walhalla

Morgoth (1+1)

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Key, 26. Jan 1999, 11:43:25):
~#! rn=Morgoth rt=917349647 rg=treffen
~#! tid=917349647
Ui immer am 29. Januar? ;)

Key

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Paracelsus, 26. Jan 1999, 12:53:18):
~#! rn=Key rt=917351005 rg=treffen
~#! tid=917349647
1+1+1+1

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Catweazle, 26. Jan 1999, 12:53:52):
~#! rn=Paracelsus rt=917355198 rg=treffen
~#! tid=917349647
Das ist 4. Soll ich das nach quiz verlegen?
YTC

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Gorog, 26. Jan 1999, 13:28:12):
~#! rn=Morgoth rt=917349647 rg=treffen
~#! tid=917349647
(0)

Gorog's Fahrer weilt zur Zeit in suedlicheren Gefilden. ):

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Morgoth, 26. Jan 1999, 13:29:28):
~#! rn=Gorog rt=917357292 rg=treffen
~#! tid=917349647
Tritt doch mal ein paar Leute aus Deiner Gegend. Catty, Rochus, Telka usw. Das
geht sicher irgendwie ;-)

M*

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Teddy, 27. Jan 1999, 00:35:53):
~#! rn=Paracelsus rt=917355198 rg=treffen
~#! tid=917349647
Teddy (+2)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Morgoth, 27. Jan 1999, 00:36:30):
~#! rn=Teddy rt=917397353 rg=treffen
~#! tid=917349647
Wie? Bringst Du Babs nicht mit? 

M*

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO (Teddy, 27. Jan 1999, 00:40:08):
~#! rn=Morgoth rt=917397390 rg=treffen
~#! tid=917349647
Pfeife wird auch da sein, deswegen 2.

Teddy, dessen Ego nicht fuer 2 reicht.

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO (Morgoth, 27. Jan 1999, 00:40:23):
~#! rn=Teddy rt=917397608 rg=treffen
~#! tid=917349647
Das Ego nicht....

M*

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Teddy, 27. Jan 1999, 00:40:41):
~#! rn=Morgoth rt=917397623 rg=treffen
~#! tid=917349647
Bitte nicht ueber mein Sexualleben in der MPA plaudern.

Teddy

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Trancefear, 27. Jan 1999, 11:45:48):
~#! rn=Morgoth rt=917349647 rg=treffen
~#! tid=917349647
was ist an hibbel so special?

tf
---
achja: '1 + if <zeit>'

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Nonne, 27. Jan 1999, 11:46:37):
~#! rn=Trancefear rt=917437548 rg=treffen
~#! tid=917349647
Das kannste Dir dann mal anschauen...

+1

Nonne (auch schon ganz gespannt)

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Hibbelig, 27. Jan 1999, 11:48:42):
~#! rn=Nonne rt=917437597 rg=treffen
~#! tid=917349647
An mir gibts nix besonderes !!
Hibbelig versteht gar nich was das soll.

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Nonne, 27. Jan 1999, 11:50:03):
~#! rn=Hibbelig rt=917437722 rg=treffen
~#! tid=917349647
wenn du wuesstest, was Morgoth ueber Dich erzaehlt hat, wuesstest Du was das
soll....
Nonne (gar nicht neugierig)

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO (Hibbelig, 27. Jan 1999, 11:50:41):
~#! rn=Nonne rt=917437803 rg=treffen
~#! tid=917349647
jaja, was der erzaehlt !! 
ich wills lieber gar nicht wissen.

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO (Birdy, 27. Jan 1999, 11:56:21):
~#! rn=Hibbelig rt=917437841 rg=treffen
~#! tid=917349647
wann war nochmal der stammtisch ? ;)

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Nonne, 27. Jan 1999, 11:57:05):
~#! rn=Birdy rt=917438181 rg=treffen
~#! tid=917349647
freitag, kommt alle vorbei, hibbelig gucken, ist bestimmt besser als voyager
;-)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Morgoth, 27. Jan 1999, 12:09:24):
~#! rn=Hibbelig rt=917437722 rg=treffen
~#! tid=917349647
Oehm? Da muss ich aber widersprechen ;-))

M*

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO (Gorog, 27. Jan 1999, 12:54:26):
~#! rn=Nonne rt=917438225 rg=treffen
~#! tid=917349647
Gorog fragt sich ob es irgendwas gibt das nicht besser als Voyager is
(ausgenommen wenn der Indianerfuzi, Tuborg und die Emanze alle auf einen
Schlag hops gehn und nicht wieder durch irgendson Zeit-Schnick-Schnack gar
nicht erst hops gegangen worden waren)

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Rochus, 27. Jan 1999, 15:28:40):
~#! rn=Morgoth rt=917357368 rg=treffen
~#! tid=917349647
Also, ich habe Cat getreten, der kommt VIELLEICHT.
Ich habe Telka NICHT getreten, aber sie kommt sicher.
Daran siehst Du, dass man mit Hoeflichkeit mehr erreicht :-)

  Rochus

PS: Ich werde auch da sein, und ich gehoere ebenfalls zu den Leuten,
die ich NICHT getreten habe :-)

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Kartoffel, 27. Jan 1999, 22:39:15):
~#! rn=Morgoth rt=917349647 rg=treffen
~#! tid=917349647

Diesmal ohne mich

'Toffel

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Knurt, 28. Jan 1999, 04:42:36):
~#! rn=Kartoffel rt=917476755 rg=treffen
~#! tid=917349647
dafuer mit mir.
KNurt

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Aline, 29. Jan 1999, 10:54:38):
~#! rn=Rochus rt=917450920 rg=treffen
~#! tid=917349647

Also, ich habe Wargon erzaehlt dass Cat* kommt und jetzt
will er auch kommen und Yanny kommt dann auch mit. Ach ja
und wie es aussieht, werde ich dann auch erscheinen.
Soll ich wieder rosa Schleifchen mitbringen?

Aline (zaehlt eh nicht)

-----------------------------------------------------------------------------



HAAAARRRRRRR (Ark, 29. Jan 1999, 21:30:55):
xcall /d/darmstadt/hotzenplotz->summon_monsters(
           filter_array(users(),#'QueryProp,P_HAST_DU_ZEIT))

xcall ark->SetProp("ich_sag_mal_neunzehn_uhr", 1)

xcall anacrion->SetProp("nickt_gefaellig", 1)

xcall $you->input_to("mpa", "rubrik:treffen")
mpa(str)
{
 if (str=="Alles klar, ich komme!")
 { write ("Das ist akzeptabel.\n"); GiveQuest("Supertreffen", TP);
   shout (TP->Name()+" ist Klasse!\n"); return 1; }
 notify_fail("Was gefaellt Dir daran nicht?\n");
 input_to("mpa", "rubrik:treffen");
 return 0;
}



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: HAAAARRRRRRR (Ark, 29. Jan 1999, 21:41:13):
~#! rn=Ark rt=917646014 rg=treffen
~#! tid=917645455
[Debug:R O O T] Unknown Time for summon_monsters in Article 89.
[Debug:R O O T] Set to 26.02.99 by ROOT (Anacrion)



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: HAAAARRRRRRR (Stopdenbus, 30. Jan 1999, 22:53:56):
~#! rn=Ark rt=917645455 rg=treffen
~#! tid=917645455
das ist aber ein recht unlesbarer prog-stil den du da hast ark, wenn dann
schon bitte int mpa(string str) { ... }

Stopdenbus ist zum glueck nich mag hier

-----------------------------------------------------------------------------



Stati in Aachen mal wieder ;) (Neb, 31. Jan 1999, 23:31:57):
Huhu ihr alle,
es ist mal wieder kurz vor dem ersten Freitag im Monat, und wie ihr dank
Rochus Hilfe jetzt sogar auf den WWW-Seiten des MG erfahren koennt, ist an
diesem Tag wieder der

----->      STAMMTISCH IN AACHEN      <------

Und zwar am 5.2. so gegen 20 Uhr im Labyrinth.
Wegbeschreibungen ab jetzt nicht mehr nur bei mir oder Darkwing (oder seinem
verzweifelten Versuch, seine Lern-Spielpause zu umgehen: Trauma ;)), sondern
auch im www ;)
Bis denn,

Neb

-----------------------------------------------------------------------------



Re: Re: HAAAARRRRRRR (Ark,  1. Feb 1999, 21:51:16):
~#! rn=Stopdenbus rt=917736836 rg=treffen
~#! tid=917645455
Och Moensch, dann vielleicht eher:

inherit "/wurst/magier/unfaehigkeit";

...

create()
{
 ...
 SetProp(P_NAME, "Ark");
 ...
}

Naja, jedenfalls kann mir glaub ich keiner vorwerfen, dass ich mein Zeuch nich
bis zum Erbrechen teste :-) Den Goettern sei Dank, ich bekomme ja nicht mal
Geld fuer die langen Stunden hier *hachja*
Gibt es eigentlich nicht sowas wie ne Auszeichnung dafuer, wenn man das MG
noch nicht zum Absturz gebracht hat? Haben wollen ... :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: HAAAARRRRRRR (Stopdenbus,  1. Feb 1999, 21:59:22):
~#! rn=Ark rt=917905876 rg=treffen
~#! tid=917645455
sorry, muss schon wieder meckern, das muss 'void create()' heissen :)

Stopdenbus, sonst eigentlich nicht kleinlich :)

-----------------------------------------------------------------------------



Re^4: HAAAARRRRRRR (Anacrion,  1. Feb 1999, 22:00:06):
~#! rn=Stopdenbus rt=917906362 rg=treffen
~#! tid=917645455
Nur bei
#pragma string_types :)

anac*

-----------------------------------------------------------------------------



Re^5: HAAAARRRRRRR (Stopdenbus,  1. Feb 1999, 22:01:04):
~#! rn=Anacrion rt=917906406 rg=treffen
~#! tid=917645455
und bei gutem Progstil, aba sonst hast recht :-)

Stopdenbus

-----------------------------------------------------------------------------



Re^4: HAAAARRRRRRR (Ark,  1. Feb 1999, 22:04:00):
~#! rn=Stopdenbus rt=917906362 rg=treffen
~#! tid=917645455
Ach, das muss jetzt der Beginn eines 'Flame-Wars' sein. Spannend, hab' ich
noch nie mitgemacht :-)
Also ... aeh, Stopdenbus, jetzt hoer' mal genau zu: Ich bin es LEID, MIR VON
JEDEM DEN GANZEN TAG ANHOEREN ZU MUESSEN, WIE ICH DIES ODER DAS ZU MACHEN
HABE, ICH FUEHLE MICH NICHT IM GERINGSTEN VON SO ... BEEP ... WIE DIR
ANGESPROCHENUNDWENNICHDASJETZTNOCHWEITERVERTIEFENSOLLDANNGNADEUNSALLENGOTTUNDD
ERHEILANDUNDAAAAAAAARRRRRR...SCHAEUM!!!!

Hm, wie war ich?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: HAAAARRRRRRR (Stopdenbus,  1. Feb 1999, 22:06:54):
~#! rn=Ark rt=917906640 rg=treffen
~#! tid=917645455
nuja, fuer den Anfang war das schon ganz brauchbar, aber wenn du's richtig
machen willst, muss das schon mind. ein 10zeiliger CapsLock-ohne-leerzeichen-
text sein, sonst nimmt dich keiner nicht ernst.

Stopdenbus, Knigge-experte

-----------------------------------------------------------------------------



Re^6: HAAAARRRRRRR (Ark,  1. Feb 1999, 22:15:31):
~#! rn=Stopdenbus rt=917906814 rg=treffen
~#! tid=917645455
NAJA, WER NIMMT DENN DEIN WEINERLICHES GESABBEL NOCH ERNST, DU AUFGEPLUSTERTES
STUECKCHEN BEEP, HAST WOHL MINDERWERTIGKEITSKOMPLEXE, WEIL DU SO KOMPLIZIERTE
TASTENKOMBINATIONEN NICHT MEHR HINKRIEGST, WAS? NA, VIELLEICHT FUETTERN SIE
MORGEN WIEDER MARACUJA-YOGHURT, DA SOLLTE SELBST SO EIN WARZIGES TUNTIG
ANGESTRICHENES HAEUFCHEN BEEP WIE DU WIEDER MAL SEINEN 2 MIKROWATTGEHIRNAKKU
AUFLADEN KOENNEN ICH LASSE JETZT WIEDER WENIGER PLATZZWISCHEN DEN WORTEN,
DAMITDUWENIGERNACHDENKENMUSSTGRAMMATIKISTEHNICHTDEINESTARKESEITEUNDICHWILLDICH
JANICHTWEITERBELASTENICHGLAUBEDASSICHJETZT10ZEILENLOCKERUEBERSCHRITTENHABEUNDD
AMITSICHERNICHTMEHRDEINEAUFMERKSAMKEITBESITZEACHWASWARUMMACHICHMIRNOCHDIEMUEHE
MITDIRBEEP...

Auch net uebel.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: HAAAARRRRRRR (Greifax,  1. Feb 1999, 22:17:05):
~#! rn=Ark rt=917907331 rg=treffen
~#! tid=917645455
wenn ihr so weitermacht koennt ihr bald eintritt nehmen.

ziemlich breit grinsend, greifax

-----------------------------------------------------------------------------



Re^7: HAAAARRRRRRR (Karic,  1. Feb 1999, 22:17:59):
~#! rn=Ark rt=917907331 rg=treffen
~#! tid=917645455
jo..nich schlecht..aber anfangs die spaces machen es j anoch fast lesbar..
nich das ich meckern moechte ;)

-----------------------------------------------------------------------------



Re: Stati in Aachen mal wieder ;) (Liara,  1. Feb 1999, 23:09:51):
~#! rn=Neb rt=917825517 rg=treffen
~#! tid=917825517
Ich fahre am Freitag von Bonn aus zum Stammtisch in Aachen. Falls jemand Lust
verspuert, mitgenommen zu werden *hoff*, bitte Mail an Liara. :))

Liara, haette gerne Gesellschaft ...

-----------------------------------------------------------------------------



Re: Re: Stati in Aachen mal wieder ;) (Morgoth,  2. Feb 1999, 08:46:09):
~#! rn=Liara rt=917910591 rg=treffen
~#! tid=917825517
Joo, ich bin wohl auch da ;-))

Morgoth schaut Hibbelig 'war das richtig so?' fragend an 

-----------------------------------------------------------------------------



Re: Re: Stati in Aachen mal wieder ;) (Liara,  2. Feb 1999, 09:40:15):
~#! rn=Liara rt=917910591 rg=treffen
~#! tid=917825517
Aehmja ...
Das war KEINE Heiratsanzeige. *g*
Ich bitte von weiteren Kommentaren abzusehen. *lach*
Ich meinte damit lediglich, dass ich auf der Fahrt nicht gerne mit mir selber
reden moechte, klar? :)

Liara, deren Auto nie antwortet ;)

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  2. Feb 1999, 19:19:26):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in drei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

ja, diesmal noch im seeblick... :)

gnOme

-----------------------------------------------------------------------------



MUD-Stammtisch in Paderborn (Daria,  2. Feb 1999, 21:14:15):
Hi,
ja, in Paderborn soll zum zweiten Mal der traditionelle
MUD-STAMMTISCH stattfinden. 

Und zwar ab 20.00 Uhr im Taubenschlag.  Das ist eine Kneipe gar nicht weit weg
vom Bahnhof - vielleicht 500 m.

Ach das Datum... *g* Donnerstag nach Aschermittwoch, also der 18. 2. 99

Wer eine Wegbeschreibung moechte, wende sich vertrauensvoll an mich oder
wahlweise daria@turithil, das les ich oefter.

Ich freu mich!

Daria
ps: Hab ich jetzt noch was vergessen? *gruebel*

-----------------------------------------------------------------------------



Re: stammtisch in B (Stopdenbus,  3. Feb 1999, 08:39:45):
~#! rn=Gnome rt=917983166 rg=treffen
~#! tid=917983166
wieso immer noch Seeblick ? Na egal, ich komm jedenfalls vorbei, war ja
die letzten paar male net da

Jani

-----------------------------------------------------------------------------



Re: Re: stammtisch in B (Gandur,  3. Feb 1999, 08:40:19):
~#! rn=Stopdenbus rt=918031185 rg=treffen
~#! tid=917983166
kurz und buendig: komme auch.

gandur

-----------------------------------------------------------------------------



Re: stammtisch in B (Ivo,  4. Feb 1999, 12:37:39):
~#! rn=Gnome rt=917983166 rg=treffen
~#! tid=917983166

Ich werd am Freitag in Berlin auftauche,

Gruesse

Ivo

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig (Jasonrigid,  6. Feb 1999, 13:56:47):

Hallo Leute,

Hiermit beraume ich den naechsten Stammtisch

am Freitag, den 12.2.1999, 20.00 Uhr im Viertel Nach

an.

Kommet zahlreich und mailt es mir vorher :)

Bis denne

Jason

-----------------------------------------------------------------------------



Stammtisch in Ddorf (Kartoffel,  6. Feb 1999, 23:12:37):

Am Freitag ist es wieder so weit:

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 12.2. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel


-----------------------------------------------------------------------------



Stammtisch in Dresden (Zino,  8. Feb 1999, 11:41:19):
Am kommenden Donnerstag, dem 11.2.99, welcher mal wieder der zweite Donnerstag
im Monat ist, ist wieder Stammtisch in Dresden, und zwar wie ueblich um 21:00
Uhr in der Wu11. 

Mahatma

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  8. Feb 1999, 12:11:24):
Wie jeden Donnerstag ist auch diese Woche wider Stammtisch in Karlsruhe,
im Kleinen Meierhof (Zaehringer Strasse, zwischen Cafe Wien und Z10).
Los geht's um 20 Uhr.
  Boing

-----------------------------------------------------------------------------



Stammtisch in OS (Illian,  8. Feb 1999, 15:00:25):
Nochmal zur Erinnerung,
am 09.02.99 im Jaeger in Osnabrueck
Illian

-----------------------------------------------------------------------------



Stammtisch in OS verlegt nach MS (Illian,  8. Feb 1999, 15:13:26):
Hallo,
auf vielfachen Wunsch zieht der OS Stammtisch nach Muenster um.
Wir wuenschen der Deutschen Bahn einen guten Umsatz.
Illian

-----------------------------------------------------------------------------



Re: Stammtisch in OS verlegt nach MS (Anatol,  8. Feb 1999, 15:15:24):
~#! rn=Illian rt=918486806 rg=treffen
~#! tid=918486806
Vor allen Dingen - wo auch immer der Stammtisch ist - reserviert PLATZ.
Nichts ist ekliger, als sich mit 30 Mann auf 12 Plaetzen zusammenzudraengen.

Anatol


-----------------------------------------------------------------------------



Re: Re: Stammtisch in OS verlegt nach MS (Ronda,  8. Feb 1999, 15:18:21):
~#! rn=Anatol rt=918486924 rg=treffen
~#! tid=918486806
Anatol, Du hast zuwenig Phantasie! Nix ist netter als mit 15 Mann und 15 Frau
auf 12 Plaetzen zu ... sitzen?
Zumindest wenn sie nett sind :)

Ronda *Bahnfahrerin im Grossraumabteil :) *.

-----------------------------------------------------------------------------



Re^3: Stammtisch in OS verlegt nach MS (Anatol,  8. Feb 1999, 15:18:59):
~#! rn=Ronda rt=918487101 rg=treffen
~#! tid=918486806
Doch, da kann ich mir deutlich nettere Dinge vorstellen.

Anatol :-P


-----------------------------------------------------------------------------



Re^3: Stammtisch in OS verlegt nach MS (Rochus,  8. Feb 1999, 15:27:23):
~#! rn=Ronda rt=918487101 rg=treffen
~#! tid=918486806
Waere ja nett, wenn 15 Frauen zum Stammtisch kaemen, aber bei der
ueblichen Verteilung sind 12 Plaetze definitiv zu wenig :-)
Vor allem, da der Stammtisch diesmal VERDAMMT VOLL werden wird
(danke, Ariana ;-) (Viel Glueck, Cat ;-)


-----------------------------------------------------------------------------



Re^4: Stammtisch in OS verlegt nach MS (Morgoth,  8. Feb 1999, 15:27:54):
~#! rn=Rochus rt=918487643 rg=treffen
~#! tid=918486806
Jups,

Morgoth, Xand, Ringor (???)


-----------------------------------------------------------------------------



Re^3: Stammtisch in OS verlegt nach MS (Teddy,  8. Feb 1999, 22:45:28):
~#! rn=Ronda rt=918487101 rg=treffen
~#! tid=918486806
Erinnert mich da an die Fahrt auf der Muensterparty: 2 Frauen und 2
Hobbits aufm Ruecksitz:
Die Hobbits gestapelt und die Frauen mit viel Platz.

Teddy

-----------------------------------------------------------------------------



Re^4: Stammtisch in OS verlegt nach MS (Ariana,  9. Feb 1999, 03:22:09):
~#! rn=Rochus rt=918487643 rg=treffen
~#! tid=918486806
wir wollen es hoffen! waer doch mal nett, wenns voll wird, aber wieso frauen??

EINE wird cattie doch wohl vollauf beschaeftigen *GGG*


ariana *noch an cattie glaubend*

-----------------------------------------------------------------------------



Re^5: Stammtisch in OS verlegt nach MS (Anatol,  9. Feb 1999, 03:24:02):
~#! rn=Ariana rt=918530529 rg=treffen
~#! tid=918486806
Danke, dass Du so gewissenhaft an uns andere Kerls denkst, Ariana :)

Anatol


-----------------------------------------------------------------------------



Treffen in Muenchen! (Reaper,  9. Feb 1999, 17:16:22):

Kleine Erinnerung nochmal:

Diesen Freitag (12.02.) findet wiedermal ein kleines 
Zusammentreffen in Muenchen statt!

Alle Infos liegen unter
http://www.dmsp.com/service/mg


C ya @ StaTi :o)
Reaper

-----------------------------------------------------------------------------



86 (Key,  9. Feb 1999, 18:36:36):
~#! rn=Reaper rt=918580582 rg=treffen
~#! tid=918580582
Du weisst aber noch das ich erst ab dem 18 da bin? :)

Key

-----------------------------------------------------------------------------



Re: 86 (Jiddu,  9. Feb 1999, 19:07:53):
~#! rn=Key rt=918585396 rg=treffen
~#! tid=918580582
Auja.. Key wir sehn uns, gelle? >:)

-----------------------------------------------------------------------------



Re: Treffen in Muenchen! (Songoku, 11. Feb 1999, 14:45:17):
~#! rn=Reaper rt=918580582 rg=treffen
~#! tid=918580582
Und ich muss an dem Tag den MKH Fasching organisieren.
Grmbl.
Sayonara!

-----------------------------------------------------------------------------



Re: *S*T*A*T*I* in Braunschweig (Festin, 11. Feb 1999, 14:47:23):
~#! rn=Jasonrigid rt=918309407 rg=treffen
~#! tid=918309407
Hiho

ich wollte fragen, ob es moeglich ist den Braunschweiger STATI
ausnahmsweise mal im AudiMin stattfinden zu lassen?

Festin

-----------------------------------------------------------------------------



Re: Re: *S*T*A*T*I* in Braunschweig (Jasonrigid, 12. Feb 1999, 11:05:07):
~#! rn=Festin rt=918744443 rg=treffen
~#! tid=918309407
Klar ist das moeglich, ich verlege hiermit den offiziellen *S*T*A*T*I* auf

Freitag, 12.2.1999, 20.00 Uhr im AudiMin in BS

Jason

-----------------------------------------------------------------------------



Darmstadt ruft ... (Ark, 15. Feb 1999, 20:39:42):
Nochmal als Erinnerung, in Deutsch und in Farbe und buuuunt:
Wir treffen uns am Freitag im Hotzenplotz, 19.00 Uhr. Wegbeschreibung, falls
noetig, bitte per Bittebitte-Mail an mich :-)

CU



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Darmstadt ruft ... (Derts, 15. Feb 1999, 22:46:57):
~#! rn=Ark rt=919111182 rg=treffen
~#! tid=919111182
Mein Meister, der Schussel, richtig ist natuerlich der 26.02.99, wie schon in
Artikel 29 zu lesen war. Sorry for the inconvenience.

   *** DERTS * the * most * humble * and * stupid * Servant ***

-----------------------------------------------------------------------------



Re: MUD-Stammtisch in Paderborn (Ronda, 16. Feb 1999, 10:20:33):
~#! rn=Daria rt=917990055 rg=treffen
~#! tid=917990055
Hi,
wer kommt denn nun alles zum Stammtisch in Paderborn?
Ich werd's wohl erst etwas spaeter schaffen - wie erkennt man Euch andere
Mudder? (Oder kennt mich wer *grins*)
Tschuess bis Donnerstag,

Ronda

-----------------------------------------------------------------------------



Re: Re: MUD-Stammtisch in Paderborn (Jenandra, 16. Feb 1999, 19:10:26):
~#! rn=Ronda rt=919160433 rg=treffen
~#! tid=917990055
also, ich glaub es weiss noch keiner so genau, wer und wieviele kommen -
einfach mal ueberraschen lassen ;-)
da es so aussieht, als koennten wir aus diesem stammtisch was regelmaessiges
machen (so einmal im monat), werd ich mal ein stammtischschild basteln, denn
finden das auch alle :-)

Jenandra, freut sich schon drauf :-))

-----------------------------------------------------------------------------



Re: Re: MUD-Stammtisch in Paderborn (Jesko, 16. Feb 1999, 20:58:17):
~#! rn=Ronda rt=919160433 rg=treffen
~#! tid=917990055
Peace!

Also ich werde diesesmal wohl nicht koennen, Hirse/Salandrion
auch nicht. Daria und Jenandra wollten soweit ich weiss schon kommen,
evtl. auch noch Kheldar (?!?).

Jesko, hat Donnerstag schon Termine ;)

-----------------------------------------------------------------------------



Mudder-Treffen am Freitag (Tomator, 17. Feb 1999, 13:41:27):
Mahlzeit !
Am Freitag, den 19.2.99, gibt es in Muenster ein MUD-Treffen. 
Ursache ist der Besuch einiger Mudder aus der Umgebung von Muenchen,
namentlich Bunghole und Slyfox.
Wer sich das nicht entgehen lassen will, der sei gegen 20 Uhr im c.u.b.a..
Wegbeschreibung siehe MS-Stati    :)

Moeget ihr euch mehren und zahlreich sein...oder so...

Tomator der Auftragstipper

-----------------------------------------------------------------------------



******** K O E L N E R - T R E F F E N ******** (Sugaan, 17. Feb 1999, 16:53:57):
da Karneval nun vorueber und Koelle auch wieder fuer "Nicht-Jecke" geoeffnet
ist, moechte ich es mal wieder mit 'nem Koelner-Treffen (einen Stammtisch
koennen wir es derzeit leider nicht nennen!) versuchen.
TERMIN: am 24.02 - es ist wie immer ein Mittwoch! ab 19.30 Uhr
ORT: Limerick - auch wenn es einigen nicht passt, aber ueber 'ne andere Kneipe
laesst sich dann auch noch diskutieren - vorausgesetzt sie ist gut mit
oeffentlichen Verkehrsmitteln zu erreichen und es gib nicht nur Bier in
Reagenzglaesern!

Kommt raus aus Euren Hoehlen und Loechern und beweist mir mal, dass mehr als
eine Handvoll Mudder in Koeln und Umgebung gibt. 
So long       Sugaan (eigentlich aus der feindlichen Stadt kommend)

-----------------------------------------------------------------------------



Re: Mudder-Treffen am Freitag (Ariana, 17. Feb 1999, 17:33:03):
~#! rn=Tomator rt=919258887 rg=treffen
~#! tid=919258887
haste schon tische reserviert???

ariana *hoffend, dass es voll werden moege*

-----------------------------------------------------------------------------



Re: Mudder-Treffen am Freitag (Bunghole, 18. Feb 1999, 01:36:30):
~#! rn=Tomator rt=919258887 rg=treffen
~#! tid=919258887
Hiho!

Also das mit 20 uhr koennte etwas knapp werden, aber wir versuchen so frueh
wie moeglich zu kommen.
Ich freue mich wirklich schon ein paar mudder aus muenster kennenzulernen.
Bis denn, see ya und *wink*wink*
               Bunghole

 P.S.: Allen schon mal eine *knuddel*wuddel*wuschel* - umarmung im voraus.

-----------------------------------------------------------------------------



Re: Re: Mudder-Treffen am Freitag (Tomator, 18. Feb 1999, 11:42:36):
~#! rn=Ariana rt=919272783 rg=treffen
~#! tid=919258887
Mh...gute Idee...
Muesste man den Organisierenden mal mitteilen...

Tomator der Auftragstipper

-----------------------------------------------------------------------------



Re^3: Mudder-Treffen am Freitag (Ariana, 18. Feb 1999, 16:29:03):
~#! rn=Tomator rt=919338156 rg=treffen
~#! tid=919258887
dann sags doch mal deiner frau :))))
oder soll ich?

ariana *heftig grinsend*

-----------------------------------------------------------------------------



Re: Mudder-Treffen am Freitag (Slyfox, 18. Feb 1999, 23:48:35):
~#! rn=Tomator rt=919258887 rg=treffen
~#! tid=919258887
Ich komme nicht aus Muenchen, auch nicht aus naeherer Umgebung.

Slyfox sagt das jetzt zum hintervorletzten Mal. ;)

-----------------------------------------------------------------------------



Re: Re: Mudder-Treffen am Freitag (Mahatmu, 19. Feb 1999, 10:20:50):
~#! rn=Slyfox rt=919381715 rg=treffen
~#! tid=919258887
Kamst Du nicht von dort, wo der Rhein am tiefsten ist? Oder hassu da
auch nur studiert? 

Mahatmu

-----------------------------------------------------------------------------



Re^4: Mudder-Treffen am Freitag (Tomator, 19. Feb 1999, 13:43:49):
~#! rn=Ariana rt=919355343 rg=treffen
~#! tid=919258887
Mach mal !   :))

Tomator der Unmotivierte

-----------------------------------------------------------------------------



Mud-Treffen in Paderborn (Ronda, 19. Feb 1999, 15:30:58):
Hallo,
nachdem das Treffen gestern abend in Paderborn so genial war, haben wir
beschlossen, uns nun immer am dritten Donnerstag im Monat in Paderborn in
einer Kneipe zu treffen.
Also: nehmt Euch am Donnerstag nach der Mud-Party nichts anderes vor ;)

Tschuess,

Ronda

Ps: Selbst nen Stammtisch-Schild gibts schon *grins*

-----------------------------------------------------------------------------



Re: Mud-Treffen in Paderborn (Jameson, 19. Feb 1999, 15:32:20):
~#! rn=Ronda rt=919438258 rg=treffen
~#! tid=919438258
> Ps: Selbst nen Stammtisch-Schild gibts schon *grins*

war das jetzt umgangssprachlich oder habt ihr euch wirklich einen Schild
besorgt ;-)

-----------------------------------------------------------------------------



Re: Re: Mud-Treffen in Paderborn (Rochus, 19. Feb 1999, 17:27:42):
~#! rn=Jameson rt=919438340 rg=treffen
~#! tid=919438258
Also, Cat war nicht da :)

-----------------------------------------------------------------------------



Kleines Sit-In (Mindblade, 20. Feb 1999, 03:58:27):
Hiho, kurzerhand wollen sich ein paar Leutchen am Sa. (also heute *lach*) im
Walhalla treffen, wer noch kommen will, ab 19.00 wie immer!;)

-----------------------------------------------------------------------------



Stammtisch in DO (Ringor, 22. Feb 1999, 17:49:49):
Ausserordentlicher Stammtisch hin, kurzer Februar her: am Freitag ist schon
wieder der letzte Freitag im Monat und somit Stammtisch im Walhalla!

Wie immer ab 20:00 Uhr. Wie immer schoen voll und wie immer sehr lange.

Ringor. (1)

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Mindblade, 22. Feb 1999, 21:13:55):
~#! rn=Ringor rt=919705789 rg=treffen
~#! tid=919705789
Bin natuerlich dabei!:)
Mindblade.(2)

-----------------------------------------------------------------------------



Hiermit ... (Ark, 22. Feb 1999, 21:53:01):
... nutze ich den mir heute abend verliehenen Schreibeifer mit dem Hinweis auf
unser Darmstaedter Treffen am Freitag. Ein nicht naeher zu bezeichnendes
Mitglied der schaendlichen Chaosgilde hat es bereits gewagt, mir sein Kommen
nicht nur in Frage zu stellen, sondern als unmoeglich bekanntzugeben. Ein
solcher Affront kann natuerlich nicht ungesuehnt bleiben. Somit erklaere ich
hiermit als unser Motto fuer Freitag: Chaoten abwerten !!! (Alternativ:
Kleriker aufwerten !!!)
Allein schon aus diesem pikanten Motto heraus erhoffe ich mir eine rege
Diskussion ohne heimtueckische Anschlaege militanter Chaotenverraeter. In
klerikalem Gruss ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Morgoth, 22. Feb 1999, 22:21:22):
~#! rn=Mindblade rt=919718035 rg=treffen
~#! tid=919705789
Jups !

Morgoth & Hibbelig (3 + 4)

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Knurt, 22. Feb 1999, 22:33:50):
~#! rn=Morgoth rt=919722082 rg=treffen
~#! tid=919705789
auch da.
knurt (5)

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Brandir, 22. Feb 1999, 22:39:16):
~#! rn=Knurt rt=919722830 rg=treffen
~#! tid=919705789
Armer kleiner Bierschuettler (6) wird von wilder Frau (7) mit Nudelholz zum
Stammtisch getrieben.

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO (Paracelsus, 23. Feb 1999, 12:59:42):
~#! rn=Brandir rt=919723156 rg=treffen
~#! tid=919705789
Damit Ordnung herrscht kommt wohl auch noch ein E (8)

Para.

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO (Morgoth, 23. Feb 1999, 13:00:16):
~#! rn=Paracelsus rt=919774782 rg=treffen
~#! tid=919705789
So lange Padreic zu Hause bleibt, koennen ruhig alle E's kommen.

M*

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO (Padreic, 23. Feb 1999, 13:03:20):
~#! rn=Morgoth rt=919774816 rg=treffen
~#! tid=919705789
Du willst mich doch bloss reizen, das ich es mir doch einrichte zu kommen ,)

Padreic

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO (Anatol, 23. Feb 1999, 13:05:43):
~#! rn=Padreic rt=919775000 rg=treffen
~#! tid=919705789
Das traue ich nichtmal Morgoth zu. :o)

Anatol


-----------------------------------------------------------------------------



Re^8: Stammtisch in DO (Morgoth, 23. Feb 1999, 13:06:48):
~#! rn=Padreic rt=919775000 rg=treffen
~#! tid=919705789
Mit egal wann und wie Du kommst, wenn Du die Flecken wegmachst, nur nicht bei
uns auf dem Stammtisch.

M*

-----------------------------------------------------------------------------



Re^9: Stammtisch in DO (Nonne, 24. Feb 1999, 10:02:32):
~#! rn=Morgoth rt=919775208 rg=treffen
~#! tid=919705789
argl, wo waren wir? (10) oder (11) egal ich auch.

Nonne.

-----------------------------------------------------------------------------



Re^10: Stammtisch in DO (Trancefear, 25. Feb 1999, 01:41:18):
~#! rn=Nonne rt=919850552 rg=treffen
~#! tid=919705789
Ich schliesse mit der Meinung meines Vorredners an :-)

tf

-----------------------------------------------------------------------------



Re^11: Stammtisch in DO (Teddy, 25. Feb 1999, 21:34:51):
~#! rn=Trancefear rt=919906878 rg=treffen
~#! tid=919705789
entweder +0 oder +2, je nachdem wie es mir morgen geht
Ach ja, fuer diejenigen die irgendwelche Geruechte gehoert haben die 2te
Person ist natuerlich Pfeife.

Teddy

-----------------------------------------------------------------------------



Stati Halle (Gralkor, 26. Feb 1999, 09:16:43):

Es ist wieder mal Stammtischzeit.

Ort des Grauens: Bruchbude in der Zscherbener Landstrasse im Versorgungsgebiet
Halle/S.
Zeit: 05.03.1999 um 1900.

Kommet in Massen :)

G.

PS: Reservierung auf den Namen MUD :)

-----------------------------------------------------------------------------



**Stammtisch in LEIPZIG** (Sinus,  1. Mar 1999, 20:58:20):
Endlich ist es soweit...

Am Freitag, den 06.03.1999 soll in Leipzig ein Stammtisch
fuer alle Interessierten stattfinden...

Treffpunkt : 20:00 Uhr vor Capitol, dann Metzeln in der Leipziger
Innenstadt und anschliessendes Tanken in ner Kneipe.
Zweities sind herzlich eingeladen und werden nicht diskriminiert.

Sinus

-----------------------------------------------------------------------------



Re: **Stammtisch in LEIPZIG** (Mieze,  2. Mar 1999, 10:20:54):
~#! rn=Sinus rt=920321900 rg=treffen
~#! tid=920321900
Schade!!!!

Grad am Freitag ist in Halle Stammti... (obwohl das der 5.3. ist).

Mieze - will auch mal nach L zum Stammti

-----------------------------------------------------------------------------



AENDERUNG STAMMTISCH LEIPZIG !!! (Sinus,  2. Mar 1999, 11:52:09):

Aufgrund Ueberschneidungen mit dem Stammtisch in Halle gibbat wichtige
Aenderung : Termin fuer den Leipziger wird auf Sonntag, 07.03.1999 (diesmal
mit richtigem
Datum)... Uhrzeit (auch neu): 19:00 Uhr ... Treffpunkt (immer noch nix
eingefallen) :
bleibt also vor dem Capitol ....

Sinus

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing,  2. Mar 1999, 19:26:29):
Am 5.3. ist mal wieder der erste Freitag... als Stammtisch in Aachen :-)

Wie immer ab 20h im Labyrinth, eine Wegbeschreibung samt Karte liegt seit
neuestem auch im Netz, ansonsten auch per Mail...

Bis Freitag dann,

Darkwing

-----------------------------------------------------------------------------



Provinzhauptstadt Hannover (Brodar,  2. Mar 1999, 23:12:39):
Es wird mal Zeit!
Es wird mal Zeit!
Zumindest, wenn Hannover scheinbar nur mit einem Kanzler dienen kann
Daher wird es mal Zeit einen Stati hier abzuhalten. Da ich nicht genau weiss,
wer aus der Region kommt, moechten sich doch mal alle Stati-Willigen bei mir
mal melden, damit ich mal einen Termin abmachen kann!
Brodar

-----------------------------------------------------------------------------



Re: Provinzhauptstadt Hannover (Asmodis,  2. Mar 1999, 23:13:21):
~#! rn=Brodar rt=920416359 rg=treffen
~#! tid=920416359
Kommt der kanzler auch ? :-)

-----------------------------------------------------------------------------



Kanzler (Brodar,  2. Mar 1999, 23:14:25):
Noe, der wurde ausgeladen. Der Anlass sollte ja etwas froehlicher Natur sein!
Brodar

-----------------------------------------------------------------------------



artikel stammtisch in B (Gnome,  3. Mar 1999, 22:58:10):
etwas spaet, aber hoffentlich nicht zu spaet... :)

stammtisch in berlin wie immer am

Fr., 05.03.99, um 20.00h, im SEEBLICK, (rykestr., prenzl berg)

gnOme, heute mal kurz :)

-----------------------------------------------------------------------------



stammtisch in paderborn :-) (Jenandra, 15. Mar 1999, 14:55:19):
es ist wieder soweit - am donnerstag, also 18.3., ist in pb wieder stammtisch,
und zwar um 20.00uhr in der loetlampe. wer von auswaerts kommt oder die loete
aus irgendeinem anderen grund nicht kennt, wende sich bitte vertrauensvoll an
mich oder Daria ;-)

Jenandra, freut sich schon

-----------------------------------------------------------------------------



Treffen in Koeln (Tangalur, 18. Mar 1999, 10:27:40):
-------------------MG-Treffen in Koeln-------------------

Am Mittwoch den 24.03.1999 um 19:00 Uhr findet mal wieder
ein MG-Treffen in Koeln statt.
Treffpunkt ist wie immer das Limerick auf der Zuelpicher-
Strasse.
Vermutlich sind bis dahin auch die ersten Fotos von der
MG-Party in Marburg entwickelt, wer sich die also ansehen
will sollte mal vorbeischauen !

----------------------------------------------------------

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 18. Mar 1999, 10:38:50):
Wie jeden Donnerstag ist auch heute um 20 Uhr wieder Stammtisch im
Kleinen Meierhof in Karlsruhe (Zaehringer Strasse). Ich selbst werde
zwar nicht da sein, aber sicher genug andere Irr^H^H^HMudder.
  Boing

-----------------------------------------------------------------------------



Stammti in Halle (Mieze, 18. Mar 1999, 14:25:41):
Hi Muddies,

wir Hallenser wollen einen grossen Stammtisch am Samstag, den 10.04.1999
machen. Schoen waere es, wenn auch Leute aus anderen Orten kommen wuerden
(z.B. Leipzig, Dresden, Magdeburg, Jena usw.).
Wer Lust hat, meldet sich am besten bei mir per Mail.


Mieze - hat grad in ihrem Geburtshoroskop gelesen, dass sie Fuehrungs- und
Organisationsqualitaeten haben soll *austest*

-----------------------------------------------------------------------------



Stammtisch in Erlangen (Marcus, 18. Mar 1999, 17:04:15):
Hi folks!

Auch wenn seit 6 Monaten keiner mehr war, gibts heute ein MUD Stammtisch
revival in Erlangen ... 
Heute, 18.3.1999, 19:00 im Pleitegeier.

(Ja, ich weiss, das ist in 2 Stunden ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stammti in Halle (Jehova, 18. Mar 1999, 20:10:50):
~#! rn=Mieze rt=921767141 rg=treffen
~#! tid=921767141

oh je, bis dahin habe ich das doch wieder vergessen. poste das also bitte so
ca. 5 tage vorher nochmal :)

j*

-----------------------------------------------------------------------------



Re: Stammti in Halle (Sunflower, 19. Mar 1999, 21:46:36):
~#! rn=Mieze rt=921767141 rg=treffen
~#! tid=921767141
Gibts auch wieder Mitternachtssuppe?, Dann komm ich ;)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Stati in DO (Mindblade, 21. Mar 1999, 20:14:49):
Und es ist mal wieder soweit, Ende des Monats, leere Kehlen und die Sucht nach
Unterhaltung treibt uns erneut dazu, den monatlichen Stammtisch abzuhalten.
Also wie immer, Freitag, 19.00 Uhr (oder 20?...mir doch egal) wie ueblich im
Walhalla.

Bis denn,
Mind*

-----------------------------------------------------------------------------



Re: Stati in DO (Teddy, 21. Mar 1999, 20:50:43):
~#! rn=Mindblade rt=922047289 rg=treffen
~#! tid=922047289
Wenn dann spaeter.

Teddy(o.5)

-----------------------------------------------------------------------------



Re: Re: Stati in DO (Nonne, 22. Mar 1999, 10:38:56):
~#! rn=Teddy rt=922049443 rg=treffen
~#! tid=922047289
+ 1 = 1.5 aber wenn teddy nur halb kommt, ists trotzdem ein ganzer, oder?
*grins*

Nonne, durstig.

-----------------------------------------------------------------------------



Re^3: Stati in DO (Gorog, 22. Mar 1999, 13:45:52):
~#! rn=Nonne rt=922099136 rg=treffen
~#! tid=922047289
+ .67 = 2.17 Weil bin nicht sicher, fahren, uebernachten (naja M* schnarcht) ,
mal schaun 

Gorog unentschlossen.

-----------------------------------------------------------------------------



Re^4: Stati in DO (Ringor, 22. Mar 1999, 14:02:29):
~#! rn=Gorog rt=922110352 rg=treffen
~#! tid=922047289
+ 0.83 = 3.00 weil mein Zweitie auch noch kurz reinschauen wollte. ;-)

Ringor sorgt fuer glatte Zahlen.

-----------------------------------------------------------------------------



Re^5: Stati in DO (Thufhir, 22. Mar 1999, 14:42:38):
~#! rn=Ringor rt=922111349 rg=treffen
~#! tid=922047289

soso, dein 2tie ist also nur 0.83 wert... ;)

Thufhir und Anhang zaehlt sich mal als 1.0. ;)

-----------------------------------------------------------------------------



Re^6: Stati in DO (Ringor, 22. Mar 1999, 14:46:33):
~#! rn=Thufhir rt=922113758 rg=treffen
~#! tid=922047289
Zwerge und rechnen, haeh? :-)

Mein Zweitie wollte zu 17% reinschauen. Hauptsaechlich wollte ich selbst zum
Stammtisch. Ergo plus 0.83.

Ringor denkt . o O(eigentlich ganz simpel ;-)

-----------------------------------------------------------------------------



Re^7: Stati in DO (Key, 22. Mar 1999, 14:54:33):
~#! rn=Ringor rt=922113993 rg=treffen
~#! tid=922047289
Ahh Ringor steht zu 17% neben sich ;)

Key

-----------------------------------------------------------------------------



Re^8: Stati in DO (Morgoth, 22. Mar 1999, 15:20:59):
~#! rn=Key rt=922114473 rg=treffen
~#! tid=922047289
Also waere Tiamak dann ein 20.4cm grosser Auswuchs von Ringor?
Igitt. Was Zwerge so alles an sich haben ;-)

M*

-----------------------------------------------------------------------------



Re^9: Stati in DO (Thufhir, 22. Mar 1999, 15:31:15):
~#! rn=Morgoth rt=922116059 rg=treffen
~#! tid=922047289
Kannste das mal fuer nen dummen zwerg in Masse umrechnen? ;)

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Mieze, 23. Mar 1999, 14:23:04):
~#! rn=Sunflower rt=921879996 rg=treffen
~#! tid=921767141
Klar, mein Sonnenbluemchen, wenn Du einen ausreichend grossen Topf mitbringst
:)


Mieze - lebt grade ihre Hausfrauentriebe aus :)

-----------------------------------------------------------------------------



Re: Stati in DO (Kartoffel, 23. Mar 1999, 23:58:36):
~#! rn=Mindblade rt=922047289 rg=treffen
~#! tid=922047289
Auch wieder dabei 

'Toffel (+1)

-----------------------------------------------------------------------------



Re: Re: Stati in DO (Gorog, 24. Mar 1999, 02:27:21):
~#! rn=Kartoffel rt=922233516 rg=treffen
~#! tid=922047289
So is dann doch sicher.
Also + .34 = 4.34
Achja + 1 = 5.34  (Mitfahrer) 

Gorog unabhaengig ohne Fahrer.

-----------------------------------------------------------------------------



Norddeutscher Stammtisch (Jasonrigid, 24. Mar 1999, 17:41:00):
Hallo Leute,

auf der Party ist uns die Idee gekommen, mal einen groesseren Stammtisch zu
machen, zu dem dann alle moeglich Leute aus BS und groesserer Umgebung kommen
koennten. Wir dachten da insbesondere an Mudder aus Hannover, BS, Magdeburg,
Halle, Jena und Leipzig.

Mich wuerde jetzt mal interessieren, ob daran Interesse besteht von den Leuten
von da, und wenn ja, wo wir das am besten machen und welche Termine so den
Beteiligten am genehmsten sind.

Als Treffpunkte wuerden sich am ehesten BS oder Magdeburg eignen, weil sie, in
Anbetracht der oben genannten Staedte, am zentralsten liegen.

Kommentar entweder hier oder per mail, oder direkt an mich, bin ja eh fast
immer da

Jason

-----------------------------------------------------------------------------



Re: Norddeutscher Stammtisch (Daria, 24. Mar 1999, 17:43:53):
~#! rn=Jasonrigid rt=922297260 rg=treffen
~#! tid=922297260
Ich koennte mir vorstellen dass Paderborn nicht abgeneigt ist. Man koennte ja
sowas auch hier machen.
My 5p.
Daria Wetterwachs
PS: Ich hoffe der Rest Paderborns ist damit einverstanden ;-).

-----------------------------------------------------------------------------



Re^3: Stammti in Halle (Sunflower, 25. Mar 1999, 00:53:02):
~#! rn=Mieze rt=922198984 rg=treffen
~#! tid=921767141
Kochtopf? hmm ich glaube bei mir verstaubt irgendwo noch einer ;)
Ansonsten weil wir beide kochen, wenn alle gruene gesichter bekommen
bist du dran schuld und wenn alle laecheln und satt werden ich ;)
Sun* (eingebildet)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



StaTi in Paderborn :-) (Jenandra, 25. Mar 1999, 23:49:01):
Daria Jenandra und ich haben eben ganz demokratisch und quotiert beschlossen,
dass
es am 9. April einen Stammtisch in Paderborn geben wird. *grins*
Das besondere:
- es ist nicht der 3. Donnerstag im Monat.
- es ist ein Freitag.
Das heisst, dass auch ein paar Leute kommen koennen, fuer die "abends
zurueckfahren" zu weit waer.  Die aber am Freitag arbeiten muessten.
Ich bitte alle, die kommen moechten und einen Schlafplatz brauchen, sich
anzumelden. SOviele Plaetze gibts naemlich auch nicht ;-)
Und alle Paderborner, die Platz haben, sollten sich auch melden. Die meisten
werden wohl bei mir unterkommen.
Man koennte ja dann am Samstag einen Stadtbummel mit einem Besuch des
Computermuseums verbinden. (Das faengt bei der Keilschrift an und hoert im
Cyberspace auf ... lohnt sich :-)

Jenandra, freut sich schon :-)

-----------------------------------------------------------------------------



Re: StaTi in Paderborn :-) (Jenandra, 25. Mar 1999, 23:49:49):
~#! rn=Jenandra rt=922405741 rg=treffen
~#! tid=922405741
Jenandra grummelt cut&paste an ... ;-)

-----------------------------------------------------------------------------



Re: Norddeutscher Stammtisch (Tilly, 29. Mar 1999, 00:56:16):
~#! rn=Jasonrigid rt=922297260 rg=treffen
~#! tid=922297260
Hmm, 
keine schlechte Idee, aber dann besser in BS. Nach Magdeburg ists mir zu weit.
Ist das dann der 'Ersatz-Stati' fuer den geplanten in Hannover?
 - Tilly -

-----------------------------------------------------------------------------



Kleiner Stammtisch in Dresden (Morgonate, 29. Mar 1999, 11:49:26):
Hallo Leutes,

da im Moment ein Mudder aus Oesterreich hier in Dresden zu Besuch weilt,
schlage ich vor, morgen (Dienstag) um 12:30 ein kleines Treffen in der neuen
Mensa zu veranstalten.
Bitte erscheint recht zahlreich.

Msar

-----------------------------------------------------------------------------



Hiermit ... (Ark, 29. Mar 1999, 21:18:43):
... gebe ich kund und zu wissen, dass der 15.04.99 vorgesehen sei fuer ein
lustig Fest in Darmstadt. Treffpunkt der huepfenden Meute moege sein die
allseits bekannte Taverne 'Hotzenplotz', in den Abendroeten um 19.00 Uhr.
Damit das heimisch' Volk, welches derlei Belustigungen bisher so treu
besuchte, nicht murrend ziehe den Dolch wider den armen Boten, sei es
verkuendet, dass er handelt im Auftrag eines Dritten, welcher sich ob derlei
Gefahr nicht zu erkennen geben mag. Und ebenfalls sei dem Stammbesuch
kundgetan, dass in solcherart Datum ein maechtig Teil Toleranz - welch' keckes
Wort - verbirgt, denjenigen gegenueber, die ansonsten die Schenke meiden
wuerden, und doch auch einmal gern gesehen waeren.
So bemaechtigt Euch der Nachsicht und macht Euch auf nach Darmstadt ... oder
macht mich nieder und bringet einen neuen Termin zum Vorschein, der den
geneigten Gaesten gefallen moege - unter der Woche, wenn es Euch beliebt.

Im Jahre MCXXIII nach Kandri schrieb dies


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Hiermit ... (Anacrion, 30. Mar 1999, 19:38:03):
~#! rn=Ark rt=922742323 rg=treffen
~#! tid=922742323
komme

Anacrion (3 ?)

-----------------------------------------------------------------------------



April-Stammtisch in Dresden (Zino, 30. Mar 1999, 19:46:04):
Am Donnerstag, den 8.4.99, ist wieder Stammtisch in Dresden, und zwar um 21:00
Uhr in der Wu11.

Mahatma

-----------------------------------------------------------------------------



StaTi in B (Gnome, 30. Mar 1999, 22:59:27):
Seid gegruesset!

Wieh mirr zu Oren kam, wird es den 1. Freihtag diesen Mohnats (also in drei
Tahgen) ein Treffen gehben, zu welchem die besten Abenteuhrer und Drauf-
gaenger kommen werden. Die Zahl deru schwanket zwischen Zehn und Fuenfzehn,
in der Hoffnung, dass es noch maehr werden. Geladen sind alte und neue
Gesichter zum gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Seeblick" sein, in der wir
schon so manche Stunde verbracht haben. Gelegen ist sie in der Rykestr.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat. Bringet Zait und guhte Laune mith!

Ich hoffe, dass trotz der Feiertage ein paar zusammenkommen werden :)

gnOme

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 31. Mar 1999, 10:33:02):
Der Stammtisch in Karlsruhe faellt diese Woche wegen Gruendonnerstag
und Wirts-Urlaub aus.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Anatol, 31. Mar 1999, 10:33:53):
~#! rn=Boing rt=922869182 rg=treffen
~#! tid=922869182
Was ist dieses Ereignis das naechste mal nach Ostern? Ich bin
da eventuell ziemlich weit suedlich anzutreffen und koennte bei
der Gelegenheit ja mal wo anders als immer nur auf dem Muenster-
Stammtisch Leuten auf den Geist gehen... :)

Anatol


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Boing, 31. Mar 1999, 10:34:45):
~#! rn=Anatol rt=922869233 rg=treffen
~#! tid=922869182
Natuerlich am Donnerstag nach Ostern ... der Karlsruher Stammtisch
findet schliesslich JEDE Woche statt. :) (Mit Ausnahmen, wie gesehen)
  Boing

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Anatol, 31. Mar 1999, 10:36:34):
~#! rn=Boing rt=922869285 rg=treffen
~#! tid=922869182
Kommen denn da auch Leute?

Und warum taucht Dein "Boing" bei mir erst auf, wenn ich den naechsten
Befehl abgesetzt habe? *musterPrompssehrmisstrauisch*

Anatol


-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Boing, 31. Mar 1999, 10:37:35):
~#! rn=Anatol rt=922869394 rg=treffen
~#! tid=922869182
Also normalerweise kommen Leute ... was natuerlich passiert, wenn Du
Deinen Besuch ankuendigst kann ich nicht voraussagen ... :) *grins*
  Boing

[Leerzeile fuer Anatols Prompts]


-----------------------------------------------------------------------------



Re: April-Stammtisch in Dresden (Lou, 31. Mar 1999, 10:40:27):
~#! rn=Zino rt=922815964 rg=treffen
~#! tid=922815964

Leider zu spaet. ;)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Pertinaxe, 31. Mar 1999, 12:04:49):
Und ich wuerde mal nach Norden fahren, wenn der Termin passt. Sagt mir also
Bescheid.

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Hobo, 31. Mar 1999, 16:06:24):
~#! rn=Pertinaxe rt=922874689 rg=treffen
~#! tid=922874689
Naechster Stammtisch in Karlsruhe ist am Donnerstag, 8. April, ab 20 Uhr. Ort
ist wie immer der Kleine Meierhof. Wegbeschreibungen gibt's bei Boing
*abwaelz* :)
Ciao

   Hobo - erwartet Anatol, Pertinaxe und viele andere

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Sharia, 31. Mar 1999, 16:07:00):
~#! rn=Hobo rt=922889184 rg=treffen
~#! tid=922874689
hmmm koennte sein dass ich da auch hinkomme :))

Sharia

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  3. Apr 1999, 01:03:39):

Am Freitag ist es wieder so weit:

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 9.4. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel


-----------------------------------------------------------------------------



Re: StaTi in Paderborn :-) (Jenandra,  6. Apr 1999, 03:58:22):
~#! rn=Jenandra rt=922405741 rg=treffen
~#! tid=922405741
bisher war die Resonanz auf den ausserplanmaessigen Paderborner Stammtisch
ja nich so dolle ... naja, ein paar Anmeldungen gab es, also wird das
jetzt durchgezogen. Zur Erinnerung: Freitag abend Kneipe, Samstag Besuch
des Heinz-Nixdorf-Museums-Forums, und wenn genug Interesse besteht, gehen
wir Samstag auch nochmal in die Kneipe. Wer sich jetzt doch noch
ueberlegt, zu kommen: einfach mich oder Daria ansprechen, besonders wenn
ein Schlafplatz gebraucht wird ;-)

Fuer die, die sich auskennen: wir treffen uns Freitag um 20.00h in der
Loetlampe (Warburger Str. 37), fuer Ortsunkundige gilt wieder:
Ansprechpartnerin Daria oder ich :-)

Jenandra, freut sich auf jeden Fall auf Freitag :-)

-----------------------------------------------------------------------------



Re: Stammti in Halle (Mieze,  7. Apr 1999, 16:53:30):
~#! rn=Mieze rt=921767141 rg=treffen
~#! tid=921767141
So, Muddies...

der Stammti in Halle an der Saale naht und irgendwie haben sich sehr wenig
Leute gemeldet (Interesse haelt sich wohl in Grenzen). Der harte Kern trifft
sich am Samstag, den 10.04.99 um 19 Uhr in der "Spaetschicht" (Torstrasse 20,
Naehe Rannischer Platz). 

Falls es doch noch Interessenten gibt, meldet Euch bei mir (mail oder
Telefon).

Die Mieze - will nicht alleine in der Spaetschicht sitzen. (Stammti gibts da
erst ab 3 Leute und dann auch noch 10 % Rabatt)

-----------------------------------------------------------------------------



FFM! (Fryder,  7. Apr 1999, 23:19:11):

Hiho,

Frankfurt ist nicht gerade die MG-Hochburg, trotzdem wollen wir versuchen, ein
paar Leute, moeglichst auch regelmaessig zusammenzutrommeln. Naechsten Montagf
treffen wir und erstmal nur zu zweit, wenn jemand kurzfristig noch kann, bitte
bei Boebbel oder mir melden. Bei laengerfristigen Sachen natuerlich auch.

Fryder


-----------------------------------------------------------------------------



Re: FFM! (Gast1,  8. Apr 1999, 00:03:32):
~#! rn=Fryder rt=923519951 rg=treffen
~#! tid=923519951
Ja, interesse haett ich ja schon, wo is das denn und wann und wieso?

-----------------------------------------------------------------------------



Re: Re: FFM! (Ark,  8. Apr 1999, 00:15:06):
~#! rn=Gast1 rt=923522612 rg=treffen
~#! tid=923519951
Ey mann ey, wir ham doch auch einen Stammtisch im unweit entfernten Darmstadt.
Ort: Hotzenplotz, Zeit: 15.04.99, ab 19.00 Uhr. Kommt doch mal vorbei, dann
besprechen wir auch einen Frankfurter Stammtisch :-)
Immer fuer einen Austausch von Stammtischpublikum,


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: FFM! (Sharia,  8. Apr 1999, 14:10:49):
~#! rn=Ark rt=923523306 rg=treffen
~#! tid=923519951
sollen wir hier in Giessen jetzt auch noch nen Giessener Stati machen ?? :-)
Frankfurt is besser als Darmstadt ... zumindest von der entfernung her gesehn
... also verschiebt den darmstaedter Stati nach FFm und ich kann vielleicht
auch oefter kommen ..:-)

Sharia

-----------------------------------------------------------------------------



Re^4: FFM! (Ark,  8. Apr 1999, 21:48:55):
~#! rn=Sharia rt=923573449 rg=treffen
~#! tid=923519951
Och, von der Entfernung her gesehen geht nix ueber den Darmstaedter, 5 min mit
Fahrrad :-)
Wenn ihr Euch ueber ein regelmaessiges Datum in Frankfurt einigen koennt, dann
schaun wer mal, ob die Darmstaedter und anderen nicht den aufnehmen. Aba
15.04. bleibt erst mal so, ok?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: FFM! (Anacrion,  8. Apr 1999, 21:52:26):
~#! rn=Ark rt=923600935 rg=treffen
~#! tid=923519951
Ach ja ...

Fuer die Giessener sollte der Weg zum StaTi nach DA aehnlich weit sein wie
nach FFM ... nicht rein wegmaessig, aber doch die dauer der anreise duerfte
gleich sein, da in da der weg etwas einfacher ist und nicht mit 1000 ampeln
und einbahnstrassen gewuerzt ... :)

Gruss

anac*

-----------------------------------------------------------------------------



Re^6: FFM! (Ark,  8. Apr 1999, 21:56:33):
~#! rn=Anacrion rt=923601146 rg=treffen
~#! tid=923519951
*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*Neu*

Und ich hole sogar die, die mit dem Zug kommen, nach Vereinbarung
vom Bahnhof ab ... hm, hoffentlich kommen jetzt net 100 mit der
Bahn :-)

*Service*Service*Service*Service*Service*Service*Service*Service*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: FFM! (Ark,  8. Apr 1999, 22:01:34):
~#! rn=Ark rt=923601393 rg=treffen
~#! tid=923519951
*Update*Update*Update*Update*Update*Update*Update*Update*Update*

Damit war natuerlich DA Hauptbahnhof gemeint ... *stoehn*
Lauter Mudder, das kann nicht gut gehen !

*Update*Update*Update*Update*Update*Update*Update*Update*Update*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: FFM! (Key,  9. Apr 1999, 00:52:36):
~#! rn=Fryder rt=923519951 rg=treffen
~#! tid=923519951
Hmm wenn ihr einen machen wollt ... dann doch lieber Freitags ... Jedenfalls
waere mir das lieber ,)

Key

-----------------------------------------------------------------------------



Re^6: FFM! (Key,  9. Apr 1999, 00:56:46):
~#! rn=Anacrion rt=923601146 rg=treffen
~#! tid=923519951
Hmm gehoert Darmstadt noch zum RMV?

Key

-----------------------------------------------------------------------------



Re^7: FFM! (Anacrion,  9. Apr 1999, 01:10:48):
~#! rn=Key rt=923612206 rg=treffen
~#! tid=923519951
ja

Anac* - auch einzeilend

-----------------------------------------------------------------------------



Re^8: FFM! (Stoerti,  9. Apr 1999, 01:36:39):
~#! rn=Anacrion rt=923613048 rg=treffen
~#! tid=923519951
Also FFM waere mir viiiiiiiiel lieber. 
Vielleicht das MTZ, das liegt direkt an der A66, kostenlose Parkplaetze, keine
Einbahnstrassen....und ich kann quasi zu Fuss hin :-)))))
Ne, aber irgendwo verkehrsguenstig in FFM waer schon nicht schlecht.

-----------------------------------------------------------------------------



Re^9: FFM! (Anacrion,  9. Apr 1999, 01:39:32):
~#! rn=Stoerti rt=923614599 rg=treffen
~#! tid=923519951
Aehem.

Nicht zu verachten sind an dieser Stelle die endlosen Rudelmudsessions bis
spaet in die Nacht, die natuerlich nur in der Naehe des von mir
administrierten pools stattfinden koennen .... es sei denn, jemand wuesste ne
ausweichmoeglichkeit

Anac*

-----------------------------------------------------------------------------



Sommerparty in Winterburg? (Zephyr, 10. Apr 1999, 00:16:38):

   Eine gute Sommerparty braucht eine gute Vorbereitung!

Deswegen hat das Organisationskomitee "Burgparty" beschlossen, amr
Wochenende 8./9. Mai eine Planungsparty^W^W ein Arbeitstreffen an
Ort und Stelle durchzufuehren.
Ob das Ganze dann in eine Art verlaengerten Stammtisch mit Ueber-
nachtung und Katerfruehstueck oder in konstruktives Kopfzerbrechen 
ausartet, liegt ganz an Euch.
Wer hat Lust?
Anmeldungen usw bitte alles an Montanus (unseren Mann vor Ort), er
hat auch Wegbeschreibungen.


(i.A.)  Zephyr

-----------------------------------------------------------------------------



rubrik 40 (Hight, 10. Apr 1999, 00:45:22):
Pinky sagt: bin ich hier bei 'verasche den feline' oder was?
Freca nickt zustimmend.
Du nickst zustimmend.

*grins*

-----------------------------------------------------------------------------



Re^3: FFM! (Stoerti, 11. Apr 1999, 02:09:34):
~#! rn=Ark rt=923523306 rg=treffen
~#! tid=923519951
Kann mir da jemand mal ne strasse zu sagen. 
Einen Ort Hotzenplotz find ich auf der Karte nich :-)

-----------------------------------------------------------------------------



Re^7: FFM! (Teddy, 11. Apr 1999, 04:12:04):
~#! rn=Ark rt=923601393 rg=treffen
~#! tid=923519951
OK, bin in F, komme DO wenn ich es schaffe nach DA, weil KA ja ausfaellt, komm
aber nicht mehr ins MG bis dahin, schreib mal bitte ne Adresse in die MPA

MfG,

das T*.

-----------------------------------------------------------------------------



Re^8: FFM! (Teddy, 11. Apr 1999, 04:13:13):
~#! rn=Teddy rt=923796724 rg=treffen
~#! tid=923519951
F:=FFM

das T*

-----------------------------------------------------------------------------



Re^10: FFM! (Teddy, 11. Apr 1999, 04:14:39):
~#! rn=Anatol rt=923796817 rg=treffen
~#! tid=923519951
G?

das T*

-----------------------------------------------------------------------------



Re^8: FFM! (Anacrion, 12. Apr 1999, 01:00:57):
~#! rn=Teddy rt=923796724 rg=treffen
~#! tid=923519951

Also. Der Hotzenplotz ist in der Mauerstrasse 34 ... na ja :) Also ...

Von der A5 kommend ganz nach DA reinfahren (am Darmstaedter Kreuz also) ..
imer gerade aus bis es in den City-Tunnel geht. Im Tunnel geht es nach rechts,
dann hat man die Wahl rechts oder links. an dieser Stelle nach LINKS fahren
... Kurze Zeit spter kommt man an eine grosse Kreuzung. Auch da nach LINKS
fahren und immer gerade aus danach .. Man fhrt am Schloss vorbei auf das Hess.
Staatsarchiv zu. Dort (neben dem Audimax) nach rechts abbiegen und die nchste
Mglichkeit nach Links (Magdalenenstrae). Die nchste Rechts rein ist die
Mauerstrae. Auf der Rechten Seite das Eckhaus  eine Ecke weiter gehts rein ...

Bis dann. Hoffe nicht zu konfus geschrieben zu haben.

anc*

-----------------------------------------------------------------------------



Stammtisch Dortmund (Brandir, 12. Apr 1999, 02:24:06):
So, nun werden wir mal als Teilzeit-Dortmunder einen Sonderstammtisch ins
Leben rufen, bzw. es versuchen :-)

Brandir (1)
Leibniz (2)

Stattfinden soll er am Freitag, dem 16.4. wie immer im Wallhalla.

-----------------------------------------------------------------------------



Re^8: FFM! (Hobo, 12. Apr 1999, 19:45:15):
~#! rn=Teddy rt=923796724 rg=treffen
~#! tid=923519951
HAAAALT!

Das ist ein Geruecht! Der Karlsruher Stammtisch faellt NICHT aus! Nie und
nimmer!

Also wie gesagt:
Jeden Donnerstag, 20 Uhr im Kleinen Maierhof. Wir erwarten immer noch
Roadrunner, Pertinaxe und den Anatroll!

CIaociao

  Hobo

-----------------------------------------------------------------------------



Re^4: FFM! (Ark, 12. Apr 1999, 22:06:47):
~#! rn=Stoerti rt=923789374 rg=treffen
~#! tid=923519951
Klaro, A5, Abfahrt Darmstaedter Kreuz Richtung Stadtmitte, ueber die
Bahnbruecke (links altes Maritim), immer weiter geradeaus, auf den langen
Lulatsch (Ludwig) zu, vor dem Platz nach unten abtauchen :-) auf den Ring,
eine halbe Runde Ring folgen, dann links das Schloss liegen lassen und nach
rechts den Ring ueber die Alexanderstrasse nach Osten verlassen. Erste Strasse
links, dann schonmal langsam nach Parkplaetzen scannen, denn die erste Strasse
rechts ist diejenige welche, Hotzenplotz ist an der naechsten Ecke, da kommt
man noch am Hobbit vorbei. Ich hoffe, das war ok. Wer Probleme bekommen
koennte und das schon weiss, mailt mir, ich gebe ihm (ihr) dann eine
Notfallnummer :-) ).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: FFM! (Ark, 12. Apr 1999, 22:07:29):
~#! rn=Anacrion rt=923871657 rg=treffen
~#! tid=923519951
Irgendwie hab ich mir das denken koennen, dass der Heinzel auch was schreibt.
Los, welche Beschreibung ist besser? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 12. Apr 1999, 23:42:05):

Diesmal mitten im Montat, aber es gibt ihn noch:

Am Freitag (16.4) ist Stammtisch in Aachen, wie immer ab 20h...
Evtl. koennten wir uns ne neue Kneipe ueberlegen... noch ist ja ein wenig
Zeit. Wenn sich da was tut schreib ich aber auf jeden Fall noch rechtzeitig in
die mpa :)

Ansonsten sieht man sich dann Freitag :)

Darkwing

-----------------------------------------------------------------------------



Re: Stammtisch Dortmund (Hibbelig, 13. Apr 1999, 15:05:41):
~#! rn=Brandir rt=923876646 rg=treffen
~#! tid=923876646
Morgoth (3)
Hibbelig (4)
hab ich jetzt einfach mal so beschlossen, da der kerl eh nix zusagen hat
*kicher*

-----------------------------------------------------------------------------



Re: Re: Stammtisch Dortmund (Morgoth, 13. Apr 1999, 15:06:41):
~#! rn=Hibbelig rt=924008741 rg=treffen
~#! tid=923876646
Also wenn Du schon dabei bist, dann wenigstens nur als halbe Portion, Du
Puschelfuss ;-))

M* (3), Hibbelig(3.5)

-----------------------------------------------------------------------------



Re^3: Stammtisch Dortmund (Hibbelig, 13. Apr 1999, 15:07:52):
~#! rn=Morgoth rt=924008801 rg=treffen
~#! tid=923876646
dann stimmt aber immer was noch nicht !!!
du zaehlst schliesslich fuer 1 1/2 portionen :)
also 
M* (3 1/2) Hibbelig (4)

-----------------------------------------------------------------------------



Re^4: Stammtisch Dortmund (Nonne, 13. Apr 1999, 15:23:51):
~#! rn=Hibbelig rt=924008872 rg=treffen
~#! tid=923876646
Ich wuerde zu gerne verraten, ob ich auch komme, aber dann waere die ganze
Spannung weg ;-) also lasst euch ueberraschen...

Nonne (geheimnisvoll)

-----------------------------------------------------------------------------



Re^5: Stammtisch Dortmund (Hibbelig, 13. Apr 1999, 15:24:51):
~#! rn=Nonne rt=924009831 rg=treffen
~#! tid=923876646
och Nonne !
das kannst du deinen fans doch nich antun ;-)
Hibbel

-----------------------------------------------------------------------------



Re^6: Stammtisch Dortmund (Nonne, 13. Apr 1999, 15:26:04):
~#! rn=Hibbelig rt=924009891 rg=treffen
~#! tid=923876646
Hast eigentlich recht. Es geht ja auch nur um eine Frau und nicht um alle
meine Fans. Die muessen leider drunter leiden, dass sich eine Frau (?) nicht
entscheiden kann...

I'm so sorry...

Nonne.

-----------------------------------------------------------------------------



Re^7: Stammtisch Dortmund (Grimman, 13. Apr 1999, 15:27:52):
~#! rn=Nonne rt=924009964 rg=treffen
~#! tid=923876646
Was? Nur um eine
???

MBIMG , GrimMan , krampfhaft nicht einzeilend ...

-----------------------------------------------------------------------------



Stammti in Halle (Nachtrag) (Mieze, 13. Apr 1999, 16:05:20):

Hi Leuts,

vielen Dank an: Sunny, Pferdeschwanz, Pamela, Hard Rock, Sinus, Comic,
Schwede, Guard und gruene Jacke fuer den tollen Stammti! So nett war der schon
lang nicht mehr.

Gruss Kragen :)

P.S. Die Betreffenden verstehens :)

-----------------------------------------------------------------------------



Re: Stammti in Halle (Nachtrag) (Guard, 14. Apr 1999, 14:49:27):
~#! rn=Mieze rt=924012320 rg=treffen
~#! tid=924012320
ich war aber SCHWIERIG ;)

Guard

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Nachtrag) (Mieze, 14. Apr 1999, 17:17:24):
~#! rn=Guard rt=924094167 rg=treffen
~#! tid=924012320
hmmm, da hatte der Kellner wohl genuschelt :)

Mieze

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Karis, 16. Apr 1999, 11:52:15):
Hallo an alle Muenchener!
Es ist definitiv ZEit fuer einen weiteren Stammtisch! NAchdem der letzte ja
richtig gut besucht war (13 Mudder immerhin :), bleibt zu hoffen, dass
der naechste Stammtisch im
          
          Steinheil

(jau, das in der Steinheilstr. hinter der Technischen Universitt, U2 bis
Station Theresienstr., Parkplaetze hats in der Gegend am Abend auch :)
mindestens genauso gut besucht wird :))
Wegbeschreibungen gibbs bei mir, Acrimon kennt die Kneipe wohl auch,
und wenn alles nix hilft: www.stadtplandienst.de ;))

Noch was vergessen? Ach ja .... der Termin ....

Freitag, der 23.4.1999, 19.00 Uhr.

Und wegen Tischbestellung waere ein kurzes Bescheid ganz nett :))

Dann bis demnaex,

Karis (1).

-----------------------------------------------------------------------------



Stammtisch in Hamburg (Hangover, 16. Apr 1999, 12:30:23):
Moin!

Nach langer Zeit gibt es mal wieder einen Stammtisch in Hamburg.
Und zwar am 23.04. ab 19 Uhr im Feuerland.
Wegescripte auf Anfrage :)

-Hangover

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Calimera, 16. Apr 1999, 17:11:43):
~#! rn=Calimera rt=924275150 rg=treffen
~#! tid=924256335
na endlich - bin dabei :-)

Calimera (2)

-----------------------------------------------------------------------------



S*T*A*T*I in Braunschweig !!! (Jasonrigid, 16. Apr 1999, 17:59:15):

Hallo Leute,

extra rechtzeitig, damit sich alle das ueberlegen koennen, verkuende ich
hiermit den naechsten S*T*A*T*I :

am 1.5.1999, 20.00 Uhr

Wo, wird noch bekannt gegeben, je nachdem, wozu diejenigen die kommen, dann
Lust haben.

Man beachte, dass der Stammtisch, diesmal auf Wunsch eines einzelnen Herrn
*zwinker Alpha* auf einem Sonnabend liegt.

Wie steht es mit Leuten aus der Umgebung, Magdeburg, Halle, Berlin, Hannover
?? Wer komme will, bitte mail an mich oder direkt ansprechen, bin ja eh immer
da *grins*

Zugesagt haben bisher : meine Wenigkeit und Karic, mit hoher
Wahrscheinlichkeit werden auch Festin und Ingramosch dabei sein.

Meldet Euch mal

Jason

-----------------------------------------------------------------------------



Re: S*T*A*T*I in Braunschweig !!! (Tarina, 16. Apr 1999, 18:15:20):
~#! rn=Jasonrigid rt=924278355 rg=treffen
~#! tid=924278355

Also bei aller Liebe: Hannover ist fuer mich zumindest keine Umgebung von
Braunschweig.

Ich komme nicht.

Gruss,
Tarina

-----------------------------------------------------------------------------



Re^5: FFM! (Stoerti, 16. Apr 1999, 21:00:10):
~#! rn=Ark rt=923947607 rg=treffen
~#! tid=923519951
naja, hatte leider nicht sollen sein....ich mus
mein kommen aufs naechste mal verschieben.
mir kam was dazwischen :-)

-----------------------------------------------------------------------------



Gibts verfressene Aachener? (Ronda, 16. Apr 1999, 21:34:04):
... die auch noch spontan sind?
Mich treibts morgen nachmittag nach Aachen (jau, Philou's
Ausstellungseroeffnung =:) ) - und da wollte ich davor in Aachen noch ein
wenig bummeln gehen und eventuell ins Cafe zum Mohren (oergs, das ist in der
Naehe von Plums Kaffee.. nennt sich das ganze "Am Hof" oder so?)
Falls also jemand von Euch Lust haette, sich so gegen 15.30 Uhr auch einen
leckeren Cafe latte + Kirsch auf Reis zur Brust zu nehmen, ruft mich doch
einfach nochmal kurz an unter 0172-7105254 - allein essen macht so fett ;)
Tschuess und vielleicht bis morgen/nachher/gestern (je nachdem, wann Du das
liest...)

Ronda

-----------------------------------------------------------------------------



Re: Stammti in Halle (Nachtrag) (Sunflower, 17. Apr 1999, 00:29:25):
~#! rn=Mieze rt=924012320 rg=treffen
~#! tid=924012320
*grins* naechsten Monat wieder Mieze? ;)
Und nun hab ichs wieder nicht geschafft das du mal fuer mich kochst..
Aber eines tages, und das verspreche ich dir (hiermit hochundheilig)
darfst du fuer mich kochen ;)

PS: dank noch an Pferdeschwanz und Pamela, besonders fuer das leckere
Haehnchen am Sonntag sowie der schoene Spaetmittag im Spielehaus.

Sun*
(raucht wieder offiziel :) )
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Nachtrag) (Mieze, 17. Apr 1999, 00:51:55):
~#! rn=Sunflower rt=924301765 rg=treffen
~#! tid=924012320

schaun wir mal... Spaetschicht gefaellt mir viel, viel besser als Bruchbude.
Ich kann was organisieren. Ihr muesst nur wollen :)))

Gruss Mieze

-----------------------------------------------------------------------------



Re^3: Stammti in Halle (Nachtrag) (Sunflower, 17. Apr 1999, 00:53:05):
~#! rn=Mieze rt=924303115 rg=treffen
~#! tid=924012320
Naja so lange du es mal schaffst genau zu dem zeitpunkt was zu essen
zukochen, wenn ich mal da bin, dann bin ich wieder mit dabei ;)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



stammtisch in ka (Muadib, 17. Apr 1999, 14:56:19):
nur der vollstaendigkeit halber:
der stammtisch in karlsruhe findet jeden donnerstag ab 20.00h im kleinen
meierhof in der zaehringer strasse statt

wegbeschreibungen gibts: a) bei boing (wenn ihr ankommen wollt)
b) bei mir (wenn ihr was von ka sehen wollt)

muadib *kennt sich nicht aus(generell)*

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Wurzel, 18. Apr 1999, 18:47:16):
~#! rn=Karis rt=924256335 rg=treffen
~#! tid=924256335
bescheid

wurzel (2 und 3)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Wurzel, 18. Apr 1999, 18:59:52):
~#! rn=Wurzel rt=924454036 rg=treffen
~#! tid=924256335
hmm, besser erst zu ende lesen...
also gut, 3 und 4

wurzel

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Nachtrag) (Gralkor, 19. Apr 1999, 11:00:27):
~#! rn=Sunflower rt=924301765 rg=treffen
~#! tid=924012320
ihr wart im SH und habt MIR NICHT BESCHEID gegeben ???
Schaemt Euch !
Das sollte doch endgueltig meinen Ruf ruinieren...

G.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenchen (Songoku, 20. Apr 1999, 15:43:18):
~#! rn=Wurzel rt=924454792 rg=treffen
~#! tid=924256335
me two aeh too!

Sayounara!

-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenchen (Calimera, 20. Apr 1999, 16:13:09):
~#! rn=Songoku rt=924615798 rg=treffen
~#! tid=924256335
Halloechen,

so Zwischenstand und vielleicht Ansporn fuer weitere Anmeldungen zum
Stammtisch :-)

Am Freitag, den 23.04. zum Stammtisch in Muenchen kommen: 
Branwen, Calimera, Cymonk, Devilchen (?), Jiddu, Karis, Reaper, Songoku,
Wurzel (2), Zillei

Also aufi... 

winkewinke
Cali*

-----------------------------------------------------------------------------



Re: stammtisch in ka (Mccauls, 21. Apr 1999, 14:51:13):
~#! rn=Muadib rt=924353779 rg=treffen
~#! tid=924353779
b) hat Pertinaxe letste woche bestaetigt ;)

McCauls (nix fuer ungut, Mua) ;)

-----------------------------------------------------------------------------



Treffen in Hannover (Brodar, 22. Apr 1999, 03:20:12):
Moin!
Moin!
Jetzt soll es mal soweit sein!
Ein Stammtisch in Hannover, und fuer alle aus der Umgebung.
Geplant ist Freitag, der 7.Mai.
Wo ?
Wahrscheinlich auf dem Faust-Gelaende in Linden. Ansonsten reagiere ich auf
alle guten Anregungen fuer
eine nette Kneipe.

Brodar

-----------------------------------------------------------------------------



08.05.99 (Ark, 23. Apr 1999, 01:46:47):
Jo, da spielt Galaxy wieder alles in Grund und Boden ... hm, hoffe ich. Plant
da jemand nach FRA zu kommen zwecks gemeinschaftlicher Teilnahme an der Pachty
vorher und eventuellem Feiern nachher? Mail an mich, dann machen wir mal einen
Treffpunkt aus. Loslos, Galaxy rulez, etc. :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Treffen in Hannover (Aline, 23. Apr 1999, 11:59:51):
~#! rn=Brodar rt=924744012 rg=treffen
~#! tid=924744012

Chapeau Claque (<- ist ne Kneipe)
liegt allerdings ca. 55 km suedwestlich von Hannover.
Genauer gesagt in Hildesheim. ;)

Aline

P.S.: 7. Mai ist ok

-----------------------------------------------------------------------------



Re: Re: Treffen in Hannover (Grimmborn, 23. Apr 1999, 12:08:54):
~#! rn=Aline rt=924861591 rg=treffen
~#! tid=924744012
Du irrst.
Das ist ein Kaffee in Koeln, Berrenrather Strasse.

Grimmborn der Ateist

-----------------------------------------------------------------------------



Re^3: Treffen in Hannover (Aline, 23. Apr 1999, 12:11:33):
~#! rn=Grimmborn rt=924862134 rg=treffen
~#! tid=924744012

Hmm und ich dachte schon, Hildesheim sei zu weit fuer Die Hannoveraner, aber
da Du ja meinst man koennte sich auch in Koeln treffen....

Kuesschen Aline

-----------------------------------------------------------------------------



Re^4: Treffen in Hannover (Grimmborn, 23. Apr 1999, 12:12:26):
~#! rn=Aline rt=924862293 rg=treffen
~#! tid=924744012
Wenn Du dabei bist erscheine ich auf jeden Fall auch.

Grimmborn der Atheist laesst sonst durchaus sog. Koelner Stammtische aus

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Stoerti, 24. Apr 1999, 16:20:19):
~#! rn=Karis rt=924256335 rg=treffen
~#! tid=924256335
Jau, ich fands im uebrigen schoen. Eigentlich schoener als den in Dortmund :-)
Sorry, musst ich getz mal so sagen :-)

Und besten Dank an den, der mir die Standorte der Fotoapparate auf der A9 
verraten hat, weiss grad den Namen nich mehr.
Das hat den Ausflug nach Muenchen etwas kostenguenstiger gestaltet, zumal da
wirklich die komigen Kaesten gestanden haben :-)

-----------------------------------------------------------------------------



Re^4: Treffen in Hannover (Lillebror, 24. Apr 1999, 20:54:08):
~#! rn=Aline rt=924862293 rg=treffen
~#! tid=924744012
Ha, ich kenn eine Kneipe die so heisst in Burgwedel, und das sind nur 15km von
Hannover :-)

-----------------------------------------------------------------------------



Re^5: Treffen in Hannover (Apsu, 24. Apr 1999, 20:56:13):
~#! rn=Lillebror rt=924980048 rg=treffen
~#! tid=924744012
Hier in Mainz ist das Chapeau Clacque ein Schwuchtelschuppen ...

Habt Ihrs jetzt bald?

-----------------------------------------------------------------------------



Re^5: Treffen in Hannover (Aline, 25. Apr 1999, 19:52:02):
~#! rn=Lillebror rt=924980048 rg=treffen
~#! tid=924744012

Naja, ich hab mir sagen lassen, dass Hildesheim nur 30 km SW von Hannover
liegt.

Aline (kam es eigentlich immer weiter vor)

-----------------------------------------------------------------------------



*S*T*A*T*I* Nachtrag (Jasonrigid, 26. Apr 1999, 18:03:39):
Hi Leute,

der Stammtisch am 1.5.1999 findet um 20.00 Uhr im "Viertel Nach" statt.
Angemeldet haben sich bisher :
Snibril, Karic, Ingramosch, Festin, Qitess (wahrscheinlich), meine Wenigkeit,
Alpha und evtl. Gavriel

Jason

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Ringor, 27. Apr 1999, 00:05:40):
Aufgrund der vielen Nachfragen hier die offizielle :-) Ankuendigung:

Natuerlich ist am Freitag, dem 30.04.1999 wieder Stammtisch in Dortmund. Wie
an jedem letzten Freitag im Monat (von Dezember mal abgesehen ;-).

Wie immer ab 20:00 Uhr im Walhalla. 

Wegbeschreibungen gibts bei jedem Dortmunder, der sich breitschlagen laesst.

Ringor

-----------------------------------------------------------------------------



hannover Stammtisch (Brodar, 27. Apr 1999, 03:55:41):
Tja...toll das scih so viele ueber den Hannover Stammtisch aeussern!
Fakt ist, dass der im Mephisto stattfinden soll.
Also, kein gerede mehr ueber Kneipen in Hildesheim :)))

Cu, in Hannover!

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Catweazle, 27. Apr 1999, 12:42:40):
~#! rn=Ringor rt=925164340 rg=treffen
~#! tid=925164340
Aehm, das ist der Tag vorm ersten Mai, gelle? Also ich weiss nicht ...

YTC

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Nonne, 27. Apr 1999, 12:43:36):
~#! rn=Catweazle rt=925209760 rg=treffen
~#! tid=925164340
Also da ist ja auch Rock in den Ruinen in Dortmund... Also: Entwarnung, ich
komme nicht.

Nonne.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Mindblade, 27. Apr 1999, 20:55:09):
~#! rn=Catweazle rt=925209760 rg=treffen
~#! tid=925164340
Catty, nicht schwaecheln, einfach kommen!:)

-----------------------------------------------------------------------------



Stammtisch in KA (Boing, 28. Apr 1999, 11:56:24):
Auch diesen Donnerstag findet wie jede Woche der Karlsruher
Mud-Stammtisch statt (20 Uhr, Kleiner Meierhof, Zaehringer Strasse).
Zur Feier des Tages verspreche ich auch nen Meter ... :)
  Boing

-----------------------------------------------------------------------------



Re: hannover Stammtisch (Aline, 28. Apr 1999, 12:15:23):
~#! rn=Brodar rt=925178141 rg=treffen
~#! tid=925178141

Ok, also nach Hannover komme ich am Freitag nicht und Wargon wird wohl auch
in Hildesheim bleiben und Yanny auch. :)
War ja nur mal ne Idee. ;)

Aline

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Gorog, 29. Apr 1999, 13:37:11):
~#! rn=Mindblade rt=925239309 rg=treffen
~#! tid=925164340
Moins.

Werde mich wohl auf Grund mysterioeser Umstaende bezueglich der Liquiditaet
einer Transportkomponente nicht einfinden.

Gorog geht dann mal lieber fliegenschieben.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Mindblade, 29. Apr 1999, 16:30:48):
~#! rn=Gorog rt=925385831 rg=treffen
~#! tid=925164340
Lusche, tyisch Kleriker, immer kneifen!;)

-----------------------------------------------------------------------------



Treffen in Hannover (Brodar,  2. Mai 1999, 11:02:33):
Moin!

Also, das Treffen wird nicht am 7.Mai stattfinden. Scheinbar koennen/wollen
doch nur so wenig kommen, dass sich ein Treffen nicht lohnt. Schade. Also muss
mal ein anderer Termin gesucht werden!

Gruss Brodar

-----------------------------------------------------------------------------



stammtisch in B (Gnome,  3. Mai 1999, 21:31:52):
hi berliner,

es ist mal wieder so weit.
am Fr., den 07.05.99 ist mal wieder stammtisch im SEEBLICK.
wie immer ab 20.00h.

gnOme

-----------------------------------------------------------------------------



Stammtisch in Aachen (Trauma,  4. Mai 1999, 19:22:30):

Bin etwas spaet dran, aber dieses Freitag ist schon wieder der erste im Monat
und das heisst es ist Stammtisch in Aachen :-)

Auf vielfachen Wunsch diesmal nicht mehr im Labyrinth... sondern im Chico
Mendes. Das ist nicht weit von der alten Kneipe, reservieren klappt laut
Pfeife auch, ich schau dort heute abend mal vorbei und bestell nen Tisch :)
Also Freitag 7.5. 20h - Wegbeschreibung kommt noch, ich wollts nur schonmal
reinsetzen.

Bis denn, 
      Darkwing

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Rochus,  5. Mai 1999, 13:56:16):
~#! rn=Trauma rt=925838550 rg=treffen
~#! tid=925838550
Ich werde wahrscheinlich auch mal wieder da sein.

  Rochus

-----------------------------------------------------------------------------



Stammti in Halle (Mieze,  6. Mai 1999, 08:11:51):
Hi Muddies,

auch wir Hallenser wollen wieder einen Stammti machen und zwar am 22. Mai 1999
um 19 Uhr in der Spaetschicht. Wer also Zeit/Lust/Geld hat meldet sich bitte
bei mir, damit wir die Muddies von ausserhalb auch bei den hallenser Muddern
unterbringen koennen.

Mieze

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Darkwing,  6. Mai 1999, 13:11:34):
~#! rn=Trauma rt=925838550 rg=treffen
~#! tid=925838550
so noch kurz die Wegbeschreibung vom Labyrinth aus (da wars bisher):

Vom Labyrinth nach links bis zum Zebrastreifen... ueber die Strasse rueber und
geradeaus in die Fussgaengerzone... immer weiter geradeaus, ueber die Ampel
rueber, dann kommt es nach 50m auf der linken Seite - das Chico Mendes.
Sind nur 2min vom Labyrinth, wenn noch Fragen sind --> Mail, aber sollte nicht
so schwer sein :-)

Darkwing

-----------------------------------------------------------------------------



Re: Stammti in Halle (Sunflower,  7. Mai 1999, 19:31:19):
~#! rn=Mieze rt=925971111 rg=treffen
~#! tid=925971111
Ich komm auch mal wieder vorbei ;)
+1
Sunny ;)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Novastorm,  7. Mai 1999, 19:32:29):
~#! rn=Sunflower rt=926098279 rg=treffen
~#! tid=925971111
Mal schauen ob sichs einrichten laesst, wenns so klappt wie ich denke:
    + 2 :-)
    Nova

-----------------------------------------------------------------------------



Re: Stammti in Halle (Mieze,  7. Mai 1999, 23:02:09):
~#! rn=Mieze rt=925971111 rg=treffen
~#! tid=925971111
Hi Fans vom hallenser Stammti,

der Stammti wird um einen Tag vorverlegt, also am 21.05.99 um 19 Uhr in der
Spaetschicht.

Die Mieze - muss am Samstag wech :)

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Mai 1999, 21:16:36):

Diesen Monat auf Wunsch einer einzelnen Dame (*zwinker Jenandra*) 
findet der Duesseldorfer Stammtisch nicht wie gewohnt am 2. sondern
am 3. Freitag statt, also:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 21.5. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------


Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel



-----------------------------------------------------------------------------



Re: Stammtisch in D'dorf (Anatol,  9. Mai 1999, 21:25:28):
~#! rn=Kartoffel rt=926277396 rg=treffen
~#! tid=926277396
Poste keine langweiligen Artikel, sieh lieber zu, dass Du morgen in OS
bist - Maiwoche. Montag. Subway.

Anatol


-----------------------------------------------------------------------------



Re: Re: Stammtisch in D'dorf (Kartoffel,  9. Mai 1999, 21:34:02):
~#! rn=Anatol rt=926277928 rg=treffen
~#! tid=926277396
*SEUFZ*

Geht nich, muss arbeiten...  

*SEUFZ SEUFZ*

'Toffel - wird nur noch von der Aussicht auf den 17.6. aufrechtgehalten...

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Shakedbeer, 10. Mai 1999, 09:50:58):
~#! rn=Mieze rt=926110929 rg=treffen
~#! tid=925971111
Hi!

Ich glaube, ich bringe mal etwas Bierschuettlerbrauchtum nach Halle!

Shakedbeer +3

-----------------------------------------------------------------------------



Re^3: Stammti in Halle (Mieze, 10. Mai 1999, 11:05:58):
~#! rn=Shakedbeer rt=926322658 rg=treffen
~#! tid=925971111
hiho,

Klasse, Shaky :) (Es gibt hier tolles Schwarzbier)

-----------------------------------------------------------------------------



Re^4: Stammti in Halle (Shakedbeer, 10. Mai 1999, 11:08:06):
~#! rn=Mieze rt=926327158 rg=treffen
~#! tid=925971111
Uiiiiiiiiiiii. Bin schon gespannt, wie gut man das schuetteln kann. Kann man
da wischen?

*GRINS_AN_MUENSTER_DENKEND*

Shakedbeer.

-----------------------------------------------------------------------------



Re^4: Stammti in Halle (Gralkor, 10. Mai 1999, 11:08:08):
~#! rn=Mieze rt=926327158 rg=treffen
~#! tid=925971111
kann ich nur bestaetigen.

G., wohl erst etwas spaeter aufschlagend

-----------------------------------------------------------------------------



Re^5: Stammti in Halle (Mahatmu, 10. Mai 1999, 11:09:56):
~#! rn=Shakedbeer rt=926327286 rg=treffen
~#! tid=925971111
*g* Muenster *lach* *rotfl*
Du meinst doch nicht etwa die Party vor zwei Jahren? Das haette man glatt
auf Video aufnehmen muessen, wie Du vor dem Schuettelbier kapituliert hast.

Gloin

-----------------------------------------------------------------------------



AUFGEMERCKT! Marktspectaculum in Brunswiek! (Qitess, 10. Mai 1999, 12:31:43):
Seid gegruesst, edle Recken und holde Frouwen, und hoeret mich an!
Alljaehrlich zu Pfingsten findet hie auf dem Markt in Brunswiek das grosse
Spectaculum statt!
Es werden allerley Tand, Nuetzliches und Spetzereien feilgeboten.
Spielleute haben sich angekuendigt, fuer Kurzweyl zu sorgen.
Der Vogt der Stadt ist anwesend, seine Pflicht als Stadterster wahrzunehmen.

Leider, leider wird der Markt auch von unangenehmen Creaturen besucht,
von Bettlern und Falschspielern, Gauklern, Betruegern und Schlaegern.
Also huetet Euch wohl!
(Waffen sind an den Eyngaengen abzugeben, dort, wo Ihr Euren Wegzoll
hinterlasst (zwey bis drey Silberlinge). Des Lebens seid Ihr dort aber
dennoch sicher, denn der Buettel und die Stadtwache haben ein auf-
mercksames Auge auf lautes Getuemmel und wilde Schlaegereien.
Aber lasset Euch nicht in selbige verwickeln, denn sonst landet Ihr am End
am Pranger, und das ist gar sehr unangenehm, lasset es Euch gesagt seyn...)

So verbleibet mir nurmehr die Aufgabe, Euch auf das Herzlichste
zum Marktspectaculum einzuladen!

Es findet statt, wie jedes Jahr, zu Pfingsten, und das ist heuer vom
zweyundzwantzigsten bis zum vierundzwantzigsten Tage des Monats Mai
auf dem Burgplatz im Herzen von Brunswiek.
Wegezoll betraegt zwey bis drey Silberlinge, Zwerge bis zur Laenge
einer Brunswiek-Elle muessen kein Wegzoll abdruecken.

Unter gewissen Umstaenden kann eine Schlafstatt gefunden werden,
meldet Euch dazu bey Qitess oder Festin.

HO!HEJ!

QI**

*********************************************************************
22.05.-24.05.99
Mittelalterliches Marktspektakulum in Braunschweig auf dem Burgplatz
Tand zu kaufen, Nuetzliches Dinge, Handwerk zu bestaunen, fremdes
und vergessenes zu Essen und zu Trinken, musikalische und artisti-
sche Darbietungen und mittelalterliches Umfeld - einfach KLASSE!
*********************************************************************


-----------------------------------------------------------------------------



Braunschweig (Qitess, 10. Mai 1999, 12:34:57):
Fuer alle, die keine langen Artikel lesen:
22.05.-24.05.99
Mittelalterliches Marktspektakulum in Braunschweig auf dem Burgplatz
Tand zu kaufen, Nuetzliches Dinge, Handwerk zu bestaunen, fremdes und
vergessenes zu Essen und zu Trinken, musikalische und artisti-
sche Darbietungen und mittelalterliches Umfeld - einfach KLASSE!

QI**

-----------------------------------------------------------------------------



Re: Braunschweig (Key, 10. Mai 1999, 13:02:17):
~#! rn=Qitess rt=926332497 rg=treffen
~#! tid=926332497
Ist das so dolle das Du Dich 4! mal wiederholen musst?


Oder ist das Deine normale nervende Art? :)

Key

-----------------------------------------------------------------------------



Re: Re: Braunschweig (Qitess, 10. Mai 1999, 15:18:08):
~#! rn=Key rt=926334137 rg=treffen
~#! tid=926332497
Lieber Key.
Dass Du mich nicht leiden kannst, wissen wir ja alle.
Aber es tut mir leid fguer Dich, dass Du nicht zaehlen kannst. Nach meiner
Rechnung sind das nur zwei Artikel und keine vier. 
Und im Uebrigen: JAWOHL, es ist super klasse dolle.
Und im Alleruebrigen wuerde ich gerne mal von Dir wissen, womit ich dir
irgendwann (es muss vor hundert Jahren gewesen sein) mal die Laune verdorben
habe. Die Smileys mildern den Artikel irgendwie nicht ab, Du.
QI** seufzend

-----------------------------------------------------------------------------



Re^3: Braunschweig (Mahatmu, 10. Mai 1999, 15:23:49):
~#! rn=Qitess rt=926342288 rg=treffen
~#! tid=926332497
Ey, das ist echt gut Du, dass Du noch auf Key eingehst ;-)

Gloin

-----------------------------------------------------------------------------



Re^4: Braunschweig (Qitess, 10. Mai 1999, 15:25:17):
~#! rn=Mahatmu rt=926342629 rg=treffen
~#! tid=926332497
ja, sicher gloin, du. ich wuerd doch auch ganz gerne mal ne tasse tee mit ihm
trinken und darueber reden, du.
ich bin so freindlich ;)
QI**

-----------------------------------------------------------------------------



Re^3: Stammtisch in D'dorf (Anatol, 10. Mai 1999, 22:16:21):
~#! rn=Kartoffel rt=926278442 rg=treffen
~#! tid=926277396


Laut und gut.

Anatol

PS: Wenn ich irgendjemand erzaehle, dass Beelzebub auf Violine und
    Dudelsack steht.... Wuahahaha :)


-----------------------------------------------------------------------------



Re^6: Stammti in Halle (Shakedbeer, 11. Mai 1999, 07:57:29):
~#! rn=Mahatmu rt=926327396 rg=treffen
~#! tid=925971111
Doch. Genau die meinte ich. ;) War da was? Ich kann mich nicht mehr an alles
erinnern. ;) Ich weiss nur noch, dass man das Bier schuetteln musste, weil eh
keine Kohlensaeure drin war. Bis dann Dauergast kam. Er ist seitdem uebrigens
Ehrenbierschuettler!

Shakedbeer - erinnert sich nur schemenhaft.

-----------------------------------------------------------------------------



Re^3: Braunschweig (Key, 11. Mai 1999, 15:30:25):
~#! rn=Qitess rt=926342288 rg=treffen
~#! tid=926332497
Liebste qitess,
hiermit spreche ich Dir mein Bedauern aus.
Du hast immernoch nicht lesen gelernt. 
Oder Du verstehst noch nicht den Unterschied zwischen widerholungen und
Artikeln.

aber extra fuer dich werde ich mich erbamen:
Im ersten Artikel hast Du 3 mal von dem Fest erzaehlt.
Im ersten absatz, im zweiten, und zu guter letzt im P.S.:

Und dann kam noch ein Artikel, mit der gleichen aussage.

Gluecklich wer jetzt zaehlen kann, das macht 4 wiederholungen :)

Key

-----------------------------------------------------------------------------



Re^4: Braunschweig (Acrimon, 11. Mai 1999, 18:59:29):
~#! rn=Key rt=926429425 rg=treffen
~#! tid=926332497
Langsam frage ich mich, ob Key und Yantro nicht ein- und dieselbe Person
sind...

-----------------------------------------------------------------------------



Re^5: Braunschweig (Rochus, 11. Mai 1999, 19:04:11):
~#! rn=Acrimon rt=926441969 rg=treffen
~#! tid=926332497
Sind sie nicht.

-----------------------------------------------------------------------------



Re^4: Stammtisch in D'dorf (Kartoffel, 11. Mai 1999, 21:50:42):
~#! rn=Anatol rt=926367381 rg=treffen
~#! tid=926277396


Das is doch nix neues, und auf Schalmei und Barockoboe steht er auch...

'Toffel - denkt . o O ( und nicht nur Beelze ;) )

-----------------------------------------------------------------------------



Re^5: Braunschweig (Wurzel, 12. Mai 1999, 22:28:58):
~#! rn=Acrimon rt=926441969 rg=treffen
~#! tid=926332497
mitnichten. 1 yantro entspricht etwa 4 keys (massenmaessig).

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 16. Mai 1999, 21:18:56):


Nochmal zur Erinnerung:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 21.5. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------

Special Guest: Jenandra

Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel



-----------------------------------------------------------------------------



muenchen (Teddy, 17. Mai 1999, 21:37:35):
Hiho,

mich verschlaegt es fuer ein paar Wochen(Monate?) mal nach Muenchen, falls da
grad zufaellig auch Mudder rumlaufen und Lust auf nen Stammtisch haben, ich
bin ab naechster Woche mindestens 2 Wochen und maximal 5 Monate da.
Vielleicht klappts ja so um den Monatswechsel rum.
Ansonsten gebt mal Tips zu Muenchen ab, in der Form: da kann man wirklich gut
hingehen, da is nen geiles Internetcafe oder sowas in der Art.

Gebt mal Laut, ich werd auch vermutlich nicht antworten, aber zumindest lesen
und evtl. mailen ;)

Teddy.

-----------------------------------------------------------------------------



Re: muenchen (Songoku, 18. Mai 1999, 14:36:52):
~#! rn=Teddy rt=926969855 rg=treffen
~#! tid=926969855
Ich bin zwar auch in M aber da ich studiere habe ich fuer solche Sachen wie
Ausgehen keine Zeit und kann dir leider nicht helfen.

Aber ein Stammtisch waere ne gute Idee (hatten wir seit mindestens 3 Wochen
nichtmehr :)

Sayounara!

-----------------------------------------------------------------------------



Re: Re: muenchen (Amaryllis, 18. Mai 1999, 14:38:56):
~#! rn=Songoku rt=927031012 rg=treffen
~#! tid=926969855
*rotfl* aber fuers Mudden haste Zeit oder? :-)

Feechen Ama*

-----------------------------------------------------------------------------



Re^3: muenchen (Songoku, 18. Mai 1999, 14:41:32):
~#! rn=Amaryllis rt=927031136 rg=treffen
~#! tid=926969855
Natuerlich warum??

Sayounara (SonGoku der eigentlich auch dafuer keine Zeit hat)

-----------------------------------------------------------------------------



Re^4: muenchen (Zillus, 18. Mai 1999, 14:42:38):
~#! rn=Songoku rt=927031292 rg=treffen
~#! tid=926969855
Und wann ist denn dieser imaginaere Stammtisch? Ich wuerde auch mal
vorbeischauen, ist ja gleich um die Ecke :)

Z.

-----------------------------------------------------------------------------



Re: Re: muenchen (Rikus, 18. Mai 1999, 15:21:08):
~#! rn=Songoku rt=927031012 rg=treffen
~#! tid=926969855
Studium und keine Zeit? Da hatte ich bisher mit die meiste meines 
Lebens...

Rikus, 5 Jahre und 6 Wochen fertig damit

-----------------------------------------------------------------------------



Re^3: muenchen (Wurzel, 18. Mai 1999, 19:11:15):
~#! rn=Rikus rt=927033668 rg=treffen
~#! tid=926969855
sehe ich genauso. wer im studium keine zeit hat, ist selbst dran schuld.
hinterher hat man naemlich wirklich keine zeit mehr (oder sehr viel, je
nach wahl des studienfachs :)

anyway: stammtisch in muenchen sollte mal wieder sein. wer organisiert?

wurzel

-----------------------------------------------------------------------------



muenchen (Hight, 18. Mai 1999, 20:25:04):
jo schaut mal das ihr was auf die beine bringt 

ich will mal wissen wien mudder aussieht der net hier aus der umgebung is *g*

Hight

-----------------------------------------------------------------------------



Re^4: muenchen (Reaper, 19. Mai 1999, 10:41:29):
~#! rn=Wurzel rt=927047475 rg=treffen
~#! tid=926969855
 Jo, dann nehm ich das mit dem Stammtisch wieder in die Hand.
 Infos kommen wieder nach http://www.dmsp.com/service/mg.
 Da sind uebrigens auch noch ein paar Bilder vom vorletzten... :o)
 Vorschlaege WO das ganze stattfinden kann sind immer 
 willkommen, den Zeitpunkt check ich am besten erstmal
 mit den einzelnen ab :o)
 Ach ja, ich werde staendig gefragt, wer denn schon so alles
 kommen wird, eine kurze Info waer also nicht schlecht :o)

 -> Also, wenns neues gibt stehts hier!

 Ein vorfreudiger
 Reaper  

-----------------------------------------------------------------------------



Re^4: muenchen (Mahatmu, 19. Mai 1999, 11:45:37):
~#! rn=Wurzel rt=927047475 rg=treffen
~#! tid=926969855
Wurzel, mach Du das doch mal :)
StaTi im Hilton ;-)

Gloin

-----------------------------------------------------------------------------



Mai-Stammtisch in Dresden (Zino, 19. Mai 1999, 13:01:34):
Fast haett ichs vergessen zu schreiben: Morgen (Donnerstag) ist wieder
Stammtisch in Dresden, und zwar wie ueblich um 21:00 Uhr in der Wu11.

Mahatma

-----------------------------------------------------------------------------



Re^5: muenchen (Muaddib, 19. Mai 1999, 13:09:27):
~#! rn=Mahatmu rt=927107137 rg=treffen
~#! tid=926969855
Wenns zu einem vernuenftigen Zeitpunkt ist, dann komm ich auch von Salzburg
(evtl. Thor u. Woody auch? Mal schaun.

Muaddib (2x'd' :)

-----------------------------------------------------------------------------



Re: muenchen (Trug, 19. Mai 1999, 13:31:48):
~#! rn=Hight rt=927051904 rg=treffen
~#! tid=927051904
Mal gucken, das in Muenchen trifft sich gut, weil es ziemlich in der naehe
ist. Also, ich werde wohl kommen, angemeldet hab ich mich schon.

Nur wuerde es mich sehr interessieren, WANN es genau ist.

Trug. 

-----------------------------------------------------------------------------



Stammti in Halle (Armida, 19. Mai 1999, 14:09:45):
Hi Leuts,

wie Mieze schon angekuendigt hat, gibts am 21.05.99 ab 19 Uhr mal wieder den
langersehnten hallenser Stammti in der "Spaetschicht". Ich hab fuer 10
Personen reserviert, wahrscheinlich sitzen wir wieder in der Meisterstube.

Jetzt das Wegescript fuer Leute von ausserhalb:
-----------------------------------------------

Vermutlich kommt ihr von der Autobahn. Da fahrt Ihr nach Halle rein und dann
Richtung Riebeckplatz/Hauptbahnhof. Der Riebeckplatz ist ein Kreisverkehr. Da
fahrt Ihr drauf und die naechste gleich wieder runter (Richtung Neustadt). Ihr
muesst am Franckeplatz von der Hochstrasse runter (das ist nicht sehr weit vom
Riebeckplatz entfernt). Am Franckeplatz fahrt Ihr Richtung Rannischer Platz
(Ihr folgt den Strassenbahnschienen). Am Rannischen Platz (wieder mal ein
Kreisverkehr) nehmt ihr die 2. Ausfahrt (Torstrasse). Da ist dann auch schon
die Spaetschicht (wenn Ihr dem Plan gefolgt seid, linker Hand).

Ich hoffe, Ihr findet hin. Falls das zu schlecht erklaert ist (bin halt
Radfahrerin), bitte Mail an:
muhbn@studcom.urz.uni-halle.de

Bis denne.

-----------------------------------------------------------------------------



Re^5: muenchen (Hight, 19. Mai 1999, 19:06:49):
~#! rn=Reaper rt=927103289 rg=treffen
~#! tid=926969855
ich komm 

Hight

-----------------------------------------------------------------------------



Re^5: muenchen (Wurzel, 19. Mai 1999, 22:56:55):
~#! rn=Mahatmu rt=927107137 rg=treffen
~#! tid=926969855
klar, warum nicht im hilton. allerdings nur dann, wenn es arbeitsteilig ist:
ich organisiere das, du bezahlst. ist das ein vorschlag?

wurzel  (->schmarrn)

-----------------------------------------------------------------------------



Re^4: muenchen (Songoku, 20. Mai 1999, 12:26:28):
~#! rn=Wurzel rt=927047475 rg=treffen
~#! tid=926969855
komisch
Ich habe vorher 3 Jahre als Bauzeichner gearbeitet (40 Stunden Woche) und da
hatte ich erheblich mehr zeit als ich es jetzt habe (vieleicht, da ich damals
keine Arbeit mit nach hause nehmen musste?? ;)

Sayounara!

-----------------------------------------------------------------------------



Re^6: muenchen (Teddy, 20. Mai 1999, 13:24:51):
~#! rn=Wurzel rt=927147415 rg=treffen
~#! tid=926969855
Also noch weiss ich nicht, in welchem Hotel ich sein werde, aber ich glaub
nicht, dass ich das als Spesen absetzen koennte, also bin ich mehr fuer
Kneipe.
Geruechteweise war der 28.5. im Gespraech, evtl auch der 4.6. mir waere der
28. lieber, falls alle Stricke reissen und ich tatsaechlich erstmal nur 2
Wochen bleibe bin ich wohl am 4.6. schon halb aufm Heimweg

Ansonsten verweise auch ich auf vorgenannte HP.

Teddy, ueberrasscht von der Resonanz.

-----------------------------------------------------------------------------



Re^7: muenchen (Zillus, 20. Mai 1999, 20:41:08):
~#! rn=Teddy rt=927199491 rg=treffen
~#! tid=926969855
Mir ist der 4.6. bedeutend lieber.
Es genuegt doch, wenn der halbe Teddy da ist :-)

Z.


-----------------------------------------------------------------------------



Berlin? (Aline, 20. Mai 1999, 22:45:31):

Hi Leuts,

so wie es ausschaut werde ich naechste Woche in Berlin sein.
Waere doch ganz nett, wenn ich da mal ein paar von Euch treffen
koennte. ;)
Also falls ihr zufaelligerweise Stammtisch habt und der nicht auf 
den Freitag abend oder den Montag abend liegt, koennte ich da
sogar hinkommen. ;)

Wenn nicht, auch nicht weiter tragisch.....

Samstag bin ich nochmal im MG und dann leider nicht mehr zu erreichen

Aline

-----------------------------------------------------------------------------



Re: Berlin? (Grimman, 21. Mai 1999, 01:03:49):
~#! rn=Aline rt=927233131 rg=treffen
~#! tid=927233131
also,treffen ist eigentlich immer am letzten freitag im Monat,aber vielleicht
koennen wir ja fuer Dich was besonderes auf die Beine stellen) 
Warte auf Resonanz ;)

GrimMan , immer interessiert an neuen Gesichtern

-----------------------------------------------------------------------------



Re^7: muenchen (Karis, 21. Mai 1999, 08:59:24):
~#! rn=Teddy rt=927199491 rg=treffen
~#! tid=926969855
Nachdem ich am 4.6. auch nich kann, werf ich - kompromissbereit, wie ich
nunmal bin ;) - auch noch den 2.6. in die Geruechtekueche. Da is am
naechsten Tag ja auch Ausschlafen moeglich. Ansonsten plaediere ich stark fuer
den 28.5.

Karis, wartet auf die Bekanntgabe des endgueltigen(?) Termins ..

-----------------------------------------------------------------------------



Re^8: muenchen (Muadib, 21. Mai 1999, 10:23:15):
~#! rn=Karis rt=927269964 rg=treffen
~#! tid=926969855
hi,
ich bin vom 24-27.05 in muenchen, wobei der 27.05 schon rueckfahrt angesagt
ist
wenn ihr euch in dem zeitraum treffen solltet komm ich gern vorbei

muadib

-----------------------------------------------------------------------------



Re: Re: Berlin? (Anakin, 21. Mai 1999, 12:28:09):
~#! rn=Grimman rt=927241429 rg=treffen
~#! tid=927233131

Ich hatte immer im Erinnerung das es der erste Freitag im Monat war :)

Anakin. Nicht da. TPM schauen :)

-----------------------------------------------------------------------------



Re^3: Berlin? (Birdy, 21. Mai 1999, 17:06:49):
~#! rn=Anakin rt=927282489 rg=treffen
~#! tid=927233131
Hiho !

Also von Freitag, den 28.5. nachmittags bis Sonntag, den 30.5. rudeln wir bei
Gnome.
Wir sind Gnome, Guard, Mysterious, Cakey und ich. Ich glaube Gandur, Lamarion,
Aeneas und Hafax machen auch noch mit, bin mir aber nicht so sicher.
Evtl. koennten wir uns ja alle zum Brunch in einem Prenzl'berger Szenelokal
treffen.
Wann kommst Du denn Aline ?:)

-----------------------------------------------------------------------------



Re^4: Berlin? (Gnome, 21. Mai 1999, 20:12:20):
~#! rn=Birdy rt=927299209 rg=treffen
~#! tid=927233131
also 1. hat anakin recht, es ist der 1. Fr. im monat, demnach waere es
der 04.06. im seeblick.
und 2.: birdy, wie kommst du darauf, in prenzlberg brunchen zu gehen?
und das vielleicht noch am So. morgen, wenn wir eh noch alle pennen,
oder noch alle mudden, je nachdem ;-)

gnOme

-----------------------------------------------------------------------------



Re^5: Berlin? (Grimmborn, 21. Mai 1999, 22:03:58):
~#! rn=Gnome rt=927310340 rg=treffen
~#! tid=927233131
Also, der Sonntagsbrunch im Seeblick war zumindest mal ziemlich unerreicht.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Berlin? (Stopdenbus, 21. Mai 1999, 23:31:19):
~#! rn=Grimman rt=927241429 rg=treffen
~#! tid=927233131
bin dafuer, wann ? wo ? na wo ist wohl klar, wieder Seeblick ? Wie waers
mit dem Mittwoch Abend ?

Stoppi

-----------------------------------------------------------------------------



Re^4: Berlin? (Wur, 22. Mai 1999, 01:10:32):
~#! rn=Birdy rt=927299209 rg=treffen
~#! tid=927233131
Ohne selbst dabei sein zu koennen, koennte ich das Cafe Harlem empfehlen.

Wur

-----------------------------------------------------------------------------



Re^5: Berlin? (Birdy, 22. Mai 1999, 12:43:50):
~#! rn=Wur rt=927328232 rg=treffen
~#! tid=927233131
Hiho !

Sonntag ? Ich dachte Aline is Freitag da ? Also Freitag vorm Rudeln ! :)

-----------------------------------------------------------------------------



Re^3: Berlin? (Aline, 23. Mai 1999, 19:20:24):
~#! rn=Stopdenbus rt=927322279 rg=treffen
~#! tid=927233131

Mittwoch wuerde prima passen, nur wie erreiche ich Euch? Soll ich
einfach mal am Mittwoch um 19.00 Uhr mich ins Seeblick setzen?

Und fuer die, die den Freitag vorgeschlagen haben.....
Tja Freitag kann ich nicht, wie ich schon geschrieben hatte.
:(

Aline


-----------------------------------------------------------------------------



Re^4: Berlin? (Stopdenbus, 24. Mai 1999, 23:55:17):
~#! rn=Aline rt=927480024 rg=treffen
~#! tid=927233131
jou komm nur, ich schau auch um 19:00 vorbei, wo das ist, weisst du ja
sicher noch ? warst ja ma vor ein paar Jahren da :)

Stoppi

-----------------------------------------------------------------------------



Re^4: Berlin? (Mahatmu, 25. Mai 1999, 16:45:48):
~#! rn=Birdy rt=927299209 rg=treffen
~#! tid=927233131
IHR SEID JA DOO^H^H^HBOESE! Immer dann, wenn ich nit da bin :(((

Gloin

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Alpha, 26. Mai 1999, 14:39:29):
~#! rn=Karis rt=927713237 rg=treffen
~#! tid=927713237
Oeh...an welchem Tage denn?
Alpha.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Karis, 26. Mai 1999, 14:41:11):
~#! rn=Alpha rt=927722369 rg=treffen
~#! tid=927713237
ICh wusste, ich hab was vergessen. Das mach ich aber immer so ;))
Also denn : Freitag, 28.5.  19.00 Uhr ... also uebermorgen ;)

Karis, dankt Alpha fuer den Hinweis.

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Reaper, 26. Mai 1999, 15:19:48):
~#! rn=Karis rt=927713237 rg=treffen
~#! tid=927713237

 So ungern ich es auch tue muss ich der letzten Ankuendigung
 jetzt doch etwas widersprechen.
 Datum und Uhrzeit sind richtig, am 28.05. (Freitag) gegen 
 19:00 Uhr. 
 Der Treffpunkt ist ein Gasthaus Ecke Luisenstrasse - Karlstr.
 (genaue Adresse weiss ich grade nicht, Tip kam wieder von Acrimon).

 Alle Infos sind auch wieder unter der Adresse
 http://www.dmsp.com/service/mg
 zu finden. 

 Angemeldete Leute stehen auch da, und welche, die das noch tun 
 wollen sollten da auch mal hin gehen :o)

 Bis dann!
 Grusz, Reaper


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Wurzel, 26. Mai 1999, 22:27:42):
~#! rn=Reaper rt=927724788 rg=treffen
~#! tid=927713237
> Grusz, Reaper

hm, ob das ansteckend ist, wenn man laenger in muenchen weilt? *gruebel*

-----------------------------------------------------------------------------



Stammtisch in DO (Ringor, 26. Mai 1999, 22:31:18):
Auf magische Weise ist vom Monat ploetzlich nix mehr uebrig - und das heisst:

                        Stammtisch in Dortmund

Wie immer am letzten Freitag im Monat um 20:00 Uhr im Walhalla.

Falls es noch immer Leute geben sollte, die nicht selbststaendig hinfinden,
lassen sich u.U. freundliche Eingeborene finden, die bereit sind zu helfen.

Ringor

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Hibbelig, 26. Mai 1999, 22:33:16):
~#! rn=Ringor rt=927750678 rg=treffen
~#! tid=927750678
ich bin auch diesmal wieder da :))
hoffe mal das ich den weg noch finde 

hibbelig

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Gorog, 27. Mai 1999, 01:47:25):
~#! rn=Ringor rt=927750678 rg=treffen
~#! tid=927750678
Sorry, not available );

Gorog

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Morgoth, 27. Mai 1999, 07:49:16):
~#! rn=Hibbelig rt=927750796 rg=treffen
~#! tid=927750678
OK, denkt Euch dann mal, warum ich nicht da bin.

M*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Teddy, 27. Mai 1999, 11:17:36):
~#! rn=Gorog rt=927762445 rg=treffen
~#! tid=927750678
dito, not me this time.
Hat aber vermutlich auch keiner mit gerechnet ;)

Teddy

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Hibbelig, 27. Mai 1999, 11:58:55):
~#! rn=Morgoth rt=927784156 rg=treffen
~#! tid=927750678
na, wenn du meinst. ich find das reichlich albern...

Hibbel

-----------------------------------------------------------------------------



Re^4: Berlin? (Mahatmu, 27. Mai 1999, 14:11:59):
~#! rn=Birdy rt=927299209 rg=treffen
~#! tid=927233131
Aehm, wann trefft Ihr Euch wo zum Gerudele?

Mahatmu

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Mupfel, 27. Mai 1999, 17:54:46):
~#! rn=Ringor rt=927750678 rg=treffen
~#! tid=927750678
Bei *dem* Wetter in den dunklen "Walhalla"-Keller zwaengen? Nixda es wird
gegrillt :-) 

-mupfel- (kommt nicht :-)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Shannara, 27. Mai 1999, 18:59:37):
~#! rn=Reaper rt=927724788 rg=treffen
~#! tid=927713237
Es wuerde SEHR nett sein, wenn du noch fuer die Handvoll Auswaertigen (naja
Zillus und mich) eine Wegbeschreibung von Bahnhof -> Kneipe liefern wuerdest. 

Bitte noch heute abend oder so :)

Shannara.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenchen (Wurzel, 27. Mai 1999, 22:01:55):
~#! rn=Shannara rt=927824377 rg=treffen
~#! tid=927713237
hat er versprochen... ich weiss auch noch nix. wohne zwar hier, bin aber
trotzdem irgendwie auswaertig :)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenchen (Reaper, 27. Mai 1999, 23:32:46):
~#! rn=Shannara rt=927824377 rg=treffen
~#! tid=927713237

Jo! :o)
Heute hab ich mal die Mittaxpause genutzt um mir
diese Kneipe anzusehen... und irgendwie war ich
diesmal nur maeszig begeistert.
Die eigentliche Gaststaette ist zwar nicht zu
verfehlen, sie oeffnet allerdings erst um 21:00 Uhr. 
*grins* 
Unmittelbar daneben ist jedoch ein Bistro in dem man 
sich treffen kann, und in dem man auch prima im Freien
sitzen koennte. 
Ich moechte jetzt keinen neuen Treffpunkt ausmachen,
da sich sonst eine Haelfte der Mudder an dem 'alten' 
Treffpunkt sammeln, und die andere zu dem neuen kommen. 
Darum schlage ich einfach mal vor, wir treffen uns in 
dem Bistro und gehen dann etwas spaeter (und wenn wir 
vollzaehlig sind) in die andere Gaststaette.
Diese heiszt 'Waschkuchl' und ist wirklich nicht zu 
verfehlen.

Fuer Shannara: wie bereits mehrfach zugesichert
ist eine Uebernachtungsmoeglichkeit vorhanden, und
auch vom Bahnhof kann ich dich wie besprochen abholen.
Das gleiche gilt fuer Zillus, also wenn Bedarf besteht
melde Dich auch nochmal :o)

Der Weg vom Bahnhof dahin ist auch nicht schwer, auszerdem
ist direkt vor der Kneipe eine U-Bahn-Station.
Infos dazu lege ich auch nochmal auf die Seite
http://www.dmsp.com/service/mg

Also dann, auf ein frohes Treffen :o)
Grusz, Reaper

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO (Morgoth, 28. Mai 1999, 08:46:15):
~#! rn=Hibbelig rt=927799135 rg=treffen
~#! tid=927750678
Dankeschoen, dass Du das albern findest.
Du kennst ja den Spruch: Schlage keinen, der am Boden liegt....
... tritt zu, dann musst Du Dich nicht buecken.


-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenchen (Teddy, 28. Mai 1999, 10:38:45):
~#! rn=Reaper rt=927840766 rg=treffen
~#! tid=927713237
Uebernachtung? Ich hab noch nen 2tes Bett im Hotelzimmer stehen ;-)

Teddy.
P.S. Hat eigentlich irgendwer mal den Namen der Gaststaette veroeffentlicht?
Naja, das Bistro reicht mir dann ja.
P.P.S.:Der Englische Garten war gestern auch sehr nett, koennte man da nicht
nen Grillabend veranstalten?

-----------------------------------------------------------------------------



stammtisch in B (Gnome, 31. Mai 1999, 19:30:06):
hi,

es ist mal wieder der 1. Fr. im monat und das heisst stammtisch in berlin.
stattfinden wird er im seeblick, rykestr., prenzlberg.
angefangen wird da um 20.00h.

viel spass :)

gnOme

-----------------------------------------------------------------------------



Frankfurt? (Ark, 31. Mai 1999, 22:33:54):
Hei, was ist los, ihr Frankfurter, wolltet ihr nicht mal wieder ein Treffen
organisieren, so mit denen aus dem Darmstaedter Raum oder so, ich hab' da noch
was im Hinterkopf in der Art. Was ist los? Memmt ihr rum? Muss ich wieder
eines in Darmstadt machen? Oder was? Gebt Laut!



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Muenchen (Songoku,  1. Jun 1999, 10:47:43):
Da wir in Muenchen schon laaaange kein Treffen mehr hatten moechte ich mal das
MKH Cafe in der StuSta vorschlagen in 2 Wochen.

Sayoonara

-----------------------------------------------------------------------------



Re: Muenchen (Novastorm,  1. Jun 1999, 10:48:45):
~#! rn=Songoku rt=928226863 rg=treffen
~#! tid=928226863
Bitte genauere Daten... :-) Sowas muss schliesslich langfristig geplant
werden.
   Nova

-----------------------------------------------------------------------------



Re: Re: Muenchen (Zillus,  1. Jun 1999, 11:43:15):
~#! rn=Novastorm rt=928226925 rg=treffen
~#! tid=928226863
*args* ja das letzte Treffen in Muenchen ist wirklich schon laaaaaange her.
Und was machst denn Du in Muenchen, Nova? Warum kamst letzten Freitag nicht ;)
?
Z.

-----------------------------------------------------------------------------



Re: Muenchen (Teddy,  1. Jun 1999, 17:35:37):
~#! rn=Songoku rt=928226863 rg=treffen
~#! tid=928226863
ertz ovj epj sivj lp,,rm

Kannst du MKH und StuSta mal uebersetzen, dann uebresetz ich meins auch ;)

Teddy

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing,  2. Jun 1999, 21:01:56):
Huhu ihrs,

Ist zwar arg kurzfristig, aber ich denk das haut noch hin:

Am Freitag 4.6. ist wieder der erste im Monat und daher Stammtisch :-)

Um 20h im Chico Mendes, war ja nicht so uebel das letzte Mal... diesmal gleich
nen Tisch unten :-)

Also bis denn!
     --> Darkwing

-----------------------------------------------------------------------------



Re: Re: Muenchen (Songoku,  4. Jun 1999, 10:15:48):
~#! rn=Teddy rt=928251337 rg=treffen
~#! tid=928226863
MKH=Max Kade Haus
StuSta=Studentenstadt (ist bei der U6. Haltestelle Studentenstadt)

Alle Klarheiten beseitigt?

Sayounara!

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig ????? (Jasonrigid,  4. Jun 1999, 11:39:06):

Hiho Alle,

ich waere mal wieder fuer einen Stammtisch, ich wuerde den 11.6.1999, 20.00
Uhr vorschlagen.

Einwaende, Zustimmung, Verbesserungsvorschlaege ??

Bis denne

Jason

-----------------------------------------------------------------------------



Re^3: Muenchen (Teddy,  4. Jun 1999, 11:39:22):
~#! rn=Songoku rt=928484148 rg=treffen
~#! tid=928226863
Na also, geht doch ;)

Teddy, wird wohl auch kommen.

-----------------------------------------------------------------------------



Re: *S*T*A*T*I* in Braunschweig ????? (Karic,  4. Jun 1999, 16:04:25):
~#! rn=Jasonrigid rt=928489146 rg=treffen
~#! tid=928489146

bin da :)

wieder im "1/4 nach"?
karic

-----------------------------------------------------------------------------



Stammtisch in Frankfurt! (Del,  4. Jun 1999, 21:13:07):
Hallo Zusammen! Wo seid Ihr, Ihr holden Frankfurter? Bin ich denn die einzige
hier, die Lust auf Party hat? Wie siehts denn jetzt mal mit einem Stammtisch
im schoenen Mainhatten aus? Ich schlage Samstag den 12.06. vor und erhoehe
alternativ um Freitag den 18.06. Meldet Euch mal, ob ueberhaupt Interesse
besteht! Hab schon einige nette Locations im Auge! *zwinker* Und wenn keiner
Zeit und Lust hat, dann wird's halt ein privates Treffen, gelle Ark!? :-)
press DEL to enter setup

-----------------------------------------------------------------------------



Re: Stammtisch in Frankfurt! (Trance,  5. Jun 1999, 11:12:54):
~#! rn=Del rt=928523587 rg=treffen
~#! tid=928523587
Aba hallo, isch binn debei!

Trance, Wahlfrankfurter

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Frankfurt! (Sharia,  5. Jun 1999, 11:13:58):
~#! rn=Trance rt=928573974 rg=treffen
~#! tid=928523587
hey waer keine schlechte idee .. hmmm aber wohl eher freitag der 18.6. ... am
12.6. kannich nich wegen fruehschicht am naechsten tag :)


Sharia

-----------------------------------------------------------------------------



Re^3: Stammtisch in Frankfurt! (Ark,  5. Jun 1999, 11:25:32):
~#! rn=Sharia rt=928574038 rg=treffen
~#! tid=928523587
Hm, mir faellt auch gerade ein, dass ich am 12.06. eigentlich verplant bin.
Also, Del, 18.06. gaaanz festhalten :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stammtisch in Frankfurt! (Anacrion,  5. Jun 1999, 11:58:14):
~#! rn=Del rt=928523587 rg=treffen
~#! tid=928523587
Hmmmm. Also bei den Terminen muss es wohl ein provates Treffen von Euch beiden
wrden, Ark und Del :(

Ich schlage da doch einfach mal den 25.06. vor :)

Anac*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Frankfurt! (Sting,  5. Jun 1999, 13:04:29):
~#! rn=Anacrion rt=928576694 rg=treffen
~#! tid=928523587
Am 18.6. haette ich evtl. auch Lust und Zeit. Ich bitte schonmal um ne
Wegbeschreibung usw :)

Sting

-----------------------------------------------------------------------------



Nochmal Ffm (Del,  6. Jun 1999, 12:27:25):
Hallo Zusammen :) Ja das hoert sich doch schonmal seeeehr gut an! Ich schlage
vor, wir halten den 18.06. jetzt erstmal fest. Ort, Zeit und Wegbeschreibung
werden dann noch bekannt gegeben. Anacrions Vorschlag bezueglich des 25.06.
kann ich nicht befuerworten
falls den andern das besser passt, muesst Ihr das unter Euch ausmachen. Also
ich hoffe mal auf weitere Zusagen! :))
press DEL to enter setup

-----------------------------------------------------------------------------



Re: Nochmal Ffm (Anacrion,  6. Jun 1999, 13:37:51):
~#! rn=Del rt=928664845 rg=treffen
~#! tid=928664845
Oki.
Schade ... eigentlich ... 

Viel Spass wuenscht Euch Eueer

Anacrion

-----------------------------------------------------------------------------



Re: Muenchen (Teddy,  6. Jun 1999, 20:59:15):
~#! rn=Songoku rt=928226863 rg=treffen
~#! tid=928226863
Freitag oder Samstag? Wieviel Uhr? DATEN!!! INput!

Teddy, wartet auf weiteres ;)

-----------------------------------------------------------------------------



Re: Re: Muenchen (Wurzel,  6. Jun 1999, 21:02:07):
~#! rn=Teddy rt=928695555 rg=treffen
~#! tid=928226863
warte auch noch. die wahl des termins hat schon eine gewisse relevanz :)

wurzel

-----------------------------------------------------------------------------



Re: Re: Muenchen (Trug,  6. Jun 1999, 21:03:17):
~#! rn=Teddy rt=928695555 rg=treffen
~#! tid=928226863
Schon wieder ein Treffen in Muenchen? Au weia, das ging aber schnell :)

Trug.

-----------------------------------------------------------------------------



Re^3: Muenchen (Teddy,  6. Jun 1999, 21:03:39):
~#! rn=Trug rt=928695797 rg=treffen
~#! tid=928226863
Sie koennen einfach nicht genug von mir kriegen? ;-)

Teddy, ueberhaupt nicht von sic hueberzeugt ;)

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  6. Jun 1999, 21:34:38):


Freitag isses wieder so weit::


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 11.6. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel



-----------------------------------------------------------------------------



Stammtisch in Dresden (Zino,  6. Jun 1999, 22:39:41):
Am kommenden Donnerstag (10.6.) ist wieder Stammtisch in Dresden, und zwar um
21:00 Uhr in der Wu11.

Mahatma

-----------------------------------------------------------------------------



Re: Re: Muenchen (Songoku,  7. Jun 1999, 09:25:22):
~#! rn=Teddy rt=928695555 rg=treffen
~#! tid=928226863
Vorschlag FR 18.6.99 20.00

Sayounara!

-----------------------------------------------------------------------------



Re^3: Muenchen (Morgonate,  7. Jun 1999, 11:22:55):
~#! rn=Songoku rt=928740322 rg=treffen
~#! tid=928226863
Hmm, zu dem Termin koennte ich vielleicht auch anreisen. ;)

Brauche dann aber ziemlich genaue Anfahrtsbeschreibung, so nach dem Motto: Am
Kreuz Pullach auf A9 -> Richtung Muenchen, ......

Msar *frech grinsend*

-----------------------------------------------------------------------------



Re^4: Muenchen (Songoku,  7. Jun 1999, 13:20:51):
~#! rn=Morgonate rt=928747375 rg=treffen
~#! tid=928226863
wegbeschreibung...oeh....
nunnunja von ost oder hauptbahnhof zum marienplatz fahren und dann mit der u6
richtung Garching/hochbrueck fahren. bei der haltestelle Studentenstadt
aussteigen.
nach rechts aus der U-Bahnstation aussteigen und der strasse nachlaufen
(Grasmeierstr) wenn ihr am ende der strasse seid, umdrehen und ihr schaut auf
ein 8Stoeckiges Haus. Dort in den aufzug und gaaaanz hoch. 
Den weg mit dem auto kann ich leider nicht beschreiben, da ich nie Autofahre
und mich nicht auskenne aber ich suche mal was raus.

Sayounara.

-----------------------------------------------------------------------------



Re^5: Muenchen (Wurzel,  7. Jun 1999, 20:17:15):
~#! rn=Songoku rt=928754451 rg=treffen
~#! tid=928226863
das waer hilfreich, da ich nie mit der ubahn oder aehnlichem fahre :)

wurzel

-----------------------------------------------------------------------------



Re^5: Muenchen (Karis,  8. Jun 1999, 09:39:15):
~#! rn=Songoku rt=928754451 rg=treffen
~#! tid=928226863
Jetzt macht er tatsaechlich ernst damit ...
Nur ein kleiner Denkanstoss: als ich noch in der StuSta gewohnt habe, hat
noch ein JEDER einen Studentenausweis bzw. seinen Zimmerschluessel hoch-
halten muessen, bevor er in irgendeiner Kneipe in der StuSta ueberhaupt
mal ein Bier bekommen hat... mag ja sein, dass das inzwischen laxer ge-
handhabt wird - aber jedenfalls solltest Du bedenken, dass es doch einige
[C Nicht-Studenten unter den Muddern gibt. Und was machen wir mit denen, wenn
die kein Bier kriegen??? Weisst Du, was dann los ist????
NIchtsdestotrotz: Initiativen betreffs Stammtisch find ich immer gut :))
Deswegen halt mal n Alternativvorschlag: Alte Burg. Liegt auch etwas
zentraler ;) (Fuer die Mudder, die auf dem letzten Stati dabei waren:
das war die zweite Kneipe, aus der wir rausgeschmissen wurden ;)

Karis.

-----------------------------------------------------------------------------



Re^6: Muenchen (Songoku,  8. Jun 1999, 13:31:12):
~#! rn=Wurzel rt=928779435 rg=treffen
~#! tid=928226863
ne karte ist unter http://members.tripod.de/immac/hinkomm/hinkommindex.html
zu finden.
(bitte nicht wundern, das ist die homepage von nem club in dem ich bin und wir
treffen uns dort ca 1 mal im monat)

Sayounara!

-----------------------------------------------------------------------------



Re^6: Muenchen (Songoku,  8. Jun 1999, 13:33:46):
~#! rn=Karis rt=928827555 rg=treffen
~#! tid=928226863
Es ist extrem lax.

(und bei uns wohnen einige "Studenten", die ueber 50 sind also wird sich
niemand wundern egal wer kommt.

Sayounara.


-----------------------------------------------------------------------------



Re^6: Muenchen (Teddy,  8. Jun 1999, 14:22:44):
~#! rn=Karis rt=928827555 rg=treffen
~#! tid=928226863
2te Kneipe? Also die drittletzte sozusagen, Burgerking nicht eingerechnet.

Teddy


-----------------------------------------------------------------------------



Re: Nochmal Ffm (Sharia, 12. Jun 1999, 17:57:11):
~#! rn=Del rt=928664845 rg=treffen
~#! tid=928664845
heya wer wird denn am 18.6. kommen ? ich will da auf jeden fall kommen... und
wo wird der Stati stattfinden ? und wo ? :)

Sharia, will dass auch mal nen paar nach FFM kommen :)

-----------------------------------------------------------------------------



Re: Re: Nochmal Ffm (Ark, 12. Jun 1999, 17:58:03):
~#! rn=Sharia rt=929203031 rg=treffen
~#! tid=928664845
Del soll es schreiben, ich hab ihr gemailt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



FFM am Freitag! (Del, 12. Jun 1999, 18:22:32):
Aaaalso... Der Stammtisch im beschaulichen Frankfurt startet gegen 20h in den
'12 Aposteln'. Um rege Teilnahme wird gebeten, denn je mehr nette Leute, desto
genialer der Abend! Fragen bezueglich des Weges koennt Ihr mir mailen. Als
kleine Orientierung: die Kneipe befindet sich in der Naehe der Konstabler
Wache, gegenueber von den Stadtwerken in der Elefantengasse. Tisch wird
reserviert... waer klasse, wenn ich ungefaehr wuesste wer alles kommt.
press DEL to enter SETUP

-----------------------------------------------------------------------------



Aufruf an alle Frankfurter! (Del, 12. Jun 1999, 18:29:13):
Aeh ja ich habe uebrigens noch von keinem Frankfurter gehoert, dass er kommt.
Wegen Euch haben wir doch den Stammtisch von DA hierher verlegt! Also meldet
Euch mal und schwingt die Hufe!!!
press DEL to enter SETUP

-----------------------------------------------------------------------------



Re: Aufruf an alle Frankfurter! (Sting, 12. Jun 1999, 18:40:24):
~#! rn=Del rt=929204953 rg=treffen
~#! tid=929204953
Ich komme wohl auch :)

Sting

-----------------------------------------------------------------------------



to mail 87 (Muadib, 13. Jun 1999, 00:42:25):
~#! rn=Sting rt=929205624 rg=treffen
~#! tid=929204953
wenn die wegbeschreibung gut ist komm ich wohl auch

muadib

-----------------------------------------------------------------------------



Re: FFM am Freitag! (Trance, 13. Jun 1999, 15:45:43):
~#! rn=Del rt=929204552 rg=treffen
~#! tid=929204552

bin dabei.
Trance

-----------------------------------------------------------------------------



Re: Re: FFM am Freitag! (Anacrion, 13. Jun 1999, 21:29:32):
~#! rn=Trance rt=929281543 rg=treffen
~#! tid=929204552
kann leider nicht ... abiturfeier meines bruders ...

sorry, dermnaechst mal wieder

anac* - fast einzeilend

-----------------------------------------------------------------------------



Re^7: Muenchen (Teddy, 14. Jun 1999, 11:33:58):
~#! rn=Teddy rt=928844564 rg=treffen
~#! tid=928226863
Also war schon toll am Freitag im MKH. ;(

Naja, zumindest das StuStaCulum war gut.

Teddy, hat nen netten Stammtisch alleine verbracht.

-----------------------------------------------------------------------------



Stammti in Halle (Mieze, 14. Jun 1999, 20:00:39):

Hi Muddies und Fans des Hallenser Stammti,

am Samstag (19.06) ists wieder soweit. 19 Uhr in der Spaetschicht. Wer nicht
(noch nicht oder nicht mehr) weiss, wo das ist -> Mail an mich.


Mieze

-----------------------------------------------------------------------------



Stammtisch in Muenster (Catweazle, 15. Jun 1999, 09:13:47):
Moin!

Wusstet Ihr eigentlich schon, das in Muenster jeden Dienstag ein MG-
Stammtisch stattfindet?
Wusstet Ihr eigentlich schon, das Paracelsus morgen Geburtstag hat?
Wusstet Ihr schon das er angekuendigt hat zum Stammstisch zu kommen?

Nun, wir lassen ihn auf jeden Fall nicht frueh genug gehen, um sich zu 
verdruecken, Reinfeiern ist absolutes Muss.

Schnorrer sind willkommen :)

Mitzubrigendes Inventar sind alle Arten von rueckhaltenden und einengenden 
Medien um eventuelles Fluechten zu verhindern, also Stricke,
Ketten, Handschellen, Naegel, was Ihr halt gerade da habt ...

Bis spaeter,
   Yours truly,

       Catweazle

PS: Ort: Muenster, Kuba Cafe, Achtermannstrasse 10-12 (am Bahnhof), 20:00 Uhr

-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Caillean, 15. Jun 1999, 09:18:04):
~#! rn=Catweazle rt=929430827 rg=treffen
~#! tid=929430827
wusstet ihr schon, dass cattie das eigentlich letzte woche posten wollte?


-----------------------------------------------------------------------------



Re: Stammtisch in Muenster (Mieze, 15. Jun 1999, 12:18:04):
~#! rn=Catweazle rt=929430827 rg=treffen
~#! tid=929430827

wenn ich bis dahin einen Zweiti bekommen kann, der meine Referate etc.
erledigt, komm ich gern.

Mieze - muss unbedingt wieder nach MS fahren.


-----------------------------------------------------------------------------



Re^8: Muenchen (Songoku, 15. Jun 1999, 14:56:13):
~#! rn=Teddy rt=929352838 rg=treffen
~#! tid=928226863
ich hatte eigentlich naechsten Freitag gemaint

Oder habe ich mich soo bloed ausgedrueckt?? (wuerde mich nicht wundern)

Sayounara.
nn

-----------------------------------------------------------------------------



Re^9: Muenchen (Teddy, 15. Jun 1999, 18:01:22):
~#! rn=Songoku rt=929451373 rg=treffen
~#! tid=928226863
Du hast am 1.6. 2 Wochen geschrieben, das ist fuer mich eher letztes als
naechstes WE.

Naja, zuminest weiss ich jetzt, wo das stattfindet, wenn ich denn komme. ;_)

Teddy

-----------------------------------------------------------------------------



Re^10: Muenchen (Songoku, 15. Jun 1999, 18:54:49):
~#! rn=Teddy rt=929462482 rg=treffen
~#! tid=928226863
rot werd
Sumimasen!

Sayounara!

-----------------------------------------------------------------------------



Re: FFM am Freitag! (Bombarad, 15. Jun 1999, 23:13:28):
~#! rn=Del rt=929204552 rg=treffen
~#! tid=929204552
und aus Richtung DA kaemen noch Katzentante, Fresenius und Bombarad.
Vielleicht gibts ja noch eine bessere Wegbeschreibung. Ich haette leichte
Schwierigkeiten ...
Bombarad.

-----------------------------------------------------------------------------



Muenchen 18.6. (Songoku, 16. Jun 1999, 12:33:38):
Nur nochmal als Erinnerung.

http://members.tripod.de/immac/hinkomm/hinkommindex.html

Sayounara.

-----------------------------------------------------------------------------



Letzter Aufruf FRANKFURT! (Del, 17. Jun 1999, 23:56:49):
HalliHalloHalloelle!
Der Freitag kommt mit rasenden Schritten naeher! Also sagt alle Parties ab,
cancelt jegliche Verabredungen und kommt gegen 20h in die '12 Apostel' in der
Elefantengasse Naehe Konstabler Wache! Tisch ist reserviert, natuerlich auf
'MorgenGrauen', was sonst!
Hope to seee you!
Bis Morgen!
press DEL to enter Setup

-----------------------------------------------------------------------------



Re: Letzter Aufruf FRANKFURT! (Morgoth, 18. Jun 1999, 07:51:17):
~#! rn=Del rt=929656609 rg=treffen
~#! tid=929656609
Wo muss man denn nun druecken?? ;-)

M* hat da doch so ne Idee *grins*

-----------------------------------------------------------------------------



Stammti in Halle (Mieze, 18. Jun 1999, 09:45:50):

Hi Leuts,


nicht vergessen: Samstag Stammti in der Spaetschicht. 19 Uhr - wie immer:
Meisterbude.

Mieze - hofft, dass sich ein paar Leute nach Halle verirren :)


-----------------------------------------------------------------------------



Re: Stammti in Halle (Sunflower, 18. Jun 1999, 16:55:59):
~#! rn=Mieze rt=929691950 rg=treffen
~#! tid=929691950
Tja ich kann leider nicht :( Da ich am Sonntag frueh so ein 
hochwichtiger Unteroffizier vom Dienst bin (Trillerpfeife zueck)
Naja aber ihr koennt auch mal nen Stati ohne mich verkraften, denk ich )
Sunny
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Nachtrag: Ffm (Del, 20. Jun 1999, 08:35:15):
Halloechen Zusammen!
Ich muss auf diesem Weg nochmal ein 'Hoch' auf den letzten Freitag
aussprechen! Das war wohl der genialste Stammtisch ueberhaupt und ich hoffe,
wir wiederholen das bald wieder! Dank an alle Anwesenden und den Trantueten
aus Frankfurt sei gesagt: IHR HABT WAS VERPASST!
Und immer schoen dran denken... wer seinen Koffer packt, sollte auf jeden Fall
einen Haufen Scheisse und ein Fass belgische Cola mitnehmen, nicht wahr,
Sharia und Sting!? *zwinker*
press DEL to enter SETUP

-----------------------------------------------------------------------------



Stammtisch in Frankfurt ! (Sharia, 20. Jun 1999, 08:44:28):

Eine kleine Nachlese des Stati in FFM:


Vanessa (uahh das is nur der RL-Name ... VL gibts die ja garnich :) ), Ark
(ACHTUNG !! DARMSTAEDTER !!!), Trance ("Wow, der kann sogar sprechen" [war nur
nen Zitat :-)]), Sting ("der kommt nur um MICH zu sehen"), Sharia (war als
Kind schon scheisse), Spirill (extra aus Aachen eingeflogen), Del ("ich
moechte bitte einen Tisch auf den Namen 'MORGENGRAUEN' reservieren" *lach*),
Borbarad (Witzeerzaehler, achtung noch nen Darmstaedter...), Katzentante
("Katzeklo, Katzeklo"), Merian (hey dich gibts ja wieder :-) )

tja was macht man nicht alles auf Stammtischen:

Ich packe meinen Koffer und nehme mit: ein ritzegelbes Quietscheentchen,
einen regennassen Schlafanzug, Haekelzeug, einen Sack Erdaeppel,
25 Bierdeckel, einen Dreschflegel, eine Kasematte, ein Ericsson Handy,
ein wundervoll gefuelltes Katzenklo,
einen leeren Aschenbecher, einen aufblasbaren Gummimann,
einen zerrissenen Stadtplan von Hamburg, ein rotes Klappfahrad,
ein 5 Liter Fass Coca - Cola *wuerg* aus Belgien, ein Haufen Scheisse,
ein Sack Kaffesatz, eine fuenfraedrige Tigerente,
eine supercoole "Men In Black" - Sonnenbrille, eine funzelige Taschenlampe,
einen Krug Bier, und ein Paar glitzernde rosa Badelatschen



ich kann mich nur Del anschliessen ... es war ein einfach GENIALER Stammtisch
:)

Alle die nicht da waren: IHR HABT ECHT WAS VERPASST :)

Sharia

-----------------------------------------------------------------------------



Re: Stammtisch in Frankfurt ! (Sharia, 20. Jun 1999, 08:49:54):
~#! rn=Sharia rt=929861068 rg=treffen
~#! tid=929861068
achja nochwas:

Ark, mach dir nix draus... vielleicht darfst du ja auch irgendwann nicht nur
in Frankfurt arbeiten sondern auch da wohnen ... (Asylantraege einfach bei den
entsprechenden Behoerden einreichen :) )

Sharia, mag Darmstaedter :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Frankfurt ! (Wurzel, 20. Jun 1999, 12:16:45):
~#! rn=Sharia rt=929861394 rg=treffen
~#! tid=929861068
igitt, wer will schon in krankfurt wohnen... arbeiten mag noch angehen, aber
das war es dann auch schon. nein, wenn schon, dann ein stueck weiter weg.

wurzel, ex-darmstaedter

-----------------------------------------------------------------------------



Re: Stammtisch in Frankfurt ! (Bombarad, 20. Jun 1999, 15:50:29):
~#! rn=Sharia rt=929861068 rg=treffen
~#! tid=929861068
Dieser Stammtisch war wirklich genial. Ich kann mich nur noch Del und Sharia
anschliessen. Und hoffentlich kommt Vanessa zum naechsten Stammtisch wieder
.... Kann ja sein, das er im beliebten Darmstadt stattfindet *grins*
Bombarad  (nicht Borbarad, wie der beruechtigte Schwarzmagier aus DSA)
Ach ja, kennt Ihr den, eine Blondine geht ....

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Frankfurt ! (Sting, 20. Jun 1999, 15:51:23):
~#! rn=Bombarad rt=929886629 rg=treffen
~#! tid=929861068
*grins* Also guuuuuuuut, dann schliesse ich mich auch noch an: der StaTi war
mit Abstand der lustigste auf dem ich je war :)) soviele Witze hab ich lange
nimmer gehoert *grins Vanessa und Bombarad*

Sting, der jederzeit wieder hinfaehrt :)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Frankfurt ! (Muadib, 20. Jun 1999, 19:46:24):
~#! rn=Sting rt=929886683 rg=treffen
~#! tid=929861068
hmmbl ihr seid doof :)

-----------------------------------------------------------------------------



Re^4: Stammtisch in Frankfurt ! (Sharia, 20. Jun 1999, 21:34:52):
~#! rn=Muadib rt=929900784 rg=treffen
~#! tid=929861068
nein nein Muadib .. DU bist doof dass du nich noch gekommen bist :) immerhin
ging der Stati bis ca 2.45 morgends :)

Sharia

-----------------------------------------------------------------------------



Re^5: Stammtisch in Frankfurt ! (Muadib, 20. Jun 1999, 23:07:34):
~#! rn=Sharia rt=929907292 rg=treffen
~#! tid=929861068
ok wann is der naechste ?

muadib

-----------------------------------------------------------------------------



Re^3: Stammtisch in Frankfurt ! (Gnome, 20. Jun 1999, 23:47:07):
~#! rn=Sting rt=929886683 rg=treffen
~#! tid=929861068
hm, also wenn wir fuer jeden genialen stati in B nen artikel posten
wuerden, staende jeden monat einer drin... :)

gnOme, noch immer wild mit cakey ein faehnchen wedelnd... :)))

p.s. sting, wir sprechen uns noch...

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Gralkor, 21. Jun 1999, 08:34:53):
~#! rn=Sunflower rt=929717759 rg=treffen
~#! tid=929691950
NEIN, definitv nicht, es war einfach nicht zu machen :(

G. :)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Frankfurt ! (Apsu, 21. Jun 1999, 19:32:52):
~#! rn=Wurzel rt=929873805 rg=treffen
~#! tid=929861068
Nix gegen Frankfurt, gibt schlimmeres.

Apsu

-----------------------------------------------------------------------------



Re^3: Stammtisch in Frankfurt ! (Ark, 21. Jun 1999, 22:25:21):
~#! rn=Wurzel rt=929873805 rg=treffen
~#! tid=929861068
Och naja, ich kenne schlimmere Staedte (Achtung: GIESSEN) und schoenere
(Freiburg), is eh Geschmackssache. Am besten isses imma noch dahaimi. Jawollja
:-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch in DO (Ringor, 22. Jun 1999, 10:25:36):
Es ist wieder soweit!

Der Monat neigt sich seinem Ende zu, die Kontoauszuege werden immer
unfreundlicher, das Wetter ist auch nicht besser - Zeit fuer einen Stammtisch.
:-)

Wie ueblich um 20:00 Uhr im Walhalla.

Wegbeschreibungen gibts gegen freundliches Betteln bei jedem Dortmunder, der
sich breitschlagen laesst.

Ausreden wie "Sommeranfang" oder "Biergarten" werden mit dem aktuellen
Wetterbericht widerlegt.

Ringor

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Thufhir, 22. Jun 1999, 10:33:36):
~#! rn=Ringor rt=930039936 rg=treffen
~#! tid=930039936

Thufhir hat wohl diesmal auch endlich wieder Zeit (2)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 22. Jun 1999, 11:09:29):
Wie ich ja immer mal wieder erwaehne findet in Karlsruhe jeden Donnerstag
der Stammtisch statt. Im Kleinen Meierhof (Zaehringer Strasse) ab 20 Uhr.
Special Guest diese Woche: Olpp! (wahrscheinlich)
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Mindblade, 22. Jun 1999, 17:20:31):
~#! rn=Ringor rt=930039936 rg=treffen
~#! tid=930039936
(3)
Mind*, 3 Zeichen reichen!;)

-----------------------------------------------------------------------------



Re: Stammtisch in DO (Caillean, 22. Jun 1999, 17:41:00):
~#! rn=Ringor rt=930039936 rg=treffen
~#! tid=930039936
koennt ihr nich mal wieder einen mitten im monat machen, so ueberschneidet
sich das jedesmal mit anderen wichtigen veranstaltungen hier in MS :((((

caillean heute mal stellvertretend fuer ariana und wieder nich dabei 

-----------------------------------------------------------------------------



love-parade (Golas, 24. Jun 1999, 18:07:19):
moins
ich wollte mal horchen, ob interesse an einem treffen fuer die love-parade
besteht
golas ravend... :)))

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO (Knurt, 24. Jun 1999, 21:48:24):
~#! rn=Mindblade rt=930064831 rg=treffen
~#! tid=930039936
Knurt kommt nicht. Hibbelig auch nicht.
Das habt Ihr jetzt davon.

-----------------------------------------------------------------------------



Re: love-parade (Mahatmu, 25. Jun 1999, 12:04:41):
~#! rn=Golas rt=930240439 rg=treffen
~#! tid=930240439
Damit wir als gemeinnuetzige Organsiation spaeter den Dreck wegmachen?
*g* Neeee danke.

Mahatmu

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO (Teddy, 25. Jun 1999, 13:02:12):
~#! rn=Knurt rt=930253704 rg=treffen
~#! tid=930039936
Ich auch nicht.

Trotzdem viel Spass, vielleicht naechste Woche.

Teddy

-----------------------------------------------------------------------------



Re: love-parade (Alpha, 25. Jun 1999, 15:15:33):
~#! rn=Golas rt=930240439 rg=treffen
~#! tid=930240439
Treffen wir uns alle unter der Siegessaeule?
Alpha - langhaarig - mitravend.

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 28. Jun 1999, 19:31:56):
Huhu zusammen :)

Diesen Freitag ist schon wieder der erste im Monat --> Stammtisch in Aachen
:-)

Also..   2.7. ab 20h im Chico Mendes, Wegbeschreibung gibts auf Anfrage.

Bis denn!,
      Darkwing

-----------------------------------------------------------------------------



stati in B (Gnome, 28. Jun 1999, 21:11:44):
moin moin,

das erinnert mich doch glatt an unsern stammtisch :)
also: Freitag, 02.07.99, 20.00h im SEEBLICK

bis denne...

gnOme bastelt noch an seinem faehnchen... :)

-----------------------------------------------------------------------------



Re: stati in B (Stopdenbus, 28. Jun 1999, 22:02:51):
~#! rn=Gnome rt=930597104 rg=treffen
~#! tid=930597104
diesmal komm ich auch ma wieder, und bring jemanden mit: Meta

tschue
  Stoppi

-----------------------------------------------------------------------------



Karlsruh! (Hobo, 29. Jun 1999, 09:13:47):
Da mein Mann momentan auf seine Pruefung lernt und dementsprechend seinen Job
hier nicht erfuellen kann...

Stammtisch in Kalrsruhe im Kleinen Maierhof, wie jede Woche am Donnerstag ab
20 Uhr!

  Hobo

-----------------------------------------------------------------------------



Re: love-parade (Kartoffel, 29. Jun 1999, 21:48:46):
~#! rn=Golas rt=930240439 rg=treffen
~#! tid=930240439

Klar, wo darf ich hintreffen? Wer stellt mir den  Wasserwerfer zur Verfuegung?

'Toffel - kotzend

-----------------------------------------------------------------------------



Re: Karlsruh! (Muadib, 29. Jun 1999, 21:50:08):
~#! rn=Hobo rt=930640427 rg=treffen
~#! tid=930640427
wuerd ja auch gern kommen aber wo ist kalrsruhe ?

muadib *sag nie wieder ich kann nicht schreiben zu mir*

-----------------------------------------------------------------------------



Stammti in Halle (Mieze, 30. Jun 1999, 08:29:49):

Hi Muddies und Fans des Hallenser Stammti,

am Freitag, dem 9.07.99 um 19 Uhr ists wieder soweit: 

Stammti in der Meisterbude in unserer Stammkneipe 'Spaetschicht'. Fuer die
Leuts von ausserhalb -> Mail an mich - fuer Ubernachtung kann gesorgt werden,
ich muss es nur wissen.

Mieze


-----------------------------------------------------------------------------



Re: Stammti in Halle (Shakedbeer, 30. Jun 1999, 09:09:06):
~#! rn=Mieze rt=930724189 rg=treffen
~#! tid=930724189
Neuer Versuch. Dieses mal sollte es aber klappen.

Shakedbeer - 2

-----------------------------------------------------------------------------



Re: Stammti in Halle (Alpha, 30. Jun 1999, 20:00:07):
~#! rn=Mieze rt=930724189 rg=treffen
~#! tid=930724189
Heya, Halle liegt an der flaschen Autobahn. Ansonnsten koennte man nach dem
Stammtisch gleich weiter zur Parade fahren.
Alpha.

-----------------------------------------------------------------------------



StaTi in MUENCHEN! (Reaper,  2. Jul 1999, 11:39:58):

 Es ist wiedermal soweit!!!
 Das   naechste   Treffen   in  Muenchen  ist  in  Planung.
 Diesmal  wollen  wir  uns am   16.07.  an der Isar treffen, 
 mit   einem  Grill,  viel  Bier  und  vielen  Muddern. :o)

 Falls das Wetter uns nen Strich durch  die Rechnung machen 
 sollte treffen  wir uns in der  'alten Burg', die  meisten 
 sollten die ja noch kennen. Aber das wird noch kurzfristig 
 in der MPA stehen.

 Ansonsten  ist  der  Treffpunkt  eine  der  Inseln  bei der 
 Fussgaengerbruecke  am  Flaucher.  Eine  Karte  kommt heute 
 natuerlich    wie    gehabt     noch    auf    die    Seite 
 http://www.dmsp.com/service/mg.

 Diesmal  waere  es  besonders wichtig, dass diejenigen, die 
 hinkommen wollen kurz bescheid sagen, denn ich muss mich ja 
 um das Bier kuemmern :o)

 Gaeste werden  diesmal (soweit bisher  bekannt) Cymonk  und 
 Schleicher  sein.  Das  ganze  wird  sicher  lustig.  Infos
 stehen wie immr auf o.g. Seite.

 Ok, weiter Infos demnaechst!
 Ein organisierender
 Reaper


-----------------------------------------------------------------------------



Re: StaTi in MUENCHEN! (Trug,  2. Jul 1999, 12:34:47):
~#! rn=Reaper rt=930908398 rg=treffen
~#! tid=930908398
Sorry, ich muss absagen, auch wenn ich gerne kommen wuerde.

Von 16. bis 18. Juli ist die Turithil/Anderland Mudparty in Ottensheim und da
hab ich bereits schon zugesagt :)

Waere sonst seeeehr schoen gewesen :/

Trug

-----------------------------------------------------------------------------



Re: StaTi in MUENCHEN! (Hight,  2. Jul 1999, 16:28:06):
~#! rn=Reaper rt=930908398 rg=treffen
~#! tid=930908398
hmmm ich guck mal was die finanzen sagen ... wenn die mitspielen komm ich auch

Hight

-----------------------------------------------------------------------------



Re: StaTi in MUENCHEN! (Reaper,  2. Jul 1999, 16:44:27):
~#! rn=Reaper rt=930908398 rg=treffen
~#! tid=930908398

 wegen mehrfacher Beschwerden auf das 'Gaeste werden diesmal 
 Cymonk und  Schleicher sein':
 Jenandra (=Schleichers Ehefrau) wird natuerlich auch mitkommen,
 wie konnte ich das nur ver^H^H^Hweglassen.... :o)

 Grusz, Reaper

-----------------------------------------------------------------------------



Re: Stammti in Halle (Sunflower,  3. Jul 1999, 00:23:22):
~#! rn=Mieze rt=930724189 rg=treffen
~#! tid=930724189
Evtl. komm ich auch mal wieder vorbei, und bring vielleicht noch
jemanden mit, muss ich aber vorher abklaeren. (und ich komm dann mit dem
auto, also gebt warnungen an die fussgaenger in halle aus und an die Auto-
fahrer :) )

----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: Re: Stammti in Halle (Stopdenbus,  3. Jul 1999, 01:43:00):
~#! rn=Sunflower rt=930954202 rg=treffen
~#! tid=930724189
ich meld mich auch ma an, keine ahnung, ob ich noch wen mitbring, wird
sich ergeben :)

Stoppi

P.S. nein, ich komm net mit Auto, und fussgaenger brauchts auch net warnen :)

-----------------------------------------------------------------------------



Re: Re: StaTi in MUENCHEN! (Wurzel,  3. Jul 1999, 15:40:52):
~#! rn=Reaper rt=930926667 rg=treffen
~#! tid=930908398
aehm, diesmal werd ich dann wohl nicht dabei sein. 1500 km nur fuer einen
grillabend ist etwas heavy... da aendern auch illustre gaeste nix dran :)

wurzel

-----------------------------------------------------------------------------



Stammtisch in Ddorf (Kartoffel,  4. Jul 1999, 22:25:32):



Freitag isses wieder so weit::


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 9.7. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel



-----------------------------------------------------------------------------



Walhalla (Morgoth,  9. Jul 1999, 09:43:00):
So, mal eben ganz kurz zum mitschreiben.
Heute Abend im Walhalla:
The Lord of Darkness feat. The Lady of Shadows 

Eintritt frei ab ca. 1930h 

M*

-----------------------------------------------------------------------------



Re: Walhalla (Teddy,  9. Jul 1999, 16:14:45):
~#! rn=Morgoth rt=931506180 rg=treffen
~#! tid=931506180
Danke fuer die Warnung. ;-)

Teddy, eh weit weg vom Walhalla heute abend.

-----------------------------------------------------------------------------



MS-Stati (Gorog, 10. Jul 1999, 12:59:17):
Moins.

Mal ne Frage kommt mal wieder wer von ausserhalb vorbei? Wr mal ganz witzig.

Gorog, wird wohl da sein (DI 20.00 Cuba, Mnster, Wegbeschreibung auf Anfrage)

-----------------------------------------------------------------------------



Re: MS-Stati (Gast1, 11. Jul 1999, 09:12:54):
~#! rn=Gorog rt=931604357 rg=treffen
~#! tid=931604357
Ja ich :-)

M. aus O.

-----------------------------------------------------------------------------



Sonderstammtisch in DO (Tiamak, 14. Jul 1999, 15:01:05):
Einen besonderen Anlass gibt es nicht - aber den haben wir noch nie gebraucht.
Deshalb verkuende ich mal ganz spontan den grossen

                Sonderstammtisch am Freitag, 16.07.1999 

im Walhalla in Dortmund.

Losgehen tut's wie immer so gegen 20:00 Uhr. Wegbeschreibungen gibt's
vielleicht auf Anfrage. Falls irgendein Special-Guest gerne angekuendigt
werden moechte, so moege er es selber tun ;-)

i.A. Tiamak

-----------------------------------------------------------------------------



Re: Sonderstammtisch in DO (Gast1, 14. Jul 1999, 16:11:32):
~#! rn=Tiamak rt=931957265 rg=treffen
~#! tid=931957265
Ok das isn guter Termin. Dann kuendige ich mich mal an :-)

M. aus O.

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch in DO (Gorog, 14. Jul 1999, 21:16:02):
~#! rn=Gast1 rt=931961492 rg=treffen
~#! tid=931957265
Bei Fahrerfindung, komm ich. Natuerlich lass ich den Fahrer auch mit rein (;
Daher (4)

Vielleicht Gorog und Spezialfah^D^D^Dguest

*grins breit*

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch in DO (Knurt, 14. Jul 1999, 23:58:33):
~#! rn=Gast1 rt=931961492 rg=treffen
~#! tid=931957265
Knurt kommt nicht. Warum auch.
Hibbelig kommt ja auch nicht.

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch in DO (Morgoth, 15. Jul 1999, 07:35:20):
~#! rn=Knurt rt=931989513 rg=treffen
~#! tid=931957265
Selber schuld, ich denke Du bist neugierig ;-))
Wir sind da. 

M* (+2)

-----------------------------------------------------------------------------



Muenchen -> Grillfest verschoben :o( (Reaper, 15. Jul 1999, 08:39:22):

Hi ho!

Hmmm, eigentlich dachte ich es waere eine gute ID, 
mal nen Grillabend an der Isar zu machen. Aber wie
es aussieht wird uns diesmal das Wetter wohl einen
Strich durch die Rechnung machen :o(

Bevor ich jetzt also losziehe, und fuer den Freitag
jede Menge feuchtes Feuerholz sammle und Grillsachen
in rauhen Mengen einkaufe, schlage ich vor, den Stati 
von der Isar doch besser an einen waermeren und 
trockeneren Ort zu verlegen. (*seufz*)

Der Vorschlag ist nun ein Chinese im Norden von 
Muenchen, genauergesagt in Milbertshofen. Zu erreichen
ist er sowohl mit dem Auto als auch mit der U-Bahn 
hervorragend. (U2, Station Milbertshofen -> siehe Karte).
Adresse und Karte liegen natuerlich wieder auf
http://www.dmsp.com/service/mg.

Ich hoffe, wir koennen das Grill-Treffen dann 
trotzdem demnaechst mal nachholen...

Grusz, Reaper





-----------------------------------------------------------------------------



Re^4: Sonderstammtisch in DO (Nonne, 16. Jul 1999, 11:53:20):
~#! rn=Morgoth rt=932016920 rg=treffen
~#! tid=931957265
Ich bin auch neugierig, aber kenn ich ja schon. Komme aber trotzdem
+1 = aeh 7 oder 8 ?

Nonne, muss auch mal wieder trinken ;-)

-----------------------------------------------------------------------------



Grillen in DO (Ringor, 19. Jul 1999, 15:31:20):
Hiho!

Wer - aus welchen Gruenden auch immer - am Samstag, 24.7.99 nicht zur Party
kommen kann/will, aber trotzdem Lust auf geselliges Beisammensein mit einer
Handvoll Muddern hat, der ist herzlich eingeladen, sich ab ungefaehr 18:30 Uhr
im Westpark in Dortmund einzufinden.

Geplant ist eine gemuetliche Runde beim Grillen. Gutes Wetter ist schon
vorbestellt. 

Ringor

-----------------------------------------------------------------------------



Re: Grillen in DO (Gast2, 19. Jul 1999, 18:25:00):
~#! rn=Ringor rt=932391080 rg=treffen
~#! tid=932391080
Wo ist das? Wie kommt man da hin (vom Bahnhof)?

der M. aus O.

-----------------------------------------------------------------------------



Re: Grillen in DO (Teddy, 20. Jul 1999, 17:50:08):
~#! rn=Ringor rt=932391080 rg=treffen
~#! tid=932391080
Waeh, immer wenn ich nicht da bin. ;_(

Teddy, weiss nicht, wo er sein wird.

-----------------------------------------------------------------------------



Re: Re: Grillen in DO (Thufhir, 20. Jul 1999, 18:32:18):
~#! rn=Gast2 rt=932401500 rg=treffen
~#! tid=932391080
jau, Ringor, mach mal ne Wegbeschreibung... ;)

Thufhir.

-----------------------------------------------------------------------------



Stammtisch in Leipzig:) (Unasai, 21. Jul 1999, 17:43:32):
Sooooo, es wird langsam aber sicher mal Zeit fuer einen Leipziger Stammtisch.
Aufgrund der Nachfrage und der Wuensche einzelner Personen, wollen wir nun
einen netten Abend in Leipzig verbringen. Ganz recht, ihr koennt ruhig alle
mal nach Dunkeldeutschland kommen :) *grins*
Uebernachtungsmoeglichkeiten bestehen bei Hellfleck und bei mir. Wir kriegen
euch schon alle irgendwie unter :)
Also zur Auswahl stehen folgende termine :) 6.8., 7.8. :) oder 13.8. und 14.8.
da wo sich die meistens melden findets auch statt :)
in diesem Sinne bitte an Hellfleck oder mich mailen 
bis denne eure Una*

-----------------------------------------------------------------------------



Re: Stammtisch in Leipzig:) (Mieze, 22. Jul 1999, 10:45:40):
~#! rn=Unasai rt=932571812 rg=treffen
~#! tid=932571812

Das Ganze kann man dann mit dem Hallenser Stammtisch koordinieren (1 Tag
spaeter oder frueher) auch in Halle gibts genug Unterbringungsmoeglichkeiten.
Meldet Euch, wanns Euch passt bei Unasai, Hellfleck (fuer Leipzig) und/oder
bei mir (fuer Halle).

Mieze - freut sich, Leipzig mal aus anderen Gruenden als der Deutschen
Buecherei zu besuchen :)


-----------------------------------------------------------------------------



Wird ja stressiges Wochenende :) (Unasai, 22. Jul 1999, 10:48:45):
Erst Stati in halle dann in Leipzig oder umgekehrt? Meinste wir ueberleben das
Miezchen??

ohne Worte.....*una*

-----------------------------------------------------------------------------



Re: Wird ja stressiges Wochenende :) (Sunflower, 23. Jul 1999, 17:29:12):
~#! rn=Unasai rt=932633325 rg=treffen
~#! tid=932633325
hmm naja bei mir geht in August nur immer Fr und/oder Sa, da ich Fr bis 14:00
Uhr
und ab So. 18:00 Uhr Dienst schieben darf, naja kann wenigstens mal meinen
Chef die Handschuetteln (aber langsam :) )

----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: Re: Grillen in DO (Knurt, 24. Jul 1999, 12:13:44):
~#! rn=Gast2 rt=932401500 rg=treffen
~#! tid=932391080
hmm keine wegbeschreibung?
also da onkel ringor hier nix geschrieben hat sach ich euch mal kurz meine
adresse und nen weg, ich bin so bis 1/2 7 zuhause
das ist dann beim westpark umme ecke

von der b1: abfahrt zvs/wdr dann auf die lindemannstrasse, da die 2te strasse
links rein.
mit oepnv: vom bahnhof zur strassenbahn 408 (das ist die die auch zum
walhalle/theater faehrt), richtung hombruch, haltestelle moellerbruecke
da dann in fahrtrichtung weiter, naechste strasse rechts rein.
oder mit der s-4 richtung unna bis moellerbruecke, da raus zur bruecke, da
links dann erste rechts rein.
adressse
neuer graben 97
dortmund
bei krummnacker klingeln.
tel 0231 7212110

habt spass.
knurt

-----------------------------------------------------------------------------



Dortmund, Stammtisch, Freitag (Teddy, 27. Jul 1999, 16:47:05):
So, der Monat neigt sich dem Ende zu, mein Muenchenaufenhalt auch.
Wenn also nicht irgendwas Besonderes dazwischen kommt, sollte Freitag
Stammtisch im Walhalla sein.

Teddy (1)

-----------------------------------------------------------------------------



Re: Dortmund, Stammtisch, Freitag (Ringor, 27. Jul 1999, 16:48:55):
~#! rn=Teddy rt=933086825 rg=treffen
~#! tid=933086825
Egal ob Teddy was dazwischenkommt, oder auch nicht - natuerlich ist Freitag
Stammtisch im Walhalla. :-)

Wie immer ab 20:00 Uhr, und diesmal wieder mit ein paar total special guests.
Lasst Euch ueberraschen.

Ringor

-----------------------------------------------------------------------------



Re: Re: Dortmund, Stammtisch, Freitag (Teddy, 27. Jul 1999, 17:38:27):
~#! rn=Ringor rt=933086935 rg=treffen
~#! tid=933086825
Wie jetzt, ihr wuerdet ohne mich...?


Teddy, jetzt doch etwas geknickt. ;)

-----------------------------------------------------------------------------



Jo, Darmstadt wieder mal ... (Ark, 27. Jul 1999, 21:02:55):
Hallo Barfussgeher, Darmstadt ruft, sogar dreimal, doch hier sind die Details:

Diesen Freitag wird es wieder sowas wie Rudelmudden geben, so ab 18:00 Uhr
treffen wir uns zum Pizzamampfen mit anschliessendem Monsterschaenden bis
ungewisser Uhrzeit.

Vorschlaege fuer den Stammtisch sind
a) Freitag in einer Woche (07.08.99)
b) Montag in einer Woche (10.08.99)

Jeweils wieder im Hotzenplotz ab so 20:00 Uhr. Jetzt gibt es sicher wieder
eine Keilerei unter Wenigen, welcher Termin besser ist :-) Ich nehme mal den,
bei dem ich mehr Resonanz bekomme. Mir ist es eigentlich wurscht, ich treffe
mich auch gerne zweimal, also bitte Rueckmeldung.

Danach ist wieder die Subbameisterklassechefcluborganisatorin aus Frankfurt
dran, gelle ? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Dortmund, Stammtisch, Freitag (Kartoffel, 27. Jul 1999, 21:54:45):
~#! rn=Ringor rt=933086935 rg=treffen
~#! tid=933086825

Klar, kaum kann ich einmal nich kommen ...

'Toffel - nich dabei

-----------------------------------------------------------------------------



stati in do (Caillean, 28. Jul 1999, 01:34:16):
rochus faehrt, ich fahr wahrscheinlich mit, catweazle und brandir ueberlegen
es sich noch, wim kommt.

macht jetzt irgendwas zwischen 4 und 7 glaub ich:)

caillean fuer ihre erstie ariana, aber um die zeit nich mehr so gut rechnen
koennend

-----------------------------------------------------------------------------



SUGI HAT DURST  und       Photos !!!!! (Sugaan, 28. Jul 1999, 10:42:35):
Frage andie handvoll Koelner und an alles Nicht-Koelner Mudder:
Hat irgendwer Zeit und Lust sich nach dieser supertollen Fete (hier dann
nochmals ein Lob und Dank an den GROSSorganisator und Kuechenchef Montanus!!)
nach Koelle zu begeben um in einer Gemuetlichen Kneipe (hoffe hier auf
Vorschlaege von Euch) zu kloenen, Photos zu gucken und jetzt schon seelig in
Erinnerungen zu schwelgen????????
Wenn ja da verkuendet es laut und deutlich hier an dieser Stelle, denn sonst
loesche ich meinen Durst auf der Opladener Bierboerse (vom 13.-16.08!) und
werde mir doch noch ueberlegen ob ich das namenlose Grauen - sprich meine
Photos - dann doch ins internet gebe - dann natuerlich unzenziert *grins*.


Ort:  ?????? - ich erwarte viele, viele Vorschlaege einschliesslich einer
exakten Wegbeschreibung!ODODODODODODOD

Termine: hmm hmm das ist schwierig - sucht Euch einen aus:
         Fr. 30.07 oder 20.08
         Mi.OA 04.08. oder 18.08
         Do. 05.08. oder 19.08

Macht et juut und meldet Euch recht zahlreich    
Gruessis von einer durstigen    Sugaan

-----------------------------------------------------------------------------



Re^3: Dortmund, Stammtisch, Freitag (Teddy, 28. Jul 1999, 11:19:14):
~#! rn=Kartoffel rt=933105285 rg=treffen
~#! tid=933086825
Der ist aber termigerecht am letzten Freitag im Monat.

Teddy
P.S.: Ich wuerd ja sagen wir haben uns doch gerade erst genug gesehen, aber
genug gibts bei dir ja eh nicht ;)

-----------------------------------------------------------------------------



Re^4: Dortmund, Stammtisch, Freitag (Nonne, 28. Jul 1999, 11:28:33):
~#! rn=Teddy rt=933153554 rg=treffen
~#! tid=933086825
Dann komm ich wohl auch mal, die special-guests will ich ja nicht verpassen.
(5-9 + specials)

Nonne.

-----------------------------------------------------------------------------



Re^5: Dortmund, Stammtisch, Freitag (Catweazle, 28. Jul 1999, 11:36:40):
~#! rn=Nonne rt=933154113 rg=treffen
~#! tid=933086825
Ich wurde genoetigt ....

+1

YTC

-----------------------------------------------------------------------------



Re: SUGI HAT DURST  und       Photos !!!!! (Tangalur, 28. Jul 1999, 14:02:09):
~#! rn=Sugaan rt=933151355 rg=treffen
~#! tid=933151355
---------------------------------------------------------------------------

SUGI hat Durst und Bilder !

In Anbetracht des schoenen Wetters und Sugis Durst (und meiner
Neugier auf die Bilder) ist das Treffen schon am 30.7.1999, also
Uebermorgen. Treffpunkt und Wegbeschreibung werden morgen hier an 
dieser Stelle bekannt gegeben.

Tangalur Feuertatze

---------------------------------------------------------------------------

-----------------------------------------------------------------------------



Re: Re: SUGI HAT DURST  und       Photos !!!!! (Householder, 28. Jul 1999, 14:23:25):
~#! rn=Tangalur rt=933163329 rg=treffen
~#! tid=933151355
wie waere es mit dem englbert oder dem la croque ? immer limmericks is
langweilig :-)

-----------------------------------------------------------------------------



Re^3: SUGI HAT DURST  und       Photos !!!!! (Tangalur, 28. Jul 1999, 14:27:14):
~#! rn=Householder rt=933164605 rg=treffen
~#! tid=933151355
Da wirds auch nicht sein, keine Sorge :-)

-----------------------------------------------------------------------------



Re: SUGI HAT DURST  und       Photos !!!!! (Tangalur, 28. Jul 1999, 19:40:26):
~#! rn=Sugaan rt=933151355 rg=treffen
~#! tid=933151355
-----------------------------------------------------------------------
SUGI hat Durst ! 

Also das Ganze findet am 30.07. um 19:00 im Weiss=braeu statt

Hier nun die Wegbeschreibung:

Am Besten mit der Strassenbahn herfahren: Vom Hauptbahnhof aus mit den Linien
12, 16, 18 bis Barbarossaplatz fahren. Dort solltet ihr auf der linken Seite
ein blaeuliches Gebaeude mit viel Glas sehen. Schraeg versetzt dahinter seht
ihr einen Video/Computerspiele Markt (hat eine recht auffaellig bunte
Werbung). Genau da muesst ihr lang, und zwar nennt sich die Strasse Salierring
und die geht ihr auf der Linken Seite so ca. 100-200 Meter entlang. Dann
sollte links etwas zurueck gebaut ein etwas seltsam aussehendes rundes
Gebaeude auftauchen. Da seid ihr dann richtig ! Hinter dem Gebaeude reingehen
(es muss also links von euch sein) und immer grade aus. Nach etwa 50 Metern
lauft ihr direkt auf den Braukessel zu :-)

Fuer die Autofahrer:

Strassenbahn ist hier sehr ratsam, wer dennoch nicht auf das Auto verzichten
kann sollte am Uni-Center an der Luxemburgerstasse parken (Wegbeschreibung
dorthin gibts auf Anfrage per e-mail) und dort die Linie 18 oder 19 zum
Barbarossaplatz nehmen.

Es sind uebrigens Plaetze fuer uns reseviert, ob das auf der Terasse oder
draussen vorm Lokal sein wird konnte der Wirt nicht genau sagen, da schon sehr
viele Reservierungen vorliegen.

Fuer Koelner-Verhaeltnisse gibts da ein recht interessantes Bier zu trinken
;-) aber ich habe da heute auch Koelsch gesehen und zu essen gibts da auch
etwas.

Na hoffentlich habe ich damit keine Grundsatz Diskussion ausgeloest.

Also bis dann

Tangalur Feuertatze

----------------------------------------------------------------------- 

-----------------------------------------------------------------------------



Re: Re: Dortmund, Stammtisch, Freitag (Hibbelig, 28. Jul 1999, 22:59:25):
~#! rn=Ringor rt=933086935 rg=treffen
~#! tid=933086825
werd wohl auch mal wieder da sein, knurt dann wohl auch :)
hibbel

-----------------------------------------------------------------------------



Re^6: Dortmund, Stammtisch, Freitag (Caillean, 29. Jul 1999, 01:17:03):
~#! rn=Catweazle rt=933154600 rg=treffen
~#! tid=933086825
nee, is klar:)
hast dich aber net lang bitten lassen.

caillean

-----------------------------------------------------------------------------



Re: Re: SUGI HAT DURST  und       Photos !!!!! (Pfeife, 29. Jul 1999, 06:41:26):
~#! rn=Tangalur rt=933183626 rg=treffen
~#! tid=933151355
Ich wuerde verdammt gerne kommen, musste jetzt aber feststellen, dass ich mir
so kurz nach der Party die Bahnfahrt *grummel DB an* nicht mehr leisten kann.
Daher meine Bitte: Sollte noch jemand aus Aachen da hin wollen, und noch Platz
im Auto haben: Bitte sagt mir Bescheid.
Wenn ich komme habe ich uebrigens auch Bilder dabei :-)

Pfeife schaut sich suchend um.

-----------------------------------------------------------------------------



Stati in Leipzig (Unasai, 29. Jul 1999, 18:16:27):
Hallihallo Freunde des zukuenftigen Leipziger Stammtisches,
hiermit gebe ich den Termin bekannt. Da ich am 14.8. zur Silberhochzeit meines
Onkels dringend erforderlich bin und als Uebernachtungsmoeglichkeit fest
eingeplant wurde, muessen wir den Stati am 6.oder7.8. veranstalten....:) TUt
mir echt elid fuer die die nur am spaeteren Termin gekonnt haetten, aber lasst
euch gesagt sein, es war nicht der letzte! :) Leipziger Stati wird ab jetzt
regelmaessig stattfinden, wie oft und wann ueberlegen Hellfleck und ich uns
noch ueberlegen :) wir sagen aber rechtzeitig Bescheid...
So, wer ne Wegbeschreibung braucht, melde sich bitte per Mail bei mir oder bei
Hellfleck und wir zeigen euch dann schon wos langeht :) *kicher* also bis dann
ich freu mich und hoffe auf rege Teilnahme....Uebernachtungsmoeglichkeiten
sind auch vorhanden, aber bitte schlafsack o.ae. mitbringen :)
Una* :)

-----------------------------------------------------------------------------



args (Unasai, 29. Jul 1999, 18:17:19):
rechtschreibfehler ignorieren bitte :((( ich hab Semester hinter mir :(
Stilistik ade :)
Una*

-----------------------------------------------------------------------------



stati in berlin (Golas, 30. Jul 1999, 18:23:30):
is denn naechsten freitag stati?
golas

-----------------------------------------------------------------------------



Re: stati in berlin (Arancia, 30. Jul 1999, 19:27:02):
~#! rn=Golas rt=933351810 rg=treffen
~#! tid=933351810
wuerde mich auch interessieren, ich vergess das staendig.. aehm.. golas, wie
war das mit dem Babysitter? *g*

-----------------------------------------------------------------------------



Re: Jo, Darmstadt wieder mal ... (Bombarad, 30. Jul 1999, 21:30:58):
~#! rn=Ark rt=933102175 rg=treffen
~#! tid=933102175
Hi Ark,
Katzentante, Merian und Bombarad wrden kommen. Freitag, der 6.8. ist
wahrscheinlich gemeint. Was ist eigentlich mit anschliessendem Monsterschnden
gemeint? Bin auf alle Flle dabei!
Bombarad

-----------------------------------------------------------------------------



Re: Re: stati in berlin (Mahatmu, 30. Jul 1999, 21:43:35):
~#! rn=Arancia rt=933355622 rg=treffen
~#! tid=933351810
AFAIK ja. Mit hoher Whkeit sind Martini und Gloin auch mal wieder dabei.

Gloin

-----------------------------------------------------------------------------



stati in B (Gnome, 30. Jul 1999, 22:39:15):
hi,

wir lassen uns von den sachsen und anhaltern nicht ablenken und werden
nichtsdestotrotz uns am Fr., 6.8., im seeblick die birne zuschuetten!

das ganze geht los um 20.00h und ich erwarte ein ordnungsgemaesses
antreten von mind. 10 kaempfern und ein paar aus den andern gilden halt ;-)

gnOme

-----------------------------------------------------------------------------



Re: args (Sunflower, 31. Jul 1999, 10:58:19):
~#! rn=Unasai rt=933265039 rg=treffen
~#! tid=933265039
Also am 6.8 kann ich ned, da ich so ein wenig Munition bewachen darf.
Aber feiert mal schoen

Sunny (-1)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: stati in B (Grimman, 31. Jul 1999, 21:04:19):
~#! rn=Gnome rt=933367155 rg=treffen
~#! tid=933367155
Werde wohl mal wieder auftauchen

MBIMG , GrimMan 

-----------------------------------------------------------------------------



stati in Berlin (Buzzcut,  2. Aug 1999, 11:03:28):
Ist dann der September-StaTi auch am ersten Freitag des Monats ???

     Buzzi *auch mal wieder in "good old preussen" weilend*

-----------------------------------------------------------------------------



Re: Re: args (Novastorm,  2. Aug 1999, 13:07:05):
~#! rn=Sunflower rt=933411499 rg=treffen
~#! tid=933265039
 Achwas Sunny, bring das Zeuch einfach mit. ;)
Btw, das war keine Einladung! ;-)

  Nova 

-----------------------------------------------------------------------------



GRUENDUNGSSTAMMTISCH IN WERNE (Shakedbeer,  2. Aug 1999, 21:16:21):
~#! on=Shakedbeer ot=933620872 og=party
 -----------------------------------------------------------------------
|                                                                       |
| *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* |
|                                                                       |
| Hiermit geben wir Mudder aus Werne, das sind Shakedbeer, Drobanir,    |
| Topinambur, Qnyberth (der eigentlich in Nordkirchen wohnt) Zenka, und |
| Mash (Reihenfolge nach Magier-/Seher-/Spielerlevel) folgendes bekannt:|
|                                                                       |
| Am Freitag, den 13. August (Termin bewusst gewaehlt, damit das kein   |
| Reinfall wird, denn Freitag der 13. ist Topis Glueckstag) findet der  |
| offizielle                                                            |
|                                                                       |
|          G R U E N D U N G S S T A M M T I S C H   W E R N E          |
|                                                                       |
| statt. Da Topinambur Euch auf ihre Seherwerdung einladen moechte,     |
| treffen wir uns im Hause Dellwig (Garten) in der Koernerstr. 21 in    |
| 59368 Werne. Wegbeschreibungen gibt es bei Shakedbeer. Bitte meldet   |
| Euch nur vorher ebenfalls bei Shaky an, damit wir wissen, wieviel     |
| Essen gekocht werden soll und was an Getraenken herbeizuschaffen ist. |
|                                                                       |
| Hier nochmal die Details in Kuerze:                                   |
| Was?    Werner Gruendungsstammtisch                                   |
| Wo?     Koernerstr. 21, natuerlich in Werne! (Das liegt im Dreieck    |
|         von Dortmund, Muenster und Hamm.)                             |
| Wann?   Am Freitag, den 13. August ab 19:00 Uhr                       |
| Wieso?  Topinambur gibt einen auf ihre Seherwerdung aus               |
|                                                                       |
| Eure Mitmuddies aus Werne an der Lippe.                               |
|                                                                       |
|                                                                       |
|                      ______________         ______________            |
|                     |   Original   |       |   Original   |           |
|                     |Schuettelbier!|       |  __________  |           |
|           Dieses    |    ______    |       | |  _    _  | |           |
|          Ereignis   |   |//////|   |       | |_| |  | |_| |           |
|         wird Ihnen  |   |////  |   |  und  |     |  |     |           |
|        praesentiert |   |//    |   |       |    _|  |_    |           |
|            von:     |    |____|    |       |   |______|   |           |
|                      |_          _|        | Topischnaps! |           |
|                        |________|           \____________/            |
|                                                                       |
|                                                                       |
| *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* *ACHTUNG* |
|_______________________________________________________________________|


-----------------------------------------------------------------------------



Stammtisch in Leipzig (Catweazle,  3. Aug 1999, 13:38:56):
~#! on=Novastorm ot=933621932 og=party
Und damit wirds endgueltig offiziell.
Am Samstag, den 07.08.99 wird es nun geschehen.
Er wird (hoffentlich?) eine ganze Reihe von Stamm-
tischen beginnen und soll als Premiere einzigartig
werden.
Stattfinden wird er im "Lindenhof"
                       Mariannenstr. 79 .

Wegbeschreibung und Uebernachtungsmoeglichkeiten
koennen durchaus organisiert werden... in dem Fall
Mail an Unasai oder Hellfleck.
Die weiteren Stammtische werden dann wohl auf den 
jeweils ersten Freitag des Monats gelegt.
Treff ist (testweise) ab 19 Uhr in besagten Gast-
hof.
Ich hoffe man sieht sich! ;-)
  Nova

-----------------------------------------------------------------------------



Re: Stammtisch in Leipzig (Catweazle,  3. Aug 1999, 13:39:00):
~#! on=Sunflower ot=933622010 og=party
~#! rn=Novastorm rt=933621932 rg=party
~#! tid=933621932
Dann komm ich natuerlich,
natuerlich getarnt und so und ja nicht mich verhauen und nein
keine fragen warum ich nicht auf der party war...

Ich glaub jetzt sollte ich nochmal schnell pam anrufen ;)

Sunny (+1)
----
Manchmal kann ich in einem vertrauten Gesicht 
nichts weiter erkennen, als die Spuren
die der Tod darin hinterlassen wird.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Leipzig (Catweazle,  3. Aug 1999, 13:39:04):
~#! on=Matis ot=933625488 og=party
~#! rn=Sunflower rt=933622010 rg=party
~#! tid=933621932
Ich bin bis Sonntag zu einem Kurzurlaub an der Ostsee. Aber beim
2. Leipziger Stammtisch schau ich bestimmt rein.
Es bleibt also bei +1.

Matis

-----------------------------------------------------------------------------



Re^3: Stammtisch in Leipzig (Catweazle,  3. Aug 1999, 13:39:12):
~#! on=Rikus ot=933626244 og=party
~#! rn=Matis rt=933625488 rg=party
~#! tid=933621932
ich lass mich auch sehen, aber nicht diesmal, null zeit :( ich komm
einfach mal spontan vorbei, ob stati oder nicht :)

rikus

-----------------------------------------------------------------------------



Re: Stammtisch in Leipzig (Catweazle,  3. Aug 1999, 13:39:16):
~#! on=Unasai ot=933675494 og=party
~#! rn=Novastorm rt=933621932 rg=party
~#! tid=933621932
Nova, Nova, Nova,
wenn man seinen Goettergatten schon mal beauftragt :))
Also, 1.) Der Eroeffnungsstati findet statt am Samstag den 7.8. (das war
schonmal richtig :))
2.) Adresse stimmt zwar aber die Kneipe heisst "Luisenhof" :))*g*
Alle weiteren Satmmtische finden jeden zweiten Freitag im MOnat statt (mit
Ruecksichtnahme auf die "netten" Berliner) Wahlweise wenn sich mehr
Interessenten finden auch jeden zweiten Samstag im MOnat :)
So, des wars glaub ich :)
Bis jetzt sind wir 13, mal sehn obs noch mehr werden :) *kicher*
tschuessi Una*
++

-----------------------------------------------------------------------------



Stammtisch AC (Kamelot,  3. Aug 1999, 14:44:59):
Wie an jedem ersten Freitag im Monat findet auch diese Woche wieder der
Stammtisch in Aachen statt.
Wer lust hat kann so wie immer gegen 20:00 ins Chico Mendes kommen da werden
wir uns naemlich treffen.
Falls jemand nicht wissen sollte wo das ist dann geben Darkwing und ich gerne
naehere Auskunfte.
Mit nem Gruss
Kamelot
(Darkwing vertretend weil er keine Lust hat was in die MPA zu schreiben)

-----------------------------------------------------------------------------



Erinnerung ... oder Bestaetigung ... oder so (Ark,  3. Aug 1999, 22:31:11):
Aaaalso, ich moechte alle Interessierten an den Freitag erinnern, da halten
wir unseren Stammtisch im Darmstaedter Hotzenplotz ab. Zeit wie immer um 20.00
Uhr. Danach, wie angesagt, Monster schaenden. Fuer die, denen das zu heftig
ist, gibt es rosa Lutscher. Ab in die Heia :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Erinnerung ... oder Bestaetigung ... oder so (Anacrion,  3. Aug 1999, 22:33:12):
~#! rn=Ark rt=933712271 rg=treffen
~#! tid=933712271
Oki :)

Bin da

Anac* (+1)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  4. Aug 1999, 11:50:38):
Diesen Donnerstag findet der LETZTE Stammtisch im kleinen Meierhof in
Karlsruhe vor der Sommerpause statt. Also jetzt noch Plaetze buchen
oder mindestens 4 Wochen (oder so) warten. Die 4 Wochen muss man
natuerlich nur auf den kleinen Meierhof warten, ich bin sicher wir
einigen uns auf ein Ersatzlokal und treffen uns weiterhin JEDE Woche. :)
  Boing

-----------------------------------------------------------------------------



Stammti in Halle (Mieze,  4. Aug 1999, 14:53:49):

Hi Muddies,

damit sich die weite Reise in den Osten auch lohnt, machen wir in Halle am
Freitag um 19 Uhr in der Spaetschicht Stammti. Am Samstag ist Leipzig (den ihr
sowieso eingeplant habt). Meldungen wegen Uebernachtung bei mir.

Gruss Mieze - etwas in Zeitnot


-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Pardauz,  4. Aug 1999, 18:15:08):
~#! rn=Boing rt=933760238 rg=treffen
~#! tid=933760238
Ich wuesst schon nen Ersatz:
Wie waers mit dem Kaisergarten?
  Pardauz

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Hobo,  5. Aug 1999, 09:21:33):
~#! rn=Pardauz rt=933783308 rg=treffen
~#! tid=933760238
Poeh, Kaisergarten...
Ne, Kaisergarten ist schlecht. Zu gross, tu wenig regengeeignet (soll ja mal
vorkommen) und zu pampige Bedienung.

Lass uns das aber heut abend klaeren.

  Hobo

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Bambi,  5. Aug 1999, 12:18:25):
~#! rn=Boing rt=933760238 rg=treffen
~#! tid=933760238
ich kann heut ned...

-----------------------------------------------------------------------------



Re: Erinnerung ... oder Bestaetigung ... oder so (Gast1,  5. Aug 1999, 13:50:23):
~#! rn=Ark rt=933712271 rg=treffen
~#! tid=933712271
Jo, werde da sein! Niemals einen Stati in DA ohne mich :-) Hoffe auch auf
Prominenz von ausserhalb!
Bis Morgen!
*knuddels*
Press DEL to enter SETUP

-----------------------------------------------------------------------------



Re: Re: Erinnerung ... oder Bestaetigung ... oder so (Stoerti,  6. Aug 1999, 00:48:28):
~#! rn=Gast1 rt=933853823 rg=treffen
~#! tid=933712271
jo, wenn ich mal irgendwo ne wegbeschreibung bekommen taete, tu ich glatt auch
kommen!
irgendwie hab ich sogar ein inneres verlangen, zu kommen :-)

-----------------------------------------------------------------------------



Leipziger Stammtisch... (Novastorm,  8. Aug 1999, 14:15:06):
Sooo... jetzt also das erste Back up vom ersten Leipziger 
Stammtisch. Zuerst einmal compliments fuer Ortauswahl und
das kraeftige Ruehren der Werbetrommel von Seiten Unasai,
sowie das zahlreiche Erscheinen der Mudder aus fast ganz
Dunkeldeutschland und die Ausnahmen aus der lichteren Sei-
te der Insel. ;-)

Auf speziellen Wunsch; - ohne Zusammenhang eh am Besten -
folgen jetzt ein paar mehr oder weniger wichtige Erkennt-
nisse (vom Stati und vor allem *wichtig!!!* der darauf-
folgenden Nacht):

Mit laenglichen, zylinderfoermigen Gegenstaenden koennen
Frauen besser umgehen. *nichtmal soifz ;-)*

Sellerie und Spargel sind geil... schoen lang und duenn.

Kleriker kaempfen am besten ohne Ruestung... bestes Bsp.
nackt zu SATAN und das 'Bueck Dich' richtig einsetzen.

Wenn Unasai stapelt und formt, herrscht Stille.

Hobbits fusseln doch - extrem!!!

Golas' Brekkies schmecken nach Kleie.

------

Schlafrhytmus eines Oesis:
Ins Bett legen, _eine_ Minute schlafen, aufstehen,
'Guten Morgen' sagen,
'Guten Morgen' wiederholen,
'Guten Morgen' wuenschen.
Wuetende Blicke mit unglaeubigen Staunen bewerten.

Gehoert eigentlich in die Rubrik Traumpaar, aber da ich 
einmal dabei bin...

Golas putzt gerne Zaehne, am liebsten die von Gnome.

Schoko ist auch von Gnome's Bauchnabel geniessbar, 
laut Golas.

Fuer Gnome schmeckt Selters nur aus Golas' Mund.

Gnome's Zehen schmecken salzig aber geil. (wer der 'lek-
kende Part war, brauch ich glaub ich nicht nochmal er-
waehnen.)

Fazit: Wahre Liebe gibts auch/nur unter Maennern
(Gnome ist der passive Part und schluckt (alles?))

Gnome nackt ist pervers (btw, wo kommen die roten Strie-
men her? :-))) Guard nackt ist... nackt und... nass.

Cakey findet es toll, wenn das Luftbett 'Pssssst' macht.

Morgens, um 9 in Leipzig, wieso klingelt dieser f***
Wecker?

Wenn sich Zwerge unter der Bettdecke verstecken, sind
sie _nicht_ unsichtbar!

Auf die Frage: "Seit ihr satt geworden?" ist Schweigen
_nicht_ die richtige Antwort.

("Nein" im uebrigen auch nicht.)

------

Gut, bueschen lang, aba egal.

In froher Erwartung des naechsten Leipziger Stammti-
sches (lesen Sie eifrig die Ankuendigungen in dieser
Rubrik).

  Nova

-----------------------------------------------------------------------------



Re: Leipziger Stammtisch... (Golas,  8. Aug 1999, 15:10:10):
~#! rn=Novastorm rt=934121706 rg=treffen
~#! tid=934121706
also moment mal ...
ich muss da wohl was richtig stellen!
erstens waren das keine brekkies, sonder whiskas katzenkinder und die sind
wirklich furchtbar. zweitens schmecken brekkies allgemein sehr gut und
drittens schmecken diese komische kaese-rind-leckereien fuer zwischendurch
trotz ihres komischen geruchs fast wie eine mischung aus gummibaerchen und
lakritze ...

golas gnome anzwinkernd . o O (wollten wir das nicht geheim halten ;-)))))

-----------------------------------------------------------------------------



Re: Re: Leipziger Stammtisch... (Novastorm,  8. Aug 1999, 15:11:48):
~#! rn=Golas rt=934125010 rg=treffen
~#! tid=934121706
Args, voll korrrrekt.
Sorry ey, kommt nicht wieder vor.
  Nova

-----------------------------------------------------------------------------



Re: Re: Leipziger Stammtisch... (Cymonk,  8. Aug 1999, 15:13:00):
~#! rn=Golas rt=934125010 rg=treffen
~#! tid=934121706
breckies schmecken gut???? die sind schei*** salzig, werde nie verstehen,
warum die katzendinger die so verschlingen ...

mauz :)

-----------------------------------------------------------------------------



Re: Leipziger Stammtisch... (Trug,  8. Aug 1999, 17:15:54):
~#! rn=Novastorm rt=934121706 rg=treffen
~#! tid=934121706
Kleine Berichtigung in Sachen Schlafen: ich hab definitiv mehr als eine Stunde
geschlafen, aber das war auch eine Leistung. Insbesondere wenn man bedenkt,
dass man auf den Teppich im Schlafsack (hart) und die Nacht Lacrimosa rauf-
und runtergespielt wird :-)

Shannara^h^h^h^h^hTrug.

-----------------------------------------------------------------------------



Re^3: Leipziger Stammtisch... (Trug,  8. Aug 1999, 17:16:24):
~#! rn=Cymonk rt=934125180 rg=treffen
~#! tid=934121706
Kit(e)kat schmeckt auch doll gut :)

Trug 

-----------------------------------------------------------------------------



Re: Re: Leipziger Stammtisch... (Golas,  8. Aug 1999, 18:14:24):
~#! rn=Trug rt=934132554 rg=treffen
~#! tid=934121706
du weichei!!! ich hab auf dem nackten harten boden gepennt!!!
tja, sollte ich mal nach der gilde fragen ;)
golas

-----------------------------------------------------------------------------



Re^3: Leipziger Stammtisch... (Trug,  8. Aug 1999, 18:16:44):
~#! rn=Golas rt=934136064 rg=treffen
~#! tid=934121706
Felinen bevorzugen es, auf weichen, moeglichst kuscheligen Untergrund zu
pennen :)) 

Naja, hatte ich mehr oder weniger :)

Trug. grinst nur.


-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  8. Aug 1999, 18:18:45):
Nachdem der Wirt unseres Stammlokals fuer 4 Wochen in Griechenland
verweilt, werden wir uns an wechselhaften Orten vergnuegen. Fuer
Donnerstag den 12. August ist hier die Rote Taube in der Kriegsstrasse
vorgesehen. Wegbeschreibung gibts bei Croft@Unitopia.
Zeit wie ueblich 20 Uhr.
  Boing

PS: Fuer die Woche drauf ist Grillen geplant ... :)

-----------------------------------------------------------------------------



Re^4: Leipziger Stammtisch... (Mieze,  8. Aug 1999, 18:27:17):
~#! rn=Trug rt=934136204 rg=treffen
~#! tid=934121706

also ich hab weich gelegen - rechtzeitig anmelden sichert gute Schlafplaetze
:)


Mieze - hat wunderbar geschlafen :)


-----------------------------------------------------------------------------



Re^4: Leipziger Stammtisch... (Caillean,  9. Aug 1999, 02:50:30):
~#! rn=Trug rt=934132584 rg=treffen
~#! tid=934121706
ich moechte dann mal den aachener stammtisch empfehlen, da gabs broetchen und
betten:)))

caillean, sich nochmal bei kamelot und darkie bedankend

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Grimmborn,  9. Aug 1999, 15:59:16):
~#! rn=Boing rt=934136325 rg=treffen
~#! tid=934136325
Danke fuer die Warnung, dann kann ich ja sichere Wetten ueber das Ende der
Schoenwetterperiode abschliessen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Kompliment (Apollonia,  9. Aug 1999, 16:02:34):
Also, mir hat's extreeeeeeem gut gefallen!!!! Dunkeldeutschland ist doch
klasse!!!! Nochmals vielen Dank an Una*, die alles organisiert hat und
knuddelz an alle, die da waren :) Motto: Noooochmaaaaal!!!
Apo (selig grinsend)

-----------------------------------------------------------------------------



Ach ja... Frankfurt... (Apollonia,  9. Aug 1999, 16:04:02):
Hmmmm, mal ne allgemeine Frage, besteht Interesse an einem Stati in Frankfurt
am Main??? 
Eine spitzbuebisch grinsende und schon den Organisationsblock zueckende Apo*

-----------------------------------------------------------------------------



Jo, jeden zweiten Samstag (Unasai,  9. Aug 1999, 16:07:48):
danke an alle, denen der Leipziger Stati gefallen hat. Ich hoffe, dass es auch
weiterhin eine so rege Beteiligung geben wird :)
Aber wie gesagt, rechtzeitiges anmelden sichert gute Schlafplaetze :) Mieze,
Guard und Gnome koennen davon ein Liedchen singen *hehe*
Ausserdem, wem es bei mir nicht gefallen hat, konnte immer noch die Alernative
Bruecke waehlen :)))))))
....Stati in Leipzig ist ab jetzt immer jedes Zweite WE im Monat, Halle und
Leipzig werden sich abwechseln, Freitag Halle und Samstag Leipzig. Ich hoffe
der Termin passt nun den meisten :)
bis September..:)
Una*

-----------------------------------------------------------------------------



Re: Ach ja... Frankfurt... (Stoerti,  9. Aug 1999, 17:03:26):
~#! rn=Apollonia rt=934214642 rg=treffen
~#! tid=934214642
ja sicher tuts das, vor allem bei den ganzen wunderschoenen frauen, die hier
so aus frankfurt und naher umgebung kommen :-)))

-----------------------------------------------------------------------------



Re: Re: Ach ja... Frankfurt... (Streawkceur,  9. Aug 1999, 17:05:32):
~#! rn=Stoerti rt=934218206 rg=treffen
~#! tid=934214642
Stoerti, das ist ein M U D Treffen .... :-)

rr

-----------------------------------------------------------------------------



Re^3: Ach ja... Frankfurt... (Stoerti,  9. Aug 1999, 17:08:30):
~#! rn=Streawkceur rt=934218332 rg=treffen
~#! tid=934214642
ja sich is das ein MUD treffen. 
Ja und? Ich versteh nich ganz :-)

-----------------------------------------------------------------------------



Re: Ach ja... Frankfurt... (Ark,  9. Aug 1999, 18:08:52):
~#! rn=Apollonia rt=934214642 rg=treffen
~#! tid=934214642
Hmja, wende Dich doch vertrauensvoll an Del :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Aug 1999, 19:11:58):


Freitag isses wieder so weit::


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 13.8. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel



-----------------------------------------------------------------------------



Re: Jo, jeden zweiten Samstag (Rikus,  9. Aug 1999, 20:31:26):
~#! rn=Unasai rt=934214868 rg=treffen
~#! tid=934214868
jeden 2ten? da finde ich sicherlich auch mal zeit und melde mich schon
fuer ein obligatorisches bett an. wie war es, deines ist fuer felinen
und tiger? :-)


rikus

-----------------------------------------------------------------------------



Re: Re: Jo, jeden zweiten Samstag (Mieze, 10. Aug 1999, 06:28:36):
~#! rn=Rikus rt=934230686 rg=treffen
~#! tid=934214868

wenn ich Una Samstag nacht richtig verstanden habe, erfuellst Du eine winzige,
aber entscheidende Bedingung nicht -> P_GENDER, FEMALE :)
Aber frag ruhig nochmal bei Una nach.

Gruss Mieze

-----------------------------------------------------------------------------



Re^3: Jo, jeden zweiten Samstag (Rikus, 10. Aug 1999, 07:01:24):
~#! rn=Mieze rt=934266516 rg=treffen
~#! tid=934214868
oooch, das ist schnell gesetzt, allerdings nicht rl, was ich auch nicht
vorhabe :)

Rikus

-----------------------------------------------------------------------------



Re: Ach ja... Frankfurt... (Lou, 10. Aug 1999, 09:00:02):
~#! rn=Apollonia rt=934214642 rg=treffen
~#! tid=934214642

Klar.

Lou.


-----------------------------------------------------------------------------



GRUENDUNGSSTAMMTISCH WERNE inkl. Rudelmudden (Wegbeschreibung) (Shakedbeer, 10. Aug 1999, 11:02:22):
Hallo Stammtisch-Fans!

Hier die letzten Informationen fuer den 

     Werner Gruendungsstammtisch 
     am Freitag, den 13. 8. ab 19:00 Uhr.

Wir haben noch genug Platz fuer viele weitere Muddies. Hier deshalb noch ein
kleiner Vorgeschmack auf das was Euch erwartet. 

- Stammtisch in netter Gartenatmosphaere (In Kneipen kann das ja jeder)
- Sollte das Wetter doch schlecht sein, weichen wir ins Trockene aus.
- Gekuehlte Getraenke (das ist ja noch nix besonderes) und zwar KOSTENLOS!
  (schon besser, oder?)
- (Aber jetzt kommt das Highlight) Frischgebackenes STEINOFENBROT!
- Und natuerlich nette Leute (Special Guest aus Halle: Mieze) und jede Menge
  Spass.
- Fuer alle, die hier uebernachten wollen (Schlafsack u.ae. mitbringen) ist 
  am naechsten Tag RUDELMUDDEN angesagt. (ACHTUNG AUTOFAHRER! Moeglichst PCs 
  mitbringen. Evtl. noetige Netzwerkkarten sind vorhanden!)

Hier also die Wegbeschreibung zum Gruendungsstammtisch in Werne:

FUER ZUGFAHRER:
Einfach bis Werne a.d. Lippe HBF und vom Bahnsteig rechts den Bahnhof 
verlassen. Immer geradeaus laufen (Westen) die Strasse heisst 'Muensterfort'.
Man ueberquert den Goetheweg und folgt weiterhin dem 'Muensterfort'. Dann
biegt man die erste Moeglichkeit links ab und trifft nach einigen Metern 
auf die 'Selmer Strasse'. Hier wieder rechts (Westen) einige Meter gehen 
und nach links in die Lessingstrasse abbiegen. Dieser folgt man (Sueden) bis 
zum Platz (T-Stueck mit der 'Koernerstrasse') und betritt durch das weisse
Gartentor das Grundstueck mit dem Fahnenmast. (Folgt einfach dem Duft des 
Steinofenbrotes) Schon seid Ihr da. Diese Strecke schafft man in langsamem 
Tempo locker in 10 Minuten.

FUER AUTOFAHRER:
Moeglichst ueber die A1 kommen, da auf der B54 gebaut wird und man bei 
Luenen lange Wartezeiten in Kauf nehmen muss. Abfahrt 80 ('Werne Nord') ab-
fahren. Das ist die 2. Abfahrt noerdlich des Kamener Kreuzes. Dann weiter
Richtung Werne (Westen). Man trifft nach ein paar Kilometern auf die B54
('Muenster Str.') aus der anderen (freien) Richtung. Hier also links ab
Richtung Werne und an der ersten Ampel nach rechts auf die 'Penningrode'
abbiegen. Ueber die naechste Ampelkreuzung geradeaus. ACHTUNG! Hinter der 
Bahnbruecke ist eine Radarfalle!!! Danach auch die naechste Ampelkreuzung
(mit der Kirche auf der linken Seite) geradeaus passieren und sofort links 
in die 'Hermann-Loens-Str.' abbiegen. ACHTUNG! Tempo 30! Auch hier wird 
gerne geblitzt! Und nun die 2. Strasse rechts ('Lessingstrasse'). Hier
einfach bis zum Platz (T-Stueck mit der 'Koernerstr.') fahren und dort 
parken. Nun einfach durch das weisse Gartentor das Grundstueck mit dem 
Fahnenmast betreten. (Folgt einfach dem Duft des Steinofenbrotes.) 
Schon seid Ihr da. Diese Strecke ab der Abfahrt 80 (A1) schafft man je 
nach Ampelphase in 6-8 Minuten.

Wer sich verfaehrt oder nur bis Luenen mit dem Studentenausweis kommt, 
kann einfach unter 02389-530060 anrufen.

Also: Sofort bei Shakedbeer anmelden und schon kann es losgehen!

Eure Werner Muddies!

PS: Topi* stellt schon mal den Schnaps kalt. ;))

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig ?? (Jasonrigid, 10. Aug 1999, 14:15:04):

Hi Leute,

besteht von denjenigen Leuten, die sich hier auch ab und zu noch blicken
lassen, Interesse, einen Stammtisch zu veranstalten ??

Ich schlage spontan vor :

Freitag, 27.8.1999, 20.00 im 1/4 nach in BS

Kommen wuerden hoechstwahrscheinlich : Critter, Karic, Ingramosch und meine
Wenigkeit, sonst noch wer ??

Bis denne

Jason

-----------------------------------------------------------------------------



Stati in Frankfurt... (Lug, 10. Aug 1999, 19:42:24):
Aeh,

ja ist denn nun was? Zufaellig haetten Elora und meinereiner naemlich
naechstes WE, sich weiter bei Euch Hessendoedeln unbeliebt zu machen (ich
jedenfalls, nicht die liebreizende Elora)...

Hmpf
Lug

-----------------------------------------------------------------------------



Sugi hat Durst!! (schon wieder oder eher immer noch?) (Sugaan, 11. Aug 1999, 10:17:55):
Haiho haiho,
nach dem Erfolg des letzten "Sugi hat Durst - Treffens" versuche ich es doch
glatt nochmal mit diesem Aufruf zu einem Mudder-Treffen in Koeln!! Auf dem
letzen waren tatsaechlich auch einige Koelner anwesend und das Verhaeltnis
zwischen Koelnern und Nicht-Koelner war fast ausgeglichen - ich erinnere mich
da ein Treffen da stand es 8:2 fuer die Nicht-Koelner..
Da ich die Kneipe in der wir waren sehr gut fand wuerde ich gerne zumindest
dieses Treffen noch dort stattfinden lassen. Aber ich bin weiterhin bereit
andere Kneipen in Koeln kennenzulernen - nur muesst Ihr dann die
Wegbeschreibung hier veroeffentlichen.
Meine Terminvorschlaege waeren:
 Mi: 25.08
 Do: 26.08 oder
 Fr: 20.08 oder 27.08  danach laesst bereits der September gruessen.

Lasst es mich am besten ueber die MPA wissen wer Lust und wann Zeit hat und
organisiert Euch in Fahrgemeinschaften und kommt in Scharen!!

           Freue mich schon auf ein gutes Bier in netter Runde            
Sugaan

-----------------------------------------------------------------------------



Re: Sugi hat Durst!! (schon wieder oder eher immer noch?) (Bendeigid, 11. Aug 1999, 10:46:13):
~#! rn=Sugaan rt=934366675 rg=treffen
~#! tid=934366675
Bloss nicht wieder in diese Kneipe! Jede andere ist sicher besser und weniger
teuer als die!
Mal abgesehen davon war der Kellner/Koebes(?) absolut ueberfordert, der
Strassensitzplatz etwas... aetzend und auch sonst...

Bendeigid, fuer nen anderen Treffpunkt plaedierend, auch wenn er nicht weiss,
ob er kommt.

-----------------------------------------------------------------------------



Re: Re: Sugi hat Durst!! (schon wieder oder eher immer noch?) (Sugaan, 11. Aug 1999, 12:10:47):
~#! rn=Bendeigid rt=934368373 rg=treffen
~#! tid=934366675
Also das der Kellner ueberfordert war muss ich ja zugeben - auch dass man oben
auf der Terasse wahrscheinlich gemuetlicher gesessen haette - aber die Preise
fand ich echt in Ordnung.
Aber wie schon mehrfach erwaehnt - wenn Ihr eine andere besser Kneipe wisst,
dann macht Euch doch bitte die Muehe sie hier mit Namen, Adresse und
natuerlich mit Wegbeschreibung!!!!! zu nennen.  Ich als Nicht-Koelner muss
mich da auf Euch verlassen.
Hoffe dennoch oder gerade deshalb - bald mehr an dieser Stelle lesen zu
koennen.

Prost     -      Sugaan

-----------------------------------------------------------------------------



Re^3: Sugi hat Durst!! (schon wieder oder eher immer noch?) (Householder, 11. Aug 1999, 12:12:23):
~#! rn=Sugaan rt=934373447 rg=treffen
~#! tid=934366675
wie waers mit la croque ? 
HH (vielleicht auch mal wieder kommen koennend) 

-----------------------------------------------------------------------------



Re: Re: Jo, jeden zweiten Samstag (Gnome, 11. Aug 1999, 14:41:19):
~#! rn=Rikus rt=934230686 rg=treffen
~#! tid=934214868
hehe...
nein, rikus. fuer sabbernde, notstandshabende magier gibt es das gemein-
schafts-zelt im schiller-park; alternativ soll es bei der bahnhofsmission
auch noch schlafplaetze geben. >:)

gnOme

-----------------------------------------------------------------------------



Re^3: Jo, jeden zweiten Samstag (Rikus, 11. Aug 1999, 14:42:45):
~#! rn=Gnome rt=934382479 rg=treffen
~#! tid=934214868
nee, ich nehm dir doch keinen platz dort weg :)

rikus

-----------------------------------------------------------------------------



Re^4: Sugi hat Durst!! (schon wieder oder eher immer noch?) (Bendeigid, 11. Aug 1999, 14:47:54):
~#! rn=Householder rt=934373543 rg=treffen
~#! tid=934366675
Hat das la croque nicht dieses ekelgesoeff "Africola", wenn man da eine cola
bestellt? Ich hab zwar Geruechte gehoert, die taeten echte Coca-Cola rein,
wenn man eine grosse nimmt, aber das ist bisher ein unbestaetigtes Geruecht.
Ansonsten bin ich fuer das Crimson.

Z'par Servu,
          Bendeigid

P.S.: La Croque und Crimson befinden sich uebrrigens in angenehmer Naehe
zueinander auf der Zuelpicher Strasse.

-----------------------------------------------------------------------------



sonderstati in B (Gnome, 11. Aug 1999, 15:06:22):
hi,

aus gegebenem anlass moechte ich zu einem sonderstati in berlin einladen.
termin: Mi., 18.08.99, 20.00h, seeblick.
special guest: padreic.

gnOme

-----------------------------------------------------------------------------



Re: Re: Jo, jeden zweiten Samstag (Unasai, 11. Aug 1999, 15:55:38):
~#! rn=Rikus rt=934230686 rg=treffen
~#! tid=934214868
Na Hallo....mein Bett ist fuer Frauen gedacht, ich glaube nicht, dass Du
darunter gezaehlt werden moechtest Rikus :))))))))) Jo, jeden zweiten Samstag,
aber nicht alle 2 samstage, das ist ein Unterschied :))))
also, bis dann-dann
Una*
laechel

-----------------------------------------------------------------------------



Re^5: Sugi hat Durst!! (schon wieder oder eher immer noch?) (Householder, 11. Aug 1999, 16:44:05):
~#! rn=Bendeigid rt=934382874 rg=treffen
~#! tid=934366675
das ist ganz gleich ob du coca oder afri oder pepsi cola trinkst das ist alle
gesoeff der allauebelsten sochte, auch wenn man auf eine bestimmte
geschmacksrichtung "trainiert" ist .... 

-----------------------------------------------------------------------------



Re^3: Jo, jeden zweiten Samstag (Mieze, 12. Aug 1999, 07:29:02):
~#! rn=Gnome rt=934382479 rg=treffen
~#! tid=934214868

na dann, Gnome (auch, wenn Du kein Mag bist) :)

Mieze

-----------------------------------------------------------------------------



Re: sonderstati in B (Grimman, 12. Aug 1999, 13:31:34):
~#! rn=Gnome rt=934383982 rg=treffen
~#! tid=934383982
Hmmmm ... klingt gut, bin wohl mal wieder da ... 

MBIMG , GrimMan 

-----------------------------------------------------------------------------



Re: Stati in Frankfurt... (Ark, 12. Aug 1999, 17:30:08):
~#! rn=Lug rt=934314144 rg=treffen
~#! tid=934314144
Hach, das klingt nach einer Liebe zu den Hessen. Das muessen wir unbedingt
ausdiskutieren. Nachdem sich eine dreibuchstabige Frankfurterin *raeusper*
angedeutet hat, erst Ende September oder so in Aktion zu treten, werde ich
mich zu gegebener Zeit melden. By the by, Hessendoedels have the biggest
*meep* you can ask for. So, nachdem hiermit eine sachliche Diskussion
eroeffnet wurde, freue ich mich schon darauf, bald ein Treffen ankuendigen zu
duerfen, vielleicht so Anfang September, wenn das allen Hessendoedels und
ausserhessischen Schrumpf*meep*s recht ist :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stati in Frankfurt... (Elora, 12. Aug 1999, 21:33:10):
~#! rn=Ark rt=934479008 rg=treffen
~#! tid=934314144


Also was die Hessendoedels und die *meeps* angeht, kann ich bestaetigen, dass
es sich genau umgekehrt verhaelt.

Elora 


-----------------------------------------------------------------------------



Re^3: Stati in Frankfurt... (Ark, 12. Aug 1999, 21:54:08):
~#! rn=Elora rt=934493590 rg=treffen
~#! tid=934314144
*meep* = Dummheit


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Stati in Frankfurt... (Stoerti, 12. Aug 1999, 22:22:00):
~#! rn=Elora rt=934493590 rg=treffen
~#! tid=934314144
Hierzu moechte ich anmerken, dass ich lediglich voruebergehender Wahl-Hesse
bin, wobei ich mich nich mit den Bay^H^H^HHessen identifiziere.

-----------------------------------------------------------------------------



Re^4: Stati in Frankfurt... (Wurzel, 12. Aug 1999, 22:22:50):
~#! rn=Stoerti rt=934496520 rg=treffen
~#! tid=934314144
haette auch niemand von dir vermutet.

wurzel (hesse im exil)

-----------------------------------------------------------------------------



Spontanstati in Bonn (Liara, 13. Aug 1999, 01:10:21):
Da Darkwing heute (Freitag, 13. August) in Bonn sein wird, haben wir uns
entschlossen, abends ab 20 Uhr am alten Zoll mal nen spontanen Stati
abzuhalten.

Wir sind bis jetzt Darkwing, Spellfire und meine Wenigkeit (3), also
ueberwindet Euch und kommet in Scharen. :-)

Wer nicht weiss wo das ist, bitte Mail an mich, das bekommen wir schon
geregelt. Bin bis kurz vorher erreichbar.


Liara, Zwergenzauberine mit Fotos ;-) *koeder*


-----------------------------------------------------------------------------



Re: Ach ja... Frankfurt... (Teddy, 13. Aug 1999, 19:34:22):
~#! rn=Apollonia rt=934214642 rg=treffen
~#! tid=934214642
Wrenn man irgendwo pennen kann, klar.

Teddy, wird wieder mobil und wach. ;)

-----------------------------------------------------------------------------



Re^4: Ach ja... Frankfurt... (Teddy, 13. Aug 1999, 19:35:13):
~#! rn=Stoerti rt=934218510 rg=treffen
~#! tid=934214642
Im MUD gibts keine Frauen.

Teddy

-----------------------------------------------------------------------------



Re^5: Ach ja... Frankfurt... (Stoerti, 15. Aug 1999, 00:12:14):
~#! rn=Teddy rt=934572913 rg=treffen
~#! tid=934214642
Ach so, dann sacht das doch :-)

-----------------------------------------------------------------------------



Re: GRUENDUNGSSTAMMTISCH WERNE inkl. Rudelmudden (Wegbeschreibung) (Thufhir, 15. Aug 1999, 19:28:57):
~#! rn=Shakedbeer rt=934282942 rg=treffen
~#! tid=934282942
ein herzliches dankeschoen an alle werner, besonders shaky, topi, drobanir,
gast1 und alle die sonst noch mitgewirkt haben. ein absolut gelungener abend!

ein hoch vergnuegter zauberzwerch.

-----------------------------------------------------------------------------



Karlsruher Stammtisch (Hobo, 16. Aug 1999, 14:33:59):
~#! on=Hobo ot=934813968 og=party
Da unser Stammtisch-Grieche noch im Urlaub weilt (es sei ihm gegoennt!),
weichen wir diese Woche zwei Haeuser nach rechts aus:
  Stammtisch im Z10 in der (ach neee!) Zaehringer Strasse 10
Dieses Mal schon ab 19 Uhr, da wir dort im Hinterhof grillen wollen und dazu
den Grill erst mal anschmeissen muessen. Grillgut ist mitzubringen. Getraenke
gibt's zu Z10 Preisen (billiger als in jeder Kneipe) und fuer Schlechtwetter
steht auch ein Innenraum zur Verfuegung.

Auswaertige sollen sich bitte anmelden, damit wir die Salatmenge nach oben
anpassen koennen! :)

  Hobo

-----------------------------------------------------------------------------



Re: sonderstati in B (Novastorm, 16. Aug 1999, 15:33:37):
~#! rn=Gnome rt=934383982 rg=treffen
~#! tid=934383982
Okeee.... wenn so ein wichtiger Gast dabei ist.
Ich komm auch, samt einen weiteren special guest. >:)
  Nova

-----------------------------------------------------------------------------



Sonderstati :) (Unasai, 16. Aug 1999, 16:19:31):
Hallo Freunde des leipziger Stati..
auf speziellen Proes ich hiermit einen Sonderstati am 5.10. in Leipzig vor!
Zephyr und tryfan sind da naemlich rein zufaellig in der gegend und das muss
man ausnutzen :)
Also meldet euch falls ihr Zeit habt, ich hab wie immer Platz fuer euch, nicht
fuer alle, aber der rest kommt auch irgendwo unter
Una*

-----------------------------------------------------------------------------



Re: Oha... (Gnome, 16. Aug 1999, 16:22:47):
~#! rn=Unasai rt=934820483 rg=treffen
~#! tid=934820483
deine raechtschraibung wahr auch schohn mal baesser :)

gnOme

-----------------------------------------------------------------------------



oha... (Unasai, 16. Aug 1999, 16:22:57):
im vorigen Artikel sollte das heissen .....auf speziellen Prominentenwunsch
hin, schlage.....
jetzt aber :)
una*
nn

-----------------------------------------------------------------------------



Re: Re: Oha... (Unasai, 16. Aug 1999, 16:24:26):
~#! rn=Gnome rt=934820567 rg=treffen
~#! tid=934820483
*grummel* werd erst mal erwachsen und dann sprechen wir us wieder Gnome, Du
Aushilfsgeneral......
Una*

-----------------------------------------------------------------------------



Re: Sonderstati :) (Alboin, 17. Aug 1999, 07:55:07):
~#! rn=Unasai rt=934820371 rg=treffen
~#! tid=934820371
In der Hoffnung das Rikus auch hinfaehrt melde ich mich schon mal mit an und
in dem Falle brauche ich auch keinen Schlafplatz.

Alboin, der schon seit ueber 3 Jahren nicht mehr auf einem Stammtisch war

-----------------------------------------------------------------------------



Re: Re: Sonderstati :) (Rikus, 17. Aug 1999, 08:05:20):
~#! rn=Alboin rt=934876507 rg=treffen
~#! tid=934820371
naja, wenn ich hinfahre, dann sicherlich nicht nur wegen des abends, bin
ja kein colatrinker, der dann gleich wieder auto faehrt :) wenn, dann
wuerde ich schon mind. bis zum anderen abend bleiben.

rikus

-----------------------------------------------------------------------------



Schlafplaetze fuer Teilnehmer am Stammtisch in Frankfurt am Main (Apollonia, 18. Aug 1999, 08:11:02):
Also Jungs und Maedels, es sieht wohl so aus, als waere der Termin fuer den
Fraknfurter Stati der 08.10.  Fuer diejenigen, die kommen moechten, aber nicht
wissen, wo sie pennen sollen, gibt's Uebernachtungsmoeglichkeiten bei mir...
ist halt nicht direkt in Frankfurt, aber das sollte ja eigentlich kein
Hindernis sein...
Interessenten koennen sich per mail ins MG an mich schon mal nen Schlafplatz
reservieren, u. U. lass ich mich sogar breitschlagen, was zu kochen 
(allerdings auf eigenes Risiko, gell)...
Apollonia

-----------------------------------------------------------------------------



Re: Sonderstati :) (Mesirii, 18. Aug 1999, 10:36:24):
~#! rn=Unasai rt=934820371 rg=treffen
~#! tid=934820371
Wenn das so ist, bequeme ich mich auch mal von DD nach Leipzig.
Kartii freut sich schon auf den White Mole ,)
Und Mesi auf C4 zum Ragespielen

-----------------------------------------------------------------------------



Re: Re: Sonderstati :) (Unasai, 18. Aug 1999, 10:43:47):
~#! rn=Mesirii rt=934972584 rg=treffen
~#! tid=934820371
fein, schoen, dass der leipziger Stati so regen Zuspruch findet :)
Es waere nur sehr lieb, wenn ihr mir vorher mal mailt, ob ihr kommt oder nicht
:) zwecks Vorbereitung, Unterkunft und Kneipe organisieren :) (ich denke der
Luisenhof wird wohl Stammkneipe werden :))))))
Una*

-----------------------------------------------------------------------------



Stammtisch Nuernberg ?  (Marcus, 18. Aug 1999, 15:45:51):
Es war einmal, vor langer langer Zeit, in einer fernen Galaxis ... 

Naja, nicht ganz ... Nur in Erlangen ... 
Dieser war reichlich besucht, bis zum Ende 1997, als dann ein einsamer
schwarz gekleideter Gastmagier der einzige Besucher blieb und den Stammtisch
fuer beendet erklaerte.

Es ist 1999. Aus einem kleinem iCafe in Fuerth beginnt der Virus wieder zu 
grassieren, viel weniger sieht man Leute an Quake oder IRC sitzen , sondern
wieder mudden. Und noch dazu aus der Modemferne der Gastmagier und ein
Teufelchen ... 

Besteht denn Interesse an einem Nuernberg/Fuerth/Erlangener Mudstammtisch?

Bitte bei Devilchen oder mir melden :)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Hight, 18. Aug 1999, 15:53:27):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151
wie sollte es anders sein heromcfly und ich sind sehr dafuehr .o)


-----------------------------------------------------------------------------



Re: Re: GRUENDUNGSSTAMMTISCH WERNE inkl. Rudelmudden (Wegbeschreibung) (Mindblade, 18. Aug 1999, 16:18:56):
~#! rn=Thufhir rt=934745337 rg=treffen
~#! tid=934282942
Dem kann ich nur voll und ganz zustimmen! Ich hatte zwar am naechsten Morgen
leichte Bauchschmerzen (fuer die Wissenden: Hoover lebt!;)), aber es war
wirklich ein gelungener Abend!:))

Mind*

-----------------------------------------------------------------------------



Fotos (Rochus, 18. Aug 1999, 16:39:18):
Ich habe jetzt angefangen, auch Fotos anderer Mudder-Treffen
einzubinden, die ersten sind unter http://mg.mud.de/Party/Treffen/
zu besichtigen...

-----------------------------------------------------------------------------



Re: Re: Stammtisch Nuernberg ?  (Wurzel, 18. Aug 1999, 18:52:44):
~#! rn=Hight rt=934991607 rg=treffen
~#! tid=934991151
koennte mich breitschlagen lassen auch mal vorbeizuschauen. ist ja fast um
die ecke :)

wurzel

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Magenbrot, 18. Aug 1999, 21:05:24):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151

Magenbrot ist auch dabei! :-)

cu there

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Dieder, 18. Aug 1999, 21:08:52):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151
koennte durchaus mal sein, dass ich in der Gegend bin und Zeit haette... Muss
aber passen, also nicht zu frueh freuen/aergern :)

Dieder

-----------------------------------------------------------------------------



Re: Re: Stammtisch Nuernberg ?  (Karis, 18. Aug 1999, 23:20:31):
~#! rn=Hight rt=934991607 rg=treffen
~#! tid=934991151
Na, nachdem in Muenchen zur Zeit nix is mit Stati ... 
Kann man bei Dir mitfahren, wurzel?

Karis

-----------------------------------------------------------------------------



Re^3: GRUENDUNGSSTAMMTISCH WERNE inkl. Rudelmudden (Wegbeschreibung) (Morgoth, 19. Aug 1999, 05:40:19):
~#! rn=Mindblade rt=934993136 rg=treffen
~#! tid=934282942
*BRUELL* *waelz*
Waaaaaaahhhhhh, bitte nich hoovern. Ich krich keine luft mehr...


-----------------------------------------------------------------------------



spirill hat auch durst! (Spirill, 19. Aug 1999, 16:27:03):
Was ist denn nun, gibts mal nen Termin??? Ich koennte bestimmt Menace
mitschleppen...
Das Weissbraeu finde ich im uebrigen Klasse, aber da bin ich ganz flexibel:
zwar gibts sonst nirgends leckeres Schwarzbier in Koeln, aber leckeres Koelsch
gibts ja (fast) ueberall...
Erwartungsvoll
Spirill

-----------------------------------------------------------------------------



Re^3: Stammtisch Nuernberg ?  (Wurzel, 19. Aug 1999, 17:43:46):
~#! rn=Karis rt=935018431 rg=treffen
~#! tid=934991151
sollte sich wohl arrangieren lassen, denke ich. wenn wir noch mehr werden,
gibts halt einen konvoi :)
aeh, gips eigentlich n termin?

wurzel

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Stoerti, 19. Aug 1999, 17:53:31):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151
wenn devilchen kommt, komm ich auch ;-)

stoerti

(ich meine natuerlich zum stammtisch!)

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Trug, 19. Aug 1999, 17:56:13):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151
Also, Nuernberg ist nicht allzuweit entfernt von mir, und so war ich auch
schon oefters dort ("gezwungenermassen").

Wenn der Termin guenstig ist (wegen Geld), dann werde ich wohl auch
vorbeischauen, aber ich wuerde eine Schlafgelegenheit brauchen.

Trug.

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ?  (Del, 19. Aug 1999, 19:44:19):
~#! rn=Marcus rt=934991151 rg=treffen
~#! tid=934991151
Da Nbg ja meine Zweitheimat ist und ich sowie oefters dort bin, erhaelt der
Nuernberger Stammtisch meine Stimme! DAFUER! :-) Termin wenn moeglich an einem
We, dann koennte ich ziemlich sicher mal wieder einen Abstecher ins Laendle
machen.

-----------------------------------------------------------------------------



Re: Schlafplaetze fuer Teilnehmer am Stammtisch in Frankfurt am Main (Del, 19. Aug 1999, 19:54:13):
~#! rn=Apollonia rt=934963862 rg=treffen
~#! tid=934963862
Coooll DU kochst!?! Hm darf ich dann auch kommen, obwohl ich hier heimisch
bin...? *griiins*

-----------------------------------------------------------------------------



Re: Re: Schlafplaetze fuer Teilnehmer am Stammtisch in Frankfurt am Main (Apollonia, 20. Aug 1999, 12:15:40):
~#! rn=Del rt=935092453 rg=treffen
~#! tid=934963862
Klar :))))) *schon mal nach dem grossen Chilitopf suchen*
Apo* (in Rezepten wuehlend)

-----------------------------------------------------------------------------



Reisender sucht Stammtisch ... (Kobayashi, 20. Aug 1999, 13:38:43):
Halloele,

ich bin vom 29.8 bis zum 2.9. in der Naehe von Muenchen (Taufkirchen).
Wenn es in dieser Zeit einen Stimmtisch gibt, wuerde ich ggf. mal
vorbeischauen ...

Kobayashi

-----------------------------------------------------------------------------



S U G I hat D U R S T (Tangalur, 20. Aug 1999, 14:56:11):
-----------------------------------------------------------------------
SUGI hat Durst ! (schon wieder !) 

Am Donnerstag, dem 26.08. um 19:00 im Weiss=braeu 

-----------------------------------------------------------------------

Hier nun die Wegbeschreibung:

Am Besten mit der Strassenbahn herfahren: Vom Hauptbahnhof aus mit den
Linien 12, 16, 18 bis Barbarossaplatz fahren. Dort solltet ihr auf der
linken Seite ein blaeuliches Gebaeude mit viel Glas sehen. Schraeg versetzt
dahinter seht ihr einen Video/Computerspiele Markt (hat eine recht
auffaellig bunte Werbung). Genau da muesst ihr lang, und zwar nennt sich
die Strasse Salierring und die geht ihr auf der Linken Seite so ca. 100-200
Meter entlang. Dann sollte links etwas zurueck gebaut ein etwas seltsam
aussehendes rundes Gebaeude auftauchen. Da seid ihr dann richtig ! Hinter
dem Gebaeude reingehen (es muss also links von euch sein) und immer grade
aus. Nach etwa 50 Metern lauft ihr direkt auf den Braukessel zu :-)

Fuer die Autofahrer:

Strassenbahn ist hier sehr ratsam, wer dennoch nicht auf das Auto
verzichten kann sollte am Uni-Center an der Luxemburgerstasse parken
(Wegbeschreibung dorthin gibts auf Anfrage per e-mail) und dort die Linie
18 oder 19 zum Barbarossaplatz nehmen.

Also bis dann

Tangalur Feuertatze

---------------------------------------------------------------------------

-----------------------------------------------------------------------------



Re^3: Stammtisch Nuernberg ?  (Teddy, 20. Aug 1999, 17:05:57):
~#! rn=Karis rt=935018431 rg=treffen
~#! tid=934991151
Wieso is nix mit Stati in M*?
Ich bin wieder mal da!!!

Teddy.

-----------------------------------------------------------------------------



Re^4: Stammtisch Nuernberg ?  (Rochus, 20. Aug 1999, 17:06:17):
~#! rn=Teddy rt=935168757 rg=treffen
~#! tid=934991151
Gerade deswegen wohl ;-)

-----------------------------------------------------------------------------



Re: Schlafplaetze fuer Teilnehmer am Stammtisch in Frankfurt am Main (Teddy, 20. Aug 1999, 17:07:37):
~#! rn=Apollonia rt=934963862 rg=treffen
~#! tid=934963862
Also sofern ich dann in Deutschland weile, komm ich nach DER Einladung
selbstverstaendlich. ;-)

Teddy.

-----------------------------------------------------------------------------



Re: Reisender sucht Stammtisch ... (Wurzel, 20. Aug 1999, 23:21:56):
~#! rn=Kobayashi rt=935156323 rg=treffen
~#! tid=935156323
wird wohl einen geben, naechsten freitag schon mal vormerken.
naeheres wie immer von reaper :)

wurzel

-----------------------------------------------------------------------------



Stammtisch Nuernberg ... Teil 2 (Marcus, 21. Aug 1999, 19:19:33):
Hi folks!

Nachdem ausreichend Leute Interesse an Devilchen, err, am Stammtisch Nuernberg
gezeigt haben ... fehlt uns jetzt noch der Ort und die Zeit ... Vor allem
der Ort. Irgendwo in Fuerth/Nuernberg, einigermassen leicht zu erreichen,
mit nicht allzulauter Musik zum Unterhalten, einigermassen gutem und
guenstigem
Essen ... und ohne Internet ;) Sprich das Maze faellt aus ;)

Wer Ideen und oder Terminvorschlaege hat ... melde sich bitte :)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ... Teil 2 (Stoerti, 21. Aug 1999, 19:57:31):
~#! rn=Marcus rt=935263173 rg=treffen
~#! tid=935263173
also donnerstags kaem gut.
(dann kann ich uebernachten und freitags direkt weiter zum skifah'n :-))))



-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ... Teil 2 (Del, 21. Aug 1999, 22:30:33):
~#! rn=Marcus rt=935263173 rg=treffen
~#! tid=935263173
Ich schlage hiermit Freitag den 10.09. oder Samstag den 11.09. vor, da ich zu
dieser Zeit sowieso in Nbg bin! Wie waers mit ner netten Kneipe directly in
Nbg? Bei schoenem Wetter in nem gemuetlichen Biergarten vielleicht...
Del, die sich schon auf ihre Zwitheimat freut!

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ... Teil 2 (Karis, 21. Aug 1999, 22:32:03):
~#! rn=Marcus rt=935263173 rg=treffen
~#! tid=935263173
Ja! Genau! Freitag 10.9. is ausgezeichnet! Samstag is nich ganz so gut ...

Karis

-----------------------------------------------------------------------------



Re: Re: Reisender sucht Stammtisch ... (Fondor, 22. Aug 1999, 11:19:05):
~#! rn=Wurzel rt=935191316 rg=treffen
~#! tid=935156323
Da isser aber noch nich da ;)

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ... Teil 2 (Hight, 22. Aug 1999, 13:35:38):
~#! rn=Marcus rt=935263173 rg=treffen
~#! tid=935263173
maze faellt eh flach wel :

1. musik zu laut

2. essen is nur fertigfrass und schmeckt auch so 

3. da gibts internet

4.
nerja faellt mir nix abwertendes mehr ein im moment ... abba wie waehrs mit
gallerie die hat lange auf und is net laut essen sollte man da lassen weils
einen sonst zerreisst *g* 

hight

-----------------------------------------------------------------------------



Re: Re: Stammtisch Nuernberg ... Teil 2 (Stoerti, 22. Aug 1999, 14:57:44):
~#! rn=Hight rt=935328938 rg=treffen
~#! tid=935263173
uebersetze bitte 'zerreisst'
das is jetz ziemlich vieldeutig :-)

-----------------------------------------------------------------------------



Re^3: Stammtisch Nuernberg ... Teil 2 (Hight, 22. Aug 1999, 15:31:33):
~#! rn=Stoerti rt=935333864 rg=treffen
~#! tid=935263173
in diesem fall mein ich das man platzt weil man bei net bestellung von nem
schnitzel ne halbe gebratene sau bekommt .... ich kann mich noch wunderbar an
das letze mal erinnern .... ich kann viel fressen wenn ich hunger hab abba
nach den schnitzeln ( man kircht 2 die jeweils so gross sind wie meine fuesse
"schuhgroesse 49" und pommes)

-----------------------------------------------------------------------------



Re^5: Leipziger Stammtisch... (Magenbrot, 22. Aug 1999, 19:30:04):
~#! rn=Mieze rt=934136837 rg=treffen
~#! tid=934121706

hm, solang die Schnitzel nicht so schmecken wie Deine Fuesse, klingt das schon
nicht schlecht. (nicht dass ich Hight's Fuesse probiert haette oder das jemals
tun werde)

Magenbrot


-----------------------------------------------------------------------------



Re^4: Stammtisch Nuernberg ... Teil 2 (Stoerti, 22. Aug 1999, 19:30:56):
~#! rn=Hight rt=935335893 rg=treffen
~#! tid=935263173
jaaaa, dann taet ich sagen, machen wir den stati genau dort :-))))

stoerti (sich an muenchen erinnernd, wo man die pommes suchen musste, weil das
schnitzel einen (grossen!) teller komplett bedeckte :-))))

-----------------------------------------------------------------------------



Re^5: Stammtisch Nuernberg ... Teil 2 (Hight, 22. Aug 1999, 19:39:16):
~#! rn=Stoerti rt=935350256 rg=treffen
~#! tid=935263173
nerja war nur n vorschlag ... und ob meine fuesse schmecken wie die schnitzel
weiss ich net ich bin zu massig und ungelenkig um die zu probieren .o)

-----------------------------------------------------------------------------



StaTi in Muenchen (Branwen, 23. Aug 1999, 11:52:23):
Hallo Ihr Muenchner, Wahl-Muencher und Besucher ;)

Wie waere es mit einenm Stammtisch am Freitag, dem 03.September um 19.30?

Lokalitaet waere dann wieder Milbertshofen, weil ich mit dem kind doch ein
klein bisschen unflexibel bin...

Vorschlag: China-Restaurant Pham in der Georgenschweigstrae 25.

Anmeldung und Wegbeschreibung wieder wie immer unter

www.dmsp.com/service/mg

Schlafplatzsuchende melden sich bitte rechtzeitig bei Reaper oder mir... bei
uns ist wie immer Platz ;)

Branwen,
auf rege Teilnahme hoffend.


-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Wurzel, 23. Aug 1999, 17:16:28):
~#! rn=Branwen rt=935409143 rg=treffen
~#! tid=935409143
ist notiert, passt.

wurzel

-----------------------------------------------------------------------------



Re^3: Sonderstati :) (Mieze, 23. Aug 1999, 18:13:54):
~#! rn=Unasai rt=934973027 rg=treffen
~#! tid=934820371

ja, der Luisenhof ist nett (wenn die Kellnerin nur nicht wieder meine Augen
beleidigt)  :))

Gruss Mieze (ist beim Sonderstammti leider in Paris und schaut sich
irgendwelche wichtigen (???) musikwissenschaftlichen Quellen an)


-----------------------------------------------------------------------------



stammtisch nbg (Hight, 23. Aug 1999, 18:46:11):
oehm ich wollte mal erwaehnen das hier von 27.8 bis 12.9 volksfest is ... wenn
das datum passt koennte man erst da hin und dann hinterher woanders hin wobei
ich galerie immernoch fuer ne gute idee halte .o)

Hight

-----------------------------------------------------------------------------



Re: stammtisch nbg (Stoerti, 23. Aug 1999, 18:47:55):
~#! rn=Hight rt=935433971 rg=treffen
~#! tid=935433971
hauptsache dat gibt was zum essen, der rest is egal.
naja, und wenn man nich soviel laufen muss, das waere dann auch noch gut :-)

-----------------------------------------------------------------------------



Re: Re: stammtisch nbg (Heromcfly, 23. Aug 1999, 18:48:55):
~#! rn=Stoerti rt=935434075 rg=treffen
~#! tid=935433971
fuer hight besteht das volksfest eh nur aus rockzeot und bierkruegestemmen :-P
oder so

-----------------------------------------------------------------------------



Re: stammtisch nbg (Del, 23. Aug 1999, 18:50:42):
~#! rn=Hight rt=935433971 rg=treffen
~#! tid=935433971
Ein Nuernberger Volksfest ohne mich??? DAS GEHT NICHT! Auf gehts!
Del, die immer noch auf Reaktionen bezueglich des 10./11.09. wartet...

-----------------------------------------------------------------------------



Re^3: stammtisch nbg (Stoerti, 23. Aug 1999, 18:51:04):
~#! rn=Heromcfly rt=935434135 rg=treffen
~#! tid=935433971
was bitte ist 'rockzoet'?

und bierkruegestemmen is mir egal,hauptsache gei^H^H^Hnette Wei^H^H^HMaedels
sind da :-)

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Fondor, 23. Aug 1999, 18:51:38):
~#! rn=Branwen rt=935409143 rg=treffen
~#! tid=935409143
Bin da, wie immer.
Kommet zahlreich! :)

-----------------------------------------------------------------------------



stammtisch nbg (Devilchen, 23. Aug 1999, 18:52:54):
also wenn wir echt volksfest wollen, dann ist der 10./11. eh der
letztmoegliche termin, weil das volksfest am 12. ende ist....ich waer fuer den
10. weil da glaub ich mehr koennen, was ich mitbekommen hab....
Dev*, der es eigentlich egal ist, wann wie wo was:)

-----------------------------------------------------------------------------



Re: stammtisch nbg (Wurzel, 23. Aug 1999, 18:55:48):
~#! rn=Devilchen rt=935434374 rg=treffen
~#! tid=935434374
10. ist okay, da koennte ich... gips auch ne wegbeschreibung? die autobahn-
ausfahrt finde ich noch alleine, aber danach wird es finster :)

wurzel

-----------------------------------------------------------------------------



Re: Re: stammtisch nbg (Devilchen, 23. Aug 1999, 19:02:11):
~#! rn=Wurzel rt=935434548 rg=treffen
~#! tid=935434374
also sobald feststeht wo wir uns treffen (volksfest koennte als treffpunkt
recht unuebersichtlich sein;) ) gibts ne genaue wegbeschreibung...
hight oder heromcfly sind bestimmt ulramotiviert, da was ins netz zu
setzen...ich kennse doch;) *grinsbreit*
Dev*, sich schon mal duckend

-----------------------------------------------------------------------------



Re^3: stammtisch nbg (Heromcfly, 23. Aug 1999, 19:04:32):
~#! rn=Devilchen rt=935434931 rg=treffen
~#! tid=935434374
ja klar is krass leicht ey faehrst du autobahn bis da schild wo steht
nuernberg da nimmst du erstbeste geteerte moeflichkeit wo gehen rechts ab und
du seinen nuernberg ganz easy wa 

aehmm sorry :)
iss mit mir durchgegangen

-----------------------------------------------------------------------------



Re^4: stammtisch nbg (Marcus, 23. Aug 1999, 21:06:40):
~#! rn=Heromcfly rt=935435072 rg=treffen
~#! tid=935434374
Naja, 10 ... Mal schauen, wann ich da vom Kongress zurueckbin, aber ich denk
schon, das ich es schaffen werde ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^5: stammtisch nbg (Heromcfly, 23. Aug 1999, 22:26:48):
~#! rn=Marcus rt=935442400 rg=treffen
~#! tid=935434374
naja am anfang hiesses noch auf keinen fall 10.oder 11. aber das ganze hat
dann eine gewissen eigendynamick entwickelt 

irgendwie :)

-----------------------------------------------------------------------------



Re^6: stammtisch nbg (Novastorm, 24. Aug 1999, 10:03:28):
~#! rn=Heromcfly rt=935447208 rg=treffen
~#! tid=935434374
Tja, nehm mal an, dass meine Wenigkeit auch dort erscheinen wird.
Nur wegen dem Volksfest versteht sich.
  Nova

-----------------------------------------------------------------------------



Re^3: stammtisch nbg (Hight, 24. Aug 1999, 12:53:11):
~#! rn=Heromcfly rt=935434135 rg=treffen
~#! tid=935433971
verraeter
 

-----------------------------------------------------------------------------



Re^3: stammtisch nbg (Hight, 24. Aug 1999, 12:56:29):
~#! rn=Devilchen rt=935434931 rg=treffen
~#! tid=935434374
hmmmmmmmm danke du nuss *g* nur weil du zu faul bist deinen blonden kopf
anzustrengen muessen wir unseren hohlraum bemuehen *prost*

nerja schlag mal den bahnhof vor ... soll ja leute geben die die oefis
benutzen (wie ich .o)) 
statements ?!

-----------------------------------------------------------------------------



Erinnerung (Ringor, 24. Aug 1999, 18:56:32):
Es traf mich aus heiterem Himmel.

Urploetzlich, unvorbereitet und vollkommen unvorhergesehen ueberkam mich die
Erkenntnis: dieser Freitag, der 27. Tag im Monat August, ist tatsaechlich der 

                          letzte Freitag im Monat!

Ringor prophezeit: von diesem Tag wird man sich noch lange erzaehlen.

-----------------------------------------------------------------------------



Re: Erinnerung (Streawkceur, 24. Aug 1999, 19:11:44):
~#! rn=Ringor rt=935520992 rg=treffen
~#! tid=935520992
Hmja vermutlich so Erzaehlungen wie: Bei diesem Stati waren wieder besonders
wenig Leute da. Oder so. Aber noch ist nicht aller Freitage Abend....

rr
P.S.: (2)

-----------------------------------------------------------------------------



Re: Re: Erinnerung (Rochus, 25. Aug 1999, 12:54:08):
~#! rn=Streawkceur rt=935521904 rg=treffen
~#! tid=935520992
Hmm, wenige werden es nicht sein,
wenn ich das richtig verstanden habe hat Ringor
auch Pfeife dazu ueberreden koennen zum Stati zu kommen :)
Also (3) und (4).

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig (Jasonrigid, 25. Aug 1999, 14:11:00):

Also, auch auf die Gefahr hin, dass es keinen interesssiert *kicher* :

Stammtisch am Freitag, den 27.8.1999, 20.00 Uhr im AUDIMIN (<- NICHT 1/4 nach)

Bisher sind angemeldet : Critter, Ingramosch, Gavriel, Rayzeel, Festin,
Qitess, Karic und meine Wenigkeit

Wer noch will, mail an mich

Jason

-----------------------------------------------------------------------------



Re^3: Erinnerung (Paracelsus, 25. Aug 1999, 14:19:30):
~#! rn=Rochus rt=935585648 rg=treffen
~#! tid=935520992
Nun, ich denke ich werde auch da sein.

Para* (5)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Hobo, 25. Aug 1999, 15:01:51):
Diese Woche (immer noch wegen Ferien des Standard-Stammtisch-Betreibers) ist
Stammtisch beim Iren: Treacy's Pub an der Durlacher Allee (direkt gegenueber
vom Strassenbahndepot, Haltestelle Tullastrasse).

Wie immer ab 20 Uhr

  Hobo

-----------------------------------------------------------------------------



Re^4: Erinnerung (Hibbelig, 25. Aug 1999, 19:45:57):
~#! rn=Paracelsus rt=935590770 rg=treffen
~#! tid=935520992
werd auch mal wieder da sein, aber leider ohne knurt
hibbelig

-----------------------------------------------------------------------------



Re^5: Erinnerung (Kartoffel, 25. Aug 1999, 19:55:09):
~#! rn=Hibbelig rt=935610357 rg=treffen
~#! tid=935520992

Diesmal wieder dabei, 

'Toffel (aeh viele, oder sind wir schon bei mehr viele?)

-----------------------------------------------------------------------------



Re^5: Erinnerung (Gorog, 25. Aug 1999, 19:55:45):
~#! rn=Hibbelig rt=935610357 rg=treffen
~#! tid=935520992
Ich werd mich dann mal Knurt anschliessen und nicht erscheinen, hab Euch alle
doch noch in Werne gesehn (;

Gorog haengt sich an ein Netzwerk und baller diverse Bots und Bekannte weg
*grins fies*

-----------------------------------------------------------------------------



Stati Duesseldorf (Schleicher, 26. Aug 1999, 21:23:02):
Moin moin,
aus aktuellem Anlass laden Jenandra und ich fuer den naechsten Duesseldorfer
Stammtisch mal nicht ins Tigges sondern in unser neues Buero.
Ruddelmudden ist in diesem Zusammenhang nicht ausgeschlossen. Aktuelle
Informationen ueber Ort, Zeit und Anwesende findet Ihr unter:
www.above-multimedia.de/stati.html
Kommet in Scharen und bringet reichlich Bier mit :-)
Bis denn dann Jenandra & Schleicher

-----------------------------------------------------------------------------



Re^5: Erinnerung (Knurt, 26. Aug 1999, 21:27:20):
~#! rn=Hibbelig rt=935610357 rg=treffen
~#! tid=935520992
wie ich komme nicht?
klar komm ich, aber spaeter.
Knurt

-----------------------------------------------------------------------------



Re: Stati Duesseldorf (Rani, 26. Aug 1999, 21:30:12):
~#! rn=Schleicher rt=935702582 rg=treffen
~#! tid=935702582
aeh, wer eben schon auf die seite gekuckt hat, nochmal reload ... hat sich
noch was geaendert ;-)

Jenandras Kurze :-)

-----------------------------------------------------------------------------



Re^6: Erinnerung (Leibniz, 26. Aug 1999, 22:17:09):
~#! rn=Knurt rt=935702840 rg=treffen
~#! tid=935520992
bevor fuer mich der ernst des lebens wirklich beginnt, komm ich auch nochmal.

leibi

-----------------------------------------------------------------------------



Re: Stati Duesseldorf (Rani, 26. Aug 1999, 23:51:03):
~#! rn=Schleicher rt=935702582 rg=treffen
~#! tid=935702582
ach ja ... der stati is uebrigens am 10.9. :-)

die Kurze.

-----------------------------------------------------------------------------



Re^7: Erinnerung (Morgoth, 27. Aug 1999, 09:06:00):
~#! rn=Leibniz rt=935705829 rg=treffen
~#! tid=935520992
Jups, ich bin auch da. Leider ohne Frau, die zieht sich son bloedes Sommerfest
rein ;-(

M*

-----------------------------------------------------------------------------



Re^7: Erinnerung (Pampers, 27. Aug 1999, 12:01:00):
~#! rn=Leibniz rt=935705829 rg=treffen
~#! tid=935520992
Nana. So schlimm ist es nun auch wieder nicht. Ist zwar schoen, dass Du
kommst, aber wieso meinst Du, beim Arbeiten sei das alles vorbei? Ich arbeite
auch und krieg trotzdem noch einen hoch. Mit Muehe, zugegeben, aber immerhin. 

Pampers. Immer bereit zur Hilfe in allen Lebenslagen. Oben, unten oder auch
mal hinten. Ganz nach Wunsch.

-----------------------------------------------------------------------------



Stammtisch Nuernberg ...  (Marcus, 28. Aug 1999, 13:38:40):
Hi,

Nachdem wir uns jetzt geeinigt haben auf:
- Wo? Die Galerie in Fuerth.
- Wann? 10.9. 1999 (Freitag)

Fehlt noch:
- Wann wollen wir anfangen? Wir koennten vereinbaren um 19? 20? Uhr uns 
in der Galerie zu treffen. 
Was machen wir mit dem Volksfest? Vor oder Nach dem Essen? 

Wer kommt alles, damit ein Tisch reserviert werden kann?
[Derzeit: Devilchen,Marcus,Nova,HighT,HeroMcFly,Karis,Wurzel] wer noch?

Fragen ueber Fragen ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ...  (Devilchen, 28. Aug 1999, 14:21:41):
~#! rn=Marcus rt=935847520 rg=treffen
~#! tid=935847520
nur um kurz was richtig zu stellen...die galerie ist nicht in fuerth, die ist
in nuernberg....
Dev*

-----------------------------------------------------------------------------



Neues aus Bonn (Zephyr, 29. Aug 1999, 11:54:15):
Hi Ihrs!

Da es sich abzeichnet, dass in naechster Zeit die Stammtische
in Bonn wieder aufleben, moechte ich auf die Bonner Morgen-
grauen-Mailingliste aufmerksam machen. Wer daran interessiert
ist, sich in diese Liste aufnehmen zu lassen, moege mir eine
mail mit seiner emailadresse schicken.

Gruss und *knuddels*

                  Zephyr

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ...  (Hight, 29. Aug 1999, 13:40:17):
~#! rn=Marcus rt=935847520 rg=treffen
~#! tid=935847520
die galerie is in nuernberg an der rockfabrik .o)

-----------------------------------------------------------------------------



Re: Stati Duesseldorf (Schleicher, 29. Aug 1999, 20:43:19):
~#! rn=Schleicher rt=935702582 rg=treffen
~#! tid=935702582
TERMINAENDERUNG!!!

Auf Grund akuter Bedrohung aus duesseldorfer Mudderkreisen findet der
angekuendigten Stammtisch einen Tag SPAETER also am 11.9.99 statt.
Kommet zahlreich und froehlich!
Jenandra & Schleicher

-----------------------------------------------------------------------------



Re: Stammtisch Nuernberg ...  (Del, 29. Aug 1999, 20:51:02):
~#! rn=Marcus rt=935847520 rg=treffen
~#! tid=935847520
Bin auch auf jeden Fall dabei!
Vorschlag zum Zeitplan: erst aufs Volksfest und dann in die Galerie.
Treffpunkt: Zentraler Ort in der Stadt, damit auch die Auswaertigen zu uns
finden... evtl. Hbf
Zeitpunkt: Mhhh 20h finde ich ne gute Idee... und essen koennen wir auch aufm
Volksfest, oder!?!
Del, die sich auf ihre alte Heimat und die Nuernberger Mudder freut

-----------------------------------------------------------------------------



Re: Re: Stati Duesseldorf (Kartoffel, 29. Aug 1999, 20:57:03):
~#! rn=Schleicher rt=935959399 rg=treffen
~#! tid=935702582


Hab ich gedroht?? *schau unschuldig*

'Toffel - steckt das Kastriermesser unauffaellig weg

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 30. Aug 1999, 00:52:22):
Der letzte Ausweichstammtisch vor der Rueckkehr unseres Stammwirtes
findet diesen Donnerstag 20 Uhr im Pfannstiel statt. Fuer die 
Unwissenden: der liegt in der Parallelstrasse zur Zaehringer Strasse,
ich hab keine Ahnung wie der heisst. Eine andere Moeglichkeit ihn zu
erreichen ist der Weg durch den Biergarten vom Vogelbraeu.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Hobo, 30. Aug 1999, 14:14:28):
~#! rn=Boing rt=935974342 rg=treffen
~#! tid=935974342
"Parallel" bedeutet in dem Fall, dass sie sich treffen, Zaehringerstrasse und
die beim Pfannenstiel, und zwar zusammen mit einer driten, genannt
"Brunnenstrasse" - Und die kennt jeder Karlsruher 

  Hobo

-----------------------------------------------------------------------------



stati in B (Gnome, 30. Aug 1999, 15:27:52):
hi,

in berlin ist kommenden freitag, 03.08.99 regulaerer stammtisch
im seeblick, rykestr. 14, 20.00 h.

kurz und knapp,

gnOme

-----------------------------------------------------------------------------



Leipziger Stati :) (Unasai, 30. Aug 1999, 16:43:57):
genauso knapp :) gleicher Ort (Luisenhof, ludwigstr.79) , datum:11.9. 99
bitte wie immer vorher lieb anmelden :) wuerdemich freuen, mails an hellfleck
oder mich
bis dann dann eure Una*

-----------------------------------------------------------------------------



Re: stati in B (Gnome, 30. Aug 1999, 17:03:07):
~#! rn=Gnome rt=936026872 rg=treffen
~#! tid=936026872
aehm... meine natuerlich den 03.09.99 :)

gnOme

-----------------------------------------------------------------------------



Stati in AC (Kamelot, 30. Aug 1999, 17:07:25):
Huhu alle zu sammen
Ich hab von einer komischen Sage gehoert das mal wieder in Aachen ein
Stammtisch stattfinden soll.
Dieser wird laut muendlicher Ueberlieferung am 03.09.99 in der Wirtschaft die
sich Chico Mendes nennt in der Pontstrasse stattfinden.
Wir hoffen auf ein zahlreiches Erscheinen.
Die weiteren Frage zu dieser Sage bitte eine Mail an mich
Kamelot

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Teddy, 30. Aug 1999, 17:49:16):
~#! rn=Branwen rt=935409143 rg=treffen
~#! tid=935409143
Gute Idee, bin ich wenigstens auf der Arbeit. 
Teddy, Nachtschicht (23:00 bis 7:00 Uhr) :-(

-----------------------------------------------------------------------------



Re: stati in B (Alcina, 31. Aug 1999, 12:20:11):
~#! rn=Gnome rt=936026872 rg=treffen
~#! tid=936026872

Gnome, ich glaub, Du meinst den 3.9. 

Alcina korrigierend


-----------------------------------------------------------------------------



Re: Re: stati in B (Alcina, 31. Aug 1999, 12:20:45):
~#! rn=Alcina rt=936102011 rg=treffen
~#! tid=936026872


na gut, das naechste Mal lese ich erst die Zeitung, bevor ich rummuelle :)


Alcina

-----------------------------------------------------------------------------



Nuernberg naht! (Del,  3. Sep 1999, 15:42:03):
Hallo ihr Nuernberger...
Der Termin fuer den Stammtisch naht und so langsam waer es mal interessant zu
wissen, wann und wo wir uns denn nun treffen...
Also... meldet Euch mal!
Del, die sich schon tierisch freut!

-----------------------------------------------------------------------------



Re: Nuernberg naht! (Del,  3. Sep 1999, 15:47:46):
~#! rn=Del rt=936373323 rg=treffen
~#! tid=936373323
Aaaaaalos, auf Wunsch eines widerspenstigen und befreundeten Magiers hier
nochmal fuer alle, die die vorhergehenden Artikel nicht ganz so aufmerksam
gelesen haben: es wurde von der Galerie gesprochen, aber auch vom Volksfest.
Eine Uhrzeit fehlt irgendwie noch und der genaue Plan von wegen erst Volksfest
und dann Galerie oder andersrum. Fuer die Auswaertigen waer es sicherlich gut,
einen zentrane Treffpunkt zu waehlen und ausserdem eine kleine Wegbeschreibung
zu erstellen... *grins* Nu zufrieden, Erzie!?!
Del, die vor lauter Vorfreude immer noch durch die Gegend huepft

-----------------------------------------------------------------------------



Re: Re: Nuernberg naht! (Heromcfly,  3. Sep 1999, 16:10:18):
~#! rn=Del rt=936373666 rg=treffen
~#! tid=936373323

naehre planung ist in arbeit
hoffe ich

hmc zu devilchen schielend =)

-----------------------------------------------------------------------------



Re^3: Nuernberg naht! (Devilchen,  3. Sep 1999, 20:27:38):
~#! rn=Heromcfly rt=936375018 rg=treffen
~#! tid=936373323
Dass ja wirklich sehr nett, dass nu alles an mir haengen bleibt....
*erstmalausgiebigbeiheromcflyundhightbedank*
Ganz so leicht ist das allerdings mit der Planung auch wieder nicht, weil ich
z.B. von Cisou und Puk weiss, dass sie erst spaeter nachkommen werden.
Aehnlich bei Karis und Wurzel wenn ich das richtig verstanden hab... da ja von
Volksfest die Rede war...denklich unguenstiger Treffpunkt, drum wuerde ich
vorschlagen, wir treffen uns um "Uhrzeitvorschlaege?" beispielsweise an einer
U-Bahn-Station...wer es zu der Zeit nicht schafft kommt dann einfach in die
Galerie nach, was ja hoffentlich nicht allzu spaet der Fall sein wird, oder
habt ihr vor bis Ultimo Volksfest? *gruebel* leutz, lasst net alles an mir
haengen...*verzweifeltgugg*
Dev*, nicht mehr so ganz weiter wissend...

-----------------------------------------------------------------------------



stammtisch in nuernberg und es gibt ihn doch  (Heromcfly,  3. Sep 1999, 22:58:12):



nachdem mein rechner erfolgreich 2 supertolle 
seitenlange artikel vernichtet hat werde ich 
die noetigen informationen noch weiter komprimieren

wir haben uns zusammengesetzt und in einem 
langwierigen prozess folgenden plan ausgearbeitet:

wir treffen uns um 19.00 uhr in der haupthalle des
nuernberger hauptbahnhofes (haupthalle is die in 
der mitte wo haupthalle dransteht) an der komischen
blauen kugeluhr.dieser treff(zeit)punkt gilt fuer alle 
die es irgendwie einrichten koennen.
parkplaetze sind vor ort verfuegbar... in der regel

ist es zu einem erfolgreichen zusammentreffen gekommen
erfolgt eine aufteilung in 2 aussenteams:

team 1: gefuehrt von wissen_wir_noch_nich_so_ganz_genau
        begibt sich dieses team direkt zur galerie wo 
        eine gepflegte unterhaltung in angenehmer 
        atmosspaere moeglich sein sollte.
        das fortbewegungsmedium wird hoechst- 
        wahrscheinlich das oeffentliche verkehrswesen 
        sein (busse und bahnen halt)
        
team 2: gefuehrt von dem noch_nichts_von_seinem_glueck-_
        wissendem_hight wird sich dieses team todesverachtend 
        auf den beschwehrlichen weg zum volksfestplatz machen
        um dort eine andere art der vergnueglichkleit zu 
        geniessen.dieses team wird zu einem spaeteren zeitpunkt
        ebenfalls in der galerie eintreffen.(hight macht das
        schon *eg*) fortbewegungsmittel sind ebenfalls die 
        vielgeliebten oeffis.

leute die aus irgendwelchen gruenden nicht zum vorgesehenen 
treff(zeit)punkt da sein koennen bekommen eine wegbeschreibung
in die galerie. 

leute die mit dem auto um 19.00 uhr kommen aber sagen das 
schilder doof und wegbeschreibungen schnuffig sind koennen
ebenfalls eine wegbeschreibung beim verantwortlichen 
(ich scheints *seufz*) in auftrag geben.

achtung!  wer eine schlafgelegnheit sucht sollte sich 
          vergewissern das es eine gibt und nicht erst 
          wenns zu spaet ist (naechte unter den bruecken
          nuernbergs sind mittlerweile schon ziemlich kalt) 
          bisher sind mir keine uebernachtungs-
          moeglichkeiten (ausser den bereits erwaehnten
          hindernissueberquerungshilfsmitteln) bekannt.


fuer weitere informationen kann mann sich vertrauensvoll 
an devilchen und hight oder zu not auch an mich wenden

ich hoffe damit hab ich die meisten offenen fragen 
erledigt
   








-----------------------------------------------------------------------------



Re: stammtisch in nuernberg und es gibt ihn doch  (Wurzel,  4. Sep 1999, 00:48:40):
~#! rn=Heromcfly rt=936399492 rg=treffen
~#! tid=936399492
wegbeschreibung waer nicht schlecht. wir wollen so um 19 uhr in muenchen
losfahren, weil einige von uns leider dem arbeitenden teil der bevoelkerung
angehoeren. und auch das schnellste auto schafft die strecke nicht in nullzeit
(schon gar nicht freitag abend). dafuer werden es fuenf bis sechs leute sein,
die da einfallen :)

wurzel

p.s. wegbeschreibung an karis, er macht den franz.

-----------------------------------------------------------------------------



Re: stammtisch in nuernberg und es gibt ihn doch  (Del,  4. Sep 1999, 09:20:27):
~#! rn=Heromcfly rt=936399492 rg=treffen
~#! tid=936399492
Wer von den Zugereisten bleibt denn bis Samstag? Vielleicht habt Ihr ja Lust,
Samstags noch irgendwo lecker Essen zugehen... Chinese oder Italiener? Besteht
Interesse?
Del, die mal wieder nur ans Essen denkt...

-----------------------------------------------------------------------------



Re: Re: stammtisch in nuernberg und es gibt ihn doch  (Devilchen,  4. Sep 1999, 09:22:15):
~#! rn=Del rt=936436827 rg=treffen
~#! tid=936399492
Ein Elf der ans Essen denkt? Irgendwas laeuft bei dir falsch, Del;)
Dev*, sich den dicken Hobbitbauch reibend

-----------------------------------------------------------------------------



Re: stammtisch in nuernberg und es gibt ihn doch  (Ark,  4. Sep 1999, 09:45:48):
~#! rn=Heromcfly rt=936399492 rg=treffen
~#! tid=936399492
Wieso werde ich das Gefuehl nicht los, dass es sich hierbei um eine als
Stammtisch geplante konspirative Verschwoerung handelt mit dem Ziel, das
friedliche Nuernberger Volksfest mit einer Bombe zu begluecken.
*Kopf schuettelnd grinsend*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: stammtisch in nuernberg und es gibt ihn doch  (Wurzel,  4. Sep 1999, 11:21:08):
~#! rn=Ark rt=936438348 rg=treffen
~#! tid=936399492
wahrscheinlich hast du eine prophetische gabe :)

wurzel (langhaarig, bombenlegend)

-----------------------------------------------------------------------------



Re^3: stammtisch in nuernberg und es gibt ihn doch  (Marcus,  4. Sep 1999, 13:34:58):
~#! rn=Wurzel rt=936444068 rg=treffen
~#! tid=936399492
Ja, ganz sicher ... ;) 

Marcus (langhaarig, bombenlegend)
PS: Obwohl ich meinen Fussboden niemand antun will, passen da doch 2 Leute 
   drauf... Ist aber in Erlangen ;)

-----------------------------------------------------------------------------



Re^4: stammtisch in nuernberg und es gibt ihn doch  (Highlander,  5. Sep 1999, 22:29:09):
~#! rn=Marcus rt=936452098 rg=treffen
~#! tid=936399492
Koennte ich bitte (nochmal?) um die Adresse der Galerie bitten?
   HrT

-----------------------------------------------------------------------------



Re^4: Nuernberg naht! (Hight,  6. Sep 1999, 15:34:14):
~#! rn=Devilchen rt=936390458 rg=treffen
~#! tid=936373323
tut mir sorry abba ich bin seit ner weile nimmer da gewesen und auch etz nur
kurz ... zivi suxx .o) ... abba wie soll ich was planen wenn ich net dabin um
irgendwas mit irgendwem zu bereden ??

hight 
nn
argl scheiss telnet

-----------------------------------------------------------------------------



Re: stammtisch in nuernberg und es gibt ihn doch  (Hight,  6. Sep 1999, 15:41:38):
~#! rn=Heromcfly rt=936399492 rg=treffen
~#! tid=936399492
hoermal du sack ... nerja

oki dann werde ich die fuerung zum volksfest uebernehmen ...in die glaerie is
auch kein problem ... allerdings waehre es net wenn feststuende ob ueberhaupt
interresse besteht ...
ich kann im uebrigen niemanden unterbringen ... mein vater und der kleine
quaelgeist kommen am freitag abend leider zuruecke ... oki ueber einen liese
sich reden abba mehr is net drin weil ich net wirklich lust hab mir von meiner
mutter wan anzuhoeren weil ich auch der couche (schreibt man das so ?) penne
und mein zimmer von anderen belagert wird .o)
 
in diesem sinne ... 

Hight erstaunt das man ihm ein team anvertrauen will 

-----------------------------------------------------------------------------



Re: Re: stammtisch in nuernberg und es gibt ihn doch  (Hight,  6. Sep 1999, 15:43:00):
~#! rn=Ark rt=936438348 rg=treffen
~#! tid=936399492
spinnst du ????? 
das volksfest ausbomben das is bloed ... gibt doch nix besseres um sich
vollaufen zu lassen ,o)

-----------------------------------------------------------------------------



Re^5: stammtisch in nuernberg und es gibt ihn doch  (Hight,  6. Sep 1999, 15:45:08):
~#! rn=Highlander rt=936570549 rg=treffen
~#! tid=936399492
oehm ja die adresse kenn ich net ... abba ich kann dir ne wegbeschreibung
geben ... fuer was gibts den n telefeon ... wenn ihr mal in nuernberg seit
geht es einfach abba da rein finden *g* so tief im nirgendwo gibts bestimmt
keine schilder... nerja abba wegen wegbeschreibung bei dev* oder mir melden in
den naechsten tagen 

-----------------------------------------------------------------------------



Stati NBG, Wegbeschreibung, Teil I;) (Devilchen,  7. Sep 1999, 08:32:30):
Soooo, nachdem ich nun von ziemlich vielen Leuten angesprochen wurde, wie man
denn nun zur Galerie kommt, der erste Teil der Wegbeschreibung....der Weg mit
dem Auto....
Faul wie ich bin hab ich mich mal im Web umgeschaut und sieh da...*huepf* auf
der HP der Rockfabrik, ne Disco in NBG (http://www.rockfabrik.de/N_index.htm)
findet man eine Wegbeschreibung...die Bennostrasse geht dann in die
Klingenhofstrasse ueber, in der sich dann die Galerie befindet (nr.
50c)...duerfte also kein allzu grosses Problem werden, die Galerie zu finden.

Wie man mit oeffentlichen hinkommt ist hingegen schon wieder ein groesseres
Problem...allerdings fuer mich, weil ich kein Plan von oeffentlichen hab, drum
werd ich mich heute mal in U-Bahn und Busse (ich hoffe ihr wisst das auch zu
wuerdigen!!;) setzen,  und mir anschauen, wie man da faehrt und laeuft
(iiiiiih!)...zweiter Teil folgt dann auf jeden Fall heute Abend oder
spaetestens morgen frueh, sollte ich mich hilflos im Norden Nuernbergs
verlaufen haben....;)

Dev*, schon mal dicken Rucksack mit Verpflegung packend und sich fuer den
Grossstadtdschungel ruestend...

-----------------------------------------------------------------------------



Stati NBG, Wegbeschreibung, Teil II (Devilchen,  7. Sep 1999, 18:57:11):
So, und nun die versprochene Beschreibung, fuer die, die es nicht bis 19h bis
zum Treffpunkt Hbf schaffen und dann mit den oeffentlichen Verkehrsmitteln
nachkommen: vom Hbf in die U2 Richtung Herrnhuette, da dann Ausgang
Bessemerstr./Martinstr. hochlaufen....linker Hand am Parkhaus vorbei und nach
ca. 100-150 Meter nach links in die Martinstr. einbiegen...dann sinds in etwa
nochmal so 100-150 Meter, Blick geradeaus und man muesste das Schild der
"Galerie" schon sehen...duerfte also kein Problem darstellen, das ganze zu
finden:) (die Galerie liegt dann etwas versteckter in so nem Hof, aber beim
Schild hat man die halbe Miete, und als Mudder mit Superspuernase und
aeh...naja, wir sehen uns halt dann dort;)

Dev*, die nicht fuer die Wegbeschreibungen geschlagen werden will...*duck*;)

-----------------------------------------------------------------------------



Stati in FFM am 8.10. (Apollonia,  8. Sep 1999, 09:26:58):
Huhu Ihrs!!
Wollte Euch nur nochmal dran erinnern, dass Ihr Euch bitte so rechtzeitig wie
moeglich fuer den Stammtisch anmeldet (bzw. fuer einen Schlafplatz bei mir...
langsam wird's eng).
Apo* (die langsam die Panik kriegt, ob sie diese Horde auch satt kriegt)

-----------------------------------------------------------------------------



Stammti in Halle (Alcina,  8. Sep 1999, 11:33:43):

Hi Fans des hallenser Stammti,


am Freitag (2. Freitag im Monat - wie nun jeder weiss) ist es wieder so weit:

am 10.09. 99 ab 19 Uhr in der Spaetschicht (fuer die, die noch nicht da waren:
Torstrasse 20, Naehe Rannischer Platz). Wegen Uebernachtung und / oder
Sonderwuenschen bitte Mail an mich.

Und fast haette ichs vergessen... ihr koennt am naechsten Tag gleich weiter
nach Leipzig, denn am Samstag ist Stammtisch im Mariannenhof in Leipzig (wenn
ic h das recht in Erinnerung habe). Orga-Team Leipzig: Unasai (schaetz ich
mal).

Alcina - die Kleine (hofft auf viele Besucher)

P.S.: Unser Lieblingskellner (der uns immer diese netten Namen gibt) hat
Dienst - das ist auf jeden Fall ein Grund zu kommen!


-----------------------------------------------------------------------------



Ordentlich angekuendigter Ausserordentlicher (Aline,  9. Sep 1999, 13:22:24):

Hi Leuts,

nachdem ich nun endlich wieder in heimischen Gefilden weile, packt mich die
Sehnsucht auch mal wieder ein paar von den ganz ver[1~[1~[1~ [1~%/&/")=/netten
Langnasen zu sehen, die sich hier so rumtreiben.
Da mir der naechste ordentliche Stammtisch noch zu weit wech ist und ich
auch nicht weiss, ob ich da kommen kann, schlage ich hiermit einen
ausserordentlichen Stammtisch in Dortmund am 17.9 vor.
Uhrzeit und Ort wie gehabt, denn allzuviel will ich nicht aendern.

Gruesse

Aline

-----------------------------------------------------------------------------



Re: Ordentlich angekuendigter Ausserordentlicher (Caillean,  9. Sep 1999, 14:35:00):
~#! rn=Aline rt=936883344 rg=treffen
~#! tid=936883344
auja, fein:)

caillean,diesen antrag unterstuetzend, ich wuerd auch gern mal wieder nach DO
kommen koennen

-----------------------------------------------------------------------------



Re: Re: Ordentlich angekuendigter Ausserordentlicher (Rochus,  9. Sep 1999, 14:35:32):
~#! rn=Caillean rt=936887700 rg=treffen
~#! tid=936883344
Du kannst. 

-----------------------------------------------------------------------------



Re^3: Ordentlich angekuendigter Ausserordentlicher (Caillean,  9. Sep 1999, 14:37:58):
~#! rn=Rochus rt=936887732 rg=treffen
~#! tid=936883344
pki, dann beginnen wir die offizielle zaehlung:)

rochus und caillean (3)

-----------------------------------------------------------------------------



Re: Stammti in Halle (Stopdenbus,  9. Sep 1999, 18:19:19):
~#! rn=Alcina rt=936790423 rg=treffen
~#! tid=936790423
ich kann leider net kommen *snief* beim naechsten mal wieder

Stoppi, auch als "Locke" bekannt, jedenfalls in der Spaetschicht

-----------------------------------------------------------------------------



Muenster-StaTi im Alabama (Brandir,  9. Sep 1999, 22:05:13):
Also der Muensteraner Stammtisch wird am kommenden Dienstag ausnamsweise im
Alabama stattfinden (da, wo er vorm Cuba mal war). Angeblich ist das Alabama
wieder billiger geworden und mal wieder ein paar Spare-Ribs koennen nicht
schaden.
Der Vorschlag ins Alabama zu gehen kam allgemein gut an und nun bau ich
natuerlich auf euch.
Angeblich wollen am Dienstag ein paar Gaeste aus Aachen kommen und hiermit
moechte ich auch unsere Osnabruecker und Dortmunder Nachbarn mal herzlich
auffordern, sich wieder sehen zu lassen...

Brandir

-----------------------------------------------------------------------------



Re: Muenster-StaTi im Alabama (Morgoth, 10. Sep 1999, 06:04:57):
~#! rn=Brandir rt=936914713 rg=treffen
~#! tid=936914713
Hm, wenn ich meine Frau ueberreden kann und bei meinem Broetchengeber mal blau
mache, laesst sich das wohl einrichten. ;-))
M(2) + N(3)

-----------------------------------------------------------------------------



Re^4: Ordentlich angekuendigter Ausserordentlicher (Morgoth, 10. Sep 1999, 06:05:41):
~#! rn=Caillean rt=936887878 rg=treffen
~#! tid=936883344
Morgoth(4), aber spaeter, da das DRK meint, es muesse mal wieder ne JHV
machen. 


-----------------------------------------------------------------------------



Stati in Leipsch am 6.Oktober (Alboin, 10. Sep 1999, 08:32:27):
Moin allerseits. Leider kann ich am 6.Oktober doch nicht zum Stati, weil ich
vom 2.-8.10. auf Dienstreise bin. Ich hoffe Ihr schafft es auch ohne mich in
den Nationalfeiertag reinzufeiern *grins bloed*

Alboin

-----------------------------------------------------------------------------



Re: Muenster-StaTi im Alabama (Anatol, 10. Sep 1999, 17:14:41):
~#! rn=Brandir rt=936914713 rg=treffen
~#! tid=936914713
+2.

Bitte reserviert ausreichend, sonst macht das wirklich keinen Spass :)

Anatol


-----------------------------------------------------------------------------



Re: Re: Muenster-StaTi im Alabama (Streawkceur, 10. Sep 1999, 20:36:16):
~#! rn=Anatol rt=936983681 rg=treffen
~#! tid=936914713
Wenn ich das noch finde, komm ich auch... :-)

rr

-----------------------------------------------------------------------------



Re^3: Muenster-StaTi im Alabama (Yendi, 13. Sep 1999, 11:28:34):
~#! rn=Streawkceur rt=936995776 rg=treffen
~#! tid=936914713
Wenn das Trompeten nicht allzu lange dauert, kann ich mich ja auch mal wieder
auf einem MUD-StaTi sehen lassen...

Yendi,
       Rentner und Blumenpfluecker


-----------------------------------------------------------------------------



Re: Re: Ordentlich angekuendigter Ausserordentlicher (Teddy, 13. Sep 1999, 13:43:27):
~#! rn=Caillean rt=936887700 rg=treffen
~#! tid=936883344
Hm, der Monat hat 30 Tage, das bedeuted, der naechste ordentliche waere eh ne
Woche spaeter. Nur so am Rande von wegen zu lange hin und so. Aber...macht was
ihr wollt, ich bin diesmal nicht da.

Teddy, im Exil.

-----------------------------------------------------------------------------



Re^3: Muenster-StaTi im Alabama (Gorog, 13. Sep 1999, 13:51:01):
~#! rn=Streawkceur rt=936995776 rg=treffen
~#! tid=936914713
Naja da mein Urlaub um is komm ich auch mal...

Gorog, verbrannt, ertrunken, und zutodegeschwitzt

-----------------------------------------------------------------------------



Wenn ich mal was in der mpa schreibe ... (Tangalur, 13. Sep 1999, 19:20:35):
... hat Sugi bestimmt DURST !

Also Leute, wer in Koeln und Umgebung auch Durst hat
gleiche Stelle gleiche Welle am Donnerstag 16.9.99 so 
ab etwa 19:00 bis 19.30 Uhr. Bei gutem Wetter und wenn
Platz ist wieder auf der Terasse.

... mal sehen ob wir Sugis DURST diesmal gelscht 
bekommen.


-----------------------------------------------------------------------------



Oldenburg (Lug, 15. Sep 1999, 00:54:29):

Ich wollte nur darauf hinweisen, dass es auch diese Woche kein Treffen in
Oldenburg gibt...

Lug

-----------------------------------------------------------------------------



Re: Wenn ich mal was in der mpa schreibe ... (Letic, 15. Sep 1999, 08:47:01):
~#! rn=Tangalur rt=937250435 rg=treffen
~#! tid=937250435
LeTic hat auch 
'DURST !!!
Bin also da..gleiche Stelle, gleiche Welle ...
... und Prost !!

-----------------------------------------------------------------------------



Re: Oldenburg (Teddy, 15. Sep 1999, 09:51:38):
~#! rn=Lug rt=937356869 rg=treffen
~#! tid=937356869
Also dann komm ich auch nicht, wie immer halt.

Teddy

-----------------------------------------------------------------------------



Re: Wenn ich mal was in der mpa schreibe ... (Tangalur, 16. Sep 1999, 10:09:28):
~#! rn=Tangalur rt=937250435 rg=treffen
~#! tid=937250435
... kann sein dass ich heute erst so gegen halb neune erscheine.
Also nach Sugi ausschau ja halten und noch was Bier uebrig lassen

-----------------------------------------------------------------------------



Nachfrage (Guard, 16. Sep 1999, 14:34:12):
Hoi Leute,

Ich bin naechste Woche in Muenchen (nein nicht nur zum Oktoberfest!) und wollt
mal fragen, ob da nich irgendwo irgendwann n lustiges Beisammensein auf die
Beine gestellt werden kann??

Prost

Guard

-----------------------------------------------------------------------------



Re: Nachfrage (Sublime, 16. Sep 1999, 16:46:04):
~#! rn=Guard rt=937492452 rg=treffen
~#! tid=937492452
Hi ;)

Hmm, wenn Du auf's Oktoberfest ziehen willst und das mit moeglichst 
vielen Morgengraulern oder Muddern, waere ich vielleicht dabei. Muss
mal die Leute hier in Berlin ein wenig aushorchen, ob sie vielleicht
auch woll'n...

Sublime

Ps : Hmm, nicht nur zum Oktoberfest ? ;) Ich kenn Muenchen sowieso
nicht...

-----------------------------------------------------------------------------



Re: Re: Nachfrage (Acrimon, 16. Sep 1999, 20:02:47):
~#! rn=Sublime rt=937500364 rg=treffen
~#! tid=937492452
Dann komm ich auch!

Man sollte sich natuerlich erstmal abseits treffen und dann gemeinsam
hinfahren, denn sonst koennen wir uns nicht einmal erkennen. Eine gewisse
Verlustrate werden wir auf dem Oktoberfest sowieso haben.

Acrimon

-----------------------------------------------------------------------------



Re: Re: Nachfrage (Guard, 17. Sep 1999, 07:04:08):
~#! rn=Sublime rt=937500364 rg=treffen
~#! tid=937492452
aeh, also ich bin schon in Muenchen, wenn da noch Leute aus Berlin kommen
moechten, geschieht das auf eigene Verantwortung :-) Ob das ganze auf'm
Oktoberfest stattfindet haengt von Wurst ab, der hat die Organisation
uebernommen!!!

Guard *prostend*

-----------------------------------------------------------------------------



Vorankuendigung (Daria, 19. Sep 1999, 22:38:59):
JA!!
Freuet Euch, denn bald ist es wieder soweit: Der LEGENDAERE Paderborner
Stammtisch. Am 19. November 1999 in der Loetlampe in Paderborn.
Wegbeschreibung kommt spaeter - vielleicht koennt ihr mir schon mal - am
besten per Mail - Bescheid sagen, wenn Ihr kommen moechtet.

ich freu mich schon!!!
Daria

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 21. Sep 1999, 12:38:44):
Der Karlsruher Mud-Stammtisch findet diesen Donnerstag ausnahmsweise schon
um 19:30 Uhr statt, natuerlich im Kleinen Meierhof, wie immer.
  Boing

-----------------------------------------------------------------------------



24.09.1999, 20:00h (Ringor, 21. Sep 1999, 15:22:39):
Ringor

-----------------------------------------------------------------------------



Re: 24.09.1999, 20:00h (Feuerwehr, 21. Sep 1999, 16:35:59):
~#! rn=Ringor rt=937927359 rg=treffen
~#! tid=937927359
Minimalistisch.

-----------------------------------------------------------------------------



Re: Re: 24.09.1999, 20:00h (Grimmborn, 21. Sep 1999, 16:36:49):
~#! rn=Feuerwehr rt=937931759 rg=treffen
~#! tid=937927359
Ah?

-----------------------------------------------------------------------------



Re: 24.09.1999, 20:00h (Streawkceur, 21. Sep 1999, 17:04:45):
~#! rn=Ringor rt=937927359 rg=treffen
~#! tid=937927359
any specials?

-----------------------------------------------------------------------------



Re: Re: 24.09.1999, 20:00h (Anatol, 21. Sep 1999, 17:06:15):
~#! rn=Streawkceur rt=937933485 rg=treffen
~#! tid=937927359
n

-----------------------------------------------------------------------------



Umdisponierung (Daria, 21. Sep 1999, 17:11:22):
Der Stammtisch in Paderborn wird verlegt auf den 26.11. 
Vielleicht koennen dann auch ein paar Leute aus Halle oder Leipzig oder so
kommen - denn so liegt es zu DEM Stati nicht parallel ;-)

Bis dahin,
Daria
PS: Vielleicht wechseln wir auch noch die Kneipe... is ja noch n bisschen hin.

-----------------------------------------------------------------------------



Stammtisch in Marburg, 15.10.1999 (Zook, 22. Sep 1999, 08:05:12):
Viel wurde gemailt, ein Stammtisch ist bisher nicht herausgekommen. Erst
mussten wir im Schweisse unseres Angesichts ein paar Umzugskartons, Regale,
eine kleine feine Spuelmaschine und eine Sch****-Waschmaschine durch
die Gegend tragen, bis wir uns erschoepft auf Stuehle plumpsen liessen
und an der bestellten Pizza herumknabberten.

Und tatsaechlich, ohne grosse Diskussion konnten wir uns dann auf einen
Termin einigen.

Also, wer so alles Lust und Laune hat, wir treffen uns am 

   Freitag, 18. Oktober 1999, ab ca. 19.30 im Sudhaus.

Wer ne Wegbeschreibung braucht, sollte sich einfach mal bei mir 
melden. Wer ausser den Marburgern gerne kommen moechte, soll sich
doch auch einfach mal bei mir melden, damit wir genuegend Platz
in der Kneipe bekommen bzw. eine groessere Kneipe aufsuchen
koennen.

In Zukunft wollten wir auch immer den 2. Freitag im Monat als
Marburg Stammtisch ins Auge fassen. Wer also am 18. Oktober
nicht kann, ist dann herzlich am 12. November eingeladen.


Gruss, Zook.

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg, 15.10.1999 (Zook, 22. Sep 1999, 08:06:52):
~#! rn=Zook rt=937987512 rg=treffen
~#! tid=937987512
*huestel* Na ja.... also ersetzt einfach ueberall wo 18. Oktober
steht mit 15. Oktober... Man wird alt... ;)

Gruss, Zook.

-----------------------------------------------------------------------------



Re: Re: 24.09.1999, 20:00h (Nonne, 22. Sep 1999, 08:38:53):
~#! rn=Streawkceur rt=937933485 rg=treffen
~#! tid=937927359
(2)

-----------------------------------------------------------------------------



Re^3: 24.09.1999, 20:00h (Morgoth, 22. Sep 1999, 08:41:20):
~#! rn=Nonne rt=937989533 rg=treffen
~#! tid=937927359
(3) + (4)?

-----------------------------------------------------------------------------



Re^4: 24.09.1999, 20:00h (Paracelsus, 22. Sep 1999, 08:41:56):
~#! rn=Morgoth rt=937989680 rg=treffen
~#! tid=937927359
++

-----------------------------------------------------------------------------



Treffen in Hamburg (Krellja, 22. Sep 1999, 08:59:32):
Das letzte Treffen ist lange her, wir sollten uns also mal wieder sehen.

Treffen in Hamburg

Ort: Geo 53
     Beim Schlump 53

Zeit: Do, 30.9.99, 19:00 Uhr

Das Geo 53 ist das "neue" Geo direkt neben dem Geomatikum,
nahe bei der U-Bahn Schlump.

Tschuess Krellja

-----------------------------------------------------------------------------



Re^5: 24.09.1999, 20:00h (Mandy, 22. Sep 1999, 11:21:31):
~#! rn=Paracelsus rt=937989716 rg=treffen
~#! tid=937927359
(5), oder so.

-----------------------------------------------------------------------------



Re: Stammtisch in Marburg, 15.10.1999 (Quillian, 22. Sep 1999, 11:43:28):
~#! rn=Zook rt=937987512 rg=treffen
~#! tid=937987512

Hmm :)

Also es gibt seit etwa 4 Jahren einen MudStammtisch in Marburg.
Es kamen ne ganze Menge Leute aus den verschiedensten Muds
(Avalon, FinalFrontier, Unitopia, ...) nur von den MGlern waren
kaum Leute da (obwohl ich das schonmal hier gepostet hatte).
Ich waer auf jeden Fall dabei (wenn auch Leute aus anderen Muds
kommen duerfen :)), gebe allerdings zu bedenken das Freitag ein
ungeeigneter Termin ist weil da viele Studenten im Semester heim
fahren.

Q.

-----------------------------------------------------------------------------



Re^6: 24.09.1999, 20:00h (Xand, 22. Sep 1999, 11:52:31):
~#! rn=Mandy rt=937999291 rg=treffen
~#! tid=937927359
(6) :)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Marburg, 15.10.1999 (Zook, 22. Sep 1999, 12:00:58):
~#! rn=Quillian rt=938000608 rg=treffen
~#! tid=937987512
Jau fein.. Kommt einfach mal vorbei... :)) Nur sagt irgendwie 
an, wieviele Leute kommen... 

Freitag ist mit Bedacht gewaehlt.. Gestern fiel der Satz 
"Freitag oder Samstag, man muss danach ausschlafen koennen." und
uns passte Freitag irgendwie wegen Job, Uni etc. am besten...

Gruss, Zook.

-----------------------------------------------------------------------------



Re^7: 24.09.1999, 20:00h (Teddy, 22. Sep 1999, 19:41:19):
~#! rn=Xand rt=938001151 rg=treffen
~#! tid=937927359
:-(

-----------------------------------------------------------------------------



StaTi in FFM --> 08.10.99 (Apollonia, 23. Sep 1999, 13:33:18):
Also, meine Lieben: Der Stammtisch wird in der Kneipe 'Zu den 12 Aposteln'
stattfinden.  Eine Wegbeschreibung wird Del noch kurzfristig bekanntgeben (die
kennt sich hier besser aus, ich arbeite ja bloss in FFM).
M.W. ist direkt nebenan das Arabella-Hotel mit Parkhaus, da kann man die ganze
Nacht fuer Dm 5,- parken.
Ansonsten wollte ich noch loswerden, dass es langsam aber sicher sehr knapp
wird mit Schlafplaetzen, wenn also noch jemand ausser denjenigen, die sich
bereits bei mir angekuendigt haben, einen Schlafplatz braucht, sollte er/sie
sich schnellstens bei mir melden.

Apo* (die sich schon tierisch auf den StaTi freut)

-----------------------------------------------------------------------------



Stammti in Halle (Mieze, 23. Sep 1999, 15:08:42):

Hi Muddies,

im Oktober findet der Stammti nicht wie ueblich am 2. Freitag im Monat, was
der 8.10. waere statt, sondern eine Woche spaeter (15.10.99). Treffpunkt ist
wie ueblich die "Spaetschicht" um 19 Uhr. Wer dagegen ist, den Stammti zu
verlegen, kuemmert sich bitte selbst, denn ich bin vom 5.10. bis 11.10. zu
einer Exkursion bei den Franzmaennern.

Wegen Uebernachtung: Mail an mich.

Mieze

-----------------------------------------------------------------------------



Re^8: 24.09.1999, 20:00h (Kartoffel, 23. Sep 1999, 21:43:35):
~#! rn=Teddy rt=938029279 rg=treffen
~#! tid=937927359
+1

-----------------------------------------------------------------------------



Re^9: 24.09.1999, 20:00h (Streawkceur, 23. Sep 1999, 22:03:30):
~#! rn=Kartoffel rt=938123015 rg=treffen
~#! tid=937927359
+(zeit?1:0)

-----------------------------------------------------------------------------



Re: Treffen in Hamburg (Foobar, 25. Sep 1999, 16:06:54):
~#! rn=Krellja rt=937990772 rg=treffen
~#! tid=937990772
Nur so als Vorwarnung:

Ich werde wohl auch da sein.

Da stellt sich mir die Frage: Woran erkenne ich andere Mudder?

Habt Ihr so ein Namensschild um? Muss ich mir etwa auch eins basteln? Fragen
ueber Fragen...

Foobar - stirbt wahrscheinlich dumm

-----------------------------------------------------------------------------



Re: Re: Treffen in Hamburg (Householder, 25. Sep 1999, 16:09:55):
~#! rn=Foobar rt=938275614 rg=treffen
~#! tid=937990772
am starren blick :-)

-----------------------------------------------------------------------------



Re^3: Treffen in Hamburg (Wurzel, 25. Sep 1999, 16:12:46):
~#! rn=Householder rt=938275795 rg=treffen
~#! tid=937990772
stell dir einfach vor, du gehst in eine kneipe, denkst an nichts boeses. und
dann sitzen da leute, die sich ungeniert ueber toeten und getoetet werden
unterhalten, als waere es der reinste spass. es gibt zwei moeglichkeiten:
entweder die sind aus der naechstgelegenen anstalt gefluechtet oder es sind
mudder. hoffen wir fuer dich, dass es die zweite moeglichkeit ist :)

wurzel

-----------------------------------------------------------------------------



stati in FFM (Katzentante, 26. Sep 1999, 07:51:16):
Also, wenn die Schlafpltze nicht reichen sollten: Wir wohnen zwar etwas
ausserhalb von FFM, kommen aber dennoch. Wer weiter wegwohnt und keine
-Mglichkeit bisher gefunden hat - bei uns ist noch Platz!

-----------------------------------------------------------------------------



Re: stati in FFM (Trance, 26. Sep 1999, 08:58:50):
~#! rn=Katzentante rt=938332276 rg=treffen
~#! tid=938332276

bei mir und Eisi ist auch noch Platz ;)

Trance

-----------------------------------------------------------------------------



re (Teddy, 26. Sep 1999, 19:39:34):
Hat eigentlich irgendwer aus dem Dortmunder Bereich was vor am naechsten
Freitag (1.10.) oder kann man da nen kleinen Sonderstammtisch machen? 

Teddy, back.

-----------------------------------------------------------------------------



Re: re (Teddy, 26. Sep 1999, 19:51:13):
~#! rn=Teddy rt=938374774 rg=treffen
~#! tid=938374774
Auf besonderen wunsch waere es uebrigens in Betracht zu ziehen, diesen
Sonderstati direkt in den buergermeister zu verlegen.

Teddy

-----------------------------------------------------------------------------



Re: Re: re (Wurzel, 26. Sep 1999, 19:56:59):
~#! rn=Teddy rt=938375473 rg=treffen
~#! tid=938374774
und was sagt der buergermeister dazu? ist ihm das recht, wenn ihm ein haufen
mudder sonstwohin kriecht?

wurzel

-----------------------------------------------------------------------------



Stati in AC (Kamelot, 28. Sep 1999, 17:12:20):
HI zusammen
Ich wollte euch alle eigendlich nur zum Stammtisch in Aachen einladen der am
Freitag (wie immer am ersten Freitag im Monat) im Chico Mendes statt finden
wird also ich wuerde mich freuen.
Fuer naehere Infos stehen Darkwing und ich gerne zur Verfuegung und auch fuer
Schlafplaetze kann gesorgt werden.
Kamelot (heute mal kurz da keine Zeit habend)

-----------------------------------------------------------------------------



Sit in (Morgoth, 29. Sep 1999, 05:32:23):
Mehr hat dieses Treffchen eigentlich nicht verdient. Ich schreib hier im
Auftrag von Teddy, der sich gerne diesen Freitag (1.10.) im Buergermeister zum
o.g. Sit in treffen will. Zeit is wohl so wie immer.
S4 bis Moellerbruecke, Richtung B1 hoch(links) nach ca. 200m linke Seite.
B1 Abfahrt ZVS(glaub ich) die Lindemannstr. ca. 1km runter(kurz vor der
Moellerbruecke ;-)).

Bis denne

M* (2,3)

-----------------------------------------------------------------------------



stati in B (Gnome, 29. Sep 1999, 12:33:04):
hi,

kommenden Fr. (1.10.) ist es wieder soweit:
stammtisch im seeblick um 20.00h.

gnOme

-----------------------------------------------------------------------------



Stammti in Halle (Alcina, 29. Sep 1999, 13:20:20):

Hi Fans des Hallenser Stammti,

vor einiger Zeit hab ich schon geschrieben, dass der Stammti im Oktober nicht
am 2. Freitag (8.10.) sondern AUSNAHMSWEISE am 3. Freitag (15.10) ab 19 Uhr in
der Spaetschicht stattfindet. Grund: ich bin am 8. leider verhindert. Wer
will, kann natuerlich einen Stammti am 8. machen (muss er dann allerdings
selbst organisieren).

Alcina - sitzt am 15. vermutlich allein in der Spaetschicht.


-----------------------------------------------------------------------------



Stati Leipzig :) (Unasai, 29. Sep 1999, 18:36:45):
Also, der Sonderstati wird am 5.10.1999 in Leipzig stattfinden...da diesmal
Zephyr und Tryfan dabei sein koennen, wie gewohnt 19.00 Uhr im Luisenhof,
Mariannenstrasse 79 :) Wer bei mir oder Hellfleck schlafen moechte bitte
rechtzeitig anmelden :) denn rechtzeitiges anmelden sichert gute Plaetze :)))

Bis dann dann
Una*

-----------------------------------------------------------------------------



Re: stati in B (Stopdenbus, 30. Sep 1999, 19:57:06):
~#! rn=Gnome rt=938608384 rg=treffen
~#! tid=938608384
ich komm auch ma wieder :)

Stoppi

-----------------------------------------------------------------------------



STATI IN FFM (8.10.) (Apollonia,  1. Okt 1999, 18:51:00):
Meine Lieben, der Stati rueckt naeher und Del und ich hatten geplant, Samstag
ins Kino zu gehen.  Sollte von den am Stati Anwesenden jemand Lust haben,
mitzugehen, dann sagt mir bitte bis Montag morgen bescheid, da wir Karten
bestellen muessen (is natuerlich Star Wars).
Ansonsten nochmal die Bitte, an Schlafsaecke bzw. Luftmatratzen zu denken
(jedenfalls diejenigen, die bei mir pennen).
Falls jemand wissen will, wer alles kommt (und die Liste ist lang), fragt mich
halt :)

Apo*

-----------------------------------------------------------------------------



Re: STATI IN FFM (8.10.) (Sharia,  2. Okt 1999, 07:01:26):
~#! rn=Apollonia rt=938803860 rg=treffen
~#! tid=938803860
feine Sache :) zaehl doch einfach mal auf :)

Sharia is auch da :)

-----------------------------------------------------------------------------



Re: Re: STATI IN FFM (8.10.) (Apollonia,  2. Okt 1999, 12:58:26):
~#! rn=Sharia rt=938847686 rg=treffen
~#! tid=938803860
Aaaaaaaalsoooooooo........Rochus, Wim, Bendeigid, MagicOlli, Dieder, Kamelot,
Darkwing, Teddy, Zook, Rasputin, Buzzcut, Del (natuerlich), Novastorm... evtl.
noch Rasya, Lug, Cisou, Mercutio... ach ja, Calimera ja auch noch und
vielleicht Gabilon... hab ich jetzt noch wen vergessen?? *gruebel* ;)

Apo* (die beim Gedanken ans Kochen die Krise kriegt)

-----------------------------------------------------------------------------



Doch wen vergessen... (Apollonia,  2. Okt 1999, 13:00:13):
naemlich Bombarad :)

Apo* (sich fragend, ob Dieders Alzheimer abfaerbt)

-----------------------------------------------------------------------------



Re: Doch wen vergessen... (Sharia,  3. Okt 1999, 11:40:38):
~#! rn=Apollonia rt=938869213 rg=treffen
~#! tid=938869213
ohwehhhh :) ich glaub ich komm doch nich :))

Gruss Sharia, die noch versucht Sting zu ueberreden :)

-----------------------------------------------------------------------------



Re: Re: Doch wen vergessen... (Sharia,  3. Okt 1999, 11:46:55):
~#! rn=Sharia rt=938950838 rg=treffen
~#! tid=938869213
achja: ich glaub ich muss ausser mir noch ein + Darknessie einfuegen :)

Sharia

-----------------------------------------------------------------------------



Re: Re: Doch wen vergessen... (Apollonia,  3. Okt 1999, 12:11:05):
~#! rn=Sharia rt=938950838 rg=treffen
~#! tid=938869213
Warum das? Schrecken Dich die ganzen Mags ab?? ;)

Apo* (unschuldig guckend)

-----------------------------------------------------------------------------



Re^3: Doch wen vergessen... (Apollonia,  3. Okt 1999, 12:27:35):
~#! rn=Sharia rt=938951215 rg=treffen
~#! tid=938869213
uiui, dann komm ich definitiv als Apollonia und nicht als Andromeda, sonst
gibt dat ja noch Krieg um den Oppa ;)))

Apo* (grinsend)

-----------------------------------------------------------------------------



Essen am 09.10. (Apollonia,  3. Okt 1999, 13:24:28):
Huhu Ihrs! :)
Wollte Euch nur nochmal drum bitten, mir bitte noch mal ausdruecklich bescheid
zu geben, wer von den am 8.10. zum StaTi Anwesenden am Samstag zum Essen
bleiben will... abgesehen davon muss ich wissen, wieviele davon Vegetarier
sind :)

Apo* (mit Tellern klappernd)

-----------------------------------------------------------------------------



Re: Essen am 09.10. (Katzentante,  3. Okt 1999, 17:21:07):
~#! rn=Apollonia rt=938957068 rg=treffen
~#! tid=938957068
brigens Merian und Katzentante kommen auch. Aber nicht zum bernachten.
Da wir von den bisher anwesenden noch nicht so viele kennen, sind wir schon
gespannt.... :-) Bis Freitag!
..
*

-----------------------------------------------------------------------------



Re: Doch wen vergessen... (Gast2,  3. Okt 1999, 17:32:12):
~#! rn=Apollonia rt=938869213 rg=treffen
~#! tid=938869213
Huhu Zusammen, zur Abwechslung melde ich mich jetzt auch mal zu Wort, wenn
auch 'getarnt'. Aeh ja, Del hier... ich brauche bis Montag defintive Zusagen,
wer am Samstag mit ins Kino geht, da ich die Karten bestellen muss. Es geht
uebrigens ins Kinopolis, nur falls es wen interessiert.
Bis Freitag!
Del, die sie schon maechtig freut

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  3. Okt 1999, 21:14:03):


Freitag isses wieder so weit::


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 8.10. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

P.S.: Auf Schleichers und Jenandras Stammtisch-Seite koennt Ihr Euch
anmelden, ne Karte gibbet da auch:
http://www.above-multimedia.de/stati.html


-----------------------------------------------------------------------------



Re^3: STATI IN FFM (8.10.) (Onyx,  4. Okt 1999, 12:10:24):
~#! rn=Apollonia rt=938869106 rg=treffen
~#! tid=938803860
Oh, ich komme? *gruueebeell* interessant.
Na, wenn das so ist... gibets irgendwie die Moeglich-
keit, eine Mfg von Dresden nach FFM zu organisieren?
  Nova

-----------------------------------------------------------------------------



Re: Essen am 09.10. (Anacrion,  4. Okt 1999, 14:05:24):
~#! rn=Apollonia rt=938957068 rg=treffen
~#! tid=938957068
Aaaalso .. nur mal so ;)

Arun und ich kommen auch .. Darmstadt ist ja nicht gerade weit weg ;)

Anac*

-----------------------------------------------------------------------------



Re^3: STATI IN FFM (8.10.) (Trance,  4. Okt 1999, 14:46:22):
~#! rn=Apollonia rt=938869106 rg=treffen
~#! tid=938803860

Hiho, also /me wird auch da sein, aber zuhause schlafen! 

Eisi.

-----------------------------------------------------------------------------



Re^4: STATI IN FFM (8.10.) (Apollonia,  4. Okt 1999, 15:37:16):
~#! rn=Onyx rt=939039024 rg=treffen
~#! tid=938803860
Das ist zumindest das, was Del mir gesagt hat.
Falls Du nicht kommen solltest, lass es mich wissen.

Apo*

-----------------------------------------------------------------------------



Stati Ffm - Wegbeschreibung (Gast1,  4. Okt 1999, 20:45:00):
Wegbeschreibung zu den 12 Aposteln in der Elefantengasse:;Von der A5 aus,
Abfahrt Miquelallee runterfahren und dann immer auf dem Allenring bleiben
(anfangs Richtung Friedberg... , allerdings dann bitte nicht abbiegen, wenn's
Richtung Friedberg mal abgeht, sondern immer auf dem Alleenring bleiben)
Der Alleenring fuehrt quasi noerdlich um Ffm rum, ist die ganze Zeit 2-spurig.
Fahren fahren fahren... Wenn es 3-spurig wird auf der rechten Spur halten.
Ueber einige Ampeln und Kreuzungen bis rechts ein grosses verspiegeltes
Buerohaus kommt, dort dann rechts runter in die Friedberger biegen (erst nach
dem Buerogebaeude) Die Friedberger Landstrasse ist auch eine grosse 2-spurige
Strasse, die direkt auf die Konstabler Wache zufuehrt, wo Ihr Euch auch schon
dem Ziel naehert. Die Friedberger ganz runter, bis rechts irgendwann ein
haesslicher grauer Kasten (die Stadtwerke) auftaucht und das Parkhaus 'Konrad
Adenauer Strasse' . Am besten gleich in dem Parkhaus fuer die guenstige
Nachtpauschale einparken, denn direkt gegenueber von der Parkhauseinfahrt ist
die Elefantengasse mit den '12 Apostlen und einem Haufen Mudder'.
Oki ich hoffe, Ihr findet es alle, aber die Konstabler Wache ist ja fuer jeden
Frankfurter ein Begriff, also zur Not einfach mal nachfragen.
Bis Freitag!
Del;P.S.: Noch einfacher is der Weg von der A 661 aus, da einfach Friedberger
Landstrasse /Stadtmitte abfahren und die ganze Friedberger immer geradeaus
runter...

-----------------------------------------------------------------------------



Stati Ffm - Ergaenzung Wegbeschreibung (Del,  5. Okt 1999, 13:27:19):
Huhu Zusammen, ich bin Heute den beschriebenen Weg nochmal abgefahren und
damit es auch jeder wirklich findet hier noch ein paar Ergaenzungen:
Von der A5 kommt man auf die A66. Dort immer Richtung Fulda /Hanau halten
(B8). Dann folgt man automatisch immer dem Allenring. Das mit Friedberg koennt
Ihr dann wieder vergessen. Wie gesagt, immer dem Ring nach, bis rechts dieses
verglaste Buerogebaeude kommt (da geht es auch Richtung Stadtmitte und
Parkleitsystem...).
Oki, gutes Suchen und bis Freitag!
20H bei den 12 Aposteln in der Elefantengasse, Tisch ist auf 'Morgengruaen'
reserviert, was sonst. ;-)
Noch ein kleiner Satz zum Kino: Samstag, 23.15h Kinopolis, Episode 1, 10 Leute
gehen auf jeden Fall mit, 3 Karten habe ich mal mehr bestellt, falls noch
jemand spontan mitkommen moechte. Bitte eine halbe Stunde vorher Karten
abholen!
oe
s
u
oe
s ya!
Del
Oehm... mist Finger.. tippen ganz von alleine und ohne das sie mich fragen :(

-----------------------------------------------------------------------------



Re^3: STATI IN FFM (8.10.) (Ark,  5. Okt 1999, 17:16:22):
~#! rn=Apollonia rt=938869106 rg=treffen
~#! tid=938803860
Et moi.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Luftmatratzen (Apollonia,  5. Okt 1999, 19:32:01):
Leuts, vergesst die Luftmatratzen und/oder Schlafsaecke nicht... wenn einer ne
Luftmatratze zu viel hat, mitbringen, sind Mangelware... :)
Apo*

-----------------------------------------------------------------------------



Re: Stati Ffm - Ergaenzung Wegbeschreibung (Streawkceur,  6. Okt 1999, 11:17:00):
~#! rn=Del rt=939130039 rg=treffen
~#! tid=939130039
und von bahn? 

nur aus interesse.... rr

-----------------------------------------------------------------------------



Re: Re: Stati Ffm - Ergaenzung Wegbeschreibung (Del,  6. Okt 1999, 17:19:23):
~#! rn=Streawkceur rt=939208620 rg=treffen
~#! tid=939130039
Ich glaub ja kaum, dass jemand mim Zug kommt, aber fuer den Fall das... hier
der Weg vom Hbf zu den 12 Apo's :-)
Vom Hbf am besten mit der Strassenbahn 12 directly zur Konstabler Wache. Dort
die Hauptstrasse am Arabella Hotel entlangpirschen und nach der Einfahrt des
Konrad Adenauer Parkhauses Ausschau halten. (links hinter dem Hotel quasi)
Wenn Ihr den Eingan gefunden habt, einfach gegenueber in die Elefantengasse
biegen und am naechsten Eckhaus einfach mal reinschauen. 
So ich hoffe jetzt waere alles geklert, wenn nicht, dann nervt ruhig weiter..
ich hab ja Zeit ;-)
oe
s
u
oe
s ya!
Del, die nicht begreift, warum ihr 'bis bald' am Ende immer total zerstueckelt
wird... *gruebel*

-----------------------------------------------------------------------------



Stammtisch Clausthal (Tilly, 10. Okt 1999, 01:27:58):
Moin moin,
am Samstag den 30. Oktober diesen Jahres findet in Clausthal ein Stati statt.
Es hat sich schon einiger auswaertiger Besuch angemeldet, sodass es wohl mehr
als 3 Leute werden (mehr ernstzunehmende Muddies kenn ich hier naemlich nicht
:-).
Wenn also Leute aus dem Umland (Hannover, Braunschweig, Hildesheim oder so)
Lust und Zeit haben, koennen sie bei mir Einzelheiten zu Wegbeschreibung und
Zeitpunkt erfahren. 

Ein chaotischer 
                    - Tilly (ist der 30. ueberhaupt ein Samstag?) -

-----------------------------------------------------------------------------



Re: Stammtisch Clausthal (Bierchen, 10. Okt 1999, 02:36:23):
~#! rn=Tilly rt=939511678 rg=treffen
~#! tid=939511678
oh,
ich wohne auch im umland, darf ich auch kommen?

- Bierchen -

-----------------------------------------------------------------------------



Noch ein Aufruf zum Stati in MR am 15.10.1999 (Zook, 11. Okt 1999, 10:24:06):
Noch einmal ein Aufruf zu unserem kleinen netten Beisammensein
in Marburg am Freitag, 15.10.1999 ab ca. 19.30 Uhr im Sudhaus
(fuer Ortskundige: das ist am Hirschberg). So und nun noch
ein paar Hinweise:

1. Meldet Euch doch bitte einmal (bei mir oder sonst irgendwie
fuer mich merkbar), wer so alles kommen moechte. Evtl. muessen
wir dann die Lokalitaet aendern oder was auch immer.

2. Auswaertige moegen sich bitte auch melden, damit
ich Euch eine Wegbeschreibung zukommen lassen kann.
(Im Laufe der Woche tippsel ich wahrscheinlich auch noch
eine und pack sie hier in die MPA.)


Gruss, Zook.

-----------------------------------------------------------------------------



Muenchen (Calimera, 11. Okt 1999, 22:44:31):
* * ausserordentliches, kurzfristiges Treffen ** ( kein Stati) * *

Grund: Guard in M, Karis hat Durscht *duck*

Datum: Di, 19.10.99  19 Uhr

Lokal: Pfaelzer Weinstube am Odeonsplatz (erreichbar mit U3,U4,U5,U6)

Wir bestellen erstmal keinen Tisch vorher, da es dort genug Platz gibt. 
 

Tjo, also.....

Ihr Kinderlein, kommet...

-----------------------------------------------------------------------------



Re: Muenchen (Wurzel, 11. Okt 1999, 23:04:06):
~#! rn=Calimera rt=939674671 rg=treffen
~#! tid=939674671
ich werde wohl da sein. fuer die kinder musst du allerdings selbst sorgen.

wurzel

-----------------------------------------------------------------------------



Re: Re: Muenchen (Calimera, 11. Okt 1999, 23:04:51):
~#! rn=Wurzel rt=939675846 rg=treffen
~#! tid=939674671
oehm...

ich verbessere:

Ihr Mudderlein kommet...

-----------------------------------------------------------------------------



Re^3: Muenchen (Karis, 11. Okt 1999, 23:05:57):
~#! rn=Calimera rt=939675891 rg=treffen
~#! tid=939674671
UNd nich vergessen: bald ist Weihnachten !

Karis, kommt auch :)

-----------------------------------------------------------------------------



Re: Muenchen (Guard, 12. Okt 1999, 08:57:36):
~#! rn=Calimera rt=939674671 rg=treffen
~#! tid=939674671
na supa

also ich bin da *freu*
trotz Kinderlein und Weihnachten!

Guard

-----------------------------------------------------------------------------



Stammti in Halle (Alcina, 12. Okt 1999, 10:13:55):

Hi Muddies,

zum dritten und letzten Mal die Ankuendigung fuer den Oktoberstammti in Halle:

wann: 15.10.99  ab 19 Uhr

wo:   Lokalitaet "Spaetschicht" Torstrasse 20, Halle (Saale)

Ich hoffe, Ihr erscheint recht zahlreich! Wegen Uebernachtung bitte Mail an
mich. Ihr wisst ja: rechtzeitiges Anmelden sichert gute Plaetze :)

Alcina - hofft, dass mal wieder unser Lieblingskellner Dienst hat.

-----------------------------------------------------------------------------



Re: Muenchen (Reaper, 12. Okt 1999, 10:26:15):
~#! rn=Calimera rt=939674671 rg=treffen
~#! tid=939674671

 Hmmm, war ein guenstiges Timing fuer ein Treffen....  
 Der naechste 'ordentliche' und  offizielle Stati ist 
 naemlich  wie   manche  schon  wissen  am  29.10.99!

 Vorschlaege WO  das  ganze diesmal  stattfinden wird
 sind   natuerlich   jederzeit  erwuenscht.  Aktuelle
 Infos  und  die  Anmeldung   gibts  natuerlich  auch
 wie   immer  unter   http://www.dmsp.com/service/mg.

 Ich hoffe auch mal, dasz  diesmal wieder  jede Menge
 nuernberger   Mudder  den   Weg   zu  uns  finden ;)

 Ok, aktuelles wie gesagt im www oder in der MPA.

 Grusz, Reaper

-----------------------------------------------------------------------------



Re: Re: Muenchen (Calimera, 12. Okt 1999, 10:34:20):
~#! rn=Reaper rt=939716775 rg=treffen
~#! tid=939674671
deswegen hab ich ja hingeschrieben, dass es ein treffen is und kein stati...



-----------------------------------------------------------------------------



MILLENIUM-EVENT !!! (Zarniya, 12. Okt 1999, 12:32:02):
                             ACHTUNG !!!

Viele Worte sind verloren worden ueber den Jahrtausendwechsel und viele
Ereignisse werfen noch ihre Schatten vorraus, aber sie koennen sich alle
nicht messen mit DEM EINEN EVENT: 

              Der letzte Traditionsstammtisch    
                    des Jahrtausend !!!

Natuerlich kann dieser nur in Koeln stattfinden und es wird diesmal ein
sensationelles Feature geben. Alle reden vom Wettkampf des Jahrhunderts,
doch wo findet er wirklich statt? Hier in Koeln werden sich zwei Meister
ihres Faches treffen, um die Hoerner gegeneinander zu wetzen. Eine kaum
vorstellbare Flut der Erregung wirft ihre Schatten vorraus bei dem Gedanken 
an das Vergnuegen, welches sich allen Gaesten bieten wird. 

Meldet euch jetzt schon an und sichert euch einen Platz bei dem Ereignis,   
welches in die Historie eingehen wird und wo sich unsere Mudurenkel noch die 
Lippen nach lecken werden. 

Naehere Informationen folgen an dieser Stelle.                              
               
Marc

-----------------------------------------------------------------------------



Re: MILLENIUM-EVENT !!! (Moep, 12. Okt 1999, 13:42:23):
~#! rn=Zarniya rt=939724322 rg=treffen
~#! tid=939724322
>Der letzte Traditionsstammtisch des Jahrtausend !!!

Also gibt es naechstes Jahr ueberhaupt keinen Stammtisch?
kann ich nicht so ganz glauben.

-----------------------------------------------------------------------------



Re: Re: MILLENIUM-EVENT !!! (Grimmtest, 12. Okt 1999, 14:50:54):
~#! rn=Moep rt=939728543 rg=treffen
~#! tid=939724322
Natuerlich gibt es naechstes Jahr einen Stammtisch. Nur dieses Jahr keinen
mehr.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Stammtisch Clausthal (Lillebror, 12. Okt 1999, 17:24:04):
~#! rn=Tilly rt=939511678 rg=treffen
~#! tid=939511678
Huih,
klappts endlich mal! Dann komm ich auch :-)
 - Lillebror (fragt sich ob Bierchen wirklich dabei sein muss ;-) -

-----------------------------------------------------------------------------



Re: Re: MILLENIUM-EVENT !!! (Patryn, 12. Okt 1999, 19:56:55):
~#! rn=Gnome rt=939750829 rg=treffen
~#! tid=939724322
jeder weiss, dass das erst naechstes jahr passiert, und nu was neues fuer
gnome: keine sau interessiert das :)
selbst du muesstest doch die aesthetische schoenheit der zahl 2000 erkennen,
die jedermann locker ueber das kleine manko hinwegsehen laesst. nicht
zuletzt ist das eigentliche ereignis des jahrtausendwechsels eh voellig
nebensaechlich in der hinsicht, dass 2000 jahre seit einem punkt
vergangen seien, der eh voellig falsch berechnet wurde.
jahrtausendwechsel fuer die menschen bedeutet, dass die zahl 1999
zu einem 2000 umklickt...nich mehr, nich weniger.

------
patryn

-----------------------------------------------------------------------------



79 (Erdbeere, 12. Okt 1999, 20:40:08):
~#! rn=Moep rt=939728543 rg=treffen
~#! tid=939724322
Das Jahrtausend endet am 31.12.2000.

Erdbeere.

-----------------------------------------------------------------------------



Re: 79 (Householder, 13. Okt 1999, 10:56:32):
~#! rn=Erdbeere rt=939753608 rg=treffen
~#! tid=939724322
irre uninteressant

-----------------------------------------------------------------------------



Re^3: MILLENIUM-EVENT !!! (Mahatmu, 13. Okt 1999, 13:04:37):
~#! rn=Patryn rt=939751015 rg=treffen
~#! tid=939724322
Eben. 2'Null''Null''Null' ist eine schoene Zahl. Stellt sich bis jetzt nur
das (dann wahrscheinlich sehr plebiszitaer geloeste) Problem der Namens-
gebung. Die Musik der 90'ger wird abgeloest durch die der 0'er :)

Mahatmu

-----------------------------------------------------------------------------



Re^4: MILLENIUM-EVENT !!! (Bielefeld, 13. Okt 1999, 13:38:13):
~#! rn=Mahatmu rt=939812677 rg=treffen
~#! tid=939724322
Tja, da haben es die englischsprachen einfacher, und nennen es dann
"the naughties"...

-Bielefeld

-----------------------------------------------------------------------------



66 (Zook, 14. Okt 1999, 18:48:22):
~#! rn=Grimman rt=939861220 rg=www
~#! tid=939843826
Hiho,

so, ich habe mal nen Tisch fuer 10 Personen im Sudhaus bestellt.

Kleine Wegbeschreibung (soweit ich das sehe, kommen keine Auswaertigen,. 
die eine lange Wegbeschreibung brauchen, falls doch, bitte dringend
ne Mail an mich):

1. Finde den Parkplatz der Universitaetsbibliothek, falls Du ein 
Auto im Inventory hast, um es dort abzulegen.

2. Verlasse nun den Parkplatz und ueberquere mit Hilfe der angebrachten
Bruecke die Stadtautobahn und folge dieser Strasse, bis Du auf den
Verkehrtsknotenpunkt "Rudolfsplatz" kommst. Dort ist auch die Zentrale
des Marburger Kapitals, der "Marburger Bank".

3. Nun siehst Du, wenn Du Richtung Schloss schaust, ein altes Gemaeuer.
Das ist die alte Universitaet. Links daneben geht eine kleine Strasse
hoch, die ist fuer Autos eine Einbahnstrasse. Der Name ist "Lahntor".
Folge der Strasse und biege dann die erste rechts ab. Du umlaeufst so
ein wenig die Alte Uni. Jedoch halte Dich bergwaerts.

4. Links von Dir ist eine Haeuserzeile und dort gibt es mehrere
Kneipen, zuerst kommt der "Hirschberg" und dann ein paar Haeuser
das "Sudhaus". Dort sind wir drin. Die Bedienung ist auf "MorgenGrauen"
getriggert.

Wer weitergehende Beschreibungen braucht, melde sich einfach bei mir.


Gruss, Zook.

-----------------------------------------------------------------------------



Naechster Marburger Stammtisch am 12.11.1999 (Zook, 16. Okt 1999, 20:41:36):
Hiho, 

nach dem netten kleinen und feinen Stammtisch am Freitag moechte ich
schon einmal den naechsten Stammtisch ankuendigen. Er wird am

 12. November 1999 ab 19.30 Uhr 

stattfinden. Als Ort haben wir mal wieder das Sudhaus geplant (wenn 
viele kommen, suchen wir was anderes...)

Also, wer Interesse hat, kommen moechte oder was auch immer, bitte eine
kleine Mail an mich. 

Gruss, Zook.

P.S.: Hab ich nun ueberall das gleiche Datum oder wieder alles durcheinander 
      geworfen?

-----------------------------------------------------------------------------



Bonner Kino-Stati (Liara, 18. Okt 1999, 20:44:13):
Um mal die Treffen in Bonn wieder aufleben zu lassen, haben wir (112,
Spellfire und meine Wenigkeit) beschlossen, uns 

          am Donnerstag, den 21. Oktober im KINOPOLIS
          *Das Geisterschloss* anzusehen. (Vorstellung um 20:15)

Ab 19:30 wird jemand am Kino sein. Wir wuerden uns ueber zahlreiches
Erscheinen von Euch freuen ... zumal anschliessendes Gelage wegen vorhandener
Kaempferzweities ;-) absolut wahrscheinlich ist.

Bei Fragen zum Weg oder so :-) bidde Mail an Liara. 

-----------------------------------------------------------------------------



Mudder-Treffen auf der Spielemesse ?! (Montanus, 19. Okt 1999, 13:55:52):

Nicht vergessen: von DOnnerstag (21.10.) bis Sonntag (24.10.) ist in Essen
(Ruhrpott) wieder die beruehmt-beruechtigte Spielemesse.
Eigentlich hat man dort ja immer 'ne Menge Mudder getroffen.
Wie sieht's denn dieses Jahr aus? Wer ist dort, wer hat Lust, einen Treffpunkt
festzulegen?
Mich sieht man wohl diesmal nur Do und Fr, am Wochenende ists einfach zu voll.
:-)
Bis dann!

-Montanus

-----------------------------------------------------------------------------



Re: Naechster Marburger Stammtisch am 12.11.1999 (Lug, 20. Okt 1999, 00:27:56):
~#! rn=Zook rt=940099296 rg=treffen
~#! tid=940099296

12. November? Wieso dann? Ich rueck wahrscheinlich am uebernaechsten WE an.

V.i.N.
Lug

-----------------------------------------------------------------------------



Re: Mudder-Treffen auf der Spielemesse ?! (Yendi, 20. Okt 1999, 16:37:32):
~#! rn=Montanus rt=940334152 rg=treffen
~#! tid=940334152
Ich werde wohl taeglich in der Freak-Halle sein:
Halle 6, Stand 110/112 (leicht zu merken, was?)

Ein paar Meter weiter ist die Schatzkammer aus Koeln, FanPro hat seine Orks um
die Ecke aufgebaut, und am anderen Ende der Halle haengt Spiderman kopfueber
an einer Laterne...

Yendi
      freut sich schon auf Elfen und Katzenkriegerinnen im Tiger-Tanga.


-----------------------------------------------------------------------------



Kurzfristig in Berlin. (Fryder, 20. Okt 1999, 19:47:19):

Hallo,

inzwischen wohne ich schon ueber drei Monate hier in der Hauptstadt; die
Arbeit laesst aber heutzutage bekannterweise nicht viel Platz fuer schnoede
Vergnuegungen. Umso schnoeder moechte ich dieses WE, an dem ich
ungelogenerweise zum ersten Mal Zeit habe, hier was machen. Wenn jemand Lust
hat, so kurzfristig noch ein wenig uebers MG oder sonstwas (aber bitte nicht
ueber Luftschiffe) fachzusimpeln, melde er sich bitte bei mir. Ich wuerde
vorschlagen, wir treffen uns wie ueblich mit moeglichst vielen Leuten im
Kaffee Seeblick in der Ryne-Strasse. 

Mal sehn, obs was wird. Ob Fr. oder Sa. ist mir erstmal egal, schlagt was vor.

McFryder

-----------------------------------------------------------------------------



Re: Kurzfristig in Berlin. (Sublime, 20. Okt 1999, 21:10:40):
~#! rn=Fryder rt=940441639 rg=treffen
~#! tid=940441639
Freitag ist gaaaaaaaaaanz gaaaaaaaanz schlecht. Da ist naemlich so'n
Konzert mit ein paar ganz guten Hardcorebands, Beatsticks und Donots.
Naja, da sind auch noch Massive Toene und noch so'n paar komische
Prolos in Tiefgewaesserhosen (mal nett ausgedrueckt), aber das ist ja
nicht so die Rede wert. Btw, wer Bock hat, bei mir melden...
So, zurueck, Samstag im Seeblick ? Berlin Stati ? waer'ma wieder ganz
lustig. Was sagen denn so die andren dazu ?

Subl

-----------------------------------------------------------------------------



Re: Re: Kurzfristig in Berlin. (Mahatmu, 20. Okt 1999, 21:59:57):
~#! rn=Sublime rt=940446640 rg=treffen
~#! tid=940441639
Aeh. StaTi ist doch erst gewesen und ist erst wieder (etwa selbe Entfernung
zeitlich). Find ich schlecht. Ausserdem habe ich am Freitag jede Menge
Erstsemester der HU in den Seeblick 'eingeladen', zu deren Kneipentourbeginn.
Geduldet Euch lieber mal bis 4. (?) November. Da sind wir wieder alle
nuechtern genug. Letztes Mal hat Cakey gegen Mahatma und Gloin mit
8:7:6 gewonnen. Suffkopp.

Gloin

-----------------------------------------------------------------------------



Re^3: Kurzfristig in Berlin. (Golas, 20. Okt 1999, 22:03:12):
~#! rn=Mahatmu rt=940449597 rg=treffen
~#! tid=940441639
ich greife aus diesem anlass mal gnome etwas voraus und kuendige hier mal
dennaechsten berliner stati an

freitag, 5.11. im LUISENBRAEU

das ist am schloss charlottenburg, damit ihr auch mal gutes bier bekommt ;)
die genaue adresse kommt noch

golas

-----------------------------------------------------------------------------



Re^4: Kurzfristig in Berlin. (Sublime, 20. Okt 1999, 22:37:10):
~#! rn=Golas rt=940449792 rg=treffen
~#! tid=940441639
Das Luisenbraeu ist genau bei mir um die ecke ;)
Da werde ich wohl sicher anwesend sein ... Besonders
attraktiv, der LAUFENDE METER ! ;) 13 BIER FUER 30 DM ;)

Ich bin da ;)

Sublime

-----------------------------------------------------------------------------



Re: Noch ein Aufruf zum Stati in MR am 15.10.1999 (Lillebror, 20. Okt 1999, 22:38:10):
~#! rn=Zook rt=939630246 rg=treffen
~#! tid=939630246
*kicher* Der laufende Meter ist dann der Zwerg (oder Hobbit) der nach 13 Bier
die Toilette sucht? :-)

-----------------------------------------------------------------------------



Re: Re: Noch ein Aufruf zum Stati in MR am 15.10.1999 (Sublime, 20. Okt 1999, 22:39:22):
~#! rn=Lillebror rt=940451890 rg=treffen
~#! tid=939630246
So hab ich das noch gar nicht gesehen ;)))

Subl, der 2 Meter Elf ;)

-----------------------------------------------------------------------------



Re: Kurzfristig in Berlin. (Arancia, 21. Okt 1999, 06:20:26):
~#! rn=Fryder rt=940441639 rg=treffen
~#! tid=940441639
hm, also wenn wir das ausnahmsweise mal tagsber anvisieren knnten, wrd ich mit
Nachwuchs kommen *smile* hab euch alle schon lange nicht mehr gesehen...

-----------------------------------------------------------------------------



Re^4: Kurzfristig in Berlin. (Arancia, 21. Okt 1999, 06:21:30):
~#! rn=Golas rt=940449792 rg=treffen
~#! tid=940441639
charlottenburg? prima, kein rumgesuche und keine ewige fahrerei mehr.. das
sollten wir fter machen *grins*

-----------------------------------------------------------------------------



NICHT VERPASSEN !!! (Zarniya, 21. Okt 1999, 09:37:18):

                     A C H T U N G    ! ! !

Regt Euch auch diese duemmliche Jahrtausend-Diskussion auf? Wollt Ihr auch
nicht mit dem Strom der Massen schwimmen? Ist das nicht alles eh egal?
Wichtig ist der Spass und der ist garantiert beim ultimativen letzten
grandiosen

                Traditionsstammtisch in Koeln
                           dieses
                       Jahrtausends !!!

Sei auch Zeuge des einzigartigen Wettkampfes. Vergiss die Klitschkos, Tysons
und Schwabbelbacken (nennen sich meist Axel, weil sie da immer so arg
schwitzen vor ANGST, aber das nur nebenbei). Bei uns gibt es keinen
Schweiss, keine Fanatiker, keine Faschos, kein Gegroehle, sondern einen
fairen und geradezu suessen Wettkampf, der jedem Zuschauer das Wasser in die
Kiemen treibt! Der Termin wird in der ersten Januarwoche liegen, wohl
Freitags abend, weil es so Tradition ist, aber festgelegt wird das erst,
wenn beide Kaempfer sich auf den Termin geeinigt haben.

Neugierig? Wer wird da wohl die Hoerner gegeneinander wetzen? Was ist das
fuer ein Kampf, bei dem man nicht ins schwitzen kommt? Wo findet das Event
statt? Gibt es VIP-Karten? Schlafplaetze? Alles noch da... sogar Plaetze im
Wettkampfgericht. Naehere Infos spaeter an dieser Stelle. Bewerbungen bitte
nur per Mail an mich.

Marc


-----------------------------------------------------------------------------



Re: Kurzfristig in Berlin. (Anakin, 21. Okt 1999, 10:01:25):
~#! rn=Fryder rt=940441639 rg=treffen
~#! tid=940441639

> Kaffee Seeblick in der Ryne-Strasse.
                         ^^^^

Hehe in Berlin fangen wir an Strassen nach Muddern zu benennen
und Ryne hat es ja auch wirklich verdient (auch wenn sich kaum
jemand an ihn erinnern wird).

Anakin.

-----------------------------------------------------------------------------



Rudelmudden (Tangalur, 21. Okt 1999, 10:17:22):
             *** R U D E L M U D D E N in Koeln ***

Hi,

bei genuegend Interesse gibts am Sonntag (24.10.99 ab 15:00 Uhr) 
ein Rudelmudden im CIP-Raum der Chemischen Institute, der 
Uni-Koeln. Es stehen dafuer ca. 20 Rechner zur Verfuegung. Wer 
Lust hat moege sich bitte per MAIL bei Tangalur melden.

***************************************************************.

-----------------------------------------------------------------------------



Stammti in Halle (Alcina, 21. Okt 1999, 14:33:22):
Hi Muddies,

der Novemberstammti in Halle findet am 12.11.99 wie gehabt um 19 Uhr in der
Spaetschicht (fuer die, die noch nie da waren: Torstrasse 20, Naehe Rannischer
Platz) statt.

Um Uebernachtungen kann ich mich leider nicht kuemmern, da ich an dem WE
12.-14.11.99 in Dresden Konzerte habe. Ich leite aber gern was weiter.

Gruss Alcina - einen Stammti verpassend

P.S. Leipzig macht am 13.11., soviel ich vom Ein-Frau-Orga-Team Leipzig weiss.


-----------------------------------------------------------------------------



Re^4: Kurzfristig in Berlin. (Grimman, 21. Okt 1999, 16:29:16):
~#! rn=Golas rt=940449792 rg=treffen
~#! tid=940441639
Also, Luisenbraeu ist nett, *in Bus fall nach Hause fahr ausm bus fall ins
Bett kletter*, und der Termin ist ja auch klar gewesen ...
BTW, ich hoffe auf allgemeines Erscheinen, da ich meinen Geburtstag nachfeiern
werde ... Freibierjaeger aufgepasst! Ich habe kein Geld fuer euch!!!

Auch wenn es mir leidtut :)

Auch wenn ich Arancia gerne sehen wuerde, plaediere ich fuer abends, da ich
nachmittags leider keine zeit haben werde.

Vorraussichtlich :)

GrimMan , schonmal Geld sparend*

-----------------------------------------------------------------------------



Re: Re: Kurzfristig in Berlin. (Boing, 21. Okt 1999, 17:19:23):
~#! rn=Anakin rt=940492885 rg=treffen
~#! tid=940441639
Oh, ist es schon wieder Zeit fuer diesen Thread? :)
Ich erinnere mich an Ryne! *grins*
Und an Baldur den Ersten.
  Boing

-----------------------------------------------------------------------------



Re^3: Kurzfristig in Berlin. (Pampers, 21. Okt 1999, 19:02:47):
~#! rn=Boing rt=940519163 rg=treffen
~#! tid=940441639
Who the fuck ist Ryne?

Pampers. Weiss leider auch noch, wer Ryne war.

-----------------------------------------------------------------------------



Re^4: Kurzfristig in Berlin. (Sharia, 21. Okt 1999, 19:51:00):
~#! rn=Pampers rt=940525367 rg=treffen
~#! tid=940441639
Ryne .. Rudi ... wer war das schon ... ich erinnere mich allerdings gerne an 5
gezappte Zweities von Ryne :) 

Sharia, WARS NICHT !! :-)

-----------------------------------------------------------------------------



Re^5: Kurzfristig in Berlin. (Mupfel, 21. Okt 1999, 21:50:31):
~#! rn=Sharia rt=940528260 rg=treffen
~#! tid=940441639
Das waren noch echte Originale, so! :-)

-mupfel-

-----------------------------------------------------------------------------



Re^6: Kurzfristig in Berlin. (Sharia, 21. Okt 1999, 21:51:13):
~#! rn=Mupfel rt=940535431 rg=treffen
~#! tid=940441639
was ist schon ein original ... ? :-)

Sharia, ist auch original :-)

-----------------------------------------------------------------------------



Re^7: Kurzfristig in Berlin. (Sting, 21. Okt 1999, 21:52:07):
~#! rn=Sharia rt=940535473 rg=treffen
~#! tid=940441639
Ich bin nur ne billige Kopie, ein Schauspieler meines Bruders, aber das weiss
ja jeder .)
Ich bin nur ne billige Kopie, ein Schauspieler meines Bruders, aber das weiss
ja jeder .)

Sting, Zmud-anarglend

-----------------------------------------------------------------------------



Re^8: Kurzfristig in Berlin. (Anatol, 21. Okt 1999, 21:52:44):
~#! rn=Sting rt=940535527 rg=treffen
~#! tid=940441639
Betonung auf "billig". Ja.

Anatol ;)


-----------------------------------------------------------------------------



Re^9: Kurzfristig in Berlin. (Sharia, 21. Okt 1999, 21:53:14):
~#! rn=Anatol rt=940535564 rg=treffen
~#! tid=940441639
VORSICHT !! NIX GEGEN MEINEN BRUDER !!!

Sharia, muellt auch mal mit :-)

-----------------------------------------------------------------------------



Re: Re: Mudder-Treffen auf der Spielemesse ?! (Kamuhl, 21. Okt 1999, 22:50:37):
~#! rn=Yendi rt=940430252 rg=treffen
~#! tid=940334152
SPIELEN!!!

Oder was man auch sonst da so treibt...

Ich denke ich werd mich am Samstag umsehen und mich wieder auf die vergebliche
Suche nach Crash and Burn machen...
i.A. Kamuhl

P.s.: Roborally rulz (;

-----------------------------------------------------------------------------



Re^6: Kurzfristig in Berlin. (Mahatmu, 22. Okt 1999, 09:18:14):
~#! rn=Mupfel rt=940535431 rg=treffen
~#! tid=940441639
Bleibt zu hoffen das unsere jetzigen Originole nicht genauso schrullig
werden :)

Mahatmu

-----------------------------------------------------------------------------



Re^3: Mudder-Treffen auf der Spielemesse ?! (Paracelsus, 22. Okt 1999, 21:24:42):
~#! rn=Kamuhl rt=940539037 rg=treffen
~#! tid=940334152
> P.s.: Roborally rulz (;

Naja, wenn der "Steuermann" nicht gerade Pizza-Pepe heisst ...

Pa*

-----------------------------------------------------------------------------



Erinnerung (Daria, 23. Okt 1999, 18:34:11):
Hier ist nochmal die Erinnerung an den 
MUDSTAMMTISCH in Paderborn.
Wann: 26.11. ab 20:00 Uhr.
Wo: Tisch ist bestellt im Feuerstein.

Nachfragen, Wegbeschreibungen, Anmeldungen etc. bitte an daria@turithil - bin
nicht mehr so oft im MG.

*wink*
Daria

-----------------------------------------------------------------------------



Artikel (Tangalur, 23. Okt 1999, 23:41:34):
Das angekuendigte Rudelmudden fuer den 24.10. in Koeln 
muss leider ausfallen !

Tangalur


-----------------------------------------------------------------------------



Re^5: Kurzfristig in Berlin. (Mango, 24. Okt 1999, 01:42:35):
~#! rn=Sharia rt=940528260 rg=treffen
~#! tid=940441639

Der Priester in der Kapelle wars!

Mango, hats gesehen.


-----------------------------------------------------------------------------



DO (Leibniz, 24. Okt 1999, 22:11:21):
(1)

-----------------------------------------------------------------------------



Re: DO (Brandir, 24. Okt 1999, 22:15:25):
~#! rn=Leibniz rt=940795881 rg=treffen
~#! tid=940795881
(2)

-----------------------------------------------------------------------------



Re: Re: DO (Teddy, 24. Okt 1999, 23:07:58):
~#! rn=Brandir rt=940796125 rg=treffen
~#! tid=940795881
(3 oder so)
Teddy

-----------------------------------------------------------------------------



Re^3: DO (Morgoth, 25. Okt 1999, 09:10:30):
~#! rn=Teddy rt=940799278 rg=treffen
~#! tid=940795881
+=2

-----------------------------------------------------------------------------



StaTi Clausthal (Tilly, 26. Okt 1999, 01:17:25):
Nochmal zur Erinnerung: 

Naechsten Samstag, 30.10.99, ist Stammtisch in Clausthal. Wenn noch jemand aus
dem Umland kommen moechte (oder aus Clausthal direkt ;-) bitte bei mir melden.
Gruss,    - Tilly - 

-----------------------------------------------------------------------------



Treffen in Darmstadt (Ark, 26. Okt 1999, 20:16:28):
So, es ist wieder mal Zeit blubberlabersuelz, Stammtisch in DA, und so weiter,
als Datum stelle ich einfach mal anheim 05.11. oder 12.11., etc., Ort wie
gehabt, Hotzenplotz, Zeit 19.00 Uhr, und so fort ...
Wer will das kommentieren ?

Okokok, das war etwas lustlos geschrieben, aber wer kann mir da schon
Vorwuerfe machen ? :-)
Sowas anzustossen scheint ja immer noch mein Ding zu sein.

Any takers ?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Treffen in Darmstadt (Anacrion, 26. Okt 1999, 20:17:06):
~#! rn=Ark rt=940961788 rg=treffen
~#! tid=940961788
5.11. ist gut

Anac* - kommt :)

-----------------------------------------------------------------------------



Re^4: Mudder-Treffen auf der Spielemesse ?! (Montanus, 26. Okt 1999, 21:48:22):
~#! rn=Paracelsus rt=940620282 rg=treffen
~#! tid=940334152

Hallo Pa*!
Aber hallo!
Auf der Winter(burg)party gilt es: ich bringe Roborallye mit, und ich glaube
nciht, dass Du die erste Fahne lebend erreichst.

Gruesse vom

Pizza-Pepe

-----------------------------------------------------------------------------



Marburg trifft ich unerhoert :-) (Cisou, 26. Okt 1999, 23:22:21):
Zook, Leia und meine Wenigkeit haben kurzentschlossen ein kleines Mud-Treffen
angesetzt:
Samstag, 30.10 um 19.30 Uhr im Sudhaus, weils da so nett war, billig is und
man um seine Zeche wuerfeln kann (leider nicht Maexchen:-).
Bitte eine kurze Mail an Zook wegen Tischreservierung, Marburg mischt
schliesslich am WE auch die Kneipen auf :-).
 Uebrigens: Our special guest: Lug :-)
Aloa he

Die diebische Elster

-----------------------------------------------------------------------------



Re: Treffen in Darmstadt (Ark, 27. Okt 1999, 00:00:27):
~#! rn=Ark rt=940961788 rg=treffen
~#! tid=940961788
Also: der 05.11. isses :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Marburg trifft ich unerhoert :-) (Lug, 27. Okt 1999, 01:34:37):
~#! rn=Cisou rt=940972941 rg=treffen
~#! tid=940972941

Ich schleppe Elora mit...


Lug

-----------------------------------------------------------------------------



StaTi in MUENCHEN!!! (Reaper, 27. Okt 1999, 10:08:14):

 So, liebe Mudder!

 Am FREITAG, den 29.10.99 isses jetzt wieder soweit.
 Im 'Augustiner am Dante' wird diesmal das Treffen 
 stattfinden. Infos gibts natuerlich wie immer unter
 http://www.dmsp.com/service/mg.

 Ne Liste der angemeldeten Leute gibts da natuerlich
 auch wieder. Ich hoffe aber, es werden noch ein paar
 mehr, und die Nuernberger sind diesmal auch wieder
 dabei ;))

 Grusz, Reaper

-----------------------------------------------------------------------------



Re: StaTi in MUENCHEN!!! (Sharia, 27. Okt 1999, 10:40:41):
~#! rn=Reaper rt=941011694 rg=treffen
~#! tid=941011694
tja ich bin zwar Freitag/Samstag in Muenchen, hab aber leider keine Zeit zum
Stati zu kommen ... 

(fuer den Marburger Stati gilt das leider auch)

Sharia, all hallows even - fieber ...

-----------------------------------------------------------------------------



Re^4: DO (Nonne, 27. Okt 1999, 12:46:03):
~#! rn=Morgoth rt=940835430 rg=treffen
~#! tid=940795881
(6) oder zaehlt Teddy fuer 2 (wegen oder so) ? dann (7)

-----------------------------------------------------------------------------



Re^5: DO (Teddy, 27. Okt 1999, 15:03:44):
~#! rn=Nonne rt=941021163 rg=treffen
~#! tid=940795881
Ne, das oder so war eigentlich nur mit meiner wie in letzter Zeit haeufiger
ungewissen Anwesenheit.

Teddy

-----------------------------------------------------------------------------



Re^6: DO (Nonne, 27. Okt 1999, 15:05:59):
~#! rn=Teddy rt=941029424 rg=treffen
~#! tid=940795881
aber du musst zugeben, dass kann man so oder so verstehen ;-)

Nonne.

-----------------------------------------------------------------------------



Re^7: DO (Teddy, 27. Okt 1999, 15:06:17):
~#! rn=Nonne rt=941029559 rg=treffen
~#! tid=940795881
Jaja ;-(

Teddy, nimmt doch schon ab.

-----------------------------------------------------------------------------



Re^8: DO (Apollonia, 27. Okt 1999, 17:55:32):
~#! rn=Teddy rt=941029577 rg=treffen
~#! tid=940795881
Na, ich hoff, ihr habt nicht vergessen, dass ich auch komme ;)

Apo* (die ein Waffeleisen sucht)

-----------------------------------------------------------------------------



Re: Re: Treffen in Darmstadt (Del, 27. Okt 1999, 20:18:33):
~#! rn=Ark rt=940975227 rg=treffen
~#! tid=940961788
Super! Bin natuerlich auch dabei... vielleicht kommt ja der ein oder andre
Gast!?! Gibt's danach auch mal wieder ein Rudeln???
Del, die sich wieder mal auf die Darmstaedter Runde freut, aber froh ist, doch
nicht bei den Heinern zu wohnen... *zwinker Ark*

-----------------------------------------------------------------------------



Re^3: Treffen in Darmstadt (Anacrion, 27. Okt 1999, 20:25:10):
~#! rn=Del rt=941048313 rg=treffen
~#! tid=940961788
Hmmm. Mal schauen ... ist im moment echt langsam der Pool ... ich werde den am
6.11. neu installieren ... rudeln duerfte also evtl. ausfallen *seufz*

Anac*

-----------------------------------------------------------------------------



Re: Re: StaTi in MUENCHEN!!! (Wurzel, 27. Okt 1999, 20:37:18):
~#! rn=Sharia rt=941013641 rg=treffen
~#! tid=941011694
wenn ihr nicht zwischendrin umzieht, komm ich nach. und natuerlich, wenn die
bahn keine verspaetung hat. schaetze mal halb elf bin ich dann da, lasst mir
noch ein bier uebrig, das brauch ich dann.

wurzel

-----------------------------------------------------------------------------



Re^9: DO (Morgoth, 27. Okt 1999, 22:15:12):
~#! rn=Apollonia rt=941039732 rg=treffen
~#! tid=940795881
Morgoth zieht den <ihrwisstschon> ein. ;-)

-----------------------------------------------------------------------------



Re^9: DO (Teddy, 28. Okt 1999, 03:04:21):
~#! rn=Apollonia rt=941039732 rg=treffen
~#! tid=940795881
Wie koennte man dich vergessen. ;-)

Teddy, sein Waffeleisen versteckend.

-----------------------------------------------------------------------------



Re^10: DO (Apollonia, 28. Okt 1999, 08:46:52):
~#! rn=Morgoth rt=941055312 rg=treffen
~#! tid=940795881
Nuetzt nix, Morgoth, nuetzt gar nix :)

Apo* (hinterhaeltig grinsend)

-----------------------------------------------------------------------------



Re^10: DO (Apollonia, 28. Okt 1999, 08:47:32):
~#! rn=Teddy rt=941072661 rg=treffen
~#! tid=940795881
Hmmmmmmmmmmm, warum frag ich mich jetzt bloss, ob das ein Kompliment war oder
das genaue Gegenteil??? ;)

Apo* (gruebelnd)

-----------------------------------------------------------------------------



Stammtisch in Bonn (Zephyr, 28. Okt 1999, 12:28:04):
Richtig gelesen!

Nach jahrelanger Pause wollen wir versuchen, die
Stammtischkultur in Bonn wieder ein wenig aufleben
zu lassen. Ausgesucht haben wir (als da waeren
bisher Liara, Feuerwehr, Spellfire und ich) uns
einen gemuetlichen Irish Pub, "Fidlers", sowie
einen Montag, naemlich den 8.11.1999, ab 20 Uhr.

In der Hoffnung auf etwas kaempferische Verstaerkung
bei all dieser magisch/zauberischen Uebermacht,

  C4

PS: Wegbeschreibung bzw Busverbindung gibbs auf
    Anfrage bei mir

-----------------------------------------------------------------------------



Re^11: DO (Orktoeter, 28. Okt 1999, 13:56:13):
~#! rn=Apollonia rt=941093252 rg=treffen
~#! tid=940795881
n+1 (sei n nun 7 oder 8 oder was auch immer)

-----------------------------------------------------------------------------



Spielchen fuer die Nikolausparty :) (Unasai, 28. Okt 1999, 15:15:46):
 Ich moderier zur Not :) *hehe* aber nur zur Not :)

Wahl der Miss Christmastree

Wollten sie liebe Leserin, nicht auch schon immer schoen und beruehmt sein? Zu
den begehrten
Grazien gehoeren, die ein Glamourleben fuehren und von einer Luxusherberge zur
naechsten 
jetten, von spendablen Weihnachtsmaennern umschwaermt wie die Motte das Licht?
Kurzum: Wollten sie nicht immer schon ein Top-Model sein? Wie Claudia
Schiffer, oder Witwe 
Bolte, die Pechmarie oder des Teufels Grossmutter??

Voraussetzungen:

1. Zunaechst einmal sollten sie eine Figur haben, die dem Idealweihnachtsbaum
entspricht, 
   was bedeutet: Oben spitz zulaufend, nach unten immer runder und breiter
werdend. 
   Sollten sie einem Spitzkegel aehneln, kommen sie dem angestrebten Bild
schon recht nahe.

2. Entsprechend sollte ihr Geaest gewachsen sein, und das heisst: Je
verzweigter und dichter
   ihre Arme und die anderen Gliedmassen, desto besser. Ein kraftiger
gesunder, moeglichst 
   gruener Ganzkoerpernadelbewuchs ist ebenfalls unabdingbar, andernfalls
haben sie ein 
   Handicap. 

3. Ihre Fuesse muessen problemlos in einen handelsueblichen Christbaumstaender
passen, da 
   Spezialanfertigungen beim Wettbewerb aus verstaendlichen Gruenden
ausgeschlossen sind. 
   Keine Teilnehmerin, so das Regularium, darf wegen Minderbemittelung
benachteiligt werden.

4. Fuer die Garderobe gilt Gleiches: Alle Teilnehmerinnen werden zur
Vorauswahl im 
   einheitlichen natuerlichen Christmastree-Look zur Begutachtung vor der
Jury aufgestellt.
   Die spaetere Kleiderordnung sieht dann vor : Lametta(schlicht silbern),
zehn gleichmae- 
   ssig verteilte Kugeln (zwei an vorgegebenen Fixpunkten, die restlichen
abhaengig von ihrem 
   Geaest angebracht!), zwoelf Kerzen (Bienenwachs gelb) in Klemmhaltern 
(Buestenhalter 
   duerfen nicht benutzt werden). Als Kopfbedeckung ist eine Christbaumspitze
erforderlich 
   (40cm. Maximalhoehe)


Una* (grinsend)

-----------------------------------------------------------------------------



Re: StaTi in MUENCHEN!!! (Hight, 28. Okt 1999, 16:06:32):
~#! rn=Reaper rt=941011694 rg=treffen
~#! tid=941011694
tut mir leid abba ich muss uebermorgen arbeiten ... wie immer .o( ... hab ich
schon erwaehnt das ich die oberschwester hasse ... 5 wochenenden hitereinander
*grummel*

-----------------------------------------------------------------------------



Re^11: DO (Teddy, 28. Okt 1999, 17:22:53):
~#! rn=Apollonia rt=941093252 rg=treffen
~#! tid=940795881
Wuerde ICH jemals was boeses sagen?

Teddy, zutiefst getroffen.

-----------------------------------------------------------------------------



Re^12: DO (Apollonia, 28. Okt 1999, 18:40:14):
~#! rn=Teddy rt=941124173 rg=treffen
~#! tid=940795881
Ja biste nu Chaot oder nich??? ;)

Apo* (kopfschuettelnd)

-----------------------------------------------------------------------------



Satmmtisch November.... (Unasai, 28. Okt 1999, 19:36:49):
Hallihallo, 

ich weiss es ist ein bisschen frueh, fuer eine Ankuendigung, aber eh ichs
vergesse :)
Stammtisch ist am Samstag, d. 13.11.1999, 19.00 UHr im "Luisenhof". Wir sehen
uns ja da, oder bei mir zu Hause vorher wie immer :) *g*
Wegen Uebernachtungsmoeglichkeiten bitte vorher mailen, wie immer

tschuessi Una*

-----------------------------------------------------------------------------



Re: Satmmtisch November.... (Apollonia, 28. Okt 1999, 20:20:24):
~#! rn=Unasai rt=941132209 rg=treffen
~#! tid=941132209
Ich komm natuerlich... :) War ja beim letzten nicht da.

Apo* (sich auf ihr Schwesterherz freuend)

-----------------------------------------------------------------------------



Re^13: DO (Teddy, 28. Okt 1999, 20:21:14):
~#! rn=Apollonia rt=941128814 rg=treffen
~#! tid=940795881
Klar bin ich Chaot, also: VERTRAU MIR ;_)))

Teddy

-----------------------------------------------------------------------------



Re: Re: Satmmtisch November.... (Alcina, 28. Okt 1999, 20:21:46):
~#! rn=Apollonia rt=941134824 rg=treffen
~#! tid=941132209

Gute Nachrichten - ich kann nicht kommen, weil ich in Dresden konzertiere.
Stammti in Halle findet am 12.11. trotz allem ab 19 Uhr in der Spaetschicht
statt.

Alcina


-----------------------------------------------------------------------------



Re^14: DO (Apollonia, 28. Okt 1999, 20:23:41):
~#! rn=Teddy rt=941134874 rg=treffen
~#! tid=940795881
Ui, auweia... ;)

Apo*

-----------------------------------------------------------------------------



Re: Re: Satmmtisch November.... (Golas, 29. Okt 1999, 09:20:36):
~#! rn=Apollonia rt=941134824 rg=treffen
~#! tid=941132209
ihr koennt es einem ja schwer machen ... na gut, was solls.
ich komm auch vorbei, will aber sonntag frueh um 0530 einen starken kaffee
haben!
golas sich fortbilden lassend

-----------------------------------------------------------------------------



Re^3: Satmmtisch November.... (Apollonia, 29. Okt 1999, 09:53:36):
~#! rn=Golas rt=941181636 rg=treffen
~#! tid=941132209
Kriegste, mein Suesser, und wenn ich ihn selbst kochen muss ;)  Was tut man
nicht alles fuer die PODIs... :)

Apo*

-----------------------------------------------------------------------------



Re^3: Treffen in Darmstadt (Ark, 29. Okt 1999, 23:24:15):
~#! rn=Del rt=941048313 rg=treffen
~#! tid=940961788
Hm, das war der Messerstoss in den Ruecken, gluecklicherweise von zarten
Haenden gefuehrt, so dass er wirkungslos an meiner dicken Haut herabgeglitten
ist ... oder so. Jedenfalls kommt hier noch eine kurze Beschreibung zum
Hotzenplotz:
A5, Darmstaedter Kreuz abfahren Richtung Stadtmitte. Immer weiter geradeaus,
bis ihr unter dem Luisenplatz (der mit dem langen Denkmal) verschwindet.
Weiter dem Ring folgen, bis linker Hand das Schloss auftaucht. Dort nach
rechts abbiegen und den Ring verlassen (Alexanderstrasse). Dann erste Strasse
links, weiterfahren bis zur Buchhandlung und dort Parkplatz suchen. Bei der
Buchhandlung in die kleine Gasse gehen und den Hotzenplotz an der naechsten
Ecke finden.
Bis naechste Woche.



              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Treffen in Darmstadt (Montanus, 30. Okt 1999, 09:28:48):
~#! rn=Ark rt=941232255 rg=treffen
~#! tid=940961788

ARK, alter Vorwaertseinparker!

Gib mal eine Wegbeschreibung fuer den OEPNV an, oder gehoerst Du zu den
Leuten, die auf Stammtischen nur Cola Light trinken? ;-)
Aehm: bitte.

Muchas Grazias

i.A. von Pizza-Pepe

-Montanus

-----------------------------------------------------------------------------



Re^5: Treffen in Darmstadt (Wurzel, 30. Okt 1999, 10:42:48):
~#! rn=Montanus rt=941268528 rg=treffen
~#! tid=940961788
oepnv ist ganz einfach. wenn du mit der bahn kommst, wirst du wahrscheinlich
am bahnhof aussteigen. dort zu einem taxi gehen, "zum hotzenplotz bitte"
sagen und relaxen. viel einfacher geht es kaum :)

wurzel

-----------------------------------------------------------------------------



Re^5: Treffen in Darmstadt (Ark, 30. Okt 1999, 13:23:48):
~#! rn=Montanus rt=941268528 rg=treffen
~#! tid=940961788
MONTANUS, alter Kinderschokoladeesser!

Langsam trudelst Du auf dem im Umbau befindlichen Bahnhof ein. Muehsam nimmst
Du Dein Baumwolljaeckchen und begibst Dich mit Hilfe Deines Stocks Richtung
Ausgang. Frag' einen freundlichen Bediensteten des dortigen Haufens Personal
nach den Bussen. Gehe nicht ueber die Strassenbahn. Ziehe unbedingt ein
Busticket. Nachdem Dich die hilfsbereiten Darmstadter in die Buslinie H
gezerrt, geschrieen und geschubst haben, erkaempfst Du Dir mit Deiner
Holzwaffe den einzigen freien Sitzplatz. Nachdem Du schwitzend die Zeit bis
zur 5. Haltestelle nach dem Bahnhof ohne Ticket und Ausweiskontrolle
ueberstanden hast, kannst Du aussteigen. Ohne Hast ueberquerst Du die Strasse
dort und rennst dann - weil doch ein Auto Dich erwischen will - auf die kleine
Strasse zu, die nach Norden, direkt auf den Hotzenplotz zu, fuehrt, er liegt
linker Hand.
Strassennamen und Haltestellennamen sind mir jetzt nicht unbedingt gelaeufig,
aber wozu ist man ein Untersucheskript?! :-)
Ich bestelle schonmal eine Kuesschen fuer Dich, dann darfst Du fuer den Rest
des Abends in der Ecke sitzen.
Aehm: bitte.

i.k.w.i.g.A.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Treffen in Darmstadt (Del, 30. Okt 1999, 20:23:54):
~#! rn=Ark rt=941282628 rg=treffen
~#! tid=940961788
Au backe... ich bring dann mal ein paar Raeucherstaebchen, Odol extra stark,
nen Atemschutz und zwei Knebel mit... und ich werde zudem noch den
penetrantesten Duft auflegen, den ich nur finden kann... *seufz* Wie soll man
das denn mit zweien aushalten, die vor lauter Kuesschen keinen Halt mehr
kennen. ;-) Aber vielleicht mieten wir dann doch noch ne kleine Isokammer an
fuer alle Knobifetischisten...
Bis Freitag!
Del
qq

-----------------------------------------------------------------------------



Re^6: Treffen in Darmstadt (Wurzel, 31. Okt 1999, 08:42:54):
~#! rn=Ark rt=941282628 rg=treffen
~#! tid=940961788
vorsicht, arks hinweis koennte fehlerhaft sein :)
nicht was die kuesschen betrifft, das ist traditionell das beste am hoplo.
aber wenn im letzten jahr nicht alles umgestellt worden ist, faehrt die
buslinie h nicht am bahnhof vorbei... zwar nicht allzu weit davon (500 m),
aber wenn du am bahnhof stehst, kannst du lange darauf warten.

die kleine strasse, die direkt nach norden auf das hoplo zufuehrt, heisst
uebrigens mauerstrasse :)

ark, das solltest du nochmal ueben.

wurzel

-----------------------------------------------------------------------------



Wird ma wieder Zeit.. (Karic, 31. Okt 1999, 23:11:07):
Nach dem 1. internationalen Stati in Clausthal wird es doch mal wieder
Zeit fuer nen Stati in BS.
Vorschlag: Fr. 12.11. 20h im 1/4 nach ..

Fragen/Kritik/Anregungen/Aenderungswuensche nehm ich nur ungern entgegen ..
reagiere/antworte aber darauf ;)

Karic

-----------------------------------------------------------------------------



stati in B (Gnome,  1. Nov 1999, 11:29:55):
hiho,

diesen monat, wie schon von golas angekuendigt, findet der stammtisch
zur abwechslung mal im

    Luisenbraeu

statt. den genauen strassennamen weiss ich net (golas?). auf jeden
fall in der naehe vom schloss charlottenburg, nen bus hats da auch vor
der haustuer (golas?).
achja... dort gibbet das beste SELBSTgebraute bier in berlin und der meter
kostet nur 30 mark oder so.

ahso: stati is am Fr., 05.11.99, 20.00h

gnOme

-----------------------------------------------------------------------------



Re: stati in B (Golas,  1. Nov 1999, 12:29:54):
~#! rn=Gnome rt=941452195 rg=treffen
~#! tid=941452195
tja, meine lieben fans des cafe seeblick ...
dummerweise ist das luisenbraeu bis auf den nahezu letzten platz ausgebucht
fuer freitag :(((
folglich findet der stati dann wohl wieder im seeblich statt. aber fuer
dezember hab ich grad noch 20 plaetze reservieren koennen.
adresse geb ich hier schon mal raus:
LUISENBRAEU
Luisenplatz 1
BUS 145, N45 (beide ueber Zoo)

Golas, extrem ueberrascht, dass man in diesem grossen laden keine plaetze mehr
fuer freitag bekommt.

-----------------------------------------------------------------------------



Re: stati in B (Anakin,  1. Nov 1999, 12:45:02):
~#! rn=Gnome rt=941452195 rg=treffen
~#! tid=941452195

Hehe endlich kann ich wieder jeden Freitag in meine Stammkneipe
gehen ohne evt. auf Mudder zu treffen :).

Der letzte Versuch den Stammtisch zu verlegen schlug ja fehl.

Anakin.

-----------------------------------------------------------------------------



Mal ne Frage... (Apollonia,  1. Nov 1999, 14:20:05):
Gibt's unter Euch welche, die's in Erwaegung ziehen wuerden, Anfang Dezember
(1. Dezember-WE, um genau zu sein) einen StaTi in FFM abzuhalten?  Die Fete
ist zwar ne Woche spaeter, aber da kommen ja auch nicht ALLE hin... ;)
Apo* (auf Antworten wartend)

-----------------------------------------------------------------------------



Re: Re: stati in B (Grimman,  1. Nov 1999, 16:55:54):
~#! rn=Golas rt=941455794 rg=treffen
~#! tid=941452195
da faehrt auch noch der N21 vom Zoo nach Norden, falls es interresiert

GrimMan  ist da schon oefter rausgestolpert

-----------------------------------------------------------------------------



Re: Stammtisch in Bonn (Schleicher,  1. Nov 1999, 18:08:23):
~#! rn=Zephyr rt=941106484 rg=treffen
~#! tid=941106484
Ok ihr habt es so gewollt Jenandra und ich werden erscheinen :-) Seht zu wie
Ihr damit klarkommt!
Schleicher

-----------------------------------------------------------------------------



Re^7: Treffen in Darmstadt (Ark,  1. Nov 1999, 19:27:35):
~#! rn=Wurzel rt=941355774 rg=treffen
~#! tid=940961788
Okok, mein raffiniert geplantes Vorhaben, Darmstadt mit Horden von planlosen
Muddern zu ueberschwemmen, ist also fehlgeschlagen. Na gut, also 200m (nicht
500, da streit ich mich nicht :-) ) rechts vom Hauptausgang des Bahnhofs liegt
die wahre Haltestelle der Linie H. Laufen oder die eine Station mit irgendwas
anderem fahren :-)
Mauerstrasse? Kann sein, aber da muesste ich jetzt meinen Platz im RZ
aufgeben, um mal kurz vorbeizuschauen, ob Du Recht hast. Egal, wenn das net
stimmt, haut Wurzel :-)
CU on Fraidej.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: stati in B (Arancia,  1. Nov 1999, 22:27:31):
~#! rn=Golas rt=941455794 rg=treffen
~#! tid=941452195
nun, es ist zwar nicht um die Ecke sondern wieder in hinterichweissnichtwo
*smile* aber...
s
wbahthw rcik hri tnnwdk nhhafswuwk ,akas ?swrwb tniwb swu fda ?swmcwdhgwg
tiwrswnwosA hwsiwk tik rcdw wuhwo usd hwttinzgag swsiw wgar rci 
oops
hm
ich glaube ich hab nen Sprachfluch *lach*
oder mein zmud ist wieder im Eimer
jedenfalls: ich komme 

Die Apfelsine, leicht verwirrt

-----------------------------------------------------------------------------



Re: stati in B (Cakey,  1. Nov 1999, 22:27:41):
~#! rn=Gnome rt=941452195 rg=treffen
~#! tid=941452195

Moin!

Irgendwie find ichs gut, dass der Stati doch nich im Luisenbraeu is, da hab
ich groessere Chancen, gut zu Hause anzukommen. Die Radwege in Berlin sind
doch nich so breit, wie ich die dann immer brauch.

Cakey


-----------------------------------------------------------------------------



Re: Re: stati in B (Sublime,  1. Nov 1999, 22:28:54):
~#! rn=Cakey rt=941491661 rg=treffen
~#! tid=941452195
Tja, bei mir ist das Luisenbraeu gleich nebenan...
Fuer mich waers praktisch gewesen und das Bier ist auch
gut !!! ;) Wie gesagt,im Dez muessen wir da nen Stati
machen, ;) dann bin ich auch oefters da ;) ...

Subl

-----------------------------------------------------------------------------



Naechster Aufruf zum MR-Stati am 12.11.1999 (Zook,  1. Nov 1999, 22:34:58):
Hiho,

nachdem hier so in die Rubrik gepostet wird, von uns noch einmal
ein kleiner Aufruf zum naechsten offiziellen Marburg-Stammtisch.

Er findet am

  12. November 1999 ab 19.30 Uhr

im Sudhaus in Marburg statt. Wer Interesse hat und kommen moechte,
melde sich bitte bei mir, damit wir entsprechend Platz reservieren
koennen oder ne andere Kneipe suchen koennen.

Gruss, Zook.

P.S.: Sollte Lug kommen, so werden wir aus biertechnisch 
tradierten Gewohnheiten eine andere Kneipe auswaehlen.. ;)


-----------------------------------------------------------------------------



Re^3: stati in B (Mahatmu,  2. Nov 1999, 09:02:30):
~#! rn=Sublime rt=941491734 rg=treffen
~#! tid=941452195
Ja, Sublime, aber Cakeys Argumentation ist schwerwiegend. Immerhin fuehrt
er nach Lamarion mit 10(L):8(C):7(Mahatma). Und da wir alle aus dieser
oestlichen Ecke kommen: Pro Bierschuettler ;-)

Mahatmu

-----------------------------------------------------------------------------



Stammtisch in AC (Fizban,  2. Nov 1999, 12:11:51):
Also da es sich mal wieder keiner traut muss ich das diesmal machen
Hiermit moechte ich alle einladen zum Novemberstammtisch in Aachen der am 
Freitag , den 5.11.1999 wie immer im Chico Mendes stattfindet.
fuer Schlafmoeglichkeiten kann gesorgt werden und fuer naehere Fragen bitte an
Kamelot ,Panic oder Darkwing wenden (damit hab ich nichts am Hut)
p.s. Wegbeschreibungen sind vorhanden

-----------------------------------------------------------------------------



Re^8: Treffen in Darmstadt (Muadib,  2. Nov 1999, 12:19:07):
~#! rn=Ark rt=941480855 rg=treffen
~#! tid=940961788
hi,

gibts da bitte nochmal ne zusammenfassung ?

bya

muadib *schwer von begriff* **sometimes**

-----------------------------------------------------------------------------



Stati Leipzig :) (Unasai,  2. Nov 1999, 13:21:20):
also, nach langwierigem Suchen (natuerlich nur fuer euch und ohne
eigennuetzige HIntergedanken) haben Sinus und ich eine gemuetlichere Kneipe
fuer den Leipziger Stammtisch gefunden. 
Sie heisst "Zur Tenne" und kann mit einer relativ ordentlichen Bier- und
Speisenauswahl aufwarten :), welche ja im Luisenhof bekanntlich nicht der
Brueller war.
Die Kneipe ist sich ca. 100 bis 200m von mir zu Hause entfernt, so dass
eventuelle Bierleichen von heldenhaften Kaempfern (Gnome, Golas, Lurchi
*hehe*) nach Hause getragen werden koennen :) (btw ICH bin natuerlich KEIN
heldenhafter Kaempfer, entgegen eigener Behauptungen :), d.h. nein Cakey ich
trag Dich nicht zu mir nach Hause nein, nein, nein *g*) 
Treffpunkt ist entweder an dem Samstag 18.45 Uhr bei mir zu Hause oder 19.00
uhr vor dem Luisenhof, zwecks spaeterer Fuehrungdahin :)..bei Fragen bitte
Mail an mich....
 
tschuessi bis bald Una*

-----------------------------------------------------------------------------



Re: Stati Leipzig :) (Apollonia,  2. Nov 1999, 13:22:48):
~#! rn=Unasai rt=941545280 rg=treffen
~#! tid=941545280
Und nein, ich helf beim Tragen auch nicht... ich muss mich auch immer selber
nach Hause schleppen ;)

Apo* (die auch wieder mal nach Leipzig kommt)

-----------------------------------------------------------------------------



Re: Re: Stati Leipzig :) (Unasai,  2. Nov 1999, 13:24:04):
~#! rn=Apollonia rt=941545368 rg=treffen
~#! tid=941545280
Seufz
wieviele Leichen werde ich wohl beherbergen muessen? hm? GUard, hilf mir doch
mal, oder willste auch in die ewigen Biergruende eingehen????
Una*

-----------------------------------------------------------------------------



Re^3: Stati Leipzig :) (Guard,  2. Nov 1999, 13:29:09):
~#! rn=Unasai rt=941545444 rg=treffen
~#! tid=941545280
Also, um mal Bierleichen zu zaehlen:
Cakey, Ivo, Guard (wird von seinem Zweitie getragen), Illmatic (der kann von
seinem Erstie getragen werden), 
Ich hab bestimmt einige vergessen, aber es werden genug Kaempfer da sein, um
die Kneipe leer zu bekommen!

Guard (ist sich da ganz sicher)

-----------------------------------------------------------------------------



Re^4: stati in B (Grimman,  2. Nov 1999, 19:14:41):
~#! rn=Mahatmu rt=941529750 rg=treffen
~#! tid=941452195
Und ich (als Kaempfer) sage : Das Bier ist im Luisenbraeu besser als im
Seeblick!!!

MBIMG    ,    GrimMan

-----------------------------------------------------------------------------



Re^5: stati in B (Sublime,  2. Nov 1999, 21:06:52):
~#! rn=Grimman rt=941566481 rg=treffen
~#! tid=941452195
Da hat'er recht ;)
Und das, weil :

a) Im Luisenbraeu gibst frisch gebrautes Bier
   das es nirgendswo anders gibt ;)
b) Das haut maechtig rein...
c) Im Luisenbraeu macht touristen-verarschen
   ganz besonders spass ;) *weil alle alt und
   total hacke sind*

Also, auf das demnaechst ELFEN zeigen koennen,
was sie beim Saufen alles wegstecken koennen ;)
Termine machen wir, dann gibts kuehles Bier...
ich weiss, war nicht der hammer, aber auf :
Wir Termine machen, lasset uns Bier ? (bla)
reimt sich nix ;)
Also, gibts noch Wir machen Termine, dann gibts
kuehle Biere, aber das ist ja auch nicht der Hammer

*grins_breit(BREIT)*
Subl

-----------------------------------------------------------------------------



Re^8: Treffen in Darmstadt (Ark,  2. Nov 1999, 21:29:06):
~#! rn=Ark rt=941480855 rg=treffen
~#! tid=940961788
Hier der Link zum Stadtplan:

Vom Bahnhof bis zur Stadtmitte (Rheinstrasse Richtung Stadtmitte/Denkmal, dann
dem Ring durch den Tunnel folgen, immer drauf bleiben, bis die
Alexanderstrasse nach rechts abzweigt, der folgen):

http://www.tu-darmstadt.de/htbin/htimage/city/doc/2.conf?441,577

Hotzenplotz ist Ecke Mauerstrasse - Lauteschlaegerstrasse (links unten,
Mauerstrasse ist die zweite links, wenn man in die Alexanderstrasse vom Ring
aus einbiegt):

http://www.tu-darmstadt.de/htbin/htimage/city/doc/2.conf?567,454

Hoffentlich war's das jetzt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stati Leipzig :) (Teddy,  3. Nov 1999, 00:52:08):
~#! rn=Apollonia rt=941545368 rg=treffen
~#! tid=941545280
Immer?

Teddy, sagt da mal lieber nix zu. 

-----------------------------------------------------------------------------



Re: Stati Leipzig :) (Golas,  3. Nov 1999, 03:53:45):
~#! rn=Unasai rt=941545280 rg=treffen
~#! tid=941545280
also moooooooment mal
ich ein heldenhafter kaempfer ... :)
ich trage nur gnome!

golas autobedingt bei cola pur verbleibend

-----------------------------------------------------------------------------



Re^3: Stati Leipzig :) (Apollonia,  3. Nov 1999, 08:37:02):
~#! rn=Teddy rt=941586728 rg=treffen
~#! tid=941545280
Also, zu den Dingen, die ich definitiv weiss (und das als Frau!! jaja),
gehoert die Tatsache, dass ich auch in DO noch auf eigenen Fuessen nach Hause
gegangen bin.  Schwankend vielleicht, aber immerhin ;)

Apo* (zu dem Zeitpunkt die hochhackigen Schuhe verfluchend)

-----------------------------------------------------------------------------



Re^4: Stati Leipzig :) (Alcina,  3. Nov 1999, 23:27:21):
~#! rn=Apollonia rt=941614622 rg=treffen
~#! tid=941545280


Mich muss keiner tragen, es sei denn, ich kippe im Konzert am Samstag in
Dresden in der Unterkirche der Frauenkirche (ab 20 Uhr *Werbung mach*) um.
Ergo: bin nicht in Leipzig zum Stammti.

Noch was in eigener Sache:

Stammtisch in Halle ist 12.11.99 ab 19 Uhr in der Spaetschicht.

Gruss Alcina


-----------------------------------------------------------------------------



Re^4: Stati Leipzig :) (Teddy,  3. Nov 1999, 23:42:07):
~#! rn=Apollonia rt=941614622 rg=treffen
~#! tid=941545280
Fuesse ja, aber so ganz ohne Hilfe? ;-)

Teddy, hat leider diesmal keine Fotos gemacht.

-----------------------------------------------------------------------------



Re^6: stati in B (Grimman,  4. Nov 1999, 03:31:17):
~#! rn=Sublime rt=941573212 rg=treffen
~#! tid=941452195
>Also, auf das demnaechst Elfen zeigen koennen, 
>was sie beim Saufen alles wegstecken koennen ;)

Sublime, du verwechselst da was : Ich bin kein Elf, und dich sauf ich noch
untern Tisch, wen ich schon auf allen Vieren in den Laden gekrochen komme!

MBIMG , GrimMan    . o O (Elfen!!!)

-----------------------------------------------------------------------------



Re^7: stati in B (Golas,  5. Nov 1999, 12:31:11):
~#! rn=Grimman rt=941682677 rg=treffen
~#! tid=941452195
ich muss mal was klarstellen, was ich selber heftigst verbockt habe und damit
- wie ich jetzt erfahren habe - eine menge berliner veraergert habe.
die verlegung des stati war kein "befehl" sondern ein sehr ernst gemeinter
vorschlag. fuer mich, der ich aus dem sueden komme, sind beide kneipen gleich
gut oder schlecht zu erreichen. mir ist es herzlich egal, ob ich nun ne stunde
oder ne stunde 5 minuten unterwegs bin. ich kann aber auch verstehen, dass
einige von euch von der einen kneipe lange nach hause brauchen und andere von
der anderen.

also, mein _vorschlag_ waere den stati immer mal in einer anderen kneipe zu
machen.
ich habe jetzt erstmal praeventiv fuer den dezember einen tisch bestellt, da
erstensmal im dezember fast alles voll ist und zweitens ich diesen tisch auch
problemlos canceln kann.
schickt mir am besten mal ne kurze mail, in der ihr sagt, ob ihr den dez-stati
im seeblick oder luisenbraeu abhalten wollt. dann haben wir mal nen
schickt mir am besten mal ne kurze mail, in der ihr sagt, ob ihr den dez-stati
im seeblick oder luisenbraeu abhalten wollt. dann haben wir mal nen
meinungsbild :)

golas sich nachtraeglich fuer seinen befehlston entschuldigend :(

-----------------------------------------------------------------------------



Re^8: stati in B (Unasai,  6. Nov 1999, 18:35:49):
~#! rn=Golas rt=941801471 rg=treffen
~#! tid=941452195
*g*

Das macht die Gilde, glaub mir Golas, ich haett es auch nie fuer moeglich
gehalten :)))
Una*

-----------------------------------------------------------------------------



Re^8: stati in B (Grimman,  6. Nov 1999, 19:09:14):
~#! rn=Golas rt=941801471 rg=treffen
~#! tid=941452195
jooo, und gestern im Seeblick war es mal wieder richtig gut, wenn ich mich
vielleicht auch etwas zu sehr festgesoffen hab ... und in dem Zustand war es
mir dann egal ob ich eine Stunde nach Hause brauche, oder (so wie es dann war)
drei :)

Einfach mal so ein kleines Danke an alle die da waren ...

GrimMan ... nu wieder nuechtern

-----------------------------------------------------------------------------



Re: Re: Satmmtisch November.... (Mango,  7. Nov 1999, 02:53:45):
~#! rn=Apollonia rt=941134824 rg=treffen
~#! tid=941132209
Au Backe 2 Peitscheschwingende Frauen auf einem Stammtisch.

Mango, mit unzaehligen Druckstellen.


-----------------------------------------------------------------------------



Re^3: Satmmtisch November.... (Mango,  7. Nov 1999, 02:54:55):
~#! rn=Golas rt=941181636 rg=treffen
~#! tid=941132209
um die zeit willst du doch nicht etwa aufstehen und rumlaermen?

Mango, chronisch muede.


-----------------------------------------------------------------------------



Re^3: Satmmtisch November.... (Unasai,  7. Nov 1999, 03:33:27):
~#! rn=Mango rt=941939625 rg=treffen
~#! tid=941132209

Ich peitsche schon lange nicht mehr, ich verteile Zuckerbrot, ist ja
schliesslich bald Weihnachten....:) Frag mal die PODI's >:)

Una*

-----------------------------------------------------------------------------



Stammti in Halle (Mieze,  7. Nov 1999, 05:58:44):

Hi Muddies,

am Freitag, 12.11.99 findet ab 19.00 Uhr der Stammti in Halle (Torstrasse 20 -
Naehe Rannischer Platz) statt. Ihr seid willkommen.

Mieze - Ein-Frau-Orga-Team.

-----------------------------------------------------------------------------



Re^8: stati in B (Arancia,  7. Nov 1999, 10:34:13):
~#! rn=Golas rt=941801471 rg=treffen
~#! tid=941452195
ich waere auch fuers luisenbraeu aus dem einfachen Grund, dass die Akustik im
Seeblick sowas von furchtbar ist. Man versteht nichtmal denjenigen der einem
am Tisch gegenueber sitzt. Und das ist wirklich schade *smile* ich hab
jedesmal das Gefuehl gaaaaanz viel zu verpassen.

-----------------------------------------------------------------------------



Re^4: Satmmtisch November.... (Guard,  8. Nov 1999, 09:54:28):
~#! rn=Unasai rt=941942007 rg=treffen
~#! tid=941132209
[Team: PODI,the Furred] Guard sagt: Stimmt, UNA!!!

Guard (immernoch kauends)

-----------------------------------------------------------------------------



Re^5: Stati Leipzig :) (Apollonia,  8. Nov 1999, 11:36:30):
~#! rn=Teddy rt=941668927 rg=treffen
~#! tid=941545280
Wir reden hier vom Weg zum Schlafplatz, nicht von dem, was davor war, und das
hast Du ja eh nicht richtig mitbekommen, da gibt's andere ;)
Apo* (Nonne zuzwinkernd)

-----------------------------------------------------------------------------



stati in zittau ;) (Puk,  8. Nov 1999, 19:24:49):
Jo, ihr habt richtig gelesen :)
Ein Stammtisch in Zittau.
Wie das kommt ? Naja, einfach mal ne Gelegenheit gesucht und gefunden.
Wir leben zwar am Ar**** der welt , sind aber nicht von Gestern :)

Zeit waere Dienstag, der 16 November.
Etwas ungewoehnlich vielleicht, nicht aber wenn man weiss das das schoene (?)
Land Sachsen am Mittwoch noch nen Feiertag hat :)
Ort und Zeit gibts mal auf Anfrage, Plaetze zum Schlafen waeren zwar begrenzt,
aber vorhanden.
Also wer Lust hat meldet sich dann einfach mal bei mir oder bei Laranis

Auf wenigstens etwas Resonanz hoffend ;)

Puk

-----------------------------------------------------------------------------



Re: stati in zittau ;) (Vampire,  8. Nov 1999, 20:08:18):
~#! rn=Puk rt=942085489 rg=treffen
~#! tid=942085489
Hyho

Ich Erscheine :) mal kurz und Knapp.

Vampire

-----------------------------------------------------------------------------



Re: Re: stati in zittau ;) (Anatol,  8. Nov 1999, 22:10:48):
~#! rn=Vampire rt=942088098 rg=treffen
~#! tid=942085489
++ *droh*  Anatol


-----------------------------------------------------------------------------



Re: stati in zittau ;) (Alcina,  9. Nov 1999, 19:22:30):
~#! rn=Puk rt=942085489 rg=treffen
~#! tid=942085489

hiho,

Sachsen hat Feiertag? Einfach genial - wohne zwar in Sachsen-Anhalt, habe aber
in Sachsen Praktikum. Ok, rechnet mit mir!

Alcina


-----------------------------------------------------------------------------



Stati BS (Teddy, 10. Nov 1999, 01:10:22):
Irgendein Voegelchen hat mir gefluestert, am Freitag sei Stati in BS.

Werd wohl hoechstwahrscheinlich auch da sein.

Teddy.

-----------------------------------------------------------------------------



Re: Stati BS (Karic, 10. Nov 1999, 01:15:54):
~#! rn=Teddy rt=942192622 rg=treffen
~#! tid=942192622
Irgendwie schein mein Artkel ueberlesen worden zu sein ..
Hier nochmal fuer alle die Daten zum Stati:
Freitag, den 12.11. um 20h im 1/4 Nach

um zahlreiches erscheinen wird gebeten ;)
Karic
P.S: Teddy, ich hoffe es reicht wenn ich den Schaumstoffhammer mitbring ;)

-----------------------------------------------------------------------------



Re: Re: Stati BS (Teddy, 10. Nov 1999, 01:17:55):
~#! rn=Karic rt=942192954 rg=treffen
~#! tid=942192622
Schaumstoffhammer? ;-(

Teddy, fuehlt sich behaemmert.

-----------------------------------------------------------------------------



Re^3: Stati BS (Karic, 10. Nov 1999, 01:18:55):
~#! rn=Teddy rt=942193075 rg=treffen
~#! tid=942192622
hab rl den schleimball noch net gefunden.. muss also auf den 
schaumstoffhammer ausweichen ..

Karic *schlechterForscherseiend*

-----------------------------------------------------------------------------



Re: Re: Stati BS (Alpha, 10. Nov 1999, 11:29:50):
~#! rn=Karic rt=942192954 rg=treffen
~#! tid=942192622
Wueh...lauter Stammtische wo doch Art Cologne ist...wer hat denn da Zeit fuern
Stammtisch?
Btw...die A2 wird doch erst am 13.11 3-spurig freigegeben, oder?
Alpha - ist eh in Koelle.

-----------------------------------------------------------------------------



Letzter Aufruf fuer Marburger Stati.... (Zook, 10. Nov 1999, 12:15:37):
Noch einmal zur Erinnerung:

Am Freitag, 12. November 1999 ab 19.30 Uhr findet im 
Sudhaus (das ist am Hirschberg) unser naechster Stammtisch
in Marburg statt. 

Wer Interesse hat, moege sich bitte bei mir via Mail melden.
Wegbeschreibungen kann ich auch verschicken...

Gruss, Zook.

-----------------------------------------------------------------------------



Stati leipzig! (Unasai, 11. Nov 1999, 10:04:42):
Wichtig, ich hoffe, dass es alle gelesen haben, weil sonst pech....
Kneipenwechsel in die "Tenne", Schulze-Delitzsch-Str.... neben einer alten
schule und der roten Kirche :) *g*
Treffpunkt VOR dem Luisenhof 19.00 uhr oder ein paar minuten eher bei
mir....die meisten wissen ja eh wo ich wohne .)

Una*

-----------------------------------------------------------------------------



Stammti in Halle (Alcina, 11. Nov 1999, 21:44:23):

Hi Muddies,

schon lang angekuendigt: Stammti in Halle am Freitag, 12.11. ab 19 Uhr in der
Spaetschicht (Torstrasse 20, Naehe Rannischer Platz).

Gruss Alcina.


-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 12. Nov 1999, 09:39:32):
Gestern um 20 Uhr war wie jeden Donnerstag Stammtisch in Karlsruhe,
im Kleinen Meierhof in der Zaehringer Strasse.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Bambi, 12. Nov 1999, 09:45:41):
~#! rn=Boing rt=942395972 rg=treffen
~#! tid=942395972
Ich komm da nicht, weil ich da keine Zeit habe.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Grimmborn, 12. Nov 1999, 09:50:21):
~#! rn=Bambi rt=942396341 rg=treffen
~#! tid=942395972
Ich kam auch nicht. Habs abends nicht mehr in den Meierhof geschafft.

GdA

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Montanus, 13. Nov 1999, 10:52:20):
~#! rn=Grimmborn rt=942396621 rg=treffen
~#! tid=942395972

Ich werde auch nicht kommen. "Gestern" ist mir zu relativ.

-Montanus

-----------------------------------------------------------------------------



HAT SUGI DURST ?? (Sugaan, 16. Nov 1999, 16:15:41):
Ja hat sie!!! Allerdings steht mir im Momement mehr der Sinn nach Coffee and
Stout, so dass das naechste Treffen im "The Harp" am Friesenplatz stattfinden
wird. Wie immer kurzfristig und leicht chaotisch (ihr seid ja selber schuld
wenn ihr nicht zurueckmailt!), denn es soll bereits am FREITAG stattfinden.

Ort: The Harp  ---> Friesenplatz (Wegbeschreibungen bitte ueber Skipper,
Weatherwax, Mercutio und Co erfragen!)
Zeit: ab 19.30 Uhr
Datum: Freitag 19.November

Hoffe auf zahlreiches Erscheinen und viele neue Infos
******* S U G A A N ++++++

++

-----------------------------------------------------------------------------



Re^3: Stati BS (Hans, 16. Nov 1999, 17:52:44):
~#! rn=Alpha rt=942229790 rg=treffen
~#! tid=942192622

Koennte ohnehin nichts schaden, wenn Stammtische in Braunschweig
frueher angekuendigt wuerden.

-----------------------------------------------------------------------------



Re^4: Stati BS (Karic, 16. Nov 1999, 18:22:12):
~#! rn=Hans rt=942771164 rg=treffen
~#! tid=942192622
hm? ich finde 2 wochen vorwarnzeit ok.. 
Karic *leichtverwundert*

-----------------------------------------------------------------------------



Nikolaus-Stammtisch in Bonn (Zephyr, 16. Nov 1999, 18:29:58):
Hiho!

Es ist zwar noch etwas frueh, aber trotzdem schon mal
als Vorankuendigung:

Am Montag, 6.12., Nikolaus :), wird der Bonner Dezember-
stammtisch stattfinden, ab 20 Uhr im Quiet Man (zwischen
RZ und Bahnhof)
Wer Lust und Zeit hat, moege sich bei mir melden, damit
ich abschaetzen kann ob die Tischreservierung ausreicht :)

*knuddels*
             C4

-----------------------------------------------------------------------------



HAT SUGI DURST ?? (Sugaan, 17. Nov 1999, 18:07:16):
Ja hat sie immer noch - aber urploetzlich koennen sie wieder alle nicht an dem
Termin und nu stell ich einfach mal den Freitag den 26.November in den Raum!!!
Kann da irgendwer???? Hat da irgendwer Lust und Zeit nach Koeln zu
kommen????????
Meldet Euch - oder es wird nichts ------- Gruessis  Sugaan

-----------------------------------------------------------------------------



HAT SUGI DURST ???  zum dritten (Sugaan, 18. Nov 1999, 14:24:01):
Also irgendwie ist es ja mal wieder klar: Chaos pur !!!
Ich biete einen neuen  Z U S A E T Z L I C H E N  Termin an fuer alle
diejenigen die nach Koelle kommen wollen.  Treffen am Freitag den 26. November
- selber Ort -> also The Harp (Venloer Str.22) am Friesenplatz und selbe Zeit
Es sollten sich aber mindestens 4 (in Worten Vier!) Leute fuer diesen zweiten
Termin anmelden.

Macht et juuut   - und erscheint in grosser Anzahl und wie immer gut gelaunt  
**Sugi**

-----------------------------------------------------------------------------



Konkurrenz fuer Koelle (Daria, 18. Nov 1999, 16:39:08):
Hi,
alle denen Koelle zu gross ist, lade ich herzlich zum Stammtisch in Paderborn
ein.
Datum: 26.11.
Uhrzeit: ab 20 Uhr
Ort: Feuerstein

Wegen Wegbeschreibung meldet Euch am besten bei mir (oder daria@turithil).

Ich freu mich drauf,
Daria

-----------------------------------------------------------------------------



Re: Konkurrenz fuer Koelle (Mupfel, 18. Nov 1999, 17:36:54):
~#! rn=Daria rt=942939548 rg=treffen
~#! tid=942939548
Ich *koennte* so gegen viertel vor neun da sein (ankunft bummelbahn) aber
braeuchte auf jeden fall nen schlafplatz...

-mupfel-

-----------------------------------------------------------------------------



Re: HAT SUGI DURST ???  zum dritten (Orktoeter, 18. Nov 1999, 17:42:15):
~#! rn=Sugaan rt=942931441 rg=treffen
~#! tid=942931441
Sugi = 1 
2 (wenn ich bis dahin aus Dortmund zurueck bin, sollte ich aber sein)
OrkT.

-----------------------------------------------------------------------------



Re: Re: HAT SUGI DURST ???  zum dritten (Sugaan, 18. Nov 1999, 17:58:20):
~#! rn=Orktoeter rt=942943335 rg=treffen
~#! tid=942931441
hmm Sugi zaehlt eigentlich nicht zu den Vieren ! :-)


-----------------------------------------------------------------------------



Freitag (Tiamak, 22. Nov 1999, 11:14:28):
i.V. Tiamak

-----------------------------------------------------------------------------



Re: Freitag (Morgoth, 22. Nov 1999, 14:49:34):
~#! rn=Tiamak rt=943265668 rg=treffen
~#! tid=943265668
+=2

-----------------------------------------------------------------------------



Re: Re: Freitag (Wim, 22. Nov 1999, 14:55:28):
~#! rn=Morgoth rt=943278574 rg=treffen
~#! tid=943265668
Auf besondere Einladung werde ich mich auch mal wieder blicken lassen ;)

-----------------------------------------------------------------------------



Re: Freitag (Mindblade, 22. Nov 1999, 20:37:07):
~#! rn=Tiamak rt=943265668 rg=treffen
~#! tid=943265668
Uhhh, wie karg!;-)
Mind*, kein +=, sondern einfach ein "bin dabei"!

-----------------------------------------------------------------------------



Re: Re: Freitag (Teddy, 23. Nov 1999, 16:41:41):
~#! rn=Mindblade rt=943299427 rg=treffen
~#! tid=943265668
Scheint so, das ich dann auch da sein werde, aber wenn dann spaeter.

Teddy

-----------------------------------------------------------------------------



Re^3: HAT SUGI DURST ???  zum dritten (Menace, 24. Nov 1999, 13:13:03):
~#! rn=Sugaan rt=942944300 rg=treffen
~#! tid=942931441
OK! 2, wenn OrkT kommt sonst 1(?)!

Menace

-----------------------------------------------------------------------------



Numma (Mahatmu, 24. Nov 1999, 13:21:23):
Waer vielleicht noch gut, eine Teflonnummer am Ort der Party am Freitag
hier zu hinterlassen, falls eines der diversen mit Auto kommenden
Grueppchen doch noch irgednwo 50 km vorher im Schnee versackt und dann
einen Taxidienst noetig haette.

Mahatmu

-----------------------------------------------------------------------------



*** K O E L N E R - T R E F F E N **** (Sugaan, 24. Nov 1999, 15:48:15):
Also es bleibt dann dabei Freitag, 26. November treffen wir uns wieder!!!
und wie schon in der letzten Woche so auch diesmal im "The Harp" auf der
Venloerer Str 22 am Friesenplatz in Koeln. Ich denke ich werde so ab 19.30 Uhr
dasein und hoffe dort ganz ganz ganz viele von Euch anzutreffen.

Wie immer Wegbeschreibungen am besten bei den Koelner-Muddern oder bei
Mercutio *grins*

                 niemand ist kleiner als     Sugi

-----------------------------------------------------------------------------



Hi Folks (Fizban, 25. Nov 1999, 14:30:17):
Ich moechte hiermit zum Aachener Stammtisch im Dezember einladen,
der am 03.12.1999 gegen 20:00 UHR im Chico Mendes stattfinden wird.
Falls jemand diese Lokalitaet nicht kennt oder den Weg nach Aachen
nicht kennen sollte der kann sich an Panic oder Fizban (inc.zweities) wenden
Es soll sogar noch Schlafplaetze geben falls jemand uebernachten will.
Auf zahlreiche Teilnahme hoffend.
Fizban

-----------------------------------------------------------------------------



Re: Hi Folks (Liara, 25. Nov 1999, 19:33:06):
~#! rn=Fizban rt=943536617 rg=treffen
~#! tid=943536617
Ich lass mich auch mal wieder blicken, wenn die DB es denn gebacken kriegt.
*zweifel*

Liara, Zwergenzauberine mit Studiticket

-----------------------------------------------------------------------------



Re: *** K O E L N E R - T R E F F E N **** (Liara, 25. Nov 1999, 23:12:48):
~#! rn=Sugaan rt=943454895 rg=treffen
~#! tid=943454895
Komme.
Darkwing auch.

Liara, Zwergenzauberine :-)

-----------------------------------------------------------------------------



Re: Re: *** K O E L N E R - T R E F F E N **** (Baboon, 26. Nov 1999, 10:27:30):
~#! rn=Liara rt=943567968 rg=treffen
~#! tid=943454895
Baboon kommt wohl auch, allerdings erst spaeter.
Als "Nachspiel" der INDAC 99 soll heute abend naemlich
der Film "Kiki's delivery service" gezeigt werden,
wenn das jemandem was sagt.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 26. Nov 1999, 10:29:49):
Gestern war wieder Stammtisch in Karlsruhe, im kleinen Meierhof in der
Zaehringer Strasse (wie uebrigens jeden Donnerstag). Treffpunkt war wie
immer 20 Uhr. Ob jemand da war, kann ich nicht sagen, denn ich war's nicht.
  Boing

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 26. Nov 1999, 17:55:17):


Wegen der Niko-Fete eine Woche frueher als ueblich:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 3.12. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

P.S.: Auf Schleichers und Jenandras Stammtisch-Seite koennt Ihr Euch
anmelden, ne Karte gibbet da auch:
http://www.above-multimedia.de/stati.html


-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Bambi, 26. Nov 1999, 19:31:14):
~#! rn=Boing rt=943608589 rg=treffen
~#! tid=943608589
Wenn ich das gewusst haette...

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Muadib, 26. Nov 1999, 22:00:13):
~#! rn=Bambi rt=943641074 rg=treffen
~#! tid=943608589
si tacuisses ...

-----------------------------------------------------------------------------



stammtisch in B (Gnome, 26. Nov 1999, 22:12:05):
hi berliner,

der 1. Fr. des monats dez. naht, da heisst es mal wieder stammtisch in
berlin! er wird diesmal aber woanders stattfinden...

wann: freitag, 03.12.99, 19.00h
  wo: Luisenbraeu (Luisenplatz 1, charlottenburg, direkt neben dem schloss)

dort gibt es selbstgebrautes bier am laufenden meter... *schmatz*

auf zahlreiches erscheinen hoffend...

gnOme

-----------------------------------------------------------------------------



Dezember-Stammti in Halle (Alcina, 26. Nov 1999, 23:08:25):

Hi Leuts,

kurz vor Winterburg gibts in Halle nochmal die Moeglichkeit, den Saufskill zu
trainieren. Wir tarnen das Ganze als Stammtisch in der "Spaetschicht" am
Freitag (3.12.99) ab 19 Uhr. Die Kneipe ist in der Torstrasse 20 in der Naehe
vom Rannischen Platz.

Ach ja... lasst Euch diesmal bessere Ausreden einfallen, wenn Ihr nicht kommt
(die vom letzten Mal waren echt schwach!). :))))

Gruss Alcina - das Ein-Frau-Orga-Team aus Halle (Saale).


-----------------------------------------------------------------------------



Re: Dezember-Stammti in Halle (Grimmborn, 26. Nov 1999, 23:10:23):
~#! rn=Alcina rt=943654105 rg=treffen
~#! tid=943654105
Bessere Ausrede? OK:
Mir gefallen einfach eure Saftfressen nicht, daher werde ich mir den
Stammtisch nicht antun. Und nicht etwa, weil mir die Anreise zu weit ist.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: stammtisch in B (Mahatmu, 27. Nov 1999, 17:58:05):
~#! rn=Gnome rt=943650725 rg=treffen
~#! tid=943650725
Wenn jemand (weibliches) sich bereit erklaert, Mahatma den Mund abzu-
wischen und ihm das Bierglas zu halten, kommt der Greis hoffentlich :>

Mahatmu

-----------------------------------------------------------------------------



Re: Re: stammtisch in B (Gnome, 27. Nov 1999, 18:11:20):
~#! rn=Mahatmu rt=943721885 rg=treffen
~#! tid=943650725
das kann gloin uebernehmen, die kennt sich da bestens aus, denk ich :)

gnOme

-----------------------------------------------------------------------------



Re: Re: Dezember-Stammti in Halle (Alcina, 27. Nov 1999, 18:40:25):
~#! rn=Grimmborn rt=943654223 rg=treffen
~#! tid=943654105

naja, es sollte nicht beleidigend sein... Grimmborn, Du hast noch ne Chance!
:)

Alcina.

-----------------------------------------------------------------------------



Re: Re: *** K O E L N E R - T R E F F E N **** (Lug, 28. Nov 1999, 02:50:38):
~#! rn=Liara rt=943567968 rg=treffen
~#! tid=943454895

Komme? Darkwing auch? Und sowas in der MPA? Das ist sowas von unmoralisch, Du
wirst vom KzRdM vorgeladen werden.

Lug

-----------------------------------------------------------------------------



Re^3: Dezember-Stammti in Halle (Grimmborn, 28. Nov 1999, 19:30:22):
~#! rn=Alcina rt=943724425 rg=treffen
~#! tid=943654105
OK.
Weil mir die Anreise zu weit ist werde ich mir den Stammtisch nicht antun. Und
nicht etwa, weil mir eure Saftfressen nicht gefallen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



StaTi in Muenster am 30.11. (Foobar, 29. Nov 1999, 12:47:22):
Moin.

Gut, der StaTi in MS ist je jede Woche, aber diesmal haben wir einen Special
Guest:
          Spellfire

Um haufenweises Erscheinen wird gebeten ;o)

Foobar, i.A.v. Elendil

-----------------------------------------------------------------------------



Re: Nikolaus-Stammtisch in Bonn (Feuerwehr,  1. Dez 1999, 13:23:32):
~#! rn=Zephyr rt=942773398 rg=treffen
~#! tid=942773398
            *                                                     *
Es ist Winterszeit ...                     *
                                  *               *
Nikolaus steht vor der Tuer ...                               *
                      *                 *               *
Man sollte zuhause sitzen ...   *
                                             *                 *
sich andaechtig auf Weihnachten vorbereiten ...
 

ODER man besucht den feinen BONNER STAMMTISCH, wie immer mit auserlesenen
Gaesten und einem gewaltigen Programm, das einem die Fussnaegel zu Berge
stehen laesst!

Gaeste sind u.A. Zephyr, Liara, Pra, Spellfire sowie ein schaendlicher Ver-
treter der Magier-Fraktion, der hier nicht namentlich genannt werden will.

Stattfinden wird das ganze in den ausufernden Raeumlichkeiten des "Quiet
Man", Untergeschoss, zwischen RHRZ und Bahnhof. Wegbeschreibung gibts wie
immer bei der explosiven C4, Start ist 20 Uhr am 6.12.1999.
                                                          
Kommt alle! :)

    Feuerwehr.

PS: Jeder der eine Nikolausmuetze traegt, wird sofort erschossen.

-----------------------------------------------------------------------------



Re: Re: Nikolaus-Stammtisch in Bonn (Pra,  1. Dez 1999, 15:36:42):
~#! rn=Feuerwehr rt=944051012 rg=treffen
~#! tid=942773398
Danke, Feuerwehr, dass Du meine Anwesenheit auf dem Stammtisch ankuendigst,
aber ich ziehe es doch vor, Nikolaus und die 10 Tage danach auf den
Kanarischen Inseln zu verbringen....

Nichts gegen Dich, Feuerwehr, gut, ja, bevor ich wusste, dass Du auch 
kommst, wollte ich tatsaechlich persoenlich erscheinen, aber jetzt...

Pra. Freut sich auf Nikolausi in Badehose...

-----------------------------------------------------------------------------



Re: Re: Nikolaus-Stammtisch in Bonn (Liara,  1. Dez 1999, 22:52:34):
~#! rn=Feuerwehr rt=944051012 rg=treffen
~#! tid=942773398
Dortmund kommt auch. (Sagt Mindblade :)
*huepf*


Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: Re: Nikolaus-Stammtisch in Bonn (Liara,  1. Dez 1999, 22:54:02):
~#! rn=Feuerwehr rt=944051012 rg=treffen
~#! tid=942773398
Ooooh, Duesseldorf auch. (Sagt Kjaska :)
*mehr huepf*


Liara, immer noch Zwergenzauberine :-)

-----------------------------------------------------------------------------



Re^3: Nikolaus-Stammtisch in Bonn (Feuerwehr,  1. Dez 1999, 22:55:02):
~#! rn=Liara rt=944085242 rg=treffen
~#! tid=942773398

Ich fuerchte, dann sind die ... aeh ... ausufernden Raeumlichkeiten des Dead
Man (oder wie hiess die Kaschemme?) zu klein. Haltet euch bereit fuer
eventuelle Aenderungen des Raumplans!

    112.

-----------------------------------------------------------------------------



Re^4: Nikolaus-Stammtisch in Bonn (Liara,  1. Dez 1999, 23:51:18):
~#! rn=Feuerwehr rt=944085302 rg=treffen
~#! tid=942773398
Quiet Man heisst das Teil ... nich das einer noch nach sucht. ;-) Oder halt
woanders nach Ankuendigung. ;-)

Liara ...

-----------------------------------------------------------------------------



Re: Re: Nikolaus-Stammtisch in Bonn (Mupfel,  2. Dez 1999, 00:28:23):
~#! rn=Feuerwehr rt=944051012 rg=treffen
~#! tid=942773398
Hmja klingt ja ganz... aeh... interessant. Gibts ne Moeglichkeit zum
Uebernachten (nein keine Bruecke oder Parkbank ;) ?

-mupfel-

-----------------------------------------------------------------------------



Re^4: Nikolaus-Stammtisch in Bonn (Zephyr,  2. Dez 1999, 10:11:27):
~#! rn=Feuerwehr rt=944085302 rg=treffen
~#! tid=942773398
Es ist ein Tisch fuer ca 15 Leutchens reserviert. Deswegen die
Bitte, sich bei _mir_ zu melden, damit ich nen Ueberblick hab.
(dass das mit dem Ueberblick natuerlich nur ne Ausrede ist und
der eigentliche Grund _reine Schikane_ heisst, liegt an Feuer-
wehr und nicht an mir. Oder so)
C4

-----------------------------------------------------------------------------



Es gibt nur einen Koelner Stammtisch :) (Zarniya,  2. Dez 1999, 16:15:21):

Ich hoffe, dass ihr immer noch nicht vergessen habt, dass es einen
ultimativen und genialen Stammtisch geben wird. Seid dabei, wenn es darum
geht, die absolute Meisterin zu kueren. Eine Auswahl an lieblichsten,
koestlichsten und beeindruckensten Spezialitaeten, die alle Welten bis jetzt
gesehen haben. Plaetzchen und Pralinen aller Art werden geboten, wenn es
heisst, einen schoenen kulinarischen Abend in der nettesten Stadt der Welt
zu verbringen. Deshalb verpasst nicht den wichtigsten, einzig wahren und
letzten Stammtisch in diesem Jahrtausend, der

                     Traditionsstammtisch zu Koeln

                            am Samstag, der

                              15.01.2000

in einer noch genauer zu bestimmenden Oertlichkeit in Koeln.. das haengt
auch vom Andrang ab, aber ich denke, dass viele kommen werden, denn wann hat
man schon die Gelegenheit, einen solchen Wettstreit mitzuleben, ein
feilschen um die Gunst der Gaumen. Antreten mit ihren Suesswaren, Pralinen
und Plaetzchen werden:

die kleine suesse Tanja, keine Mudderin, Freundin von Yantro, eurer geliebten
Nervensaege aus alten Zeiten, dem Werbetrommler. Sie ist ausgebildete
Konditorin und wird deshalb vielleicht geeignet sein, gegen sie zu
bestehen, die einmalige, die unglaubliche, die bezaubernde, die
eisigsuesseste aller Feen:

Silvana, die Gletscherfee, Zauberin, Magierin, Frau von Yantro, eurer
geliebten Nervensaege aus alten Zeiten, dem Werbetrommler.

Wird Handwerk es wirklich schaffen koennen, gegen Magie zu bestehen? Wird
die Handfertigkeit des strebsam erlernten besser sein als die Gabe der
Goetter? Kommt und seid dabei, um selbst zu entscheiden !

Marc



-----------------------------------------------------------------------------



Re^3: Nikolaus-Stammtisch in Bonn (Mupfel,  2. Dez 1999, 16:39:26):
~#! rn=Mupfel rt=944090903 rg=treffen
~#! tid=942773398
*sniff* muss schon wieder absagen ;(

-mupfel-

-----------------------------------------------------------------------------



Teddy, Muenchen (Teddy,  3. Dez 1999, 00:14:16):
Hiho,

bin mal wieder in Muenchen, wenn also in den naechsten 2 Monaten nen Treffen
geplant ist, plant mich mal vorsichtig mit ein.

Teddy

-----------------------------------------------------------------------------



Nachtrag zum Berliner Stati (Golas,  3. Dez 1999, 00:46:53):
da ich nicht genau weiss, ob ich rechtzeitig kommen kann, wollte ich mal kund
tun, dass der tisch ab 1900 auf den namen KANAL bestellt ist.

golas

-----------------------------------------------------------------------------



Stammtisch in Halle (Alcina,  3. Dez 1999, 06:17:17):

Hi Leuts,

nicht vergessen: heute abend ist Stammtisch in der schoenen Saalestadt Halle
ab 19 Uhr in der Spaetschicht (Torstrasse 20, Naehe Rannischer Platz).
Uebernachtung ist kein Problem, wenn Ihr Schlafsack und Iso-Matte habt
(notfalls hab ich 2 Besuchermatratzen und eine Couch, die aber nur fuer ganz
kleine Leute geeignet ist). Lasst Euch also keine Ausrede einfallen, sondern
kommt einfach her! :)

Alcina - das Ein-Frau-Orga-Team aus Halle.


-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  3. Dez 1999, 08:37:35):
Auch gestern war wieder (wie uebrigens jeden Donnerstag um 20 Uhr)
der Karlsruher Stammtisch im kleinen Meierhof. Wir mussten anbauen,
da unser normaler Tisch nicht ausgereicht hat. Da hat wohl jemand ein
paar Leichen wieder ausgegraben ... :)
  Boing

-----------------------------------------------------------------------------



Berlin? (Mupfel,  3. Dez 1999, 23:58:17):
Ist Montag abend zufaellig ein StaTi in Berlin? Ich waere in der Naehe.... ;)

-mupfel-

-----------------------------------------------------------------------------



nexter stati in B (Mysterious,  6. Dez 1999, 15:29:36):
konni-chi-wa!

nun denn, holde recken und reckinnen!
hat euch das luisenbraeuer bier gemundet? bereit fuer eine weitere
gefaehrliche reise in das ach so ferne cburg? ich stimme mit kraeftiger
stimmgewalt dafuer, aber...

just wandelte ich durch die strassen dieser herrlich schmutzigen stadt, als
mein schwaches auge folgende schaenke entdeckte: "arthos runde" war ihr name,
ein vielfarbiges abbild eines stolzen ritters blickte mich an und lud mit
einem freundlichen "sin scead eile" (die iren unter euch wissen bescheid) die
passanten zum verweilen ein.
dieser hort der warmherzigkeit also bietet fuer unsere illustre runde
genuegend platz, sofern unsere gemeinschaft nicht die stattliche zahl von 23
ueberschreitet! auch unsere freunde aus dem landstrich kurz vor pommern wird
es freuen zu hoeren, dass sich dieses pub im prenzlauer berg befindet
(dunckerstr. 9).

in diesem sinne, hoeflich verneigend,
         dA mYsteRiOus

-----------------------------------------------------------------------------



Re: nexter stati in B (Golas,  6. Dez 1999, 15:32:30):
~#! rn=Mysterious rt=944490576 rg=treffen
~#! tid=944490576
klasse idee
ich bin eh dafuer oefter mal woanders hinzugehen

golas, der gerne auch mal weitere strecken auf sich nimmt ...

-----------------------------------------------------------------------------



Re: Re: nexter stati in B (Rardian,  6. Dez 1999, 23:29:58):
~#! rn=Golas rt=944490750 rg=treffen
~#! tid=944490576
Jau, klingt auf jeden Fall interessant. Wenn schon besauefen, aeh treffen,
dann in stilvoller Umgebung.

Rar.

-----------------------------------------------------------------------------



stammtisch HH??? (Lolli,  7. Dez 1999, 10:28:18):
Hi!
wollte nur mal nachfragen ob vor weihnachten noch ein stammtisch in HH
zustande kommt. waere nett aufm gluehmarkt ein weiteres erfolgreiches MG-jahr
ausklingen zu lassen...

Lolli, der dieses Jahr noch gar nicht aufm Gluehmarkt war :-(

-----------------------------------------------------------------------------



Re: nexter stati in B (Mahatma,  7. Dez 1999, 18:46:33):
~#! rn=Mysterious rt=944490576 rg=treffen
~#! tid=944490576
Mich interessiert eigentlich nur eins: Gibts da ordentliches Bier zu Preisen,
bei welchen ich bei meiner Trinkmenge (Cakey genauso) nicht pleite gehe? Wenn
ja, isses mir recht.

Mahatma (haeufiger in B aufm Stammtisch als in DD)

-----------------------------------------------------------------------------



Re: Re: nexter stati in B (Sublime,  7. Dez 1999, 20:10:47):
~#! rn=Golas rt=944490750 rg=treffen
~#! tid=944490576
Ich war da noch nie, aber diesmal wird sich
meinerseits mehr Zeit und Geld mitgenommen
um endlich mal wieder richtig zum Guiness-
We(g)ttkippen zu kommen ;)

liebe gruesse 
Sublime

Ps : Aeh, Datum ? ;)
nn
*argl* ;)

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Lug,  8. Dez 1999, 02:05:50):
~#! rn=Boing rt=944206655 rg=treffen
~#! tid=944206655
Leichen?

Haette da gerade ein paar etwas schimmelige Typen und Tussen aus dem 14. Jh.
zu bieten. Hey, sogar mit Textil und Ledererhalt und etwas Gammel dran...

Lug

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Boing,  8. Dez 1999, 15:33:33):
~#! rn=Lug rt=944615150 rg=treffen
~#! tid=944206655
Prima, bring sie morgen mit :)
  Boing

-----------------------------------------------------------------------------



Re^3: nexter stati in B (Grimman,  8. Dez 1999, 23:56:19):
~#! rn=Sublime rt=944593847 rg=treffen
~#! tid=944490576
Stimme gegen Luisenbraeu (Freitags isset da definitiv zu voll und zu laut!) 
Pub ist eigentlich nicht mein Ding ... aber nach dem zweiten Glas schmeckt mir
auch Guiness :)

Pro Pub Contra Luisenbrau

Falls noch Tipps gesucht werden : wie waere es mal mit nem Cocktail-Abend ...
ist zwar etwas kostspieliger, aber ich denke ne einmalige Alternative waere es
schon :)

GrimMan , mal konstruktiv

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Lug,  9. Dez 1999, 00:11:48):
~#! rn=Boing rt=944663613 rg=treffen
~#! tid=944206655

Wieso?

Kommt Lena nicht?

Lug

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Pardauz,  9. Dez 1999, 00:35:18):
~#! rn=Lug rt=944694708 rg=treffen
~#! tid=944206655
is das wichtig?
eine Leiche mehr oder weniger is doch egal, oder? ;)

Pardauz

-----------------------------------------------------------------------------



Re^4: nexter stati in B (Sublime,  9. Dez 1999, 00:50:27):
~#! rn=Grimman rt=944693779 rg=treffen
~#! tid=944490576
Also ich denke, auch wenn ich noch nicht oft da
war, weil kaum zeit oder knete, dass mal ein
Ortswechsel angebracht waere. Fuer viele ist es
1. zu weit um Cafe Seeblick, auch wenn es eine
   sehr schoene Ecke da ist
    und
2. waere es auch lustig, mal einige andere 
   Kneipen/Pubs/bars zu testen...

Kleiner Vorschlag, z.bsp. als kleine Berliner-
mudder-vollversammlung oder so was aehnliches
koennen wir ja mal das Klo am Olivarerplatz un-
sicher machen, kennt das einer von euch, ist ja
eigentlich Kult und wahnsinnig lustig ;) Erinnert
euch nur an das Bier aus den Babytoepfchen ;)))

liebe gruesse
subl

-----------------------------------------------------------------------------



Re^5: nexter stati in B (Gnome,  9. Dez 1999, 00:51:58):
~#! rn=Sublime rt=944697027 rg=treffen
~#! tid=944490576
aehm... stammtisch in einem oeffentlich klo?
da war dein antifa-aufruf noch origineller, wenn auch nicht neu.

gnOme

p.s. dein terminal hat bestimmt auch 80 spalten. nutze sie!

-----------------------------------------------------------------------------



Re^6: nexter stati in B (Sublime,  9. Dez 1999, 00:54:30):
~#! rn=Gnome rt=944697118 rg=treffen
~#! tid=944490576
Ach menno, jetzt werd' ich mal wieder in so ne
Schublade geworfen. ... Oh, sorry, ich soll ja
die 80 Spalten nutzen, hmm, zu spaet, jetzt
wuerde das doof aussehen ;=) Nein, Du willst
mir doch nicht erzaehlen, das Du das Klo nicht 
kennst, gnome, oder ?

subl

-----------------------------------------------------------------------------



Re^7: nexter stati in B (Gnome,  9. Dez 1999, 01:03:02):
~#! rn=Sublime rt=944697270 rg=treffen
~#! tid=944490576
ich glaube nicht, dass ich in diesen deinen kreisen verkehre; daher muss
ich leider zugeben, dass ich dieses klo nicht kenne...

gibts da was besonderes?
ein frisch gezapftes vom wirt persoenlich? welche muenzensorten passen
in die klotueren? wieviel steh- und sitzplaetze gibts dort?
muss man anstehen? gibts dort auch ne tageskarte?
fragen ueber fragen.

gnOme

-----------------------------------------------------------------------------



Re^8: nexter stati in B (Sublime,  9. Dez 1999, 01:06:29):
~#! rn=Gnome rt=944697782 rg=treffen
~#! tid=944490576
Ok, mal ein paar Daten zum Klo...

Das Klo ist so in etwa 30 Jaehrchen alt und wird auch oft
als so ne Art Erlebniskneipe gehandelt. Du kommst rein, im
Sommer wirst Du halt erstmal ein wenig nassgespritzt, durch
so ne winzige Duese in der Tuer.
Die Decke ist voll von Masken, ueberall haengt irgendwelcher 
Krimskrams, von Figuren ueber Terrarien mit lebenden Taranteln
oder Schlangen, usw. man muss das halt gesehen haben.
Hauptpunkt : Du bekommst Dein Bier in einem Nachttopf oder in
einer sogenannten Ente serviert, was noch mal 3mal so gut
schmeckt und ab und zu verschwinden einfach mal die Tische so
in der Decke ;) ist halt alles sehr verspielt und einfach
ne total geile atmosphaere da...

subl

-----------------------------------------------------------------------------



Re^9: nexter stati in B (Xenada,  9. Dez 1999, 03:07:08):
~#! rn=Sublime rt=944697989 rg=treffen
~#! tid=944490576
Ich fand es bis jetzt eigentlich immer ganz gut einen festen ort fuer den
Stati zu haben. Vor allem hat das Seeblick einen grossen Vorteil, es ist fuer 
so ziemlich alle in etwa 1h erreichtbar. Ausserdem ist das ganze kein 
Touri-Schuppen, nicht so  laut und ueberfuellt. 

Tschuess Xenada.
P.S.:Xenada hat keine Lust wieder ueber 2 h nach Hause zu brauchen.

-----------------------------------------------------------------------------



Re^4: nexter stati in B (Arancia,  9. Dez 1999, 07:45:19):
~#! rn=Grimman rt=944693779 rg=treffen
~#! tid=944490576
hm, wie waere es dann mal mit einer Lokalitaet wo man nicht nur den Nachbarn
versteht, der einem auch noch ins Ohr bruellen muss? Ich finde es schade, dass
man aufgrund der Lautstaerke immer nur von maximal 3 Personen was mitbekommt.

-----------------------------------------------------------------------------



Re^5: nexter stati in B (Golas,  9. Dez 1999, 12:33:57):
~#! rn=Arancia rt=944721919 rg=treffen
~#! tid=944490576
dieser artikel nimmt nicht nur bezug auf ara, sondern auf alles bisherige ...
atens: lokalitaet wechseln hab ich nix dagegen
btens: weit weg is immer schlecht, aber zentral liegt vermutlich nix so recht
ctens: bin ich gerne bereit auch mal weiter weg zu fahren, will sagen zu ner 
       kneipe im norden zb
dtens: gnome, peinlich, dass du laden nicht kennst, man muss ja nicht drin
       gewesen sein, aber man sollte die supertouri-kneipe nach dem kudorf
       schon kennen
etens: ich konnte bisher noch mit jedem reden, mit dem ich reden wollte auf 
       den statis, und wenn man in einer gruppe von mehr als 5 oder 6 leuten
       reden will, dann fallen kneipen grundsaetzlich aus, dann sollten wir
       in ein restarurant gehen und noch mehr geld da lassen ...

golas auf die flames wartend ...

-----------------------------------------------------------------------------



Re^6: nexter stati in B (Mahatmu,  9. Dez 1999, 12:38:44):
~#! rn=Golas rt=944739237 rg=treffen
~#! tid=944490576
a.atens: dito
b.btens: dito
c.ctens: kenn ich auch nicht, iss mir wurscht (oder pipi)
c.ctens: dito
d.dtens: kenn ich auch nicht, iss mir wurscht (oder pipi)
e.etens: *zustimm*
         Zum Semesterbeginn fuer die studentischen Mudder jeweils ein
         StaTi im Chinesen? :>

Mahatmu

-----------------------------------------------------------------------------



Re^4: nexter stati in B (Rardian,  9. Dez 1999, 15:40:28):
~#! rn=Grimman rt=944693779 rg=treffen
~#! tid=944490576
 Also die Pubs, die ich kennengelernt habe, waren allesamt teuer und laut,
deshalb:

Contra Pub.

Rar, heut nicht konstruktiv.

-----------------------------------------------------------------------------



Re^9: nexter stati in B (Rardian,  9. Dez 1999, 15:42:54):
~#! rn=Sublime rt=944697989 rg=treffen
~#! tid=944490576
Ach DAS Klo,
macht das nicht erst um 2200 auf? Ich erinnere mich, da um 2100 mal vor
verschlossener Tuer gestanden zu haben... voll das Erlebnis...

Rar, muss nicht aufs Klo...

-----------------------------------------------------------------------------



STATI Dresden 14.12.99 (Mesirii,  9. Dez 1999, 21:56:44):
Liebe Leute,
weil wir uns in Dresden vor Weihnachten und dem neuen Jahr nochmal treffen
wollten, ist fuer Dienstag den 14.12.1999 wieder ein Stammtisch angesetzt.
Ankunft wie ueblich zwischen 20.00 und 21.00 Uhr im CD (Club 
Duererstrasse).
Wer Bock hat kann sich ab 19.30 die Muppets-Weihnachstgeschichte im 
Nickelodeon antun.
Also erscheint zahlreich und gutgelaunt.
Tagesordnung:

1. Dresden 2000
2. Auswertung Party fuer die Daheimgebliebenen
3. was sonst noch so anfaellt

Mesi, hat das Amt von Sniper geborgt

-----------------------------------------------------------------------------



Re: stammtisch HH??? (Mupfel,  9. Dez 1999, 22:21:00):
~#! rn=Lolli rt=944558898 rg=treffen
~#! tid=944558898
Gibts da ueberhaupt mehr als 2 Mudder ?

-mudfel-

-----------------------------------------------------------------------------



Treffen in KA (Muadib, 13. Dez 1999, 12:36:22):

bevor boing es erst am freitag in die mpa setzt: wir treffen uns wie immer am
donnerstag im kleinen meierhof in der zaehringer strasse zum stammtisch. und
zwar ab 20.00 Uhr. Vorher treffen wir uns jedoch schon am Marktplatz vor der
Volksbank um 19.00h, um einen kleinen Gluehwein zu trinken.
kommet zahlreich und trinket feste.

gruss

muadi
b *bloede tastatur*

-----------------------------------------------------------------------------



*S*T*A*T*I* in Braunschweig !!!! (Jasonrigid, 13. Dez 1999, 13:08:52):

Ich beraume jetzt spontan mal den letzten *S*T*A*T*I* dieses Jahres (nicht
Jahrtausends !!) in BS an.

Wir machen den Stati diesmal zur Abwechslung mal im Mephisto (Fallersleber
Strasse gegenueber der AOK), weil da das Essen besser, abwechslungsreicher und
billiger ist als im 1/4 nach. Ausserdem ist mein Heimweg dann nicht so lang
;).

Termin : 17.12.1999, 20.00 Uhr ebendort

Es melde sich, wer teilnehmen moechte, bei mir

Jason

-----------------------------------------------------------------------------



Log (Gloin, 13. Dez 1999, 18:52:37):
Auf Aeneas' Wunsch mitgeloggt:

[Team Octaviafahrer]
Stilblueten aus der Diskussion um Unasais Frage 'Was ist Knuddeln':
Guard: Man kann nur kuscheln, was ein Fell hat.
Unasai: Teddies muessen hart sein.
Aeneas: Ich steh nicht auf harte Teddies.

Guard sagt: Knuddeln ist das Gegenteil von Kuscheln.
Guard sagt: Knuddeln ist, wenn man jemanden umarmt und an ihm herumzerrt.


Guard (auf mittlerem Platz): In der Mitte sitzt man irgendwie hoeher.
Gloin: Ja, da ists unbequemer.
Guard: Hm, die Arschbacken rutschen auseinander.


Guard: (Ausfahrt Braunschweig Nord)
       Bitte die erste Ausfahrt nehmen.
Gloin: Wieso, willst Du nicht nach Hannover? Da solls ein schoenes
       Rotlichviertel geben.
Guard: (Brustton der Ueberzeugung)
       Ja, das stimmt ... (ausfuehrliche Beschreibungen folgten)


Aeneas: (beschleunigt auf 200)
        Einmal nur, jetzt. Ja.
Gloin: Bist Du jetzt zutiefst befriedigt?
Guard: Ein bisschen noch, dann kommt der Hoehepunkt.
Aeneas: (beisst sich sichtlich auf den Finger)
        Ich sag jetzt besser nichts.


Cakey: Sag mal Guard, wieso rutscht Du immer weiter nach oben?
Guard: (liegt zum Viertel in Unasais/Apos Bett)
       Ich muss die weissen Flecken verdecken.
Unasai: Guard! Du bist eine alte Sau!


Guard: Das Auto ist so neu, da krieg ich hier blaue Flecken im Hintern.
Gloin: Wie jetzt, Du kriegst blaue Flecken _im_ Hintern?
Guard: Naja, wenn Du immer so wackelst, krieg ich blaue Flecken im Hintern.


Aeneas: Kann mir mal kemand sagen, warum ich in meinem Paket so tolle Sachen
        machen kann?


Aeneas: Frauen parken nur so schlecht ein, weil Maenner ihnen immer
        weismachen wollen, das 30 cm so lang sind.
Gloin: Ich habe keine 30 cm.
<in der weiteren Diskussion wurde Aeneas des Fuehrens von Strichlisten ueber
 Laenge bezichtigt>


Und dann war da ja noch die Diskussion mit Larissa, Jof und Catweazle ueber
Spermaspenden und die koerperlichen Auswirkungen, in die Golas spaerlich
aber doch elegant bekleidet hineinplatzte ...
(schrieb ich 'platzte'? - nein, das meinte ich jetzt nicht, Cat*!)

Gloin ... weiss auch nicht, warum nur solche Gespraeche mitloggenswert
          waren.

-----------------------------------------------------------------------------



Re: Log (Alpha, 14. Dez 1999, 13:02:58):
~#! rn=Gloin rt=945107557 rg=treffen
~#! tid=945107557
Octavia & auf >200< beschleunigen????? Wie soll das denn gehen?

Alpha.

-----------------------------------------------------------------------------



Treffen in Ac (Fizban, 14. Dez 1999, 18:36:37):
Hi Ihrs
Also dies ist ein Aufruf zu einem Treffen am Freitag, den 17.12.99 im Chico
Mendes
gegen 20:00.
Wir bitten um rege Teilnahme.
Fizban
P.s. Der Stammtisch im Januar faellt deswegen _nicht_ aus.

-----------------------------------------------------------------------------



TickTack (Mahatmu, 15. Dez 1999, 14:42:41):
Suche meine staehlerne Automatik-Uhr, eventuell auf der Party verlegt.

Mahatmu

-----------------------------------------------------------------------------



Re: Re: Log (Gnome, 15. Dez 1999, 15:01:05):
~#! rn=Alpha rt=945172978 rg=treffen
~#! tid=945107557
mit dem gaspedal, alpha. das ist das rechte von den dreien da unten.

gnOme

-----------------------------------------------------------------------------



Re: Re: Log (Rardian, 15. Dez 1999, 19:29:37):
~#! rn=Alpha rt=945172978 rg=treffen
~#! tid=945107557
Und wir durften im Ford Galaxy nur mit 4000 Umdrehungen fahren, was zu
laecherlichen 140 km/h fuehrte. Aber freut euch ihr Berliner, dass ihr deshalb
nichts nachzahlen muesst und bedauert uns nicht, dass wir am Sonntag erst kurz
vor Mitternacht in unseren Bettchen lagen...

Rar, ist immer noch muede... irgendwie.

-----------------------------------------------------------------------------



Re: Re: Log (Mango, 15. Dez 1999, 22:51:42):
~#! rn=Alpha rt=945172978 rg=treffen
~#! tid=945107557

              DU WEEST NISCHT!!!


-----------------------------------------------------------------------------



Re^3: Log (Alpha, 16. Dez 1999, 15:11:55):
~#! rn=Rardian rt=945282577 rg=treffen
~#! tid=945107557
Waaaas?????? Bei 4000 Umdrehungen erst 140km/h? Warum baut ihr einen
Rasenmaehermotor in einen Galaxy ein? 
Mein Autochen hat bei 4000 Umdrehungen seine 200km/h, aber es ist ja auch nur
ein Benziner.
Alpha - glaubt immer noch nicht, dass ein BMSR(boemisch-maehrischer
Schnellroster) mehr als 150 faehrt.

-----------------------------------------------------------------------------



Re^3: Log (Arancia, 16. Dez 1999, 23:43:49):
~#! rn=Rardian rt=945282577 rg=treffen
~#! tid=945107557
Du bist super gefahren *schwoer*
Die Apfelsine, hat sich sicher gefuehlt obwohl ein Mann am Steuer sass...

-----------------------------------------------------------------------------



Re^4: Log (Rardian, 17. Dez 1999, 16:42:31):
~#! rn=Arancia rt=945384229 rg=treffen
~#! tid=945107557
Hm... meinst Du die ruhigen Phasen zwischendurch? Das war Lurchi ... ;)

Rar, kann eigentlich gar kein Autofahren, deshalb wahrscheinlich auch nur die
140 bei 4000  (wofuer wohl die 5 auf dem Schaltknueppel war???)


-----------------------------------------------------------------------------



Stati in MAINZ (Larina, 17. Dez 1999, 18:58:16):
Es waren einmal zwei Mudder die trafen sich in Mainz und kamen auf die wirre
Idee auch in dieser Stadt einmal einen Stati stattfinden zu lassen. Sie
gruebelten und gruebelten und befanden die Idee als wirklich gut. Daher
beschlossen sie auch den Rest des Morgengrauens einzuladen. 

Stattfinden soll das Ganze im neuen Jahrtausend, am 14. Januar so gegen 20
Uhr.

Ein Ort ist noch nicht festgelegt da wir erst mal schauen wollen wie viele
Leutchens sich nach Mainz verirren an diesem Freitag Abend. 

Daher bitte bei Interesse eine Mail an Montanus oder mich schreiben. 

*knuddel* Larina

-----------------------------------------------------------------------------



Re^4: Log (Qitess, 20. Dez 1999, 10:54:01):
~#! rn=Alpha rt=945353515 rg=treffen
~#! tid=945107557
Alpha!
Wenn Du noch weitere derartige Schmaehungen gegen ein Auto aus der qulitativ
hochwertigen Volkswagen-Familie vorbringst, dann fahre ich mit meinem POLO
frontal in deinen Japaner, und dann werden wir ja sehen, wer hier was kaputt
gemacht hat.
So.
QI**

-----------------------------------------------------------------------------



Re^5: Log (Alpha, 20. Dez 1999, 18:20:50):
~#! rn=Qitess rt=945683641 rg=treffen
~#! tid=945107557
Ich habe KEINEN Japaner!!!!
Ich hab nch nie in meinem Leben sowas gefahren - und hab es auch nicht vor.
Alpha, der Omega-Fahrer.

-----------------------------------------------------------------------------



Stati in Mainz (Larina, 20. Dez 1999, 20:05:18):
Also nach Ruecksprache mit einigen Leuten schiebe ich den Stati in Mainz
hiermit auf den 07.01.2000, also genau eine Woche nach vorne.
Ich freue mich ueber jeden der da kommen mag und bitte nochmals darum sich bei
Montanus oder mir zu melden. 

*knuddel*
Larina

-----------------------------------------------------------------------------



Re^6: Log (Wurzel, 20. Dez 1999, 22:22:20):
~#! rn=Alpha rt=945710450 rg=treffen
~#! tid=945107557
trau keinem auto ohne stern. erstens kann man damit besser zielen, ausserdem
sieht ein polo ziemlich alt dagegen aus :)

wurzel

-----------------------------------------------------------------------------



Re^7: Log (Grimmborn, 21. Dez 1999, 02:07:54):
~#! rn=Wurzel rt=945724940 rg=treffen
~#! tid=945107557
Fahr defensiv. Fahr Leo II.

Grimmborn "War das etwa Ihr Mercedes?" der Atheist

-----------------------------------------------------------------------------



Re: Stati in Ac (Rikus, 21. Dez 1999, 10:59:45):
~#! rn=Fizban rt=945770315 rg=treffen
~#! tid=945770315
Stammtisch in -1 Jahr oder Y2K-Bug?

Rikus

-----------------------------------------------------------------------------



Stati in Ac (Fizban, 21. Dez 1999, 11:02:55):
Hi Folks
Hmm also aus dem Grund das das Semester am 07.01.00 noch nicht bekonnen hat
wird der Stammtisch verschoben auf den ersten Freitag im Semester, das waere
dann der 14.01.00.
Der Rest des Statis bleibt dann wie immer halt um 20.00 Uhr und im
Chico-Mendes.
Alle nicht Aachener sind auch herzlich eingeladen Schlafplaetze koennen auch
gestellt werden (ein paar).
Bei Fragen bitte Panic Darkwing Kamelot oder mich anquaken, das gleiche gilt
fuer jemanden der den Weg nicht oder nicht mehr kennt.
Gruss Fizban

P.s. sorry das ich hier zweimal rumschreibe aber an 2000 muss man sich erst
gewoehnen
*grins Rikus*

-----------------------------------------------------------------------------



Re: Stati in Ac (Grimmborn, 21. Dez 1999, 11:04:13):
~#! rn=Fizban rt=945770575 rg=treffen
~#! tid=945770575
Nun hoert doch bitte mal auf, dem Koelner Stammtisch Konkurrenz zu machen. Ihr
versuchts doch jedes Jahr wieder, echt erstaunlich...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Stati in Ac (Grimmborn, 21. Dez 1999, 11:12:14):
~#! rn=Grimmborn rt=945770653 rg=treffen
~#! tid=945770575
Mein Fehler.
Ist nicht jedem gegeben, Freitag und Samstag auseinanderhalten zu koennen.
Daher hier ruer alle:

Der einzig wahre, authentische, wirkliche, unverwechselbare und einmalige
Koelner Stammtisch findet in Koeln am 14.1. statt.

Wer unbedingt will, kann dann ja am Tag danach in Aachen, der Stadt des
imaginaeren Karls des Grossen, weiterfeiern. Da findet wohl auch so eine
unbedeutende, kleine Veranstaltung statt... ;-)

Grimmborn der Atheist. Ausgeschlafen? Um diese Zeit? Hah!

-----------------------------------------------------------------------------



stati in AC (Fizban, 21. Dez 1999, 11:15:14):

Grimmborn der Atheist. Ausgeschlafen? Um diese Zeit? Hah!
das glaube ich auch Du hast die beiden verwechselt Koeln ist am 15. und Ac am
14
Gruss Fizban

-----------------------------------------------------------------------------



Re^3: Stati in Ac (Grimmborn, 21. Dez 1999, 11:15:19):
~#! rn=Grimmborn rt=945771134 rg=treffen
~#! tid=945770575
Langsam geb ichs auf.
OK. Ganz langsam. Damit auch so Leute wie ich da mitkommen.
Koeln am Samstag, dem 15.1., Aachenn am Freitag, dem 14.1., jeweils im
kommenden Jahr. Und wenn da schon wieder ein Fehler drin ist, dann ueberlasse
ich es Yantro, das zu berichtigen. Ist schliesslich sein Job, die Werbetrommel
zu ruehren...

GdA (nach Diktat verreist)

-----------------------------------------------------------------------------



Re^3: Stati in Ac (Larina, 21. Dez 1999, 11:42:19):
~#! rn=Grimmborn rt=945771134 rg=treffen
~#! tid=945770575
Also ich weiss ja gar nicht, was an dem Stati in Aachen so schlecht sein soll
:-)
Ich bin an dem Tag auf jeden Fall eher in Aachen als in Koeln zu finden... und
hoffe da auch ein paar Leutchens anzutreffen . 
Gruss Larina 

-----------------------------------------------------------------------------



StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia, 21. Dez 1999, 12:36:02):
Meine Lieben, Ihr seid herzlich eingeladen, am 15. Januar 2000 in Frankfurt zu
einem Stammtisch einzulaufen... Besonderer Anlass: die bzw. ein Teil der Meute
aus Berlin (aufgrund der weiten Anfahrt deshalb samstags statt freitags). 
Waer kommen moechte sollte mir kurz mailen, vor allem dann, wenn er/sie nen
Schlafplatz braucht.
In Ausnahmefaellen erklaer ich mich auch wieder zum Kochen bereit...

Apo* (die diesmal wohl auf Kamelot in der Kueche verzichten muss :o()

-----------------------------------------------------------------------------



StaTi in Frankfurt am Main -- 15. Januar 2000 (Fizban, 21. Dez 1999, 12:59:28):
Sorry Apo
Es tut mir ja leid aber das ueberschneidet sich mit dem Stammtisch hier oder
in Koeln auf denen ich wohl sein werde.
Vielleicht beim naechsten mal.
Gruss i.v. Fizban (Kamelot)

-----------------------------------------------------------------------------



Re: StaTi in Frankfurt am Main -- 15. Januar 2000 (Mupfel, 21. Dez 1999, 13:05:06):
~#! rn=Apollonia rt=945776162 rg=treffen
~#! tid=945776162
Wie waers wenn Du die "Meute" untern Arm klemmst und ihr dann alle nach Koeln
kommt? das ist DER Stammtisch....

-,mupfel-

-----------------------------------------------------------------------------



Re: Re: StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia, 21. Dez 1999, 13:08:37):
~#! rn=Mupfel rt=945777906 rg=treffen
~#! tid=945776162
Warum in aller Welt hab ich nur das Gefuehl, dass Du mich unbedingt in diese
Ecke lotsen willst :o) ???
Abgesehen davon nuetzt mir das nicht soooo viel, immerhin muss ich die Jungs
und Maedels ja irgendwo verkoestigen und unterbringen...

Apo* (die sich an das letztmalige Chaos noch sehr gut erinnern kann...)

-----------------------------------------------------------------------------



Re^3: StaTi in Frankfurt am Main -- 15. Januar 2000 (Mupfel, 21. Dez 1999, 13:11:43):
~#! rn=Apollonia rt=945778117 rg=treffen
~#! tid=945776162
Es geht nicht um mich, es geht "um diese Ecke", ja. Der Koelner StaTi ist
einzigartig, denn er ist genau ein mal im jahr, anfang des jahres. alles
andere sind irgendwelche treffen ;) (sorry sugaan ;)

nochmal: das ist DER KOELNER STAMMTISCH

kommet zuhauf

-mupfel- ;)

-----------------------------------------------------------------------------



Re^4: StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia, 21. Dez 1999, 13:13:15):
~#! rn=Mupfel rt=945778303 rg=treffen
~#! tid=945776162
Na gut, dann wird's eben doch ne Konkurrenzveranstaltung... Berlin zu mir!!!
:o)

Apo* (die sich vor Freude eh kaum noch einkriegt)

-----------------------------------------------------------------------------



Re^4: StaTi in Frankfurt am Main -- 15. Januar 2000 (Panic, 21. Dez 1999, 15:52:22):
~#! rn=Mupfel rt=945778303 rg=treffen
~#! tid=945776162
DER Koelner Stammtisch... jedes Jahr das gleiche Theater. Beste wo gibt und
die anderen sind sowieso alle Affen.
Viel Spass auch, bin zumn Gluecn verhindert :)

Darkwing

-----------------------------------------------------------------------------



Koelle (Zarniya, 21. Dez 1999, 17:53:25):
Hallihallohalloele, 

hier nochmal der Hinweis auf den wirklich letzten         

Koelner Traditionsstammtisch

am SAMSTAG, der 15.01.2000

ab 19 Uhr im Harp, wo er auch letztes Jahr war. 

Wegbeschreibungen gibt per Mailanfrage bei mir unter...

Marc

-----------------------------------------------------------------------------



Re^5: StaTi in Frankfurt am Main -- 15. Januar 2000 (Teddy, 21. Dez 1999, 18:49:44):
~#! rn=Panic rt=945787942 rg=treffen
~#! tid=945776162
Btw. DER Koelner Stammtishc war mal vor 2 bis 3 Jahren wirklich DER
Stammtisch, im letzten Jahr wars imho mehr als mager.

Teddy, nicht dabei, erstmalig.

-----------------------------------------------------------------------------



Re^5: StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia, 21. Dez 1999, 19:58:48):
~#! rn=Apollonia rt=945778395 rg=treffen
~#! tid=945776162
*SEUFZ* Aufgrund weiterer Terminschwierigkeiten wird der Stammtisch in
Frankfurt unter Umstaenden verschoben... Ich sag rechtzeitig bescheid.

Apo* (arglnd)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 21. Dez 1999, 20:16:14):
In Karlsruhe gibt es keine Terminschwierigkeiten und verschoben wird
sowieso nicht, darum findet auch diesen Donnerstag (wie uebrigens jeden
Donnerstag, falls das noch nicht erwaehnt wurde) der Karlsruher
Mud-Stammtisch im kleinen Meierhof statt. 
  Boing

-----------------------------------------------------------------------------



Re^5: StaTi in Frankfurt am Main -- 15. Januar 2000 (Grimman, 22. Dez 1999, 19:45:22):
~#! rn=Apollonia rt=945778395 rg=treffen
~#! tid=945776162
Hmmm ... nette Idee, mal sehen was die Weihnachtsboerse so hergibt ... Zug
fahren wollt ich eh auch ma wieder :)

GrimMan , ernsthaft ueberlegend

-----------------------------------------------------------------------------



Re: Log (Unasai, 23. Dez 1999, 14:31:54):
~#! rn=Gloin rt=945107557 rg=treffen
~#! tid=945107557
Momentchen mal!
Ich habe nie und nimmmer gesagt, das Teddys hart sein muessen...der Spruch kam
von Aeneas...ich hab das im Verlauf des Abends nur mal zitiert!
Du kannst froh sein Gloin, dass ich nicht die ganzen peinlich Sprueche von Dir
jetzt aufzaehle......

Una* (*grummelnd*
[A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C)


-----------------------------------------------------------------------------



Re^5: StaTi in Frankfurt am Main -- 15. Januar 2000 (Unasai, 23. Dez 1999, 14:38:25):
~#! rn=Apollonia rt=945778395 rg=treffen
~#! tid=945776162
 und was ist mit Leipzig? *schuechtern blinzel*
ich weiss noch nicht ob ich komme, aber wer mag mich denn aufnehmen?

Una*

-----------------------------------------------------------------------------



Re^6: StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia, 23. Dez 1999, 14:42:12):
~#! rn=Unasai rt=945956305 rg=treffen
~#! tid=945776162
WIE??? Na, was ist denn das fuer ne Frage!!! Du pennst in meinem Bettchen, ist
doch klar, Schwesterherz :o)

Apo* (grinsend)

-----------------------------------------------------------------------------



Re^7: StaTi in Frankfurt am Main -- 15. Januar 2000 (Bubba, 29. Dez 1999, 17:44:05):
~#! rn=Apollonia rt=945956532 rg=treffen
~#! tid=945776162

Ist denn in dem Bettchen auch noch ein Platz fuer mich? 
Ich wuerde sogar meine Socken ausziehen, ausnahmsweise!
 
Bubba - klein aber oho!

-----------------------------------------------------------------------------



Leipzig-Stati faellt diesmal aus (Unasai, 31. Dez 1999, 15:24:58):
Hey zusammen,
der Leipziger Stammtisch muss im Januar leider ausfallen, weil ich Ende Januar
Zwischenpruefung habe und lernen muss, damit ich da nicht durchfalle. Fuer den
Februarstammtisch kommt ne neue Meldung...

Una*

-----------------------------------------------------------------------------



*gruebel* (Arancia,  1. Jan 2000, 14:26:06):
oki, der erste Freitag im Monat ist ja nun der naechste. Aber WO findet der
Stati statt? Steht da schon was fest? Es koennte naemlich durchaus passieren
dass ich komme *smile* 

Die Apfelsine

-----------------------------------------------------------------------------



stati in B (Gnome,  1. Jan 2000, 18:08:57):
hi berliner,

stammtisch am 7.1.00 um 20.00h im SEEBLICK.

gnOme, heute kurz weil tippfaul

-----------------------------------------------------------------------------



Re: Re: stati in B (Sublime,  1. Jan 2000, 18:14:45):
~#! rn=Liara rt=946746721 rg=treffen
~#! tid=946746537
20.00h am 7.1.2000 im Seeblick ? *wiederhol*
Werd' wohl da sein mit Grimmie, Woo und
vielleicht auch mal Gotrek. Btw, das
soll jetzt ein Aufruf an die 3 sein, was
Rardian macht kann man dann ja auch
noch sehen ;) 
noch sehen ;) 

liebe gruesse
subl,fehler machend

-----------------------------------------------------------------------------



Re^3: stati in B (Makish,  1. Jan 2000, 18:15:35):
~#! rn=Sublime rt=946746885 rg=treffen
~#! tid=946746537
Oh, das wird Rar* bahengig, das Treffen *kicher*

Makish, der auch sone Ehre will *zwinker*

-----------------------------------------------------------------------------



Re^3: stati in B (Grimman,  2. Jan 2000, 14:01:20):
~#! rn=Sublime rt=946746885 rg=treffen
~#! tid=946746537
Das ist ja schon fast Zwang :)
Das soll also heissen ich komme auch?
Hmmm ... *Kalender rauskram*
Samstag muss ich aber arbeiten ... na dann ist ja gut, ich dachte schon ich
hab da was wichtiges :)

Grimman , kommt also :)

-----------------------------------------------------------------------------



Re^8: StaTi in Frankfurt am Main -- 15. Januar 2000 (Apollonia,  3. Jan 2000, 09:20:53):
~#! rn=Bubba rt=946485845 rg=treffen
~#! tid=945776162
Also, so wie's aussieht, ist das Bettchen bereits voll ausgelastet, der
Teppichboden im Wohnzimmer bisher nicht...

Apo*

-----------------------------------------------------------------------------



Re^9: StaTi in Frankfurt am Main -- 15. Januar 2000 (Bubba,  3. Jan 2000, 11:27:50):
~#! rn=Apollonia rt=946887653 rg=treffen
~#! tid=945776162

Poooeeeh!

Bubba - schwer entaeuscht


-----------------------------------------------------------------------------



Neues aus Karlsruhe (Hobo,  3. Jan 2000, 12:50:37):
Nein, ausnahmsweise findet der KM-Stammtisch nicht wie jeden Donnerstag statt.
Da ist naemlich Feiertag und der KM hat zu.
Also dann: Bis naechsten Donnerstag, 13.1., und dann schon ab 19 Uhr statt um
20 Uhr.

   Hobo

-----------------------------------------------------------------------------



Hallenser Stammti im Januar (Alcina,  3. Jan 2000, 13:23:22):
Hi Muddies,

fuer Fans des Hallenser Stammti:

Am 14.01.2000 findet ab 19 Uhr in unserem Stamm-Etablissement "Spaetschicht"
der erste Stammtisch im neuen Jahr statt. Ihr seid herzlich eingeladen!

Gruss Alcina - Ein-Frau-Orga-Team Halle a. d. Saale


-----------------------------------------------------------------------------



Stati in Mainz (Larina,  3. Jan 2000, 20:01:17):
Hm... also, diesen Freitag soll nach wie vor ein Stati in Mainz stattfinden. 
Ich verspreche auch hoch und heilig Morgen zu schreiben wo das sein wird, ich
versuch bis dahin auch noch ne Beschreibung fertigzubekommen. 
Ueber zahlreiches Erscheinen wuerde ich mich wirklich freuen. 
Bis dann 
*knuddel*
Larina

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing,  3. Jan 2000, 20:11:20):
Huhu zusammen,

Da diese Woche der Grossteil der Aachener noch ausgeflogen ist, findet der
StaTi erst naechste Woche statt - also am Freitag, den 14.1.

20h im Chico Mendes - wer nen Schlafplatz braucht kann sich bei Kamelot oder
mir melden, Platz haben wir genug :-)

Darkwing

-----------------------------------------------------------------------------



Stammtisch in AC (Fizban,  3. Jan 2000, 20:21:06):
Hi alleine in Aachen
Ich werde mich mal den Worten von Darkwing anschliessen aber bitte
reservierungen erst ab dem 10.1.00 eher bin ich nicht da.
Gruss Fizban

-----------------------------------------------------------------------------



Re^4: stati in B (Rardian,  3. Jan 2000, 22:29:15):
~#! rn=Makish rt=946746935 rg=treffen
~#! tid=946746537
Ich wuerd mich ja gern dazu aeussern, wenn ich wuesste, wovon ihr redet...

Rardian, voellig verwirrt.

-----------------------------------------------------------------------------



Re^5: stati in B (Grimman,  3. Jan 2000, 22:32:07):
~#! rn=Rardian rt=946934955 rg=treffen
~#! tid=946746537
Hmmm ... es wird wohl um die Ueberschrift gehen *nach oben deut* sonst noch
Fragen?

GrimMan, denkt bei Rubrik treffen an Treffen und sonst nuex

-----------------------------------------------------------------------------



Re^6: stati in B (Rardian,  3. Jan 2000, 22:34:09):
~#! rn=Grimman rt=946935127 rg=treffen
~#! tid=946746537
Also wenn ich Zeit hab komm ich, muss ich das vorher sagen? Wollt ihr mich hin
und zurueck fahren? Das faend ich ja stark, dann koennt ich auch endlich mal
was trinken ;)

Rar, freut sich ueber die Einladung :)

-----------------------------------------------------------------------------



Re^7: stati in B (Grimman,  3. Jan 2000, 22:36:03):
~#! rn=Rardian rt=946935249 rg=treffen
~#! tid=946746537
wuerd ich ja gerne ...aber ich komm direkt von arbeit und hab grad kein Auto
zur hand 
Nein auch nicht den kleinen gelben Rennsarg :)

GrimMan

-----------------------------------------------------------------------------



Re: Stati in Mainz (Apsu,  4. Jan 2000, 16:45:29):
~#! rn=Larina rt=946926077 rg=treffen
~#! tid=946926077
Also im Gespraech fuer den Mainzer SpontanStati ist der Kamin in der
Kapuzinerstrasse.

Wegescript: Vom Fort Malakoff in die Dagobertstrasse, das ist die am Hotel
Ibis, nicht zu uebersehen. die erste rechts ist die Kapuzinergasse, da faellt
man gleich auf der rechten Seite rein.
Fort Malakoff ist direkt am Rhein, nicht zu verfehlen, wenn man immer die B9
durch die Innenstadt duest.

Ob ich komme weiss ich leider noch nicht.

if(!nachtdienst) teilnehmeranzahl++;
while(!neuer_dienstplan) erscheinen=weiss_nicht;

Apsu

PS: Die Whiskyauswahl kann sich sehen lassen. Diverse irische und Malt-whiskys
*schleck*

-----------------------------------------------------------------------------



Re: Re: Stati in Mainz (Apsu,  4. Jan 2000, 16:50:23):
~#! rn=Apsu rt=947000729 rg=treffen
~#! tid=946926077
PPS: Da gibts mehrere Riesen Parkhaeuser in der Ecke.

-----------------------------------------------------------------------------



Stati Mainz  (Larina,  4. Jan 2000, 16:55:30):
Hm.. auch noch von mir eine Anmerkung..

Wir treffen uns um 20 Uhr. Sprich ich bin dann da und freue mich ueber jeden
den es dahin verschlaegt. 
Bis dann hoffentlich. 

Larina

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  4. Jan 2000, 23:43:10):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 14.1. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

P.S.: Auf Schleichers und Jenandras Stammtisch-Seite koennt Ihr Euch
anmelden, ne Karte gibbet da auch:
http://www.above-multimedia.de/stati.html


-----------------------------------------------------------------------------



Re: Stammtisch in D'dorf (Zarniya,  5. Jan 2000, 09:01:35):
~#! rn=Kartoffel rt=947025790 rg=treffen
~#! tid=947025790
Hmmm also am 14. Stammtisch in Aachen UND Ddorf? naja.. zum Glueck hab ich den
uebergenialen Koelner Stammtisch auf

               Samstag, den 15.1.2000   

                   ab 19 Uhr

                im Harp (Venloerstrasse) 

gelegt, damit auch Aachener und Ddorfer  leckere Pralinen von Silvana und
Tanja essen koennen... :)

Marc

-----------------------------------------------------------------------------



Stammtisch in Muenchen ?!? (Teddy,  5. Jan 2000, 20:11:52):
Hiho,

auf der Party hatten wir mal von einem Sonderstammtisch in Muenchen am
13.1.2000 gesprochen.
Wie siehts damit jetzt aus? Wer kommt, wer hat Lust und ueberhaupt.

Teddy, waere schonmal da.

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen ?!? (Zephyr,  5. Jan 2000, 22:15:35):
~#! rn=Teddy rt=947099512 rg=treffen
~#! tid=947099512
Dagegen :)
C4, hat was vor

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen ?!? (Wurzel,  6. Jan 2000, 13:19:46):
~#! rn=Zephyr rt=947106935 rg=treffen
~#! tid=947099512
nicht dass ich dich schon mal auf nem stammtisch in muenchen gesehen haette..
aber wenn du mal kommen willst, koennen wir ueber den termin sicher noch
diskutieren :)

ansonsten: wird mal wieder zeit fuer muenchen, zustimmung

-----------------------------------------------------------------------------



Nicht nur fuer Lolli (Bielefeld,  6. Jan 2000, 15:18:42):
Moin!

Es gibt wieder einmal einen Stammtisch in Hamburg. Und zwar am 
Freitag, den 21.01.00, 19.30 Uhr im Geo 53. 

-Bielefeld

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen ?!? (Hight,  6. Jan 2000, 16:03:36):
~#! rn=Teddy rt=947099512 rg=treffen
~#! tid=947099512
ja macht mal ich komm warscheinlich ,o) abba am donnerstag is wen doof waehre
freitag net vileicht ne bessre idee

Hight

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen ?!? (Heromcfly,  6. Jan 2000, 17:37:34):
~#! rn=Hight rt=947171016 rg=treffen
~#! tid=947099512

ja wie donnerstag wer hatte den die schnapsidee ? 
soll ja leute geben die unter der woche arbeiten oder so
bin auch fuer nen anderen termin :)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Muenchen ?!? (Karis,  6. Jan 2000, 17:38:38):
~#! rn=Heromcfly rt=947176654 rg=treffen
~#! tid=947099512
Hat denn ueberhaupt schon jemand nen Termin festgelegt?? 
WUUUUURST, organisier doch mal was, sonst klappt das nie :)

Karis

-----------------------------------------------------------------------------



Re^4: Stammtisch in Muenchen ?!? (Devilchen,  6. Jan 2000, 17:40:22):
~#! rn=Karis rt=947176718 rg=treffen
~#! tid=947099512
Termin waer ganz nett, ich komm dann vielleicht auch, wenns nich grad unter
der Woche ist....
Dev*, sich schon mal auf die ganzen Leutz freuend

-----------------------------------------------------------------------------



Re^5: Stammtisch in Muenchen ?!? (Calimera,  6. Jan 2000, 17:43:02):
~#! rn=Devilchen rt=947176822 rg=treffen
~#! tid=947099512
Ja Termin waer nett, damit ich weiss wann ich keine Zeit hab .. :)

-----------------------------------------------------------------------------



STATI in MUENCHEN (Karis,  6. Jan 2000, 17:47:35):
Bevor jetzt irgendjemand ne Glaubenskrise kriegt:

Stammtisch in Muenchen ist am 14.1., Freitag, um 19.00 Uhr im Augustiner am
Dante

Wegbeschreibungen gibbet bei mir und bei Branwen und bei Wurst. Wohl erst ab
Montag,  da dann alle aus dem Urlaub zurueck sind.

Zwecks Tischbestellung bitte mir Bescheid geben (nein, nicht Branwen und nicht
Wurst,
wenn das 3 machen, klappt das nie :)

Also dann bis bald :)

Karis

-----------------------------------------------------------------------------



Re: STATI in MUENCHEN (Wurzel,  6. Jan 2000, 18:49:57):
~#! rn=Karis rt=947177255 rg=treffen
~#! tid=947177255
dabei. wenn nichts schlimmes mehr passiert, jedenfalls.

wurzel

-----------------------------------------------------------------------------



Re: Stati in Mainz (Montanus,  6. Jan 2000, 23:33:45):
~#! rn=Larina rt=946926077 rg=treffen
~#! tid=946926077

Auch wenn ich eigentlich einer der zwei Initiatoren des Mainzer Stammtischs
bin - am Freitag ohne mich...
Wegen Umzug ins Frankenlaendle werde ich da wohl meinen eigenen Stammtisch
irgendwo in Nuernberg abhalten, um mich aufs Moebelaufbauen am Samstag
seelisch vorzubereiten...

-Montanus

-----------------------------------------------------------------------------



Re: Re: Stati in Mainz (Hight,  7. Jan 2000, 00:06:21):
~#! rn=Montanus rt=947198025 rg=treffen
~#! tid=946926077
Ui das is abba net von dir ... dann muessen wir (devilchen 
heromcfly und ich) uns keinen kopf drum machen ,o)

Hight ist erleichtert ,o)

-----------------------------------------------------------------------------



Re: STATI in MUENCHEN (Kartoffel,  8. Jan 2000, 00:31:18):
~#! rn=Karis rt=947177255 rg=treffen
~#! tid=947177255


Hmmm, Augustiner, lecker, trinkt einen fuer mich mit.

'Toffel

-----------------------------------------------------------------------------



Achtung!!!! Mitteilung fuer den Halle-Stammti!!!!! (Alcina,  8. Jan 2000, 21:48:29):
Hi Muddies,


Es hat sich als ganz unguenstig herausgestellt, den Januarstammtisch am
Freitag, 14.01.2000 zu machen. Damit wir den nicht absagen muessen, weil sich
einige Leuts (auch von ausserhalb) angemeldet haben, schlage ich vor, das
Ganze um einen tag nach hinten zu verlegen. Das heisst also:

Hallenser Stammti im Januar ist am SAMSTAG (!!!!) 15.01.2000 ab 19 Uhr in der
altgewohnten Kneipe "Spaetschicht" (Naehe Rannischer Platz).

Ich hoffe, die Betreffenden lesen das rechtzeitig. Ausserdem kann man prima
mit dem WE-Ticket nach Halle kommen, denn wir sind zwar im Osten, aber auch
wir haben einen Bahnhof. Wegen Wegbeschreibungen, Uebernachtungen und/oder
anderer Problemchen bitte an mich wenden.

Alcina - Ein-Frau-Orga-Team-(noch)-Halle-a.-d.-Saale hofft, dass die nichts
vergessen hat.


-----------------------------------------------------------------------------



Re: Achtung!!!! Mitteilung fuer den Halle-Stammti!!!!! (Alcina,  8. Jan 2000, 21:50:16):
~#! rn=Alcina rt=947364509 rg=treffen
~#! tid=947364509
Ich hoffe, Ihr seht mir meine Typos nach!

Alcina.


-----------------------------------------------------------------------------



Re: Re: STATI in MUENCHEN (Karis,  9. Jan 2000, 00:32:21):
~#! rn=Kartoffel rt=947287878 rg=treffen
~#! tid=947177255
Da wird nix mitgetrunken. Komm selber :)

Karis

-----------------------------------------------------------------------------



Dortmund? (Aline, 10. Jan 2000, 16:14:04):
Hi Dortmunder,

einige von Euch werde ich wohl am Samstag in Koeln sehen, aber ich
haette trotzdem mal wieder Lust Euch in Do
zu treffen..... ;)
Freitag? 14.1.00?
Walhalla?

Aline

-----------------------------------------------------------------------------



Re: Dortmund? (Schleicher, 10. Jan 2000, 19:05:39):
~#! rn=Aline rt=947517244 rg=treffen
~#! tid=947517244
Oh toll der dritte Stammtisch am gleichen Tag.
Hmmm, alsooo, wir Duesseldorfer sind bekanntermassen sehr reisefreudig wenn
man uns laesst aber in letzter Zeit laesst man uns nicht mehr - warum werdet
Ihr euch fragen. Und siehe ich antworte Euch.
Weil neuerdings eine Art Sport entstanden zu sein scheint, nach dem Motto, Hey
je mehr Stammtische an einem Tag in moeglichst nahen Orten stattfinden desto
weniger Leute muessen wir ertragen.
Das ist ein sehr, sehr guter Ansatz - nur, wem macht es wohl Spass immer mit
den gleichen Leuten beim gleichen Bier zu sitzen? Aber naja, jeder so wie er
mag/kann/moechte. Ich wollte das nur mal so, quasi als Gedankenspielchen in
den Raum geworfen haben.
Also einen schoenen Stammtisch am 14.01.00 in Aachen, Duesseldorf und Dortmund
und JAAAA hey Koelner verlegt doch bitte Euren Stammtisch noch spontan nen Tag
nach vorne.
Ein sehr grimmig schmunzenlder Schleicher

-----------------------------------------------------------------------------



Re: Re: Dortmund? (Rardian, 11. Jan 2000, 00:05:04):
~#! rn=Schleicher rt=947527539 rg=treffen
~#! tid=947517244
Gut, dass der Halenser StaTi verlegt wurde auf den 15. ...

Rar.

-----------------------------------------------------------------------------



Koelner Stammtisch (Zarniya, 11. Jan 2000, 09:03:09):

Hi, 

ich moechte nochmal auf den genialen, verpralinten 

       Koelner Traditionsstammtisch 

hinweisen, der am 

          15.01.2000 ab 19 Uhr im Harp 

stattfinden wird!

Wegbeschreibung zum "The Harp" in Koeln.

Adresse: 

The Harp, Venloer Strasse, Koelner Innenstadt 
(zwischen Friesenplatz und Westbahnhof)

Mit Bahn:

- Zug bis Hauptbahnhof Koeln, dann entweder 

  (a) Mit Bundesbahn zum Westbahnhof, da vom Bahnsteig Treppe runter und
die Venloer Strasse Richtung Innenstadt gehen. Nach ca. 150 Meter auf der 
Linken Strassenseite ist "The Harp", ein Irish Pub.

  (b) Mit der Strassen/U-Bahnlinie 5 bis Friesenplatz, da dann oberirdisch
die Venloer Strasse stadtauswaerts. Nach ca. 200 Metern auf der rechten
Strassenseite ist "The Harp", ein Irish Pub.

Mit Auto:

(a) Mit Strassenkarte: Westbahnhof suchen und da dann in der Naehe parken.
Dann wie oben.

(b) Beim Autobahnkreuz Koeln West die Abfahrt Loevenich nehmen und dann die
Aachenerstrasse Richtung Innenstadt fahren. Da geht es dann sehr lange
gerade aus. Man kommt am Stadion vorbei, an einem grossen DKV-Gebaeude
u.ae.. Irgendwann sieht man auf der linken Strassenseite eine elend lange
Mauer (da ist der MelatenFriedhof hinter, ohne Vampire). Hinter diesem
Friedhof kreuzt eine weitere , gar 6-spurige Strasse, die Innere
Kanalstrasse. Dort muss man rechts eine Schleife fahren, weil man in Koeln
fast nie direkt links abbiegen darf. :/
Also So fahren, dass man eigentlich "links abbiegt". Auf dieser Inneren
Kanalstrasse muss man dann die zweite rechts ab. Das ist die Venloer
Strasse. Dort dann bis zur Bahnunterfuehrung weiter (das ist der
Westbahnhof) und da dann irgendwo parken und wie oben geschrieben zu Fuss
weiter in die Innenstadt bis zum Harp. Man kann natuerlich auch versuchen,
naeher am Harp was zu finden, aber die Chancen stehen gut, dass man als
Ortsfremder im Koelner Einbahnstrassensystem verhungert.

Zu Fuss: 

Also wer zu Fuss kommt, kennt sich eh aus. ;)

Marc

P.S.: Anmeldung ist zwar nicht erforderlich, aber wenn ihr eh wisst, dass ihr
kommt, dann mailt mir, damit ich weiss, wer so zu erwarten ist :)

-----------------------------------------------------------------------------



Re^3: Dortmund? (Alcina, 11. Jan 2000, 10:45:15):
~#! rn=Rardian rt=947545504 rg=treffen
~#! tid=947517244
nach Halle kommt aber kein Koelner/Duesseldorfer/Dortmunder/Aachener und wie
sie alle heissen :)

Gruss Alcina

-----------------------------------------------------------------------------



Re^4: Dortmund? (Darkmage, 11. Jan 2000, 13:53:06):
~#! rn=Alcina rt=947583915 rg=treffen
~#! tid=947517244
>nach Halle kommt aber kein Koelner/Duesseldorfer/Dortmunder/Aachener
>und wie sie alle heissen :)

finger marc
Marc ist nicht anwesend.
Zuletzt eingeloggt von: Halle

Nicht nur das, anscheinend kommt sogar dieser "Marc", der da immer postet, aus
Halle, Alcina ;)

Neb grinsend.

-----------------------------------------------------------------------------



Re^5: Dortmund? (Alcina, 11. Jan 2000, 14:19:48):
~#! rn=Darkmage rt=947595186 rg=treffen
~#! tid=947517244
das war sicher ein Fake, Neb :)


-----------------------------------------------------------------------------



Re: Re: Dortmund? (Aline, 11. Jan 2000, 14:45:38):
~#! rn=Schleicher rt=947527539 rg=treffen
~#! tid=947517244
Hi Schleicher,

hast ja recht.....
War keine gute Idee von mir. Vielleicht sehen wir uns ja in Koeln.

Aline

-----------------------------------------------------------------------------



Re^3: Dortmund? (Schleicher, 11. Jan 2000, 17:18:46):
~#! rn=Aline rt=947598338 rg=treffen
~#! tid=947517244
Hmmm, ich glaube nicht, da an diesem Samstag mein Umzug anfaengt werde ich
wohl nicht in K - Ko - KKK, naja in dieser Stadt mit der grossen Kirche
auftauchen, ausserdem ist das fuer mich als Duesseldorfer auch etwas schwierig
so schnell ein Visum fuer's feindliche Ausland zu bekommen.
Aber ansonsten demnaechst in Dottmund.
Schleicher der reisefreudige. (wennsnichtgradekoelnist)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen ?!? (Teddy, 11. Jan 2000, 19:19:22):
~#! rn=Hight rt=947171016 rg=treffen
~#! tid=947099512
Der war auch gemeint, also der 14.1.2000

Teddy.

-----------------------------------------------------------------------------



Re: Re: STATI in MUENCHEN (Teddy, 11. Jan 2000, 19:20:14):
~#! rn=Kartoffel rt=947287878 rg=treffen
~#! tid=947177255
Mach ich!

Teddy, halt auch dabei.

-----------------------------------------------------------------------------



Re: Dortmund? (Kartoffel, 11. Jan 2000, 21:38:12):
~#! rn=Aline rt=947517244 rg=treffen
~#! tid=947517244


Solang dann nich der regulaere flachfaellt...

'Toffel - kann nich am 14.

-----------------------------------------------------------------------------



Re: Re: Dortmund? (Tiamak, 11. Jan 2000, 22:36:19):
~#! rn=Kartoffel rt=947623092 rg=treffen
~#! tid=947517244
Ich denke mal eher, dass der 14.1. in DO gestorben ist.

Oder kann&will da ueberhaupt wer?

Tiamak. Will nicht.

-----------------------------------------------------------------------------



Dresden rulez! (Sniper, 12. Jan 2000, 02:29:46):
Hallo ihrs,
am 22.01. ist es wieder soweit: Stati in Dresden. "Warum an einem Samstag",
fragt ihr euch jetzt wahrscheinlich. Nun, das hat einen guten Grund. Die
Dresdner werden sich schon (hoffentlich in grosser Zahl) am Nachmittag treffen
und ein wenig questen gehen. Wer nicht weiss, was damit gemeint ist, der frage
bitte nach ;-)
Fuer alle Nicht-Dresdner, die gerne kommen wollen, gilt: 20 Uhr im CD.
Wegbeschreibungen gibt es bei mir oder bei Mesirii. 
Also dann, kommet zuhauf :-)

Sniper

-----------------------------------------------------------------------------



Re: Dresden rulez! (Faggu, 12. Jan 2000, 11:33:41):
~#! rn=Sniper rt=947640586 rg=treffen
~#! tid=947640586
Moin, moin,
Samstag ist eigentlich Privatleben angesagt und das spielt sich normalerweise
in RL ab.

Faggu
Weiss noch nicht, wie er dass seiner 'Frau' beibringt *gruebel*

-----------------------------------------------------------------------------



Re^3: STATI in MUENCHEN (Teddy, 14. Jan 2000, 17:25:43):
~#! rn=Teddy rt=947614814 rg=treffen
~#! tid=947177255
Nur fuer alle, die wie ich keine Ahnung haben, wo das ist:

Augustiner am Dante
Dantestr 16

Sehr nahe Westfriedhof.

Teddy

-----------------------------------------------------------------------------



Re^4: STATI in MUENCHEN (Karis, 14. Jan 2000, 17:26:21):
~#! rn=Teddy rt=947867143 rg=treffen
~#! tid=947177255
aber offensichtlich weisste es doch..

Karis, wundert sich :)

-----------------------------------------------------------------------------



Re^5: STATI in MUENCHEN (Teddy, 14. Jan 2000, 17:27:05):
~#! rn=Karis rt=947867181 rg=treffen
~#! tid=947177255
Mitlerweile ja, aber ich bin halt auch lernfaehig (glaub ich)

Teddy, is sich doch nciht SO sicher.

-----------------------------------------------------------------------------



Re: Koelner Stammtisch (Mupfel, 15. Jan 2000, 16:32:58):
~#! rn=Zarniya rt=947577789 rg=treffen
~#! tid=947577789
entgegen vorheriger postings bin ich aus zeitmangel nicht mit dabei, leider ;(

-mupfel-

-----------------------------------------------------------------------------



Sonderstammtisch in Muenster & Party (Ariana, 15. Jan 2000, 19:39:25):
Hi Ihr :)
Ich habe mir sagen lassen, dass die Stammtisch und Partyankuendigung in der
Rubrik Party nichts zu suchen hat. *staun*
Deshalb hier also nochmal:

Am Freitag den 21. Januar 20:00 Uhr findet ein Sonderstammtisch im Fegefeuer
statt (sehr schoene, mittelalterliche Kneipe hier in Muenster).
Nichts desto trotz findet Dienstag vorher der regulaere Stammtisch im Cuba
statt.
Fuer alle Auswaertigen hier erstmal die Wegbeschreibung zum Fegefeuer:
Ihr nehmt die Autobahnausfahrt Muenster-Sued und fahrt dann Richtung
Innenstadt (Ihr fahrt auf der Weseler Strasse). Zu linker Hand kommt ein
McDrive, ein Stueckchen weiter ist auf der rechten Seite die Antonius Kirche.
Hier biegt ihr rechts ab in die Moltkestrasse. Das Fegefeuer ist in der
von-Kluck-Strasse Nummer 15, das ist die zweite Strasse rechts (oder die
letzte rechts vor dem Kreisverkehr). Wenn ihr im Kreisverkehr seit, seit ihr
zu weit :) macht aber nichts, denn Parkplaetze gibt es sowieso fast keine und
ihr muesst eh weitraeumig suchen (*grins schadenfroh und freu ueber ihr
Fahrrad*).
Direkt am Samstag danach, also am 22. Januar um 20:00 Uhr, feiern Jameson und
ich unseren Einstand in der neuen Wohnung zu dem ihr natuerlich auch alle
herzlich eingeladen seit. Wegbeschreibung zur Party gibt es auf dem Stammtisch
oder per mail an mich (dagmar@asgard-datentechnik.de).
Wer nach Stammtisch und/oder Party einen Schlafplatz braucht (und ggfs.
Freitag vor dem Stammtisch schonmal Schlafsack und Isomatte hier abladen
will) sollte mir ebenfalls mailen.
Ansonsten werden wir Antialkoholisches (und sicher auch die eine oder andere
Flasche Wein *GGG*) hier haben, es waere aber trotzdem schoen, wenn jeder eine
Kleinigkeit mitbringen koennte.

Also: Waere schoen wenn sich moeglichst viele von euch blicken lassen,
vielleicht ja auch mal wieder ein paar Muensteraner.
Bisherige Stammtischliste: Rochus, Wim, Silvana, Pfeife, Foobar, Narena

xxxooo
Ariana & Jameson (8)

-----------------------------------------------------------------------------



Re: Sonderstammtisch in Muenster & Party (Brandir, 16. Jan 2000, 21:46:31):
~#! rn=Ariana rt=947961565 rg=treffen
~#! tid=947961565
(9) :-)

-----------------------------------------------------------------------------



W:O:A ?! (Angus, 17. Jan 2000, 16:40:17):
>Mal 'ne Frage:
:Gibt's hier Leute, die dieses Jahr nach Wacken fahren?
:Wenn ja: Wie waer's mit einem Treffen/Stammzeltwasweissichdenn
:dort - natuerlich nur, wenn es absolut anstaendig und
:gesittet zugeht ;-)
:Bei Interesse Mail an sst@carus.de - vielleicht
:laesst sich ja was organisieren...
:  -Angus.


-----------------------------------------------------------------------------



Re: W:O:A ?! (Beelzebub, 17. Jan 2000, 16:42:40):
~#! rn=Angus rt=948123617 rg=treffen
~#! tid=948123617

KACKEN IN WACKEN !!! (insider fuer lug)

Tuerlich bin ich da, is doch Pflicht.

Beelze ]:-)

-----------------------------------------------------------------------------



Re: Re: W:O:A ?! (Silvana, 17. Jan 2000, 17:49:13):
~#! rn=Beelzebub rt=948123760 rg=treffen
~#! tid=948123617
WtF is Wacken?

-----------------------------------------------------------------------------



Re^3: W:O:A ?! (Beelzebub, 17. Jan 2000, 18:02:23):
~#! rn=Silvana rt=948127753 rg=treffen
~#! tid=948123617

W.O.A.: Wacken Open Air

Wacken ist ein verschlafenes Nest in der Naehe von Itzehoe, zu dem jedes
Jahr eine Horde langhaariger Bombenleger hinpilgern und das reinste Chaos
verursachen. Ein Metal-Festival halt...

Beelze ]:-)

Ups, sorry... DAS Metal-Festival halt ]:-)

-----------------------------------------------------------------------------



Re: Sonderstammtisch in Muenster & Party (Kamuhl, 17. Jan 2000, 19:29:21):
~#! rn=Ariana rt=947961565 rg=treffen
~#! tid=947961565
Kamuhl + Gorog - nur Freitag = (10)

mfg

-----------------------------------------------------------------------------



Re: W:O:A ?! (Sublime, 17. Jan 2000, 20:05:15):
~#! rn=Angus rt=948123617 rg=treffen
~#! tid=948123617
Das Wacken Open Air ? Hmm, theoretisch wuerd' ich gern vorbeischau'n,
brauche aber erst genaue Daten und kann dann anfangen zu planen. Wenn
Dimmu Borgir da sind, waer das natuerlich zusaetzlicher Anreiz sich nach
Wacken auf zu machen ;)

Hast Du Infos ueber Zeit, Ort, Geld, Bands usw. ? Schreib mal was dazu...

liebe gruesse
subl

-----------------------------------------------------------------------------



Februar-Stammtisch in Halle (Alcina, 17. Jan 2000, 20:39:58):

Hi Muddies,

am 11.02.00 ab 19 Uhr findet in unserer altbekannten Kneipe "Spaetschicht"
(Torstrasse 20, Naehe Rannischer Platz) der Stammtisch im Februar statt. D.h.
Wahrscheinlich, in der Spaetschicht; sollte sich ein Etablissement finden
lassen, in dem das Bier guenstiger ist *zwerge angrins*, kommt gleich eine
Meldung in die MPA.

Das wird vorerst mein letzter Stammtisch in Halle sein. Als
Nachfolgeorganisatorin hat sich Cassandra bereiterklaert, so dass der Stammti
nicht einschlaeft.

Alcina - das letzte Mal Ein-Frau-Orga-Team-Halle-a.-d.-Saale.


-----------------------------------------------------------------------------



Bericht aus Koelle (Zarniya, 18. Jan 2000, 13:13:15):

Hallihallo, 

also ich moechte mich hier an der Stelle bei all denen bedanken, die zum
Traditionsstammtisch gekommen sind. Leider war ja fast keiner angemeldet, so
dass es dann doch ein wenig eng geworden ist. Gekommen sind uebrigens:

"Tanja", Zarniya, Nirdavo, Ronda, Telka, Twrx, Rochus, Pfeife,
ork"nervensaege"troete, Menace, Critter, Tweeg, Zardoz, Householder, Merchu,
DerMetzger, Sugaan, Alinchen, Bendeigitt, Egomir, Beorn, Tangalur, Gorog,
Mercutio, Menolly und "Jens".... "" steht fuer Realname... ich hoff, ich hab
keinen Vergessen. 

Besonderen Dank gilt es an einen Trucker zu vergeben, der meinte, einen Teil
seiner aus Baustellensteinen bestehenden Ladung waehrend der Fahrt vor
Silvanas autoabzuladen (natuerlich auf der Autobahn). Leider konnte sie diesem
dann nicht so richtig ausweichen und hatte durch Glueck nur 2 platte Reifen.
Sciherlich stellt sich dann die Sinnfrage, wieso Autos eigentlich immer nur
einen Resatzreifen haben, wenn man es philosophisch mag, dann kann man auch
ueberlegen, ob selbst dann nicht immer ein Reifen zu wenig da ist, wenn man
mehr mitnimmt (gruss von Murphy). Nach einem dann laengeren romantischen Abend
mit Li auf der Autobahn ist sie dann doch um 1 Uhr oder so direkt nach Hause
gefahren.... schade fuer den Wettbewerb, aber die verunglueckten Pralinen
werden wohl auf dem Muensteraner Extrastammtisch nachgereicht.

Im Wettbewerb waren aber nciht alleine Tanjas pralinen, die uebrigens trotz
Alines Diaet (sie hat deswegen auch nur 8 gegessen) alle weggegangen sind,
sondern Sugaan hat auch ein paar Rumkugeln mitgebracht, die alleine durch die
Haferflocken drinne einen Witzigkeitspreis bekommen sollte. Mutig war das
schon und ich hoffe, dass sie sich durch Tanjas Kommentar "Ist da Kleister
drin?" nicht abschrecken laesst. :)

Rochus war auch witzig, ist er doch offensichtlich nur gekommen, um ein Foto
von mir und meiner Freundin zu machen, auf Nachfrage mit dem Kommentar "Nciht
nur in Muenster, das halbe MUD glaubt nciht, dass DU ne Freundin hast"!!! Ja,
sind die denn alle deppert? Als wenn Larissa die einzige Frau auf der Welt
waere, die wahren Geschmack hat. Naja... mir wars nicht peinlich, denn ich bin
mit Tanja gluecklich... Rochus war es nicht peinlich, weil er wohl nicht
merkte, dass er mit beiden Beinen im Fettnaepfchen stand. Uebrigens meinte
meine Freundin dazu nur gelassen "Diesen Jesus (sie meinte Rochus) hat sicher
noch nie ne Frau angefasst, ausser um ihn wegzuschubsen!".

Nun ja... lassen wir die persoenlichen Anfeindungen ein wenig, obwohl Rochus
ja auch meinte, dass er meine frueher ueblichen Hetz und Staenkerartikel arg
vermisst (scheisse, wenn ein Feindbild so langsam verblast, was?).

Fazit: Es war ein sehr netter Abend mit netten Leuten, vor allem bei Aline und
Ronda nochmals Danke fuer die weite Anfahrt und das ihr mich nciht vergessen
habt... 

Eigentlich will ich ja dann nie noch einen weiteren Stammtisch machen, aber
ich bin mir sicher, dass Grimmborn mich auch naechstes Jahr wieder zu so einer
Veranstaltung noetigen wird... lecker wars auf alle Faelle und damit meine ich
nicht nur die Pralinen....

Marc


-----------------------------------------------------------------------------



Re: Bericht aus Koelle (Alboin, 18. Jan 2000, 13:40:06):
~#! rn=Zarniya rt=948197595 rg=treffen
~#! tid=948197595
Zarniya,

das ist in der Tat ein Staenkerartikel und ich frage mich warumDu immer ein
Problem das jemand mit Dir hat oder umgekehrt veroeffentlichen musst.
Davon abgesehen freue ich mich fuer Dich dass Du mit jemandem gluecklich
bist...

Gruesse Alboin

-----------------------------------------------------------------------------



Re: Bericht aus Koelle (Rochus, 18. Jan 2000, 13:46:33):
~#! rn=Zarniya rt=948197595 rg=treffen
~#! tid=948197595
Hmm, also ich hatte nach dem Stati eigentlich einen postiven
Eindruck von Dir... zumindest einen positiiveren als frueher...
Und die Hetz- und Staenkerartikel habe ich wirklich nicht vermisst,
aber danke dass Du wieder einen geschrieben hast, sonst waere
mein Feindbild naemlich wirklich verblasst.

  Rochus

-----------------------------------------------------------------------------



Re: Bericht aus Koelle (Arancia, 18. Jan 2000, 16:33:42):
~#! rn=Zarniya rt=948197595 rg=treffen
~#! tid=948197595
diese Hoffnung, eventuelles gesellschaftliches Ansehen durch versuchte
Blosstellung anderer
Personen in der Oeffentlichkeit zu erlangen kann Anzeichen fuer eine
ernstzunehmende
Verhaltensstoerung sein. Du solltest dies dringend mit Deinem
Psycholanalytiker
besprechen. 


-----------------------------------------------------------------------------



Doch mal wieder nen Stati in BS (Karic, 18. Jan 2000, 20:23:47):
hiho..
Es ist mal wieder soweit. Stati in Braunschweig.
Wann? aehm..ja.. geplant ist naechste Woche Freitag, das ist dann
(*imkleinenschwarzenbuechleinblaetter*) der 28.1.00
Uhrzeit? Wie immer 20h. Ort? geplant ist das "Dialog" ..
Da ich aber zu schusselig war is noch nix reserviert, somit kann sich 
der Ort noch kurzfristig aendern. Aenderung erscheinen aber in der Mpa.
So kommet und mehret euch...aehm..ne.. kommt einfach nur ;)

bis denne
DasIchhabkeineahnungvonorganisiereneinmannteam Karic

-----------------------------------------------------------------------------



Re: Re: W:O:A ?! (Lug, 19. Jan 2000, 00:19:42):
~#! rn=Beelzebub rt=948123760 rg=treffen
~#! tid=948123617

Wacken? Was sonst?

Same procedure as every year, Beelze!
Lug

-----------------------------------------------------------------------------



Re: Re: W:O:A ?! (Lug, 19. Jan 2000, 00:20:56):
~#! rn=Sublime rt=948135915 rg=treffen
~#! tid=948123617

Hm?

Also wenn Du das nicht weisst, geh lieber ins Kloster als nach Wacken.

Lug

-----------------------------------------------------------------------------



Re: Bericht aus Koelle (Apollonia, 19. Jan 2000, 13:27:11):
~#! rn=Zarniya rt=948197595 rg=treffen
~#! tid=948197595
Vielleicht sollte sich Deine Freundin mit ihren Kommentaren etwas mehr
zurueckhalten... mit Dir scheint sie auch nicht unbedingt Geschmack bewiesen
zu haben.

Apo* (ihren Papa verteidigend)

-----------------------------------------------------------------------------



Re: Re: Bericht aus Koelle (Anatol, 19. Jan 2000, 13:46:57):
~#! rn=Apollonia rt=948284831 rg=treffen
~#! tid=948197595
*gaehn* Vielleicht sollten sich die, die in Koeln nicht dabei waren,
ebenfalls etwas zurueckhalten. Denn sollte man Zarniya Glauben schenken
koennen (warum nicht?), war Rochus' Kommentar auch nicht der taktvollste.

Wie mir eben bestaetigt wurde, funktioniert "mail" noch, also... :)

Anatol - selbst Flames brauchen Niveau


-----------------------------------------------------------------------------



Re^3: Bericht aus Koelle (Nonne, 19. Jan 2000, 13:49:43):
~#! rn=Anatol rt=948286017 rg=treffen
~#! tid=948197595
Da hat wohl einer Anatols Passwort geknackt! Takt und Niveaus sind zwei Worte,
die der echte Anatol wohl nicht im Wortschatz hat.

-----------------------------------------------------------------------------



Re^3: Bericht aus Koelle (Bubba, 19. Jan 2000, 15:51:43):
~#! rn=Anatol rt=948286017 rg=treffen
~#! tid=948197595

Um einen klareren Eindruck zu gewinnen, wuerde ich gerne mal ein Foto von
Zarniyas Freundin sehen...kann das mal einer ins Web setzen, sofern
vorhanden!? Dies wuerde sicherlich ungeheuer zur Versachlichung beitragen. Man
will schliesslich wissen, um wen es hier geht - um dann ein gerechtes Urteil
zu faellen. 

Bubba


-----------------------------------------------------------------------------



Re^4: Bericht aus Koelle (Pra, 19. Jan 2000, 16:08:10):
~#! rn=Bubba rt=948293503 rg=treffen
~#! tid=948197595
Der Fairness halber muessen dann aber auch noch Fotos von Zarniya und
Rochus danebengesetzt werden...

... Kann das mal einer nach Schmarrn verlegen?

Pra.

-----------------------------------------------------------------------------



Re^5: Bericht aus Koelle (Grimmborn, 19. Jan 2000, 17:36:29):
~#! rn=Pra rt=948294490 rg=treffen
~#! tid=948197595
Sonst noch jemand ausser mir, der der Meinung ist, dass jemand, der meint, er
koenne aufgrund eines Fotos ein "gerechtes Urteil faellen" sich selber
disqualifiziert?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Bericht aus Koelle (Rochus, 19. Jan 2000, 17:37:05):
~#! rn=Grimmborn rt=948299789 rg=treffen
~#! tid=948197595
Ja, ich.

-----------------------------------------------------------------------------



Re^7: Bericht aus Koelle (Grumbart, 19. Jan 2000, 17:41:37):
~#! rn=Rochus rt=948299825 rg=treffen
~#! tid=948197595
Schluss mit den Gequatsche: SEND PICS !!!!

Grumbart 

PS. Das Fotos von Rochus koennt ihr ruhig weglassen ...


-----------------------------------------------------------------------------



Re^8: Bericht aus Koelle (Pra, 19. Jan 2000, 17:42:11):
~#! rn=Grumbart rt=948300097 rg=treffen
~#! tid=948197595
ME TOO!!!

-----------------------------------------------------------------------------



Re^8: Bericht aus Koelle (Alboin, 19. Jan 2000, 17:43:23):
~#! rn=Grumbart rt=948300097 rg=treffen
~#! tid=948197595

hier ist ein Mud und nicht die Bildzeitung

kopfschuettelnd* Alboin

-----------------------------------------------------------------------------



Re^9: Bericht aus Koelle (Grumbart, 19. Jan 2000, 17:45:53):
~#! rn=Alboin rt=948300203 rg=treffen
~#! tid=948197595
OK, ok, auf das Foto von Yantro verzichten wir auch....
Grumbart (Was hat das eigentlich mit Intelenz zu tun, haeh ??)

-----------------------------------------------------------------------------



Re^10: Bericht aus Koelle (Bubba, 19. Jan 2000, 17:54:40):
~#! rn=Grumbart rt=948300353 rg=treffen
~#! tid=948197595

Sollte Zarniyas/Yantros Freundin etwa auch'n Bart haben? Oder entsetzt der
Gedanke an ein Bild von ihr einige so?
Ist sie wirklich sooo uebel?


-----------------------------------------------------------------------------



Re^11: Bericht aus Koelle (Hood, 19. Jan 2000, 17:56:40):
~#! rn=Bubba rt=948300880 rg=treffen
~#! tid=948197595
ich gratuliere zum schlechtesten thread des jahrhunderts; und ja, das
neue jahrhundert faengt aus meiner sicht erst naechstes jahr an.

-----------------------------------------------------------------------------



Re^12: Bericht aus Koelle (Engywuck, 19. Jan 2000, 18:27:00):
~#! rn=Hood rt=948301000 rg=treffen
~#! tid=948197595
Vielen Dank an alle Beteiligten! Schon lange war ein Thread nicht mehr so
amuesant. hab mich koestlich amuesiert! 

Engy*

P.S.: Wo sind jetzt die Bilder? :)

-----------------------------------------------------------------------------



Re: Re: W:O:A ?! (Angus, 19. Jan 2000, 18:54:44):
~#! rn=Sublime rt=948135915 rg=treffen
~#! tid=948123617
Hi!
Also genauer, da ja offensichtlich Interesse besteht:
Datum: 4. und 5. August 2000
Geld:  wohl so ca. 80,- fuer 2 Tage + 20,- pro KFZ auf
       dem Campingplatz.
Ort:    Wacken bei Itzehoe.
Bands: noch in Planung, nicht mehr als 60, sagt
       der Veranstalter...

noch genauer: http://www.wacken-open-air.de

See You in Wacken - Rain Or Shine!!!

-----------------------------------------------------------------------------



Re^3: W:O:A ?! (Bubba, 19. Jan 2000, 19:33:36):
~#! rn=Angus rt=948304484 rg=treffen
~#! tid=948123617
 
Singt da auch Ricky Martin?


-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Wurzel, 19. Jan 2000, 19:35:28):
~#! rn=Engywuck rt=948302820 rg=treffen
~#! tid=948197595
genau. ich lese hier, um mich zu amuesieren. je mehr es fetzt, desto besser :)
wer niveau haben will, ist hier eh falsch aufgehoben.

weiter so, nicht nachlassen :)

wurzel

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Bubba, 19. Jan 2000, 19:58:47):
~#! rn=Wurzel rt=948306928 rg=treffen
~#! tid=948197595

Ein Bikini-Foto waer' ideal - kann man gleich mal peilen, wie's mit der
Cellulitis (geiles Wort) so ausschaut! *huah* 

Bubba schuettelt sich.


-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Bubba, 19. Jan 2000, 20:02:09):
~#! rn=Bubba rt=948308327 rg=treffen
~#! tid=948197595

Mit fortgeschrittener Cellulitis (geiles Wort) - so ab 5mm Dellentiefe - winkt
auch ein Auftritt bei Arabella! Das ist doch was!


-----------------------------------------------------------------------------



Re^12: Bericht aus Koelle (Catweazle, 20. Jan 2000, 09:33:55):
~#! rn=Hood rt=948301000 rg=treffen
~#! tid=948197595
Offensichtlich hast Du nichts begriffen :-)

Das neue Jahrhundert hat dieses Jahr angefangen.
Das neue Jahrtausend faengt naechstes Jahr an.

Wobei Ihr mir alle noch die Beweisfuehrung schuldig seid. Bisher halte ich es
immer noch fuer ausgesprochen kuehn, zu behaupten, es haette kein Jahr Null
gegeben. 

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Naddl, 20. Jan 2000, 11:03:10):
~#! rn=Catweazle rt=948357235 rg=treffen
~#! tid=948197595
Du hast was vergessen:

Das neue Jahr hat dieses Jahr begonnen :>

Womit ich das Augenmerk darauf richten wollte, dass es nichts anderes
als ein weiteres Sylvester war. Und herzlichen Glueckwunsch dazu, dass
Ihr alle dieses Jahr Eure persoenlichen Namenstage feiert oder gefeiert
habt.

Naddl

-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Hreidmar, 20. Jan 2000, 11:51:25):
~#! rn=Catweazle rt=948357235 rg=treffen
~#! tid=948197595
Hm, also ein Freund hat mir das ganze mal recht anschaulich erklaert: Die
naechste Kiste Bier faengt erst mit der 21. Flasche an. Da war ich sprachlos.

Hreidmar, grinsend.

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Morgoth, 20. Jan 2000, 11:55:51):
~#! rn=Hreidmar rt=948365485 rg=treffen
~#! tid=948197595
Ob er die noch korrekt Zaehlen kann ist die andere Frage ;-)

M*

-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Pra, 20. Jan 2000, 12:37:55):
~#! rn=Catweazle rt=948357235 rg=treffen
~#! tid=948197595
mal was halbwegs ernstes zum Thema: Der Moench, der im 7 Jhd. die Geburt
Jesu festgelegt hat, und damit unsere Zeitrechnung begruendet hat, 
hat kein Jahr 0 bestimmt, sondern hat das Jahr, in dem J. geboren sein
soll, als das Jahr 1 bezeichnet. Warum war das so? Die Leute konnten
damals in Europa noch nicht so toll rechnen. Insbesondere kannten sie
einfach die Zahl 0 noch nicht. Kennt ihr nicht den Ausspruch:
'Die natuerlichen Zahlen sind gottgegeben, alles andere ist Menschenwerk.'
Und natuerliche Zahlen fangen hier bei 1 an (bedenkt, dass es damals auch
noch keine Informatiker gab...). Die 0 wurde lange Zeit sogar als
'Teufelswerk' bezeichnet. Erst mit Gauss (ungefaehr) wurde die 0 als
Zahl akzeptiert und zum Rechnen mitbenutzt.

Viel Spass beim gegenargumentieren wuenscht euch

Pra.

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Silvana, 20. Jan 2000, 13:34:34):
~#! rn=Pra rt=948368275 rg=treffen
~#! tid=948197595
Naja, fast, Pra. Schon Papst Silvester II hat um die _letzte_ Jahrtausend-
wende mit arabischen Ziffern gerechnet und auch die null verwendet.
Es hat allerdings noch so etwa 300 Jahre gebraucht, bis das auch
in der Diaspora der Kirche soweit akzeptiert war, dass die Haendler
diese Zahlen auch nutzen durften (unter dem Ladentisch haben sie's
wohl auch vorher getan.
Kurz und gut: Gauss ist dann doch nen paar Jahrhunderte spaeter. ;-)

  Silvana

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Naddl, 20. Jan 2000, 13:44:51):
~#! rn=Silvana rt=948371674 rg=treffen
~#! tid=948197595
Kaeufer: Wieviel kostet das Messer?
Haendler: Hmm. 10 Kreuzer duerfte es wohl wert sein.
Kaeufer: Da, diese Scharte, sagen wir 4.
Haendler: Wollt Ihr mich beleidigen? Mindestens 8 bekomme ich auf jedem
          groesseren Markt.
Kaeufer: Das Eisen ist aber nicht gut verarbeitet. Ich komme mal mit 6
         Kreuzern entgegen.
Haendler: Gute Goetter! Allein das Heft kostet schon 4 Kreuzer und
          dann der Stahl und Transport. 7 ist mein letztes Wort.
Kaeufer: Gemacht.
Haendler: Gebt her. 1, ... 6,7 Kreuzer. Jetzt habt ihr 0 Kreuzer.
          Ihr seid ja ein KETZER!
Kaeufer: Und ihr 0 Messer. Dito.
Haendler: Oh. Na dann noch einen guten Tag.

So oder so aehnlich, hm?
Naddl

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Pra, 20. Jan 2000, 13:51:17):
~#! rn=Silvana rt=948371674 rg=treffen
~#! tid=948197595
Mag sein, das mit Papst an Sylvester :-)

Aber du musst die zwei Bedeutungen von 0 unterscheiden:
Einmal als Ziffer und einmal als Zahl. Ersteres braucht man, um z.B.
11 von 101 zu unterscheiden, letzteres, um 'nichts' auszudruecken.
Ersteres haben die mittelalterlichen Leute recht schnell begriffen,
letzteres aber doch erst so mit Gauss oder so...

Pra.

-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Gnome, 20. Jan 2000, 14:09:54):
~#! rn=Catweazle rt=948357235 rg=treffen
~#! tid=948197595
falsch catty :)

nicht mal das neue jahrzehnt hat angefangen, wir sind noch in den 90ern...
denn diese dauern vom 1.1.91 bis 31.12.00, wie uebrigens alle anderen
jahrzehnte auch davor (natuerlich mit entsprechender jahreszahl am ende).

der jahrtausendschwindel war also nix anderes, als ein grosses kommerzielles
ausschlachten einer vierstelligen zahl, die zufaellig mit '2' beginnt.

als einziges (!) land der erde, hat kuba das erkannt und feiert seinen
jahrtausendwechsel in knapp 12 monaten.

gnOme

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Naddl, 20. Jan 2000, 14:17:51):
~#! rn=Gnome rt=948373794 rg=treffen
~#! tid=948197595
Die sind nur schoen doof. Bei uns wird zweimal abgezockt. Aber Kuba kann
sich zwei so grosse Feten ja auch gar nicht leisten.

Naddl

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Alboin, 20. Jan 2000, 14:18:53):
~#! rn=Gnome rt=948373794 rg=treffen
~#! tid=948197595
was hat das mit Erkennen zu tun? Sie haben logischerweise nur weniger Kommerz,
was manchmal ganz nuetzlich sei kann.
Uebrigens auch einige deutsche Staedte machten beim Mileniumstrubel nicht mit,
u.a. Annaberg (bei Chemnitz in der Naehe) und die Geburtsstadt von Adam Ries. 
Gruesse Alboin


-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Gnome, 20. Jan 2000, 14:21:58):
~#! rn=Alboin rt=948374333 rg=treffen
~#! tid=948197595
jetzt darfst du dreimal raten, warum ausgerechnet des adam riesen staedele
nicht mitmacht... nicht etwa, weil sie kein geld haben. nein, sie koennen
rechnen und wollen diese alte tradition auch weiterhin gerne richtig
fortfuehren.
und aermere laender als kuba gibt es allemal.

gnOme

-----------------------------------------------------------------------------



Re^16: Bericht aus Koelle (Bubba, 20. Jan 2000, 14:49:27):
~#! rn=Gnome rt=948374518 rg=treffen
~#! tid=948197595

In Kuba wird doch immer gefeiert - Merengue, Cuba libre und Havannas - wozu
brauchen die noch Silvester? Und fuer fidele Stimmung sorgt der Maximo Lider. 


-----------------------------------------------------------------------------



Re^13: Bericht aus Koelle (Hood, 20. Jan 2000, 14:55:26):
~#! rn=Catweazle rt=948357235 rg=treffen
~#! tid=948197595
das ist falsch, aber mir auch ziemlich egal.
darueber rumzudiskutieren ist ziemlich langweilig.

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Zarniya, 20. Jan 2000, 15:01:11):
~#! rn=Gnome rt=948373794 rg=treffen
~#! tid=948197595
Es gibt in D zwei Staedte, u.a. die GEburtsstadt von Adam Riese in Bayern, die
auch erst naechstes Silvester feiern... stand so in der c't. 

aber seien wir mal ehrlich... alle haben das geleugnet, damit sie sich 
besaufen koennen und im Laufe des Jahres wird sich auch noch der letzte
bekehren lassen, damit sie es wieder tun koennen.

Marc

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Catweazle, 20. Jan 2000, 16:46:43):
~#! rn=Gnome rt=948373794 rg=treffen
~#! tid=948197595
Aber das ist doch vollkommener Hullepanz.

Die willst die elende Tatsache der Geschichte, das irgend ein
Depp aus grauer Vorzeit vergessen oder ignoriert hat, das vor das 
Jahr 1 ein Jahr 0 gehoert, vor die hochgradig logische Begebenheit
stellen, das alle Jahreszahlen der NEUNziger Jahre mit eine NEUN
anfangen?

Nein nein, irgendwann muessen alte Verfehlungen der Vergangenheit
auch mal verjaehrt sein, spaetestens, wie ich finde, mit dem 
hinzufuegen einer weiteren Stelle zu der Jahreszahl. 

Und da es in den 90er Jahren ein Jahr 90, also quasi ein Jahr
Null gegeben hat, haben die 90er jahre mit dem 31.12.99 geendet.
90 plus zehn sind naemlich 100, und wir sind jetzt in den 
Hundertern. Und da es ein Jahr 1900 mit einer NULL am Ende 
gegeben hat, sind wir jetzt im naechsten Jahrhundert. Am 
31.12.99 sind naemlich die 100 Jahre mit der 19 davor abgelaufen.

Und um es Hreidmar zu erklaren: Wenn Du bei Deiner Bierflaschen-
zaehlerei mit dem Zaehlen der Bierflaschen bei Null anfaengst,
und wie wir ja alle gelernt haben darf man das ja jetzt seit 
Gauss oder Papst Sylvester II, dann faengt die naechste Kiste 
mit der _zwanzigsten_ Flasche an.

Und wenn jemand glaubt, Diskussionen um den Jahrtausendwechsel
seien langweilig, dann kann ich ihm nur sagen, das er sich 
kraeftig getaeuscht hat :-)

Achja, und wenn jetzt jemand von mir wissen will, warum wir 
seit Ewigkeiten im Zwanzigsten Jahrhundert leben, obwohl wir 
doch erst seit drei Wchen eine 20 davor stehen haben, dann
fraess ich ihm ein Gewinde in den Hintern.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Silvana, 20. Jan 2000, 16:55:25):
~#! rn=Catweazle rt=948383203 rg=treffen
~#! tid=948197595
Hm, was halten wir in dem Zusammenhang von den Geruechten, dass
a) Der Moench, der damals die Geburtsstunde Jesu berechnen sollte, sich
   angeblich um 7 Jahre vertan hat.
b) Namhafte Historiker behaupten, die Jahre 700 bis 900 haette
   es nie gegeben und seien eine Erfindung der Ottonen...?

Wirft nen ganz neues Licht auf die Sache, oder?

  Silvana - mag Nonsence-diskussionen.

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Thufhir, 20. Jan 2000, 17:26:48):
~#! rn=Catweazle rt=948383203 rg=treffen
~#! tid=948197595
warum, Catty?

Thufhir, will so ein gewinde...

-----------------------------------------------------------------------------



Re^16: Bericht aus Koelle (Bubba, 20. Jan 2000, 17:55:51):
~#! rn=Silvana rt=948383725 rg=treffen
~#! tid=948197595

Mich interessiert viel mehr wie die Flasche Null schmeckt, die aus dem kasten
mit den...aeh...20 (oder 21?) Flaschen!

Biertrinker Bubba

PS: Versteh nicht, dass hier die Bierschuettler nicht laut aufschreien - DAS
ist ihr Thema! Naja...ist halt nur 'ne Spassgilde...


-----------------------------------------------------------------------------



113 (Sky, 20. Jan 2000, 18:02:38):
~#! rn=Bubba rt=948387351 rg=treffen
~#! tid=948197595
also..wir zaehlen ja nicht von 0-9 sondern von 1 bis 10.
d.h. im jahre 1 bis 10 ist das erste Jahrzehnt, das 2te Jahrzehnt beginnt erst
mit dem 11 Jahr. Jetzt muss man das ganze nur noch in *groessere* Dimensionen
uebertragen um zu merken, wann welches Jahrzehnt (-hundert,-tausend) anfaengt,
bzw angefangen hat.

-----------------------------------------------------------------------------



Re: 113 (Bubba, 20. Jan 2000, 18:45:10):
~#! rn=Sky rt=948387758 rg=treffen
~#! tid=948197595

Ist mir schon klar! Nicht klar ist mir, wie jetzt eine Flasche Null schmeckt?
Etwa nach Staub? Schalem Bier? Oder was? Und vor allem: muss diese virtuelle
Flasche eigentlich mitbezahlt werden, wenn ich mir an der Tanke 'nen Kasten
hole?


-----------------------------------------------------------------------------



Re: 113 (Alpha, 20. Jan 2000, 19:25:28):
~#! rn=Sky rt=948387758 rg=treffen
~#! tid=948197595
Es ist aber schon ein Unterschied, ob ich das Neutne Jahrzehnt des 20.
Jahrhunderts meine (das beginnt am 1.1.1991 und endet am 31.12.2000) oder von
den 90ern....Die begannen am 1.1.1990 und endeten am 31.12.1999 (in diesem
Jahrhundert).
Alpha.

-----------------------------------------------------------------------------



Re: Re: 113 (Foobar, 20. Jan 2000, 23:54:01):
~#! rn=Bubba rt=948390310 rg=treffen
~#! tid=948197595
Ganz klar:

     Die schmeckt nach Koelsch.

SCNR, 

     Foobar

-----------------------------------------------------------------------------



Mmmmpf (Kadabra, 21. Jan 2000, 00:10:12):
Liebe Silvana!
Den Herrn Privatgelehrten Illig als namhaften Historiker zu bezeichnen
ist doch vielleicht ein bisserl gewagt ?
denkt sich
kadabra

-----------------------------------------------------------------------------



Re^3: W:O:A ?! (Lug, 21. Jan 2000, 01:50:41):
~#! rn=Angus rt=948304484 rg=treffen
~#! tid=948123617
Und noch was, nur in Wacken dieses Jahr:


VVVEEENNOOOMMMMMMMMMMM


from the very depths of hell
Lug

-----------------------------------------------------------------------------



Re^16: Bericht aus Koelle (Lug, 21. Jan 2000, 01:53:35):
~#! rn=Silvana rt=948383725 rg=treffen
~#! tid=948197595

AAAAARRGGHHHHHHHH!

Schon wieder dieser SCHEISS UNFUG. Ich krieg noch nen Anfall, man muss nur
einfach eine moeglichst doofe These in den Raum stellen, die locker
widerlegbar ist und schon stuerzt sich die Medienlandschaft auf den Quatsch.

Heute schon zweimal Dendrochronologie erklaeren muessend
Lug

-----------------------------------------------------------------------------



StaTi Dresden (update) (Mesirii, 21. Jan 2000, 02:07:29):
Liebe Leute,

der Dresdner StaTi am Samstag bedarf noch etwas Praezisierung.
Da das CD an dem Tag mit Simpson-Fans gefuellt ist, muessen wir
ausweichen. Prinzipiell ist erstmal der Grieche an der Schauburg 
angedacht. Falls jemand noch andere Ideen hat, bitte festhalten.

Wir treffen uns auf jeden Fall am Samstag um 20.00 am CD, damit 
auch Nichtinformierte Bescheid wissen. Dann gehts zur Lokalitaet 
unserer Wahl.

Mesirii

P.S: Karte Hans Grundig Strasse
http://dresden-info.fhg.de/cgi-bin/dd-info/stin-stre-anzeige.pl?Msg=_&Kla=_&Nr
=0&M=1&VT=2&AMsg=_&AKla=stre&ANr=5413301-5658197-1&BMsg=_&BKla=_&BNr=_&CMsg=_&
CKla=_&CNr=_&DMsg=_&DKla=_&DNr=_&lang=ge

homepage CD: www.inf.tu-dresden.de/~cd

-----------------------------------------------------------------------------



Re^4: W:O:A ?! (Angus, 21. Jan 2000, 10:09:32):
~#! rn=Bubba rt=948306816 rg=treffen
~#! tid=948123617

Noe, da gibts kein Playback.
... Abgesehen davon, wenn er es taete wuerde er
es vermutlich nicht sehr lange ueberleben...
Metaller sind ja tolerant, aber alles hat seine Grenzen!

- Angus.

-----------------------------------------------------------------------------



Re^5: W:O:A ?! (Bubba, 21. Jan 2000, 13:03:47):
~#! rn=Angus rt=948445772 rg=treffen
~#! tid=948123617
 Angeber!
Ricky Martin wuerde saemtliche Metaller in Grund und Boden singen!

Bubba lacht sich scheckig.

-----------------------------------------------------------------------------



Stati BS (Karic, 21. Jan 2000, 14:35:58):
Soderle.. 
Nu hab sogar ich es geschafft nen Tisch zu organisieren *huestel*
Dann mal der offizielle Termin :
Fr. 28.1.00 im Dialog in Braunschweig

So kommet zahlreich ;)
Dashabniegesagtdasichahnungvonorganisierennichtteam Karic
P.S: wegbeschreibung und aehnliches denk ich mir bei nachfrage aus ;)

-----------------------------------------------------------------------------



Re^17: Bericht aus Koelle (Grimmborn, 21. Jan 2000, 15:53:43):
~#! rn=Lug rt=948416015 rg=treffen
~#! tid=948197595
Selber schuld, einmal C14 schlaegt zweimal Dendrochronologie um Laengen.
Aber nicht jeder hat eben einen Sinn fuer Naturwissenschaften. Dafuer sind
solche Verschwoerungstheorieen allemal spannend.

Und trotzdem finde ich die Theaterstuecke des Edward de Vere, XVII Earl of
Oxford, ziemlich klasse...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^14: Bericht aus Koelle (Rardian, 21. Jan 2000, 17:37:14):
~#! rn=Pra rt=948368275 rg=treffen
~#! tid=948197595
Es mag ja sein, dass nicht das 2001. Jahr nach Christi Geburt am 1.1.2000
angefangen hat, nichtsdestotrotz hab wir mit dem Zahlensprung auf die 2 ganz
vorne ein neues Jahrtausend angefangen. So, wie wir eine Dekade beginnen bei
10, 20, 30, 40, 50, ... etc. Daran gibt es doch wohl nix zu ruetteln, oder?

Rar, das mal klarstellen wollend.

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Pra, 21. Jan 2000, 17:41:55):
~#! rn=Rardian rt=948472634 rg=treffen
~#! tid=948197595
Doch, da gibts was zu ruetteln.
1. Mit dem Zahlensprung auf die '2 ganz vorne' hat kein neues Jahrtausend
   begonnen.
2. Eine Dekade ist ein Groesse von zehn Einheiten. Bezogen auf Jahre ist
   es der Zeitraum von zehn Jahren. Egal, welche Ziffern auf der 10er-Stelle
   liegen. Z.B. ist der Zeitraum vom 1.1.1985 bis 31.12.1994 auch eine 
   Dekade.

Pra.

-----------------------------------------------------------------------------



Re^16: Bericht aus Koelle (Bubba, 21. Jan 2000, 18:34:01):
~#! rn=Pra rt=948472915 rg=treffen
~#! tid=948197595
Noe! An Deiner Dekade fehlt ja ein Tag!
Es sei denn, Du definierst auch noch die Uhrzeiten!

Erbsenzaehler Bubba


-----------------------------------------------------------------------------



Re^6: W:O:A ?! (Lug, 25. Jan 2000, 03:28:27):
~#! rn=Bubba rt=948456227 rg=treffen
~#! tid=948123617

Ricky Who?

Lug

-----------------------------------------------------------------------------



Re^18: Bericht aus Koelle (Lug, 25. Jan 2000, 03:29:51):
~#! rn=Grimmborn rt=948466423 rg=treffen
~#! tid=948197595

Aeh was?
Umgekehrt Grimmborn, einmal Dendro schlaegt zweimal C14. Oder warum denkst Du
wurde die C14 Kurve kalibriert?

Tssend
Lug

-----------------------------------------------------------------------------



Re^15: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 10:18:54):
~#! rn=Alboin rt=948374333 rg=treffen
~#! tid=948197595

So, ich geb auch mal meinen Senf dazu,

einer schrieb: der naechste Kasten Bier faengt erst
mit der 21. Flasche an. Soweit so gut, aber IMHO
nicht, wenn die 21. Flasche ausgetrunken wurden, sondern
wenn sie aufgemacht und angetrunken wurde.

Von mir aus war der 01.01.2000 00:00:00 der letzte Augenblick
des alten Jahrtausends, aber im naechsten Augenblick fing
IMHO das naechste Jahrtausend, Jahrhundert, Jahrzent an.

Das es kein Jahr 0 gab, mag sein, und moege die Lage ggf. aendern,
allerdings glaube ich nicht, dass man sich da so genau drauf
verlassen kann, erst recht, wenn der Zeitpunkt scheinbar
ca 700 jahre spaeter festgelegt wurde. Wenn man sich auf
Christi Geburt vesteifen will, dann kann man eh nie sicher sein
ausser man reist in die Zeit zurueck ;)
Haelt man sich an die Zahlen als solche denke ich faengt eben
der Kasten Bier mit dem ersten Schluck an, und nicht nach der 
ersten Flasche.

my 0.02 Euro,
 JdG

-----------------------------------------------------------------------------



Re^16: Bericht aus Koelle (Yendi, 25. Jan 2000, 10:27:35):
~#! rn=Jimdigriz rt=948791934 rg=treffen
~#! tid=948197595
Faengt bei Dir der naechste Kasten auch schon beim ersten Schluck aus der
zwanzigsten Flasche an?

Ein Kasten Bier: Flaschen 1 bis 20.
Der naechste:    Flaschen 21 bis 40

Ein Tausend Jahre: Jahr 1 bis 1000
Das naechste:     Jahr 1001 bis 2000
Das dritte:       Jahr 2001 bis 3000

YTY


-----------------------------------------------------------------------------



Re^17: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 10:33:52):
~#! rn=Yendi rt=948792455 rg=treffen
~#! tid=948197595

Natuerlich nicht,

ich erklaers Dir:
Ein Kasten Bier Anfang: 1. Flasche 1. Schluck also 0 ganze Flaschen getrunken
Ein Kasten Bier Ende : 20. Flasche letzter Schluck also 20 ganze Flaschen
getrunken

Ein Tausend Jahre: 1. Jahr 1. Sekunde also 0 jahre vergange ("Jahr 0")
                   (unabhaengig wies mit der Zeitrechnung tatsaehclich war)
            Ende : 1000. Jahr letzte Sekunde also "31.12. 23:59:59 999"
                   entspricht der letzten Sekunde.

Alles klar ? 
 JdG

-----------------------------------------------------------------------------



Re^18: Bericht aus Koelle (Hreidmar, 25. Jan 2000, 11:16:47):
~#! rn=Jimdigriz rt=948792832 rg=treffen
~#! tid=948197595
Klar!

Du hast gerade schoen erklaert, dass das zweite Jahrtausend am 01.01.1001
anfaengt...

Hreidmar, schmunzelnd.

-----------------------------------------------------------------------------



Re^19: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 12:08:28):
~#! rn=Hreidmar rt=948795407 rg=treffen
~#! tid=948197595

Argl,

also das haengt davon ab, ab wann man zaehlt:
Wie schon einer erklaert hat, kann 'ein' Jahrtausend
auch von Anfang 854 bis Ende 1853 gehen.

War das Jahr "1" das jahr der Geburt Christi, dann ist das
Jahr 2, das Jahr 1 nach Christi Geburt (anno Domini) und damit
auch das Jahr 2001 das 2000ste Jahr nach Christi geburt.
Dann haettet Ihr recht.

Ich behaupte nun, niemand kann mit bestimmtheit sagen
vor wievielen Jahren Christus geboren ist, also ist
es hinfaellig sig darueber gedanken zu machen, sondern 
sinnvoller sich an uebliche Konventionen zu halten, die
da sind: Jahr 1981 = Das 1981. Jahr nach Christi Geburt,
was impliziert, dass nach dieser Konvetion Christus eben
im Jahr 0 geboren wurde. 
Deswegen postuliere ich den Beginn des neuen Jahrtausends
nach Konvention auf den ersten Augenblick nach dem
1.1. 2000 00:00:00

Alles klar ? 
 JdG

-----------------------------------------------------------------------------



Re^20: Bericht aus Koelle (Pra, 25. Jan 2000, 13:22:56):
~#! rn=Jimdigriz rt=948798508 rg=treffen
~#! tid=948197595
nach deiner Argumentation hat die Geburt Christi ein ganzes Jahr gedauert -
naemlich das ganze Jahr 0 ueber - arme Maria...

Fuer die Zeitrechnung (die sich zwar an der Geburt Christi orientiert,
fuer die es aber egal ist, wann diese tatsaechlich stattgefunden hat)
ist die Geburt Christi ein Zeit_punkt_, keine Spanne. Also entspricht
sie der 0 auf einem Zahlenstrahl (wir erinnern uns, 5. Schuljahr...)
die Zeitspanne 1 Jahr danach ist das 1. Jahr unserer Zeitrechnung 
(um mal die Terminologie unserer Brueder und Schwestern aus dem
Osten zu verwenden). Die Zeitspanne 1 Jahr davor ist das 1. Jahr vor
unserer Zeitrechnung. Oki? Dann ist der 1.1.0001 das Beginn des ersten
Jahrtausends und der 31.12.1000 das Ende des ersten Jahrtausends (die 
Uhrzeiten hab ich mal wegelassen, denk sie dir dazu.)

Pra. Hat Mitleid mit Maria.

-----------------------------------------------------------------------------



Re^21: Bericht aus Koelle (Bubba, 25. Jan 2000, 13:30:12):
~#! rn=Pra rt=948802976 rg=treffen
~#! tid=948197595

Glueckwunsch an Pra.
JDG, Du lernst es nie.

Bubba 

PS: Der Vergleich mit dem Kasten war der uebelste! Wie willste denn wissen,
wie's Bier schmeckt, wenn Du erst 0 Flaschen getrunken hast?
PPS: 'ne Flasche Bier zu trinken, entspricht einem Zeitpunkt (der auf dem
Zahlenstrang), und keinem Zeitraum...nur um das mal klar und deutlich zu sagen
;-)


-----------------------------------------------------------------------------



Re^22: Bericht aus Koelle (Rochus, 25. Jan 2000, 13:31:28):
~#! rn=Bubba rt=948803412 rg=treffen
~#! tid=948197595
Du bekommst ne Flasche Bier in 0 Sekunden leer?
Das will ich sehen.
Es ist natuerlich ein ZeitRAUM.

-----------------------------------------------------------------------------



Re^23: Bericht aus Koelle (Bubba, 25. Jan 2000, 13:33:39):
~#! rn=Rochus rt=948803488 rg=treffen
~#! tid=948197595

Vielleicht sogar in weniger als 0 sec.
Haengt natuerlich ein bissl vom Bier ab - gefroren sein darf es nicht!

-----------------------------------------------------------------------------



 Re^24: Bericht aus Koelle (Laranis, 25. Jan 2000, 13:56:10):
Die Zeitrechnung begann nicht mit dem Jahr 0, sondern mit dem Jahr 1.
Deshalb beenden wir das zweite Jahrtausend am 31.12.2000 und starten das neue
dementsprechend am 1.1.2001 !!!!!!!

Laranis ........ stimmt Pra zu

-----------------------------------------------------------------------------



Re:  Re^24: Bericht aus Koelle (Rantanplan, 25. Jan 2000, 14:33:52):
~#! rn=Laranis rt=948804970 rg=treffen
~#! tid=948804970
Kinners,
Kinners,
die Diskussion ist doch unntig, es gint in deisem Fall keine HO (IMHO) de
facto ist der
01.01.2001 der beginn des neuen Jahrtausends. Ist doch geil naechstes Jahr
nochmal ne dicke Party feiern.

Oe*

-----------------------------------------------------------------------------



Re: Re:  Re^24: Bericht aus Koelle (Catweazle, 25. Jan 2000, 14:45:03):
~#! rn=Rantanplan rt=948807232 rg=treffen
~#! tid=948804970
Jetzt wuerg das doch nicht gleich wieder ab.
Haben wir eigentlich schon ausreichend geklaert, ob nu auch das 
naechste Jahr_hundert_ angefangen hat?

Zweifelnd,
     Catweazle

PS: Ihr habt alle einen Schuss. 
PPS: Nein, ich schliesse da _niemanden_ aus :)
PPPS: Sagtest Du 'langweilig', Hood? :-)

-----------------------------------------------------------------------------



Re^21: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 15:03:17):
~#! rn=Pra rt=948802976 rg=treffen
~#! tid=948197595

Neeineinein :)
Natuerlich ist das ein Zeitpunkt, und wie du richtig sagst
der Event dem, die 0 auf dem Zahlenstrahl entspricht.
(soweit sind wir uns einig)
Die Zeitspanne von diesem Ursprung bis ein Jahr danach
ist das _erste_ Jahr, welches ich Jahr 0 nach Christi Geburt nenne
(nach Konvention). Also ist zu Anfang des Jahres 1. genau 1 jahr
nach Christi Geburt vergangen. Also ist zu Anfang des Jahres
2000 genau 2000 jahre nach Christi Geburt vergangen.
(Beweis durch Induktion :-)).

JdG

-----------------------------------------------------------------------------



Re^22: Bericht aus Koelle (Gnome, 25. Jan 2000, 15:04:49):
~#! rn=Jimdigriz rt=948808997 rg=treffen
~#! tid=948197595
soweit hast du recht.
nur, dass es kein jahr 0 gab...
so, und nun rechne 1+2000... macht? richtig, genau... du darfst es
glauben :)

gnOme

-----------------------------------------------------------------------------



Re^22: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 15:06:50):
~#! rn=Bubba rt=948803412 rg=treffen
~#! tid=948197595

Nicht so vorschnell, Pra hat zwar richtig argumentiert,
ist aber im Prinzip auf meiner Aussage gelandet.

Ich hab vielleicht 0 ganze Flaschen getrunken, aber nach
dem ersten ggf. auch erst nach dem zweiten
ist es entweder Bier oder Spuelwasser.
Natuerlich entspricht das Trinken nicht einem Zeitpunkt,
wobei je nach Bier der Zeitraum vernachlaessigbar 
kurz werden kann, und mit einem Zeitpunkt hinreichend
angenaehert werden kann.

JdG

-----------------------------------------------------------------------------



Re^23: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 15:08:34):
~#! rn=Gnome rt=948809089 rg=treffen
~#! tid=948197595

Hoi Gnome, 

liess nochmal artikel 131 von mir (und nacher noch einen)
wo ich genau schreibe das mir diese Tatsache bewusst istm
ich es aber nicht fuer sinnvoll halte, dem bedeutung beizumessen,
ob es nun ein jahr 0 oder 1 gab, weils eh niemand nachpruefen kann.

JdG

-----------------------------------------------------------------------------



Re^24: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 15:09:08):
~#! rn=Jimdigriz rt=948809314 rg=treffen
~#! tid=948197595

135 wars

-----------------------------------------------------------------------------



Re^25: Bericht aus Koelle (Alboin, 25. Jan 2000, 15:13:00):
~#! rn=Jimdigriz rt=948809348 rg=treffen
~#! tid=948197595
mal ne Frage noch dazu:
ist jetzt das Jahr Null oder das Jahr Eins nach Bill Gates? Aeh ...

Alboin

-----------------------------------------------------------------------------



Re:  Re^24: Bericht aus Koelle (Boing, 25. Jan 2000, 15:14:38):
~#! rn=Laranis rt=948804970 rg=treffen
~#! tid=948804970
Ich glaube ja, dass das neue Jahrtausend am 1.1.2002 beginnt ...
  Boing


-----------------------------------------------------------------------------



Re: Re:  Re^24: Bericht aus Koelle (Silvana, 25. Jan 2000, 15:17:00):
~#! rn=Boing rt=948809678 rg=treffen
~#! tid=948804970
Naja, wo man ein Jahrtausend beginnt, entscheidet doch jeder selbst. Hat man
da aber einmal festgelegt, legt sich dann auch das Ende des selben fest. Aber
darueber bestand letztendlich kein Zweifel, oder...?

  Silvana

-----------------------------------------------------------------------------



Re^3:  Re^24: Bericht aus Koelle (Anatol, 25. Jan 2000, 15:18:06):
~#! rn=Silvana rt=948809820 rg=treffen
~#! tid=948804970
Ich werde voraussichtlich April/Mai den Jahrtausendwechsel feiern, 
Einladungen an Auserwaehlte werden noch ergehen ;)

Anatol O:^)


-----------------------------------------------------------------------------



Re^24: Bericht aus Koelle (Gnome, 25. Jan 2000, 15:22:10):
~#! rn=Jimdigriz rt=948809314 rg=treffen
~#! tid=948197595
ich hatte catty gewarnt, er soll den thread nach diskussion verlegen, aber
er wollte anscheinend nicht... vielleicht erbarmt sich ja grimmi?

wenn es nicht relevant sein sollte, ob es ein jahr 0 gab (es gab wirklich
keins), vielleicht ist es dann auch voellig wurscht, ob es ueberhaupt einen
anfang der zeitrechnung gibt?
wo fangen wir an, wo legen wir unseren 'nullpunkt' ?
abgesehen davon, dass jesus wahrscheinlich im jahr 3 v. oder 7 v. ihmselbst
geboren wurde, und mal abegesehen von den tagen, die uns papst gregor im
mittelalter und vielleicht auch jahre, die irgendein geschichtsschreiber
uns geklaut hat... irgendwo muessen wir uns doch dran aufhaengen, gell?
also nehmen wir aeussert naiv an, es sind tatsaechlich 2000 jahre seit
der geburt desjenigenwelchen vergangen, so darfst du deinen artikel
inhaltlich getrost vergessen, da wir bei 1 anfangen zu zaehlen und uns
somit - wider aller versuchten weissmachungen seitens der industrie - noch
im 2. jahrtausend befinden. zumindest die eine haelfte der welt.

gnOme

-----------------------------------------------------------------------------



Re^25: Bericht aus Koelle (Laranis, 25. Jan 2000, 15:26:41):
~#! rn=Gnome rt=948810130 rg=treffen
~#! tid=948197595
es gibt da auch noch ne Theorie, das von irgendwelchen Geschichtsschreibern
300 jahre dazu geschrieben wurden......

Laranis  ..... nur mal so

-----------------------------------------------------------------------------



Re^25: Bericht aus Koelle (Jimdigriz, 25. Jan 2000, 15:31:25):
~#! rn=Gnome rt=948810130 rg=treffen
~#! tid=948197595

Ahhh, du widersprichst dir doch selbst.
Von mir aus fangen wir an bei "1" zu zaehlen. Aber doch 
nicht "Am Anfang war das Jahr 1".
Von mir aus ist der Ursprung eine 1, aber doch nicht gleich
das Jahr, sondern eben der erste Augenblick der 
Zeitrechnung, also der erste Augenblick, der ersten Sekunde
des ersten Tages des ersteh Jahres und das ist nunmal der
erste Augenblick, oder sagen wir die erste Sekunde um 
eine Einheit zu verwenden, in diesem Fall 1.1. 0 00:00:01

Das die tatsaehcliche Geburt christi nicht massgeblich
ist, hab ich ja selbst geschrieben, aber unsere
ach-so-tolle Zeitrechnung gibts ja diesen fiktiven
Zeitpunkt als Ursprung an, oder ?

Um zu den Bierkaesten zurueckzukehren. Wenn ich meine
Flaschenrechung auf getrunkenen Flaschen seit dem 
Kauf des Kastens stuezte, dann ist doch auch nicht 
der erste Schluck "Flasche 1, Schluck 1 getrunken nach dem Kauf"
oder ? sondern hoechsten "Schluck 1 getrunken nach dem Kauf"
weil wir zwar bei 1 zu zaehlen anfangen, aber
fuehrende Nullen weglassen.

Ciao,
 JdG

-----------------------------------------------------------------------------



Re^3:  Re^24: Bericht aus Koelle (Hood, 25. Jan 2000, 16:43:45):
~#! rn=Catweazle rt=948807903 rg=treffen
~#! tid=948804970
kkwer
nach hinlaenglich vielen diskusionen in de.sci-mathematik bin ich
solcher diskusionen ueberdruessig: ja, das ist oede.
uebrigens ist man in der erwaehntennewsgroup einhellig der meinung,
dass das naechste jahrtausend mit dem 1.1.2001 anfaengt, aber
letztlich ist das alles voellig schnuppe.
jeder kann sich das definieren wie er mag, das jahr eins des derzeitigen
kalenders wurde eh falsch zurueckgerechnet.
voellig falsch ist natuerlich die aussage, das neue jahrtausend haette
kkwer
noch nicht begonnen, das neue jahrhundert jedoch schon. das ist
kompletter unsinn und kam auch schon mal auf.

-----------------------------------------------------------------------------



Re^26: Bericht aus Koelle (Phentor, 25. Jan 2000, 16:43:47):
~#! rn=Jimdigriz rt=948810685 rg=treffen
~#! tid=948197595

 hab eben versucht meinen chef davon zu ueberzeugen, dass
 unsere zeitrechnung sowieso unsinn ist, und da jesus in 
 wirklichkeit nicht um 0:00 uhr sondern um 3:30 geboren
 wurde sollten wir jetzt (um den jahreswechsel gueltig zu
 stimmen) alle unsere Uhren um dreieinhalb Stunden vor 
 stellen und Feierabend machen :o)

 ...fand er irgendwie nicht so gut...

-----------------------------------------------------------------------------



Re^27: Bericht aus Koelle (Wurzel, 25. Jan 2000, 19:57:10):
~#! rn=Phentor rt=948815027 rg=treffen
~#! tid=948197595
den chef kann ich irgendwie verstehen.. ihm geht die diskussion wohl genauso
auf den keks wie vielen anderen :)
insbesondere ist die diskussion voellig ueberfluessig. keiner weiss, wann
(oder ob ueberhaupt) jesus geboren wurde, von daher ist der nullpunkt nicht
klar definiert.
das einzig akzeptable ist fuer mich ein pragmatischer ansatz. fuer die ganze
it-branche war der jahrtausendwechsel in der nacht vom 31.12.1999 auf den
1.1.2000, und naechstes silvester wird dann auch gefeiert, weil keiner mehr
nachtschicht oder rufbereitschaft machen muss. so einfach kann die welt sein.

wurzel

-----------------------------------------------------------------------------



Re^28: Bericht aus Koelle (Grimmborn, 25. Jan 2000, 20:00:48):
~#! rn=Wurzel rt=948826630 rg=treffen
~#! tid=948197595
Mal bemerkt dass y2k eh erst im Jahre 2048 ansteht?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^29: Bericht aus Koelle (Wurzel, 25. Jan 2000, 20:02:25):
~#! rn=Grimmborn rt=948826848 rg=treffen
~#! tid=948197595
das was du meinst ist 2038. dann laeuft die unix-32bit-zeit ueber. aber falls
ich dann noch lebe, wird es mir ziemlich wurscht sein :)

wurzel

-----------------------------------------------------------------------------



Re^30: Bericht aus Koelle (Grimmborn, 25. Jan 2000, 20:04:45):
~#! rn=Wurzel rt=948826945 rg=treffen
~#! tid=948197595
Ich meine, 1 kbyte sind 1024 byte. Wer bietet mehr?

Und es ist durchaus moeglich, dass Dich die Probleme Deiner Herzlungenmaschine
im Jahre 2038 durchaus was angehen...

Grim"Vielleicht schaffe ich es dann endlich, seine Frau anzubaggern"mborn

-----------------------------------------------------------------------------



Re^30: Bericht aus Koelle (Alpha, 25. Jan 2000, 22:19:10):
~#! rn=Wurzel rt=948826945 rg=treffen
~#! tid=948197595
Was? Hast Du wirklich vor, in den naechsten 38 Jahren zu sterben?
Alpha, schockiert.

-----------------------------------------------------------------------------



Re^31: Bericht aus Koelle (Pra, 26. Jan 2000, 11:19:35):
~#! rn=Alpha rt=948835150 rg=treffen
~#! tid=948197595
Ich bin vielmehr davon schockiert, dass Grimmborn in 38 Jahren noch
rumbaggern will - ohne Zaehne, sabbernd...

Pra.

-----------------------------------------------------------------------------



Re^32: Bericht aus Koelle (Purzel, 26. Jan 2000, 11:21:58):
~#! rn=Pra rt=948881975 rg=treffen
~#! tid=948197595
Ach, das gibt dann halt einen alten, sabbernden, geilen Bock mehr auf der
Welt. Das faellt bestimmt nicht mehr auf.

Purzel

-----------------------------------------------------------------------------



Re^33: Bericht aus Koelle (Pra, 26. Jan 2000, 11:24:36):
~#! rn=Purzel rt=948882118 rg=treffen
~#! tid=948197595
Aber Grimmborn ist dann bestimmt schon ueber 80 - die lassen den
doch gar nicht mehr aus dem Heim raus dann...

-----------------------------------------------------------------------------



Re^22: Bericht aus Koelle (Wargon, 26. Jan 2000, 18:34:43):
~#! rn=Jimdigriz rt=948808997 rg=treffen
~#! tid=948197595
Die ganze Diskussion ist doch eh hinfaellig...
Die christliche Zeitrechnung beginnt per definitionem mit dem 1.1.1, und zwar
ganz unabhaengig vom genauen Geburtsdatum Christi. Damit beginnt das dritte
Jahrtausend am 1.1.2001.
Damit koennen dann auch noch die armen Schweine den Jahrtausendwechsel feiern,
die dieses Sylvester mit irgendwelchen Bereitschaftsdiensten beschaeftigt
waren.
Den Wechsel zum 20. Jahrhundert wollten uebrigens z.B. England und FRankreich
korrekt am Uebergang 1900->1901 feiern, nur den Deutschen (bzw. dem Kaiser)
ging das nicht schnell genug, deshalb wurde hier 1899->1900 als
Jahrhundertwende gefeiert.
  Wargon

-----------------------------------------------------------------------------



Ich frage mich ja nur ... (Sugaan, 26. Jan 2000, 19:08:42):
Hmm ich enthalte mich nun der Aussage ob diese Diskussion langweilig oder
interssant oder nuetzlich oder sonst was ist - ich frage mich halt nur unter
welcher Rubrik ich denn nun irgendwelche Stammtische, Treffen und
Mini-Mud-Partys finden soll, wenn Ihr diese Rubrik dafuer benutzt.  Abgesehen
davon ich warte auf die Ankuendigung das Aachner Stammtisches !!!
Sugi ----> Darkwing und Kamelot mal eben anstupsend!!

-----------------------------------------------------------------------------



Stammtisch in DO (Tiamak, 26. Jan 2000, 21:36:09):
Mahlzeit!

Wie immer findet auch dieses Mal am letzten Freitag im Monat der beruehmte
Dortmunder Stammtisch statt. Und wie immer um 20:00 Uhr.

Allerdings hat sich der Veranstaltungsort geaendert. 

Statt im Walhalla findet der Stammtisch dieses Mal im "Buergermeister
Lindemann" statt. Welche Kneipe wir ab Februar fuer den Stammtisch nehmen,
bleibt noch zu klaeren.

Der Buergermeister Lindemann befindet sich an der Ecke Lindemannstr./Neuer
Graben (Naehe Moellerbruecke). Wegbeschreibungen wie folgt:

OePNV:
======

Strassenbahn 408 (das ist die, die auch vor dem Walhalla haelt) Richtung
Hombruch, Haltestelle Moellerbruecke (zweite nach Stadtgarten/Walhalla), in
Fahrtrichtung nach 200m auf der linken Seite.

Auto:
=====

B1, Abfahrt WDR/ZVS Richtung Stadtmitte. Die Kneipe ist nach rund 1km auf der
rechten Strassenseite (muesste die dritte beampelte Kreuzung sein). 

Wer sich zum Walhalla verirren sollte: einfach den Strassenbahnschienen
folgen. Sofern ihr die richtige Richtung nehmt, sind die Einbahnstrassen auch
nicht gegen euch. ;-)


Tiamak

-----------------------------------------------------------------------------



Stati in Aachen (Fizban, 27. Jan 2000, 18:14:07):
Hi ihr
Ich moechte alle herzlich zum Stammtisch in Aachen einladen, der am Freitag,
den 04.02.2000 statt findet.
Er wird wie immer im Chico -Mendes stattfinden um 20:00.
Fuer naehere Informationen koennt ihr Darkwing oder mich anquatschen und auch
wenn ihr keine Moeglichkeit habt wieder nach Hause zukommen.
Ich muss mich leider auch fuer dieses Mal entschuldigen da ich nicht in Aachen
bin an dem Tag.
Fizban

-----------------------------------------------------------------------------



Re^25: Bericht aus Koelle (Rardian, 27. Jan 2000, 22:36:22):
~#! rn=Gnome rt=948810130 rg=treffen
~#! tid=948197595

Warum legen wir den Beginn des Jahrtausends ( welches auch immer ) nicht
einfach auf die Geburtsstunde des Morgengrauen? Dann waren zumindest wir uns
alle einig... Wir koennte dann allerdings nicht zusammen den naechsten
Jahrtausendwechsel feiern... aber was solls? Machen wir halt zwei, drei
Mudparties mehr pro Jahr... ( btw. gibts was neues aus Dresden?? ) ...

Gruss, Rar.

-----------------------------------------------------------------------------



Baalin (Mahatmu, 28. Jan 2000, 13:39:32):
Wassn jetzt? Nexte Wooche? Sprich, oh grosses Gemaekel, aeh Orakel. Ich
mag einen Stammtisch irgendwo in Baalin ham,

 Mahatmuh

-----------------------------------------------------------------------------



Re^23: Bericht aus Koelle (Jimdigriz, 28. Jan 2000, 15:38:10):
~#! rn=Wargon rt=948908083 rg=treffen
~#! tid=948197595

Argh,

man ich dachte schon, ich haette alle hergeschafelt
und in Frust und Verzweiflung getrieben. :-)

Ok, woher nimmst Du die Weisheit des Definierten Beginns
der Zeitrechnung ? Wo steht das ? Wer hat das definiert ? 
Wann hat er/sie das getan ? 

JdG, will Fakten! :-)

-----------------------------------------------------------------------------



Stammtisch in NBG ?! (Hight, 28. Jan 2000, 16:23:58):
Also da wir schon vor ner weile geplant hatten hier wiedermal n treffen zu
machen erbarm ich mich halt und schreib den artikel ... Mangels Alternativen
wuerde ich sagen, dass wir es im grossen und ganzen genauso machen wie beim
letzten mal ... Galerie is nunmal das einzige wo man laenger als bis um 1
bleiben darf und wo sich die musikalische untermahlung lautstaerkentechnisch
vertreten laesst ( wenn der besitzer net wieder spinnt) es stellen sich
eigentlich nur 3 fragen:

1. besteht interesse

2. Wann ? ....
   hero und karis haben sich mal spontan aufn 4.2 geeinigt ... das is zwar
kurzfristig abba oki ... ansonsten wuerd ich vorschlagen 18.2 

3. hmm kaese was war das etz ... weiss nimmer (alzheimer is doch ansteckend
wies scheind) 

Hight 

-----------------------------------------------------------------------------



Re: Stammtisch in NBG ?! (Heromcfly, 28. Jan 2000, 20:17:20):
~#! rn=Hight rt=949073038 rg=treffen
~#! tid=949073038

4.2. faellt flach neuer termin is in arbeit :)
nur so zur info nicht das jemand msonst anreist =)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in NBG ?! (Hight, 28. Jan 2000, 20:18:04):
~#! rn=Heromcfly rt=949087040 rg=treffen
~#! tid=949073038
jo is recht ... waehr halt gern auch da ... und ich muss regelmaessig jedes 2.
we arbeiten ... also rechnet selber nach

-----------------------------------------------------------------------------



Stati B 4.2. (Golas, 28. Jan 2000, 23:01:56):
moins

stati in B is am 4.2. 2000 seeblick

golas will proudly present a special guest ...

-----------------------------------------------------------------------------



Re: Stati B 4.2. (Golas, 28. Jan 2000, 23:02:22):
~#! rn=Golas rt=949096916 rg=treffen
~#! tid=949096916
die 2000 sollte die uhrzeit darstellen, nicht das jahr ;)))

-----------------------------------------------------------------------------



Re: Stati B 4.2. (Mieze, 29. Jan 2000, 17:56:44):
~#! rn=Golas rt=949096916 rg=treffen
~#! tid=949096916

Schade, waer auch gern mal wieder in Berlin gewesen, hab aber Konzert in
Goslar an dem WE.

Mieze - [Team:Meistersinger von Goslar]


-----------------------------------------------------------------------------



Stammtisch in Nuernberg und so (Heromcfly, 29. Jan 2000, 22:54:44):

hiho,
es ist so weit wir nuernberger mudder versuchen mal wieder 
sowas aehnliches wie einen eigenen stammtisch zu organisieren.
mangels alternativen werden wir wieder in den selben raeumlich-
keilten tagen wie beim letzten mal, naehmlich in der gallerie, 
die entsprechende wegbeschreibung kann man sich wieder auf:
->http://www.die.gleiche.url.wie.beim.letzten.mal.bid.de
ziehen (schlagt mich net die url wahr damals von devilchen und
sie ist im moment nicht da, ich werd aber die richtige nachliefern 
): swnnah
beginn setz ich mal pauschal auf 19.00 wer nicht mit dem auto kommt
sondern zug bus taxi karawane oder aehnlichem, kann zu not auch einen 
treff(zeit)punkt im nuernberger hauptbahnhof beantragen 
achja und das datum ist der 18.2.00 ... wollen wir ja nicht vergessen 
nachdem wir endlich eine einigung gefunden haben :)
wer noch fragen hat kann sich ja bei devilchen(so leicht entwischt du 
mir nicht ;),hight...und zur not auch bei mir melden
ps: unter den bruecken ist es im moment noch kaelter als beim letzten
    stammtisch, wer also ne uebernachtungs moeglichkeit sucht sollte 
    sich rechtzeitig drum kuemmern mir ist da mal wieder nix bekannt:)
pps: wer kommen will und keine offenen fragen haette sollte sich 
     doch ruehren damit wir in etwa wissen mit wie vielen leuten 
     wir rechnens muessen 
das waehrs fuers erste mal :)

ppps: irgendwann gring ich meinem zmud bei die leerzeilen beim pasten nicht zu
fressen ;)
sorry

-----------------------------------------------------------------------------



Re: Re: Stati B 4.2. (Kadabra, 30. Jan 2000, 00:52:32):
~#! rn=Golas rt=949096942 rg=treffen
~#! tid=949096916
NEIN ICH WILL KEINEN ARTIKLE SCHREIBEN !!!
kadabra (hasst Quests die mit antworte arbeiten) ;)

-----------------------------------------------------------------------------



Re: Stammtisch in Nuernberg und so (Devilchen, 30. Jan 2000, 02:30:16):
~#! rn=Heromcfly rt=949182884 rg=treffen
~#! tid=949182884
so, dann will ich mal die url liefern....;)
dummerweise hat die doofe rockfabrik ihre seite geaendert.....1000
unuebersichtliche frames, etc, aber ich will ja nicht meckern....;) die url
ist http://www.rockfabrik.de/N/N_index.htm  bei weg kommt dann wieder die
beschreibung...
mehr hab ich grad nich zu sagen, schreibt nur ma bitte, wer alles kommt:)
Dev*, sich schon mal freuend:)

-----------------------------------------------------------------------------



Re^3: Stati B 4.2. (Mahatmu, 30. Jan 2000, 10:31:58):
~#! rn=Kadabra rt=949189952 rg=treffen
~#! tid=949096916
Oehm. Special Q/Guest == Unadingens?

Mahatmu, won't present a special Mahatma ...

-----------------------------------------------------------------------------



Re^24: Bericht aus Koelle (Wargon, 30. Jan 2000, 16:16:52):
~#! rn=Jimdigriz rt=949070290 rg=treffen
~#! tid=948197595
Seit wann muss ich als ausgewiesener Weiser meine Quellen offen legen? :)
Aber na gut: Wer es genau wann festgelegt hat, kann ich leider auch nicht
sagen, nachlesen kannst Du es aber zum Beispiel im "KOSMOS Himmelsjahr 2000",
Monatsthema Oktober "Die Epoche 2000.0 und die Praezession der Erde", Seite
169 (dort wird es als Beispiel fuer eine Epoche im chronologischen Sinne
angefuehrt).
Ausserdem "KOSMOS Himmelsjahr 1998", Monatsthema Dezember "Wann beginnt das
dritte Jahrtausend", Seite 204ff. Dort wird die gesamte hier gefuehrte
Diskussion durchgekaut...
  Wargon

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Nuernberg und so (Hight, 30. Jan 2000, 18:21:06):
~#! rn=Devilchen rt=949195816 rg=treffen
~#! tid=949182884
jo waehre nett wenn wir wenichstes ungefaehr wuessten wer kommt ... muss ja
wiessen was reservert werden muss .o)

High

-----------------------------------------------------------------------------



Re^3: Stammtisch in Nuernberg und so (Wurzel, 30. Jan 2000, 18:24:10):
~#! rn=Hight rt=949252866 rg=treffen
~#! tid=949182884
kann leider an dem wochenende wohl nicht kommen :(

wurzel

-----------------------------------------------------------------------------



Re: Re: Stati B 4.2. (Rardian,  1. Feb 2000, 18:36:00):
~#! rn=Golas rt=949096942 rg=treffen
~#! tid=949096916
Achso,
ich dachte schon, Du meintest dieses Jahr. Naechstes Jahr hab ich zu dem
Termin sicher Zeit :) Diesmal leider nicht :(

Rar, im Maerz auch wieder dabei ( vielleichz )

-----------------------------------------------------------------------------



StaTi Muenster (Brandir,  1. Feb 2000, 23:59:43):
Hallo alle zusammen.
Aaaaalso, nach Absprache mit mehreren Betroffenen wird der naechste
Muensteraner Stammtisch (also am Dienstag, den 8.2.00) wieder mal im Alabama
stattfinden.

So wie es im Moment aussieht, wird demnaechst der Stammtisch an jedem ersten
Dienstag im Monat (ja, diesmal ist es der zweite, ich weiss) dort zu finden
sein, an allen anderen Dienstagen wie gewohnt im Cuba.

Sollte es jemanden geben, der kommen moechte, aber nicht weiss, wo das Alabama
ist, der moege mir bitte mailen.

Wir sehen uns am Dienstag,
Brandir - Hunger auf Spare-Ribs habend

-----------------------------------------------------------------------------



Re: StaTi Muenster (Mupfel,  2. Feb 2000, 00:56:47):
~#! rn=Brandir rt=949445983 rg=treffen
~#! tid=949445983
was heisst hier nach absprache von mehreren betroffenen? mich hat niemand
gefragt ;)

-mupfel-
ps: ob ich zeit hab wird sich noch zeigen...

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster (Gorog,  2. Feb 2000, 08:05:35):
~#! rn=Mupfel rt=949449407 rg=treffen
~#! tid=949445983
Hat Dich schon mal irgend wer gefragt?! 

Gorog grinst fies und verweist nach Schmarrn.

-----------------------------------------------------------------------------



Re^27: Bericht aus Koelle (Apsu,  2. Feb 2000, 15:54:44):
~#! rn=Phentor rt=948815027 rg=treffen
~#! tid=948197595
Haste es auch auf die 1000stel genau? nicht? schwach schwach... ;-)

-->Schmarrn
Apsu

-----------------------------------------------------------------------------



Re^4: Stammtisch in Nuernberg und so (Wurzel,  2. Feb 2000, 22:08:47):
~#! rn=Wurzel rt=949253050 rg=treffen
~#! tid=949182884
hat sich so ergeben, dass ich wohl doch kann. also rechnet mit dem
schlimmsten :)

wurzel

-----------------------------------------------------------------------------



Stammtisch in Bonn am 07.02.00 (Elendil,  3. Feb 2000, 17:11:15):
Hi ihr Suessen,
also ich komme doch noch zu meinem ersten Artikel in der MPA ;)

Ich hatte kurz mit Zephyr gesprochen und sie meinte ich solls mal in die MPA
setzen.
Also am Montag den 07.02.00, das waere der kommende, wollen wir uns zum
Stammtisch in Bonn um 20:00h im Quite Man treffen. Irgendwie ist das wohl
bisher im Sande verlaufen. Spellfire und ich sind auf jeden Fall da ;) Bei
Fragen bezueglich des Weges bitte an Zephyr oder Spellfire wenden.
OK, CU und freue mich !
Bis Montag, Euer Elendil

-----------------------------------------------------------------------------



Re: Stammtisch in Bonn am 07.02.00 (Pra,  4. Feb 2000, 14:21:20):
~#! rn=Elendil rt=949594275 rg=treffen
~#! tid=949594275
... und nur zur Ergaenzung: Das Treffen findet statt beim 'ruhigen Mann' und
nicht beim 'ziemlichen Mann'.

(Also im Quiet Man, und nicht im Quite Man...)

Pra. Klugscheissernd.

-----------------------------------------------------------------------------



OrganisationsSTATI in Dresden (Mesirii,  5. Feb 2000, 20:49:54):
Liebe Dresdner,

am Dienstag Abend 20.00 ist noch einmal ein organisatorisches Treffen bzgl.
der Party im CD (Club Duererstrasse). Bitte erscheint zahlreich, vor allem
diejenigen, die aktiv mitarbeiten wollen (und sich noch nicht gezuckt 
haben). Es gibt viel zu tun.

Mesirii, organisierend

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  6. Feb 2000, 23:48:12):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 11.2. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an 
Schleicher oder mich.

'Toffel

P.S.: Auf Schleichers und Jenandras Stammtisch-Seite koennt Ihr Euch
anmelden, ne Karte gibbet da auch:
http://www.above-multimedia.de/stati.html


-----------------------------------------------------------------------------



Re: Stammtisch in Bonn am 07.02.00 (Slayer,  7. Feb 2000, 09:08:18):
~#! rn=Elendil rt=949594275 rg=treffen
~#! tid=949594275
Hio!
Ist der Stati in Bonn ab jetzt regelmaessig? Leider kann ich diesen Montag
nicht, aber ich wuerde mich sehr freuen, wenn das nun oefter stattfindet :-))
Lasst mal was von Euch hoeren!
Ciao, Slayer

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bonn am 07.02.00 (Padreic,  7. Feb 2000, 10:22:15):
~#! rn=Slayer rt=949910898 rg=treffen
~#! tid=949594275
Soweit ich da eine regelmaessigkeit durchschaun kann wuerde ich sagen jeden
ersten Montag im Monat, ausser es ist Januar und da sind soviele andere Statis
in der Naehe vom termin her :).

Pad*

-----------------------------------------------------------------------------



Stammtisch Donnerstag Karlsruhe... (Anatol,  8. Feb 2000, 20:50:58):
Der Stammtisch am Donnerstag in Karlsruhe ist hoffentlich rege besucht.
Da mich "mein Arbeitgeber" zur LearnTec in Karlsruhe abgestellt haben,
werde ich die Gelegenheit nutzen und den Karlsruhern ein wenig auf die
Nerven gehen :).

Wenn jemand am Donnerstagabend einen Stammtisch in OSNABRUECK machen
moechte (waere ja ne gute Gelegenheit ;)), moege er Illian Bescheid
geben :o)

Anatol - im Auftrag des Her^H^H^H^H^H^Hr Uni unterwegs

-----------------------------------------------------------------------------



Re: Stammtisch Donnerstag Karlsruhe... (Mupfel,  8. Feb 2000, 23:09:17):
~#! rn=Anatol rt=950039458 rg=treffen
~#! tid=950039458
Wieso sollte ich ausgerechnet dann einen Stati organisieren, wenn einer von
den beiden, die kaemen, nicht da ist? ;)

-mupfel-

-----------------------------------------------------------------------------



Stammti in Halle (Mieze,  8. Feb 2000, 23:12:22):

Hi Muddies und Fans den Hallenser Stammti,

also zu frueh posten nuetzt nix - Langzeitgedaechtnis scheint ja bei den
Muddern nicht so gut zu funktionieren... oder ist der Crash dran Schuld? :)
Also hier nochmal fuer alle Interessierten:

Am Freitag, den 11.2.2000 ab 19 Uhr ist Stammti in der Spaetschicht (Naehe
Rannischer Platz, Torstrasse 20). Wegen Uebernachtung bitte Mail an mich.
Cakey und Mahatma hab ich schon eingeplant (Jungs, ich hab Euch nicht
vergessen).

Alcina - Ein-Frau-Orga-Team-Halle-an-der-Saale



-----------------------------------------------------------------------------



Sonderstati in B (Alshaja,  9. Feb 2000, 12:38:58):
Wann? Montag, 14.2. 20 Uhr
Wo? Seeblick
Weshalb? Special Guest Catweazle

i.A. Gandur

-----------------------------------------------------------------------------



Stati in Leipzig (Unasai,  9. Feb 2000, 13:15:39):
oki, es ist nach langem haengen und wuergen mal wieder soweit. Am 26.2. findet
der erste Stammtisch des Jahres wie gewohnt, 20.00Uhr, in der "Tenne" statt..

Wer mag, Zeit und Lust hat, Mail an mich, zwecks Uebernachtung..ihr kennt das
ja mittlerweile nun alle...
ev. mit Special Guest Apollonia...

Una*

-----------------------------------------------------------------------------



Re: Sonderstati in B (Mahatmu,  9. Feb 2000, 14:45:35):
~#! rn=Alshaja rt=950096338 rg=treffen
~#! tid=950096338
Eeeeeeecht? Der alte Mann? Der so ein bisschen rundlich geworden ist?
Haelt der uns einen Vortrag und sooo?

Mahatmu

-----------------------------------------------------------------------------



Re^5: Stammtisch in Nuernberg und so (Teddy, 12. Feb 2000, 19:17:10):
~#! rn=Wurzel rt=949525727 rg=treffen
~#! tid=949182884
Also wenn zufaellig ne MfG von Muenchen nach NbG und retour vorhanden sein
sollte, komme ich gerne mit.

Teddy, der Countdown fuer die Rueckkehr beginnt.

-----------------------------------------------------------------------------



Re^6: Stammtisch in Nuernberg und so (Wurzel, 13. Feb 2000, 15:12:29):
~#! rn=Teddy rt=950379430 rg=treffen
~#! tid=949182884
werden wohl sowieso wieder zwei autos brauchen. sollte also gehen.

-----------------------------------------------------------------------------



Stammtisch in Halle (Alcina, 14. Feb 2000, 14:34:40):

Hi Muddies und Fans des Hallenser Stammti,

ab sofort organisiert unsere Karatefachfrau Cassandra den Hallenser Stammti.
Mit Fragen und Problemen wendet Ihr Euch bitte vertrauensvoll an Cassandra.
Der Termin (2. Freitag im Monat) bleibt.

Alcina - gibt Ihr Amt als Orga-Team-Halle (einschliesslich der eMailAdresse
unseres Lieblingskellners :)) ab.


-----------------------------------------------------------------------------



Hat Sugi Durst????? (Sugaan, 14. Feb 2000, 18:28:47):
Hmmm ich denke schon - und vorallem habe ich mit grossem Schrecken
festgestellt, dass die Zeit nur so davon rast. Also falls irgendwer Zeit und
Lust hat sich mit mir am Freitag den 25. diesen Monats in irgendeiner
Koelner-Kneipe (vorzugsweise das Limmerick, das Weissbraeu oder aber das The
Harp --> da find ich beiwenigstens hin!) zu treffen so sollte Sie/Er das
tunlichst bald und laut kundtun. 
Ich jedenfalls wuerde mich freuen mal wieder ein paar Koelner
(*grinsganzfrech*) und ein paar zugereiste Mudder zu treffen. Meldet Euch in
noch nie dagewesener Anzahl - auf dass wir den Termin und den Ort festmachen
koennen.

never take me HUGO        Sugi

-----------------------------------------------------------------------------



Re: Hat Sugi Durst????? (Householder, 14. Feb 2000, 21:21:28):
~#! rn=Sugaan rt=950549327 rg=treffen
~#! tid=950549327
the harp is mist :-(

-----------------------------------------------------------------------------



Re^7: Stammtisch in Nuernberg und so (Wurzel, 16. Feb 2000, 22:52:13):
~#! rn=Wurzel rt=950451149 rg=treffen
~#! tid=949182884
hm, vielleicht reicht doch ein auto. stress im job, kann leider nicht kommen.

viel spass jedenfalls

wurzel

-----------------------------------------------------------------------------



stammtisch nuernberg letzter aufruf oder so :) (Heromcfly, 17. Feb 2000, 19:58:33):

moin,
morgen findet der nuernberger stammtisch statt und bisher 
scheinen alle leute absolut informiert zu sein und auch
keine sorgen zu haben nicht hinzufinden 
das find ich schoen...aber es gibt ein paar leute auf 
meiner liste (sind immerhin mehr leute als ich finger an
2 haenden hab:) von denen ich nicht weis wie sie herkommen
(auto oder zug oder sonstiges) die vielleicht nen fuehrer
brauchen koennten
wenn dem so sein sollte sei gesagt das sich ein paar nuern-
berger stammtischgaenger um 18.30 im hbf (haupthalle) 
treffen werden denen man unter umstaenden folgen koennte
sofern dies noetig sein sollte :)
ahja und es waehre sinnvoll wenn sich diejenigen doch kurz
melden koennten ... durch den hauptbahnhof rennen und jeden
anquatschen: du morgengrauen ? ist immer so peinlich :)
als dann bis morgen oder auch nicht :)

-----------------------------------------------------------------------------



Re: stammtisch nuernberg letzter aufruf oder so :) (Hight, 17. Feb 2000, 23:44:32):
~#! rn=Heromcfly rt=950813913 rg=treffen
~#! tid=950813913
ihr koennt euch alternativ mit ner roten nelke im rever (wie schreibt man das
?!) ausstatten oder laut singe "wir sind die suechtigen ! suechtig nach dem
spiel ohne grafik" zumindest bemerkbar machen waehre nett.
nich so wie beim letzen mal als ich 30 min neben marcus stand und gedacht hab
so kaput wie der ausschaut koennt er fast einer von uns sein 

so long Hight

-----------------------------------------------------------------------------



Re: Re: stammtisch nuernberg letzter aufruf oder so :) (Marcus, 18. Feb 2000, 10:14:34):
~#! rn=Hight rt=950827472 rg=treffen
~#! tid=950813913
> wie beim letzen mal als ich 30 min neben marcus stand und gedacht hab 
> so kaput wie der ausschaut koennt er fast einer von uns sein

Seltsam, genau dasselbe hab ich gedacht, mich aber nicht getraut diesen 2m
stark gebauten Typen anzusprechen ;)

Ciao, Marcus

-----------------------------------------------------------------------------



StaTi MS (Foobar, 18. Feb 2000, 14:51:00):
Moin.

Am kommenden Dienstag findet der StaTi ausnahmsweise mal wieder _nicht_ im
Cuba statt, sondern im Ipanema, Mauritzstr. 24 um 20.00 Uhr.

Wegescript:

- Bahn:
Aus dem Zug aussteigen und den Bahnhof Richtung Innenstadt verlassen. Nach
Verlassen des Bahnhofs rechts abbiegen und immer geradeaus. Wenn man an der
Diso "GoGo" und dem Sex-Shop *sabber* vorbei ist, biegt man an der Ampel links
ab. Das Ipanema liegt dann nach ca. 75 m auf der rechten Seite.

- Auto:
a) Vom Kreuz MS Nord aus:
Abfahrt Mnster nehmen, man befindet sich auf der B54. Wenn man nach Mnster
reinkommt, die Eishalle rechts liegen lassen. An der folgenden Kreuzung links
abbiegen, auf den York-Ring. Diesem folgt man, und an der 5. Kreuzung (vermute
ich, es ist die Kreuzung Cheruskerring/Niedersachsenring/Gartenstr.) biegt man
rechts ab auf die Gartenstrasse. Auch dieser folgt man, sie geht ueber in die
Frstenbergstrasse. An der Kreuzung Fuerstenbergstrasse, Mauritztor,
Warendorfer Strasse biegt man rechts ab und kommt schliesslich nach einiger
Zeit auf die Mauritzstrasse. Wenn hier Mudder lang laufen, dann haben die den
Weg vom Banhhof aus gefunden und Ihr seid richtig.
b) Vom Kreuz MS Sued:
Abfahrt MS nehmen und immer geradeaus. Wenn man links das Schloss sehen kann,
an der grossen Kreuzung rechts abbiegen in die Muenzstrasse (falls Ihr jetzt
an der Aral-Tanke vorbeifahrt, seid Ihr falsch und muesst kehrt machen). Der
Muenzstr. folgt man ca. 1 km, dann kommt man rechts bei Karstadt-Sport vorbei.
50 m auf der linken Seite muesste dann das Ipanema liegen.

Parkmoeglichkeiten:
Gibts nicht, ist schliesslich MS Innenstadt. Am ehesten hat man glaubh ich
eine Chance auf dem Parkplatz vorm "GoGo"/Sex-Shop (s.o.).

Gruss,

     Foobar, i.A. alle anderen

P.S.: Sorry fuer Typos.

-----------------------------------------------------------------------------



Re: StaTi MS (Mupfel, 18. Feb 2000, 23:29:28):
~#! rn=Foobar rt=950881860 rg=treffen
~#! tid=950881860
any specials?

Mup*

-----------------------------------------------------------------------------



Re: Re: StaTi MS (Gorog, 19. Feb 2000, 12:34:03):
~#! rn=Mupfel rt=950912968 rg=treffen
~#! tid=950881860
Naja das will ich doch hoffen (;


Gorog, villeicht gar nicht da

-----------------------------------------------------------------------------



Re: Re: StaTi MS (Foobar, 19. Feb 2000, 18:25:19):
~#! rn=Mupfel rt=950912968 rg=treffen
~#! tid=950881860
Also bei mir hat sich noch keiner angemeldet...

Foobar

-----------------------------------------------------------------------------



Re^3: StaTi MS (Gorog, 21. Feb 2000, 19:07:08):
~#! rn=Foobar rt=950981119 rg=treffen
~#! tid=950881860
Aehm ich komm spaeter... vorher noch kostenfrei trinken (;

Gorog spart an allen enden und ecken. Wann is eigentlich in DO und wo?

-----------------------------------------------------------------------------



Re: Re: StaTi MS (Yendi, 21. Feb 2000, 20:23:32):
~#! rn=Mupfel rt=950912968 rg=treffen
~#! tid=950881860
Evtl. icke

YTY  (n+1)


-----------------------------------------------------------------------------



Re^4: StaTi MS (Morgoth, 22. Feb 2000, 07:48:57):
~#! rn=Gorog rt=951156428 rg=treffen
~#! tid=950881860
Wir testen heute mal eine Ausweichkneipe, weil das Walhalla immer noch dicht
is. Wahrscheinlich wird es das "Atlantico" werden, in dem wir am Freitag den
Stammtisch verbringen. Test und Wegbeschreibung gibts von Namakari ;-)

M*

-----------------------------------------------------------------------------



Re^4: StaTi MS (Aline, 22. Feb 2000, 15:13:16):
~#! rn=Gorog rt=951156428 rg=treffen
~#! tid=950881860

Gute Frage. 

Das "Wann" duerfte leicht beantwortet sein: Freitag ist der Letzte!
Bei dem "Wo" wird es schon heikel. Nachdem ich letzte Woche der Zeitung
entnehmen durfte, dass es sich bei dem "Buergermeister Lindemann" um eine
stadtbekannte Kneipe, der Schwulen und Lesbenszene (wo bleibt die Mudderszene)
handelt, befuerchte ich dass es ab jetzt da etwas voller sein wird.

Aber wir Dortmunder sollten eigentlich mal wieder die alte
Maul- und Diskussionskultur hier in der MPA aufleben lassen und
mal schoen ausdiskutieren, wo denn nu in Zukunft der Stammtisch
sein wird.....

Aline (laeutet den Gong zur 1. Runde)

-----------------------------------------------------------------------------



Stati in Dortmund (Bienchen, 22. Feb 2000, 19:07:26):
Hallo Ihr Lieben, steht es jetzt eigentlich schon fest, wo unser Stammtisch
stattfinden soll ? 

Bienchen

-----------------------------------------------------------------------------



Stati in Dortmund (Bienchen, 22. Feb 2000, 19:10:53):
Hab ich was verpasst, oder warum steht eine Diskussion ueber unseren Stati
unter Stati MS ??
Bienchen

-----------------------------------------------------------------------------



Re^5: StaTi MS (Knurt, 22. Feb 2000, 21:42:09):
~#! rn=Aline rt=951228796 rg=treffen
~#! tid=950881860
Soso, der "Brgermeister Lindemann" ist also eine "stadtbekannte Schwulen- und
Lesbenkneipe".
Schn, Aline, dass Du alles vorbehaltlos glaubst, was im Stern steht.
Und weil es da jetzt ja von Schwulen und Lesben nur so wimmeln wird, knnen wir
dort nicht mehr hingehen, wo kmen wir da auch hin.;brigens hat Klaus, der
Wirt, nachdem er den Stern gelesen hat, genau solche Reaktionen
befrchtet.;Bislang war es kein Problem, dort einen Raum zu bekommen. Und das
wre auch Freitag so.
Und es als Ausrede zu benutzen, "das es dort jetzt voller werden wird" ist so
ziemlich das letzte.;Das kotzt mich sowas von an...;Knurt (Freitag privat im
Brgermeister und deshalb vermutlich schwul)

-----------------------------------------------------------------------------



Re^6: StaTi MS (Knurt, 22. Feb 2000, 21:50:09):
~#! rn=Knurt rt=951252129 rg=treffen
~#! tid=950881860
Ups, ich war lange weg, hab das mit den Umlauten ganz vergessen.

Soso, der "Buergermeister Lindemann" ist also eine "stadtbekannte Schwulen-
und Lesbenkneipe". Schoen, Aline, dass Du alles vorbehaltlos glaubst, was im
Stern steht.
Und weil es da jetzt ja von Schwulen und Lesben nur so wimmeln wird, koennen
wir dort nicht mehr hingehen, wo kaemen wir da auch hin. 

Uebrigens hat Klaus, der Wirt, nachdem er den Stern gelesen hat, genau solche
Reaktionen befuerchtet. Bislang war es kein Problem, dort einen Raum zu
bekommen. Und das waere auch Freitag so.
Und es als Ausrede zu benutzen, "das es dort jetzt voller werden wird" ist so
ziemlich das letzte. 
Das kotzt mich sowas von an... 

Knurt (Freitag privat im Buergermeister und deshalb vermutlich schwul)

-----------------------------------------------------------------------------



StaTi in Do, Test I (Hreidmar, 23. Feb 2000, 11:07:13):
Gestern abend haben sich einige mutige Mudder aus DO aufgemacht, eine neue
Herberge fuer den beliebten Stammtisch in Dortmund zu finden. Gestest wurde
das "Atlantico Cafe" in der Weissenburgerstrasse. Am Test teilgenommen haben
Namakari, Morgoth, Pyros und meine Wenigkeit. Aufgrund von Platzmangel haben
Tars und Nonne kurzerhand auf einen eigenen Test verzichtet.
Das "Atlantico Cafe" bietet im Bereich der Gerstenkaltschalen leider nur Thier
oder Kronen (neben diversen Alk-freien Bieren) an. Dafuer gibt es dort aber
jede Menge Cocktails. Diese waren auch der Grund, warum gestern abend leider
kein Platz mehr fuer Nonne und Tars vorhanden war: es war Cocktail-Abend!
Jeder Cocktail nur 6,66 DM! Ansonsten bewegen sich die Preise der Cocktails
zwischen 10 und 15 DM. Getestet habe ich "Zombie" (leider ziemlich langweilig,
weil zuviel Fruchtsaftgehalt ;-)) und "Iced Tea" (der besteht hauptsaechlich
aus diversen Alkoholika, ein wenig Limettensaft und ein Spritzer Coca-Cola).
Die alkoholfreien Getraenke liegen bei 3,50 DM fuer 0,2l Cola (ein wenig
unverschaemt, wie ich finde) und (da bin ich mir jetzt nicht SO sicher) 4,50
DM fuer 0,4l Apfelschorle.
An Fressalien gibt es reichlich: Baguette ab 8,00 DM, kleine Snacks ab 4,50 DM
bis hin zu Nettigkeiten wie Hamburger mit ordentlich Pommes und ein wenig
Salat fuer 12 DM.
Die Musik war ordentlich laut und beinhaltete hauptsaechlich Charts von vorne
bis hinten.
Insgesamt also ein eher positives Ergebnis. Daher schlage ich der
wohlgeneigten Mudderschaft vor, den naechsten Stammtisch im "Atlantico Cafe"
abzuhalten. Reservierung ist problemlos moeglich...ausser dienstags.

Hreidmar, vom "Iced Tea" schwaermend.

-----------------------------------------------------------------------------



Re: StaTi in Do, Test I (Nonne, 23. Feb 2000, 11:39:27):
~#! rn=Hreidmar rt=951300433 rg=treffen
~#! tid=951300433
Das wichtigste haste natuerlich wieder vergessen! Die Bierpreise. Leider kann
ich mich auch nurnoch an Weizen 0.5l 6,- und Flasche Kronen 0.5l 5,- erinnern.
Was das Glas Bier kostet, keine Ahnung.

Ich hoffe nur, dass die Musik am Freitag etwas leiser ist, oder man findet
einen Tisch weit weg jeglicher Box. Die Musik empfand ich schon als stoerend.

Ansonsten machte der Laden ein guten Eindruck. Auf jeden Fall einen Versuch
wert.

Nonne, war aber nur 10 Minuten da.

-----------------------------------------------------------------------------



Re: Re: StaTi in Do, Test I (Rochus, 23. Feb 2000, 13:03:26):
~#! rn=Nonne rt=951302367 rg=treffen
~#! tid=951300433
Nee, das wichtigste hat er NICHT vergessen:
Die Colapreise.
3,50 DM fuer 0,2l Cola SIND unverschaemt.

  Rochus

-----------------------------------------------------------------------------



Re^3: StaTi in Do, Test I (Nonne, 23. Feb 2000, 13:09:48):
~#! rn=Rochus rt=951307406 rg=treffen
~#! tid=951300433
Hast Du eigentlich schon mal erwaegt einen Pauschalvertrag mit Coca Cola zu
machen? Das sollte sich fuer Dich doch rechnen. 200DM pro Monat und dann
ueberall Cola umsonst ;-)

-----------------------------------------------------------------------------



Re^4: StaTi in Do, Test I (Gorog, 23. Feb 2000, 16:49:22):
~#! rn=Nonne rt=951307788 rg=treffen
~#! tid=951300433
Apropos vergessen.
Aehm wo is das? Wie komm ich (+ andere Verrueckte) da hin?  Findet das da
Freitag ueberhaupt statt?

Gorog + Brandir + Foobar +/- 2 = 2 +/- 1 

-----------------------------------------------------------------------------



Re^3: StaTi in Do, Test I (Teddy, 23. Feb 2000, 17:12:42):
~#! rn=Rochus rt=951307406 rg=treffen
~#! tid=951300433
Stimmt!

teddy, auch schon fast wieder in Dortmund.

-----------------------------------------------------------------------------



StaTi MS 29.2. (Foobar, 23. Feb 2000, 17:17:03):
Tach auch.

Auch der naechste Muensteraner StaTi findet _nicht_ im Cuba statt, sondern
_schon_wieder_ im Ipanema.

Wegescripte siehe vorheriges Posting zum letzten StaTi in MS.

Ach ja, Zeit: 20.00

Gruss,

     Foobar

-----------------------------------------------------------------------------



K E I N  "SUGI HAT DURST"- TREFFEN !!!! (Sugaan, 23. Feb 2000, 17:48:36):
Auf Grund zu geringem Interesses bzw nicht moeglicher Terminabspreche - findet
das eigentlich fuer diesen Freitag anberaumt Sugi hat Durst-Treffen in Koeln
NICHT statt, was ich persoenlich grad sehr sehr gut finde :-))) (sagt die
leider derzeit ziemlich bargeldlose - dafuer aber stolze Besitzerin einer
neuen Jacke - Sugi).
Aber aufgeschoben ist nicht aufgehoben - falls sich irgendwann noch wer nach
Koeln begeben moechte, so kann er/sie das ja entweder HIER an Ort und Stelle
kundtun - oder aber mir mailen - ich werde dann mal sehen was sich einrichten
laesst.

Schade ist es nur, dass wir uns nu auch nicht wegen eines 7 oder
9-Sitzer-Leihwagens besprechen koennen - aber wer will schon nach
DRESDEN?????? *schnief*

Also denn macht et juuuuuuuut - und bis bald mal irgendwann wieder in Koelle

-----------------------------------------------------------------------------



Re^5: StaTi in Do, Test I (Nonne, 24. Feb 2000, 13:15:02):
~#! rn=Gorog rt=951320962 rg=treffen
~#! tid=951300433
Eigentlich sollte diesen Job ja Namakari machen. Aber ich schreib mal ne
Wegbeschreibung:

Adresse: Cafe Atlantico, Weissenburgerstr 35, Dortmund (Mitte)

Anreise Auto: Man faehrt so lange Richtung Stadtmitte, bis mal sich auf dem
Wallring befindet (das erklaer ich jetzt nicht extra), faehrt da ab, wo
Wambel, Koerne und Brackel angeschildert ist (da kreuzen Strassenbahnschienen
den Wall). Die naechste Links (sind nur 20 Meter), nach ca 100 m auf der
rechten Seite. Parkplaetze sind da allerdings ein Problem, besser auf der
anderen Strassenseite in den Gassen parken.

Mit oeffnetliche Verkehrmitteln:

Vom Hauptbahnhof aus mit der U-Bahn zur Kampstrasse. Das ist Richtung Hoerde
oder Westfalenhallen oder Aplerbeck). Ist die naechste Station. Dann in die
Strassenbahn 403 (Wickede, Wambel, Koerner oder Brackel), aussteigen am
Ostentor. Das ist dann die Kreuzung Ostentor/Weissenburger. In Fahrtrichtung
links die Strasse runter, nach 100 m auf der rechten Seite.

Bei Problem mit der Beschreibung wendet ihr euch an Morgoth, Namakari, Tiamak
oder Hreidmar. Die sollten das auch wissen.

Bis Freitag

Nonne.

-----------------------------------------------------------------------------



Re^6: StaTi in Do, Test I (Nonne, 24. Feb 2000, 13:23:24):
~#! rn=Nonne rt=951394502 rg=treffen
~#! tid=951300433
Achja, wer es grafisch haben moechte: www.dortmund.de -> stadtplan

Dann Ostwall eingeben. Eine von den grossen gelben Strassen ist die
Weissenburger. Die Kneipe ist etwas Suedlich der Querstrasse Schwanenstrasse.
Damit sollten alle Klarheiten beseitigt sein ;-)

Nonne.

-----------------------------------------------------------------------------



A A A R R G S S S ssss !!! (Sugaan, 24. Feb 2000, 16:38:46):
Also nu noch mal Bitte Bitte Bitter - wer moechte denn nu doch morgen nach
Koeln kommen??? so wie es aussieht - es ist halt so wie immer findet das
Sugi-hat-Durst-Treffen nu doch noch statt - ich denke da an das Limmerick
(Koelner vor - macht doch auch mal ein paar Vorschlaege!) so wie immer
zwischen xx und xy Uhr.  Also bitte bitte bitte lasst mich nu endlich wissen
wer alles aufschlagen will oder wird.
bis nachher dann -    chaos Sugi geht nu sporteln

-----------------------------------------------------------------------------



[Team:Aachen] hat Durst !!! (Sugaan, 24. Feb 2000, 18:46:51):
also denn wollen wir den Durst auch loeschen!!! Dazu werden wir uns morgen
abend irgendwann ab (fruehestens) 19 Uhr im Limmerick in der Zuelpicher
Strasse treffen (wehe es hat aus welchen fadenscheinigen Gruenden geschlossen
*lach*). Wir hoffen auf eine grosse - ja sogar GIGANTISCHE  Anzahl an nicht
mueden Muddern (so dass die eine total muede Mudderin nicht weiter auffaellt),
mit vielen neuen Ideen fuer die Ausnutzung von Bugs (---> Magier bitte dann
weghoeren!).

Also denn   bis morjen  mit gewaltigem Durst und guter Laune (sterbt vorher
nicht soooo viel)  gruessis von chaos  Sugi

-----------------------------------------------------------------------------



Re^6: StaTi in Do, Test I (Morgoth, 25. Feb 2000, 13:10:50):
~#! rn=Nonne rt=951394502 rg=treffen
~#! tid=951300433
Widere Umstaende zwingen mich zur Absage ;-(

M* --1 

-----------------------------------------------------------------------------



Stati Aachen (Fizban, 28. Feb 2000, 12:46:07):
Hi Leute 
Aus gegebenem Anlass findet der Stammtisch nicht diese Woche statt.
Wir verschieben ihn um eine Woche auf den 10.03.2000 und machen eine
"Konkurenzveranstaltung" zur Party in Dresden fuer alle diejenigen, die nicht
koennen oder denen das zu weit ist.
Treffen ist dann wie immer um 20:00 im Chico Mendes.
Fizban
P.s.: wenn einer nicht nach Hause moechte (falls auswertige kommen sollten)
gibt es ein paar Schlafplaetze.
P.s.s.: Wir koennen nicht mit Dresden konkurieren haben aber auch lust uns zu
treffen wenn wir nicht nach Dresden koennen.

-----------------------------------------------------------------------------



2. Stati Clausthal (Clausthaler, 28. Feb 2000, 13:23:11):

Der zweite Clausthaler StaTi soll stattfinden. Und um besser planen zu koennen
(wer bei dem letzten war, weiss wieso) poste ich das schonmal.

Uns schwebt das WE 12-14. Mai vor. Je nach Interesse laeuft er 2- oder
3-taegig (mist-telnet). Fuer Auswaertige die uebernachten wollen, stehen
begrenzte 
Uebernachtungsmoeglichkeiten zur Verfuegung. 

Bei Fragen und/oder Rueckfragen wendet Euch bitte an: 

lillebror@crosswinds.net

Ciao,
        Lille* :-)

-----------------------------------------------------------------------------



Re: Stati Aachen (Sugaan, 28. Feb 2000, 17:51:44):
~#! rn=Fizban rt=951738367 rg=treffen
~#! tid=951738367
Kommentar ueberfluessig :-(((


-----------------------------------------------------------------------------



Re: Re: Stati Aachen (Liara, 28. Feb 2000, 19:48:59):
~#! rn=Sugaan rt=951756704 rg=treffen
~#! tid=951738367
Jo. *seufz* Da ich nicht nach Dresden fahren kann, weil ich arbeiten muss,
hatte ich mich auf Aachen gefreut. *schnueff* Schade das.

Liara, trauriche Zwergenzauberine

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 29. Feb 2000, 14:22:12):
Auch diesen Donnerstag ist wieder Stammtisch in Karlsruhe (wie uebrigens
jeden Donnerstag), wie immer ab 20 Uhr im Kleinen Meierhof in der
Zaehringer Strasse. 
Special Guests diesmal: Zephyr und Tryfan
  Boing

-----------------------------------------------------------------------------



Stati in Wien (Trug, 29. Feb 2000, 19:05:56):
Besteht irgendwie interesse an einen MG-Stati in Wien?

trug

-----------------------------------------------------------------------------



Stati in B (Gandur, 29. Feb 2000, 23:21:26):
kurz und knapp: wie jeden monat also am 3.3. um 20 Uhr im Seeblick.

gandur

-----------------------------------------------------------------------------



Re: Stati in Wien (Orktoeter, 29. Feb 2000, 23:33:25):
~#! rn=Trug rt=951847556 rg=treffen
~#! tid=951847556
Ja, ich denke da wuerden sich einige finden, (eher mehr als in Koeln, wenn man
die Auswaertigen nicht zeahlt)..
Also Arkana und ich wuerden wohl kommen... 
(und ich kenne eine ganze Reihe, heute weniger aktive MG-ler in Wien, vileicht
kommt ja der Eine oder die Andere auch ?)

Mach mal nen Vorschlag fuer Ort und Zeit!

Und uebrigens Irish Pub hoert sich immer erst mal gut an :)

OrkT (Neuwiener)

-----------------------------------------------------------------------------



Re: Re: Stati in Wien (Birdy,  3. Mar 2000, 20:12:33):
~#! rn=Orktoeter rt=951863605 rg=treffen
~#! tid=951847556
hiho !
also die sl-stammtische haben wir imma im "Centimeter" hinterm rathaus
abgehalten, das war supa, vor allem die schubkarren mit essen, gell Lurchi
!?:)

-----------------------------------------------------------------------------



Re^3: Stati in Wien (Trug,  4. Mar 2000, 12:55:22):
~#! rn=Birdy rt=952110753 rg=treffen
~#! tid=951847556
Ich meinte ja, im 'cm' dort einen zu machen.... dort ists gemuetlich und auch
recht billig von den Preisen her.

trug

-----------------------------------------------------------------------------



Karlsruhe und Co. (Hobo,  6. Mar 2000, 08:55:48):
Hi Ihr,
KLAR ist auch diesen Donnerstag ( 9.3.) wieder Stammtisch im KM.
Ausserdem wird's aber auch am Samstag, den 11.3. einen Sonderstammtisch im
Elsass mit vieeeel Flammkuchen und Ros geben.

Da muessen wir allerdings einen Tisch bestellen, wer also mitkommen will, soll
mir eine Mail schicken (bis Donnerstag), damit wir auch genug Platz haben.
Treffpunkt zum gemeinsam ins Elsass fahren ist der Uniparkplatz in Karlsruhe
(Ausfahrt hinter der IRA) um 18:30 sein. Da verteilen wir uns auch optimal auf
die antuckernden Autos, damit moeglichts wenige nichts trinken duerfen.

  Hobo 

-----------------------------------------------------------------------------



Stati Halle (Cassandra,  6. Mar 2000, 17:15:03):
Da der Stammtisch diesen Monat mal wieder aufs Partywochenende faellt, faellt
er diesen Monat aus. Ab naechsten Monat gehts dann weiter.

Cassandra, neues Einfrauorgateam Halle

-----------------------------------------------------------------------------



Stati Muenster 7.3.00 (Gorog,  6. Mar 2000, 17:40:50):
Moin

Aeh bin ich richtig informiert, dass diese Woche der Stati im Alambama
stattfindet? Wenn ja hat wer reserviert, oder sollte das noch wer tun, obwohl
ich nicht wirklich ueberzeugt bin von dem Laden.

Gorog intressiert und voll im Stress (also glaubt nicht ich mach ne
Reservierung)...

-----------------------------------------------------------------------------



Re: Stati Muenster 7.3.00 (Foobar,  6. Mar 2000, 21:33:20):
~#! rn=Gorog rt=952360850 rg=treffen
~#! tid=952360850
Moin.

Ja, AFAIK ist er diesmal im Alabama.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Stati BS?!? (Teddy,  8. Mar 2000, 17:54:27):
Hiho,

ich hab mal ne Woche Urlaub nach der Dresdner Party.
Da ja nicht alle in Dresden sein werden so als kurze Anregun: Wie sieht's am
17.3. mit Stammtisch in BS aus?

CU,

Teddy

-----------------------------------------------------------------------------



Re: Stati BS?!? (Hanshansen, 10. Mar 2000, 16:13:37):
~#! rn=Teddy rt=952534467 rg=treffen
~#! tid=952534467
das waer mal was, ich bin wohl dabei...

   hanshansen

-----------------------------------------------------------------------------



Re: Stati BS?!? (Alpha, 10. Mar 2000, 16:42:12):
~#! rn=Teddy rt=952534467 rg=treffen
~#! tid=952534467
Ist der 17. nen Sonnabend? Wenn ja dann (+1), und eventuell (+2)...
Alpha. (Und Jehova?)

-----------------------------------------------------------------------------



Muensteraner Stammtisch ist diese Woche im KlingKlang (Catweazle, 13. Mar 2000, 16:32:43):
Moin!

Der Muensteraner Stammtisch findet diese Woche im KlingKlang statt.
Da kann man lecker essen und ausserdem ist die Cola nicht so teuer.
Das Klingklang befindet sich auf der Erphostrasse (am westlichen Ende) und ist
zu Fuss vom Bahnhof in schaetzungsweise 10 Minuten zu erreichen. Mit dem Auto
kommt man am besten von der Piusallee und faehrt in die Stolbergstrasse. Da
kann man zwar nicht direkt bis zum KlingKlang fahren (unter der
Eisenbahnbruecke kann man mit Auto nicht durch), aber wenigstens kann man da
parken und braucht sich nicht durch die Einbahnstrassen in der Gegend zu
quealen.

Noch ne Hilfe zum finden:
http://www.muenster.de/~heyne/d3.gif ist ein wundervoller 
Stadtplan. Das KlingKlang findet man auf folgende Weise: 
Es ist ein kleines Stueck noerdliche der Warendorfer Strasse, die sich 
nordoestlich des Bahnhofas befindet. Also. Finger auf den Bahnhof legen,
entlang der Bahnhofstrasse (westlich vom Bahnhof) und der Eisenbahnstrasse
einen Fettstreifen ueber den Monitor ziehen (wohl dem der einen Drucker hat),
bis zum Freiherr-von-Stein-Platz (Freih.-v-Stein-Pl.). 
Jetzt nach Nordnordost entlang der Piusallee weiterschmieren, rechts in die
Stollbergstrasse abkurven und wenn ihr an diesem kleinen Platz angekommen
seid, an dem Stollbergstr., Staufenstr., Erphostr, Overbergstr. und
Gereonstrasse zusammentreffen koennt ihr den Finger von der Mattscheibe
loesen, genau da ist das Klingklang. Parken wie gesagt am besten in/an der
Stollbergstr.

Wer die ganzen Strassen partout nicht findet kanns ja mal unter 
http://doseiv.muenster.de/citymap/stadtpln.htm probieren. 

Den dreckigen Staub am Finger kriegt ihr am besten durch kraeftiges Reiben
ueber die Hose wieder weg, immer gegen die Rillen, laengs klappts lange nicht
so gut. Fuer den versifften Monitor empfehle ich Klopapier (die
SuperSaugWegWischKraftRolle ist vergleichsweise zu teuer).


Sollte jemand es immer noch nicht finden, kann er mich ja nochmal fragen, ich
werde dann versuchen Deinen Finger telekinetisch ueber die Karte zu 
fuehren. Vielleicht erklaer ichs auch nur.

Achja, Beginn ist 20:00 Uhr und natuerlich ist jeder herzlich eingeladen,
telekinetisch begabte, durchgeknallte Weise und andere seltsame
Gestalten besuchen zu kommen.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



DA is back! (Ark, 13. Mar 2000, 23:18:58):
OK, auf mehrfaches, sehr vorsichtiges Anstupsen *oehem* will ich mal wieder
einige Mudder ins lieblische Dammstadd logge. Vorschlag: Freitag, den
24.03.2000, 19:00 Uhr im Hotzenplotz.
Eine Woche darauf ist Ostern glaub ich, deshalb lasse ich das mal aussen vor.
Any comments, brainstorms, killer phrases?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: DA is back! (Ark, 13. Mar 2000, 23:32:13):
~#! rn=Ark rt=952985938 rg=treffen
~#! tid=952985938
Hm, wie mir eben unter Androhung drastischer Strafen zugefluestert wurde,
koennte es sich als gesuender erweisen, den Stammtisch am Samstag, den
25.03.2000 zu halten. Weiss ich jetzt gar nicht mehr weiter. Aber so geht es
auch. Kommen alle?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: DA is back! (Anacrion, 13. Mar 2000, 23:32:37):
~#! rn=Ark rt=952985938 rg=treffen
~#! tid=952985938
+1 Anac - kurz und buendig

-----------------------------------------------------------------------------



Re: Re: DA is back! (Ark, 13. Mar 2000, 23:35:01):
~#! rn=Anacrion rt=952986757 rg=treffen
~#! tid=952985938
Ihr mit Euren kurzen unpersoenlichen Statements. Kuendigt Euer Kommen
gefaelligst dem Happening gemaess an, jo?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: DA is back! (Anacrion, 13. Mar 2000, 23:36:13):
~#! rn=Ark rt=952986901 rg=treffen
~#! tid=952985938
Nach reiflicher Ueberlegung haben wir, Anacrion, Magister zu Tarmis, uns
entschlossen, dem Treffen in darmstadt durch unser Erscheinen einen wuerdigen
Rahmen, ... blabla ...

Hochachtungsvoll

   anacrion

-----------------------------------------------------------------------------



Stati Aachen.. (Unasai, 14. Mar 2000, 15:10:20):

Hiho,

da ihr ja diesmal ordentlich Besuch von ausserhalb bekommt, wollte ich gerne
wissen, wann wie wo der Stati genau stattfindet :)
ich wuerde naemlich auch mitkommen, wenns recht ist :)

Una* *sich maechtig freuend*

-----------------------------------------------------------------------------



Re: DA is back! (Hight, 14. Mar 2000, 15:32:19):
~#! rn=Ark rt=952985938 rg=treffen
~#! tid=952985938
nerja ostern is da in der naehe schoen ... wenn dus um nen monat verschiebst
,o)

-----------------------------------------------------------------------------



Re: Stati Aachen.. (Rardian, 14. Mar 2000, 15:45:15):
~#! rn=Unasai rt=953043020 rg=treffen
~#! tid=953043020
Hm... Ganz schoen mutig als Nichtberlinerin... Aber ich freu mich trotzdem,
dass Du auch mitkommst :)

Rar, ist natuerlich auch dabei, wenn die Berliner kurzzeitig die Einwohnerzahl
Aachens verdoppeln... ;)

-----------------------------------------------------------------------------



Stati Aachen ... (Guard, 14. Mar 2000, 15:53:13):
Hi,

vielleicht sollten wir die Sache nochmal offiziell ankuendigen, damit auch
alle gewarnt sind. :-) Auf dem Aachener Stati werden die Berliner mit
voraussichtlicher Staerke von 9 (sorry Una* aber du wirst jetzt als Berliner
gehandelt :-))) auftauchen. Vielleicht ist das ja Anlass fuer den einen oder
anderen , auch da aufzutauchen :-)

Guard (Den Aachenern n bissel Orga aufbrummend :-))

-----------------------------------------------------------------------------



Re: Stati Aachen ... (Gandur, 14. Mar 2000, 16:13:51):
~#! rn=Guard rt=953045593 rg=treffen
~#! tid=953045593
Und wer besorgt das Transportmittel?
Guard, uebernehmen sie :)

-----------------------------------------------------------------------------



Re: Re: Stati Aachen ... (Golas, 14. Mar 2000, 16:14:49):
~#! rn=Gandur rt=953046831 rg=treffen
~#! tid=953045593
wird der stati dann auch umbenannt in berliner stati in aachen ;)))


-----------------------------------------------------------------------------



Stati in Ac (Waterloo, 14. Mar 2000, 16:19:19):
Ich werde mal mit darkwing heute abend Kriegsrat halten und dann mal was dazu
posten.
i.A.: Waterloo

-----------------------------------------------------------------------------



Re: Re: DA is back! (Leibniz, 14. Mar 2000, 21:39:35):
~#! rn=Hight rt=953044339 rg=treffen
~#! tid=952985938
also ich bin fuer samstag :)

leibi

-----------------------------------------------------------------------------



Stati in Aachen (Fizban, 15. Mar 2000, 23:42:57):
Hi Leute
Also *raeusper* am 31.03 findet in Aachen mal wieder ein Stammtisch statt zu
dem alle recht herzlich eingeladen sind.
Soweit mir das bekannt ist werden die Berliner mit mehr als einem Auto
anruecken, und somit als Gaeste da sein.
Ich bitte alle, die einen Schlafplatz benoetigen (auch die Berliner) sich mit
einer Mail an Kamelot _und_ Vultas anzumelden. Es sind natuerlich alle anderen
herzlich eingeladen auch zu kommen.
Der Stammtisch wird wie immer um 20:00 Uhr im Chico Mendes stattfinden.
naehere Infos gibt es bei mir und vultas.
Gruss Fizban

-----------------------------------------------------------------------------



Re: Stati in Aachen (Guard, 16. Mar 2000, 10:21:27):
~#! rn=Fizban rt=953160177 rg=treffen
~#! tid=953160177
Ich enttaeusch dich ja nur ungern Fizban :-) aber die Berliner ruecken nur in
einem Auto an. Wie gross das is, wird allerdings nicht verraten :-)))

Guard

-----------------------------------------------------------------------------



Re: Re: Stati in Aachen (Gandur, 16. Mar 2000, 10:22:09):
~#! rn=Guard rt=953198487 rg=treffen
~#! tid=953160177
*moep* falsch, es koennten auch zwei werden ;)

-----------------------------------------------------------------------------



Re^3: Stati in Aachen (Gorog, 16. Mar 2000, 10:59:20):
~#! rn=Gandur rt=953198529 rg=treffen
~#! tid=953160177
Fahrt ihr ueber Mnster ?

Gorog der dummerweise waehrend der Party im Labor stand.

-----------------------------------------------------------------------------



Re^4: Stati in Aachen (Guard, 16. Mar 2000, 11:34:41):
~#! rn=Gorog rt=953200760 rg=treffen
~#! tid=953160177
aeh ich glaube , dass einige leute aus muenster kommen, da solltest du dich
mal umhoeren

Guard

-----------------------------------------------------------------------------



Re^3: Stati in Aachen (Moep, 16. Mar 2000, 16:36:37):
~#! rn=Gandur rt=953198529 rg=treffen
~#! tid=953160177
Ich hab nichts mit Aachen zu tun.

-----------------------------------------------------------------------------



Re^3: Stati in Aachen (Stopdenbus, 16. Mar 2000, 21:24:26):
~#! rn=Gandur rt=953198529 rg=treffen
~#! tid=953160177
ausserdem kommen auch net alle Berliner, na gut, ich bin eh keiner, 
aber trotzdem, so !
Stoppi, wird immer fuer'n Berliner gehalten

-----------------------------------------------------------------------------



Stammtisch in DO verschieben? (Kartoffel, 16. Mar 2000, 22:43:07):

Hoi,

da ich schon aufm letzten Satmmtisch nich dabei war, faend ich es prima, wenn
wir den Maerz-Stammtisch eine Woche vorverlegen koennten, also auf den 24.,
ich hab naemlich dummerweise am 1.4. ne Fortbildung (nein _kein_ Scherz...)

'Toffel

-----------------------------------------------------------------------------



Re: Re: Stati BS?!? (Teddy, 17. Mar 2000, 13:07:05):
~#! rn=Hanshansen rt=952701217 rg=treffen
~#! tid=952534467
Aeh, wie nicht anders zu erwarten komm ich ein wenig spaeter. ;-(

Teddy, kommt bestimmt

-----------------------------------------------------------------------------



Re^3: Stati BS?!? (Teddy, 17. Mar 2000, 13:09:28):
~#! rn=Teddy rt=953294825 rg=treffen
~#! tid=952534467
Wo wir gerade beim Thema sind, ich weiss irgendwie noch immer nicht, wo der
Stammtisch eigentlich stattfinden soll.
Viertel nach wurde in Dresden irgendwie nicht so positiv aufgenommen, macht
nen alternativen Vorschlag, nur bald bnitte.

Teddy

-----------------------------------------------------------------------------



Re^4: Stati BS?!? (Karic, 17. Mar 2000, 17:04:17):
~#! rn=Teddy rt=953294968 rg=treffen
~#! tid=952534467

aehm..wie jetzt? ich dachte wir treffen uns im 1/4 nach und gucken dann
weiter?
karic *immerfuergutdurchdachteplaenezubegeistern* ;)

-----------------------------------------------------------------------------



Re^5: Stati BS?!? (Teddy, 17. Mar 2000, 21:24:30):
~#! rn=Karic rt=953309057 rg=treffen
~#! tid=952534467
OK, dann fahr ich mal los ;)

Teddy

-----------------------------------------------------------------------------



Re: Re: DA is back! (Ark, 17. Mar 2000, 23:10:32):
~#! rn=Hight rt=953044339 rg=treffen
~#! tid=952985938
Jetzt noergelt bloss net rum, weil sich der kleine kurzsichtige Zwerg mal in
seinem Kalender verfranst hat :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: DA is back! (Ark, 17. Mar 2000, 23:22:42):
~#! rn=Ark rt=952986733 rg=treffen
~#! tid=952985938
Ok, hiermit isses also amtlich, Stammtisch ist am 25.03.2000 ab 19.00 Uhr im
Hotzenplotz in DA. Fuer neue Gesichter eine kurze Wegbeschreibung:
A5 ab Darmstaedter Kreuz, Richtung Stadtmitte, immer weiter geradeaus bis man
unter dem grossen Denkmal ("Langer Ludwig") im City-Tunnel verschwindet. Dem
City-Ring folgen, bis linker Hand das Schloss auftaucht, dann rechts abbiegen
in die Alexanderstrasse. Die erste Strasse links abbiegen, weiter fahren und
Parkplatz suchen. Geradeaus befindet sich die Buchhandlung Wellnitz, vor der
biegt man rechts ab in ein kleines Gaessschen, auf der naechsten Ecke ist dann
der Hotzenplotz.
Vom Bahnhof faehrt man mit dem 'H'-Bus 5 Haltestellen, dann die Mauerstrasse
runterlaufen bis zum Hotzenplotz an der Ecke
Mauerstrasse-Lauteschlaegerstrasse.
CU soon.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: DA is back! (Katzentante, 18. Mar 2000, 11:56:56):
~#! rn=Ark rt=953331032 rg=treffen
~#! tid=952985938
Merian und Katzentante koennen leider nicht dabei sein. Wir werden aber an
Eurch denken. Beim naechsten Mal sind wir bestimmt wieder dabei. Entweder DA
oder F Gruesse an alle.

-----------------------------------------------------------------------------



Stati Bonn?? (Liara, 18. Mar 2000, 13:55:47):
Moin auch.
Da Zephyr meinte, sie waere im Mom nicht so oft in Bonn und deshalb etwas
organisationsunlustig *grins*, wollte ich mal versuchen, irgendein Treffen
zustande zu bringen.

Wenn Interesse besteht, bitte ne Mail an mich schreiben. (Wie siehts mit Koeln
aus? Aachen?)

Auf Antwort hoffend,
Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Stammtisch am 21.03. in Dresden (Mesirii, 19. Mar 2000, 19:30:10):
Liebe Stammtischler,

am Dienstag (21.03.) ist es wieder mal soweit, Stammtisch in Dresden ist
angesagt.

Hauptpunkt Auswertung Party ;)
und sonst alles was Spass macht.
Vielleicht bring ich mal n nettes Spiel mit.

Mesi, schon wieder organisierend *argl*

-----------------------------------------------------------------------------



MS - Frauen (Gorog, 19. Mar 2000, 23:04:34):
MS Stati in der Frauenstrasse, denk ich, fuehlt sich da nicht wer
verantwortlich?

Gorog denkt : Kaempfer sind einfach zu unzuverlaessig....

-----------------------------------------------------------------------------



Stati Bonn (Liara, 19. Mar 2000, 23:39:31):
Moin.
Bisher habe ich Zusagen von 3 mal Bonn, 2 mal Aachen und wohl 2 bis mehr mal
Auswaerts (wenn wir noch ne Schlafgelegenheit finden ;).

Als Termin fassen wir Montag, den 27. Maerz ins Auge.
Der Ort des Treffens ist noch nicht festgelegt.

Beschwerden und weitere Anmeldungen bitte per Mail an mich. ;-)

Liara, Zwergenzauberine 

-----------------------------------------------------------------------------



Re: Stati Bonn (Gorog, 19. Mar 2000, 23:46:10):
~#! rn=Liara rt=953505571 rg=treffen
~#! tid=953505571
Ganz fiese Erpressung:

Liara teilt Dir mit: also **** meint er kommt auf jeden fall und er freut |
Liara teilt Dir mit: sich dass du auch kommst ;-) also musste nu wirklich |
Liara teilt Dir mit: kommen 23:42

-> Schmarrn

-----------------------------------------------------------------------------



Re: Stammtisch am 21.03. in Dresden (Deepblue, 20. Mar 2000, 08:44:20):
~#! rn=Mesirii rt=953490610 rg=treffen
~#! tid=953490610
Uhrzeit? Ort?

-----------------------------------------------------------------------------



Re: Re: Stati Bonn (Liara, 20. Mar 2000, 12:06:42):
~#! rn=Gorog rt=953505970 rg=treffen
~#! tid=953505571
Da GMX im Moment standhaft streikt, hier mal der Zwischenstand bisher:

Spellfire, Darkwing, Feuerwehr, Elberet, Gorog und Bendeigid haben zugesagt.
Padreic kommt wahrscheinlich spaeter dazu. Meine Wenigkeit ist auch dabei. ;-)

Liara, Zwergenzauberine, hofft auf weitere Mails und GMX ... dann wird auch
der Ort festgelegt ;-)

Termin (zur Erinnerung): Montag, 27. Maerz 2000 

-----------------------------------------------------------------------------



Re: Stammtisch in DO verschieben? (Morgoth, 20. Mar 2000, 12:51:56):
~#! rn=Kartoffel rt=953242987 rg=treffen
~#! tid=953242987
Jau, is OK. Wir haben uns mal kurz und geschlossen und so und beschlossen
sowieso, dass es wieder im Atlantico ist. Jaja Rochus, quengel nicht, geht
nich anders. Wegbeschreibung siehe letzer Monat.

M* 

-----------------------------------------------------------------------------



StaTi Muenster 21.03.00 (Foobar, 20. Mar 2000, 13:02:24):
Moin.

Der StaTi Muenster findet diese Woche - wie uebrigens jeden Dienstag - wieder
mal ausnahmsweise - wie uebrigens fast jeden Dienstag - _nicht_ im "Cuba"
sondern im "Frauenstrasse 24" statt.

Das "Frauenstrasse 24" befindet sich in der... Na? Richtig! In der Frauenstr.
24, womit diesmal die Autofahrer klar im Vorteil sind, da sich die Frauenstr.
24 (wo sich die Kneipe "Frauenstrasse 24" befindet) direkt gegenueber des
altehrwuerdigen Schlosses zu Muenster befindet. Und direkt vor diesem liegt
der Hindenburgplatz, der nicht nur ein Hindenburgplatz sondern auch ein
Parkplatz ist und keine Schwierigkeiten haben duerfte, die Automassen des zu
erwartenden Besucheransturms zu beherbergen.

Zugfahrer sind diesmal leider gekniffen :o) Quatsch, so schlimm ist das alles
gar nicht. Ihr muesst einfach am Hbf. Muenster den Ausgang zur Innenstadt
nehmen und dann erstmal geradeaus laufen. Auf der Ecke wo Karstadt und Horten
zu sehen sind biegt Ihr links ab (da sind eine Menge Bushaltestellen) und
direkt danach wieder rechts. Dann kommt Ihr auf den sehenswerten
Prinzipalparkt, von dem aus Ihr nach wenigen Metern links auf den Domplatz
abbiegen koennt. Ihr lauft quer ueber den Domplatz, links an ihm vorbei und
dann geht es einige Meter steil runter. Vor Euch liegt dann eine unbekannte
Kirche, die Ihr ebenfalls links liegen lasst. Dann geht es immer weiter
geradeaus, und wenn Ihr das Schloss vor Euch sehen koennt, dann seid Ihr in
der Frauenstr.!

Fuer Zugfahrer liegt das "Frauenstasse 24" auf der linken Seite, fuer
Hindenburgparker auf der linken.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re^3: Stati Bonn (Bendeigid, 20. Mar 2000, 13:16:30):
~#! rn=Liara rt=953550402 rg=treffen
~#! tid=953505571
Aeh, wer hat hier zugesagt?
Ich  sagte "mal schauen".....

Bendeigid, sich auch sowas wie erpresst fuehlend.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in DO verschieben? (Nonne, 20. Mar 2000, 14:15:02):
~#! rn=Morgoth rt=953553116 rg=treffen
~#! tid=953242987
Ich komme auch und bringe noch einen Ueberraschungsgast mit.

also: x + 2

Nonne.

-----------------------------------------------------------------------------



Re^3: Stammtisch in DO verschieben? (Morgoth, 20. Mar 2000, 14:20:51):
~#! rn=Nonne rt=953558102 rg=treffen
~#! tid=953242987
Soso, du kommst also ;-)

M*

-----------------------------------------------------------------------------



Re^4: Stammtisch in DO verschieben? (Nonne, 20. Mar 2000, 14:30:09):
~#! rn=Morgoth rt=953558451 rg=treffen
~#! tid=953242987
... zum Stammtisch, genau ;-)

-----------------------------------------------------------------------------



Re^3: DA is back! (Sharia, 20. Mar 2000, 15:52:02):
~#! rn=Ark rt=953331762 rg=treffen
~#! tid=952985938
ich komm leider nich .. doofer termin :(

-----------------------------------------------------------------------------



Re^4: Stati Bonn (Liara, 20. Mar 2000, 16:23:44):
~#! rn=Bendeigid rt=953554590 rg=treffen
~#! tid=953505571
*brummel* ... hab ich zwar anders verstanden, aber ok ...

Also Chefchen Bendeigid kommt vielleicht. ;-)

Liara, Zwergenzauberine, will niemandem zu seinem Glueck zwingen ;-)

-----------------------------------------------------------------------------



Re^5: Stammtisch in DO verschieben? (Catweazle, 20. Mar 2000, 16:39:32):
~#! rn=Nonne rt=953559009 rg=treffen
~#! tid=953242987
Darf ich kurz eine Bestaetigung anfordern, das der Stati in DO
_diese_ Woche stattfindet, also am 24.?

YTC

-----------------------------------------------------------------------------



Re^6: Stammtisch in DO verschieben? (Tiamak, 20. Mar 2000, 16:41:24):
~#! rn=Catweazle rt=953566772 rg=treffen
~#! tid=953242987
Bestaetigt.

Tiamak

-----------------------------------------------------------------------------



Re^7: Stammtisch in DO verschieben? (Catweazle, 20. Mar 2000, 16:44:05):
~#! rn=Tiamak rt=953566884 rg=treffen
~#! tid=953242987
Nun, in diesem Fall muss ich euch die alarmierende Mitteilung 
machen, das ihr mit meiner Anwesenheit zu rechnen habt.

YTC

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO verschieben? (Fehler, 20. Mar 2000, 16:46:09):
~#! rn=Catweazle rt=953567045 rg=treffen
~#! tid=953242987
"traurig" war doch richtig, Cattie, warum hast Du den Artikel
korrigiert? :) 

tm catweazle Hae? Wieso "zap"? Hab ich was HE NEIN NICHT....


-----------------------------------------------------------------------------



Re: StaTi Muenster 21.03.00 (Lanfear, 20. Mar 2000, 16:50:51):
~#! rn=Foobar rt=953553744 rg=treffen
~#! tid=953553744
Naja, da Kaempfer anscheinend ja auch Schwierigkeiten mit Rechts und Links
haben, weise ich mal darauf hin, dass besagte Kneipe ("Frauenstrasse 24" zur
Wiederholung fuer Kaempfer, welche zuviele Kopfstoesse gemacht haben) auf der
RECHTEN Seite liegt, wenn man als Autofahrer (oder auch sonst) vom
Hindenburgplatz kommt.

Lanfear - erklaert Foobar das dann auch nochmal.

-----------------------------------------------------------------------------



Re: StaTi Muenster 21.03.00 (Gorog, 20. Mar 2000, 19:00:49):
~#! rn=Foobar rt=953553744 rg=treffen
~#! tid=953553744
Aeh Foobar

Autofahrer schaun bitte auf die rechte Strassenseite....
*grins*

-----------------------------------------------------------------------------



Re^8: Stammtisch in DO verschieben? (Mupfel, 20. Mar 2000, 22:14:20):
~#! rn=Catweazle rt=953567045 rg=treffen
~#! tid=953242987
Mit meiner eventuell auch. Mal schaun ob ichs finde ;)

-mupfel-

-----------------------------------------------------------------------------



Berliner in Aachen (Grimman, 20. Mar 2000, 22:14:30):
Nachdem der Berliner StaTi nu nach Aachen ausgelagert wurde *fiesgrins* denke
ich mal, ich werde mich auch irgendwie da reinzwaengen, ich hoffe, das geht
noch irgendwie ...
Sag mal bitte wer Caillean bescheid :)

GrimMan

-----------------------------------------------------------------------------



Re: Berliner in Aachen (Guard, 21. Mar 2000, 08:41:30):
~#! rn=Grimman rt=953586870 rg=treffen
~#! tid=953586870
AAAAALSOOOOO ...

Erstens Grimmi is der Berliner Stati am Ersten Freitag im Monat also diesmal
am 7.4. (das is die Woche NACH Aachen!
Zweitens aeh muss so ein auswaertiger Stati vorher geplant werden ... das
heisst, ihr koennt euch nich alle nach und nach entscheiden ob ihr nu mitwollt
oder nich, so wird das nix! Die Artikel in der Zeitung sind eindeutig!
Entscheidet Euch bitte schnell und fragt bitte nich nur die Berliner, ob das
geht, sondern auch die Aachener! Du willst schliesslich irgendwo pennen!

Meine paar Kommentare ...

Guard

PS: Ist nicht nur an Dich gerichtet, Grimman und bitte nich uebel nehmen,
sollten alle Berliner, die sich noch nich entschieden haben, mal zur
Entscheidung bewegen ...

-----------------------------------------------------------------------------



Re^9: Stammtisch in DO verschieben? (Catweazle, 21. Mar 2000, 10:03:43):
~#! rn=Mupfel rt=953586860 rg=treffen
~#! tid=953242987

Hrgrmpf... 

Ich kann Freitag gar nicht, also vergestes... :((
Koennt ihr doch nen ruhigen Stamntisch abhalten :)

YTC

-----------------------------------------------------------------------------



Re^3: Stati Bonn (Cinderella, 21. Mar 2000, 18:29:13):
~#! rn=Liara rt=953550402 rg=treffen
~#! tid=953505571
Also meinereiner wird auch anwesend sein. Vielleicht gelingt es mir ja auch
noch toe mitzuschleifen ;))

Cinderella

-----------------------------------------------------------------------------



Re^4: Stati Bonn (Liara, 22. Mar 2000, 12:21:40):
~#! rn=Cinderella rt=953659753 rg=treffen
~#! tid=953505571
Moin.

Bisher habe ich 12 Zusagen fuer Montag. Dazu kommen 4 weitere
Wahrscheinlichs/Vielleichts. ;-)
Der letzte Stati war im Quiet Man, aber mit mehr als 10 Leuten ists da evtl.
etwas eng.

Liara, Zwergenzauberine, bittet um Vorschlaege per Mail (ja GMX lebt ja wieder
;)

-----------------------------------------------------------------------------



Re^5: Stati Bonn (Liara, 22. Mar 2000, 21:30:49):
~#! rn=Liara rt=953724100 rg=treffen
~#! tid=953505571
Moin.

Die Zahl der Wahrscheinlichs/Vielleichts hat sich inzwischen auf 7 erhoeht.
;-)
Kneipenvorschlaege bisher: Quiet Man (Hbf), Godot (Altstadt) und Harmonie
(Endenich).
Das Fiddlers (Artikel von Pra) wurde nach dem letzten Treffen dort abgelehnt,
weil zu teuer.

Liara, Zwergenzauberine, wartet auf Meinungen ...

-----------------------------------------------------------------------------



Folgestati nach aachen (Golas, 23. Mar 2000, 00:27:31):
was haltet ihr davon eine stati in muenster am samstag zu machen ...
ariana hat sich angeboten, bei genuegendem interesse was zu organisieren

evtl wollen ja auch ein paar aachener mit nach muenster kommen ...

golas um diskussion bittend.

-----------------------------------------------------------------------------



Re: Folgestati nach aachen (Brandir, 23. Mar 2000, 00:29:31):
~#! rn=Golas rt=953767651 rg=treffen
~#! tid=953767651
Also ich habe Interesse :)

Brandir

-----------------------------------------------------------------------------



Re: Re: Folgestati nach aachen (Ariana, 23. Mar 2000, 00:59:20):
~#! rn=Brandir rt=953767771 rg=treffen
~#! tid=953767651
ja, genau:)
das fegefeuer weurede sich da ja nochmal anbieten:)
schlafen is kein problem, wir koennen nur nicht wie die aachener meistens
betten anbieten, ihr muesstet schlafsack und isomatte (wichtig, weil ueberall
fliesen, gell menace *G*) mitbringen
also, ich fang mal ne vorlaeufige liste an, wenns bis zum 30. genug leute
sind, reservier ich nen tisch:)
brandir (1)
jameson (2)
ariana (3)
narena (4)

-----------------------------------------------------------------------------



Re^3: Folgestati nach aachen (Mupfel, 23. Mar 2000, 01:04:20):
~#! rn=Ariana rt=953769560 rg=treffen
~#! tid=953767651
samstag den 1.4. ? keine chance da bin ich auf ner mega party ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Folgestati nach aachen (Guard, 23. Mar 2000, 08:42:18):
~#! rn=Golas rt=953767651 rg=treffen
~#! tid=953767651
Also da die Berliner sowieso alle mit Schlafsack und Matte und Auto ganz weit
weg von der Heimat sind, ist es uns egal wo und wie wir da feiern :-) Und da
wir alle oder garnicht kommen, meld ich mal frecherweise ca. 8 Leute da an!

Guard *die Idee klasse findend und sich freuend*

-----------------------------------------------------------------------------



Re: Re: Folgestati nach aachen (Trauma, 23. Mar 2000, 10:28:25):
~#! rn=Guard rt=953797338 rg=treffen
~#! tid=953767651
hm ihr wollte echt nur fuer nen Stammtisch so weit fahren und Samstag gleich
wieder weg ? Nach Muenster, obwohl die Leute teilweise eh schon in Aachen sind
?

Ich finde die Idee etwas merkwuerdig, aber lasst es uns bitte rechtzeitig
wissen, den Samstag muss man ja auch so ein wenig planen.


-----------------------------------------------------------------------------



Re^3: Folgestati nach aachen (Guard, 23. Mar 2000, 10:31:15):
~#! rn=Trauma rt=953803705 rg=treffen
~#! tid=953767651
ich dachte, das die leute dann alle einfach nach muenster weitergondeln - auch
die aachener ... aber ich warte sowieso erst das ok von allen berlinern ab,
deshalb is die zusage hier nur vorausschauend .... nicht bindend

Guard

-----------------------------------------------------------------------------



Re^4: Folgestati nach aachen (Golas, 23. Mar 2000, 10:46:04):
~#! rn=Guard rt=953803875 rg=treffen
~#! tid=953767651
ich kann das wohl gut mit missverstaendlichen artikeln.
mein letzter war keine meinungsaeusserung meinerseits, sondern nur
information.

ich selber bin auch dagegen so viel umherzufahren. einen ruhigen samstag faend
ich auch schoener

golas nichts gegen muenster habend ;)

-----------------------------------------------------------------------------



Re: Folgestati nach aachen (Guard, 23. Mar 2000, 10:51:56):
~#! rn=Golas rt=953767651 rg=treffen
~#! tid=953767651
Sooooooo

Toll, wenn die wichtigen Leute alle so schnell erreichbar sind :-)
Es wurde abgestimmt und ich muss mir mal auf mein vorschnelles Maul haun ...
Die Umstaende und die Wuensche der Mehrzahl spricht gegen Muenster mit
Berlinern. Ausserdem haben die Aachener Gastgeber gute Argumente fuer einen
Samstag in ihrer Stadt :-))
Sorry fuer die Verwirrung!

Guard *haelt jetzt mal die Klappe*

-----------------------------------------------------------------------------



Re: Re: Folgestati nach aachen (Brandir, 23. Mar 2000, 11:28:07):
~#! rn=Guard rt=953805116 rg=treffen
~#! tid=953767651
Naja, ich kann das schon verstehen, dass ihr jetzt fuer Aachen geplant habt.
Und wir wollten auch den Aachenern nich die Gaeste abwerben, so war das nicht
gemeint :) Es war nur reine Hoffnung, da  sowohl Ariana als auch ich keine
Chance auf den Stati in Aachen haben. 
Wenn ihr nochmal so eine Reise plant, denkt doch bitte an eine Zwischenstation
bei uns :-)

Brandir

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 23. Mar 2000, 19:34:49):
In 30 Minuten beginnt der Karlsruher Mud-Stammtisch (wie uebrigens jeden
Donnerstag um die selbe Zeit im Kleinen Meierhof in der Zaehringer Strasse).
Also kommt zahlreich.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Olli, 23. Mar 2000, 21:26:05):
~#! rn=Boing rt=953836489 rg=treffen
~#! tid=953836489
Immerhin, die Ankuendigung ist schon VOR dem Stammtisch, trotzdem.... ;))

Olli - haett das nichtmal geschafft, wenns hier gewesen waere...

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Boing, 24. Mar 2000, 09:06:09):
~#! rn=Olli rt=953843165 rg=treffen
~#! tid=953836489
Lies den Artikel noch mal und Du lernst, dass auch Du es problemlos
schaffen kannst ... :)
  Boing

-----------------------------------------------------------------------------



Re^6: Stati Bonn (Liara, 24. Mar 2000, 13:03:31):
~#! rn=Liara rt=953757049 rg=treffen
~#! tid=953505571
                ***** BONNER STAMMTISCH *****

           ***** MONTAG, 27. Maerz 2000 *****

***** in der HARMONIE, Frongasse 30, in Bonn-ENDENICH *****

  ***** Reservierung ab 20 UHR unter 'Morgengrauen` *****

Danke fuer alle Vorschlaege. Diese Kneipe scheint uns gut geeignet zu sein, 
da sie direkt bei der Schlafgelegenheit ist, sich ein grosser Parkplatz
in der Naehe befindet und gutes Essen zu humanen Preisen geboten wird.

Die Harmonie ist nur wenige Meter vom Fiddlers entfernt.
Wegbeschreibung folgt im naechsten Artikel.

Liara, Zwergenzauberine, quaelt sich durch Stadt- und Busfahrplaene ...

-----------------------------------------------------------------------------



Re^7: Stati Bonn (Liara, 24. Mar 2000, 13:55:09):
~#! rn=Liara rt=953899411 rg=treffen
~#! tid=953505571
Wegbeschreibung fuer BUSfahrer vom HAUPTBAHNHOF:

Linien 623 (Richtung Lessenich), 635 (Richtung Malteser Krankenhaus) 
oder 638 (Richtung Brueser Berg) bis MAGDALENENPLATZ fahren.

Die HARMONIE befindet sich auf der Strassenseite der Haltestelle, 
wenn man die Busstrecke wenige Meter zurueck geht.


Wegbeschreibung fuer AUTOfahrer: *aechz*

Autobahn 565, Abfahrt ENDENICH, dann Richtung Duisdorf/Endenich fahren.
(Aus Norden bedeutet es rechts abbiegen, von Sueden muss man 
sich links halten und fast ueber den ganzen Kreisel fahren.)

Dann landet ihr aufm HERMANN-WANDERSLEB-RING (linke Spur einordnen) 
und biegt gleich an der naechsten Ampel links nach Endenich in die 
FRONGASSE ein. Ihr fahrt bis zum MAGDALENENPLATZ (SPARKASSE), 
wo sich auch der Parkplatz befindet.
Dabei seid ihr dann schon an der HARMONIE vorbeigefahren 
(rechte Strassenseite).


Wegbeschreibung fuer Bonner: *grins*

Man fahre nach Endenich zur Sparkasse, parke da und schleife alles Auswaertige
in die Kneipe. ;-)
Die Harmonie liegt so zwischen Fiddlers und Sparkasse.

Liara, Zwergenzauberine, hat alles gegeben ;-) *roechel*

-----------------------------------------------------------------------------



Re^8: Stati Bonn (Pra, 24. Mar 2000, 14:39:53):
~#! rn=Liara rt=953902509 rg=treffen
~#! tid=953505571
Korrektur zur Wegbeschreibung mit AUTO (aechz)

Wenn man die A565 von Sueden kommt, hat man verloren. Da gibts keine Ausfahrt
Endenich. Man nehme Ausfahrt Tannenbusch, wende, und fahre wieder in
Richtung Koblenz. Naechste Ausfahrt ist dann Endenich.

Pra.

-----------------------------------------------------------------------------



Re^9: Stati Bonn (Liara, 24. Mar 2000, 14:53:47):
~#! rn=Pra rt=953905193 rg=treffen
~#! tid=953505571
*seufz* 
... hab mir Muehe gegeben, aber fahre zum Glueck nur wenig Auto hier ... ;-)

Weitere Fragen zur Autoanreise bitte an Spellfire, ich habe wirklich keinen
Plan und auf der Karte war ne Ausfahrt drauf ...

Liara, Zwergenzauberine, freut sich schon auf Montag

-----------------------------------------------------------------------------



Stati Halle (Cassandra, 24. Mar 2000, 15:21:56):
Ist zwar noch etwas frueh, aber:

Am Freitag 14.4.00 ist es mal wieder so weit
Stammtisch in Halle
Uhrzeit wie gehabt 19.00
Kneipe wie immer Spaetschicht

Ich hoffe das moeglichst viele kommen. Wer eine Wegbeschreibung oder nen Platz
zum Uebernachten braucht schreibt mir einfach ne Mail.

Cassandra, neues Einfrauorgateam Halle, hofft auf rege teilnahme.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Olli, 24. Mar 2000, 20:09:54):
~#! rn=Boing rt=953885169 rg=treffen
~#! tid=953836489
Jajajaja, ich weiss, der is regelmaessig. Aber deine Art, den anzukuendigen,
find ich einfach gut ;) (wobei, frueher haette man nicht Ankuendigung,
sondern eher Nachbereitung sagen muessen *g*)

Olli

-----------------------------------------------------------------------------



Re: DA is back! (Calimerion, 25. Mar 2000, 14:41:50):
~#! rn=Ark rt=952985938 rg=treffen
~#! tid=952985938
Hallo Muddies,

leider werde ich den Termin nicht wahrnemen koennen da mir ein
anderer Termin dazwischengekommen ist (Bereitschaftsdienst beim DRK).

Schade ist das, aber kann man nichts machen.

Calimerion - Robert

-----------------------------------------------------------------------------



Stati Aachen (Fizban, 27. Mar 2000, 09:36:08):
Hi Leute 
Zwecks besserer Planug des Essens am Samstag waere es hervorragend wenn sich
diejenigen melden wuerden (ich braeuchte eine Anzahl), die kein Chillie
moegen. das zweite Gericht das es geben wird, wird ein vegetarisches sein.
Gruss FIzban

-----------------------------------------------------------------------------



Re: Re: Berliner in Aachen (Grimman, 27. Mar 2000, 18:47:53):
~#! rn=Guard rt=953624490 rg=treffen
~#! tid=953586870
Alsooo Guard ... das mit dem pennen haetteste meine Sorge sein lassen koennen
:) das Problem ist, das ich fuer Aachen aus organisatorischen Gruenden leider
doch wieder ausfalle

Fazit -1 :(

GrimMan ... sieht sein angetrautes Eheweib wohl erst wieder ... hmmm ... naja
sonstwann halt :(

-----------------------------------------------------------------------------



Muenchen! :o) Jawohl... (Reaper, 28. Mar 2000, 15:50:19):

 So, liebe  Muenchener! Es ist wiedermal so weit, die
 Rufe nach nem StaTi werden immer lauter, und deshalb
 moechte ich  jetzt einfach  mal wieder  grinsend ein

                      Wer/Wo/Wann?

 in den Raum werfen.

 Da  sich  einige Leute erfahrungsgemaess immer schon 
 ein paar Wochen im voraus darauf  einstellen wollen,
 schlage ich jetzt einfach mal den

                   Freitag, 14. April

 vor. Wer  kommen moechte  meldet sich am besten kurz
 bei mir, der  Terim is noch  flexibel, ich werd also
 versuchen  einen  zu finden, der  moeglichst  vielen
 passt. Wer  Vorschlaege  hat, WO das  ganze  diesmal
 stattfinden  koennte, maile  mir bitte  ebenfalls ;)
 Ich  werde dann wie gehabt  alle Infos nochmal unter

 http://www.dmsp.com/service/mg

 incl. Stadtkarte und Personenliste ins Netz stellen.

 Wer aus der Naehe  HDH/U  kommt und gerne dabei sein
 moechte wende sich bitte an Slyfox, der wuerde gerne
 auch noch jemanden mitnehmen :o))

 Ok, dann  hoffe ich mal  wieder auf nen gutbesuchten
 StaTi...

  
 Reaper

-----------------------------------------------------------------------------



Re: Muenchen! :o) Jawohl... (Calimera, 28. Mar 2000, 16:11:36):
~#! rn=Reaper rt=954251419 rg=treffen
~#! tid=954251419
kann da nicht... :-)
hab da besseres vor

Cali

-----------------------------------------------------------------------------



Re: Muenchen! :o) Jawohl... (Hight, 28. Mar 2000, 18:10:47):
~#! rn=Reaper rt=954251419 rg=treffen
~#! tid=954251419
werde woh kommen wenn mir net einer n bein bricht oder so
 
hight

-----------------------------------------------------------------------------



StaTi MS faellt heute aus (Jameson, 28. Mar 2000, 18:36:13):
Huhu,

mangels Beteiligung findet heute kein Stammtisch im Cuba statt.

jAmeson

-----------------------------------------------------------------------------



Re: StaTi MS faellt heute aus (Foobar, 28. Mar 2000, 21:45:35):
~#! rn=Jameson rt=954261373 rg=treffen
~#! tid=954261373
Na super,

kein Wunder dass ich da allein sass :o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 29. Mar 2000, 08:55:15):
Auch am 12. Oktober findet (wie uebrigens jeden Donnerstag) der
Mud-Stammtisch in Karlsruhe statt. Ort ist wie immer der Kleine
Meierhof in de Zaehringer Strasse. Beginn 20 Uhr.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Nonne, 29. Mar 2000, 08:57:52):
~#! rn=Boing rt=954312915 rg=treffen
~#! tid=954312915
Wow, ihr plant eure Stammtische ja weit im vorraus. Naja, dann hat man
wenigstens Planungssicherheit ;-)

Nonne, weiss noch nicht, was er im Oktober macht.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Padreic, 29. Mar 2000, 10:31:32):
~#! rn=Nonne rt=954313072 rg=treffen
~#! tid=954312915
Na klar, das erste was Boing im neuen Jahr macht, ist in seinem neuen
Terminkalender 52 mal Mudstammtisch einzutragen immer incl. Uhrzeit und
Ortsangabe... :)

Pad*

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Anatol, 29. Mar 2000, 11:19:20):
~#! rn=Boing rt=954312915 rg=treffen
~#! tid=954312915
Wuerdest Du bitte das Jahr dazuschreiben? Bei Dir weiss man nie, ob
man schon vor 5 Jahren haette in den Zug steigen muessen oder ob man 
noch 6 Jahre bis zum genannten Termin Zeit hat...

Anatol ;)



-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Boing, 29. Mar 2000, 12:35:25):
~#! rn=Padreic rt=954318692 rg=treffen
~#! tid=954312915
Wozu gibt's Serientermine ...
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Hight, 29. Mar 2000, 14:54:16):
~#! rn=Boing rt=954312915 rg=treffen
~#! tid=954312915
oehm boing nach welchem kalender gehste denn ? oder meinste fruehzeitige
ankuendigung hilft mehr ,o)

hight auf n kalnderguckend

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Hobo, 29. Mar 2000, 14:58:46):
~#! rn=Boing rt=954312915 rg=treffen
~#! tid=954312915
Die Aussage "wie jeden Donnerstag" ist nicht ganz zutreffend.
Man muss da beachten, dass unser Chef (aeh, der Wirt des Kleinen Meierhof)
tatsaechlich auch mal Urlaub macht.
Naja, und zwei oder drei Mal sind wir ja auch im Elsass beim
Flammkuchen-Essen. Allerdings findet das doch manchmal am Samstag zusaetzlich
zum Donnerstags-Stammtisch statt.
Also korrekter waere wohl eher ein "(wie uebrigens fast jeden Donnerstag)"
gewesen. Oder ein "wie an (51-n) weiteren Donnerstagen im Jahr, wobei 2<=n<10
ist".
Oder so aehnlich....

   Hobo -suelzend

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Deepblue, 29. Mar 2000, 15:02:00):
~#! rn=Hobo rt=954334726 rg=treffen
~#! tid=954312915
Was, bei Euch gibts Flammkugelessen? Und ich schmeiss die Dinger auf Monster

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Hobo, 29. Mar 2000, 15:06:34):
~#! rn=Hobo rt=954334726 rg=treffen
~#! tid=954312915
kuchen != kugeln

  Hobo

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Muadib, 29. Mar 2000, 15:46:19):
~#! rn=Hobo rt=954335194 rg=treffen
~#! tid=954312915
wie die kerzen waren nicht zum essen gedacht ? ups

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Olli, 29. Mar 2000, 17:55:11):
~#! rn=Boing rt=954312915 rg=treffen
~#! tid=954312915
Na, so ist ja fast perfekt ;)

Olli

-----------------------------------------------------------------------------



Stati Bonn? (Liara,  2. Apr 2000, 00:57:07):
Hm, also da ein gewisser Noel ab naechsten Samstag inner Naehe weilt, schlage
ich mal einen weiteren spontanen Bonner Stammtisch vor. ;-)

Termin waere: SAMSTAG, 8. April 2000

Von einigen Leuten wurde bereits Interesse bekundet. Bidde bis Montag ne Mail
an mich schreiben, wenn ein Treffen gewuenscht wird. Ansonsten werde ich da so
ne Art privaten Pizzastati draus machen. *grins*

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: Stati Bonn? (Liara,  2. Apr 2000, 01:56:56):
~#! rn=Liara rt=954629827 rg=treffen
~#! tid=954629827
Habe noch was vergessen:

Termin ist extra am Samstag, damit nicht wieder alle schreien. *grins*
Sollte das Problem nur im Datum bestehen, bidde ne Mail schreiben, ob Sonntag
oder Montag evtl. besser waeren. ;-)

Liara, Zwergenzauberine, ist fuer Samstag.

-----------------------------------------------------------------------------



MS-StaTi Die 4.4.00 (Brandir,  2. Apr 2000, 11:20:15):
Am Dienstag findet der Muensteraner Stati wieder (wie jeden ersten Dienstag im
Monat) im Alabama statt.
Ich bitte um rege Beteiligung und moechte hiermit nochmal darauf hinweisen,
das auch die diversen Muensteraner Jung-Mudder, Osnabruecker und Dortmunder
(es wird mal wieder Zeit) sowie natuerlich alle anderen Gaeste herzlich
willkommen sind.

Sollte jemand interessiert sein, aber nicht wissen, wo das Alabama ist, kann
er sich gerne per Mail bei mir melden, oder im Notfall unter 0177/5284174
anrufen.

Brandir hofft auf einen grossen Stammtisch

p.s.: Ich hab die Muensteraner Gelegenheitsmudder vergessen :) auch Yaren,
Jof, Larissa und Co. sind natuerlich eingeladen.

-----------------------------------------------------------------------------



Re: Stati Bonn? (Mupfel,  2. Apr 2000, 20:19:04):
~#! rn=Liara rt=954629827 rg=treffen
~#! tid=954629827
SAMSTAG, das ist doch mal'n wort... 

-mupfel- (schaumama...)

-----------------------------------------------------------------------------



Re: Re: Stati Bonn? (Liara,  3. Apr 2000, 00:20:14):
~#! rn=Liara rt=954633416 rg=treffen
~#! tid=954629827
Da es offenbar relativ schwierig ist, sich auf den Samstag oder den Montag zu
einigen, weiss ich nicht, inwieweit ein Treffen noch gewuenscht wird.

Liara, Zwergenzauberine, ist ratlos

-----------------------------------------------------------------------------



Re^3: Stati Bonn? (Mupfel,  3. Apr 2000, 00:42:41):
~#! rn=Liara rt=954714014 rg=treffen
~#! tid=954629827
wird gewuensch. zumindest von mir, wenns denn samstag ist... 

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stati Bonn? (Liara,  3. Apr 2000, 11:51:46):
~#! rn=Mupfel rt=954715361 rg=treffen
~#! tid=954629827
Termin ist Samstag, 8. April 2000.
Organisation wird auf die private Ebene verschoben, weil ich das sonst mit Uni
und Arbeit nicht geregelt kriege. ;-)

Liara, Zwergenzauberine, spontan

-----------------------------------------------------------------------------



Re: MS-StaTi Die 4.4.00 (Brandir,  3. Apr 2000, 12:42:06):
~#! rn=Brandir rt=954667215 rg=treffen
~#! tid=954667215
Ooops !

#subst Yaren Yendi

Sorry, Brandir

-----------------------------------------------------------------------------



Leipziger Satmmtisch (Unasai,  3. Apr 2000, 17:00:08):
so, fuer alle Freunde des Leipziger Stammtischs ist es mal wieder soweit.
Am Samstag, dem 8.4.2000, 20.00 Uhr in der "tenne" mit Katze und Schlachtebaum
*grins Golas und Cakey*
Wahlweise diesmal schon am Freitag, weil ich gedenke meinen Geburstag an
diesem Wochenende mit euch zu feiern. Ich erwarte also zahlreiches erscheinen.
Bei schoenes Wetter wird natuerlich gegrillt :)
Wie immer Mail an mich wegen Schlafplaetzen, aber bis jetzt hat ja noch keiner
auf der Strasse schlafen muessen. Also mailt ob Freitag oder Samstag :) oder
beides...

Una*

-----------------------------------------------------------------------------



Re: Leipziger Satmmtisch (Matis,  3. Apr 2000, 23:18:29):
~#! rn=Unasai rt=954774008 rg=treffen
~#! tid=954774008
Tach,

ich bin gegen Freitag und fuer Samstag.
Grund: Ich werd erst am Samstag von einem Ostsee-Kurzurlaub
wiederkommen, und da der April-Stammtisch wohl mein vorlaeufig
letzter Leipziger Stati sein duerfte, wuerde ich doch gerne
dran teilnehmen. Geburtstag koennen wir doch trotzdem feiern :o).

Matis

-----------------------------------------------------------------------------



Re: Re: Leipziger Satmmtisch (Golas,  4. Apr 2000, 09:49:07):
~#! rn=Matis rt=954796709 rg=treffen
~#! tid=954774008
das war auch nur so gemeint, dass schon am freitag eingefallen werden darf.
samstag sind wir in der tenne ...

golas hoffentlich nix falsch verstehend ;)

-----------------------------------------------------------------------------



Re^3: Leipziger Satmmtisch (Guard,  4. Apr 2000, 09:53:11):
~#! rn=Golas rt=954834547 rg=treffen
~#! tid=954774008
Tja, am Freitag is aber auch Berliner Stati! ... (das is ne offizielle
Ankuendigung! :-)
Deshalb weiss ich nich, ob die Berliner gedenken, da schon am Freitag in
Leipzig zu sein ...

Berliner Stati is uebrigens jeden 1. Freitag im Monat! 20.00 Uhr im Seeblick
(siehe MG-Seite!)

Guard

-----------------------------------------------------------------------------



Re^4: Leipziger Satmmtisch (Stopdenbus,  4. Apr 2000, 11:45:44):
~#! rn=Guard rt=954834791 rg=treffen
~#! tid=954774008
diesmal bin ich dann auch mal wieder da. Muss ja net sein, das mich die
Berliner auf MG-Partys ausschimpfen, warum ich net mehr komm :)

Stoppi

-----------------------------------------------------------------------------



Pseudostammtisch in Hamburg (Krellja,  6. Apr 2000, 14:41:28):
Lolli und ich werden am kommenden
  Donnerstad, dem 13.4.2000
        ab 20:00 Uhr
         im Geo 53
      Beim Schlump 53
sitzen.

Ueber Gesellschaft freuen wir uns natuerlich sehr.

Krellja

-----------------------------------------------------------------------------



Re: Pseudostammtisch in Hamburg (Krellja,  6. Apr 2000, 14:42:34):
~#! rn=Krellja rt=955024888 rg=treffen
~#! tid=955024888
Wobei Donnerstad natuerlich Donnerstag ist.
Krellja

-----------------------------------------------------------------------------



Wann ist Stati Bielefeld? (Bernard,  6. Apr 2000, 18:04:03):
Gibts hier noch Magier in Bielefeld?

-----------------------------------------------------------------------------



Re: Wann ist Stati Bielefeld? (Hight,  6. Apr 2000, 21:30:06):
~#! rn=Bernard rt=955037043 rg=treffen
~#! tid=955037043
Bielefeld gibts net

-> schmarn .o)))

-----------------------------------------------------------------------------



Re: Re: Wann ist Stati Bielefeld? (Bielefeld,  6. Apr 2000, 21:45:04):
~#! rn=Hight rt=955049406 rg=treffen
~#! tid=955037043
Natuerlich gibts mich noch. Ich ziehe aber den Hamburger Stammtisch
aus geographischen Gruenden vor ;-)

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Wann ist Stati Bielefeld? (Lug,  7. Apr 2000, 03:57:18):
~#! rn=Bielefeld rt=955050304 rg=treffen
~#! tid=955037043

Du steigst eh ab...
Lug

-----------------------------------------------------------------------------



Re: Muenchen! :o) Jawohl... (Catweazle,  7. Apr 2000, 15:42:28):
~#! rn=Reaper rt=954251419 rg=treffen
~#! tid=954251419
Hm, Freitag ist doof.
Wollt ihr den nicht Samstag machen ,da waere ich da :-)

YTC

-----------------------------------------------------------------------------



Ministati Bonn (Liara,  7. Apr 2000, 23:42:12):
Einige Muddies incl. Noel werden am Samstag, den 8. April 2000 ab 19:30 Uhr im
Quiet Man (Naehe Hauptbahnhof Bonn) sein.

Eventuell suchen wir uns im Laufe des Abends noch ne andere Kneipe ... falls
DU also auch Noels Wiener Geschichten hoeren moechtest, solltest Du um halb 8
am Quiet Man sein. (Und mir vielleicht ne kurze Mail schicken, dass Du
kommst.)

Liara, Zwergenzauberine, uebermuedet und vielleicht spontan

-----------------------------------------------------------------------------



Re: Re: Muenchen! :o) Jawohl... (Wurzel,  8. Apr 2000, 17:50:33):
~#! rn=Catweazle rt=955114948 rg=treffen
~#! tid=954251419
gibt es jetzt eigentlich schon einen ort?
samstag faende ich persoenlich nicht so toll, weil ich da nicht koennte...
kannst du nicht eher kommen? :)

wurzel

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Apr 2000, 22:39:19):


Ausnahmsweise diesen Monat an einem Samstag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Samstag, den 15.2. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Schleichers und Jenandras Stammtisch-Seite koennt Ihr Euch
anmelden, ne Karte gibbet da auch:
http://www.above-multimedia.de/stati.html


-----------------------------------------------------------------------------



Stati Clausthal 13.5-14.5 (Bierchen, 10. Apr 2000, 00:05:13):
Hiho,

Zur Erinnerung:

am 13.5 bis zum 14.5 gibt es mal wieder einen
Stati in Clausthal. Falls sich noch genuegend
Interessenten finden, haengen wir auch gerne noch einen
Tag dran und fangen schon am 12.5 an :)
Falls Ihr kommen wollt und es vermeiden
moechtet, ein paar Tage unter einer Bruecke schlafen
zu muessen, dann solltet Ihr eine Mail schreiben, und
zwar an:

       lillebror@crosswinds.net

oder an mich, wenns denn sein muss :)

Gruss,

    - Bierchen -

-----------------------------------------------------------------------------



Stati-Halle (Cassandra, 10. Apr 2000, 08:44:57):
Da der Termin nun naeher rueckt,
am Freitag 14.4.00
19:00
Ist wie jeden zweiten Freitag Stammtisch in Halle
Kneipe ist wie immer die Spaetschicht.

Also wer zeit hat und kommen moechte ist herzlich willkommen.
Wer eine Wegbeschreibung oder nen Schlafplatz braucht, meldet sich einfach bei
mir

Cassandra, neues Einfrauorgateam Halle

-----------------------------------------------------------------------------



Re^3: Muenchen! :o) Jawohl... (Catweazle, 10. Apr 2000, 08:57:41):
~#! rn=Wurzel rt=955209033 rg=treffen
~#! tid=954251419
Neee, dann muesste ich Freitags anfahren und mir dafuer 
freinehmen, so rucks flugs ist man dann doch nicht in M :-)
Ist Samstags denn sonst was los? Kann ja nicht angehen, dass ich 
durch Muenchen fahren muss und mich da dann langweile :)

YTC

-----------------------------------------------------------------------------



Re: Stammtisch in D'dorf (Critter, 10. Apr 2000, 15:19:25):
~#! rn=Kartoffel rt=955312759 rg=treffen
~#! tid=955312759
Bisschen spaet die Ankuendigung fuer den 15.2...
und ab nach schmarrn
c.

-----------------------------------------------------------------------------



MS-Stati (Kamuhl, 11. Apr 2000, 15:27:58):

Moins

Is mal wieder sehr kurzfristig aber da einige von uns am Dienstag keine Zeit
mehr haben wurde der Muensteraner Stammtisch verlegt und zwar auf den
Mittwoch.

Der Ort is noch zu bestimmen, und zwar durch Reservierung was soviel ich weis
von Brandir getan wird. Er bestellt in der Frauenstrasse 24. Wenn er sich
nicht meldet oder andersartige Nachrichten kommen wird der Stammtisch laut
Rochus im Cuba stattfinden. Allerdings is da Mittwochs auch immer der Sati der
MS-Schwulen-Scene so viel ich weiss. *kein outing* Koennte allso voll
werden... Naja mal sehn was Brandir sagt.

Alle Unklarheiten beseitigt? Nein, naja is auch egal.

Also bis morgen irgendwo...

i. A. Kamuhl

-----------------------------------------------------------------------------



Re: MS-Stati (Brandir, 12. Apr 2000, 12:29:18):
~#! rn=Kamuhl rt=955459678 rg=treffen
~#! tid=955459678
Also der Artikel hat mich jetzt doch etwas verwirrt...
Wenn das jetzt an mir haengt, treffe ich mal die Entscheidung und sage
Frauenstrasse 24 !!!
Ich reservier dor einen Tisch fuer 20:00
(Das hatte ich zwar auch so vor, aber ich sags nochmal)
Wenn wir naemlich in Cuba wollten, muessten wir da ja nun definitiv
vorbestellen und wenn dort ein Szene-Treffen ist wird das wohl eng.

Also nochmal und definitiv:

StaTi Muenster am MITTWOCH dem 12.4.00 (heute) um 20:00 in der Frauenstrasse
24 !

Brandir - hofft, dass nun alles etwas klarer geworden ist und das wir uns mal
wieder auf eine Kneipe festlegen :-)

-----------------------------------------------------------------------------



Re: Muenchen! :o) Jawohl... (Reaper, 12. Apr 2000, 21:38:39):
~#! rn=Reaper rt=954251419 rg=treffen
~#! tid=954251419

 Ok, hier nun die Infos zum StaTi!

 Treffen werden wir  uns dieses mal im Biergarten
 'Weyprechthof' im Norden Muenchens, wieder gegen
 19:00 Uhr.
 Falls  uns das Wetter  einen  Strich  durch  die
 Rechnung  machen sollte, ist nicht sehr weit weg
 davon das 'Wirtshaus am Hart'.

 Es sieht so aus, als ob es dieses mal wieder ein
 richtiger Stammtisch mit vielen Leuten wird, auf
 jeden Fall  haben ne Menge  Leute 'zugesagt' :o)

 Ich habe ein paar Infos, die Wegbeschreibung und
 ne Karte wie gehabt unter
 http://www.dmsp.com/service/mg
 ins Netz gestellt.

 Zum  Biergarten  selbst kann man noch was  unter
 http://www.biergarten.com/fuehrer/h0036.htm
 finden.

 Ich hoffe auf sehr zahlreiches erscheinen und
 freu mich schon auf den StaTi! :o)

 ->reaper()

-----------------------------------------------------------------------------



Re: Re: MS-Stati (Jameson, 13. Apr 2000, 02:13:20):
~#! rn=Brandir rt=955535358 rg=treffen
~#! tid=955459678
Nun dem Szene-Treffen aus dem Weg zu gehen war ok :)
Wo aber, verehrte Mit-Stammtischler, werden wir nun ab sofort mittwoch-
abends weilen? Kam irgendwie heut nicht so raus.
Vorschlaege: 1. Fegefeuer!!! 2. wenn ihr nicht wollt dann eben die Hoelle,
also Hora est *g* naaa doch lieber Mittelalter? :)

jAmeson

-----------------------------------------------------------------------------



Stati Halle (Cassandra, 13. Apr 2000, 16:15:38):
Mangels Interresse wird der stammtisch in halle hiermit abgesagt, es sei den
bis morgen frueh melden sich noch leute, die kommen wollen.
Cassandra

-----------------------------------------------------------------------------



Re: Stammtisch in D'dorf (Kartoffel, 13. Apr 2000, 23:07:04):
~#! rn=Kartoffel rt=955312759 rg=treffen
~#! tid=955312759
ARGL

 Gemeint war natuerlich der 15. APRIL !!


'Toffel - zu doof zum zaehlen

-----------------------------------------------------------------------------



stati in MS am 21.4. (Ariana, 15. Apr 2000, 17:40:55):
also, da noch keiner ne kneipe vorgeschalgen hat, setze ich mal ganz frech das
fegefeuer fest zu ehren des special guest: 
narena will sich mal wieder blicken lassen (und diesmal treff ich sie schon an
der uni und schleif sie mit gewalt mit *G*)
am montag abend reservier ich fuer 8 leute wenn bis dahin keine protest kam.
bis bald
ariana

-----------------------------------------------------------------------------



Re: stati in MS am 21.4. (Aline, 17. Apr 2000, 14:44:37):
~#! rn=Ariana rt=955813255 rg=treffen
~#! tid=955813255

Hi Ariana,

Dir ist bewusst, dass der 21. 4. Karfreitag ist?
Soweit ich weiss, ist das ein ziemlich hoher kirchlicher Feiertag.
Bist Du Dir sicher, dass die Kneipe geoeffnet hat?
(Naja, wenn sie Fegefeuer heisst, sollte sie eigentlich. Allerdings
hatte ich Muenster auch schon fuer eine sehr katholische Stadt
gehalten.....)

Gruesse

Aline

-----------------------------------------------------------------------------



Bonn ... (Liara, 17. Apr 2000, 14:47:14):
Mal abgesehen vom naechsten Stati im Mai ... einige Leutchens haben mich wegen
Rhein in Flammen gefragt.

Besteht Interesse, da am 6. Mai gemeinsam hinzugehen?

Liara, Zwergenzauberine, bittet um Mails ...
P. S. : Das gute Deutsch dann im naechsten Artikel. ;-)

-----------------------------------------------------------------------------



Re: stati in MS am 21.4. (Wargon, 17. Apr 2000, 17:51:36):
~#! rn=Ariana rt=955813255 rg=treffen
~#! tid=955813255
Steht schon fest, wo der Stammtisch am 26.4. stattfindet?
Gggf. lass ich mich dann auch mal wieder blicken.
  Wargon

-----------------------------------------------------------------------------



Stati in DD (Sniper, 18. Apr 2000, 00:25:36):
Hallo Leute, 
es ist mal wieder soweit, Stammtisch in Dresden!!! Geplant haben wir dieses
Happening fuer Mittwoch, also sozusagen uebermorgen abend um 20:00 im CD. Ist
also alles, wie immer, nur dass es diesmal ein Mittwoch ist ;-)
Ich weiss, das ist ein wenig kurzfristig, aber immer noch viel frueher
angekuendigt, als die meisten Karlsruher Stammtische.
Also dann, man sieht sich.
Sniper, heute mal Mesirii die Organisation abnehmend


-----------------------------------------------------------------------------



Re: Stati in DD (Hood, 18. Apr 2000, 00:47:55):
~#! rn=Sniper rt=956010336 rg=treffen
~#! tid=956010336
und wieso mittwoch? dienstag war doch OK?!

-----------------------------------------------------------------------------



Re: Re: Stati in DD (Sniper, 18. Apr 2000, 00:49:55):
~#! rn=Hood rt=956011675 rg=treffen
~#! tid=956010336
Nun, zum Einen kann ich morgen nicht ;-) und zum Anderen kommt Mango laut
Mesirii am Mittwoch aus Berlin zurueck und was waere schon ein Stati ohne
Mango ;-)

-----------------------------------------------------------------------------



Re^3: Stati in DD (Hood, 18. Apr 2000, 00:53:24):
~#! rn=Sniper rt=956011795 rg=treffen
~#! tid=956010336
na gut, das ist natuerlich nen grund :)
leider kann  ich mittwochs nicht, viel spass dann also.

-----------------------------------------------------------------------------



Re: stati in MS am 21.4. (Jameson, 18. Apr 2000, 02:32:48):
~#! rn=Ariana rt=955813255 rg=treffen
~#! tid=955813255
Es ist natuerlich Mittwoch der 19.4. gemeint :) kleines Versehen von Ariana.
Spricht aber nix gegen das Fegefeuer, oder? Dann sehen wir uns hoffentlich
dort.
Was den 26.4. betrifft (Wargon): wir finden schon was und geben es rechtzeitig
bekannt :)

jAmeson

-----------------------------------------------------------------------------



Re: Re: stati in MS am 21.4. (Foobar, 18. Apr 2000, 09:11:58):
~#! rn=Jameson rt=956017968 rg=treffen
~#! tid=955813255
Tach.

Sprach eigentlich was gegen das Ipanema als staendige StaTi-Location?

Foobar

-----------------------------------------------------------------------------



Re: Stati in DD (Morgonate, 18. Apr 2000, 14:54:26):
~#! rn=Sniper rt=956010336 rg=treffen
~#! tid=956010336
Tja, Mittwochs bin ich nie da. Also ich komme nicht.

M.....

-----------------------------------------------------------------------------



Re^3: stati in MS am 21.4. (Gorog, 18. Apr 2000, 16:26:46):
~#! rn=Foobar rt=956041918 rg=treffen
~#! tid=955813255
Hat nix dagegen... gibts da mittwochs denn auch irgendwelche Aktionen? Chilli
for free oder aehnliches?

-----------------------------------------------------------------------------



Re^4: stati in MS am 21.4. (Foobar, 18. Apr 2000, 16:53:59):
~#! rn=Gorog rt=956068006 rg=treffen
~#! tid=955813255
Chili for free waer doch mal was...

Foobar bezweifelt das aber irgendwie.

-----------------------------------------------------------------------------



Re^5: stati in MS am 21.4. (Gorog, 18. Apr 2000, 16:54:43):
~#! rn=Foobar rt=956069639 rg=treffen
~#! tid=955813255
Na wenn das so is muss ich mir das nochmal ueberlegen...


-----------------------------------------------------------------------------



Stammtisch in MS am 19.4. (Jameson, 19. Apr 2000, 02:21:59):
Der Stammtisch findet diese Woche im Fegefeuer statt, ein Tisch ist
reserviert. Kommt also recht zahlreich :)

j
jAmeson

-----------------------------------------------------------------------------



Stati Bonn (Liara, 19. Apr 2000, 13:37:05):
Vorlaeufiger TERMIN fuer Mai-Stati Bonn ist DONNERSTAG, der 18.05.2000.

Am WE koennen die meisten Bonner leider nicht ... sorry. 
Es haben sich aber trotzdem schon auswaertige Mudder angekuendigt. *freu*

An Rhein in Flammen (6. Mai) sei nochmal erinnert. Bisher ist das Interesse
eher gering. ;-)

Liara, Zwergenzauberine, wartet auf Mails (und Schlaege ;)

-----------------------------------------------------------------------------



Re: Stati Bonn (Zuckerbrot, 19. Apr 2000, 14:44:19):
~#! rn=Liara rt=956144225 rg=treffen
~#! tid=956144225
Rhein in Flammen? Was ist denn das? Gibts dazu eventuell Info im Web?

z.B.

-----------------------------------------------------------------------------



Re: Re: Stati Bonn (Feuerwehr, 19. Apr 2000, 14:47:09):
~#! rn=Zuckerbrot rt=956148259 rg=treffen
~#! tid=956144225

Versuch doch mal http://www.rhein-in-flammen.de :-) Und klicke da auf Bonn.

Gruesse!

     112.

-----------------------------------------------------------------------------



Re^3: Stati Bonn (Zuckerbrot, 19. Apr 2000, 15:12:20):
~#! rn=Feuerwehr rt=956148429 rg=treffen
~#! tid=956144225
Oh, das klingt ja nett... und da treffen sich Spieler von hier?

z.B.

-----------------------------------------------------------------------------



Re^3: stati in MS am 21.4. (Catweazle, 19. Apr 2000, 16:10:22):
~#! rn=Foobar rt=956041918 rg=treffen
~#! tid=955813255
Ja, die Beschallung...
YTC

-----------------------------------------------------------------------------



American Picnic in Berlin (Golas, 20. Apr 2000, 12:09:11):

>               Berlin 46 Outpost Lodge No. 895 A.F. & A.M.
> 
>                              ANNUAL PICNIC
> 
>                                   At
> 
>                             * Rose Range *
> 
>                   Stahnsdorfer Damm - Berlin Wannsee
> 
>                 Saturday 15 July 2000, 12.00- 18.00 Uhr
> 
>                    20,-DM Adult, 10,-DM Children 5-9
> 
>      Price includes ?all you can eat? (drinks for low charge) and
>                               Live-Music
> 
>                   For tickets contact the following:
> 
>                         Martin Winzer 211-7997
> 
>                     (E-Mail: martin@winzernet.com)
> 
>                  NOTE: Bring your own table and chairs
> 
>                 No parking on Range or pets authorized
> 
>                       ALL PROFIT GOES FOR CHARITY


hab ich grad per email erhalten ...

golas schon jetzt mampfend

-----------------------------------------------------------------------------



Re^4: stati in MS am 21.4. (Foobar, 21. Apr 2000, 00:05:34):
~#! rn=Catweazle rt=956153422 rg=treffen
~#! tid=955813255
Wir wollen doch mal hoffen, dass die _das_ nicht so schnell wiederholen,
weil...

siehe naechster Artikel...

Foobar

-----------------------------------------------------------------------------



StaTi Muenster 26.4.00 (Foobar, 21. Apr 2000, 00:08:57):
Tach zusammen.

Am 26.4.00 wird der Muensteraner StaTi mal wieder im "Ipanema" stattfinden.
Anfahrtsbeschreibung gibts auf der MG-Homepage unter dem Punkt Archiv, in der
Rubrik "Treffen" nach "Ipanema" im Inhalt suchen.

Ausserdem darf ich mitteilen, dass nach zaehen Verhandlungen (einstimmig) das
Ipanema auf dem letzten StaTi als neue, dauernde Location (mit den bekannten
Ausnahmen natuerlich ;o)) festgelegt wurde.

Der StaTi MS findet nun auch immer Mittwochs statt. Nicht dass mal einer
Dienstags im Ipanema steht und sich wundert, warum so wenig Mudder da sind...

Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster 26.4.00 (Anatol, 25. Apr 2000, 12:20:15):
~#! rn=Foobar rt=956268537 rg=treffen
~#! tid=956268537
Ihr aendert dem Tag EINFACH SO auf Mittwoch?! Seid ihr JECK?

Anatol, fasst es nicht


-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 26.4.00 (Karis, 25. Apr 2000, 13:35:46):
~#! rn=Anatol rt=956658015 rg=treffen
~#! tid=956268537
Anatol rettet dem Dativ :)
Karis, fasst es nicht.

Ach ja ... ->schmarrn :)

-----------------------------------------------------------------------------



Re^3: StaTi Muenster 26.4.00 (Anatol, 25. Apr 2000, 13:38:39):
~#! rn=Karis rt=956662546 rg=treffen
~#! tid=956268537
Typo, war eine einfach Typo ;)

Anatol, sonst dem Dativ seine Existenz schon rettend ;)

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 26.4.00 (Gast1, 25. Apr 2000, 16:00:01):
~#! rn=Anatol rt=956658015 rg=treffen
~#! tid=956268537
Ja, weil Ariana dienstags nicht kann...

-----------------------------------------------------------------------------



Re^3: StaTi Muenster 26.4.00 (Anatol, 25. Apr 2000, 16:02:53):
~#! rn=Gast1 rt=956671201 rg=treffen
~#! tid=956268537
Und schon wird das Mir-nichts-Dir-nichts auf Mittwoch verlegt. Hab
es inzwischen auch gesagt bekommen. Naja, die Muensteraner sind nicht
mehr das, was sie mal waren... *schulterzuck*

Und UEBERHAUPT! Wer nimmt sich da eigentlich raus, fuer eine Verlegung
legitimiert zu sein?! :)

Anatol (off)


-----------------------------------------------------------------------------



Re^3: StaTi Muenster 26.4.00 (Anatol, 25. Apr 2000, 16:03:56):
~#! rn=Gast1 rt=956671201 rg=treffen
~#! tid=956268537
Nachsatz: Wieso versteckst Du Dich in der Anonymitaet? Traust Du 
Dich nicht, zu Deiner Schwachheit zu stehen?! :)

Anatol :-P


-----------------------------------------------------------------------------



Re^4: StaTi Muenster 26.4.00 (Gast1, 25. Apr 2000, 18:05:45):
~#! rn=Anatol rt=956671436 rg=treffen
~#! tid=956268537
Was hast Du getrunken Anatol? Das will ich auch... ;) Da's der StaTi ohne
Ariana wohl nicht "bringt" (sind ja eh meist weniger als ne handvoll Leute),
stellt man sich halt auf die Begebenheit "Ariana kann Dienstag nicht" ein,
Tradition hin oder her...

Anno Nuehm. *g*

-----------------------------------------------------------------------------



Re^5: StaTi Muenster 26.4.00 (Anatol, 25. Apr 2000, 18:07:49):
~#! rn=Gast1 rt=956678745 rg=treffen
~#! tid=956268537
Wenn der Stammtisch Ariana braucht, damit "er es bringt", kann man
ihn rein theoretisch auch gleich ganz aufloesen...

O tempora! O mores!

Anatol


-----------------------------------------------------------------------------



Re^6: StaTi Muenster 26.4.00 (Boing, 25. Apr 2000, 18:59:06):
~#! rn=Anatol rt=956678869 rg=treffen
~#! tid=956268537
Komm einfach zum Karlsruher Stammtisch, der 'bringt es' auch ohne
Ariana immer und er findet jeden Donnerstag um 20 Uhr im Kleinen
Meierhof in der Zaehringer Strasse statt. Halt in Karlsruhe ... ;)
  Boing

-----------------------------------------------------------------------------



Re^7: StaTi Muenster 26.4.00 (Gast1, 25. Apr 2000, 19:12:20):
~#! rn=Boing rt=956681946 rg=treffen
~#! tid=956268537
...weil das ja auch grad so um die Ecke liegt... 

Vorschlach zur Guete, Anatol: angeblich sollst Mittwoch sehr warm werden. Wie
waers denn so mit ner kleinen Grillerei im Garten (selbe Stelle wie letzesmal)
?

M.

-----------------------------------------------------------------------------



Re^8: StaTi Muenster 26.4.00 (Gorog, 25. Apr 2000, 19:24:00):
~#! rn=Gast1 rt=956682740 rg=treffen
~#! tid=956268537
Hmmmm Grillerei
Gleiche Stelle...
Nett nett...

Bitte in der naehe des Wochenendes

Gorog : schmackofatz

-----------------------------------------------------------------------------



Re: Stati Bonn (Liara, 25. Apr 2000, 19:31:46):
~#! rn=Liara rt=956144225 rg=treffen
~#! tid=956144225
Es sei erinnert an:

          Rhein in Flammen (Samstag, 6. Mai)

          Stammtisch Bonn (Donnerstag, 18. Mai)

Liara, Zwergenzauberine, bittet um Mails

-----------------------------------------------------------------------------



Re: Re: Stati Bonn (Rardian, 26. Apr 2000, 01:06:09):
~#! rn=Liara rt=956683906 rg=treffen
~#! tid=956144225

>          Rhein in Flammen (Samstag, 6. Mai)

aha... haltet ihr da Fackeln an den Rhein, so dass die Oelschicht auf diesem
in Flammen aufgeht? Wow, das wuerd ich gern sehen... aus der Ferne.

Rar, fragt sich, obs bis zur Spree brennen wird.

-----------------------------------------------------------------------------



Re^6: StaTi Muenster 26.4.00 (Beelzebub, 26. Apr 2000, 11:20:08):
~#! rn=Anatol rt=956678869 rg=treffen
~#! tid=956268537
Mahlzeit ]:-)

Mecker nicht, Anatol. Schliesslich kann ICH Mittwochs besser als Dienstags,
und DAS sollte doch ein Grund sein, den Stati zu verlegen, oder ? ]:-)

Also bis heut abend,

das Boese ]:-)

-----------------------------------------------------------------------------



Re^10: StaTi Muenster 26.4.00 (Anatol, 26. Apr 2000, 12:11:10):
~#! rn=Gast2 rt=956733766 rg=treffen
~#! tid=956268537
Ich schlage Samstag vor - rest in privater Mail, wenn Du mir sagst, 
wohin :o)

Anatol


-----------------------------------------------------------------------------



Re^10: StaTi Muenster 26.4.00 (Gorog, 26. Apr 2000, 14:34:43):
~#! rn=Gast2 rt=956733766 rg=treffen
~#! tid=956268537
Bin dann da...
Hoffe ich (;

-----------------------------------------------------------------------------



Re^10: StaTi Muenster 26.4.00 (Gast3, 26. Apr 2000, 14:48:49):
~#! rn=Gast2 rt=956733766 rg=treffen
~#! tid=956268537
Terminaenderung: es wird Samstag sein, nicht Freitag.

M.

-----------------------------------------------------------------------------



Re^11: StaTi Muenster 26.4.00 (Gorog, 26. Apr 2000, 14:52:45):
~#! rn=Gast3 rt=956753329 rg=treffen
~#! tid=956268537
auchgut

Gorog versucht vorbeizuschaun

-----------------------------------------------------------------------------



verlegung auf mittwoch (Ariana, 26. Apr 2000, 23:44:57):
mann, was hier nicht alles fuer threads sorgt ... *wunder*
also, ich fands nett, dass die muensteraner sich spontan zu ner verlegung
entscheiden konnten, weil ich dienstags nacht arbeite.
dank euch nochmal:)
aber warum wir dass mit gaesten und auswaertigen diskutieren muessen...naja,
wers mag:)
ariana

-----------------------------------------------------------------------------



ms-stati am 3.5. (Ariana, 26. Apr 2000, 23:47:12):
ist der jetzt wieder im alabama?
ariana, diesmal bestimmt wieder dabei

-----------------------------------------------------------------------------



Wie Gehabt? (Morgoth, 27. Apr 2000, 07:52:09):
Dafuer !
int cnt;
boolean dip;

cnt=dip?2:1;


M*

-----------------------------------------------------------------------------



Re: Wie Gehabt? (Nonne, 27. Apr 2000, 10:37:19):
~#! rn=Morgoth rt=956814729 rg=treffen
~#! tid=956814729
Dann wuensch ich euch mal viel Spass. Ich bin nicht da, aber ihr duerft ein
Bier fuer mich mittrinken.

Nonne. Ist auf Party in Dunkeldeutschland.

-----------------------------------------------------------------------------



Re: Re: Wie Gehabt? (Rochus, 27. Apr 2000, 13:19:17):
~#! rn=Nonne rt=956824639 rg=treffen
~#! tid=956814729
Fuer mich gilt das gleiche, allerdings wende ich mich mehr an
die Colatrinker :-)

Rochus. Bringt Nonne zu einer Party nach Dunkeldeutschland.

-----------------------------------------------------------------------------



Re^3: Wie Gehabt? (Morgoth, 27. Apr 2000, 13:21:35):
~#! rn=Rochus rt=956834357 rg=treffen
~#! tid=956814729
Hmm, hat Padreic das Lichtsystem dafuer geschrieben, oder wieso
"Dunkeldeutschland" ? ;-)))

M*

-----------------------------------------------------------------------------



Re^4: Wie Gehabt? (Rochus, 27. Apr 2000, 13:23:31):
~#! rn=Morgoth rt=956834495 rg=treffen
~#! tid=956814729
unt daemmerlicht
Nein, hier hat Padreic ausnahmsweise nicht am Lichtlevel rumgewerkelt.
unt insider
Was meinst Du warum ein Insider ein Insider ist? Hm??

  Rochus

-----------------------------------------------------------------------------



Re: Wie Gehabt? (Paracelsus, 27. Apr 2000, 14:41:49):
~#! rn=Morgoth rt=956814729 rg=treffen
~#! tid=956814729
Dagegen. Keine vernuenftige Musik, zu teure Getraenke.

Para*

-----------------------------------------------------------------------------



Re: verlegung auf mittwoch (Anatol, 27. Apr 2000, 14:57:23):
~#! rn=Ariana rt=956785497 rg=treffen
~#! tid=956785497
Schraub' mal Deine Egozentrik (oder den Lokalpatriotismus) wieder
etwas runter, ja? Jemand, dessen Mud-Existenz nicht auch nur
annaehernd weit in der Vergangenheit verwurzelt ist, um die
Bedeutung des MUENSTERANER MUD-STAMMTISCHES zu begreifen und
stattdessen durch andere (mir voooeeellig schleierhafte) Eigen-
schaften tristes Maennervolk dazu bewegt, den Stammtisch umzu-
verlegen, sollte, wenn schon der Horizont nicht fuer echte
Erkenntnis ausreicht, wenigstens Anstand haben und den Naiven 
spielen.

Was DIR eigentlich nicht schwerfallen sollte, oder?

Anatol - der DIESEN Artikel bestimmt nicht unterschreiben muesste ]:^)


-----------------------------------------------------------------------------



Grillen in Osna... (Anatol, 27. Apr 2000, 15:21:02):

Regenwahrscheinlichkeit etwas ueber 30%, wir versuchen es trotzdem:
Grillen am Samstag Abend, "gewohnter Ort". Voranmeldung bei Mupfel
oder mir ist zwingend notwendig.

Anatol


-----------------------------------------------------------------------------



Re: Grillen in Osna... (Gast1, 27. Apr 2000, 15:23:50):
~#! rn=Anatol rt=956841662 rg=treffen
~#! tid=956841662
...wobei "Anmeldung bei Mupfel" bedeutet:

Mail an jhoehne@gmx.net

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Stati Bonn (Liara, 27. Apr 2000, 21:20:49):
~#! rn=Liara rt=956683906 rg=treffen
~#! tid=956144225

Rhein in Flammen am 6. Mai:
Bisher: Parsival, Noel, Jenandra, Bierchen, Mupfel, Cinderella, Padreic, meine
Wenigkeit ...

Vorschlag von Padreic: Mit Kiste Bier bewaffnen und Grillzeugs mitnehmen.
(Buden sind teuer und ueberfuellt ...)
Gips dazu Meinungen? -> mail liara

Liara, Zwergenzauberine, wartet auch noch auf weitere Anmeldungen :-)

-----------------------------------------------------------------------------



Re^3: Wie Gehabt? (Gnome, 28. Apr 2000, 00:08:03):
~#! rn=Rochus rt=956834357 rg=treffen
~#! tid=956814729
entweder wisst ihr nicht, wo berlin liegt oder ihr seit recht mutig, die
hauptstadt deutschlands mit 'dunkeldeutschland' zu verwechseln.
in beiden faellen empfehle ich den kauf einer deutschlandkarte.
aber wir koennen darueber gerne weiter auf der party diskutieren, solltet
ihr durch die gesichtskontrolle kommen... :)

gnOme

-----------------------------------------------------------------------------



Re^4: Wie Gehabt? (Gloin, 28. Apr 2000, 09:21:46):
~#! rn=Gnome rt=956873283 rg=treffen
~#! tid=956814729
Fuer Rochus ist alls oestlich der Elbe Russland. Fuer mich alles noerdlich
dieser. Trotzdem ganz nett hier :>

Gloin

-----------------------------------------------------------------------------



Re^5: Wie Gehabt? (Alboin, 28. Apr 2000, 11:06:26):
~#! rn=Gloin rt=956906506 rg=treffen
~#! tid=956814729
ach das liegt doch alles nur daran, dass Rochus nie eine Vita-Cola gekostet
hat
Alboin grinsend

-----------------------------------------------------------------------------



Re^6: Wie Gehabt? (Gloin, 28. Apr 2000, 13:44:16):
~#! rn=Alboin rt=956912786 rg=treffen
~#! tid=956814729
Das wuerde ich ihm auch nie zumuten :>
Rochus koennte man mit anderer als Coca Cola am Ende gar vergiften.

Gloin

-----------------------------------------------------------------------------



Re^7: Wie Gehabt? (Liara, 28. Apr 2000, 13:45:41):
~#! rn=Gloin rt=956922256 rg=treffen
~#! tid=956814729
Ahja. Gleich mal beim Weghier testen ... *wetz*

Liara, Zwergenzauberine, schmarrnt ...

-----------------------------------------------------------------------------



Stati Aachen (Humni, 28. Apr 2000, 13:56:32):
Stati in Aachen!

Ja, es wird wieder einmal Zeit fuer einen Stammtisch im tiefen Westen.
Da aber scheinbar am 5.5. quasi niemand kann wurde beschlossen, den
um eine Woche nach hinten zu verlegen (entgegen der ueblichen Regel
mit dem ersten Freitag im Monat)

Als Datum steht jetzt also der 12.05., wie ueblich im Chico Mendes.
Und natuerlich wie immer um 20 Uhr.

Bei Fragen zu Schlafplaetzen bitte einfach an die anwesenden 
ueblichen AachenerInnen wenden.

Bei Fragen wegen der Wegbeschreibung natuerlich auch.

Bis dann,

Humni

-----------------------------------------------------------------------------



Re: Stati Aachen (Purzel, 28. Apr 2000, 15:51:19):
~#! rn=Humni rt=956922992 rg=treffen
~#! tid=956922992
Wer ist niemand???
Ariana erzaehlte mir, dass sie nur kann wenn wir puenktlich sind, und sie
gerne kommen wuerde. :-(
Ariana, machen wir einen Gegenstammtisch am 5.5. *g*. Oder geben wir uns damit
zufrieden niemand zu sein ;-)

Purzel

-----------------------------------------------------------------------------



Re: Wie Gehabt? (Ronda, 28. Apr 2000, 16:39:33):
~#! rn=Morgoth rt=956814729 rg=treffen
~#! tid=956814729
Ok, um das mal zu praezisieren - versteh ich Morgoth richtig, dass also heute
- 28.4. - ein Stati in Dortmund wieder in der Kneipe ist, der so teure Cola
hat?

Ronda *wird wohl da sein - auch wenns das naechste mal gern auch ne andere
Kneipe sein darf...*

-----------------------------------------------------------------------------



Re: Stati Aachen (Sugaan, 28. Apr 2000, 17:32:24):
~#! rn=Humni rt=956922992 rg=treffen
~#! tid=956922992
N I E M A N D ????
Schade ist es ja schon, dass haeufige STammtischbesucher in Aachen leider
unter die Rubrik "niemand" fallen ----> ich hatte mich schon so darauf
gefreut. Naja was nicht ist kann ja noch werden  - also los  Purzl organisiere
doch bitte was - oder habt Ihr alle Lust nach Koeln oder  Duesseldorf zu
kommen???
Uebrigens sind Koelnkenner immernoch aufgefordert mir mal ein paar schoene
Kneipen (mitlerweile am besten wieder mit Biergarten) inklusive
Wegbeschreibung fuer Bus-/Bahnfahrer oder gar Autobenutzer zu kommen zu
lassen. Wuerde glaub ich doch mal ganz gerne wieder DURST haben - auch wenn
ich  nichts mehr in dieser Richtung veroeffentlichen wollte.

Also denn lasst meinen Durst nicht zu gross werden ----chaosSugi

-----------------------------------------------------------------------------



Re^5: Wie Gehabt? (Apsu, 29. Apr 2000, 12:57:27):
~#! rn=Gloin rt=956906506 rg=treffen
~#! tid=956814729
So? ich dachte immer, alles suedlich der Elbe ist Bayern ;-)

couldn't resist, Apsu

-----------------------------------------------------------------------------



Re^4: Wie Gehabt? (Rardian, 30. Apr 2000, 02:51:57):
~#! rn=Gnome rt=956873283 rg=treffen
~#! tid=956814729
Naja... die Party fand doch nun wirklich im tiefsten Osten statt. Selbst von
innerhalb Berlins kommend hatte ich noch ne dreiviertelstunde Fahrtzeit ... ;)

Rar, es aber trotzdem ueberlebt habend.

-----------------------------------------------------------------------------



Re: Re: Stati Aachen (Darkwing, 30. Apr 2000, 13:34:11):
~#! rn=Purzel rt=956929879 rg=treffen
~#! tid=956922992
also am 5.5. fahren Menace, Elberet und ich nach Dresden und Fizban nach Ulm.
Wuehler und Vultas hatten beim Kino letzten Mittwoch gegen ne Woche spaeter
nichts einzuwenden und von ausserhalb hatte bisher keiner was gesagt. Dich
erreicht man nicht.

So ein Geflame muss ja nicht sein... have fun.


-----------------------------------------------------------------------------



Stammtisch in Marburg an der nicht brennenden Lahn (Cisou, 30. Apr 2000, 17:07:06):

Wir tischen Euch auch mal wieder nen Termin zum Stammtreffen der Mudder auf:

Am Samstag, den 6.5.00 um 19 Uhr im Sudhaus (Oberstadt/schrg gegenueber der
Alten Uni)

Anwesende (hoffentlich :-): Bleelumpe, Elora, Hasenfuss (?), Leia, Lug,
Rasputin und meine Wenigkeit.
Auswertige sind wie immer willkommen, werden abends mit Lug und mir ueber die
nordische Mythologie streiten muessen, werden aber sonst gern beherbergt, Mail
bitte an mich bzw. cisou@web.de

Die diebische Elster freut sich schon

-----------------------------------------------------------------------------



Re^3: Stati Bonn (Liara,  2. Mai 2000, 14:00:49):
~#! rn=Liara rt=956863249 rg=treffen
~#! tid=956144225
Rhein in Flammen:
112 und Bendeigid kommen noch dazu. :-)
Ich werde mal ne Rundmail schreiben heute abend (zwecks Tagesplanung).

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



MS StaTi 3.5.00 (Foobar,  2. Mai 2000, 14:08:50):
Moin.

Wie jeden ersten Mittwoch im Monat findet auch diesmal der Stammtisch im
Alabama statt.

Und zwar so um 20.00 Uhr.

Das wars schon.

Gruss,

     Foobar

-----------------------------------------------------------------------------



stati Halle (Cassandra,  2. Mai 2000, 16:58:45):
Der Stammtisch von Halle findet diesen Monat mal ne woche frueher statt.
Die Kneipe Wird diesmal aufgrund des Wetters ne andere sein.
Genaue Angaben dazu kommen noch
Zeit 19.00
Fuer Wegbeschreibungen oder Uebernachtungsmoeglichkeiten Mail an mich.

Das Hallenser Einfrauorgateam Halle
Cassandra

-----------------------------------------------------------------------------



Stati Aachen (Fizban,  2. Mai 2000, 17:46:12):
Hi Leute 
Ich bin an den naechsten beiden Wochenenden in Aachen (wahrscheinlich)
Also waere ich an beiden Freitagen da.
Nils

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  2. Mai 2000, 18:32:07):
Falls ich es noch nicht erwaehnt haben sollte:
Jeden Donnerstag findet in Karlsruhe im Kleinen Meierhof der Mud-Stammtisch
statt (also auch am 4. Mai), bei diesem schoenen Wetter sogar im dahinter
gelegenen Biergarten. Beginn ist wie immer um 20 Uhr.
  Boing

-----------------------------------------------------------------------------



Re: Stati Aachen (Nicktar,  2. Mai 2000, 22:01:32):
~#! rn=Fizban rt=957282372 rg=treffen
~#! tid=957282372
Hi,

Da wohl doch einige in Aachen sind... machen wir doch einfach 2 STs... (=
BTW: Ich hab auch zu beiden Terminen Zeit.

Nicktar

-----------------------------------------------------------------------------



Re: Re: Stati Aachen (Humni,  3. Mai 2000, 11:02:48):
~#! rn=Nicktar rt=957297692 rg=treffen
~#! tid=957282372
Macht doch was Ihr wollt.

ICH komme nur am 12. zum Stammtisch, da ich diese Woche in 
Berlin bin.

Viel Spass trotzdem, und hoffentlich kommen am 12. auch noch
genug Leute...
Humni

-----------------------------------------------------------------------------



Stati Leipzig (Unasai,  3. Mai 2000, 12:52:45):
Es ist mal wieder soweit. Leipziger Stammtisch, wie immer Samstag, diesmal dem
13.Maerz, 20.00Uhr in der "Tenne".
Special Guest wird nich verraten..alle die nach Clausthal fahren, viel Spass
und denkt an uns, alle anderen ab nach Leipzig :)
Una*

-----------------------------------------------------------------------------



stati leipzig (Unasai,  3. Mai 2000, 12:54:53):
ich korrigiere Mai! :)
Una*

-----------------------------------------------------------------------------



Berliner Tradition (Guard,  3. Mai 2000, 14:04:34):
Freut Euch und frohlocket!

Berlin ist wieder reif fuer einen Stammtisch!
Diesmal voellig ueberraschendam 1. Freitag des Monats
am 5.Mai (das is diese Woche!!) 20.00 Uhr im Seeblick
Ich weiss ... ihr koennt es kaum erwarten :-)
Zahlreiches Erscheinen erwuenscht!

i.A. Guard

-----------------------------------------------------------------------------



stati Halle (Cassandra,  3. Mai 2000, 17:35:50):
So die Kneipe steht jetzt fest:
Fritzengarten

Den wer hat bei diesem Wetter schon Lust drinne zu sitzen.
Das ganze ist Jgerstrasse 14
wer ne genauere Beschreibung braucht schicke mir ne mail.

Cassandra, freut sich ueber das schoene Wetter

-----------------------------------------------------------------------------



Re: stati Halle (Cassandra,  3. Mai 2000, 17:36:40):
~#! rn=Cassandra rt=957368150 rg=treffen
~#! tid=957368150
muss natuerlich Jaegerplatz heissen

Cassandra, etwas durcheinander

-----------------------------------------------------------------------------



Re^4: Stati Bonn (Liara,  3. Mai 2000, 23:28:44):
~#! rn=Liara rt=957268849 rg=treffen
~#! tid=956144225
Rhein in Flammen:

Treffen zum Essen:
***** 16.30 Uhr Bonner Hauptbahnhof in der Bahnhofshalle am Eingang des
Reisezentrums *****

Treffen zur Fahrt in die Rheinaue (Schiffchen und Feuerwerk guggen etc. ... ):
***** 19:00 Uhr ebendort *****

Alles bisher Geschriebene verliert seine Gueltigkeit. ;-)

Liara, Zwergenzauberine

P. S.: Stammtisch ist am Donnerstag, den 18. Mai; bisher 10 Zusagen (davon 3
special guests *g*), weitere werden erwartet ;-)

-----------------------------------------------------------------------------



Re: MS StaTi 3.5.00 (Catweazle,  3. Mai 2000, 23:56:44):
~#! rn=Foobar rt=957269330 rg=treffen
~#! tid=957269330
Weil ich es doch mal erwaehnen wollte:
Heute fand der Stammtisch in Muenster mal wieder im Alabama statt.
Naechste Woche findet er uebrigens auch statt, aber nicht im Alabama, nein, da
ist er woanders. Wenn ich die aktuelle Planungsstrategie richtig verstanden
habe ist er wieder im Ipanema, aber darauf wuerde ich mich nicht verlassen. 
>Und im Kuba sowieso nicht. In der Frauenstrasse, im KlingKlang und im
Fegefeuer wohl auch nicht.
Um das ganze schmackhaft zu machen startet er uebrigens naechste Woche
ausserhalb der gewoehnlichen _wie immer_ Planung nicht um 20 Uhr, sondern um
20:08 Uhr. 
Nicht-Muensteraner sind natuerlich *kicher* wie immer gerne willkommen,
vorrausgesetzt irgendjemand hat verstanden wann und wo naechste Woche der 
uebliche Muensteraner Stammtisch stattfindet. 

Yours truly,
     Catweazle (not serious)

-----------------------------------------------------------------------------



Re^5: Wie Gehabt? (Hate,  4. Mai 2000, 09:42:42):
~#! rn=Rardian rt=957055917 rg=treffen
~#! tid=956814729
Keine Ahnung ...

Eine Dreiviertelstunde ist selbst innerhalb Berlins Nahbereich. Und dann
die 10min ausserhalb sind doch nichts.

Hate.

-----------------------------------------------------------------------------



Re: Stati Aachen (Jameson,  4. Mai 2000, 18:17:08):
~#! rn=Fizban rt=957282372 rg=treffen
~#! tid=957282372
wer aus Muenster/Dortmund und Umgebung faehrt hin?
ich und Ariana suchen evtl. noch eine Mitfahrgelegenheit :)
Wer noch zwei Plaetze im Auto frei hat (oder auch gerne zusammen mit
uns mit der Bahn hinfahren moechte), melde sich bei einem von uns per
Mudmail.

jAmeson

-----------------------------------------------------------------------------



Re: Re: MS StaTi 3.5.00 (Wargon,  6. Mai 2000, 13:44:47):
~#! rn=Catweazle rt=957391004 rg=treffen
~#! tid=957269330
Sach ma, kannes sein dass der Muensteraner Stammtisch so langsam aufm
absteigenden Ast is?
  Wargon

-----------------------------------------------------------------------------



Re^3: MS StaTi 3.5.00 (Anatol,  6. Mai 2000, 16:11:45):
~#! rn=Wargon rt=957613487 rg=treffen
~#! tid=957269330
"So langsam?" Hey, Waggi, alter Recke - schau Dir das Volk
doch einmal an! Gegen die bin sogar ICH ein alter Sack. :)

Anatol


-----------------------------------------------------------------------------



Re^4: MS StaTi 3.5.00 (Gloin,  8. Mai 2000, 12:12:34):
~#! rn=Anatol rt=957622305 rg=treffen
~#! tid=957269330
Ooooohhhhhhhhhhhhhhhh :]
Da faellt mir auf: War ich alter Sack mal wieder auf dem Berliner? Wann
war Hate das letzte Mal da? Jaja, wir werden alt und gebrechlich.

Gloin

-----------------------------------------------------------------------------



Re^5: Stati Bonn (Liara,  8. Mai 2000, 13:45:48):
~#! rn=Liara rt=957389324 rg=treffen
~#! tid=956144225
Stammtisch am 18. Mai:

Bisher 14 Zusagen ... falls noch Interesse besteht, bidde Mail an mich zwecks
Kneipenwahl/Tischreservierung.

Falls mir bei Rhein in Flammen noch jemand sagte, dass er/sie zum Stati kommen
moechte, bidde auch nochmal mailen, weil ich nicht so genau weiss, ob ich da
alles mitbekommen hab. ;-)

Liara, Zwergenzauberine, hat sich gefreut ueber die spontane rege Teilnahme
bei RiF :-)

-----------------------------------------------------------------------------



Re^5: MS StaTi 3.5.00 (Hate,  8. Mai 2000, 14:14:35):
~#! rn=Gloin rt=957780754 rg=treffen
~#! tid=957269330
Ich war am Freitag da.
Hate.

-----------------------------------------------------------------------------



StaTi in Stuttgart (Leibniz,  8. Mai 2000, 19:29:13):
Am 20. Mai gibts hier in Stuttgart auch mal einen StaTi. 
Treffen wollen wir uns um 20 Uhr im Biergarten im Schlossgarten. 

Wegbeschreibung gibts bei Imda.
Wegen Uebernachtungsmoeglichkeiten Mail an mich.

Ich hoffe, ihr erscheint zahlreich :)

Bis dann
Leibi

-----------------------------------------------------------------------------



Re: Re: verlegung auf mittwoch (Ariana,  8. Mai 2000, 19:32:03):
~#! rn=Anatol rt=956840243 rg=treffen
~#! tid=956785497
lieber anatol,
es war weder egozentrik noch lokalpatriotismus, die mich zu der formulierung
"auswaertige" verleitete.
nein, es war schlichte hoeflichkeit.
aber fuer dich formuliere ich es dann gern noch mal unhoeflich: 
warum wir das mit jemandem wie anatol, der 3 x im jahr in muenster erscheint,
diskutieren muessen, weiss ich wirklich nicht.
naja, wenigstens hat sich der richtige angesprochen gefuehlt, da du der
einzige nicht-muensteraner bist, der reagiert hat:)
da scheinen doch jeden wenigstens alle anderen begriffen zu haben, wie es
gemeint war.
so, und jetzt greif zur tastatur und flame noch schoen, ich fuer meinen teil
beende diesen voellig unnuetzen thread an dieser stelle.
ariana, wohl nicht egozentrisch genug um den maennern am muensteraner
stammtisch andere beweggruende als nettigkeit fuer das umlegen zu unterstellen

-----------------------------------------------------------------------------



Re^3: verlegung auf mittwoch (Gloin,  8. Mai 2000, 21:48:53):
~#! rn=Ariana rt=957807123 rg=treffen
~#! tid=956785497
Flame hin, Flame her. Blabla.
Mal abgesehen von Euren persoenlichen Differenzen mag fuer Dich der StaTi
jetzt ganz wunderbar platziert sein, aber

> aber warum wir dass mit gaesten und auswaertigen diskutieren muessen
> ...naja, wers mag:)
ist der eigentliche Punkt Deiner Aussage, an dem Anatol ansetzt.

Stammtische ohne auswaertige 'Beteiligung' sind auf Dauer aeusserst fad
und IMHO auch nicht im Sinne des MUDs. Ich fahr hin und wieder gern nach
DD/L und wenn ich mal da bin freu ich mich ueber Besuch in B.

Schoene Tach,
 Gloin

-----------------------------------------------------------------------------



Re^4: verlegung auf mittwoch (Hobo,  9. Mai 2000, 09:22:24):
~#! rn=Gloin rt=957815333 rg=treffen
~#! tid=956785497
SOOOO fad sind Stammtische ohne auswaertige Beteiligung nun auch wieder nicht.
Wir Karlsruher, die sich uebrigens jeden Donnerstag im Kleinen Meierhof
treffen, waren auch phasenweise so ein kleines eingeschworenes Grueppchen (so
um die 8 Leute). Aber langweilig war's trotzdem nicht, sonst waeren wohl ein
paar Leute abgesprungen.
Ok, jetzt kommen die Stuttgarter oefters mal zu uns, das ist natuerlich immer
Klasse!
Eigentlich sollten wir ja einen Gegenbesuch am 20. starten, aber da sind Boing
und ich leider verhindert... naja, vielleicht der Rest der Karlsruher *stups*

  Hobo - freut sich auf jeden onnerstag

-----------------------------------------------------------------------------



Re^5: verlegung auf mittwoch (Marcus,  9. Mai 2000, 12:47:39):
~#! rn=Hobo rt=957856944 rg=treffen
~#! tid=956785497
Naja ... 

Damals als dann der Erlangener Stammtisch nur noch 1 Mudder hatte, hab ich ihn
dann auch aufgeloest... *sniff*

Ciao, Marcus

-----------------------------------------------------------------------------



StaTi Clausthal (Bierchen,  9. Mai 2000, 14:39:30):
Moin moin,
der StaTi in Clausthal am Samstag (13.Mai) findet NICHT statt. 
Gruss (und im Auftrag von Tilly)

- Bierchen - 

-----------------------------------------------------------------------------



guano apes (Gnome,  9. Mai 2000, 23:41:07):

n tour... guano apes on tour... guano apes on tour... guano apes on tour... g

wenn jmd am freitag, 02. juni um 21.00h noch nix vorhat und die goettinger
live in berlin erleben moechte, kann sich ja mal per mail bei mir melden.

s on tour... guano apes on tour... guano apes on tour... guano apes on tour..

gnOme says: nothin' is like guano apes...

-----------------------------------------------------------------------------



Re: guano apes (Rardian, 10. Mai 2000, 15:46:06):
~#! rn=Gnome rt=957908467 rg=treffen
~#! tid=957908467
Ich dachte, die Goettinger werden auf den Philippinen ( oder wiemandasschreibt
) als Geiseln festgehalten??

Rar, froh, dass die wieder frei sind... ;)

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 11. Mai 2000, 14:41:36):
Huhu :)

Letzte Woche war zwar auch schon ein kleiner ... aber das sollte uns ja nicht
dran hindern uns morgen auch nochmal zu treffen :-) 
Von ein paar Leuten weiss ichs ja schon, also wer Lust hat kann ja
vorbeischaun...

Freitag 12.5.   20h im Chico Mendes 

Bis denn! :)

Darkwing

-----------------------------------------------------------------------------



sonderstati in B (Gnome, 11. Mai 2000, 14:57:28):
hi berliner!

ich weiss das ist sehr kurzfristig, aber ich habs auch grad erst erfahren
und darum machen wir morgen, Fr., 20.00h im seeblick einen
sonderstati!
special guest: brandir :)

gnOme

-----------------------------------------------------------------------------



Re: sonderstati in B (Gloin, 11. Mai 2000, 15:21:17):
~#! rn=Gnome rt=958049848 rg=treffen
~#! tid=958049848
Hmmmmm. Vielleicht bin ich morgen dann auch tatsaechlich geneigt, meinen
fetten Hintern hinzuschleifen :)
Zaehle ich jetzt auch als Special Guest?

Gloin

-----------------------------------------------------------------------------



KA mal wieder (Hobo, 11. Mai 2000, 15:30:53):
 Heute ist Donnerstag, kein Feiertag und Chef macht keinen Urlaub.
-> Kleiner Meierhof, Karlsruhe ab 20 Uhr

  Hobo -wollte es nur mal erwaehnt haben

-----------------------------------------------------------------------------



Re: Re: sonderstati in B (Hood, 11. Mai 2000, 15:31:41):
~#! rn=Gloin rt=958051277 rg=treffen
~#! tid=958049848
ich fuerchte eher, der sonderstati wird jetzt kurzfristig wieder
aufgeloest...zumindest offiziell ;)

-----------------------------------------------------------------------------



Re^3: sonderstati in B (Gloin, 11. Mai 2000, 15:56:43):
~#! rn=Hood rt=958051901 rg=treffen
~#! tid=958049848
Hm. Du wolltest also auch kommen? Mensch, inzwischen muesstest du doch
wissen, dass Du das Gnome nicht mehr auf die Nase binden solltest.

Gloin schuettelt den Kopf: Immer diese Pa* und Ex-Pa*

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 12. Mai 2000, 00:08:50):


Achtung, diesen Monat am _dritten_ Freitag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 19.5. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: sonderstati in B (Guard, 12. Mai 2000, 10:34:23):
~#! rn=Gnome rt=958049848 rg=treffen
~#! tid=958049848

es hat sich uebrigens noch ein special guest angekuendigt :-)
es lohnt sich also!

Guard

-----------------------------------------------------------------------------



Re: Re: sonderstati in B (Gloin, 12. Mai 2000, 11:00:14):
~#! rn=Guard rt=958120463 rg=treffen
~#! tid=958049848
Ich weiss es ja, ich weiss es ja :>
Aber ich verrat nur, dass es einer mit Froeschen ist!
Naja, einer, den man bei Froeschen findet.

Gloin

-----------------------------------------------------------------------------



Re^6: Stati Bonn (Liara, 14. Mai 2000, 22:25:22):
~#! rn=Liara rt=957786348 rg=treffen
~#! tid=956144225
Stati wohl inner Harmonie, im Biergarten. Wenn ich ma nich arbeiten muss,
komme ich evtl. auch dazu, nen Tisch vorzubestellen. ;-)
Wegbeschreibungen per Mail oder im Archiv. ;-)
Ach ja: 
Special guests: Tilly und Hight (Sigura ist leider irgenwie verschollen oder
so). Und wo Tilly sich aufhaelt, ist Bierchen wohl auch nicht weit. ;-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Special guests (Aline, 16. Mai 2000, 16:29:15):

Aeh da hier andauernd Stammtische mit "Special guests" beworben werden:

Ich such den Stammtisch am Samstag in Stuttgart heim. :)

Aline = Special guests:) :) :) ):

-----------------------------------------------------------------------------



Re^7: Stati Bonn (Liara, 16. Mai 2000, 20:28:25):
~#! rn=Liara rt=958335922 rg=treffen
~#! tid=956144225
Stammtisch in Bonn am Donnerstag, den 18. Mai 2000 in der Harmonie, Frongasse
30, Bonn-Endenich

Mails sind raus. Falls jemand, der auch kommen moechte, keine bekommen hat,
bidde Mail an mich.

Liara, Zwergenzauberine :-)

P. S. : Bisher 17 Interessenten. Special guests: Hight/Tilly/Bierchen/Thufhir
(Sigura leider verschollen :( )

-----------------------------------------------------------------------------



Re^8: Stati Bonn (Liara, 16. Mai 2000, 20:53:49):
~#! rn=Liara rt=958501705 rg=treffen
~#! tid=956144225
Nachtrag: 20 Uhr

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: Special guests (Menace, 17. Mai 2000, 04:20:47):
~#! rn=Aline rt=958487355 rg=treffen
~#! tid=958487355
Ich werd vermutlich auch zum Stuttgarter Stammtisch kommen, bin ich dann auch
ein "special guest"?

Menace 

-----------------------------------------------------------------------------



Stati Dresden? (Deepblue, 17. Mai 2000, 08:46:09):
Wann?????

-----------------------------------------------------------------------------



Re: Stati Dresden? (Rikus, 17. Mai 2000, 08:46:59):
~#! rn=Deepblue rt=958545969 rg=treffen
~#! tid=958545969
genau! ich wohn nun auch 2 tage in DD und koennte nun theoretisch
zum stati kommen.

rikus

-----------------------------------------------------------------------------



Re: Re: Stati Dresden? (Sniper, 17. Mai 2000, 13:44:48):
~#! rn=Rikus rt=958546019 rg=treffen
~#! tid=958545969
Geplant ist Dienstag der 23. Mai, wie immer 20:00 Uhr im CD. Fragen,
Kommentare, Vorschlaege? 

Sniper

-----------------------------------------------------------------------------



Re^3: Stati Dresden? (Hood, 17. Mai 2000, 13:46:01):
~#! rn=Sniper rt=958563888 rg=treffen
~#! tid=958545969
ja, warum wars nich gestern? wenn heute frei ist, haette sich besser
gemacht, finde ich... :)

-----------------------------------------------------------------------------



Re^4: Stati Dresden? (Deepblue, 17. Mai 2000, 13:47:41):
~#! rn=Hood rt=958563961 rg=treffen
~#! tid=958545969
Gestern kann ich nicht...
Sniper, 23.5. sieht recht gut aus...

-----------------------------------------------------------------------------



Re^5: Stati Dresden? (Rikus, 17. Mai 2000, 13:53:10):
~#! rn=Deepblue rt=958564061 rg=treffen
~#! tid=958545969
fuer die Unbedarften... Was ist CD fuer ein Gebaeude, Club etc pp?

Rikus

-----------------------------------------------------------------------------



Re^6: Stati Dresden? (Sniper, 17. Mai 2000, 13:54:39):
~#! rn=Rikus rt=958564390 rg=treffen
~#! tid=958545969
Club Duererstrasse in der Fak. Informatik.

Sniper

-----------------------------------------------------------------------------



Re^6: Stati Dresden? (Deepblue, 17. Mai 2000, 14:25:50):
~#! rn=Rikus rt=958564390 rg=treffen
~#! tid=958545969
das, wo die Februarparty war...

-----------------------------------------------------------------------------



Re^7: Stati Dresden? (Rikus, 17. Mai 2000, 14:46:34):
~#! rn=Deepblue rt=958566350 rg=treffen
~#! tid=958545969
tja, da konnte meiner einer leider nicht...

-----------------------------------------------------------------------------



MS StaTi 24.5.2000 (Foobar, 22. Mai 2000, 02:32:52):
Tach alle.

Aus mir unbekannten Grueden findet der StaTi Muenster am Mittwoch, 24.5.
_nicht_ im Ipanema statt, sondern im Fegefeuer.

Wer ein Anfahrtsbeschreibung haben will, wendet sich bitte an Brandir.

Gruss,

    Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 24.5.2000 (Brandir, 22. Mai 2000, 09:41:43):
~#! rn=Foobar rt=958955572 rg=treffen
~#! tid=958955572
Du brummelst ja nur, weil Du so spaet noch nen Artikel schreiben solltest...
sorry ich hatte mich schon ausgeloggt und es vergessen... 
Aber das Fegefeuer ist auch viel Stilvoller, ausserdem kommt man da eher zu
special guests :)

Ich selbst werde am Mittwoch eventuell etwas spaeter kommen, aber ich komme
auf jeden Fall... ich will wieder Seherraeuberspiesse ;-)

Brandir

-----------------------------------------------------------------------------



Re: Re: MS StaTi 24.5.2000 (Gorog, 22. Mai 2000, 18:18:51):
~#! rn=Brandir rt=958981303 rg=treffen
~#! tid=958955572
Hmmpf

Naja da ich mich eh erst noch um meine 3000 Pflegefliegen kmmenr muss wirds
auch bei mir wohl spter. Vielleicht geben die mir ja was von ihrem Bananbrei
ab *brrr*, dann reicht n Salat (;

Gorog da, spaeter und sowieso

-----------------------------------------------------------------------------



sonderstati die 2. (Gnome, 22. Mai 2000, 20:55:23):
hi,

und weils so schoen war, wird in diesem monat gleich der naechste
sonderstati hinterhergeschoben: Fr, 26.5., 20.00h, seeblick.

special guests diesmal: jenandra und bierchen

gnOme

-----------------------------------------------------------------------------



Re: MS StaTi 24.5.2000 (Mupfel, 23. Mai 2000, 01:56:40):
~#! rn=Foobar rt=958955572 rg=treffen
~#! tid=958955572
mal schaun ob ich zeit hab

-mupfel-

-----------------------------------------------------------------------------



Re: Re: MS StaTi 24.5.2000 (Anatol, 23. Mai 2000, 01:59:00):
~#! rn=Mupfel rt=959039800 rg=treffen
~#! tid=958955572
Ich nicht. Warum sollte ich auch? Letzte Woche war ja schon um
halb zehn keiner mehr in der vereinbarten Kneipe. Auf SOLCHE
"Stammtische" verzichte ich dann doch dankend. 

Anatol

-----------------------------------------------------------------------------



Re^3: MS StaTi 24.5.2000 (Catweazle, 23. Mai 2000, 08:08:58):
~#! rn=Anatol rt=959039940 rg=treffen
~#! tid=958955572
Tja, Wargon, jetzt weisste, wo der Ast ist.
Er ist abgefault und vermodert so langsam zwischen den auf dem 
Boden liegenden Blaettern. Wird wohl lediglich noch als Humus
zu verwenden sein :)
YTC

-----------------------------------------------------------------------------



Re^3: MS StaTi 24.5.2000 (Boing, 23. Mai 2000, 08:34:13):
~#! rn=Anatol rt=959039940 rg=treffen
~#! tid=958955572
Ich empfehle hierzu den Karlsruher Stammtisch, jeden Donnerstag um 20
Uhr im Kleinen Meierhof. Selbst wenn Larina kommt ist dort normalerweise
um halb 10 noch jemand da. :)
  Boing

-----------------------------------------------------------------------------



Re^3: MS StaTi 24.5.2000 (Foobar, 23. Mai 2000, 10:17:28):
~#! rn=Anatol rt=959039940 rg=treffen
~#! tid=958955572
Foobar reicht Anatol ein "Frueher war alles besser..."-Faehnchen.

-----------------------------------------------------------------------------



Re^4: MS StaTi 24.5.2000 (Pardauz, 23. Mai 2000, 12:01:54):
~#! rn=Boing rt=959063653 rg=treffen
~#! tid=958955572
als ob Du deshalb frueher gehen wuerdest, im Gegenteil ... ;)
  Pardauz

-----------------------------------------------------------------------------



Re: sonderstati die 2. (Stopdenbus, 23. Mai 2000, 21:03:02):
~#! rn=Gnome rt=959021723 rg=treffen
~#! tid=959021723
und ich komm auch mal wieder :)

Stoppi, wird sich den 3. stati in berlin net entgehen lassen

-----------------------------------------------------------------------------



Re: Re: sonderstati die 2. (Gloin, 23. Mai 2000, 21:41:06):
~#! rn=Stopdenbus rt=959108582 rg=treffen
~#! tid=959021723
Mal schaun :)
Wenn nicht grad eine Diplomfete steigt ...

Gloin

-----------------------------------------------------------------------------



Re^3: MS StaTi 24.5.2000 (Mupfel, 24. Mai 2000, 02:03:11):
~#! rn=Anatol rt=959039940 rg=treffen
~#! tid=958955572
Naja, wir machens jetzt wie "die da in Karlsruhe" und mixen ein paar Mudder
aus anderen MUDs dazu, auf das der StaTi wieder auflebe... ;)

-mupfel- (erwartet zumindest SirAlec, mal schaun...)

-----------------------------------------------------------------------------



Re^4: MS StaTi 24.5.2000 (Hobo, 24. Mai 2000, 09:08:12):
~#! rn=Mupfel rt=959126591 rg=treffen
~#! tid=958955572
"Wir da in Karlsruhe" haben uebrigens seit einiger Zeit eine THEORETISCHE
Mudderin unter uns. Sie hat theoretisch sogar schon einen Namen, sich aber
noch nie eingeloggt.
Aber sie erscheint regelmaessig auf unserem Mudstammtisch.

    Hobo fragt sich, wann die MSler DAS nachmachen

-----------------------------------------------------------------------------



Re^5: MS StaTi 24.5.2000 (Anatol, 24. Mai 2000, 10:30:16):
~#! rn=Hobo rt=959152092 rg=treffen
~#! tid=958955572
Die MSler haben Ariana.

Couldn't resist ;)

Anatol

-----------------------------------------------------------------------------



Re^6: MS StaTi 24.5.2000 (Hobo, 24. Mai 2000, 12:47:53):
~#! rn=Anatol rt=959157016 rg=treffen
~#! tid=958955572
Ariana war schon mal da, ist sogar aufgestiegen und uebrhaupt... kein
Vergleich!

   Hobo

-----------------------------------------------------------------------------



Re^7: MS StaTi 24.5.2000 (Liara, 24. Mai 2000, 13:30:45):
~#! rn=Hobo rt=959165273 rg=treffen
~#! tid=958955572
Theoretische Mudderin? 
Hm, entweder man wendet sich nach kurzer Zeit mit Grausen ab oder man faengt
selber an zu Mudden.

Wie haelt sie das durch? ;-)

Liara, Zwergenzauberine, gruebelt

-----------------------------------------------------------------------------



Irgendwer in Wuerzburg? (Thufhir, 24. Mai 2000, 14:42:28):

Hallo,

ich werde mich vom 1. bis 3. Juni in Wuerzburg aufhalten. Gibt es in und um
Wuerzburg irgendwelche Mudder, die Lust auf einen spontanen StaTi haetten? 

Gruss, s'Zauberzwerch.

-----------------------------------------------------------------------------



SUGI HAT DURST - oder hat Durst zu haben :-) (Sugaan, 24. Mai 2000, 18:01:15):
Auch wenn man derzeit seinen Durst unter freiem Himmel stillen koennte - steht
mir der Sinn nach anderen Getraenken und diese hoffe ich   DIESEN  FREITAG  im
KELDENICH  bestellen zu koennen :-)))
Ich rufe also alle Koelner und nicht Koelner MorgenGrauen-Mudder auf sich so
ab ca. 19.00 Uhr im Keldenich an der Zuelpicherstr./Ecke Weyertalstr. (oder so
aehnlich) einzufinden und das dortige Bier (so man das Getraenk als solches
bezeichnen mag) inklusive dieser Oertlichkeit zu testen.
Anmeldungen ueber die MPA waeren bestimmt nicht schlecht  - also ich komme!

gruessis eine diesmal nur leicht chaotische (wie immer nicht nur durstige
sondern auch hungrige! Hobbitfrau)    Sugi

-----------------------------------------------------------------------------



Re^4: MS StaTi 24.5.2000 (Wargon, 24. Mai 2000, 18:06:05):
~#! rn=Catweazle rt=959062138 rg=treffen
~#! tid=958955572
Dann werde ich mich heute wohl eher auf dem Nichtmudderstammtisch im Thav
blicken lassen :)
  Wargon

-----------------------------------------------------------------------------



Re: SUGI HAT DURST - oder hat Durst zu haben :-) (Liara, 24. Mai 2000, 18:09:01):
~#! rn=Sugaan rt=959184075 rg=treffen
~#! tid=959184075
Bin da. :-)
Sag mal bidde, wo das so ungefaehr is in Koeln. ;-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Sugi hat irgendwie was vergessen - oder? (Sugaan, 24. Mai 2000, 18:23:08):

Also die Kneipe soll irgendwo an der Zuelpicherstr./Ecke Weyertal(str.) sein.
Das heisst, dass man der Zuelpicherstr. in Richtung UNI folgen muss (also wenn
man das Limerick kennt - von da aus prinzipiell erst mal Richtung Suedbahnhof)
besser ist wohl man steigt irgendwo(z.B.: Deutzer Bahnhof, oder Suedbahnhof,
oder Neumarkt, oder oder oder) in die Strassenbahnlinie 9 - Richtung Suelz!!
und steigt dann an der Haltestelle Weyertal wieder aus - ab da heisst es
suchen suchen suchen - ich war auch noch nie nicht da - und werde mich genau
ueberraschen lassen wie Ihr, d.h. ich denke ich werde wohl morgen mal in nen
Telefonbuch und evt auch noch in einen Stadtplan schauen. Fragen bitte bitte
an Weatherwax - der kennt die Kneipe naemlich. 

Ansonsten ist es also FREITAG der 26. Mai 2000
                      ab ca.      19.00 Uhr
mit mindestens drei ach nein ja sogar schon vier Leuten, sogar mit:  man mag
es gar nicht glauben einem ORIGINAL KOELNER!!!
also lasst euch nicht lange bitten  und kommt in die Hufe - bis Freitag oder
so - SUGI

-----------------------------------------------------------------------------



Re: Irgendwer in Wuerzburg? (Sorcerer, 24. Mai 2000, 22:50:04):
~#! rn=Thufhir rt=959172148 rg=treffen
~#! tid=959172148
Gibt es Mudder in Wuerzburg? Klar doch!
Lust auf nen spontanen StaTi? Immer! (ich zumindest :) )

Also setze ich jetzt einfach mal einen StaTi am 2.6. um 20:00 in Wuerzburg an.
Ort: Hexenkessel (Brasserie No. 1)

Wenn ich jetzt noch eine brauchbare Anzahl Rueckmeldungen bekomme, kann ich
sogar nen Tisch reservieren :)

Sorcerer - Spontan-Organisator, Anmeldung per mail bitte an mich

-----------------------------------------------------------------------------



Stati Halle (Cassandra, 25. Mai 2000, 10:42:28):
Es ist mal wieder soweit.
Am 9.6 ist Stammtisch angesagt.
Uhrzeit wie gehabt 19:00
Die Kneipe wird noch bekanntgegeben wenn klar ist wie das wetter wird.
Also kommt zahlreich
Cassandra

P.S. Wenn ich da was richtig verstanden habe diesmal mit spezial Guest

-----------------------------------------------------------------------------



Sonderstammtisch (Aline, 25. Mai 2000, 10:48:42):
Hi Leuts,

da ich diesen Freitag schon wieder ausser Landes bin (in BaWue) und 
mich mit den Schwaben rumschlagen muss, aber trotzdem auch mal wieder
ein paar von Euch gerne sehen wuerde.....

Kurz: Sonderstammtisch in Do
Wann: Dienstag (Cocktailtag)
Wo: Atlantico
Wer: bis jetzt 2 Leute
Uhrzeit: 20.00 Uhr

Aline

P.S.: Kann sein, dass diesen Freitag ein regulaerer Stammtisch in Do ist.
Aber was die Muensteraner koennen, koennen wir doch auch, oder?


-----------------------------------------------------------------------------



Re: Sonderstammtisch (Nonne, 25. Mai 2000, 15:27:13):
~#! rn=Aline rt=959244522 rg=treffen
~#! tid=959244522

Soeben hat sich noch ein Special Guest gefunden, den ich mitbringen werde. Ihr
duerft allerdings nur einmal raten, wer das sein koennte...

Nonne.

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch (Tiamak, 25. Mai 2000, 15:50:26):
~#! rn=Nonne rt=959261233 rg=treffen
~#! tid=959244522
Wer organisiert eigentlich die Tische?

Ich hab da so schwach in Erinnerung, dass die am Cocktail-Dienstag keine
Reservierungen annehmen. Und wirklich leer ist es da dann auch nicht ...

Tiamak

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch (Nonne, 25. Mai 2000, 15:52:55):
~#! rn=Tiamak rt=959262626 rg=treffen
~#! tid=959244522
Vielleicht sollten sich die Leute hier mal melden, damit man eine Ahnung hat,
wieviele kommen. Fuer die 3 Leute, die wir bisher sind, lohnt sich eine
Reservierung wohl nicht.

Nonne.

-----------------------------------------------------------------------------



Re^4: Sonderstammtisch (Hreidmar, 25. Mai 2000, 15:55:02):
~#! rn=Nonne rt=959262775 rg=treffen
~#! tid=959244522
Die machen keine Reservierung am Cocktailabend. Habe ich beim Test erfahren
muessen.

Hreidmar

P.S.: Ich bin wohl mit dabei. Hundertprozentig kann ich es zwar nicht
versprechen, aber ich werde mir Muehe geben. ;)

-----------------------------------------------------------------------------



Re^5: Sonderstammtisch (Nonne, 25. Mai 2000, 15:57:17):
~#! rn=Hreidmar rt=959262902 rg=treffen
~#! tid=959244522
Berichtigung: Wenn sich genug Leute melden, muessen ein paar recht frueh hin
und den groessten Tisch okupieren.

Also melden, sonst muesst ihr stehen!

Nonne.

-----------------------------------------------------------------------------



Re: Sugi hat irgendwie was vergessen - oder? (Weatherwax, 25. Mai 2000, 18:15:14):
~#! rn=Sugaan rt=959185388 rg=treffen
~#! tid=959185388
Also die Kneipe ist da nicht irgendwo, sonder genau auf der Ecke
Zlpicher/Weyertal.
Wenn man aus der Bahn Haltestelle "Weyertal" aussteigt, und nach der Kneipe
lnger als 30 sec sucht, hinterlsst man mit Sicherheit auch bei der
Fortbewegung kleine runde braune Hgel auf dem grnen Rasen. (Nicht, da es den
da gbe).

Fr absolut Planlose: Die Zlpicher Str. fhrt vom Ring/Zlpicher Platz
stadtauswrts. Die Linie 9 fhrt von Neumarkt an ber den Ring die Zlp lang, an
der Uni vorbei und schlielich zur Ecke Weyertal. Autofahrer nutzen am besten
die grsseren Parkpltze linker Hand der Mensa (rotes hssliches Gebude) wenn sie
nicht ortskundig sind. :)

Bin ich mit dem Original-Klner gemeint? :)

Gru
Wx

-----------------------------------------------------------------------------



Re: Re: Sugi hat irgendwie was vergessen - oder? (Weatherwax, 25. Mai 2000, 18:17:03):
~#! rn=Weatherwax rt=959271314 rg=treffen
~#! tid=959185388
Tja, jetzt hab ich mich wenigstens in Anbetracht der Umlaute auch mal als
MPA-Wurst geoutet. :)

-----------------------------------------------------------------------------



Re^3: Sugi hat irgendwie was vergessen - oder? (Weatherwax, 25. Mai 2000, 18:20:49):
~#! rn=Amaryllis rt=959271435 rg=treffen
~#! tid=959185388
Soll ichs nochmal neu schreiben? Hundertmal, ans Stadttor von Port Vain?
Oder konnte mans einigermassen verstehen?
Weitere Flames bitte persoenlich am Freitag Abend. :)

Wx

-----------------------------------------------------------------------------



Re^4: Sugi hat irgendwie was vergessen - oder? (Amaryllis, 25. Mai 2000, 18:22:02):
~#! rn=Weatherwax rt=959271649 rg=treffen
~#! tid=959185388
Noe, da hab ich keine Zeit und ausserdem fahr ich doch nicht durch halb
Deutschland, um zu Flamen - das geht hier viel schoener, da kriegens alle mit
:-))

Ama*, schmarrend.

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch (Arancia, 25. Mai 2000, 22:11:18):
~#! rn=Nonne rt=959261233 rg=treffen
~#! tid=959244522
kuess sie von mir

-----------------------------------------------------------------------------



Re: Sonderstammtisch (Kartoffel, 25. Mai 2000, 22:56:04):
~#! rn=Aline rt=959244522 rg=treffen
~#! tid=959244522
Halloele,

grundsaetzlich ne prima Idde mit dem Sonderstammtisch (ich kann naemlich auch
nich am Freitag ..), aber warum Dienstag?
Ich wuerd Mittwoch vorschlagen, Donnerstag is schliesslich Feiertag, is doch
viel praktischer.

'Toffel

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch (Nonne, 26. Mai 2000, 09:32:13):
~#! rn=Kartoffel rt=959288164 rg=treffen
~#! tid=959244522

Naja, wer schlaegt schon einen Sonderstammtisch vor, an einem Tag, wo er nicht
kann? Ausserdem sollte man doch den Cocktail-Tag mitnehmen, vielleicht tanzt
ja die eine oder der andere auf dem Tisch ;-)

Nonne.

-----------------------------------------------------------------------------



Ist heute was in Dortmund? (Freitag...) (Ronda, 26. Mai 2000, 10:12:11):
Hi Leute,

gibts dann heute abend trotz Sonderstammtisch am Dienstag was in Dortmund? Ich
koennte wohl vorbeischauen - meldet Euch halt moeglichst bald, damit ich
disponieren kann...

Tschuess,

Ronda

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch (Gorog, 26. Mai 2000, 15:47:55):
~#! rn=Nonne rt=959326333 rg=treffen
~#! tid=959244522
ausserdem wirds in MS mal wieder am MITTWOCH n Stati geben, und zwar in einer
noch naeher zu definierenden Kneipe (;

-----------------------------------------------------------------------------



Re^6: MS StaTi 24.5.2000 (Ariana, 27. Mai 2000, 20:43:19):
~#! rn=Anatol rt=959157016 rg=treffen
~#! tid=958955572
die muensterander haben narena:)
die hat sogar schon 1 oder 2 onlinestunden und "kommt ganz bestimmt naechste
woche mal" ins mud:)
ariana

-----------------------------------------------------------------------------



stati in MS am 31.5. (Ariana, 27. Mai 2000, 20:50:09):
der stati am 31. wird diesmal im john doe's stattfinden, dass is im spiekerhof
44.
fuer anfahrtsbeschreibungen mail an jameson oder mich, parken is aber wie
immer schwierig:)
vielleicht kommen ja wegen des feiertags dann doch mal wieder ein paar leute
von ausserhalb *schiel nach dortmund und osnabrueck*
uebernachtungsmoeglichkeiten sollten jedenfalls kein problem sein.
einen special guest haben wir schon: menace wird vorbeischauen.

ariana

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch (Kartoffel, 27. Mai 2000, 22:29:40):
~#! rn=Nonne rt=959326333 rg=treffen
~#! tid=959244522

Hmpf, na dann viel Spass Euch.

'Toffel

-----------------------------------------------------------------------------



Re: Re: Irgendwer in Wuerzburg? (Sorcerer, 28. Mai 2000, 22:53:07):
~#! rn=Sorcerer rt=959201404 rg=treffen
~#! tid=959172148
Nochmal zur Bestaetigung:

der erste offizielle Wuerzburger MG-StaTi der "Neuzeit" findet  

am Freitag, 2.6.2000
um 20:00 Uhr
im Hexenkessel (Brasserie No.1) in Wuerzburg 

statt. Bisher haben sich fuer dieses Ereignis Thufhir, Ezo, Phun, Galbraith
und ich zusammengefunden - und vielleicht noch ein Special Guest...

Anmeldungen an mich per Mail, wenn moeglich bis Dienstag abend zwecks
Tischreservierung.

Sorcerer

-----------------------------------------------------------------------------



Re: stati in MS am 31.5. (Jameson, 28. Mai 2000, 22:53:25):
~#! rn=Ariana rt=959453409 rg=treffen
~#! tid=959453409
Ohne viel Federlesens hier einfach die Wegbeschreibung zu John Doe's Diner,
Spiekerhof 44:

mit oeffentlichen Verkehrsmitteln:
mit der Bimmelbahn bis MS Hbf
zum Bussteig C1 (Linie 5 Richtung Nienberge) oder C2 (Linie 6 Richtung
Kinderhaus Brueningheide), in einen Bus einer der beiden Linien steigen
und ganz einfach bis zur Haltestelle Spiekerhof fahren.
Vielleicht sollte man dann nicht allzu spaet kommen, denn sonst verpasst
man nicht nur einen genialen Stammtisch, sondern hat kaum was davon,
weil die Busse abends nicht ewig fahren :) Uebernachtungswuensche bitte
rechtzeitig bekanntgeben.

mit dem Auto:
an der Abfahrt Muenster-Sued auf die B 51 rein nach Muenster, immer
geradeaus auf die Weseler Strasse. Irgendwann sollte links der Schloss-
platz zu sehen sein, von da aus sind es noch ca. 500 m , bis die
inzwischen zum Hindenburgplatz mutierte Strasse nach halblinks zum Neutor
wird und rechts als innerer Ring zur Muenzstrasse.
In letztere abbiegen, hinterm mittelalterlichen Buddenturm zur Linken
kommt auf der gleichen Seite bald die Johanneskapelle, dahinter geht's
links in die Tibusstrasse (Parkhaus, wer's will) und rechts in die
Bergstrasse (Fussgaengerzone), die muendet direkt in den Spiekerhof.

jAmeson

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe faellt aus (Boing, 28. Mai 2000, 23:25:59):
Diesen Donnerstag faellt der Stammtisch in Karlsruhe, der normalerweise
um 20 Uhr im Kleinen Meierhof stattfindet aus wegen Feiertag (welcher
ueberhaupt?). Ersatzveranstaltungen sind bisher nicht geplant, kann
sich aber durchaus noch aendern.
  Boing

-----------------------------------------------------------------------------



Re: stati in MS am 31.5. (Catweazle, 29. Mai 2000, 09:01:28):
~#! rn=Ariana rt=959453409 rg=treffen
~#! tid=959453409
Hah!

John Doe's!

Endlich mal nen vernuenftiger Vorschlag. Kinners, wenn ihr nur 
halbwegs gescheit seid, dann kommt ihr da vorbei. Bei John Doe's 
gibts naemlich suuuuuuperleckere Burger! Jawoll! Wer sich die entgehen laesst
ist selber Schuld. Ich finde dafuer kann man problemlos die Gesellschaft von
verfilzten Muensteranern ertragen.

Yours truly,
     Catweazle (95%)

-----------------------------------------------------------------------------



Re: Re: stati in MS am 31.5. (Gorog, 29. Mai 2000, 11:53:06):
~#! rn=Catweazle rt=959583688 rg=treffen
~#! tid=959453409
Hmmm bei einer solchen Lobpreisung werde ich doch glatt vorbei schaun...
Gorog 100%

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 29. Mai 2000, 12:37:46):
Huhu zusammen,

Freitag ists mal wieder soweit, Stammtisch in Aachen :-)
Seit ner Weile mal wieder am 1.Freitag im Monat, wo er eigentlich hingehoert
*g*

ab 20h im Chico Mendes, feru Wegbeschreibungen/Uebernachtunsmoeglichkeiten
kurz bei Fizban oder mir melden :)

Bis denn, Darkwing

-----------------------------------------------------------------------------



Re^3: stati in MS am 31.5. (Anatol, 29. Mai 2000, 14:07:46):
~#! rn=Gorog rt=959593986 rg=treffen
~#! tid=959453409
Nur bitte: Nennt diese Veranstaltung nicht "Stammtisch". Denn ein
Stammtisch zeichnet sich doch eigentlich durch "gewohnter Ort, gewohnte
Zeit" aus.

Anatol

-----------------------------------------------------------------------------



Re^4: stati in MS am 31.5. (Gorog, 29. Mai 2000, 19:25:21):
~#! rn=Anatol rt=959602066 rg=treffen
~#! tid=959453409
Naja zwecks Traditionsbruches sind wir im Moment (auch schon etwas laenger)
halt mal auf der Suche nach einem geeigneten Ort. Nicht gleich das erstbeste
soll es sein und daher dauert das ganze etwas. Und immer hin wird der Ort
immer an gewohnter Stelle bekanntgegeben (auch wenn wir da dann nicht immer
bleiben (:  )

Gorog findet Keipenhopping nicht allzu schlecht, und sieht endlich mal mehr
von Muenster als Labore.

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 29. Mai 2000, 23:08:24):
Auf vielfachen Wusch dieses Mal wieder Montags.
Ich hatte mal den 19. Juni angedacht. 

Liara, Zwergenzauberine, wartet auf Meinungen

-----------------------------------------------------------------------------



Re^7: MS StaTi 24.5.2000 (Grimman, 29. Mai 2000, 23:27:04):
~#! rn=Ariana rt=959452999 rg=treffen
~#! tid=958955572
Hmmm ja Narena :) die hab ich schon ne ganze Weile nicht gesehen, und dich
auch nicht ... 




AENDERT DAS BALD MAL :)

GrimMan ... versucht es auf allen Wegen ...

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Cinderella, 30. Mai 2000, 09:08:08):
~#! rn=Liara rt=959634504 rg=treffen
~#! tid=959634504

Also ich bin dabei ;))

Wann, wie, wo?

Cinderella

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 30. Mai 2000, 13:45:48):
~#! rn=Liara rt=959634504 rg=treffen
~#! tid=959634504
Ok, versuchen wir uns mal an den Termin 1. Montag im Monat zu halten.

Stammtisch BONN also am 5. Juni wie gehabt in der Harmonie in Endenich. Bidde
Mail an mich wegen Tischbestellung. :-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Humni, 30. Mai 2000, 13:50:57):
~#! rn=Darkwing rt=959596666 rg=treffen
~#! tid=959596666
Hmm...

ich bin mir nicht ganz sicher, aber sind an dem Tag nicht die ganzen Kneipen
in
Aachen geschlossen wegen Bill Clinton, der diesen komischen 
Karlspreis kriegt??

Um Klarheit bittend,

Humni
PS: Irgendwann lerne ich das mit den Formatierungen auch noch.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Aachen (Panic, 30. Mai 2000, 13:51:48):
~#! rn=Humni rt=959687457 rg=treffen
~#! tid=959596666
urgs, den hab ich ja voellig vergessen ... ich frag auf dem Heimweg mal im
Chico

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Aachen (Liara, 30. Mai 2000, 13:52:08):
~#! rn=Humni rt=959687457 rg=treffen
~#! tid=959596666
Wofuer bekommt der den Karlspreis? Mochte Karl auch Zigaretten? ;-)

Liara, Zwergenzauberine, schmarrnt

-----------------------------------------------------------------------------



Re^3: Stammtisch in Aachen (Humni, 30. Mai 2000, 14:03:24):
~#! rn=Liara rt=959687528 rg=treffen
~#! tid=959596666
Nein, das ist ein Preis fuer Europa. Er kriegt den Preis wohl,
weil er mit seinen Handeldrohungen dafuer gesorgt hat, dass
Europa einen gemeinsamen Feind hat, und so naeher zusammenrueckt.
War zumindest unsere Theorie beim Essen eben. ;-)
Die Vergabekriterien dieses Preises sind jedenfalls ein
wenig schleierhaft. Ich hab halt nur geruechteweise
gehoert, dass dann alle Kneipen zwangsweise zu sind, 
genaues weiss man nicht.

Humni, diesmal schon viel besser auf die Zeilen geachtet habend.
PS: Dass Karl der Grosse ein echter Europaer war, ist ja auch 
klar. ;-) Und Clinton wird vermutlich sagen : Ich bin ein 
Aachener. Oder sowas. In Anlehnung an Kennedy vermutlich
aber eher: Ich bin eine Printe.


-----------------------------------------------------------------------------



Re^4: Stammtisch in Aachen (Liara, 30. Mai 2000, 14:06:22):
~#! rn=Humni rt=959688204 rg=treffen
~#! tid=959596666
Naja, dann weiss ich ne Loesung ...
Ihr kommt alle am Montag nach Bonn. :-)

Liara, Zwergenzauberine, organisiert ;-)

-----------------------------------------------------------------------------



Re^5: stati in MS am 31.5. (Catweazle, 30. Mai 2000, 14:46:59):
~#! rn=Gorog rt=959621121 rg=treffen
~#! tid=959453409
Apropos Kneipenhopping. 
Um alte Flames mal wieder anzufachen und die allgemeine Verwirrung zu
steigern:
Wenn wir ins John Doe's gehen, dann sollten wir uns ueberlegen das dann doch
lieber wieder am Dienstag zu machen, dann ist naemlich Burgertag und aller
Burger sind 5DM billiger. 
Ich war da uebrigens erst gestern, Montags ist naemlich Rippchentag, 'all you
can eat' fuer vierzehn fuffzig, wie waers denn damit? :)

YTC

-----------------------------------------------------------------------------



Stati in B (Gloin, 30. Mai 2000, 14:53:27):
Hiermit lade ich Euch herzlich zum StaTi in Berlin aus. Jawoll aus. Wir
ham die dauernden Besucher satt, genau! Drei Stammtische in einem Monat,
langsam reichts aber, die Blutbank beschwert sich schon ueber meine
Leberwerte!
Die geplagte Nichtanwesendenschaft der Gammelmudder Berlins beschliesst
hiermit den naechsten StaTi zu verlegen :]

Gloin

PS: Baeh, Gnome!
PPS: Baeh, Guard!
PPPS: Wenn ihr das am Freitag lest: Waert ihr mal mit nach DD gekommen!

-----------------------------------------------------------------------------



Re: Stati in B (Catweazle, 30. Mai 2000, 14:59:16):
~#! rn=Gloin rt=959691207 rg=treffen
~#! tid=959691207
Na da sieht man dann doch endlich mal wieder, das Muensteraner 
trotz allem immer noch die anfuehrenden Trendsetter sind.
Stabilitaet ist voll out. Flexibilitaet ist in. 
Ist doch voll langweilig, wenn jede Woche glasklar ist, was abgeht,
in Muenster (und jetzt wohl auch in Berlin, jawoll :-) ist wenigstens noch
der echte Abenteurer gefragt der sich durch den groebsten 
Informationsdschungel zu seinem Stammtisch durchzuschlagen hat :-)

YTC *Boing die Zunge rausstreckend*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Aachen (Nicktar, 30. Mai 2000, 18:21:16):
~#! rn=Humni rt=959687457 rg=treffen
~#! tid=959596666
Hi,

Also gesperrt wird meines Wissens nach nur bis unten am wiehesiternochgleich 
Anutiatenbach und ich hoffe doch mal, dass der sich um die Uhrzeit schon
wieder
verpisst hat. 
Bis zum Chico Mendes sollten wir aber auf jeden Fall kommen...

Denke ich

Nicktar

-----------------------------------------------------------------------------



Re: Stati in B (Guard, 31. Mai 2000, 09:06:32):
~#! rn=Gloin rt=959691207 rg=treffen
~#! tid=959691207
Schaem Dich Gloin!

Die Leute so zu verunsichern .... tststs- - hier die offizielle ...

Am Freitag dem 2.6. um 20.00 Uhr im Seeblick (also alles wie gewohnt) ist:
BERLINER STAMMTISCH!!!!!!!!!!!
Es werden wieder viele Leute da sein - egal wo die ihren Herrentag feiert
(nicht wahr Gloin !!! :-)))

Und nu Schluss mit dem Gemecker!

Guard
*sich auf den 3. Stati im Monat freuend*

-----------------------------------------------------------------------------



Re: Re: Stati in B (Muadib, 31. Mai 2000, 20:11:41):
~#! rn=Catweazle rt=959691556 rg=treffen
~#! tid=959691207
hmm bei uns ist halt der stammtisch das abenteuer und nich der weg :)


-----------------------------------------------------------------------------



Re^3: Stati in B (Mupfel, 31. Mai 2000, 21:50:57):
~#! rn=Muadib rt=959796701 rg=treffen
~#! tid=959691207
Irgendwann im juli dann.... werde ich das verifizieren - oder es zumindest
versuchen ;)

-mupfel-

-----------------------------------------------------------------------------



Karlsruhe -> Elsass (Hobo,  1. Jun 2000, 11:36:52):
Hallo Ihr Leute,

Wie ab und zu mal werden wir uns mal wieder ins Elsass zum Flammkuchen-Essen
begeben. Tag der Schlemmerei ist Samstag, der 24.6. Damit wir auch genuegend
Platz und Rose bekommen, bitte ich um Rueckmeldung bei mir, wer alles
mitkommen will!
Natuerlich findet der normale Stammtisch im Kleinen Meierhof am 22. trotzdem
statt - wir sind schliesslich keine Weicheier! :)

  Hobo - freut sich schon

-----------------------------------------------------------------------------



Re: Karlsruhe -> Elsass (Mupfel,  1. Jun 2000, 16:44:48):
~#! rn=Hobo rt=959852212 rg=treffen
~#! tid=959852212
Wenn das nur nich immer so weit wech waer....

-mupfel- (*sabber*)

-----------------------------------------------------------------------------



Re: Stati Halle (Cassandra,  2. Jun 2000, 21:16:21):
~#! rn=Cassandra rt=959244148 rg=treffen
~#! tid=959244148
So die Kneipe steht jetzt auch fest:
Das "YumYum" bei guten Wetter draussen bei schlechten drinne
Wegbeschreibung gibts wie immer bei mir

Cassy
P.S. Wer nett wenn ihr mir bescheidsagen wuerdet, damit ich weis wieviele
kommen

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Liara,  4. Jun 2000, 18:15:53):
~#! rn=Liara rt=959687148 rg=treffen
~#! tid=959634504
          ***** Stammtisch Bonn am 5. Juni 2000 *****

***** in der HARMONIE in Endenich, Frongasse 30, um 20 Uhr *****  

Tisch ist bestellt auf den Namen MorgenGrauen. Bisher so 10 Leute mit
Interesse, ich geh mal davon aus, dass es evtl. etwas mehr werden.

Liara, Zwergenzauberine, ohne Zeit zum Organisieren

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  4. Jun 2000, 23:09:37):


Achtung, diesen Monat wieder am _dritten_ Freitag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 16.6. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



MS StaTi 6.6.00 (Foobar,  6. Jun 2000, 14:39:19):
Moin.

Am 6.6.00 findet der StaTi MS wie am jeden ersten Mittwoch im Monat im Alabama
statt.

Ich bitte um reges Erscheinen.

Bis morgen,

     Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 6.6.00 (Gorog,  6. Jun 2000, 15:24:30):
~#! rn=Foobar rt=960295159 rg=treffen
~#! tid=960295159
Not avaiable. 
Gorog -1 

-----------------------------------------------------------------------------



Re: MS StaTi 6.6.00 (Wargon,  6. Jun 2000, 17:41:40):
~#! rn=Foobar rt=960295159 rg=treffen
~#! tid=960295159
Nicht nur, dass in MS dauernd die Kneipe wechselt, jetzt wechselt schon in den
Ankuendigungsartikeln der Wochentag (wann jetzt, am 6.6., also heute,
Dienstag, oder am 7.6., also Mittwoch?)
Kriegt man eigentlich einen ausgegeben, wenn man schafft, zur rechten Zeit am
rechten Ort zu sein? :)))
  Wargon
PS: Oder ist das ganze ne Art verstreckter RL Quest? :)

-----------------------------------------------------------------------------



Re: Re: MS StaTi 6.6.00 (Foobar,  6. Jun 2000, 17:57:12):
~#! rn=Wargon rt=960306100 rg=treffen
~#! tid=960295159
Huch.

Natuerlich war der 7.6. gemeint, also der morgige Mittwoch.

Und wenn man einen ausgegeben bekaeme haette ich schon verdammt oft einen
bekommen. :o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: MS StaTi 6.6.00 (Gorog,  7. Jun 2000, 20:22:47):
~#! rn=Wargon rt=960306100 rg=treffen
~#! tid=960295159
naja ganz ohne Probleme darfs ja auch nicht sein (; Dafuer ist die Belohnung
ueberragend (; *protz*

Gorog wohl doch anwesend zumindest physisch

-----------------------------------------------------------------------------



StaTi in Muenchen (Koomiker, 11. Jun 2000, 16:47:33):
An alle Interessierten und solche, die noch nicht wissen, dass sie
interessiert sind ;)

Wir erwarten mal wieder Special Guests in Muenchen und wollen diese mit einem
Stammtisch ehren.
Erwartet werden Cisou, Puk und Vampire.
Aufgrund der jahreszeitlichen Voraussetzungen soll das Treffen am Flaucher
stattfinden. Es wird also gegrillt :)
Falls wer Vegetarier ist: keine Sorge, bin ich auch ;) Wir werden mit
Sicherheit auch satt werden.
Fuer das genaue Datum werden noch Vorschlaege entgegengenommen. Entweder
Freitag, weil immer Freitag Stammtisch ist(das ist aber nicht _der_
Super-Grund) oder Samstag, weil man sich da auch schon nachmittags treffen
kann. Ich persoenlich waere fuer Samstag...

Also, wegen der Vorschlaege: Mail an Reaper oder mich.
Wo das ganze dann genau stattfinden soll, koennt Ihr wie immer unter
www.dmsp.com/mg herausfinden.

Ach ja, Anmeldungen sind unbedingt noetig, um die Einkaeufe zu organisieren.
Also kurze Mail mit Info, ob vegetarisches Essen gewuenscht wird oder nicht,
an Reaper oder mich.
Wer einen Grill hat, melde sich bitte auch per Mail.
Und zu guter letzt: Wer Salate oder sonstige Fressalien oder Getraenke
mitbringen will, melde sich bitte auch per Mail.

Viele Gruesse,
Koomiker (zittert schon in banger Erwartung einer riesigen Mail-Flut)

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Hight, 11. Jun 2000, 17:39:30):
~#! rn=Koomiker rt=960734853 rg=treffen
~#! tid=960734853
sag mir datum sag ich ob ich komme ,o)

hight kurz und knapp

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Wurzel, 11. Jun 2000, 19:44:40):
~#! rn=Koomiker rt=960734853 rg=treffen
~#! tid=960734853
voraussichtlich dabei. wenn ich nicht grad was anderes vorhab, samstag ist da
nicht wirklich ein optimaler termin... es sei denn im august/september, so
weit hab ich noch nicht vorgeplant :)

wurzel

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Leibniz, 11. Jun 2000, 19:47:26):
~#! rn=Koomiker rt=960734853 rg=treffen
~#! tid=960734853
Termin?

leibi

-----------------------------------------------------------------------------



Re: StaTi in Muenchen (Koomiker, 11. Jun 2000, 23:26:21):
~#! rn=Koomiker rt=960734853 rg=treffen
~#! tid=960734853
Aaalsooo...

Der Stammtisch findet am Freitag, dem 23.06.2000 am Flaucher statt.
Nhere Informationen finden sich - ich korrigiere meine vorherige Behauptung -
unter www.dmsp.com/service/mg.
Anmeldungen werden ebenfalls dort entgegengenommen ;)

Na, dann hoffe ich mal auf rege Teilnahme :)

CU,
Koomiker

-----------------------------------------------------------------------------



Re: Re: StaTi in Muenchen (Rowan, 12. Jun 2000, 00:45:07):
~#! rn=Koomiker rt=960758781 rg=treffen
~#! tid=960734853

Vielleicht gibts noch nen Ausweichort, falls uns der Muenchner Foen im Stich
laesst?

Cisou

-----------------------------------------------------------------------------



Stammtisch D'dorf (Kartoffel, 12. Jun 2000, 22:26:21):


Nochmal zur Erinnerung:
diesen Monat wieder am _dritten_ Freitag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 16.6. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



stati in muenster am 14.6. ? (Ariana, 13. Jun 2000, 13:12:16):
hmm, was ist los? kein stati diesen mittwoch?
machen wir das, um die rl-quest spannender zu machen, oder isses verpennt
worden?
naja, wenn bis heute abend nix naeheres hier steht, dann reservier ich im
ipanema...
ariana

-----------------------------------------------------------------------------



Re: stati in muenster am 14.6. ? (Foobar, 13. Jun 2000, 14:00:44):
~#! rn=Ariana rt=960894736 rg=treffen
~#! tid=960894736
Moin :o)

Ariana, ich schaetze Deinen Enthusiasmus (oder wie das heisst). :o)

Natuerlich findet der StaTi statt.

Bis morgen,

    Foobar

PS: Ariana, Du reservierst also?

-----------------------------------------------------------------------------



Re: Re: stati in muenster am 14.6. ? (Gorog, 13. Jun 2000, 14:12:15):
~#! rn=Foobar rt=960897644 rg=treffen
~#! tid=960894736
Hiermit gebe ich meine Abwesenheit bekannt. Allerdings koennte es sein, dass
Tele von mir zu spaeterer Stunde eintreffen.
 mfG  Gorog

-----------------------------------------------------------------------------



SUGI ach nee der Critter hat Durst. (Critter, 13. Jun 2000, 16:59:30):
Sodele morgen is mal so spontan n Stammtisch in Koeln oder wie immer man das
auch nennen moechte.
Jedenfalls schreib ich einfach mal die Daten hier hin.

Am 14.06.00
Um 19:00 - 19:30 
Wo Im Keldenich
Wer nicht weiss wos ist, bitte mail an mich oder jeden braven Koelner, ders
erklaeren kann... oder an Dr. Sommer.
in ganz grossen Notfaellen, wenn keiner erreichbar ist,
koennter ausnahmsweise auch mal mich anrufen, 
tel.: 0177/ 7964438
gruss critter

-----------------------------------------------------------------------------



Nachtrag (Critter, 13. Jun 2000, 17:08:21):
Die Adresse ist Weyertalstr.47 in der Naehe der Uni...

-----------------------------------------------------------------------------



stati in MS am 14.6.00 (Ariana, 13. Jun 2000, 21:11:36):
ich reservier dann also mal:)
im ipanema fuer 20.00 uhr...braucht noch wer wegbeschreibungen oder ist das
warmduscherei?

ariana

-----------------------------------------------------------------------------



Re: SUGI ach nee der Critter hat Durst. (Wurzel, 13. Jun 2000, 21:58:44):
~#! rn=Critter rt=960908370 rg=treffen
~#! tid=960908370
das nenne ich oekonomisch. nicht diese lange rumlaberei, sitzen bis der
arsch breit wird, sondern kurz und knackig:
>Um 19:00 - 19:30
ein mg-stammtisch in einer halben stunde ist reif fuer das guinness-buch.
wer bietet weniger?

wurzel

-----------------------------------------------------------------------------



Karlsruhe -> Elsass (Hobo, 14. Jun 2000, 13:27:33):
Unser Flammkuchen essen muss leider verschoben werden (dass die Leute auch
staendig heiraten muessen....).
Neuer Termin ist der Freitag vor dem geplanten Samstag, also der 23.6.
Und Anmeldungen waeren immer noch ne feine Sache :)

    Hobo

-----------------------------------------------------------------------------



Re: Karlsruhe -> Elsass (Pardauz, 14. Jun 2000, 15:20:34):
~#! rn=Hobo rt=960982053 rg=treffen
~#! tid=960982053
trifft sich gut ... BIN DABEI!
  Pardauz

-----------------------------------------------------------------------------



Re: Karlsruhe -> Elsass (Zephyr, 14. Jun 2000, 21:48:34):
~#! rn=Hobo rt=960982053 rg=treffen
~#! tid=960982053
Tja.. damit hast Du Dir dann leider 4 ABmeldungen eingehandelt..
Schade..
C4

-----------------------------------------------------------------------------



Re: Karlsruhe -> Elsass (Bambi, 15. Jun 2000, 11:02:49):
~#! rn=Hobo rt=960982053 rg=treffen
~#! tid=960982053
An dem Termin kann ich nicht.
(Kurz und knapp)

-----------------------------------------------------------------------------



Sonderstammtisch in Bonn (Cinderella, 18. Jun 2000, 21:59:46):
Hallo zusammen,
da naechste Woche Freitag sowohl Noel als auch Stopdenbus in Bonn sind,
wollten wir einen ausser der Reihe Stammtisch machen.
Wer Lust hat sich daran zu beteiligen, bitte Mail an Liara oder mich, damit
wir wissen wieviele Tische ;) wir bruchen.


Cinderella


P.S. Zahlreiche Teilnahme wird gerne gesehen.

-----------------------------------------------------------------------------



StaTi MS 21.6.00 (Foobar, 18. Jun 2000, 22:15:38):
Moin.

Am kommenden Mittwoch findet natuerlich wieder der Muensteraner Stammtisch
statt, wieder im Ipanema um 20.00.

Wer eine Wegbeschreibung braucht, wende sich vertrauensvoll an mich :o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Sonderstammtisch in Bonn (Mupfel, 18. Jun 2000, 22:15:46):
~#! rn=Cinderella rt=961358386 rg=treffen
~#! tid=961358386
30. juni?

m.

-----------------------------------------------------------------------------



Re: Re: Sonderstammtisch in Bonn (Mirjam, 18. Jun 2000, 23:32:13):
~#! rn=Mupfel rt=961359346 rg=treffen
~#! tid=961358386
Termin: 23. Juni 2000, in der Harmonie wie gehabt, 20 Uhr, Mails wegen
Reserierung erforderlich.
Nutzt die Gelegenheit! Endlich ein Stati vor dem WE, also keine Ausreden mehr!
;-)

Mirjam, in Vertretung von Zwergenzauberine Liara

-----------------------------------------------------------------------------



Re: StaTi MS 21.6.00 (Gorog, 19. Jun 2000, 11:04:19):
~#! rn=Foobar rt=961359338 rg=treffen
~#! tid=961359338
Gorog muss mal wieder bis abends durch Baeche stapfen,a lso wirds spaeter oder
gar nichts wenn die Baeche zu reissenden Stroemen werden.

*grins*

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch in Bonn (Gorog, 19. Jun 2000, 11:06:08):
~#! rn=Mirjam rt=961363933 rg=treffen
~#! tid=961358386

Schade am 30. waer ich eh in der Gegend, zumindest wahrscheinlicher als am 24.
):

Gorog sagt: Umsonst und draussen is immer gut.

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch in Bonn (Anarinya, 19. Jun 2000, 20:14:04):
~#! rn=Mirjam rt=961363933 rg=treffen
~#! tid=961358386
Kleiner Nachtrag:
Da ich an Liaras Mails bis Freitach nich rankomme (zumindest wenn sie nicht
aus dem Mud geschickt werden), Mails bidde an Mirjam wegen
Anmeldung/Wegbeschreibung. Habe letztere quasi griffbereit, dann muss
Cinderella sich nicht noch mit Stadt-/und Bussplaenen quaelen.
Weatherwax' und Asukas Mails sind eingetroffen, andere bidde nochmal senden.
;-)

Mirjam, i. V. Liara

-----------------------------------------------------------------------------



Re^3: Sonderstammtisch in Bonn (Mupfel, 19. Jun 2000, 20:15:00):
~#! rn=Mirjam rt=961363933 rg=treffen
~#! tid=961358386
doch ausrede: muss arbeiten ;(

m.

-----------------------------------------------------------------------------



StaTi in Muenchen (Satura, 20. Jun 2000, 11:08:09):
Hallo an alle Interessierten!
Ich moechte nochmals darauf hinweisen, dass eine Anmeldung zu diesem
Stammtisch absolut notwendig ist, sofern man daran teilnehmen moechte.
Wie ja inzwischen bekannt sein duerfte, wird an der Isar gegrillt. Es muessen
also Vorbereitungen geetroffen werden bezueglich Essen und Getraenke sowie
Grills.
Wer sich nicht anmeldet, geht also unter Umstaenden leer aus!
Das wollen wir ja nicht.

Also, Anmeldung unter www.dmsp.com/service/mg

Gruss, 
Satura

-----------------------------------------------------------------------------



Re: Re: StaTi MS 21.6.00 (Ariana, 20. Jun 2000, 12:18:42):
~#! rn=Gorog rt=961405459 rg=treffen
~#! tid=961359338
ich werde wohl auch etwas spaeter kommen, dafuer bring ich den menace mit:)

ariana

-----------------------------------------------------------------------------



Radsternfahrt nach Thallwitz (Deepblue, 21. Jun 2000, 12:11:49):
Nur falls es jemand interessiert. Dieses Wochenende gibts ne groessere
Radsternfahrt nach Thallwitz an der Mulde (das ist Grossraum Leipzig). Das
Ganze wird vom ADFC Landesverband Sachsen organisiert. Freitag gibts unter
anderem ein grosses Johannisfeuer, am Samstag eine NaTour und eine KulTour...
Quartiere Turnhalle, Zeltplatz oder Privatquartiere...
Naehere Infos per Mail an mich.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe faellt aus (Boing, 21. Jun 2000, 17:54:24):
Morgen ist wegen Feiertag kein Stammtisch in Karlsruhe. Ab naechste
Woche dann aber wieder wie gehabt jeden Donnerstag um 20 Uhr im 
Kleinen Meierhof.
  Boing

-----------------------------------------------------------------------------



Re^4: Sonderstammtisch in Bonn (Liara, 22. Jun 2000, 11:32:10):
~#! rn=Anarinya rt=961438444 rg=treffen
~#! tid=961358386
Ogee, letze Chance fuer Stati Bonn morgen. Bisher 10 Leute (+ Elendil und
Spellfire?)
Bidde Mail an mich. Ruehrt Euch. :-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Stati in DD (Sniper, 22. Jun 2000, 16:08:00):
Hallo Leute, 
es ist mal wieder soweit, Stati in der schoenen Landeshauptstadt Sachsens :-)
Wir treffen uns wie immer im CD, wie immer um 20h und das Ganze naechsten
Dienstag. Fuer Fragen den Weg betreffend oder allgemeiner Natur stehe ich wie
immer gern zur Verfuegung ;-)
Bleibt also fast alles, wie immer.

Bis dahin
Sniper

-----------------------------------------------------------------------------



STATI in MUENCHEN , Achtung AENDERUNG !  (Khorak, 23. Jun 2000, 14:32:34):
Aufgrund der Wetterlage muss das Grillen an der Isar ausfallen. :(
Wir treffen uns stattdessen im
Wirtshaus zum Isartal , Brudermhlstrasse 2
Liegt ganz in der Naehe des usrspruenglichen Treffpunkts, 
mit Stadtplan nicht zu verfehlen :-)
U-Bahn-Station Brudermuehlstrasse
Zeitpunkt 19 Uhr, Stichwort Morgengrauen 
Der Laden ist unter 089/772121 zu erreichen, falls sich wer verlaeuft.
Wir hoffen auf zahlreiches Erscheinen !
i. A. von Org.Team
Ron 

-----------------------------------------------------------------------------



karlsruhe -> elsass (Muadib, 23. Jun 2000, 17:20:24):
hi,

hmm da hobo nix geschrieben hat ganz kurzfristig:
wir treffen uns um 18.00 auf dem parkplatz hinter dem hoersaal am
fasanengarten hinter der neuen info. nur fuer die die kommen wollen.

mua

-----------------------------------------------------------------------------



MS StaTi _nicht_ am 28.6.00, sondern am 26.6.00 (Foobar, 24. Jun 2000, 22:59:40):
Moin.

Der Stammtisch in Muenster findet naechste Woche _nicht_ am Mittwoch sondern
beretis am Montag, dem 26.6.00 statt.

Ausserdem findet er _nicht_ im Ipanema, sondern im "Jorn Doe's Diner",
Spiekerhof 44 statt (was allerdings ziemlich in der Naehe vom Ipanema liegt).

Wegbeschreibungen gibts bei Anatol oder bei Obi ;o)

Bis dann,

     Foobar

PS: In Ausnahmefaellen rueck ich auch ne Wegbeschreibung raus.

-----------------------------------------------------------------------------



Re: MS StaTi _nicht_ am 28.6.00, sondern am 26.6.00 (Foobar, 24. Jun 2000, 23:00:30):
~#! rn=Foobar rt=961880380 rg=treffen
~#! tid=961880380
*raeusper*

Die Kneipe heisst natuerlich "John Doe's Diner".

Gruss,

     Foobar

-----------------------------------------------------------------------------



Auch Hamburger haben Durst :-) (Bielefeld, 27. Jun 2000, 10:32:18):
Moin!

Auch in Hamburg gibt es noch ein paar Gelegenheitsmudder, die
sich ab und an in wechselnden Kneipen treffen.

Diesmal haben wir uns fuer Donnerstag, den 29.6., ab ca. 19 Uhr
die Backatelle in Hamburg-Barmbek, Ecke Fuhlsbuettler Strasse /
Hellbrookstrasse ausgeguckt. Und da der Vorschlag von Troy kam,
darf er auch auf Anfrage Wegbeschreibungen verschicken ;-)
(sollte aber fuer Hamburger problemlos zu finden sein)

Knuddels,
Bielefeld

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 28. Jun 2000, 21:05:49):
am 8. juli ist mal wieder stati in stuttgart.
20 uhr im pfannkuchen, wegbeschreibungen gibts bei imda.
ansonsten 5 vor 8 am media mart vor dem hbf in STUTTGART (gell slyfox?)

bis denn

leibi

-----------------------------------------------------------------------------



Re: stati stuttgart (Leibniz, 28. Jun 2000, 21:15:40):
~#! rn=Leibniz rt=962219149 rg=treffen
~#! tid=962219149
oki die kneipe heisst net pfannkuchen, sondern backofen, aber pfannkuchen kann
man da essen :)

adresse ist bolzstrasse 8

leibi

-----------------------------------------------------------------------------



Stati Bonn (Liara, 28. Jun 2000, 21:22:06):
Wenn Keksie so schoen in Fahrt is, muss ich auch mal was schreiben. ;-)

Da viele Leute wegen des Bonner Stammtischs nachgefragt haben: der Termin
waere ja normalerweise der erste Montag im Monat, also der 3. Juli. Da wir
aber grade mal wieder 2 Treffen im Juni hatten :-), wird der Stati auf die
Woche vom 10. bis 16 Juli verschoben. 

Wir sind offen fuer Vorschlaege, die den Wochentag betreffen. ;-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Stati in NBG (Devilchen, 29. Jun 2000, 11:49:04):
Es ist mal wieder soweit, Stammtisch in Nuernberg...
Da Lurchi am 15.7. auf Durchreise ist, machen wir da nen Stati:) Ort und
Zeitpunkt wird noch bekannt gegeben...wird wohl auf Biergarten bei gutem
Wetter bzw. wieder mal Galerie (die findet mittlerweilen jeder denk ich;)) bei
schlechtem Wetter rauslaufen...ich klaer das noch mit faehigen Leuten (ich red
von Hero und Hight;)) ab:)
ich hoff dann mal auf zahlreiches erscheinen;)
Dev*

-----------------------------------------------------------------------------



Re: Stati in NBG (Devilchen, 29. Jun 2000, 12:02:37):
~#! rn=Devilchen rt=962272144 rg=treffen
~#! tid=962272144
und gleich die Korrektur hinterher....und zwar wird der stati _nicht_ am 15.7.
stattfinden sondern am ___14.7.___, dann kann Generaelchen Karis naemlich
auch:)
Dev*

-----------------------------------------------------------------------------



Re: Stati in NBG (Hight, 29. Jun 2000, 12:43:24):
~#! rn=Devilchen rt=962272144 rg=treffen
~#! tid=962272144
mich als faeig zu bezeichnen grenzt fast schon an ne frechheit meine leibe
*eg*

hight sich gegen solche aussagen wehrend

-----------------------------------------------------------------------------



Stammtisch in Aachen (Darkwing, 29. Jun 2000, 12:49:18):
Huhu zusammen :)

Also theoretisch waere der Stati ja naechste Woche... da von den 6 Leuten die
gestern mit im Kino waren an dem Termin nicht ein einziger kann... wirds wohl
eine Woche spaeter.

Also am 14.7. im Chico Mendes ab 20h.

Bis denne, fuer Wegbeschreibungen/Uebernachtungsmoeglichkeiten einfach melden
:-)

Darkwing

-----------------------------------------------------------------------------



Re: Re: Stati in NBG (Devilchen, 29. Jun 2000, 13:01:13):
~#! rn=Hight rt=962275404 rg=treffen
~#! tid=962272144
da meint mans ein einziges mal gut....;) aber gut, dann will ich meine aussage
korrigieren, ich werde mich mit absolut unfaehigen leuten, die keine ahnung
von gar nix haben kurzschliessen, und dann wird ort und zeit bekannt
gegeben...
Dev*

-----------------------------------------------------------------------------



Re^3: Stati in NBG (Boing, 29. Jun 2000, 13:01:57):
~#! rn=Devilchen rt=962276473 rg=treffen
~#! tid=962272144
Das wird ja ne geniale Planung ... ;)

  Boing

PS: Findet die naechste Winterparty in Erlangen statt? :)

-----------------------------------------------------------------------------



Re: Stammtisch in Aachen (Liara, 29. Jun 2000, 13:59:40):
~#! rn=Darkwing rt=962275758 rg=treffen
~#! tid=962275758
Naja, wenn Aachen auf den Termin verlegt wurde, koennen wir Bonn wohl erstmal
knicken.

Liara, Zwergenzauberine, angesaeuert

-----------------------------------------------------------------------------



Re^4: Stati in NBG (Anacrion, 30. Jun 2000, 08:40:37):
~#! rn=Boing rt=962276517 rg=treffen
~#! tid=962272144
Hmmm. Jetzt wollte ich grade schon ein 'komme'-Artikel schreiben, aber so ...
Na ja. MAl sehen, wanns jetzt steigt ..

Anac*

-----------------------------------------------------------------------------



MS StaTi 5.7.00 (Foobar, 30. Jun 2000, 14:34:48):
Huhu allerseits!

Am kommendem Mittwoch, dem 5.7.00, finder der StaTi in Muenster wie jeden
ersten Mittwoch im Monat im Alabama statt.

Wer eine Wegbeschreibung braucht, fragt bitte Brandir.

Bis dann,

     Foobaerchen

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Roadrunner,  1. Jul 2000, 23:57:46):
~#! rn=Leibniz rt=962219740 rg=treffen
~#! tid=962219149
hmm - naja - backofen -hoffentlich macht das wetter mit und es regnet - sonst
koennts wirklich einer werden. in der naehe des merlin (S-Bahn schwabstrasse)
hb ich letztens mal ne nette kneipe gefunden bekommen, die auch nen biergarten
haette. - fuers naechstemal dann vielleicht ?

Roadrunner

-----------------------------------------------------------------------------



Re^5: Stati in NBG (Troy,  2. Jul 2000, 13:08:34):
~#! rn=Anacrion rt=962347237 rg=treffen
~#! tid=962272144
Hi,

wenns nicht schon nervt... Vom 20. bis 22. September findet in Erlangen
der 7. Linux-Kongress statt. In jenem Zeitraum werd ich zum Beispiel in
der Gegend weilen (und vielleicht noch einige andere). Ich hatte Highlander
diesbezueglich schon mal angetriggert. Koennte man da nicht einen Stammtisch
organisieren? Am 21. (Donnerstag) waers allerdings vermutlich schlecht,
da dann immer das social event des Kongresses stattfindet.

Siehe dazu auch: http://www.linux-kongress.de

Troy

-----------------------------------------------------------------------------



Re: MS StaTi 5.7.00 (Brandir,  2. Jul 2000, 17:55:30):
~#! rn=Foobar rt=962368488 rg=treffen
~#! tid=962368488
An alle, die im Anschluss an den Stati zur Premiere von M:I2 mitkommen:
Vergesst eure Studi-Ausweise nicht. Ich bin mir zwar nicht sicher, ob es da
ermaessigung gibt, aber es waere doch schade, schade schade... ;-)

Brandir

-----------------------------------------------------------------------------



Re^6: Stati in NBG (Marcus,  3. Jul 2000, 00:26:09):
~#! rn=Troy rt=962536114 rg=treffen
~#! tid=962272144
Waere schon toll, nur werd ich leider auch voll inder Orga drinstecken ;)

Aber zumindestens die Idee ist schonmal gut.

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Re: MS StaTi 5.7.00 (Gorog,  3. Jul 2000, 13:13:08):
~#! rn=Brandir rt=962553330 rg=treffen
~#! tid=962368488
Danke fuer den Tipp, ich werd mich wohl erst zur Preview einfinden, also gutes
Schlemmen.

Gorog an dem Abend vorher ne eigene M:I habend. 

-----------------------------------------------------------------------------



Re: Re: MS StaTi 5.7.00 (Beelzebub,  3. Jul 2000, 13:59:41):
~#! rn=Brandir rt=962553330 rg=treffen
~#! tid=962368488
Mahlzeit ]:-)

hmmm, ich wollte wohl kommen, aber ist dann nach 21.00 noch jemand ausser mir
im Alabama, wenn M:I2 als Sneak laeuft ? wann is die ueberhaupt ?

ein auf Rippchen appetit habender Beelzebub 

-----------------------------------------------------------------------------



Re^3: MS StaTi 5.7.00 (Foobar,  3. Jul 2000, 14:52:42):
~#! rn=Beelzebub rt=962625581 rg=treffen
~#! tid=962368488
Moin.

Beelze*, wenn ich Brandir richtig verstanden habe ist die um 0:02 (kein
Scherz).

Aber der wird sich sicher noch hier in diesem Forum dazu aeussern ;o)

Gruss,

    Foobar

-----------------------------------------------------------------------------



Re^4: MS StaTi 5.7.00 (Brandir,  4. Jul 2000, 23:08:29):
~#! rn=Foobar rt=962628762 rg=treffen
~#! tid=962368488
Tssss, hier wird man ja zu Sachen genoetigt...
Nu wird man schon angerufen und beauftragt, man solle doch mal was in die MPA
schreiben, mal was neues...

Also: Ja, es ist richtig. M:I2 beginnt um 0:02 Uhr. Die Kinoleute haben halt
mal versucht witzig zu sein. Demnach werden die betroffenen sich wohl
fruehestens so gegen 23:15 auf den Weg machen.
Bis dahin kann man schon ein paar Rippchen essen :)

Was meinereiner betrifft, kann ich noch nicht zusagen, dass ich puenktlich um
20:00 im Alabama sitze, da ich momentan von meinem Botanik-Prof. mit der
Erstellung eines Herbars gefoltert werde.+
Auch Foobar hat eventuell noch Lern-Lag und konnte keine genaue Zeit angeben.
Wir werden uns allerdings beide Muehe geben ;-)
Deshalb verkruemelt euch nicht gleich wieder um 20:05 Uhr, wenn dann sonst
noch niemand da ist, wir kommen sicher... irgendwann...

Bis morgen also, Brandir

-----------------------------------------------------------------------------



Re^5: MS StaTi 5.7.00 (Mupfel,  4. Jul 2000, 23:10:11):
~#! rn=Brandir rt=962744909 rg=treffen
~#! tid=962368488
was zum /$(/$&/ ist M:I2 ?

-mupfel-

-----------------------------------------------------------------------------



Re^6: MS StaTi 5.7.00 (Gnome,  4. Jul 2000, 23:10:49):
~#! rn=Mupfel rt=962745011 rg=treffen
~#! tid=962368488
Mission Impossible II

gnOme

-----------------------------------------------------------------------------



Re^7: MS StaTi 5.7.00 (Brandir,  4. Jul 2000, 23:12:11):
~#! rn=Gnome rt=962745049 rg=treffen
~#! tid=962368488
Danke Gnome, sorry Rest (ders nicht wusste)

Brandir - schaffts auch einzeilig ;-)

-----------------------------------------------------------------------------



Re^7: MS StaTi 5.7.00 (Mupfel,  4. Jul 2000, 23:31:26):
~#! rn=Gnome rt=962745049 rg=treffen
~#! tid=962368488
is das nichn computerspiel ? *kratz* naja....

-mupfel- (hat eh keine zeit ;)

-----------------------------------------------------------------------------



Re^8: MS StaTi 5.7.00 (Brandir,  4. Jul 2000, 23:37:27):
~#! rn=Mupfel rt=962746286 rg=treffen
~#! tid=962368488
Ja, es gab, vor langer langer Zeit mal ein ziemlich witziges Computerspiel
dazu... Das waren noch Zeiten... 
Allerdings muss ich sagen, dass ich nie wirklich die Ausdauer hatte, das
richtig weit zu spielen... aber dafuer gibt es jetzt ja Filme :-)

Brandir - fuehlt sich alt

-----------------------------------------------------------------------------



Re^9: MS StaTi 5.7.00 (Humni,  5. Jul 2000, 07:54:00):
~#! rn=Brandir rt=962746647 rg=treffen
~#! tid=962368488
Falsch. Das Spiel hiess Impossible Mission.
 ;-)

Besserwisser Humni (hat Teil 1 durchgespielt)

-----------------------------------------------------------------------------



Re^10: MS StaTi 5.7.00 (Anoris,  5. Jul 2000, 09:53:39):
~#! rn=Humni rt=962776440 rg=treffen
~#! tid=962368488
Oehm meinst du nicht "The Even More Incredible Maschine" ? :) das war noch n
funny game!

-----------------------------------------------------------------------------



Re^11: MS StaTi 5.7.00 (Flintnail,  5. Jul 2000, 10:06:25):
~#! rn=Anoris rt=962783619 rg=treffen
~#! tid=962368488
hmm..ich denke er meint wirklich Impossible Mission...und davon gab es sogar
einen 2 Teil (glaub ich):-) Ich habs damals bis zum Ende gezockt und sage nur
fuer Kenner: Aspargos

Flint*

-----------------------------------------------------------------------------



Re^12: MS StaTi 5.7.00 (Rardian,  5. Jul 2000, 16:22:27):
~#! rn=Flintnail rt=962784385 rg=treffen
~#! tid=962368488
Hm... C64er, oder? :)

Rar, hats nicht ganz durchgespielt.

-----------------------------------------------------------------------------



hmmm schau ma ma (Hight,  5. Jul 2000, 17:09:07):
nachdem ich keinen plan hab wo ich das reinsetzen soll mach ichs hier

also wer kann mir in berlin n i-cafe empflen von dem aus es sich gut mudden
laest ... 
mir wuerde eines reichen die wissen was secureCRt is oder sowas in der art.
das windowstelnet packt das mit den ansi-colors net so wirklich 

wer was weiss melden bis freiteg gaaaaaaaanz frueh ,o)


hight schonmal dankend

-----------------------------------------------------------------------------



Sugi hat Durst !!!!!!!!! (Sugi,  5. Jul 2000, 17:58:27):
Stimmt leider  - ich habe DURST, doch leider weiss ich genau wann ich Zeit
habe bzw wann IHR ALLE  Zeit habt um nach Koeln zu kommen. Macht mal sinnvolle
Vorschlaege wie zB Mittwoch, 12.07.00 oder Freitag, 14.07.00 ---> geht nicht
da ist Aachener Stammtisch, oder oder oder oder??
Ebenfalls immer noch erwuenscht sind Vorschlaege fuer gute Kneipen moeglichst
derzeit noch mit Biergarten oder Terasse.
Also lasst was von Euch hoeren - entweder hier oder aber via Mail an meine
grosse Schwester.

gruessis von einer die noch viel trinken muss um zu wachsen :o)

-----------------------------------------------------------------------------



berlin (Xenada,  5. Jul 2000, 18:03:45):
es ist mal wieder Stati-zeit in Berlin.
Also wie immer :
am 7.7.2000 um 20:00 h im Seeblick

Xenada

-----------------------------------------------------------------------------



Re: Sugi hat Durst !!!!!!!!! (Sugaan,  5. Jul 2000, 18:07:33):
~#! rn=Sugi rt=962812707 rg=treffen
~#! tid=962812707
hmm hmm die grosse Schwester spendiert dann noch ein "NICHT" zwischen: ich und
genau !!!!
also im Klartext: doch leider weiss ich NICHT genau wann ich Zeit habe (die
Wochenendtermine koennten mit Gebfeiern belegt sein) ....

g**

-----------------------------------------------------------------------------



Re: berlin (Rochus,  5. Jul 2000, 19:05:41):
~#! rn=Xenada rt=962813025 rg=treffen
~#! tid=962813025
Hmm, koennte diesmal etwas spaeter bei mir werden,
also wundert Euch nicht :-)

-----------------------------------------------------------------------------



Re: berlin (Hight,  5. Jul 2000, 19:45:09):
~#! rn=Xenada rt=962813025 rg=treffen
~#! tid=962813025
wenn de mir ne wegbeschreibung mit oeffentlichen gibst (wie ich vom seglizer
kreisel zum bhf. zoo kimm weiss ich) komm ich evtl. auch vorbei ....

hight 

-----------------------------------------------------------------------------



Stati Bonn (Liara,  6. Jul 2000, 02:49:19):
Ich wurde beauftragt, den Bonner Stammtischtermin auf Dienstag, den 11. Juli
2000 festzulegen.
Ich selber kann dann zwar wohl nich, aber Mails und Blubber an mich wie
gehabt.

Liara, Zwergenzauberine, denkt . o O (alle MPA-scheu oder was)

-----------------------------------------------------------------------------



Re: hmmm schau ma ma (Hate,  6. Jul 2000, 10:04:08):
~#! rn=Hight rt=962809747 rg=treffen
~#! tid=962809747
Installier dir auf deiner homepage das java telnet applet mit dem ssh plugin.
Dann brauchst Du nur einen Java faehigen Webbrowser. 

Hate.

-----------------------------------------------------------------------------



MS StaTi 13.7.00 (Foobar,  6. Jul 2000, 12:50:17):
Moin alle.

Der Stammtisch in Muenster findet am 13.7.00 ausnahmsweise _nicht_ im Ipanema
statt, sondern im Fegefeuer, allerdings zur ueblichen Zeit.

Wer eine Wegbeschreibung braucht wende sich bitte an Brandir oder mich.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Stati Bonn (Liara,  6. Jul 2000, 15:07:48):
~#! rn=Liara rt=962844559 rg=treffen
~#! tid=962844559
*hmpf*

Ich kann zwar eigentlich wirklich nich, aber wenn's halt sein muss, komme ich
am Dienstag. ;-)
Also, Harmonie, 20 Uhr, Dienstag, 11. Juli 2000, mit Liara. ;-)

Liara, Zwergenzauberine, wird wahrscheinlich vorher erschlagen ;-)

-----------------------------------------------------------------------------



Re: Re: berlin (Mysterious,  6. Jul 2000, 17:59:39):
~#! rn=Hight rt=962819109 rg=treffen
~#! tid=962813025
kon-ban-wa!

mit der u9 von schlossstrasse zum bhf. zoo
von dort richtung pankow mit der u2 bis eberswalder str.
nun die danziger str. in oestlicher richtung bis zur rykestr. (eine vor der
nexten grossen (prenzlauer alleee)), rechts rein da...
ca. 500m (nach der sredzkistr) kommt dann das seeblick 


kurz und knackig..

mysterious-san

-----------------------------------------------------------------------------



Re: MS StaTi 13.7.00 (Lanfear,  6. Jul 2000, 22:51:49):
~#! rn=Foobar rt=962880617 rg=treffen
~#! tid=962880617
*seufz*
Unser Moechtegern-Kampfzwerg wirft da mal wieder ein wenig durcheinander...
Also, der 13. ist ein Donnerstag, und dann findet KEIN Stammtisch statt, weder
im Ipanema, noch im Fegefeuer. Aber ueber Mittwoch den 12.7.00 koennen wir mal
reden.

Dann gibt es im Fegefeuer wieder ausreichend Met, suesse Fruchtweine, 
Seherraeuberspiesse und eine aufgespiesste Sau ;-)

Bis dann,
Lanfear

-----------------------------------------------------------------------------



Re: Re: MS StaTi 13.7.00 (Catweazle,  6. Jul 2000, 22:53:33):
~#! rn=Lanfear rt=962916709 rg=treffen
~#! tid=962880617
Ihr seid koestlich.
Wirklich wundervoll, allemiteinander, herzallerliebst und herrlich
amuesant. Kann man als Stammtisch eigentlich in die Chaosgilde 
eintreten?
YTC :)

-----------------------------------------------------------------------------



Re^3: MS StaTi 13.7.00 (Lanfear,  6. Jul 2000, 22:55:15):
~#! rn=Catweazle rt=962916813 rg=treffen
~#! tid=962880617
Vorsicht, man kann da auch aufgespiessten Weisen bestellen...

Lanfear

-----------------------------------------------------------------------------



Re^10: MS StaTi 5.7.00 (Olli,  6. Jul 2000, 23:43:26):
~#! rn=Humni rt=962776440 rg=treffen
~#! tid=962368488
Hi,

das konnte man schaffen? Bist der erste, von dem ich das gehoert habe :)
Hier bei uns haben das einige gespielt, aber geschafft hatte das keiner..

Olli

-----------------------------------------------------------------------------



Re^11: MS StaTi 5.7.00 (Humni,  6. Jul 2000, 23:59:27):
~#! rn=Olli rt=962919806 rg=treffen
~#! tid=962368488
Hmm..beim ersten Mal mit nem Cheat, aber ich hab das dann
auch ohne geschafft. Einige Raeume sind echt boese, aber
schaffbar war das Spiel durchaus.

Wenn man nicht nebenher zu viele Infocoms gezockt hat ;-)

Und nein, ich kann das heute aus dem Stehgreif bestimmt 
auch nicht mehr vorfuehren, da liegt ca. 1 Jahrzehnt und
mehr zwischen.

Humni

-----------------------------------------------------------------------------



Re^11: MS StaTi 5.7.00 (Muadib,  7. Jul 2000, 13:45:38):
~#! rn=Olli rt=962919806 rg=treffen
~#! tid=962368488
es geht und humni ist da nicht allein :)

-----------------------------------------------------------------------------



mud-treffen in magdeburg (Jehova,  9. Jul 2000, 21:30:00):

Damit ich's net wieder vergesse: Am Dienstag um 20 Uhr findet der
(muduebergreifende) Magdeburger StaTi statt. Ort ist diesmal - wegen der
leckeren Pizza - der City-Croque (schreibt man das so?). Wegbeschreibungen
gibt es bei Psycho@MD, wer in die StaTi-Mailingliste aufgenommen werden will,
wende sich an Largo@MD.

Jehova (aka Big@MD)


-----------------------------------------------------------------------------



Anfahrtsbeschreibung zum Fegefeuer ;o) (Foobar,  9. Jul 2000, 22:35:28):
Tach alle.

Wie allgemein bekannt ist findet der dieswoechige Stammtisch in Muenster
_nicht_ im Ipanema statt, sonder im Fegefeuer, Von-Kluck-Str. 15.

Auf vielfachen Wunsch reposte ich hier noch mal Arianas Wegbeschreibung vom
15.1.2000:

Ariana schrib u.a.:

Fuer alle Auswaertigen hier erstmal die Wegbeschreibung zum Fegefeuer:
                   Ihr nehmt die Autobahnausfahrt Muenster-Sued und fahrt
dann Richtung
                   Innenstadt (Ihr fahrt auf der Weseler Strasse). Zu linker
Hand kommt ein
                   McDrive, ein Stueckchen weiter ist auf der rechten Seite
die Antonius Kirche.
                   Hier biegt ihr rechts ab in die Moltkestrasse. Das
Fegefeuer ist in der
                   von-Kluck-Strasse Nummer 15, das ist die zweite Strasse
rechts (oder die
                   letzte rechts vor dem Kreisverkehr). Wenn ihr im
Kreisverkehr seit, seit ihr
                   zu weit :) macht aber nichts, denn Parkplaetze gibt es
sowieso fast keine und
                   ihr muesst eh weitraeumig suchen (*grins schadenfroh und
freu ueber ihr
                   Fahrrad*).

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Anfahrtsbeschreibung zum Fegefeuer ;o) (Foobar,  9. Jul 2000, 22:36:16):
~#! rn=Foobar rt=963174928 rg=treffen
~#! tid=963174928
Tach alle.

Auf vielfachen Wunsch entschuldige ich mich fuer die miese Formatierung meines
vorangegenagen Postings.

Gruss,

    Foobar

-----------------------------------------------------------------------------



Re: Re: Anfahrtsbeschreibung zum Fegefeuer ;o) (Foobar,  9. Jul 2000, 22:37:14):
~#! rn=Foobar rt=963174976 rg=treffen
~#! tid=963174928
*raeusper*

Auf vielfachen Wunsch entschuldige ich mich fuer die Typos im vorangeganenen
Posting - und fuer die in diesem auch.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: Stati Bonn (Liara, 10. Jul 2000, 13:57:27):
~#! rn=Liara rt=962888868 rg=treffen
~#! tid=962844559
Oki, zur Erinnerung: Der Bonner Stammtisch findet morgen statt.
Wir sind wohl so 15 Leute. 
Etwas Dortmund kommt auch mal wieder, und Duesseldorf laesst sich wohl auch
blicken. *freu*

Liara, Zwergenzauberine, knurrt Thufhir an, weil der nicht rausruecken will,
wer der Ueberraschungsgast ist ;-)

-----------------------------------------------------------------------------



 D U R S T !!! (Sugaan, 10. Jul 2000, 16:41:39):
Schade Sugi wird ihren Durst wohl oder uebel zu hause loeschen - aber macht
nichts da gibt es beiwenigstens leckeres Andechs.
Macht et juuuuut und hoffentlich bis bald wieder auf irgendeinem Stammtisch
oder vielleicht doch noch mal auf einem Sugi hat Durst Treffen!

Ciauschi    Sugaan - Sugis grosse Schwester

-----------------------------------------------------------------------------



Re^3: Stati Bonn (Mupfel, 10. Jul 2000, 19:14:12):
~#! rn=Liara rt=963230247 rg=treffen
~#! tid=962844559
Wieso hab ich eigentlich nie Zeit, wenn die interessanten Statis sind?
*gruebel* 

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stati Bonn (Ark, 10. Jul 2000, 19:19:31):
~#! rn=Mupfel rt=963249252 rg=treffen
~#! tid=962844559
Weil die interessanten Statis interessant bleiben wollen? :-)
Nich hauen, aua.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Stati Bonn (Mupfel, 10. Jul 2000, 19:24:03):
~#! rn=Ark rt=963249571 rg=treffen
~#! tid=962844559
Na ich weiss net... koennte aber sein ;)

-mupfel- (ziemlich uninteressant)

-----------------------------------------------------------------------------



Stammtisch in Nuernberg (Hight, 11. Jul 2000, 11:10:24):
Also nochmal fuer alle!

Nachdem es nichtmal Heromcfly mitgeschnitten hat, nochmal fuer alle
potentiellen interesenten:

Am freitag den 14.07.2000 findet in Nuernberg ein Stammtisch statt.

Wie immer in der Galerie. Der weg sollte izwischen bekannt sein. 
Eine wegbeschreibung findet sich unter www.rockfabrik.de/N/N_index.htm und da
dann anfahrt oder so.

tisch is ab 19:00 hoffentlich reserviert.

wer zufrueh da is wende sich an mich oder devilchen oder den lieben gott das
er ihm ne eingebung schenke


hight hoffend es haben nun alle interesierten mitbekommen 

-----------------------------------------------------------------------------



Re: mud-treffen in magdeburg (Jehova, 12. Jul 2000, 14:09:25):
~#! rn=Jehova rt=963171000 rg=treffen
~#! tid=963171000

Aufgrund mangelnder Beteili^H^H^H^H^H^H^H^Hdes grossen Interesses auswaertiger
Mudder wird das Magdeburger Treffen naechsten Dienstag nochmal wiederholt. Wie
gehabt 20 Uhr im City-Croque ... Fragen? -> Largo@MD

J*

-----------------------------------------------------------------------------



Auch wenns kurz vor der Party is... (Morgoth, 14. Jul 2000, 13:26:19):
treffen wir uns trotzdem am 28. wie gewohnt im Atlantico. Es sind neue
Gesichter da, also kommt reichlich und durstig und ueberhaupt (wobei
ueberhaupt das wichtigste is ];-)).

M*

-----------------------------------------------------------------------------



Re: Auch wenns kurz vor der Party is... (Mupfel, 16. Jul 2000, 18:42:06):
~#! rn=Morgoth rt=963573979 rg=treffen
~#! tid=963573979
Atlantico wo issn das?

-mupfel- (Rubrik ueberhaupt ;)

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Jenandra, 16. Jul 2000, 22:01:57):
Achtung, diesen Monat urlaubszeitbedingt am _dritten_ Freitag:

--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------
---------->>> Am Freitag, den 21.7. um 20:00 Uhr <<<--------------
------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------

Fragen nach Wegbeschreibungen und sonstige Anfragen bitte diesmal an mich :-)

- Jenandra -

P.S. auf meiner StaTi-Seite koennt Ihr Euch anmelden, ne Karte gibbet da auch:
http://www.crosswinds.net/~stati/

-----------------------------------------------------------------------------



Stati MS (Gorog, 17. Jul 2000, 17:24:08):
Moins

Wann wo wer?
Hab mal wieder keine Ahnung aber spiele mit dem gedanken hin zufahren (;

Gorog wartet gespannt auf Antwort.

-----------------------------------------------------------------------------



Stammtisch Dortmund am 28.7. - AENDERUNG (Dfender, 17. Jul 2000, 21:34:28):
So, nachdem Morgoth ja schon was dazu geschrieben hat, muss ich jetzt eine
kleine Aenderung nachschieben. Immerhin nimmt der Dortmunder Juli-StaTi
inzwischen Formen an. ;)

Wir haben uns entschieden, uns diesmal _nicht_ im Atlantico zu treffen,
sondern mal was neues auszuprobieren. Fuer alle, die Lust, Zeit, Durst und
vielleicht auch ein bisschen Hunger haben, ist der Treffpunkt diesmal das

**********************************************************
*                 BOOMERANG (Australian Pub)             *
*     Kuckelke 20 in Dortmund (naehe Reinoldikirche)     *
*     und zwar am Freitag, dem 28.7.2000 um 20.00 Uhr    *
**********************************************************

Ich hab heute mal mit den Leuten dort geredet, und werde sicherheitshalber
Plaetze fuer uns reservieren.

Es ist zwar vielleicht fuer einige etwas gewoehnungsveduerftig, aber der
Laden hat Atmosphaere, und ich kenne _reichlich_ Leute, denen's da richtig
Spass gemacht hat (O-Ton Morgoth: 'Geiler Schuppen').

_Ausserdem_ ist's mal was ganz anderes, weil da auch 'echtes' Downunder-
Futter zu haben ist, also sprich: Kaenguruh, Emu und Krokodil :)
Die haben natuerlich auch, naja, wie soll ich sagen, 'richtiges' Essen, also
Steaks, Gegrilltes, Burger und allerlei sonstige Leckereien im Angebot.
Wer also experimentierfreudig ist, hat jede Gelegenheit dazu; wer nicht,
verpasst vielleicht was, muss aber keinesfalls hungern. ;)

Also nochmal: kommt zahlreich, durstig, hungrig und vor allem: ueberhaupt :)

Fragen zu Wegbeschreibung etc. diesmal ausnahmsweise an mich.

*wink* Wir sehn uns im Boomerang.


Dfender, konnte das beim besten Willen nicht in eine Zeile quetschen. ;)

-----------------------------------------------------------------------------



Re: Stammtisch Dortmund am 28.7. - AENDERUNG (Tiamak, 17. Jul 2000, 21:38:50):
~#! rn=Dfender rt=963862468 rg=treffen
~#! tid=963862468
Nunja, diesmal brauchen wir vielleicht ne ungefaehre Groessenangabe, wenn wir
reservieren wollen. Nachdem die letzten beiden Stammtische nicht bzw. quasi
nicht stattgefunden haben, wird es ja vielleicht diesmal wieder etwas
groesser?


Tiamak. 2.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Dortmund am 28.7. - AENDERUNG (Mupfel, 17. Jul 2000, 22:17:57):
~#! rn=Tiamak rt=963862730 rg=treffen
~#! tid=963862468
Wie kommt man da hin vom Bahnhof aus?

-mupfel- (3.)

-----------------------------------------------------------------------------



Re: Stati MS (Foobar, 18. Jul 2000, 02:05:20):
~#! rn=Gorog rt=963847448 rg=treffen
~#! tid=963847448
Wann: Mittwoch, 19.07.00
Wo: Ipanema
Wer: Alles ausser Brandir

Gruss,

    Foobar


-----------------------------------------------------------------------------



Re^3: Stammtisch Dortmund am 28.7. - AENDERUNG (Dfender, 18. Jul 2000, 07:41:48):
~#! rn=Mupfel rt=963865077 rg=treffen
~#! tid=963862468
Gut, also dann jetzt mal fuer alle Interessierten der Weg vom HBf zum
Boomerang: Geht aus dem Haupteingang raus (Sueden ]:-> ) die Treppen hoch bis
zu den Strassenbahngleisen. Dort nach Osten (links ab), an Karstadt vorbei bis
Ihr an dem seltsamen Pylon angekommen seid, der da in den Himmel ragt und
die Strassen- und U-Bahn-Haltestelle markiert. Wenn Ihr dort seid,
biegt einfach links ab (wieder nach Norden) und das Boomerang ist dann auf
der linken Strassenseite.

Dfender, hoffend, dass das jetzt nich zu konfus ist. ;)

-----------------------------------------------------------------------------



Re^4: Stammtisch Dortmund am 28.7. - AENDERUNG (Nonne, 18. Jul 2000, 09:47:30):
~#! rn=Dfender rt=963898908 rg=treffen
~#! tid=963862468
4. (zumindest sehr wahrscheinlich)

Nonne.

-----------------------------------------------------------------------------



Re^5: Stammtisch Dortmund am 28.7. - AENDERUNG (Paracelsus, 18. Jul 2000, 09:58:44):
~#! rn=Nonne rt=963906450 rg=treffen
~#! tid=963862468
Nicht im Atlantico? Na dann komm ich wohl mal wieder vorbei.

5.

Paracelsus

-----------------------------------------------------------------------------



Re^6: Stammtisch Dortmund am 28.7. - AENDERUNG (Morgoth, 18. Jul 2000, 10:06:10):
~#! rn=Paracelsus rt=963907124 rg=treffen
~#! tid=963862468
6(66) 
M*

-----------------------------------------------------------------------------



Re^7: Stammtisch Dortmund am 28.7. - AENDERUNG (Thufhir, 18. Jul 2000, 10:44:27):
~#! rn=Morgoth rt=963907570 rg=treffen
~#! tid=963862468
sieeeeeeben! ;)

-----------------------------------------------------------------------------



Re^8: Stammtisch Dortmund am 28.7. - AENDERUNG (Gorog, 18. Jul 2000, 17:05:16):
~#! rn=Thufhir rt=963909867 rg=treffen
~#! tid=963862468
Wenns bei mir klapt gerne.
7+1/2

Gorog nicht mehr Mudsuechtig aber hungrig.

-----------------------------------------------------------------------------



Re^9: Stammtisch Dortmund am 28.7. - AENDERUNG (Kartoffel, 19. Jul 2000, 00:06:20):
~#! rn=Gorog rt=963932716 rg=treffen
~#! tid=963862468

8

Toffel - will auch ma wieder nach DO

-----------------------------------------------------------------------------



Dresden RuleZ (Mesirii, 20. Jul 2000, 22:04:51):

Also Leute, 
es ist wieder mal Stammtischzeit. Dass heisst, wir verleben wieder mal nen
Abend in gemuetlicher Runde im CD.

* Ort CD (Club Duererstrasse, da wo Party war)
* Tag Dienstag 25.07.2000
* Zeit so ca. 2000 (ich komme wie immer puenktlich ;))

Besonderes:

* 2 Gaeste aus der fernen Welt
* da ich am Montag meine letzte Pruefung habe, geb ich ne Runde aus (abba
natuerlich nur die billigen Sachen ;)

Also kommt mal alle da vorbei und sagt Hallo.

Mesi

-----------------------------------------------------------------------------



Re: Dresden RuleZ (Deepblue, 21. Jul 2000, 21:03:53):
~#! rn=Mesirii rt=964123491 rg=treffen
~#! tid=964123491
Und immer dran denken, wenn Mesi Begin 20:00 Uhr schreibtr ist man 21:00 Uhr
der erste (Sofern Kadis nicht aus Aachen anreist)
Deepblue schmarrend

-----------------------------------------------------------------------------



Re: Re: Dresden RuleZ (Rikus, 21. Jul 2000, 21:04:53):
~#! rn=Deepblue rt=964206233 rg=treffen
~#! tid=964123491
no way, ivo und ich waren das letzte mal eher da!

rikus

-----------------------------------------------------------------------------



Re: Re: Dresden RuleZ (Foobar, 22. Jul 2000, 01:20:09):
~#! rn=Deepblue rt=964206233 rg=treffen
~#! tid=964123491
Ist ja fast wie in Muenster.

SCNR, Foobar

-----------------------------------------------------------------------------



Re^12: BILD (Koeln) heute !!! (Bambi, 24. Jul 2000, 13:01:28):
~#! rn=Boing rt=964434395 rg=diskussion
~#! tid=964421913
kommt Mupfel zum Stati nach Karlsruhe?

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 24. Jul 2000, 13:05:14):
Diesen Donnerstag findet der letzte Stammtisch im Kleinen Meierhof
vor der Sommerpause statt. Danach ist unser Wirt 4 Wochen in Urlaub
und wir muessen schauen wo wir in dieser Zeit unterkommen. 
Uhrzeit natuerlich 20 Uhr (wie immer).
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Montanus, 24. Jul 2000, 22:59:33):
~#! rn=Boing rt=964436714 rg=treffen
~#! tid=964436714
Diesen Donnerstag ist auch letzter und erster Stammtisch in Winterburg vor der
Sommerpause. Danach bin ich mehrere Wochen/Monate/Jahre nicht dort, aber
eigentlich ist jeder Kneipentisch mein Stammtisch. oder so aehnlich. ;-)
Uhrzeit ist 20 Uh, ich lasse aber da auch mit mir reden. 
Klavier steht zur Verfuegung. ;-)

-Montanus

-----------------------------------------------------------------------------



StaTi Muenster 26.07.2000 (Foobar, 24. Jul 2000, 23:55:23):
Liebe Gemeinde,

nachdem im C.U.B.A. der Umbau abgeschlossen ist, testen wir das am kommenden
Mittwoch.

Natuerlich wie immer gegen 20.00 Uhr.

Und ich schaetze mal auch wieder am gleichen Tisch (falls dieser Platz nicht
dem Umbau zum Opfer fiel).

Ich bitte um zahlreiches Erscheinen, schliesslich haben wir was zu besprechen
;o)

Gruss,

    Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster 26.07.2000 (Jameson, 24. Jul 2000, 23:59:13):
~#! rn=Foobar rt=964475723 rg=treffen
~#! tid=964475723
hampf und ich kann diesen Mittwoch nicht ;-(
Weiht mir das CUBA schoen ein :)

jAmeson

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 26.07.2000 (Gorog, 25. Jul 2000, 10:46:33):
~#! rn=Jameson rt=964475953 rg=treffen
~#! tid=964475723
Tja ich werd wohl wahrscheinlich abwesewnd sein.
Aber Brandir wird wohl wieder da sein. Also is es wohl nicht ganz leer *grins*

Gorog momentan keine Wunder in Sicht.

-----------------------------------------------------------------------------



Re: StaTi Muenster 26.07.2000 (Liara, 25. Jul 2000, 13:40:44):
~#! rn=Foobar rt=964475723 rg=treffen
~#! tid=964475723
Sooooooooosooo, ihr habt also was zu besprechen ... *neugierig und
misstrauisch nach Muenster rueberschiel*

Was denne? ;-)

Liara, Zwergenzauberine, neugierig

-----------------------------------------------------------------------------



Re: Re: Stammtisch Dortmund am 28.7. - AENDERUNG (Alcina, 25. Jul 2000, 13:50:16):
~#! rn=Tiamak rt=963862730 rg=treffen
~#! tid=963862468
ich treib mich leider in Bayern rum :(

Alcina - mal wieder einene Stammti verpassend


-----------------------------------------------------------------------------



Stammtisch (?) Bonn (Liara, 25. Jul 2000, 13:55:56):
Am Samstag, den 5. August 2000, findet in der Harmonie in Bonn-Endenich
(uebliche Stammtischkneipe) ein gemuetliches Treffen statt.

Wer Lust hat, uns (bisher Thufhir, Tiamak und Zwergenzauberine) Gesellschaft
zu leisten, moege mir mailen. :-)

Wir sind so ab 20 Uhr da zu finden. Einen offiziellen Stammtisch koennte man
dann ja evtl. nach der Party ansetzen.

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Stammtisch in Berlin (Rardian, 27. Jul 2000, 15:06:04):
Okay, okay, ist ein bisschen kurzfristig. Vielleicht lesens aber doch noch
genuegend Berliner... :)
Morgen, also am Freitag, sollte eigentlich ein Extra-Stammtisch stattfinden,
Grund: Vultas weilt in Berlin und moechte die Berliner mal kennenlernen /
wiedersehen.
Da in zwei Wochen die Party ist, hat sich ein Teil des Orgateams dafuer
ausgesprochen, dass wir den regulaeren Stammtisch eine Woche vorverlegen. Das
hiesse dann: Morgen, Freitag, 20.00 Uhr, Seeblick, also (fast) wie immer.

Berliner, kommt und trinkt und lacht und ...!

Rar.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Hobo, 28. Jul 2000, 14:03:06):
Am 03.08.00 findet der erste Ferien-Stammtisch statt.
Ausweichort ist fuer diese Woche der Pfannstiel, gleich um die Ecke vom
Kleinen Maierhof, Zeit wie immer ab 20 Uhr.
Der Tisch ist (faelschlicherweise) auf "MorgenGrauen" reserviert.

 Hobo

-----------------------------------------------------------------------------



Stammtisch Aachen (Fizban, 29. Jul 2000, 12:08:42):
Hi Folks
Auf Grund des gejammers einer Zwergenzauberbiene das wir in Aachen immer einen
Konkurenzstammtisch zu Bonn mach (was aber nicht stimmt, da unser fester
Termin der 1. Freitag im Monat ist), machen wir dieses Mal den Stammtich am
11.08.2000 damit sie dieses Mal nicht noergeln muss und hoffen dann auf rege
Beteiligung.

Fizban

p.s.: ->11.08.2000 20:00 im Chico Mendes (Schlafplaetze oder sowas in der Art
haben wir auch noch dann bitte bei Fizban oder Panic samt zweities melden)


pp.s.: besser So Liara? 

-----------------------------------------------------------------------------



Re: Stammtisch Aachen (Cinderella, 29. Jul 2000, 12:10:36):
~#! rn=Fizban rt=964865322 rg=treffen
~#! tid=964865322
Also ich wuerd j normal schon kommen, aber am 11.8.2000 bin ich doch lieber in
Berlin ;))

Cinderella *doch etwas verwundert*

-----------------------------------------------------------------------------



Stati Aachen (Fizban, 29. Jul 2000, 12:17:33):
Hi noch mal
Auch wenn da Party ist, findet der Stammtisch fuer alle Daheim gebliebenen
statt (in Aachen ist Klausurzeit) und es sind alle denen Berlin zu Weit ist
eingeladen .
Fizban

p.s.: Das soll keine Gegenveranstalltung zur Party sein.

-----------------------------------------------------------------------------



Re: Stati Aachen (Lupus, 29. Jul 2000, 12:19:37):
~#! rn=Fizban rt=964865853 rg=treffen
~#! tid=964865853
Irgendwelche fachspezifischen Praeferenzen, wer kommen soll? Von wegen
Klausurzeit und so...

Lupus

-----------------------------------------------------------------------------



D U R S T   ! ! ! ( (c) Sugaan) (Golas, 29. Jul 2000, 12:49:23):
auch berliner haben durst ;)

kommenden freitag ist stammtisch im seeblich ab 2000

golas

-----------------------------------------------------------------------------



Re: Stammtisch Aachen (Liara, 29. Jul 2000, 13:51:16):
~#! rn=Fizban rt=964865322 rg=treffen
~#! tid=964865322
Schiebt Euch das Gejammer und Genoergel sonstwohin.

Liara, Zwergenzauberine (vielleicht koennen wir das privat weiterdiskutieren,
wenn Du da Bedarf hast)

-----------------------------------------------------------------------------



Re: Re: Stammtisch Aachen (Humni, 29. Jul 2000, 15:24:34):
~#! rn=Liara rt=964871476 rg=treffen
~#! tid=964865322
Ich jammere JETZT und HIER und solange es mir passt.

BUAAAEEEEHHH!!!

Warum muesst Ihr Party und Stati gleichzeitig machen??

Humni

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 26.07.2000 (Mupfel, 29. Jul 2000, 17:11:38):
~#! rn=Liara rt=964525244 rg=treffen
~#! tid=964475723
Da gibts dann eigentlich nur eins...

-mupfel-

-----------------------------------------------------------------------------



Spezialstati Aachen (Humni, 31. Jul 2000, 16:05:35):
Nachdem der neueste Aachen-Stati genau zur Partyzeit stattfindet,
machen wir zwei Statis hintereinander. Jedenfalls werden mindestens
zwei Aachener Mudder am Freitag (4.8.) im Chico Mendes sein.

Humni denkt . o O (Stati machen statt Jammern hilft...)

-----------------------------------------------------------------------------



Re: Spezialstati Aachen (Humni, 31. Jul 2000, 17:19:29):
~#! rn=Humni rt=965052335 rg=treffen
~#! tid=965052335
Nachtrag: 20 Uhr (wie immer)

.. und nicht boese sein, das soll keine Konkurrenz zum Stati die
Woche darauf sein. 

Mit Bonn sollte es keine Probleme geben, da deren Stati ja am Samstag
ist (oder hab ich was uebersehen...)??

Humni

-----------------------------------------------------------------------------



Re: Re: Spezialstati Aachen (Liara, 31. Jul 2000, 18:50:41):
~#! rn=Humni rt=965056769 rg=treffen
~#! tid=965052335
Nee. mit Bonn gips normal keine Probleme ... so war es zumindest in den
letzten 2 Jahren mit einer Ausnahme. ;-)
Ich dachte auch immer, Ausnahmen bestaetigen die Regel. Aber irgendjemand in
Aachen hat da wohl mal was in den falschen Hals bekommen. 

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Stati in Berlin! (Gloinson,  1. Aug 2000, 02:23:55):
Ich denke mal, trotz der Party in der naechstem Woche sollte der
Berliner Stammtisch am Freitag stattfinden. Wie immer im Seeblick,
so keine anderslautenden Vorschlaege.
Danach war eventuell Rudeln angedacht, einige Berliner habe ich
deswegen schon angemailt. Wer also von Freitag Nacht bis Samstag
Mittag mit uns rumrudeln moechte, sollte sich mal beim mir melden,
damit ich einen Ueberblick bekomme ob sich das lohnt.

Gloinson

-----------------------------------------------------------------------------



Re: Stati in Berlin! (Gloinson,  1. Aug 2000, 09:46:32):
~#! rn=Gloinson rt=965089435 rg=treffen
~#! tid=965089435
Um es mal geanu zu sagen: Stati am 4.8., Rudeln vom 4. auf den 5.

Gloin(son)

-----------------------------------------------------------------------------



MS StaTi 1.8.2000ss (Foobar,  1. Aug 2000, 21:06:19):

Moin.

Der Stammtisch Muenster findet am 1.8.2000 mal wieder im Cuba in der
Achtermannstr. statt.

Foobar meint: Besser spaet als nie.

-----------------------------------------------------------------------------



Re: MS StaTi 1.8.2000ss (Foobar,  1. Aug 2000, 21:07:35):
~#! rn=Foobar rt=965156779 rg=treffen
~#! tid=965156779
PS: Um 20 Uhr ;o)

-----------------------------------------------------------------------------



Re: Re: MS StaTi 1.8.2000ss (Foobar,  1. Aug 2000, 21:08:39):
~#! rn=Foobar rt=965156855 rg=treffen
~#! tid=965156779
Noch was:

Der Stammtisch findet natuerlich nicht heute statt, sondern morgen, also am
2.8.

Foobar wird knallrot.

-----------------------------------------------------------------------------



Re^3: MS StaTi 1.8.2000ss (Liara,  1. Aug 2000, 21:10:30):
~#! rn=Foobar rt=965156919 rg=treffen
~#! tid=965156779
Isser nich irgendwie suess? *duck*

Liara, Zwergenzauberine, schmarrnt

-----------------------------------------------------------------------------



Re^3: MS StaTi 1.8.2000ss (Mupfel,  1. Aug 2000, 21:13:28):
~#! rn=Foobar rt=965156919 rg=treffen
~#! tid=965156779
Is aber ne gute Werbung so, FuBi ;)

-mupfel- (schaut ma rein wohl)

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin! (Gloinson,  2. Aug 2000, 14:38:22):
~#! rn=Gloinson rt=965115992 rg=treffen
~#! tid=965089435
Oder um es mal genau umzuformulieren:
 Stammtisch 4.8.
 Rudeln (auf vielfachen Wunsch) 5.8. - 6.8. (ab Samstag Nachmittag bis
                                             Sonntag frueh)

Bisher ist die Resonanz eher duerftig, wir haben:
3,5 Kaempfer (ist hier irgendwo ein Nest?)       
1   Biertrinker^H^H^H^H^H^H^Hschuettler
1   Katzendingsda                      
1   Karateka     
0,5 stinkende Magier

Gloin(son)

-----------------------------------------------------------------------------



Re: Stammtisch (?) Bonn (Liara,  3. Aug 2000, 13:45:25):
~#! rn=Liara rt=964526156 rg=treffen
~#! tid=964526156
Das Treffen am Samstag (5. August 2000) in der Harmonie faellt wegen
Termidruck/Krankheit aus.

Liara. Zwergenzauberine

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin! (Rardian,  4. Aug 2000, 01:44:59):
~#! rn=Gloinson rt=965115992 rg=treffen
~#! tid=965089435
Toll! Das nenn ich unlauteren Wettbewerb! Einfach mit "Rudeln" nen Stammtisch
anpreisen und hoffen, dass alle, die rudeln wollen, zum Stammtisch kommen!

_Letzte_ Woche war Stammtisch! Stand sogar inner Zeitung...

Ach was solls, ich gebs auf,
feiert schoen ;)

Rar, morgen (huch!schon heute) leider nicht dabei.

-----------------------------------------------------------------------------



Re^3: Stati in Berlin! (Gloinson,  4. Aug 2000, 08:49:18):
~#! rn=Rardian rt=965346299 rg=treffen
~#! tid=965089435
Wiesooooo? Du hast doch gesagt, dass zu Deinem StaTi nu sechs Leute da
waren. Ausserdem hat mich Golas dezent darauf hingewiesen, dass er
lange vor mir den StaTi verkuendet hat.
Heute abend ist also der StaTi fuer die, die morgen rudeln wollen
und vor allem fuer die, die letzten Freitag nicht da waren ;)

Gloin(son)

-----------------------------------------------------------------------------



>>> *S*T*A*T*I* <<< (Qitess,  6. Aug 2000, 16:14:50):
JAWOLL!!!
Kinder, wie siehts aus? seid Ihr alle in Urlaub oder Klausurenstress?
Wollen wir vielleicht mal wieder einen stati abhalten?
mailt doch einfach mal, was ihr davon haltet?
achja, nur zur info: gemeint ist natuerlich der einzig echte braunschweiger
*S*T*A*T*I*
wie immer koennten nicht nur die braunschweiger auftauchen, aber die sollen
mir mal sagen, wie es in naechster zeit mit terminen aussieht...

QI** - wieder da.

-----------------------------------------------------------------------------



Berliner Stati && Rudeltest (Gloinson,  6. Aug 2000, 21:55:08):
Melde gehorsam: Erfolgreich verlaufen :)
                Rudelort fuer kalten Winter gesichert

Gloin(son)

-----------------------------------------------------------------------------



25.08.: Feuertanz-Festival Osnabrueck (Anatol,  6. Aug 2000, 23:31:52):

Am 25. August ab 18:00 Uhr steigt das Feuertanz-Festival im
Schlossinnenhof in Osnabrueck: Svbway to Sally, In Extremo,
Mila Mar, Merlons.

Ein "mittelalterlicher Markt" ist ebenfalls angekuendigt.

Tags drauf findet der n-te Osnabruecker Grillstammtisch
statt, Fleisch/Wurst Selbstversorger, alkoholfreie Getraenke
werden gestellt, Kostenbeteiligung erwuenscht und vorher
abzusprechen (z.B. in Form eines Salates o.ae.).

Es stehen fuer die Uebernachtung(en) Plaetze zur Verfuegung,
Interessenten moegen Mupfel und mir eine Mail schreiben.

Komm nur, komm...

Anatol

-----------------------------------------------------------------------------



Re: 25.08.: Feuertanz-Festival Osnabrueck (Paracelsus,  7. Aug 2000, 10:52:16):
~#! rn=Anatol rt=965597512 rg=treffen
~#! tid=965597512
Waeh ... koennen die das nicht ne Woche frueher machen? *SNIFF*

Paracelsus - faehrt am 25. nach Wien.

-----------------------------------------------------------------------------



Re^2: 25.08.: Feuertanz-Festival Osnabrueck -- NACHTRAG! (Anatol,  8. Aug 2000, 14:38:05):
~#! rn=Paracelsus rt=965638336 rg=treffen
~#! tid=965597512
Ich vergass: Karten im Vorverkauf, Stueckpreis DEM 38,50.

Versprechen kann ich nix, aber wer auf Nummer sicher gehen
moechte, sollte mich einfach mal ansprechen.

Anatol

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Croft,  9. Aug 2000, 12:41:39):
Am 10.8.00 faellt der Karlsruher Stammtisch aus.  Die meisten MGler sind
eh in Berlin und von den restlichen Leuten koennen auch einige nicht.
Gruss Croft

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Aug 2000, 22:36:03):


Fast schon Tradition:
wir verschieben mal wieder auf den _dritten_ Freitag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 18.8. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



stati aachen (Waterloo, 11. Aug 2000, 17:21:54):
*schnief*
auf grund von Anwesenheitsmangel wird heute abend kein Stammtisch stattfinden
nicht ein Aachener ist da

-----------------------------------------------------------------------------



Stammtisch Bonn! (Liara, 13. Aug 2000, 22:05:13):
Wenn ich die Vorschlaege auf der Party richtich verstanden habe, ist der
naechste Stammtisch in Bonn am

               Donnerstag, den 24. August 2000

      wie gehabt in der Harmonie in Bonn-Endenich (20 Uhr).

Bidde Mails an mich zwecks Tischbestellung. :-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: stati aachen (Rardian, 14. Aug 2000, 02:46:14):
~#! rn=Waterloo rt=966007314 rg=treffen
~#! tid=966007314
Und was ist mit dir?? :) Okay, Solostammtische sind alles andere als prickelnd
(glaub ich)...

Rar, muede.

-----------------------------------------------------------------------------



Karlsruhe (Hobo, 14. Aug 2000, 14:15:08):
Am Donnerstag ab 20 Uhr im Pizzahaus.

Das ist der Italiener, bei dem wir auch den Freitag auf der Karlsruher
Mudparty verbracht haben.
Wegbeschreibung: Von der A5 Richtung Karlsruhe Mitte die Abfahrt nehmen, immer
gerade aus fahren (die Hauptstrasse biegt da zweispurig nach links ab, genau
da gerade aus fahren) und an der ersten Kirche auf der rechten Seite (da ist
auch ne StraBa-Haltestelle namens Gottesauer Platz) rechts abbiegen
(theoretisch ist das die 4. Ampel von der Autobahn aus). An der Ecke hinter
der Sparkasse ist das Pizzahaus, also irgendwo da einen Prakplatz suchen.

Kommet zahlreich und bringt Fotos von der Fete mit!

    Hobo - fand die Berliner Fete super!

-----------------------------------------------------------------------------



Re: Karlsruhe (Boing, 14. Aug 2000, 14:17:44):
~#! rn=Hobo rt=966255308 rg=treffen
~#! tid=966255308
Kleine Korrektur der Wegbeschreibung: Die Ausfahrt heisst nicht Karlsruhe
Mitte sondern Karlsruhe Durlach. Dort muss man aber tatsaechlich Richtung
Karlsruhe Mitte fahren, auch wenns nicht dran steht. :)
  Boing

-----------------------------------------------------------------------------



--->>>>>>*S*T*A*T*I*<<<<<<--- (Qitess, 14. Aug 2000, 19:27:15):
JAWOHL! Es ist mal wieder soweit. Der geneigte Leser weiss, was die Titelzeile
bedeutet:

Es findet mal wieder der Original - *S*T*A*T*I* statt.
Und zwar natuerlich in   BRAUNSCHWEIG
diesmal am 25.08.2000
und zwar um 20." Uhr
wie immer im Viertel Nach (wenn es das noch gibt ;) )

KOMMET ZAHLREICH!
Mudder aller Staedte sind herzlich willkommen.

Aber bitte: meldet euch per mud-mail bei mir (qitess) an, damit ich weiss,
wieviele kommen werden. Ein kurzes Bescheid reicht voellig aus...

OKAY, das wars...

QI**

-----------------------------------------------------------------------------



StaTi Muenster 16.8.2000 (Foobar, 14. Aug 2000, 19:51:18):
Tach alle.

Der Stammtisch Muenster findet am Mittwoch, dem 16.8.2000 mal wieder im
C.U.B.A. statt.

Ich bitte um zahlreiches Erscheinen.

Gruss,

     Foobar

-----------------------------------------------------------------------------



sonder-stati! (Gnome, 15. Aug 2000, 17:50:41):
hi,

da aeneas ab dem 24.8. fuer laengere zeit auf der suedlichen halbkugel
weilt und ich ab sept. richtung nordwesten ziehen werde, haben wir uns
ueberlegt, dass wir einen kleinen abschieds-sonder-stati veranstalten
und zwar am:

Di., 22.8.00, um 20.00h im seeblick.

es ist jeder herzlich willkommen...

gnOme

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 16. Aug 2000, 23:44:39):


Nochmal zur Erinnerung:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 18.8. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



   --->>>>>*S*T*A*T*I*<<<<<---    (Qitess, 17. Aug 2000, 19:52:31):
~#! on=Qitess ot=966532996 og=party
..................HALLO..................

------------*S*T*A*T*I*------------

::::::::in ... ... ... BRAUNSCHWEIG ... ... ... ::::::::::

**************am  FREITAG********************
Datum: 

------------------  25.08.2000   -------------------

+++++++++++++++++im  VIERTEL NACH ++++++++++++++++++++++

____________________um 20" Uhr _____________________

wie immer...


ANMELDEN IHR DUMMBADDELS!

bis jetzt ist erst einer angemeldet. und zwar karic. und wenn sonst keiner
eine kurze 'bescheid'-mail an qitess schickt, ziehen karic und ich woandershin
einen saufen. und zwar wird das nicht vorher bescheidgegeben.
So. (aetschebaetsch.)

QI**

-----------------------------------------------------------------------------



MS StaTi am... aeh... naechsten Mittwoch ;o) (Foobar, 17. Aug 2000, 22:30:39):
Liebe Gemeinde,

der Stammtisch in Muenster findet am 23.8.2000 mal wieder im Fegefeuer statt.

Fuer eine Wegbeschreibung wende man sich an Ariana. Na gut, ich rueck auch
eine raus wenn es sein muss.

Um zahlreiches Erscheinen wird gebeten.

Gruss,

     Foobar - mehrzeilernd

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Branwen, 18. Aug 2000, 15:13:48):
Ich wurde von einem uns allen wohlbekannte Mudder angesprochen, fuer wann denn
der naechste Muenchner Stammtisch geplant sei....
Nun, geplant ist zwar noch nichts, aber einen Termin-Vorschlag gibt es schon
:)
Das waere der 22. September. Genaueres zu Uhrzeit und Location werdet Ihr dann
wieder in der MPA finden, momentan ist es nur ein Abchecken, ob ueberhaupt
groesseres Interesse besteht und ob der Termin allen passt.
Also, wer Vorschlaege/Aenderungswuensche/Fragen/Anregungen hat -> Mail an mich
:)

MfG,
Branwen

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Karis, 18. Aug 2000, 16:05:52):
~#! rn=Branwen rt=966604428 rg=treffen
~#! tid=966604428
Endlich fasst sich mal wieder jemand ein Herz :)

Karis, kommt.

-----------------------------------------------------------------------------



Re:    --->>>>>*S*T*A*T*I*<<<<<---    (Anatol, 18. Aug 2000, 16:12:09):
~#! rn=Qitess rt=966534751 rg=treffen
~#! tid=966534751
Wer darauf verzichten kann, Qitess beim Saufen zuzuschauen, kann sich
noch immer nach Osnabrueck bemuehen. Am 25., den Freitag spielt zum 
Feuertanz auf Svbway to Sally, in extremo, mila mar und wie-hiess-sie-
noch? Merlons? :) Tag's darauf versuchen wir uns mal wieder mit einer
angenehmen Grillrunde. Uebernachtungsmoeglichkeiten sind gegeben, u.a.
deswegen und wegen der Verpflegung bitte vorher anmelden - bei Mupfel
und/oder mir.

Anatol - OS statt BS :)


-----------------------------------------------------------------------------



Re: Re:    --->>>>>*S*T*A*T*I*<<<<<---    (Qitess, 18. Aug 2000, 22:01:10):
~#! rn=Anatol rt=966607929 rg=treffen
~#! tid=966534751
NACHRUF
aufgrund mangelnder Beteiligung findet der Braunschweiger *S*T*A*T*I* in
osnabrueck statt.
da spielt subway to sally und in extremo.
das viertel nach ist fuer die zeit abgeschlossen
QI**

-----------------------------------------------------------------------------



****************S*T*A*T*I****************** (Qitess, 18. Aug 2000, 22:47:10):
---***S*T*A*T*I***---
in   BRAUNSCHWEIG
der stati findet natuerlich wie angekuendigt statt. wenn jetzt aber alle nach
os fahren wollen, dann koennen wir das ja auch mal besprechen...

QI**
P.S.: Der Stati findet wie gehabt am freitag, 25.8.00 im viertel nach in
braunschweig um 20 uhr statt

-----------------------------------------------------------------------------



Re: ****************S*T*A*T*I****************** (Mupfel, 18. Aug 2000, 23:01:36):
~#! rn=Qitess rt=966631630 rg=treffen
~#! tid=966631630
Naja sitzt du da halt mit Karic ist ja auch net schlimm...

-mupfel-

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Hight, 18. Aug 2000, 23:37:36):
~#! rn=Branwen rt=966604428 rg=treffen
~#! tid=966604428
spetember is oki soweit plan ich eh net ,o)

-----------------------------------------------------------------------------



Stammtisch in Dortmund (Dfender, 19. Aug 2000, 00:41:56):
Nach dem letzten StaTi im Boomerang gab es keine Beschwerden,
also findet der naechste wieder dort statt:

          BOOMERANG
          Kuckelke 20
          Dortmund-City
          naehe U-Bahn Reinoldikirche

und zwar am
          25.8.2000 ab ca. 20:00.

Ich moechte wieder ganz gerne reservieren, also gebt vielleicht
kurz Bescheid. Wegbeschreibungen koennt Ihr auch von mir bekommen.

Kommt hungrig und durstig und zahlreich! :)

Bis dann,
Dfender

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Liara, 19. Aug 2000, 00:45:51):
~#! rn=Dfender rt=966638516 rg=treffen
~#! tid=966638516
Kuckelke???

Kuckelke 20? ;-)
Gips da auch Kuckelke 3? Sowas wie Peepshow?

Liara, Zwergenzauberine, staunt und ueberlegt was Peepshow eigentlich is ;-)

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Anatol, 19. Aug 2000, 11:54:16):
~#! rn=Dfender rt=966638516 rg=treffen
~#! tid=966638516
Am 25.8. treffen sie sich auch in Braunschweig und in Osnabrueck. 
Irgendwie seid ihr die Helden. Echt. :)

Anatol - sagt Subway to Sally nicht ab ;)


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Tiamak, 20. Aug 2000, 14:56:28):
~#! rn=Anatol rt=966678856 rg=treffen
~#! tid=966638516
Was koennen wir dazu, dass ihr eure Termine ausgerechnet auf den letzten
Freitag im Monat legt? Das ist schliesslich schon seit Generationen sozusagen
traditionsgemaess der DO-Stammtisch-Termin. :-)


Tiamak

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Mupfel, 20. Aug 2000, 20:24:56):
~#! rn=Tiamak rt=966776188 rg=treffen
~#! tid=966638516
Den Termin haben ja nicht wir gelegt, sondern die Veranstalter des
Festivals... btw. der Osna-Stati ist *nicht* am 25. (da ist ja das Konzert)
sondern einen Tag spaeter am Samstag, den 26.8....

-mupfel-

-----------------------------------------------------------------------------



Schon wieder MS StaTi am 23.8.2000 (Foobar, 20. Aug 2000, 22:37:16):
Hallo.

Da ja bekanntlich am Wochenende Stammtische/Grillorgien in 3 verschiedene
Staedten des mehr oder weniger gleichen Einzugsgebiets stattfinden ernenne ich
mich hiermit zum Schlichter und schlag mal vor, dass Ihr alle erstmal am
Mittwoch nach Muenster ins Fegefeuer kommt und die ganze auszudiskutieren :o)

Alle anderen sind natuerlich auch herzlich eingeladen.

Da gibts dann wieder lecker (Seher-)Raeuberspiesse, Gemetzeltes vom Schwein
und Aufgespiesste Sau. Und Bier. VIEL Bier.

Bis Mittwoch,

     Foobar

-----------------------------------------------------------------------------



Re: Stammtisch Bonn! (Liara, 21. Aug 2000, 14:40:06):
~#! rn=Liara rt=966197113 rg=treffen
~#! tid=966197113
Erinnerung an den Bonner Stati am Donnerstag, den 24. August 2000 in der
Harmonie.

Bidde schickt mir ne kurze Mail mit der Personenzahl zwecks Tischbestellung.
(Ich kriege den Zettelwust nicht mehr geregelt, deshalb schreib mir bidde
auch, falls Du Dich schon muendlich angemeldet haben solltest).

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Tiamak, 21. Aug 2000, 14:44:04):
~#! rn=Dfender rt=966638516 rg=treffen
~#! tid=966638516
Hmmm, irgendwie passiert hier ja nix.
Also fang ich doch mal damit an, Boing zu aergern:

Tiamak sagt: 2.

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Nonne, 21. Aug 2000, 14:51:00):
~#! rn=Tiamak rt=966861844 rg=treffen
~#! tid=966638516
 +2=4

Nonne.

-----------------------------------------------------------------------------



(Abschieds)StaTi in MUENCHEN!!! (Reaper, 21. Aug 2000, 20:15:56):

  HiHo !

  Kurz ein Wort zum naechsten Stati in Muenchen:
  Da Wurzel und Verena demnaechst Muenchen leider verlassen
  werden, moechte ich ihnen zu Ehren einen 'Abschieds-Stati'
  organisieren, und hoffe auch um entsprechende Teilnahme :o)

  Nach Absprache mit Wurzel selbst, schlage ich diesmal wieder
  einen Grill-Stammtisch an der Isar vor. Zeitlich moechte
  ich den Stati auch entgegen Branwens Vorankuendigung auf den
  15.09. legen, da Wurzel & Verena natuerlich auch dabei sein 
  sollten ;)

  Wenn es die Wetterlage erfordert, treffen wir uns altanativ 
  dazu im nahegelegenen Metronom. 

  Karten und weitere Infos lege ich natuerlich wieder ins Netz, 
  jedoch diesmal unter der URL: 

                  http://www.zeilbeck.de/mg 

  (Update your bookmarks! *g*)
  Den Grillplatz selbst werde ich dann auch noch rechtzeitig 
  dort ausschildern :o)

  Ich werde mich auch wieder um Grillzeug und die Getraenke 
  kuemmern, kann mich dabei aber nur nach den Anmeldungen 
  (siehe Website) richten. Also bitte anmelden! :o)

  Desweiteren ist natuerlich jeder herzlich eingeladen selbst 
  noch was fuers Allgemeinwohl mitzubringen.

  Detailliertere und aktuelle Infos stehen rechtzeitig noch
  in der MPA, und natuerlich im Netz.

  Greez,
  Reaper

  P.S. Ab morgen im Netz...

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Morgoth, 21. Aug 2000, 21:57:12):
~#! rn=Nonne rt=966862260 rg=treffen
~#! tid=966638516
*Seufz*
Ich bin auf Betriebsausflug und dann Grillen...also wenn, dann gaaaanz spaet
;-((

M*

-----------------------------------------------------------------------------



Re: (Abschieds)StaTi in MUENCHEN!!! (Hight, 22. Aug 2000, 03:04:56):
~#! rn=Reaper rt=966881756 rg=treffen
~#! tid=966881756
bin allerhoechstwarscheinlich da... und ich prophezeie das das wetter wie
immer schlecht is

gruss hight

-----------------------------------------------------------------------------



MS StaTi 23.8.2000 (Foobar, 22. Aug 2000, 17:18:39):
Hallo.

Wer es noch nicht wissen sollte: Am morgigen Mittwoch, am 23.8.2000, ist mal
wieder Stammtisch in Muenster. Und zwar im Fegefeuer in der Von-Kluck-Strasse.

Bis morgen,

     Foobar

-----------------------------------------------------------------------------



Re: 25.08.: Feuertanz-Festival Osnabrueck (Anatol, 24. Aug 2000, 17:09:44):
~#! rn=Anatol rt=965597512 rg=treffen
~#! tid=965597512

Letzter Aufruf fuer den morgigen Freitag, ab 18:00 in Osnabrueck:

      ** Svbway to Sally ** in extremo ** Mila Mar ** Merlons **


Letzter Aufruf fuer den uebermorgigen Samstag, ab 19:00 in Osnabrueck:

      Stammtischgrillen (Voranmeldung erbeten).

Anatol


-----------------------------------------------------------------------------



Re: Re: 25.08.: Feuertanz-Festival Osnabrueck (Puk, 24. Aug 2000, 19:46:53):
~#! rn=Anatol rt=967129784 rg=treffen
~#! tid=965597512
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten
rhaemmer Anatol dem alten Sadisten

Puk, gewollt, kein Versehen

-> Schmarrn

-----------------------------------------------------------------------------



Stati in der Frankfurter Gegend? (Morgonate, 27. Aug 2000, 21:21:05):
Hallo Leutes,
bin von Dresden hierher gezogen. Wollte wissen, ob es hier in der Gegend (F /
WI) einen Stammtisch gibt.

Morgonate

-----------------------------------------------------------------------------



Re: Stati in der Frankfurter Gegend? (Gloinson, 28. Aug 2000, 08:51:47):
~#! rn=Morgonate rt=967404065 rg=treffen
~#! tid=967404065
-> W3-PAge

Gloin(son)

-----------------------------------------------------------------------------



Stammtisch MS (Catweazle, 28. Aug 2000, 10:00:21):
Moin!

Der naechste Stammtisch in Muenster findet am 30.08. ab 20:00 Uhr im

                          Scott's View

statt. Ich habe den Rest des Muensteraner Packs endlich lang genug 
breitgetreten, mal in meine Lieblingskneipe zu kommen und nun ist 
es endlich soweit. 
Vorzuege: Da gibts atens McEwan's (sehr leckeres Bier) und btens 
Unmengen von leckersten Whisky's. Und damit meine ich nicht JimBim.
Nachzuege: Da gibts nicht soooviel zu essen. Es ist zwar Fish&Chips
(ebenfalls sehr lecker :-) und nen paar Pies und so ein chicken stew 
(soll auch lecker sein :-) auf der Karte, aber das wars auch schon.
Ausserdem ist der Wirt ein echter Schotte, daher angemessen dick-
kopfig, das er, wenn er keinen Bock hat zu kochen, dies auch nicht
tut :-)

Okok, Details: 'Scott's View' ist in der Sonnenstrasse 42. Wers
finden will, moege bitte auf den Muensteraner Stadtplan sehen 
(http://www.muenster.de/~heyne/d3.gif). Die Sonnestrasse ist Nord-
westlich von Freiherr-von-Stein-Platz der sich wiederum noerdlich
von Hauptbahnhof befindet. Gefunden? Gut. 
Wie kommt man da hin? Nun vom Bahnhof aus ist das recht einfach.
Wenn man aus dem Bahnhof kommt verlaeuft quer Nord/sued die 
Bahnhofstrasse. Die geht man nach Norden (rechts rum) ueber den 
Servatiiplatz (rechter Hand ist das Molin rouge, bitte nicht aufhalten 
lassen :-) in die Eisenbanstrasse. Augen immer noch auf der Karte?
Ist einfach zu finden, gell? Okok, am Ende der Eisenbahnstrasse ist 
der besagte Freiherr-von-Stein-Platz, da geht man links in die 
Mauritzstrasse. Kurz ueber die Promenade, kommt quasi sofort auf der 
rechten Seite die Sonnenstrasse. An der Ecke findet man uebrigens
das Ipanema, da waren wir schon des oefteren. Jetzt noch 100m in 
die Sonnenstrasse rein, dann kommt auf der linken Seite der Schotte.
Das ganze sollte nicht laenger als 10 Minuten zu Fuss dauern. 

Tja, wenn ihr mit dem Auto seid, gibts ein Problem, ich weiss naemlich
zum einen nicht, wo man da am besten parkt, zum anderen wird da 
gerade massiv an den Kreuzungen gebaut, ich kann also nicht mit 
Sicherheit sagen, welcher Weg da am guenstigsten ist. Ich lasse das 
daher gleich bleiben und empfehle irgendwo am Bahnhof zu parken (Da
sind so blaue P's auf der Karte) und evtl. zu Fuss dahinzugehen.
Wer sich ansonsten auskennt oder probierwillig ist, parken kann man 
auch am Theater, oder wenn man sich bis dahin einen Weg gebahnt
bekommt direkt neben dem Schotten in der Steingasse.

Zuviele Informationen? Egal, stroemt einfach zu Hauf dahin.
Wer noch Fragen hat oder sich ob meines Gefasels unsicher ist, wo 
er denn wohl landen koennte, der moege sich an mich wenden. 


Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Re: Stati in der Frankfurter Gegend? (Wurzel, 28. Aug 2000, 17:40:01):
~#! rn=Gloinson rt=967445507 rg=treffen
~#! tid=967404065
die ist nicht grad aktuell...
anyway: da es mich auch wieder ins rhein-main-gebiet verschlaegt, wird es
fuer mich auch wieder aktuell, dort einen stammtisch zu haben. ark meinte,
dass durch einige abgaenge die teilnehmerzahl etwas ausgeduennt ist und
dadurch das ganze etwas eingeschlafen, aber das koennen wir ja wohl wieder
aendern :)

wurzel

-----------------------------------------------------------------------------



Re: Stammtisch MS (Ronda, 28. Aug 2000, 18:28:51):
~#! rn=Catweazle rt=967449621 rg=treffen
~#! tid=967449621
Catty, Du bist ein gemeiner, fieser, machtgeiler Magier ;-(
Wie kommst Du auf die Whis...Schnapsidee, so was auf einen WOCHENTAG zu legen?
Bitte, bitte, bitte: verschiebs auf nen Wochenende :-(

Ronda *ist von Catty schwer (!!!) enttaeuscht...*

-----------------------------------------------------------------------------



Achtung: StaTi Clausthal (Tilly, 28. Aug 2000, 20:44:04):
Moin moin,

und wieder einmal ist ein gemuetlicher StaTi in Clausthal geplant.
Diesmal stehen als Termine das WE 22.-24.09 oder 29.09.-01.10. zur
Debatte. StaTi waere dann entweder von FR->SA oder SA->SO, je wie
die Rueckmeldungen ausfallen. Begrenzte Uebernachtungsmoeglichkeiten
sind vorhanden, wenn das Wetter gut ist, kann auch gezeltet werden.

Bitte meldet Euch per Mail bei mir. Tagesgaeste sind natuerlich auch
gern gesehen, Muddies aus BS und H kaemen da sicher in Frage. Zwecks
Reservierung in der Kneipe bitte auch von denen eine kurze Meldung.

Auf zahlreiches Erscheinen!

 - Tilly - 

-----------------------------------------------------------------------------



Re^3: Stati in der Frankfurter Gegend? (Ark, 28. Aug 2000, 21:26:01):
~#! rn=Wurzel rt=967477201 rg=treffen
~#! tid=967404065
Klar, werwiewowannwas? Darmstadt gefaellig? Dann kann ich auch mehr trinken
;^) Terminvorschlag: 2. Freitag im September.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch in Berlin (Golas, 28. Aug 2000, 21:49:35):
Wegen eines special-guests behaupte ich jetzt mal, dass der naechste Stati
Wegen eines special-guests behaupte ich jetzt mal, dass der naechste Stati
nicht am ersten freitag sondern am
08.09.2000
2000uhr
cafe seblick

statt findet.
vetos werden 18 sekunden nach erscheinen des artikels unwirksam

golas, eine zukuenftige wahlberlinerin willkommen heissend

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Golas, 28. Aug 2000, 21:50:11):
~#! rn=Golas rt=967492175 rg=treffen
~#! tid=967492175
ich loesche den kein zweites mal, auch wenn ich diesen editor nicht verstanden
habe und noch ueben sollte ...

-----------------------------------------------------------------------------



Re^4: Stati in der Frankfurter Gegend? (Anacrion, 28. Aug 2000, 22:21:05):
~#! rn=Ark rt=967490761 rg=treffen
~#! tid=967404065
Aehm :) Zwischen den Jahren bin ich auch mal in Darmstadt (kurzzeitig) .. Arun
wohl auch mal wieder ... (Darmstadt rulez! ... besonders in Buffalo)) :))

Anac* muddet noch

-----------------------------------------------------------------------------



Re^5: Stati in der Frankfurter Gegend? (Ark, 28. Aug 2000, 22:22:55):
~#! rn=Anacrion rt=967494065 rg=treffen
~#! tid=967404065
Und so lange warten mir aba net, gelle?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stammtisch MS (Varlarion, 29. Aug 2000, 00:07:36):
~#! rn=Catweazle rt=967449621 rg=treffen
~#! tid=967449621
Zum Thema Parkplaetze: parallell zur Sonnenstrasse ist doch der Hoerster
Parkplatz, meiner Information nach ist der auch nachts offen.

Bis Mittwoch, Varlarion :)

-----------------------------------------------------------------------------



Re: Stammtisch in Berlin (Gloinson, 29. Aug 2000, 06:01:58):
~#! rn=Golas rt=967492175 rg=treffen
~#! tid=967492175
Dann behaupte ich mal, dass weder Martini noch meinereiner anwesend sein
werden ... hmmm, mal gucken obs nen StaTi am Bodensee gibt.

Gloin(son)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 29. Aug 2000, 09:11:28):
Da unser Stammtischwirt immer noch im Urlaub ist (will der eigentlich
kein Geld verdienen?) findet der Stammtisch noch einmal im Pizzahaus
statt (wie schon vor 2 Wochen). Leuten die schon bei der Party in Karlsruhe
dabei waren duerfte das bestens bekannt sein. Beginn ist wie ueblich um
20 Uhr (ach ja, am Donnerstag natuerlich).
  Boing

-----------------------------------------------------------------------------



Stati AC (Swotl, 29. Aug 2000, 11:24:34):
Hi Leute,

regulaererweise waere am Freitag wieder Stammtisch in Aachen, oder spricht
fuer einen von Euch was dagegen?

Also, Freitag, 20 Uhr, Chico Mendes. Bei Fragen an die ueblichen Leute 
wenden, zum Beispiel an mich.

CU Humni

-----------------------------------------------------------------------------



Re: Stammtisch MS (Varlarion, 29. Aug 2000, 18:00:40):
~#! rn=Catweazle rt=967449621 rg=treffen
~#! tid=967449621
Eigentlich wollte ich damit sagen, dass der Parkplatz trotz Baumassnahmen
noch zu erreichen ist...
Kommt davon, wenn man erst schreibt und dann denkt...

-----------------------------------------------------------------------------



Re^6: Stati in der Frankfurter Gegend? (Wurzel, 29. Aug 2000, 21:54:04):
~#! rn=Ark rt=967494175 rg=treffen
~#! tid=967404065
meinereiner ist erst ab oktober wieder in der heimat. das soll natuerlich
kein hinderungsgrund sein, schon im september wieder einen stammtisch zu
machen, nur bin ich dann eben hoechstwahrscheinlich nicht dabei.

wurzel

-----------------------------------------------------------------------------



Re^7: Stati in der Frankfurter Gegend? (Zook, 29. Aug 2000, 22:27:26):
~#! rn=Wurzel rt=967578844 rg=treffen
~#! tid=967404065
Wenn es nicht zu suedlich *grins Ark* liegt, koennte man auch mit
einer Abordnung aus Marburg rechnen. Aber ich kann erst nach meinen
Diplompruefungen, d.h. fruehestens Mitte Oktober. :)

Gruss, Zook.

-----------------------------------------------------------------------------



Re^8: Stati in der Frankfurter Gegend? (Ark, 29. Aug 2000, 22:30:11):
~#! rn=Zook rt=967580846 rg=treffen
~#! tid=967404065
Alles S-Bahnfahrer hier oder was? Darmstadt kann alles bieten, was Euer Herz
begehrt. Bringt die Welt nach Darmstadt, oder so ... Also, warten wir mal den
Oktober ab, und schauen, ob sich dann mehr Starkbiertrinker im schoenen
Staedtchen an der ... lassen wir das ... einfinden.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stammtisch in Dortmund (Helva, 29. Aug 2000, 23:41:44):
~#! rn=Dfender rt=966638516 rg=treffen
~#! tid=966638516
Boomerang ist cool, leider habe ich das zu spaet gesehen :(
helva

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dortmund (Hight, 29. Aug 2000, 23:48:10):
~#! rn=Helva rt=967585304 rg=treffen
~#! tid=966638516
*g* vorallem die twisters (oder wie auch immer die dinger heissen) sind ultra
lecker ...
muss ich mir merken das naechste mal bestell ich mir 3 portionen von denen und
sonst nix ,o)
getraenke natuerlich ausgeschlossen

hight hunger habend

-----------------------------------------------------------------------------



Re^3: Stammtisch in Dortmund (Helva, 29. Aug 2000, 23:57:32):
~#! rn=Hight rt=967585690 rg=treffen
~#! tid=966638516
Jau, die Twisters sind wirkliche kultige Pommes...allerdings schaffe ich mit
Hauptgericht meist nur die Haelfte :(
Helva-bekommt gleich Hunger

-----------------------------------------------------------------------------



Re^4: Stammtisch in Dortmund (Nonne, 30. Aug 2000, 08:56:56):
~#! rn=Helva rt=967586252 rg=treffen
~#! tid=966638516
Das Essen ist da ja recht nett, wenn auch teuer. Was ich aber definitiv zu
teuer finde, sind die Getraenke. Ich waere dafuer, uns eine andere Kneipe zu
suchen, oder findet ihr die so geil, dass ihr ueber die Preise hinwegsehen
koennt?

Nonne, arm.

-----------------------------------------------------------------------------



Re^5: Stammtisch in Dortmund (Morgoth, 30. Aug 2000, 09:47:24):
~#! rn=Nonne rt=967618616 rg=treffen
~#! tid=966638516
Hey, wir sind doch eh nicht da, oder hast Du Alex' Party vergessen??

M*, diesmal nicht dabei

-----------------------------------------------------------------------------



Re^5: Stammtisch in Dortmund (Tiamak, 30. Aug 2000, 10:30:18):
~#! rn=Nonne rt=967618616 rg=treffen
~#! tid=966638516
Soso, Du bist also dafuer, "uns eine andere Kneipe zu suchen". 
Finde ich echt fair von Dir, uns die Arbeit abzunehmen. :-)

Falls Du es wirklich schaffst, eine leicht erreichbare (auch fuer
Nicht-Dortmunder) Kneipe zu finden, in der man gut sitzen kann, in der es
gutes Essen gibt, wo die Musik nicht so laut ist, dass man sich nicht mehr
unterhalten kann und wo man nebenbei auch noch wenig bezahlt - nur her mit den
Vorschlaegen. An mindestens einem Punkt ist bisher irgendwie noch jede Kneipe
gescheitert.


Tiamak. Bleibt so lange lieber im Boomerang.

-----------------------------------------------------------------------------



Re^6: Stammtisch in Dortmund (Apollonia, 30. Aug 2000, 11:36:52):
~#! rn=Tiamak rt=967624218 rg=treffen
~#! tid=966638516
Okay, ich geh dann mal mit meiner Nonne forschen, vielleicht findet sich ja
doch was.

Apo* (diverse Abstuerze auf sich zukommen sehend)

-----------------------------------------------------------------------------



Stati in Dresden (Sniper, 30. Aug 2000, 11:47:01):
Halloechen Ihrs,
am Freitag abend ist mal wieder Stati in Dresden. Los gehts um 20:00 Uhr und
diesmal nicht im CD sondern im Waldschloesschen. Fuer alle, die nicht auf der
Mailingliste stehen und die dennoch gerne kommen wollen gilt: Bitte schickt
mir schnellstmoeglich ne Mail, damit ich unsere Reservierung gegebenenfalls
noch ein wenig anpassen kann.
Ich hoffe auf zahlreiches Erscheinen :-)

Sniper

-----------------------------------------------------------------------------



StaTi Telekom-Reseller (Foobar, 30. Aug 2000, 15:51:50):
Moin.

Wann ist denn mal ein Stammtisch in Telekom-Reseller? Schliesslich kommen da
verdammt viele Leute her? ;o)

SCNR,

     Foobar

-----------------------------------------------------------------------------



Re^9: Stati in der Frankfurter Gegend? (Sango, 30. Aug 2000, 17:23:23):
~#! rn=Ark rt=967581011 rg=treffen
~#! tid=967404065
Genau, ich bin stolzer S-Bahn-Fahrer ^_^
An und fuer sich hab ich nichts gegen Darmstadt, wen mich jemand ab Frankfurt
mitnehmen kann...ansonsten wird das ganze etwas teuer...

Sango, findet S-Bahn besser als Auto :)

-----------------------------------------------------------------------------



Re^10: Stati in der Frankfurter Gegend? (Ark, 30. Aug 2000, 20:22:17):
~#! rn=Sango rt=967649003 rg=treffen
~#! tid=967404065
Mitnehmen kann ich, erinner mich nochmal daran, wenn wir hier im Oktober mal
in medias res gehen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Berlin (Rardian, 30. Aug 2000, 21:41:55):
~#! rn=Gloinson rt=967521718 rg=treffen
~#! tid=967492175
Ihr koennt ja wieder mit ner Mudsession locken ;)

Gruss,
 Rar.

-----------------------------------------------------------------------------



Re^7: Stammtisch in Dortmund (Rochus, 30. Aug 2000, 21:51:36):
~#! rn=Apollonia rt=967628212 rg=treffen
~#! tid=966638516
Oh oh...

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 30. Aug 2000, 22:18:01):
Wegen der grossen Nachfrage:

Termin fuer den naechsten Bonner Stammtisch wird wohl der 16. September 2000
sein.

Liara, Zwergenzauberine

P. S.: Das ist ein Samstag, also keine Ausreden. ;-) Und ich setze vorher noch
einen richtigen Artikel in die MPA. ;-)

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 30. Aug 2000, 23:00:24):
~#! rn=Liara rt=967666681 rg=treffen
~#! tid=967666681
*roechel*

Das war nur eine Vorankuendigung! Ich weiss noch nicht, wer kommt!!
Lasst mich heile bidde. ;-) Und gefragt haben ne Menge Leute. Aber die werden
wohl nicht alle kommen. ;-)

Liara, Zwergenzauberine, wird bestuermt

Also, wenn ihr wollt, koennt ihr mir gerne Mails schreiben. Dann weiss ich
auch wer kommt. ;-)) Ich dachte zwar, mehr als 2 Wochen vorher interessiert
das noch keinen, aber ich scheine mich getaeuscht zu haben. ;-)

-----------------------------------------------------------------------------



Re: Stati in Dresden (Deepblue, 31. Aug 2000, 10:49:14):
~#! rn=Sniper rt=967628821 rg=treffen
~#! tid=967628821
Wie waere es, sich vorher zu einer kurzen Tunnelbesichtigung am Hauptbahnhof
zu treffen? An diesem tag ist er doch offen...

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Liara, 31. Aug 2000, 19:18:20):
~#! rn=Liara rt=967669224 rg=treffen
~#! tid=967666681
Oehm, alle wollte das angesprochene Wochenende, aber irgendwie kann da
niemand. ;-)

Deshalb ist der naechste Bonner Stammtisch NICHT am 16. September, sondern 

am MONTAG, den 18. September 2000 ab 20 Uhr in der Harmonie in Bonn-Endenich.

Um aber doch noch, wie gewuenscht, einen Stammtisch am Wochenende stattfinden
zu lassen, schlage ich den 7. Oktober vor. (Am WE zwecks gewuenschter
Beteiligung der Muensteraner, Berliner, Saarlaender, Duesseldorfer,
Clausthaler, Dortmunder, usw. ... . Vielleicht koennen die mir mal ne Mail
schreiben, ob der Termin guenstig ist.)

-----------------------------------------------------------------------------



Re^11: Stati in der Frankfurter Gegend? (Morgonate, 31. Aug 2000, 21:09:57):
~#! rn=Ark rt=967659737 rg=treffen
~#! tid=967404065
Leider kenne ich noch keine vernuenftigen Lokale.
Mir waere September aber schon lieb. Und dann lieber in Frankfurt oder
Wiesbaden (von hier nach Darmstadt ist nun mal nen Ende, sorry, Pappi).

Morgonate

-----------------------------------------------------------------------------



Re^3: Stammtisch Bonn (Schwubbel, 31. Aug 2000, 21:39:18):
~#! rn=Liara rt=967742300 rg=treffen
~#! tid=967666681
Danke fuers Angebot, Liara, aber da bin ich mit meinen "lieben" Kinderlein auf
Texel. Von da komm ich nicht ;) . Aber von mir wird der Stati kaum abhaengen.
Bis denne,
Schwubbel der Fast-Duesseldorfer (oder Cirdan)

-----------------------------------------------------------------------------



Stati Aacen (Humni, 31. Aug 2000, 22:07:03):
Mal ganz vorsichtig nachgefragt: Kommt irgendwer morgen zum Stati??
Ich hab noch nix gehoert..

Ich selbst wollte ansonsten noch anmerken, dass es bei mir selbst was
spaeter wird wegen Essen mit Firma..

Aber irgendwie..kommt ueberhaupt wer??

Humni

-----------------------------------------------------------------------------



Re: Stati Aacen (Humni, 31. Aug 2000, 22:07:39):
~#! rn=Humni rt=967752423 rg=treffen
~#! tid=967752423
Oh Gott...ein Typo schon in der Ueberschrift..
was solls. Bleibt jetzt so.

Humni

-----------------------------------------------------------------------------



Re: Stati Aacen (Ark, 31. Aug 2000, 22:09:19):
~#! rn=Humni rt=967752423 rg=treffen
~#! tid=967752423
-1


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stati Aacen (Darkwing, 31. Aug 2000, 22:13:09):
~#! rn=Humni rt=967752423 rg=treffen
~#! tid=967752423
Ich bin da ... und Sugaan und Critter haben sich auch angemeldet

-----------------------------------------------------------------------------



Re^12: Stati in der Frankfurter Gegend? (Sharia,  3. Sep 2000, 19:10:50):
~#! rn=Morgonate rt=967748997 rg=treffen
~#! tid=967404065
Heya ab mitte Oktober bin ich denke ich auch mal dabei .. (aua ich seh
garnicht was ich hier schreibe :-))) aber Darmstadt .. tststs ARK ? wer soll
denn DA hin :-))) 

Sharia waer wohl dabei :-)

-----------------------------------------------------------------------------



stati in stuttgart (Leibniz,  3. Sep 2000, 22:53:56):
also am 23.09. (diesmal endlich der richtige termin) ist mal wieder stati in
stuttgart. wir treffen uns so um 20 uhr im backofen (das ist die kneipe mit
der weltbesten bedienung :)
wegbeschreibung gibts bei imda.

bis denn 
leibi

-----------------------------------------------------------------------------



Re: stati in stuttgart (Padreic,  4. Sep 2000, 00:22:33):
~#! rn=Leibniz rt=968014436 rg=treffen
~#! tid=968014436
Denkt dran vorher bescheid zu sagen, sonst haben die wieder keine Regenwuermer
fuer Imda....

Padreic, erinnernd.

-----------------------------------------------------------------------------



Re: stati in stuttgart (Morgoth,  4. Sep 2000, 07:38:35):
~#! rn=Leibniz rt=968014436 rg=treffen
~#! tid=968014436
Wieso? Laufen da nur nackte Weiber mit dicken Titten als Bedienung rum? 

M*

-----------------------------------------------------------------------------



Flammkuchen & Karlsruhe (Hobo,  4. Sep 2000, 09:53:32):
Hi Leute,

endlich, endlich ist Cheffe wieder da, also findet diesen Donnerstag der
Stammtisch wieder im Kleinen Maierhof statt.
Ausserdem wurde am letzten Stammtisch der naechste Flammkuchentermin
abgesegnet:
Samstag, 30.9. werden wir uns vermutlich wieder um 19 Uhr sammeln, um dann
gemeinsam ins Elsass zu fahren. Um Anmeldung wird wie immer gebeten,
Uebernachtungsmoeglichkeiten sind ausreichend vorhanden, also nur Mut!
Uebrigens: Wer nur den Tiefkuehlflammkuchen kennt, wird angenehm von "echtem"
Flammkuchen ueberrascht sein. Und wer noch nie Flammkuchen gegessen hat, muss
das sowieso endlich nachholen. Ich kenne sogar Leute, die keine Zwiebeln
moegen, aber bei Flammkuchen trotzdem reichlich zulangen.


Ciaole

     Hobo

-----------------------------------------------------------------------------



StaTi in BS!!! (Spider,  5. Sep 2000, 01:24:15):
Hallo! Am 29.09. StaTi in BS, evtl. mit Rudelmudden im Anschluss!
Hallo! Am 29.09. StaTi in BS, evtl. mit Rudelmudden im Anschluss (bei
Ingramosch in WOB)!

Come one, come all!
Ray**

-----------------------------------------------------------------------------



MS StaTi 6.9.2000 (Foobar,  5. Sep 2000, 03:22:47):
Liebe Gemeinde.

Der Stammtisch Muenster findet wie jeden ersten Mittwoch im Monat im "Alabama"
statt.

Wegescripte gibts bei Lanfear.

Bis dann,

     Foobar

PS: Natuerlich um 20.00 Uhr.

-----------------------------------------------------------------------------



Re^3: fuer alle amazon-besteller... (Catweazle,  5. Sep 2000, 09:19:19):
~#! rn=Troy rt=968137261 rg=www
~#! tid=967885229
Warte mal, warte mal.
'erster Mittwoch', gut. 'Alabama', auch ok. Hinweis auf ne Web-
beschreibung, sehr schoen, und Uhrzeit, hm, scheint auch zu stimmen.

Tscha, scheint kein Fehler drin zu sein, ist bei Dir auch wirklich
alles in Ordnung, Foobar?

YTC

PS: Achja, welches Datum? (:-)

-----------------------------------------------------------------------------



Re^4: fuer alle amazon-besteller... (Liara,  5. Sep 2000, 13:44:35):
~#! rn=Catweazle rt=968138359 rg=treffen
~#! tid=967885229
Das Datum steht im Titel, Catty. ;-)

Liara, Zwergenzauberine, sorgt sich auch um Foobar ;-)

-----------------------------------------------------------------------------



Re^5: fuer alle amazon-besteller... (Catweazle,  5. Sep 2000, 15:41:50):
~#! rn=Liara rt=968154275 rg=treffen
~#! tid=967885229
Ach tatsaechlich.
Nur nicht in meinem :) 
Schulligung, ich war nur bemueht eine ausreichende und uebliche Menge
Orientierungslosigkeit (ich mag nicht Chaos sagen, sonst krieg ich 
wieder haue) zu erzeugen.

YTC

-----------------------------------------------------------------------------



Re: StaTi in BS!!! (Rayzeel,  6. Sep 2000, 15:18:15):
~#! rn=Spider rt=968109855 rg=treffen
~#! tid=968109855
Also, noch was zum StaTi. Er soll diesmal im Mephisto stattfinden, das ist
Fallersleber Strasse/ Ecke Theaterwall (schraeg gegenueber AOK). Zeit wie
immer 20 Uhr. Und das Rudelmudden findet auch nicht in WOB, sondern in WF
statt (dazu muss ich aber noch Ingramosch befragen). Also, CU.
Ray**

-----------------------------------------------------------------------------



Super! Toll! Klasse! Spitze! (Foobar,  8. Sep 2000, 14:28:06):
Huhu!

Aus besonderem Anlass findet der naechste StaTi in Muenster _ausnahmsweise_
nicht am Mittwoch statt sondern bereits am Dienstag, dem 12. September 2000.

Kaum zu glauben, aber wahr.

Und er findet auch nicht im Ipanema statt, auch nicht im Alabama sondern im

     John Doe's Diner, Spiekerhof 44

Da ist naemlich Dienstag Burgerabend (-> alle Burger fuer billig Geld).

Wegbeschreibungen gibt es, wenn mich meine Erinnerung nicht truegt, im
Web-Archiv der MPA oder zur Not auch bei mir.

Ich freu mich.

Alles wird gut.

     Foobar

-----------------------------------------------------------------------------



Re: Super! Toll! Klasse! Spitze! (Lanfear,  8. Sep 2000, 14:54:16):
~#! rn=Foobar rt=968416086 rg=treffen
~#! tid=968416086
Hiermit moechte ich nochmal unserem Zeitungszwerg danken, der es
unglaublicherweise jetzt das zweite Mal in Folge geschafft alle Informationen
korrekt in einen Artikel zu bekommen. *gratulier*

Desweiteren wird hiermit der Stammtisch "Telekom-Reseller" mit dem
Muensteraner Stammtisch auf Dauer zusammengelegt.
Wer von den Telekom-Reseller-Benutzern nicht zum Stammtisch kommt ist ne olle
Socke und wird demnaechst einfach von keinem mehr fuer voll genommen :-)

Lanfear - Heroldin

-----------------------------------------------------------------------------



Re: Super! Toll! Klasse! Spitze! (Foobar,  8. Sep 2000, 14:54:18):
~#! rn=Foobar rt=968416086 rg=treffen
~#! tid=968416086
Ich nochmal.

Unter http://www.john-does-diner.com/menues/men_indx.htm gibt es die
Speisekarte von dem Laden.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: Super! Toll! Klasse! Spitze! (Foobar,  8. Sep 2000, 14:58:05):
~#! rn=Foobar rt=968417658 rg=treffen
~#! tid=968416086
Nein, ich liefere nicht.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Treffen in frankfurter Gegend (Auriane,  9. Sep 2000, 11:52:20):
Also, ich finde Darmstadt gar nicht so schlecht, nur einen Termin sollten wir
finden. Oktober ist klasse.
q
q
q


-----------------------------------------------------------------------------



Re: Treffen in frankfurter Gegend (Wurzel,  9. Sep 2000, 12:50:53):
~#! rn=Auriane rt=968493140 rg=treffen
~#! tid=968493140
dito :)
bis auf die q jedenfalls :)

wurzel

-----------------------------------------------------------------------------



Re: Treffen in frankfurter Gegend (Ark,  9. Sep 2000, 16:36:38):
~#! rn=Auriane rt=968493140 rg=treffen
~#! tid=968493140
Na also, bald werden mehr Schaefchen kommen und seltsame Gespraeche in
Darmstaedter Kneipen fuehren. Auf auf, weiter so ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



StaTi in Clausthal (Jenandra,  9. Sep 2000, 22:58:09):
hmpf, jetzt muss man den Saufthal-Zecherfeldern schon die Arbeit abnehmen ...
;-)

Aaaalso, die Entscheidung ist gefallen, und der naechste Stammtisch in
Clausthal findet am
23. und 24. September 2000
statt.
Wem der Termin nicht passt, verkrieche sich in irgend ne Ecke, er/sie hatte
genug Zeit, sich zu aeussern ;-)
Fuer weitere Infos und zum Anmelden (es stehen Zimmer im Wohnheim in
begrenzter Anzahl zur Verfuegung) wendet Euch gefaelligst an Tante Tilly.
Achja, fuer geometrisch Unkundige, die sich trotzdem mit dem Gedanken tragen,
den StaTi heimzusuchen: Clausthal liegt im Westharz. Frohes Suchen auf der
Karte.

Jenandra, auch da sein werdend.

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 10. Sep 2000, 22:49:15):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 15.9. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: Re: Treffen in frankfurter Gegend (Anacrion, 11. Sep 2000, 08:45:04):
~#! rn=Ark rt=968510198 rg=treffen
~#! tid=968493140
Klar. Kaum sind Arun und ich in Amiland, gehts hoch her ...

Na Klasse ..

anac* - ist zwischen den Jahren da ... ;)\

-----------------------------------------------------------------------------



Re: Re: StaTi in BS!!! (Qitess, 11. Sep 2000, 18:24:15):
~#! rn=Rayzeel rt=968246295 rg=treffen
~#! tid=968109855
FAKE!
im Mephisto??? das ist kein echter orgenool BS *S*T*A*T*I* !
QI**

-----------------------------------------------------------------------------



Re^3: StaTi in BS!!! (Rayzeel, 11. Sep 2000, 19:26:32):
~#! rn=Qitess rt=968689455 rg=treffen
~#! tid=968109855
Tja, im 1/4 Nach hatten sich Leute wegen der miesen Bedienung beschwert, und
deshalb dachte ich, machen wirs halt wo anders. Und im Mephisto isses auch
nett. Ray**

-----------------------------------------------------------------------------



Re^4: StaTi in BS!!! (Qitess, 11. Sep 2000, 20:29:54):
~#! rn=Rayzeel rt=968693192 rg=treffen
~#! tid=968109855
Naja, ... ich weiss nich, ... wennde meinst ...

QI** sagt: Das ist trotzdem ein Fake.

P.S.: Schoene Gruesse an Nokis Kommilitonin.


-----------------------------------------------------------------------------



(Abschieds)StaTi in MUENCHEN!!! (Gast1, 12. Sep 2000, 14:05:46):

  Moin!

  Der muenchner Stammtisch ist noch nicht gestorben! 
  Naja, die Idee  mit Grillen an  der Isar war zwar ganz nett, aber 
  ich glaube inzwischen nicht mehr daran, dass das was werden wird.
  Deshalb wird der StaTi diesmal wieder im Wyprechthof stattfinden!
  Am  15.09.  ab  19:00 Uhr  isses soweit!
  Karte und Infos sind unter 

  http://www.zeilbeck.de/mg

  zu finden. Da dies  der Abschieds-StaTi  fuer Wurzel und Verena, 
  die sich aus Muenchen nun verabschieden ist, und auch der letzte 
  StaTi um den ich mich kuemmere  sein wird, bitte ich  diesmal um
  besonders rege Teilnahme! :o)

  Ok, war jetzt doch etwas kurzfristig, aber wird sicher lustig...

  Grusz,
  Reaper



-----------------------------------------------------------------------------



Re: StaTi in Clausthal (Liara, 12. Sep 2000, 20:35:39):
~#! rn=Jenandra rt=968533089 rg=treffen
~#! tid=968533089
Suche Mitfahrgelegenheit nach Clausthal, da Auto nicht zur Verfuegung steht.

Liara, Zwergenzauberine mit DB-Allergie

-----------------------------------------------------------------------------



Abschieds-StaTi in Aachen (Nicktar, 14. Sep 2000, 21:35:33):
Hi,

da Aachen bald um 3 Mudder aermer ist hab ich die unruehmliche Aufgabe
uebernommen, den Abschieds-StaTi fuer kyria und Elberet und den Nachruf-StaTi
fuer Darkwing auszurufen.
So wird denn am Mittwoch, den 20.09.2000 gegen 20:00 Uhr um zahlreiches
Erscheinen im Chico Mendes gebeten. 

Opefer fuer die Anforderung von Wegbeschreibungen findet man unter kwer aus
Aachen.

Nicktar

-----------------------------------------------------------------------------



Re: Abschieds-StaTi in Aachen (Nicktar, 14. Sep 2000, 21:41:18):
~#! rn=Nicktar rt=968960133 rg=treffen
~#! tid=968960133
Naja und gleich die erste Korrektur....

Es ist der Abschied von Kyria und der Nachruf auf Darkwing und Elberet.

Dummerchen ich

Nicktar

-----------------------------------------------------------------------------



Re: Re: Abschieds-StaTi in Aachen (Liara, 14. Sep 2000, 22:59:47):
~#! rn=Nicktar rt=968960478 rg=treffen
~#! tid=968960133
Sorry, Darkwing und Elberet sind putzmunter.

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re^3: Abschieds-StaTi in Aachen (Nicktar, 14. Sep 2000, 23:01:15):
~#! rn=Liara rt=968965187 rg=treffen
~#! tid=968960133
Hi,

das braucht dir nicht leid zu tun (=

Sie sind aber zum Zeitpunkt des StaTi keine aachener Mudder mehr....

Nicktar - nicht mehr ganz ernst zu nehmen

-----------------------------------------------------------------------------



Re^4: Abschieds-StaTi in Aachen (Ark, 14. Sep 2000, 23:03:23):
~#! rn=Nicktar rt=968965275 rg=treffen
~#! tid=968960133
Mutieren sicher zu Darmstaedter Muddern ... vernuenftiger, das.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Stammtisch Bonn (Liara, 15. Sep 2000, 13:34:01):
~#! rn=Liara rt=967742300 rg=treffen
~#! tid=967666681
               ***** BONNER STAMMTISCH *****

           ***** MONTAG, 18. September 2000 *****

***** in der HARMONIE, Frongasse 30, in Bonn-ENDENICH *****

           ***** Reservierung ab 20 UHR  *****

     Bitte noch Mails wegen der Beteiligung an mich.

LZ

-----------------------------------------------------------------------------



Re^4: Stammtisch Bonn (Liara, 15. Sep 2000, 13:38:30):
~#! rn=Liara rt=969017641 rg=treffen
~#! tid=967666681
Habe den Hinweis auf den Bonner WE-Stammtisch vergessen:

Angedacht ist der 7. Oktober 2000. Bidde mal Stellungnahmen der
ausserbonnlichen Muddies, ob das passt und Interesse besteht. ;-)

LinZ

-----------------------------------------------------------------------------



Re: Re: Abschieds-StaTi in Aachen (Elberet, 15. Sep 2000, 14:54:48):
~#! rn=Nicktar rt=968960478 rg=treffen
~#! tid=968960133
Also ich wollte schon gerade das korrigieren, aber ich kann leider wirklich
nicht zum Stati kommen, waere was weit und teuer, aber ich denke bestimmt an
euch ;)

Elberet (bald fuer laenger weg)

-----------------------------------------------------------------------------



Re^3: Abschieds-StaTi in Aachen (Elberet, 15. Sep 2000, 14:55:42):
~#! rn=Liara rt=968965187 rg=treffen
~#! tid=968960133
Jo, putzmunter bin ich, wenn auch schon ziemlcih aufgeregt. ;))

Elberet (zwar nicht einsilbig aber einzeilig)

-----------------------------------------------------------------------------



Re^5: Abschieds-StaTi in Aachen (Elberet, 15. Sep 2000, 14:58:48):
~#! rn=Ark rt=968965403 rg=treffen
~#! tid=968960133
Nee, Anatol, Darmstaedter Mudder werd ich nicht, waer auch nicht naeher als
Aachen und in ein paar Monaten bin ich ja wieder Aachener Mudder ;))
(Darmstadt pfft, wieso sollte ich da hin ?)

Elbi ( Kamphase, nicht vorsintflutlich, neuestes Modell ;) )

-----------------------------------------------------------------------------



Re^6: Abschieds-StaTi in Aachen (Elberet, 15. Sep 2000, 15:00:11):
~#! rn=Elberet rt=969022728 rg=treffen
~#! tid=968960133
Ohh, ich meinte natuerlich nicht Anatol sondern Ark

*peinlich beruehrt ;)

-----------------------------------------------------------------------------



Re^7: Abschieds-StaTi in Aachen (Ark, 15. Sep 2000, 20:11:59):
~#! rn=Elberet rt=969022811 rg=treffen
~#! tid=968960133
Dachte ich mir schon, ich habe den naechsten Artikel gelesen, obwohl ich
gleich eine entsetzte Antwort folgen lassen wollte ... mein Unterkiefer fiel
mit einem lauten *klapp* runter, als ich das gelesen hatte ;^)
Bald heisst es noch, ich waere sein Zweiti *oergs*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Abschieds-StaTi in Aachen (Anacrion, 16. Sep 2000, 04:51:47):
~#! rn=Ark rt=969041519 rg=treffen
~#! tid=968960133
Wusste ichs doch.
Ark ist ein unmarkierter Anatolzweitie.

wie teuer war eigentlich das Kostuem fuer den Stati, Anatol ?

anac* - schmarrend

-----------------------------------------------------------------------------



MS StaTi 18.09.2000 (Foobar, 17. Sep 2000, 21:36:08):
Moin.

Ich haette fast vergessen den naechsten Stammtisch in Muenster anzukuendigen.
Der findet naemlich wieder mal nicht am Mittwoch statt, sondern beretis
morgen, am Montag, dem 18.09.2000.

Und zwar wieder im John Doe's Diner (URL und Adresse sind wohl im MPA-Archiv).

Wie immer so gegen 20 Uhr.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 18.09.2000 (Anatol, 17. Sep 2000, 22:01:14):
~#! rn=Foobar rt=969219368 rg=treffen
~#! tid=969219368
Sonst seid ihr noch ganz knusper? Ich dachte "Stamm" von "Stammtisch"
stamme von "angestammt". Nicht von "staemmig" wie "Brett vorm Kopf". :)

Anatol - (mg.mud.de: "Jeden Mittwoch, 20:00 Uhr, Ipanema")

-----------------------------------------------------------------------------



Re: Re: MS StaTi 18.09.2000 (Lanfear, 18. Sep 2000, 00:13:55):
~#! rn=Anatol rt=969220874 rg=treffen
~#! tid=969219368
Jupp, das wollte ich auch noch aendern lassen, danke feur die Erinnerung :-)

Es ist halt ein Wanderstammtisch :-)

Lanfear

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 19. Sep 2000, 19:44:18):
noch mal zur erinnerung:
am samstag ist stati in stuttgart. wir treffen uns so um 8 im backofen und
werden dann irgendwann spaeter vielleicht noch ein paar cocktails trinken
gehn.
wegbeschreibung (und regenwuermer) gibts wie immer bei imda.

special guest ist diesmal gnome :)

leibi



-----------------------------------------------------------------------------



Re: stati stuttgart (Imda, 19. Sep 2000, 21:20:30):
~#! rn=Leibniz rt=969385458 rg=treffen
~#! tid=969385458
Ausserdem faengt an selbigem Samschtag auch noch besagtes Volksfescht auf dem
Wasen an, fals da Interesse bestehen sollte.
Im uebrigen muss ich daraufhinweisen, dass die Behauptung, ich koenne
Regenwuermer in Stueckzahlen liefern reine Greuelpropaganda ist. Ich hatte
mich lediglich bereit erklaert selbige zu Demonstrationszwecken in den
natuerlichen Nahrungskreislauf zurueckzufuehren.

Imda. Obersturmfeldidler.

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Leibniz, 19. Sep 2000, 22:13:27):
~#! rn=Imda rt=969391230 rg=treffen
~#! tid=969385458
jaja und du faehrst dann mit mir achterbahn *huepf*
denn ich hab mir sagen lassen, dass so bestimmten zwergen sogar im
kettenkarussell schlecht wird ;)

leibi

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Gnome, 19. Sep 2000, 22:14:42):
~#! rn=Leibniz rt=969394407 rg=treffen
~#! tid=969385458
ruhe da hinten!
fuer einen zwerg war das eine riesenachterbahn! :)

gnOme

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Hight, 19. Sep 2000, 22:49:01):
~#! rn=Gnome rt=969394482 rg=treffen
~#! tid=969385458
muhahahaha klar haben zwege angst vor karussels .o)
*brilleaufnasesetzundanfangzurefferieren* 
also aufgrud der zentrifugalkraefte ... bla bla bla ... dreckschicht ... bla
bla bla .... drohender verlust

nur warum die achterbahn ne gefahr is weiss ich net ... die wirkt
entgegengesetzt 

hight -> schmarrn

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Panic, 20. Sep 2000, 00:16:41):
~#! rn=Leibniz rt=969394407 rg=treffen
~#! tid=969385458
danach brauchen nicht nur Zwerge erstmal ein Bier *grins Gnome*

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Imda, 20. Sep 2000, 06:25:58):
~#! rn=Leibniz rt=969394407 rg=treffen
~#! tid=969385458
Kloor fahrich mit dir Achterbahn. am besten nach dem 5ten Cocktail. Da
merktmas nemmer so ;)

Imda.

-----------------------------------------------------------------------------



Samstag: StaTi Clausthal (Tilly, 21. Sep 2000, 15:33:27):
Moin,

nochmal kurz die Lokalitaet fuer Kurzentschlossene aus dem Umland:

StaTi Clausthal findet statt am Samstag, 23.09.00, ab 21h in der
Rutsche (Schulstrasse 22a, Ecke Seilerstrasse), Tel: 05323 - 4888.

Es lohnt sich :-)

 - Tilly - 

-----------------------------------------------------------------------------



StaTi Muenster am 28.9.2000 (Foobar, 24. Sep 2000, 19:13:25):
Hallo.

Diese Woche findet der Stammtisch in Muenster am Donnerstag, dem 28.9.2000
statt. Und zwar im Fegefeuer, so gegen 20.00 Uhr.

Anfahrtsbeschreibung gibt es unter

http://www.muenster.de/~kosth/fegefeuer.html

Danke fuer die Aufmerksamkeit.

     Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster am 28.9.2000 (Mupfel, 24. Sep 2000, 19:15:45):
~#! rn=Foobar rt=969815605 rg=treffen
~#! tid=969815605
Und? Kommt noch wer ausser Gorog und Dir? ;)

-mupfel-
P.S.: wie waers wenn man den Muenster Stammtisch nur noch einmal im MOnat
abhielte? Dann kommen mit Sicherheit mehr Leute...

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster am 28.9.2000 (Foobar, 24. Sep 2000, 19:16:51):
~#! rn=Mupfel rt=969815745 rg=treffen
~#! tid=969815605
Keine Ahnung.

Aber beim letzten Mal waren wir neun, davor sieben.

Reicht doch :o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster am 28.9.2000 (Mupfel, 24. Sep 2000, 22:22:50):
~#! rn=Feuerwehr rt=969826760 rg=treffen
~#! tid=969815605
Das Fegefeuer in Muenster ist so ne Art Mittelalter-Kneipe. Mit Ruestungen und
Schwertern an den Waenden, mit ner Speisekarte aus Holz (einzelne Brettchen
mit Lederbaendern aneinandergebunden), mit verschiedenen Sorten Met, und
selbst die Cola wird aus Tonkruegen serviert ;) Alles in Allem ganz
empfehlenswert...

-mupfel- (los 112, fasse Mut und komm mal ;)

-----------------------------------------------------------------------------



Re^3: StaTi Muenster am 28.9.2000 (Feuerwehr, 24. Sep 2000, 22:31:29):
~#! rn=Mupfel rt=969826970 rg=treffen
~#! tid=969815605

Nachdem der MG-Rechner umgezogen ist, ist Muenster doch lediglich ein weiterer
Provinz-Ort.... *kicher*.

    112 (gemein)

-----------------------------------------------------------------------------



Re^4: StaTi Muenster am 28.9.2000 (Mupfel, 24. Sep 2000, 22:32:35):
~#! rn=Feuerwehr rt=969827489 rg=treffen
~#! tid=969815605
NIcht so provinziell wie Bonn ist, seit die Regierung weg ist... 

-mupfel- (schlagt zurueck ;)

-----------------------------------------------------------------------------



Re^5: StaTi Muenster am 28.9.2000 (Liara, 24. Sep 2000, 23:31:13):
~#! rn=Mupfel rt=969827555 rg=treffen
~#! tid=969815605
112 ist jetzt Hesse.

Liara, Zwergenzauberine, getroffen

-----------------------------------------------------------------------------



StaTi in der Naehe von KH? (Schleicher, 25. Sep 2000, 01:09:30):
Moinsen,
da ich aus diversen Gruenden relativ haeufig in KH (nein nicht Karl-Heinz
sondern Bad Kreuznach) bin wollte ich nur mal 
fragen obbet da inner Gegend auch nen StaTi gibt auf dem ich mir unbekannte
Mudder nerven koennte?!
Schleicher der mit der Reisetasche...

-----------------------------------------------------------------------------



Der Letzte !! (Morgoth, 25. Sep 2000, 18:28:07):
Freitag kommt mal wieder ... und deshalb muesst ihr auch alle kommen !!

FERKEL

Ins Boomerang natuerlich, wie immer um 2000h !

M* (1)

-----------------------------------------------------------------------------



Re: Der Letzte !! (Mupfel, 25. Sep 2000, 19:46:13):
~#! rn=Morgoth rt=969899287 rg=treffen
~#! tid=969899287
So, muessen wir das?

-mupfel (mal schaun)
P.S.: nette aufforderung btw... ;)

-----------------------------------------------------------------------------



Re: Re: Der Letzte !! (Hight, 25. Sep 2000, 20:18:39):
~#! rn=Mupfel rt=969903973 rg=treffen
~#! tid=969899287
noe .o(

(-1)

-----------------------------------------------------------------------------



Re^3: Der Letzte !! (Nonne, 26. Sep 2000, 09:24:39):
~#! rn=Hight rt=969905919 rg=treffen
~#! tid=969899287
Aeh, eigentlich wollten wir das mit der Kneipe ja nochmal diskutieren wegen
der ordentlichen Preise dort. Oder verschieben wir das auf naechsten Monat?

Nonne.

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster am 28.9.2000 (Tiamak, 26. Sep 2000, 11:43:01):
~#! rn=Mupfel rt=969815745 rg=treffen
~#! tid=969815605
Geruechtehalber kommen ein paar "special guests" vorbei.


Jemand. ;-)

-----------------------------------------------------------------------------



Re^3: StaTi Muenster am 28.9.2000 (Yendi, 26. Sep 2000, 12:11:09):
~#! rn=Tiamak rt=969961381 rg=treffen
~#! tid=969815605
Geruechteweise komme ich auch noch vorbei, aber erst nach dem Chor um ca.
elf Uhr abends. Mal sehen, wer bis dann durchgehalten hat... :-)

YTY


-----------------------------------------------------------------------------



USA-Stati (Anacrion, 26. Sep 2000, 17:09:17):
Halloele allersetis ...

Da immer mehr von uns in den USA weilen, kam mir der Gedanke, man koennte ja
evtl. nen Stati organisieren .. (der dann mit nner Besichtigung vor Ort
verbunden waere) ..
Die Tickets von Southwest kosten ja eh fast nix :)

Ihr anderen, die ihr in den USA weilt (also zumindest Elberet und Arun weiss
ich) sagt doch einfach mal was dazu :)

Gruss
Anac*

-----------------------------------------------------------------------------



Re^4: StaTi Muenster am 28.9.2000 (Anatol, 26. Sep 2000, 17:10:35):
~#! rn=Yendi rt=969963069 rg=treffen
~#! tid=969815605
Das ist so etwa die Zeit, wo die Osnabruecker sich entscheiden muessen:
Elf Uhr oder zwei Uhr. Dazwischen gibt es von der DB AG naemlich nix. 

*SEUFZ*

Anatol - kein "Special Guest", aber trotzdem dabei

-----------------------------------------------------------------------------



Re: USA-Stati (Wargon, 26. Sep 2000, 17:38:38):
~#! rn=Anacrion rt=969980957 rg=treffen
~#! tid=969980957
Wo denn genau? In etwa zwei Jahren bin ich vielleicht mal wieder fuer ne Woche
oder so zum Telefonieren in Chicago oder New York... :)))
  Wargon

-----------------------------------------------------------------------------



Re: Re: USA-Stati (Elberet, 26. Sep 2000, 17:51:10):
~#! rn=Wargon rt=969982718 rg=treffen
~#! tid=969980957
Also mir egal, wo. Aber in Zwei Jahren bin ich nicht mehr hier, daher wuerde
ich einen Termin vor Juni vorschlagen ;)

Elberet.

-----------------------------------------------------------------------------



Re: USA-Stati (Tsunami, 26. Sep 2000, 19:10:40):
~#! rn=Anacrion rt=969980957 rg=treffen
~#! tid=969980957
Nevok und ich sind auch in den Staaten. Wer noch?

Tsunami. Hat es nie in Europa an ein Treffen geschafft, vielleicht klappts
hier...

-----------------------------------------------------------------------------



Re: Re: USA-Stati (Matis, 26. Sep 2000, 19:19:51):
~#! rn=Tsunami rt=969988240 rg=treffen
~#! tid=969980957
Mist, ich was bis letzen Mittwoch in den USA ;o).
Gibt's eigentlich auch andere Mudder hier in the UK?

Matis

-----------------------------------------------------------------------------



Re^3: USA-Stati (Sharia, 26. Sep 2000, 21:22:22):
~#! rn=Matis rt=969988791 rg=treffen
~#! tid=969980957
klar Matis ... nur ob die auch im MG sind ... :-)


Sharia mit wahnsinnig integenten Aussagen

-----------------------------------------------------------------------------



Re^4: Der Letzte !! (Kartoffel, 26. Sep 2000, 21:57:32):
~#! rn=Nonne rt=969953079 rg=treffen
~#! tid=969899287
Ich wuerd sagen, die Diskussion machen wir am Freitag im Boomerang...

'Toffel - will noch Krokodil essen...

-----------------------------------------------------------------------------



Re: USA-Stati (Ark, 26. Sep 2000, 23:25:20):
~#! rn=Anacrion rt=969980957 rg=treffen
~#! tid=969980957
Klasse, ich schlage fuer die Zeit vom 04.10. - 07.10. Raleigh (NC) vor, danach
auch Chattanooga oder bis 12.10. Atlanta.
Jemand Interesse? Ich werde auch mit Leihwagen aufkreuzen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: USA-Stati (Anacrion, 27. Sep 2000, 06:18:14):
~#! rn=Ark rt=970003520 rg=treffen
~#! tid=969980957
Also das hoert sich ja schon recht gut an ...
\
Ich bin in Buffalo (Eriesee, Niagarafaelle), Arun ist in Berkeley, Elberet in
Chicago (oder umgegend, (hat mir darkwing zumindest gesagt oder ich kann mich
nicht mehr erinnern) .. Nevok, Tsunami ? wo seid ihr ? .. deutet aber zur zeit
eher auf ostkueste oder middteren westen hin .. ich kann zumindest was
touristisches bieten und ne menge schlafplatz ;)

Anac*

-----------------------------------------------------------------------------



Re^5: Der Letzte !! (Paracelsus, 27. Sep 2000, 13:40:28):
~#! rn=Kartoffel rt=969998252 rg=treffen
~#! tid=969899287
Genau.

Paracelsus denkt . o O (Emu oder Kroko?)

-----------------------------------------------------------------------------



Sugi hat Durst - oder einfach auch nur ein wenig Zeit (Sugaan, 27. Sep 2000, 14:21:07):
Also es ist wie immer total chaotisch und viel viel viel zu spontan fuer die
meisten von Euch - aber ich haette morgen abend Zeit und auch Lust  einige
wenige (oder auch mehr) von Euch in Koeln zu treffen. Da das Wetter nicht mehr
sooo schoen ist - denke ich brauchen wir nicht unbedingt einen Biergarten -
und somit wuerde ich fuer ein Treffen das "The Harp" vorschlagen - so ab 19.30
Uhr o.
Falls irgendwer kommen moechte bitte bitte bei Ronda oder mir melden - damit
dann auch irgendwer da ist (????) - Tschuess und hoffentlich bis morgen - sugi

-----------------------------------------------------------------------------



Re^6: Der Letzte !! (Alcina, 27. Sep 2000, 15:28:07):
~#! rn=Paracelsus rt=970054828 rg=treffen
~#! tid=969899287

oki, am ehesten vegetarisch. Die hatten da auch leckere Salate.

Alcina (+1)


-----------------------------------------------------------------------------



Re: Sugi hat Durst - oder einfach auch nur ein wenig Zeit (Ronda, 27. Sep 2000, 15:58:46):
~#! rn=Sugaan rt=970057267 rg=treffen
~#! tid=970057267
Ups, warum bei mir? Ich weiss doch nix - ich bin morgen abend einfach nur in
Koeln ;-)

Wo ist denn das Harp? Koennte mir jemand da etwas auf die Spruenge helfen?
Eventuell sogar per Mail an Hedderich@GMX.Net - vielen Dank ;-)

Ronda

-----------------------------------------------------------------------------



Re^7: Der Letzte !! (Hight, 27. Sep 2000, 16:06:26):
~#! rn=Alcina rt=970061287 rg=treffen
~#! tid=969899287
ach quark .o) ... den gazen abend von diesen twistern ernaehren ... abba nicht
vergessen denen vorher zu sagen das da keine majo drauf soll ... mit majo is
ekelich 


-----------------------------------------------------------------------------



Re^3: USA-Stati (Anoris, 27. Sep 2000, 20:35:21):
~#! rn=Elberet rt=969983470 rg=treffen
~#! tid=969980957
wuerde gerne mal wieder in due USA naechstens.. sagt mir wann ihr wo seid..
ev. kann ichs einrichten ..
- Anoris

-----------------------------------------------------------------------------



Re^3: USA-Stati (Humni, 27. Sep 2000, 20:58:29):
~#! rn=Anacrion rt=970028294 rg=treffen
~#! tid=969980957
Im Namen von Elberet (der leider nicht selbst antworten darf, sonst
muss er kochen, und wenn ich antworte, muss nur Liara kochen oder so)
ergeht folgender Artikel:

Er ist die naechste Zeit in Chicago und hat aber wohl im 
Oktober recht wenig Zeit. Aber wen sich in der gegend was ergibt 
wird er wohl sicherlich dahinkommen. Des weitern wird er wohl 
noch ca. 9 1/2 Monate dableiben, folglich wird sich sicherlich
auch bei einem spaeterenUSA-Stati was machen lassen.

Ich glaube, er kommt naechste Woche ohne Kochgefahr wieder mal rein und
kann dann persoenlich reden. 

Also: Oktober doof, danach wohl besser.

im Auftrag, Humni

-----------------------------------------------------------------------------



Re^5: Stammtisch Bonn (Liara, 29. Sep 2000, 12:56:52):
~#! rn=Liara rt=969017910 rg=treffen
~#! tid=967666681
Ich moechte nochmal an den Bonner Stammtisch am Samstag, den 7. Oktober 2000
erinnern.
Bidde schreibt mir rechtzeitig, wenn ihr eine Schlafgelegenheit braucht. 
Bisher haben wir 2 Special Guests aus Muenster.

LZ

-----------------------------------------------------------------------------



Re^6: Stammtisch Bonn (Hight, 29. Sep 2000, 13:30:20):
~#! rn=Liara rt=970225012 rg=treffen
~#! tid=967666681
aufgrund meiner finanziellen lage werde ich wohl nicht teilnehmen koennen .o(
abba denkt mal drueber nach ob ihr ne nen stati in der ersten novemberwoche
machen wollt .o) da hab ich ferien und hatte so und so vor in die richtung zu
fahren ,o)

hight

-----------------------------------------------------------------------------



Re^6: Stammtisch Bonn (Liara, 29. Sep 2000, 16:04:51):
~#! rn=Liara rt=970225012 rg=treffen
~#! tid=967666681
Gna. :-)

Foobar teilt Dir mit: 2 Special Guests aus Muenster? Wer denn?
Du teilst Foobar mit: hm du und gorog
Foobar grinst Dich aus der Ferne an.

LZ

-----------------------------------------------------------------------------



Re^7: Stammtisch Bonn (Gorog,  1. Okt 2000, 16:59:16):
~#! rn=Liara rt=970236291 rg=treffen
~#! tid=967666681
Das ich komme halte ich fuern Geruecht.

Gorog isst auch in der Geruechtekueche.

-----------------------------------------------------------------------------



New York (Anoris,  1. Okt 2000, 17:24:37):
werde voraussichtlich donnerstag bis samstag mal in NY sein.. sonst noch wer
dort?

- Anoris

-----------------------------------------------------------------------------



Bin in Osnabrueck... (Critter,  1. Okt 2000, 17:46:25):
Da ich bis Freitag den 06.10 in Osnabrueck weile und ich / wir hier nix und
niemanden kennen,
wollte ich ma fragen, ob irgendjemand lust hat was zu unternehmen.
ihr koennt mich momentan unter 0179/ 386 8195 erreichen.
gruss critter

-----------------------------------------------------------------------------



leipsch (Birdy,  2. Okt 2000, 07:42:57):
hiho !

bin ab freitag abend uebers we in leipzig.
vielleicht ham ja ein paar leipziger abends n bissel zeit ?;)
berliner stati verpass ich ja leider...

birdy

-----------------------------------------------------------------------------



MS Stati Mittwoch 4.10. (Gorog,  2. Okt 2000, 18:07:50):
Moins
Diesmal ne Ankuendigung von mir. Stati is im Cuba, Achtermannstr. Nr.?. Is
ziemlich direkt am Bahnhof. Wegbeschreibungen und aehnliches bei Varlarion
oder Foobar (Hoffe ich). Achja es beginnt um 20.07 Uhr damit wenigstens etwas
Abweichung von der Normalitaet herrscht. Viel Spass und so, werd wohl auch
aufschlagen.
Bis denn
P.s.: Foobar vergiss nciht zu reservieren
P.P.s.: Brandir nein wir gehn nicht ins Alabama auch wenn der erste ist.

mfG Gorog der Deligator

-----------------------------------------------------------------------------



oeh, Wegbeschreibung?!?! (Varlarion,  2. Okt 2000, 19:04:44):
~#! rn=Gorog rt=970502870 rg=treffen
~#! tid=970502870
Ahja, ich soll diesmal ne Wegbeschreibung abliefern???
Well, ihr habts nicht anders gewollt ;)
Das Beste, was ich in der Richtung liefern kann, ist das hier:

http://www.muenster.de/~heyne/d3.gif

Okie, hoffe, ihr findets ;)


Gruss, Varl :)

-----------------------------------------------------------------------------



Re: MS Stati Mittwoch 4.10. (Mupfel,  2. Okt 2000, 21:26:28):
~#! rn=Gorog rt=970502870 rg=treffen
~#! tid=970502870
Au fein, ich bring CRitter mit ;)

-mupfel-

-----------------------------------------------------------------------------



MS StaTi: Anfahrtsbeschreibung Cuba (Foobar,  3. Okt 2000, 23:00:09):
Moin.

Prinzipiell gilt erstmal der gleiche Weg wie zum Fegefeuer. Allerdings faehrt
man auf der Moltkestrasse geradeaus, bis man zum Ludgeriplatz (Kreisverkehr)
kommt. Dort nimmt man die dritte Ausfahrt (Schorlemerstr.) welche einem in
einem Bogen Richtung Bahnhof fuehrt. Am Ende dieser Strasse entschliesst man
sich zum Linksabbiegen und ordnet sich auch direkt mal ganz links ein. An der
nun folgenden 2. Ampel sollte man links in eine kleine Strasse einbiegen
koennen und kurz darauf wieder links in eine noch kleinere. Das ist die
Achtermannstrasse, das Cuba befindet sich nach einigen Metern rechts.

Bahnfahrer fallen aus dem Zug, gehen direkt Richtung Innestadt (Windhorststr.)
und biegen noch in extremer Bahnhofnaehe rechts in die Achtermannstr. ab.

Bis morgen,

     Foobar

-----------------------------------------------------------------------------



Re: Re: USA-Stati (Montanus,  3. Okt 2000, 23:07:14):
~#! rn=Tsunami rt=969988240 rg=treffen
~#! tid=969980957

Ich bin auch ab demnaechst in den USA. Aber dann fuer langer. Im Nordwesten.
Ein Stammtisch irgendwo zwischen Vancouver, BC und Portland, OR wuerde mir
dabei schon sehr entgegenkommen. ;-)

-Montanus.

-----------------------------------------------------------------------------



Stati in Dresden (Deepblue,  4. Okt 2000, 16:41:37):
Es waer ja mal wieder Zeit. Da Sniper sich laut eigener Aussage Momentan nicht
drum kuemmern kann, schlage ich kommenden Dienstag, 10.10. im CD vor. Wie
immer 20:00 Uhr, fuer Mesirii ne Stunde frueher :-)

-----------------------------------------------------------------------------



Stati in Wien (Woody,  4. Okt 2000, 17:10:14):
Der all-3-jaehrliche Stammtisch in Wien findet mal wieder statt.
Aehm. Huestel. Ok, so regelmaessig findet er doch nicht statt ;)
Und wenn dann nur zu besonderen Anlaessen.

Nicht dass wir einen haetten, aber heute (4.10.) ab ca. 20.15 Uhr
ist jedenfalls ein so ein Stammtisch :). Und zwar im Cafe Benno,
Alser Strasse 67. Einfach so mal wieder. Das Reh ist auf "Morgen-
grauen" serviert.

Anmerkung am Rande: Catweazle kommt auch. ;)


Woody.-


-----------------------------------------------------------------------------



Stati (Puk,  4. Okt 2000, 18:38:43):

Laranis geluestet es wohl nach einem kleinen Stati im A**** der Welt :)
Da sie sich selbst aber nicht traut sowas zu veroeffentlichen (dumme Ausrede
ich schneide gerade Salat, echt!) tu ich das ganze dann mal wieder.

Also Termin ist kommender Samstag (fragt mich nicht nach Datum, ich bin
Student und das Semester hat noch nicht angefangen) um 20 Uhr im Cafe Cavie.
Wer nicht weiss wo das ist oder einfach mal so vorbeischauen will bitte mich
oder Laranis ansprechen. Fuer Leute die von weiterkommen wollen (ich rate ab;)
gibs auch ne Wegbeschreibung auf Anfrage.

Alles klar ? *gruebel*
Najut, das wars.

Puk

-----------------------------------------------------------------------------



Re: Stati (Bielefeld,  4. Okt 2000, 21:32:21):
~#! rn=Puk rt=970677523 rg=treffen
~#! tid=970677523
Aehm...kann ich nicht lesen, oder fehlte im Vorartikel der Ortsname?
-Bielefeld, will nciht das Bundegebiet durchsuchen... :)

-----------------------------------------------------------------------------



Re: Stati (Puk,  4. Okt 2000, 21:32:41):
~#! rn=Puk rt=970677523 rg=treffen
~#! tid=970677523
Okok, kleiner Nachtrag


                     ZITTAU


Hoffe das hilft weiter :)

Puk, dachte jeder wuesste welche Stadt damit nur gemeint sein kann.

-----------------------------------------------------------------------------



Re: Re: Stati (Hight,  4. Okt 2000, 21:43:47):
~#! rn=Puk rt=970687961 rg=treffen
~#! tid=970677523
darf sich das schon stadt nennen ? 

hight einzielich -> schmarrn

-----------------------------------------------------------------------------



Stati in B (Gandur,  4. Okt 2000, 22:46:13):

da es noch keiner gemacht hat *vorwurfsvoll zu golas schau* kuendig ich
halt den berliner stati an.

termin: 6.10. (freitag)
ort: seeblick
uhrzeit: 20:00

naeheres auf den mg-seiten.

gruss, gandur

-----------------------------------------------------------------------------



Re^3: Stati (Gloinson,  5. Okt 2000, 06:52:10):
~#! rn=Hight rt=970688627 rg=treffen
~#! tid=970677523
Och. Sachsen hat nicht umsonst die kleinste Stadt Deutschlands. Irgendwas um
800 Einwohner. Mich wuerd wirklich mal interessieren, zu welcher Zeit wer da
so mit Stadtrechten um sich geworfen hat, auch wenn ich gern zugeben, dass die
Ortsdichte in Sachsen etwas hoeher als im Norden ist.

Gloin(son)

PS: Ich komm trotzdem nicht ;) Das ist ja selbst von Dresden noch
    viel zu zipfelig. Macht doch gleich StaTi in Tschechien oder
    Polen, da ists billiger.

-----------------------------------------------------------------------------



Re^4: Stati (Troy,  5. Okt 2000, 08:56:18):
~#! rn=Gloinson rt=970721530 rg=treffen
~#! tid=970677523
Aehm, muesste das nicht heissen: "Sachsen IST nicht umsonst die kleinste Stadt
Deutschlands...".

Troy - hat Sachsen mittlerweile mehrfach durchquert und es hat nie laenger als
ein bis zwei Stunden gedauert...

-----------------------------------------------------------------------------



Re^5: Stati (Gloinson,  5. Okt 2000, 09:01:30):
~#! rn=Troy rt=970728978 rg=treffen
~#! tid=970677523
Dann solltest Du Koenig Kurt fuer die Autobahnen danken oder nicht nur durch
einen Zipfel fahren.

Gloin(son) glaubt Troy eh nicht

-----------------------------------------------------------------------------



Re^4: Stati (Bielefeld,  5. Okt 2000, 12:15:13):
~#! rn=Gloinson rt=970721530 rg=treffen
~#! tid=970677523
Tut mir ja leid, aber die kleinste Stadt Deutschland ist Arnis
(bei Kappeln an der Schlei gelegen). Circa 250 Einwohner...

Bietet noch jemand weniger?

-Bielefeld

-----------------------------------------------------------------------------



Re: Stati in B (Golas,  5. Okt 2000, 13:42:39):
~#! rn=Gandur rt=970692373 rg=treffen
~#! tid=970692373
wurde ich zum offiziellen ausrufer ernannt?

golas uebernimmt den job :)

-----------------------------------------------------------------------------



Re^6: Stammtisch Bonn (Liara,  5. Okt 2000, 16:20:02):
~#! rn=Liara rt=970225012 rg=treffen
~#! tid=967666681
Bonner Stammtisch am 7. Oktober ab 20 Uhr in der Harmonie in Bonn-Endenich

Bisher so knapp 15 Leute mit festen Absichten. Darunter erfreulicherweise wohl
3 mal Muenster (Gorog, Foobar, Brandir), 2 mal Dortmund (Thufhir und
hoffentlich ;-) Tiamak) und Bierchen und Jenandra.

Cinderella hat mich drauf aufmerksam gemacht, dass an diesem Tag auch Bonner
Fischparty ist. Wer moechte, kann sich mit einigen von uns und den
Muensteranern um 16 Uhr vor der Hauptpost (gegenueber Beethovendenkmal,
Muensterplatz) treffen, um sich den Trubel mal anzusehen. Mail waere gut, wenn
wir auf Dich warten sollen.

LZ

-----------------------------------------------------------------------------



Re^5: Stati (Gloinson,  5. Okt 2000, 16:28:30):
~#! rn=Bielefeld rt=970740913 rg=treffen
~#! tid=970677523
Dann war das eben die kleinste Stadt in Neufuenfland :> Was kann ich dafuer,
das noch so viel nicht einheitsbereinigte Literatur kursiert.

Gloin(son)

-----------------------------------------------------------------------------



Re^5: Stati (Leibniz,  5. Okt 2000, 16:36:03):
~#! rn=Bielefeld rt=970740913 rg=treffen
~#! tid=970677523
ich kenn nur das groesste dorf deutschlands:
das ist hassloch in der pfalz und hat so um die 22000 

leibi 

-----------------------------------------------------------------------------



Re^6: Stati (Dieder,  5. Okt 2000, 16:38:46):
~#! rn=Leibniz rt=970756563 rg=treffen
~#! tid=970677523
Und ich kenne nur den A**** der Welt, und der heisst eindeutig Furtwangen und
liegt im Hochschwarzwald. :)

Dieder

-----------------------------------------------------------------------------



Re^6: Stati (Boing,  5. Okt 2000, 16:40:04):
~#! rn=Leibniz rt=970756563 rg=treffen
~#! tid=970677523
Ich dachte das groesste Dorf Deutschlands waere Muenchen ...?
  Boing

-----------------------------------------------------------------------------



Re^6: Stati (Karis,  5. Okt 2000, 16:40:12):
~#! rn=Leibniz rt=970756563 rg=treffen
~#! tid=970677523
Sorry, da muss ich widersprechen, Leibi.
Das groesste Dorf (nicht nur Deutschlands) ist und bleibt Muenchen :)
Aber das mit Herz ;)

Generaelchen Karis

-----------------------------------------------------------------------------



Re^7: Stati (Deepblue,  5. Okt 2000, 16:41:29):
~#! rn=Boing rt=970756804 rg=treffen
~#! tid=970677523
Budendoerfer in Freizeitpaerken zaehlen nicht

-----------------------------------------------------------------------------



Re^7: Stati (Hight,  5. Okt 2000, 17:04:22):
~#! rn=Dieder rt=970756726 rg=treffen
~#! tid=970677523
noe ich bin immernoch der meinung das das groesste dorf deutschlands muenchen
heisse ... muss irgendwo in bayern liegen ... abba ich wiss sicher das da im
winter der bahnhof von 0:00 bis 04:00 komplett geschlossen wird und die armen
reisenden in der u-bahn warten muessen um nicht zu erfriern

hight

-----------------------------------------------------------------------------



Re^8: Stati (Dieder,  5. Okt 2000, 17:06:05):
~#! rn=Hight rt=970758262 rg=treffen
~#! tid=970677523
ich sprach nich vom groessten Dorf, sondern vom A**** der Welt... :-)

im uebrigen: Bahnhof, U-Bahn? Bayern? Wasn das? :-))

Dieder, kennt hier nur Traktoren und Schneepfluege :)

-----------------------------------------------------------------------------



Re^9: Stati (Hight,  5. Okt 2000, 17:07:39):
~#! rn=Dieder rt=970758365 rg=treffen
~#! tid=970677523
was is n traktor ? hier im dorf is es so ueblich das die bauern (was anderes
gibts hier garnich) ihre weiber vorn pflug spannen und dann richtung feld
wandern .o)

-----------------------------------------------------------------------------



Re^8: Stati (Deepblue,  5. Okt 2000, 17:12:58):
~#! rn=Hight rt=970758262 rg=treffen
~#! tid=970677523
Um die Zeit hat auch keiner was auf dem Bahnhof zu suchen. Abgesehen von den
Nachtwaechtern ham die Leute zu schlafen, bis der Pfaff am Morgen zum wecken
laeutet.

-----------------------------------------------------------------------------



Re^9: Stati (Hight,  5. Okt 2000, 17:45:31):
~#! rn=Deepblue rt=970758778 rg=treffen
~#! tid=970677523
doch ... da standen 2 arme mudder die nach dem stammtisch nimmer genau wussten
was machen ...

hight war live dabei

-----------------------------------------------------------------------------



Re^6: Stati (Troy,  6. Okt 2000, 12:47:20):
~#! rn=Gloinson rt=970729290 rg=treffen
~#! tid=970677523
Hmm. Ich kam von Berlin um 03:45 Uhr morgens, bin an Dresden vorbei an der
Elbe laengs in Richtung Prag gefahren und war um 05:12 an der Grenze. Viel
Sachsen war da nicht dazwischen.

Troy

-----------------------------------------------------------------------------



Re^7: Stati (Gloinson,  6. Okt 2000, 13:57:37):
~#! rn=Troy rt=970829240 rg=treffen
~#! tid=970677523
Mit Verlaub, das wuerde ich nicht mal Mango abnehmen. Und der faehrt schon wie
ein Verrueckter.

Gloin(son) rechnet mit mindestens einer halben Stunde von DD bis Grenze und da
es von DD bis Berlin 200 km sind ...

-----------------------------------------------------------------------------



Re^8: Stati (Bielefeld,  6. Okt 2000, 15:08:13):
~#! rn=Gloinson rt=970833457 rg=treffen
~#! tid=970677523
Du kennst Troys Fahrstil nicht...

-Bielefeld
(erinnert sich an Hamburg-Karlsruhe in 4 Stunden)

-----------------------------------------------------------------------------



Re^9: Stati (Patryn,  6. Okt 2000, 16:47:29):
~#! rn=Bielefeld rt=970837693 rg=treffen
~#! tid=970677523
und du kennst mangos fahrstil...

tsja...was bringen uns diese orakeligen aussagen nun? *g*

------
patryn

-----------------------------------------------------------------------------



Re^10: Stati (Gloinson,  6. Okt 2000, 17:05:47):
~#! rn=Patryn rt=970843649 rg=treffen
~#! tid=970677523
Mudder sind plemplem. Die machen alles wie bescheuert, ob es Mudden oder
autofahren sei.

Gloin(son)

-----------------------------------------------------------------------------



Re^7: Stati (Trance,  6. Okt 2000, 19:43:14):
~#! rn=Boing rt=970756804 rg=treffen
~#! tid=970677523

> Ich dachte das groesste Dorf Deutschlands waere Muenchen ...? 
Nene, das ist Stuttgart!

Trance, Metropolin

-----------------------------------------------------------------------------



Re^8: Stati (Lupus,  7. Okt 2000, 13:12:10):
~#! rn=Trance rt=970854194 rg=treffen
~#! tid=970677523
Alles falsch. Berlin ist das groesste Dorf Deutschlands! Dabei unterstuezt
mich sogar die grosse Telekotz: DSL soll zuerst in Grossstaedten und
Ballungsraeumen verfuegbar sein. Ich wohne zufaellig in Berlin und bin bisher
"nicht fuer den Ausbau bis Ende 2001 vorgesehen".
Alles klar?

Lupus

-----------------------------------------------------------------------------



Re^8: Stati (Montanus,  7. Okt 2000, 13:19:16):
~#! rn=Hight rt=970758262 rg=treffen
~#! tid=970677523
Seit wann gehoert bayern zu Deutschland?

-Montanus, fluechtet demnaechst wieder aus Nuernberg in die Zivilisation
zurueck

-----------------------------------------------------------------------------



Re^9: Stati (Apollonia,  7. Okt 2000, 13:52:36):
~#! rn=Montanus rt=970917556 rg=treffen
~#! tid=970677523
Nanana, sooooooooo schlimm ist Bayern nu auch wieder nicht!

Apo* (weiss das aus eigener Erfahrung)

-----------------------------------------------------------------------------



Re^10: Stati (Gloinson,  7. Okt 2000, 14:50:14):
~#! rn=Apollonia rt=970919556 rg=treffen
~#! tid=970677523
Hast eben ein staerkeres Gemuet ;)

Gloin(son)

-----------------------------------------------------------------------------



Re^9: Stati (Hight,  8. Okt 2000, 11:55:28):
~#! rn=Montanus rt=970917556 rg=treffen
~#! tid=970677523
nuernberg is das einzige stueck zivilistation da unten in der gegend und du
willste da weg ? schaem dich !!! ein leben lang sollst du verbannt sein ! 

-----------------------------------------------------------------------------



Re^11: Stati (Anoris,  8. Okt 2000, 20:53:27):
~#! rn=Gloinson rt=970844747 rg=treffen
~#! tid=970677523
von wo weisst du wie gut ich Autofahr? *erstaunt* :)


-----------------------------------------------------------------------------



Re^10: Stati (Teddybea,  8. Okt 2000, 21:01:49):
~#! rn=Apollonia rt=970919556 rg=treffen
~#! tid=970677523
Nee, ist noch viel schlimmer ;)

Teddybea, weiss das auch aus eigener Erfahrung

-----------------------------------------------------------------------------



Re^10: Stati (Montanus,  9. Okt 2000, 00:05:20):
~#! rn=Hight rt=970998928 rg=treffen
~#! tid=970677523

Aus Nuernberg verbannt zu werden ist genauso wie Hausverbot im Gefaengnis. :-)

Montanus, freut sich schon

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Okt 2000, 22:31:25):


Kaum zu glauben aber wahr, wir schaffen es tatsaechlich mal wieder am 
zweiten Freitag des Monats:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 13.10. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



StaTi in BS ! (Karic,  9. Okt 2000, 23:07:53):
hio

ist mal wieder zeit fuer nen stati in BS...
Datum: 20.10.2000.
Zeit: 20:15h
Ort: 1/4 nach ..wegen der _netten_ bedienung ;)

Wegbeschreibung? fragt wen aus BS ;)
Schlafmoeglichkeiten? dto. ;)

So wies ausschaut wirds nen SpecialGuest geben ..
wer das sein wird? kommt und schauts euch an ;)

bis denne
Karic 

-----------------------------------------------------------------------------



StaTi MS 11.10.2000 (Foobar,  9. Okt 2000, 23:59:41):
Liebe Gemeinde.

StaTi Muenster, 11.10.200, 20.07 Uhr, Cuba. Wegbeschreibung: siehe Archiv oder
ich.

Foobar - kurz und knapp (die Nachricht, nich ich ;o))

-----------------------------------------------------------------------------



Re: StaTi MS 11.10.2000 (Mupfel, 10. Okt 2000, 13:04:23):
~#! rn=Foobar rt=971128781 rg=treffen
~#! tid=971128781
siehe ich? ;)

aber cuba is ok....

-mupfel-

-----------------------------------------------------------------------------



Re: StaTi in BS ! (Rayzeel, 10. Okt 2000, 13:18:22):
~#! rn=Karic rt=971125673 rg=treffen
~#! tid=971125673
rein prinzipiell sind statis immer gut, aber koennten wir das nicht woanders
machen? wegen der 'netten' bedienung...
Ray* (muss mal wieder meckern)

-----------------------------------------------------------------------------



Re: Re: StaTi in BS ! (Qitess, 10. Okt 2000, 19:25:01):
~#! rn=Rayzeel rt=971176702 rg=treffen
~#! tid=971125673
is doch egal...
Festin und ich sind eh nicht da...
QI**

-----------------------------------------------------------------------------



Stati in Berlin (Golas, 10. Okt 2000, 22:13:25):
hi folks,

der naechste stati in berlin wird ortsmaessig verlegt ...

in meiner funktion als offizieller ausrufer verlege ich den stati zu mir nach
hause als einweihungsparty. wer lust hat zu kommen schicke mir bitte eine
mudmail oder eine email an golas@gmx.net

winke winke
Golas der ausrufer

ps: in meiner wohnung herrscht rauchverbot und ich hab nen verdammt kleinen
balkon. nicht, dass jemand mir vorwirft, ich haette es nicht vorher gesagt ;)

-----------------------------------------------------------------------------



Re: Stati in Berlin (Golas, 10. Okt 2000, 22:14:29):
~#! rn=Golas rt=971208805 rg=treffen
~#! tid=971208805
latuernich ist der stati am 03.11 erster freitag im monat. uhrzeit 2000 ...

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Ronda, 10. Okt 2000, 22:22:28):
~#! rn=Golas rt=971208869 rg=treffen
~#! tid=971208805
Hmm, schade ;-) Denn ich werde mich vermutlich irgendwann zwischen dem 27. und
29. in Berlin rumtreiben... vielleicht schaffen wir's ja trotzdem, uns da
irgendwo zu einem Spontan-Stammtisch zu treffen?

Ronda

Ps: Vielleicht auch Samstag morgen im KdW, oberste Etage - da wollt ich
sowieso hin ;-)

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (Gloinson, 11. Okt 2000, 07:18:55):
~#! rn=Ronda rt=971209348 rg=treffen
~#! tid=971208805
Du zahlst meinen Fleischkaese, ich bin da ;)

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: StaTi MS 11.10.2000 (Gorog, 11. Okt 2000, 11:38:35):
~#! rn=Mupfel rt=971175863 rg=treffen
~#! tid=971128781
Werd wohl nicht da sein.

Gorog kurz und abwesend

-----------------------------------------------------------------------------



man sieht sich auf der Spiel???? (Ancalagon, 11. Okt 2000, 22:38:56):
Halloechenknuddels!
Bald is ja wieder mal die Spiel in essen (wann genau eigentlich?? :).
Ich werde dann wohl am Donnerstag hinfahren. Sonst noch wer aus dem MG?
Vielleicht sogar aus Bielefeld oder Umgebung?
Vorfreudig,
           Ancalagon

-----------------------------------------------------------------------------



Re: man sieht sich auf der Spiel???? (Paracelsus, 11. Okt 2000, 22:43:22):
~#! rn=Ancalagon rt=971296736 rg=treffen
~#! tid=971296736
Die Spiel ist vom 26.-29.10.

Para*.

-> http://www.merz-verlag.com/d/Spiel/Besucher.html

-----------------------------------------------------------------------------



Re: Re: man sieht sich auf der Spiel???? (Teddy, 12. Okt 2000, 05:34:52):
~#! rn=Paracelsus rt=971297002 rg=treffen
~#! tid=971296736
Habs mit dieses Jahr fest vorgenommen, mal schauen, ob ichs endlich schaffe.

Teddy

-----------------------------------------------------------------------------



Re: man sieht sich auf der Spiel???? (Bielefeld, 12. Okt 2000, 13:43:58):
~#! rn=Ancalagon rt=971296736 rg=treffen
~#! tid=971296736
Ich werde wohl am Freitag in Essen sein. Gibt es einen geeigneten
Stand / Uhrzeit als Anlaufpunkt? Arbeitet jemand vielleicht gar
selbst auf einem?

-Bielefeld (ohne "aus")

-----------------------------------------------------------------------------



Re^3: man sieht sich auf der Spiel???? (Critter, 12. Okt 2000, 13:44:55):
~#! rn=Teddy rt=971321692 rg=treffen
~#! tid=971296736
sugaan und ich werden aller vorraussicht auch da sein. wenn sich wer treffen
will uebernehm ich gern mal die orga
gruss c.

-----------------------------------------------------------------------------



Re: Re: man sieht sich auf der Spiel???? (Critter, 12. Okt 2000, 13:48:09):
~#! rn=Bielefeld rt=971351038 rg=treffen
~#! tid=971296736
voriger artikel sollte soviel heissen wie, mudmail an mich und ich versuch n
treffpunkt klarzumachen und ne uhrzeit

-----------------------------------------------------------------------------



treffen... (Unasai, 12. Okt 2000, 20:33:11):
hallihallo,

ich bin am wochenende 14./15.10. in muenster und wuerd nun gern wissen, ob es
da jemanden gibt, der auch n bisschen Zeit haette...zwecks mal ein bisschen
plaudern etc.
mails bidde an mich :)

tschoe Una*

-----------------------------------------------------------------------------



Re: treffen... (Morgoth, 13. Okt 2000, 07:43:12):
~#! rn=Unasai rt=971375591 rg=treffen
~#! tid=971375591
Soso, Du hast dann also noch Zeit?? Ich dachte es geht da um Unschuld finden
und so ;-)

M*

-----------------------------------------------------------------------------



Re: Re: man sieht sich auf der Spiel???? (Gralkor, 13. Okt 2000, 11:43:06):
~#! rn=Bielefeld rt=971351038 rg=treffen
~#! tid=971296736

Ich werde ab ca 1100 am Donnerstag bei der Firma mit den sechs grossen roten
Buchstaben auf dem gemischten Stand ebendieser Firma arbeiten und das wohl bis
Ende auch durchstehen.

G.

-----------------------------------------------------------------------------



Re^3: man sieht sich auf der Spiel???? (Qitess, 13. Okt 2000, 12:51:57):
~#! rn=Gralkor rt=971430186 rg=treffen
~#! tid=971296736
muss man die firma kennen?
QI** ahnungslos

-----------------------------------------------------------------------------



Re^3: man sieht sich auf der Spiel???? (Liara, 13. Okt 2000, 13:40:46):
~#! rn=Gralkor rt=971430186 rg=treffen
~#! tid=971296736
Macht M$ Spielzeuch? ;-)
Oder warum schaemst Du Dich fuer den Namen? 

LZ, neugierig

-----------------------------------------------------------------------------



Re^4: man sieht sich auf der Spiel???? (Montanus, 13. Okt 2000, 14:30:35):
~#! rn=Liara rt=971437246 rg=treffen
~#! tid=971296736

Ich bin wohl die ganze Zeit auf der Spiel, so von morgens bis abends. ;-) Ist
fuer mich ja auch ne Dienstreise.
Und wer will, aknn zuschauen, wie ich am Samstag um 11 urh auf dem grossen
Roborallye-Feld niedergemacht werde 8wie im letzten Jahr, nicht wahr, Para*)
;-)

Man sieht sich

-Montanus.

PS Die Firma mit den 6 grossen roten Buchstaben kenn ich grad auch nicht.
Amigo hat nur 5 Buchstaben, aber gross und rot, Ravensburgr hat 12 Buchstaben,
Goldsieber hat 10, und wer kann sich sonst noch einen grossen Stand leisten?
Ich laufe fuer die Firma mit den 6 violetten Buchstaben (darunter nochmal 11
blaue) herum, aber das wisst ihr ja eh. ;-)

-----------------------------------------------------------------------------



Re^5: man sieht sich auf der Spiel???? (Knudsson, 13. Okt 2000, 15:07:42):
~#! rn=Montanus rt=971440235 rg=treffen
~#! tid=971296736
FanPro hat 6 rote Buchstaben und kann sich das leisten.

Knudsson

-----------------------------------------------------------------------------



Re^6: man sieht sich auf der Spiel???? (Qitess, 13. Okt 2000, 15:14:43):
~#! rn=Knudsson rt=971442462 rg=treffen
~#! tid=971296736
fanpro? aha. muss man aber wohl nicht kennen...
QI**
P.S.: und wer hat 6 violette und 11 blau buchstaben?

-----------------------------------------------------------------------------



Re^7: man sieht sich auf der Spiel???? (Knudsson, 13. Okt 2000, 15:30:55):
~#! rn=Qitess rt=971442883 rg=treffen
~#! tid=971296736
FanPro koennte man kennen ja.
DSA, Shadowrun, Earthdawn, Battletech sind ihre Produkte
Wunderwelten war ihre Zeitschrift
Und die mechwarrior sSpiele haben die Lizenz der Amerikanischen Firma FASA.
FanPro ist Tochter von FASA

Knudsson

-----------------------------------------------------------------------------



Treffen im Seeblick, 27.10.2000 (Hate, 17. Okt 2000, 13:00:40):
Hi Leute,

wir bekommen Besuch und da ist ein extra-Stammtisch im Seeblick angesagt.
Woody und noch jemand wird da sein, also hoffen wir mal auf einen vollen Tisch
:-)

Hate.

-----------------------------------------------------------------------------



Neue Stammtischkneipe in DO (Nonne, 17. Okt 2000, 13:10:54):
Hallo Dortmunder,

da wir ja ins Auge gefasst hatten, mit dem Stammtisch umzuziehen, nicht
zuletzt wegen der enormen Preise in der bisherigen Kneipe, sollten wir die
neue Kneipe mal testen. Der naechste Stammtisch steht ja schon bald ins Haus,
deswegen sollte der Test die naechsten Tage stattfinden. Ich bitte also um
Terminvorschlaege.

Bitte nicht am Freitag, den 20.10. da kann ich nicht (c;

Stattfinden soll das ganze im root, Wegbeschreibung kommt dann noch
rechtzeitig.

Bis denne
Nonne.

-----------------------------------------------------------------------------



Re: Treffen im Seeblick, 27.10.2000 (Woody, 17. Okt 2000, 13:20:36):
~#! rn=Hate rt=971780440 rg=treffen
~#! tid=971780440
Da Hate's Memory offenbar leaked: noch jemand = Thor. ;-)
Ausserdem hat er eben gemeint, ich solle noch ergaenzen: Zeit: 20 Uhr...
Hachja. Ich hoffe, ich werde nie so alt. =;)


-----------------------------------------------------------------------------



MS StaTi 18.10.2000 (Foobar, 17. Okt 2000, 17:09:41):
StaTi MS: 18.10.2000, Cuba, 20.07 Foobar kommt ausnahmsweise nicht.

Foobar - auch mal einzeilernd

-----------------------------------------------------------------------------



Re: Treffen im Seeblick, 27.10.2000 (Ronda, 17. Okt 2000, 17:52:22):
~#! rn=Hate rt=971780440 rg=treffen
~#! tid=971780440
Hi,

falls Hate nicht mich mit jemand meinte - ich bin da wohl auch in Berlin ;-)
Allerdings legen sie mir hier grad nen Termin auf Freitag nachmittag - dann
wirds sehr spaet, bis ich in Berlin eintrudel ;-(

Ronda

-----------------------------------------------------------------------------



Re: Re: Treffen im Seeblick, 27.10.2000 (Golas, 17. Okt 2000, 19:10:48):
~#! rn=Ronda rt=971797942 rg=treffen
~#! tid=971780440
als offizieller ausrufer sag ich mal:

kommet zu hauf und bleibt lange genug ;)

golas

-----------------------------------------------------------------------------



Re: MS StaTi 18.10.2000 (Mupfel, 17. Okt 2000, 19:11:42):
~#! rn=Foobar rt=971795381 rg=treffen
~#! tid=971795381
Ok, oellig ueberraschend kann ich auch kommen, also tu ichs ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: MS StaTi 18.10.2000 (Morgoth, 17. Okt 2000, 21:32:54):
~#! rn=Mupfel rt=971802702 rg=treffen
~#! tid=971795381
AEHM ??!!

M* ;-)

-----------------------------------------------------------------------------



Re^3: MS StaTi 18.10.2000 (Mupfel, 17. Okt 2000, 21:45:06):
~#! rn=Morgoth rt=971811174 rg=treffen
~#! tid=971795381
Hmja erst sahs so aus als haett ich keine Zeit.

.-mupfel-
ps: und du? ;)

-----------------------------------------------------------------------------



MS-Stati !!! Montag 23.10.00 !!! (Lanfear, 19. Okt 2000, 01:02:54):
Tach auch!

Der naechste Muensteraner Stammtisch wird wieder mal wie gewohnt, nicht wie
gewohnt am Mittwoch im Cuba stattfinden, sondern am Montag im John Does Diner.

Anfahrt und Karte unter http://www.john-does-diner.com/index.htm oder Mail an
Foobar oder mich.

Lanfear

-----------------------------------------------------------------------------



STATI BS (Flash, 19. Okt 2000, 15:09:04):
Hio!

Der Stati findet wie geplant morgen um 20h statt..
Mittlerweile hat sich jedoch die Lokalitaet geaendert.

Der Stati findet im "Dialog" statt.
Also kommet zahlreich und mehret euch....oeh..kommt einfach nur zahlreich.

Flash

-----------------------------------------------------------------------------



Re: MS-Stati !!! Montag 23.10.00 !!! (Foobar, 19. Okt 2000, 18:45:19):
~#! rn=Lanfear rt=971910174 rg=treffen
~#! tid=971910174
Moin.

Montags ist im JDD (!) uebrigens Spare-Ribs-Tag (AYCE).

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: MS-Stati !!! Montag 23.10.00 !!! (Householder, 19. Okt 2000, 18:45:49):
~#! rn=Foobar rt=971973919 rg=treffen
~#! tid=971910174
das is unfair

-----------------------------------------------------------------------------



Re: Re: MS-Stati !!! Montag 23.10.00 !!! (Ronda, 19. Okt 2000, 18:47:21):
~#! rn=Foobar rt=971973919 rg=treffen
~#! tid=971910174
... wobei anzumeerken waere, dass AYCE keine amerikanische
Studentenorganisation ist, sondern DER Anreiz, sich da die Wampe mit den echt
leckeren Rippchen vollzuschlagen: All You Can Eat halt...


Ronda *hungert

-----------------------------------------------------------------------------



Re^3: MS-Stati !!! Montag 23.10.00 !!! (Knudsson, 19. Okt 2000, 21:34:01):
~#! rn=Householder rt=971973949 rg=treffen
~#! tid=971910174
mir grummelt jetzt schon der magen bei dem puren gedanken... ich glaub ich
muss umziehen
knudsson**

-----------------------------------------------------------------------------



Re: Re: MS-Stati !!! Montag 23.10.00 !!! (Mupfel, 21. Okt 2000, 03:06:08):
~#! rn=Foobar rt=971973919 rg=treffen
~#! tid=971910174
Ok bin dabei (nicht wegen spare ribs ;)

-mupfel-
ps: wo issn das?

-----------------------------------------------------------------------------



Re^3: MS-Stati !!! Montag 23.10.00 !!! (Foobar, 21. Okt 2000, 03:07:50):
~#! rn=Mupfel rt=972090368 rg=treffen
~#! tid=971910174
http://www.john-does-diner.com/theway/way_indx.htm

Foobar - kurz und knapp :o)

-----------------------------------------------------------------------------



Treffen in Muenchen? (Fantaghiro, 22. Okt 2000, 08:25:31):
Hi,

is in der Zeit vom 23.10.00 bis 03.11.00 nen Treffen in Muenchen ? 
Grund fuer die Frage is ganz einfach, ich hock die Zeit in Muenchen 
und werd mich abends tierisch langweiln.

Schoene Gruesse, 

Fantaghiro - Die sich jetz scho langweilt. 

-----------------------------------------------------------------------------



Re: Neue Stammtischkneipe in DO (Morgoth, 24. Okt 2000, 16:50:48):
~#! rn=Nonne rt=971781054 rg=treffen
~#! tid=971781054
Hmm, was is denn nu? Der Stammtisch is Freitach und nix inne Zeitung...
Muss ich alles selber machen hier *quengel*

M(Geburtstag?0:++)

-----------------------------------------------------------------------------



Re: Re: Neue Stammtischkneipe in DO (Tiamak, 24. Okt 2000, 17:22:27):
~#! rn=Morgoth rt=972399048 rg=treffen
~#! tid=971781054
Was denn, Du entscheidest erst noch, ob Du am Freitag Geburtstag hast? :-)

Tiamak. Nicht dabei.

-----------------------------------------------------------------------------



Re: Re: Neue Stammtischkneipe in DO (Mupfel, 24. Okt 2000, 17:55:30):
~#! rn=Morgoth rt=972399048 rg=treffen
~#! tid=971781054
Na, soe wies aussieht bin ich da im wilden osten...

-mupfel- (dresden, chemnitz, die ecke...)

-----------------------------------------------------------------------------



Re^3: Neue Stammtischkneipe in DO (Rochus, 24. Okt 2000, 19:14:10):
~#! rn=Mupfel rt=972402930 rg=treffen
~#! tid=971781054
Welch ein Zufall, genau dann reise ich in den nicht so wilden,
langweiligen Westen... weiss gar nicht was mich dahintreibt... :)

  Rochus

-----------------------------------------------------------------------------



Re^3: Neue Stammtischkneipe in DO (Rikus, 24. Okt 2000, 21:53:28):
~#! rn=Mupfel rt=972402930 rg=treffen
~#! tid=971781054
*Zitter* :)

Rikus

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 24. Okt 2000, 22:22:11):

          Vorankuendigung:

          Naechster Bonner Stammtisch:
          Samstag, 11. November 2000


     Liara, Zwergenzauberine, bittet um Mails

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 24. Okt 2000, 23:45:47):
Ich glaube ich habe es schon laengere Zeit nicht erwaehnt, aber jeden
Donnerstag findet im Kleinen Meierhof in Karlsruhe ab 20 Uhr der Karlsruher
Mud-Stammtisch statt. Kommt zahlreich und so ...
  Boing

-----------------------------------------------------------------------------



Re^4: Neue Stammtischkneipe in DO (Nonne, 25. Okt 2000, 11:34:24):
~#! rn=Rochus rt=972407650 rg=treffen
~#! tid=971781054
Sieht schlecht aus mit der neuen Kleipe. Ich bin gestern dran vorbei gegangen
und hab gesehe, dass die bis zum 31.10 Urlaub haben. Wird also diesem Monat
nix. Auf die alte Kneipe hab ich keinen Bock, komme daher wahrscheinlich
nicht.

Nonne, viel Spass wuenschend.

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 25. Okt 2000, 13:48:37):
~#! rn=Liara rt=972418931 rg=treffen
~#! tid=972418931
Da Padreic wegen angeblicher Bekanntgabe von persoenlichen Daten meinen
Artikel geloscht hat, schreibe ich den halt in anderer Form nochmal:

Stammtisch Bonn ist also nicht am 11. November.
Mir ist egal, wann der nu is, habe momentan keine Lust, noch einen zu
organisieren.

Liara, Zwergenzauberine, streikt

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Mupfel, 25. Okt 2000, 19:20:28):
~#! rn=Liara rt=972474517 rg=treffen
~#! tid=972418931
oooooch schade

-mupfel- (kommt gerne nach bonn wenner zeit hat...)

-----------------------------------------------------------------------------



Re^5: Neue Stammtischkneipe in DO (Morgoth, 25. Okt 2000, 22:12:44):
~#! rn=Nonne rt=972466464 rg=treffen
~#! tid=971781054
Hmm, also blasen wir den jetzt ganz ab oder setzen wir uns gemuetlich irgendwo
*grins* mit nem kasten bier hin?

M*

P.S.: Rochus, Lurchi, meldet euch mal !

-----------------------------------------------------------------------------



Re^6: Neue Stammtischkneipe in DO (Gloinson, 26. Okt 2000, 02:05:02):
~#! rn=Morgoth rt=972504764 rg=treffen
~#! tid=971781054
Morgoth!
Ich bin entsetzt!
Auch nur in Erwaegung zu ziehen, Rochus ein Bier anzubieten ;)

Gloin(son)

-----------------------------------------------------------------------------



Re^7: Neue Stammtischkneipe in DO (Tsunami, 26. Okt 2000, 02:07:24):
~#! rn=Gloinson rt=972518702 rg=treffen
~#! tid=971781054
Ja genau! Diaetcola muss es sein :>>

Tsunami, fies grinsend.

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Karis, 26. Okt 2000, 13:35:27):
Der Muenchener Stammtisch ist entgegen allen Unkenrufen keiner
Selbstloeschung zum Opfer gefallen :)
Infolgedessen ergeht hiermit folgender Aufruf an alle Muenchener
Mudder und solche, die sich Muenchen mal fuer einen Abend anguggen wollen
(hallo ihr Ulmer und Nuernberger ;)

Muenchener Stammtisch am Freitag, den 3.11.2000 um 19.00 Uhr
im 'Le Caribeau'

Was das ist und wo das ist, findet man, wenn man unter
www.jamboree.de nach diesem Teil findet. Kleiner Tip: Happy Hour geht
bis um 20.00 Uhr, und die Cocktails da sind gar nicht uebel :)

Anmeldungen bitte an mich, 
bis demnaechst,

Generaelchen Karis

-----------------------------------------------------------------------------



NAchtrag (Karis, 26. Okt 2000, 13:36:31):
Argl. Natuerlich sollte man in www.jamboree.de erst suchen und dann
erst finden. ICh weiss.

Generaelchen Karis

-----------------------------------------------------------------------------



Re^7: Neue Stammtischkneipe in DO (Apollonia, 26. Okt 2000, 14:43:02):
~#! rn=Gloinson rt=972518702 rg=treffen
~#! tid=971781054
Der hat sogar schon Tequila getrunken :o)

Apo* (hat nen schlechten(?) Einfluss auf ihren Paps)

-----------------------------------------------------------------------------



Re^8: Neue Stammtischkneipe in DO (Humni, 26. Okt 2000, 15:02:03):
~#! rn=Apollonia rt=972564182 rg=treffen
~#! tid=971781054
Tequila mit Cola?
Igitt.

Humni

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Hight, 26. Okt 2000, 16:08:15):
~#! rn=Karis rt=972560127 rg=treffen
~#! tid=972560127
oehm ... ich bin mir net sicher abba soweit ich von devilchen weiss is das
stati in nuernberg ... abba eh wurst weil ich da am andern ende deutschlands
bin

gruss Hight

-----------------------------------------------------------------------------



Re^9: Neue Stammtischkneipe in DO (Apollonia, 26. Okt 2000, 17:07:44):
~#! rn=Humni rt=972565323 rg=treffen
~#! tid=971781054
Neeeee, untypischerweise ganz ohne Cola *grins*

Apo*

-----------------------------------------------------------------------------



Re^10: Neue Stammtischkneipe in DO (Hight, 26. Okt 2000, 20:04:51):
~#! rn=Apollonia rt=972572864 rg=treffen
~#! tid=971781054
wie rochus trink etwas das aus weniger als 50% (wasseranteil wird
vernachlaessigt) besteht ?

und er konnte danach noch gehen ?

oder sich fortbewegen ... also ich mein er hat es ueberlebt ?

Hight staunend

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Padreic, 27. Okt 2000, 14:58:16):
~#! rn=Hight rt=972569295 rg=treffen
~#! tid=972560127
oehm.. also aus gut informtierter Quelle weiss ich, das da wohl _kein_ stati 
in Nuernberg sein wird... :o)

Pad*

-----------------------------------------------------------------------------



StaTi MS - am 31.10. (Varlarion, 28. Okt 2000, 16:48:09):
Aus halloweentechnischen Gruenden ist der StaTi diesmal schon Dienstag
und zwar im Cuba.
Ab 20.00h gehts los.

Wer immer noch eine Wegbeschreibung braucht, schaue bitte in aelteren
Artikeln nach oder wende sich vertrauensvoll an Foobar ;)

Bis dahin, Varl :)

-----------------------------------------------------------------------------



Stammtisch in Darmstadt (Zephyr, 29. Okt 2000, 22:17:09):
Aufgrund vielseitigen Einvernehmens findet der naechste Stammtisch
in Darmstadt
               am 11.11. (Samstag) 
               ab 20 Uhr
               im Hotzenplotz
statt.
Wer um 11:11 Uhr abends immer noch da ist, darf sich berufen fuehlen,
einen auszugeben :) Fuer Wegbeschreibungen und Aehnliches bitte ARK
nerven (NERVEN :)

*knuddels*
C4

-----------------------------------------------------------------------------



Re: Stammtisch in Darmstadt (Liara, 29. Okt 2000, 22:17:51):
~#! rn=Zephyr rt=972854229 rg=treffen
~#! tid=972854229
*grins*
Nette Artikelnummer. ;-)

LZ

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Darmstadt (Foobar, 29. Okt 2000, 22:30:49):
~#! rn=Liara rt=972854271 rg=treffen
~#! tid=972854229
Karneval abwerten!

Foobar (Westfale)

-----------------------------------------------------------------------------



Stati AC (Humni, 30. Okt 2000, 10:26:53):
Hi,

da sowohl Fizban wie auch meinereiner diese Woche Freitag nicht koennen,
obwohl
das der Erste Freitag im Monat ist, schlage ich vor, den Stati in Aachen um
eine Woche nach hinten zu verschieben. (Wenn sich genug andere finden koennt
ihr ja einen Stati ohne uns machen...)

Also, Stati AC, 10.11.2000, 20.00 Uhr im Chico Mendes

Wegbeschreibungen bei einem der Aachener (im Zweifelsfalle bei Fizban oder
mir per mail einholbar).

Hoffe auf rege Beteiligung, Humni
PS: Irgendwann lern ich das noch mit den Formatierungen ;-)

-----------------------------------------------------------------------------



Stammtisch in Dresden! (Deepblue, 30. Okt 2000, 11:57:47):
Vorankuendigung: Es ist wieder mal Zeit, einen Stammtisch in Dresden, der
schoensten Stadt Deutschlands :-) abzuhalten.
Termin: Dienstag, 7.11.
Zeit: 20.00 Uhr
Ort: CD

-----------------------------------------------------------------------------



Re: Stammtisch in Dresden! (Patryn, 30. Okt 2000, 18:56:57):
~#! rn=Deepblue rt=972903467 rg=treffen
~#! tid=972903467
die schoenste stadt deutschlands wars vor aktion sinnlos vor ueber 50 jahren,
ich weiss zumindest nich, was du an frueheren ddr-plattenbauten und
heutigen kaufhauswuerfeln so toll findest, die alle 2 kilometer mal von
einem historischen pflichtnachbau unterbrochen werden.

------
patryn

-----------------------------------------------------------------------------



Re: Stammtisch in Darmstadt (Ark, 30. Okt 2000, 20:40:09):
~#! rn=Zephyr rt=972854229 rg=treffen
~#! tid=972854229
Niemand nervt mich. Glaube ich. Also:

A5 am Darmstaedter Kreuz verlassen, Richtung Stadtmitte fahren. Immer
geradeaus. Immer weiter. Ueber die Eisenbahnbruecke, links das Maritim hinter
sich lassen, dann an der naechsten Ampel links abbiegen. Dann kommt gleich
noch ein, dort geradeaus. An der naechsten rechts abbiegen. An der naechsten
geradeaus, immer weiter, bis man ans Gericht kommt, dort links abbiegen und am
Herrengarten den Strassenbahnschienen folgen. An der ersten kleinen Strasse
(Einbahnstrasse) rechts abbiegen. Dort an der Mauer entlang bis zu Kirche,
dann rechts abbiegen, der Strasse folgen und schon mal vorsichtig nach nem
Parkplatz Ausschau halten. Weiter geradeaus bis zur Buchhandlung Dingens
*weiss net mehr* am Kantplatz. Dann in die Lauteschlaegerstrasse, dort ist der
Hoplo an der Ecke zur Mauerstrasse.
Alternativ koennt ihr auch von der Autobahn kommend immer stur geradeaus
fahren, dann kommt ihr irgendwann auf den Ring, stuerzt euch in den Tunnel,
der euch unterirdisch unter dem Langen Ludwig (das lange Denkmal da so in der
Mitte vor euch). Dem Ring immer weiter folgen, bis ihr links das Schloss seht,
dann befindet ihr euch Am Schlossgraben. Rechts einordnen, in die
Alexanderstrasse abbiegen. Dann die erste links, das ist die
Magdalenenstrasse, die auch auf den Kantplatz zufuehrt. Dort nach Parkplaetzen
Ausschau halten. Hier noch ein Link fuer Kartenausschnitt:
http://www.tu-darmstadt.de/lageplaene/darmstadt/stadtmitte/
Wie gesagt, Hoplo ist Ecke Mauerstrasse/Lauteschlaegerstrasse. Schwere Geburt.
Ich nix gut im Wegbeschreiben. Klar das. Hmpf. Immer alles selber machen
muessen. Zephyr armen Ark auch einen ausgeben muessen. Ark Kopfweh. Aua ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Dresden! (Firehawk, 30. Okt 2000, 20:43:37):
~#! rn=Patryn rt=972928617 rg=treffen
~#! tid=972903467
Args, Dienstag Abend ... also wenn ich komme dann spaet

Firehawk

-----------------------------------------------------------------------------



Achtung!!! Es gibt ne kleine Aenderung!!! (Varlarion, 30. Okt 2000, 23:38:00):
~#! rn=Varlarion rt=972744489 rg=treffen
~#! tid=972744489
Der Stammtisch findet zwar wie geplant am 31.10. um 20.00h statt,
aber nicht im Cuba, die feiern dort eine Party ohne uns *grummel*
sondern im Alabama!!!
Wegbeschreibungen gibts auf dem herkoemmlichen Wege ;)

Bis morgen, Varl

-----------------------------------------------------------------------------



Re: Stammtisch in Darmstadt (Del, 31. Okt 2000, 10:33:19):
~#! rn=Zephyr rt=972854229 rg=treffen
~#! tid=972854229
Jucheeee ich bin auch mal wieder im Lande und kann dieses Highlight unter gar
keinen Umstaenden verpassen! Ei Heiner wie?
Del, die vor Vorfreude auf Arks witzisches Grinsen und den Rest des
Darmstaedter Haufens fast platzt

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Darmstadt (Del, 31. Okt 2000, 10:35:47):
~#! rn=Del rt=972984799 rg=treffen
~#! tid=972854229
Aehm, ja ja bevor der witzische Ark wegen Typos rummotzt... das sollte 'vor
Vorfreude' oder meinetwegen auch 'vor Freude' heissen :)
*g* eine NuDel

-----------------------------------------------------------------------------



Re^3: Stammtisch in Darmstadt (Ark, 31. Okt 2000, 20:35:59):
~#! rn=Del rt=972984947 rg=treffen
~#! tid=972854229
Waere uebrigens nett, wenn mir kurz ne Bestaetigung durchgegeben wird, ob wer
kommt, damit man bei evtl. Massenandrang noch fuer Platz im Voraus sorgen
kann. Ach, Moment mal, Mitteilung vielleicht doch lieber an Zephyr, die hat
das Ganze ja in Verantwortung *duck* ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Stammtisch in Darmstadt (Anacrion, 31. Okt 2000, 22:37:20):
~#! rn=Ark rt=973020959 rg=treffen
~#! tid=972854229
Kaum bin ich im Ausland, wird es voll *schmoll*

Anac*

-----------------------------------------------------------------------------



MS StaTi 8.11.2000 (Foobar,  3. Nov 2000, 14:44:12):
Moin.

Ich gebe hiermit bekannt, dass der naechste Stammtisch in Muenster am
Mittwoch, 8.11.2000 gegen 20.07 Uhr stattfindet.

Und zwar im Cuba.

Kommet zahlreich.

Gruss,

     Foobar

-----------------------------------------------------------------------------



party / stati bei golas (Hight,  3. Nov 2000, 21:07:59):
21:07 .... gloin sagt es sind 1 2 3 viele da ...
birdy behauptet 14 ... kommt und helt beim vermehren

hight

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  3. Nov 2000, 22:45:50):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 10.11. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: MS StaTi 8.11.2000 (Mupfel,  4. Nov 2000, 19:29:05):
~#! rn=Foobar rt=973259052 rg=treffen
~#! tid=973259052
Hmja... i waas net... so ganz ohne varl* ... ob ich da lust hab? ;)

-mupfel-

-----------------------------------------------------------------------------



StaTi in BS? (Rayzeel,  6. Nov 2000, 00:00:34):
Hallo zusammen, wer hat Lust auf einen StaTi am Freitag, den 17.11.?? Ich
waere dafuer, ins Mephisto zu gehn, bin aber durchaus kompromissbereit :)
Ray*

-----------------------------------------------------------------------------



stati in HH? (Gnome,  6. Nov 2000, 00:44:42):
hi!

gibts eigentlich im grossraum hamburg mudder, die lust auf nen stati
haetten?

gnOme

-----------------------------------------------------------------------------



Re: stati in HH? (Wolke,  6. Nov 2000, 10:22:45):
~#! rn=Gnome rt=973467882 rg=treffen
~#! tid=973467882

JA !!!!!

Wolke

-----------------------------------------------------------------------------



Re: MS StaTi 8.11.2000 (Catweazle,  6. Nov 2000, 10:48:13):
~#! rn=Foobar rt=973259052 rg=treffen
~#! tid=973259052
Cuba find ich doof. Warum denn nicht Futtern im Fegefeuer?
Ich bin momentan Saucen-gierig...

YTC

-----------------------------------------------------------------------------



Re: Re: MS StaTi 8.11.2000 (Yendi,  6. Nov 2000, 10:53:23):
~#! rn=Catweazle rt=973504093 rg=treffen
~#! tid=973259052
Och, Cat*, Saucen machen doch fett!
Will sagen: Gib sie lieber ab. :-)

YTY


-----------------------------------------------------------------------------



Re^3: MS StaTi 8.11.2000 (Gloinson,  6. Nov 2000, 10:54:59):
~#! rn=Yendi rt=973504403 rg=treffen
~#! tid=973259052
Naja, Catty hat eh nix mehr zu verlieren ;) Aeh. Oder eher doch, aber
er will sicherlich nicht }:]

Gloin(son)

-----------------------------------------------------------------------------



Re^3: MS StaTi 8.11.2000 (Catweazle,  6. Nov 2000, 10:56:48):
~#! rn=Yendi rt=973504403 rg=treffen
~#! tid=973259052
Ichbinnichtfett!!!
YTC 
PS: Jetzt bloss den Einsatz nicht verpassen ...

-----------------------------------------------------------------------------



Re^4: MS StaTi 8.11.2000 (Gorog,  6. Nov 2000, 12:37:49):
~#! rn=Catweazle rt=973504608 rg=treffen
~#! tid=973259052
Hmmmm, bin zwar nicht so sehr dafuer, aber da Du das angefragt hast, wuerde
ich mich bereit erklaeren diesen Ort anzusteuern *grins*

Gorog hofft Catty denkt an diverse Unterhaltungsmedien (; , da er schon lange
keine pulverisierten Vampire mehr gesehn hat....

-----------------------------------------------------------------------------



Re^5: MS StaTi 8.11.2000 (Foobar,  6. Nov 2000, 14:13:35):
~#! rn=Gorog rt=973510669 rg=treffen
~#! tid=973259052
Ok, gehen wir halt ins Fegefeuer.

Foobar - zaehlt sein Geld ;o)

PS: Fuer wieviele soll ich reservieren? Und sagt nicht ich bin schuld, wenn
wir ab 23.45 nix mehr zu trinken bekommen...

-----------------------------------------------------------------------------



Re^6: MS StaTi 8.11.2000 (Anatol,  6. Nov 2000, 15:52:00):
~#! rn=Foobar rt=973516415 rg=treffen
~#! tid=973259052
Fegefeuer ist out. Total out. Eine Bar, in der man um 0:15 gesagt bekommt
"Ich hab um Mitternacht die letzte Runde gemacht. Noe, ich war nicht bei
euch hinten." und in der man von der Bedienung angegrummelt wird, nur 
weil man statt wie reserviert acht versehentlich zu zehnt ist... das
Ambiente mag schon sein, die Preise noch akzeptabel, aber der Rest...?

Naja, ich werde eh um 22:50 abruecken. Spaetestens. Ihr muesst es wissen.

Anatol

-----------------------------------------------------------------------------



Re^7: MS StaTi 8.11.2000 (Mupfel,  6. Nov 2000, 15:58:30):
~#! rn=Anatol rt=973522320 rg=treffen
~#! tid=973259052
Me too

-mupfel-

-----------------------------------------------------------------------------



Re: stati in HH? (Vanion,  6. Nov 2000, 16:24:31):
~#! rn=Gnome rt=973467882 rg=treffen
~#! tid=973467882
Bin oefter mal in HH - Wenn sich's ergibt, warum nicht *g*

V*

-----------------------------------------------------------------------------



96 (Krellja,  6. Nov 2000, 16:26:25):
~#! rn=Vanion rt=973524271 rg=treffen
~#! tid=973467882
Ja es gibt Interessierte.

Krellja

-----------------------------------------------------------------------------



Re^8: MS StaTi 8.11.2000 (Gorog,  6. Nov 2000, 18:45:31):
~#! rn=Mupfel rt=973522710 rg=treffen
~#! tid=973259052
So wie ichs gehoert habe werden wir doch im Cuba abhaengen. Brandir meinte
Ariana und eine Bekannte haetten sich im Fegefeuer wegen der Bedienung
beschwert, und da das Problem noch nicht geklaert ist wuerd ich und Brandir
sagen ab ins Cuba. Naeher am Bahnhof, guenstigere Preise UND letzte Runde nach
24.00 (:

Gorog entschuldigt die Unanehmlichkeiten, und hofft alles is nun klarer.


-----------------------------------------------------------------------------



Re^9: MS StaTi 8.11.2000 (Mupfel,  6. Nov 2000, 19:08:14):
~#! rn=Gorog rt=973532731 rg=treffen
~#! tid=973259052
Koenntet ihr euch dann bis mittwoch abend entscheiden, ja? ;)

-mupfel- (keine lust erstmal im cuba vorbeizusehen und dann doch ins fegefeuer
oder euch bande noch woanders zu suchen... n stati ist doch keine
schnitzeljagd ;)

-----------------------------------------------------------------------------



Re^10: MS StaTi 8.11.2000 (Fantaghiro,  6. Nov 2000, 21:15:33):
~#! rn=Mupfel rt=973534094 rg=treffen
~#! tid=973259052
Jetz geb ich auch mal mein Senf dazu ab. 
Schnitzeljagd haste recht, isses nich unbedingt, aber da Schnitzel essbar sind
und der Grossteil von uns ja doch nach was essbarem "jagd" isses wohl doch ne
Schnitzeljagd. 
Aber ich komm dann wohl auch mal... 

Fanta* - die sich ausnahmsweise mal anmeldet vorher. 

-----------------------------------------------------------------------------



Re^11: MS StaTi 8.11.2000 (Gorog,  7. Nov 2000, 18:44:03):
~#! rn=Fantaghiro rt=973541733 rg=treffen
~#! tid=973259052
Zeit: 8.11.00, 20.06 Uhr, Ort: Muenster, Cuba (Achtermanstrasse sonstwas)

Gorog stellt fest und sagt: Da und sonst nirgends!

-----------------------------------------------------------------------------



Re^10: MS StaTi 8.11.2000 (Wargon,  7. Nov 2000, 20:15:32):
~#! rn=Mupfel rt=973534094 rg=treffen
~#! tid=973259052
Schnitzeljagd?
Also wenn Du Schnitzel essen willst, darfst Du natuerlich nicht ins Cuba oder
Fegefeuer! Da musst Du ins dingens gehen, wie hiesses noch gleich, den
Schnitzelbunker neben dem Apollo, also nicht das Extrablatt, sondern auf der
anderen Seite, mir liegt der Name auf der Zunge, also am Marienplatz, ich komm
gleich drauf, also...
Also wenns mir bis morgen abend einfaellt, meld ich mich noch mal, sonst geht
halt ins Cuba. Oder ins Fegefeuer.
  Wargon

-----------------------------------------------------------------------------



Re^11: MS StaTi 8.11.2000 (Foobar,  8. Nov 2000, 00:47:50):
~#! rn=Wargon rt=973624532 rg=treffen
~#! tid=973259052
Gambrinus :o)

Foobar stimmt Wargon zu und notiert den Laden mal...

-----------------------------------------------------------------------------



Re^12: MS StaTi 8.11.2000 (Morgoth,  8. Nov 2000, 00:50:16):
~#! rn=Foobar rt=973640870 rg=treffen
~#! tid=973259052
Also ihr solltet euch wirklich mal entscheiden. immer dieses hin und her
gefahre zu den laeden is ja nervig. also der ideale schuppen hat:
jeden tag irgendwas "all you can eat"
burger
weizen fuer 5 muck
schnuckelige bedienungen (wie im alabama ;-))

also kann doch nicht so schwer sein ;-)

M*

-----------------------------------------------------------------------------



Re^13: MS StaTi 8.11.2000 (Foobar,  8. Nov 2000, 00:55:45):
~#! rn=Morgoth rt=973641016 rg=treffen
~#! tid=973259052
Also a) steht jetzt fest, dass wir im Cuba sind und b) gibt es einen so
geradezu paradiesischen Laden zumindest nicht in MS...

Foobar

-----------------------------------------------------------------------------



Re^9: MS StaTi 8.11.2000 (Catweazle,  8. Nov 2000, 09:09:44):
~#! rn=Gorog rt=973532731 rg=treffen
~#! tid=973259052
Achso, und weil _ihr_ Probleme mit der (einer) Bedienung habt, darf _ich_
jetzt nicht mehr ins Fegefeuer, oder wie?
Pingeliges Pack,
     YTCatweazle

-----------------------------------------------------------------------------



Stammtisch Bonn (Padreic,  8. Nov 2000, 14:01:00):
Nun steht er also endlich fest (und endgueltig :o).
Der naechste Bonner Stammtisch findet am Dienstag den 14. November in der
Harmonie in Endenich statt. Waere nett wenn die Leute die sicher wissen das
sie kommen koennen, mir kurz eine mail schicken koennten damit ich weiss fuer
wieviele Leute ich einen Tisch bestellen muss.

Pad*

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Padreic,  8. Nov 2000, 15:38:28):
~#! rn=Padreic rt=973688460 rg=treffen
~#! tid=973688460
Wie hiess der eine James Bond doch nochmal? "Sag niemals nie" wars glaub ich.
Nun ich werde das Wort "endgueltig" nun aus meinem Wortschatz streichen und
durch ein: Aenderungen kosten ab jetzt nen Kasten Bier ersetzen :o). Es gibt
keinen Termin an dem alle koennen, aber zumindest alle bisher gefragten und
von denen Zusagen kamen koennen wohl auch am Mittwoch den 15. November. Wir
machen uns zwar total laecherlich ihn schon wieder zu verlegen, aber was
solls, lieber ein Prinzip aufgeben und dafuer definitiv 3 Leute mehr da haben.
Ist eben ein echter Bonner Stammtisch mit zugehoeriger RL-Quest "sei am
richtigen Tag, zur richtigen Zeit, am richtigen Ort" :o).
Also... der Stati ist tod, es lebe der Stati!
Neuer Stammtisch in Bonn, am Mittwoch dem 15. November in der Harmonie in
Endenich (vorlaeufiger Termin ;o).

Nun da soll mal einer sagen in Bonn sei nichts los! :o)

Pad*

P.S.: Auswaertigen wird empfohlen sich kurz vor Abfahrt zu einem Bonner
Stammtisch nochmals ueber Ort und Zeit zu erkundigen.
P.P.S.: Weitere Aenderungswuensche bitte direkt mit Angabe der gebotenen
Bierkaesten direkt an mich. Zahlbar direkt nach Statiende :o)
P.P.P.S: Sascha, dieser Artikel wird noch teuer fuer Dich :o)!

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Liara,  8. Nov 2000, 17:37:26):
~#! rn=Padreic rt=973694308 rg=treffen
~#! tid=973688460
Wir machen uns zwar total laecherlich ihn schon wieder zu verlegen, ...

Hm, wir? :-) Redest Du immer im Pulral von Dir? 

LZ, diskriminierend

-----------------------------------------------------------------------------



Re^12: MS StaTi 8.11.2000 (Mupfel,  8. Nov 2000, 19:09:08):
~#! rn=Gorog rt=973619043 rg=treffen
~#! tid=973259052
Tja, ohne mich. Vielleicht das naechste mal oder so ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Baboon,  9. Nov 2000, 09:38:38):
~#! rn=Padreic rt=973694308 rg=treffen
~#! tid=973688460
Wenn mir jemand sagt

a) Wo bei Bonn Endenich ist
b) Wo in Endenich die Harmonie liegt
c) Wie ich da hinkomme
d) Wannd denn losgehen soll

komme ich evtl. auch.

BaBOOn (Fiese Drohungen aussprechend)


-----------------------------------------------------------------------------



Re^3: Stammtisch Bonn (Padreic,  9. Nov 2000, 11:32:12):
~#! rn=Baboon rt=973759118 rg=treffen
~#! tid=973688460
Siehste mal... die Quest ist gar nicht so einfach (mal bei Zook 20 AP
beantragen), aber dafuer kann ich Dir versichern, das sich die Questbelohnung
mehr als lohnt auch wenn sie leider nich autoload ist und daher jeden Monat
neu eingesammelt werden muss. Zum Glueck biste ja Magier, sonst duerft ich Dir
da ja gar nicht helfen, also ein kleiner Tip: frag einfach mal einen der
Bonner NPCs oder versuchs mit nem frag padreic via mail nach stati, dann
kriegste sicher weitere Hinweise :o)
den ersten Hinweis gibts direkt: also ich bin Mittwoch so ab 20:00 in der
Harmonie in Endenich anzufinden :o)

Pad*

-----------------------------------------------------------------------------



Re: StaTi in BS? (Rayzeel,  9. Nov 2000, 17:14:35):
~#! rn=Rayzeel rt=973465234 rg=treffen
~#! tid=973465234
Also, Zeit und Ort stehen jetzt fest: 19.30 Uhr in der Schuessel (frueher
AudiMin). Ich werde versuchen, 8 Plaetze zu reservieren. Wem das zu wenig
erscheint, der moege mich bitte noch mal anschreiben (vor Do.). Um zahlreiches
Erscheinen wird gebeten :)
Ray*

-----------------------------------------------------------------------------



Re: stati in HH? (Sabberkopp,  9. Nov 2000, 19:45:46):
~#! rn=Gnome rt=973467882 rg=treffen
~#! tid=973467882
stati hamburg find ich gut, bin auch dabei
sabber kopp

-----------------------------------------------------------------------------



SpontanStati in Ddorf (Grumpf, 11. Nov 2000, 17:53:04):
Um 20:00 treffen sich ein paar Mudder aus ganz Deutschland *grins* in
Duesseldorf schnellentschlossene und nahbeiwohnende moegen sich wegen einer
Wegbeschreibung SCHNELL bei mir melden ;-) 
Grumpf

-----------------------------------------------------------------------------



StaTi Muenster 15.11.2000 (Foobar, 13. Nov 2000, 13:27:25):
Tach alle.

An diesem Mittwoch findet im schoenen Muenster mal wieder ein StaTi statt. Mal
wieder im Cuba. Mal wieder gegen 20.06 Uhr. 

Eigentlich wollten wird woanders hin, weil die ihre Karte umgestellt haben,
ich hab es aber total verschwitzt. Steinigt mich, seid gnadenlos.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster 15.11.2000 (Anatol, 13. Nov 2000, 13:28:53):
~#! rn=Foobar rt=974118445 rg=treffen
~#! tid=974118445
*erstensteinwerf*

Anatol, gnadenlos virtuos ;)

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 15.11.2000 (Foobar, 13. Nov 2000, 13:29:22):
~#! rn=Anatol rt=974118533 rg=treffen
~#! tid=974118445
Aua.

Foobar, getroffen

-----------------------------------------------------------------------------



89 (Fantaghiro, 13. Nov 2000, 14:31:10):
~#! rn=Foobar rt=974118562 rg=treffen
~#! tid=974118445
*auchsteinemitwerf* 
sie wars sie wars - aehm *stimmeverstell* ER wars Er wars !!!

Fanta* - grinsend. 

-----------------------------------------------------------------------------



Re: StaTi Muenster 15.11.2000 (Morgoth, 13. Nov 2000, 21:57:24):
~#! rn=Foobar rt=974118445 rg=treffen
~#! tid=974118445
Umgestellt? Gibts da jetzt gar nix mehr? (was nicht so ein grosser verlust
waere) 

Wo wollt ihr denn demnaechst hin? In das Troedelfeuer?

M*

-----------------------------------------------------------------------------



StaTi - BB am 18.11. (Varlarion, 13. Nov 2000, 22:21:27):
Da ich mich derweil im Exil in Boeblingen aufhalte *grins*, moechte ich alle
MGler
aus der Region aufrufen, zahlreich am Samstag ab 20.00h im Zwinger in
Boeblingen
zu erscheinen :)
Die einzige Wegbeschreibung, die ich liefern kann, findet ihr hier:

http://www.boeblingen.de/pages/stadtpland1.html

Die Adresse ist:
71032 Boeblingen, Poststrasse 36, wenn mich nicht alles taeuscht ;)

Bitte gebt mir rechtzeitig im MG oder per mail bescheid, damit ich reservieren
kann.

Varlarion, auf zahlreich Erscheinende hoffend

-----------------------------------------------------------------------------



Re: StaTi - BB am 18.11. (Mupfel, 13. Nov 2000, 22:48:59):
~#! rn=Varlarion rt=974150487 rg=treffen
~#! tid=974150487
Bin dabei ;)

(1)

-mupfel-

-----------------------------------------------------------------------------



stati in HH! (Gnome, 14. Nov 2000, 02:39:05):
hi!

am Do., den 16.11. gibts nen stati in HH. wir machen es uns im
'Balutschistan' ab 21.00h gemuetlich. liegen tut das im noerdlichen
teil der eppendorfer landstr. in eppendorf :)

gnOme

-----------------------------------------------------------------------------



sonderstati am 25.11.00 (Ariana, 17. Nov 2000, 08:07:52):
am samstag den 25.11.00 findet im schoenen muenster mal wieder ein sonderstati
im Fegefeuer statt.
special guest: dreamer
beginn wie immer 20.00 uhr
da wir hiermit nicht in konkurrenz zum dortmunder stammtisch gegangen sind,
hoffe ich auf zahlreiches erscheinen:)

ariana   1

-----------------------------------------------------------------------------



Re: sonderstati am 25.11.00 (Fantaghiro, 17. Nov 2000, 08:13:05):
~#! rn=Ariana rt=974444872 rg=treffen
~#! tid=974444872
Hi, 

also ich meld mich schonmal jetz an. 

Fanta - sich freuend.

-----------------------------------------------------------------------------



Re: sonderstati am 25.11.00 (Dreamer, 17. Nov 2000, 08:14:13):
~#! rn=Ariana rt=974444872 rg=treffen
~#! tid=974444872

Jo, natuerlich bin ich dabei, und freue mich schon tierisch auf Muenster. Und
seine Leute natuerlich. *grins* Also bis dann-dann, Dreamer 2 


-----------------------------------------------------------------------------



Re: Re: sonderstati am 25.11.00 (Ariana, 17. Nov 2000, 08:15:45):
~#! rn=Dreamer rt=974445253 rg=treffen
~#! tid=974444872
du kannst nicht zaehlen, du bist 

dreamer 3

-----------------------------------------------------------------------------



Re^3: sonderstati am 25.11.00 (Dreamer, 17. Nov 2000, 08:16:53):
~#! rn=Ariana rt=974445345 rg=treffen
~#! tid=974444872

Sorry, habe mich vor ein paar Stunden wie Du weisst ja selber mit meinem
Hammer umgebracht. Sind noch die Nebenwirkungen des Schlages. :))

-----------------------------------------------------------------------------



stati am 22.11. in muenster (Ariana, 17. Nov 2000, 08:23:56):
wenn wir samstag den stati machen, weil dreamer mudder kennenlernen will und
fantaghiro die idee auch ganz gut fand, machen wir dann mittwoch auch einen?
und wo?
sag doch mal was foobar :)


ariana

-----------------------------------------------------------------------------



Re: stati am 22.11. in muenster (Fantaghiro, 17. Nov 2000, 08:24:54):
~#! rn=Ariana rt=974445836 rg=treffen
~#! tid=974445836
also mittwoch kannichnich sag ich gleich mal... 
Fanta - die naechte durchmachend. 

-----------------------------------------------------------------------------



Re: Re: stati am 22.11. in muenster (Foobar, 17. Nov 2000, 15:09:54):
~#! rn=Fantaghiro rt=974445894 rg=treffen
~#! tid=974445836
Ich soll jetzt was sagen? :o)

Also wenn ich am Freitag ins FF muss kann ich mir am Mittwoch keinen StaTi
mehr leisten, der faellt dann aus bzw. findet eben am 25. im FF statt.

Foobar - pleite

-----------------------------------------------------------------------------



Re: sonderstati am 25.11.00 (Mupfel, 17. Nov 2000, 18:37:52):
~#! rn=Ariana rt=974444872 rg=treffen
~#! tid=974444872
mist, leider keine zeit ;(

m.

-----------------------------------------------------------------------------



Re: sonderstati am 25.11.00 (Drachno, 17. Nov 2000, 18:48:20):
~#! rn=Ariana rt=974444872 rg=treffen
~#! tid=974444872
Hi,

es ist kaum zu glauben, aber meiner Einer schafft das auch mal sich hoch-
offiziell anzumelden. ;) 
Fegefeuer hoert sich gut an, auch wenn immer noch die Diskussion wegen der
Bedienung im Raume steht. Aber da gibbet Met. :)

Drachno
<Hick> Oh, 'tschuldigung!

-----------------------------------------------------------------------------



stati am 25.11. (Ariana, 18. Nov 2000, 18:49:38):
boese nachrichten, dass fegefeuer ist wahrscheinlich ausgebucht, klaert sich
mittwoch, ob noch was zu machen ist:(
wohin gehen wir denn, wenns nicht klappt?

ariana, auf vorschlaege wartend

-----------------------------------------------------------------------------



Re: stati am 25.11. (Foobar, 19. Nov 2000, 04:48:26):
~#! rn=Ariana rt=974569778 rg=treffen
~#! tid=974569778
Hmpf, im Cuba wird wahrscheinlich irgendeine seltsame Party sein wo kein
normaler Mensch hingeht (ist immer am WE)...

Ich denke noch nach.

Foobar

-----------------------------------------------------------------------------



Re: Re: sonderstati am 25.11.00 (Alcina, 19. Nov 2000, 13:37:13):
~#! rn=Drachno rt=974483300 rg=treffen
~#! tid=974444872

Dann werd ich auch mal eintrudeln.

Alcina (+1)

-----------------------------------------------------------------------------



Entscheidet Euch ;) (Varlarion, 19. Nov 2000, 14:46:52):
~#! rn=Ariana rt=974569778 rg=treffen
~#! tid=974569778
Egal, wo der StaTi ist, ich bin dabei :)

Varlarion, sich schon auf MS freuend

-----------------------------------------------------------------------------



Re: Entscheidet Euch ;) (Lanfear, 19. Nov 2000, 23:52:25):
~#! rn=Varlarion rt=974641612 rg=treffen
~#! tid=974569778
Also ich bin auch dabei, egal wo... Fegefeuer waere klasse, sonst denkt euch
was feines aus, im Notfall koennen wir ja ins John Does... da kann man ja auch
normal hin :)

Lanfear

-----------------------------------------------------------------------------



StaTi-Ersatz am Mittwoch in MS! (Lanfear, 20. Nov 2000, 00:01:36):
Hi zusammen!

Da ja am Samstag Stati ist, ich (und andere) aber keine Lust haben am Mittwoch
dumm rum zu sitzen, gehen wir um 22:30 in die Vorpremiere von "The Cell" im
Cineplex. Da noch Eroeffnungswoche ist, kostet das (wie alle Filme bis dahin)
auch nur 7 DM.

Wir treffen uns gegen 22:00 Uhr vorm Cineplex, ich muss dann da mal den
Chicken&Ribs-Laden testen gehen :)

Ne Anmeldung hier waere nicht unschoen, denn wir sollten vielleicht Karten
bestellen...

Bis denn,
Lan*

-----------------------------------------------------------------------------



Re: Re: Entscheidet Euch ;) (Ariana, 20. Nov 2000, 00:01:54):
~#! rn=Lanfear rt=974674345 rg=treffen
~#! tid=974569778
also, cuba faellt ganz sicher aus, da ist party fuer leute ab 30, da erfuellen
zu viele von uns also die grundvorraussetzung  nicht, um reinzukommen *GGG*
was haltet ihr denn von wieder mal ipanema oder alabama?
oder ist john doe's allen am liebsten?

-----------------------------------------------------------------------------



Re: StaTi-Ersatz am Mittwoch in MS! (Ariana, 20. Nov 2000, 00:02:48):
~#! rn=Lanfear rt=974674896 rg=treffen
~#! tid=974674896
dann bestell mal ne karte fuer mich mit:)

ariana

-----------------------------------------------------------------------------



Re: StaTi-Ersatz am Mittwoch in MS! (Menace, 20. Nov 2000, 00:04:08):
~#! rn=Lanfear rt=974674896 rg=treffen
~#! tid=974674896
Mir auch ne karte, bitte:)

menace

-----------------------------------------------------------------------------



Re^3: Entscheidet Euch ;) (Lanfear, 20. Nov 2000, 00:06:07):
~#! rn=Ariana rt=974674914 rg=treffen
~#! tid=974569778
Hmmm, also ich hab mich mehr und mehr zum Alabama-Gegner entwickelt, da ich
mich bei denen immer mehr verarscht vorkomme, wenn die mal wieder das Essen
verkleinern, oder einfach Sachen weglassen, die laut Karte dazugehoeren und
dann behaupten dass es doch ganz klar waere, dass es nicht dazugehoert.

Lanfear

-----------------------------------------------------------------------------



Rippchen!!! (Varlarion, 20. Nov 2000, 01:55:36):
~#! rn=Lanfear rt=974675167 rg=treffen
~#! tid=974569778
Also mir waere das John Doe's sehr recht :)

Varlarion, nach totem Fleisch lechzend

-----------------------------------------------------------------------------



Re: Rippchen!!! (Catweazle, 20. Nov 2000, 09:04:25):
~#! rn=Varlarion rt=974681736 rg=treffen
~#! tid=974569778
John Does, The Cell.
YTC

PS: Ich bin fuer treffen.muenster :-)

-----------------------------------------------------------------------------



Re: Re: Rippchen!!! (Foobar, 20. Nov 2000, 12:17:33):
~#! rn=Catweazle rt=974707465 rg=treffen
~#! tid=974569778
+1

Foobar

PS: Beim John Doe's sollten wir (bzw. Lanfear ]:o)) uns aber vorher auch
erkundigen ob da nicht 'ne Party laeuft.

Und in The Cell geh ich auch mit.

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 20. Nov 2000, 14:49:09):
Hallo Ihrs,

dann will ich mal den wohl letzten Stammtisch fuer dieses Jahr in Bonn
ankuendigen. Also erbitte ich rege Teilnahme ;)

Ort: Wie immer in der Harmonie
Zeit: ab 20.00 Uhr
Datum: 8ter Dezember 2000

Rueckmeldungen bitte per Mudmail an mich oder an cinderella@sternenhexe.de

Knuddels
Cinderella

P.S. Meckereien bezueglich Datum und sonstigem koennt Ihr Euch sparen ;) Der
Termin steht fest und wird auch nciht verschoben ;)

-----------------------------------------------------------------------------



stati in HH (Perdita, 20. Nov 2000, 16:24:25):
~#! on=Perdita ot=974733721 og=witze
hab leider den ersten Stati in HH verpasst. Wie war's denn? Wann ist der
naechste?
Perdita

-----------------------------------------------------------------------------



Re^6: MS StaTi 8.11.2000 (Gorog, 20. Nov 2000, 16:52:32):
~#! rn=Foobar rt=973516415 rg=treffen
~#! tid=973259052
MOins

Mittwoch 1ne Karte.
Freitag nen halben Platz, mal schaun ob ich mir das dann noch leisten kann (;

mfG Gorog

-----------------------------------------------------------------------------



Re: Stati in Bonn (Lupus, 20. Nov 2000, 17:26:17):
~#! rn=Cinderella rt=974728149 rg=treffen
~#! tid=974728149
Schade, schade, ich bin wohl erst zwischen dem 14ten und 22ten in Bonn. 

Lupus

-----------------------------------------------------------------------------



Re: stati in HH (Gnome, 20. Nov 2000, 23:42:48):
~#! rn=Perdita rt=974733865 rg=treffen
~#! tid=974733865
er war trotz weniger besucher sehr gut und informativ ;-)
und geschmeckt hats auch...
naechsten stati legt krellja fest.

gnOme

-----------------------------------------------------------------------------



Re^3: Rippchen!!! (Ariana, 21. Nov 2000, 01:39:43):
~#! rn=Foobar rt=974719053 rg=treffen
~#! tid=974569778

ok, wenns mittwoch nix wird mitm fegefeuer, dann reservier ich im john doe:)

-----------------------------------------------------------------------------



Re^4: Rippchen!!! (Fantaghiro, 21. Nov 2000, 01:40:21):
~#! rn=Ariana rt=974767183 rg=treffen
~#! tid=974569778
mittwoch ????? wieso mittwoch... 
hab ich was verpasst ??? 

Fantaghiro - verwirrt schauend. 

-----------------------------------------------------------------------------



Re^5: Rippchen!!! (Dreamer, 21. Nov 2000, 02:01:02):
~#! rn=Fantaghiro rt=974767221 rg=treffen
~#! tid=974569778

Muss wohl Sa heissen nehme ich an, ausser ich haette was verpasst...

Dreamer, noch immer nicht muede


-----------------------------------------------------------------------------



Re^6: Rippchen!!! (Gorog, 21. Nov 2000, 13:20:34):
~#! rn=Dreamer rt=974768462 rg=treffen
~#! tid=974569778
Mittwoch is ne Vorpremiere von The Cell. Darum Mittwoch. Und irgendwann am WE
is dann der Stati. Wo und wann auch immer (; bis denn

Gorog

-----------------------------------------------------------------------------



Re^7: Rippchen!!! (Obi, 21. Nov 2000, 16:23:44):
~#! rn=Gorog rt=974809234 rg=treffen
~#! tid=974569778
Das soll wohl heissen
Wenn es bis Mittwoch nichts wird...

Obi-Wan

-----------------------------------------------------------------------------



Treffen Donnerstag in Koeln oder Duesseldorf (Ronda, 21. Nov 2000, 19:14:30):
So, ich poste mal auftragsgemaess fuer Sugi:

Hallo Leute  :-))

wie sieht es aus - hat irgendwer von Euch Lust und vielleicht sogar Zeit sich
jetzt am Donnerstag entweder in Koeln (ich weiss es ja ! es ist dieses
schlimme K-Wort fuer die Duesseldorfer *grins*) oder aber in Duesseldorf mit
mir zu treffen??? Meldet Euch doch einfach mal ich werde versuchen morgen
abend im MG zu sein - aber ich bekomme auch so ganz gerne mal ne Mail oder
'nen Anruf.

Gruessies und hoffentlich bis Donnerstag
( uebrigens koennte das ja auch mal jemand in der MPA veroeffentlichen oder
so)

                     eine etwas gestresste    Sugi    alias     GabriELE

So, das wars...

... im Moment siehts wohl eher so aus, dass ich nicht kommen kann - ich bin
zwar am Donnerstag halbwegs in der Gegend, sitz aber in nem Bus mit 20 Leuten,
den muesste ich kapern... Ausserdem muss ich Freitag fit sein. Aber vielleicht
packts mich und ich komme auch hin ;-) Gegenvorschlag meinerseits: Freitag
oder Samstag? (NACH der Woche kann ich ne Party gebrauchen...)

Ronda

Ps: So, nun fuer Foobar zum 5. Mal der Versuch, das Ding ohne fiese Umbrueche
zu posten. Und NEIN, das gibts nicht in ZapfWindingsbums mit Blocksatz!

-----------------------------------------------------------------------------



Re: Re: Entscheidet Euch ;) (Morgoth, 22. Nov 2000, 00:59:55):
~#! rn=Lanfear rt=974674345 rg=treffen
~#! tid=974569778
Wieso nicht ins alabama??

M*

-----------------------------------------------------------------------------



stati in muenster am 25.11 (Ariana, 22. Nov 2000, 19:00:30):
das fegefeuer hat keinen platz fuer uns, des halb treffen wir uns also am
samstag um 20.00 zum rippchenessen im john does.
falls noch wer ne wegbeschreibung braucht, mail an mich:)

bis dann
ariana

-----------------------------------------------------------------------------



Re: stati in muenster am 25.11 (Drachno, 23. Nov 2000, 12:10:23):
~#! rn=Ariana rt=974916030 rg=treffen
~#! tid=974916030

Das nenne ich mal super. Da kann ich mir die Kalorien also statt mit Met in
Form von Rippchen einschieben. ;)

Drachno - an die Gewichtsdiskussion denkend

-----------------------------------------------------------------------------



Re: Re: stati in muenster am 25.11 (Gorog, 23. Nov 2000, 16:59:08):
~#! rn=Drachno rt=974977823 rg=treffen
~#! tid=974916030
Aber vorsicht! AYCE ist nur Montags. Also keine Angst dass Du zuviel zunimmst
(;

Gorog

-----------------------------------------------------------------------------



Re^3: stati in muenster am 25.11 (Foobar, 23. Nov 2000, 19:57:54):
~#! rn=Gorog rt=974995148 rg=treffen
~#! tid=974916030
Genau, und Burger-Tag ist dienstags, also besteht am Sams nicht die Gefahr zu
viel zu essen.

Obwohl... Mal sehen ;o)

Foobar

-----------------------------------------------------------------------------



Berlin - naechste Statis? (Taina, 23. Nov 2000, 23:05:42):
Hi ihr,

wann sind die naechsten Statis in Berlin?
Also 1. 12. nehm ich mal an. Und danach? 5.1.01? Oder 1.1.01? Ich wuerd das
gern wissen, weil eventuell Besuch aus Fernwest *duck* kommen moechte. Zur Not
muss es nen Sonderstati geben, weil bei mir halt das 1. Dezember-, das 1.
Februar-Wochenende und der 1. Januar fuer Besuch flach fallen...

Taina
Ach ja, der Gast aus Fernwest traegt den untypischen Namen Schleicher. (Kann
man den nach fernwestlich uebersetzen?)

-----------------------------------------------------------------------------



Stati in Berlin (Golas, 24. Nov 2000, 11:50:45):
Wie immer erster Freitag im Monat, folglich also am 1.12. im Seeblick. Adresse
steht im Web.

zum Thema Neujahrsstati aeussere sich bitte jemand, der zu dem zeitpunkt in
berlin ist :)

winke winke
golas

ps: kennt jemand ne andere schoene kneipe? die akustik ist grauenvoll, aber
mein letzter vorschlag wurde wehement abgelehnt :)

-----------------------------------------------------------------------------



DD (Deepblue, 24. Nov 2000, 11:51:21):
Am 5.12. waere ja eigentlich wieder StaTi in Dresden. Hat jemand ne Idee fuer
ne neue Location?

-----------------------------------------------------------------------------



Weihnachtsmarkt, Gluehwein! (Montanus, 24. Nov 2000, 14:01:31):

In Mainz hat seit gestern schon der Weihnachtsmarkt auf! Gaebe es
Interessenten, im Laufe der naechsten Woche sich da mal ungezwungen auf einen
oder ander zwei Gluehweine zu treffen? ;-)
Stammtisch kann mans ja nicht nenne, weil "Stamm" was von Regelmaessigkeit
hat. Also "En-passant-Tisch".

-Montanus

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt, Gluehwein! (Liara, 24. Nov 2000, 14:10:43):
~#! rn=Montanus rt=975070891 rg=treffen
~#! tid=975070891
Hm. gleiches sollte man auch mal fuer Bonn in Angriff nehmen.
Mal nen Gluehwein trinken abends ... wer Lust hat, maile mir mal wegen
Wochentag.

LZ

-----------------------------------------------------------------------------



Re: Stati in Berlin (Birdy, 24. Nov 2000, 17:17:48):
~#! rn=Golas rt=975063045 rg=treffen
~#! tid=975063045
hiho !:)

ich schlage mal das "Uebereck" vor, das ist 2 querstrassen weiter oder naeher,
je nachdem, woher man kommt. ;)
frueher hab ich da die wildesten und besten parties gefeiert (an bestimmte
weihnachtsfeiern denkend, das war noch vor meinen mg-zeiten, achja, die guten
alten zeiten *seufz* *raeusper*)
wo war ich stehen geblieben? ach ja, das "Uebereck" ist in der Prenzlauer
Allee/Marienburger Strasse.
wenn wir mal was anderes als das "Seeblick" testen wollen, ist das mein
vorschlag.

bye
birdy

-----------------------------------------------------------------------------



Treffen in Hamburg (Krellja, 24. Nov 2000, 17:29:07):
Moin!

Das letzte Treffen ist zwar gerade erst ne Woche her, wir werden noch 
zu so etwas wie einem Stammtisch :-)

Wo: Geo 53,  Beim Schlump 53
Wann: Donnerstag, 30.11.2000, 20:00 Uhr
Wer: Lolli, Krellja, ...

Tschuess
         Krellja

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt, Gluehwein! (Liara, 24. Nov 2000, 19:32:39):
~#! rn=Liara rt=975071443 rg=treffen
~#! tid=975070891
Aufgrund des grossen Interesses schlage ich mal Montag, den 27.11.2000 vor.
Solange der Weihnachtsmarkt besteht, koennte man das ja fuer jede Woche Montag
mal festhalten. ;-)

Natuerlich wird Gluehwein nur an der Bonner-Weihnachtsmarkt-Tassen-Bude direkt
vor dem Kaufhof getrunken. :-) Und zwar so ab 19 Uhr. 

Liara, Zwergenhicks ;-)

Bitte um Mails, damit wir Euch evtl. suchen koennen im Gedraenge. :-)

-----------------------------------------------------------------------------



Weihnachtsmarkt in Frankfurt (Feuerwehr, 24. Nov 2000, 22:00:28):
Hallo.

Alle reden hier von Bonner Weihnachtsmaerkten. Aber, ich mein, gepflegt an
einem Glaesschen Gluehwein nippen und fromme Weihnachtslieder singen kann man
auch anderswo!

Beispielsweise in Frankfurt! Ich weiss zwar nich wo, aber irgendwo hier ist
ein richtig toller Weihnachtsmarkt. Ich bin sicher. Wenn also jemand Lust hat,
sich ein wenig in weihnachtliche Stimmung zu bringen, indem er sich mit
Gluehwein zuschuettet, so mag er das kundtun.

Ich wuerde mich freuen.

Gruesse, Feuerwehr.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt in Frankfurt (Feuerwehr, 24. Nov 2000, 22:28:08):
~#! rn=Feuerwehr rt=975099628 rg=treffen
~#! tid=975099628

Hallo. Nochmal.

Auf Grund des gewaltigen Andrangs habe ich mit allen Interessierten einen
Termin ausgemacht: Donnerstag, 14.12, 18 Uhr, irgendwo aufm Weihnachtsmarkt,
wo auch immer der ist.

Meldet euch schnell, denkt an den schrecklich gewaltigen Andrang und all die
schon angemeldeten Leute! Habt euren Freunden etwas voraus, besucht dieses
extraordinaere kulturelle Ereignis, solange noch Plaetze frei sind!

Gruesse, Feuerwehr.

-----------------------------------------------------------------------------



--->>>***S*T*A*T*I***<<<--- (Qitess, 24. Nov 2000, 22:36:09):
Hurra, HURRA, HURRA!
Es ist wiedermal soweit: Die Adventszeit steht vor der Tuer, 
    und wir werden sie hereinlassen....

am 8.Dezember 2000
                   findet der
                              *N*I*K*O*L*A*U*S*-*S*T*A*T*I*  statt!!!

Natuerlich wie immer im ViertelNach in Braunschweig im Bueltenweg.
Und zwar wie immer um 20 Uhr.

Kommet Ihr Kinder, und meldet Euch gefaelligst vorher bei mir an.
Und das geht - wie ueblich - per mud-mail an Qitess...


 Natuerlich sind auch Nicht-Braunschweiger sehr herzlich eingeladen,
Wegbeschreibungen gibt es auf Anfrage.

QI**

P.S.: Hej, es gibt diesmal uebrigens einen Anmelde-ZWANG! Und das aus gutem
grund... ;)


-----------------------------------------------------------------------------



Re: Weihnachtsmarkt, Gluehwein! (Aline, 24. Nov 2000, 22:37:33):
~#! rn=Montanus rt=975070891 rg=treffen
~#! tid=975070891

In ulm macht der Weihnachtsmarkt jetzt auch bald auf.
Wie waere es also mit Gluehwein und Spaetzle in Ulm?
Wahlweise geht auch Ravensburg, falls Ulm zu weit noerdlich ist.

Aline

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt, Gluehwein! (Sky, 24. Nov 2000, 22:42:34):
~#! rn=Aline rt=975101853 rg=treffen
~#! tid=975070891
also ulm gefaellt mir persoenlich mal ganz gut als vorschlag :)

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Golas, 25. Nov 2000, 00:02:37):
~#! rn=Birdy rt=975082668 rg=treffen
~#! tid=975063045
als offizieller komissarischer ausrufer ...

naechster Stati in Berlin findet
am 01.12.2000
ab 20:00 Uhr
im Uebereck
Prenzlauer Allee / Marienburger Strasse
statt

golas ansetzend

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt, Gluehwein! (Mupfel, 25. Nov 2000, 14:05:22):
~#! rn=Aline rt=975101853 rg=treffen
~#! tid=975070891
Ravensburg? da bin ich ja heut abend ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt, Gluehwein! (Aline, 25. Nov 2000, 19:51:48):
~#! rn=Mupfel rt=975157522 rg=treffen
~#! tid=975070891

Na dann komm doch mal vorbei. ;)
Ich bin da naemlich oefter.....

Aline wohnt da jetzt.

-----------------------------------------------------------------------------



Gluehweintrinken in Bonn (Liara, 26. Nov 2000, 15:34:58):
Ab morgen treffen wir uns Montags so ab 19 Uhr an der
Bonner-Weihnachtsmarkt-Tassen-Gluehweinbude *g* auf dem ... na? ... genau:
Bonner Weihnachtsmarkt. Das Teil befindet sich (hoffentlich ;) direkt vor dem
Kaufhof (mittig).

Ich braeuchte noch Nachricht von den Leuten, die kommen wollen. :-)

LZ

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt in Frankfurt (Trance, 26. Nov 2000, 16:03:07):
~#! rn=Feuerwehr rt=975099628 rg=treffen
~#! tid=975099628
Bring kurz vorher noch nen reminder. Treffpunkt wohl am besten vorm
Roemreingang (Da ist grad ne Kinderbuchausstellung ;)

Trance ist dabei.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt, Gluehwein! (Larina, 26. Nov 2000, 21:58:33):
~#! rn=Montanus rt=975070891 rg=treffen
~#! tid=975070891
hmm also da ich ja eh in Mainz bin und auf den Weihnachtsmarkt will bin ich da
glatt dabei. 
Haben wir das nicht letzes Jahr schon mal gemacht ? 
*laechel*
*laechel*
Larina 

-----------------------------------------------------------------------------



Stammtisch in BB am 2. 12. (Varlarion, 26. Nov 2000, 23:34:50):
Hoi,

da ich immer noch hier im Exil sitze, gibts am Samstag den 2. 12. mal wieder
nen Stammtisch in Boeblingen.
Geplanter Austragungsort ist der Frechdax (am Kongresszentrum)
und ab 20:00h gehts los.

Fuer ne Wegbeschreibung siehe MPA oder Mail an mich.

Bitte meldet Euch rechtzeitig per Mail, MPA oder direkt im MG bei mir oder
bei Mupfel an.

Varlarion, auf Gesellschaft im Exil hoffend

-----------------------------------------------------------------------------



Re: Treffen in Hamburg (Troy, 27. Nov 2000, 11:44:53):
~#! rn=Krellja rt=975083347 rg=treffen
~#! tid=975083347
Ich auch! Ich auch!

Troy

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt in Frankfurt (Ark, 27. Nov 2000, 19:43:49):
~#! rn=Feuerwehr rt=975101288 rg=treffen
~#! tid=975099628
Hmpf, koennte man das auf den 15. verschieben? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



stati am 29.11 in muenster (Ariana, 27. Nov 2000, 20:09:16):
wo dieser stati sein wird, weiss ich auch noch nicht, brandir schreibt noch
was dazu:)
auf jeden fall wollen wir uns aber vorherum 18.30 am john does treffen, um die
muensteraner weihnachtsmaerkte zu begehen.
alle die von auswaerts kommen, sollten am besten mal schreiben, wann sie denn
in der innenstadt sein koennen, und was sie dort alles wiederfinden wuerden,
damit wir euch dann da abholen koennen:)

ariana

-----------------------------------------------------------------------------



Re: stati am 29.11 in muenster (Lanfear, 28. Nov 2000, 16:09:54):
~#! rn=Ariana rt=975352156 rg=treffen
~#! tid=975352156
Hi zusammen!

Da Brandir unabkoemmlich ist, werde ich das hier mal wieder fuer ihn
uebernehmen muessen. :-)

Ok, Stammtisch wird diese Woche experimentellerweise im "Absoluut Gassi" (kein
Tippfehler, es sollen 2 u sein) stattfinden.
Wie ich gerade festgestellt hab sind die Getraenkepreise nicht ganz so toll,
deshalb werden eh gleich wieder welche quaengeln, aber dies eine Mal sollte es
zum Testen ja gehen.
Die Speisekarte ist recht einfach gehalten, biete aber nette Snacks, besonders
fuer die Liebhaber der Hollaendischen Kueche. Zudem gib es noch eine
Tages(/Wochen?)-Karte mit allerlei leckeren sachen.

Ich hab mal eine Wegbeschreibung fertig gemacht, die ihr unter

http://www.duebbers.de/gassi.htm

einsehen koennt. Naja, genauer gesagt keine beschreibung, nur 2 grobe Karten,
sollte aber reichen.

Fuer diejenigen, die mit ueber den Weihnachtsmarkt kommen ist das eh
irrelevant, da wir ja gemeinsam hingehen, aber falls jemand direkt dort hin
will, sollten die Karten helfen.

So, das wars erstmal... Bei Fragen, fragen. (speziell Ariana nerven :) )

Lan*

-----------------------------------------------------------------------------



Re: Re: stati am 29.11 in muenster (Gorog, 28. Nov 2000, 16:56:06):
~#! rn=Lanfear rt=975424194 rg=treffen
~#! tid=975352156
Sorry unabkoemmlich. Aber ihr werdet bestimmt genug sein besonders sobald ihr
vom Gluehwein doppelt seht (;

mfGorog

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 28. Nov 2000, 22:26:05):


Dann wollen wir doch auch mal:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 8.12. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Stammtisch in Darmstadt?! (Teddybea, 28. Nov 2000, 23:56:58):
Da einige Muenchner Mudder einen kleinen Ausflug nach Darmstadt machen wollen,
kam uns natuerlich der Gedanke, dies mit einem Stammtisch zu verbinden :)

Der ins Auge zu fassende Termin waere naechste Woche Freitag, also der 8.
Dezember.

Interessierte werden gebeten, sich bei mir zu melden :) Und vor allem:
erscheint zahlreich ;)

An alle Nuernberger:  im Auto ist voraussichtlich noch ein bisschen Platz frei
;)

Teddybea, organisiert Stammtische quer durch die Republik ;)

-----------------------------------------------------------------------------



Stammtisch in Muenchen?! (Teddybea, 29. Nov 2000, 00:06:34):
Und da wir grade dabei sind: Da ich im Dezember auch noch meinen Geburtstag
feiere und natuerlich auch den einen oder anderen Mudder dazu einlade, waere
es eine Ueberlegung wert, am 15. Dezember einen Stammtisch in Muenchen zu
veranstalten.

Die zahlreichen Interessierten werden gebeten, sich bei mir zu melden und
ebenso zahlreich zu erscheinen ;)

Teddybea, organisiert jede Woche einen Stammtisch

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (Golas, 29. Nov 2000, 00:50:57):
~#! rn=Golas rt=975106957 rg=treffen
~#! tid=975063045
ok, kleiner fehler unterlaufen

das uebereck ist prenzlauer allee / CHRISTBURGERstrasse

wenn ihr vor dem seeblick steht, 90 grad nach links drehen, bis zur kreuzung
gehen. dort rechts abbiegen und grade aus, bis ihr das uebereck an der
naechsten ecke seht.

winke winke
Golas

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt in Frankfurt (Feuerwehr, 29. Nov 2000, 20:27:44):
~#! rn=Feuerwehr rt=975099628 rg=treffen
~#! tid=975099628

Ahoi!

Also, nachdem wie gesagt schon Massen und Massen an Leuten, oehm, zugesagt
haben, kamen, hmmm, weitere Massen und Massen an Leuten und wollten einen
anderen Termin. Also hamm wir so diverse Meetings abgehalten und diskutiert,
und schliesslich kam folgender neuer Termin fuer den Frankfurter
Weihnachtsmarkt raus:

      15.12.00, 18:00 vor dem Roemer (das issn Haus)

Und ich, oehm, moechte noch einmal betonen, obwohl sich bis jetzt schon .. aeh
.. Massen und Massen an Leuten angemeldet haben, ist noch ... quasi ...
minimal Platz fuer mehr Leute! Also gebt euch einen Rock, aeh Ruck, und
schreibt!

Gruesse, Feuerwehr.

PS: Der 15. issn Freutag, aeh Freitag!

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt in Frankfurt (Trance, 29. Nov 2000, 20:55:47):
~#! rn=Feuerwehr rt=975526064 rg=treffen
~#! tid=975099628
schade, da kannich nich, aba lasst euch nich abhalten!

Trance, Besuch am 15. habend und denselben ins sehr empfehlenswerte FH-THeater
ausfuehrend seiend.

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 29. Nov 2000, 21:05:01):
Huhu Ihr da alle,

da unsere uebliche Stammtischkneipe uns am 8ten November nicht haben will,
muessen wir leider ausweichen. Und zwar ins
Mexx
Sternenburgstr. 18
ab 20.00 Uhr

Wegbeschreibungen sind bei Spelli erhaeltlich!  * fiesgrins *

Bis dahin, ich freu mich auf Euch alle
Cinderella

-----------------------------------------------------------------------------



Re: Stati in Bonn (Cinderella, 29. Nov 2000, 22:04:50):
~#! rn=Cinderella rt=975528301 rg=treffen
~#! tid=975528301
Hihi, da es sonst noch keiner gemerkt hat tausche ich mal noch schnell den
8ten November gegen den 8ten Dezember aus.
War doch wohl klar, oder?

Knuddels
Cinderella *sich auch mal vertippseln wollte *

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Hight, 29. Nov 2000, 22:06:27):
~#! rn=Cinderella rt=975531890 rg=treffen
~#! tid=975528301
ich habs gemercht und du net 

hight ueber das alter triumfierend (wie auch immer sich das schreibt)

-----------------------------------------------------------------------------



nikolausstati in muenster (Ariana,  1. Dez 2000, 17:48:31):
leider hats wieder nicht mit dem fegefeuer geklappt:(
ich hab das gefuehl, die wollen uns da nicht mehr....
wo gehen wir dann hin?
einigt euch auf ne kneipe, ich schau montag abend wieder rein und reservier
dann da nen tisch.

ariana, langsam genervt von der rothaarigen

-----------------------------------------------------------------------------



Re: nikolausstati in muenster (Humni,  1. Dez 2000, 19:41:04):
~#! rn=Ariana rt=975689311 rg=treffen
~#! tid=975689311
Nach der Show als ich letztes Mal da war (ich weiss nicht, ob das
der letzte Stati da war) bin ich nicht sonderlich sauer.
Ambiente ok, aber die Bedienung ist echt so ziemlich das mieseste
was ich je gesehen hab.

Ob ich komme weiss ich nicht, wollte's nur mal gesagt haben.

CU Humni

-----------------------------------------------------------------------------



--->>>*S*T*A*T*I*<<<--- (Qitess,  1. Dez 2000, 19:53:44):
Hallo, liebe Leut'
Es ist soweit,
Der Nikolaus-Stammtisch in Braunschweig rueckt naeher.

Die wichtigsten Eckdaten:

Am 08.08.2000
	      um 20" Uhr
			 im Viertel Nach  (Bueltenweg)

Kommet zahlreich!

Sagt es auch Euren (MUD-)Freunden weiter

Und bitte: meldet Euch vorher per mudmail bei Qitess, dass Ihr kommen wollt

Auch Leuts von ausserhalb sind gerne gesehen, wegen der Wegbeschreibung und
evtl.Uebernachtung bitte auch an QI wenden

Bis denne

QI**

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen?! (Teddy,  2. Dez 2000, 18:32:46):
~#! rn=Teddybea rt=975452794 rg=treffen
~#! tid=975452794
Hngrlhmpfgrummel,

da bin ihc endlich mal wieder ne Woche in Muenchen und ihr fahrt quer durch
Deutschland.

Teddy, bis 8ten oder 9ten mal wieder in muenchen

-----------------------------------------------------------------------------



Gluehweintrinken@Bonn (Liara,  3. Dez 2000, 10:40:26):
Ich moechte an das montaegliche Gluehweintrinken auf dem Weihnachtsmarkt
erinnern. :-)

Diesmal treffen wir uns an Spellis Kurts Gluehweinbude (oder wie das heisst
*g*). Da isses weniger voll und man bekommt schon vom Geruch der Getraenke
einen Schwips. ;-)) 
Die Bude is in der Naehe des Riesenrads (glaube ich ;).

Anschliessender Kneipenbesuch oder Rageorgien koennen nicht ausgeschlossen
werden. :-)

LZ

-----------------------------------------------------------------------------



MS StaTi 6.12.2000 (Foobar,  4. Dez 2000, 01:14:09):
Liebe Gemeinde,

der StaTi Muenster findet wie am am naechsten Mittwoch statt, wie immer gegen
20.07 Uhr und wie immer im Ipanema.

Fuer Anfahrtsbeschreibungen wende man sich vertrauensvoll an... hm... mich?

Gruss,

     Foobar

PS: Ariana, nicht vergessen zu reservieren

-----------------------------------------------------------------------------



naechster stati in berlin (Golas,  4. Dez 2000, 23:04:12):
da ich anfang januar nicht in deutschland bin, gebe ich mal zeitweise mein amt
als ausrufer ab ... schlagt euch drum :)

winke winke
Golas

-----------------------------------------------------------------------------



DA abgesagt ... (Ark,  5. Dez 2000, 21:49:19):
Hi, aufgrund der Absage eines nicht unbetraechtlichen Teils der Besucher
unseres Darmstaedter Stammtisches diesen Freitag erklaere ich ihn hiermit fuer
klinisch tot. Wiederbelebungsversuche mit wirklich erscheinenden Besuchern
sind mir sofort zu melden.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Frankfurt am 17. (Feuerwehr,  5. Dez 2000, 22:22:50):
Hallo all ihr Gluehwein-Gourmets.

Also, aeh, folgendes ist die Situation: Ihr erinnert euch an die Massen und
Massen von Leuten, welche mit zum Weihnachtsmarkt kommen? Nun, diese Massen
sind Zook und Ark. Die beiden bringen besitzen eine akzeptable Masse, weshalb
obiger Ausdruck durchaus gerechtfertigt war.

Aber, nun, aeh, ihr wollt mich doch nicht alleine mit denen auf einen
Weihnachtsmarkt loslassen? Das kann doch nich euer Ernst sein! Aus
terminlichen Gruenden wurde der Besuch auf

      Sonntag, 17.12.00, 18:00 vor dem Roemer

verschoben. Also, ruckt euch! :)

Viele Gruesse, Feuerwehr.


-----------------------------------------------------------------------------



Re: MS StaTi 6.12.2000 (Mupfel,  5. Dez 2000, 22:49:20):
~#! rn=Foobar rt=975888849 rg=treffen
~#! tid=975888849
Wie immer im Ipanema? Seit wann wie immer? ;)

-mupfel-
(ich glaub, 20:07, das koennt ich schaffen ;)

-----------------------------------------------------------------------------



Ergaenzung Muenster StaTi (Foobar,  6. Dez 2000, 00:50:36):
Moin.

Entweder hat mich der Mann am Telefon nicht verstanden und es ist wirklich
etwas voller in letzer Zeit, jedenfalls wollte er fuer morgen nix reservieren.

Also hat der erste anwesende Mudder die Aufgabe, einen repraesentativen Tisch
;o) zu blockieren.

Bis morgen,

     Foobar

-----------------------------------------------------------------------------



--->>>*S*T*A*T*I*<<<--- (Qitess,  6. Dez 2000, 16:58:17):
halloechen, nachbar.
neueste nachrichten zum

*SUPER-SONDER-NIKOLAUS-STATI*
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cin Braunschweig:

Er findet statt um 20 uhr im viertel nach.

Es sind bisher acht leute angemeldet, und eine halbzusage haben wir auch.

ES KOENNTEN NOCH MEHR WERDEN!


MELDE AUCH *DU* DICH AN!!!!

per mud-mail bei Qitess

QI**

-----------------------------------------------------------------------------



Muenster - Montag 11.12. (Ronda,  7. Dez 2000, 10:32:30):
Hi,

da ich am Montag in Muenster bin - wie schaut's aus: Da muesste doch im John
Does wieder All you can eat sein, oder? Muss ich da allein hin oder haettet
Ihr auch Lust dazu?

Ronda *mal wieder fast nie zuhause*

-----------------------------------------------------------------------------



StaTi-MS 20.12. (Drachno,  7. Dez 2000, 21:13:54):
Hi Leute,

fuer den 13. ist zwar noch nix klar, aber dafuer hat Ariana fuer den 20.
im Fegefeuer einen Tisch fuer uns reserviert.
Und ja, es war die Rothaarige am Telefon. ;)

Drachno
PS: Und wer kuemmert sich um den 13.? Und kommt jetzt nicht mit "immer der der
fragt!" ;)

-----------------------------------------------------------------------------



Re: Muenster - Montag 11.12. (Elendil,  7. Dez 2000, 23:07:10):
~#! rn=Ronda rt=976181550 rg=treffen
~#! tid=976181550
Hi zusammen ;)
Also ich haette auch Interesse an einem Stammtisch am Montag :) in Muenster !
KOmmt denn wer, ist wer da :) ?
Elendil :)

-----------------------------------------------------------------------------



Re: Re: Muenster - Montag 11.12. (Alcina,  7. Dez 2000, 23:07:40):
~#! rn=Elendil rt=976226830 rg=treffen
~#! tid=976181550
also ich haette Zeit und Lust.

+1 Alcina

-----------------------------------------------------------------------------



Re^3: Muenster - Montag 11.12. (Gorog,  7. Dez 2000, 23:27:13):
~#! rn=Alcina rt=976226860 rg=treffen
~#! tid=976181550
Na abends werd ich wohl Zeit haben. +1

mfGorog

-----------------------------------------------------------------------------



Re^4: Muenster - Montag 11.12. (Foobar,  8. Dez 2000, 13:50:56):
~#! rn=Gorog rt=976228033 rg=treffen
~#! tid=976181550
Sorry, kann am Montag nicht :o(

Trotzdem viel Spass,

     Foobar

-----------------------------------------------------------------------------



Re^5: Muenster - Montag 11.12. (Lanfear,  8. Dez 2000, 13:54:14):
~#! rn=Foobar rt=976279856 rg=treffen
~#! tid=976181550
Ich werde dann wohl auch kommen (+1)

Und da es wohl sonst niemand tut, werd ich auch nen Tisch bestellen :-)


Lanfear - bekommt bald nen Rippchen-Bauch

-----------------------------------------------------------------------------



Re^6: Muenster - Montag 11.12. (Catweazle,  8. Dez 2000, 14:30:29):
~#! rn=Lanfear rt=976280054 rg=treffen
~#! tid=976181550
Achja Rippchen. Mist.
Okok, meine Anwesenheitswahrschienlichkeit steigert sich auf 50%.
YTC

-----------------------------------------------------------------------------



Re^7: Muenster - Montag 11.12. (Yendi,  8. Dez 2000, 15:11:44):
~#! rn=Catweazle rt=976282229 rg=treffen
~#! tid=976181550
Ihr Schweine!
Und das an dem Abend, an dem ich nicht kann!
OK, ich werde versuchen, noch so gegen halb eins vorbeizuschauen.
Aber hat die Kueche da noch offen? Wohl kaum...

*wein*

Yendi


-----------------------------------------------------------------------------



+++>>>*S*T*A*T*I*<<<+++ (Qitess,  8. Dez 2000, 16:38:47):
Hej, Leute, letzter Aufruf:
++!!++!!++!!++!!++!!++!!++KOMMT++!!++!!++!!++!!++!!++!!++
++++++++++!!!!!!!++++++++++ZUM+++++++++++!!!!!!!+++++++++
++++++++++++++++++++++++++S T A T I +++++++++++++++++

um 20 uhr im Viertel Nach im Bueltenweg in Braunschweig

QI**

-----------------------------------------------------------------------------



Re^5: Muenster - Montag 11.12. (Fantaghiro,  8. Dez 2000, 17:32:14):
~#! rn=Foobar rt=976279856 rg=treffen
~#! tid=976181550
also ich kann nich... 

-----------------------------------------------------------------------------



Re^6: Muenster - Montag 11.12. (Drachno,  8. Dez 2000, 18:57:19):
~#! rn=Fantaghiro rt=976293134 rg=treffen
~#! tid=976181550

Drachno schaut missmutig auf seinen Schichtplan und streicht den 11ten, 13ten 
und 20ten als StaTi-Termine aus seinem Kalender... :(

Drachno - der sich in StaTi-Abstinenz ueben muss

-----------------------------------------------------------------------------



EilantragfuerStammtischinDarmstadt (Ark, 13. Dez 2000, 21:47:30):
29.12.00, der letzte Stammtisch in diesem Jahrtausend? 20:00 im Hotzenplotz,
wer unbedingt kommen will, der muss sich an mich wenden. Dies ist der letzte
Aufruf :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: EilantragfuerStammtischinDarmstadt (Ark, 13. Dez 2000, 21:51:51):
~#! rn=Ark rt=976740450 rg=treffen
~#! tid=976740450
Ich moechte darauf hinweisen, dass ich aller WS nach nach Weihnachten nicht
mehr online bin. Wenn keine Resonanz kommt, werde ich NICHT mal auf Verdacht
vorbei schauen. Nur, wenn sich ueberhaupt was regt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: EilantragfuerStammtischinDarmstadt (Wurzel, 13. Dez 2000, 21:53:15):
~#! rn=Ark rt=976740711 rg=treffen
~#! tid=976740450
hm, 60% wahrscheinlichkeit dass ich komme reichen also nicht als resonanz..
na gut, kann ich auch verstehen :)

wurzel

-----------------------------------------------------------------------------



Re: EilantragfuerStammtischinDarmstadt (Anacrion, 13. Dez 2000, 22:08:13):
~#! rn=Ark rt=976740450 rg=treffen
~#! tid=976740450
Bin da.

Anac (+2)

-----------------------------------------------------------------------------



Re: Re: EilantragfuerStammtischinDarmstadt (Montanus, 13. Dez 2000, 22:09:07):
~#! rn=Anacrion rt=976741693 rg=treffen
~#! tid=976740450
Ich vielleicht.
Wenn ihr mich ueberhaupt dabeihaben wollt.
(Ich sag nur Schuss und Toooooooooooooooooooor!) :-)

-Montanus

-----------------------------------------------------------------------------



Re^3: EilantragfuerStammtischinDarmstadt (Anacrion, 13. Dez 2000, 22:10:14):
~#! rn=Montanus rt=976741747 rg=treffen
~#! tid=976740450
Klar n:))
Grade Du bist willkommen :)

Anac*

-----------------------------------------------------------------------------



Re^3: EilantragfuerStammtischinDarmstadt (Wurzel, 13. Dez 2000, 22:11:42):
~#! rn=Montanus rt=976741747 rg=treffen
~#! tid=976740450
wieder so, dass der kellner und die restlichen leute missbilligend zu uns
rueberschauen? ist okay :)

wurzel

-----------------------------------------------------------------------------



Re^4: EilantragfuerStammtischinDarmstadt (Anacrion, 13. Dez 2000, 22:12:36):
~#! rn=Wurzel rt=976741902 rg=treffen
~#! tid=976740450
genau :))
hehe,

Anac* - freut sich schon :))

-----------------------------------------------------------------------------



Re^5: EilantragfuerStammtischinDarmstadt (Gor, 13. Dez 2000, 22:15:28):
~#! rn=Anacrion rt=976741956 rg=treffen
~#! tid=976740450
Hmm, das kann ich mir nicht entgehen lassen.... bringt auch das Magic fuer
Arme wieder mit.. eventuell verstehen Wurzel und ich es ja diesmal. ;)

-----------------------------------------------------------------------------



Re^3: EilantragfuerStammtischinDarmstadt (Ark, 13. Dez 2000, 22:15:38):
~#! rn=Montanus rt=976741747 rg=treffen
~#! tid=976740450
Gut, das bedeutet, dass der Termin erstmal fix ist. Wehe, ihr lasst mich dann
dort sitzen ;^)
Und, lieber Anacrion, das Lokal ist der HOTZENPLOTZ, nicht der HOBBIT!!!

Heute Nachhilfeunterricht fuer begriffsstutzige Zauberer (pffft) erteilend ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: EilantragfuerStammtischinDarmstadt (Wurzel, 13. Dez 2000, 22:17:24):
~#! rn=Gor rt=976742128 rg=treffen
~#! tid=976740450
he, ich will das gar nicht verstehen...
beim letzten mal hab ich nur deswegen gewonnen, WEIL ich es nicht
verstanden habe. das ist doch eigentlich in ordnung so :)

wurzel

-----------------------------------------------------------------------------



Stammtisch Hannover (Olli, 15. Dez 2000, 00:27:19):
Moin,

nachdem ich lange Zeit geglaubt hatte, ich waer hier der einzige
Verrueckte, haben sich doch einige Leute gefunden :)

Und da bietet sich ein Stammtisch dann doch an, und zwar:

            Am 23.12.00 um 20:30
              in der Pupille
            Kleine Pfahlstrasse


Bisher angemeldet: Tilly, Olli.


Olli - der dann doch mal auf nem Stati sein wird *g*

-----------------------------------------------------------------------------



Re^7: EilantragfuerStammtischinDarmstadt (Anacrion, 15. Dez 2000, 00:29:51):
~#! rn=Wurzel rt=976742244 rg=treffen
~#! tid=976740450
Wie ich soeben hoere, endet am 29.12. eine halbjhrige Diaspora, da alle USAler
an diesem Tage dase sein werden, die dem Darmstaedter Stati sonst immer ihr
unvergessliches Flair (bla ...) verschafften.

Ich freue mich!

Anac*

-----------------------------------------------------------------------------



Re: Stammtisch Hannover (Qitess, 15. Dez 2000, 09:46:45):
~#! rn=Olli rt=976836439 rg=treffen
~#! tid=976836439
hej, das nexte mal legt den stammtisch nicht auf weihnachtsurlaubstage...
dann kommen aus braunschweig sicherlich auch mal ein paar knalltueten vorbei
;)
QI**

-----------------------------------------------------------------------------



Dortmund aufgewacht! (Thufhir, 15. Dez 2000, 15:01:34):

 
Dortmunder und alle aus der Umgebung, die sich berufen fuehlen, aufgepasst!
Wer Interesse und Zeit hat, am
 
Freitag, den 22. Dezember 2000, ab ca. 19:00 Uhr
 
auf dem Dortmunder Weihnachtsmarkt nen Gluehweinz zu schnabulieren und
anschliessend an dem Sonderstati teilnehmen moechte, moege sich bitte bei mir
in irgendeiner Form melden! Bei genuegend Interesse folgen weitere Details.
 
s'Zauberzwerch Thufhir

-----------------------------------------------------------------------------



Re^8: EilantragfuerStammtischinDarmstadt (Wurzel, 16. Dez 2000, 20:15:36):
~#! rn=Anacrion rt=976836591 rg=treffen
~#! tid=976740450
da moeglicherweise wieder gaeste von ausserhalb kommen (wenn sie es denn
finden), schlage ich vor, dass ark wieder eine seiner beruechtigten
wegbeschreibungen erstellt (immer fuer einen lacher gut :).
wie isses?

wurzel

-----------------------------------------------------------------------------



Re: Re: Stammtisch Hannover (Olli, 16. Dez 2000, 20:48:34):
~#! rn=Qitess rt=976870005 rg=treffen
~#! tid=976836439
Wir haben den extra auf die Weihnachtstage gelegt, da dann die
Knalltueten aus Clausthal in Hannover sind *bg*

Olli

-----------------------------------------------------------------------------



Re: Dortmund aufgewacht! (Morgoth, 16. Dez 2000, 21:11:57):
~#! rn=Thufhir rt=976888894 rg=treffen
~#! tid=976888894
Sorry, bin auf ner geb-Party (ecki) 

M* -=2

-----------------------------------------------------------------------------



Re: EilantragfuerStammtischinDarmstadt (Fresenius, 17. Dez 2000, 13:57:44):
~#! rn=Ark rt=976740450 rg=treffen
~#! tid=976740450
Katzentante kommt. Evtl. etwas spaeter, aber sie versucht, da zu sein.

-----------------------------------------------------------------------------



Re^3: Stammtisch Hannover (Qitess, 17. Dez 2000, 14:00:31):
~#! rn=Olli rt=976996114 rg=treffen
~#! tid=976836439
na, hoffentlich koennen wir dann vielleicht irgendwann mal die Hannoveraner in
BS begruessen... wie waere es am letzten freitag in diesem jahr?
QI**

-----------------------------------------------------------------------------



---*S*U*P*E*R*S*O*N*D*E*R*S*T*A*T*I*--- (Qitess, 17. Dez 2000, 14:05:07):
Okay, hiermit gebe ich bekannt:

Am letzten Freitag dieses Jahrtausends findet in Braunschweig ein
SuperSonderStati statt.

Und zwar wie immer im Viertel Nach im Bueltenweg. Sagen wir - gegen 20 Uhr.

Anmelden ist nicht vonnoeten, aber waer schon nett, wenn ein gewisses Feedback
kaeme.
Dann kann ich naemlich planen, ob dann ueberhaupt was ist. Qitess, Festin und
Noki werden wohl auf alle Faelle da sein. Hannoveraner und Alkoholfreie moegen
sich bitte vorher melden, wie es so aussieht :). vielleicht ne kurze
Ich-haette-Interesse-an- einem-Stammtisch-Mail ?

ansonsten viel Spass in H.

QI**

-----------------------------------------------------------------------------



Re^3: EilantragfuerStammtischinDarmstadt (Mystixo, 19. Dez 2000, 05:53:11):
~#! rn=Montanus rt=976741747 rg=treffen
~#! tid=976740450
Ich auch.
Und schliess mich meinen Vorrednern an :))
Mystixo *<:-) ist jetzt gluecklicher Bahncard besitzer *fg*

-----------------------------------------------------------------------------



Re: Dortmund aufgewacht! (Thufhir, 19. Dez 2000, 12:44:04):
~#! rn=Thufhir rt=976888894 rg=treffen
~#! tid=976888894
So, das entscheidungsfreudige Dortmund hat sich geeinigt, also besser gesagt
ich habe mich geeinigt:

Sondergluehweinztrinken und sowas wie Stati in Dortmund am 22.12.2000
Treffen ab 19:00 an dem Gluehweinstand auf dem Alten Marktplatz (der mit dem
groessten Tannenbaum der Welt ;) rechts neben der Buehne (wenn man vor der
Buehne steht rechts daneben). Danach werden wir ab ca. 21:00 sehr
wahrscheinlich ins Boomerang weiterziehen (wenn die die Reservierung nich
wieder verbummeln und wir nen Platz bekommen). Kritik am Lokal an /dev/null.
Wer den Gluehweinzstand nich finden sollte (wie sollte man die einzige Buehne
auf dem alten Marktplatz uebersehen koennen? ;) kann mich am Freitag unter
0173/9425590 erreichen.

Gruss, s'Zauberzwerch


-----------------------------------------------------------------------------



Re: EilantragfuerStammtischinDarmstadt (Karis, 19. Dez 2000, 22:17:46):
~#! rn=Ark rt=976740450 rg=treffen
~#! tid=976740450
Antrag angenommen.

Generaelchen Karis. Wieder einer mehr.

-----------------------------------------------------------------------------



Re: Re: EilantragfuerStammtischinDarmstadt (Ark, 19. Dez 2000, 23:21:07):
~#! rn=Karis rt=977260666 rg=treffen
~#! tid=976740450
Aeh, ja, und damit ich nicht wieder mit breit grinsenden Muddern konfrontiert
werde, die mir den ganzen Abend meine hach so bescheidene Beschreibung
vorhalten und mit zunehmendem Alkoholkonsum immer weiter darauf beharren,
welch grosser Schwachfug das sei, moechte ich auf www.falk.de verweisen und
als Stichwort "Mauerstrasse Ecke Lauteschlaegerstrasse" angeben. Das wird
diese unschoenen Vorkommnisse vielleicht zu verhindern wissen. Oder auch nicht
*seufz* ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stammtisch Muenster (Fantaghiro, 21. Dez 2000, 15:01:45):
Halloele ! 

also schonmal so als Vorankuendigung: 
am 11.01.2001 ist der naechste Stammtisch in Muenster und zwar um 
20 Uhr im Fegefeuer. 

Fanta*

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi, 21. Dez 2000, 16:39:34):
Heute, 20.00 uhr, kleiner Meierhof in Karlsruhe.
Leider ohne mich.

-----------------------------------------------------------------------------



SUGI hat DURST !!!! (Sugaan, 21. Dez 2000, 19:28:29):
Hallo alle miteinander - es ist mal wieder so weit SUGI HAT DURST, naja oder
auch nicht - aber auf Grudn besonderer Umstaende moechte ich gerne ein
Koelner-Treffen zwischen Weihnachten und Neu Jahr veranstalten. Natuerlich
nicht um irgendetwas alkoholhaltiges zu trinken, sondern vielmehr um einen
ehemaligen Koelner und eine ehemalige Dortmunderin wieder zu sehen. Also mir
persoenlich waere der Donnerstag oder der Freitag am liebsten (ich muss
naemlich dummerweise arbeiten - oh welch garstig Wort). Bin aber wie
eigentlich immer auch fuer andere Tage zu haben.
Prinipiell bin ich auch fuer jede Kneipe zu haben - also macht mal gute
Vorschlaege!!!!!!
Ansonsten wuerde ich das  "HARP"  vorschlagen. 
Soweit so gut - damit das jetzt nicht  alles im Chaos endet moechte ich Euch
bitten mir doch moeglichst bald Infos zukommen zu lassen wer wann kann und ob
es evt auch ein anderes wo geben koennte.
alles wie gehabt   chaos Sugi gruesst   :-)
***

-----------------------------------------------------------------------------



SUGI hat DURST !!! (Sugaan, 21. Dez 2000, 19:51:36):
Also es koennte sein, dass es Mittwoch der 27.12. wird (ich will es fuer mich
nicht hoffen - aber kommen werde ich auf jeden Fall). Koennte vielleicht mal
ein lieber Koelner nachsehen ob die Kneipe da geoeffnet hat?? (naja ich
koennte ja auch anrufen - aber ich bin sooo bequem und ich finde das ist eine
geniale Ausrede fuer einen Koelner  in diese Kneipe morgen mal ein Bierchen zu
trinken). Ach ja lasst einfach mal was von Euch hoeren - bin wie immer
furchtbar gespannt auf irgendwelche Reaktionen!   
Ich denke ich sollte nu gehen - sonst ufert das hier noch aus    
tschuesssssiiiiiiiiiiii        SUGI

-----------------------------------------------------------------------------



Re: Stammtisch Muenster (Foobar, 21. Dez 2000, 21:33:04):
~#! rn=Fantaghiro rt=977407305 rg=treffen
~#! tid=977407305
Fanta*, das ist leider nicht ganz richtig :o)

Zwar stimmt es, dass am 11.01.2001 ein Stammtisch in MS stattfindet, und zwar
im Fegefeuer, flashc ist aber, dass es der naechste sein soll.

Der ist naemlich am 4.1.2001. Aber wo, das weiss natuerlich noch keiner...

Aber sicher wird hier in unser aller Lieblingsrubrik noch was dazu
geschrieben...

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Stati Karlsruhe. (Boing, 22. Dez 2000, 09:51:03):
~#! rn=Bambi rt=977413174 rg=treffen
~#! tid=977413174
Bambi vergass natuerlich zu erwaehnen, dass der Karlsruher Mud-Stammtisch
JEDEN Donnerstag stattfindet, also auch am 28. Dezember.
  Boing

-----------------------------------------------------------------------------



SUGI hat DURST !!!!! (Sugaan, 22. Dez 2000, 19:35:00):
Also so sicher war ich mir schon lange nicht mehr - mit irgendwelchen Terminen
fuer ein Sugi hat Durst-Treffen!!!!  Am Mittwoch den 27.12. ist es dann
endlich mal wieder so weit (ausser ein gewisser Ex-Koelner ruft noch an und
sagt dass er genau an dem Tag nicht kann!! -Wehe Dir!).Mangels bessere
Kneipenkenntnis in der schoenen Stadt koeln hab ich mich dann mal wieder fuer
das "The Harp" auf der Venloer Str.22 entschieden. Falls ich mich nicht irre
hab ich da so ab 19.00 Uhr zwei Tische reserviert auf Sugaan, Morgengrauen -
oder aber wahrscheinlicher auf Domnick. Es sollten die beiden sein rechts
(wenn man reinkommt) in der Ecke - aber wer weiss vielleicht hab ich ja mal
wieder rechts und links vertauscht - wir werden sehen.

Ich hoffe auf reges Erscheinen und auf gute Stimmung. Seit bitte nicht boese
wenn ich a) zu spaet komme und b)relativ frueh wieder gehen werde - aber ich 
M U S S  leider arbeiten.
Ansonsten wuensche ich Euch allen schon mal ein frohes und wundervolles
Weihnachtsfest und fuer die paar die ich nicht am mittwoch sehen werde - auch
einen Guten Ruuuuuuutsch ins neue Jahr.

Gruessis     Sugi - immernoch voll im Chaos

-----------------------------------------------------------------------------



89 (Sugaan, 22. Dez 2000, 19:37:00):
~#! rn=Sugaan rt=977510100 rg=treffen
~#! tid=977510100
Ach so ja - fuer Wegbeschreibungen bitte entweder ganz ganz ganz alte MPA -
Artikel suchen (letzter Koelner Jahresstammtisch !) oder einfach mal die
Koelner-Mudder fragen.

-----------------------------------------------------------------------------



Re^3: EilantragfuerStammtischinDarmstadt (Feuerwehr, 22. Dez 2000, 22:03:52):
~#! rn=Ark rt=977264467 rg=treffen
~#! tid=976740450

Hui, mit einer derart guten Wegbeschreibung bin ich natuerlich auch da. Wenn
ichs finde. Hmmm. Also, die Chancen stehen nicht schlecht. Naja. Ich mein. Ich
weiss wo Darmstadt liegt. Ungefaehr. Aber ... da ist ja diese Karte. Genau.
Und ... und die Beschreibung. Und in sofern ... oeh ... wartet nicht auf mich
:).

    112.

-----------------------------------------------------------------------------



Re: SUGI hat DURST !!!!! (Bambi, 23. Dez 2000, 09:54:31):
~#! rn=Sugaan rt=977510100 rg=treffen
~#! tid=977510100
Bitte, bleib im Thread. Danke.

-----------------------------------------------------------------------------



Stammtisch in Muenchen? (Mieze,  1. Jan 2001, 14:20:43):

Ich bin zufaellig grade in Muenchen. Wie waere es mit nem Stammtisch am
Freitag Abend? Leider kann ich zu den Lokalitaeten hier nichts sagen, weil ich
mich 0 auskenne. Gibts denn ueberhaupt so viele Mudder in Muenchen?

Mieze - hat wie immer keinen Plan.


-----------------------------------------------------------------------------



StaTi in Dresden? (Deepblue,  1. Jan 2001, 20:21:16):
Wie sieht es mal wieder mit nem StaTi aus? Ich schlag mal den 12.1. (das ist
ein Freitag) gegen 20 Uhr vor. Um nicht wie zuletzt im CD nen Reinfall zu
erleben koennte man das ganze ins Diablo auf dem Plaunschen Ring/Ecke Hohe
Strasse legen. Ich bitte um Rueckmeldungen, da ich bei entsprechender
Teilnehmerzahl nen Tisch bestellen muesste.

-----------------------------------------------------------------------------



Re: StaTi in Dresden? (Rikus,  1. Jan 2001, 20:22:22):
~#! rn=Deepblue rt=978376876 rg=treffen
~#! tid=978376876
Bin dabei!

Rikus

-----------------------------------------------------------------------------



Re: StaTi in Dresden? (Qitess,  1. Jan 2001, 21:10:38):
~#! rn=Deepblue rt=978376876 rg=treffen
~#! tid=978376876
hmm, tja, mal sehen, ob ich festin ueberreden kann ;)

QI**

-----------------------------------------------------------------------------



Re: StaTi in Dresden? (Firehawk,  1. Jan 2001, 21:16:42):
~#! rn=Deepblue rt=978376876 rg=treffen
~#! tid=978376876
Bin dabei wenn ichs finde und nix dringendes dazwischen kommt ;)

Firehawk

-----------------------------------------------------------------------------



Karlsruhe-Dementi (Rardian,  1. Jan 2001, 21:50:21):
Eine schoene Woche Karlsruhe ist zu Ende gegangen. Jetzt, da wir (Golas, Guard
und ich) wieder zurueck in der Heimat sind, haben wir uns gedacht, ein paar
Dinge klar zu stellen, die sonst vielleicht unklar geblieben waeren ... - ;) -

Deshalb also folgende Proklamation:
Wir dementieren, dass
 - Golas keine Vorbehalte hat,
 - Karlsruhe ein Vorort von Berlin ist,
 - Golas sich abgemeldet hat,
 - Larina nicht unschuldig ist ;),
 - in Karlsruhe mehr Schnee als in Berlin liegt,
 - Salz und Honig schlechter Geschmack ist,
 - Felinen wasserscheu sind,
 - Titiwu keine Fortsetzung erhaelt,
 - Hobo Geschenke innerhalb von 20 Fragen erraet,
 - Montanus die Tanjian kennt,

am allerheftigsten aber dementieren wir, dass wir nie wieder nach Karlsruhe
kommen!!!

In diesem Sinne und allen Muddern ein erfolgreiches 2001 wuenschend,
  Rar.

-----------------------------------------------------------------------------



StaTi MS 4.1.2001 (Foobar,  2. Jan 2001, 21:27:01):
Frohes neues Jahr.

Der muensteraner StaTi im neuen Jahrtausend (SCNR) findet am Donnerstag, dem
4.1.2001 gegen 20.07 im "John Doe's Diner", Spiekerhof statt.

Wer da noch nie war und unbedingt kommen will wende sich zwecks
Wegbeschreibung an mich oder.. An mich.

WARNUNG: Am Donnerstag gibt es KEINE Special Offers, also weder Spare-Ribs
AYCE noch Burger fuer billig.

Ich bin trotzdem da. Wer jetzt nicht kommt, ist selber schuld ;o)

Tschuess.

Foobar

-----------------------------------------------------------------------------



Re: StaTi MS 4.1.2001 (Menace,  2. Jan 2001, 21:46:18):
~#! rn=Foobar rt=978467221 rg=treffen
~#! tid=978467221
Also ich werd wohl kommen, damit Du nicht so alleine bist, Foobar

Menace
+= 1

-----------------------------------------------------------------------------



Re: StaTi MS 4.1.2001 (Drachno,  2. Jan 2001, 22:46:38):
~#! rn=Foobar rt=978467221 rg=treffen
~#! tid=978467221
Halloechen und ein frohes Neues! :)

Das Ausland muss noch warten, damit werde ich auch auf dem StaTi 
aufschlagen. Ariana wird auch wohl kommen.

Ich weiss bloss noch nicht, wie lange wir bleiben.

Bye,
Drachno

-----------------------------------------------------------------------------



Re: StaTi MS 4.1.2001 (Lanfear,  3. Jan 2001, 00:38:36):
~#! rn=Foobar rt=978467221 rg=treffen
~#! tid=978467221
Auch ich werde Euch wohl wieder mit meine Anwesenheit strafen :)

Lanfear

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara,  3. Jan 2001, 15:04:28):
                  ***** STAMMTISCH BONN *****
             ***** am Freitag, den 12.01.2001 *****
          ***** im MEXX (neue Stammtischkneipe!) *****
       ***** Sternenburgstrasse 18, Bonn-Poppelsdorf *****
   - bitte meldet Euch per Mail bei mir zwecks Tischbestellung -
                              Liara, 
                         Zwergenzauberine
                   (heute irgendwie zentriert ;)

-----------------------------------------------------------------------------



Stati in Berlin (Golas,  3. Jan 2001, 17:14:20):
moins,
wie jeden ersten Freitag ist auch diese Woche stati in berlin.
die neue kneipe wurde fuer besser befunden und somit ist der stati im

Uebereck
die adresse gibt es per mail bei birdy, ich hab sie verschlampt.

is aber leicht zu finden:
ihr steht mit dem ruecken zum seeblick, geht nach rechts bis zur ecke, dann
wieder rechts und ueber die grosse strasse ... schon seid ihr da

winke winke
golas der ausrufer :)

-----------------------------------------------------------------------------



Spontanminitreffen Bonn (Liara,  3. Jan 2001, 17:53:35):
- >>>> heute (3.1.01) 20 Uhr im Mexx (Stammtischkneipe vom letzten Mal),
Sternenburgstrasse 18

Special Guest: Anatol

LZ

-----------------------------------------------------------------------------



Re: Stati in Berlin (Rejna,  4. Jan 2001, 00:07:41):
~#! rn=Golas rt=978538460 rg=treffen
~#! tid=978538460
Ich kann leider nicht kommen, da ich zu ner Burtstagsparty eingeladen bin. 
Ansonsten fand ich den Tisch im Uebereck noch kleiner als den im Seeblick. Ich
hab mich nur mit den 2 Leuten unterhalten, die neben mir sassen und fand das
schade. (Im Seeblick konnt ich mich immerhin noch so mit 4 bis 5 Leuten
unterhalten.) Kann man da irgendwie nen Tisch mit mehr Plaetzen bestelln oder
so?

Gruss
Rejna (Taina)

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Gloinson,  4. Jan 2001, 00:15:09):
~#! rn=Rejna rt=978563261 rg=treffen
~#! tid=978538460
Bin mal wieder nicht da. Irgendwie schaffe ich es immer zum ersten Freitag im
Monat ausser Bundeslandes zu sein. Aber vielleicht kommt Martini ... wenn
jemand auf sie aufpasst ueberzeug ich sie :>

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Golas,  4. Jan 2001, 08:30:51):
~#! rn=Rejna rt=978563261 rg=treffen
~#! tid=978538460
birdy uebernehmen sie ;)

sollte machbar sein

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (Golas,  4. Jan 2001, 08:31:17):
~#! rn=Gloinson rt=978563709 rg=treffen
~#! tid=978538460
na sicher werde ich auf sie aufpassen ...


-----------------------------------------------------------------------------



Re^4: Stati in Berlin (Xenada,  4. Jan 2001, 09:50:51):
~#! rn=Golas rt=978593477 rg=treffen
~#! tid=978538460
ich glaub ich werd mich auch mal wieder sehen lassen...sofern ich mich denn
hin
finde ;)
bis morgen Xenada

-----------------------------------------------------------------------------



Stati AC??? (Humni,  4. Jan 2001, 09:55:00):
Huhu,

es ist mal wieder der erte im Monat, und da wir das nach dem Abgang von so
vielen Leuten immer wieder vergessen: 

 -> STAMMTISCH AACHEN <-
   -> Freitag, 5.1. <-
     -> 20 Uhr <-
   -> Chico Mendes <-

Hmm...kommt ueberhaupt wer ausser mir? Meldet Euch mal....

CU Humni

-----------------------------------------------------------------------------



Re^4: Stati in Berlin (Refardon,  4. Jan 2001, 18:48:39):
~#! rn=Golas rt=978593477 rg=treffen
~#! tid=978538460
Gentlemenpflichten nachkommend unterstuetzt Rardian, wie ich grad hoerte,
Golas bei seinem hehren Vorhaben ;) ...

Ref (i.A.).

-----------------------------------------------------------------------------



Re: Stati AC??? (Humni,  4. Jan 2001, 19:45:18):
~#! rn=Humni rt=978598500 rg=treffen
~#! tid=978598500
Da ich nun weiss, dass mindestens 2 Personen ausser mir kommen, findet der
Stati auf jeden Fall statt. Also keine Hemmungen.

Humni, nur mal gesagt haben wollend.

-----------------------------------------------------------------------------



Re^5: Stati in Berlin (Solmyr,  4. Jan 2001, 19:59:30):
~#! rn=Refardon rt=978630519 rg=treffen
~#! tid=978538460
Bin vielleicht auch dabei, je nach dem, wie mein Gesundheits-
zustand aussieht.

BW
Solmyr

-----------------------------------------------------------------------------



Re^6: Stati in Berlin (Birdy,  4. Jan 2001, 21:57:32):
~#! rn=Solmyr rt=978634770 rg=treffen
~#! tid=978538460
Tisch Nr. 7 ist ab 20 Uhr auf "Morgengrauen" bestellt.
Da ich erst spaeter dasein werde, fragt einfach an der Theke. :)

Golas, uebernehmen Sie !

-----------------------------------------------------------------------------



Re: Re: Stati AC??? (Humni,  5. Jan 2001, 16:33:48):
~#! rn=Humni rt=978633918 rg=treffen
~#! tid=978598500
Aehem...

peinlich..aber die beiden anderen haben soeben abgesagt:

Da ich sonst nix gehoert hab werd ich zwar um 20 Uhr da erscheinen, aber sehr
schnell wieder verschwinden wenn sich keiner blicken laesst. 

Humni, demnaechst frueher ankuendigend und auf mehr Resonanz wartend.

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  5. Jan 2001, 23:15:52):


Bei uns ist es auch wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 12.1. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re^7: Stati in Berlin (Rardian,  6. Jan 2001, 08:23:13):
~#! rn=Birdy rt=978641852 rg=treffen
~#! tid=978538460
Schade, dass Tisch 7 nur fuer 7 Leute geeignet war, schade, dass wir mehr als
7 waren, schade, dass du nicht mehr eingetrudelt bist ;) ...

Birdy! Naechstes Mal bitte Tisch 20 (in der Hoffnung, dass der fuer mehr Leute
bequem reicht :) ...)

Rar.

-----------------------------------------------------------------------------



Re^8: Stati in Berlin (Birdy,  6. Jan 2001, 11:17:41):
~#! rn=Rardian rt=978765793 rg=treffen
~#! tid=978538460
Argl !

Platzprobleme gibts das naechste Mal nicht mehr !

Birdy loest Probleme.

-----------------------------------------------------------------------------



Re^9: Stati in Berlin (Lupus,  6. Jan 2001, 14:40:36):
~#! rn=Birdy rt=978776261 rg=treffen
~#! tid=978538460
Wieso denn? Wird jeder zweite MUDer der reinkommt, erschossen? wenn ja, schick
ich Adson vor. Dann weiss ich ja, ob ich mich reintrauen kann oder nicht. ;)

Lupus

-----------------------------------------------------------------------------



Stati MS 11.01.01 (Fantaghiro,  6. Jan 2001, 14:59:12):
hi, 

nur nochmal zur erinnerung: 
am 11.01.01 is der Stati in Muenster um 20 uhr im Fegefeuer (= 

Fanta - damit keiner sagen kann ich haett nicht mein versprechen gehalten es
nochmal zu veroeffentlichen.

-----------------------------------------------------------------------------



Re: Re: StaTi in Dresden? (Patryn,  7. Jan 2001, 18:34:14):
~#! rn=Rikus rt=978376942 rg=treffen
~#! tid=978376876

freitag wurde schon so oft als termin verneint, dass ich
jetzt nicht umhin komme, die standardantwort NEIN zu
verkuenden. dass soll euch nicht dran hindern, troztzdem, oder gerade
ueberhauot, spass zu haben ;)

------
patryn

-----------------------------------------------------------------------------



Re: StaTi in Dresden? (Deepblue,  7. Jan 2001, 21:15:58):
~#! rn=Deepblue rt=978376876 rg=treffen
~#! tid=978376876
So, ich habe jetzt im Diablo nen Tisch fuer kommenden Freitag 20 Uhr bestellt.
Falls ich noch ned da bin, der laeuft direkt auf Morgengrauen.
Wer ne Anfahrtsbeschreibung braucht bitte bei mir melden, und wenn jemand aus
Richtung Klotzsche kommt und mich ev. mitnehmen koennte waere das auch nett.

-----------------------------------------------------------------------------



Re^8: Stati in Berlin (Gloinson,  7. Jan 2001, 23:37:23):
~#! rn=Rardian rt=978765793 rg=treffen
~#! tid=978538460
Ich bin nicht schuld! Tini hats verpennt. Ich war nicht da! Ich bin nicht
schuld, ichbinnichschuld, ichbinnichschuld, ichbinnichschuld ...

Gloin(son)

-----------------------------------------------------------------------------



Re^3: StaTi in Dresden? (Sniper,  7. Jan 2001, 23:53:50):
~#! rn=Patryn rt=978888854 rg=treffen
~#! tid=978376876

Jupps, Freitag ist nicht so gut, da kann ich auch nicht. Viel Spass natuerlich
trotzdem.

Sniper

-----------------------------------------------------------------------------



SUGI HAT DURST !!! (Sugaan,  8. Jan 2001, 19:23:33):
Ja ja es ist mal wieder so weit - SUGI HAT DURST!! oder wird ihn zumindest zum
angekuendigten Termin haben. Mir schwebt da Freitag der 19.01.2001 vor so wie
immer aber 19.30 Uhr oder so! Also meldet Euch mal bei mir - denn sonst stille
ich meinen Durst in einer gemuetlichen kleine Kneipe in D'dorf bei guter
Live-Musik.

Also meldet Euch damit wir uns auf die Kneipe einigen koennen - und natuerlich
darauf es wirklich stattfinden zu lassen (bei weniger als 4 Leuten - ohne mich
und Critter) findet nichts statt.  
Habt Euch nicht so - und lasst das (un)regelmaessig stattfinde Koelner-Treffen
wieder leben.      Gruessies von   Chaos - Sugi

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 10. Jan 2001, 15:08:48):
~#! rn=Liara rt=978530668 rg=treffen
~#! tid=978530668
Ich moechte an den Bonner Stammtisch am 12. Januar erinnern. :-)
Sprich: am Freitag. :-)

Ruehrt Euch und meldet Euch an! Die Nachos warten auf Euch! (oder wie man das
schreibt ;).
Bisher: Cinderella, Padreic, Liara, Ronda, Darkwing, Dotz, Asuka, Humni,
Muecke und Zephyr. :-)

LZ

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Mupfel, 10. Jan 2001, 18:01:31):
~#! rn=Liara rt=979135728 rg=treffen
~#! tid=978530668
Ich wuerd ja gerne kommen, denke aber, das ihr nicht unbedingt auch alle ne
heftige Erkaeltung haben wollt, und lass es. *seufz* *hust*

-mupfel-

-----------------------------------------------------------------------------



Neujahrs-StaTi (verspaetet) in BS!!! (Rayzeel, 11. Jan 2001, 18:17:04):
Hallo MUDder,

ich schlage vor, dass wir naechste Woche einen verspaeteten Neujahrs-StaTi
abhalten! Zeit und Ort: Fre., 19.01. um 20 Uhr im Dialog. Wie immer sind
natuerlich auch MUDder aus der Umgebung willkommen :)

Gruss, Ray**

-----------------------------------------------------------------------------



Re: Neujahrs-StaTi (verspaetet) in BS!!! (Qitess, 11. Jan 2001, 18:21:24):
~#! rn=Rayzeel rt=979233424 rg=treffen
~#! tid=979233424
so. jetzt reichts mir.
wenn in braunschweig ein mud-stammtisch stattfindet, dann ist das nur ein
echter Stati, wenn er von mir autorisiert wird, und vor allem wenn er im
viertel nach stattfindet.
alle stammtische, die diese beiden grundkriterien nicht erfuellen, sind nicht
berechtigt, sich Stati (oder eine irgendwie anders geschriebene weise) zu
nennen.

QI** - STATI-& BSE-Beauftragte.

-----------------------------------------------------------------------------



Re: Re: Neujahrs-StaTi (verspaetet) in BS!!! (Noki, 11. Jan 2001, 18:23:26):
~#! rn=Qitess rt=979233684 rg=treffen
~#! tid=979233424
JAWOLL!
Sonst haengen wir unsere Stati-Sachen alle ab! Einschlieslich Stati-Inseln!

no**

-----------------------------------------------------------------------------



Re^3: Neujahrs-StaTi (verspaetet) in BS!!! (Grumpf, 11. Jan 2001, 18:27:46):
~#! rn=Noki rt=979233806 rg=treffen
~#! tid=979233424
Ist in Braunschweig irgendetwas Hirnerweichendes ausgetreten?

Grumpf grubelnd.

-----------------------------------------------------------------------------



Re: Re: Neujahrs-StaTi (verspaetet) in BS!!! (Rayzeel, 11. Jan 2001, 18:27:47):
~#! rn=Qitess rt=979233684 rg=treffen
~#! tid=979233424
Aeh, ich hoffe doch stark, dass es sich um einen Scherz handelt??

Ray**, verwirrt

-----------------------------------------------------------------------------



Re: Neujahrs-StaTi (verspaetet) in BS!!! (Rayzeel, 11. Jan 2001, 18:35:51):
~#! rn=Rayzeel rt=979233424 rg=treffen
~#! tid=979233424
Hallo nochmal,

ich ware natuerlich auch fuer Gegenvorschlaege, was den Veranstaltungsort
betrifft. Nur in BS muesste es natuerlich sein :)

Gruss, Ray**

-----------------------------------------------------------------------------



StaTi in Dresden (Deepblue, 12. Jan 2001, 10:58:01):
Ich wollte nur nochmal an den Stammtisch heute abend im Diablo erinnern.
Deepblue, die Werbetrommel ruehrend.

-----------------------------------------------------------------------------



Stati-MS 18.1.00 (Gorog, 15. Jan 2001, 11:39:41):
Hoeret Hoeret! Das Stammtischorganisations- und Verlegungskommitee gibt
folgendes bekannt:
Da sich ein sehr leerer Stammtisch anbahnt, sehen wir diese Woche davon ab
einen solchen zu veranstalten. Sollte aber dennoch Interesse bestehen so ist
eine Aufhebung dieses Ausbleibens moeglich. Beschwerden oder Anregungungen
bitte an Foobar@mg.mud.de oder Gorog@mg.mud.de . 

Gorog i.A. einer hoeheren Macht.

-----------------------------------------------------------------------------



Re: Stati-MS 18.1.00 (Foobar, 15. Jan 2001, 15:11:18):
~#! rn=Gorog rt=979555181 rg=treffen
~#! tid=979555181
So lauschet den Worten des Stammtischorganisations- und
Verlegungskommitees[tm]:
Da mir eingefallen ist, dass ich am designierten Termin gar nicht in MS bin,
bitte ich darauf zu verzichten, mir Mails zu schicken ;o)

Stattdessen alle Beschwerden und Anregungen an Gorog@mg.mud.de schicken :o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



stammtisch in bs (Qitess, 16. Jan 2001, 23:20:49):
jep, also, rayzeel hatte einen stammtisch fuer freitag abend ausgerufen, der
im  - wie hiess die kneipe doch gleich - ach ja im dialog stattfinden soll.

wer kommt denn alles?

es ist naemlich leider dauernd so, dass ich immer dann da war, wenn rayzeel
net da war...

QI** kommt auch

P.S.: wie siehts aus mit der traditionellen billardpartie? gehen wir dafuer
dann etwa in die funzel? :)

P.P.S.: und bestellt euch kein bier da, die fuellen das immer _gehoerig_ unter
dem eichstrich...:)

P.P.P.S.: festin kommt auch, und rayzeel und jason schaetzungsweise ;) auch

-----------------------------------------------------------------------------



Stati Karlsruhe... (Bambi, 18. Jan 2001, 16:40:07):
Nur der Vollstaendigkeit halber, heute abend um 20 Uhr ist Stati in Karlsruhe.
Und zwar im "Kleinen Meierhof", also wie immer und wie jede Woche.
MfG, Bambi. (Stati-Ort gleich in den Titel des Artikels schreibend.)

-----------------------------------------------------------------------------



Sugi hat Durst (Sugaan, 18. Jan 2001, 19:26:48):
Nachdem allen Anschein KEIN Interesse daran besteht sich in Koeln zu treffen -
findet somit auch nichts statt!!!! Zumindest nicht morgen - falls doch mal
irgendwann irgendwer wieder Lust haben sollte nach Koeln zu kommen und sich
dort mit ein paar verrueckten (fast immer NICHT-KOELNER) in einer Kneipe
zusammen zu finden - lasst es mich wissen - mit viel viel viel Glueck kann ich
es dann einrichten und auch vorbei kommen.
Soderle ich denke man liest sich irgendwann mal wieder oder sieht sich auf
irgendeiner der naechsten MG-Parties. 
Sugaan - etwas genervt (RL ist ziemlich zum ko....!)

-----------------------------------------------------------------------------



Re: Sugi hat Durst (Kartoffel, 18. Jan 2001, 21:57:04):
~#! rn=Sugaan rt=979842408 rg=treffen
~#! tid=979842408

Wer will denn schon nach Koeln??

'Toffel

P.S.:
Ein Koelner, ein Dortmunder und ein Duesseldorfer gehen zusammen einen
trinken.
Der Koelner bestellt Koelsch, der Dortmunder Pils und der Duesseldorfer eine
Limo.
Fragen die beiden anderen: Warum trinkst Du denn kein Alt?
Sagt der Duesseldorfer: Ich hab gedacht, wenn ihr kein Bier trinkt, trink ich
auch keins...

-----------------------------------------------------------------------------



Re: Re: Sugi hat Durst (Wurzel, 18. Jan 2001, 21:59:06):
~#! rn=Kartoffel rt=979851424 rg=treffen
~#! tid=979842408
bah. wer mag schon altes bier.

wurzel (hat sich an augustiner gewoehnt...)

-----------------------------------------------------------------------------



DO (Morgoth, 22. Jan 2001, 20:47:39):
Es is mal wieder soweit, da bisher keine konkreten Ausweichskneipen angegeben
wurden also nochmal am Freitag um 2000h im Boomerang.

M* (2)

P.S.: Zu 90% kommt noch ein special-guest ;-)) und ich verrat nich wer

-----------------------------------------------------------------------------



StaTi Muenster 25.01.01 (Foobar, 22. Jan 2001, 22:31:25):
Liebe Gemeinde.

Am Donnerstag, dem 25.01.01 treffen wir uns mal wieder, und zwar im "John
Doe's Diner" mal wieder, und zwar so gegen 20.07 mal wieder.

Wer eine Anfahrtsbeschreibung will, kann mal ja mal
http://www.john-does-diner.de (oder.com) konsultieren. Und wer dazu zu faul
ist, fragt mich.

Gruss und Kuss,

     Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster 25.01.01 (Catweazle, 23. Jan 2001, 08:03:55):
~#! rn=Foobar rt=980199085 rg=treffen
~#! tid=980199085
Das ist mir zu frueh, wie waers denn mit 20.09 Uhr ?
Und hoer auf mich zu knutschen ...

YTC

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 25.01.01 (Gorog, 23. Jan 2001, 13:42:10):
~#! rn=Catweazle rt=980233435 rg=treffen
~#! tid=980199085
Hmm um 20.09 waers mir auch lieber. Aber ich denke ich kann die fruehere Zeit
auch einrichten.
mfG Gorog

-----------------------------------------------------------------------------



Re^3: StaTi Muenster 25.01.01 (Fantaghiro, 23. Jan 2001, 13:43:44):
~#! rn=Gorog rt=980253730 rg=treffen
~#! tid=980199085
Also ich werd wahrscheinlich nich kommen koennen... 
Fanta*

-----------------------------------------------------------------------------



Re: StaTi Muenster 25.01.01 (Yendi, 23. Jan 2001, 14:38:44):
~#! rn=Foobar rt=980199085 rg=treffen
~#! tid=980199085
Was ganz anderes: Sollte das nicht korrekter heissen
"John-does-dine.de"? Schliesslich heisst es ja auch "We shall overcome" und
nicht "We shall surpasser", hmmm?

(Grimmborn! Dein Einsatz)

YTY


-----------------------------------------------------------------------------



Last Minute (Karis, 23. Jan 2001, 22:16:51):
So, spaet aber immerhin.
Einige Muenchener Mudder (mudden die eigentlich noch?) haben
beschlossen, sich morgen, am 24.1. um 19 Uhr
im 'Le Caribeau' in der Koeniginstrasse 34 zu treffen.
Gleichgesinnte sind herzlich willkommen :)

Wer Anfragen zum Weg hat, melde sich bitte bei 
a) www.jamboree.de und suche dort nach 'caribeau'
(wobei man dann feststellen wird, dass es kreolische Kueche
mit Cocktails gibt und die HAppy Hour bis 20 Uhr geht)
oder an
b) www.stadtplandienst.de (oder fuer wenigtipper: www.falk.de)
oder
c) www.mvv.de und waehle dort die Fahrplanauskunft.
Jedenfalls nicht an
d) Karis. Der muss naemlich selber unter a), b) und c) guggen.

Bis denne,
Der Kerl von d)tens.

-----------------------------------------------------------------------------



Re: Last Minute (Hight, 23. Jan 2001, 23:55:35):
~#! rn=Karis rt=980284611 rg=treffen
~#! tid=980284611
hm wochtenag .o(

hight +- 0

-----------------------------------------------------------------------------



Re: Last Minute (Apollonia, 24. Jan 2001, 11:32:58):
~#! rn=Karis rt=980284611 rg=treffen
~#! tid=980284611
Na, wie lange wohnst Du schon in Muenchen? Ich war nur 6 Monate da und weiss,
wo das ist *g*

Apo*

-----------------------------------------------------------------------------



Re: DO (Ahab, 24. Jan 2001, 13:47:11):
~#! rn=Morgoth rt=980192859 rg=treffen
~#! tid=980192859
+2

Ahab, kurz und knapp.

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 25. Jan 2001, 16:19:13):
Heute, 20.00 Uhr im kleinen Meierhof in Karlsruhe.

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 25. Jan 2001, 23:02:40):
Naechster Stammtisch in Bonn:

      Freitag, 9. Februar 2001 im Mexx

LZ, bittet um Mails

-----------------------------------------------------------------------------



Stati B (Rochus, 26. Jan 2001, 20:48:26):
Haette jemand etwas dagegen, den Berliner Stati diesen Monat
in meine Wohnung zu verlegen? Wollte so langsam mal ne
Einweihungsfeier machen, wird so langsam wohl mal Zeit
ich das lieber tun, BEVOR ich den Teppich verlege :-)
Aehm, ich kenne mich mit Biersorten allerdings nicht so aus,
da waere ich fuer entsprechende Tipps dankbar :)

Rochus

S-Baumschulenweg sollte eigentlich gut erreichbar sein :-)
Wegbeschreibung folgt dann, wenn keine Proteste kommen :)
(Es zaehlen ausdruecklich nur Proteste von BERLINER Muddern!
Es gibt doch so einige Dresdener Scherzbolde, denen das zu weit ist :)

-----------------------------------------------------------------------------



Re: Stati B (Golas, 26. Jan 2001, 20:53:09):
~#! rn=Rochus rt=980538506 rg=treffen
~#! tid=980538506
als offizieller ausrufer sag ich:

stati am 02.02. ab 2000uhr bei rochus.

anmeldung per mail bei rochus - dann gibbet schaetzungweise auch ne adresse

winke winke
Golas

-----------------------------------------------------------------------------



Re: Stati B (Orktoeter, 26. Jan 2001, 20:59:42):
~#! rn=Rochus rt=980538506 rg=treffen
~#! tid=980538506
*seufz*
Nicht nur einigen Dresdnern ist das zu weit..

OrkT

PS Feiert schoen!

-----------------------------------------------------------------------------



Re: Re: Stati B (Rochus, 26. Jan 2001, 21:15:45):
~#! rn=Golas rt=980538789 rg=treffen
~#! tid=980538506
Oh, dann muss ich ja doch die Wohnung aufraeumen :)

Also, Wegbeschreibung:
  Baumschulenstr. 93, Aufgang C
ist schonmal der Ort. Von S-Baumschulenweg aus der linke Ausgang
(die Strasse ist dann auf der rechten Seite), ueber die
Fussgaengerampel auf die rechte Strassenseite, dort weiter
von der S-Bahn-Station weg bis kurz vor der Telefonzelle
(ungefaehr auf halbem Weg zwischen Fussgaengerampel und 
naechster Ampel mit Abzweigung Kiefholzstr.), dort ist
dann ein Durchgang, der mit "93 a+b Aufgaenge A B C D" beschriftet ist.
Wer frueh kommt, nicht wundern, dass in dem Durchgang ein
Gemuesehaendler ist :-)
Durch den Durchgang, dann schraeg rechts durch den Hof
zu Aufgang C (steht auch dran). 3. OG, rechte Wohnung (beschwert Euch
nicht, ICH muss die Getraenke da alle hochschleppen *aechz*)

Anmeldung per Mail waere trotzdem nett, damit ich das ungefaehr
abschaetzen kann und nicht zuviel schleppen muss.
Wer ne Mail schickt, bekommt auch eine Notfallnummer fuer
den aeusserst unwahrscheinlichen Fall, dass er es nicht findet :)
(DAS nenne ich mal ne vernuenftige Wegbeschreibung :)

Aehm, fuer die Autofahrer: Versucht irgendwo in der Naehe von
Ecke Baumschulenstr/Kiefholzstr. nen Parkplatz zu finden,
sollte um diese Uhrzeit nicht schwer sein...

Ach, und ZU frueh koemmen ist auch nicht gut (aber das wissen die
meisten von Euch sicher ;-), denn ich werde wahrscheinlich
erst ab 19:30 da sein (tja, Arbeit halt....)

  Rochus

-----------------------------------------------------------------------------



Re^3: Stati B (Rochus, 26. Jan 2001, 21:22:34):
~#! rn=Rochus rt=980540145 rg=treffen
~#! tid=980538506
Ach, wem die Wegbeschreibung zu lang und ausfuehrlich vorkommt:
Der Telekom hat "Baumschulenstr. 93, Aufgang C, 3. OG rechts"
jedenfalls mehrfach NICHT genuegt das zu finden :-/

  Rochus

-----------------------------------------------------------------------------



Re: Stati B (Rardian, 27. Jan 2001, 06:27:46):
~#! rn=Rochus rt=980538506 rg=treffen
~#! tid=980538506
>S-Baumschulenweg sollte eigentlich gut erreichbar sein
??? Ja, von deiner Wohnung aus vielleicht...

Rar, vom andern Ende der Stadt.

-----------------------------------------------------------------------------



Re: Re: Stati B (Mingo, 27. Jan 2001, 11:19:22):
~#! rn=Rardian rt=980573266 rg=treffen
~#! tid=980538506
Pah, wir hier im Oschten sind oft genug durch die Welt gereist, da kannst Du
auch mal. Hm. Wir? Diesmal komme mer!

Mingo i.V. Martini & Gloin(son)

-----------------------------------------------------------------------------



Re^4: Stati B (Rochus, 27. Jan 2001, 17:28:17):
~#! rn=Rochus rt=980540554 rg=treffen
~#! tid=980538506
Hmm, eine Kleinigkeit habe ich anscheinend doch noch was vergessen...
Ich wurde gefragt, wo man denn klingen muss...
Also, fuer die, die es noch nicht wissen:
Ich heisse WIRKLICH Rochus :-)

  Rochus (mit 10cm laengeren Armen vom Getraenke(!)schleppen)

-----------------------------------------------------------------------------



Re^5: Stati B (Mingo, 27. Jan 2001, 17:39:14):
~#! rn=Rochus rt=980612897 rg=treffen
~#! tid=980538506
Haettst ja was sagen koennen. Ich hab bis eben geschlafen und haette in der
Zeit auch sinnvolleres machen koennen ;)

Mingo

-----------------------------------------------------------------------------



Re: Stati B (Yendi, 29. Jan 2001, 15:16:05):
~#! rn=Rochus rt=980538506 rg=treffen
~#! tid=980538506
*weiiin*

Du bist so gemeiiiin...
Kannste det denn nich ne Woche spaeter feiern?
Schweinerei.
Na, trotzdem viel Spass

wuenscht

YTY


-----------------------------------------------------------------------------



Re: Last Minute (Mieze, 29. Jan 2001, 18:19:20):
~#! rn=Karis rt=980284611 rg=treffen
~#! tid=980284611

Kuendigt das doch beim naechsten Mal laengerfristig an :)

Mieze - will auch mal wieder zum Stammtisch


-----------------------------------------------------------------------------



MS StaTi naechsten Donnerstag (Foobar, 30. Jan 2001, 00:18:11):
Moin.

Naechsten Donnerstag ist wieder MG-Stammtisch in Muenster, wieder mal im "John
Doe's Diner", Spiekerhof.

Das Datum koennte Ihr selber raussuchen, da bin ich jetzt zu faul fuer. Ach
nee, halt, war glaubh ich der 1.2.

Gruss,

    Foobar

-----------------------------------------------------------------------------



Re: MS StaTi naechsten Donnerstag (Fantaghiro, 30. Jan 2001, 00:20:09):
~#! rn=Foobar rt=980810291 rg=treffen
~#! tid=980810291
und was fuer ne Uhrzeit Foobaerchen ????
Fanta* - wohl wieder nich kommen koennend. 

-----------------------------------------------------------------------------



Re: Re: MS StaTi naechsten Donnerstag (Foobar, 30. Jan 2001, 10:18:14):
~#! rn=Fantaghiro rt=980810409 rg=treffen
~#! tid=980810291
Ausnahmsweise mal um 20.07 Uhr.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: MS StaTi naechsten Donnerstag (Gorog, 30. Jan 2001, 11:50:40):
~#! rn=Foobar rt=980810291 rg=treffen
~#! tid=980810291
Wie schon wieder da?! Da bekommen wir ja das Stamm fuer den Tisch zurueck.
*grins*
Gorog kann nach dem JD nie pennen (naechstes mal keine Refill Kaffee)

-----------------------------------------------------------------------------



StaTi Termin Februar (Mesirii, 30. Jan 2001, 12:29:45):

Liebe Dresdner und vielleicht erscheinende Gaeste,

da es mir gelungen ist fuer das CD eine nette Bedienung mit Open-End Option 
zu verpflichten, schlage ich vor, die Stammtische wieder Dienstags im CD 
abzuhalten.

Da ich nix mehr mit Pruefungen am Hut habe, stelle ich mal die Terminfrage:

Wann wuerde es Euch im Februar am besten passen (oder wann nicht)?
Bitte Wuensche per MAIL!

Der Termin wird nach Mehrheitswunsch bestimmt.

Bis denne

Mesi, setzt sich wieder mal den StaTi-Hut auf.

-----------------------------------------------------------------------------



nachtrag (Mesirii, 30. Jan 2001, 12:34:49):
Bis denne

Mesi, setzt sich wieder mal den StaTi-Hut auf.

P.S: Da ich grad von einem eventuellen Gast die Frage nach
Freitags/Samstagstermin Ende Februar erhalten hab, leite ich sie einfach mal
an Euch weiter.

-----------------------------------------------------------------------------



Re: nachtrag (Patryn, 30. Jan 2001, 14:39:59):
~#! rn=Mesirii rt=980854489 rg=treffen
~#! tid=980854489
da komme ich per definition nicht. punkt. trotzdem viel spass!

------
patryn

-----------------------------------------------------------------------------



Stati Aachen (Fizban, 30. Jan 2001, 20:43:58):
Hi Leute 
Neues Jahrtausend neues Glueck ich moechte alle interessierten fuer Freitag,
den 02.02.01 zum Aachener Stammtisch einladen. Das das in letzter Zeit etwas
eingeschlafen ist, schreib ich mir selber hinter die Ohren, denn ich bin wohl
mit dran Schuld. Ich wuerde mich freuen, wenn ihr alle Zahlreich erscheint
Fizban.
P.s.: falls jemand den Weg nicht finden sollte, kann er den Weg zum Chico
mendes bei mir gerne erfragen. Ich erwarte Euch gegen 20:00

-----------------------------------------------------------------------------



Re: Stati Aachen (Solmyr, 30. Jan 2001, 20:44:54):
~#! rn=Fizban rt=980883838 rg=treffen
~#! tid=980883838
Falls das bei Dir am Freitag nicht klappt, kommst Du einfach nach
Berlin :)

Solmyr,nochmal auf Stati aufmerksam' mach

-----------------------------------------------------------------------------



--->>>S*T*A*T*I*<<<--- (Qitess, 31. Jan 2001, 17:23:02):
>>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<
QI**

-----------------------------------------------------------------------------



Re: -->>>*S*T*A*T*I*<<<-- (Yendi, 31. Jan 2001, 17:26:01):
~#! rn=Qitess rt=980958219 rg=treffen
~#! tid=980958219
Gott, wie bin ich froh, dass das MUD noch nicht HTML unterstuetzt, sonst
wuerde dieser Artikel vermutlich auch noch in 17 Farben blinken und
irgendwelche GIF-Explosionen ueber den Bildschirm jagen...

YTY
    reibt sich die Augen


-----------------------------------------------------------------------------



Re: Re: -->>>*S*T*A*T*I*<<<-- (Qitess, 31. Jan 2001, 17:27:17):
~#! rn=Yendi rt=980958361 rg=treffen
~#! tid=980958219
HA!
QI**

-----------------------------------------------------------------------------



-+->>>*S*T*A*T*I*<<<-+- (Qitess, 31. Jan 2001, 17:28:19):

*******//EILNACHRICHT//*******//EILNACHRICHT//*******//EILNACHRICHT//*****
NACHRICHT//*******//EILNACHRICHT//*******//EILNACHRICHT//*******//EILNACHR
*******//EILNACHRICHT//*******//EILNACHRICHT//*******//EILNACHRICHT//*****

>>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<

Hallo Braunschweiger, Freunde und sonstige geneigte Leser!

Hier ist er - der NEUE
                          - der ULTIMATIVE
                                                - der FRISCHGEWASCHENE

              ---------   ******   AUFRUF   ******   ---------

              KOMMT
                       ZUM
                               BRAUNSCHWEIGER

                  *   *   *   > *S*T*A*T*I* <   *   *   *


zwar nicht am ersten Freitag, dafuer am zweiten Freitag im Februar

und zwar:

***// DATEN & FAKTEN //***// DATEN & FAKTEN //***// DATEN & FAKTEN //***//
DATEN & FAKTEN //***// DATEN & FAKTEN //***// DATEN & FAKTEN //***// DATEN

am                              09.02.2001

wie ueblich ein                 FREITAG

wie ueblich im                  VIERTEL NACH

und wie ueblich um              20:00 Uhr

   KOMMET ZAHLREICH !!!!   KOMMET FROEHLICH !!!!   SAGT ES WEITER !!!!

>>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<-->>>*S*T*A*T*I*<<<

QI**

*********//ENDE DER NACHRICHT//*********//ENDE DER NACHRICHT//*********//E
DER NACHRICHT//*********//ENDE DER NACHRICHT//*********//ENDE DER NACHRICH
********//ENDE DER NACHRICHT//*********//ENDE DER NACHRICHT//*******//ENDE


-----------------------------------------------------------------------------



stati stuttgart (Leibi, 31. Jan 2001, 19:27:30):
huhu

auch in stuttgart gibts mal wieder einen stati und zwar am
17.2.01 ab 20 uhr wie immer im backofen.

wegbeschreibung gibts bei mir oder wir treffen uns vorher bei mediamarkt am
hbf.

bis denn

leibi

-----------------------------------------------------------------------------



stati karlsruhe (Bambi,  1. Feb 2001, 13:46:58):
Heute, 20 Uhr im Kleinen Meierhof.

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  1. Feb 2001, 23:30:25):


Bei uns ist es auch wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 9.2. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich oder
Jenandra.

'Toffel

P.S.: Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Rochus-StaTi (Yendi,  5. Feb 2001, 14:47:38):
Gibt's jetzt eigentlich schon irgendwo aktuelle Bilder von Rochus?
Das letzte Mal, als ich auf die MG-Seiten geschaut habe, stand da noch ein
rotbebarteter Rochus vor einem Cola-Auto.
Aber da war die Welt ja auch noch in Ordnung...

YTY


-----------------------------------------------------------------------------



Re: Rochus-StaTi (Apollonia,  5. Feb 2001, 14:48:48):
~#! rn=Yendi rt=981380858 rg=treffen
~#! tid=981380858
ICH bin nicht schuld :o)))))

Apo* (schmarrend)

-----------------------------------------------------------------------------



Re: Rochus-StaTi (Greifax,  5. Feb 2001, 15:01:47):
~#! rn=Yendi rt=981380858 rg=treffen
~#! tid=981380858
ich scanne mal heut abend ein :)

greifax, einzeilend

-----------------------------------------------------------------------------



Re: Re: Rochus-StaTi (Gloinson,  5. Feb 2001, 18:17:11):
~#! rn=Greifax rt=981381707 rg=treffen
~#! tid=981380858
Und ich werd meinen Film jetzt ... oehm morgen noch wegbringen.


-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara,  6. Feb 2001, 00:11:46):
~#! rn=Liara rt=980460160 rg=treffen
~#! tid=980460160
          Stammtisch in BONN

       am Freitag, 9. Februar 2001
im MEXX, Sternenburgstrasse 18, 20 Uhr
          in Bonn-Poppelsdorf

bisher so 15 Leute, special guests: Tilly und Tiamak ...
(Thufhir, Ronda und Lurchi rechne ich mal als Bonner ;)

... falls ausser den bisher Angemeldeten noch mehr kommen moechten, bidde
anmelden, da ich sonst dringend die Tischbestellung aufstocken muss ;-) ...

LZ, hofft, dass es keine wetterbedingten Verluste geben wird ;-)

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Mupfelchen,  6. Feb 2001, 00:18:56):
~#! rn=Liara rt=981414706 rg=treffen
~#! tid=980460160
Tja... klingt verlockend... mysste nur was haben zum Ybernachten... 

M'chen (grybelt mal nach)

-----------------------------------------------------------------------------



Stammtisch MS 8.2.01 (Obi,  8. Feb 2001, 14:05:33):
Der Stammtisch findet heute in der Kulisse, in der Juedefelder Strasse statt.

OBI - kurz und knapp

-----------------------------------------------------------------------------



Re: Stammtisch MS 8.2.01 (Yendi,  8. Feb 2001, 16:39:26):
~#! rn=Obi rt=981637533 rg=treffen
~#! tid=981637533
Aeh -- wann?

:-)

YTY


-----------------------------------------------------------------------------



Re: Re: Stammtisch MS 8.2.01 (Foobar,  8. Feb 2001, 16:58:58):
~#! rn=Yendi rt=981646766 rg=treffen
~#! tid=981637533
So gegen 21.00 Uhr.

Foobar

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Anatol,  8. Feb 2001, 17:06:03):
Heute ist, wie jeden gewoehnlichen Donnerstag, in Karlsruhe wieder
Stammtisch im Kleinen Meierhof - 20 Uhr.

Anatol - wollte das schon immer mal schreiben :)

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe (Bambi,  8. Feb 2001, 17:37:30):
~#! rn=Anatol rt=981648363 rg=treffen
~#! tid=981648363
Nachtrag: Wir erwarten prominenten Besuch von ausserhalb. Wobei, das ist noch
nicht ganz sicher.
Bambi.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe (Montanus,  8. Feb 2001, 17:43:10):
~#! rn=Bambi rt=981650250 rg=treffen
~#! tid=981648363

Disclaimer:
Ich bins nicht.

(1)

-----------------------------------------------------------------------------



Re^3: Stammtisch Karlsruhe (Amaryllis,  8. Feb 2001, 17:45:20):
~#! rn=Montanus rt=981650590 rg=treffen
~#! tid=981648363
Ich auch nicht. Auch wenn ich gern mal wieder vorbeischauen sollte/will.

Ama*. (2).

-----------------------------------------------------------------------------



Re^4: Stammtisch Karlsruhe (Humni,  8. Feb 2001, 17:48:59):
~#! rn=Amaryllis rt=981650720 rg=treffen
~#! tid=981648363
Ich waers letzte Woche beinahe gewesen. Hintergruende erklaer ich jetzt aber
nicht.

Und nein, ich bins auch nicht.
Humni (3)

-----------------------------------------------------------------------------



StaTi Muenster 15.02.01 (Foobar, 11. Feb 2001, 22:04:37):
Liebe Gemeinde,

der naechste StaTi in Muenster findet am 15.02.01 statt, so gegen 20.00 Uhr,
wie immer in der "Kulisse", Juedefelder Str.

Wer 'ne Wegbeschreibung will soll sich an mich wenden.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: StaTi Muenster 15.02.01 (Catweazle, 12. Feb 2001, 08:15:24):
~#! rn=Foobar rt=981925477 rg=treffen
~#! tid=981925477
Warte mal, 
Der 15. ist ein Donnerstag! _Punkt_ 20 Uhr? 'wie immer in der Kulisse'?
Ich beantrage Savefile-Loeschung, irgendjemand muss Foobar's Passwd gehackt
haben.

YTC

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster 15.02.01 (Gorog, 12. Feb 2001, 13:06:22):
~#! rn=Catweazle rt=981962124 rg=treffen
~#! tid=981925477
Aufschlagswahrscheinlichkeit 40%
Gorog hat leider was anderes vor, vielleicht.

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 12. Feb 2001, 22:06:49):
nachdem unser aller lieblings kneipe mit der weltbesten bedienung wohl nicht
mehr existiert, habe ich einen tisch fuer samstag um 20 uhr im cibo matto
reserviert.
dann muessen wir halt gleich mit den cocktails anfangen :)
wer nicht ortskundig ist, kann sich auch am media markt vorm hbf um 19.45
treffen.

ach so adresse ist wilhelmsplatz 11.

bis samstag,
leibi

-----------------------------------------------------------------------------



Stammtischseite WWW (Liara, 14. Feb 2001, 15:15:14):
Hab das einfach mal hier rein geschrieben, weil die Statiorganisatoren hier
wohl lesen ... ;-)

Mir ist aufgefallen, dass die WWW_Stammtischseiten voellig veraltet sind ...
merkte ich immer dann, wenn mich jemand nach dem Bonner Rudelmudden fragte,
was seit jahren nicht mehr stattfindet (diese baracken gibt es so nichtmal
mehr ;).
Fuer Bonn habe ich mal eine Mail an Hate geschrieben (hoffe, er ist
zustaendig) mit einem Aktualisierungsvorschlag. Evtl. koenntest DU das ja fuer
Deinen Stammtisch auch tun. ;-)

LZ, findet Darkwing als Kontakt fuer Aachen irgendwie nett ;-)
Sorry fuer das Format und die Rechtschreibung.

-----------------------------------------------------------------------------



Re: Stammtischseite WWW (Lupus, 14. Feb 2001, 16:26:54):
~#! rn=Liara rt=982160114 rg=treffen
~#! tid=982160114


Was? Die haben die originalen MG-Rudelmuddenbaracken abgerissen? Mit den
kultigen VM/CMS-Terminals? Wie konnten sie nur!

Lupus

-----------------------------------------------------------------------------



Re: Re: Stammtischseite WWW (Liara, 14. Feb 2001, 16:45:18):
~#! rn=Lupus rt=982164414 rg=treffen
~#! tid=982160114
Naja. Sie haben eher die Rechner abgerissen ...
Und Studis haben da auch keinen Zutritt mehr. ;-)

LZ

-----------------------------------------------------------------------------



stati karlsruhe (Bambi, 15. Feb 2001, 14:31:49):
Heute, 20 Uhr, im "Kleinen Meierhof".
Heute mit besonderen Gaesten: Swift und Sting.
Bambi.

-----------------------------------------------------------------------------



Re: stati karlsruhe (Pardauz, 15. Feb 2001, 14:33:35):
~#! rn=Bambi rt=982243909 rg=treffen
~#! tid=982243909

ChAoS RuLEz !!!


Pardauz, das einfach mal wieder gesagt haben wollend.


-----------------------------------------------------------------------------



Re: Re: stati karlsruhe (Lupus, 16. Feb 2001, 23:32:58):
~#! rn=Pardauz rt=982244015 rg=treffen
~#! tid=982243909
Chaoten abwerten!

Lupus -> schmarrn

-----------------------------------------------------------------------------



Stati Schweiz (Zook, 19. Feb 2001, 22:55:44):
Huhu, nachdem ich nun in der Schweiz bin, gibt
es hier auch Statis? Ostschweiz und/oder Zuerich
waere ne ganze nette Sache... :)

Zook.

-----------------------------------------------------------------------------



Re: Stati Schweiz (Dieder, 19. Feb 2001, 22:57:36):
~#! rn=Zook rt=982619744 rg=treffen
~#! tid=982619744
koennte man mal ins Auge fassen, ist ja vom Schwarzwald aus nicht allzu weit
weg :)

Dieder

-----------------------------------------------------------------------------



Re: Re: Stati Schweiz (Humni, 20. Feb 2001, 00:51:57):
~#! rn=Dieder rt=982619856 rg=treffen
~#! tid=982619744
Jep. Von Freiburg aus auch nicht. Ach, noch bin ich ja gar nicht da. Mist.
Fast vergessen. Naja bald ;-)

CU Humni
PS: Ist Freiburg Schwarzwald? Ich dachte das sei Breisgau, oder? ;-)

-----------------------------------------------------------------------------



Re^3: Stati Schweiz (Dieder, 20. Feb 2001, 00:53:55):
~#! rn=Humni rt=982626717 rg=treffen
~#! tid=982619744
wer redet von Freiburg? da gibts doch nix :)
Ich rede von Furtwangen. :)

Dieder

-----------------------------------------------------------------------------



Re^4: Stati Schweiz (Humni, 20. Feb 2001, 00:55:01):
~#! rn=Dieder rt=982626835 rg=treffen
~#! tid=982619744
Imda hat mir mal gesagt das sei nicht weit - stimmt das?
Humni, Westfale, derzeit noch im noerdlichen Rheinland, bald Sueddeutscher.

-----------------------------------------------------------------------------



Re^5: Stati Schweiz (Anacrion, 20. Feb 2001, 00:55:49):
~#! rn=Humni rt=982626901 rg=treffen
~#! tid=982619744
Kommt auf die Definition von 'Sueddeutschland' an ...

Anac*

-----------------------------------------------------------------------------



Re^6: Stati Schweiz (Humni, 20. Feb 2001, 00:57:14):
~#! rn=Anacrion rt=982626949 rg=treffen
~#! tid=982619744
Ich meinte konkret die Distanz freiburg-Furtwangen.
Und wenn Freiburg kein Sueddeutschland ist weiss ichs auch nicht.
Des weiteren: Vor 2 Monaten war alles suedlich von Frankfurt fuer mich Bayern,
aber das darf ich jetzt wohl nicht mehr zu laut sagen ;-)
Humni

-----------------------------------------------------------------------------



Re^5: Stati Schweiz (Dieder, 20. Feb 2001, 00:57:40):
~#! rn=Humni rt=982626901 rg=treffen
~#! tid=982619744
des isch dadsaechlich id weit. Abr Furddwanga isch Hochschwarzwald, ond
Freiburg isch Breisgau. Send zwar blos vierzich Killomedr, abr des muss scho
sei - isch ja schliesslich au klimaddisch enn Ondrschiad wia Dag ond Nacht.
Ond damit ebbs klar isch - bloss weil Du Fischkopf nach Freiburg ziasch, bisch
no lang koin Siaddeitschr - klar?

Dieder, Aufklaerung betreibend :)

-----------------------------------------------------------------------------



Re^7: Stati Schweiz (Anacrion, 20. Feb 2001, 00:58:08):
~#! rn=Humni rt=982627034 rg=treffen
~#! tid=982619744
Waaaaaaaaaaaas ?

Ich Darmstaedter bin Hesse!

Anac* macht 'ignoriere humni' an ...

-----------------------------------------------------------------------------



Re^6: Stati Schweiz (Humni, 20. Feb 2001, 00:58:44):
~#! rn=Dieder rt=982627060 rg=treffen
~#! tid=982619744
OK. Akzeptiert.
Und wenn Du nochmal meinst, mich Fischkopf nennen zu muessen......
ach egal.
ICH HASSE FISCHE UND ICH ESSE KEINE! Und das meine ich ernst.
Humni

-----------------------------------------------------------------------------



Re^7: Stati Schweiz (Mupfel, 20. Feb 2001, 00:59:40):
~#! rn=Humni rt=982627124 rg=treffen
~#! tid=982619744
Dann ebbe Muschelschubsa ;)

-mupfel- (auch einer ;)

-----------------------------------------------------------------------------



Re^7: Stati Schweiz (Elberet, 20. Feb 2001, 00:59:42):
~#! rn=Humni rt=982627124 rg=treffen
~#! tid=982619744
Hihi, erzaehl doch mal wieso man Fische nicht essen kann ;)
Vielleicht auch wie Alkohol, Gehirnmasse durch die Zeit transportiert.

-----------------------------------------------------------------------------



Re^8: Stati Schweiz (Humni, 20. Feb 2001, 01:02:23):
~#! rn=Elberet rt=982627182 rg=treffen
~#! tid=982619744
Fische kann man nicht essen, weil jeder Mensch, der Fische gegessen hat,
gestorben ist oder daran sterben wird.
Und Alkohol transportiert Gehirn durch die Zeit, bis zum naechsten Morgen (am
Abend isses weg, am Morgen ist die doppelte Menge da).

Das ist doch bekannt, oder?
Humni
PS: Wers nicht kapiert: Doppelte Menge Gehirn fuehrt zu Kopfschmerzen.

-----------------------------------------------------------------------------



Re^9: Stati Schweiz (Mupfel, 20. Feb 2001, 01:04:41):
~#! rn=Humni rt=982627343 rg=treffen
~#! tid=982619744
Du bist natuerlich immer schmerzfrei, da verringerte Menge, was? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^10: Stati Schweiz (Humni, 20. Feb 2001, 01:08:22):
~#! rn=Mupfel rt=982627481 rg=treffen
~#! tid=982619744
Nein, mein Kopf tut sogar weh wenn ich nix trinke.
Deshalb muss ich ja staendig trinken, sonst tut alles weh.
Humni (Dummheit frisst, Intelligenz saeuft)

-----------------------------------------------------------------------------



Re^11: Stati Schweiz (Screamer, 20. Feb 2001, 01:15:42):
~#! rn=Humni rt=982627702 rg=treffen
~#! tid=982619744

>Humni (Dummheit frisst, Intelligenz saeuft)

Wenn das so ist..... Muss ich ein schlaues Kerlchen sein ;-)
Jetzt verstehe ich auch, warum man mir frueher nachgesagt hat,
dass ich ohne alk zuviele Bugs programmiere ;-)

Screamer (wie immer: laut kreischend)

-----------------------------------------------------------------------------



Re: Stati Schweiz (Morgoth, 20. Feb 2001, 01:29:25):
~#! rn=Zook rt=982619744 rg=treffen
~#! tid=982619744
Also ich habe den ersten Stammtisch in Zuruech heraufbeschworen. Is schon ne
Zeit her, aber war gelungen. Anfragen per tm mit 4h Reaktionszeit erwuenscht
;-)

M*

-----------------------------------------------------------------------------



Re^8: Stati Schweiz (Eniro, 20. Feb 2001, 07:17:06):
~#! rn=Anacrion rt=982627088 rg=treffen
~#! tid=982619744
NEIN ANAC* !!! Darmstadt ist schon Bayern .. und alles noerdlich von Muenster
ist Ostfriesland und oestlich von Kassel ist Westsibirien ... :-))

Sharia

-----------------------------------------------------------------------------



Re: Stati Schweiz (Gor, 20. Feb 2001, 08:45:01):
~#! rn=Zook rt=982619744 rg=treffen
~#! tid=982619744
Och, komm doch zu uns :) Da faehrste ne Stunde und schon haste nen Stati *g*

-----------------------------------------------------------------------------



Re^11: Stati Schweiz (Paracelsus, 20. Feb 2001, 10:21:02):
~#! rn=Humni rt=982627702 rg=treffen
~#! tid=982619744
> Humni (Dummheit frisst, Intelligenz saeuft)

Was sagt uns das? Hobbits sind dumm und Zwerge intelligent?

Para*.

-----------------------------------------------------------------------------



Re^7: Stati Schweiz (Apollonia, 20. Feb 2001, 11:07:02):
~#! rn=Humni rt=982627124 rg=treffen
~#! tid=982619744
Ist Dir die Bezeichnung Muschelschubser lieber?

Apo* (grinsend)

-----------------------------------------------------------------------------



FebruarStati in Dresden (Mesirii, 20. Feb 2001, 12:14:22):
Hallo Leute,

da der Konsens 
1. auf Dienstag und
2. auf Ende Februar liegt, 

habe ich den 27.02.2001, ca. 20:00 als Stammtisch Termin vorgesehen.

Ort ist wieder die preiswerte, gemuetliche und rauchfreie Couch im CD :)

Zeitmaessig hab ich Open-End organisiert, also sollte uns da keiner nerven,
und ausserdem ist die Bedienung auch freundlicher als bei dem 
Katastrophen-StaTi im Dezember.

Ich bin wie immer puenktlich :)


Mesi, verbummelt Stammtisch-Organisation immer

-----------------------------------------------------------------------------



Re: FebruarStati in Dresden (Hight, 20. Feb 2001, 13:28:46):
~#! rn=Mesirii rt=982667662 rg=treffen
~#! tid=982667662
*lach* ich schliesse daraus das franken net die einzige gegend is wo von
fasching (karneval) net viel gehalten wird

hight 

-----------------------------------------------------------------------------



Re: Re: FebruarStati in Dresden (Agony, 20. Feb 2001, 18:00:55):
~#! rn=Hight rt=982672126 rg=treffen
~#! tid=982667662
wer braucht fasching...ich lass mich dochnich von hoshis vollnoelen, warum
ich keine rote plastiknase trage, und die sich zumeist frueh um 6 lauthals
im flur darueber muckieren, dass der laden schon zumacht und nicht minder
lautstark verkuenden, wo man jetzt noch ueberall hingehen werde, und dass
die party ja sowieso grad erst anfaengt fuer sie...
nun ja, zusammengefasst also typen die einmal im jahr weggehen, zu
fasching halt, und die zwangsspass fuer andere haben und nich fuer sich
selbst...und mir damit ungemein auf den wecker gehen.

-----------------------------------------------------------------------------



Re^3: FebruarStati in Dresden (Arancia, 20. Feb 2001, 18:25:50):
~#! rn=Agony rt=982688455 rg=treffen
~#! tid=982667662
Hm, irgendwie wirkst Du reichlich unentspannt... 

-----------------------------------------------------------------------------



Re^9: Stati Schweiz (Wurzel, 20. Feb 2001, 18:25:58):
~#! rn=Eniro rt=982649826 rg=treffen
~#! tid=982619744
darmstadt ist definitiv nicht bayern. das merkt man schon daran, dass das bier
hier in zu kleinen glaesern ausgeschenkt wird, die weisswuerste nicht
schmecken
und man, wenn man einfach so ein bier bestellt, ein widerliches pils bekommt.
dafuer koennen die leute hier im gegensatz zu den bayern ordentlich sprechen,
und als ersatzstoff fuer das merkwuerdige bier gibt es ebbelwoi.
nein, bayern ist hier wirklich nicht. aber im gegensatz zum fischkopfland kann
man hier auch ganz ordentlich leben :)

wurzel

-----------------------------------------------------------------------------



Re^4: FebruarStati in Dresden (Agony, 20. Feb 2001, 18:37:17):
~#! rn=Arancia rt=982689950 rg=treffen
~#! tid=982667662
ja klar...ich schreib das ja nich umsonst, fasching hab ich sozusagen ne
selbstauferlegt zwangsausgangssperre wegen jahrelanger erfahrung mit
solchen nasen, und das nervt nun mal.
das soll und kann dich gar nicht daran hindern, dorthin zu gehen und spass
zu haben.

-----------------------------------------------------------------------------



Re^5: FebruarStati in Dresden (Mupfel, 20. Feb 2001, 19:03:56):
~#! rn=Agony rt=982690637 rg=treffen
~#! tid=982667662
In Dresden gibts Fasching??

-mupfel- (staunt nur noch)

-----------------------------------------------------------------------------



Re^4: FebruarStati in Dresden (Hight, 20. Feb 2001, 19:05:08):
~#! rn=Arancia rt=982689950 rg=treffen
~#! tid=982667662
abba recht het er / sie

hight kurz und knapp

-----------------------------------------------------------------------------



Re^10: Stati Schweiz (Rikus, 20. Feb 2001, 20:53:58):
~#! rn=Wurzel rt=982689958 rg=treffen
~#! tid=982619744
wobei Weisswuerste nirgends schmecken :)

Rikus

-----------------------------------------------------------------------------



Re^11: Stati Schweiz (Wurzel, 20. Feb 2001, 20:58:50):
~#! rn=Rikus rt=982698838 rg=treffen
~#! tid=982619744
ahnungsloser.
ich koennte dir in muenchen den einen oder anderen metzger zeigen, wo du es
anders lernen koenntest... das hat selbst mich ueberzeugt, obwohl ich wenn
es um essen geht eher skeptisch bin :)

wurzel

-----------------------------------------------------------------------------



Re^12: Stati Schweiz (Rikus, 20. Feb 2001, 20:59:56):
~#! rn=Wurzel rt=982699130 rg=treffen
~#! tid=982619744
Gute Frage, ich war mit Eingeborenen von dort essen, denen schmeckte es
scheinbar (oder sie taten nur so) :)

Rikus

-----------------------------------------------------------------------------



Re^13: Stati Schweiz (Wurzel, 20. Feb 2001, 21:01:35):
~#! rn=Rikus rt=982699196 rg=treffen
~#! tid=982619744
ein original muenchner fruehstueck hat schon was.
zwei weisswuerste mit suessem senf, eine brezn und ein weissbier, dann
faengt der tag gut an :)

wurzel

-----------------------------------------------------------------------------



Re^14: Stati Schweiz (Rikus, 20. Feb 2001, 21:07:17):
~#! rn=Wurzel rt=982699295 rg=treffen
~#! tid=982619744
jepp, dann kann der Tag ja nur noch besser werden :-)

Rikus

-----------------------------------------------------------------------------



Re^14: Stati Schweiz (Gloinson, 20. Feb 2001, 21:10:06):
~#! rn=Wurzel rt=982699295 rg=treffen
~#! tid=982619744
Suesser Senf. *schuettel* Von der Wurscht mag ich da gar nichts mehr hoeren.
Aber das Weissbier ist OK ;)

Gloin(son), waehlerisch

-----------------------------------------------------------------------------



Re^15: Stati Schweiz (Wurzel, 20. Feb 2001, 21:16:39):
~#! rn=Gloinson rt=982699806 rg=treffen
~#! tid=982619744
lauter ahnungslose hier :)
suesser senf _allein_ ist schlimm. weisswurst _allein_ ist schlimm.
erst die kombination macht es... aber ich glaube, es ist zeitverschwendung,
sowas den fischkoeppen klar machen zu wollen :)

wurzel

-----------------------------------------------------------------------------



Re^16: Stati Schweiz (Isi, 20. Feb 2001, 21:21:10):
~#! rn=Wurzel rt=982700199 rg=treffen
~#! tid=982619744
Also Weisswurst ja eh nur vorm Angeluslaeuten oder wie war das?
Und im Zeitalter von BSE *huestel*
aber den suessen Senf kann man auch auf Leberkaas draufmachen...
sagte ich was von BSE?

Wie war das jetzt mit nem Treffen bei den Mueslis? 
So weit weg ist Zuerich vom Bodensee nicht
Isi (weisswuerste sind keine Kompos)

-----------------------------------------------------------------------------



Re^17: Stati Schweiz (Wurzel, 20. Feb 2001, 21:25:40):
~#! rn=Isi rt=982700470 rg=treffen
~#! tid=982619744
bse? das problem ist doch laengst gegessen...
deswegen verzichte ich auf nichts.

aber zurueck zum urspruenglichen thread ist schon okay :)
wenn ihr einen regelmaessigen stammtisch zustandebringt, schau ich
bestimmt mal vorbei (wer das jetzt als drohung auffasst, hat recht :)

wurzel

-----------------------------------------------------------------------------



Re^18: Stati Schweiz (Fantaghiro, 20. Feb 2001, 21:26:14):
~#! rn=Wurzel rt=982700740 rg=treffen
~#! tid=982619744
wurzel, du sagst es!

Fanta* - die Alles(fr)esserin

-----------------------------------------------------------------------------



Re^19: Stati Schweiz (Isi, 20. Feb 2001, 21:29:07):
~#! rn=Fantaghiro rt=982700774 rg=treffen
~#! tid=982619744
okok
Rindfleisch ist heute Sicher sicherer als letztes Jahr,
oder klang das so als wuerd ich auf meine LKW verzichten?
(LeberKaasWecken)
Isi schmeisst jetzt doch (mit Suessem Senf)

-----------------------------------------------------------------------------



Re^20: Stati Schweiz (Zook, 20. Feb 2001, 21:30:29):
~#! rn=Isi rt=982700947 rg=treffen
~#! tid=982619744
Also was is nu mit meinem Schweiz Stati? Macht mal Termin o.ae.
solange ich hier bin ;)

Zook. 

-----------------------------------------------------------------------------



Re^17: Stati Schweiz (Karis, 20. Feb 2001, 22:24:13):
~#! rn=Isi rt=982700470 rg=treffen
~#! tid=982619744
SUESSER SENF ZU WEISSWUERSTEN????
Seid ihr alle komplett verrueckt??
Da gehoert Hausmachersenf drauf. Oder nur eine Prise Salz (bei ausgesprochen
guten Weisswuersten vom Privat-Metzger).
Und ein Weissbier dazu, das is richtig Wurzel.
Aber man merkt, zum Eingeborenen fehlt noch was. Das Weissbier
danach.

Karis, Eingeborener.

-----------------------------------------------------------------------------



Re^14: Stati Schweiz (Cassandra, 20. Feb 2001, 22:26:50):
~#! rn=Wurzel rt=982699295 rg=treffen
~#! tid=982619744
bist du sicher das man das essen kann ?
Mir scheint das eher dazu geeignet davor zu verhungern.

Cassandra, Fischkopp und stolz darauf

-----------------------------------------------------------------------------



Re^18: Stati Schweiz (Wurzel, 20. Feb 2001, 22:30:03):
~#! rn=Karis rt=982704253 rg=treffen
~#! tid=982619744
kurze diskussion: reines begriffsproblem.
der richtige senf ist eh der haendlmaier, und der ist ein "hausmacher",
aber ziemlich suess... also doch :)

wurzel, immernoch hesse :)

-----------------------------------------------------------------------------



Re^6: Stati Schweiz (Imda, 20. Feb 2001, 22:49:42):
~#! rn=Dieder rt=982627060 rg=treffen
~#! tid=982619744
ajo, des mag scho soi, abbr die vrzg killomaeder haenns in sich. musch scho
ganz gwaldig uffn berg nuff. freiburg isch pladd wie bei da muschelschubsr,
humni wird sich da wohl fuehla. Ond I will jo id wissa, wieveil schnees grod
bei eich hed, obbr I han mi grad heid widdr ind sonn glaegd. freiburg isch
hald doch a warms loch...

Gruss

Imda. au ned aus Freiburg.

-----------------------------------------------------------------------------



Re^7: Stati Schweiz (Gnome, 20. Feb 2001, 22:52:16):
~#! rn=Imda rt=982705782 rg=treffen
~#! tid=982619744
lass dir doch erstmal deinen sprachfluch von nem kleriker entfernen
und dann poste es doch bitte nochmal...

gnOme

-----------------------------------------------------------------------------



Re^8: Stati Schweiz (Nevok, 20. Feb 2001, 22:53:04):
~#! rn=Gnome rt=982705936 rg=treffen
~#! tid=982619744
Und das von Jemanden mit ner Null im Namen *grins*


Nevok

-----------------------------------------------------------------------------



Re^9: Stati Schweiz (Gnome, 20. Feb 2001, 22:54:28):
~#! rn=Nevok rt=982705984 rg=treffen
~#! tid=982619744
das mit den dativ ueben wir aber noch, gell?

gnOme

-----------------------------------------------------------------------------



Re^10: Stati Schweiz (Nevok, 20. Feb 2001, 22:55:30):
~#! rn=Gnome rt=982706068 rg=treffen
~#! tid=982619744
Klaro, Caro

oder meint er das mit dem dativ? Fragen ueber Fragen

Nevok

-----------------------------------------------------------------------------



Re^10: Stati Schweiz (Karis, 20. Feb 2001, 22:55:34):
~#! rn=Gnome rt=982706068 rg=treffen
~#! tid=982619744
JAAAA! Rettet dem Dativ!!
Mudlib-Generaelchen Karis.

-----------------------------------------------------------------------------



Re^8: Stati Schweiz (Imda, 20. Feb 2001, 23:23:53):
~#! rn=Gnome rt=982705936 rg=treffen
~#! tid=982619744
Jetz horchsch amol zu du schoofseggel, I sogs dr im guada. Nedamol gscheid
schwaetza kenna, ond dann von sproochfluch anfonga. Komm du bloos zu ons da
nonder, dann schlag I dr and fies no, desda uff da stotza noch suedschwedo
hoimlaufa koosch. Haemmr ons verstanda ?

Imda. ohne Sprachfluch.

-----------------------------------------------------------------------------



Re^9: Stati Schweiz (Karis, 20. Feb 2001, 23:25:59):
~#! rn=Imda rt=982707833 rg=treffen
~#! tid=982619744
Hoffentlich brauchste net mit jedem Artikel so lange zum Uebersetzen :)
Mudlib-Generaelchen Karis.

-----------------------------------------------------------------------------



Re^10: Stati Schweiz (Imda, 20. Feb 2001, 23:31:24):
~#! rn=Karis rt=982707959 rg=treffen
~#! tid=982619744
du has vergessen, dassich ned bloss schwabe, sondern auch idler bin.

imda. hochdeutsch.

-----------------------------------------------------------------------------



Re^11: Stati Schweiz (Anatol, 20. Feb 2001, 23:57:00):
~#! rn=Imda rt=982708284 rg=treffen
~#! tid=982619744
An guada Schwob isch scho indr Grundschuhl zwoischbrachig uffgwachsa. 
Schwaebisch ond Hochdeitsch dudo schbrecha kenna missa.

Ana :)


-----------------------------------------------------------------------------



Re^12: Stati Schweiz (Karis, 20. Feb 2001, 23:58:38):
~#! rn=Anatol rt=982709820 rg=treffen
~#! tid=982619744
Das is dann wohl anders als bei uns Bayern. Wir haben .. aeh.. ja,
die bayerische grammatik und dann wohl noch die spanische...
wobei ich nich mehr alle Doerfer auswendig weiss.

Mudlib-Generaelchen Karis.

-----------------------------------------------------------------------------



Re^13: Stati Schweiz (Anatol, 20. Feb 2001, 23:59:52):
~#! rn=Karis rt=982709918 rg=treffen
~#! tid=982619744
Naja. Entschuldige. Bayern koennen mit Hochdeutsch genausowenig anfangen
wie mit Suaheli -- die Sprache wird im eigenen Land nicht gesprochen.

Hakuna matata ;)

Anatol

-----------------------------------------------------------------------------



Re^14: Stati Schweiz (Karis, 21. Feb 2001, 00:01:22):
~#! rn=Anatol rt=982709992 rg=treffen
~#! tid=982619744
Wie war das im Mittelteil?
Ausserdem versteh ich das mit dem 'Sprache im eigenen Land' ja ueberhaupt net.
Bayern ist ein eingestaendiges Land mit einer eigenen Sprache.

Jawollja.

Mudlib-Generaelchen Karis.

-----------------------------------------------------------------------------



Re^16: Stati Schweiz (Gloinson, 21. Feb 2001, 00:31:41):
~#! rn=Wurzel rt=982700199 rg=treffen
~#! tid=982619744
Ihgitt! Senf muss scharf sein, so scharf, dass einem die Augen traenen. Zu
jeder Wurscht. Am besten tschechischer Senf. Das einzige was suess sein darf
ist die Sosse ueber den Knoedeln. Und die Marinade von Heringen darf suess
sein. Egal. Zurueck zu den Schweizern - ich eier da ja jedes Jahr in der Naehe
herum, aber selbst die Oulmer haben es noch nie Sommers geschafft einen StaTi
hinzustellen. Muss daran liegen, dass sie niemandem die Goldochsenpisse antuen
wollen ;) Aeh. also falls ihr im August/September soweit seitd ... schreibts
bitte nochmal her ;)

Gloin(son)

-----------------------------------------------------------------------------



So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Zook, 21. Feb 2001, 13:01:11):
So, nachdem einige Sondierungsgespraeche gelaufen sind, hier ein 
Vorschlag:

MorgenGrauen-Stati am 9. oder 10. Maerz in Konstanz oder in der naeheren
Umgebung. Wer hat Lust zu kommen und/oder weitere Vorschlaege?

Die genaue Lokalitaet muss noch ausgewaehlt werden; Ortskundige
duerfen dazu gerne Vorschlaege machen, ich kenn mich in dem
Nest nicht so gut aus. :)

Zook.

-----------------------------------------------------------------------------



Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Isi, 21. Feb 2001, 13:02:49):
~#! rn=Zook rt=982756871 rg=treffen
~#! tid=982756871
Nest? KN hat ~70k Einwohner ;)
und ich kenn mich auch nicht aus, ich hab Bio studiert.
Isi (weissbierwerfend)

-----------------------------------------------------------------------------



Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Isi, 21. Feb 2001, 13:23:04):
~#! rn=Zook rt=982756871 rg=treffen
~#! tid=982756871
Vorschlag: wir machen einen kombinierten MG/UNItopia/sonstwas Stammtisch
draus, dann kommen aus KN noch paar Leute dazu.
(die kennen sich dann auch mit den Kneipen aus ;) )
Irgendwelche fundierten Einwaende? *drohend mit Nudelholz umguck*
Isi (brezelwerfend)

-----------------------------------------------------------------------------



Re: Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Humni, 21. Feb 2001, 13:50:28):
~#! rn=Isi rt=982758184 rg=treffen
~#! tid=982756871
Einwaende keine. Mir waere nur der 9. lieber als der 10.

CU Humni

-----------------------------------------------------------------------------



Re^3: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Gor, 21. Feb 2001, 14:02:41):
~#! rn=Humni rt=982759828 rg=treffen
~#! tid=982756871
Ich kann leider nur am 09.03. Aber haette mal wieder Bock aufn gscheiden
Stati.


Gor & Del sind dabei.

-----------------------------------------------------------------------------



Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Hight, 21. Feb 2001, 14:33:34):
~#! rn=Zook rt=982756871 rg=treffen
~#! tid=982756871
jo is recht wenn ihr irgendwo 4m^2 austreibt auf denen ich meine morschen
knochen dann ablegen kann .o)

hight

-----------------------------------------------------------------------------



MS-Stati 22.2.01 (Gorog, 21. Feb 2001, 14:49:11):
Moins
Is zwar etwas kurzfristig, aber irgendwie kommt es mir nicht unbedingt klug
vor an Weiberfastnacht abends raus zu gehn und zu glauben man bekaeme noch n
Tisch und n paar Stuehle... Vielleicht sollten wir das ausfallen lassen. Oder
die Modalitaet aendern. 
Gorog offen fuer Vorschlaege

-----------------------------------------------------------------------------



Re: MS-Stati 22.2.01 (Fantaghiro, 21. Feb 2001, 14:58:16):
~#! rn=Gorog rt=982763351 rg=treffen
~#! tid=982763351
kein plan... 

Fanta* - wie immer kein plan habend. 

-----------------------------------------------------------------------------



Re: Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Gor, 21. Feb 2001, 15:08:35):
~#! rn=Hight rt=982762414 rg=treffen
~#! tid=982756871
Fuer was brauchst du gleich 4? :) 2 sollten vollkommen genuegen oder kommste
etwa in Begleitung? ;)

-----------------------------------------------------------------------------



Re^3: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Hight, 21. Feb 2001, 15:53:14):
~#! rn=Gor rt=982764515 rg=treffen
~#! tid=982756871
spinnst du ? 

ich bin ja alein in die laenge schon 2 meter und mindestens einen in der
breite (mal geschaetzt) + bewegugnsfreieit = 4 m^2 ,o)

hight

-----------------------------------------------------------------------------



Re^3: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Karis, 21. Feb 2001, 15:54:58):
~#! rn=Gor rt=982764515 rg=treffen
~#! tid=982756871
jo, gebt ihm gleich 6qm, die braucht er dann, wenn er breit ist :)
Karis

-----------------------------------------------------------------------------



Re^4: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Solmyr, 21. Feb 2001, 16:05:09):
~#! rn=Karis rt=982767298 rg=treffen
~#! tid=982756871
Du vergisst, er brauch nur fuer ca. eine halbe Stunde 6 qm, denn am Anfang
dieser halben Stunde ist er dicht, dann gebt Ihr ihm noch mehr zu trinken
und am Ende der halben Stunde, koennt Ihr ihn dann in eine Ecke oder aufs
Oertchen (Klo hab ich ein Ali drauf *G*) verfrachten. Dann braucht er wieder
2qm. Ach ja, und mehr als 2qm wird's an Weiberfastnacht eh nicht geben, aber
Bier, das laeuft in Stroemen.

Solmyr, BB ;)
,

-----------------------------------------------------------------------------



Stammtisch HAMBURG (Troy, 21. Feb 2001, 18:00:40):
Argh! Bei all den Alpenlaendern muss man ja auch was tun. Also: Es besteht
eventuell die Moeglichkeit, am Freitag, dem 2. Maerz in

H     H    A    M     M BBBBB   U     U RRRRR    GGGGG
H     H   A A   MM   MM B    B  U     U R    R  G     G
H     H  A   A  M M M M B    B  U     U R     R G
H     H A     A M  M  M BBBBB   U     U R     R G
HHHHHHH AAAAAAA M  M  M B    B  U     U R    R  G  GGGG
H     H A     A M     M B     B U     U RRRRR   G     G
H     H A     A M     M B     B U     U R    R  G     G
H     H A     A M     M B    B   U   U  R     R G     G
H     H A     A M     M BBBBB     UUU   R     R  GGGGG

einen Stammtisch zu veranstalten. (Schuldigung fuer die Lautstaerke, aber das
musste mal gesagt werden).

Ort ist noch diskutabel (Vorschlaege bitte an Gnome), Zeit 20:00 Uhr.

Troy

-----------------------------------------------------------------------------



Re: MS-Stati 22.2.01 (Foobar, 21. Feb 2001, 21:39:32):
~#! rn=Gorog rt=982763351 rg=treffen
~#! tid=982763351
Hab leider eh keine Zeit, aber nicht wegen Altweiber...

Foobar

-----------------------------------------------------------------------------



Berliner Stati (Golas, 21. Feb 2001, 22:11:45):
mittlerweile ist es ja fast schon tradition geworden, den stati zu einer
wohnungseinweihung umzubasteln
und nun ist cakey dran :)

freitag, 2.3.2001
ab 2000uhr
im helgiweg 40, berlin weissensee

anmeldung per mail dringend erforderlich!

also mail an cakey und dann gibt es noch eine genauere wegbeschreibung fuer
auto und oepnv

golas, der ausrufer

-----------------------------------------------------------------------------



Re: Stammtisch HAMBURG (Mupfel, 21. Feb 2001, 22:27:43):
~#! rn=Troy rt=982774840 rg=treffen
~#! tid=982774840
any uebernachtungsmoeglichkeiten dabei? dann waer'ch eventuell debye...

-mupfel-

-----------------------------------------------------------------------------



Re: Berliner Stati (Solmyr, 21. Feb 2001, 22:53:03):
~#! rn=Golas rt=982789905 rg=treffen
~#! tid=982789905
Ich bin dabei, die Einweihungsfete darauf, findet dann bei mir statt :) Das
hab ich hier auch noch nicht hinter mich gebracht. Und das ist ein Grund, 
endlich mal das Klo zu polier'n :)))))))

Solmyr

-----------------------------------------------------------------------------



Re^21: Stati Schweiz (Tsunami, 22. Feb 2001, 02:04:02):
~#! rn=Zook rt=982701029 rg=treffen
~#! tid=982619744
Hmm, bin uebernaechste Woche in der Schweiz. Fasnacht. Leider keine Zeit
fuer Stati.

Wieso organisiert ihr gemeinen Schufte jetzt einen Stati in der Schweiz wo
ich jetzt doch ganz, ganz weit weg bin. 

Tsunami, einen finsteren Verschwoerungsplan sehend.

-----------------------------------------------------------------------------



---*** *S*T*A*T*I* ***---*** *B*S* ***--- (Qitess, 22. Feb 2001, 09:21:32):
Hallo.
Stati in Braunschweig.

As usual.

genuer:

AM 09.03.2001 FINDET ER WIEDER STATT, DER SAGENUMWOBENE BRAUNSCHWEIGER
*S*T*A*T*I* UND ZWAR WIE IMMER IM VIERTEL NACH IM BUELTENWEG IN BRAUNSCHWEIG
INTERESSENTEN FINDEN SICH DORT UM 20:00 UHR EIN UND ES WAERE NETT, WENN SICH
DIE BRAUNSCHWEIGER MUDDER VORHER VIELLEICHT KURZ BEI MIR MELDEN WUERDEN UND AM
02.03. GIBT ES EVENTUELL EINE DELEGATION NACH HAMBURG ZU DEM DORTIGEN
STAMMTISCH UND ANSONSTEN GIBT ES VIELLEICHT AUCH NOCH EINE MAIL.

QI** TRAMPELT AUF IHRER CAPS-LOCK-TASTE HERUM.

P.S.: Freitag
09.03.2001
20:00 Uhr
im Viertel Nach (Bueltenweg)
Braunschweig

-----------------------------------------------------------------------------



Stammtisch Konstanz/Schweiz/Sueddeutschland (Isi, 22. Feb 2001, 12:59:39):
Hallo zusammen,
ich versuche mal in Zusammenarbeit mit dem UNItopia-Mud einem
Stammtisch die Beine abzusaegen.

Termin: 9.3.2001
Ort: Konstanz, vermutlich 'Old merrys Pub'
Zeit: noch offen

Wer kommen moechte, bitte Mail an mich, zwecks Reservierung.

Isi (mit Organisation um sich werfend)

-----------------------------------------------------------------------------



Nachtrag StaTi KN (Isi, 22. Feb 2001, 14:02:18):
Ich hab vergessen zu schreiben:
Wegbeschreibungen gibts, wenn ich weiss wo wir hingehen.
Bitte angeben von welcher Richtung ihr kommt (Auto/Bahn)
Nicht, dass ich die Schweizer aufs falsche Rheinufer lotse ;)
Isi 

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Troy, 22. Feb 2001, 14:54:26):
~#! rn=Mupfel rt=982790863 rg=treffen
~#! tid=982774840
Ich koennte Dir ein Sofa anbieten.

Troy

-----------------------------------------------------------------------------



Re: Stammtisch Konstanz/Schweiz/Sueddeutschland (Aline, 22. Feb 2001, 19:06:06):
~#! rn=Isi rt=982843179 rg=treffen
~#! tid=982843179
Hi Leuts hier im Sueden,

ihr schafft es wirklich mit Eurer Stammtischdiskussion 
(Stammtisch in der Schweiz) die legendaeren Diskussionen der
Dortmunder in Laenge und Aussagekraft zu ueberbieten.
Respekt!

Also schau ich mir das mal RL an. ;)

Aline (+1)

*grins*


-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 22. Feb 2001, 19:22:48):
Wie immer, nur heut ein bissl spaet erwaehnt. :)
Heute, 20 Uhr im Kleinen Meierhof Stati in Karlsruhe.
Mir sind keine "special guests" bekannt, aber das heisst gar nix. :)

-----------------------------------------------------------------------------



Re: Stati Karlsruhe (Montanus, 22. Feb 2001, 19:23:45):
~#! rn=Bambi rt=982866168 rg=treffen
~#! tid=982866168
Ich komm nicht, ich schaff es zeitlich nicht ganz :)
Aber dafuer ist morgen Stammtisch in Seattle. Wer hat Lust?

-----------------------------------------------------------------------------



Re: Re: Stati Karlsruhe (Jameson, 22. Feb 2001, 19:24:43):
~#! rn=Montanus rt=982866225 rg=treffen
~#! tid=982866168
ich! schick mir schon mal ein Flugzeug.

jAmeson, wollte immer schon mal von der Space Needle gepiekst werden

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Rikus, 23. Feb 2001, 09:02:26):
~#! rn=Mupfel rt=982790863 rg=treffen
~#! tid=982774840
Gestern haette ich Dir eine in HH-Harburg bieten koennen, da hatte ich nen
Hotelzimmer :)

Rikus

-----------------------------------------------------------------------------



Re: So, mal wieder was sinniges: Stati Sueddeutschland/Schweiz, CfD (Hobo, 23. Feb 2001, 16:00:46):
~#! rn=Zook rt=982756871 rg=treffen
~#! tid=982756871
Konstanz?
Konstanz ist toll!
Falls irgend moeglich, werden Boing und ich auch erscheinen!

   Hobo - will mal wieder in die Heimat

-----------------------------------------------------------------------------



voranfrage: stati in darmstadt (Wurzel, 23. Feb 2001, 19:13:36):
es gibt einige anzeichen dafuer, dass sich mal wieder ein stammtisch in
darmstadt ergeben koennte... extra vorsichtig formuliert :)
vorschlag waere freitag, 16. maerz, wie immer im hotzenplotz.
ueber special guests ist bisher nur wenig bekannt, falls man nicht
"neue gesichter" als solche bezeichnen will :)
falls interesse besteht, lasst es mich wissen. dann nehm ich ark den
muehseligen reservierungsanruf ab :) wegbeschreibung gibt es in
gewohnt kreativer art natuerlich nur bei ark.

wurzel

-----------------------------------------------------------------------------



Re: Stammtisch HAMBURG (Perdita, 23. Feb 2001, 20:02:43):
~#! rn=Troy rt=982774840 rg=treffen
~#! tid=982774840
Hallo Ihr,
endlich mal wieder ein Stati in HH, und dann sogar am Freitag! Toll!
Aber muss es unbedingt der 2.3. sein? Da kann ich leider nicht! (Der einzige
Freitag weit und breit, an dem ich nicht kann!)Schnief!
Perdita

-----------------------------------------------------------------------------



Re: Stammtisch HAMBURG (Elendil, 23. Feb 2001, 20:07:36):
~#! rn=Troy rt=982774840 rg=treffen
~#! tid=982774840
Hi zusammen :)

Da ich ja ab 01.03 in Hamburg arbeite und freue ich mich darauf mal ein paar
Fischkoepfe kennenzulernen ;)

CU, Elendil

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Vanion, 23. Feb 2001, 20:10:20):
~#! rn=Perdita rt=982954963 rg=treffen
~#! tid=982774840
Hmmpf, 
da bin ich schon am 2.03. in HH und kann doch nich kommen. Ich schreib leider
ne Klausur am 03. Und da will ich am Abend vorher nich gern versumpfen. Aber
beim naechsten mal bestimmt.

V* freut sich dan halt auf den zweiten StaTi *g*

-----------------------------------------------------------------------------



Re: Re: Berliner Stati (Gloinson, 24. Feb 2001, 18:53:29):
~#! rn=Solmyr rt=982792383 rg=treffen
~#! tid=982789905
Wenn wir etwas Glueck haben findet also der Mai-StaTi bei Martini und mir
statt :) Daumen druecken ;)

Gloin(son) pachtet schon mal vor [Entscheidung: 16.3.]

-----------------------------------------------------------------------------



Re^3: Berliner Stati (Solmyr, 24. Feb 2001, 23:38:04):
~#! rn=Gloinson rt=983037209 rg=treffen
~#! tid=982789905
D.h. Maerz bei Cakey, April bei mir und im Mai bei Euch (vielleicht). Klingt
gut :)

Solmyr

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Krellja, 26. Feb 2001, 10:28:21):
~#! rn=Elendil rt=982955256 rg=treffen
~#! tid=982774840
Tach auch,

mir gehts leider aehnlich wie Perdita, jerder Freitag waer ok, nur nicht 
der 2.3. An anderen Freitagen haette ich dann sogar ne Schlafgelegenheit
zu bieten.

Tschuess
           Krellja
-----------------------------------------------------------------------------



Re^3: Stammtisch HAMBURG (Troy, 26. Feb 2001, 10:56:34):
~#! rn=Krellja rt=983179701 rg=treffen
~#! tid=982774840
Hallo zusammen,

das sieht ja dann etwas mager aus am 2.3. Wie waers denn stattdessen mit
dem 9. Maerz (ist auch Freitag)?

Troy

-----------------------------------------------------------------------------



Re^4: Stammtisch HAMBURG (Krellja, 26. Feb 2001, 11:47:33):
~#! rn=Troy rt=983181394 rg=treffen
~#! tid=982774840
Tach nochmal,

9.3. ist gut.

Wie ist so die Meinung, sich wieder im Geo 53 zu treffen? Das war das Ding am
Schlump, beim Geomatikum.

Krellja

-----------------------------------------------------------------------------



Re^4: Stammtisch HAMBURG (Mupfel, 26. Feb 2001, 13:06:48):
~#! rn=Troy rt=983181394 rg=treffen
~#! tid=982774840
Auch gut

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stammtisch HAMBURG (Elendil, 26. Feb 2001, 18:17:56):
~#! rn=Troy rt=983181394 rg=treffen
~#! tid=982774840
Hi zusammen,

also wenn das eventuell doch am 2.3 ging, spricht ja nicht dagegen
sich am 9.3 nochmal zu treffen aber am 2.3 bin ich das erste WE
in Hamburg und etwas Einweisung waere toll :) Unasai wird an dem WE
wohl auch da sein :) Vielleicht funktionierts ja so ;) ?

CU, Elendil

-----------------------------------------------------------------------------



Re^5: Stammtisch HAMBURG (Mupfel, 26. Feb 2001, 18:25:57):
~#! rn=Elendil rt=983207876 rg=treffen
~#! tid=982774840
Unasai als Aufmacher und Lockmittel? ;)

-mupfel- (winkt ab ;)

-----------------------------------------------------------------------------



Re^6: Stammtisch HAMBURG (Willow, 26. Feb 2001, 20:40:18):
~#! rn=Mupfel rt=983208357 rg=treffen
~#! tid=982774840
also von meiner warte waer der 9.3. auch gut - da muss ich dann wohl mal gen
hamburg fahren...
Weidchen Willow

-----------------------------------------------------------------------------



Re^4: Stammtisch HAMBURG (Wolke, 26. Feb 2001, 21:20:33):
~#! rn=Troy rt=983181394 rg=treffen
~#! tid=982774840

Also ich haette am 2.3. auch Zeit / Lust - wenn ihr euch auf Altona einigen
koenntet ? ;)
muss ja kein erklaerter Stammtisch werden ...

Wolke

-----------------------------------------------------------------------------



Re^5: Stammtisch HAMBURG (Gnome, 26. Feb 2001, 23:52:30):
~#! rn=Wolke rt=983218833 rg=treffen
~#! tid=982774840
hi nordlichter!

also, stati am 2.3.01 um 20.00h im "feuerstein" in der feldstr.
fragt mich nicht, wo das ist. weg-anfragen bitte an troy :)

gnOme dirigiert

-----------------------------------------------------------------------------



MS StaTi 1.3.01 (Foobar, 27. Feb 2001, 00:00:32):
Liebe Gemeinde,

da wir nicht mehr genau wissen wo wir uns das naechste treffen wollte haben
wir beschlossen das am Donnerstag mal wieder das John-Doe's-Diner dran ist,
wie immer so gegen 20.00 Uhr.

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 1.3.01 (Mupfel, 27. Feb 2001, 00:01:22):
~#! rn=Foobar rt=983228432 rg=treffen
~#! tid=983228432
Du meinst 20:07, oder? ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: MS StaTi 1.3.01 (Fantaghiro, 27. Feb 2001, 00:01:42):
~#! rn=Mupfel rt=983228482 rg=treffen
~#! tid=983228432
Fanta* erscheint sowieso nicht. 

-----------------------------------------------------------------------------



Re^3: MS StaTi 1.3.01 (Mupfel, 27. Feb 2001, 00:03:42):
~#! rn=Fantaghiro rt=983228502 rg=treffen
~#! tid=983228432
Die Erscheinung der Hl. Fanta faellt aus? och ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: MS StaTi 1.3.01 (Menace, 27. Feb 2001, 00:04:12):
~#! rn=Fantaghiro rt=983228502 rg=treffen
~#! tid=983228432
Menace wird kommen, wenn auch 'was spaeter, da er sich noch etwas "Schmiere"
ansehen wird.
+=1

-----------------------------------------------------------------------------



Re^6: Stammtisch HAMBURG (Krellja, 27. Feb 2001, 09:44:17):
~#! rn=Gnome rt=983227950 rg=treffen
~#! tid=982774840
Moin,

auch wenn ich am 2.3. nicht kann, zum Finden des Feuerstein schaut doch 
mal auf

http://www2.stadtplandienst.de/query;ORT=hh;LL=9.966040x53.558386;GR=2

Bevor irgendwer das Feuerstein in Altona erwischt ...

Tschuess
           Krellja

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 27. Feb 2001, 18:56:54):
***** Stammtisch Bonn am Dienstag, den 6. Maerz 2001 *****
wie gehabt im MEXX, Sternenburgstrasse 18, Bonn-Poppelsdorf, 
                       ab 20 Uhr

Habe keine Zeit fuer das uebliche Stammtischbrimborium, ich bestelle mal nen
Tisch und wer da is is da. *g*

LZ, beschaeftigt

-----------------------------------------------------------------------------



Stammtisch Konstanz 9.3.2001 (Isi, 27. Feb 2001, 19:12:34):
Hallo Zusammen,
nachdem grad das Lokal eingewilligt hat ein Horde Mudder auszuhalten -
aeh nein, nachdem ich grad den Tisch reserviert hab :)

Termin: 9.3.2001
Ort: Old Mary's Pub, Konstanz, Kreuzlingerstr. 12 Naehe Hauptzoll
Zeit: 19:00
reserviert ist das 'hinterzimmer' auf 'Tralau'
Wegbeschreibungen auf Anfrage bei mir
Auf rege Beteilugung hoffend
Isi (bierdeckelwerfend)

-----------------------------------------------------------------------------



Re^7: Stammtisch HAMBURG (Troy, 27. Feb 2001, 19:21:23):
~#! rn=Krellja rt=983263457 rg=treffen
~#! tid=982774840
Hallo,

Also wenn man gewisse Wettereinfluesse hier beruecksichten will, koennte doch
auch das Feuerstein in Altona passen... Naja. zumindest der 2.3. steht wohl
fest.

Das waere jedenfalls unter
http://www2.stadtplandienst.de/query;ORT=hh;PLZ=22765;STR=Lobuschstr%2E;HNR=24
;GR=5

zu finden. (Oder einfach die Wegbeschreibung von
http://www.feuerstein-hamburg.de/start.htm lesen)

Troy

-----------------------------------------------------------------------------



Re^8: Stammtisch HAMBURG (Troy, 27. Feb 2001, 19:23:06):
~#! rn=Troy rt=983298083 rg=treffen
~#! tid=982774840
Argl. Es hoert ich zweideutig an. Meine Wegbeschreibung war das Feuerstein in
ALTONA. Wir treffen uns aber im Feuerstein FELDSTRASSE (siehe Artikel von
Krellja).

Troy

-----------------------------------------------------------------------------



Re^9: Stammtisch HAMBURG (Troy, 27. Feb 2001, 19:26:30):
~#! rn=Troy rt=983298186 rg=treffen
~#! tid=982774840
So. Und nun nochmal fuer diejenigen, die neu nach Hamburg kommen und mit einem
Kartenausschnitt von Stadtplandienst.de nix anfangen koennen:

Ihr bewegt Euch zu einer U- oder S-Bahn-Haltestelle und versucht dann mit
geeignetem Umsteigen die U3 zu erreichen. Diese nehmt Ihr dann in geeigneter
Richtung bis zum Bahnhof Feldstrasse.

Aus dem Bahnhof raus und links die Strasse entlang um die naechste Kurve
(= Kreuzung) links rum und da isses dann auch.

Troy

-----------------------------------------------------------------------------



Re^4: Stammtisch HAMBURG (Perdita, 27. Feb 2001, 20:38:18):
~#! rn=Troy rt=983181394 rg=treffen
~#! tid=982774840
Also, der 9. Maerz wuerde mir auch gut passen! Den halt ich mir frei! Und viel
Spass euch dann jetzt Freitag!
Perdita
*endlichmalzueinemStammtischkommenwollend*

-----------------------------------------------------------------------------



Re^10: Stammtisch HAMBURG (Troy, 28. Feb 2001, 18:28:44):
~#! rn=Troy rt=983298390 rg=treffen
~#! tid=982774840
Fuer alle, die am 2. Maerz zum Stammtisch ins Feuerstein (Neuer Pferdemarkt
34)
kommen: Der Tisch (ersma fuer 8 Personen) ist reserviert ab 20:00 unter dem
Namen Doerntge (die wollten keine generischen Namen wie z. B. MorgenGrauen
akzeptieren - tststs).

Troy - will natuerlich auch dabei sein.

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi,  1. Mar 2001, 19:34:18):
Wer haette es gedacht: Heute abend um 20 Uhr ist in Karlsruhe im "Kleinen
Meierhof" Stati.

-----------------------------------------------------------------------------



Re: Berliner Stati (Screamer,  2. Mar 2001, 15:25:14):
~#! rn=Golas rt=982789905 rg=treffen
~#! tid=982789905
Hi,

im helgiweg 40, berlin weissensee, steht da cakey auch an der Klingel ?
;-)

Screamer (Strassenkarten waelzend)

-----------------------------------------------------------------------------



Re: Stammtisch Konstanz 9.3.2001 (Isi,  2. Mar 2001, 19:36:22):
~#! rn=Isi rt=983297554 rg=treffen
~#! tid=983297554
/jammer
Hab ich irgendwo vorher was davon geschrieben, dass ich erst das Ganze
organisiere und dann doch nicht kann?
Treffer versenkt.
/jammer

Jedenfalls ist mir was dazwischen gekommen und ich kann am Freitag, 9.3. nicht
somit gibts jetzt 3 moeglichkeiten
a) Der Termin bleibt so, und ihr muesst auf die Organisatorin verzichten
b) wir verlegen zB auf den 16.3.
c) wir machen an beiden Terminen was

Auessert euch mal, damit ich noetigenfalls den Tisch umbestellen kann
Isi (keinemoussewerfend)

-----------------------------------------------------------------------------



Re: Re: Stammtisch Konstanz 9.3.2001 (Zook,  2. Mar 2001, 19:37:24):
~#! rn=Isi rt=983558182 rg=treffen
~#! tid=983297554
c)

Zook. ;)

-----------------------------------------------------------------------------



Stati am 8.3. in Muenster (Menace,  2. Mar 2001, 19:43:39):
So, diesmal mach ich die Ankundigung:
Am naechsten Donnerstag findet der muensteraner Stati, wie immer so
gegen ca. 20.07 Uhr statt. Ort ist das Fegefeuer; Tisch ist schon 
reserviert. Und wehe es kommen mehr als vorgesehen, dann aergert sich die 
Bedienung wieder. Also kommt zahlreich!!! ;o)
Drachno und Ariana haben mir versichert, dass sie auch kommen werden.

Menace (1+=2)

-----------------------------------------------------------------------------



Re: Stati am 8.3. in Muenster (Foobar,  2. Mar 2001, 21:17:18):
~#! rn=Menace rt=983558619 rg=treffen
~#! tid=983558619
+1 Zwerg, also halber Sitzplatz, doppelte Allolol-Menge.

Foobar

-----------------------------------------------------------------------------



Re^3: Stammtisch Konstanz 9.3.2001 (Hight,  2. Mar 2001, 23:33:20):
~#! rn=Zook rt=983558244 rg=treffen
~#! tid=983297554
egal .o)

Hight

-----------------------------------------------------------------------------



Re: Re: Stati am 8.3. in Muenster (Obi,  4. Mar 2001, 17:23:09):
~#! rn=Foobar rt=983564238 rg=treffen
~#! tid=983558619
Also das nur nen halben Sitzplatz beanspruchen wage ich mal zu bezweifeln, bei
den dicken Hintern. Also das Argument wuerde ich hoechstens bei Elfen
durchgehen lassen :)

OBI wird auch dasein und goennt sich sogar nen ganzen Platz

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  4. Mar 2001, 23:08:11):


Bei uns ist es auch wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 9.3. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: Re: Stammtisch Konstanz 9.3.2001 (Hobo,  5. Mar 2001, 09:49:20):
~#! rn=Isi rt=983558182 rg=treffen
~#! tid=983297554
Also a) mal mindestens! 
Wenn ich schon mal wieder heim fahre und sich Mudder-Gesocks in der Gegend
rumtreibt, moechte ich die abends lieber unter Kontrolle haben, bevor die
halbe Altstadt verwuestet wird :)
Wenn ich schon mal wieder heim fahre und sich Mudder-Gesocks in der Gegend
rumtreibt, moechte ich die abends lieber unter Kontrolle haben, bevor die
halbe Altstadt verwuestet wird :)
Hobo


-----------------------------------------------------------------------------



Re^3: Stammtisch Konstanz 9.3.2001 (Hobo,  5. Mar 2001, 09:50:24):
~#! rn=Hobo rt=983782160 rg=treffen
~#! tid=983297554
Hmppff, irgendwie hat das Flash-Applet Schluckauf bei langen Saetzen!
Ich schreibe alles nur einmal!
    Hobo


-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara,  5. Mar 2001, 14:13:40):
~#! rn=Liara rt=983296614 rg=treffen
~#! tid=983296614
Morgen ist Stammtisch in Bonn.

LZ

-----------------------------------------------------------------------------



Re^4: Stammtisch Konstanz 9.3.2001 (Zook,  5. Mar 2001, 14:27:57):
~#! rn=Hobo rt=983782224 rg=treffen
~#! tid=983297554
Wegen Nachfragen: Der Stati findet statt, ich werde uebermorgen 
mal die Lokalitaet begutachten. Wegbeschreibungen (lesen sich
sehr gut) gibt es noch bei Isi ;)

Zook.

-----------------------------------------------------------------------------



Re^5: Stammtisch Konstanz 9.3.2001 (Isi,  5. Mar 2001, 14:29:35):
~#! rn=Zook rt=983798877 rg=treffen
~#! tid=983297554
die sollen sich net gut lesen, die sollen sich gut fahren lassen
und das glaub ich erst wenn sich keiner verfahren hat ;)
P.S. Die Woche drauf findet auch nochmal was statt ;)

-----------------------------------------------------------------------------



Re^6: Stammtisch Konstanz 9.3.2001 (Gor,  5. Mar 2001, 15:17:21):
~#! rn=Isi rt=983798975 rg=treffen
~#! tid=983297554
Da Zook von der anderen Richtung kommt, isses wahrscheinlich, dass sich min.,
einer verfaehrt., :)

->schmarrn

-----------------------------------------------------------------------------



Stammtisch Hamburg II (Troy,  5. Mar 2001, 16:06:38):
Aufgrund der ueberwaeltigenden Nachfrage wird auch am Ende dieser Woche in
Hamburg wieder ein Stammtisch stattfinden, und zwar in der

Backatelle
Fuhlsbuettler Strasse irgendwo um die 100
22305 Hamburg (Barmbek)

Hin kommt man mit Bus und Bahn ueber U/S-Barmbek und dann entweder zu Fuss
oder
mit Bus 177 oder 277 oder 272 eine Station (Hellbrookstrasse).

Mit Auto die Fuhle aufsuchen und auf einen Parkplatz hoffen.

URL:
http://www2.stadtplandienst.de/query;ORT=hh;LL=10.046802x53.592542;GR=5

Das ganze steigt am Freitag, den 9. Maerz um 20:00 Uhr.

Troy

P.S.: Stadtplandienst hat nun auch Frankfurt, Dresden und Heidelberg
im Programm.

-----------------------------------------------------------------------------



Re: Stammtisch Hamburg II (Perdita,  5. Mar 2001, 20:02:59):
~#! rn=Troy rt=983804798 rg=treffen
~#! tid=983804798
Halloele!
Find ich fein, dass es nu' noch einen Stati gibt, an dem ich auch kann!
Trotzdem gleich mal ne Frage: gibts evtl. noch jemanden, der so aus Richtung
Ahrensburg mit OePNV kommt?
Ich kenn mich in HH nicht so aus und mag ungern spaet in der Nacht allein mit
der U- oder S-Bahn nach Hause fahren...
U-bahnhof Berne oder so wuerde auch gehen, da find ich zur Not mit dem Auto
auch noch hin.
Aber ganz mit dem Auto nach HH rein, ist nicht so mein Traum, und das mit der
U-Bahn wie gesagt auch nicht...
Perdita
*einbisschenangstvorrowdyshabend*

-----------------------------------------------------------------------------



Re^5: Stammtisch Konstanz 9.3.2001 (Hobo,  6. Mar 2001, 10:18:17):
~#! rn=Zook rt=983798877 rg=treffen
~#! tid=983297554
Ha, auch seit "Seit-7-Jahren-Ausgezogener" kennt man doch den Old Mary

Hobo.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Hamburg II (Troy,  6. Mar 2001, 12:53:13):
~#! rn=Perdita rt=983818979 rg=treffen
~#! tid=983804798
Tja, also oehm. Ich wohne in Jenfeld, die Gegend ist auch nicht gerade
wegen ihrer Sicherheit beruehmt, jedoch ist es von der A24 (Jenfeld)
extrem schnell zu erreichen. Ausserdem wohne ich in dem schon etwas
befriedeten
westlichten Teil von Jenfeld.

Was fuer eine Prunkkarosse ist das denn? Bei uns sind bisher Porsches, Lexi
und
fette Merser unangetastet geblieben.

Mail doch mal bei Interesse an doerntge@kiwilogic.com.

Troy

-----------------------------------------------------------------------------



Sonderstati in Berlin (Golas,  6. Mar 2001, 19:36:47):
moins

am 16.3. findet ein sonderstati statt. ort wird noch bekanntgegeben.
bitte meldet euch schnellstmoeglich bei mir oder martini an.
wir brauchen einen ueberblick, wieviele bahnen wir fuers bowling bestellen
sollen ...

nein, das wird nicht abgestimmt :)

golas der ausrufer

-----------------------------------------------------------------------------



Re^3: Stammtisch Hamburg II (Perdita,  6. Mar 2001, 23:04:02):
~#! rn=Troy rt=983879593 rg=treffen
~#! tid=983804798
Nein, ich mache mir keine Sorgen um mein Auto, sondern mehr um mich...
Also nochmal anders formuliert: Ich habe keine grosse Lust, nachts mit U-Bahn
etc. quer durch HH zu fahren, das ist mir einfach nicht so ganz geheuer...
Aber genauso wenig Lust habe ich, mit dem Auto nach HH hineinzufahren, weil
ich mich da ueberhaupt nicht auskenne und das Autofahren dort hasse.
Ich bin aber schon oefter mal z.B. zum P+R-Platz bei der Haltestelle Berne
gefahren, das wuerde ich wohl auch wiederfinden.
Nun hab ich auch grad erst so richtig wahrgenommen, dass die ganze Aktion ja
in Barmbek startet, das ist ja von dort aus gar nicht sooo weit weg.
Ich werd also nochmal ein bisschen schauen, wie ich da am besten hinkomme
(wobei mir das hinkommen noch nicht so viel Sorgen bereitet...) Und fuer den
Rueckweg findet sich dann ja vielleicht noch ein Kavalier oder so, der oder
die mich zur U-Bahn-Station begleitet oder zu meinem Auto bringt oder wie auch
immer...
Ich werd das schon hinkriegen...
Also ich denke, ich komm erstmal hin und dann sehen wir weiter.
Gruss
Perdita

-----------------------------------------------------------------------------



Re^3: Stammtisch Konstanz 9.3.2001 (Aline,  7. Mar 2001, 21:05:54):
~#! rn=Hobo rt=983782160 rg=treffen
~#! tid=983297554
Hi Leuts

also ich komm Freitag abend auf jeden Fall.
Vor allen Dingen, damit mir Hobo mal die Alt"stadt" in diesem
Kaff zeigt. ;)
Von Stadt kann ich naemlich bei den Kaeffern hier wenig reden.

Gruesse

Aline

-----------------------------------------------------------------------------



Sonderstati Berlin (Martini,  7. Mar 2001, 23:53:18):
Die genauen Daten fuers Bowlen stehen nu fest:

Berolina Bowling 
Nollendorfplatz
Kleiststr. 3-6
U-Bahnhof Nollendorfplatz
Berlin-Schoeneberg

am Freitag, den 16.3. von 20 bis 23 Uhr
2 Bahnen ( da ich sich bis heute 11 Leute bei mir gemeldet haben )

4,90 DM pro Nase und Spiel

So das waers erstmal von mir.

Martini.

-----------------------------------------------------------------------------



Re^4: Stammtisch Konstanz 9.3.2001 (Hobo,  8. Mar 2001, 10:38:53):
~#! rn=Aline rt=983995554 rg=treffen
~#! tid=983297554
Ja also nun moment mal...
In der Altstadt wurde ne ganze Menge Geschichte "gemacht", da kann ich gerne
einen Vortrag drueber halten.
Und eine Stadt war damals schon ein bisschen kleiner als heute. Ueber das
neumodische Zeug, was heutzutage sich zur Stadt gehoerend bezeichnet, muss man
ja gar nicht reden (Staad beispielsweise).
Aber die Konstanzer Altstadt ist Klasse, die Tuebinger uebrigens auch ;)

Was Du als Satdt bezeichnest, wuerde jeder Tierschuetzer wahrscheinlich als
Massenmenschhaltung bezeichnen ;)
Was Du als Satdt bezeichnest, wuerde jeder Tierschuetzer wahrscheinlich als
Massenmenschhaltung bezeichnen ;)
Hobo - mag's klein und kuschelig (s. Boing), und nicht gross und ueberlaufen

-----------------------------------------------------------------------------



Re^5: Stammtisch Konstanz 9.3.2001 (Hobo,  8. Mar 2001, 10:39:45):
~#! rn=Hobo rt=984044333 rg=treffen
~#! tid=983297554
Hobo ruft nach Hate, damit die doppelten Zeilen beim Flash-posten
verschwinden.

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi,  8. Mar 2001, 18:33:38):
Heute ist ja eigentlich um 20 Uhr in Kleinen Meierhof in Karlsruhe unser
allwoechentlicher Stati.
Ich hab aber grad keine Lust, den anzukuendigen, also denkt euch einfach, ich
haette es getan.
Ich wuerde viel lieber mal jemanden von Netscape in die Finger kriegen und
ihn/sie/es "ausfragen", warum die so einen Muell von Browser entwickelt haben,
der mir einen orangenen Hintergrund in hellblau anzeigt, wenn ich javaskript
deaktiviere.
Ausserdem finde ich es scheisse, dass immer irgendwelche Anfaengerspieler mit
Para-Ausruestung rumrennen. Die habens gar nicht verdient, dass man schoene
Gebiete schreibt. Man koennt fast meinen, leichter spielbare Gebiete sind
heutzutage nur noch Geldmetzelstellen. Werma ja mal sehen, wie lang das noch
so weitergeht.
Bambi.


-----------------------------------------------------------------------------



SUGI HAT DUUUUUUUUUURST (Sugaan,  8. Mar 2001, 19:49:15):
Also denn - es ist mal wieder so weit - SUGI HAT DUUUUUUURST  und moechte ihn
mal wieder in der schoenen Stadt mit "K" loeschen.
Vorschlag schon mal an alle Interessierten: 
Freitag den 23.Maerz 2001
Ort: noch nicht bekannt - aber in arbeit
Zeit: naja irgendwann direkt nach der ARbeit (also so um 22 Uhr- nein das ist
ein Scherz) - ich denke so ab 19.30 Uhr

Meldet Euch zu Hauf - damit das mal wieder was wird.

Gruessis eine Chaotische Sugi 


-----------------------------------------------------------------------------



Re: Stati Karlsruhe. (Grosch,  9. Mar 2001, 08:54:24):
~#! rn=Bambi rt=984072818 rg=treffen
~#! tid=984072818
Du schreibst das immer so frueh gild das jetzt fuer diese Woche oder naechste?

Grosch

-----------------------------------------------------------------------------



Re: SUGI HAT DUUUUUUUUUURST (Montanus,  9. Mar 2001, 17:18:52):
~#! rn=Sugaan rt=984077355 rg=treffen
~#! tid=984077355
Sugi schreibt:
>mal wieder in der schoenen Stadt mit "K" loeschen.

Aehm Sugi, den Konstanzer Stammtisch organisiert Isi.
Und andere schoene Staedte mit K fallen mir wirklich bei bestem Gewissen nicht
ein. Ehrlich. :-)
Koblenz? Karlsruhe? Naja Karlsruhe ist schon ganz schoen. Aber den Stammtisch
dort organisiert Bambi. Oder Boing. Dabrauchste glaub ich auch einfach nur
hinfahren zum Durschtloeschen. ;-)

-----------------------------------------------------------------------------



Re: Re: SUGI HAT DUUUUUUUUUURST (Karis,  9. Mar 2001, 17:41:53):
~#! rn=Montanus rt=984154732 rg=treffen
~#! tid=984077355
Es ging um Staedte, Montanus.
Generaelchen Karis

-----------------------------------------------------------------------------



Re^3: SUGI HAT DUUUUUUUUUURST (Isi,  9. Mar 2001, 17:47:47):
~#! rn=Karis rt=984156113 rg=treffen
~#! tid=984077355
KN hat immerhin 70k Einwohner und 10k studenten
Isi (bierdeckelwerfend)

-----------------------------------------------------------------------------



Re^4: SUGI HAT DUUUUUUUUUURST (Karis,  9. Mar 2001, 17:49:42):
~#! rn=Isi rt=984156467 rg=treffen
~#! tid=984077355
Jo, und als ich das letzte Mal da war, tolle Kneipen mit Livemusik.
Trotzdem. Als Stadt wuerd ich ja noch nicht mal Muenchen
bezeichnen. Und das als Ureinwohner.
Generaelchen Karis

-----------------------------------------------------------------------------



Re^4: SUGI HAT DUUUUUUUUUURST (Householder,  9. Mar 2001, 17:54:59):
~#! rn=Isi rt=984156467 rg=treffen
~#! tid=984077355
hm dann hat die schoene stadt von der sugi spraache etwa so viele studenten
wie konstanz einwohner :-)

-----------------------------------------------------------------------------



Re^5: SUGI HAT DUUUUUUUUUURST (Montanus,  9. Mar 2001, 18:01:42):
~#! rn=Householder rt=984156899 rg=treffen
~#! tid=984077355
Wenn Du die grosse hallig im Niederrhein-Ueberschwemmungsgebiet ist, wo alle
Leute eine Mischung aus Halskrankheit und Hollaendisch sprechen und wo man
nicht weiss, ob die Blumenvasen Bier oder Spuelwasser enthalten - dann zweifle
ich sowohl den Begriff 'Stadt' als auch (bzw erst recht) das Attribut 'schoen'
an.

-----------------------------------------------------------------------------



Re^5: Stammtisch Konstanz 9.3.2001 (Pampers,  9. Mar 2001, 19:27:20):
~#! rn=Hobo rt=984044333 rg=treffen
~#! tid=983297554
Ich geh nie wieder in Konstanz wech, da macht ja alles um kurz nach 8 zu.
Ich geh nie wieder in Konstanz wech, da macht ja alles um kurz nach 8 zu.
Pampers. War da schonmal. Muss da nich wieder hin.

-----------------------------------------------------------------------------



Re^4: SUGI HAT DUUUUUUUUUURST (Humni, 10. Mar 2001, 10:59:58):
~#! rn=Isi rt=984156467 rg=treffen
~#! tid=984077355
Jedenfalls ein kleiner Tip fuer alle Leute, die nach KN fahren:

Wenn Ihr Euch (ich will nicht sagen aufgrund der Wegbeschreibung oder aufgrund
meines Beifahrers Imda, aber einer von beiden muss schuld gewesen sein) aus
Versehen an der Grenze zur Schweiz wiederfindet:

Sagt denen NIEMALS, dass ihr gar nicht in die Schweiz wollt.

Vor uns wurde alles durchgewunken, hinter uns wurde alles durchgewunken,
unsere Ausweise wurden einkassiert, wild rumtelefoniert, dann durften wir
irgendwann weiterfahren....

Humni

-----------------------------------------------------------------------------



Re^5: SUGI HAT DUUUUUUUUUURST (Croft, 10. Mar 2001, 11:31:16):
~#! rn=Humni rt=984218398 rg=treffen
~#! tid=984077355
Gut das Karlsruhe nicht an der Schweizer Grenze liegt :o)
Croft

-----------------------------------------------------------------------------



Darmstaedter Stammtisch (Ark, 10. Mar 2001, 16:41:41):
Ok, wie schonmal angekuendigt, machen wir naechsten Freitag, am 16.03., mal
wieder einen tapferen Versuch eines kleinbuergerlichen Stammtischs in der
Wissenschaftsstadt Darmstadt. Dazu finde man sich an altbekannter Staette (im
"Hotzenplotz") zu altbekannter Zeit (so ab 19.00 Uhr, ich bin sowieso
unzuverlaessig) ein. Auswaertige orientieren sich wie folgt (Achtung,
chaotische Beschreibung!):
A5, am Darmstaedter Kreuz raus, Richtung Innenstadt. Immer weiter auf der
Rheinstrasse geradeaus, am Maritim vorbei. Dann den Web-Browser der
vollausgestatteten Scriptlimousine oeffnen und http://www.darmstadt.de/
besuchen. Auf Stadtplan klicken und die Ecke
Mauerstrasse/Lauteschlaegerstrasse heraussuchen, dort ist der "Hotzenplotz"
(rechts neben dem gruenen Fleck, dem Herrengarten). Dem Polizist erklaeren,
warum man den alten Mann nicht gesehen hat. Davonrasen und schwitzend einen
Parkplatz suchen. Eintreten, sich runtermachen lassen von den bereits
Anwesenden, einen Zettel mit der schlechten Wegbeschreibung hervorsuchen und
eine Stunde lang beteuern, dass ich schuld sei. Eine Pizza Kuesschen bestellen
und allen anderen den Abend mit viel Geplapper verderben. Nach Hause fahren,
schwoerend, nie wieder auf so einen lustigen Stammtisch zu kommen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stati Karlsruhe. (Bambi, 10. Mar 2001, 16:58:29):
~#! rn=Grosch rt=984124464 rg=treffen
~#! tid=984072818
"Heute" in Verbindung mit dem Datum des Artikels sind eigentlich
aussagekraeftig genug. Aber ich erinnere Dich gerne jeden Tag aufs Neue mit
einem Artikel daran, wann der naechste planmaessige Stati in Karlsruhe ist.
Das ist immer noch sinnvoller und leichter lesbar, als gewisse
Artikel-"Wildwuechse" in schmarrn, fuer die man einige hier steinigen sollte.
Bambi.

-----------------------------------------------------------------------------



StaTi -> Nuernberg (Hight, 10. Mar 2001, 17:25:10):
moins .o)

ich soll im auftrag von Devilchen mal fragen ob intresse an nem Stammtisch in
nuernberg besteht.
Oki ich geb zu war ne Idee die nach ne recht lustigen Rosenmontasparty
entstanden is abba fragen kostet nichts. .o)
Nachdem ich momentan der einzige "aktive2 ... oki haeufig anwesende ...
nuernberger Mudder bin bitte ich Intessensbekundungen samt Terminvorschlaegen
ect. via Mail an mich zu schicken ,o) 

bis den Chris aka Hight

-----------------------------------------------------------------------------



Re: StaTi -> Nuernberg (Grellgen, 10. Mar 2001, 17:26:26):
~#! rn=Hight rt=984241510 rg=treffen
~#! tid=984241510
Gabs da nicht mal noch Melwin und Dwein?

Grellgen, sich duckend :)

-----------------------------------------------------------------------------



Re: Re: StaTi -> Nuernberg (Hight, 10. Mar 2001, 17:49:44):
~#! rn=Grellgen rt=984241586 rg=treffen
~#! tid=984241510
noe

hight kurz und knapp

-----------------------------------------------------------------------------



Re^5: Stammtisch Konstanz 9.3.2001 (Aline, 10. Mar 2001, 19:18:02):
~#! rn=Hobo rt=984044333 rg=treffen
~#! tid=983297554

Hi Hobo und alle die gestern da waren,

zu dem Vortrag ist es nun ja leider nicht gekommen, das
holen wir dann mal nach!
Ansonsten war es ganz nett, nur musste ich leider viel
zu frueh gehen. *schnueff*
Dafuer habe ich aber ganz nette Leute aus anderen Muds
(gibts sowas?) kennengelernt und gezeigt, dass es doch
zweihaendige Messer gibt. ;)

Schoen, wenn man das widerholen koennte!

Aline

P.S.: Boing klein und kuschelig???
Seit wann das?

-----------------------------------------------------------------------------



Re: voranfrage: stati in darmstadt (Katzentante, 11. Mar 2001, 15:51:39):
~#! rn=Wurzel rt=982952016 rg=treffen
~#! tid=982952016
Kasimir und Katzentante wuerden dabei sein am 16.03.

-----------------------------------------------------------------------------



Re^6: SUGI HAT DUUUUUUUUUURST (Grimmborn, 12. Mar 2001, 13:20:00):
~#! rn=Montanus rt=984157302 rg=treffen
~#! tid=984077355
Hier hat zwar niemand von Duesseldorf geredet, aber was die Beurteilung angeht
hast Du natuerlich recht.

GdA

-----------------------------------------------------------------------------



Re: StaTi -> Nuernberg (Mieze, 13. Mar 2001, 12:03:04):
~#! rn=Hight rt=984241510 rg=treffen
~#! tid=984241510

ja, besteht. Am guenstigstens Freitags oder Samstags.

Mieze


-----------------------------------------------------------------------------



Re: Re: StaTi -> Nuernberg (Mieze, 13. Mar 2001, 12:04:00):
~#! rn=Mieze rt=984481384 rg=treffen
~#! tid=984241510

heute irgendwie zu viele 's'. Naja es ist noch frueh am Morgen

Mieze - typohaft

-----------------------------------------------------------------------------



Re^3: StaTi -> Nuernberg (Grimmborn, 13. Mar 2001, 12:27:20):
~#! rn=Mieze rt=984481440 rg=treffen
~#! tid=984241510
Au ja, macht da mal einen Termin. Ich kann sowieso so gut wie nie, mir ists
also egal. Dienstags ist am guenstigsten, da kommt Ally McBeal, da bin ich
also 100%ig nicht dabei.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Kino@Bonn? (Liara, 13. Mar 2001, 13:57:31):
Moin Bonner und Fans, ;-)

Hat evtl. jemand Lust, sich Tiger and Dragon anzusehen?
Terminvorschlag: Donnerstag, 15. Maerz, 22:30 Uhr im Kinopolis in Godesberg
(... der Film laeuft leider nirgendwo sonst und nur zu der Uhrzeit ...)

Bidde bis Mittwoch eine Mail an mich schicken. :-)

Liara, Zwergenzauberine

-----------------------------------------------------------------------------



Re^4: StaTi -> Nuernberg (Matis, 13. Mar 2001, 14:47:48):
~#! rn=Grimmborn rt=984482840 rg=treffen
~#! tid=984241510
Ist Billy schon tot^H^H^Hblond? Ups ;o).

Matis, Ally-Fan

-----------------------------------------------------------------------------



Re^5: StaTi -> Nuernberg (Grimmborn, 13. Mar 2001, 15:16:07):
~#! rn=Matis rt=984491268 rg=treffen
~#! tid=984241510
Blond und tot. Das ist in der gerade beendeten Staffel passiert. 

GdA

-----------------------------------------------------------------------------



Re^7: SUGI HAT DUUUUUUUUUURST (Pampers, 13. Mar 2001, 18:54:32):
~#! rn=Grimmborn rt=984399600 rg=treffen
~#! tid=984077355
Es gibt zwei Teile der Welt, die ich so gut es geht versuche zu vermeiden.
Uganda und Duesseldorf.....

Pampers. Koeln ist auch nicht besser.

-----------------------------------------------------------------------------



Re^8: SUGI HAT DUUUUUUUUUURST (Grimmborn, 13. Mar 2001, 18:56:30):
~#! rn=Pampers rt=984506072 rg=treffen
~#! tid=984077355
Was bitteschoen hast Du gegen Uganda? Nettes Wetter dort, soweit ich weiss,
und mit den Leuten kann man dort auch auskommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



**** StaTi in STUTTGART *** (Mikage, 13. Mar 2001, 20:02:21):
Hai Hasis! :o)
Ich habe die ohne Ende grosse Freude STIMMUNG und GUTE LAUNE nun auch im
schoenen Sueden unseres Landes verbreiten zu duerfen...
aber allein macht das ja keinen Spass, also kommt zahlreich zum STaTi!
*jauchz*

Und nun die technischen Daten des Unternehmens:
    Datum: Donnerstag, 22. Maerz 2001
    Zeit: 20:00h
    Ort: Sophies Brauhaus, Marienstr. 28 (Eingang Sophienstr.), 1. Stock
    Erreichbarkeit: Mit Stadtbahn bis Rotebuehlstr. oder S-Bahn bis
Stadtmitte, dort Koenigsstrasse stadteinwaerts laufen und bei Beate Uhse
rechts in die Sophienstr abbiegen.

Mik* muemmelt zufrieden. :o)
*hoppel*
Wegen Reservierung waere ein rechtzeitiges Bescheid supi.

-----------------------------------------------------------------------------



Re: **** StaTi in STUTTGART *** (Imda, 13. Mar 2001, 22:21:18):
~#! rn=Mikage rt=984510141 rg=treffen
~#! tid=984510141
Urgs, das is ja mitten in der Woche. Is das Absicht ?

Imda. Fragt sich, wie er das wohl auf die Reihe kriegn soll...

-----------------------------------------------------------------------------



Re: **** StaTi in STUTTGART *** (Deepblue, 14. Mar 2001, 09:41:55):
~#! rn=Mikage rt=984510141 rg=treffen
~#! tid=984510141
Hm, kleine Berichtigung: Von den genannten Haltestellen kommend muss man die
Koenigstrasse Stadtauswaerts (also in suedliche Richtung) laufen. Von der
S-Bahn kommt man uebrigens am Besten, wenn man durch die Stadtbahnhaltestelle
Rothebuehlplatz laeuft...

-----------------------------------------------------------------------------



Re^6: Stammtisch Konstanz 9.3.2001 (Hobo, 14. Mar 2001, 16:25:31):
~#! rn=Pampers rt=984162440 rg=treffen
~#! tid=983297554
Wer redete denn hier von amuesieren?
Da ging's um "Geschichte"...
Da ging's um "Geschichte"...
   Hobo - weiss nicht wirklich viel ueber ihre Heimatstadt

-----------------------------------------------------------------------------



Re^6: Stammtisch Konstanz 9.3.2001 (Hobo, 14. Mar 2001, 16:27:50):
~#! rn=Aline rt=984248282 rg=treffen
~#! tid=983297554
Einen Durchmesser von einem Meter und ueberall Haare finde ich schon "klein
und kuschelig" :)
Einen Durchmesser von einem Meter und ueberall Haare finde ich schon "klein
und kuschelig" :)
Hobo

-----------------------------------------------------------------------------



Re^6: StaTi -> Nuernberg (Hobo, 14. Mar 2001, 16:31:10):
~#! rn=Grimmborn rt=984492967 rg=treffen
~#! tid=984241510
In den Folgen, die Vox derzeit zeigt, ist er wieder auferstanden...

    Hobo - hasst es, wenn die Staffeln gewechselt und irgendwelche doofen
Wiederholungen gezeigt werden, immerhin kann man wieder mal mitbekommen, wie
es zwischen Mell und dem kleinen, komischen Mann anfaengt...

-----------------------------------------------------------------------------



Re^7: StaTi -> Nuernberg (Grimmborn, 14. Mar 2001, 16:37:15):
~#! rn=Hobo rt=984583870 rg=treffen
~#! tid=984241510
Och, das sind ueberwiegend Folgen die ich nicht kenne (soo lange bin ich noch
nicht auf Ally-Trip). Uebrigens heisst die Frau Nelle, und ihre Freundin
heisst Ling, nicht Lin oder so.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Stammtisch Muenster? (Kalliope, 15. Mar 2001, 11:07:14):

LEBT in Muenster ueberhaupt noch jemand? "Stammtisch" kann man's ja
schon laenger nicht mehr nennen, eher "Wanderpokal" oder so, aber...


-----------------------------------------------------------------------------



Stamtisch HAnnover (Karis, 15. Mar 2001, 11:09:15):
NAchdem ich am Freitag, den 23.3. nach einem sicher
wahnsinnig aufregendem Messetag immer noch nix vorhab,
wollt ich mal anfragen, ob es in dieser Gegend Mudder
gibbt, die an genau diesem Abend unbedingt einen
Stammtisch veranstalten wollen. Ich waer dann wohl dabei :)

Karis

-----------------------------------------------------------------------------



Re: Stamtisch HAnnover (Gandur, 15. Mar 2001, 11:36:32):
~#! rn=Karis rt=984650955 rg=treffen
~#! tid=984650955
also mir waere ja dem Samstag Abend wesentlich lieber :)

gandur

-----------------------------------------------------------------------------



Conventus Leonis (Qitess, 15. Mar 2001, 12:02:54):
Hallo liebe Leute
Vom 23. bis 25. Maerz findet die Conventus Leonis wieder mal statt.
Lokalitaet ist Das Jugendzentrum Muehle in Braunschweig.
Die Conventus Leonis ist ein Rollenspieltreffen, auf dem diverse
Rollenspielrunden der verschiedensten Spielsysteme stattfinden. Ausserdem kann
man Zubehoer fuer Rollenspiel erwerben und es gibt diverse Workshops
(Gewandungen, Waffenbau, Spielleiter, ... ) und dieses Jahr wohl auch ein
kleines Hoflager der Live-Rollenspieler.

Naehere Infos findet Ihr auch unter :
http://www.con-leonis.de

Die Adresse fuer jetzt schon Interessierte:
Jugendzentrum Muehle, An der Neustadtmuehle 3, 38100 Braunschweig
Stadtplan unter :
http://www.braunschweig.de   (Stadtplan)

Wir sehen uns - Gehabt Euch wohl!

QI**

-----------------------------------------------------------------------------



Re: Re: Stamtisch HAnnover (Victim, 15. Mar 2001, 12:30:33):
~#! rn=Gandur rt=984652592 rg=treffen
~#! tid=984650955
also, geplant ist tatsaechlich so ne art stati am samstag, 24.3.
in hannover. interessenten bitte mich ansprechen, location wird
nachgeliefert, sobald sie feststeht :-)

i. A. Testie Victim

-----------------------------------------------------------------------------



Re: Stammtisch Muenster? (Foobar, 15. Mar 2001, 13:15:01):
~#! rn=Kalliope rt=984650834 rg=treffen
~#! tid=984650834
Tse, kaum sind die Ersties gesperrt muellen die Zweities die MPA voll.

Um Deine Frage zu beantworten: Ja, in Muenster lebt noch jemand. Derzeit
zaehlt Muenster etwa 300.000 Einwohner, die meisten davon recht lebendig.

Und falls Du in dieser Woche kein Posting gefunden hast dass einen Stammtisch
bzw. "Wanderpokal" ankuendigt liegt das daran dass - ausnahmsweise - keiner
stattfindet.

Mit trotzdem freundlichen Gruessen,

     Foobar

PS: Fehlende Kommata bitte nicht im Seherhaus bunkern. Danke.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Muenster? (Kalliope, 15. Mar 2001, 13:15:45):
~#! rn=Foobar rt=984658501 rg=treffen
~#! tid=984650834
*seufz*

,,,,,,,,,,,

Bin ja nicht so.


-----------------------------------------------------------------------------



Re^3: Stammtisch Muenster? (Foobar, 15. Mar 2001, 13:16:17):
~#! rn=Kalliope rt=984658545 rg=treffen
~#! tid=984650834
Ups, so viele waren es...?

Foobar

-----------------------------------------------------------------------------



Re^4: Stammtisch Muenster? (Kalliope, 15. Mar 2001, 13:16:51):
~#! rn=Foobar rt=984658577 rg=treffen
~#! tid=984650834
Nein, die, die Du nicht benoetigst, leite bitte umgehend wieder zurueck.

Kalli ;)


-----------------------------------------------------------------------------



Re: Sonderstati Berlin (Gloinson, 15. Mar 2001, 16:23:21):
~#! rn=Martini rt=984005598 rg=treffen
~#! tid=984005598
Hiermit stelle ich im Zusammenhang mit dem am Freitag (morgen) in Berlin
(hier) stattfindenden Sonderstammtisch hoechstoffiziell fest das Solmyr ein
Keks ist. Und zwar ein runder ohne Ecken.

Gloin(son) ... hat grad "Sonderstati - Samstag - Mail" erhalten

-----------------------------------------------------------------------------



StaTi Konstanz 16.3.2001 (Isi, 15. Mar 2001, 16:25:19):
So, ist zwar etwas kurzfristig, und ich kann selbst wieder nicht aber 
trotzdem:
Termin: Freitag 16.3.
Ort Brauhaus Johann Albrechts, Konstanz
Zeit: 20 uhr

Keine Reservierung!
Wer eine Wegbeschreibung braucht, bitte an mich wenden.
Isi (Bierdeckelwerfend)

-----------------------------------------------------------------------------



Re: StaTi Konstanz 16.3.2001 (Humni, 15. Mar 2001, 16:53:30):
~#! rn=Isi rt=984669919 rg=treffen
~#! tid=984669919
Schade, ich kann diesmal nicht. Doofe Frage (nur damit hinterher keiner was
sagt...): Wenn Du nicht kommst, kann dann ueberhaupt jemand? Sorry, wenn das
redundant ist....

CU Humni

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Grimmborn, 15. Mar 2001, 17:17:18):
Heute ist moeglicherweise Stammtisch im Kleinen Maierhof (oder so aehnlich) in
Karlsruhe. Ich bin nicht da, und ich weiss auch von nichts, ich hab da nur so
ein Gefuehl...

GdA

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe (Bambi, 15. Mar 2001, 17:57:38):
~#! rn=Grimmborn rt=984673038 rg=treffen
~#! tid=984673038
Das kann ich bestaetigen und muss sagen, dass ich heute auch nicht da bin. Nur
so als kleinen Hinweis fur alle, die gerne kommen wuerden und mich (nicht)
sehen wollen.
Bambi.

-----------------------------------------------------------------------------



Re^3: Stamtisch HAnnover (Gast1, 15. Mar 2001, 18:04:56):
~#! rn=Victim rt=984655833 rg=treffen
~#! tid=984650955
Moin,

tjaja, ich waer ja glatt dabei - nur bin ich gerade dieses Wochenende
ausserhalb Hannovers... aber sonst bin ich immer dabei :)

Gast1 (i.A. Olli)

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe (Grosch, 15. Mar 2001, 18:53:02):
~#! rn=Bambi rt=984675458 rg=treffen
~#! tid=984673038
Danke fuer den Hinweis bin aber auch nicht da :)
Grosch

-----------------------------------------------------------------------------



Re^3: Stammtisch Karlsruhe (Montanus, 15. Mar 2001, 20:11:17):
~#! rn=Grosch rt=984678782 rg=treffen
~#! tid=984673038
Danke fuer den Hinweis, bin aber auch nicht da. :)
Montanus, mit einem Komma mehr als Grosch

-----------------------------------------------------------------------------



Re^4: Stammtisch Karlsruhe (Jameson, 15. Mar 2001, 20:11:57):
~#! rn=Montanus rt=984683477 rg=treffen
~#! tid=984673038
Ich auch nicht.

Aber gleich.

-----------------------------------------------------------------------------



Re^5: Stammtisch Karlsruhe (Montanus, 15. Mar 2001, 20:14:49):
~#! rn=Grosch rt=984683557 rg=treffen
~#! tid=984673038
Falls ihr das schafft, in dieser Rubrik ohne zu schummeln bis zum Re^100:
Stammtisch Karlsruhe zu kommen (und ohne zwischendurch Artikel wegzuloeschen),
geb ich auf dem naechsten Karlsruher Stammtisch, auf dem ich bin, eine RUnde
aus.

-Montanus.

-----------------------------------------------------------------------------



Erinnerung (Ark, 15. Mar 2001, 20:53:25):
Ich moechte an den staemmigen Tisch morgen erinnern, allen, die nach DA
kommen, erzaehle ich auch eine schoene Geschichte. Jawoll. Reicht das als
Incentive?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Erinnerung (Wurzel, 15. Mar 2001, 21:39:10):
~#! rn=Ark rt=984686005 rg=treffen
~#! tid=984686005
ich werde dich festnageln. eine schoene geschichte dauert uebrigens
mindestens drei stunden und eine pizza kuesschen lang.

wurzel

-----------------------------------------------------------------------------



Re: Re: Erinnerung (Ark, 15. Mar 2001, 21:53:08):
~#! rn=Wurzel rt=984688750 rg=treffen
~#! tid=984686005
Hm, aber die Zeit zum Essen und Trinken lasst Ihr mir noch? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Erinnerung (Anacrion, 15. Mar 2001, 21:54:06):
~#! rn=Ark rt=984689588 rg=treffen
~#! tid=984686005
Ich dachte, das machst Du wie immer gleichzeitig :-)

Anac*

-----------------------------------------------------------------------------



Re^3: Erinnerung (Zephyr, 15. Mar 2001, 21:55:24):
~#! rn=Ark rt=984689588 rg=treffen
~#! tid=984686005
Iss einfach 2 Pizza Kuesschen mit Extra Knobi, dann will keiner mehr
Deine Geschichte hoeren. Ausser Wurzel vielleicht :)
C4, nicht da

-----------------------------------------------------------------------------



Re^4: Erinnerung (Wurzel, 15. Mar 2001, 21:57:16):
~#! rn=Zephyr rt=984689724 rg=treffen
~#! tid=984686005
das einzige, was wirklich gegen leute mit knoblauchfahne hilft:
selber knobi essen :)

wer schonmal auf dem darmstaedter stammtisch war, weiss dass da
in der regel eine dicke dunstwolke den tisch umlagert :)

wurzel

-----------------------------------------------------------------------------



Re: Kino@Bonn? (Liara, 16. Mar 2001, 18:22:10):
~#! rn=Liara rt=984488251 rg=treffen
~#! tid=984488251
Hiho!

Hat evtl. jemand Lust, am Samstag in's Kino zu gehen? :-)
Zur Auswahl stehen Tiger and Dragon oder Chocolat ... oder sowas. *g*
Bei Interesse bidde Mail an mich.

LZ, in Kinolaune

-----------------------------------------------------------------------------



Re: Re: Kino@Bonn? (Anacrion, 16. Mar 2001, 18:24:50):
~#! rn=Liara rt=984763330 rg=treffen
~#! tid=984488251
Also Chocolat hab ich als avi ...

Anac*
..

-----------------------------------------------------------------------------



Re^3: Kino@Bonn? (Tiamak, 16. Mar 2001, 20:14:08):
~#! rn=Anacrion rt=984763490 rg=treffen
~#! tid=984488251
Du bist toll.


Tiamak

-----------------------------------------------------------------------------



Re^4: Stamtisch HAnnover (Tarina, 16. Mar 2001, 22:58:31):
~#! rn=Gast1 rt=984675896 rg=treffen
~#! tid=984650955
Wirklich sehr schade, ich bin naemlich auch gerade am 24. und 25.03. nicht in
Hannover... 
Sonst haett ich mir eine Teilnahme an einem Stati auch mal schoen vorgestellt.

Gruss,
Tarina

-----------------------------------------------------------------------------



hannover (Victim, 17. Mar 2001, 21:03:15):
ok, wir treffen uns am sa, 24.03.01 um 19h im Exil,
davenstedter str. 23, 30449 hannover.

anfahrt am besten mit der s9 ab hbf bis haltestelle
nieschlagstrasse, aussteigen und ein stueck die
strasse zurueckgehen. auf der echten strassenseite
isses dann :-)

- i. V. Testie Victim -

-----------------------------------------------------------------------------



Re: hannover (Victim, 17. Mar 2001, 21:03:45):
~#! rn=Victim rt=984859395 rg=treffen
~#! tid=984859395
s/echten/rechten *aechz*

-----------------------------------------------------------------------------



Re: Stammtisch Muenster? (Mupfel, 18. Mar 2001, 02:38:15):
~#! rn=Kalliope rt=984650834 rg=treffen
~#! tid=984650834
nein da lebt niemand mehr. darum machen wir die statis demnaechst in
osnabrueck ;)

-mupfel-

-----------------------------------------------------------------------------



Braunschweig: Conventus Leonis (Qitess, 19. Mar 2001, 17:57:39):
Noch mal kurz zur Erinnerung:

Vom 23. bis zum 25. findet in Braunschweig das Rollenspielertreffen Conventus
Leonis statt.


...Naehere Infos in Artikel 86 dieser Rubrik...

QI** wird da sein...


-----------------------------------------------------------------------------



Spontanstammtisch Bonn (Liara, 20. Mar 2001, 16:43:22):
Heute (Dienstag) spontanes Treffen im Mexx, ab 21 Uhr.

Spelli und LZ

-----------------------------------------------------------------------------



MS StaTi 22.3. 2001 (Foobar, 20. Mar 2001, 17:32:02):
Liebe Gemeinde,

ohne besonderen Anlass treffen wir uns ausnahmsweise am Donnerstag mal nicht
in unserer ueblichen Location sondern bei Brandir in der Bude.

Noch Fragen?
Keine?
Ok, machts gut.

Foobar

PS: Natuerlich wie immer gegen 20.07 Uhr.

-----------------------------------------------------------------------------



Re: MS StaTi 22.3. 2001 (Liara, 20. Mar 2001, 17:33:04):
~#! rn=Foobar rt=985105922 rg=treffen
~#! tid=985105922
Wo ist Brandirs Bude? ;-)
LZ

-----------------------------------------------------------------------------



Re: Re: MS StaTi 22.3. 2001 (Foobar, 20. Mar 2001, 17:34:28):
~#! rn=Liara rt=985105984 rg=treffen
~#! tid=985105922
Bei Gorog an der Kreuzung dem Fuss-/Fahrradweg folgen und dann irgendwo rechts
glaub ich...

FKZ

-----------------------------------------------------------------------------



Re^3: MS StaTi 22.3. 2001 (Wurzel, 20. Mar 2001, 17:47:55):
~#! rn=Foobar rt=985106068 rg=treffen
~#! tid=985105922
fahrradweg in muenster ist nicht wirklich eine konkrete ortsangabe, wenn
ich mich recht erinnere :)

selten eine stadt mit so vielen fahrraedern gesehen... als ob die sich
keine autos leisten koennen.

wurzel

-----------------------------------------------------------------------------



Re^4: MS StaTi 22.3. 2001 (Foobar, 20. Mar 2001, 17:55:54):
~#! rn=Wurzel rt=985106875 rg=treffen
~#! tid=985105922
Naja...

Muenster hat ca. 300.000 Einwohner, davon ca. 60.000 Studenten (Uni + FH). Da
gibt es schon mal das ein oder andere Fahrrad. Besonders erschreckend ist
jedoch der Umstand, dass es in Muenster mehr polizeilich registrierte
Fahrraeder gibt als Einwohner...

Dass die Anzahl der Fahrraddiebstaehle ebenfalls recht hoch ist muss man
eigentlich nicht erwaehnen :o)

Foobar

-----------------------------------------------------------------------------



Re^5: MS StaTi 22.3. 2001 (Wurzel, 20. Mar 2001, 17:57:42):
~#! rn=Foobar rt=985107354 rg=treffen
~#! tid=985105922
warum klaut da jemand fahrraeder, wenn fuer jeden mindestens eins da ist?
merkwuerdige leute :)

-----------------------------------------------------------------------------



Re: Spontanstammtisch Bonn (Liara, 20. Mar 2001, 18:13:02):
~#! rn=Liara rt=985103002 rg=treffen
~#! tid=985103002
Abgeblasen, da Bonn krank. :(

LZ

-----------------------------------------------------------------------------



Re^6: MS StaTi 22.3. 2001 (Gorog, 20. Mar 2001, 19:44:10):
~#! rn=Wurzel rt=985107462 rg=treffen
~#! tid=985105922
Hmm Brandirs Bude... was kosten denn da die Getraenke und seit wann hat er ne
Kueche in der man fuer mehr als 3 personen kochen kann?
Aber was solls, werd wohl kommen. Wie war noch mal der Weg? Bei mir raus und
dem Fahrradweg folgen?

Gorog, ins Labor umgezogen, weil da gibbet Coffee-free-refill

-----------------------------------------------------------------------------



Erinnerung StaTi Stgt (Mikage, 22. Mar 2001, 10:39:55):
Huhu Hasis!
Nochmal zur Erinnerung:
Ja, Leibniz und ich warten auf Euch! Und wollen was Spass haben! :o)
Uebrigens ist donnerstags in dem Brauhaus All u can eat --- in Sachen Spare
Ribs...
Ich freu mich schon! :o)
*knuddelparade* und Salto...
Mikage, haelt den zauberstab falsch herum

-----------------------------------------------------------------------------



Re: Erinnerung StaTi Stgt (Morgoth, 22. Mar 2001, 12:53:29):
~#! rn=Mikage rt=985253995 rg=treffen
~#! tid=985253995
Hmm, also wenn ich alles zusammenzaehle wollt ihr gruppensex ???

M* ;-)

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Anatol, 22. Mar 2001, 13:14:47):
Heute ist, wie jeden Donnerstag, wieder Stammtisch im kleinen Meierhof,
Karlsruhe. Da es bis dahin noch ueber sechs Stunden hin ist, wird Boing
irgendwann vermutlich nochmal ein Erinnerungsposting veroeffentlichen muessen.

Anatol ;)

-----------------------------------------------------------------------------



a propos treffen (Qitess, 22. Mar 2001, 13:20:00):
habe ich eigentlich schon die ConLeonis in braunschweig an diesem wochenende
erwaehnt?

QI**

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe (Deepblue, 22. Mar 2001, 13:21:02):
~#! rn=Anatol rt=985263287 rg=treffen
~#! tid=985263287
Heute ist in Stuttgart Stammtisch, da hat Karlsruhe Sendepause
Deep*->schmarrn()

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe (Anatol, 22. Mar 2001, 13:22:10):
~#! rn=Deepblue rt=985263662 rg=treffen
~#! tid=985263287
Du kommst zum Stuttgarter Stammtisch?
Au weia, ruft jemand im kleinen Meierhof an und sagt, dass da
heute ein halbes Duzend Leute (Fluechtlinge) mehr kommen?

Ana ;)

-----------------------------------------------------------------------------



Re: a propos treffen (Zarniya, 22. Mar 2001, 13:23:02):
~#! rn=Qitess rt=985263600 rg=treffen
~#! tid=985263600
Hmmm ein deutliches Beispiel, in dem man sieht, wie sich Werbung ins Gegenteil
umkehrt.

Marc

-----------------------------------------------------------------------------



Privatstammtisch (Grimmborn, 22. Mar 2001, 13:24:52):
Heute ist in Erlangen um 20 Uhr ein Stammtisch in kleinem Kreis in einem
fernoestlichen Restaurant angesetzt. 50% der Anwesenden sind auch tatsaechlich
Mudder aus dem MG (kind of), die beiden anderen sind nichtmuddende Gaeste.

Da es sich um eine geschlossene Gesellschaft handelt ist eine Nachfrage nach
dem genauen Ort sinnlos (wir wollen durchaus unter uns bleiben), aber ich
wollte auch mal was ankuendigen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Privatstammtisch (Foobar, 22. Mar 2001, 13:41:45):
~#! rn=Grimmborn rt=985263892 rg=treffen
~#! tid=985263892
Hallo.

Ich speise gleich zu Mittag. 100% der Anwesenden sind Mudder. Naemlich ich.
Besuch will ich keinen, wollte das aber auch mal ankuendigen.

Nachher muss ich noch Waesche waschen, da sind auch 100% der Anwesenden
Mudder, falls einer vorbeikommen will soll er das tun, ich oeffne aber nicht.

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: Privatstammtisch (Hight, 22. Mar 2001, 18:40:08):
~#! rn=Foobar rt=985264905 rg=treffen
~#! tid=985263892
so frueh schon blau ?!

-----------------------------------------------------------------------------



Re^3: Privatstammtisch (Montanus, 22. Mar 2001, 19:45:34):
~#! rn=Hight rt=985282808 rg=treffen
~#! tid=985263892

Da Boing die Erinnerungsmail nicht hinbekommen hat:
in 17 Minuten beginnt der Karlsruher Stammtisch im Kleinen Meierhof.
Deepblue kommt nicht.
Sonst wohl die ueblichen Verdaechtigen.

-----------------------------------------------------------------------------



Re^3: Stammtisch Karlsruhe (Bambi, 22. Mar 2001, 20:13:49):
~#! rn=Anatol rt=985263730 rg=treffen
~#! tid=985263287
Ich moechte nochmal darauf hinweisen, dass vor ein paar Minuten der Karlsruher
Stammtisch angefangen hat. Wer da hinwill sollte sich abhaengig von
seinem/ihrem derzeitigen Aufenthaltsort mehr oder minder schnell auf den Weg
begeben, sonst sind alle anderen weg, ehe er/sie/es dort ankommt.
Ach ja, ehe ichs vergesse. Wer Lust hat kann danach noch zur Erstsemesterfete
an der FH gehn.
MfG, Bambi.
PS. Danke fuer die Vorveroeffentlichung.

-----------------------------------------------------------------------------



Koelner-Treffen (Sugaan, 22. Mar 2001, 21:32:48):
Hallo alle miteinander,
da sich auf meinen letzten Artikel mal wieder so wahnsinnig viele LEute bei
mir gemeldet haben, die wirklich bereit waeren nach Koeln zu kommen oder auch
einfach sich in Koeln in eine bestimmte Kneipe zu bewegen - habe ich
beschlossen meinen Durst wo anders oder jedenfalls nicht ausschliesslich in
der Gesellschaft von muddern zu stillen.
Sugaan, die in Koeln auch Kneipen kennt in denen es nicht nur Koelsch gibt - d

-----------------------------------------------------------------------------



Re^4: Stammtisch Karlsruhe (Amaryllis, 23. Mar 2001, 00:09:46):
~#! rn=Bambi rt=985288429 rg=treffen
~#! tid=985263287
Da jetzt Freitag ist, findet heute kein Stammtisch im "Kleinen Meierhof"
statt. Ich schaetze mal, dass es sich jetzt auch kaum noch lohnen wird,
dorthin aufzubrechen.
Stattdessen bietet sich noch die Erstsemesterfete an der FH an. Wenn ihr
Glueck habt, trefft ihr dort noch auf einen angetrunkenen Nimbus oder eine
feiernde Regina Halmich, die dem Fuzzi Raab vorhin eins auf die Lichter
gegeben hat.

Ama*

-----------------------------------------------------------------------------



Re^5: Stammtisch Karlsruhe (Anacrion, 23. Mar 2001, 00:16:38):
~#! rn=Amaryllis rt=985302586 rg=treffen
~#! tid=985263287
Halmich oder Haumich ?

Und ueberhaupt ? Wieso verhaut die den Raab ?

Anac* - in Amiland und damit weeeiiiiitttweweeeeeggg ...

-----------------------------------------------------------------------------



Re^6: Stammtisch Karlsruhe (Wurzel, 23. Mar 2001, 02:30:00):
~#! rn=Anacrion rt=985302998 rg=treffen
~#! tid=985263287
wie hat sie so schoen gesagt?
sie hat noch nie einen mann so um schlaege betteln sehen :)
und er hat sie auch bekommen. gut so.

wurzel

-----------------------------------------------------------------------------



Re^4: Privatstammtisch (Boing, 23. Mar 2001, 11:15:31):
~#! rn=Montanus rt=985286734 rg=treffen
~#! tid=985263892
Ich habe schon lang keine Erinnerungsmail mehr geschrieben, diesen Job
hat ja inzwischen Bambi uebernommen. Ich muss also gar nicht mehr erwaehnen,
dass jeden Donnerstag um 20 Uhr Stammtisch in Karlsruhe im Kleinen
Meierhof (Zaehringer Strasse) ist.
  Boing

-----------------------------------------------------------------------------



Endlich ... (Ahab, 23. Mar 2001, 13:24:47):

... mal wieder Stammtisch in Dortmund!

Und zwar 

*****************************************************
**            am Freitag, 30.3.2001                **
**               ab ca. 20:00 Uhr                  **
**                                                 **
**                      im                         **
**                                                 **
**                  BOOMERANG                      **
**             Kuckelke 20, Dortmund               **
*****************************************************

Kommt zahlreich und durstig und hungrig. Fuer das
leibliche Wohl ist gesorgt, denn das ist ein australischer
Laden, also gips mit Sicherheit MKS- und BSE-freien
Mampf... aehm ... *kratz*


Thufhir? Hallo? Bist Du sicher, dass Du auch dabei bist,
obwohl's _kein_ MUUUUHHH gibt? ]:->


Ich hoffe, dass wir diesmal mehr Leute zusammenbringen
als das klaegliche Haeuflein beim letzten StaTi im
Januar. *grusel*


Ahab, denkt . o O (Es sollte doch moeglich sein,
                   mal wieder einen gut besuchten
                   Stammtisch zustande zu bringen.)

Damit ich nen Tisch reservieren kann, waers mir ganz lieb,
wenn Ihr mir kurz Bescheid sagt, wer alles vorbeikommen will.
Wegbeschreibungen gibts auch bei mir.

-----------------------------------------------------------------------------



Re: Endlich ... (Wurzel, 23. Mar 2001, 13:36:12):
~#! rn=Ahab rt=985350287 rg=treffen
~#! tid=985350287
australischer mampf? also straussensteak (lecker), kangaroobraten (naja)
und so zeug?

wurzel (hungrig)

-----------------------------------------------------------------------------



Re: Re: Endlich ... (Thufhir, 23. Mar 2001, 13:37:40):
~#! rn=Wurzel rt=985350972 rg=treffen
~#! tid=985350287
s'Zauberzwerch fuegt Krokodil und Emu hinzu... ;)
aber Ahab irrt, natuerlich gibts da MUHHH!

-----------------------------------------------------------------------------



Re^3: Endlich ... (Wurzel, 23. Mar 2001, 13:38:52):
~#! rn=Thufhir rt=985351060 rg=treffen
~#! tid=985350287
krokodil? hm, noch nie gegessen... wo war das nochmal? dortmund?

wurzel

-----------------------------------------------------------------------------



Re^4: Endlich ... (Thufhir, 23. Mar 2001, 13:41:29):
~#! rn=Wurzel rt=985351132 rg=treffen
~#! tid=985350287
ja, DORTMUND
kommet zahlreich! kann ja nich sein, dass uns andere StaTis den Rang ablaufen,
was groesse und gemuelle in der mpa angeht. ;)

-----------------------------------------------------------------------------



Re: Endlich ... (Morgoth, 25. Mar 2001, 20:30:39):
~#! rn=Ahab rt=985350287 rg=treffen
~#! tid=985350287
Hmm, ich denk schon, das es klappt.

M*++

-----------------------------------------------------------------------------



Stati in MS am 26.3.2001 (Menace, 26. Mar 2001, 00:15:29):
Auf Anfrage eines einzelnen Blindenhundes, hier der Termin und Ort fuer den
naechsten Muensteraner Stati:
Termin:         Do. 26.3.2001 (wie schon erwaehnt)
Zeit:           so ca. genau 20:03:47 Uhr (oder so)
Ort:            Kuba, Achtermannstrasse

Wegbeschreibungen bei mir, Foobar, oder wen ihr sonst so fragen wollt.

Der erste externe Besucher hat sich schon (so halb) angekuendigt.
Kommt zahlreich.

Menace

-----------------------------------------------------------------------------



Re: Endlich ... (Apollonia, 26. Mar 2001, 08:23:58):
~#! rn=Ahab rt=985350287 rg=treffen
~#! tid=985350287
Tja, solang der Stammtisch im Boomerang stattfindet, wird der wohl nicht
wirklich gut besucht sein... bei den Preisen.

Apollonia (auf der Suche nach einer Alternative)

-----------------------------------------------------------------------------



Re^5: Stammtisch Karlsruhe (Nimbus, 26. Mar 2001, 15:08:12):
~#! rn=Amaryllis rt=985302586 rg=treffen
~#! tid=985263287
Frechheit Ama*, ich war nuechtern wie ein Stockfisch :-)

Nimbus, empoert :)

-----------------------------------------------------------------------------



Re^6: Stammtisch Karlsruhe (Amaryllis, 26. Mar 2001, 16:18:38):
~#! rn=Nimbus rt=985612092 rg=treffen
~#! tid=985263287
sind Stockfische blau?
Keine Ahnung, in Meereskunde war ich noch nie gut :)

Ama*

-----------------------------------------------------------------------------



Re: Stati in MS am 26.3.2001 (Varlarion, 26. Mar 2001, 19:57:55):
~#! rn=Menace rt=985558529 rg=treffen
~#! tid=985558529
Schoen, der einzelne Blindenhund wird zu 95% da sein ;)
Ob allein, oder in Begleitung, kann ich allerdings noch nicht sagen...

Varl*, Blindenhund

-----------------------------------------------------------------------------



Re: Re: Stati in MS am 26.3.2001 (Mupfel, 26. Mar 2001, 22:47:42):
~#! rn=Varlarion rt=985629475 rg=treffen
~#! tid=985558529
Vielleicht schaff ichs ja auch, zu kommen ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Stati in MS am 26.3.2001 (Gorog, 28. Mar 2001, 12:59:55):
~#! rn=Mupfel rt=985639662 rg=treffen
~#! tid=985558529
Bei mir wirds wohl etwas spaeter, aber keine falsche Freude, ich komme sicher.

Gorog 

-----------------------------------------------------------------------------



Kino@Bonn (Liara, 28. Mar 2001, 16:33:47):
So, nu aber der ultimative 3. Versuch, sich in Bonn 'TIGER AND DRAGON'
anzusehen. ;-)
Termin:
            MONTAG, 2. APRIL, 23:15 Uhr im KINOPOLIS
                      (Bonn-Bad Godesberg)

Bidde mailt mir bis Sonntag, dann bestelle ich Karten.
Mudder mit fahrbaren Untersaetzen sind besonders willkommen. *g* 

LZ

-----------------------------------------------------------------------------



Re: Privatstammtisch (Marcus, 28. Mar 2001, 19:33:20):
~#! rn=Grimmborn rt=985263892 rg=treffen
~#! tid=985263892
Es war uebrigens total lecker :)

Ciao, Marcus (25% :)

-----------------------------------------------------------------------------



Koeln (Sky, 28. Mar 2001, 21:46:18):


Hi,
ich werde mich aller Vorraussicht nach am Wochenende
auf der IDS in Koeln rumtreiben. Wer abends Lust auf
n paar Bierchen hatt kann ja kurz Bescheid sagen.

Sky

-----------------------------------------------------------------------------



Morgen... (Ahab, 29. Mar 2001, 08:39:09):
ist es soweit: nachdem der des letzten Monats ausgefallen ist, findet 
wieder ein Stammtisch in Dortmund (im Boomerang) statt, und ich moechte hier
einfach nochmal daran erinnern. ;-)

Wer vorbeikommen moechte, sagt bitte kurz Bescheid, wer von ausserhalb kommt,
kann bei mir auch eine Wegbeschreibung bekommen.

Bis dahin,
Ahab.

P.S.: Dem Artikel von Apo entnehme ich, dass das Boomerang zwar bei einigen
recht beliebt ist, aber auch bei ner ganzen Menge Leute _nicht_, weil zu 
teuer. Wir waeren nicht abgeneigt, mal wieder zu wechseln, braeuchten dafuer
aber auch den einen oder anderen Tip, welchen Laden man mal ausprobieren
sollte.

Wer also was weiss, kann sich gerne melden, man koennte ja auch mal 
gemeinsam 'vorkosten' gehen... :-)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Freibier, 29. Mar 2001, 13:16:26):
Weil es heute noch gar keiner Geschrieben hat: 

Heute ist wieder Stammtisch in Karlsruhe. Vielleicht kommen sogar Special
Guests, vielleicht auch nicht. 

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Wurzel, 29. Mar 2001, 13:17:42):
~#! rn=Freibier rt=985864586 rg=treffen
~#! tid=985864586
und, wenn man der ankuendigung glauben darf, gibts da freibier :)
wenn das nicht ausreichend werbung ist...

wurzel

-----------------------------------------------------------------------------



Berlin - Rudelmudden (Gloinson, 30. Mar 2001, 00:27:43):
Das vage in Aussicht gestellt Rudeln dieses WE faellt aus wegen ausgedehnten
Bauarbeiten im interessierenden Pool.

Gloin(son) i.A. Martini

-----------------------------------------------------------------------------



StaTi in Stgt am 7. April (Mikage, 30. Mar 2001, 18:39:16):
Huhu Hasis! :o)
Es ist wieder soweit!
Leibi will Cocktails schluerfen ...
also ... am Samstag, den 7. April 2001 ab 19 00h 
wo? tja, ich wollte ins enschilada (oder wie ssich das schreibt), ein bisserl
mexikanisch 
Ich werde aber noch die genaue adresse durchgeben, aber auf jeden Fall wirde
es eine Lokalitaet in der Naehe von der S-Bahn Stadtmitte sein.
Schoenes WE! Ich mach Bonn unsicher! :o)
Mikage - *hoppel und freu*

Achja, Bescheid-eMAils nehme ich gerne entgegen > Reservierung :o))

-----------------------------------------------------------------------------



Re: Kino@Bonn (Liara,  1. Apr 2001, 12:53:59):
~#! rn=Liara rt=985790027 rg=treffen
~#! tid=985790027
Letzter Aufruf fuer TIGER and DRAGON in Bonn/Kinopolis!
Bisher 4 wild entschlossene Nasen ...
Mail an mich zwecks Vorbestellung.
Termin: Montag 2. April, 23:15 Uhr.

LZ

-----------------------------------------------------------------------------



Stati in Berlin (Golas,  2. Apr 2001, 08:31:05):
Welch Wunder ...

Wir haben mal wieder einen Stammtisch in ner Kneipe.
Freitag, 6.4.
Seeblick
2000

ich schlage diesmal bewusst das Seeblick vor, weil wir da keine Platzprobleme
haben ...

Golas der Ausrufer,

-----------------------------------------------------------------------------



Re: Stati in Berlin (Gandur,  2. Apr 2001, 08:54:33):
~#! rn=Golas rt=986193065 rg=treffen
~#! tid=986193065
diesmal mit special guest und ich werde wohl auch mal wieder da sein.

gandur (einzeilend und drohend ;)

-----------------------------------------------------------------------------



MS StaTi am 5.4.01 (Foobar,  2. Apr 2001, 21:28:37):
Liebe Gemeinde,

am 5.4.01 findet wie jeden Donnerstag der Muensteraner MG-StaTi statt,
natuerlich wie immer im "John Doe's Diner", Spiekerhof.

Uhrzeit: 20.07 Uhr

Foobar




-----------------------------------------------------------------------------



Re: MS StaTi am 5.4.01 (Mupfel,  2. Apr 2001, 21:47:38):
~#! rn=Foobar rt=986239717 rg=treffen
~#! tid=986239717
wie - wie immer ? seit wann ist das immer im john does?

-mupfel- (yberlegt noch opper kommt)

-----------------------------------------------------------------------------



Jetzetle > StaTi Stgt *** (Mikage,  4. Apr 2001, 16:54:49):
Huhu Hasis!
Ja, ich wollte nur kurz die Adresse durchgeben, damit keiner ne Ausrede hat,
er haette es nicht gefunden ...
Enchilada >>> Eberhardstr. 69 <<<< 70 173 Stuttgart
Ab 19h wie gesagt... ich reservier da mal nen Tischle :o)
Von der S-Bahn/ U-Bahn Stadtmitte stadtauswaerts gehen ... und links halten
(is nicht "soweit" wie letztens Sophies Brauhaus ... und wenn jemand ne
Panikattacke bekommt, weil die Wegbeschreibung so superuebel ist, dann kann
man sich ja auch vorher treffen ,... gelle?  Leibi mag so gerne Eskorte! ;o)
Beste Gruesse
MiK *hoppala ...*

-----------------------------------------------------------------------------



Re: Jetzetle > StaTi Stgt *** (Leibi,  4. Apr 2001, 19:03:11):
~#! rn=Mikage rt=986396089 rg=treffen
~#! tid=986396089
jaaa lass uns auf jeden fall vorher treffen.
wie waers mit dem mcdoof an der sbahn? oder wieder die kreuzung (bei der das
letzte mal schon keiner wusste, welche ich meine :)

leibi - freut sich auf die cocktails

-----------------------------------------------------------------------------



Re: Re: MS StaTi am 5.4.01 (Varlarion,  5. Apr 2001, 15:15:50):
~#! rn=Mupfel rt=986240858 rg=treffen
~#! tid=986239717
Ich glaube, mit "wie immer" meinte Foobar die Uhrzeit, 20:07h hat
immerhin eine _gewisse_ Tradition... *schulternzuck*

Jedefalls lass ich mir die leggeren Rippchen auf keinen Fall
entgehen, werd noch ein paar Leute mitbringen.

Varl*, (+4)

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  5. Apr 2001, 15:18:45):
Bevor mir wieder jemand zuvorkommt, moechte ich mal kurz erwaehnen,
dass heute mal wieder Stammtisch in Karlsruhe ist. Wie immer um 20
Uhr im Kleinen Meierhof.
  Boing

-----------------------------------------------------------------------------



Re: Jetzetle > StaTi Stgt *** (Imda,  5. Apr 2001, 23:10:14):
~#! rn=Mikage rt=986396089 rg=treffen
~#! tid=986396089
Wehe, denen geht wieder das Essen aus....

Imda. isst notfals auch Hasen.

-----------------------------------------------------------------------------



Re: Jetzetle > StaTi Stgt *** (Mikage,  6. Apr 2001, 09:54:53):
~#! rn=Mikage rt=986396089 rg=treffen
~#! tid=986396089
Ich bins wieder!
Also ... fuer alle, di evon mir an die Hand genommen werde wollen...
o)
Treffpunkt vorher 
um 18 45h bei der Lerche, Haltestelle U-/Stadtbahn Stadtmitte,
Rolltreppenaufgang
oki doki, seid zahlreich! Leibniz sieht ihre neues TShirt an! :o)))
*hops*
*mik*
PS Fuer Imda versteck ich auch Ohren ...

-----------------------------------------------------------------------------



Re: Re: Jetzetle > StaTi Stgt *** (Morgoth,  6. Apr 2001, 19:09:13):
~#! rn=Mikage rt=986543693 rg=treffen
~#! tid=986396089
Hmm, ist es durchsichtig? Dann komm ich auch vorbei. ;-))

M*

-----------------------------------------------------------------------------



ola .o) (Hight,  9. Apr 2001, 00:36:13):
hmmm gut ich wiederhole mich zwar abba nachdem ich zwei mal innerhalb einer
stunde gefragt wurde ...

            Besteht intresse an nem stammtisch in nuernberg ?

meldungen samt terminvorschlaege per mail an mich ,o)
aufgeben stellung fuer den abend wuerd ich dann vorschlagen:
devilchen davon zu ueberzeugen wieder zu mudden bevor ich lvl 115 bin oder so
,o)

YT Hight

-----------------------------------------------------------------------------



Re: ola .o) (Hight,  9. Apr 2001, 00:39:03):
~#! rn=Hight rt=986769373 rg=treffen
~#! tid=986769373
faellt mir noch ein das von naechster woche samstag bis 1.5 volksfest is ...
also die wochenenden scheiden aus weil der aufenthalt an den selbingen eh
schon verplant is 

prost

-----------------------------------------------------------------------------



Re: ola .o) (Amaryllis,  9. Apr 2001, 00:39:57):
~#! rn=Hight rt=986769373 rg=treffen
~#! tid=986769373
bevor du 115 bist?
Hm, dann ist das ja nicht so arg dringend... bis dahin duerfte sich Dev*
entweder ueberredet haben lassen oder ... naja so weit in die Zukunft kann ich
schlecht sehen :)

Ama*

-----------------------------------------------------------------------------



Re: Re: ola .o) (Hight,  9. Apr 2001, 00:58:47):
~#! rn=Amaryllis rt=986769597 rg=treffen
~#! tid=986769373
eben bevor ich 115 bin is das meg von ner scheibe zur pyramiede mutiert
fuercht ich 

-----------------------------------------------------------------------------



Re^3: ola .o) (Anacrion,  9. Apr 2001, 06:24:08):
~#! rn=Hight rt=986770727 rg=treffen
~#! tid=986769373
Das MG ist ne Scheibe ???

Also wenn Hilberts Trum unendlich hoch ist, ist das MG ne gerade, weil das
bisschen Scheibe unwesentlich gross ist. Klar ?

Anac*

-----------------------------------------------------------------------------



Stati Halle (Cassandra,  9. Apr 2001, 10:32:53):
Es wird mal wieder Zeit, und da auch einige schon gefragt haben.

Der naechste Stammtisch wird am 20.4 sein 20.00
Ort ist das YUMYum
Wer interesse hat meldet sich bitte bei mir,damit ich weis wie gross der Tisch
sein muss.

cassandra, sich freuend

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  9. Apr 2001, 22:28:14):


Wegen Karfreitag diesen Monat am dritten Freitag:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 20.4. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Boing, 12. Apr 2001, 13:24:01):
Das ich sowas nochmal schreiben muss:
Der Karlsruher Stammtisch findet heute NICHT wie gewohnt im Kleinen Meierhof
statt (der hat naemlich zu heute). Stattdessen treffen wir uns zur gewohnten
zeit (20 Uhr) im Litfass, das ist auch in der Zaehringerstrasse, zwischen
Kronenplatz und Marktplatz auf der rechten Seite. Da ist so ein kleiner
Platz vor einer Kirche, sollte leicht zu finden sein.
  Boing

-----------------------------------------------------------------------------



Re: ola .o) (Mieze, 15. Apr 2001, 19:05:16):
~#! rn=Hight rt=986769373 rg=treffen
~#! tid=986769373

ja, besteht.

Mieze - will auch mal wieder zum Stammtisch


-----------------------------------------------------------------------------



Stati Halle 2 (Cassandra, 16. Apr 2001, 21:30:07):
Nur nochmal zur erinnerung.
20.4 20Uhr im YumYum ist Stati in Halle
Anmeldungen zwecks reservierungen bitte bis zum 19. an mich
(dann gibts auch ne wegbeschreibung)

CU Cassy

-----------------------------------------------------------------------------



Stati-MS (Gorog, 18. Apr 2001, 13:00:56):
Moins

Da Foobar wohl etwas langsam is zur Zeit (grins) mach ich mal die
Ankuendigung. Wie fast immer findet das woechentliche Treffen im Jhon Does
Diner statt. Ebenfalls zu dem fast gewohnten Zeitpunkt (20.07). Der Tag wie
schon seit 3 Monaten ist malwieder Donnerstag.
also kommet zahlreich, kleines Goodie -> Brandir kommt vielleicht nicht, und
ich komm wohl spaeter.

Bis dahin
mfGorog

-----------------------------------------------------------------------------



Re: Stati-MS (Brandir, 18. Apr 2001, 14:00:36):
~#! rn=Gorog rt=987591656 rg=treffen
~#! tid=987591656
Korrektur:

Ich werde wohl doch kommen, aber eventuell mal wieder schon gegen 11 gehen
(ich hoffe mit Drachno :-) )

Brandir

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 18. Apr 2001, 14:01:29):
Lange nix mehr gewesen ...
Bitte Vorschlaege fuer nen brauchbaren Termin an mich.

LZ

-----------------------------------------------------------------------------



Re: Re: Stati-MS (Morgoth, 18. Apr 2001, 14:01:53):
~#! rn=Brandir rt=987595236 rg=treffen
~#! tid=987591656
Aha, Du wirst kommen und hoffst dann, mit Drachno gehen zu koennen ;-) ?? 
So einer bist Du also *grins*

M*

-----------------------------------------------------------------------------



Re^3: Stati-MS (Brandir, 18. Apr 2001, 14:03:05):
~#! rn=Morgoth rt=987595313 rg=treffen
~#! tid=987591656
Wieso war mir klar, dass mir das so ausgelegt wird? ;-)
Sei bloss still, sonst haut mich Ariana :)

Brandir

-----------------------------------------------------------------------------



Karl, Ruhe! (Montanus, 18. Apr 2001, 18:09:34):

Ha, Erster!
Morgen ist beim kleinen Meier in Karlsruhe im Hof Stammtisch.
Oder so. Erwartet werden die ueblichen Verdaechtigen.
Fragt aber Boing morgen nochmal.

-Montanus (kommt nicht (1))

-----------------------------------------------------------------------------



Re^6: (Sonder)StaTi Berlin (Golas, 21. Apr 2001, 11:24:37):
~#! rn=Grimman rt=987811899 rg=party
~#! tid=987716864
Golas schuettelt leicht verzweifelt den kopf ...

das mit den daten ueben wir nochmal. meintest du wirklich den 5.5.? daas waere
dann ein samstag ...
egal, ich bin an beiden terminen nicht anwesend ...

-----------------------------------------------------------------------------



Re^7: (Sonder)StaTi Berlin (Grimman, 21. Apr 2001, 16:38:07):
~#! rn=Golas rt=987845077 rg=treffen
~#! tid=987716864
Nein, dann mein ich halt den 4.5 ... ALSO WIE IMMER FREITAG ... ich werd jetz
nich nochmal alles neu schreiben

GrimMan - war wohl leicht verwirrt ...

-----------------------------------------------------------------------------



Stati in Freiburg (Humni, 22. Apr 2001, 19:12:12):
Huhu,

nachdem Imda nicht mehr lange unter uns vielen Freiburger Muddern weilen wird,
sollten wir schnellstens mal nen Stammtisch auf die Beine stellen.

Und zwar am Donnerstg, den 26.04.2001, um 20.00 Uhr im aspekt, irgendwo
zwischen Bertholdsbrunnen und Stadttheater.

Von ,stamm' kann da zwar noch keine Rede sein....aber egal.

Wenn wer von ausserhalb kommen mag solltet Ihr Euch melden, ich denke aber mal
dass man da keinen Tisch reservieren muss, hoff ich zumindest. Sonst waere das
ja Arbeit.

CU Humni
..

-----------------------------------------------------------------------------



Stammtisch in FR (Pertinaxe, 22. Apr 2001, 19:50:08):
Obwohl ich an dem Abend noch 2 andere Termin habe, werde ich
da tatsaechlich anruecken. Das ist ja schon fast ein
Jahrhunderterreignis. Da ich nur einen Teil der Karlsruher
und ein paar ganz wenige andere von Angesicht kenne,
schlage ich vor, dass ihr mit Strohut und Blumenstrauss
auftaucht. Dann hab ichs leichter euch zu finden.
Perti

-----------------------------------------------------------------------------



StaTi Muenster (Brandir, 22. Apr 2001, 22:38:08):
Tach zusammen!

Hiermit gebe ich, Brandir - auserkorener Stammtischausrufer der Region
Muenster - bekannt, dass der naechste Stammtisch am Donnerstag um 20:07 im
John Does Diners stattfinden werde. Ortsauskuenfte ueberall wo es
Ortsauskuenfte gibt.

Kommt Zahlreich,
Brandir

-----------------------------------------------------------------------------



Re: StaTi Muenster (Mupfel, 23. Apr 2001, 10:52:11):
~#! rn=Brandir rt=987971888 rg=treffen
~#! tid=987971888
Das wird ne kleine Runde, schaetz ich. Denn zeitgleich spielen Suyway to Sally
in Osnabrueck im HydePark... (nicht das ich da hingehe *schuettel*, aber
Varlarion, Anatol und einige andere wollten sich das antun ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: StaTi Muenster (Varlarion, 23. Apr 2001, 11:18:12):
~#! rn=Mupfel rt=988015931 rg=treffen
~#! tid=987971888
olles laestermaul, du willst doch nur schonmal den rotwein fuer
nachm konzert testen ;)

varl*, sich auf subway freuend

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 23. Apr 2001, 14:06:12):
Stammtisch Bonn im April:

Montag, 30.04.2001 (der folgende Dienstag ist der 1. Mai-Feiertag),
wie gehabt im MEXX, Sternenburgstrasse 18, Bonn-Poppelsdorf, 
ab 20 Uhr

Bidde Mails an mich, damit wir nicht nachher mit 20 Leuten an einem kleinen
Tischchen vegetieren muessen. ;-)

LZ

-----------------------------------------------------------------------------



Endlich wieder da: Der Paderborner Stammtisch ;-) (Ronda, 23. Apr 2001, 18:40:23):
Wir haben's tatsaechlich geschafft!

Am 28. April steigt der naechste Stammtisch in Paderborn - 19 Uhr im Gruenen
Frosch.

Bitte sagt mir vorher (!) Bescheid, ob Ihr kommen wollt - ich kenn' zwar die
Wirtin ein bisschen, aber trotzdem kanns sehr eng werden ;-)

Ronda *hofft auf Paderborner, Bielefelder, Muensteraner und Osnabruecker.
Mindestens ;-) *

-----------------------------------------------------------------------------



Re: StaTi Muenster (Gorog, 23. Apr 2001, 20:28:44):
~#! rn=Brandir rt=987971888 rg=treffen
~#! tid=987971888
Hmm, da ich am gleichen Tag ne andere Verpflichtung habe, werde ich wohl nicht
lange da sein, oder vielleicht gar nicht kommen.

mfGorog

-----------------------------------------------------------------------------



Re: Endlich wieder da: Der Paderborner Stammtisch ;-) (Ancalagon, 23. Apr 2001, 23:28:14):
~#! rn=Ronda rt=988044023 rg=treffen
~#! tid=988044023
tagchenknuddels!
Tja, ich waere ja total gern gekommen, geliebtes Eheweib! Zumal ich schon mal
im gruenen Frosch war! 
Leiderleiderleider muss ich am 28. mal wieder spitze Pfeile auf wehrlose
Sisalboards schmeissen........ *schnueff*
Naja, trotzdem viel Spass...

Knuddels,

Ancalagon

-----------------------------------------------------------------------------



StaTi in OS (Mupfel, 24. Apr 2001, 10:02:19):
...und zu allem Ueberfluss ist am 27.4. (Freitag) dann auch noch Stati in OS.
Mit dabei zumindest meine Wenigkeit ;) und die Ueberlebenden des Subway
Konzertes vom Vortag, ausserdem so'n komischer Bielefelder ;). Das ganze (wie
immer) bei mir, wer Lust verspuert, moege sich bei mir oder Varlarion per Mail
melden.

-mupfel-

-----------------------------------------------------------------------------



Re: StaTi in OS (Varlarion, 24. Apr 2001, 10:09:20):
~#! rn=Mupfel rt=988099339 rg=treffen
~#! tid=988099339
Da ich ohnehin nicht mehr schlafe, koennt ihr mich natuerlich auch
direkt ansprechen ;)

-----------------------------------------------------------------------------



Re^5: (Sonder)StaTi Berlin (Gloinson, 24. Apr 2001, 12:35:34):
~#! rn=Grimman rt=987811819 rg=party
~#! tid=987716864
Weeeeeeeeetttttter!

Nachdem das Wetter langsam menschenfreundliche Attribute in Betracht zieht
sollten wir ernsthaft ueber einen Grillplatz am Ende dieser Woche nachdenken.
Ich (wir?) suchen also:

- ein/zwei Grills
- einen Platz (an der Spree?) im Gruenen
- ein Auto (fuer Transport und Beschaffung des Grillmaterials)
- eine Liste (mit potentiell zu Grillenden, aeh Grillfreudigen)

Gloin(son), teilt die kleinen Kinder mit keinem.

PS: Dies ist ein Vorschlag. Wer von den Berliner zu dem Thema was zu aeussern
hat ist hiermit aufgefordert das laut deutlich und schnell zu tun. Evtl. habe
ich sogar schon ein Auto verfuegbar.



-----------------------------------------------------------------------------



Re^6: (Sonder)StaTi Berlin (Xenada, 24. Apr 2001, 12:46:26):
~#! rn=Gloinson rt=988108534 rg=treffen
~#! tid=987716864
> - eine Liste (mit potentiell zu Grillenden, aeh Grillfreudigen)
nenene...dann kommen wir lieber nicht, nicht das einer auf die idee kommen
koennte Toni auf den grill zu legen.

Xenada.

-----------------------------------------------------------------------------



Re^7: (Sonder)StaTi Berlin (Xenada, 24. Apr 2001, 12:49:22):
~#! rn=Xenada rt=988109186 rg=treffen
~#! tid=987716864
kaum gepostet kommen lauter dumme kommentare :)
Rikus grillt Dich aus der Ferne.
Fantaghiro teilt Dir mit: sei froh, dass ich da nich auftauchen werd... ich
Fantaghiro teilt Dir mit: grille kleine kinder, hunde, katzen... so ziemlich
Fantaghiro teilt Dir mit: alles was lebt (= [12:47]

Jaja....hier sind ja alle soooooooo gemein :)
Xenada.

-----------------------------------------------------------------------------



Re^8: (Sonder)StaTi Berlin (Greifax, 24. Apr 2001, 12:52:06):
~#! rn=Xenada rt=988109362 rg=treffen
~#! tid=987716864
um mit einer nicht naeher genannten person zu sprechen:

"ich mag kleine kinder ... ich schaff nur kein ganzes"

i.A.

-----------------------------------------------------------------------------



Re^6: (Sonder)StaTi Berlin (Solmyr, 24. Apr 2001, 12:55:34):
~#! rn=Gloinson rt=988108534 rg=treffen
~#! tid=987716864
Vielleicht is' ja vom letzten Oktoberfest noch ein ganzer Ochse ueber :)
Mal die alte Freundschaft zwischen Bayern und Preussen *zwinker zwinker*
aufleben lassen :)

Noe, ich waer dabei. Aber in der Planung bin ich nicht alzu bewandert.

Sol*

-----------------------------------------------------------------------------



Re^7: (Sonder)StaTi Berlin (Grimman, 25. Apr 2001, 17:12:32):
~#! rn=Solmyr rt=988109734 rg=treffen
~#! tid=987716864
Sorry, dies Idee muss ich blocken.
Sonderstati iat (auch) wegen Roadrunners Besuch geplant, da der aber erst so
ca. 20.00 bis 21.00 in Berlin aufschlaegt, meine ich, wir sollten den StaTi
ganz traditionell im Seeblick durchfuehren.

Hoffe ihr fuehlt euch nich allzusehr aufn Schlips getreten ...

GrimMan

-----------------------------------------------------------------------------



Re^8: (Sonder)StaTi Berlin (Gloinson, 26. Apr 2001, 00:55:42):
~#! rn=Grimman rt=988211552 rg=treffen
~#! tid=987716864
Keine Problem. Frage 2:
 Wie siehts aus, habt ihr Bock naechste Woche statt in den Seeblick zum
 Tierpark, Mellenseestr. 41, in unseren Studieclub (fuer uns "reserviert")
 zu kommen? Solmyr ist eingeladen zu mixen ;)

Gloin(son)

-----------------------------------------------------------------------------



Re^9: (Sonder)StaTi Berlin (Solmyr, 26. Apr 2001, 06:34:01):
~#! rn=Gloinson rt=988239342 rg=treffen
~#! tid=987716864
Ich mach aber meist starke Drinks, da kommt keiner mehr stehend raus :)
Nee, is schon klar. Standardsachen sind kein Thema.

Sol*

-----------------------------------------------------------------------------



Re^10: (Sonder)StaTi Berlin (Grimman, 26. Apr 2001, 23:00:20):
~#! rn=Solmyr rt=988259641 rg=treffen
~#! tid=987716864
Wuah ... na, ich hab diesen Winter ueberlebt, also ueberleb ich Solmyrs
Mischungen auch locker ... 
GrimMan - dafuer

-----------------------------------------------------------------------------



Re^11: (Sonder)StaTi Berlin (Solmyr, 26. Apr 2001, 23:55:24):
~#! rn=Grimman rt=988318820 rg=treffen
~#! tid=987716864
*HICKS* *BOERB*

ups

-----------------------------------------------------------------------------



StaTi Berlin (Grimman, 27. Apr 2001, 17:40:08):
Also, nochmal der letzte Hinweis:

Heute, 20.00, Cafe Seeblick!
Zahlreiches Kommen waere schoen :)

Nochmal fuer alle die es nich so genau wissen: 
Wegbeschreibung auf der MG-Seite, Rubrik Treffen, Unterrubrik Berlin :)

GrimMan - freut sich auf alle die da kommen.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  2. Mai 2001, 11:16:15):
Wenn sich waehrend meines Urlaubs nicht allzuviel veraendert haben sollte,
dann ist auch morgen wieder Stammtisch in Karlsruhe, um 20 Uhr im Kleinen
Meierhof. 
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Muadib,  2. Mai 2001, 11:54:22):
~#! rn=Boing rt=988794975 rg=treffen
~#! tid=988794975
kleiner meierhof? wo is der denn?

-----------------------------------------------------------------------------



StaTi 3.5.01 (Foobar,  2. Mai 2001, 16:24:04):



Liebe Gemeinde.

Auch im sog. Wonnemonat treffen wir uns wieder. Und zwar das naechste Mal am
Donnerstag, 3.5.01 wie immer um 20.07 Uhr im John-Doe's-Diner.

Ich hab Euch alle lieb.

Foobar

-----------------------------------------------------------------------------



Re: StaTi 3.5.01 (Foobar,  2. Mai 2001, 16:24:36):
~#! rn=Foobar rt=988813444 rg=treffen
~#! tid=988813444

Keine Ahnung wo die ganzen Leerzeilen herkamen.

-----------------------------------------------------------------------------



Re: Re: StaTi 3.5.01 (Gorog,  2. Mai 2001, 16:40:43):
~#! rn=Foobar rt=988813476 rg=treffen
~#! tid=988813444
Is doch schnurz, Hauptsache du hast uns alle lieb (;

mfGorog

-----------------------------------------------------------------------------



Stati Berlin (Versuch X)                                                  (Gloinson,  3. Mai 2001, 02:05:41):
Ich hoffe niemandem auf die Fuesse zu treten wenn ich die Berliner zum   
regulaeren Stammtisch diesmal nach Lichtenberg, genauer Ecke Tierpark,   
noch genauer nahe Haltestelle Mellenseestrasse/Sewanstrasse und exakt in 
den Club Melle in der Mellenseestrasse 41/Keller einlade.                
Ist zwar nur ein kleiner Studentenclub, aber er ist mit einer Option      
zur Grillmoeglichkeit vor dem Haus ausgestattet, was bei dem potentiell  
wechselhaften Wetter besser scheint als eine Festlegung aufs Grillen.  

Gloin(son)

PS: Wenn keiner Einspruch erhebt, hier der Weg von der Bushaltestelle aus:

                                          Richtung Tierpark      
                                         # |    |                
  #                ###                   # |    |
  #                ###    | |              /    |
  #                       | |             /     |
  #     _____________H____| |____________/    /| \____
  #    /                                    __________
  #   /    Sewanstr.______   ______________/
     /     /              | |     H         ####### 
    /     /               | | ##D###########        
   /     /                | | #  __________    X    
   |    |                 | | #            | | #    
   |    |                 | | #            | | #    
   |    |                 | | #            | | #    
   |    |                 | |______________| |___   
   |    |                 | _____________________   Mellenseestr.
   |    |                 | | ##################    
 Richtung Rummelsburg


# - Haeuser
H - Bushaltestelle Mellenseestrasse/Sewanstrasse
D - Durchgang
X - Schatz

-----------------------------------------------------------------------------



Re: Stati Berlin (Versuch X)                                                  (Solmyr,  3. Mai 2001, 02:07:40):
~#! rn=Gloinson rt=988848341 rg=treffen
~#! tid=988848341
Fehlt nur noch die Frage, was wir aus dem Tierpark entfuehren und auf
den Grill schmeissen :=)))

-----------------------------------------------------------------------------



Re: Re: Stati Berlin (Versuch X)                                                  (Gloinson,  3. Mai 2001, 02:12:17):
~#! rn=Solmyr rt=988848460 rg=treffen
~#! tid=988848341
Und natuerlich die Feststellung: Wenn einer Grillfleisch will, bis Freitag
Mittag sagen oder was mitbringen und Bescheid sagen (wegen Holzkohlencheck).

Gloin(son)

-----------------------------------------------------------------------------



Re^3: Stati Berlin (Versuch X)                                                  (Guard,  3. Mai 2001, 16:17:59):
~#! rn=Gloinson rt=988848737 rg=treffen
~#! tid=988848341
Xenada kommt doch mit Kind! :-)

-----------------------------------------------------------------------------



Re^4: Stati Berlin (Versuch X)                                                  (Golas,  3. Mai 2001, 16:55:19):
~#! rn=Guard rt=988899479 rg=treffen
~#! tid=988848341
Golas kommt gar nicht und wuenscht n guten ...

-----------------------------------------------------------------------------



Re^4: Stati Berlin (Versuch X)                                                  (Xenada,  3. Mai 2001, 17:00:39):
~#! rn=Guard rt=988899479 rg=treffen
~#! tid=988848341
Xenada kommt weder mit noch ohne Kind zum Stati.

-----------------------------------------------------------------------------



Re^5: Stati Berlin (Versuch X)                                                  (Gloinson,  4. Mai 2001, 02:38:24):
~#! rn=Xenada rt=988902039 rg=treffen
~#! tid=988848341
Und wen sollen wir dannn grillen? Solmyr hat zu viele Haare!

Gloin(son)
n




-----------------------------------------------------------------------------



Re^6: Stati Berlin (Versuch X)                                                  (Vanion,  4. Mai 2001, 06:35:40):
~#! rn=Gloinson rt=988936704 rg=treffen
~#! tid=988848341
Die schnurzeln ja weg beim grillen :)

V* muss Jof sei Dank nich mitfuttern :)

-----------------------------------------------------------------------------



*StaTi in STUTTGART* (Mikage,  5. Mai 2001, 14:11:50):
huhu ihr superhasen!
gestern haben leibniz und ich in endloser willkuer und bei leckeren cocktails
beschlossen, dass der naechste stati am 
23. Mai 2001 so gegen 19 30h
also am Tag vor Christi Himmelfahrt
stattfinden wird.
Wo genau .. mal sehen, wird noch gepostet, aber bestimmt wieder Naehe S-Bahn
Stadtmitte
und ne sicherheitseskorte fuer wegescriptlose oder zmudgeschaedigte (Moi!)
gibbet natuerlich auch ...
bis dahin zieh ich dann mal noch ein paar haeschen aus dem hut und freu mich
animalisch wild auf Muenster
*MiK*, und hopsassa

-----------------------------------------------------------------------------



Stammtisch D'dorf (Kartoffel,  6. Mai 2001, 23:03:24):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 11.5. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



MS StaTi 8.5.01 (Foobar,  7. Mai 2001, 11:38:03):
Moin.

Ausnahmsweise :o) treffen wir uns diese Woche am Dienstag, dem 8.5.01 und zwar
wie immer im John-Doe's-Diner gegen 20.07 Uhr.

Kommet zuha-hauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 8.5.01 (Obi,  7. Mai 2001, 12:08:57):
~#! rn=Foobar rt=989228283 rg=treffen
~#! tid=989228283
eigentlich sollte das nun unserer Standard-termin werden :-)

OBI

-----------------------------------------------------------------------------



Re: Re: MS StaTi 8.5.01 (Foobar,  7. Mai 2001, 14:16:25):
~#! rn=Obi rt=989230137 rg=treffen
~#! tid=989228283
Pssst.

Foobar

-----------------------------------------------------------------------------



Re^3: MS StaTi 8.5.01 (Gorog,  7. Mai 2001, 14:29:19):
~#! rn=Foobar rt=989237785 rg=treffen
~#! tid=989228283
Hey Du hast das grosse Werbeangebot vergessen! 
Jeder Burger (ausser einem, den eh nie jemand nimmt) kostet da Dienstags nur
10DM oder 5 Pfennig weniger. Also wenn das (obwohl Brandir auch da sein wird)
kein Grund zu koemmen ist ?!

mfGorog mit grossem Hunger 

-----------------------------------------------------------------------------



Re^4: MS StaTi 8.5.01 (Catweazle,  7. Mai 2001, 14:48:38):
~#! rn=Gorog rt=989238559 rg=treffen
~#! tid=989228283
Hey, laester nicht.
5 Pfennig ist ne Menge Geld. Du brauchst nur 200 mal zum Stammtisch zu kommen,
dann haste praktische einen fuer umsonst raus ...
YTC

-----------------------------------------------------------------------------



Re: Re: MS StaTi 8.5.01 (Mupfel,  7. Mai 2001, 20:37:11):
~#! rn=Obi rt=989230137 rg=treffen
~#! tid=989228283
Dienstag? Ist ja was ganz neues ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: MS StaTi 8.5.01 (Gorog,  7. Mai 2001, 23:07:17):
~#! rn=Mupfel rt=989260631 rg=treffen
~#! tid=989228283
Back to basic, gelle (;

mfGorog

-----------------------------------------------------------------------------



Re^4: MS StaTi 8.5.01 (Anatol,  8. Mai 2001, 12:18:47):
~#! rn=Gorog rt=989269637 rg=treffen
~#! tid=989228283
Wo doch MONTAGS das All-U-can-eat-Spareribs-Festival stattfindet... *schmoll*


-----------------------------------------------------------------------------



Kein Stammtisch in Karlsruhe (Jameson, 10. Mai 2001, 14:42:19):
Heute ist kein MG-Stammtisch. Nicht im Cafe Wien, nicht im Pfannenstiel und im
Vogel auch nicht.
Ich hab aber gehoert, dass sich ein paar Mudder im Kleinen Meierhof treffen,
so um 20h.
Warum und wozu weiss ich auch nicht.

jAmeson

-----------------------------------------------------------------------------



Re: Kein Stammtisch in Karlsruhe (Muadib, 10. Mai 2001, 17:25:26):
~#! rn=Jameson rt=989498539 rg=treffen
~#! tid=989498539
ok dann komm ich nicht ins cafe wien, nicht in den pfannenstiel und nicht ins
vogel stattdessen werde ich mich halt in den km begeben. ist das so richtig?

-----------------------------------------------------------------------------



Re: Kein Stammtisch in Karlsruhe (Boing, 10. Mai 2001, 17:29:48):
~#! rn=Jameson rt=989498539 rg=treffen
~#! tid=989498539
In Karlsruhe gab es eh noch nie einen MG-Stammtisch, das war naemlich schon
immer ein allgemeiner Mud-Stammtisch. :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Kein Stammtisch in Karlsruhe (Zook, 10. Mai 2001, 17:30:20):
~#! rn=Boing rt=989508588 rg=treffen
~#! tid=989498539
Stimmt, sogar mit theoretischen Muddern oder wie war das? ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: Kein Stammtisch in Karlsruhe (Jameson, 10. Mai 2001, 17:53:54):
~#! rn=Boing rt=989508588 rg=treffen
~#! tid=989498539
Dem widerspricht meine Formulierung nicht, oder? :)

jAmeson, *durstig*

-----------------------------------------------------------------------------



StaTi Hannover (Tilly, 14. Mai 2001, 15:30:52):
Naechsten Samstag, 19. Mai diesen Jahres, ist wieder StaTi in
Hannover.

Naehere Infos zu Oertlichkeit (wahrscheinlich das 'Exil') und
Zeit (wahrscheinlich 19-20h) unter www.chaosburg.de, Link 'muds
und lpc'.

Es sind alle interessierten (auch Nicht-) Mudder herzlichst
eingeladen :-)

 - Tilly - 

-----------------------------------------------------------------------------



Re: StaTi Hannover (Mupfel, 14. Mai 2001, 15:43:03):
~#! rn=Tilly rt=989847052 rg=treffen
~#! tid=989847052
Bin dabei ;) und Varlarion auch.

-mupfel-

-----------------------------------------------------------------------------



Re: Re: StaTi Hannover (Willow, 14. Mai 2001, 15:49:38):
~#! rn=Mupfel rt=989847783 rg=treffen
~#! tid=989847052
Vielleicht werde ich auch erscheinen - aber Zusage kann ich direkt noch nicht
geben.

-----------------------------------------------------------------------------



MS StaTi 15.5.01 (Foobar, 14. Mai 2001, 16:54:28):
Liebe Gemeinde,

die Party (und deren Folgen (Aua, mein Kopf)) ist noch nicht ganz rum und
schon trifft man sich wieder in Muenster.

Und zwar wie immer dienstags gegen 20.07 Uhr im "John Doe's Diner",
Spiekerhof.


Ich moechte hier noch mal darauf hinweisen, dass es dienstags im JDD immer die
Aktion "Burger-fuer-Billig" gibt, wo alle Burger (bis auf einen, den eh nie
einer nimmt) 9,80 DM kosten.

Kommet zuhauf!


Foobar

-----------------------------------------------------------------------------



Re: StaTi Hannover (Olli, 14. Mai 2001, 18:57:53):
~#! rn=Tilly rt=989847052 rg=treffen
~#! tid=989847052
Ich werd auch dabeisein :)

Olli

-----------------------------------------------------------------------------



Stati Darmstadt (Ark, 14. Mai 2001, 20:42:01):
Hi, ich will auch ueber die Party informiert sein, und berufe deshalb
trotzigerweise einen StaTi in DA ein, Datum unbekannt, aber vorzugsweise
Freitag/Samstag 25./26. Mai im Hotzenplotz oder bei gutem Wetter auch
Biergarten. Bitte um die ueblichen Teilnahmemails :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stati Darmstadt (Anacrion, 14. Mai 2001, 20:43:43):
~#! rn=Ark rt=989865721 rg=treffen
~#! tid=989865721
Und bitte einen fuerEnde Juli.

Anac* - ist dann auch da.

-----------------------------------------------------------------------------



Re: Re: Stati Darmstadt (Ark, 14. Mai 2001, 20:53:14):
~#! rn=Anacrion rt=989865823 rg=treffen
~#! tid=989865721
[Debug: Anacrion]: Wrong Argument for demnaechst(hier_in_darmstadt). Program:
"/std/stati/da/hotzenplotz.c", Zeile 1 (Anacrion)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Stati Darmstadt (Wurzel, 15. Mai 2001, 16:40:23):
~#! rn=Ark rt=989866394 rg=treffen
~#! tid=989865721
anyway: dabei, hoechstwahrscheinlich.

die wurzel allen uebels

-----------------------------------------------------------------------------



Re: Stati Darmstadt (Katzentante, 15. Mai 2001, 18:38:25):
~#! rn=Ark rt=989865721 rg=treffen
~#! tid=989865721
Ich kann an diesem Termin leider nicht dabei sein. SCHLUCHZ

Ich wuensche Euch allen aber dennoch viel Spass.

Katzi

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 16. Mai 2001, 13:46:43):
Es ist mal wieder soweit! Bonn ruft zum Stammtisch.

Am Mittwoch den 23ten Mai ab 20.00 Uhr
im "Da Franco" Sternenburgstr. 12, ist gleich neben dem Mex, daher werden
keine neuen Wegbeschreibungen geliefert ;)

Zusagen (dringend notwendig wegen Tischbestellung) bitte per Mail an Liara
oder mich.

Cinderelal *sich wie immer riesig drauf freuend*

-----------------------------------------------------------------------------



Re: Stati in Bonn (Cinderella, 16. Mai 2001, 13:48:02):
~#! rn=Cinderella rt=990013603 rg=treffen
~#! tid=990013603
Und nein ich habe nichts getrunken, und ja ich weiss wie ich geschrieben werde
;)

Cinderella

-----------------------------------------------------------------------------



MS StaTi 22.5.01 (Foobar, 17. Mai 2001, 17:32:28):
Hallo liebe Mitsuechtige!

Wie jeden dienstag treffen wir uns am kommenden, dem 22. Mai 2001 zu unserem
woechentlichen Stammtisch.

Diesmal findet er - wie koennte es anders sein - natuerlich im
John-Does'S-Diner statt, wie immer gegen 20.07 Uhr.

Ich moechte nochmals auf die absolut tolle "Burger-fuer-billig"-Aktion
hinweisen, bei der es fast jeden Burger fuer 9,80 DM gibt.


Unter http://www.john-does-diner.com/theway/way_indx.htm gibt es zudem eine
supertolle Webeschreibung inkl. Karte. Was will man mehr?

Gruss,

     Foobar

-----------------------------------------------------------------------------



StaTi Karlsruhe (Amaryllis, 17. Mai 2001, 17:34:22):
Da heute wieder Donnerstag ist, kann man davon ausgehen, dass sich wieder ein
paar Irr^H^H^HMudder zum StaTi im Kleinen Meierhof treffen werden.

Ama*, jedoch leider nicht dabei.

-----------------------------------------------------------------------------



Re: StaTi Karlsruhe (Montanus, 17. Mai 2001, 17:35:51):
~#! rn=Amaryllis rt=990113662 rg=treffen
~#! tid=990113662
Wenn Du grad dabei bist, koenntest Du eigentlich grad schonmal den fuer
naechste Woche ankuendigen.
Just my 2 cents

-Montanus (auch nicht dabei)

-----------------------------------------------------------------------------



Re: MS StaTi 22.5.01 (Liara, 17. Mai 2001, 19:04:10):
~#! rn=Foobar rt=990113548 rg=treffen
~#! tid=990113548
Du hast was vergessen, Foobar!
Es muss heissen: ... fast jeden Burger, bis auf einen, den sowieso nie jemand
nimmt ...

LZ ;-)

-----------------------------------------------------------------------------



Re: Re: MS StaTi 22.5.01 (Mupfel, 17. Mai 2001, 19:23:29):
~#! rn=Liara rt=990119050 rg=treffen
~#! tid=990113548
Aber welcher ist das? Nicht etwa der den ich immer nehme?

-mupfel-

-----------------------------------------------------------------------------



StaTi Erlangen (Marcus, 17. Mai 2001, 23:59:10):
Tja,

Der Stammtisch Erlangen war gerade eben, mit recht viel viel Wunderlaendlern
und einem TAPPMudler/MGLer.

Geruechten zufolge gibts naechste Woche Dienstag wieder einen, einfach mal
bei Sunrise@Wunderland nachfragen ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re: MS StaTi 22.5.01 (Catweazle, 18. Mai 2001, 07:59:27):
~#! rn=Foobar rt=990113548 rg=treffen
~#! tid=990113548
>> Was will man mehr?
All-you-can-eat-Rippchen fuer 14,50?

Achso, falscher Tach :)

YTC

-----------------------------------------------------------------------------



Hoehenstammtisch (Montanus, 18. Mai 2001, 21:40:26):
Morgen (Samstag, 19. Mai) ist mal wieder Hoehenstammtisch.
Und zwar diesmal auf Mt. Si (nahe North Bend, WA) auf knapp 5000 Fuss ueber
Meeresspiegel.
Parkplaetze gibts unten im Tal ausreichend.
Leider gibts keine Almhuette oben, gewuenschte Alkoholika muessen also selber
mitgebracht werden (andere Getraenke auch).
:-)

Und mal so ne Rundfrage an die anderen Amerikaner - machen wir mal nen
USA-Stammtisch oder nicht?

-----------------------------------------------------------------------------



Re: Hoehenstammtisch (Anacrion, 18. Mai 2001, 21:42:04):
~#! rn=Montanus rt=990214826 rg=treffen
~#! tid=990214826
Bin volldafuer ... 

Elberet fliegt nur bald heim .. ich fliege auch bald herim, komme aber bald
wieder ;-)

Arun promoviert wohl demnaechst in San Fran und ist laenger da ..

Anac* voll fuer treffen, macht aber grade \Praktikum, fliegt danach heim, und
kommt erst zu Studienbeginn im August wieder.

-----------------------------------------------------------------------------



Re: Re: Hoehenstammtisch (Montanus, 18. Mai 2001, 21:45:04):
~#! rn=Anacrion rt=990214924 rg=treffen
~#! tid=990214826
... und fuer memorial Day bekommt man wahrscheinlich keine Billigfluege
mehr...


-----------------------------------------------------------------------------



Re: Stati Darmstadt (Kasimir, 19. Mai 2001, 19:59:44):
~#! rn=Ark rt=989865721 rg=treffen
~#! tid=989865721
Ich werde kommen (wieder mal ohne Katzi  *grins*)
Kasimir

-----------------------------------------------------------------------------



Stati Leipzig/Halle (Kaff, 20. Mai 2001, 22:19:18):
Hab mich mal nach einem passenden Treffpunkt umgesehn und kuendige daher mal
an:
Am 1.6.2001 um 20.00 Stammtisch im 'Eden am Park' in Leipzig.
Wer kommen will sagt am besten vorher bescheid, damit ich weiss wieviel
Plaetze ich ungefaehr reservieren muesste. 
Diejenigen kriegen auch eine Wegbeschreibung :-) (In den naechsten Tagen werde
ich auch eine ins Netz stellen.)

Bis denne
Kaff

-----------------------------------------------------------------------------



***StaTi Stgt*** am 23.Mai 01 (Mikage, 21. Mai 2001, 23:05:57):
Huhu Hasis!
Also - wie angekuendigt ...
StaTi am 23. Mai 2001 
Siphies Brauhaus - Marienstr. 28 ab 19 30h
Eskorte: um 19 15h an U-Bahn Station Stadtmitte an der Lerche,
Rolltreppenaufgang
Kommt zahlreich - ich bin es auch!
Ich reservier sogar nen Tischle!
hihi...
*MiKaGe* --- und hops!

-----------------------------------------------------------------------------



Re: ***StaTi Stgt*** am 23.Mai 01 (Leibi, 22. Mai 2001, 19:02:53):
~#! rn=Mikage rt=990479157 rg=treffen
~#! tid=990479157
huhu hasi :)

also ich bin da :)

leibi

-----------------------------------------------------------------------------



Re: Re: ***StaTi Stgt*** am 23.Mai 01 (Imda, 23. Mai 2001, 14:47:50):
~#! rn=Leibi rt=990550973 rg=treffen
~#! tid=990479157
Soo, nochn klein bischn Werbung:

Wir werden einen bekannten Magier da haben, der alle FP aus seinen Gebieten
verraet...
Ausserdem zieht Mikage ihr Netz-Tshirt an.

Also, Kinder, wenn sich das mal nich lohnt ;) Kommt in Scharen !

Imda. Wie war das mit Werbeaussagen und Eigenschaftszusicherungen ;)

-----------------------------------------------------------------------------



Re^3: ***StaTi Stgt*** am 23.Mai 01 (Wurzel, 23. Mai 2001, 15:03:06):
~#! rn=Imda rt=990622070 rg=treffen
~#! tid=990479157
zugesicherte eigenschaften sind verbindlich und einklagbar.
mit dem magier kannst du dich noch drumherummogeln, wenn der entsprechende
typ z.b. keine gebiete dran hat. bei dem netz-tshirt musst du dafuer grade
stehen :)

wurzel

-----------------------------------------------------------------------------



** StaTi Zuerich ** (Zillus, 23. Mai 2001, 15:04:14):
Jaaaaaaa! Es gibt in Zuerich wieder mal einen Stammtisch!

Wir treffen uns am Freitag, 25. Mai 2001, um 18 Uhr im Restaurant Vorbahnhof
in Zuerich. 
Anmeldungen, Wegbeschreibungen usw. bitte bei Raventhrone erfragen. Bzw. das
Rest Vorbahnhof ist eben genau vor dem Bahnhof, das findet man sowieso :)

i.A. des ad-interim-Oks, 
     Zillus

PS hab die Ankuendigung extra nicht in schweizerdeutsch verfasst, damit alle
was verstehen sollten :)

-----------------------------------------------------------------------------



Re^4: ***StaTi Stgt*** am 23.Mai 01 (Isi, 23. Mai 2001, 15:04:24):
~#! rn=Wurzel rt=990622986 rg=treffen
~#! tid=990479157
Es war nicht davon die rede, dass er/sie nichts unter dem tshirt anhat ;)
Isi (moussewerfend)

-----------------------------------------------------------------------------



Re: ** StaTi Zuerich ** (Amaryllis, 23. Mai 2001, 15:05:12):
~#! rn=Zillus rt=990623054 rg=treffen
~#! tid=990623054
Leider vieeeeel zu kurzfristig angekuendigt.

Ama*, muss Freitag nach Koeln fliegen.

-----------------------------------------------------------------------------



Re^5: ***StaTi Stgt*** am 23.Mai 01 (Wurzel, 23. Mai 2001, 15:08:13):
~#! rn=Isi rt=990623064 rg=treffen
~#! tid=990479157
voellig klar. die aussage war aber eindeutig: netztshirt muss angezogen sein.
wo, ist dabei nebensaechlich :) das problem wird eigentlich nur dann eins,
wenn besagtes tshirt an dem tag z.b. in der waesche ist...
im normalfall kann man fuer sowas besondere vereinbarungen treffen. nicht
aber dann, wenn es sich um eine zugesicherte eigenschaft handelt :)

wurzel

-----------------------------------------------------------------------------



Re^6: ***StaTi Stgt*** am 23.Mai 01 (Mupfel, 23. Mai 2001, 19:02:10):
~#! rn=Wurzel rt=990623293 rg=treffen
~#! tid=990479157
Mikage im Netzshirt? Ich glaub den Stati lass ich aus ;)

-mupfel-

-----------------------------------------------------------------------------



Re^7: ***StaTi Stgt*** am 23.Mai 01 (Humni, 24. Mai 2001, 12:29:08):
~#! rn=Mupfel rt=990637330 rg=treffen
~#! tid=990479157
Mikage war zwar gar nicht im Netzshirt, der Stati war aber trotzdem gut.

humni, Kopfschmerzend an Imdas Rechner sitzend, welchselbiger noch pennt.

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Boing, 24. Mai 2001, 14:04:24):
Heute abend ist ausnahmsweise mal kein Stammtisch im Kleinen Meierhof,
der hat naemlich wegen Feiertag zu. Stattdessen treffen wir uns um 20
Uhr beim Iren (Old Dublin).
  Boing

-----------------------------------------------------------------------------



Jena? (Deepblue, 25. Mai 2001, 09:07:26):
Gibt es hier noch Mudder aus Jena und umgebung, die Lust auf nen Treffen
haben? Ich bin noch voraussichtlich bis Ende Juni hier - aber nur
wochentags...

-----------------------------------------------------------------------------



F E S T !!! D A R M S T A D T   F E I E R T (Ark, 25. Mai 2001, 14:33:55):
Statt des anvisierten Stammtisches werden wir (hoffentlich wird das ein "wir")
auf das Schlossgrabenfest gehen. Wir treffen uns um 20.00 Uhr vor dem
Haupteingang bei der Polizei. Nein, nicht wegen irgendwelcher Leute mit
Netzschoert ohne was drunter, sondern weil es so uebersichtlich ist ;^)
Wegbeschreibung fuer Nimmermuede im Netz zu finden *faulsei*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: F E S T !!! D A R M S T A D T   F E I E R T (Wurzel, 25. Mai 2001, 14:34:58):
~#! rn=Ark rt=990794035 rg=treffen
~#! tid=990794035
die url fehlt noch: www.schlossgrabenfest.de

wurzel

-----------------------------------------------------------------------------



Re: Stati Leipzig/Halle (Kaff, 26. Mai 2001, 18:26:29):
~#! rn=Kaff rt=990389958 rg=treffen
~#! tid=990389958
Wie versprochen hab ich eine Wegbeschreibung ins Netz gestellt.
Ihr findet sie unter:
http://www.imn.htwk-leipzig.de/~mwiesne/Stati/

Tschues
Kaff

-----------------------------------------------------------------------------



DA Ende Juni (Kasimir, 27. Mai 2001, 19:26:04):
Hei Leute
Auf einen Vorschlag von mir (und deswegen laedt diesmal nicht Ark ein)
findet der naechste Stammtisch in Darmstadt am Freitag, den 29.6.01 ab 

1900h im bayerischen Biergarten (Buergerpark) statt. Wer nicht aus der
Region kommt, kann mich nach einer Wegbeschreibung fragen
(bombarad@t-online.de). Bei schlechtem Wetter ab 2000h im Hotzenplotz.
Bis dahin Kasimir

-----------------------------------------------------------------------------



Re: DA Ende Juni (Anacrion, 27. Mai 2001, 19:28:27):
~#! rn=Kasimir rt=990984364 rg=treffen
~#! tid=990984364
Hngl.
2 Wochen spaeter bin ich auch da.

Anac* - Juni noch in USAland ansaessig

-----------------------------------------------------------------------------



Re: Re: DA Ende Juni (Wurzel, 27. Mai 2001, 19:45:34):
~#! rn=Anacrion rt=990984507 rg=treffen
~#! tid=990984364
wird nicht das letzte mal sein, dass wir stammtisch machen :)

wurzel - weiterhin in da ansaessig

-----------------------------------------------------------------------------



Re^3: DA Ende Juni (Anacrion, 27. Mai 2001, 19:50:34):
~#! rn=Wurzel rt=990985534 rg=treffen
~#! tid=990984364
Ich bin nur fuer 4 wochen oder so da.

Anac*

-----------------------------------------------------------------------------



Re^4: DA Ende Juni (Elberet, 27. Mai 2001, 19:51:24):
~#! rn=Anacrion rt=990985834 rg=treffen
~#! tid=990984364
4 Wochen heisst genug zeit fuer nen Stati, oder?

Elbi

-----------------------------------------------------------------------------



Re^5: DA Ende Juni (Wurzel, 27. Mai 2001, 19:51:54):
~#! rn=Elberet rt=990985884 rg=treffen
~#! tid=990984364
denk ich auch. werden wir beim naechsten mal drueber reden :)

wurzel

-----------------------------------------------------------------------------



Re^6: DA Ende Juni (Elberet, 27. Mai 2001, 19:52:29):
~#! rn=Wurzel rt=990985914 rg=treffen
~#! tid=990984364
also 2 Statis sind echt besser als keiner ;)

Elbi

-----------------------------------------------------------------------------



Re^7: DA Ende Juni (Anacrion, 27. Mai 2001, 19:53:00):
~#! rn=Elberet rt=990985949 rg=treffen
~#! tid=990984364
Ja. Der USA-Stati ist irgendwie ja ins Wasser gefallen *seufz*

Anac*

-----------------------------------------------------------------------------



Re^8: DA Ende Juni (Elberet, 27. Mai 2001, 19:53:12):
~#! rn=Anacrion rt=990985980 rg=treffen
~#! tid=990984364
schnief

Elbi

-----------------------------------------------------------------------------



Stati am Sa, 09.06.2001 in H (Wum, 27. Mai 2001, 20:25:12):
In Hannover findest mal wieder ein neuer Stati statt. AL gemischt mit dem Rest
der Welt:
 Auf Wunsch eines ungenannten Erzmagiers am SAMSTAG, 09.06.2001 in Hannover. 
Weitere Infos wie Anfahrt sind zu finden unter: www.chaosburg.de , rechts im
Frame gibs da was ueber Muds und Lpc und dort was ueber Statis. Schau Dir den
Stati vom AL an.

-----------------------------------------------------------------------------



MS-Stati im Fegefeuer (Brandir, 27. Mai 2001, 21:59:00):
Hihoo!

Da der kommende Freitag der erste (Freitag) im Juni ist, wird an diesem
besagten Freitag ein Muensteraner MG-Stammtisch im Fegefeuer stattfinden.
Was noch geklaert werden muesste ist, ob dafuer nun der Dienstag ausfaellt,
oder ob der Freitag einfach zusaetzlich eingeschoben wird. (Bitte gebt mal
eure geschaetzte Meinung dazu ab)


Wegbeschreibungen ueberall da wo es Wegbeschreibungen gibt.

Brandir - spiesst schonmal die Raeuber auf

-----------------------------------------------------------------------------



Re: MS-Stati im Fegefeuer (Foobar, 27. Mai 2001, 22:00:09):
~#! rn=Brandir rt=990993540 rg=treffen
~#! tid=990993540
Natuerlich findet der am Dienstag statt, da ich auf Fegefeuer keinen Bock hab.

Foobar

-----------------------------------------------------------------------------



vergesslich (Muadib, 28. Mai 2001, 12:45:36):
am donnerstag um 20.00h is was im Kleinen Meierhof in Karlsruhe. was genau hab
ich vergessen

-----------------------------------------------------------------------------



Re: vergesslich (Bielefeld, 28. Mai 2001, 13:12:31):
~#! rn=Muadib rt=991046736 rg=treffen
~#! tid=991046736
Macht nichts, ich komme sowieso nicht :)

-Bielefeld
(irgendwann aber mal...)

-----------------------------------------------------------------------------



Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Ronda, 28. Mai 2001, 13:22:31):
... damit ist doch eigentlich schon alles gesagt, oder?

Es waere klasse, wenn wir diesmal Unterstuetzung aus Bielefeld, Muenster oder
sogar Osnabrueck bekommen - wegen der Salate, Schlemmerpfaennchen und
Kartoeffelchen lohnt sich echt die weiteste Anreise ;-)

Ronda - steht auch fuer Fragen zur Anreise zur Verfuegung.

-----------------------------------------------------------------------------



Re: vergesslich (Rardian, 28. Mai 2001, 14:10:36):
~#! rn=Muadib rt=991046736 rg=treffen
~#! tid=991046736
Ist da nicht die Diashow von deinem Tauchurlaub? Oder war die schon?

Rar, ununiformierter Uninformierter ;)

-----------------------------------------------------------------------------



Re: Re: vergesslich (Muadib, 28. Mai 2001, 14:48:42):
~#! rn=Rardian rt=991051836 rg=treffen
~#! tid=991046736
hmm ok, ich erklaer mich gerne bereit an dem stati alle dias zu meinem urlaub
zu zeigen, die ich gemacht habe :)

-----------------------------------------------------------------------------



Re: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Mupfel, 28. Mai 2001, 17:32:01):
~#! rn=Ronda rt=991048951 rg=treffen
~#! tid=991048951
Da is nu grade Stati in Hannover... schade, ich waer sogar gekommen.

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Ronda, 28. Mai 2001, 17:51:12):
~#! rn=Mupfel rt=991063921 rg=treffen
~#! tid=991048951
Args. Ok, um das Chaos perfekt zu machen - sollen wir in PB das ganze um eine
Woche nach hinten legen? Passt das besser?

Ronda *heute zerstruwwelt*

-----------------------------------------------------------------------------



Frage: Stati Berlin (Gloinson, 28. Mai 2001, 18:48:39):
Pfingsten: Prenzlberg/Lichtenberg/Garnichtberg?

Gloin(son) guckt fragend

-----------------------------------------------------------------------------



Re^3: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Mupfel, 28. Mai 2001, 23:09:42):
~#! rn=Ronda rt=991065072 rg=treffen
~#! tid=991048951
Das ware ne nette Idee, Ronda.

-mupfel-

-----------------------------------------------------------------------------



Re: Frage: Stati Berlin (Linflas, 29. Mai 2001, 01:14:23):
~#! rn=Gloinson rt=991068519 rg=treffen
~#! tid=991068519
Prenzlberg  - Wo sonst?
Wie waers mit dem 23? Das liegt bei mir gleich um die Ecke ;-)

Linflas, kommt auch gerne vorbei :)


-----------------------------------------------------------------------------



Re: Re: Frage: Stati Berlin (Linflas, 29. Mai 2001, 01:17:26):
~#! rn=Linflas rt=991091663 rg=treffen
~#! tid=991068519
Achso, und Pfingsten waer naetuerlich ein klasse Termin :)
Alternativ bei gutem Wetter schlage ich hiermit den Mauerpark vor.

Linflas.

-----------------------------------------------------------------------------



Re^3: Frage: Stati Berlin (Golas, 29. Mai 2001, 11:13:56):
~#! rn=Linflas rt=991091846 rg=treffen
~#! tid=991068519
macht mal, ich werde mir halbnackte frauen in zehlendorf anschauen ...
golas fies grinsend und neidisch machend :>

-----------------------------------------------------------------------------



Re^4: Frage: Stati Berlin (Gloinson, 29. Mai 2001, 11:49:33):
~#! rn=Golas rt=991127636 rg=treffen
~#! tid=991068519
Hmmm. Pornos in Zehlendorf gucken? Und da soll ich neidisch drauf werden?
Ja, wie siehts jetzt aus mit dem StaTi am Freitag?

Gloin(son)

-----------------------------------------------------------------------------



stellenaushang (Golas, 29. Mai 2001, 11:56:43):
da ich in letzter zeit irgendwie rel selten bei berliner statis war, biete ich
mal meinen posten als ausrufer an ...
bist du (fast) immer auf berliner statis?
bist du oft im mud anwesend?
bist du bereit ggf sonder-stati auszurufen?

dann bist du genau der richtige ;)

golas abdankend

-----------------------------------------------------------------------------



Stati KA (Amaryllis, 29. Mai 2001, 16:00:44):
Am Donnerstag is wieder Stati im Kleinen Meierhof in Karlsruhe. Obwohl das
Pfingstwochenende vor der Tuer steht, sind keine Special Guests zu erwarten -
auch Amaryllis wird nicht da sein.

Ama*

-----------------------------------------------------------------------------



Re: Stati KA (Boing, 29. Mai 2001, 16:07:04):
~#! rn=Amaryllis rt=991144844 rg=treffen
~#! tid=991144844
Meines Wissens sind sehr wohl special guests zu erwarten, zumindest einer.
Aber was will man erwarten, wenn hier jeder unkundige sich daran versucht,
die Stammtischankuendigung zu schreiben. :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Stati KA (Amaryllis, 29. Mai 2001, 16:10:03):
~#! rn=Boing rt=991145224 rg=treffen
~#! tid=991144844
Asche auf mein Haupt...

Nunja, jedenfalls stimmen die wichtigsten Eckdaten...
Uhrzeit uebrigens wie ueblich, also so 19.30 - 20.00 Uhr :)

Ama*, kichernd :)

-----------------------------------------------------------------------------



Re^3: Stati KA (Boing, 29. Mai 2001, 16:11:39):
~#! rn=Amaryllis rt=991145403 rg=treffen
~#! tid=991144844
Uargh ... das wird ja immer schlimmer!
Bitte, Bitte, BITTE schreib NIE wieder eine Ankuendigung fuer den 
Karlsruher Stammtisch! Der Beginn ist um 20 Uhr! Nicht frueher.
  Boing

-----------------------------------------------------------------------------



Re^4: Stati KA (Amaryllis, 29. Mai 2001, 16:14:39):
~#! rn=Boing rt=991145499 rg=treffen
~#! tid=991144844
Sorry, zu meinen Karlsruher Zeiten war der immer um 19.30 Uhr... :)
Aber ich hoer ja schon auf...

Also: Stati KA, Kleiner Meierhof, Donnerstach, 20 Uhr, mit special guests,
ohne Ama*

Zufrieden? :)

Ama*, wird irgendwann hoffentlich auch mal wieder kommen koennen.

-----------------------------------------------------------------------------



BERLIN (Gloinson, 29. Mai 2001, 16:32:01):
Na jut, denn ruf ich ma'. Hab ja oft jenuch jeprobt *hust*

Hiermit rufe ich offiziell den Stammtisch Berlin zum 8.Juni (Freitag) aus.
Wiederum in der Mellenseestrasse 41/Keller. Steak- und Wuerstchenbestellungen
bis Mittwoch (naechster Woche) bitte an mich mailen, denn Grillmoeglichkeit
ist vorhanden.
Wieso schon wieder da? Ha! Weil es sich elegant verbinden laesst - alle
Turborudler koennen nach dem StaTi mit dem Bus N3 nach Adlershof fahren, da
ich denke dass Pitfall und das Adlershofsche Rudelgesocks nicht abgeneigt sind
schon Freitag Nacht zu beginnen.

Gloin(son) sammelt Baaliner in Scharen.

PS: Den Posten mog i oba net.

-----------------------------------------------------------------------------



Re^3: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Luzie, 29. Mai 2001, 16:32:24):
~#! rn=Ronda rt=991065072 rg=treffen
~#! tid=991048951
Ja, genau, lasst uns auch so ein Chaos machen, wie die Karlsruher hier ;-)
Eine Woche Spaeter passt jedenfalls bei uns auch.

Luzie (freut sich auch, wenn viele kommen)

-----------------------------------------------------------------------------



Re^4: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Boing, 29. Mai 2001, 16:34:23):
~#! rn=Luzie rt=991146744 rg=treffen
~#! tid=991048951
Chaos? In Karlsruhe? Ich bin empoert! Niemand hat so einen wunderschoen
geregelten Stammtisch, dass sogar Externe in ankuendigen koennen (wenn
auch mit Anfaengerfehlern *Ama angrins*). Das Chaos herrscht in Muenster! :)
  Boing

-----------------------------------------------------------------------------



Re^5: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Luzie, 29. Mai 2001, 16:40:49):
~#! rn=Boing rt=991146863 rg=treffen
~#! tid=991048951
Achso? Naja, aber wartet nur ab, die Paderborner kriegen das auch noch
hin mit dem Chaos. ;-) Wir sind ja auch schon auf dem Weg dahin...
   Luzie

-----------------------------------------------------------------------------



Re^5: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Catweazle, 29. Mai 2001, 16:59:22):
~#! rn=Boing rt=991146863 rg=treffen
~#! tid=991048951
Was denn fuern Chaos?

Ist heut eigentlich Stammtisch?

YTC

-----------------------------------------------------------------------------



Re^6: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Maarg, 29. Mai 2001, 17:03:06):
~#! rn=Catweazle rt=991148362 rg=treffen
~#! tid=991048951
Natuerlich ist heute Stammtisch, und zwar wie immer im John-Does-Diner, und
zwar wie immer gegen 20.07 Uhr.

Die Tatsache, dass naechsten Freitag ein Sonderstammtisch stattfindet - wie
immer im Fegefeuer - aendert nichts an der supertollen
"Burger-fuer-Billig"-Aktion im JDD.

Kommet zuhauf!

Maarg.

PS: Aber das stand doch alles schon in der MPA...

-----------------------------------------------------------------------------



Re^3: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Salandrion, 29. Mai 2001, 17:27:29):
~#! rn=Ronda rt=991065072 rg=treffen
~#! tid=991048951
Mir passen beide Termine.
/Salandrion

-----------------------------------------------------------------------------



Re^7: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Mupfel, 29. Mai 2001, 19:21:33):
~#! rn=Maarg rt=991148586 rg=treffen
~#! tid=991048951
Ich glaub, die Osnabruecker kommen heut net...

-mupfel-
P.S.: sollte Anatol kommen, ist trotzdem kein Osnabruecker da - Anatol ist
"der Schwabe" ;)

-----------------------------------------------------------------------------



Re^5: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Mupfel, 29. Mai 2001, 19:22:40):
~#! rn=Boing rt=991146863 rg=treffen
~#! tid=991048951
Kann ich nur bestaetigen. Auf dem KA Stati gehts ruhig und geruhsam zu... ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Bielefeld, 29. Mai 2001, 23:05:42):
~#! rn=Mupfel rt=991156960 rg=treffen
~#! tid=991048951
Man sollte nur den Kellner nicht ueberfordern... :)

-Bielefeld, hat mal versucht, dort "Ein Bier" zu bestellen.

-----------------------------------------------------------------------------



Re: BERLIN (Solmyr, 30. Mai 2001, 01:53:36):
~#! rn=Gloinson rt=991146721 rg=treffen
~#! tid=991146721
Och noe, das ist echt zum dumm. Linflas Vorschlag sich im Mauerpark mit einem
kuehlen Bier (fuer Rochus Cola) zu treffen, waer viel viel besser. Ich schaff
das sonst auch immer abends nicht, da ich danach arbeiten gehe.

Sol*, telnet hassend, Mauerpark oder Cafefreund

-----------------------------------------------------------------------------



Re^5: Paderborn. 9.6.2001. 19 Uhr Gruener Frosch (Foobar, 30. Mai 2001, 04:07:29):
~#! rn=Boing rt=991146863 rg=treffen
~#! tid=991048951
Chaos? In Muenster? Da wissen immer alle Bescheid... Woran liegt das bloss...
In KA weiss keiner der Externen wann wo StaTi ist... In MS schon :o)

Foobar - total betrunken. Typos bei Catweazle einreichen

-----------------------------------------------------------------------------



Re^3: Stati KA (Muadib, 30. Mai 2001, 08:58:03):
~#! rn=Amaryllis rt=991145403 rg=treffen
~#! tid=991144844
hmmmja nur um das zu korrigieren: der stati dauert schon laenger als ne halbe
stunde (meistens) und beginnt um 20.00Uhr. Wer um 19.30 da ist, kann sich aber
prima mit dem Wirt unterhalten :)

muadib *sollte ich das nicht woertlich nehmen?*

-----------------------------------------------------------------------------



Re: Re: BERLIN (Linflas, 30. Mai 2001, 10:16:38):
~#! rn=Solmyr rt=991180416 rg=treffen
~#! tid=991146721
Genau, wieso sollen wir denn in die Mellenseestr., wenn niemand weiss wo das
ist? :)
Also Stati in der Prenzlberg!

Linflas.

-----------------------------------------------------------------------------



Re^3: BERLIN (Solmyr, 30. Mai 2001, 10:19:39):
~#! rn=Linflas rt=991210598 rg=treffen
~#! tid=991146721
Genau, Seeblick oder ein anderes Cafe/Kneipe bitte. Mauerpark im Sommer waer
auch ne tolle Sache. Fuer etwaigige Aendderungen der Location sollte man
endlich mal 'ne richtige aktuelle Berliner Mailinglist erstellen. Haette damit
kein Problem.

Sol*

-----------------------------------------------------------------------------



Re^4: BERLIN (Pitfall, 30. Mai 2001, 10:35:11):
~#! rn=Solmyr rt=991210779 rg=treffen
~#! tid=991146721
abgelehnt :)
stati in lichtenberg mit anschliessendem rudeln

-----------------------------------------------------------------------------



Re: Re: BERLIN (Apollonia, 30. Mai 2001, 10:53:28):
~#! rn=Solmyr rt=991180416 rg=treffen
~#! tid=991146721
Rochus trinkt auch Multivitaminsaft. Oder Wein. Hab ich selbst schon gesehen,
jaja :o)

Apo* (die Familienehre rettend)

-----------------------------------------------------------------------------



Re^3: BERLIN (Solmyr, 30. Mai 2001, 10:54:05):
~#! rn=Apollonia rt=991212808 rg=treffen
~#! tid=991146721
Ja, wie verlege ich jetzt Deinen Artikel nach schmarrn ?! :=)))

Sol*

-----------------------------------------------------------------------------



Re^3: BERLIN (Pitfall, 30. Mai 2001, 10:54:07):
~#! rn=Apollonia rt=991212808 rg=treffen
~#! tid=991146721
also das mit dem multisaft kann ich bestaetigen
auch wenn ich immer noch nich glaub dass das rochus war
muss ein clon gewesen sein

-----------------------------------------------------------------------------



Re^4: BERLIN (Gloinson, 30. Mai 2001, 13:24:00):
~#! rn=Pitfall rt=991212847 rg=treffen
~#! tid=991146721
Rochus ist kein Clown. Und Rochus clonen - soviel Cola gibt es gar nicht.

Gloin(son) sagt mal: Mail mir mal, wer wo statien moechte ...

-----------------------------------------------------------------------------



STATI AC? (Humni, 30. Mai 2001, 13:58:05):
Ich ueberlege, dieses Wochenende evtl. nochmal in die alte Heimat zu fahren,
und was fuer ein Zufall, das ist ja glatt der erste Freitag im Monat...

Frueher, so damals, ganz ganz frueher, zu Team:Aachen-Zeiten...erinnert ihr
euch? War das so ein Stammdatum...fuer einen Stati...

Also, ist ausser mir jemand da, oder lohnt sich das nicht, Freitags schon
anzureisen?

Ein fragender Humni

-----------------------------------------------------------------------------



Re: STATI AC? (Darkwing, 30. Mai 2001, 15:21:51):
~#! rn=Humni rt=991223885 rg=treffen
~#! tid=991223885
also Fizban hatte evtl. die Woche drauf was geplant wenn ich mich nicht
irre...

-----------------------------------------------------------------------------



Re: Re: STATI AC? (Humni, 30. Mai 2001, 16:43:01):
~#! rn=Darkwing rt=991228911 rg=treffen
~#! tid=991223885
schade, dann kann ich nicht.

Naja egal..komm ich halt erst Samstag dahin...

*snief*

Humni

-----------------------------------------------------------------------------



Re^4: BERLIN (Gloinson, 30. Mai 2001, 22:47:48):
~#! rn=Solmyr rt=991210779 rg=treffen
~#! tid=991146721
Auf Anregung von Mysterious - nichts haelt uns davon ab unsere Serie von
Oft-Oefter-Immer-Stammtischen fortzusetzen und diese Woche im Mauerpark zu
statien und naechste Woche (weil es sich eben anbietet) in Lichtenberg in der
Melle.

Gloin(son)

PS: Ausser dass Tini&ich diesen Freitag nicht da sind und den nicht ausrufen.

-----------------------------------------------------------------------------



Re^5: BERLIN (Arancia, 30. Mai 2001, 23:07:34):
~#! rn=Gloinson rt=991255668 rg=treffen
~#! tid=991146721
Warum immer Freitags? *seufz*

-----------------------------------------------------------------------------



Re^6: BERLIN (Pitfall, 30. Mai 2001, 23:08:14):
~#! rn=Arancia rt=991256854 rg=treffen
~#! tid=991146721
schlag nen andern termin vor und wir gucken wer alles da is :)

-----------------------------------------------------------------------------



Re^7: BERLIN (Linflas, 31. Mai 2001, 08:51:40):
~#! rn=Pitfall rt=991256894 rg=treffen
~#! tid=991146721
Mistwetter!

Linflas, hat sich auf den Mauerpark gefreut und grummelt jetzt.

-----------------------------------------------------------------------------



Re^8: BERLIN (Gloinson, 31. Mai 2001, 09:50:41):
~#! rn=Linflas rt=991291900 rg=treffen
~#! tid=991146721
Um es fuer Pitfall nochmal deutlich zu machen: Da Pfingsten ist und damit
einige Leute laengere Urlaube vornehmen (inklusive meiner) und weil naechste
Woche Rudeln angekuendigt ist, deshalb ruf ich _einen_ StaTi fuer naechste
Woche Freitag aus. Fuer alles andere an diesem Freitag wuensche ich gutes
Wetter (auch mir) und eine gesunde Leber.

Gloin(son), verschwindet zur VL

-----------------------------------------------------------------------------



Re^9: BERLIN (Pitfall, 31. Mai 2001, 09:51:56):
~#! rn=Gloinson rt=991295441 rg=treffen
~#! tid=991146721
es soll ja auch leute geben die ueber pfingsten nicht wegfahren.
daher rufe ich fuer die verbleibenden hiermit morgen zum stati
im seeblick auf
wie immer ab so 20 uhr oder so

pit* 

-----------------------------------------------------------------------------



Paderborn - verlegt. (Ronda,  1. Jun 2001, 17:11:17):
Hi,

noe, nicht nach Schmarrn, auch wenns da vielleicht hingehoert: Der Stammtisch
in Paderborn wird nun definitiv verlegt. Neuer Termin:

16.6.2001, 19 Uhr, Gruener Frosch.

Bitte sagt mir Bescheid, wenn Ihr kommen wollt, damit ich einen moeglichst
grossen Tisch reservieren kann.

Tschuess,

Ronda *noch aus Paderborn*

-----------------------------------------------------------------------------



Re: Paderborn - verlegt. (Ronda,  1. Jun 2001, 17:13:28):
~#! rn=Ronda rt=991408277 rg=treffen
~#! tid=991408277
Und gleich nen Reply dazu: Weitere Infos zum Gruenen Frosch gibt's uebrigens
seit kurzem auch im Web:

http://www.gruener-frosch.de/

Ronda *hat jetzt schon Hunger ;-)*

-----------------------------------------------------------------------------



Re: DA Ende Juni (Katzentante,  3. Jun 2001, 14:57:34):
~#! rn=Kasimir rt=990984364 rg=treffen
~#! tid=990984364
Wow. Wenn Kasimir einlaedt, dann bin ich doch hoffentlich dabei. Gruss Katzi

-----------------------------------------------------------------------------



Erlanger Bergmudtreffen (Grimmborn,  3. Jun 2001, 15:44:27):
Hiermit kuendige ich fuer 17 Uhr auf dem Berg ein Treffen Erlanger Mudder mit
Gast an. Allerdings sage ich nicht wo der Treffpunkt ist, damit nicht lauter
Idioten dazu kommen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Erlanger Bergmudtreffen (Gor,  4. Jun 2001, 14:23:25):
~#! rn=Grimmborn rt=991575867 rg=treffen
~#! tid=991575867
Einer reicht ja schon, und der wird auf jeden Fall da sein oder? ;)

-----------------------------------------------------------------------------



Re: Erlanger Bergmudtreffen (Hight,  4. Jun 2001, 18:49:40):
~#! rn=Grimmborn rt=991575867 rg=treffen
~#! tid=991575867
sehr genial ! ich glaube ichbin ca 34 tage 2 stunden zu spaet dran ... 
seit wann gibts eigentlichnoch mudder aus der gegend ?

egal wenn wieder bergmudder -> n bissi frueher sagen


-----------------------------------------------------------------------------



Re: Re: Erlanger Bergmudtreffen (Grimmborn,  4. Jun 2001, 19:45:49):
~#! rn=Hight rt=991673380 rg=treffen
~#! tid=991575867
OK.
Naechstes Jahr werden sich auf der Erlanger Bergkirchweih auch wieder
kurzfristig ein paar Mudder zusammenfinden und ein, zwei Glaeschen Bier
trinken.
War das frueh genug angekuendigt?

Grimmborn der Atheist

-----------------------------------------------------------------------------



stammtisch D'dorf (Kartoffel,  4. Jun 2001, 20:24:33):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 8.6. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re^9: BERLIN (Gloinson,  4. Jun 2001, 20:40:06):
~#! rn=Gloinson rt=991295441 rg=treffen
~#! tid=991146721
Hm, irgendwie zweifle ich, dass die bisher eingetroffenen "1 Mails" zum Thema
"Ich will grillen!" repraesentativ sind. Bitte n Gloinson mailen, nicht an
Gloin.

Gloin(son)

-----------------------------------------------------------------------------



Re^3: Erlanger Bergmudtreffen (Hight,  4. Jun 2001, 22:03:22):
~#! rn=Grimmborn rt=991676749 rg=treffen
~#! tid=991575867
ja abba bis dahin hab ichs wieder vergessen ... sollte ich aufn berch gehen
die tage (werde ich sehr warscheinlich tun) hoff ich einfach auf gutes wetter
und zieh das t-shirt auch berlin an ,o)

hight

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Mieze,  4. Jun 2001, 23:03:52):

Hi Leuts,

nach langer Abstinenz gibbet mal wieder einen Stammtisch in Muenchen.

Wann?     Freitag, 22.06.2001  (19:30 Uhr)
Wo?       Das wird noch bekannt gegeben. Falls jemand einen guten Tip hat,
kann er sich vertrauensvoll an uns (Hyena, Siouxie, Rantanplan oder Mieze)
melden :o)

Mieze - will auch mal wieder auf nen Stammti


-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Mieze,  4. Jun 2001, 23:05:22):
~#! rn=Mieze rt=991688632 rg=treffen
~#! tid=991688632

s/melden/wenden/g

Mieze - vi-verliebt


-----------------------------------------------------------------------------



Re: Re: Stammtisch in Muenchen (Hight,  4. Jun 2001, 23:18:57):
~#! rn=Mieze rt=991688722 rg=treffen
~#! tid=991688632
hmm vorbereitungsstress ... mal gucken das entscheide ich fruehestens am
naechste woche ... wenn ich komm wird devilchen warscheinlich auch auftauchen 

gruss hight

-----------------------------------------------------------------------------



MS StaTi 5.6.01 (Foobar,  5. Jun 2001, 15:34:47):
Moin.

Falls es jemand noch nicht wissen sollte: Heute ist wieder Dienstag, was
impliziert dass sich in Muenster, im John Doe's Diner, mal wieder einige
Mudder treffen, um die sagenhafte "Burger-fuer-billig"-Aktion zu nutzen.

Das ganze so gegen 20.07 Uhr.

Man sieht sich,

     Foobar

-----------------------------------------------------------------------------



** StaTi Zuerich ** (Raventhrone,  5. Jun 2001, 15:36:09):
Sali mitenand,

Der Stammtisch in Zuerich wird fortgesetzt, ich hoffe noch einige Male. 
Naechster Schweizer StaTi findet am Freitag, 15. Juni 2001, wieder im Rest. 
Vorbahnhof, in Zuerich statt. Und zwar um 18:30 Uhr.

Wegbeschreibungen gibts dieses Mal von Anoris, Anmeldungen bitte per 
(Mud)-Mail an mich, zwecks ev. Reservierung.

MfG
raven*

-----------------------------------------------------------------------------



Re: MS StaTi 5.6.01 (Critter,  5. Jun 2001, 16:22:06):
~#! rn=Foobar rt=991748087 rg=treffen
~#! tid=991748087
leider klappts bei mir diesmal nicht aber vielleicht naechstes mal

-----------------------------------------------------------------------------



H A M B U R G (Bielefeld,  5. Jun 2001, 17:23:54):
Moin!

Auch in und um Hamburg gibt es ein paar verwegene Mudder, die sich
wieder einmal treffen. Und zwar ist am Freitag, den 08.06. ab 
19.30 ein Tisch in der Backatelle, Fuhlsbuettler Strasse 136,
(5 Minuten Fussweg von der U-Bahnstation Barmbek) reserviert.

-Bielefeld (in froher Erwartung)

-----------------------------------------------------------------------------



Re: Paderborn - verlegt. (Daria,  5. Jun 2001, 18:10:03):
~#! rn=Ronda rt=991408277 rg=treffen
~#! tid=991408277
Tja...
Da koennen Sala und ich wieder nicht...
Sorry!
Daria *seufz*

-----------------------------------------------------------------------------



Re: H A M B U R G (Lolli,  6. Jun 2001, 10:28:52):
~#! rn=Bielefeld rt=991754634 rg=treffen
~#! tid=991754634
Alle Mudder Hamburgs vereinigt euch!
Und bringt ja ein paar Partybilder mit, damit es was zum grinsen gibt :-).
Also, Freitag is Pflichttermin fuer "aus und um Hamburger Mudder".
Bis denne,

Lolli.

-----------------------------------------------------------------------------



Re^10: BERLIN (Gloinson,  7. Jun 2001, 16:32:07):
~#! rn=Gloinson rt=991680006 rg=treffen
~#! tid=991146721
Grillen ist nicht (mangels Willen Eurerseits). Aber wir schauen ob wir eine
groessere Tuete Studiefutter ranschleppen. Wahlweise auch Hafer.

Gloin(son)

-----------------------------------------------------------------------------



Re^11: BERLIN (Anacrion,  7. Jun 2001, 16:33:37):
~#! rn=Gloinson rt=991924327 rg=treffen
~#! tid=991146721
Und besorg Gras ...

Ich meine schoeses gruenes, frisch gemaehtes Gras ...... hinterher kommen
Elbi, Thufhir oder so und haben nix zu essen ;-)

Anac*

-----------------------------------------------------------------------------



Re^12: BERLIN (Gloinson,  7. Jun 2001, 17:55:19):
~#! rn=Anacrion rt=991924417 rg=treffen
~#! tid=991146721
Ich hab irgendwo noch ein paar Saecke Pellets mit Kraftfutter. Ich glaub
letztes Jahr oder so. Wenn ihr dann in der richtigen Stimmung seid dann
koennen wir ja Eurer Muhen ueben.

Gloin(son)

-----------------------------------------------------------------------------



Re^13: BERLIN (Wurzel,  7. Jun 2001, 18:24:41):
~#! rn=Gloinson rt=991929319 rg=treffen
~#! tid=991146721
wann gibts dann das filet?

wurzel

-----------------------------------------------------------------------------



Re^12: BERLIN (Thufhir,  7. Jun 2001, 19:34:07):
~#! rn=Anacrion rt=991924417 rg=treffen
~#! tid=991146721
gras, soso, so werden wir muhs also eingeschaetzt... aber keine angst, ich bin
(leider) erstmal nich...
s'Zaubermuh^h^h^hzwerch Thufhir

-----------------------------------------------------------------------------



Re^13: BERLIN (Thufhir,  7. Jun 2001, 19:34:37):
~#! rn=Thufhir rt=991935247 rg=treffen
~#! tid=991146721
... aeh in Berlin... ;)

-----------------------------------------------------------------------------



Re^14: BERLIN (Anacrion,  7. Jun 2001, 19:56:03):
~#! rn=Thufhir rt=991935277 rg=treffen
~#! tid=991146721
Also wenn man Deinen ersten Artikel liest, meint man, du wuerdest Gras rauchen
und nicht essen ;-)

Anac*
,

-----------------------------------------------------------------------------



Re^15: BERLIN (Deepblue,  7. Jun 2001, 19:58:15):
~#! rn=Anacrion rt=991936563 rg=treffen
~#! tid=991146721
Du weisst doch:
Gras is the way of nature to say hi.
DeepBlue, schmarrend.

-----------------------------------------------------------------------------



Re: stammtisch D'dorf (Kartoffel,  7. Jun 2001, 20:42:39):
~#! rn=Kartoffel rt=991679073 rg=treffen
~#! tid=991679073

Tigerauge und ich werden etwas verspaetet (gegen 20.30 Uhr) aufschlagen, da TA
erst um 20.00 Uhr aus Marburg zurueck ist.

'Toffel

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Anatol,  7. Jun 2001, 21:12:45):
Inzwischen knapp ein-einviertel Stunden alt ist der heutige Stammtisch
in Karlsruhe - wie fast jeden Donnerstag ab 20:00 im Maierhof, Karlsruhe.

Boing wird alt. ;o)

Ana* 

-----------------------------------------------------------------------------



MS StaTi 12.06.01 (Foobar,  7. Jun 2001, 22:21:45):
Liebe Gemeinde.

Wie jeden Dienstag treffen sich auch am naechsten die muensterschen Mudder.
Und natuerlich wieder im "John-Doe's-Diner".

An dieser Stelle moechte ich die Gelegenheit nutzen, auf das absolut
spektakulaere Angebot "Burger-fuer-billig" hinzuweisen, wobei jeder Burger
(bis auf einen, den nie einer nimmt) nur DM 9,80 kostet.

Ist das nicht super [tm]?

Kommet zuhauf!

Foobar

PS: Falls ihr so gegen 20.07 Uhr auftaucht seid Ihr puenktlich ansonsten
entweder zu spaet oder zu frueh.

-----------------------------------------------------------------------------



Re^12: BERLIN (Morgoth,  8. Jun 2001, 00:38:19):
~#! rn=Anacrion rt=991924417 rg=treffen
~#! tid=991146721
Du meinst zu rauchen....aeh ;-)

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe (Boing,  8. Jun 2001, 08:54:02):
~#! rn=Anatol rt=991941165 rg=treffen
~#! tid=991941165
Der Stammtisch war schon lange vorher angekuendigt, Du musst nur die
Rubrik aufmerksam verfolgen. :)
  Boing
PS: Naechste Woche findet er uebrigens wegen Feiertag im Old Dublin statt!

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe (Muadib,  8. Jun 2001, 13:10:39):
~#! rn=Boing rt=991983242 rg=treffen
~#! tid=991941165
boing hat recht, der teil mit dem altwerden ist damit aber nicht
notwendigerweise inkorrekt

muadib

-----------------------------------------------------------------------------



StaTi Hannover (Erinnerung) (Tilly,  8. Jun 2001, 16:22:22):
Zur Erinnerung: Morgen, Samstag 09. Juni, Stammtisch in Hannover.

Beginn: 19.30h im Exil.

Naeheres unter www.chaosburg.de

 - Tilly - 

-----------------------------------------------------------------------------



Re: StaTi Hannover (Erinnerung) (Varlarion,  8. Jun 2001, 16:24:05):
~#! rn=Tilly rt=992010142 rg=treffen
~#! tid=992010142
Varlarion packt schon :)

+2

-----------------------------------------------------------------------------



Re: StaTi Hannover (Erinnerung) (Vanion,  8. Jun 2001, 17:31:27):
~#! rn=Tilly rt=992010142 rg=treffen
~#! tid=992010142
Waaah, Auto kapuppt - dabei is das Essen im Exil so lecker.

Heisst, ich hab wieder ne zu gute Ausrede :/
V*

-----------------------------------------------------------------------------



Re: StaTi Hannover (Erinnerung) (Olli,  8. Jun 2001, 21:34:11):
~#! rn=Tilly rt=992010142 rg=treffen
~#! tid=992010142
Jajaja, mehr als anmelden kann ich mich nich :)

Olli - wird etwas spaeter dazustossen...

-----------------------------------------------------------------------------



Schon wieder: H A M B U R G (Bielefeld,  9. Jun 2001, 00:49:28):
Moin!

Gerade aus der Kneipe zurueck und schon gibts den naehcsten Termin:
In Hamburg werden aller Voraussicht nach am Freitag, den 15.06.01
eine Horde liebenswerte harmlose Verrueckte das Brauhaus
Groeninger unsicher machen. Weitere Details folgen...

-Bielefeld (diesmal nur "i.A.")

-----------------------------------------------------------------------------



Re: Schon wieder: H A M B U R G (Varlarion,  9. Jun 2001, 00:51:00):
~#! rn=Bielefeld rt=992040568 rg=treffen
~#! tid=992040568
"liebenswerte harmlose Verrueckte" Das kann doch kein mud-StaTi sein, oder? ;)

-----------------------------------------------------------------------------



Re: Re: Schon wieder: H A M B U R G (Bielefeld,  9. Jun 2001, 00:51:34):
~#! rn=Varlarion rt=992040660 rg=treffen
~#! tid=992040568
Tschuldigung, ich dachte, vielleicht fasst sich ja mal ein kleiner
Spieler ein Herz und erwaegt mitzukommen... ;)

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Schon wieder: H A M B U R G (Varlarion,  9. Jun 2001, 00:51:58):
~#! rn=Bielefeld rt=992040694 rg=treffen
~#! tid=992040568
MUHARHARHAR

-----------------------------------------------------------------------------



Re: StaTi Hannover (Erinnerung) (Mupfel,  9. Jun 2001, 02:24:58):
~#! rn=Tilly rt=992010142 rg=treffen
~#! tid=992010142
wer kommtn eigentlich? (ausser jenandra bierchen varlarion tilly und olli)?

-mupfel-

-----------------------------------------------------------------------------



Re: Re: StaTi Hannover (Erinnerung) (Jenandra,  9. Jun 2001, 02:26:48):
~#! rn=Mupfel rt=992046298 rg=treffen
~#! tid=992010142
Lugia :-)

-----------------------------------------------------------------------------



Re^3: StaTi Hannover (Erinnerung) (Mupfel, 10. Jun 2001, 02:18:23):
~#! rn=Jenandra rt=992046408 rg=treffen
~#! tid=992010142
ich sehs ;)

-mupfel-

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 10. Jun 2001, 16:03:24):
********** Bonner Stammtischausruferposten zu vergeben! **********

Da ich zur Sonntagsmudderin verkomme, lege ich die Stammtischankuenderei in
die Haende eines/mehrerer interessierter Bonner!
Die Mailliste stelle ich gerne zur Verfuegung.

Gruesse,
LSZZ

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 10. Jun 2001, 18:49:01):
Am kommenden Mittwoch, den 13ten Juni, ab 20 Uhr
ist es mal wieder soweit.
Stammtisch in Bonn in der Harmonie
Frongasse 30

Wer kommen mag mailt bitte an mich zwecks Reservierung.

Ein netter Special-Guest ist natuerlich auch schon angemeldet ;-)

Cinderella *die sich wie immer freut*


P.S. Damit hab ich den Ausrufeposten mal bis auf weiteres an mich gerissen *g*

-----------------------------------------------------------------------------



Re: Schon wieder: H A M B U R G (Troy, 11. Jun 2001, 21:20:42):
~#! rn=Bielefeld rt=992040568 rg=treffen
~#! tid=992040568
Moin moin,

nun ist es amtlich: Am Freitag, den 15. Juni 2001 findet um 19 Uhr 30 ein
Stammtisch statt im Groeninger Braukeller an der Ost-West-Strasse 47
(am besten mit der U-Bahn zu erreichen ueber Messberg [U1]). Ich habe einen
Tisch reserviert auf den Namen Troy.

Kommet zahlreich.

Troy

-----------------------------------------------------------------------------



Re: Stati in Bonn (Mupfel, 12. Jun 2001, 22:47:40):
~#! rn=Cinderella rt=992191741 rg=treffen
~#! tid=992191741
kammandawo uebernachten?

-mupfel-

-----------------------------------------------------------------------------



Nachruf (Foobar, 13. Jun 2001, 00:04:22):
Liebe Gemeinde...


                               +----+
                               |    |
                               |    |
                       +-------+    +-------+
                       |  John Doe's Diner  |
                       +-------+    +-------+
                               |    | 
                               |    | 
                               |    | 
                               |    |
                               |    | 
                               +----+             

die jahrelange Stammtisch-Location der Muensteraner Mudder, das "John Doe's
Diner", ist von uns gegangen.

Wie Ihr sicher alle wusstet, wollten wir uns - wie jeden Dienstag - heute mal 
wieder zum StaTi treffen, und zwar - wie immer - so gegen 20.07 Uhr. Leider, 
leider, leider fanden wir das JDD verschlossen vor.

Nur zwei deprimierte Angestellte turnten innerhalb des Gebaeudes herum und 
waren mit dem Ausraeumen diverser Kuehlschraenke beschaeftigt. Auf Anfrage
hiess es, man haette "voruebergehend geschlossen" und man haette uns auch 
Bescheid gesagt, wenn man eine Telefonnummer gehabt haette. So erhielten 
wir nur eine Flasche "Carlsberg" pro Person, und das war es dann...

Der ein oder andere mag sagen "Hey, vielleicht renovieren die ja nur!" oder
"Menno, es war sicher nur das Ordnungsamt..."... Aber wer die schnelllebige
muenstersche Kneipenlandschaft kennt, der ahnt, ja weiss sogar, dass es aus
ist.

Mach's gut, John Doe. Wir werden Deine Rippchen und Deine Burger vermissen.

Und zu allem Ueberfluss muessen wir uns wieder mal eine neue Kneipe suchen...

Naehere Informationen dazu folgen in Kuerze. Wie immer in dieser Rubrik und 
wie immer puenktlich.

 In Trauer,

     Foobar

-----------------------------------------------------------------------------



Re: Nachruf (Anatol, 13. Jun 2001, 00:08:07):
~#! rn=Foobar rt=992383462 rg=treffen
~#! tid=992383462
- Gruene Tomaten / Obina Shock ?
- Tribunal ?
- Cafete ?
- Alabama ?
- Cuba ?
- Ipanema ?

Oehm... naja. Hauptsache, es gibt eine Wegbeschreibung, gell. :)

Anatol, kennt von Muenster nur ein paar Kneipen ;)

-----------------------------------------------------------------------------



Re: Re: Nachruf (Varlarion, 13. Jun 2001, 07:48:53):
~#! rn=Anatol rt=992383687 rg=treffen
~#! tid=992383462
R.I.P. JDD!

Dann koenntet ihr ja mal wieder einen Gang ins Alabama ins Auge fassen ;)
Btw: ab dem 22. bin ich wohl fuer etwas laenger in MS, hoffentlich steigt
dann Stati-maessig was :)

Varl*, rippchenhungrig

-----------------------------------------------------------------------------



Re: Re: Nachruf (Catweazle, 13. Jun 2001, 08:47:39):
~#! rn=Anatol rt=992383687 rg=treffen
~#! tid=992383462
Vergisses, kennst du nicht. Nicht mal Ansatzweise :)

YTC (kommt ohne lange Nachdenken auf mindestens 30)

-----------------------------------------------------------------------------



Re^3: Nachruf (Montanus, 13. Jun 2001, 13:34:49):
~#! rn=Catweazle rt=992414859 rg=treffen
~#! tid=992383462

Tja, so kann es gehen.
Und auch die karlsruher werden morgen vore verschlossener Tuer stehen, wenn
sie zum kleinen Meierhof gehen.
Denn der Stammtisch ist im Old Dublin.
Ich bin aber trotzdem nicht da. ;-)

-----------------------------------------------------------------------------



der alte ausrufer bekaempft das chaos (Golas, 13. Jun 2001, 21:59:56):
moins,

naechster stati:
06072001
2000
melle^d^d^d^d^dSeeblick

golas zu alten traditionen zurueckkehrend

-----------------------------------------------------------------------------



Re: der alte ausrufer bekaempft das chaos (Gloinson, 13. Jun 2001, 22:07:19):
~#! rn=Golas rt=992462396 rg=treffen
~#! tid=992462396
Pah. Chaos. Du hast noch nie gesehen, wenn ich Chaos ausrufe :)

Gloin(son)

-----------------------------------------------------------------------------



Kleine Runde in Paderborn... (Ronda, 14. Jun 2001, 12:19:59):
Hi,
wir werden leider nicht so richtig viele Leute werden, trotzdem findet der
Stammtisch in Paderborn statt.
Wie schon angekuendigt: Diesen Samstag, 16.6., 19 Uhr im Gruenen Frosch. Wie
man da hinkommt, findet Ihr unter www.gruener-frosch.de - sonst ruft mich
einfach unter 0170-4135248 an, ich bin wahrscheinlich bis Samstag nicht mehr
im Mud.

Ronda

Ps: Uebrigens: Muenster - Paderborn ist genauso weit weg wie Paderborn -
Muenster, gell? ;-)

-----------------------------------------------------------------------------



Re: Kleine Runde in Paderborn... (Puk, 14. Jun 2001, 18:09:50):
~#! rn=Ronda rt=992513999 rg=treffen
~#! tid=992513999
Irgendwann schaff is es dann auchnochmal da aufzutauchen, irgendwann wenn mein
Arbeitgeber mal beschliessen sollte mich nicht Samstag Abends arbeiten zu
lassen :)
Koenntest du das nicht direkt mit ihm absprechen ? 

Puk, argelnd

-----------------------------------------------------------------------------



H A M B U R G (Troy, 15. Jun 2001, 09:01:48):
Es ergeht noch einmal der Aufruf an alle, die sich heute am freitag, dem
15. Juni in oder in der Naehe von

H     H    A    M     M BBBBB   U     U RRRRR    GGGGG
H     H   A A   MM   MM B    B  U     U R    R  G     G
H     H  A   A  M M M M B    B  U     U R     R G
H     H A     A M  M  M B    B  U     U R     R G
HHHHHHH AAAAAAA M  M  M BBBBB   U     U RRRRRR  G  GGGG
H     H A     A M     M B    B  U     U R   R   G     G
H     H A     A M     M B     B U     U R    R  G     G
H     H A     A M     M B     B U     U R     R G     G
H     H A     A M     M BBBBBB   UUUUU  R     R  GGGGG

aufhalten. Es ist Stammtisch im Groeninger Keller um 19 Uhr 30.

Der Groeninger Keller ist an der Ost-West-Strasse 47 zu finden. Stadtplan:
http://www.stadtplandienst.de/query;ORT=hh;LL=%2B53.548743%2B9.997437;GR=5

Troy

-----------------------------------------------------------------------------



StaTi Muenster 19.6.01 (Foobar, 17. Jun 2001, 17:26:11):
Liebe Gemeinde,

wie Ihr sicher aller mit traenenden Augen mitbekommen hat, ist das JDD von uns
gegangen.

Aus diesem Grunde treffen wir uns am naechsten Dienstag - wie uebrigens auch
am letzten Dienstag - in der "Kulisse", Juedefelder Strasse.

Die Juedefelder Strasse bildet das Zentrum des weltbekannten Muensterschen
Kneipenviertels, welches europaweit als *trommelwirbel* "Kuhviertel" :o)
bekannt ist.

Fuer Zugfahrer bedeutet das, dass sie - im Vergleich zum JDD - ca. einen 5 min
laengeren Fussweg haben. Man laeuft naemlich einfach am JDD vorbei und immer
die Strasse entlang. Die Juedefelder Strasse zweigt dann rechts von der
Strasse ab, auf der Ihr euch schon laenger befindet, und zwar ungefaehr genau
dann wenn man vor sich eine Ampel bzw. den Hindenburgplatz mit dem
altehrwuerdigen Schloss sehen kann.

Autofahrer ahnen es schon: sie haben in Zukunft das grosse Los gezogen, liegt
doch die "Kulisse" in unmittelbarer Naehe des Hindenburgplatzes, superzentral
in Muenster, wo man fein parken kann.

Natuerlich aendert sich nichts an der Anfangszeit des StaTis, der findet immer
noch gegen 20.07 Uhr statt. Nicht frueher und nicht spaeter, hoechstens ein
bisschen.

Kommet zuhauf!

Foobar


-----------------------------------------------------------------------------



StaTi in Dresden (Deepblue, 18. Jun 2001, 11:56:31):
In Dresden gibt es auch mal wieder einen Stammtisch, und zwar am Freitag, dem
29. Juni um 20:00 Uhr in der Torwirtschaft im Grossen Garten. Eine
Schlechtwettervariante steht noch nicht fest (brauchen wir hoffentlich nicht).
Anfahrtsbeschreibungen bei mir...

-----------------------------------------------------------------------------



Videoabend (Gloinson, 20. Jun 2001, 15:02:05):
Am 21.Juni (Donnerstag, morgen) findet ab 18:00, respektive 19:00 Uhr bei uns
im Infoinstitut am Ende der Welt, aeh in Adlershof ein Videoabend, sponsored
by Microsoft (Warnung) statt.
Starring: "2001 - space oddysey", "Episode 1" (Sprache: Deutsch? Englisch?)

Gloin(son) wird da sein

-----------------------------------------------------------------------------



Re: Videoabend (Solmyr, 20. Jun 2001, 16:24:10):
~#! rn=Gloinson rt=993042125 rg=treffen
~#! tid=993042125
Wie suess! Sind auch Frauen dabei, ich hab' grosses Flirtdefizit...achso,
2001 - Space Oddysey, hmm, nein. Dann eher nicht :) Vor allem Abend, wann
ist da Ende? 21h? :)

Solmyr

-----------------------------------------------------------------------------



Koelle am Freitach (Amaryllis, 20. Jun 2001, 17:06:17):
Hiho,

ist in Koeln zufaellig was in Richtung StaTi oder so geplant am Freitag? Da
werd ich naemlich auch in Koeln sein...

Ama*

-----------------------------------------------------------------------------



Re: Videoabend (Bambi, 20. Jun 2001, 18:14:33):
~#! rn=Gloinson rt=993042125 rg=treffen
~#! tid=993042125
Wenn das Komma ned waer wuerd ich ja sagen: typischer Student: Donnerstag
morgen um 18 Uhr... ;)

-----------------------------------------------------------------------------



Erinnerung Stati DA (Kasimir, 20. Jun 2001, 20:17:16):
Wollt nochmal erinnern
29.6.2001, ab 1900h bayerischer Biergarten im Nicht-Bedienteil
in der Naehe vom Vogelkaefig. Wegbeschreibung koennen
bei mir angefordert werden bombarad@t-online.de
Bis dahin
Kasimir

-----------------------------------------------------------------------------



Re^6053: Hach... nu is was drin, inner MPA. (Anacrion, 20. Jun 2001, 20:34:47):
~#! rn=Isi rt=993061991 rg=megaschmarrn
~#! tid=982328278
Ausserdem ist ein Stammtisch im Bayrischen Biergarten in Darmstadt am
13.7.2001.

Anac* freut sich schon :-)

anac*

-----------------------------------------------------------------------------



Re^6054: Hach... nu is was drin, inner MPA. (Montanus, 20. Jun 2001, 20:54:20):
~#! rn=Anacrion rt=993062087 rg=treffen
~#! tid=982328278
und morgen ist karlsruher Stammtisch im kleinen Meierhof.
Dieser Artikel wurde vollautomatisch erzeugt und wird daher nicht
utnerschrieben.

-----------------------------------------------------------------------------



Re: Erinnerung Stati DA (Ark, 20. Jun 2001, 21:05:54):
~#! rn=Kasimir rt=993061036 rg=treffen
~#! tid=993061036
Hm, ich bin nicht da, sorry.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6054: Hach... nu is was drin, inner MPA. (Ark, 20. Jun 2001, 21:06:22):
~#! rn=Anacrion rt=993062087 rg=treffen
~#! tid=982328278
Klingt schon besser :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Videoabend (Solmyr, 21. Jun 2001, 09:48:03):
~#! rn=Bambi rt=993053673 rg=treffen
~#! tid=993042125
Bei den Studenten heisst das eher: Boah! 18 Uhr, hmm, dann darf ich aber
nur bis 20 Uhr hierbleiben, danach kocht Mami!

Sol* :)

-----------------------------------------------------------------------------



MS Stati 26.06.01 (Foobar, 21. Jun 2001, 11:16:13):
Liebe Gemeinde,

wie jeden Dienstag findet auch am naechsten Dienstag mal wieder der StaTi in
Muenster statt.

Wie immer umd 20.07 Uhr und wie immer in der Kulisse, Juedefelder Str.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Juli-Stati in DA (Anacrion, 21. Jun 2001, 15:00:52):
Hmmpf. Da schreibt man was und wird prompt am Tag danach fuer den gleichen Tag
zum Geburtstag eingeladen.

Njaa. MAn ist ja flexibel ....

Also wird der Darmstaedter Stammtisch entweder am 12.7, (Donnerstag), am 14.7.
(Samstag) oder am 20.7. (Freitag) stattfinden ...  ganz wie es passt. Bitte
Datumswuensche usw. usf. per mail an mich 

-----------------------------------------------------------------------------



Re: Juli-Stati in DA (Katzentante, 21. Jun 2001, 17:42:44):
~#! rn=Anacrion rt=993128452 rg=treffen
~#! tid=993128452
Ja wann isser denn nun, der Darmstaedter STATI? Also ich koennte am 20.07.
Gruss Katzi

-----------------------------------------------------------------------------



Re: Re: Juli-Stati in DA (Wurzel, 21. Jun 2001, 18:04:48):
~#! rn=Katzentante rt=993138164 rg=treffen
~#! tid=993128452
also gut... freitag geht, rest nicht. meine samstage sind bis september
verplant. donnerstag ist auch nicht so das wahre fuer die arbeitende
minderheit.
20.7. waer okay, wenn sonst nix geht.

wurzel

-----------------------------------------------------------------------------



Re^3: Juli-Stati in DA (Anacrion, 21. Jun 2001, 19:05:16):
~#! rn=Wurzel rt=993139488 rg=treffen
~#! tid=993128452
Also am 20.7..

Auf zahlreiches Erscheinen hoffend

Anac*

-----------------------------------------------------------------------------



Mini-StaTi Bonn (Darkwing, 21. Jun 2001, 19:07:36):
Huhu,

Amaryllis ist im Lande, daher ganz kurzfristig ein kleiner StaTi:

Freitag, 22.6., 20h in der seeligen Witwe, Koenigsstrasse in Poppelsdorf 

Fuenf sind wir schon, vielleicht wirds ja noch mehr :-)

Darkwing

-----------------------------------------------------------------------------



Re: Erinnerung Stati DA (Kasimir, 21. Jun 2001, 19:42:02):
~#! rn=Kasimir rt=993061036 rg=treffen
~#! tid=993061036
Also, da keine weiteren Rueckmeldungen, eher Absagen kamen,
verweise ich auf Anacrions Termin am 20.7. Bis dahin
Kasimir

-----------------------------------------------------------------------------



Re^4: Juli-Stati in DA (Hight, 21. Jun 2001, 22:31:11):
~#! rn=Anacrion rt=993143116 rg=treffen
~#! tid=993128452
hat wer nen schlafplatz ueber ? oder besteht die aussicht dass der stati
langegenug dauert um anschliessend gleich zum zug zu gehen ?

hight

-----------------------------------------------------------------------------



Re^5: Juli-Stati in DA (Anacrion, 21. Jun 2001, 22:34:53):
~#! rn=Hight rt=993155471 rg=treffen
~#! tid=993128452
Schlafplatz sollte nach Absprache moeglich sein ... einfach bei Ark nachfragen
:o)

Ne, im Ernst. Muss mal gucken, wenn ich wieder in D bin .. sollte generell
moeglich sein.

Anac*

-----------------------------------------------------------------------------



Re^6: Juli-Stati in DA (Ark, 22. Jun 2001, 11:32:48):
~#! rn=Anacrion rt=993155693 rg=treffen
~#! tid=993128452
WANN ist er denn nun genau? Ich murmel mir grad was von "unklaren
Vorschlaegen" ohne verbindliche Aussagen. Los, Du Fernorganisierer, ein
Artikel mit Datum, Uhrzeit, Treffpunkt und Anreisebeschreibung (ne, nicht wie
meine!). Aussagen wie "einfach bei Ark nachfragen" helfen nur, wenn der kleine
Ark weiss, waswiewowannwer ;^)
Immer diese Organisationstalente *grrr*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Juli-Stati in DA (Wurzel, 22. Jun 2001, 14:05:15):
~#! rn=Ark rt=993202368 rg=treffen
~#! tid=993128452
wenn ich das richtig verstanden habe, am 20.7. im biergarten (nicht dem an
der dieburger strasse, der bayrische biergarten am buergerpark). dafuer
solltest du doch eine deiner unnachahmlichen wegbeschreibungen haben, oder?
achso, uhrzeit natuerlich abends.

wurzel

-----------------------------------------------------------------------------



Re^8: Juli-Stati in DA (Anacrion, 22. Jun 2001, 17:19:27):
~#! rn=Wurzel rt=993211515 rg=treffen
~#! tid=993128452
uhrzeit ab 7 ... anac* ist da .. hoffentlich roana auch ;-)

-----------------------------------------------------------------------------



Dortmunder Exil-Stammtisch. ;-) (Ahab, 25. Jun 2001, 23:44:13):
Erstmal vorweg: Nein, man kann es _nicht_ _allen_ recht machen, aber wir
versuchens trotzdem mal. ;-)

Wir haben endlich etwas Zeit gefunden, um ein neues StaTi-Lokal anzutesten,
sind dabei aber in BOCHUM gelandet.

Daher:

findet der naechste Dortmunder Stammtisch als Exil-StaTi statt.

Und zwar:

in Bochum (ach was? *g*).

Genauer:

Im ALABAMA,
das ist eine Suedstaatenkneipe mit lecker Mampf (ja, auch MUH!) und Schluerf.

Ausserdem (um es allen recht zu machen):

a-tens guenstig,
b-tens Musik nicht zu laut,
c-tens gut zu erreichen (Auto _und_ Bahn), und
d-tens von mehr als 2 Leuten getestet und fuer gut befunden. :-)

Also kommt in Scharen und bringt Hunger, Durst und gute Laune mit.

Ahoi,

Ahab, offiziell exilstammtischausrufend. *g*


*kratz*

Ach so, Ihr wollt noch wissen, wo das ist? Hah! Wofuer sind wir denn hier in
einem Quest-Mud? Findets halt selber raus! ]:->

Alle Metzler und sonstwie forsch-faulen koennen sich die Wegbeschreibung
gegen Vorlage ihrer DW-Plakette oder ihres (leeren!) Runenstabes bei mir
abholen. *g*

-----------------------------------------------------------------------------



Re: Dortmunder Exil-Stammtisch. ;-) (Ahab, 25. Jun 2001, 23:46:50):
~#! rn=Ahab rt=993505453 rg=treffen
~#! tid=993505453
P.S. (verspaetet): wer kommen moechte, aber den Weg schon kennt, sagt bitte
trotzdem Bescheid, damit wir ungefaehr abschaetzen koennen, wieviel Platz
wir in dem Laden reservieren muessen.

Ahoi,

Ahab, offizieller Exilstammtisch-P.S.-Schreiber *g*

-----------------------------------------------------------------------------



Re: Dortmunder Exil-Stammtisch. ;-) (Foobar, 26. Jun 2001, 08:40:58):
~#! rn=Ahab rt=993505453 rg=treffen
~#! tid=993505453
Als inoffizieller Stammtisch-Beauftragter der Stadt Muenster muss ich darauf
hinweisen, dass weder Uhrzeit noch Datum genannt wurden :o)

Oder findet der etwa auch wieder am letzten Freitag im Monat um 20.00 Uhr
statt?

Foobar

-----------------------------------------------------------------------------



Re: Re: Dortmunder Exil-Stammtisch. ;-) (Ahab, 26. Jun 2001, 09:31:37):
~#! rn=Foobar rt=993537658 rg=treffen
~#! tid=993505453
Ieks!!! Foobar! Du hast selber geforscht? ]:->

Schaem Dich!

Du hast aber trotzdem recht. :-)

Freitag, 29.6.2001, 20:00 Uhr.

Ahoi,

Ahab.

-----------------------------------------------------------------------------



Meierhof (Montanus, 27. Jun 2001, 17:38:49):
Bielefeld will den morgigen Stammtisch nicht ansagen, aber der ist halt auch
nicht in BIelefeld, sondern in Karlsruhe.
Ist halt Donnerstag.
Abends, im kleinen Meierhof. Wer vor 20 Uhr kommt, wird ignoriert. Oder so
aehnlich. Im Badnerland muss scho alles fei seine Ordnung haben, gelle.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Trollo, 27. Jun 2001, 17:39:28):
Am morgigen Donnerstag  findet um 20 Uhr im kleinen Meierhof  kein
Nicht-Stammtich statt. Alle nichtkommenden sind herzlich ausgeladen

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Montanus, 27. Jun 2001, 17:40:57):
~#! rn=Trollo rt=993656368 rg=treffen
~#! tid=993656368
"kein Nicht-Stammtisch" wuerde bedeuten, dass ausschliesslich Stammtisch
stattfindet. Stimmt das? ;-)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Pardauz, 27. Jun 2001, 19:05:18):
~#! rn=Montanus rt=993656457 rg=treffen
~#! tid=993656368
natuerlich stimmt das NICHT. In Karlsruhe ist jede Menge los.
Nur wir Mudder treffen uns halt lieber auf unserm Stammtisch.
Und wenn alle die die den so fleissig ankuendigen auch jedesmal
kommen wuerden, waere wegen Ueberfuellung geschlossen.

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Montanus, 27. Jun 2001, 19:33:22):
~#! rn=Pardauz rt=993661518 rg=treffen
~#! tid=993656368
Ich wuerde ja gerne kommen, aber meine Flugbereitschaft hat ausgerechnet
Donnerstags immer ihren freien Tag. So toally sorry.

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Croft, 27. Jun 2001, 19:34:04):
~#! rn=Montanus rt=993663202 rg=treffen
~#! tid=993656368
Fuer dich legen wir den Stati auch gerne einmal auf einen anderen Wochentag
;-)
Gruss Croft

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Montanus, 27. Jun 2001, 19:36:08):
~#! rn=Croft rt=993663244 rg=treffen
~#! tid=993656368
Hmmm, einmal war es freitags, udn da war ich da, aber auch nur, weil es ins
Elsass ging. ;-)
Leider hat meine Flugbereitschaft auch Montag bis Mittwoch frei, Freitag ist
(nach Sams-Definition) ja eh frei, und am Wochenende arbeitet eh keiner.
Daher - rechnet lieber nicht mit mir. ;-)

-----------------------------------------------------------------------------



Re^6: Stammtisch in Karlsruhe (Isi, 27. Jun 2001, 19:37:40):
~#! rn=Montanus rt=993663368 rg=treffen
~#! tid=993656368
Lausige flugberietschaft haste da - sofort alle feuer
n
isi (bierdeckelwerfend)

-----------------------------------------------------------------------------



Re^7: Stammtisch in Karlsruhe (Montanus, 27. Jun 2001, 19:40:17):
~#! rn=Isi rt=993663460 rg=treffen
~#! tid=993656368
Wenn ich die alle feuer, dann hab ich ja gar keine mehr.
Neeneenee, lieber ne lausige FB als gar keine. ;-)

-----------------------------------------------------------------------------



Re^8: Stammtisch in Karlsruhe (Zook, 28. Jun 2001, 00:07:56):
~#! rn=Montanus rt=993663617 rg=treffen
~#! tid=993656368
Hmmm... Stati KA koennte ich ja auch mal wieder avisieren....

Zook.

P.S.: Hey, Ihr koennt aus der Deckung heraus kommen; es ist noch nichts
Konkretes geplant. :)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Boing, 28. Jun 2001, 10:07:11):
~#! rn=Croft rt=993663244 rg=treffen
~#! tid=993656368
Ich moechte hier aber mal betonen, dass wir nicht den normalen Stammtisch
verlegen, sondern hoechstens einen ZUSAETZLICHEN Stammtisch machen.
  Boing

-----------------------------------------------------------------------------



Re^6: Stammtisch in Karlsruhe (Gloinson, 28. Jun 2001, 10:39:36):
~#! rn=Boing rt=993715631 rg=treffen
~#! tid=993656368
Dazu bemerke ich gern, dass keiner der Berliner Stammtische ein normaler
Stammtisch ist. Wenn ihr sowas feiern wollt, so mit Stammtischgespraechen
ueber Politik, Weisswuerscht, Bier und andersfarbige NPCs, die in der Eben
schmarotzen koennten ... bitte.

Gloin(son) grinst

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Bambi, 28. Jun 2001, 12:06:50):
~#! rn=Montanus rt=993663202 rg=treffen
~#! tid=993656368
Sag mir nen Wochentag, an dem die keinen freien Tag haben und ich organisier
dir vielleicht nen Sonderstati.

-----------------------------------------------------------------------------



Stammtisch in Dresden (Deepblue, 28. Jun 2001, 17:10:02):
Ich wollte noch mal an den Stammtisch am morgigen Freitag, dem 29.6.2001 um
20.00 Uhr in der Torwirtschaft im Grossen Garten (gegenueber vom
Harbigstadion) in Dresden erinnern und um zahlreiches Erscheinen bitten.
Ersatzvertretungsstammtischausrufer Deepblue

-----------------------------------------------------------------------------



Re: Dortmunder Exil-Stammtisch. ;-) (Ahab, 29. Jun 2001, 13:21:10):
~#! rn=Ahab rt=993505453 rg=treffen
~#! tid=993505453
Tach zusammen...

Nachdem die Resonanz auf den Kneipenwechsel so ueberwaeltigend gross war,
werde ich die Reservierung fuer heute abend im Alabama wieder stornieren.
Ihr koennt Euch gerne zusammenhocken, vielleicht sogar dort, aber ich werde
definitiv nicht da sein. Ich kann mir nettere Dinge vorstellen, als mit
zwei Leutchen an einem grossen Tisch auf ein Rudel Nicht-Erscheinende zu  
warten.

Ein brummeliges Ahoi,

Euer Kaeptn.

-----------------------------------------------------------------------------



Re: Re: Dortmunder Exil-Stammtisch. ;-) (Thufhir, 29. Jun 2001, 13:59:43):
~#! rn=Ahab rt=993813670 rg=treffen
~#! tid=993505453
traurig, traurig, tarurig,

da wird staendig an dem alten treffpunkt fuer den dortmunder stati genoelt,
dann beschaeftigt sich mal jemand mit der auffindung einer neuen lokalitaett
und dann gibts wieder nur gemaule, ich find das etwas schade, naja, kann man
wohl leider nichts machen, wenn also wer sowas wien stati in oder um do haben
moechte wird er sich wohl selbst drum kuemmern muessen, ich kann des kaeptns
frust verstehen.

just my 2 pence, s'Zauberzwerch

-----------------------------------------------------------------------------



Re^3: Dortmunder Exil-Stammtisch. ;-) (Deepblue, 29. Jun 2001, 14:01:13):
~#! rn=Thufhir rt=993815983 rg=treffen
~#! tid=993505453
Wenn es Euch in Do oder Bo ned gefaellt, dann kommt docalle nach Dresden. Da
ist heute Stammtisch - Wirklich!

-----------------------------------------------------------------------------



Re^4: Dortmunder Exil-Stammtisch. ;-) (Catweazle, 29. Jun 2001, 14:43:14):
~#! rn=Deepblue rt=993816073 rg=treffen
~#! tid=993505453
Klar, kein Problem.

Montanus, kann Deine Flugbereitschaft kurz in MS zwischenlanden?

YTC

-----------------------------------------------------------------------------



Re^3: Dortmunder Exil-Stammtisch. ;-) (Grimmborn, 29. Jun 2001, 14:52:53):
~#! rn=Thufhir rt=993815983 rg=treffen
~#! tid=993505453
Aeh, Du liest nicht viel in der MPA, wenn Dich so ein Verhalten irgendwie
betroffen macht, nein?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Dortmunder Exil-Stammtisch. ;-) (Montanus, 29. Jun 2001, 16:07:23):
~#! rn=Catweazle rt=993818594 rg=treffen
~#! tid=993505453
Klar, Catty,

sobald die Jungs mit dem Zusammenschrauben fertig sind, sag ich ihnen, dass da
noch ein Zwischenstop in Muenster faellig wird. Kann aber noch dauern. ;-)

-----------------------------------------------------------------------------



MS StaTi 3.7.01 (Foobar, 29. Jun 2001, 19:30:26):
Liebe Gemeinde.

Wie jeden Dienstag treffen sich die muensterschen Suecht^H^H^H^H^HMudder auch
am 3.7. zum woechentlich stattfindenden Stammtisch.

Wie immer findet er in der Kulisse in der Juedefelder Strasse statt, die
uebrigens im weltbekannten muensteraner Kneipenviertel, dem KUH-Viertel liegt.

Uhrzeit ist wie immer 20.07 Uhr.

The same procedure al last week und so...

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Stati in Berlin (erinnerung) (Golas,  2. Jul 2001, 10:02:20):
moin folks

diesen freitag
2000
seeblick

cya
golas

-----------------------------------------------------------------------------



Re: Stati in Berlin (erinnerung) (Xenada,  2. Jul 2001, 17:52:37):
~#! rn=Golas rt=994060940 rg=treffen
~#! tid=994060940
wohl ohne Gandur und mich...wir wollen samstag umziehn :)
Xenada
P.S.:falls wer sa langeweile haben sollte...wir koennen noch hilfe brauchen :)

-----------------------------------------------------------------------------



Muenster (Poing,  2. Jul 2001, 19:09:27):
Moechte nur mal Ankuendigen das ich zwischen 30.7 und 14.8 irgendwann ein-zwei
Wochen in Muenster bin. Waer wenn ich nen Termin von dem Stammtisch kriegen
wuerde, danke :)
Chuckylein

-----------------------------------------------------------------------------



Re: Muenster (Gorog,  3. Jul 2001, 16:03:44):
~#! rn=Poing rt=994093767 rg=treffen
~#! tid=994093767
Naja da der Stati hier etwa Woche stattfindet, sollte es kein Problem sein in
einen ein-zwei Wochen Abschnitt einen Stammtisch unterzubekommen (;

mfGorog

By the way, heute is auch mla wieder 

-----------------------------------------------------------------------------



Re: Re: Muenster (Montanus,  3. Jul 2001, 21:29:26):
~#! rn=Gorog rt=994169024 rg=treffen
~#! tid=994093767
Donnerstag in KA
Weil morgen ja Feiertag ist, kuendige ich den heute schon mal provisorisch an.
Kleiner Meierhof, 20 Uhr.
Keine Ahnung, wo das ist, einfach Boing hinterherfahren.

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (erinnerung) (Gnome,  3. Jul 2001, 21:56:56):
~#! rn=Xenada rt=994089157 rg=treffen
~#! tid=994060940
verlegt doch einfach den stati in eure wohnung. und _zufaellig_ zieht
ihr grade um. was meinst du, wie schnell ihr umgezogen seid, wenn 10
leute mithelfen und ihr 2 kaesten bier spendiert.
danach wohlgemerkt. ;-)

gnOme

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (erinnerung) (Montanus,  3. Jul 2001, 21:58:54):
~#! rn=Gnome rt=994190216 rg=treffen
~#! tid=994060940
Gnome, Moebelpacker streiken SEHR SCHNELL, wenn da Bier nicht allzeit bereit
ist.
Semperparatus, wie wir alten griechen sagen wuerden. :-)

-----------------------------------------------------------------------------



Re^4: Stati in Berlin (erinnerung) (Wurzel,  4. Jul 2001, 13:53:53):
~#! rn=Montanus rt=994190334 rg=treffen
~#! tid=994060940
sehr griechisch, muss ich schon sagen :)

-----------------------------------------------------------------------------



Re^5: Stati in Berlin (erinnerung) (Grimmborn,  4. Jul 2001, 13:54:57):
~#! rn=Wurzel rt=994247633 rg=treffen
~#! tid=994060940
Nun haensel ihn doch nicht immer, nur weil er staendig griechisch mit
altassyrisch und sumerisch durcheinanderbringt.

GdA

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel,  8. Jul 2001, 20:55:55):


Es ist wieder so weit:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 13.7. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



MS StaTi morgen... (Foobar,  9. Jul 2001, 13:43:04):
Liebe Gemeinde,

wie jeden Dienstag findet auch morgen (10.7.01) wieder ein Stammtisch im
wunderschoen verregneten Muenster statt.

Mangels Lokal-Alternativen findet der wie immer in der Kulisse (Juedefelder
Str.) statt. Und zwar wie immer gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



H A M B U R G   am Samstag, 14.07. (Troy, 10. Jul 2001, 16:41:53):
Hallo,

Wir haben uns nun entschieden, den naechsten Stammtisch am Samstag, den
14. Juli zu veranstalten. Dabei gibts zwei Orte, da gerade Stuttgart mal
der doerflichen Athmosphaere entflohen ist und das Weindorf daher
in Hamburg zu finden ist.

Wir treffen uns um 17:00 Uhr am Eingang des Rathauses zwecks Weinprobe und
ziehen dann (so gegen 19:00 Uhr) weiter ins Finnegans Wake.

URLs:
Rathausmarkt:
http://www.stadtplandienst.de/query;ORT=hh;LL=%2B53.552087%2B9.993823;GR=5
Finnegans:
http://www.stadtplandienst.de/query;ORT=hh;LL=%2B53.550549%2B9.993335;GR=5

Kommet zuhauf :-)

Troy

-----------------------------------------------------------------------------



Paderborn heisst jetzt BIELEFELD! (Ronda, 10. Jul 2001, 19:58:38):
Wieder mal etwas kurzfristig - trotzdem schoen ;-)

Am Samstag den 14.7. gibt es einen Paderborner Stammtisch - allerdings in
Bielefeld ;-)
Genauer gesagt in Ferdis Pizza Pinte, los gehts um 19 Uhr. Da die Kneipe
wirklich nett ist, ist sie auch schnell sehr voll - daher bitte bis Donnerstag
abend eine Mail an mich, damit ich die Plaetze reservieren kann. (Und nicht zu
spaet kommen, bei Ferdis wird man leere Plaetze verdammt schnell wieder los
;-) )

Ronda

Ps: Eventuell koennte man danach auch gegen 23 Uhr noch im Cinemaxx
vorbeischauen...?

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 11. Jul 2001, 00:14:52):
Es ist mal wieder soweit.

Stati in Bonn

Donnerstag, den 19.07.2001
ab 20.00 Uhr
im Lamme Goedzak, Argelanderstr./Schlossstr.

Mails zur Ankuendigung der Teilnahme ;-) bitte an mich. Wegbschreibung wird
auf Wunsch gerne geliefert.

Es freut sich drauf, wie immer

das schwarze Hexchen Cinderella

-----------------------------------------------------------------------------



Re: H A M B U R G   am Samstag, 14.07. (Troy, 11. Jul 2001, 14:32:31):
~#! rn=Troy rt=994776113 rg=treffen
~#! tid=994776113
Tja. Hmm. Unter "zuhauf" hatte ich eigentlich mehr als 3 Personen erhofft.
Unter diesen Umstaenden faellt der Stammtisch aus.

Troy

-----------------------------------------------------------------------------



Re: Re: H A M B U R G   am Samstag, 14.07. (Perdita, 11. Jul 2001, 15:16:28):
~#! rn=Troy rt=994854751 rg=treffen
~#! tid=994776113
tja, wenn ihr den Termin auch verschiebt....
Perdita - waer ja gern gekommen und haette am alten Termin auch Zeit gehabt,
aber nun... *zuck*
(nee, is schon klar, ihr habt den Termin ja nicht boeswillig verschoben...
*g*)

-----------------------------------------------------------------------------



StaTi in Muenster... (Foobar, 11. Jul 2001, 16:34:38):
Liebe Gemeinde,

wie Ihr alle wisst hat vor ca. 4 Wochen die bis dahin staendige
Stammtisch-Location der muensteraner Mudder, das "John Doe's Diner"
unverrichteter Dinge seine Pforten geschlossen.

Und wie Ihr als fleissige Leser dieser wichtigen Rubrik auch wisst sind wir
dann in die "Kulisse" ausgewichen und fuehlten uns da auch recht wohl.

Umso groesser war der Schock, als wir nun gestern auch bei der "Kulisse" vor
verschlossenen Tueren standen.

Wir sind dann in die Kneipe "Frauenstr. 24" ausgewichen, wenn die naechste
Woche auch zumacht sollten wir uns mal langsam Gedanken machen...

Alles in allem findet natuerlich naechsten Dienstag wieder ein StaTi statt,
der Ort muss aber noch festgelegt werden, was natuerlich hier in unser alle
Lieblingsrubrik angekuendigt wird.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: StaTi in Muenster... (Varlarion, 11. Jul 2001, 16:42:01):
~#! rn=Foobar rt=994862078 rg=treffen
~#! tid=994862078
Also, ich werde naechste Woche zur StaTi-Zeit mal wieder in MS weilen und
hatte ja schon vor laengerer Zeit vorgeschlagen, mal wieder das Alabama
heimzusuchen. Also, falls das nicht auch inzwischen seine Pforten geschlossen
hat, schlage ich hiermit das Alabama als "Austragungsort" vor.

Varl*, Lust auf Rippchen habend

-----------------------------------------------------------------------------



Re: StaTi in Muenster... (Gloinson, 11. Jul 2001, 19:28:46):
~#! rn=Foobar rt=994862078 rg=treffen
~#! tid=994862078
Klaut nicht immer die Bierglaeser!

-----------------------------------------------------------------------------



Stammtisch in Dresden (Deepblue, 11. Jul 2001, 21:50:58):
Der naechste Stammtisch in Dresden findet am Freitag, dem 20. Juli wieder um
20:00 Uhr statt. Als Ort wuerde ich wieder den Biergarten Torwirtschaft
vorschlagen. Bei schlechtem Wetter ist dort ja auch ne feste Kneipe. 
Ciao
Deep*, hoffend, dass dann nicht wieder irgendwelche Musiker dort ueben...

-----------------------------------------------------------------------------



Re: Re: StaTi in Muenster... (Catweazle, 12. Jul 2001, 07:27:16):
~#! rn=Varlarion rt=994862521 rg=treffen
~#! tid=994862078
Ich glaube von den Muensteranern ist aufgrund voellig ueberzogener Preise und
dafuer mangelnder Bedienung/Beleuchtung/Oeffnungszeiten mittlerweile keiner
mehr bereit ins Alabama zu gehen....
YTC

-----------------------------------------------------------------------------



Re^3: StaTi in Muenster... (Varlarion, 12. Jul 2001, 10:25:58):
~#! rn=Catweazle rt=994915636 rg=treffen
~#! tid=994862078
sprichst du nur fuer dich, oder fuer alle, catty? ich moechte jedenfalls mal
wieder _leckere_ rippchen, fand die da schon immer besser, als die im JDD
(R.I.P.) aber man soll ja nicht schlecht von toten sprechen...
ansonsten schlage ich einfach mal vor, ihr sucht eine kneipe ohne holzbaenke,
wo man laenger als ne stunde sitzen kann, ohne schwielen am allerwertesten zu
kriegen ;)

Varl*, hungrig

-----------------------------------------------------------------------------



Kleiner Meierhof Karlsruhe (Muadib, 12. Jul 2001, 10:57:09):
ihr wisst schon, oder?

-----------------------------------------------------------------------------



Re: Kleiner Meierhof Karlsruhe (Deepblue, 12. Jul 2001, 10:59:18):
~#! rn=Muadib rt=994928229 rg=treffen
~#! tid=994928229
Noe, was ist mit dem Hof? Gibts da Kuehe?

-----------------------------------------------------------------------------



Re: Re: Kleiner Meierhof Karlsruhe (Bielefeld, 12. Jul 2001, 10:59:48):
~#! rn=Deepblue rt=994928358 rg=treffen
~#! tid=994928229
Zumindest in handlichen Portionen... dafuer ist der Wirt nicht
in der Lage, einem ein Bier zu bringen, wenn man eins
bestellt...

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Kleiner Meierhof Karlsruhe (Muadib, 12. Jul 2001, 11:02:36):
~#! rn=Bielefeld rt=994928388 rg=treffen
~#! tid=994928229
bier ist ja auch unzureichend spezifiziert, wobei, ich bekomme mein bier auch
ohne bestellung

-----------------------------------------------------------------------------



Re^4: Kleiner Meierhof Karlsruhe (Deepblue, 12. Jul 2001, 11:03:26):
~#! rn=Muadib rt=994928556 rg=treffen
~#! tid=994928229
Naja, die Schnitzel da sind auch viel zu klein...

-----------------------------------------------------------------------------



Re^4: Kleiner Meierhof Karlsruhe (Croft, 12. Jul 2001, 11:03:36):
~#! rn=Muadib rt=994928556 rg=treffen
~#! tid=994928229
Yep.  Ich auch.  Aber Kuehe gibts da momentan leider nicht mehr in
handlichen Portionen.  BSE hinterlaesst in der Gastronomie seine Spuren.

-----------------------------------------------------------------------------



Re: Re: StaTi in Muenster... (Anoris, 12. Jul 2001, 11:54:27):
~#! rn=Gloinson rt=994872526 rg=treffen
~#! tid=994862078
Au ja Rippchen im Alabama, da wuerd ich doch auch wiedermal nach Muenster
kommen ;)

-----------------------------------------------------------------------------



Re^5: Kleiner Meierhof Karlsruhe (Grimmborn, 12. Jul 2001, 12:06:42):
~#! rn=Deepblue rt=994928606 rg=treffen
~#! tid=994928229
Es kommt nicht auf die Groesse an...

GdA

-----------------------------------------------------------------------------



Re: Paderborn heisst jetzt BIELEFELD! (Ronda, 12. Jul 2001, 16:33:16):
~#! rn=Ronda rt=994787918 rg=treffen
~#! tid=994787918
Ok, da Ferdis Pizzapinte nicht mal den Bielefeldern was sagt ;-) - die Kneipe
ist in der Schmiedestrasse 9, das ist eine Nebenstrasse zur Joellenbecker
Strasse. Hmm... genauer... wenn man von der Stadtmitte kommt, unter dem
Ostwestfalendamm drunter durch grob Richtung Joellenbeck. Ein paar hundert
Meter weiter ist rechts eine U-Bahnhaltestelle (ja, es gibt so was wie ne
U-Bahn in Bielefeld!), da sofort rechts rein, die naechste rechts ist die
Schmiedestrasse.
Falls die Wegbeschreibung nicht ausreicht: Eingeborene fragen.

Ronda *hofft, dass sich doch noch mehr Leute anmelden*

-----------------------------------------------------------------------------



Re: Re: Paderborn heisst jetzt BIELEFELD! (Solmyr, 12. Jul 2001, 16:34:10):
~#! rn=Ronda rt=994948396 rg=treffen
~#! tid=994787918
Das mit der UBahn interessiert mich jetzt aber doch :) So richtig
mit Tunnel und so? Oder nur ne Strassenbahn mit vielen Bruecken?

Sol* :)

-----------------------------------------------------------------------------



Re^3: Paderborn heisst jetzt BIELEFELD! (Montanus, 12. Jul 2001, 18:47:46):
~#! rn=Solmyr rt=994948450 rg=treffen
~#! tid=994787918
Na die bielefelder U-Bahn ist eher eine ueberdimensionierte Modelleisenbahn 
in den Bunkern utner der Stadt... hab ich grad Stadt gesagt/ sollte Dorf
heissen. :-0

-----------------------------------------------------------------------------



Re: Re: Paderborn heisst jetzt BIELEFELD! (Mupfel, 12. Jul 2001, 23:23:35):
~#! rn=Ronda rt=994948396 rg=treffen
~#! tid=994787918
wer kommtn ?

-mupfel-

-----------------------------------------------------------------------------



Re^3: Paderborn heisst jetzt BIELEFELD! (Ronda, 13. Jul 2001, 11:46:03):
~#! rn=Mupfel rt=994973015 rg=treffen
~#! tid=994787918
Wer zum Stati in Pa...Bielefeld kommt? Die ueblichen Verdaechtigen. Sprich:
Bei mir haben sich im Moment erst Tylak, Viper und Luzie gemeldet. *seufz*
Aber es kann ja noch werden?

Ronda *ungeeignet zur Stati-Navigation*

-----------------------------------------------------------------------------



Re: Re: Paderborn heisst jetzt BIELEFELD! (Daria, 13. Jul 2001, 12:57:16):
~#! rn=Ronda rt=994948396 rg=treffen
~#! tid=994787918
Ich komme nicht, bin auf ne Burzeltagsparty eingeladen!
:( Daria

-----------------------------------------------------------------------------



STATI in DA (Anacrion, 15. Jul 2001, 19:07:47):
Hier der kurze und buendige Reminder:

Am Frietag ist in Darmstadt Stammtisch im Bayrischen Biergarten.

Es geht los ab 19:00 ...

Ark wird im Laufe der Woche noch eine seiner bekannten und beruech^h^h^hehmten
Wegbeschreibungen zur Verfuegung stellen.

bis dann

anac*

-----------------------------------------------------------------------------



Re: STATI in DA (Ark, 16. Jul 2001, 10:40:16):
~#! rn=Anacrion rt=995216867 rg=treffen
~#! tid=995216867
Ah jetzt ja. Wo ich doch eigentlich fragen wollte, wohin es geht. In welchen
Biergarten denn? Mir ham da zwo. Ozapft werds onner Dieburga Strossn oda hinta
in Oarhelije. I bitt mo um Hondzaicha. I bitt au die Leit, die sich do uman
Dermien bmieht hom, um die Bschraibung. Net als uff mei dinnen Ricken aussi
drogn. Au wei.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: STATI in DA (Anacrion, 16. Jul 2001, 13:37:50):
~#! rn=Ark rt=995272816 rg=treffen
~#! tid=995216867
Hmmja. Die Heiner. Kennen die Biergaerten nicht ...

Also es geht in den BAYRISCHEN BIERGARTEN (das ist Richtung Kranichstein.

Da Ark offensichtlich Darmstadt nicht so gut kennt, werde ich fuer alle, die
sie benotigen und fuer das jeweils entsprechende Transportmittel eine
Wegbeschreibung verfassen.  Anfragen abnn mich ... hab zur Zeit keine Karte
von DA da, dass ich mit Strassennamen und Buslinien dienen koennte, aber das
aendert sich hoffentlich bis morgen.

anac*

-----------------------------------------------------------------------------



MS StaTi 17.07.01 (Foobar, 16. Jul 2001, 16:04:27):
Liebe Gemeinde,
 
aus Mangel an besseren Vorschlaegen - mir persoenlich ist uebers Wochenende
auch nix konkretes eingefallen - treffen wir uns morgen _ausnahmsweise_ mal -
wie von Varlarion vorgeschlagen - im Alabama, Aegidiistr.
 
Wie immer so gegen 20.07 Uhr. Auf dem Tagesplan steht Brainstorming.
Schliesslich brauchen wir eine neue Location. Das Alabama wird ja dann auch
sicher bald schliessen ;o)
 
Kommet zuhauf!
 
Foobar                                                                        

-----------------------------------------------------------------------------



Re: MS StaTi 17.07.01 (Varlarion, 16. Jul 2001, 16:04:43):
~#! rn=Foobar rt=995292267 rg=treffen
~#! tid=995292267
Ahh :) *jubelfreuhypf*

-----------------------------------------------------------------------------



Re^3: STATI in DA (Ark, 16. Jul 2001, 20:25:04):
~#! rn=Anacrion rt=995283470 rg=treffen
~#! tid=995216867
Kenn ich schon, aber die Mail hat gewirkt. Wer ankuendigt, liefert auch
Beschreibung, so will es das gerade geschriebene Gesetz der Darmstaedter
Stammtische. Sind so viele zwar nicht, dafuer war es bisher auch fast immer
ueberschaubar ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: STATI in DA (Ark, 16. Jul 2001, 20:25:56):
~#! rn=Anacrion rt=995283470 rg=treffen
~#! tid=995216867
Ach und was ich noch sagen wollte, es gibt zwo angeblich Bayrische Biergaerten
in DA, jawollja.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: MS StaTi 17.07.01 (Mupfel, 16. Jul 2001, 23:35:25):
~#! rn=Foobar rt=995292267 rg=treffen
~#! tid=995292267
Ich komme zuhauf ;)

-mupfel-

-----------------------------------------------------------------------------



StaTi in Dresden (Deepblue, 18. Jul 2001, 09:57:26):
Ich wollte noch mal an den Stammtisch am kommenden Freitag (20.7.) um 20:00
Uhr erinnern. Bei Schoenem Wetter wieder im Biergarten der Torwirtschaft, bei
schlechtem Wetter sollten wir in der Torwirtschaft selbst nen Plaetzchen
finden (ist aber noch nix bestellt)
Wer nicht weiss wos ist oder wie er uns erkennt: Mail an mich.
Und: Da ich tagsueber in Jena zu tun hab, koennte ich unter Umstaenden spaeter
kommen...
Ciao
Deep*

-----------------------------------------------------------------------------



Wegbeschreibung Stati Darmstadt (Anacrion, 18. Jul 2001, 14:24:33):
Hier die Wegbeschreibung fuer den StaTi in DA:

A5 Abfahrt Weiterstadt immer Richtung Darmstadt (bzw., wenn angeschrieben
KRANICHSTEIN) halten.
Irgendwann steht man an einer T-Kreuzung, wo es links nach KRanichstein geht
und rechts nach Darmstadt (diese Strasse nennt sich Kranichsteiner Strasse).
Dort Richtung Darmstadt, erste rechts einbiegen und dann kommt er gleich auf
der rechten Seite.

Das ich das hir so locker beschreibe, liegt hauptsaechlich daran, dass der
biergarten direkt am Buergerpark liegt, d.h. rundrum nicht viel los ist.

Mit dem Zook^h^h^hug:

Am Bahnhof in einen der Busse D,F,H,K einsteigen und zum Louisenplatz fahren,
dort dann definitiv umsteigen in einen Bus der Linie K richtung
K(ranichstein)Aussteigen eine Haltestelle hinter 'Schwarzer Weg' .. ueber die
sTrasse gehen ((Da geht dann eine andere Strasse weiter .. und kurz danach
rechts steht es an 'BAYERISCHER BIERGARTEN'

Ach ja. Randolf und ich werden mit dem Interregion aus Friedberg kommen ...
wenn also eventuelle mitreisende aus dem Norden zu uns stossen wollen, bitte
mail an mich.

So. Ich hoffe, jetzt alle verwirrtt zu haben.

anac*

-----------------------------------------------------------------------------



Re: Wegbeschreibung Stati Darmstadt (Wurzel, 18. Jul 2001, 14:37:51):
~#! rn=Anacrion rt=995459073 rg=treffen
~#! tid=995459073
verwirrt nicht... aber wenn ich nicht wuesste wo der biergarten ist, haette
ich nur die chance einen taxifahrer zu befragen :)

wurzel (nein, ich kann es auch nicht beschreiben)

-----------------------------------------------------------------------------



Re: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 11:07:21):
~#! rn=Anacrion rt=995459073 rg=treffen
~#! tid=995459073
Wenn ich mal nachdenklich zum Himmel blicke, wuerde ich noch ergaenzen wollen,
als Alternative zum Regen kaeme der Hotzenplotz in Frage. Oder??? Was meint
das Organisationskomitee?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Wegbeschreibung Stati Darmstadt (Anacrion, 19. Jul 2001, 13:35:24):
~#! rn=Ark rt=995533641 rg=treffen
~#! tid=995459073
Janz jenau.

Anac*

-----------------------------------------------------------------------------



Re^3: Wegbeschreibung Stati Darmstadt (Zook, 19. Jul 2001, 14:41:46):
~#! rn=Anacrion rt=995542524 rg=treffen
~#! tid=995459073
Zook jammert einer verpassten Tasse hinterher.

-----------------------------------------------------------------------------



Re^4: Wegbeschreibung Stati Darmstadt (Wurzel, 19. Jul 2001, 15:09:15):
~#! rn=Zook rt=995546506 rg=treffen
~#! tid=995459073
falls du zum stammtisch kommst, koennte ich evtl ne firmentasse
mitbringen. nicht schoen, aber billig.
hotzenplotz als bewaehrte alternative waer natuerlich auch okay. wetter
sieht nicht wirklich toll aus...

wurzel

-----------------------------------------------------------------------------



Re^4: Wegbeschreibung Stati Darmstadt (Zook, 19. Jul 2001, 15:19:21):
~#! rn=Zook rt=995546506 rg=treffen
~#! tid=995459073
Hu... wieso ist der Artikel denn in diesem Thread? *kratz am Kopp*

Zook.

-----------------------------------------------------------------------------



Re^5: Wegbeschreibung Stati Darmstadt (Varlarion, 19. Jul 2001, 15:20:01):
~#! rn=Zook rt=995548761 rg=treffen
~#! tid=995459073
soo traurig, dass du nichtmal die richtige rubrik triffst?

-----------------------------------------------------------------------------



Re^6: Wegbeschreibung Stati Darmstadt (Wurzel, 19. Jul 2001, 15:24:35):
~#! rn=Varlarion rt=995548801 rg=treffen
~#! tid=995459073
also gut, dann bring ich keine tasse mit zum stati. pech gehabt :)

wurzel

-----------------------------------------------------------------------------



Re^7: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 16:04:23):
~#! rn=Wurzel rt=995549075 rg=treffen
~#! tid=995459073
Haeltst Du uns fuer Devotionalienhaendler? Schmeckt aus Firmentassen genauso
gut oder schlecht wie aus anderen auch :-) Ich weiss das.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: StaTi in Dresden (Deepblue, 19. Jul 2001, 16:15:51):
~#! rn=Deepblue rt=995443046 rg=treffen
~#! tid=995443046
Der StaTi am Freitag faellt aus, Ersatztermin und -ort bitte bei Vardion
erfragen.

-----------------------------------------------------------------------------



Re^8: Wegbeschreibung Stati Darmstadt (Wurzel, 19. Jul 2001, 16:27:00):
~#! rn=Ark rt=995551463 rg=treffen
~#! tid=995459073
kommst du am freitag wieder mit nem firmen-tshirt an oder willst du 
anderweitig vorsorge tragen? :)

-----------------------------------------------------------------------------



Re^9: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 16:32:15):
~#! rn=Wurzel rt=995552820 rg=treffen
~#! tid=995459073
Alternativ noch so einen netten Memory Stick, eine Firmentasse *hohumm*,
Kugelschreiber, einen Fleece Pulli, Golf T-Shoerts und anderes mehr. Sammelt
sich halt an :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Wegbeschreibung Stati Darmstadt (Karis, 19. Jul 2001, 16:35:00):
~#! rn=Ark rt=995553135 rg=treffen
~#! tid=995459073
Kleiner Tip: wenns Dir zuviel Zeug wird, gib deinen
Kollegen in der Entwicklung auch was ab, die kommen
an das Zeug naemlich nich so einfach dran ;)

Macht Freu(n)de

Generaelchen Karis

-----------------------------------------------------------------------------



Re^11: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 16:40:53):
~#! rn=Karis rt=995553300 rg=treffen
~#! tid=995459073
Leider sind unsere SEs etwas verwoehnt und schauen einige Dinge nichtmal mehr
an. Die wollen Hardware oder Essware ("Wann werde ich mal wieder
eingeladen?").


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: Wegbeschreibung Stati Darmstadt (Karis, 19. Jul 2001, 16:44:48):
~#! rn=Ark rt=995553653 rg=treffen
~#! tid=995459073
Na, wenn die natuerlich schon alles haben, kannste das ja
ein paar armen Studis stiften ;) Obwohl .. die wollen meist
auch mehr Hardware und Essware... und dann noch
die Weichware bzw Saufware....

So langsam frag ich mich dann doch, wozu diese ganzen
Werbegeschenke dann eigentlich noch gut sind,
wenn sie niemand braucht. aber ich muss das auch
nicht verstehen, ich bin ja bloss Entwickler (immer 
noch ohne eigene Tasse ;)

Generaelchen Karis

-----------------------------------------------------------------------------



Re^13: Wegbeschreibung Stati Darmstadt (Isi, 19. Jul 2001, 16:45:40):
~#! rn=Karis rt=995553888 rg=treffen
~#! tid=995459073
also eppendorf kuli sind unter bilogen ein status smybol 
damit knausern die naemlich ;)
isi (moussewerfend)

-----------------------------------------------------------------------------



Re^14: Wegbeschreibung Stati Darmstadt (Karis, 19. Jul 2001, 16:47:08):
~#! rn=Isi rt=995553940 rg=treffen
~#! tid=995459073
In welcher Loge war das, sagtest Du? 
btw... wieviel Tassen und Kulis gibts fuer Re^100 ? 

-----------------------------------------------------------------------------



Re^13: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 16:48:04):
~#! rn=Karis rt=995553888 rg=treffen
~#! tid=995459073
Ein Heimspiel des FCB kann ich natuerlich nicht mitbringen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stati Dresden (Vardion, 19. Jul 2001, 22:06:56):
Hi.

Da wir naechste Woche nen Special Guest haetten, wollt nen Stati fuer Dienstag
Abend vorschlagen. Die Torwirtschaft war eigentlich ganz nett, da konnten wir
wieder hin. Also falls wer Lust hat, schreibt mal.

Vardion, Pseudodresdener

-----------------------------------------------------------------------------



Re: Re: Wegbeschreibung Stati Darmstadt (Ark, 19. Jul 2001, 23:13:49):
~#! rn=Ark rt=995533641 rg=treffen
~#! tid=995459073
Ich definiere also mal den Ausweichplatz "Hotzenplotz", falls es eine Stunde
vor Stammtisch regnet oder _stark_ nach solchem aussieht. Ich hoffe mal, dass
keiner automatisch zum Hotzenplotz tigert. Treffpunkt wuerde ich in jedem Fall
Biergarten vorschlagen, wenn es mit dem Wetter nix ist, wird 15 Minuten
gewartet, dann xcall
/stati/grueppchen->move("/treffpunkte/kneipen/hotzenplotz",
M_RENN|M_SCHNELL|M_WARTEN)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Wegbeschreibung Stati Darmstadt (Wurzel, 20. Jul 2001, 10:24:33):
~#! rn=Ark rt=995577229 rg=treffen
~#! tid=995459073
es sieht stark danach aus. ist zwar noch ein paar stunden zeit, aber trotzdem
fuerchte ich, dass der biergarten etwas zu feucht ist.

wurzel

-----------------------------------------------------------------------------



Re: Stati Dresden (Vardion, 20. Jul 2001, 22:28:04):
~#! rn=Vardion rt=995573216 rg=treffen
~#! tid=995573216
Hi.

Der Stati wurde auf Wunsch eines einzelnen Chaoten auf Mittwoch verschoben.
Und da ich genug Zusagen hab, findet der da auch definitiv statt. Also findet
euch einfach Mittwoch 20 Uhr im Biergarten der Torwirtschaft (Grosser Garten)
ein. Wer mag, kann ja auch 19:30 da sein, mal sehen bis wann ichs schaffe ;-)

Vardion

-----------------------------------------------------------------------------



MS StaTi 24.07.01 (Foobar, 23. Jul 2001, 00:45:53):
Liebe Gemeinde,

der kommende muensteraner StaTi findet ausnahmsweise mal im "Cadaque's" statt,
welches sich in Muensters Zentrum in der Ludgeristr. 62 befindet.

Wie immer dienstag und wie immer um 20.07 Uhr.

Da der Laden wohl recht kleine ist und wir reservieren muessen bitte ich um
Anmeldung per Mail oder in der MPA bis Montag um 19.00 Uhr.

Kommet zuhauf!

Foobar

PS: Wer einen Typo findet meldet ihn bitte. Mir schnurz an wen.

-----------------------------------------------------------------------------



Re: MS StaTi 24.07.01 (Varlarion, 23. Jul 2001, 00:51:24):
~#! rn=Foobar rt=995841953 rg=treffen
~#! tid=995841953
Cadawo? naja, egal, werds schon irgendwie finden...
Und du kommst mit Anatol!!!

Varl*, +2

-----------------------------------------------------------------------------



Re: Re: MS StaTi 24.07.01 (Anatol, 23. Jul 2001, 01:30:44):
~#! rn=Varlarion rt=995842284 rg=treffen
~#! tid=995841953
Weiss noch nicht, haengt davon ab, wie weit ich mit meinem Berichtskram 
komme. Ich hab hier - trotz bestandener Pruefung (1 von 3) noch zu tun,
weisst Du ;)

Anatol

-----------------------------------------------------------------------------



Re^3: MS StaTi 24.07.01 (Varlarion, 23. Jul 2001, 01:31:12):
~#! rn=Anatol rt=995844644 rg=treffen
~#! tid=995841953
Ja ja, lasst mich alle allein *schmoll*

-----------------------------------------------------------------------------



Re: MS StaTi 24.07.01 (Perigin, 23. Jul 2001, 14:30:50):
~#! rn=Foobar rt=995841953 rg=treffen
~#! tid=995841953
Hiho,
da man sich ja Anmelden sollte mach ich das nun auch schoen brav :)
Brandir ; Sethai  und meine wenigkeit Perigin kommen aufjedenfall :)
cu *winke-wuschel*



-----------------------------------------------------------------------------



Hamburg, 27.07.01 (Bielefeld, 25. Jul 2001, 18:08:02):
Moin!

In Hamburg gibt es zur Zeit auf dem Rathausmarkt Open-Air-Kino
(freier Eintritt). Gezeigt wird am Freitag "Men in Black". Da
schon mehrere Hamburger Mudder (+mindestens ein auswaertiger Gast)
kommen wollen, erhebe ich dieses Event jetzt einfach mal zum
Stammtisch und schlage vor, dass wir uns so 21:15-21:30 direkt
vorm Eingang des Rathauses treffen. Bei ausnehmend schlechtem 
Wetter koennen wir uns zum Beispiel ins "Finnigans Wake" verziehen.

-Bielefeld

-----------------------------------------------------------------------------



Re: Hamburg, 27.07.01 (Elendil, 25. Jul 2001, 20:38:40):
~#! rn=Bielefeld rt=996077282 rg=treffen
~#! tid=996077282
Hi,

ich bringe auch noch ein Paar Aussetige mit :)

Unasai, Elaine und Darkwing kommen auch :)

CU, Elensil :)

-----------------------------------------------------------------------------



Re: Re: Hamburg, 27.07.01 (Grimmborn, 25. Jul 2001, 20:41:07):
~#! rn=Elendil rt=996086320 rg=treffen
~#! tid=996077282
Und die sind aussaetzig?

GdA

-----------------------------------------------------------------------------



Re^3: Hamburg, 27.07.01 (Gloinson, 25. Jul 2001, 20:53:03):
~#! rn=Grimmborn rt=996086467 rg=treffen
~#! tid=996077282
Du wirst nie ein DNA-Assembler wenn Du bei gleichen Insert/Change-Kosten
gleich eine Loesung bevorzugst. Andererseits sollten wir fuer Elendil fuer
eine Tastatur sammeln.

Gloin(son)

-----------------------------------------------------------------------------



Re^3: Hamburg, 27.07.01 (Elendil, 25. Jul 2001, 22:55:20):
~#! rn=Grimmborn rt=996086467 rg=treffen
~#! tid=996077282
Hi,

habe gerade mit einer Aussaetigen telefoniert als ich das geschrieben habe :)
Grimmborn, bist Du ein Rechtschreibprogramm? Brauchst Du das? ;)
Tastatur geht noch! Danke :)
Elendil

-----------------------------------------------------------------------------



Re: Hamburg, 27.07.01 (Troy, 26. Jul 2001, 10:51:26):
~#! rn=Bielefeld rt=996077282 rg=treffen
~#! tid=996077282
Schlechtes Wetter findet zur Zeit (und auch am Freitag) in Hamburg nicht
statt.

Troy

-----------------------------------------------------------------------------



Verschiedenes (Bambi, 26. Jul 2001, 11:05:28):
1. Am 02. August geh ich mit ein paar Bekannten und ein paar Muddern in
Hassloch in den Holiday-Park. Wenn jemand Lust hat, mitzukommen, der kann von
mir ggf. genauere Auskuenfte zwecks Anfahrt oder Uebernachtungsmoeglichkeiten
erhalten. Die Seite vom HP lautet http://www.holiday-park.de/

2. Am 04. August (also zwei Tage nach HP) gehen ich und ein paar Bekannte von
mir (vielleicht auch Mitmudder) in Kaiserslautern Paintball spielen. Hier kann
ich (noch) nicht mit genaueren Auskuenften dienen, aber wer mit will usw.
sollte sich rechtzeitig bei mir melden.

MfG, Bambi.

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 26. Jul 2001, 19:45:28):
Da Kuschelweich (bisher) nicht in der MPA posten kann, moechte ich nur kurz
i.V. darauf hinweisen, dass heute um 20 Uhr im Kleinen Meierhof der Karlsruher
Mud-Stammtisch stattfindet.
MfGuiV Bambi.

-----------------------------------------------------------------------------



W:O:A (Critter, 26. Jul 2001, 23:34:08):
faehrt irgendwer zum wacken open air?! wenn ja moege er sie es zwecks
moeglichem treffens mal die hand heben
gruss c.

-----------------------------------------------------------------------------



Re: W:O:A (Mupfel, 26. Jul 2001, 23:58:07):
~#! rn=Critter rt=996183248 rg=treffen
~#! tid=996183248
Frag mal Beelzebub oder Lug ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Hamburg, 27.07.01 (Darkwing, 27. Jul 2001, 14:00:53):
~#! rn=Elendil rt=996086320 rg=treffen
~#! tid=996077282
-2 leider... Auto verreckt und Bahnfahrt ist leider der absolute Wucher :-(

Naja, naechstes WE dann wahrscheinlich ...

Elaine/Darkwing

-----------------------------------------------------------------------------



Stammtisch in D'dorf (Kartoffel, 29. Jul 2001, 13:05:17):


Wegen Party verschoben:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Donnerstag, den 9.8. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



MS StaTi 31.07.01 (Foobar, 30. Jul 2001, 14:50:49):
Liebe Gemeinde,

wie jeden Dienstag findet auch am kommenden (also morgen) der allwoechentliche
Stammtisch im z.Zt. hochsommerlichen Muenster statt.

Da das "Cadaque's" bei der Mehrzahl der Besucher leider keine Sympathien
wecken konnte geht das froehliche Kneipensuchen weiter und wir treffen uns
morgen so gegen 20.07 Uhr im "Cafe Malik" in der Frauenstrasse (in der Naehe
des "Frauenstr. 24", wo wir oefter schon mal waren).

Da ich ueberhaupt keine Ahnung habe wie gross der Laden ist sind wir so dreist
und reservieren einfach nicht, weswegen sich auch keiner anmelden muss.

Trotzdem:

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 31.07.01 (Varlarion, 30. Jul 2001, 14:52:29):
~#! rn=Foobar rt=996497449 rg=treffen
~#! tid=996497449
Die haben eine grosse Fensterfront, glaube ich... Wenn da zuviele sind, werft
sie einfach raus ;)

-----------------------------------------------------------------------------



Re: Re: MS StaTi 31.07.01 (Foobar, 30. Jul 2001, 14:53:03):
~#! rn=Varlarion rt=996497549 rg=treffen
~#! tid=996497449
Ist notiert, danke Varlarion :o)

Foobar

-----------------------------------------------------------------------------



Re^3: MS StaTi 31.07.01 (Gorog, 30. Jul 2001, 19:20:50):
~#! rn=Foobar rt=996497583 rg=treffen
~#! tid=996497449
Hmmmm, das is miest ziemlich voll, und wenn man Interesse an nem Platz in
deren Biergarten hat, sollte man vielleicht mal reservieren. Ich werd das mal
in Angriff nehmen. 
Uebrigens... Das Malik ist wie erwaehnt in der Frauenstrasse, sehr leicht zu
finden, da diese sich direkt gegenueber vom Hindenburgplatz befindet. Und wer
schon mal in der Frauenstasse 24 war geht von dort einfach ein Stueck
stadteinwaerts und kommt dann nach wenigen Metern, beim Malik an. Besonders
verwegene Besucher koennen auch en Hintereingang von der ULB aus nehmen, was
aber nicht unbedingt leicht ist (;

mfGorog

P.s.: Uebrigens gibts dort leckeren Tee und wenn ich mich recht erinnere auch
die eine oder andere schmackhafte Kleinigkeit zu beissen.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 31. Jul 2001, 14:47:16):
Da unser Stammgrieche 4 Wochen in der Heimat verweilt, findet der 
Karlsruher Mud-Stammtisch am Donnerstag im Litfass statt. Natuerlich
wie immer um 20 Uhr mit den ueblichen Verdaechtigen.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Bambi, 31. Jul 2001, 19:34:46):
~#! rn=Boing rt=996583636 rg=treffen
~#! tid=996583636
Nach den ersten eineinhalb Zeilen hatt ich schon erwartet, dass Du
ankuendigst, dass der Stati bei Panos in Griechenland... aber seis drum.

-----------------------------------------------------------------------------



Re^4: MS StaTi 31.07.01 (Puk, 31. Jul 2001, 23:49:40):
~#! rn=Gorog rt=996513650 rg=treffen
~#! tid=996497449
So, da nun im Malik ebenfalls eine Person fuer nicht Erwuenschenswert erachtet
wurde wird auch das Mailik nicht wieder angesteuert ;)

Vielleicht schaffen wir es mal auch wieder eine festerer Location zu finden,
aber momentan ziehen wir durch Muenster und suchen, und suchen und suchen :)

Puk

-----------------------------------------------------------------------------



Re^5: MS StaTi 31.07.01 (Foobar, 31. Jul 2001, 23:53:51):
~#! rn=Puk rt=996616180 rg=treffen
~#! tid=996497449
Genau, liebe Gemeinde!

Und aus diesem Grunde treffen wir uns das naechste Mal - innerhalb kuerzester
Zeit - im "Frauenstr. 24" in der.... Wer weiss es? Richtig, Frauenstr. 24.

Wahrscheinlich macht der Laden danach zu, aber juckt uns das?

Natuerlich wie immer dienstags und wie immer gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re^6: MS StaTi 31.07.01 (Mupfel,  1. Aug 2001, 14:38:08):
~#! rn=Foobar rt=996616431 rg=treffen
~#! tid=996497449
Was randaliert ihr eigentlich immer in den Kneipen rum? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: MS StaTi 31.07.01 (Brandir,  1. Aug 2001, 14:50:42):
~#! rn=Foobar rt=996616431 rg=treffen
~#! tid=996497449
Oehm najaaaaa...

Frauenstrasse 24 ist ne ASTA-Kneipe.
Nacher ruinieren wir die Kneipe, die reisst den kompletten ASTA mit in den
Ruin und wir bekommen keine Semestertickets mehr... DAGEGEN!!! :-)

Also benehmt euch bitte :-)
Brandir

-----------------------------------------------------------------------------



Re^7: MS StaTi 31.07.01 (Gloinson,  1. Aug 2001, 16:14:18):
~#! rn=Brandir rt=996670242 rg=treffen
~#! tid=996497449
ASTA? Das ist doch eh immer nur Filz. Die koennen auch daheim grillen, dann
kann man die Aufwandsentschaedigungen kleiner halten.

Gloin(son) wuenscht viel Spass

-----------------------------------------------------------------------------



Stati in Berlin (Golas,  1. Aug 2001, 17:57:23):
fr, 3.8.
2000
seeblick

-----------------------------------------------------------------------------



Re: Stati in Berlin (Humni,  1. Aug 2001, 17:58:35):
~#! rn=Golas rt=996681443 rg=treffen
~#! tid=996681443
2000 ist doch schon vorbei.
Du meinst 2001.

Humni

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Gloinson,  1. Aug 2001, 19:13:21):
~#! rn=Humni rt=996681515 rg=treffen
~#! tid=996681443
20hundert
fuer humnis
nie militaerfilme gesehen?

Gloinson, wusste dass er da letzte Woche was schreiben wollte

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (Humni,  1. Aug 2001, 21:13:21):
~#! rn=Gloinson rt=996686001 rg=treffen
~#! tid=996681443
Doch.
Ich wollte einen Witz machen und war in der falschen Rubrik.
Entschuldigung.

Humni

-----------------------------------------------------------------------------



Re^4: Stati in Berlin (Zook,  2. Aug 2001, 09:34:46):
~#! rn=Humni rt=996693201 rg=treffen
~#! tid=996681443
Wird das eigentlich zur Mode in die falsche Rubrik zu posten? ;)

Zook.

-----------------------------------------------------------------------------



Re^5: Stati in Berlin (Wurzel,  2. Aug 2001, 09:48:45):
~#! rn=Zook rt=996737686 rg=treffen
~#! tid=996681443
was heisst in diesem zusammenhang "wird"?

wurzel

-----------------------------------------------------------------------------



Re^6: Stati in Berlin (Humni,  2. Aug 2001, 10:59:39):
~#! rn=Wurzel rt=996738525 rg=treffen
~#! tid=996681443
Also, da die ernsthaftesten Themen hier in Megaschmarrn gepostet werden kann
es kaum noch falscher werden. Aber Grimmborn hat schon recht, es ist die
MPA...

Humni

-----------------------------------------------------------------------------



Re^5: MS StaTi 31.07.01 (Humni,  2. Aug 2001, 13:40:36):
~#! rn=Puk rt=996616180 rg=treffen
~#! tid=996497449
OK ich weiss ich bin definitv nicht der einzige:

Wer ist nicht erwuenscht und warum?
Erzaehlen! Erzaehlen!

Humni, sabbernd.

-----------------------------------------------------------------------------



Re^6: MS StaTi 31.07.01 (Gloinson,  2. Aug 2001, 13:46:45):
~#! rn=Humni rt=996752436 rg=treffen
~#! tid=996497449
Genau! Schmutzige Details bitte!

Gloin(son), auf Humni sabbernd

-----------------------------------------------------------------------------



Re^7: MS StaTi 31.07.01 (Foobar,  2. Aug 2001, 13:48:34):
~#! rn=Gloinson rt=996752805 rg=treffen
~#! tid=996497449
Ich hab' den Kellner gefressen weil der nach Bier roch.

Foobar

-----------------------------------------------------------------------------



Stati in Duesseldorf (Schleicher,  3. Aug 2001, 10:16:04):
Hmmm, wie das passiert weiss eigentlich keiner so genau jedenfalls is es nun
so das der kommende Stati in Ddorf gespickt sein wird mit illustren Gaesten.
Zu den Erwarteten gehoeren bis jetzt u.a. eine Haesin, ein Kristalldrache, ein
Metzelmeister, ne Feldfrucht und viele mehr. Und damit waeren wir auch schon
beim Thema... da sich auf diesem Stati halb Deutschland im wunderschoenen
Duesseldorf zu treffen scheint kann es ja nicht schaden wenn der ein oder
andere aus dem Umland noch vorbeikommt, je mehr desto besser. Wer weiss wie
lange es den Duesseldorfer Stati noch gibt?!

Schleicher

P.S: Ne kuze Mail oder ein kurzes tm an mich waer prima dann kann ich
gegebenenfalls weitere Tische reservieren :-)

-----------------------------------------------------------------------------



Nachtrag zu Duesseldorf (Schleicher,  3. Aug 2001, 11:50:34):
Fuer alle die wissen moechten wann und wo der Sati sein wird sei hier auf
Artiekl 52 in ebendieser Rubrik verwiesen ;-)

Schleicher

-----------------------------------------------------------------------------



Metzelteam (Bambi,  4. Aug 2001, 20:23:14):
Aus gegebenem Anlass moechte ich eine kleine Metzeltour erwaehnen, die Imda
und einer meiner Zweities unternommen haben. Inzwischen ist besagte Tour
vorrueber, die Waffen sind vom Blut der Feinde gereinigt und die Ruestungen
sind in der oertlichen Waeschekammer der jeweiligen Seherhaeuser.
 ...

Diese Metzeltour hat sich jedoch nicht im MorgenGrauen zugetragen (obwohl
zumindet Imda zu dieser Zeit sein Wegeskript ausloesen musste), sondern in
einem ominoesen Mud mit Namen "RL".
Die Metzeltour hatte einen speziellen Namen, naemlich "Paintball" (oder auch
Gotcha) genannt.

Warum erwaehne ich das?
Ganz einfach. Mir ist zu Ohren gekommen, dass ein paar Leute mehr als nur ein
Zweierteam (und ein paar NPCs) Lust gehabt haetten, uns zu begleiten.
Aus diesem Grund moechte ich hiermit bekanntgeben, dass das
Original-Metzelteam Verstaerkung begruessen wuerde, wenn es am Samstag oder am
Sonntag nach dem Bonner Party-WE nach Boeblingen (also dieses mal in der Naehe
von Stuttgart) EKs einsacken geht. Alle Interessierten koennen sich bei mir
oder Imda melden oder einen von uns am Party-WE anquatschen.
MfG, ein mehrfach angeschossenes, aber immer noch quicklebendiges Bambi.

-----------------------------------------------------------------------------



Re: Metzelteam (Varlarion,  5. Aug 2001, 00:44:34):
~#! rn=Bambi rt=996949394 rg=treffen
~#! tid=996949394
JAAAAAAAAAAA, macht Bloedlingen dem Erdboden gleich!!!

Varlarion ruft: SCHWABEN ABWERTEN!!!

-----------------------------------------------------------------------------



Re: Re: Metzelteam (Mupfel,  5. Aug 2001, 01:18:31):
~#! rn=Varlarion rt=996965074 rg=treffen
~#! tid=996949394
Och nicht doch, das ist doch n schoenes Staedtchen ;)

-mupfel-

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Croft,  6. Aug 2001, 16:33:42):
Da unser Stammgrieche immer noch in Urlaub ist, findet der Stammtisch
wieder nicht im Kleinen Meierhof statt.  Diesmal gehts ins Pizzahaus
in der Oststadt (Ecke Rintheimer/Georg-Friedrich).  Zeitpunkt ist
wie immer Donnerstag 20:00.
Gruss Croft

-----------------------------------------------------------------------------



aenderung rudelmudden berlin (Pitfall,  6. Aug 2001, 17:12:35):
ok kleine aenderung:

rudelmudden dann also ab 31.8. irgendwann so gegen abend an der HU 
ende ist noch nicht festgesetzt werden wir ja dann sehen.

fuer irgendwelche anfragen steh ich zur verfuegung.

-----------------------------------------------------------------------------



Re: aenderung rudelmudden berlin (Gnome,  6. Aug 2001, 17:15:54):
~#! rn=Pitfall rt=997110755 rg=treffen
~#! tid=997110755
ende ist Mo. morgen, wenn die ersten wieder zur arbeit muessen.
also schlafsaecke und isomatten mitbringen. :)

gnOme

-----------------------------------------------------------------------------



Re: Re: aenderung rudelmudden berlin (Pitfall,  6. Aug 2001, 17:16:50):
~#! rn=Pitfall rt=997110956 rg=treffen
~#! tid=997110755
wozu schlafsaecke? wer nicht mehr kann packt seinen kopf auf die tastatur und
schick ist.

und da wir dann keinen stati machen muessen wir auch fuer fluessignahrung
sorgen.
,.

-----------------------------------------------------------------------------



Re^3: aenderung rudelmudden berlin (Xenada,  6. Aug 2001, 17:53:10):
~#! rn=Pitfall rt=997111010 rg=treffen
~#! tid=997110755
und wer soll dann bitte das gepiepse vom staendigen Wie bitte? ertrage?
Xenada wird wohl lieber in ihrem bettchen schlafen.

-----------------------------------------------------------------------------



Re^4: aenderung rudelmudden berlin (Gloinson,  6. Aug 2001, 18:22:44):
~#! rn=Xenada rt=997113190 rg=treffen
~#! tid=997110755
Ich oeffne zu diesem Zwecke auch gerne wieder die Fachschaft (wir besitzen
zwei relativ gemuetliche Hinleggelegenheiten und eine Kaffeemaschine, die,
wenn von mir bedient entweder zu schwachen (selten) oder zu starken (haeufig)
Kaffee produziert (notorischer Teetrinker)).

Gloin(son), wird wohl in der Stadt sein

-----------------------------------------------------------------------------



stati und paintball in stuttgart (Leibniz,  7. Aug 2001, 19:59:21):
am 18.8.01 ist in stuttgart mal wieder stammtisch mit cocktails saufen :)
ach so und vorher gehts zum paintball. anmeldung bei imda :)

uhrzeit wird noch bekannt gegeben.

bis dann
leibniz

-----------------------------------------------------------------------------



MS StaTi heute abend... (Foobar,  8. Aug 2001, 02:09:34):
Liebe Gemeinde.

Ich kann nicht mehr.

Ich gebe auf.

Ich verstehe es einfach nicht...

Als wir heute gegen 20.07 Uhr zur "Frauenstr. 24" kamen, war die Kneipe zu.

Jaja, lacht nur. Der ein oder andere mag denken . o O ( Foobar verarscht uns
), aber jeder Muensteraner und sogar einige Osnabruecker koennen das Fenomen
bestaetigen.

Wo wir uns jetzt das naechste Mal treffen ist noch zu diskutieren, ich muss
erstmal den erneuten Rueckschlag wegstecken...

Foobar

PS: Wenigstens war ein Schild angebracht, welches was von
"Renovierungsarbeiten" andeutete... Es gibt also noch Hoffnung.

-----------------------------------------------------------------------------



Re: MS StaTi heute abend... (Anatol,  8. Aug 2001, 02:10:16):
~#! rn=Foobar rt=997229374 rg=treffen
~#! tid=997229374
*glucks* *glucks* *glucks* :)

-----------------------------------------------------------------------------



Re: Re: MS StaTi heute abend... (Anatol,  8. Aug 2001, 02:11:10):
~#! rn=Anatol rt=997229416 rg=treffen
~#! tid=997229374
*salzinwundenstreu*

-----------------------------------------------------------------------------



Re: MS StaTi heute abend... (Gloinson,  8. Aug 2001, 02:36:51):
~#! rn=Foobar rt=997229374 rg=treffen
~#! tid=997229374
Der AStA ist schuld! Der hat bestimmt gepetzt. Teeren, Federn,
Exmatrikulieren!

Gloin(son), grinst breit

-----------------------------------------------------------------------------



Re: MS StaTi heute abend... (Mupfel,  9. Aug 2001, 01:05:53):
~#! rn=Foobar rt=997229374 rg=treffen
~#! tid=997229374
Ja und? war doch nett im "Ausweichquartier".

-mupfel-

-----------------------------------------------------------------------------



Re: Re: MS StaTi heute abend... (Varlarion,  9. Aug 2001, 01:15:37):
~#! rn=Mupfel rt=997311953 rg=treffen
~#! tid=997229374
stuemmt, leider isses etwas weit weg vom bahnhof...

-----------------------------------------------------------------------------



Re^3: MS StaTi heute abend... (Mupfel,  9. Aug 2001, 01:31:03):
~#! rn=Varlarion rt=997312537 rg=treffen
~#! tid=997229374
...aber da gibts ja Puk...

-mupfel-

-----------------------------------------------------------------------------



Re^4: MS StaTi heute abend... (Varlarion,  9. Aug 2001, 01:31:55):
~#! rn=Mupfel rt=997313463 rg=treffen
~#! tid=997229374
stimmt, an so einen shuttle-service koennt ich mich glatt gewoehnen ;)

-----------------------------------------------------------------------------



Re^5: MS StaTi heute abend... (Catweazle,  9. Aug 2001, 07:39:06):
~#! rn=Varlarion rt=997313515 rg=treffen
~#! tid=997229374
Watt iss gez mit Loge?

YTC

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Perdita,  9. Aug 2001, 10:33:18):
~#! rn=Croft rt=997108422 rg=treffen
~#! tid=997108422
...und ganz nebenbei erwaehnt wird heute abend auch ein special guest anwesend
sein (wer koennte nur das wieder sein?!?)
Wollt ich ja nur mal erwaehnt haben...
Perdita

-----------------------------------------------------------------------------



Re: Metzelteam (Muadib,  9. Aug 2001, 16:19:31):
~#! rn=Bambi rt=996949394 rg=treffen
~#! tid=996949394
hi,

wie bereits gesagt: wenn du es schaffst das ganze in eine art
unterwasser-pantball zu verwandeln bin ich dabei
muadib

-----------------------------------------------------------------------------



Re: Re: Metzelteam (Imda,  9. Aug 2001, 16:21:21):
~#! rn=Muadib rt=997366771 rg=treffen
~#! tid=996949394
Du meinst, wenns regnet ?

-----------------------------------------------------------------------------



Re^3: Metzelteam (Muadib,  9. Aug 2001, 16:25:45):
~#! rn=Imda rt=997366881 rg=treffen
~#! tid=996949394
neinnein schon unterwasser mit scuba-equipment und so
wie ihr das mit den kugeln und dem wasserwiderstand loest, ist eure sache

-----------------------------------------------------------------------------



Re^4: Metzelteam (Imda,  9. Aug 2001, 16:28:28):
~#! rn=Muadib rt=997367145 rg=treffen
~#! tid=996949394
Aber dann bitte nur mit Regeneratoren. Sonst verraten die Blasen ja die ganze
Deckung... Mal probiern, wie der Kramss unter Wasser schiesst...

-----------------------------------------------------------------------------



Re^5: Metzelteam (Muaddib,  9. Aug 2001, 16:29:04):
~#! rn=Imda rt=997367308 rg=treffen
~#! tid=996949394
das Zeug heisst Rebreather. Semi-Closed oder Closed.

Mua

-----------------------------------------------------------------------------



Re^5: Metzelteam (Muadib,  9. Aug 2001, 16:29:42):
~#! rn=Imda rt=997367308 rg=treffen
~#! tid=996949394
regeneratoren? du meinst rebreather oder ?

-----------------------------------------------------------------------------



Re^6: Metzelteam (Anatol,  9. Aug 2001, 16:30:49):
~#! rn=Muadib rt=997367382 rg=treffen
~#! tid=996949394
Wenn ihr (Muad(d)ib) euch mal absprechen koenntet, ja?

Fuehlt sich besoffen,
Anatol ;)

-----------------------------------------------------------------------------



Re^6: Metzelteam (Imda,  9. Aug 2001, 16:31:03):
~#! rn=Muadib rt=997367382 rg=treffen
~#! tid=996949394
Hmm, also an Land heissen die Dinger Regeneratoren. Kann sein, dass die unter
Wasser anders heissen, drin is aber vmtl. das gleiche... (irgendwelches
Kalkzeug+Kuehler+O2)

-----------------------------------------------------------------------------



Re^7: Metzelteam (Muadib,  9. Aug 2001, 16:33:10):
~#! rn=Anatol rt=997367449 rg=treffen
~#! tid=996949394
trink weniger

-----------------------------------------------------------------------------



Re^8: Metzelteam (Muaddib,  9. Aug 2001, 16:34:03):
~#! rn=Muadib rt=997367590 rg=treffen
~#! tid=996949394
Und tauch mehr. Stickstoff ist eine gute Substitution fuer Alkohol. 

-----------------------------------------------------------------------------



Re^9: Metzelteam (Muadib,  9. Aug 2001, 16:34:33):
~#! rn=Muaddib rt=997367643 rg=treffen
~#! tid=996949394
aber nur unter druck

-----------------------------------------------------------------------------



Re^10: Metzelteam (Boing,  9. Aug 2001, 16:34:51):
~#! rn=Muadib rt=997367673 rg=treffen
~#! tid=996949394
Jetzt redet der schon mit sich selbst!

-----------------------------------------------------------------------------



Re^10: Metzelteam (Muaddib,  9. Aug 2001, 16:34:53):
~#! rn=Muadib rt=997367673 rg=treffen
~#! tid=996949394
klar. deswegen das "tauch mehr"

-----------------------------------------------------------------------------



Re^10: Metzelteam (Zook,  9. Aug 2001, 16:34:57):
~#! rn=Muadib rt=997367673 rg=treffen
~#! tid=996949394
Ok, Boing... uebernehmen Sie!

Zook. Aber nur den Thread. Ich bleib gerne hier in Muadibs Workroom stehen.

-----------------------------------------------------------------------------



Re^11: Metzelteam (Muadib,  9. Aug 2001, 16:35:35):
~#! rn=Boing rt=997367691 rg=treffen
~#! tid=996949394
nachdem du mir den boden zum reden wegenommen hast

-----------------------------------------------------------------------------



Re^11: Metzelteam (Croft,  9. Aug 2001, 16:35:41):
~#! rn=Zook rt=997367697 rg=treffen
~#! tid=996949394
Boing meinte wohl eher den Teilthread in Schmarrn als den hier

-----------------------------------------------------------------------------



Re^12: Metzelteam (Zook,  9. Aug 2001, 16:36:11):
~#! rn=Croft rt=997367741 rg=treffen
~#! tid=996949394
Wieso? Der ist doch nun auch Schmarrn geworden, oder? 

Zook ruft: Grrrrrrrrrrrrrimmborn!

-----------------------------------------------------------------------------



Re^11: Metzelteam (Montanus,  9. Aug 2001, 16:36:29):
~#! rn=Zook rt=997367697 rg=treffen
~#! tid=996949394
Ach Zook.
Progg uns doch einen schoenen Megaschmarrn-Gildenraum. Mit gueldenen Grifeln,
einem automatisch updatenden Schmarrn-o-meter udn einer Spendenklappe, bi der
man wudnerbar sagen kann, was man spendet und fuer welches Reh. ;-)

-----------------------------------------------------------------------------



Re^12: Metzelteam (Zook,  9. Aug 2001, 16:37:09):
~#! rn=Montanus rt=997367789 rg=treffen
~#! tid=996949394
Soll ich es auf meine Todo-Liste schreiben?

Zook.

-----------------------------------------------------------------------------



Re^13: Metzelteam (Montanus,  9. Aug 2001, 16:38:03):
~#! rn=Zook rt=997367829 rg=treffen
~#! tid=996949394
genau. ;-)
am besten aber nicht hinten auf die Liste, sondern irgendwo dazwischen, zum
Beispiel ganz vorne. :-)
Alle Megaschmarrner werden Dich dafuer lieben!

-----------------------------------------------------------------------------



Re^14: Metzelteam (Gloinson,  9. Aug 2001, 16:44:19):
~#! rn=Montanus rt=997367883 rg=treffen
~#! tid=996949394
To intodruce some facts to be schmarrnt later on:
 Kiemenkraut (Harry Potter)
Ausserdem nennt sich das Unterwasser-Rugby, man hat nur einen Ball und den
versucht man in ein Tor zu bringen, wobei man dazu eingeladen ist soviel wie
moeglich anderen die Luft aus dem Koerper zu kicken. Viel spassiger.

Gloin(son)

-----------------------------------------------------------------------------



Re^15: Metzelteam (Muadib,  9. Aug 2001, 16:50:54):
~#! rn=Gloinson rt=997368259 rg=treffen
~#! tid=996949394
wer das fuer ne harry-potter-idee haelt gehe auf:
http://hrz.upb.de/uwr/html/unterwasser-rugby.htm

-----------------------------------------------------------------------------



Re^16: Metzelteam (Gloinson,  9. Aug 2001, 16:53:38):
~#! rn=Muadib rt=997368654 rg=treffen
~#! tid=996949394
Gill-Weed ist aus Harry Potter und sollte beim Verstecken ohne Luftblasen
exzellent helfen. Ich glaub Unterwasserrugby ist eher ein Muggle-Sport.

Gloin(son)

-----------------------------------------------------------------------------



Re^17: Metzelteam (Mupfel,  9. Aug 2001, 16:56:44):
~#! rn=Gloinson rt=997368818 rg=treffen
~#! tid=996949394
Wasserball?

-mupfel-

-----------------------------------------------------------------------------



Re^18: Metzelteam (Gloinson,  9. Aug 2001, 17:27:29):
~#! rn=Mupfel rt=997369004 rg=treffen
~#! tid=996949394
Mit Salzwasser gefuellt.

Gloin(son)

-----------------------------------------------------------------------------



Re^15: Metzelteam (Gandur,  9. Aug 2001, 19:32:24):
~#! rn=Gloinson rt=997368259 rg=treffen
~#! tid=996949394
spielt man aber ohne geraet :)

einzeilend, gandur

-----------------------------------------------------------------------------



Re^5: MS StaTi heute abend... (Puk, 10. Aug 2001, 00:07:58):
~#! rn=Varlarion rt=997313515 rg=treffen
~#! tid=997229374
*HUST*

-----------------------------------------------------------------------------



OS StaTi 17.8.2001 (Osnabrueck, 12. Aug 2001, 00:43:20):
Da den Muensteranern anscheinend langsam die Kneipen ausgehen, haben wir
beschlossen, zu einer kleinen "Gegenbewegung" aufzurufen. Daher findet nach
langer Zeit wieder ein StaTi in Osnabrueck statt.
Die Kneipe wurde ausgiebig getestet und fuer gut befunden <Hick!>.

Austragungsort ist das "Eckstein" am Vitihof 4/5 und wir sammeln uns dort am
17.8.01 ab 20 Uhr.

Anmeldungen bitte bis spaetestens Donnerstag per MPA oder Mail (an Mupfel oder
Varlarion).

i. A. Osna*

P.S.: Wegbeschreibungen werden nachgereicht.

-----------------------------------------------------------------------------



MS StaTi 14.8.01 (Foobar, 12. Aug 2001, 23:28:26):
Liebe Gemeinde,

wie jeden Dienstag treffen wir uns auch am kommenden Dienstag zum woechentlich
stattfinden StaTi.

Diesmal versuchen wir, das "Cadaque's" in der Ludgeristr. 62 zur Schliessung
zu bewegen.

Stattfinden soll das ganze wie immer gegen 20.07 Uhr. Als Special Guest hat
sich schon mal Elberet angemeldet.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 14.8.01 (Varlarion, 12. Aug 2001, 23:31:02):
~#! rn=Foobar rt=997651706 rg=treffen
~#! tid=997651706
Koennen die nicht direkt waehrend des StaTis schliessen? Ich haett Lust, mal
das Inventar einer Kneipe zu zerlegen... aeh, lassen wir das ;)

Varl*, (mindestens) +1

-----------------------------------------------------------------------------



Re: Re: MS StaTi 14.8.01 (Foobar, 12. Aug 2001, 23:33:27):
~#! rn=Varlarion rt=997651862 rg=treffen
~#! tid=997651706
Gute Idee, dann muessen wir uns beim naechsten Mal auch nicht wundern dass die
Kneipe auf einmal zu ist.

Foobar

-----------------------------------------------------------------------------



Re^3: MS StaTi 14.8.01 (Varlarion, 12. Aug 2001, 23:33:52):
~#! rn=Foobar rt=997652007 rg=treffen
~#! tid=997651706
Zumindest wuessten wir dann, woran es liegt ;)

-----------------------------------------------------------------------------



Re^3: MS StaTi 14.8.01 (Montanus, 13. Aug 2001, 04:26:01):
~#! rn=Foobar rt=997652007 rg=treffen
~#! tid=997651706
wenn ich den Partybericht richtig gelesen habe und Elberet auch in Muenster
auf den Tischen tanzt... kein Wunder, wenn die euch nimmer reinlassen. ;-)

-----------------------------------------------------------------------------



Re^4: MS StaTi 14.8.01 (Elberet, 13. Aug 2001, 10:33:01):
~#! rn=Montanus rt=997669561 rg=treffen
~#! tid=997651706
Also ich kann mich nicht erinnern, auf den Tischen getanzt zu haben, war ich
so besoffen???
*gruebel***
Ausserdem kann ich gar nicht tanzen, aber ich denk wird trotzdem lustig in
Muenster, kommet also zu hauf.

Elbi

PS: das Muh wird stark sein in Muenster am Dienstag

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 13. Aug 2001, 13:22:26):
Stammtisch in Bonn


Datum: Freitag, den 10.08.2001
Uhrzeit: ab 20:00 Uhr
Ort: Lamme Goedzak, Argelanderstrasse/Schlossstr.

Bitte kurze Mail an mich ob ihr kommt, wegen Tischreservierung

schwarzes Hexchen Cinderella *freut sich wie immer*

-----------------------------------------------------------------------------



Re: Stati in Bonn (Cinderella, 13. Aug 2001, 13:23:40):
~#! rn=Cinderella rt=997701746 rg=treffen
~#! tid=997701746
Okay, okay ich hab mich verguckt. 
Nein wir leben nciht in der Vergangenheit :)
Freitag der 17te August ist natuerlich gemeint

-----------------------------------------------------------------------------



Re: Stati in Bonn (Elberet, 13. Aug 2001, 13:24:03):
~#! rn=Cinderella rt=997701746 rg=treffen
~#! tid=997701746
war am 10.8 nicht eh Party in Bonn?

Elbi (meint dass er da war, aber kann sich nicht mehr so genau erinnern, der
Alkohol halt :) )

-----------------------------------------------------------------------------



Re^5: MS StaTi 14.8.01 (Humni, 13. Aug 2001, 15:38:57):
~#! rn=Elberet rt=997691581 rg=treffen
~#! tid=997651706
Naja, beide Namen sind (bis auf ein h) aus Tolkien-Werken, und beide fangen
mit ,El' an.
Aber auf dem Tisch hat Elendil und nicht Elberet getanzt.

Aufklaerer Humni
(der natuerlich Elberet verpasst haben koennte, das aber fuer unwahrscheinlich
haelt)

-----------------------------------------------------------------------------



Re^6: MS StaTi 14.8.01 (Elberet, 13. Aug 2001, 15:39:43):
~#! rn=Humni rt=997709937 rg=treffen
~#! tid=997651706
dann haette ich das auch verpasst und das wuerde ich bedauern :))

El Beret 

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Croft, 14. Aug 2001, 14:51:59):
Das Stammtischkarussel in Karlsruhe dreht sich weiter:
Am Donnerstag den 16.8 findet der StaTi im 'Zum Drachen' in der Oststadt
statt (Ecke Bernhard/Karl-Wilhelm-Str., d.h. recht genau zwischen
Durlacher Tor und Karl-Wilhelm-Platz).  Cocktails gibts dort auch und
wenn ich das richtig verstanden habe auch eine Happy Hour in der
alle Cocktails der Karte 7,50 kosten.  Mal gespannt wie froehlich
der Abend wird :-)  Beginn des StaTis ist wie immer um 20:00.
Gruss Croft

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Boing, 14. Aug 2001, 15:03:00):
~#! rn=Croft rt=997793519 rg=treffen
~#! tid=997793519
Hilfeeeeee ... darf ich bei Dir uebernachten, Croft? :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Jameson, 14. Aug 2001, 15:05:50):
~#! rn=Boing rt=997794180 rg=treffen
~#! tid=997793519
wieso, hast Du Angst, danach ungeschickt gegen ein Nudelholz zu rennen?

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Boing, 14. Aug 2001, 15:07:43):
~#! rn=Jameson rt=997794350 rg=treffen
~#! tid=997793519
Ich erinnere mich da an ein fragendes 'Darf ich?' deinerseits, als es
kuerzlich um einen abschliessenden Uzo ging ... insofern scheint bei
Dir diese Angst wesentlich staerker ausgepraegt zu sein ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Croft, 14. Aug 2001, 15:09:26):
~#! rn=Boing rt=997794180 rg=treffen
~#! tid=997793519
Laesst sich sicher einrichten.  Nur ich frag mich grad was Hobo macht.
Ob die dann heimfaehrt oder bei Vincent vorbeischaut ;o)
Gruss Croft

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Jameson, 14. Aug 2001, 15:11:29):
~#! rn=Boing rt=997794463 rg=treffen
~#! tid=997793519
da hattest Du wohl was falsch verstanden ;) ich hatte nicht "darf ich",
sondern "will ich" gesagt.
Immer gut zuhoeren :)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Karis, 14. Aug 2001, 15:14:21):
~#! rn=Jameson rt=997794689 rg=treffen
~#! tid=997793519
Klingt, als haettest Du keinen eigenen Willen :)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Vincent, 14. Aug 2001, 15:15:13):
~#! rn=Croft rt=997794566 rg=treffen
~#! tid=997793519
Grundsaetzlich bin ich Cocktails gegenueber auch nicht abgeneigt und
grundsaetzlich stelle ich einen Schlafplatz bei mir auch gerne zur
Verfuegung. Aber wieso Croft gerade darauf kommt ,dass Hobo bei mir
uebernachtet, wenn Boing bei Croft schlaeft, ist mir ein Raetsel.....

Gruss
Vincent

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Wurzel, 14. Aug 2001, 15:15:53):
~#! rn=Vincent rt=997794913 rg=treffen
~#! tid=997793519
da scheint es ja richtig abzugehen in karlsruhe :)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Mupfel, 14. Aug 2001, 15:39:53):
~#! rn=Wurzel rt=997794953 rg=treffen
~#! tid=997793519
und ich hab keine zeit. seufz ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: Stammtisch in Karlsruhe (Jameson, 14. Aug 2001, 15:47:59):
~#! rn=Karis rt=997794861 rg=treffen
~#! tid=997793519
kannst Du nicht lesen? ;) aber solange ihr euren Spass habt...

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Muadib, 14. Aug 2001, 17:32:06):
~#! rn=Croft rt=997793519 rg=treffen
~#! tid=997793519
hilfeeeeee ... darf ich bei Dir uebernachten, Vincent? :)
Muadib

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Muadib, 14. Aug 2001, 17:32:26):
~#! rn=Boing rt=997794463 rg=treffen
~#! tid=997793519
der sass

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Montanus, 14. Aug 2001, 17:33:50):
~#! rn=Muadib rt=997803146 rg=treffen
~#! tid=997793519
Ist Megaschmarrn mal wieder nach 'treffen' ausgewandert? ;-)

-----------------------------------------------------------------------------



Re^6: Stammtisch in Karlsruhe (Croft, 14. Aug 2001, 17:36:22):
~#! rn=Montanus rt=997803230 rg=treffen
~#! tid=997793519
Wieso? Seit wann posten dort Karlsruher?
Um von Megaschmarrn auswandern zu koennen muesste man ja von dort kommen ;-)
Gruss Croft

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Pardauz, 15. Aug 2001, 15:24:21):
~#! rn=Croft rt=997793519 rg=treffen
~#! tid=997793519
ach ja, wenn sich da einer wie selbstverstaendlich zu euch setzt, der euch
aber wenn ueberhaupt dann nur recht entfernt bekannt vor kommt ... das koennte
ich sein ;-)

Pardauz .oO(mit Vorwarnung steht das Maul nur halb so lang offen)

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Boing, 15. Aug 2001, 15:35:23):
~#! rn=Pardauz rt=997881861 rg=treffen
~#! tid=997793519
Wie? Der Bart ist ab? :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Karlsruhe (Vincent, 15. Aug 2001, 15:59:32):
~#! rn=Muadib rt=997803126 rg=treffen
~#! tid=997793519
Klar kannst Du bei mir uebernachten Muadib. Aber nicht in dem gleichen Zimmer
wie Hobo!

Gruss
Vincent

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Croft, 15. Aug 2001, 16:00:09):
~#! rn=Vincent rt=997883972 rg=treffen
~#! tid=997793519
In welchem Zimmer wuerdest du dann uebernachten? :o)

-----------------------------------------------------------------------------



Re^3: Stammtisch in Karlsruhe (Foobar, 15. Aug 2001, 16:00:19):
~#! rn=Vincent rt=997883972 rg=treffen
~#! tid=997793519
Wieviele Zimmer hast Du denn? Muss Hobo dann bei Dir schlafen?

Foobar

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Vincent, 15. Aug 2001, 16:01:16):
~#! rn=Croft rt=997884009 rg=treffen
~#! tid=997793519
Nicht in dem gleichen wie Muadib. :-) 

-----------------------------------------------------------------------------



Re^4: Stammtisch in Karlsruhe (Vincent, 15. Aug 2001, 16:13:04):
~#! rn=Foobar rt=997884019 rg=treffen
~#! tid=997793519
Nunja. Ich habe soviele Zimmer, dass MUadib und Hobo nicht in ein und
demselben uebernachten muessen. ;-)

Gruss
Vincent

-----------------------------------------------------------------------------



Marburger Stati (Cisou, 15. Aug 2001, 16:14:51):

Am Freitag abend treffen sich die MudderInnen in und um Marburg mal wieder zu
einem feinen Stammtisch.
Selbiger wird um 20 Uhr im Filou stattfinden.
Ist zwar etwas kurzfristig, aber jede(r) Auswaertige ist herzlich willkommen,
Wegbeschreibungen zu der Kneipe koennen bei mir erfragt werden, und vielleicht
gibts auch mehr als ein Plaetzchen unter ner Lahnbruecke zum Uebernachten :-).

Wir freuen uns !

Cisou - am Freitag abend im Filou :-)

-----------------------------------------------------------------------------



Re^5: Stammtisch in Karlsruhe (Mupfel, 15. Aug 2001, 19:53:38):
~#! rn=Vincent rt=997884784 rg=treffen
~#! tid=997793519
Komische Diskussion ist das. Was habt Ihr alle nur gegen Hobo... ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: Stammtisch in Karlsruhe (Hobo, 16. Aug 2001, 10:11:53):
~#! rn=Mupfel rt=997898018 rg=treffen
~#! tid=997793519
Wieso denn bitte gegen mich? 
Also, ich nehme die Einladung fuer Vincents Schlafzimmer gerne an, nur muss
ich leider wieder heim fahren, damit unser Hund nich das Haus auseinander
nimmt...

    Hobo - will auch mal probeliegen ;)

-----------------------------------------------------------------------------



Flammkuchen! (Hobo, 16. Aug 2001, 10:29:08):
Hallo Leute,
diesmal wird mit langer Vorlaufzeit geplant, damit Ihr Euch alle nichts
Falsches vornehmt:

Am Samstag, dem 29. September (ja, SEPTEMBER) gehen wir wieder einmal
Flammkuchen essen.
Nachdem wir letztes Mal derartig superlecker verwoehnt wurden, werden wir -so
sie offen haben- wieder in der alten Muehle ( Vieux moulin) in Lauterburg
einfallen. Das ist zwar etwas teurer, aber den Preis alle mal wert!

Meldet Euch zu Hauf und bitte rechtzeitig bei mir an, also bis zum 20.9.
bitte.

Achja: Uebernachtungsplaetzte stehen zur Verfuegung - solange man bereit ist,
sich von unserem Hund anbeissen zu lassen.

   Hobo

-----------------------------------------------------------------------------



Re^7: Stammtisch in Karlsruhe (Vincent, 16. Aug 2001, 12:28:49):
~#! rn=Hobo rt=997949513 rg=treffen
~#! tid=997793519
Wir haben nichts gegen Hobo. Ganz im Gegenteil. Hobo gehoert zu den
beliebtesten Personen des Karlsruhe Stammtischs.

Gruss
Vincent

P.S.: Wenn ich es genau ueberlege, gehoeren wir alle zu den beliebtesten
Personen beim Stammtisch

-----------------------------------------------------------------------------



Re: Flammkuchen! (Varlarion, 16. Aug 2001, 15:58:08):
~#! rn=Hobo rt=997950548 rg=treffen
~#! tid=997950548
Hmm, wenn nix dazwischenkommt, wuerd ich sagen, Mupfel und ich sind dabei.
Uebernachtungsmoeglichkeit waere toll, aber die definitive Zusage ueberlass
ich Mupfel.

Varl*, evtl. +2

-----------------------------------------------------------------------------



Re: Re: Flammkuchen! (Mupfel, 16. Aug 2001, 23:23:19):
~#! rn=Varlarion rt=997970288 rg=treffen
~#! tid=997950548
Oh lecker Flammkuchen, da bin ich bei ;)

also +2 (Varlarion, /me)

-mupfel-
P.S.: seit wann habt ihr nen Hund?

-----------------------------------------------------------------------------



Paintball (Bambi, 17. Aug 2001, 13:23:43):
Das Feld in Boeblingen ist morgen leider nicht verfuegbar. Allerdings gibt es
in Solingen (zwischen Karlsruhe und Pforzheim) ein Feld, das vom Besitzer des
(ehemaligen) General Gun Store (Karlsruhe) betrieben wird.
Ich bestimme dieses Feld bis auf weiteres zum Ausweichfeld. Folgende
Informationen wurden aus dem Spielfeldtest des aktuellen Gotcha!-Magazins
entnommen...
Anfahrtsbeschreibung:
A81 bis zum Kreuz Leonberg. Hier im Tunnel weiter in Richting Karlsruhe. Nach
ungefaehr 40 km Ausfahrt Pforzheim West abfahren. An der ersten Kreuzung
rechts und dann 15 km der Strasse nach. In Solingen an der zweiten Ampel
rechts. Ueber einen Bahnuebergang drueber, direkt danach scharf rechts an
NPC-Behausungen vorbei. Besiedeltes Gebiet verlassen (inzwischen auf einem
Feldweg?) bis zu einem Bauernhof. Dort ist das Feld. (Nein, es wird nicht _im_
Bauernhof gespielt!)

Fuer die Wegbeschreibung uebernehme ich keine Garantie, ich gebe nur die im
Feldtest angegebene Beschreibung wider.

Ausleihen, Feldplatzgebuehr etc...
Samstag(s), ab 12 Uhr, open end (bis die Sonne untergeht?)
Spielgebuehr 30 DM (pro Spieltag, nicht pro Spiel)
Ausruestung / Leihgebuehr...
Markierer, Maske, CO2, 200 Kugeln (die Munition: Kaliber .68) 60 DM pro
Spieltag.
CO2 5 DM / Tag. *
Paint: 199 DM fuer 2500 Schuss. (Das sind knapp 8 Pfennige pro Schuss, geht
so. :( )

Sonstiges:
Der Artikel schweigt sich zwar ueber die Gepflogenheiten bezueglich Camo aus,
aber ich kenne Manuel und gehe davon aus, dass Tarnkleidung nicht erlaubt ist.
(Das macht bei einem Sup-Air-Field auch wenig Sinn.) Also besser mal
"neutrale" (tarnfreie) Kleidung mitnehmen.

Tips:

Angeblich kann man dort grillen. Vermutlich gibts da was zum kaufen und man
muss nix mitnehmen.
Getraenke wirds wohl auch geben.
Ich persoenlich spiele (inzwischen) mit Knieschonern und Ellbogenschuetzern.
Ich empfehle, solches Equipment mitzunehmen, falls vorhanden.
Ich rate (bei jedem Wetter) dringend (!) davon ab, mit kurzen Kleidern
(T-Shirt, Shorts) zu spielen.
Von meinem persoenlichen Equipment gebe ich nur alte Handschuhe und
Munitionsbehaelter ab. Handschuhe sollte man notfalls mitnehmen. Ein
(leichter!) Schal ist nicht unbedingt verkkehrt, ich hab aber bisher keinen
gebraucht. Vielleicht waer ne Baseballkappe oder sowas nuetzlich.

Treffen: Alles, was aus Stuttgart kommt meldet sich bitte bei Imda. (Er hat
auch meine Telefonnummer.)
Alles, was aus der Suedpfalz oder Karlsruhe kommt sollte sich bei mir melden.
Alles, was sonst mitspielen will kann sich bei Imda oder mir melden oder
direkt da hinfahren.

MfG, Bambi.

-----------------------------------------------------------------------------



KA StaTi am 23.8 (Croft, 17. Aug 2001, 13:47:04):
Da es uns so gut im Drachen gefallen hat, gehts naechste Woche gleich wieder
hin.  Wenn der Drache bis naechsten Donnerstag nicht umzieht, wird er auch
wieder in der Oststadt (Ecke Bernhard/Karl-Wilhelm-Str., d.h. recht genau
zwischen Durlacher Tor und Karl-Wilhelm-Platz) zu finden sein.
Die Cocktails haben sich bewaehrt, d.h. es steht zu erwarten das auch
naechste Woche der ein oder andere Caipirinha oder Zombie konsumiert wird :o)
Das ganze faengt wie immer um 20:00 an.
Gruss Croft

-----------------------------------------------------------------------------



Re: KA StaTi am 23.8 (Muadib, 17. Aug 2001, 15:39:56):
~#! rn=Croft rt=998048824 rg=treffen
~#! tid=998048824
nicht nur die cocktails, auch die speisen (gebratener prinzessinenruecken)
sind uebrigens zu empfehlen, also kommet zahlreich.

-----------------------------------------------------------------------------



Re: Re: KA StaTi am 23.8 (Mupfel, 17. Aug 2001, 16:16:14):
~#! rn=Muadib rt=998055596 rg=treffen
~#! tid=998048824
Ihhh Kannibalen! ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Flammkuchen! (Hobo, 17. Aug 2001, 16:39:57):
~#! rn=Varlarion rt=997970288 rg=treffen
~#! tid=997950548
Das Uebernachtungsangebot muss ich leider zurueckziehen, da Boing mich an
unsere Stammgaeste und eine Sonder-Vorbestellung erinnert hat.

Aber es gibt ja noch mehr Leute in Karlsruhe, das muesst Ihr nur direkt
ausmachen.

  Hobo - notiert Mupfel und Varlarion

-----------------------------------------------------------------------------



Berliner VorRudelSaubermachmudden (offline) (Gloinson, 17. Aug 2001, 19:36:00):
Wer naechsten Samstag, den 25.August gern ein wenig plantschen gehen moechte
melde sich doch bitte moeglichst fix bei mir. Das ganze saehe folgendermassen
aus: Fruehstmoeglich mit WE-Ticket hinfahren, baden, baden, baden, baden,
(saunen), (rutschen), (reifenrutschen), (kleine kinder essen), (kleinen
kindern wassergrossspielzeug wegnehmen) ... und gegen 20:00 Uhr aus dem Bad
geworfen werden um zurueckzufahren. Naehere Informationen zum Ziel, dem
Marienbad in Brandenburg unter www.marienbad-brandenburg.de. Katzen und
Hobbits werde gebeten sich vorher zu rasieren.

Gloin(son)

-----------------------------------------------------------------------------



Re: Berliner VorRudelSaubermachmudden (offline) (Gloinson, 17. Aug 2001, 19:36:54):
~#! rn=Gloinson rt=998069760 rg=treffen
~#! tid=998069760
Zitiere Martini: Aaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhhhh!

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: KA StaTi am 23.8 (Deepblue, 17. Aug 2001, 20:17:08):
~#! rn=Muadib rt=998055596 rg=treffen
~#! tid=998048824
Also, Cinderellas Ruecken zu braten, soweit kommts noch!
Einspruch!

-----------------------------------------------------------------------------



Re: Berliner VorRudelSaubermachmudden (offline) (Xenada, 17. Aug 2001, 21:08:56):
~#! rn=Gloinson rt=998069760 rg=treffen
~#! tid=998069760
Wir 3 schliessen uns eventuell an...muessen mal noch ueberlegen ob unser
Minihobbit den Tag druchhalten wuerde. Vielleicht wuerden wir auch nur 
frueher wieder abdampfen :)
Xenada
P.S.: Der Minihobbit kommt wenn dann nicht als Verpflegung mit !

-----------------------------------------------------------------------------



Re: Re: Berliner VorRudelSaubermachmudden (offline) (Gloinson, 17. Aug 2001, 23:41:52):
~#! rn=Xenada rt=998075336 rg=treffen
~#! tid=998069760
Wie, Cakey darf nicht gegessen werden? Mist. Dann muessen wir auf den winzigen
Halbelf von Euch ausweichen.

Gloin(son)

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 18. Aug 2001, 17:27:52):
richtig kurzfristig, aber wie angekuendigt ist heute ein stati in stuttgart :)
und zwar ab 20 uhr im enchiladas (mik* sagt das schreibt man so)

bis dahin und seid nicht ganz so farbig vom paintballspielen :)


leibi

-----------------------------------------------------------------------------



Re: stati stuttgart (Bambi, 19. Aug 2001, 09:19:56):
~#! rn=Leibniz rt=998148472 rg=treffen
~#! tid=998148472
Wenn ich gestern gewusst haette, obs da gebratene Katzen mit Keksfuellung
gibt, dann haett ichs mir ueberlegt.
Bambi sagt: Wenn sie nicht alleine bleiben koennen, dann haetten sie keine
Katzen werden sollen. :(

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Imda, 19. Aug 2001, 23:49:12):
~#! rn=Bambi rt=998205596 rg=treffen
~#! tid=998148472
Neee, das schmeckt doch nich... Erst Katzen gefuellt mit Nudeln und Pesto, und
zum Nachtisch Leibniz mit Nutella.

Imda meint nur: "Darin koennen sie sogar Butterkekse verschiessen" *g*

-----------------------------------------------------------------------------



MS StaTi 21.8.01 (Foobar, 20. Aug 2001, 11:53:22):
Liebe Gemeinde,

morgen treffen wir uns zum allwoechentlichen StaTi in der "Loge",
Diepenbrockstr. 30.

Wie immer gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 21.8.01 (Elberet, 20. Aug 2001, 12:30:54):
~#! rn=Foobar rt=998301202 rg=treffen
~#! tid=998301202
also ich kuendige mal an, dass iciih nciht komme :o)

Elbi (*kommt bestimmt auch mal wieder zum, Stati in MUenster )

-----------------------------------------------------------------------------



RUDELN in B (Gnome, 21. Aug 2001, 00:03:27):
hallo alle!

da ich nun bald wieder in berlin verweilen werde, habe ich auch die ehre,
dieses rudeln anzukuendigen. nein, nicht bei mir, sondern im:

institut fuer informatik (adlershof), am
31.08.01 ab
18.00 h

die dauer des rudelns ist offen. schlafsaecke, isomatten, verpflegung,
kaffee, gute laune sowie geld fuer den pizza-service sind mitzubringen.
eingeladen ist jeder/jede. wer ne anfahrtsbeschreibung brauch, wende
sich an mich oder gloin.
vielleicht finden sich ja noch ein paar leuts fuer die IFA am So., die
dann grade in B zu ende geht... :)

achso: treffpunkt ist haupteingang des instituts.

gnOme

-----------------------------------------------------------------------------



Re: RUDELN in B (Vardion, 21. Aug 2001, 00:19:56):
~#! rn=Gnome rt=998345007 rg=treffen
~#! tid=998345007
Also wenn mir wer nen Schlafplatz stellt (nein, 50 Stunden Mudden am Stueck
schaff ich noch nicht :-)) melde ich mich mal 'offiziell' an. Ne
Wegbeschreibung beliebiger-Bahnhof-in-Berlin -> Institut waere auch ne tolle
Sache, ich bin nicht soooo oft in Berlin :-)

Vardion

-----------------------------------------------------------------------------



Re: RUDELN in B (Gloinson, 21. Aug 2001, 09:10:06):
~#! rn=Gnome rt=998345007 rg=treffen
~#! tid=998345007
Hmmmmmmm. Mir faellt da nur eben ein Artikel ein und auf, der 99 Artikel vor
Deinem liegt Gnome :)

Gloin(son), laedt immer noch zum VorRudelMuddenWochenendsWaschen ein.

PS: Habe ich erwaehnt dass wir nach dem Baden in BRB allesamt sofort zu Langen
Nacht der Museen gehen koennten? Naja, alle bis auf die kleinen Wegzehrungen.

-----------------------------------------------------------------------------



MS StaTi 27.08.01 (Foobar, 27. Aug 2001, 11:40:52):
Liebe Gemeinde,

wie jeden Dienstag treffen wir uns auch am morgigen zum allwoechentlichen
StaTi. Und zwar wieder so gegen 20.07 Uhr.

Ort der Veranstaltung ist mal wieder die "Loge" in der Diepenbrockstrasse.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 27.08.01 (Liara, 27. Aug 2001, 11:54:13):
~#! rn=Foobar rt=998905252 rg=treffen
~#! tid=998905252
Den Laden gips noch?

ZZLB, staunt

-----------------------------------------------------------------------------



Re: Re: MS StaTi 27.08.01 (Foobar, 27. Aug 2001, 11:55:27):
~#! rn=Liara rt=998906053 rg=treffen
~#! tid=998905252
Ja, wir waren erst einmal da. D.h. fuer naechste Wochen brauchen wir was
neues.

Foobar

-----------------------------------------------------------------------------



KA StaTi am 30.8 (Croft, 27. Aug 2001, 16:27:13):
Unser Stammwirt ist immer noch nicht aus dem Urlaub zurueck und so muessen
wir ein letztes Mal einen Ersatz bemuehen.  Die Wahl ist erneut auf
'Zum Drachen' gefallen.  Alle StaTi-Willigen werden also gebeten sich in der
Oststadt Ecke Bernhard/Karl-Wilhelm-Str. um 20:00 einzufinden.
Gruss Croft

-----------------------------------------------------------------------------



Re: MS StaTi 27.08.01 (Varlarion, 27. Aug 2001, 18:22:30):
~#! rn=Foobar rt=998905252 rg=treffen
~#! tid=998905252
Wie, den Laden gibts noch? Ihr wart doch letzte Woche schon da...

-----------------------------------------------------------------------------



Re: MS StaTi 27.08.01 (Varlarion, 27. Aug 2001, 18:24:34):
~#! rn=Foobar rt=998905252 rg=treffen
~#! tid=998905252
Aber mal ernsthaft: koenntet ihr was in Richtung Kreuzviertel in Erwaegung
ziehen? Ich schau gern mal wieder rein, hab aber keine Lust, auf dem Heimweg
ewig weit zu laufen...

Varl*, diesmal wohl eher nicht dabei...

-----------------------------------------------------------------------------



Re: Re: MS StaTi 27.08.01 (Catweazle, 28. Aug 2001, 08:12:02):
~#! rn=Varlarion rt=998929474 rg=treffen
~#! tid=998905252
Kauf Dir ein Fahhrad.
Gipps eigentlich staendig Angebote in der NaDann, ab , sagen wir, 40DM.
Ansonsten nimmste Dir halt eins vom Bahnhof mit.

YTC

-----------------------------------------------------------------------------



Re^3: MS StaTi 27.08.01 (Wurzel, 28. Aug 2001, 08:38:48):
~#! rn=Catweazle rt=998979122 rg=treffen
~#! tid=998905252
sind fahrraeder in muenster eigentlich allgemeineigentum oder war das jetzt
eine aufforderung zu einem eigentumsdelikt? obwohl es zugegebenermassen nicht
schaden wuede, wenn da am bahnhof mal 1000-2000 fahrraeder weniger stehen
wuerden :)

-----------------------------------------------------------------------------



Re^4: MS StaTi 27.08.01 (Catweazle, 28. Aug 2001, 08:47:42):
~#! rn=Wurzel rt=998980728 rg=treffen
~#! tid=998905252
Am Bahnhof gibt es Ecken, da stehen Fahrraeder auf die mit Sicherheit niemand
mehr einen Besitzanspruch erhebt, da kann man also kaum noch von
Eigentumsdelikt sprechen. Allerdings hat dieses Mitnahmeverfahren den
Nachteil, das sich eine nicht unwesentliche Menge Altmetall vor Deiner
Haustuer ansammelt.
Empfehlenswert ist also die gleichzeitige Eroeffnung eines Schrottplatzes im
heimatlichen Garten. Allerdings ist dafuer nur auesserst schwer eine
Genehmigung von der Stadt zu bekommen, besser man besorgt sich nen
Gewerbeschein und eroeffnet einen Second-Hand Fahrradladen, da springt
vielleicht sogar noch was raus.
Leute die es raus haben nennen das dann 'Frauen-Fahrrad-Werkstatt', dann gibts
meist auch noch Gewinn aber auf jeden Fall was fuers Auge im eigenen Garten.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re^5: MS StaTi 27.08.01 (Varlarion, 28. Aug 2001, 10:27:20):
~#! rn=Catweazle rt=998981262 rg=treffen
~#! tid=998905252
Diese "Ecken" am Bahnhof sind eben solche, die ich nachts allein gern meide,
den fuer gewoehnlich verbergen sich dort - ausser herrenlosen Drahteseln -
auch noch andere, aeh, Dinge (wann kann man in der MPA endlich kursiv
schreiben?). Uebrigens habe ich ein Fahrrad, sogar ein eigenes, das ist zwar
auch Second-Hand, aber vorher gehoerte es meiner Mutter (an der Haltbarkeit
eines guten Hollandrads ist eben nichts auszusetzen ;)... Allerdings bezweifle
ich die Geruechte, dass Fahrraeder in MS Allgemeingut sind, immerhin gibt es
eine eigene Polizeidienststelle, die sich nur und ausschliesslich mit
Fahrraddiebstaehlen befasst. Da aber statistisch gesehen auf jeden Einwohner
der Stadt 1,7 Fahrraeder kommen, kann es durchaus sein, dass das ein oder
andere nicht vermisst wuerde - was mich trotzdem nicht dazu bewegen kann, mir
eins zu "leihen"! Ich habe auch nicht vor, Altmetallskulpturen in irgendeinem
Garten zu bauen, meine Eltern wuerden mich erwuergen, wenn ich das in ihrem
japanischen Ziergarten versuchen wuerde und ein anderer Garten steht mir in MS
nicht zur Verfuegung...
Worauf ich aber eigentlich hinauswollte: a) ich habe keine Lust, des nachts
allein durch Muensters Bahnhofsviertel zu laufen und b) moechte ich nach dem
naechsten StaTi, auf dem ich aufkreuze, bei meinem Vater naechtigen, der im
Kreuzviertel wohnt, daher die Bitte, eine Location zu waehlen, von der aus ich
nicht soo ewig weit laufen muss (ich werd auch nicht jueger *soiphz*).

Varl*, ohne Hang zum Zweit-Fahrrad

-----------------------------------------------------------------------------



Hoffentlich noch nicht zu spaet ... (Mieze, 28. Aug 2001, 12:47:22):

Hallo Mudgemeinde,

das schmaechtige Haeuflein von Muenchen startet einen erneuten Versuch eines
Stammtisches. Das Ganze wollen wir auch regelmaessig machen und zwar jeden
letzten Freitag im Monat im Bergmannshof in der Landsberger Str. 73 in
Muenchen Laim (ab 19 Uhr). Ich werde schonmal ein paar Plaetze fuer diesen
Freitag (31.8.) ab 19 uhr reservieren, kann aber selbst erst gegen 20:30 Uhr
da sein. Das soll Euch aber nicht abhalten, schon 19 Uhr zu kommen ;o)
Wegescripte gibt es unter http://www.jamboree.de. Wer eine Uebernachtung
braucht, bitte vorher bei mir melden.

Mieze

-----------------------------------------------------------------------------



Re: Hoffentlich noch nicht zu spaet ... (Mieze, 28. Aug 2001, 12:50:39):
~#! rn=Mieze rt=998995642 rg=treffen
~#! tid=998995642

kleiner Nachtrag: Ich hab die Plaetz auf den Namen 'Morgengrauen' reserviert.

Mieze


-----------------------------------------------------------------------------



Re: Hoffentlich noch nicht zu spaet ... (Hight, 29. Aug 2001, 12:05:18):
~#! rn=Mieze rt=998995642 rg=treffen
~#! tid=998995642
muss arbeiten 
hight (-1)

-----------------------------------------------------------------------------



Re: Hoffentlich noch nicht zu spaet ... (Reaper, 30. Aug 2001, 01:38:01):
~#! rn=Mieze rt=998995642 rg=treffen
~#! tid=998995642
Waere  grundsaetzlich  gerne  dabei, auch wenns diesmal nicht klappen wird. 
Ein 'regelmaessiges' Treffen  daraus zu  machen  halte ich  allerdings fuer 
sehr  gewagt, nachdem uns  Wurzel und  Verena verlassen  haben, Branwen  in 
der Versenkung verschwand, ebenso wie  Acrimon und  JimDiGriz, von Castaway 
niemand mehr etwas hoert, sich Jiddu und Cyrax voellig vom MG verabschiedet 
haben, Leeloo  noch  nie zu einem StaTi erschien, Tristan noch zu klein ist 
und selbst Khorak samt  Gefolge  bis vor kurzem verschwunden war, hatte ich 
die  Veranstaltung von Statis  in Muenchen aufgegeben und glaube auch nicht 
wirklich daran, dass diese hier kuenftig von Bestand waeren. 
Einzig Karis lies noch nie einen ausfallen und auch ich wuerde mich freuen,
wenn ich mich diesbezueglich irre. 
Naja, vielleicht klappts  ja naechsten Monat! ;) Viel Spasz trotzdem allen,
die es diesmal schaffen!
Grusz, 
-reaper (-1)

-----------------------------------------------------------------------------



Re: Re: Hoffentlich noch nicht zu spaet ... (Muaddib, 30. Aug 2001, 10:00:59):
~#! rn=Reaper rt=999128281 rg=treffen
~#! tid=998995642
Naja, wenn die Statis nicht 3 Tage vorher angekuendigt werden, sondern
vielleicht wirklich fix jeden letzten Freitag im Monat sind, dass man sich da
auch drauf einrichten kann, dann waers ja auch interessant, von Salzburg
anzureisen :)

Mua

-----------------------------------------------------------------------------



Re^3: Hoffentlich noch nicht zu spaet ... (Wurzel, 30. Aug 2001, 10:58:53):
~#! rn=Muaddib rt=999158459 rg=treffen
~#! tid=998995642
und eventuell komm ich dann auch mal wieder vorbei.

wurzel

-----------------------------------------------------------------------------



Re: Re: Hoffentlich noch nicht zu spaet ... (Karis, 30. Aug 2001, 17:18:11):
~#! rn=Reaper rt=999128281 rg=treffen
~#! tid=998995642
Fang hier nicht an zu unken, wenn schon mal jemand wieder die Initiative
ergreift. SO wenig Mudder gibts in Muenchen nun auch nicht. Und von Dir
hat man schliesslich auch laengere Zeit nix gehoert.

Karis, begruesst Miezes Vorstoss auf das alleerschaerfste.

-----------------------------------------------------------------------------



Re^3: Hoffentlich noch nicht zu spaet ... (Reaper, 31. Aug 2001, 13:20:27):
~#! rn=Karis rt=999184691 rg=treffen
~#! tid=998995642

Ich werd hier bestimmt nicht anfangen zu 'unken', im Gegenteil! ;) Freu'
mich  doch wie  geschrieben  auch  drueber, wenns  wiedermal  was  wird. 
Erinnere mich nur, wies  damals war, als  ich  versucht hatte nen regel-
maessigen StaTi  einzufuehren. Da  war noch ein knappes  Dutzend  Mudder 
mehr  hier, und trotzdem  wars  schwierig. Ich  mach auch  niemandem nen
'Vorwurf', weil er  nicht mehr da is, war ja selbst ne Weile weg, wie du
schon bemerkt hast ;)
Also, auch  wenn ich mich widerhole: Freu' mich ueber die Idee und hoffe
es klappt diesmal! :o)

-reaper

-----------------------------------------------------------------------------



Muensteraner Stammtisch (Catweazle, 31. Aug 2001, 19:25:54):

Moin!

Naechste Woche findet wie immer der Muensteraner Stammtisch statt.
Diesmal aber am Donnerstag. Das sollte nicht besonders verwirrend sein,
die Termine des Stammtisches aendern sich ja staendig, diesmal eben der
Wochentag. 
Dafuer bleibt die Zeit gleich, naemlich 20:07 Uhr. Ach und auch 
anders, aber dafuer altbekannt, Treffpunkt ist diesmal wiedereinmal
die Kulisse auf der Juedefelder Strasse.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Stati in B (Golas,  2. Sep 2001, 10:05:39):
07092001
2000
seeblick

ausrufer golas

-----------------------------------------------------------------------------



Re: Muensteraner Stammtisch (Gorog,  2. Sep 2001, 13:43:08):
~#! rn=Catweazle rt=999278754 rg=treffen
~#! tid=999278754
Hmmm Donenrstag... naja wird wohl. zumindest irgend wie. Was mich dabei
einwenig verunsichert, is das ich am Freitag bei der Kulisse vor
verschlossenen Tueren stand. Nun vielleicht machen die ja noch nich um 19.45
auf. Waer vielleicht ne Idee den Laden mal vorher aufzusuchen, damit wir da
nicht schon wieder vor verschlossenen Tueren stehen.

Gorog diesmal vielleicht auch anwesend.

-----------------------------------------------------------------------------



Re: Re: Muensteraner Stammtisch (Varlarion,  2. Sep 2001, 19:17:19):
~#! rn=Gorog rt=999430988 rg=treffen
~#! tid=999278754
mag sein, dass sich in muenster einiges geaendert hat, seit ich weg bin (zB
diverse mysterioese kneipenschliessungen ;) aber IMHO machen alle kneipen auf
der juedefelderstr. traditionsgemaess um 20:00h auf, eher spaeter, als
frueher...

Varl*, hat schon oft bis 20:15h zitternd in der Kaelte gestanden...

-----------------------------------------------------------------------------



KA StaTi 6.9 (Croft,  3. Sep 2001, 13:24:20):
Das warten hat ein Ende.  Unser Wirt ist aus dem Urlaub zurueck und der
StaTi findet somit wieder zur gewohten Zeit im Kleinen Meierhof (Do 20:00)
statt.
Gruss Croft

-----------------------------------------------------------------------------



Re: KA StaTi 6.9 (Muadib,  3. Sep 2001, 14:04:13):
~#! rn=Croft rt=999516260 rg=treffen
~#! tid=999516260
hi,

also kommenden donnerstag :) KOMMT !

-----------------------------------------------------------------------------



Re: Re: KA StaTi 6.9 (Deepblue,  3. Sep 2001, 15:00:27):
~#! rn=Muadib rt=999518653 rg=treffen
~#! tid=999516260
Ich kann leider nicht. Schickt ihr mir ein Meierhofschnitzel zu?

Deepblue - verfressener als Imda und Humni zusammen

-----------------------------------------------------------------------------



Re^3: KA StaTi 6.9 (Elberet,  3. Sep 2001, 15:02:17):
~#! rn=Deepblue rt=999522027 rg=treffen
~#! tid=999516260
Imda und humni zusammen? hmm, das ist echt schwer ;)

-----------------------------------------------------------------------------



Re^4: KA StaTi 6.9 (Croft,  3. Sep 2001, 15:03:23):
~#! rn=Elberet rt=999522137 rg=treffen
~#! tid=999516260
Dann wundert mich aber das er nur ein Meierhofschnitzel will.  Das hat Imda
schon alleine geschafft (und sich glaub ich noch etwas dazubestellt).
Gruss Croft

-----------------------------------------------------------------------------



Re^5: KA StaTi 6.9 (Deepblue,  3. Sep 2001, 15:04:24):
~#! rn=Croft rt=999522203 rg=treffen
~#! tid=999516260
Du kannst auch 3 stueck zuschicken und noch 2was anderes. Ich wollte nur nicht
so unverschaemt sein :-)

-----------------------------------------------------------------------------



Kurzfristige Aenderung MS StaTi (Foobar,  5. Sep 2001, 20:53:34):
Liebe Gemeinde,

aufgrund eines grauenhaften Missverstaendnisses findet der dieswoechige
muensteraner Stammtisch, der nur aus Catweazle und mir bekannten Gruenden
ausnahmsweise auf den morgigen Donnerstag verlegt wurde _nicht_ in der Kulisse
statt, sondern im Havana.

Was gar nicht so schlimm ist, da sich das Havana ebenfalls auf der Juedefelder
Str. befindet und zwar direkt auf der Ecke an der Hauptstrasse.

An der Zeit aendert sich nichts, wie immer 20.07 Uhr.

Kommet zuhauf!

Foobar

PS: Bitte weist alle Muensteraner auf die Aenderung hin, was weiss ich ob die
noch MPA geschweige denn ihre Mail lesen. ;o)

-----------------------------------------------------------------------------



Re: Kurzfristige Aenderung MS StaTi (Mupfel,  5. Sep 2001, 21:31:10):
~#! rn=Foobar rt=999716014 rg=treffen
~#! tid=999716014
Ohgott soweit weg vom Bahnhof. Und Fahrer-Puk ist nicht da... 

-mupfel- (schnappert sich Varl* und pilgert mal dahin...)

-----------------------------------------------------------------------------



Re: Re: Kurzfristige Aenderung MS StaTi (Puk,  5. Sep 2001, 23:28:20):
~#! rn=Mupfel rt=999718270 rg=treffen
~#! tid=999716014
Und Fahrer-Puk ist nicht da... 

Da sag ich ja nur poeh!
Ich glaub ich muss die Abhol und Bringdienste mal abschalten damit das auch
mal gewuerdigt wird ;)

Puk

P.S. Ich bin wohl da, also piens net ((c) Larina)

-----------------------------------------------------------------------------



Re^3: Kurzfristige Aenderung MS StaTi (Mupfel,  6. Sep 2001, 00:46:31):
~#! rn=Puk rt=999725300 rg=treffen
~#! tid=999716014
Ahja... Varl* meinte Du bist in Ualaub...

-mupfel-

-----------------------------------------------------------------------------



Re^4: Kurzfristige Aenderung MS StaTi (Puk,  6. Sep 2001, 00:47:39):
~#! rn=Mupfel rt=999729991 rg=treffen
~#! tid=999716014
das ist leider ein Fremdwort in meinem Wortschatz, erklaerst du mir die
Bedeutung ?
Den Typo ignoriere ich dabei :)

-----------------------------------------------------------------------------



Re^5: Kurzfristige Aenderung MS StaTi (Varlarion,  6. Sep 2001, 00:48:13):
~#! rn=Puk rt=999730059 rg=treffen
~#! tid=999716014
ich hab ja auch gesacht, dass du aaabeiden bis, nich in ualaub

-----------------------------------------------------------------------------



Re^6: Kurzfristige Aenderung MS StaTi (Mupfel,  6. Sep 2001, 00:48:47):
~#! rn=Varlarion rt=999730093 rg=treffen
~#! tid=999716014
Aaba doch nich um die Uazait?

-mupfel-
,.

-----------------------------------------------------------------------------



Re: Re: Kurzfristige Aenderung MS StaTi (Catweazle,  6. Sep 2001, 08:36:15):
~#! rn=Mupfel rt=999718270 rg=treffen
~#! tid=999716014
Hey, der Stammtisch ist extra auf der Juedefelder, weil _Dein_ Schatz
gemeckert hat, das wir den Stammtisch doch mal wieder in Kreuzviertelnaehe
machen sollten. 

Ansonsten waer ich liebend gern wieder in die Loge gegangen, da gibts lecker
scharfes Zeuch :-)

YTC

-----------------------------------------------------------------------------



StaTi Hannover (Jenandra,  6. Sep 2001, 11:48:50):
Tach allerseits.

Am Samstag, 15.9., findet mal wieder in Hannover ein Stammtisch
statt, und zwar ab 19h im Exil.
Eine Anmeldung auf www.chaosburg.de (unter 'Muds und LPC' -
'Anderland, Stammtisch' waere nett, Wegbeschreibungen und
naehere Infos gibbet von mir.

- Jenandra -

-----------------------------------------------------------------------------



Re: Kurzfristige Aenderung MS StaTi (Liara,  6. Sep 2001, 13:37:37):
~#! rn=Foobar rt=999716014 rg=treffen
~#! tid=999716014
Hehe, gips die Kulisse nicht mehr? :-))
ZZLB

-----------------------------------------------------------------------------



Re: Re: Kurzfristige Aenderung MS StaTi (Catweazle,  6. Sep 2001, 13:38:53):
~#! rn=Liara rt=999776257 rg=treffen
~#! tid=999716014
Doch eigentlich ja anscheinend schon, aber Foo* war zu feige ;-)
YTC

-----------------------------------------------------------------------------



Re^3: Kurzfristige Aenderung MS StaTi (Foobar,  6. Sep 2001, 14:24:48):
~#! rn=Catweazle rt=999776333 rg=treffen
~#! tid=999716014
schau
Hoemma, wenn ich da vorbeiradel und Licht und Leute an der Theke sehe gehe ich
davon aus dass der Laden geoeffnet hat :o)

Kann ich doch nich wissen dass dem offenbar nicht so ist...

Foobar

-----------------------------------------------------------------------------



Re^3: Kurzfristige Aenderung MS StaTi (Varlarion,  6. Sep 2001, 18:55:57):
~#! rn=Catweazle rt=999758175 rg=treffen
~#! tid=999716014
DAS nennt ihr "Kreuzviertelnaehe" *urgs* naja, wie dem auch sei, wir sind
heute abend leider nicht dabei...

Varl*, soiphzend

-----------------------------------------------------------------------------



Re^4: Kurzfristige Aenderung MS StaTi (Foobar,  6. Sep 2001, 18:58:01):
~#! rn=Varlarion rt=999795357 rg=treffen
~#! tid=999716014
Klar, man muss nur die 10 Meter ueber die Promenade laufen und befindet sich
dann im Kreuzviertel.

Ausserdem ist das Havana sogar naeher zum Kreuzviertel als die Kulisse :o)

Foobar

-----------------------------------------------------------------------------



Re^5: Kurzfristige Aenderung MS StaTi (Varlarion,  6. Sep 2001, 19:06:18):
~#! rn=Foobar rt=999795481 rg=treffen
~#! tid=999716014
ja, nur leider am falschen ende... waere es noch warm, wuerd ich ja das
meyer's (?) an der kreuzkirche vorschlagen, aber drinnen solls da sehr
ungemuetlich sein... naja, wie dem auch sei, diesmal klappts eh nich, weil
mupfel arbeiten muss und ich mir die fahrt zu meinen eltern doch sparen kann
*puh*

-----------------------------------------------------------------------------



Stammtisch Bonn (Darkwing,  6. Sep 2001, 22:07:20):
Huhu,

Es ist mal wieder Zeit fuer einen Stati...

Freitag, 14.9.
20h
im MEXX in der Sternenburgstrasse

Bitte kurz Bescheid sagen wer kommt, wegen Reservierung :-)

Bis denn,
Darkwing

-----------------------------------------------------------------------------



* DA * DA * DA * DA * DA * DA * DA * DA * (Ark,  6. Sep 2001, 22:29:25):
Ich wuerde gerne noch einen Stammtisch diesen Monat veranstalten. Deshalb
propagiere ich testweise den 14.09.01 im altbekannten Hotzenplotz um 19.00 Uhr
zum Treff. Einspruch, Kommentare, Beifall, etc. bitte in diese Rubrik.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: * DA * DA * DA * DA * DA * DA * DA * DA * (Wurzel,  6. Sep 2001, 22:32:41):
~#! rn=Ark rt=999808165 rg=treffen
~#! tid=999808165
komme vielleicht spaeter, an diesem tag ist fohlenbrennen. aber abends sollte
das fertig sein.

wurzel

-----------------------------------------------------------------------------



Re: Re: * DA * DA * DA * DA * DA * DA * DA * DA * (Ronda,  7. Sep 2001, 00:40:41):
~#! rn=Wurzel rt=999808361 rg=treffen
~#! tid=999808165
Fohlenbrennen?! Aehm, Wurzel, Dein neuer Job scheint unerwartete Seiten zu
haben...

Egal wie, mit einem grossen Vielleicht bin ich in DA dabei - koenntet Ihr
bitte nochmal posten oder mailen, wo ich das Hotzenplotz finde? Waers
eventuell sogar moeglich, von Darmstadt in halbwegs akzeptabler Zeit mit der
U-Bahn nach Bad Homburg zu kommen?

Ronda *Paderborn ade!*

-----------------------------------------------------------------------------



Re^3: Kurzfristige Aenderung MS StaTi (Anatol,  7. Sep 2001, 00:41:58):
~#! rn=Catweazle rt=999758175 rg=treffen
~#! tid=999716014
Ihr Schweine, ihr habt es ALLE gewusst! :)

Anatol *grrrrrrrr* :)

-----------------------------------------------------------------------------



Re^4: Kurzfristige Aenderung MS StaTi (Puk,  7. Sep 2001, 00:44:21):
~#! rn=Anatol rt=999816118 rg=treffen
~#! tid=999716014
Wir sehen dich halt auch mal gerne Sprachlos und dumm aus der Waesche gucken
:)
Und du hast herrlich dumm ausgesehen *huepf*

-----------------------------------------------------------------------------



Re^5: Kurzfristige Aenderung MS StaTi (Varlarion,  7. Sep 2001, 00:48:35):
~#! rn=Puk rt=999816261 rg=treffen
~#! tid=999716014
Das Anatol dumm aus der Waesche gucken kann, ist mir ja bekannt, aber
SPRACHLOS?!

-----------------------------------------------------------------------------



Re^3: * DA * DA * DA * DA * DA * DA * DA * DA * (Wurzel,  7. Sep 2001, 01:14:44):
~#! rn=Ronda rt=999816041 rg=treffen
~#! tid=999808165
hat nix mit dem job zu tun, mehr mit hobby :) und fuer wegbeschreibungen ist
natuerlich wie immer ark zustaendig. und nach bad homburg faehrt man besser
mit dem auto (nachts 20 minuten, tagsueber 1-2 stunden). ich bin die letzten
monate haeufiger die strecke gefahren, allerdings nie mit der u-bahn. koennte
auch was damit zu tun haben, dass es weder in darmstadt noch in bad homburg
eine u-bahn gibt.

wurzel (faehrt jetzt nicht mehr nach bad homburg)

-----------------------------------------------------------------------------



Re^4: * DA * DA * DA * DA * DA * DA * DA * DA * (Ark,  7. Sep 2001, 13:38:55):
~#! rn=Wurzel rt=999818084 rg=treffen
~#! tid=999808165
Stadtplan gibt es unter www.darmstadt.de, Hotzenplotz liegt Ecke
Lauteschlaegerstr./Mauerstr., no vom gruene Batschfleck, dem Herrengarten.
Genau auf der Nummer 34 :-)
Sorry, eine bloede, unverstaendliche schriftliche Beschreibung gibt es net
*g*. Uebrigens, man kommt von der A5 auf der Rheinstrasse nach Darmstadt
Innenstadt.
Ich gehe nunmehr davon aus, dass der Termin genehm ist, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: * DA * DA * DA * DA * DA * DA * DA * DA * (Katzentante,  7. Sep 2001, 15:06:47):
~#! rn=Ark rt=999862735 rg=treffen
~#! tid=999808165
Also, ich sag mal wieder zu. Ich hoffe, dass diesmal nix dazwischen kommt. Mag
wer ein Katzenbabie haben??? Ich wuerds mitbringen...... :-))))

-----------------------------------------------------------------------------



Re^6: * DA * DA * DA * DA * DA * DA * DA * DA * (Varlarion,  7. Sep 2001, 15:07:23):
~#! rn=Katzentante rt=999868007 rg=treffen
~#! tid=999808165
roh oder schon fertig mariniert?

-----------------------------------------------------------------------------



Re^7: * DA * DA * DA * DA * DA * DA * DA * DA * (Katzentante,  7. Sep 2001, 15:07:53):
~#! rn=Varlarion rt=999868043 rg=treffen
~#! tid=999808165
quicklebendig. Aber nich fuer Dich. Du Barbar....

-----------------------------------------------------------------------------



Re^8: * DA * DA * DA * DA * DA * DA * DA * DA * (Varlarion,  7. Sep 2001, 15:09:47):
~#! rn=Katzentante rt=999868073 rg=treffen
~#! tid=999808165
\kontrolle
oooch, das trifft mich jetzt aber, ich haette doch soo gern ein kleines,
suesses kaetzchen...

-----------------------------------------------------------------------------



Re^9: * DA * DA * DA * DA * DA * DA * DA * DA * (Wurzel,  7. Sep 2001, 17:57:22):
~#! rn=Varlarion rt=999868187 rg=treffen
~#! tid=999808165
vergiss es. selbst mit der besten marinade schmeckt es hoechstens so wie bei
einem schlechten chinesen. ausserdem ist an hunden mehr dran.

-----------------------------------------------------------------------------



Stati Leipzig (Unasai,  8. Sep 2001, 10:26:25):
So, nach langer Abstinenz isses mal wieder soweit. In Leipzig gibts nen
Stammtisch. Anreise Samstag, den 29.9.2001. Wer ne Wegbeschreibung braucht,
Mail an mich. Nachdem ich den Termin nun zigmal verlegt habe, koennen
hoffentlich viele...
So, bis dann
Unasai

-----------------------------------------------------------------------------



Stammtisch D'dorf (Kartoffel,  8. Sep 2001, 16:42:37):


Ich glaub es geht schon wieder los...:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 14.9. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: Stammtisch D'dorf (Ark,  8. Sep 2001, 16:48:09):
~#! rn=Kartoffel rt=999960157 rg=treffen
~#! tid=999960157
FACT * FACT * FACT * FACT * FACT * FACT * FACT * FACT * FACT

Darmstadt ist nur ... hmm ... unwesentlich weit von Dusseldorf entfernt *wink
mit dem staehlernen Zaunpfahl*

FACT * FACT * FACT * FACT * FACT * FACT * FACT * FACT * FACT


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stammtisch D'dorf (Kartoffel,  8. Sep 2001, 16:54:06):
~#! rn=Ark rt=999960489 rg=treffen
~#! tid=999960157

Neeeee is klar...

Aber freut mich, dass Du zu, Duesseldorfer Stammtisch kommen willst ;))

'Toffel

-----------------------------------------------------------------------------



Re^3: Stammtisch D'dorf (Ark,  8. Sep 2001, 17:01:53):
~#! rn=Kartoffel rt=999960846 rg=treffen
~#! tid=999960157
HALLO, JEMAND ZU HAUSE *toctoctoc*

Da fehlt kein "e" in der Stadt mit "D", es ist nicht "DA", sondern ein kleines
"dorf", man meidet es freitags, denn man feiert mit Stil, in der Stadt mit dem
"Darm", denn dort verdaut man eben viel.
So kommet zuhauf, lasst die Dussel links liegen, sie zuckeln ihr "Alt", was
Koelner nicht lieben. Ich warne Euch vor September dem vierzehnten, jenseits
des Rheins, da sehnen sie sich herbei den fuenfzehnten. Sie langweilen sich so
sehr, so viel, dass wuenschen sie sich nach Darmstadt.

Okok, der letzte reimt sich nicht, aber Duesseldorf waere noch schlimmer
gewesen, also habe ich den besten Kompromiss genommen, naemlich die Stadt des
Jugendstils ;^P


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Stammtisch D'dorf (Liara,  8. Sep 2001, 19:28:49):
~#! rn=Ark rt=999961313 rg=treffen
~#! tid=999960157
In Bonn ist am 14.9. auch Stammtisch. ;-) Und laut der Artikelfolge waren wir
zuerst da. *mit Foermchen spiel*

ZZLB, kommt auch

-----------------------------------------------------------------------------



Re^5: Stammtisch D'dorf (Wurzel,  8. Sep 2001, 19:32:20):
~#! rn=Liara rt=999970129 rg=treffen
~#! tid=999960157
von bonn nach darmstadt braucht man ca 80 minuten. von duesseldorf nach
darmstadt etwa 110, falls der koelner ring nicht hoffnungslos zu ist. also
alles keine argumente :)

wurzel

-----------------------------------------------------------------------------



Re^5: Stammtisch D'dorf (Ark,  8. Sep 2001, 19:53:26):
~#! rn=Liara rt=999970129 rg=treffen
~#! tid=999960157
Und wer da ohne Stammtisch ist, der werfe das erste Foermchen. Doch hoeret,
vergebt auch denen ohne Foermchen, denn ihnen wird sein das Himmelreich, das
da heisst Darmstadt. So ziehet denn nach Sueden und findet Foermchen zuhauf,
blaue, gruene, gepunktete, gestreifte, rote, bunte. Und so werdet ihr sie
sehen, schauet ihr nur tief genug in den Becher, der sich Laternchen nennt.
Und sehet, sie sahen tief hinein und erkannten, dass er recht sprach. So kamen
sie denn alle nach Darmstadt und lebten bis an des Stammtisches Ende.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Icke in Baerlin (Kadabra,  8. Sep 2001, 23:13:12):
Vom 10 - 15.9 werde ich in Berlin weilen und wollte mal zart
nachfragen, wer dann dort sonst noch so weilt, bzw obs vielleicht 
in dieser Zeit einen Stammtisch gibt?
kadabra, fragt nur mal :-)

-----------------------------------------------------------------------------



Re^5: Stammtisch D'dorf (Mupfel,  8. Sep 2001, 23:27:48):
~#! rn=Liara rt=999970129 rg=treffen
~#! tid=999960157
och echt? aber bestimmt wieder zu unchristlicher zeit (19:30 oder so - gebt
auswaertigen keine chance) 

-mupfel-
ps: von osnabrueck kannste darmstadt ganz vergessen ;)

-----------------------------------------------------------------------------



Re^6: Stammtisch D'dorf (Humni,  9. Sep 2001, 08:13:08):
~#! rn=Mupfel rt=999984468 rg=treffen
~#! tid=999960157
Da ich Freitag in AC weile wollte ich urspruenglich mal nachfragen ob man da
was machen koennte...aber aufgrund akuter Reizueberflutung durch Fremd-Statis
und da ich eh nicht weiss ob ich da ueberhaupt Zeit habe lass ich das mal.

CU Humni

-----------------------------------------------------------------------------



Re^7: Stammtisch D'dorf (Schleicher,  9. Sep 2001, 08:53:41):
~#! rn=Humni rt=1000015988 rg=treffen
~#! tid=999960157
Leute macht Euch doch nicht solche Sorgen wegen dem Duesseldorfer Stati... Von
Ausnahmen abgesehen sitzen da doch eh nur max. 5 Leute beim Bier. Also keine
Abwerbung fuer auswaertige Stammtische. Und ausnahmsweise weiss sogar diesmal
ICH wovon ich rede ich bin naemlich (noch) Duesseldorfer. Und Stammtisch in
Darmstadt? Neee nicht wirklich der Name dieser Stadt klingt schon sooo eklig
da wuerde ich ja eher Alt trinken! ;-)
Schleicher Pilstrinker!

-----------------------------------------------------------------------------



Re^7: Stammtisch D'dorf (Darkwing,  9. Sep 2001, 11:28:18):
~#! rn=Humni rt=1000015988 rg=treffen
~#! tid=999960157
Elbereth kommt nach Bonn zum Stati, komm einfach mit :)

-----------------------------------------------------------------------------



Re: Icke in Baerlin (Pitfall,  9. Sep 2001, 15:15:25):
~#! rn=Kadabra rt=999983592 rg=treffen
~#! tid=999983592
weilen tun wohl einige da und stati werden wir bestimmt auch einen
organisieren.

-----------------------------------------------------------------------------



Re: Re: Icke in Baerlin (Pitfall,  9. Sep 2001, 17:02:05):
~#! rn=Pitfall rt=1000041325 rg=treffen
~#! tid=999983592
also da niemand weiter was sagt rufe ich hiermit fuer freitag, den 14.9. einen
sonderstammtisch ab 20 uhr im seeblick aus.
wer eine wegbeschreibung braucht wende sich an mich oder an einen anderen
berliner seines vertrauens.

mfg

pit*

-----------------------------------------------------------------------------



Re^3: Icke in Baerlin (Solmyr,  9. Sep 2001, 17:22:59):
~#! rn=Pitfall rt=1000047725 rg=treffen
~#! tid=999983592
Ich komme :) Und danach schleppe ich den partyfaehigen Grossteil mit
zu mir in den Club, wo man genuesslich weitertrinken kann ;) *fg*

Sol*

Ps : Das heisst, wenn wir'n gutes Programm haben, ich schau nochma nach.

-----------------------------------------------------------------------------



Re^3: Icke in Baerlin (Kadabra,  9. Sep 2001, 20:53:35):
~#! rn=Pitfall rt=1000047725 rg=treffen
~#! tid=999983592
Das finde ich total nett. *Jemand* hat mir auch verraten wo
das ist. Also dann bis Freitag :-) Ich steck vorsichtshalber Schildchen an :-)
kadabra (macht sich morgen auf den Kulturtrip)

-----------------------------------------------------------------------------



Re^3: * DA * DA * DA * DA * DA * DA * DA * DA * (Elberet, 10. Sep 2001, 13:19:18):
~#! rn=Ronda rt=999816041 rg=treffen
~#! tid=999808165
huch, ich komme zum Stati? Wusst ich so genau noch gar nicht ;)
Aber andererseits hoert sich das ganz lustig an und ich koennt wohl kommen,
wenn ich wo schlafen kann :)

Elbi

-----------------------------------------------------------------------------



Flammkuchen! (Hobo, 10. Sep 2001, 14:24:05):
Noch mal zur Erinnerung:
Naechster Flammkuchentermin ist der 29. diesen Monats. Zielort wird
hoechstwahrscheinlich die alte Muehle in Lauterbourg sein.

Anmeldungen bitte bis zum 20. (!) an mich!

   hobo

-----------------------------------------------------------------------------



MS StaTi 11.09.01 (Foobar, 10. Sep 2001, 23:02:31):
Liebe Gemeinde,

mangels besprochenes Alternativen treffen wir uns morgen so gegen 20.07 Uhr
mal wieder im "Cadaque's", Ecke Ludgeristr./Koenigstr..

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re^4: Was lohnt? (Foobar, 10. Sep 2001, 23:02:51):
~#! rn=Linflas rt=1000144741 rg=hardsoftware
~#! tid=1000140081
Ich weiss, da ist ein Typo.

Mir doch egal :o)

-----------------------------------------------------------------------------



Re: MS StaTi 11.09.01 (Gorog, 11. Sep 2001, 13:13:17):
~#! rn=Foobar rt=1000155751 rg=treffen
~#! tid=1000155751
Moins

Auf Grund knapp Tausenden von Fiechern die was von mir wollen, kann ich meine
Anwesenheit nciht garantieren. Soll heissen: Aufschlagswahrscheinlickkeit 20%

mfGorog

-----------------------------------------------------------------------------



Re: Re: MS StaTi 11.09.01 (Anatol, 11. Sep 2001, 13:14:15):
~#! rn=Gorog rt=1000206797 rg=treffen
~#! tid=1000155751
Stell das Becherglas in den Anlassofen. Hitze macht frei! :)

Anatol, Aufschlagswahrscheinlichkeit 0%.

-----------------------------------------------------------------------------



Re^3: MS StaTi 11.09.01 (Catweazle, 11. Sep 2001, 13:16:55):
~#! rn=Anatol rt=1000206855 rg=treffen
~#! tid=1000155751
Noe, Ludgerikreisel ist mir vieeel zu weit weg. Da komm ich nicht.
Yours truly,
     Catweazle, besucht, schmollend, Aufschlagswahrscheinlichkeit 50%.

-----------------------------------------------------------------------------



Re^4: MS StaTi 11.09.01 (Elberet, 11. Sep 2001, 13:18:03):
~#! rn=Catweazle rt=1000207015 rg=treffen
~#! tid=1000155751
Faulpelz ;)

-----------------------------------------------------------------------------



Re: Stammtisch D'dorf (Kartoffel, 12. Sep 2001, 21:48:32):
~#! rn=Kartoffel rt=999960157 rg=treffen
~#! tid=999960157
Halloele zusammen,

da es durch URlaub bzw. Krankheit diverser Leute wohl recht leer wuerde am
Freitag, faellt der Stammtisch diesen Monat aus...

'Toffel - schnappt sich ihre heisse Milch mit HOnig und geht wieder ins
Bett...

-----------------------------------------------------------------------------



Re^5: KA StaTi 6.9 (Imda, 13. Sep 2001, 10:17:02):
~#! rn=Croft rt=999522203 rg=treffen
~#! tid=999516260
Das muss nochn bischn wachsen, bisses als Vorspeise durchgeht.  Und den
Grillteller gibs nichmehr, oder wie war das ? der war doch immer ganz nett so
fuer zwischendurch...
Nene, n anstaendiges Schnitzel darf nich wesentlich kleiner wie ne
Standarttiefkuehlpitza sein. und duenner sowieso nich ;)

Imda. rohe Leber muemmelnd...

-----------------------------------------------------------------------------



Re^6: KA StaTi 6.9 (Croft, 13. Sep 2001, 10:34:31):
~#! rn=Imda rt=1000369022 rg=treffen
~#! tid=999516260
Nope.  Den Grillteller gibts momentan nicht.  Aber wir arbeiten an dieser
Problematik
Gruss Croft

-----------------------------------------------------------------------------



Re^7: KA StaTi 6.9 (Boing, 13. Sep 2001, 10:37:25):
~#! rn=Croft rt=1000370071 rg=treffen
~#! tid=999516260
Croft? Wo bleibt eigentlich die Ankuendigung fuer heute?
  Boing

-----------------------------------------------------------------------------



Re^8: KA StaTi 6.9 (Croft, 13. Sep 2001, 10:39:50):
~#! rn=Boing rt=1000370245 rg=treffen
~#! tid=999516260
Wieso sollte ich den ankuendigen?  Das offensichtliche muss ich hier nicht
mehr schreiben.  Das machen doch immer andere ;-)
Gruss Croft

-----------------------------------------------------------------------------



KA StaTi 13.9  (Catweazle, 13. Sep 2001, 10:56:20):
Pfff.

Wie jede Woche findet am heutigen Donnerstag der Karlsruher Stammtisch wie
immer im Kleinen Meierhof zur gewohnten Zeit um 20:00 Uhr statt. 

Wie langweilig :-)

YTC (-1)

-----------------------------------------------------------------------------



Re: KA StaTi 13.9  (Croft, 13. Sep 2001, 10:56:58):
~#! rn=Catweazle rt=1000371380 rg=treffen
~#! tid=1000371380
Hab ichs nicht gesagt? :o)
Gruss Croft

-----------------------------------------------------------------------------



Re: KA StaTi 13.9  (Muadib, 13. Sep 2001, 11:11:18):
~#! rn=Catweazle rt=1000371380 rg=treffen
~#! tid=1000371380
komm halt mal vorbei und bring glanz in unsere huette. ie ein schoener
macallan

-----------------------------------------------------------------------------



Re: KA StaTi 13.9  (Bambi, 13. Sep 2001, 15:35:02):
~#! rn=Catweazle rt=1000371380 rg=treffen
~#! tid=1000371380
Das stimmt so nicht.
Es findet heute zwar der Karlsruher Mud-Stati im KM statt, aber nicht, wie
jede Woche, sondern nur "wie ueblich, wenn Panos da ist und wir ueberhaupt
Stati machen (der jedoch nicht oft ausfaellt)".

Eine meist korrekte Ankuendigung ist (waehrend der Sommerzeit) nachts um 1 Uhr
auf der Ebene Karlsruhe zu finden. (Ausserhalb der Sommerzeit hoffentlich um 0
Uhr.)

-----------------------------------------------------------------------------



Re: Re: KA StaTi 13.9  (Anatol, 13. Sep 2001, 15:36:36):
~#! rn=Bambi rt=1000388102 rg=treffen
~#! tid=1000371380
Schon, aber wer hoert schon auf Cotton-Eye Joe? ;)


-----------------------------------------------------------------------------



Re^3: KA StaTi 13.9  (Croft, 13. Sep 2001, 15:37:30):
~#! rn=Anatol rt=1000388196 rg=treffen
~#! tid=1000371380
Und wieso wurde eigentlich der Name jetzt genommen?  Muadib und ich hatten
doch so schoene Vorschlaege.

-----------------------------------------------------------------------------



Re^4: KA StaTi 13.9  (Boing, 13. Sep 2001, 15:37:56):
~#! rn=Croft rt=1000388250 rg=treffen
~#! tid=1000371380
Magierwillkuer!

-----------------------------------------------------------------------------



erinnerung (Pitfall, 13. Sep 2001, 15:38:43):
an dieser stelle nochmal der aufruf fuer die die es vergessen / ueberlesen
haben:

morgen ab 20 uhr im seeblick berliner stammtisch


mfg

pit*

-----------------------------------------------------------------------------



Re^4: KA StaTi 13.9  (Bambi, 13. Sep 2001, 15:44:54):
~#! rn=Croft rt=1000388250 rg=treffen
~#! tid=1000371380
Nein, ich werde ein Reh nicht "Hackbraten" oder so nennen. Dann lieber Anatols
Vorschlag.

-----------------------------------------------------------------------------



Stammtisch Dresden 18.Sept, CD (Mesirii, 14. Sep 2001, 12:11:40):
Es ist eigentlich schon alles gesagt. 
Wir wollen in Dresden auch mal wieder nen Stammtisch machen. Wer mag und
vielleicht sogar jemanden mitbringen will, ist herzlich eingeladen.

Ort: CD, Club Duererstrasse (Hofeingang Ecke Duererstrasse/Marschnerstrasse)
Datum: Dienstag 18. Sept. 2001
Zeit: so ab 20.00 ich bin natuerlich wie immer puenktlich :) bis ca. 01.00
gehts es bestimmt 
Essen: Pizzabestellung wie immer
Mitbringen: gute Laune, spannende Geschichten, Geld fuer Essen & Trinken

Mesirii, Ankuendiger

-----------------------------------------------------------------------------



Sonderstati Berlin (Golas, 15. Sep 2001, 15:04:58):
freitag 28092001
2000
seeblick
gast: zook

-----------------------------------------------------------------------------



Stati Berlin (Golas, 15. Sep 2001, 15:05:34):
05102001
2000
seeblick

-----------------------------------------------------------------------------



LAN-Party und vielleicht Rudelmudden in Berlin (Ilessa, 15. Sep 2001, 16:31:43):
Heute abend (15.09.2001, 18:00 abends bis 9:00 morgens) findet im Rahmen
der "Langen Nacht der Wissenschaften" am Institut fuer Informatik an der
FU Berlin eine LAN-Party statt. Der Eintritt ist frei. Genauere Infos
unter http://www.spline.de/projects/lanparty/.

Im Rahmen der LAN-Party darf natuerlich auch gemuddet werden! Fuer Leute
ohne eigenen PC/Notebook stehen einige "Arbeits"plaetze an Linux-PCs zur
Verfuegung, auf denen uebrigens auch ein TinyFugue installiert ist ;-)

Ich wuerde mich freuen, den einen oder anderen von Euch zu einem 
spontanen kleinen Rudel-Mudden dort zu treffen.

Wer ohne eigenen Rechner kommt, sagt beim Einlass einfach, er wolle
zur LAN-Party und gibt sich dem dann vermutlich auftauchenden
Lan-Pary-Orga-Menschen als Mudder aus dem MorgenGrauen zu erkennen.

Ich bin spaetestens ab 19:00 vor Ort und dann meist im Umkreis des
linken Innenhofes zu finden, erkennbar an meiner knallbunt gestreiften
Muetze ;-)

Bis denno,
Ilessa

-----------------------------------------------------------------------------



Stammti im Muenchen am 28.9. (Mieze, 15. Sep 2001, 20:03:57):

Hallo Mudgemeinde,

fuer Freunde des Stammtisches in Muenchen besteht die naechste Moeglichkeit
ihn zu besuchen am 28.9.01 ab 19 Uhr im Bergmannshof in der Landsberger Str.
73 in Muenchen (Laim). Wegescripte gibt es unter http://www.jamboree.de. Wer
eine Uebernachtung braucht, meldet sich bei mir. Bitte nicht wundern, wenn ich
naechste Woche nicht antworte: ich bin in Rom und weiss nicht, ob ich da an
einen vernetzen Rechner komme. Die Chance ist eher klein.

Mieze - Stammti-Orga-Team Muenchen


-----------------------------------------------------------------------------



Stammtisch in DO/BO. (Ahab, 16. Sep 2001, 14:22:54):
Ahoi!

Da sich Ende des Monats eine gewisse Zwergenfamilie fuer einige Zeit nach
Argentinien verabschiedet, kuendige ich hiermit einen vorgezogenen
Abschiedsstammtisch an.

Wir befinden uns allerdings nach wie vor quasi im Exil, also findet auch
dieser Dortmunder Stammtisch in Bochum statt, und zwar in der
Rollenspielerkneipe


"Zu den Vier Winden"

Ecke Feldsieper Strasse/Hofsteder Strasse,

und zwar am 21.9.2001 so gegen 20:00 Uhr.


Wer vorbeikommen mag, kann von mir auch eine Beschreibung bekommen, wie
man auf asphaltenen und eisernen Meeren dorthin schippern kann.

Der Kaeptn.

-----------------------------------------------------------------------------



Re: LAN-Party und vielleicht Rudelmudden in Berlin (Gnome, 16. Sep 2001, 19:22:54):
~#! rn=Ilessa rt=1000564303 rg=treffen
~#! tid=1000564303
na, das nenn ich mal frueh bekanntgegeben. da hat man ja glatt noch zeit,
seinen gesamten Sa. abend auf den kopf zu stellen.

gnOme

-----------------------------------------------------------------------------



MS StaTi 18.09.01 (Foobar, 16. Sep 2001, 23:40:39):
Liebe Gemeinde,

der StaTi Muenster findet am kommenden Dienstag mal wieder in der Kulisse
statt, und zwar so gegen 20.07 Uhr.

Sollte das Ding immer noch geschlossen sein bewegen wir uns 100 Meter weiter
nach Norden und kehren wieder ins Havana ein.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



SUGI HAT DURST ! (Sugaan, 17. Sep 2001, 20:47:52):
Es ist mal wieder so weit - Sugi hat mal wieder Lust sich in Koeln
rumzutreiben  und fragt sich ob nicht doch der eine oder der andere - oder
auch ganz ganz viele Mudder Lust haetten dasselbe zu tun. Falls ja - dann
meldet Euch doch mal hier oder bei mir. Terminvorschlag : Freitag: 29.
September 
Ort: irgendwo in Koeln - vorzugsweise in nem Pub (wo es also auch Bier gibt)
Zeit: naja so ab 19.30 Uhr (lach - da muesste ich dann mal ziemlich puenktlich
feierabend machen - und das an nem Freitag)

Also meldet Euch - und lasst Koeln nicht ganz sterben.

SUGI HAT DUUUUUUUURST 
*

-----------------------------------------------------------------------------



Re: SUGI HAT DURST ! (Case, 18. Sep 2001, 09:54:03):
~#! rn=Sugaan rt=1000752472 rg=treffen
~#! tid=1000752472
Freitach is zwar der 28.9., aber Lust haett ich schon.
Weiss nur noch net ob ich das WE da bin.
Gibts in Koeln auch Pubs??? :-)
GuK,
Case
..

-----------------------------------------------------------------------------



Re: Re: SUGI HAT DURST ! (Montanus, 18. Sep 2001, 18:09:55):
~#! rn=Case rt=1000799643 rg=treffen
~#! tid=1000752472
Hat eigentlich irgendjemand gewusst, dass am Donnerstag sich irgendwelche
karlsruher im kleinen Meierhof um Punkt 8 Uhr treffen?

-----------------------------------------------------------------------------



Re^3: SUGI HAT DURST ! (Mupfel, 18. Sep 2001, 20:29:52):
~#! rn=Montanus rt=1000829395 rg=treffen
~#! tid=1000752472
Ich schaetze, Boing haette es gewusst...

-mupfel-

-----------------------------------------------------------------------------



Re^4: SUGI HAT DURST ! (Catweazle, 19. Sep 2001, 08:36:34):
~#! rn=Mupfel rt=1000837792 rg=treffen
~#! tid=1000752472
'Boing treibt im Fettabsaugen'.

YTC

-----------------------------------------------------------------------------



Re^5: SUGI HAT DURST ! (Boing, 19. Sep 2001, 10:49:42):
~#! rn=Catweazle rt=1000881394 rg=treffen
~#! tid=1000752472
Ist's jetzt mal endlich gut? ;)
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in DO/BO. (Thufhir, 20. Sep 2001, 19:51:18):
~#! rn=Ahab rt=1000642974 rg=treffen
~#! tid=1000642974
Muhu!

hier nochmal der Aufruf! Zwerg macht sich fuer laengere Zeit aus den Landen!
Kommet zu Hauf... oder wie hiess das? feiert RL-zwergenfrei oder Abschied oder
was auch immer... ;)

s'Zauberzwerch, jetzt schon etwas wehmuetig...

-----------------------------------------------------------------------------



MS StaTi 25.09.01 (Foobar, 24. Sep 2001, 17:06:49):
Liebe Gemeinde,

da beim letzten Mal alle so schoen aufgepasst haben wiederholen wir das
Vorgehen mit einem anderen Primaerziel:

Der StaTi findet morgen gegen 20.07 Uhr in der "Frauenstr. 24" statt. Sollte
dort wider erwarten immer noch - wegen Renovierungsarbeiten - geschlossen
sein, wandern wir wieder ins Havana ab.

Aber untersteht Euch, sofort ins Havana zu gehen, hinterher sitzt dann sicher
wer alleine in der Frauenstrasse...

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 25.09.01 (Puk, 25. Sep 2001, 01:29:39):
~#! rn=Foobar rt=1001344009 rg=treffen
~#! tid=1001344009
Da ich heute mal wieder in den Genuss kam die haelfte des Statis auf meinen
15qm zu beherbergen kann ich sagen das das Havana auf ziemlich viel widerstand
stoesst aufgrund der dort ueblichen Preise. Also vielleicht sollte man noch
etwas anderes in erwaegung ziehen was aber dort in der Ecke gelegen ist :)

Puk, wartet auf die Kulisse

-----------------------------------------------------------------------------



Re: Re: MS StaTi 25.09.01 (Grimmborn, 25. Sep 2001, 01:31:52):
~#! rn=Puk rt=1001374179 rg=treffen
~#! tid=1001344009
Mach Dir keine Sorge, das Havanna wird wohl demnaechst schliessen...

GdA

-----------------------------------------------------------------------------



Re^3: MS StaTi 25.09.01 (Catweazle, 25. Sep 2001, 09:08:19):
~#! rn=Grimmborn rt=1001374312 rg=treffen
~#! tid=1001344009
Die haben eh keine Paella :(

Aufgrund erhoehter Frauenstrasse 24-Antipathie, muesst ihr auf mich
verzichten. Ausserdem muss ich mal wieder reinsehen, ob Ally was taugt. 
Sollte wieder erwarten meine Bohrmaschine auftauchen, bitte ich um
kurznachtricht, dann tauch ich vielleicht doch noch auf...
YTC

-----------------------------------------------------------------------------



Re: Re: MS StaTi 25.09.01 (Foobar, 25. Sep 2001, 10:35:59):
~#! rn=Puk rt=1001374179 rg=treffen
~#! tid=1001344009
Leider gibt es da nicht mehr so viel in der Ecke...

Foobar - wartet nicht mehr auf die Kulisse, die hat eh zu *grummel*

-----------------------------------------------------------------------------



Re: Stammti im Muenchen am 28.9. (Mieze, 26. Sep 2001, 10:22:30):
~#! rn=Mieze rt=1000577037 rg=treffen
~#! tid=1000577037

Hallo Mudgemeinde,

ich bin wieder in Muenchen gelandet (tatsaechlich kam ich in der Ewigen Stadt
an keinen vernetzten Rechner). Also kann ich auch Eure Reservierungen fuer den
Stammtisch am 28.9. (wie Ihr ja sicher alle wisst) entgegennehmen. Dann mal
los .o)


Mieze (+1)

-----------------------------------------------------------------------------



Donnerstag in Karlsruhe? (Pizzapepe, 26. Sep 2001, 18:29:29):
Ob es auch diese Woche am Donnerstag in karlsruhe im kleinen Meierhof um Punkt
20 Uhr einen Stammtisch gibt?
Das weiss keiner so genau, da ja am Samstag das naechste Flammkuchenessen
ansteht.
Am besten alle mal Boing fragen. :-)

-----------------------------------------------------------------------------



Re: Donnerstag in Karlsruhe? (Croft, 26. Sep 2001, 20:31:41):
~#! rn=Pizzapepe rt=1001521769 rg=treffen
~#! tid=1001521769
Der wird - wie jedes andere Mal auch - antworten: Klar gibts den Donnerstags-
StaTi.  Wir lassen nix aussfallen, wir machen nur Zusatztermine ;-)

-----------------------------------------------------------------------------



Re: Re: Donnerstag in Karlsruhe? (Anoris, 26. Sep 2001, 22:38:37):
~#! rn=Croft rt=1001529101 rg=treffen
~#! tid=1001521769
Da auch Schweizer anwesend sein werden (Samstags) wuerd ich noch
bestellungen entgegennehmen falls wer noch was aus der Schweiz moechte
und diese so guts halt geht umsetzen. Bitte um Mail ;)

- Anoris

-----------------------------------------------------------------------------



SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Montanus, 27. Sep 2001, 02:28:02):

Ich bin da.
Wer noch? ;-)


-Montanus

-----------------------------------------------------------------------------



Re: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Gorog, 27. Sep 2001, 18:14:31):
~#! rn=Montanus rt=1001550482 rg=treffen
~#! tid=1001550482
ICH ICH ICH... aber das hat Liara Dir vielleicht schon mitgeteilt, wenn ich
das richtig verstanden hab (;

Gorog, immer verspielt (;

-----------------------------------------------------------------------------



Kino@Bonn (Liara, 27. Sep 2001, 19:03:54):
:haette Lust auf diesen Fruehstuecksfilm. Und Zeit dann wohl auch nach dem
2.10. oder so ... ;-)
Jemand dito?

ZZLB

-----------------------------------------------------------------------------



Re: Kino@Bonn (Liara, 27. Sep 2001, 19:05:55):
~#! rn=Liara rt=1001610234 rg=treffen
~#! tid=1001610234
Schokoladenkrieger vor! ;-)

-----------------------------------------------------------------------------



K O E L N  lebt (Sugaan, 27. Sep 2001, 20:44:37):
das hoffe ich zumindest.
also 1.) gebe ich mich geschlagen - der 29.09 ist Samstag - aber
nichtsdestorotz werde ich
2.) morgen irgendwann nach der Arbeit nach Koeln fahren und mich dann
3.) ganz gemuetlich ins "the Harp" auf der Venloer strasse setzen und nen
Irish Coffee und ein zwei oder drei kleine oder grosse Bierchen trinken.
4.) vorzugsweise wuerde ich gerne so zwischen 19.00 und 20.00 Uhr anfangen
(mehr richtung 20.00 Uhr)
also denn leute ich sehe euch morgen alle in Koeln

gruessies    sugi



-----------------------------------------------------------------------------



Re: Re: Kino@Bonn (Gorog, 28. Sep 2001, 19:15:40):
~#! rn=Liara rt=1001610355 rg=treffen
~#! tid=1001610234
Hmpf, Du meinst doch hoffentlich nicht Bridget Jones? An Deiner Stelle wuerd
ich mir den nicht antun. Ich fand den das Eintrittsgeld nicht wert, war ja
nicht mal irgendwie komisch. Aber Geschmaecker sind ja verschieden...

Gorog kommt dafuer leider nicht nach Bonn wuenscht aber trotzdem viel Spass
oder zumindest keine Langeweile.

-----------------------------------------------------------------------------



Stammtisch Bonn (Liara, 28. Sep 2001, 20:44:55):
Wann? Dienstag, 2. Oktober 2001 (Mittwoch ist Feiertag)
Wo? Gute Frage ... muessen wir nochmal ueberlegen, ich bin fuer Vorschlaege
dankbar :-)

Bitte bei mir melden zwecks Kneipendiskussion und Tischreservierung.

ZZLB

-----------------------------------------------------------------------------



MS StaTi 02.10.01 (Foobar, 29. Sep 2001, 00:11:30):
Liebe Gemeinde,

nachdem der Umbau in der Frauenstrasse definitiv abgeschlossen ist und die
Kneipe wundersamer Weise wieder _geoeffnet_ hat, treffen wir uns auch prompt
naechsten Dienstag wieder dort.

Natuerlich so gegen 20.07.

Wer es noch nicht wissen sollte: Die Kneipe "Frauenstrasse 24" befindet sich
raffinierterweise tatsaechlich in der Frauenstr. 24 und ist prinzipiell ganz
leicht zu finden, da superzentral in MS gelegen.

Kommet zuhauf!

Foobar

PS: Ich weiss leider noch nicht genau, ob ich kommen kann, das haengt von
einigen, aeh, Faktoren ab die ich nicht beeinfluessen kann :o)

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Mupfel, 29. Sep 2001, 00:18:08):
~#! rn=Liara rt=1001702695 rg=treffen
~#! tid=1001702695
Ohhh supa endlich mal wenn ich Zeit hab ;)

byn debye

-mupfel- (wo kann ich pennen? ;)

-----------------------------------------------------------------------------



Re^3: Kino@Bonn (Leibniz, 29. Sep 2001, 13:57:17):
~#! rn=Gorog rt=1001697340 rg=treffen
~#! tid=1001610234
also das buch ist zumindest super lustig :)

leibi - schaut sich den film nicht an

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 30. Sep 2001, 15:28:33):
~#! rn=Liara rt=1001702695 rg=treffen
~#! tid=1001702695
Kneipenvorschlaege: Mexx und Harmonie

Bisher angemeldet: Darkwing, Elaine, Slayer, Padreic, Asuka, Liara


Weitere Interesenten oder Vorschlaege?

ZZLB

-----------------------------------------------------------------------------



Re: Re: Stammtisch Bonn (Darkwing,  1. Okt 2001, 01:04:50):
~#! rn=Liara rt=1001856513 rg=treffen
~#! tid=1001702695

Ok... das Mexx hat gewonnen :-)

Dienstag, 2.10. ab 20h dort ... ist in der Sternenburgstrasse

Bis denn,
Darkwing

-----------------------------------------------------------------------------



Re^3: Stammtisch Bonn (Mupfel,  1. Okt 2001, 01:09:49):
~#! rn=Darkwing rt=1001891090 rg=treffen
~#! tid=1001702695
ok. ich hab da schon einmal hin gefunden ;)

-mupfel-
sucht immer noch nen schlafplatz... ;)

-----------------------------------------------------------------------------



Re: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Daria,  1. Okt 2001, 12:07:10):
~#! rn=Montanus rt=1001550482 rg=treffen
~#! tid=1001550482
Ich!
Mit nem RiesenRudel wahrscheinlich am Samstag.
Meine Mutter hat gesagt, meine Schwester und ich sollen ein paar schoene
Spiele kaufen, die bekommen wir dann zu Weihnachten - so mag ich das ;-)))

Daria

-----------------------------------------------------------------------------



Re: Re: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Bielefeld,  1. Okt 2001, 12:08:18):
~#! rn=Daria rt=1001930830 rg=treffen
~#! tid=1001550482
Meine Mutter weiss, warum sie mich mit der Anweisung nicht nach
Essen schickt.

-Bielefeld (seufzend)

-----------------------------------------------------------------------------



Re^3: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Gorog,  1. Okt 2001, 16:03:36):
~#! rn=Bielefeld rt=1001930898 rg=treffen
~#! tid=1001550482
Hmmm. Meiner Mutter is das ziemlich egal, ob ich da hin fahr... Egal ob ich
mir da was kaufe. Leider uebernimmt sie aber auch die Rechnung nicht.  
Man kann halt nicht alles haben...

Gorog wird da sein.

-----------------------------------------------------------------------------



Re^4: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Catweazle,  1. Okt 2001, 18:20:45):
~#! rn=Gorog rt=1001945016 rg=treffen
~#! tid=1001550482
Hm, gibts da nen treffpunkt wo man sich findet?
Ich starte jetzt ein paar Ueberredungskuenste, mal sehn, ob ich auch
auftauche...

YTC

-----------------------------------------------------------------------------



Re^5: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Montanus,  1. Okt 2001, 18:22:01):
~#! rn=Catweazle rt=1001953245 rg=treffen
~#! tid=1001550482
deswegen habe ich den Thread jetzt schon gestartet, damit man sich auf sowas
einigen kann. :-)

-----------------------------------------------------------------------------



Re^6: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Catweazle,  1. Okt 2001, 18:22:43):
~#! rn=Montanus rt=1001953321 rg=treffen
~#! tid=1001550482
Ok, entscheidet Euch, ich plane dann dadrumrum.
YTC :-)

-----------------------------------------------------------------------------



Re: SPIEL 2001 (18.-21.10 2001 in Essen, Grugahalle) (Gralkor,  2. Okt 2001, 11:25:48):
~#! rn=Montanus rt=1001550482 rg=treffen
~#! tid=1001550482
ich. Wohl Halle 6 bei Fanpro ;)
Wie immer :)
G.

-----------------------------------------------------------------------------



Stammtisch D'dorf (Kartoffel,  7. Okt 2001, 21:35:39):


Naechsten Freitag...:


--------------->>> STAMMTISCH IN DUESSELDORF <<<------------------

---------->>> Am Freitag, den 12.10. um 20:00 Uhr <<<--------------

------->>> Im TIGGES (Brunnenstr. Naehe Bilker Bahnhof) <<<-------



Fragen nach Wegbeschreibungen und sonstige Anfragen bitte an mich.

'Toffel

P.S.: Auf Jenandras Stammtisch-Seite koennt Ihr Euch anmelden, ne 
Karte gibbet da auch: http://www.crosswinds.net/~stati/


-----------------------------------------------------------------------------



Re: Stammtisch D'dorf (Jenandra,  7. Okt 2001, 22:51:48):
~#! rn=Kartoffel rt=1002483339 rg=treffen
~#! tid=1002483339
sorry folks,

crosswinds hat sich leider in der letzten zeit nach und nach
disqualifiziert, und jetzt dem fass die krone ins gesicht
geschlagen, indem sie die seite einfach geloescht haben.
das heisst, zur zeit leider keine stati-seite. ich bin dran,
das ganze zu verschieben und werde dann bescheid sagen.

- Jenandra -

-----------------------------------------------------------------------------



Re: Re: Stammtisch D'dorf (Varlarion,  7. Okt 2001, 22:53:14):
~#! rn=Jenandra rt=1002487908 rg=treffen
~#! tid=1002483339
ach, deine page haben sie auch geloescht?

Varl*, wieder bei Freepage (deren gelegentliche Ausfaelle sind mir dann doch
lieber...)

-----------------------------------------------------------------------------



MS StaTi 09.10.01 (Catweazle,  9. Okt 2001, 16:54:18):
Ich glaube  heute ist Stammtisch.
Ich weiss aber nicht wo ...

YTC

-----------------------------------------------------------------------------



Re: MS StaTi 09.10.01 (Gorog,  9. Okt 2001, 18:54:58):
~#! rn=Catweazle rt=1002639258 rg=treffen
~#! tid=1002639258
Da haste wohl recht Catty, da ich aber nciht hin geh hab ich absolut keine
Ahnung wo. Aber angenommen ich kaeme, wuerde ichs wahrscheinlich in der
Frauemstrasse oder der Kulisse testen. Kann aber auch gut sein, dass man die
anderen nicht sieht, da es mal wieder von Alkoholhungrigen, nicht mehr
schuechternen Erstis nur so wimmelt.

Gorog entfernt sich immer weiter von der geltenden Rechtschreibung.

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 11. Okt 2001, 12:59:19):
Kurzfristig, aber man is ja flexibel :)

Morgen, Freitag, den 12.10.01
20:00 Uhr
Mexx, Sternenburgstr.

Wer immer noch nicht weiss wos ist, hat selber Schuld und darf mich wegen
Wegbeschreibung fragen ;)

schwarzes Hexchen Cinderella

-----------------------------------------------------------------------------



Re: Stati in Bonn (Montanus, 11. Okt 2001, 17:51:51):
~#! rn=Cinderella rt=1002797959 rg=treffen
~#! tid=1002797959
Heut ist Donnerstag.
Muss ich mehr sagen?

Noe, ich codiers: KAKM2000

Kuerzeste Staimmtischankuendigung aller Zeiten?

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Cinderella, 11. Okt 2001, 20:34:51):
~#! rn=Montanus rt=1002815511 rg=treffen
~#! tid=1002797959
Tja Montanus,

ich weiss ja sowas gibbet nich ueberall, aber Bonn hat ne interne Mailingliste
:)
Da kann man dann auch inner MPA schon mal kruzfristig agieren.

Wuschel
Cinderella

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Montanus, 11. Okt 2001, 23:53:07):
~#! rn=Cinderella rt=1002825291 rg=treffen
~#! tid=1002797959
ich hab nicht deinen stati kommentiert, sonder einen anderen agekuendigt.
Lies nach:

Code KAKM2000.

Ein-geweih-te werdens verstanden haben. :-)

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Cinderella, 12. Okt 2001, 10:49:31):
~#! rn=Montanus rt=1002837187 rg=treffen
~#! tid=1002797959
Dann mach demnaechst fuer Deine Ankuendigungen keinen Reply auf den Bonner
Stati, dann versteht mans auch.

-----------------------------------------------------------------------------



Re^5: Stati in Bonn (Croft, 12. Okt 2001, 11:56:22):
~#! rn=Cinderella rt=1002876571 rg=treffen
~#! tid=1002797959
Ich habs auch so verstanden ;-)  Fuer die Liebhaber der Knoblauchsosse:
Sie ist fuer naechste Woche vorbestellt.
Gruss Croft

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Tiamak, 13. Okt 2001, 11:37:18):
~#! rn=Montanus rt=1002815511 rg=treffen
~#! tid=1002797959
Tut mir ja leid, Dich enttaeuschen zu muessen - aber die kuerzeste
Stammtischankuendigung war glaube ich ein Artikel, der aus dem Betreff "DO"
und dem Inhalt "+1" bestand.

Aber das war vor laaaaaanger Zeit ...


Tiamak

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Mupfel, 13. Okt 2001, 12:03:00):
~#! rn=Tiamak rt=1002965838 rg=treffen
~#! tid=1002797959
Stimmt. In DO gibts ja keine Statis mehr...

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Morgoth, 13. Okt 2001, 12:03:45):
~#! rn=Mupfel rt=1002967380 rg=treffen
~#! tid=1002797959
Fast richtig. Wenn es ein vernuenftiges Lokal geben wuerde, dann gaebs auch
wieder Stammtische in DO.

M*

-----------------------------------------------------------------------------



Re^5: Stati in Bonn (Mupfel, 13. Okt 2001, 12:04:35):
~#! rn=Morgoth rt=1002967425 rg=treffen
~#! tid=1002797959
Achwas ihr sucht nur nicht richtig... 

-mupfel-
,

-----------------------------------------------------------------------------



Re^6: Stati in Bonn (Grimmborn, 13. Okt 2001, 12:28:59):
~#! rn=Mupfel rt=1002967475 rg=treffen
~#! tid=1002797959
Genau, Koeln ist gar nicht so weit weg, und da gibts jede Mende vernuenftige
Lokale.

GdA

-----------------------------------------------------------------------------



Hannover (Jenandra, 13. Okt 2001, 15:31:30):
Tach allerseits.
 
Es ist wieder soweit, Stammtisch in Hannover - und zwar am
Samstag, 20.10. um 19:30h im Exil.
Anmeldungen unter www.chaosburg.de ('Muds und LPC' -
'AnderLand, Stammtisch') sind erwuenscht, weitere Infos
sind bei mir zu erfragen.
 
*wink*
- Jenandra - 

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Thufhir, 15. Okt 2001, 18:00:43):
~#! rn=Tiamak rt=1002965838 rg=treffen
~#! tid=1002797959
naja, die ausweichstammtische (exilstatis) in bo wurden ja auch nich
angenommen, auch wenn es annehmbare kneipen waren und der weg nicht wirklich
weit war... ich glaub einfach, dass die dortmunder einfach ein wenig muede
geworden sind...
just my 2 pence,
s'Zauberzwerch

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Elbereth, 15. Okt 2001, 18:01:19):
~#! rn=Thufhir rt=1003161643 rg=treffen
~#! tid=1002797959
also ich komm bestimmt mal auf nen Do-stati, wenn denn mal einer waere

-----------------------------------------------------------------------------



MS StaTi 16.10.01 (Foobar, 15. Okt 2001, 18:23:40):
Liebe Gemeinde,

20.07 Kulisse, Juedefelder Str.

Falls Kulisse zu/abgebrannt/sonstwie geschlossen: Frauenstr. 24.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Apollonia, 15. Okt 2001, 18:32:06):
~#! rn=Thufhir rt=1003161643 rg=treffen
~#! tid=1002797959
Eine Dortmunder Mudderfamilie ist definitiv muede ;o) Wir schauen aber
trotzdem grad nach ner akzeptablen Kneipe in der Naehe. 

Apo*
derzeit irgendwie kneipenverhindert

-----------------------------------------------------------------------------



SPIEL ESSEN (Montanus, 15. Okt 2001, 20:27:51):
Noch kurz, bevor ich morgen in den Flieger steige:

ich bin wohl irgendwie ueber Stand 6/87 (Postspiele) oder 10-53 (Spielbar)
erreichbar.
Nach Hanno fragen, und im Zweifelsfall Nachricht hinterlassen. besser bei den
P{ostspielern, die haben meist so ne {Pinnwand.


-Montanus

-----------------------------------------------------------------------------



Re: MS StaTi 16.10.01 (Wargon, 16. Okt 2001, 19:52:31):
~#! rn=Foobar rt=1003163020 rg=treffen
~#! tid=1003163020
Kann man diese Kneipenkombination auch als Stammtischprognose fuer die
naechste Woche ansetzen?
Eventuell schau ich dann auch mal wieder rein...
  Wargon

-----------------------------------------------------------------------------



Re: Re: MS StaTi 16.10.01 (Puk, 16. Okt 2001, 21:37:20):
~#! rn=Wargon rt=1003254751 rg=treffen
~#! tid=1003163020
Im Grunde bestimmt, wenn nicht alle so wie heute dem Stammtisch fernbleiben :)

Wo wart ihr ??? ;)

Puk, mit Perigin der 2 Leutchen Stati

-----------------------------------------------------------------------------



Re^3: MS StaTi 16.10.01 (Anatol, 16. Okt 2001, 21:49:24):
~#! rn=Puk rt=1003261040 rg=treffen
~#! tid=1003163020
Hat Dir bestimmt gefallen, oder? :)
Ana* ;)

-----------------------------------------------------------------------------



Re^4: MS StaTi 16.10.01 (Puk, 16. Okt 2001, 21:50:14):
~#! rn=Anatol rt=1003261764 rg=treffen
~#! tid=1003163020
Sicher, du weisst doch das ich gerne Taxi spiele :)
P* :)

-----------------------------------------------------------------------------



Re^5: MS StaTi 16.10.01 (Puk, 16. Okt 2001, 22:28:08):
~#! rn=Puk rt=1003261814 rg=treffen
~#! tid=1003163020
mal
Oh, bevor ich es vergesse, die Kulisse hatte leider immer noch nicht seine
Pforten geoeffnet auf das man sich dort niederlassen koennte. Wir wollen aber
die Hoffnung nicht aufgeben (oder langsam doch?) das sie baldigst ihre Tore
wieder oeffnet.

Puk

-----------------------------------------------------------------------------



DO KM 20.00h (Muadib, 17. Okt 2001, 11:23:58):
ausserdem hab ich was von 2 Metern gehoert
geruechteweise

-----------------------------------------------------------------------------



Re: DO KM 20.00h (Bambi, 17. Okt 2001, 18:37:27):
~#! rn=Muadib rt=1003310638 rg=treffen
~#! tid=1003310638
Ich hab ausserdem geruechteweise von Spaghetti mit weisser Sosse gehoert.

-----------------------------------------------------------------------------



Re^6: MS StaTi 16.10.01 (Liara, 17. Okt 2001, 20:43:40):
~#! rn=Puk rt=1003264088 rg=treffen
~#! tid=1003163020
Ihr seid so nett katholisch in Muenster ... glaeubig und hoffnungsvoll bis zum
Letzten ... ;-)

-----------------------------------------------------------------------------



MS StaTi 23.10.01 (Foobar, 17. Okt 2001, 22:17:49):
Liebe Gemeinde,

auf vielfachen Wunsch verfahren wir am kommendem Dienstag ebenso wie am
vergangen:

Wir treffen uns gegen 20.07 vor/in der "Kulisse" (Juedefelder Str.), sollte
diese - wieder Erwarten - immer noch geschlossen haben weichen wir in die
"Frauenstr. 24" (welche sich uebrigens in der Frauenstr. 24 befindet) aus.

Kommet zuhauf! (Jedenfalls mehr als beim letzten Mal. Ja, ich werde da sein
:o))

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 23.10.01 (Foobar, 17. Okt 2001, 22:18:43):
~#! rn=Foobar rt=1003349869 rg=treffen
~#! tid=1003349869
Der Artikel enthaelt Typos.

Ist mir aber scheissegal.

Foobar

-----------------------------------------------------------------------------



Stati Berlin (Golas, 18. Okt 2001, 11:35:17):
02112001
2000
Seeblick

golas der ausrufer

-----------------------------------------------------------------------------



Re^3: MS StaTi 16.10.01 (Wargon, 18. Okt 2001, 20:40:45):
~#! rn=Puk rt=1003261040 rg=treffen
~#! tid=1003163020
Das ganze hat sich heute nachmittag eh erst mal erledigt, ich werde meinen
Urlaub wohl erst irgendwann im November machen...
  Wargon

-----------------------------------------------------------------------------



h - erinnerung (Jenandra, 20. Okt 2001, 11:11:35):
nochmal zur erinnerung:
heute 19.30, exil (davenstedter str. 23)
anfahrtsplan gibt es uebrigens auch auf www.chaosburg.de
(muds - anderland/stammtisch)

- Jenandra -

-----------------------------------------------------------------------------



Nikolaus-Vorankuendigung (Troy, 20. Okt 2001, 11:47:54):
Hallo Leute,

damit zum Stammtisch mal mehr als zwei Leute erscheinen, gibts diesmal
eine laengere Vorankuendigung: Wir planen einen Stammtisch in

H     H    A    M     M BBBBB   U     U RRRRRR   GGGGG
H     H   A A   MM   MM B    B  U     U R     R G     G
H     H  A   A  M M M M B    B  U     U R     R G
HHHHHHH A     A M  M  M BBBBB   U     U RRRRRR  G  GGGG
H     H AAAAAAA M     M B    BB U     U R   R   G     G
H     H A     A M     M B    BB U     U R    R  G     G
H     H A     A M     M BBBBBB   UUUUU  R     R  GGGGG

am Freitag, den 07. Dezember 2001 abends. Uhrzeit und Ort sind noch
diskutabel.

Kommet und fuellet die Stadt mit Leben!

Troy

-----------------------------------------------------------------------------



Re: Nikolaus-Vorankuendigung (Perdita, 20. Okt 2001, 12:35:37):
~#! rn=Troy rt=1003571274 rg=treffen
~#! tid=1003571274
Cool, ich glaub, da kann ich :-)
Und Jameson ist dann auch grad im Lande, nach derzeitigem Stand der Planung!
(allerdings muessen wir am naechsten Morgen frueh raus, aber das kriegen wir
schon hin...
Perdita freut sich, dass es endlich mal wieder einen Stati in HH gibt

-----------------------------------------------------------------------------



Re: Nikolaus-Vorankuendigung (Vanion, 21. Okt 2001, 00:14:08):
~#! rn=Troy rt=1003571274 rg=treffen
~#! tid=1003571274
+1

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Mieze, 22. Okt 2001, 09:35:20):

Hallo, liebe Mudgemeinde,


an diesem Freitag (letzter Freitag im Monat) gibt es in Muenchen wieder einen
Stammtisch im Bergmannshof (Muenchen Laim; nicht weit vom Hauptbahnhof) ab 20
Uhr. Wegbeschreibungen gibt es unter www.jamboree.de oder bei mir. Wegen
Uebernachtungen (falls notwendig) bitte kurze Mail an mich.

Mieze - sitzt hoffentlich nicht alleine da :o)

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Muaddib, 22. Okt 2001, 11:20:41):
~#! rn=Mieze rt=1003736120 rg=treffen
~#! tid=1003736120
+1 (+1 vielleicht)

Mua

-----------------------------------------------------------------------------



treffen in chemnitz? (Whitetiger, 25. Okt 2001, 18:53:24):
hi,
gibts eigentlich auch treffen in chemnitz oder der naehe von chemnitz?
WT.

-----------------------------------------------------------------------------



Re: treffen in chemnitz? (Vardion, 25. Okt 2001, 19:03:39):
~#! rn=Whitetiger rt=1004028804 rg=treffen
~#! tid=1004028804
Also wenn es in Chemnitz einen StaTi gaebe,  wuesste  ich  wohl  davon...  ich
behaupte mal nein. Aber ich haette natuerlich auch nix  dagegen,  das  mal  zu
aendern. Zumindest in der Umgebung von Chemnitz gibt es ja durchaus  ein  paar
Mudder. Also falls sich in und  um  Chemnitz  wer  dafuer  interessiert,  kann
er/sie sich ja mal melden.

Vardion, testet /blocktext

-----------------------------------------------------------------------------



Cannes Rolle 2001 (Liara, 25. Okt 2001, 19:49:28):
Moins.

Hat jemand der Bonner und Bonnerinnen ;-) Lust, sich die Cannes Rolle in der
Brotfabrik anzusehen? Termin waere Montag, 29.10.2001 22 Uhr.
Waere schoen, wenn ihr mir bis Montagmittag eine Mail schreiben koenntet. :-)

Gruesse,
Liara

-----------------------------------------------------------------------------



KA StaTi 1.11.01 (Croft, 29. Okt 2001, 19:10:30):
Am 1.11 findet der Stammtisch nicht im Kleinen Meierhof statt.  Wie
jeden Feiertag macht Panos seine Kneipe naemlich nicht auf.  Deswegen
gehts mal wieder 'Zum Drachen'.  Das findet sich nach wie vor in der
Oststadt (Ecke Bernhard/Karl-Wilhelm-Str., d.h. recht genau zwischen
Durlacher Tor und Karl-Wilhelm-Platz).  Uhrzeit ist auch die gleiche:
20:00
Gruss Croft

-----------------------------------------------------------------------------



MS Stati vom 30.10.01 (Puk, 30. Okt 2001, 00:00:30):
Der faellt wohl aus mangelnder Zeit seitens der meistens Beteiligten aus. 
Aber nicht verzagen, die naechste Woche hat wohl auch einen Dienstag hat man
mir zugeraunt :)

Bis dahin

(Aushilfsverkuender) Puk sagt, Foobar uebernehmen sie.

-----------------------------------------------------------------------------



Re: MS Stati vom 30.10.01 (Mupfel, 30. Okt 2001, 02:35:20):
~#! rn=Puk rt=1004396430 rg=treffen
~#! tid=1004396430
Na wenns nach Beteilugung geht sollte man den MS stati besser nur 1x im Monat
auffuehren - dann ist die Bude voll, und gut.

-mupfel-

-----------------------------------------------------------------------------



DADADA (Ark, 30. Okt 2001, 13:34:02):
Spontan, unuebertroffen, geheimnisvoll, ueberraschend ...
So sind Stammtische in Darmstadt. Soeben erfahre ich, dass wir 2
Supersondergeheimgaeste ersteigern koennen, wenn wir diesen Freitag, den 2.11.
einen Stammtisch machen wuerden. Korrupt wie ich bin, stimme ich dem gern zu
und fordere alle willigen Besucher auf, meinem leuchtenden Beispiel zu folgen.
Treffpunkt der ruehrseligen Vereinigung suechtiger Mudder ist wie immer 20:00
Uhr im Hotzenplotz. Anfahrtskizzen handgefertigt diesmal von Wurzel.

Muahaha.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stati Berlin (Pitfall, 30. Okt 2001, 14:19:31):
~#! rn=Golas rt=1003397717 rg=treffen
~#! tid=1003397717

09112001
2000
Seeblick

Pitfall, ruft hiermit einen Sonderstati aus

-----------------------------------------------------------------------------



Re: Re: Stati Berlin (Elberet, 30. Okt 2001, 14:19:56):
~#! rn=Pitfall rt=1004447971 rg=treffen
~#! tid=1003397717
sonderstati? wieso sonder?

-----------------------------------------------------------------------------



Re^3: Stati Berlin (Pitfall, 30. Okt 2001, 14:20:27):
~#! rn=Elberet rt=1004447996 rg=treffen
~#! tid=1003397717
frag mich nciht ich rufe nur aus :)

-----------------------------------------------------------------------------



Re^4: Stati Berlin (Bielefeld, 30. Okt 2001, 14:31:53):
~#! rn=Pitfall rt=1004448027 rg=treffen
~#! tid=1003397717
Sehr schoen - jetzt fehlt mir zu meinem Glueck nur noch ein
Schlafplatz in Berlin :-)

-Bielefeld
('mal wieder reiselustig)

-----------------------------------------------------------------------------



Re: DADADA (Wurzel, 30. Okt 2001, 21:16:10):
~#! rn=Ark rt=1004445242 rg=treffen
~#! tid=1004445242
anfahrtskizzen? handgefertigt? ich werde dich doch nicht um deine ureigenste
aufgabe erleichtern, mein lieber.
anyway: bin dabei.

wurzel

-----------------------------------------------------------------------------



Re: Re: DADADA (Mandragon, 30. Okt 2001, 21:42:55):
~#! rn=Wurzel rt=1004472970 rg=treffen
~#! tid=1004445242
Schoen, dass sich getroffen wird :-)

Sagte ich schon was von dem Treffen zwischen de Jahren?

Mandragon - will endlich mal seinen Papi sehen ;o)

-----------------------------------------------------------------------------



Sonderstammti in Muenchen (Mieze, 31. Okt 2001, 06:54:29):

Hallo Muddies,

am Freitag, dem 9.11.01 um 20 Uhr ist der naechste Stammtisch in Muenchen.
Sozusagen ein Begruessungsstammtisch fuer einen neuen Zugereisten:
Householder. Das Ganze wird wieder im Bergmannshof sein. Wegbeschreibungen
gibt es unter http://www.jamboree.de.

Mieze

-----------------------------------------------------------------------------



MS StaTi 6.11.01 (Foobar,  4. Nov 2001, 14:45:04):
Liebe Gemeinde,

ich behaupte mal einfach, dass naechsten Dienstag gegen 20.07 Uhr mal wieder
ein StaTi in MS stattfinden wird, und zwar in der Frauenstrasse 24.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 6.11.01 (Bielefeld,  4. Nov 2001, 14:45:54):
~#! rn=Foobar rt=1004881504 rg=treffen
~#! tid=1004881504
Wollen wir mal hoffen, dass der Wirt keine MPA liest und den Laden
deswegen nicht dichtmacht bis Dienstag... ;)

-Bielefeld
(kommt eh nicht)

-----------------------------------------------------------------------------



Re: Re: MS StaTi 6.11.01 (Elberet,  4. Nov 2001, 14:47:46):
~#! rn=Bielefeld rt=1004881554 rg=treffen
~#! tid=1004881504
muenster scheint wenig kneipen zu haben, macht den stati doch einfach in
aachen, dann komm ich auch ;)
Elbi (kommt sonst nicht weil keine zeit)

-----------------------------------------------------------------------------



Re^3: MS StaTi 6.11.01 (Wurzel,  4. Nov 2001, 14:48:30):
~#! rn=Elberet rt=1004881666 rg=treffen
~#! tid=1004881504
aachen? ist das nicht so ein dorf in belgien?

-----------------------------------------------------------------------------



Re^4: MS StaTi 6.11.01 (Elberet,  4. Nov 2001, 14:49:04):
~#! rn=Wurzel rt=1004881710 rg=treffen
~#! tid=1004881504
aber kneipen gibts hier genug ;)

-----------------------------------------------------------------------------



Stammtisch in KN? (Aline,  4. Nov 2001, 16:45:25):

Nachdem der letzte Stammtisch in Konstanz doch recht nett war, wie
waere es mit einer Wiederholung im Dezember?

Aline moechte auch mal wieder auf einen Stammtisch

-----------------------------------------------------------------------------



Re: Stammtisch in KN? (Humni,  4. Nov 2001, 16:46:23):
~#! rn=Aline rt=1004888725 rg=treffen
~#! tid=1004888725
Hmm...vielleicht komm ich ja auch dahin.
Aber nur ohne Imda, sonst landen wir wieder in der Schweiz ;-)

Humni

-----------------------------------------------------------------------------



Re: Re: Stammtisch in KN? (Wurzel,  4. Nov 2001, 16:46:45):
~#! rn=Humni rt=1004888783 rg=treffen
~#! tid=1004888725
ist das nicht sowieso in der schweiz?

-----------------------------------------------------------------------------



Re^3: Stammtisch in KN? (Zook,  4. Nov 2001, 18:03:25):
~#! rn=Wurzel rt=1004888805 rg=treffen
~#! tid=1004888725
Ich bin ja leider wieder in MR abgestellt. Aber wenn es fruehzeitig
festliegt und entweder Donnerstag, Freitag oder Samstag ist, kaeme
ich vielleicht das WE wieder mal nach KN. :-)

Gruss, Zook.

-----------------------------------------------------------------------------



Re^4: Stammtisch in KN? (Zook,  4. Nov 2001, 18:04:11):
~#! rn=Zook rt=1004893405 rg=treffen
~#! tid=1004888725
Achja, kann das Ganze ma wer nach Unitopia crossposten? Dann kommen
vielleicht von denen auch welche, und bleiben hoffentlich laenger
als das letzte mal ;)))))

Gruss, Zook.

-----------------------------------------------------------------------------



Re^5: Stammtisch in KN? (Croft,  4. Nov 2001, 18:04:57):
~#! rn=Zook rt=1004893451 rg=treffen
~#! tid=1004888725
Lass das cross-posten einfach Isi machen ;-)
Gruss Croft

-----------------------------------------------------------------------------



Darmstadt mal wieder :-) (Mandragon,  4. Nov 2001, 18:05:01):

Wie siehts denn aus mit nem Weihnachtsstammtisch ?

so die Woche zwisschen 15. und 22. waere gut *g*

Ma*

-----------------------------------------------------------------------------



Re^6: Stammtisch in KN? (Zook,  4. Nov 2001, 18:05:29):
~#! rn=Croft rt=1004893497 rg=treffen
~#! tid=1004888725
Mein Artikel sollte auch ne Aufforderung an Isi sein ;)

Zook.

-----------------------------------------------------------------------------



Re: Darmstadt mal wieder :-) (Wurzel,  4. Nov 2001, 18:07:19):
~#! rn=Mandragon rt=1004893501 rg=treffen
~#! tid=1004893501
bisher nix in sicht. aber der terminator ist meistens eh ark.

-----------------------------------------------------------------------------



Re: Re: Darmstadt mal wieder :-) (Mandragon,  4. Nov 2001, 18:15:51):
~#! rn=Wurzel rt=1004893639 rg=treffen
~#! tid=1004893501
Ich faende unter der Woche besser, weil ich dann noch was an der Uni machen
kann vorher *g*
Sagen wir .. aehm. donnerstag der 20. abends im Hotzenplotz oder so oder
gleich ueber den Weihnachtsmarkt.

Ma*

-----------------------------------------------------------------------------



Re^3: Darmstadt mal wieder :-) (Wurzel,  4. Nov 2001, 18:56:01):
~#! rn=Mandragon rt=1004894151 rg=treffen
~#! tid=1004893501
unter der woche ist oed. nicht jeder hat da urlaub.

-----------------------------------------------------------------------------



Re^4: Darmstadt mal wieder :-) (Mandragon,  4. Nov 2001, 19:22:12):
~#! rn=Wurzel rt=1004896561 rg=treffen
~#! tid=1004893501
Schon klar.

Nur ist um weihnachten bei JEDEM mit wochenenden schlecht *g*

Ma*

-----------------------------------------------------------------------------



Re^7: Stammtisch in KN? (Isi,  5. Nov 2001, 10:31:45):
~#! rn=Zook rt=1004893529 rg=treffen
~#! tid=1004888725
solange keiner behauptet, dass haett an meiner wegbeschreibugn 
gelegen, das mit der schweiz (wo ich noch extra geschriebn hab
nicht zurschweiz ;)
also, die unitopianer planen grad wieder einen,
die gehoeren aber eher zur spontanen 
'ich geh am samstag in die xy-disco, wer kommt mit-sorte'
aber ich cross-poste gern - und ich hoffe ich
schaffe es diesmal auch hin *grummel*
isi (moussewerfend)

-----------------------------------------------------------------------------



Re: Re: DADADA (Gor,  5. Nov 2001, 12:10:07):
~#! rn=Wurzel rt=1004472970 rg=treffen
~#! tid=1004445242
Der Stati war ja besonders schoen. Nach jedem Bier trudelte ein anderer Mudder
ein.
Zuerst kam Belgariad in Belgeitung mit POlgara. Anschliessend tauchte
Dragonlord und THaren auf. ;)

Ihr Pfeifen. Muesst ihr um kurz nach 10 die Lokalitaet schon wieder verlassen?
;) Ich sagte doch, das wirn Unfall hatten und das es spaeter wird. ;)
TSTSTSTSTS Wichtig waere noch folgendes: Ein Handy taugt nur was, wenn man es
auch einschaltet, oder seine Mailbox abhoert. ;)

Pizza Kuesschen war dennoch stinkig lecker, wie immer. ;)

Gruss Gor

-----------------------------------------------------------------------------



Re: Re: Stammtisch in KN? (Gor,  5. Nov 2001, 12:11:09):
~#! rn=Humni rt=1004888783 rg=treffen
~#! tid=1004888725
Hehe, immer die Schuld auf andere schieben. ;) Du bist mindestens genauso
plalos durch die Strassen geirrt wie Imda ;)


-----------------------------------------------------------------------------



Re^3: Darmstadt mal wieder :-) (Ark,  5. Nov 2001, 14:55:16):
~#! rn=Mandragon rt=1004894151 rg=treffen
~#! tid=1004893501
Meinshalben. Aber wir machen das am Freitach, den 21., ok?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: DADADA (Ark,  5. Nov 2001, 14:59:27):
~#! rn=Gor rt=1004958607 rg=treffen
~#! tid=1004445242
Selber Pfeifen. Ich verbreitete die Unfallgeschichte und hatte um halb elf
eben auch keinen Bock mehr, selbiges alleine reinzuschuetten. Dann sacht eben
vorher, dass Ihr doch noch kommen werdet, trotz Unfall. Um halb acht klang das
naemlich nicht so. Und im lauten Hoplo hoere ich auch net alles, danach
schalte ich das Quaekteil naemlich ab. Wird auch zukuenftig so sein :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Nikolaus-Vorankuendigung (Perdita,  5. Nov 2001, 15:01:46):
~#! rn=Troy rt=1003571274 rg=treffen
~#! tid=1003571274
Gibt's eigentlich mittlerweile schon naehere Infos zu Zeit und Ort?!?
Perdita ist nicht wirklich ungeduldig, nur interessiert...

-----------------------------------------------------------------------------



Re: Re: Nikolaus-Vorankuendigung (Troy,  5. Nov 2001, 17:31:08):
~#! rn=Perdita rt=1004968906 rg=treffen
~#! tid=1003571274
Zeit: Freitag abend so um und bei neunzehn Uhr dreissig.

Ort: Noch zur Diskussion. Der Groeninger-Keller war m. E. nicht so doll.

Troy

-----------------------------------------------------------------------------



Re^3: Stammtisch in KN? (Humni,  5. Nov 2001, 17:59:23):
~#! rn=Gor rt=1004958669 rg=treffen
~#! tid=1004888725
Das hast Du falsch verstanden. Es ist nur so, dass Imda und ich uns IMMER
verfahren. Das hat nix damit zu tun, wer faehrt. Und war in dem Sinne keine
Schuldzuweisung an Imda.

Humni
PS: Wenn Du's nicht glauben willst, frag Leute auf der letzten Bonn-Party ;-)

-----------------------------------------------------------------------------



Re^4: Stammtisch in KN? (Elberet,  5. Nov 2001, 17:59:57):
~#! rn=Humni rt=1004979563 rg=treffen
~#! tid=1004888725
ich erinner mich *ggggggggg

Elbi ( armes Bambi :) )

-----------------------------------------------------------------------------



Re^4: Stammtisch in KN? (Isi,  5. Nov 2001, 18:00:10):
~#! rn=Humni rt=1004979563 rg=treffen
~#! tid=1004888725
ihr habt nicht zufaellig ein X chromosom ueber?
isi (duckenwerfend)

-----------------------------------------------------------------------------



Re^4: DADADA (Montanus,  5. Nov 2001, 21:00:34):
~#! rn=Ark rt=1004968767 rg=treffen
~#! tid=1004445242
Also Stammtisch am 20. Dezember... hmmm, klingt ja verlockend, aber seid ihr
euch auch bewusst, dass genau an dem Tag auch HdR-Premiere ist?
Vielleicht beides miteinander verbinden?

just my dime

Montanus (Gastarbeiter)

-----------------------------------------------------------------------------



Re^5: DADADA (Ark,  5. Nov 2001, 21:02:54):
~#! rn=Montanus rt=1004990434 rg=treffen
~#! tid=1004445242
Klingt gut, denn wir ham am Stati eh drueber gesprochen. Der naechste muss
nicht unbedingt in DA stattfinden, da ich mich eigentlich positiv an unseren
letztjaehrigen Gang ueber den Weihnachtsmarkt in FRA erinnere. Koennte man
verbinden. Ich schreib mal was Anfang Dezember zu. Notfalls updaten wir das
auf der Party.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: DADADA (Mandragon,  5. Nov 2001, 21:03:58):
~#! rn=Ark rt=1004990574 rg=treffen
~#! tid=1004445242
Party ist schlecht. Da bn ich noch nicht da.

Aber Gang ueber den Frankfurter WEeihnachtsmarkt mit anschliessendem
Spaetvorstellungsbesuch im Royal bei HdR hoert sich ganz gut an.

Ma*

-----------------------------------------------------------------------------



Re^7: DADADA (Montanus,  5. Nov 2001, 21:06:36):
~#! rn=Mandragon rt=1004990638 rg=treffen
~#! tid=1004445242
oder in MZ? Der jaehrliche Mauinzer Weihnachtsmarkt-Stammtisch war in den
letzten Jahren immer sehr schlecht besucht, obwohl es doch ein schnuggelischer
(c) Ark Weihnachtsmarkt ist, und das Cinestar ist auch eigentlich ein nettes
Kino?!

aeh, ersetzt bitte (c) mit (TM) Ark. ;-)

-----------------------------------------------------------------------------



Re^8: DADADA (Mandragon,  5. Nov 2001, 21:07:36):
~#! rn=Montanus rt=1004990796 rg=treffen
~#! tid=1004445242
Hmm. Mainz ist weit.

Ma* (kommt mit Roana und evtl. Randolf aus Rosbach)

-----------------------------------------------------------------------------



Re^9: DADADA (Montanus,  5. Nov 2001, 21:08:51):
~#! rn=Mandragon rt=1004990856 rg=treffen
~#! tid=1004445242
Zwischen mainz udn Darmstadt ist nur der Fluss. Und fuenf oder sechs Kaeffer:
Gross-gerau, Klein-Gerau, Astheim, Bischofsheim, Gustavsburg. Hab ich eins
vergessen? ;-)

-----------------------------------------------------------------------------



Re^10: DADADA (Mandragon,  5. Nov 2001, 21:12:20):
~#! rn=Montanus rt=1004990931 rg=treffen
~#! tid=1004445242
Jo. Mistkaeffer. Ich komme auf dem Hinweg durch ein anderes Kaff durch ...
Frnakfurt :o)

Ma*

-----------------------------------------------------------------------------



Re^11: DADADA (Ark,  5. Nov 2001, 21:14:54):
~#! rn=Mandragon rt=1004991140 rg=treffen
~#! tid=1004445242
Najaaa, ich weiss nicht, wo Du da laengs faehrst, aber weder A66 (autsch) noch
A3/60 fuehren Dich nach Frankfurt rein. Und um die Zeit am Freitag geht das
noch. Es sei denn, es ist Sauwetter :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^12: DADADA (Montanus,  5. Nov 2001, 21:19:15):
~#! rn=Ark rt=1004991294 rg=treffen
~#! tid=1004445242
Ende Dezember, besonders kurz vor Heiligabend, ist IMMER Sauwetter. ;-)
Weihnachtsmarkt ohne Regen waer doch langweilig. :-) Dann ist der Gluehwein so
schnell alle, wenn nicht dauernd von oben nachshub kommt.

-----------------------------------------------------------------------------



Re^6: DADADA (Zook,  5. Nov 2001, 21:47:35):
~#! rn=Ark rt=1004990574 rg=treffen
~#! tid=1004445242
Stimmt, Weihnachtsmarkt in FFM war witzig. :-)

Zook.

-----------------------------------------------------------------------------



Re^10: DADADA (Katzentante,  5. Nov 2001, 22:26:36):
~#! rn=Montanus rt=1004990931 rg=treffen
~#! tid=1004445242
he, da kennt sich ja einer supergut im Ried aus.... Warum treffen wir uns
nicht gleich in GG. Das Kino dort ist auch suess. Nur glaube ich nicht, dass
HDR dort schon laeuft....

Katzi
..

-----------------------------------------------------------------------------



Burg Ronneburg (Troy,  6. Nov 2001, 09:04:52):
Hallo Leute,

an den ersten drei Wochenenden im Dezember findet auf der Burg Ronneburg bei
Langenselbold bei Hanau mal wieder ein historischer Weihnachtsmarkt statt.

Ich werde da am 1. Dezember aufkreuzen. Hat da noch jemand Lust? Das ganze
beginnt um 10 Uhr, ich tauche aber nicht vor 11 auf, da ich von HH runter-
fahre (an dem Tag). Es geht bis etwa 17 Uhr.

Interesse? Schaut mal rein bei www.burg-ronneburg.de (Veranstaltungen).

Troy

-----------------------------------------------------------------------------



Re^3: DADADA (Amaryllis,  6. Nov 2001, 10:53:47):
~#! rn=Gor rt=1004958607 rg=treffen
~#! tid=1004445242
>TSTSTSTSTS Wichtig waere noch folgendes: Ein Handy taugt nur was, wenn man es
>auch einschaltet, oder seine Mailbox abhoert. ;)

Diesen Satz ausgerechnet von DIR?

Ama*, kopfschuettelnd.

-----------------------------------------------------------------------------



stammtisch (Muadib,  6. Nov 2001, 13:30:21):
schonklarwoundwann - oder?

-----------------------------------------------------------------------------



Re: stammtisch (Deepblue,  6. Nov 2001, 13:31:15):
~#! rn=Muadib rt=1005049821 rg=treffen
~#! tid=1005049821
08110120KAKM?

-----------------------------------------------------------------------------



Re: Re: stammtisch (Muadib,  6. Nov 2001, 14:00:21):
~#! rn=Deepblue rt=1005049875 rg=treffen
~#! tid=1005049821
ja

-----------------------------------------------------------------------------



Re^4: Stammtisch in KN? (Aline,  6. Nov 2001, 21:56:32):
~#! rn=Zook rt=1004893405 rg=treffen
~#! tid=1004888725

Eigentlich wollte ich ja einen Samstag vorschlagen, aber unter diesen
Umstaenden...

Aline ducktsichundrennt

-----------------------------------------------------------------------------



Stati in Bonn (Cinderella, 12. Nov 2001, 11:00:26):
Es ist mal wieder soweit!

Stammtisch in Bonn:
Samstag 01.12.2001
ab 20:00 Uhr
in der Harmonie, Frongasse 30

Special Guest:
Bruder S. der Rueckkehrer aus dem Land der Sonne und des Tequilas
Bruder A. ;)
zwei Blutsschwestern
ein geheimnisvoller Unbekannter

Knuddels
schwarzes Hexchen Cinderella *sich wie immer schon riesig freuend*

P.S. Und bitte auch wie immer Rueckmeldungen zwecks Tischreservierung an mich
oder Twingi

-----------------------------------------------------------------------------



Re: Stati in Bonn (Hight, 12. Nov 2001, 12:05:27):
~#! rn=Cinderella rt=1005559226 rg=treffen
~#! tid=1005559226
hight kommt auch wie versprochen -> +1 evtl +2 

-----------------------------------------------------------------------------



MS StaTi1 13.11.01 (Foobar, 12. Nov 2001, 19:15:06):
Liebe Gemeinde,

wie fast jeden Dienstag treffen wir uns auch morgen wieder in Muenster in der
"Frauenstr. 24" gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi1 13.11.01 (Elberet, 12. Nov 2001, 19:35:04):
~#! rn=Foobar rt=1005588906 rg=treffen
~#! tid=1005588906
Psalter und Harfe wacht auf ...

-----------------------------------------------------------------------------



Re: Re: MS StaTi1 13.11.01 (Mandragon, 12. Nov 2001, 20:08:50):
~#! rn=Elberet rt=1005590104 rg=treffen
~#! tid=1005588906
... Lasset den Lobgesang hoeeehren :-)



-----------------------------------------------------------------------------



Re: Re: MS StaTi1 13.11.01 (Catweazle, 13. Nov 2001, 08:58:39):
~#! rn=Elberet rt=1005590104 rg=treffen
~#! tid=1005588906
Kenn ich beide nicht.  Kommen die?

YTC

-----------------------------------------------------------------------------



Re^3: MS StaTi1 13.11.01 (Elberet, 13. Nov 2001, 09:00:29):
~#! rn=Catweazle rt=1005638319 rg=treffen
~#! tid=1005588906
weiss nicht, aber ich komm wohl nicht *schnief

-----------------------------------------------------------------------------



Re^3: MS StaTi1 13.11.01 (Maarg, 13. Nov 2001, 10:00:49):
~#! rn=Catweazle rt=1005638319 rg=treffen
~#! tid=1005588906
Lobgesang hat gerade abgesagt.

Maarg

-----------------------------------------------------------------------------



Stati in Zuerich (Scorpion, 13. Nov 2001, 11:23:40):
Endlich isch es wieder so wiit, es giit wieder en Stati in Zueri...er findet
am 22. November im Resti "zum Vorbahnhof" statt. Wend au cho wotsch, mir sind
so ab 19.00 Uhr det. Am beschte chunsch mit em Zug, denn es isch gad bim
Bahnhof, fuer wiiterei frage schrieb doch e mail

-----------------------------------------------------------------------------



Re: Stati in Zuerich (Liara, 13. Nov 2001, 20:41:54):
~#! rn=Scorpion rt=1005647020 rg=treffen
~#! tid=1005647020
Aeh, was? :-)

-----------------------------------------------------------------------------



StaTi? (Deepblue, 14. Nov 2001, 07:43:25):
1520KAKM?
Deep, nicht kommend...

-----------------------------------------------------------------------------



Re: StaTi? (Vincent, 15. Nov 2001, 12:22:33):
~#! rn=Deepblue rt=1005720205 rg=treffen
~#! tid=1005720205
True

Vincent, hinkommend...

-----------------------------------------------------------------------------



Stammtisch HAMBURG (Troy, 17. Nov 2001, 13:20:55):
So, nu isser reserviert, und zwar

am 07. Dezember 2001 ab 19:30 Uhr

in der
Backatelle Barmbek
Fuhlsbuettler Strasse <wasweisich, wohl kleiner als 200>
Von U/S Barmbek in 3min zu Fuss zu erreichen.

Kommet zuhauf.

Troy

-----------------------------------------------------------------------------



StaTi in Dresden (Deepblue, 17. Nov 2001, 17:36:32):
Am 20.11. gibts mal wieder nen Stammtisch in Dresden, wieder ab ca. 20 Uhr im
Club Duererstrasse.

-----------------------------------------------------------------------------



Re: Stammtisch HAMBURG (Lolli, 19. Nov 2001, 15:00:07):
~#! rn=Troy rt=1005999655 rg=treffen
~#! tid=1005999655
Ein Hoch auf die Initiative von Troy. Endlich kommt wieder Leben in die
Hamburger.
Kommet zuhauf muesste eigentlich eher heissen : wehe dem der wegbleibt!!

Also, man sieht sich, is ja klar.

Lolli... in Vorfreude

-----------------------------------------------------------------------------



Re: Stammtisch HAMBURG (Lolli, 19. Nov 2001, 15:04:46):
~#! rn=Troy rt=1005999655 rg=treffen
~#! tid=1005999655
Nachtrag:
Die Hausnummer der Bachatelle ist 136 :-)

Nur mal noch als kleine Anmerkung von      Lolli...

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Willow, 19. Nov 2001, 20:13:28):
~#! rn=Lolli rt=1006178686 rg=treffen
~#! tid=1005999655
tjahaaaa, so wies aussieht, koennte das ein stati werden, auf dem ich auch mal
auflaufe... also +1
Weidchen Willow

-----------------------------------------------------------------------------



Re^3: Stammtisch HAMBURG (Perdita, 19. Nov 2001, 20:54:40):
~#! rn=Willow rt=1006197208 rg=treffen
~#! tid=1005999655
Moensch, das wird ja langsam richtig voll da
Perdita freut sich schon

-----------------------------------------------------------------------------



Re: Re: Stammtisch HAMBURG (Wurzel, 19. Nov 2001, 23:48:36):
~#! rn=Lolli rt=1006178407 rg=treffen
~#! tid=1005999655
troy bringt leben in die hamburger? dann lasst ihn bloss nicht zu mcdonalds
gehen, wer weiss was dann passiert...

-----------------------------------------------------------------------------



MS Stati vom 20.11.01 (Puk, 20. Nov 2001, 00:40:30):
Hoeret, Hoeret

Hiermit sei euch kundgetan das auch am dem heutigen Dienstag wieder ein
geselliges Treffen einer froehlichen Runde in dem (immer noch nicht
geschlossenen ?!?) Lokal genannt Frauenstr. 24, zu finden auf der
Frauenstrasse in dem Hause mit der Hausnummer 24, stattfinden wird.

Kommet zuhauf

Puk

-----------------------------------------------------------------------------



Re^3: Stammtisch HAMBURG (Krellja, 20. Nov 2001, 10:11:40):
~#! rn=Wurzel rt=1006210116 rg=treffen
~#! tid=1005999655
Moin,

ich muss "aus familiaeren Gruenden" oder wie man dass auch immer so schoen
nennt leider absagen :(

Krellja

-----------------------------------------------------------------------------



Re: MS Stati vom 20.11.01 (Liara, 20. Nov 2001, 12:03:15):
~#! rn=Puk rt=1006213230 rg=treffen
~#! tid=1006213230
Der Laden ist immer noch existent? *staun*

ZZL, glaubt eher an ein Geruecht

-----------------------------------------------------------------------------



KA (Perdita, 20. Nov 2001, 21:06:13):
22110120KAKM?
Stimmt das?
Wenn ja, bin ich mal wieder dabei!
Perdita

-----------------------------------------------------------------------------



Re: KA (Croft, 20. Nov 2001, 21:33:50):
~#! rn=Perdita rt=1006286773 rg=treffen
~#! tid=1006286773
Klar stimmt das :-)

-----------------------------------------------------------------------------



B/12 (Pitfall, 20. Nov 2001, 22:43:24):
07/12/01/2000
code seeblick

pitfall i.A. golas

-----------------------------------------------------------------------------



Re: Re: KA (Wurzel, 20. Nov 2001, 23:50:04):
~#! rn=Croft rt=1006288430 rg=treffen
~#! tid=1006286773
wie war noch mal die genaue adresse? als gelegenheitskarlsruher wollte ich
demnaechst auch mal vorbeischauen, nur faellt das schwer mit so einer
komischen abkuerzung das zu finden :)

-----------------------------------------------------------------------------



Re^3: KA (Croft, 20. Nov 2001, 23:54:19):
~#! rn=Wurzel rt=1006296604 rg=treffen
~#! tid=1006286773
Das ist der 'Kleiner Meierhof' in der Zaehringerstr. 16.  Falls du ne
Wegbeschreibung brauchst: gib Bescheid.

-----------------------------------------------------------------------------



Re^4: KA (Boing, 21. Nov 2001, 08:59:32):
~#! rn=Croft rt=1006296859 rg=treffen
~#! tid=1006286773
Oder teste die Wegbeschreibung auf der MG-Homepage und sag hinterher
gleich, ob sie noch stimmt ... :)
  Boing

-----------------------------------------------------------------------------



Re^5: KA (Humni, 21. Nov 2001, 09:53:10):
~#! rn=Boing rt=1006329572 rg=treffen
~#! tid=1006286773
Ich war ja noch nicht oft da, aber trotz IMHO idiotensicherer Beschreibung und
Plaenen, die ich aus dem Netz gesaugt hab - verfahren hab ich mich jedesmal.

Humni

-----------------------------------------------------------------------------



Re^6: KA (Boing, 21. Nov 2001, 09:54:36):
~#! rn=Humni rt=1006332790 rg=treffen
~#! tid=1006286773
Du hattest Imda dabei, oder?
  Boing

-----------------------------------------------------------------------------



Re^7: KA (Humni, 21. Nov 2001, 09:57:20):
~#! rn=Boing rt=1006332876 rg=treffen
~#! tid=1006286773
Nur beim ersten Mal, aber das ist wohl haengen geblieben....

Humni

-----------------------------------------------------------------------------



Re^7: KA (Gor, 21. Nov 2001, 12:10:49):
~#! rn=Boing rt=1006332876 rg=treffen
~#! tid=1006286773
Imda und Humni is ne toedliche Kombi. Die schaffens sogar dreimal an der
richtigen Kneipe vorbeizulaufen. }:-)

-----------------------------------------------------------------------------



Re^8: KA (Humni, 21. Nov 2001, 13:45:48):
~#! rn=Gor rt=1006341049 rg=treffen
~#! tid=1006286773
Das war nach dem Ausflug in die Schweiz aber wirklich harmlos.

Humni

-----------------------------------------------------------------------------



Re^9: KA (Isi, 21. Nov 2001, 14:19:38):
~#! rn=Humni rt=1006346748 rg=treffen
~#! tid=1006286773
ich bin unschuldig.
isi (moussewerfend)

-----------------------------------------------------------------------------



Berlin (Liara, 23. Nov 2001, 00:21:18):
Bin naechste Woche mal ein paar Tage da, was sollte man sich im Mom unbedingt
ansehen?

ZZL

-----------------------------------------------------------------------------



Re: Berlin (Gloinson, 23. Nov 2001, 01:22:15):
~#! rn=Liara rt=1006471278 rg=treffen
~#! tid=1006471278
Wenn Du Geld hast und Variete magst: Pomp Duck and Circumstance.
Neu ist eventuell auch das Juedische Museum fuer Dich. Ansonsten hab ich nicht
viel neues gelesen, aber ich bin letztzeit auch Kulturmuffel.
Und wenn Du Pitfall ansprichst organisiert der vielleicht einen Sonderstati.

Ansonsten: www.berlin.de

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Berlin (Grimmborn, 23. Nov 2001, 07:09:04):
~#! rn=Gloinson rt=1006474935 rg=treffen
~#! tid=1006471278
Was sich immer und jedesmal lohnt: Pergamon-Museum, Bode-Museum (wenns wieder
auf hat) und die Gegend ums Charlottenburger Schloss (Schloss selber mit Park
und dort verstreuten Gebaeuden, Museum fuer Vor- und Fruehgeschichte,
Romatnikersammlung mit vielen CDF's, Aegyptisches Museum mit Nofretete). Schau
ob Du in der Komischen Oper eine Vorstellung von Orpheus und Euridike
mitnehmen kannst, Jochen Kowalski ist unglaublich. 

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Berlin (Gloinson, 23. Nov 2001, 12:03:39):
~#! rn=Grimmborn rt=1006495744 rg=treffen
~#! tid=1006471278
Um das Pergamon-Museum zu besuchen braucht man/ich wenigstens acht Stunden,
aber empfehlen kann ich es natuerlich auch. Ebenso wie, bei Lust auf
Ausgefallenes das Hanf-Museum, bei Wartezeit uebrig den Reichstag, den
Fernsehspargel bei Lust auf Kaffee und Kuchen (abends), obig erwaehntes
Aegyptisches Museum, die Technischen Sammlungen, einen Besuch im Sony-Center
wenn das Lichtspiel oder der Spriongbrunnen an ist ... etc. blabla. Und fuer
Leute die was ausgefallenes Fressbares suchen: das KDW. Der Zoo ist auch nicht
schlecht aber teuer wo wir schon in der Gegend sind *g*

Gloin(son), addiert einfach mal wild ohne Geschmack zu kennen

PS: Und wenn Du in der NAehe der Ivnalidenstrasse bist: Das Museum fuer
Naturkunde samt den grossen Skeletten _und_ Hoersaal 10 der Physiker in einem
Gebaeude hinter dem Museum. DAS ist ein Hoersaal (Holz, hoch, schoen -> und
die Physiker kotzen deswegen am meisten weil sie ja nach Adlersdorf mit
rausziehen).

-----------------------------------------------------------------------------



Re^4: Berlin (Muaddib, 23. Nov 2001, 12:07:50):
~#! rn=Gloinson rt=1006513419 rg=treffen
~#! tid=1006471278
Fuer alle die, die noch nie in Berlin waren und sich dort nicht auskennen...
Was ist das KDW?

Mua

-----------------------------------------------------------------------------



Re^5: Berlin (Croft, 23. Nov 2001, 12:12:48):
~#! rn=Muaddib rt=1006513670 rg=treffen
~#! tid=1006471278
'Kaufhaus des Westens'

-----------------------------------------------------------------------------



Re^5: Berlin (Gloinson, 23. Nov 2001, 12:13:10):
~#! rn=Muaddib rt=1006513670 rg=treffen
~#! tid=1006471278
Kaufhaus des Westens. Und da gibt es wirklich fast alles. Kostet
dementsprechend :)

Gloin(son)

-----------------------------------------------------------------------------



Re^6: Berlin (Birdy, 23. Nov 2001, 12:54:53):
~#! rn=Gloinson rt=1006513990 rg=treffen
~#! tid=1006471278
das schreibt ja auch KaDeWe, gloinson.
ansonsten ist rund am und auf dem potsdamer platz ne menge los, schau dir mal
im IMAX was an, ist sehr empfehlenswert.

-----------------------------------------------------------------------------



Re^7: Berlin (Linflas, 23. Nov 2001, 18:24:50):
~#! rn=Birdy rt=1006516493 rg=treffen
~#! tid=1006471278
Oh ja, mir faellt da die "Warhol-Retrosuepektive" am Potsdamer Platz ein und
das Gruselkabinett (Nein, die den bundestag), Anhalter Bahnhof. Und die
Sammlung Berggruen, gegenueber von Nofretete in Charlottenburg mit huebschen
Picassos und Klees. Ausserdem macht am 2.12 die alte Nationalgalerie endlich
auf und da gibts dann feine Malereien.

L.


-----------------------------------------------------------------------------



Re^8: Berlin (Linflas, 23. Nov 2001, 18:29:20):
~#! rn=Linflas rt=1006536290 rg=treffen
~#! tid=1006471278

Hmmmm, da faellt mir was auf, das in Klammern soll nicht heissen: die den
Bundestag, sondern nicht den bundestag. Ausserdem gibt es da noch das
Standart-Touri-Programm: Unbter den Linden vom RT aus bis zum Alex zu Fuss,
vorbei an Staatsoper, Uni, Bebelsplatz, Dom und Volkskammer, Rotes Rathaus
Fernsehturm und Alex himself. Ganz um die Ecke sind die Hackeschen Hoefe, auch
nen Auflug wert, vor allen Dingen wegen dem feinen juedischen Viertel um die 
Wand herum, weil da ists halt ein bisserl anders, als sonst in Berlin. Zoo
finde ich nicht so toll, Tierpark wohl eher, ist aber ne Frage des Wetters.
Szeneausfluege gehen um Eberswalderstr (U2) uin PrenzlBertg und
Simon-Dach-Str. im Friedrichshain. Weiterhin lohnt es sich, einfach mal in die
Buslinie 100 zu setzen, die Leute oben vorne vergraulen und einmal im Kreis zu
fahren, da sieht man am meisten.
L., wer zaehlt Typos?

-----------------------------------------------------------------------------



Re^9: Berlin (Gloinson, 23. Nov 2001, 18:44:37):
~#! rn=Linflas rt=1006536560 rg=treffen
~#! tid=1006471278
Wenns interessiert - irgendwo in Mitte hat wohl auch fuers naechste Jahr
zumindest die Plagiarius-Ausstellung ihre Pforten geoeffnet.

Gloin(son), kratzt Neuigkeiten aus dem Kopf zusammen

-----------------------------------------------------------------------------



Re^10: Berlin (Liara, 23. Nov 2001, 19:20:44):
~#! rn=Gloinson rt=1006537477 rg=treffen
~#! tid=1006471278
Danke. :-)
(Nein, das Standard-Touriprogramm brauche ich nicht mehr. ;-) Mich
interessiert, was im Moment so los ist.)

ZZL

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Mieze, 24. Nov 2001, 09:53:27):
Hallo, liebe Mudgemeinde,

am 30.11. ist es wieder so weit: Der Muenchner Stammtisch trifft sich ab 20
Uhr im Bergmannshof. Fuer diejenigen, die nicht wissen, wo das ist, gibt es
einen prima URL: http://www.jamboree.de. Reserviert wird auf den Namen
'Morgengrauen' (die kennen uns da schon). Wegen eventuell benoetigter
Uebernachtung bitte kurze Mail an mich.

Mieze - Eine-Frau-Orga-Team-Muenchen

P.S.: Kommt zahlreich ;o)


-----------------------------------------------------------------------------



MS StaTi 27.11.01 (Foobar, 24. Nov 2001, 17:15:50):
Liebe Gemeinde, 27.11.01 20.07 Frauenstr. 24, Kommet zuhauf!

Foobar einzeilert auch mal.

-----------------------------------------------------------------------------



Re: MS StaTi 27.11.01 (Varlarion, 24. Nov 2001, 17:17:31):
~#! rn=Foobar rt=1006618550 rg=treffen
~#! tid=1006618550
Fuer Haeufungen bin ich nicht zustaendig, aber ich bin dabei :o)

Varl*, +1

-----------------------------------------------------------------------------



Sonderstati Karlsruhe. (Bambi, 25. Nov 2001, 17:25:15):
Heute, 20 Uhr, "Zu Drachen".
Wegbeschreibungen auf Anfrage.
...
Ja, naechstes mal kuendige ich den Sonderstati frueher an. :)

-----------------------------------------------------------------------------



Re: Sonderstati Karlsruhe. (Croft, 25. Nov 2001, 20:00:35):
~#! rn=Bambi rt=1006705515 rg=treffen
~#! tid=1006705515
Da 'Zum Drachen' grad dicht ist, versuchen wir es im Meierhof
Croft, der sich jetzt auf den Weg macht.

-----------------------------------------------------------------------------



Re: Re: Sonderstati Karlsruhe. (Bambi, 25. Nov 2001, 22:26:58):
~#! rn=Croft rt=1006714835 rg=treffen
~#! tid=1006705515
Wir verlegen nochmal und zwar ins Litfass.
...
Ok, wir verleg_t_en. :)

-----------------------------------------------------------------------------



Rudeln in B (TM) (Gnome, 28. Nov 2001, 12:38:17):
hallo alle!

nachtuerlich haben wir auch dieses jahr ein vor-weihnachts-rudeln,
welches im anschluss an den dez.-stati stattfinden soll, naemlich am

07.12.01, ab etwa 23.00h, im informatik-institut (adlershof).

wer nicht zum stati kommen kann, den treffen wir zur angegebenen zeit
vor dem haupteinang. wer erst am Sa. kommen kann/will, sollte sich
vorher kurz einloggen und fragen, ob noch oder wann wieder jmd im
institut ist. wer dort schlafen will, sollte sich zumindest einen
schlafsack mitbringen.

und wenn alles gut geht und nicht wieder irgendwelche autos stehenbleiben,
erwarten wir sogar 2 special guests. :)

gnOme

-----------------------------------------------------------------------------



Re: Rudeln in B (TM) (Vardion, 28. Nov 2001, 12:46:47):
~#! rn=Gnome rt=1006947497 rg=treffen
~#! tid=1006947497
Also das letzte mal war der Hausmeister nicht wirklich begeistert, als er
meinen Schlafsack da entdeckt... evtl sollten andere
Uebernachtungsmoeglichkeiten eingeplant werden.

Vardion

-----------------------------------------------------------------------------



STATI Raum DA?FFM?MZ (Mandragon, 28. Nov 2001, 18:19:44):

Hallihallohalloele ...

Wie schon angekuendigt, war in Planung, am 21.123.01 einen Stati in genannter
Gegend zu veranstalten ... evctl. in Frankfurt oder Mainz mit dem Gedanken
erst ueber den Weihnachtsmarkt zu gehen, danach Herr der Ringe zu sehen.

Wi schauts aus ?

Mandragon (+2)

-----------------------------------------------------------------------------



Re: STATI Raum DA?FFM?MZ (Zook, 28. Nov 2001, 19:14:38):
~#! rn=Mandragon rt=1006967984 rg=treffen
~#! tid=1006967984
Was fuern Monat?

Zook.

-----------------------------------------------------------------------------



Re: STATI Raum DA?FFM?MZ (Mandragon, 28. Nov 2001, 19:16:06):
~#! rn=Mandragon rt=1006967984 rg=treffen
~#! tid=1006967984
dodekacentium tresquender ;o)

Nein. die 3 ist ueber .. Dezember.

Ma*

-----------------------------------------------------------------------------



Re: STATI Raum DA?FFM?MZ (Ark, 28. Nov 2001, 19:41:00):
~#! rn=Mandragon rt=1006967984 rg=treffen
~#! tid=1006967984
Ja, Treffpunkt ist noch obskur, Zeitpunkt waere 18:00 Uhr?! Frueher ist
vielleicht auch drin bei mir, wie schaugts bei euch aus? Kinokarten sind eher
noch ungewiss, oder? :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: STATI Raum DA?FFM?MZ (Montanus, 28. Nov 2001, 19:45:51):
~#! rn=Ark rt=1006972860 rg=treffen
~#! tid=1006967984
Hmmm, ich denke, Kinokarten liessen sich organisieren, wir haben da jetzt ja
schliesslich eine Spionin eingeschleusst.
Freitag, der 21.12.? Waer ich wahrscheinlich dabei.
Wenn Zook kommt und wir noch GdA ueberreden koennen, koennen wir das ja zu
einem Megaschmarrn-Stammtisch ausrufen und... oh, dann bringt unsArk um. Na
gut. Macht er ja eh. :-)

-----------------------------------------------------------------------------



Re^3: STATI Raum DA?FFM?MZ (Ark, 28. Nov 2001, 19:47:56):
~#! rn=Montanus rt=1006973151 rg=treffen
~#! tid=1006967984
Ein billiger Versuch, mehrere Laberthreads zu verquicken und auch in dieser
Rubrik ein Re: 100 zu feiern?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: STATI Raum DA?FFM?MZ (Grimmborn, 28. Nov 2001, 19:49:22):
~#! rn=Ark rt=1006973276 rg=treffen
~#! tid=1006967984
Ja, am 21.12. koennte ich glatt auf dem Weg ins Rheinland vorbeischauen.
Koennte mir aber auch zu stressig sein.

GdA

-----------------------------------------------------------------------------



Re^5: STATI Raum DA?FFM?MZ (Montanus, 28. Nov 2001, 19:50:59):
~#! rn=Grimmborn rt=1006973362 rg=treffen
~#! tid=1006967984
Na, liegt doch auf dem Weg. Wie sollen wir sonst auch die ganzen
Megaschmarn-Sachen austauschen? ;-)

-----------------------------------------------------------------------------



Re^6: STATI Raum DA?FFM?MZ (Zook, 28. Nov 2001, 20:13:59):
~#! rn=Montanus rt=1006973459 rg=treffen
~#! tid=1006967984
Also im Prinzip koennte ich schon, hab mich aber zum HdR-gucken auf nen
anderen Termin verabredet... 

Zook.

-----------------------------------------------------------------------------



Re^7: STATI Raum DA?FFM?MZ (Mandragon, 28. Nov 2001, 22:25:12):
~#! rn=Zook rt=1006974839 rg=treffen
~#! tid=1006967984
Kannst auch zweimal rein ... werde wohl auch schon dringewesen sein an dem Tag
...

Aber ich finde, es gibt wenige Filme, die so zu nem MG-Stati passen :-)

Ma*

-----------------------------------------------------------------------------



Re^8: STATI Raum DA?FFM?MZ (Zook, 28. Nov 2001, 22:25:58):
~#! rn=Mandragon rt=1006982712 rg=treffen
~#! tid=1006967984
Hey, vorhin hiess es noch Megaschmarrn-Stati ;)

Zook.

-----------------------------------------------------------------------------



Re^8: STATI Raum DA?FFM?MZ (Mandragon, 28. Nov 2001, 22:26:48):
~#! rn=Mandragon rt=1006982712 rg=treffen
~#! tid=1006967984
MG-Stati .. wie MeGaschmarrn-Stati ..

Ma*

-----------------------------------------------------------------------------



Re^9: STATI Raum DA?FFM?MZ (Ark, 28. Nov 2001, 22:28:49):
~#! rn=Zook rt=1006982758 rg=treffen
~#! tid=1006967984
Das war, bevor Du drohtest zu kommen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: STATI Raum DA?FFM?MZ (Wurzel, 28. Nov 2001, 23:43:48):
~#! rn=Ark rt=1006982929 rg=treffen
~#! tid=1006967984
laesst sich wahrscheinlich einrichten.
wurzel

-----------------------------------------------------------------------------



Re^11: STATI Raum DA?FFM?MZ (Sharia, 29. Nov 2001, 09:24:26):
~#! rn=Wurzel rt=1006987428 rg=treffen
~#! tid=1006967984
ob ihrs glaubt oder nich ... ich spiele mit dem Gedanken auch zu kommen...

Sharia .... die mit dem Bart....

-----------------------------------------------------------------------------



Re^12: STATI Raum DA?FFM?MZ (Zook, 29. Nov 2001, 10:08:50):
~#! rn=Sharia rt=1007022266 rg=treffen
~#! tid=1006967984
Wir glaubens nicht. Ausserdem, ich will gar nicht wissen, womit 
Zwergenklerikerinnen mit Bart spielen - noch nicht mal in Gedanken.

Zook.

-----------------------------------------------------------------------------



Re^13: STATI Raum DA?FFM?MZ (Montanus, 29. Nov 2001, 18:30:55):
~#! rn=Zook rt=1007024930 rg=treffen
~#! tid=1006967984
Ich glaubs. Endlich mal wieder Taxi Sharia. ;-) Osterwelle, wo du wolle? 

-----------------------------------------------------------------------------



Re^14: STATI Raum DA?FFM?MZ (Ark, 30. Nov 2001, 18:19:50):
~#! rn=Montanus rt=1007055055 rg=treffen
~#! tid=1006967984
Wo wir grad dabei sind, die alten Knochen herbeizubringen: hat jemand was von
112 gehoert? Der war doch letztes Jahr noch dabei, vielleicht kann man ihn
abstauben und wieder ein paar Erinnerungen rauskramen ... wenn man wuesste, wo
das Feuerwehrauto ihn hin entfuehrt hat :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: STATI Raum DA?FFM?MZ (Katzentante,  1. Dez 2001, 11:24:27):
~#! rn=Ark rt=1007140790 rg=treffen
~#! tid=1006967984
ich will auch dabei sein.... Endlich mal wieder. Nur wo????
Katzi

-----------------------------------------------------------------------------



Re^16: STATI Raum DA?FFM?MZ (Ark,  1. Dez 2001, 15:07:45):
~#! rn=Katzentante rt=1007202267 rg=treffen
~#! tid=1006967984
Ich denke, wir treffen uns mal am Roemer.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^17: STATI Raum DA?FFM?MZ (Katzentante,  1. Dez 2001, 15:13:38):
~#! rn=Ark rt=1007215665 rg=treffen
~#! tid=1006967984
klingt gut. falls jemand mit dem auto hinfaehrt, kann ich mitfahren? wird ja
sicherlich jemand aus der DA-gegend nach FFM fahren, oder?

-----------------------------------------------------------------------------



Re^18: STATI Raum DA?FFM?MZ (Mandragon,  1. Dez 2001, 17:56:55):
~#! rn=Katzentante rt=1007216018 rg=treffen
~#! tid=1006967984
Also ich komme von norden. Friedberg/Rosbach quasi. 

Heisst das jetzt .... 8:00 am Roemer ?

Ma*

-----------------------------------------------------------------------------



Re^19: STATI Raum DA?FFM?MZ (Wurzel,  2. Dez 2001, 23:48:13):
~#! rn=Mandragon rt=1007225815 rg=treffen
~#! tid=1006967984
wenn ich jemanden finde, der die navigation uebernimmt, werde ich wohl fahren.
ansonsten ist es fuer mich aussichtslos, in frankfurt finde ich nie was...

-----------------------------------------------------------------------------



HAMBURG (Troy,  3. Dez 2001, 09:20:29):
So Leute,

es erfolgt noch mal ein Erinnerungsaufruf zum Freitag, dem siebten Dezember.

Da findet in der
Backatelle
Fuhlsbuettler Strasse 136
22309 Hamburg

(ca. 3 Minuten Fussweg von U/S Barmbek)
Stadtplan-URL:
http://www.stadtplandienst.de/query?ORT=hh;LL=%2B53.592395%2B10.046851;GR=3

um neunzehn Uhr dreissig der Nikolaus-Stammtisch Hamburg statt.

Kommt zahlreich!

Troy

-----------------------------------------------------------------------------



Re^15: STATI Raum DA?FFM?MZ (Sharia,  3. Dez 2001, 09:22:01):
~#! rn=Ark rt=1007140790 rg=treffen
~#! tid=1006967984
112 muesste eigentlich noch recht viel beschaeftigt in FFM rumspringen .. ich
schau mal ob ich was rausbekomme :-)

Sharia

-----------------------------------------------------------------------------



Re^20: STATI Raum DA?FFM?MZ (Ark,  3. Dez 2001, 11:51:07):
~#! rn=Wurzel rt=1007333293 rg=treffen
~#! tid=1006967984
18:00 Uhr am Roemer, die Anwesenden werden dazu verpflichtet, auch um 19:00
Uhr nochmal vorbeizuschauen, um weitere Muddis aufzugabeln. Was aus HdR wird,
weiss man ja noch nicht so genau. Wurzel, das Parkhaus am Roemer oder die in
der Naehe wirst Du ja noch finden, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^21: STATI Raum DA?FFM?MZ (Zook,  3. Dez 2001, 11:52:43):
~#! rn=Ark rt=1007376667 rg=treffen
~#! tid=1006967984
Ahja, also laeuft das nun ohne HdR? Dann komm ich naemlich mit hoeherer
Wahrscheinlichkeit. :-)

Zook.

-----------------------------------------------------------------------------



Re^22: STATI Raum DA?FFM?MZ (Mandragon,  3. Dez 2001, 15:19:45):
~#! rn=Zook rt=1007376763 rg=treffen
~#! tid=1006967984
Du Filmnureinmalgucker, Du :o)

Ma* - geht dann mal Karten fuer dieVorpremiere besorgen

-----------------------------------------------------------------------------



Re^23: STATI Raum DA?FFM?MZ (Ark,  3. Dez 2001, 15:32:01):
~#! rn=Mandragon rt=1007389185 rg=treffen
~#! tid=1006967984
Ich meinte eher das Geruecht, dass die Kinos Warner boykottieren wollen, da
der die Rollen nur verleiht, wenn 3x pro Tag gespielt wird, die Kinos aber am
Tag nur Aufwand und weniger Gaeste haben. Oder ist das wieder vom Tisch?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^24: STATI Raum DA?FFM?MZ (Mandragon,  3. Dez 2001, 15:33:05):
~#! rn=Ark rt=1007389921 rg=treffen
~#! tid=1006967984
NE. Ist noch drquf. Also 18:00 Weihnachtsmarkt am Roemer ? :-)

Na*

-----------------------------------------------------------------------------



Re^24: STATI Raum DA?FFM?MZ (Ark,  3. Dez 2001, 15:34:29):
~#! rn=Ark rt=1007389921 rg=treffen
~#! tid=1006967984
Ja Na*. Betrifft wohl nur deutsche Kinos.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^24: STATI Raum DA?FFM?MZ (Gloinson,  3. Dez 2001, 15:36:11):
~#! rn=Ark rt=1007389921 rg=treffen
~#! tid=1006967984
Bestimmt nicht. Nachdem die mit "Harry Potter" ziemlich Miese machen werden
sie sich nicht so schnell nochmal ueber den Loeffel balbieren lassen wollen.
Nachdem ich von den leeren Saelen in der Zeitung las ging mein Kinobesuch auch
etwa so:
19:40 Anruf bei CineStar: Wie voll haben sie es denn bis jetzt? 190/500.
Und ab dafuer. An einem Samstagabend. Neee, die werden den Herrn der Ringe
wohl nicht gleich |berall spielen, das wird zu teuer.

Gloin(son)

-----------------------------------------------------------------------------



Re^25: STATI Raum DA?FFM?MZ (Mandragon,  3. Dez 2001, 15:46:41):
~#! rn=Gloinson rt=1007390171 rg=treffen
~#! tid=1006967984
Du kommst auych, Gloinson ? :-)

Ma* 

-----------------------------------------------------------------------------



Re^26: STATI Raum DA?FFM?MZ (Troy,  3. Dez 2001, 15:54:09):
~#! rn=Mandragon rt=1007390801 rg=treffen
~#! tid=1006967984
Ich erscheine nicht :-) Wollte aber anmerken, dass das Grindel in Hamburg
LoR in OV und verwursteter Version in der ersten Woche gar nicht erst zur
Reservierung freigibt. Es sind soviele Anfragen vorhanden, dass man die
Karten gleich vor Ort kaufen muss. Zumindest eine Woche ham se also
ausgesorgt. Dabei startet die "Spaetvorstellung" schon um 1/2 9.

Troy

-----------------------------------------------------------------------------



Re^27: STATI Raum DA?FFM?MZ (Gloinson,  3. Dez 2001, 16:04:56):
~#! rn=Troy rt=1007391249 rg=treffen
~#! tid=1006967984
Eine Woche macht aber die folgenden 5 Wochen 1/5-Auslastung nicht wett. Naja,
wenn das Grindel in Hamburg das Geld hat :)

Gloin(son), besucht keine Stammtische ausser aus Versehen :)

-----------------------------------------------------------------------------



Re^28: STATI Raum DA?FFM?MZ (Wurzel,  3. Dez 2001, 21:33:39):
~#! rn=Gloinson rt=1007391896 rg=treffen
~#! tid=1006967984
aehm... ohne navigationssystem finde ich nichts, und in frankfurt schon mal
gar nicht. und meine aktuelle kiste hat sowas nicht... also weiterhin wird
ein navigator gesucht :) und wenn es nur bis zum parkhaus ist, auch egal.

-----------------------------------------------------------------------------



Re^29: STATI Raum DA?FFM?MZ (Katzentante,  4. Dez 2001, 07:19:21):
~#! rn=Wurzel rt=1007411619 rg=treffen
~#! tid=1006967984
Dank Parkleitsystem in FFM koennte ich Navigator spielen. Ich kenne mich zwar
auch nicht aus, aber wir koennen ja an jeder Kreuzung fragen, wie wir zum
Roemer kommen, hauptsache mich nimmt wer mit (alleine wuerde ich ja auch nix
finden). Wenn wir dann ankommen, dann prahlen wir ganz laut, wie EINFACH doch
alles zu finden ist. OK? Dann nimmst Du mich also als Navigator mit? *grins*
Danke

-----------------------------------------------------------------------------



Re^30: STATI Raum DA?FFM?MZ (Grimmborn,  4. Dez 2001, 07:28:24):
~#! rn=Katzentante rt=1007446761 rg=treffen
~#! tid=1006967984
Hmm, ich wuerde mich auch bereit erklaeren Navigatror zu spielen. Wann etwa
wuerdest Du mich in Erlangen abholen? ;-)

GdA

-----------------------------------------------------------------------------



Re^31: STATI Raum DA?FFM?MZ (Montanus,  4. Dez 2001, 17:33:53):
~#! rn=Grimmborn rt=1007447304 rg=treffen
~#! tid=1006967984
Wieso reden eigentlich alle ploetzlich von Frankfurt?
Der traditionelle Rhein-Main-Weihnachtsmarkt-Stammtisch ist *eigentlich* in
Mainz. (Tradition = bereits zwei Jahre in Folge)
Mit Darmstadt wuerd ich mich ja noch einverstanden erkaleren als
Ausweichquartier, aber was schitteboehn sollen wir In Mainhattan? Da kommt ja
noch nicht mal irgendwer wech...

-----------------------------------------------------------------------------



Re^32: STATI Raum DA?FFM?MZ (Ark,  4. Dez 2001, 17:37:52):
~#! rn=Montanus rt=1007483633 rg=treffen
~#! tid=1006967984
Ein laecherlicher Versuch, dieses wunderbare Ereignis zu torpedieren ... Du,
Du langhaariger Eierwerfer, Du. Traditionell ist der Frankfurter nach Deiner
Rechnung ab diesem Jahr auch, siehe letztes Jahr. :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^33: STATI Raum DA?FFM?MZ (Montanus,  4. Dez 2001, 17:43:15):
~#! rn=Ark rt=1007483872 rg=treffen
~#! tid=1006967984
Hallo?
Ich?
Langhaarig?
Eierwerfer?
Ich glaub, du hast gerade ein bissel den falschen Dampfer erwischt. Dafuer
erzaehleich dir auch nicht, wie genial das Monday Night Games gestern abend
war, zumindest die zweite Haelfte. :-)

-----------------------------------------------------------------------------



Re: HAMBURG (Lolli,  5. Dez 2001, 20:12:35):
~#! rn=Troy rt=1007367629 rg=treffen
~#! tid=1007367629
Wer bringt die Rute mit???
Irgendeiner war bestimmt boese...
Jeder bringt mal sein Todestagebuch und der mit den wenigsten Eintraegen muss
es dann wohl fressen.

Bis denne,          Lolli...     *schon in weihnachtlicher Erwartung*

-----------------------------------------------------------------------------



Re: Re: HAMBURG (Mandragon,  5. Dez 2001, 20:19:22):
~#! rn=Lolli rt=1007579555 rg=treffen
~#! tid=1007367629
Das TTB ?

-----------------------------------------------------------------------------



Re^3: HAMBURG (Lolli,  5. Dez 2001, 20:21:59):
~#! rn=Mandragon rt=1007579962 rg=treffen
~#! tid=1007367629
Klar. Wer nich stirbt spielt nich anstaendig :-).

Lolli   *fragt sich ob seine Tode von nicht-anstaendigem oder saubloeden
Spielen kommen...*

-----------------------------------------------------------------------------



Re^4: HAMBURG (Mandragon,  5. Dez 2001, 20:23:09):
~#! rn=Lolli rt=1007580119 rg=treffen
~#! tid=1007367629
Ich meinte, ob er dann das TTB fressen muss :o)

-----------------------------------------------------------------------------



Re^5: HAMBURG (Lolli,  5. Dez 2001, 20:24:10):
~#! rn=Mandragon rt=1007580189 rg=treffen
~#! tid=1007367629
ach so, nein, da hatte ich eher an die Rute gedacht. Die liegt so schoen
knorkig im Magen :-)

-----------------------------------------------------------------------------



Re^6: HAMBURG (Mandragon,  5. Dez 2001, 20:31:33):
~#! rn=Lolli rt=1007580250 rg=treffen
~#! tid=1007367629
da ess ich lieber schokolad'
oder nen lolli ...


-----------------------------------------------------------------------------



Re^7: HAMBURG (Lolli,  5. Dez 2001, 20:38:34):
~#! rn=Mandragon rt=1007580693 rg=treffen
~#! tid=1007367629
also ich freu mich da lieber auf ein leckeres bauernfruechstueck in der
backatelle und zwei bis mehrere hefeweizen dazu zum runterspuelen.
bin gespannt ob troy im weihnachtsmann-kostuem kommt. waer ja bisschen spaet
aber der brueller des abends :-).

-----------------------------------------------------------------------------



Re: Re: HAMBURG (Gnome,  5. Dez 2001, 21:31:13):
~#! rn=Lolli rt=1007579555 rg=treffen
~#! tid=1007367629
ich war boese. ich war SEHR boese.

gnOme freut sich rochus' rute...

-----------------------------------------------------------------------------



Re^3: HAMBURG (Rochus,  5. Dez 2001, 21:35:48):
~#! rn=Gnome rt=1007584273 rg=treffen
~#! tid=1007367629
Aehm, Dir ist klar, dass ich die Rute Apo in die Hand druecke?
Ich gehe davon aus, dass sie damit genauso gut umgehen kann
wie mit einer Peitsche, und ich habe da irgendwann einmal
1000 Striemen auf dem Ruecken von Pa^H^Hjemandem gesehen...

  Rochus

-----------------------------------------------------------------------------



Re^4: HAMBURG (Gnome,  5. Dez 2001, 21:39:07):
~#! rn=Rochus rt=1007584548 rg=treffen
~#! tid=1007367629
also WER mir die rute gibt, ist mir wurscht. hauptsache ich werde
bestraft.
btw: kriegen wir zu weihnachten ne rubrik 'SM' ? :)

gnOme

-----------------------------------------------------------------------------



Re^5: HAMBURG (Anatol,  5. Dez 2001, 21:39:47):
~#! rn=Gnome rt=1007584747 rg=treffen
~#! tid=1007367629
Haben wir schon: gilden.zauberer 


-----------------------------------------------------------------------------



Re^6: HAMBURG (Gloinson,  5. Dez 2001, 22:41:05):
~#! rn=Anatol rt=1007584787 rg=treffen
~#! tid=1007367629
Bring Deine eigene Rute mit und wir bestrafen Dich abwechselnd im Zug. Jeder
muss Dich eine halbe Stunde lang im Siedler oder so schlagen. Je nachdem was
Du noch an Spielen mitbringst.

Gloin(son) grinst

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  6. Dez 2001, 15:50:07):
Auch morgen wird mal wieder der Tag danach sein. Der Tag nach dem allseits
bekannten woechentlichen Karlsruher Mud-Stammtisch, der wie immer um 20
Uhr im Kleinen Meierhof in der Zaehringer Strasse stattfindet. Also
kommet zuhauf!
  Boing

-----------------------------------------------------------------------------



Damit sich keiner beschwert, wir waern nich spontan... (Imda,  7. Dez 2001, 02:36:54):
findet also heute abend um 8, also in etwa 18,5 h ma wieder ein Stuttgart
Stammtisch statt. Und zwar wennich das richtig verstanden habe in Stuga Rohr,
beim "Kanonenbaeck" naehe Sbahn, gegenueber der freundlichen LBBW.

Geruechten zu Folge soll es da Doppelbock in rauhen Mengen geben, also kommet
zahlreich...

Bis denne....

Imda. Ja, ich weiss, Satzbau und Stil katastrophal. 

-----------------------------------------------------------------------------



Stati KA (Hobo,  7. Dez 2001, 13:27:49):
Vor 1312KM2000 gibt's noch 1312GM1900(VB)

  Hobo - fragt sich, wer das jetzt versteht

-----------------------------------------------------------------------------



Re: Stati KA (Humni,  7. Dez 2001, 14:02:21):
~#! rn=Hobo rt=1007728069 rg=treffen
~#! tid=1007728069
Ist doch ganz einfach.

Vor dem Stati am 13.12. um 20.00 Uhr im Kleinen Meierhof trifft man sich noch
im Grossen Meierhof um 19.00 Uhr. Wobei die Zeit nur Verhandlungsbasis ist.

Humni, erster ders kapiert hat.

-----------------------------------------------------------------------------



Re: Re: Stati KA (Montanus,  8. Dez 2001, 01:03:42):
~#! rn=Humni rt=1007730141 rg=treffen
~#! tid=1007728069
Oder VB meint: Vorbestellen. Falls es da was leggeres zum Futtern gibt. Und
nur fuer die, die das auch angemeldet haben?

-Montanus (hungrig)

-----------------------------------------------------------------------------



Re: Re: Stati KA (Boing,  8. Dez 2001, 21:07:03):
~#! rn=Humni rt=1007730141 rg=treffen
~#! tid=1007728069
GM heisst 'Gluehmarkt', damit ist der Weihnachtsmarkt aufs Wesentliche
reduziert. Und VB steht fuer Volksbank, das ist der Treffpunkt.
  Boing

-----------------------------------------------------------------------------



Re^3: Stati KA (Mupfel,  8. Dez 2001, 22:48:31):
~#! rn=Boing rt=1007842023 rg=treffen
~#! tid=1007728069
Da glueht ihr euch dann einen? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^4: Stati KA (Croft,  8. Dez 2001, 22:54:31):
~#! rn=Mupfel rt=1007848111 rg=treffen
~#! tid=1007728069
Noe. Ist nur vorgluehen ;-)
Gruss Croft

-----------------------------------------------------------------------------



Re^3: Stati KA (Catweazle, 10. Dez 2001, 08:52:08):
~#! rn=Boing rt=1007842023 rg=treffen
~#! tid=1007728069
GM heisst ganz definitiv "Gordon&MacPhail". Ist meistens ganz ok, OA ist meist
besser und wenn man was extra leckeres haben will kauft man CD.

YTC (hilfreich)

-----------------------------------------------------------------------------



MS STATI vom 11.12.01 (Puk, 11. Dez 2001, 01:51:13):
Die Gemeine Muenster laedt auch am heutigen Dienstag wiedereinmal ein zu einem
geselligen Treff.
Allerdings diesmal mit einer kleinen Aenderung der Location:

Wir treffen uns um 20.07 Uhr in Spookys, Ecke Koenigsstrasse und Ludgeriplatz.

Special Gueststar : Elberet (und OS ?)

Puk

-----------------------------------------------------------------------------



Re: MS STATI vom 11.12.01 (Troy, 11. Dez 2001, 09:47:31):
~#! rn=Puk rt=1008031873 rg=treffen
~#! tid=1008031873
TYPO! Es muss heissen DAS gemeine Muenster :-)

Troy

-----------------------------------------------------------------------------



Re: Re: MS STATI vom 11.12.01 (Boing, 11. Dez 2001, 09:48:05):
~#! rn=Troy rt=1008060451 rg=treffen
~#! tid=1008031873
Und ich dachte es heisst 'Die gemeinen Muensteraner ...'
  Boing

-----------------------------------------------------------------------------



Re^3: MS STATI vom 11.12.01 (Humni, 11. Dez 2001, 10:05:52):
~#! rn=Boing rt=1008060485 rg=treffen
~#! tid=1008031873
Raus mit der Sprache: Wieviel hat Euch welche andere Kneipe geboten, damit der
Laden auch noch zumacht?

Humni

-----------------------------------------------------------------------------



Re: MS STATI vom 11.12.01 (Varlarion, 11. Dez 2001, 12:29:10):
~#! rn=Puk rt=1008031873 rg=treffen
~#! tid=1008031873
und OS :)

Varl*, +2

-----------------------------------------------------------------------------



Re: MS STATI vom 11.12.01 (Mupfel, 11. Dez 2001, 12:30:08):
~#! rn=Puk rt=1008031873 rg=treffen
~#! tid=1008031873
Ja, OS vermutlich auch... was wird denn da so geboten? Puk tanzt aufm Tisch?
Foobar toetet eine Kerze? (das uebliche halt oder was sonst noch? ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: MS STATI vom 11.12.01 (Puk, 11. Dez 2001, 12:31:44):
~#! rn=Mupfel rt=1008070208 rg=treffen
~#! tid=1008031873
Perigin wird unter den Tisch gekitzelt ;)

-----------------------------------------------------------------------------



Re^3: MS STATI vom 11.12.01 (Deepblue, 11. Dez 2001, 12:32:14):
~#! rn=Puk rt=1008070304 rg=treffen
~#! tid=1008031873
Das hat selbst ne Katze nicht verdient

-----------------------------------------------------------------------------



Re^3: MS STATI vom 11.12.01 (Varlarion, 11. Dez 2001, 12:32:20):
~#! rn=Puk rt=1008070304 rg=treffen
~#! tid=1008031873
Nicht schon wieder :)

-----------------------------------------------------------------------------



Re^3: MS STATI vom 11.12.01 (Rochus, 11. Dez 2001, 23:55:18):
~#! rn=Boing rt=1008060485 rg=treffen
~#! tid=1008031873
Nee, es heisst "der muensteraner Filz".

-----------------------------------------------------------------------------



boot 2002 (Muaddib, 17. Dez 2001, 15:34:09):
Hi Taucher,

hat jemand vor, zur boot 2002 nach D zu fahren? Ist vom 19.1.-27.1. Mir
schwebt da so das erste Wochenende vor - bin aber flexibel. :)

Mua

-----------------------------------------------------------------------------



Re^34: STATI Raum DA?FFM?MZ (Sharia, 17. Dez 2001, 16:54:24):
~#! rn=Montanus rt=1007484195 rg=treffen
~#! tid=1006967984


werde nicht kommen koennen ...

viel Spass dennoch :)

Sharia

-----------------------------------------------------------------------------



Re^35: STATI Raum DA?FFM?MZ (Zook, 17. Dez 2001, 16:54:38):
~#! rn=Sharia rt=1008604464 rg=treffen
~#! tid=1006967984
Ohhhhhhhhhhhhhhhhhhhhhhhhhhhh

Zook.

-----------------------------------------------------------------------------



Letzter StaTi in Muenster (Foobar, 18. Dez 2001, 02:12:11):
Liebe Gemeinde,

der letzte Stammtisch im Jahre 2001 findet in dieser Woche ausnahmsweise am
_Donnerstag_, dem 20.12.01 statt.

Wir treffen uns gegen 20.07 Uhr im "Spooky's" (BUH!) in der Ludgeristr. 60.

Wer eine Wegbeschreibung haben will meldet sich bei... hm... irgendeinem
Muensteraner.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: Letzter StaTi in Muenster (Mupfel, 18. Dez 2001, 02:24:52):
~#! rn=Foobar rt=1008637931 rg=treffen
~#! tid=1008637931
mist, da kann ich definitiv nicht. und varlarion auch nicht.

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Letzter StaTi in Muenster (Catweazle, 18. Dez 2001, 10:06:46):
~#! rn=Mupfel rt=1008638692 rg=treffen
~#! tid=1008637931
Me too.

YTC

-----------------------------------------------------------------------------



Stammtisch Muenchen - kurzfristig (Mieze, 19. Dez 2001, 22:17:42):
Liebe Mudgemeinde,

morgen - ausnahmsweise Donnerstag - am 20.12.2001 ab 20:00 Uhr findet der
letzte Stammtisch fuer dieses Jahr in Muenchen statt. Ort ist wie immer der
Bergmannshof in der Landsberger Strasse. Informationen wie man mit dem OePNV
oder per Auto dort hinkommt, gibt es unter http://www.jamboree.de. Wegen
Uebernachtung bitte Mail an mich.

Mieze - Orga Team Muenchen


-----------------------------------------------------------------------------



Nachfolge (Golas, 20. Dez 2001, 14:53:57):
Wegen meiner sehr geringen Anwesenheit in letzter Zeit uebergebe ich mich an
Pitfall.

Golas einzeilig

-----------------------------------------------------------------------------



Re: Nachfolge (Gloinson, 20. Dez 2001, 15:24:07):
~#! rn=Golas rt=1008856437 rg=treffen
~#! tid=1008856437
Das ist jetzt aber zweideutig. Nur damit Pitfall in der Zeitung schreiben kann
kriegt er Deinen Charakter? Menno :)

Gloin(son)

-----------------------------------------------------------------------------



Re: Letzter StaTi in Muenster (Foobar, 20. Dez 2001, 16:27:37):
~#! rn=Foobar rt=1008637931 rg=treffen
~#! tid=1008637931
Liebe Gemeinde,

da sich die versammelte Muensteraner Mudderschaft dazu entschlossen hat,
bereits einige Tage vor Weihnachten der Besinnung zu froenen, wird der
eigentlich fuer heute angesetzte StaTi ersatzlos gestrichen.

Kommet nicht zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: Re: Letzter StaTi in Muenster (Varlarion, 20. Dez 2001, 16:30:55):
~#! rn=Foobar rt=1008862057 rg=treffen
~#! tid=1008637931
OOOOOOOOOCH.

Wir hatten uns doch schon sooo drauf gefreut, zuhause zu sitzen und uns zu
sagen: hach, was ist das schoen, dass wir uns nicht raus in die Kaelte zum
StaTi gequaelt haben, sondern hier gemuetlich im Warmen sitzen...

Varl*, hustend, schnupfend und heiser

-----------------------------------------------------------------------------



Re^3: Letzter StaTi in Muenster (Foobar, 20. Dez 2001, 16:33:58):
~#! rn=Varlarion rt=1008862255 rg=treffen
~#! tid=1008637931
Da ich heute eh noch raus in die Kaelte muss koennt Ihr ja wenigstens mich
bedauern ;o)

Foobar

-----------------------------------------------------------------------------



Re^4: Letzter StaTi in Muenster (Varlarion, 20. Dez 2001, 16:34:38):
~#! rn=Foobar rt=1008862438 rg=treffen
~#! tid=1008637931
Na gut, hier bitteschoen:

OOOOOOOOOOOOOOOOOOOOOCCCCCCCCCCHHHHHHHH speziell fuer Foobi.

-----------------------------------------------------------------------------



Re^5: Letzter StaTi in Muenster (Elberet, 20. Dez 2001, 16:35:44):
~#! rn=Varlarion rt=1008862478 rg=treffen
~#! tid=1008637931
OOOOOOOOOOOOOOOOOOOOOOOOOOOOCCCCCCCCHHHHHHHHHHH armes kleines Foobar

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 20. Dez 2001, 18:32:36):
Der dieswoechige Karlsruher Mud-Stammtisch findet heute um 20 Uhr im Kleinen
Meierhof statt.
Es findet vorher keine Gluehmarkt-Besichtigung statt.
Es findet meines Wissens auch kein "Wir trinken vorher noch Whisky" statt.
Mir sind keine Personen bekannt, die von "ausserhalb" kommen und sich
angekuendigt haben.

-----------------------------------------------------------------------------



Re^36: STATI Raum DA?FFM?MZ (Montanus, 21. Dez 2001, 11:17:26):
~#! rn=Zook rt=1008604478 rg=treffen
~#! tid=1006967984
Nur so als kleiner Tip fuer alle, die sich tatsaechlich morgen um 18 Uhr am
Roemer treffen:
Der Weihnachtsmarkt FFM hat, wie mir ja keiner glauben wollte, tatsaechlich
heute (Freitag) seinen letzten Tag. Aber macht ja nix. Viel Spass!

-Montanus
(-1)

-----------------------------------------------------------------------------



Re^37: STATI Raum DA?FFM?MZ (Mandragon, 21. Dez 2001, 13:02:31):
~#! rn=Montanus rt=1008929846 rg=treffen
~#! tid=1006967984
Deshalb treffen wir uns ja auch HEUTE (Freitag) und nicht morgen.

Ma*

-----------------------------------------------------------------------------



Re^38: STATI Raum DA?FFM?MZ (Zook, 21. Dez 2001, 13:03:09):
~#! rn=Mandragon rt=1008936151 rg=treffen
~#! tid=1006967984
Ah, btw. ich kann nun endgueltig nicht kommen. Hab noch zu tun und abends
ne Geb.feier. :(

Zook.

-----------------------------------------------------------------------------



Re^39: STATI Raum DA?FFM?MZ (Mandragon, 21. Dez 2001, 13:03:45):
~#! rn=Zook rt=1008936189 rg=treffen
~#! tid=1006967984
rseufz zook

-----------------------------------------------------------------------------



Re^37: STATI Raum DA?FFM?MZ (Ark, 21. Dez 2001, 13:03:49):
~#! rn=Montanus rt=1008929846 rg=treffen
~#! tid=1006967984
Neidisch, was? Also, wenn ich hier so ausm Fenster auf den nicht sichtbaren
Taunus blicke, dann brauch ich heute abend einen Gluehwein. Dringend ...


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^38: STATI Raum DA?FFM?MZ (Wurzel, 21. Dez 2001, 22:05:53):
~#! rn=Ark rt=1008936229 rg=treffen
~#! tid=1006967984
tja, wie ihr wohl gemerkt habt war ich auch nicht da... arg unfit heute.

wurzel

-----------------------------------------------------------------------------



Re^39: STATI Raum DA?FFM?MZ (Ronda, 21. Dez 2001, 23:19:42):
~#! rn=Wurzel rt=1008968753 rg=treffen
~#! tid=1006967984
Aehm, Ark, irgendwie biste nicht am Roemer aufgeschlagen...? Naja, dafuer hab
ich ne kleine Touristen-Fuehrung bekommen - und weiss jetzt, dass der Roemer
nicht der komische Brunnen vorm Roemer ist ;-)
... und Ihr habt echt viel verpasst. VIEL Schnee. Saukalt wars... und ich
pudelnass.
Aber Spass gemacht hats! Machen wir den naechsten Stati in Bad Homburg? Oder
irgendwo in Sachsenhausen?

Ronda *jetzt wieder trocken und warm aus der Badewanne gestiegen*

-----------------------------------------------------------------------------



Re^40: STATI Raum DA?FFM?MZ (Mandragon, 21. Dez 2001, 23:21:01):
~#! rn=Ronda rt=1008973182 rg=treffen
~#! tid=1006967984
Meine Badewanne laeuft gerade ein ... :-)

-----------------------------------------------------------------------------



Re^41: STATI Raum DA?FFM?MZ (Grimmborn, 21. Dez 2001, 23:21:51):
~#! rn=Mandragon rt=1008973261 rg=treffen
~#! tid=1006967984
Tja, was lernst Du daraus? Deine Badewanne nicht so heiss waschen.

GdA

-----------------------------------------------------------------------------



Re^40: STATI Raum DA?FFM?MZ (Apophis, 22. Dez 2001, 12:12:51):
~#! rn=Ronda rt=1008973182 rg=treffen
~#! tid=1006967984
Ronda steigt _trocken und warm_ aus der Badewanne?
Wie geht denn das? *wunder*

-----------------------------------------------------------------------------



Re^41: STATI Raum DA?FFM?MZ (Wurzel, 22. Dez 2001, 16:41:21):
~#! rn=Apophis rt=1009019571 rg=treffen
~#! tid=1006967984
ganz einfach. die benutzung von wasser vermeiden, heizung anmachen.

-----------------------------------------------------------------------------



Kino@Karlsruhe (Bambi, 26. Dez 2001, 10:35:34):
Hi, Karlsruher.
Ich warte noch auf die Rueckmeldungen fuer die Kartenreservierung.
Nochmal kurz die Daten:
H.d.R., 2. Januar, (abends), Filmpalast am ZKM.

-----------------------------------------------------------------------------



Koeln - lebt ! (Sugaan, 26. Dez 2001, 20:03:16):
Hey Leute es ist mal wieder soweit - ein Jahr neigt sich dem Ende zu und ein
anderes will oder besser muss beginnen. Ich erinnere mich an eine Zeit, da es
in Koeln eine richtig grosse MG-Gemeinde gab und aus dieser Zeit ist der
Brauch des Jahresstammtisches geblieben. 
Es war so wie ich es selbst erlebt habe und wie ich es zudem aus Erzaehlungen
kennengelernt habe immer sehr schoen und gut besucht.


Ich rufe nun also alle Mudder in Koeln und Umgebung (Umgebung  bitte durchaus
bis Muenchen, Wien, Berlin oder HAmburg zu verstehen) auf sich am FREITAG den
11.01.2002 im The Harp zu treffen.
Ich bitte vorher um Zusagen ueber die MPA - damit ich weiss wieviel Platz ich
reserviren muss.

Nehmt Euch ein Beispiel an den heiligen drei Koenigen und scheut keinen Weg
sondern kommet in Scharen und lasst Koeln erbeben.
Freue mich schon Euch alle in Koeln zu sehen.

Tschuessi  Sugi


-----------------------------------------------------------------------------



Re: Koeln - lebt ! (Wurzel, 27. Dez 2001, 01:48:23):
~#! rn=Sugaan rt=1009393396 rg=treffen
~#! tid=1009393396
frueher mal war es so, dass der stammtisch zu zeiten stattfand, wo auch die
auswaertigen dazukommen konnten. sprich: dann, wenn eh alle urlaub haben. am
11.1. ist das meist nicht mehr der fall.

-----------------------------------------------------------------------------



Re: Re: Koeln - lebt ! (Sugaan, 27. Dez 2001, 22:58:31):
~#! rn=Wurzel rt=1009414103 rg=treffen
~#! tid=1009393396
Das mit dem Urlaub ist ein gutes Argument - ein sehr gutes sogar! Denn ich
habe vorher Urlaub und bin nicht da - also wenn Du genuegend LEute
zusammenbringst, die sich gerne vor dem 11.01 mit Dir in Koeln treffen wollen
- nur zu.

Ich habe den fuer mich fruehest moeglichen Termin gewaehlt und zudem einen
Freitag (Montag der 07.01.2002 waere auch noch moeglich *lach*) was daraus
wird - werde ich sehen.
Es waere schade wenn wirklich viele die gerne kommen wuerden nicht kommen
koennen weil sie am Samstag danach arbeiten muessen - aber allen kann man es
nicht rechtmachen. Ich werde mich ueber jeden freuen der kommen kann und mag.

so long
never t tschuessi    sugi - wie immer immer im Chaous

-----------------------------------------------------------------------------



Re^3: Koeln - lebt ! (Sugaan, 27. Dez 2001, 22:59:47):
~#! rn=Sugaan rt=1009490311 rg=treffen
~#! tid=1009393396
eindeutig ein Fenster zuviel offen gewesen - bitte streicht das "never t" 
danke  sugi

-----------------------------------------------------------------------------



Stati Berlin (Rochus, 28. Dez 2001, 21:36:02):
Der Stati am 4. 1. 2002 wird zu mir verlegt,
zur Wohnungs-Fertigstellungs-Party :)
Wer ne Wegbeschreibung braucht, bitte mailen
(die Antwort kommt dann gesammelt, aber rechtzeitig :)

  Rochus

-----------------------------------------------------------------------------



Re: Stati Berlin (Willow, 28. Dez 2001, 21:36:54):
~#! rn=Rochus rt=1009571762 rg=treffen
~#! tid=1009571762
huch? Rochus, bist Du schon wieder umgezogen???
Weidchen Willow konnt sichs nicht verkneifen...

-----------------------------------------------------------------------------



Re: Re: Stati Berlin (Rochus, 28. Dez 2001, 21:48:55):
~#! rn=Willow rt=1009571814 rg=treffen
~#! tid=1009571762
Nee, nicht umgezogen, EINWEIHUNGSparty war schon vor fast nem Jahr...
Wenn ich dieses Jahr noch mit den restlichen Basteleien fertig werde,
sieht es endlich nach fertiger Wohnung aus, daher FERTIGSTELLUNGS-Party :)

  Rochus

-----------------------------------------------------------------------------



Re^3: Stati Berlin (Willow, 28. Dez 2001, 21:49:52):
~#! rn=Rochus rt=1009572535 rg=treffen
~#! tid=1009571762
Sorry Rochus, hab wieder nur Party gelesen in Verbindung mit Wohung - und das
ist dann EINWEIHUNGS-Party...
Weidchen Willow braucht manchmal laenger...

-----------------------------------------------------------------------------



Re^4: Stati Berlin (Rochus, 28. Dez 2001, 21:52:00):
~#! rn=Willow rt=1009572592 rg=treffen
~#! tid=1009571762
Na, die meisten Leute machen die Einweihung auch erst wenn
die Wohnung fertig eingerichtet ist, scheint mir :)
Ich brauche halt auch fuer einiges etwas laenger :)

  Rochus

-----------------------------------------------------------------------------



Re^5: Stati Berlin (Willow, 28. Dez 2001, 22:15:51):
~#! rn=Rochus rt=1009572720 rg=treffen
~#! tid=1009571762
*seufz* dann gibts bei mir wohl nie eine einweihung ;)
Weidchen Willow wird nie fertig...

-----------------------------------------------------------------------------



Re^3: Stati Berlin (Gnome, 29. Dez 2001, 00:20:09):
~#! rn=Rochus rt=1009572535 rg=treffen
~#! tid=1009571762
du meinst, die waschmaschine steht jetzt am richtigen platz? ;-)

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi, 29. Dez 2001, 14:45:12):
Am Donnerstag, den 3. Januar 2002 findet um 20 Uhr im Kleinen Meierhof in
Karlsruhe der Karlsruher Mud-Stammtisch statt.
Es werden ausser den ueblichen Verdaechtigen jede Menge (!) "auswaertiger"
Gaeste erwartet.

Falls zufaellig ausser den mir schon bekannten Personen noch andere Leute zu
kommen vorhaben, sollen sie mir oder auf dem Karlsruher Kanal rechtzeitig
Bescheid geben, damit wir entsprechend Lang^h^h^h^hTischgewinne wettmachen
koennen.

MfG, Bambi.

-----------------------------------------------------------------------------



---*S*T*A*T*I*--- (Qitess, 30. Dez 2001, 16:01:58):
halloechen - heute abend ganz spontan - stati in braunschweig um 20 uhr im
viertel nach.
QI, festin, crittar, noki ...

-----------------------------------------------------------------------------



Re: Re: Koeln - lebt ! (Zarniya,  2. Jan 2002, 09:14:39):
~#! rn=Wurzel rt=1009414103 rg=treffen
~#! tid=1009393396
Frueher wurde der ultimativ beste Stammtisch aller Welten auch von dem
unvergleichlichen Yantro organisiert, Wurzel... Frueher war alles besser.
Selbst zu Zeiten, als Yantro nicht mehr existierte, wurde er von einem Grimm*
gezwungen, dies zu machen... aber auch diese Zeiten sind vorbei.

Marc (Don't trust an imitation!)

-----------------------------------------------------------------------------



Re^40: STATI Raum DA?FFM?MZ (Ark,  2. Jan 2002, 13:12:13):
~#! rn=Ronda rt=1008973182 rg=treffen
~#! tid=1006967984
Hm, muss meine Abwesenheit nochmal erklaeren :-)
An dem Freitach setzte der Schnee ein, und da dachten sich gegen 17:30 Uhr
hier alle "Winter is coming". Ein Massenexodus setzte ein, dem ich mich mit
meinen aelteren Sommerreifen nicht entziehen konnte ... und wollte. Und, oh
ja, ich war froh, schliesslich heil daheim (!) angekommen zu sein. Im Mud war
natuerlich keiner der Betroffenen mehr, deshalb hab ich mir gedacht, was
soll's :-)
Also, nix fuer ungut, aber ich fand es schon beunruhigend, nicht mehr die vier
Bahnen der A5 sehen zu koennen. Bin schliesslich einem hinterhergefahren, der
sie auch nicht gesehen hat und haarscharf einem E$%$%&$% BMW Wi..Raser
ausgewichen. Spannend genug ;^)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stati in Bonn (Twingi,  3. Jan 2002, 15:53:58):
Huhu Ihr da alle,

Das neue Jahr ist ja nun schon ein paar Tage angeknabbert und die ersten
fragen schon nach einem Stammtisch. Also hier isser nun:

Freitag, den 11.01.2002
ab 20:00 Uhr
in der Harmonie, Frongasse 30

Zwecks Tischreservierung bitte ich um Rueckmeldung an Twingi oder Cinderella,
so sie denn mal da ist ;-)

Magiehexchen Twingi freut sich stellvertretend fuer das schwarze Hexchen ;-)

-----------------------------------------------------------------------------



Re: Stati in Bonn (Critter,  4. Jan 2002, 15:06:47):
~#! rn=Twingi rt=1010069638 rg=treffen
~#! tid=1010069638
am 11.01.01 ist auch der Jahresstammtisch in Koeln.... wie waers wenn
die bonner mal dahinkommen vereinzelt koennen evtl auch schlafplaetze gesucht
werden.
wobei man mit dem zug /der sbahn doch recht schnell da ist und auch wieder
zurueck.

-----------------------------------------------------------------------------



Jahresbeginnstati in Dresden (Mesirii,  4. Jan 2002, 15:27:38):
Das Neue Jahr hat angefangen, es ist saukalt aber wir machen
trotzdem wieder mal nen Stammtisch in Dresden.

Wer kommt ist da, wer nich hat Pech gehabt.

Wie immer im CD am Dienstag, 8. Januar 2002, um ca. 20:00 Uhr.

Ich bin wie immer puenktlich, ich hoffe ihr auch.

Mesirii, hat nen kleinen Gimmick parat.

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Orktoeter,  4. Jan 2002, 15:34:31):
~#! rn=Critter rt=1010153207 rg=treffen
~#! tid=1010069638
Ich bin ja nun schon ein weilchen aus Koeln weg, aber wenn die im Nachtverkehr
zwischen Koeln und Bonn nicht erhebliche Verbesserungen eingebaut haben werden
die Bonner nicht sehr lange bleiben koennen wenn sie noch nach Hause wollen.

OrkT, Neuwiener.

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Wurzel,  4. Jan 2002, 15:55:50):
~#! rn=Orktoeter rt=1010154871 rg=treffen
~#! tid=1010069638
wieso, gibt es da keine taxis mehr? bin ja jetzt schon 20 jahre weg von koeln,
aber frueher gab es die noch...

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Orktoeter,  4. Jan 2002, 15:57:26):
~#! rn=Wurzel rt=1010156150 rg=treffen
~#! tid=1010069638
Ja, Taxi muesste noch gehen. Evtl. kann man sogar einen Hubschrauber mieten..

OrkT.

-----------------------------------------------------------------------------



Re^5: Stati in Bonn (Gloinson,  4. Jan 2002, 16:09:05):
~#! rn=Orktoeter rt=1010156246 rg=treffen
~#! tid=1010069638
Gibt es um die Zeit noch solchen Stau dass Du einen mieten musst?

Gloin(son)

-----------------------------------------------------------------------------



Re^6: Stati in Bonn (Grimmborn,  4. Jan 2002, 16:14:31):
~#! rn=Gloinson rt=1010156945 rg=treffen
~#! tid=1010069638
Nix Hubschrauber, die sind alle in Australien, Wasser schleppen...

GdA

-----------------------------------------------------------------------------



Re^7: Stati in Bonn (Wurzel,  4. Jan 2002, 16:18:08):
~#! rn=Grimmborn rt=1010157271 rg=treffen
~#! tid=1010069638
bist du meist mit lastenhubschraubern unterwegs? so dick haette ich mir dich
doch nicht vorgestellt...

-----------------------------------------------------------------------------



Re^8: Stati in Bonn (Grimmborn,  4. Jan 2002, 16:23:27):
~#! rn=Wurzel rt=1010157488 rg=treffen
~#! tid=1010069638
Nun ja, ich habe zugenommen, das will ich gar nicht in Abrede stellen. Aber
die Aussis brauchen momentan jeden Liter. Die Karten mit "hier ist Sydney,
dort eine ganz duenne Linie, und dann sind da auch schon die Feuerfronten"
sind aehnlich beeindruckend wie die Startbilder des Volvo Ocean Races aus
dieser Stadt.

GdA

-----------------------------------------------------------------------------



Januarstammtisch in Muenchen (Mieze,  4. Jan 2002, 17:14:46):
Liebe Mudgemeinde,

auch im Weisswurstland machen wir wie im letzten Jahr jeden letzten Freitag im
Monat einen Stammtisch. Der naechste Termin ist der 25.1.2002 ab 20 Uhr im
Bergmannshof in der Landsberger Strasse (Naehe Donnersberger Bruecke).
Dann kommt zahlreich! Fuer Uebernachtung kann gesorgt werden (bitte Mail an
mich).

Mieze


-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Twingi,  4. Jan 2002, 17:51:19):
~#! rn=Critter rt=1010153207 rg=treffen
~#! tid=1010069638
Okay, wenn nicht immer so viel dazwischengesenft wuerde, dann waer das mit dem
doppelten Termin vielleicht nicht passiert ;-)

Aber Bonn ist ein flexibles Staedtchen. Daher:

Wir VERSCHIEBEN ;-)

Neuer Termin Freitag, 18.01.2002, gleicher Ort, gleiche Uhrzeit.

Zusagen/Absagen bitte wie gehabt.

Magiehexchen Twingi *freut sich trotzdem, und findet wohl auch den Weg nach
Koeln ;-) *

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Critter,  4. Jan 2002, 21:07:43):
~#! rn=Twingi rt=1010163079 rg=treffen
~#! tid=1010069638
fein das ihr verschiebt.... 
achja wegen wegbeschreibungen zum harp bitte vertrauensvoll an mich per mail
(starbinder@gmx.de) oder sugaan per mudmail weden
aeh wenden 
gruss critter

-----------------------------------------------------------------------------



MS StaTi 10.1.02 (Foobar,  8. Jan 2002, 21:45:10):
Liebe Gemeinde,

der erste StaTi in Muenster findet am kommenden Donnerstag gegen 20.07 im
"Spooky's" statt. Keine Ahnung welche Strasse das ist.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



1001022000KAKM (Deepblue, 10. Jan 2002, 12:32:39):
1001022000KAKM

-----------------------------------------------------------------------------



1701022000KAKM (Deepblue, 10. Jan 2002, 12:33:41):
1701022000KAKM

-----------------------------------------------------------------------------



2401022000KAKM (Deepblue, 10. Jan 2002, 12:33:59):
2401022000KAKM

-----------------------------------------------------------------------------



Re: 2401022000KAKM (Gnome, 10. Jan 2002, 12:49:17):
~#! rn=Deepblue rt=1010662439 rg=treffen
~#! tid=1010662439
wieso schreibst du alles doppelt?

-----------------------------------------------------------------------------



Re: Re: 2401022000KAKM (Grimmborn, 10. Jan 2002, 13:02:23):
~#! rn=Gnome rt=1010663357 rg=treffen
~#! tid=1010662439
Hat er nicht. Du kannst nur nicht lesen.

GdA

-----------------------------------------------------------------------------



Re^3: 2401022000KAKM (Lurchi, 10. Jan 2002, 13:03:45):
~#! rn=Grimmborn rt=1010664143 rg=treffen
~#! tid=1010662439
hat er doch, titel und inhalt...
dummer fehler herr grimmborn :)

lurchi

-----------------------------------------------------------------------------



Re^4: 2401022000KAKM (Gnome, 10. Jan 2002, 13:04:15):
~#! rn=Lurchi rt=1010664225 rg=treffen
~#! tid=1010662439
sieh es ihm nach, er kann halt nicht richtig lesen... :)

-----------------------------------------------------------------------------



Re: Re: 2401022000KAKM (Deepblue, 10. Jan 2002, 13:04:43):
~#! rn=Gnome rt=1010663357 rg=treffen
~#! tid=1010662439
Damit Du nicht so viel trinkst

-----------------------------------------------------------------------------



Re^3: 2401022000KAKM (Grimmborn, 10. Jan 2002, 13:23:42):
~#! rn=Deepblue rt=1010664283 rg=treffen
~#! tid=1010662439
Er trinkt auf Deine Kosten, oder warum bist Du so besorgt?

GdA

-----------------------------------------------------------------------------



Re^4: 2401022000KAKM (Humni, 10. Jan 2002, 13:24:10):
~#! rn=Grimmborn rt=1010665422 rg=treffen
~#! tid=1010662439
Ich will auch auf anderer Leute kosten trinken!

Humni

-----------------------------------------------------------------------------



Re^5: 2401022000KAKM (Grimmborn, 10. Jan 2002, 13:28:44):
~#! rn=Humni rt=1010665450 rg=treffen
~#! tid=1010662439
Bei Dir kann sich das aber (ausser Wurzel vielleicht) keiner leisten.

GdA

-----------------------------------------------------------------------------



Re^4: 2401022000KAKM (Deepblue, 10. Jan 2002, 13:56:10):
~#! rn=Grimmborn rt=1010665422 rg=treffen
~#! tid=1010662439
ja genau! deshalb ja. Ich muss (genau wie ihr alle) die Kosten zur Behandlung
seiner zukuenftigen Alksucht bezahlen.

-----------------------------------------------------------------------------



kurzfristig (Pitfall, 10. Jan 2002, 16:16:29):
moin

diesen samstag um 14 uhr machen wir mal wieder ein kleines rudelmudden an der
HU - Berlin also wer dabei sein will 14 uhr am haupteingang (wista adlershof),
wer spaeter kommen will sollte von irgendwem der schon da is dann ne telnr
haben damit er / sie eingelassen werden kann


-----------------------------------------------------------------------------



Re^5: 2401022000KAKM (Bambi, 11. Jan 2002, 07:48:53):
~#! rn=Deepblue rt=1010667370 rg=treffen
~#! tid=1010662439
DHM!

-----------------------------------------------------------------------------



MS StaTi 17.01.02 (Foobar, 14. Jan 2002, 16:34:29):
Liebe Gemeinde,

am kommenden Donnerstag findet mal wieder ein StaTi in MS statt.

Und zwar so gegen 20.07 Uhr.

Und zwar im Spooky's.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 17. Jan 2002, 12:08:21):
Ich wollte darauf hinweisen, dass sich Teile der Stammtischbesucher des
heutigen Mud-Stammtischs in Karlsruhe schon um 19 Uhr dort treffen.
Er findet mit der genannten Erweiterung im Kleinen Meierhof in Karlsruhe
statt, wobei der regulaere Termin erst um 20 Uhr ist.

-----------------------------------------------------------------------------



Re: Stati Karlsruhe (Perdita, 17. Jan 2002, 15:07:08):
~#! rn=Bambi rt=1011265701 rg=treffen
~#! tid=1011265701
und woher weiss man nun, ob man zu den "Teilen" gehoert, die sich schon
frueher treffen oder ob man erst zum regulaeren Termin kommen darf?
perdita kommt eh nicht (dafuer aber wohl am 7.2.), wollte hier nur mal ein
bisschen rumschmarren...
*duck*

-----------------------------------------------------------------------------



MS 19.01.2002 (Varlarion, 17. Jan 2002, 23:27:04):
Huhu Gemeinde,

auch wenn laut Aussage des offiziellen muensteraner Stammtischausrufers eher
kein Interesse an einem Sonderstammtisch diesen Samstag besteht, schreibe ich
trotzdem in der Hoffnung, dass sich an bewusstem Termin einige Leutchen
finden, die Mupfel und mir ab 20:00h im "Spooky's" Gesellschaft leisten
wollen.
Wir sind in der Stadt und muessen uns den Abend irgendwie um die Ohren
schlagen, also lasst uns nicht haengen :)

Varl*

-----------------------------------------------------------------------------



Re: MS 19.01.2002 (Mupfel, 19. Jan 2002, 19:07:32):
~#! rn=Varlarion rt=1011306424 rg=treffen
~#! tid=1011306424
Da uns scheinbar niemand sehen will kommen wir nun auch nicht. Das habter nun
davon ;)

-mupfel-

-----------------------------------------------------------------------------



WIEN! (Orktoeter, 20. Jan 2002, 13:01:21):
Stammtisch kann man es nicht gerade nennen, aber am 15.2.2002 gibt es ein
Treffen in Wien. Genauer Ort und Uhrzeit werden noch bekannt gegeben.

OrkT.

-----------------------------------------------------------------------------



stati in stuttgart (Leibniz, 21. Jan 2002, 22:52:44):
am 9.2. ist mal wieder stati in stuttgart.
nachdem ich das in die mpa schreibe, ist er wie erwartet (und von manchen
befuerchtet) wieder mal im enchilada :)))
wir treffen uns so um 18.18 uhr, damit wir die happy hour bis 20 uhr voll
ausnutzen koennen. danach gehts vielleicht noch ins cibo mato? 
dann kann ich auch wieder meinen satz vom letzen mal sagen und imda ist wieder
sprachlos.

also wegbeschreibung gibts bei mir, uebernachtungsmoeglichkeit noch auf dem
balkon und auf dem gang ;) denn es kommen ein paar gaeste 

leibi

-----------------------------------------------------------------------------



Re: stati in stuttgart (Ronda, 21. Jan 2002, 22:54:46):
~#! rn=Leibniz rt=1011649964 rg=treffen
~#! tid=1011649964
... happy hour VOLL ausnutzen?

Aua. Leibniz, dafuer wirst Du zur Schwaebin ehrenhalber ernannt!

Ronda *will das Gaestebett ;-)*

-----------------------------------------------------------------------------



Re: Re: stati in stuttgart (Leibniz, 21. Jan 2002, 22:55:11):
~#! rn=Ronda rt=1011650086 rg=treffen
~#! tid=1011649964
ich bin schwaebischer!!!

leibi

-----------------------------------------------------------------------------



Re^3: stati in stuttgart (Leibniz, 21. Jan 2002, 22:56:13):
~#! rn=Leibniz rt=1011650111 rg=treffen
~#! tid=1011649964
ahh, vergessen zu schreiben:
mal sollte mir bescheid geben, damit ich einen tisch reservieren kann :)


-----------------------------------------------------------------------------



Re^3: stati in stuttgart (Ronda, 21. Jan 2002, 22:56:52):
~#! rn=Leibniz rt=1011650111 rg=treffen
~#! tid=1011649964
Das letzte Mal haste aber fies ueber die Schwaben gelaestert! Wie kommt der
Sinneswandel? Waren es die billigen Cocktails bis 20 Uhr oder die billigen
Margheritas ab 23 Uhr?

Ronda *mag die Cocktails im Enchilada*

-----------------------------------------------------------------------------



Re^4: stati in stuttgart (Hight, 22. Jan 2002, 14:09:25):
~#! rn=Ronda rt=1011650212 rg=treffen
~#! tid=1011649964
feini ich bin dabei ... wenn moeglich kriech ich bei imda unter ... da kann
ich nimmer unangenehm auffallen ... schlimmer als beim letzten mal kanns
einfach nich werden 

hight 

-----------------------------------------------------------------------------



Re^5: stati in stuttgart (Zook, 22. Jan 2002, 14:13:12):
~#! rn=Hight rt=1011704965 rg=treffen
~#! tid=1011649964
Zook fragt nach Details.

-----------------------------------------------------------------------------



Re^6: stati in stuttgart (Hight, 22. Jan 2002, 17:52:38):
~#! rn=Zook rt=1011705192 rg=treffen
~#! tid=1011649964
sagen wirs so ... wir haben unter anderem defuer gesorgt das der
weichnachtsputz erledigt wurde und ne rundumbeschallung durch die ganze n8 zu
verantworten

hight sas aber nur still in einer ecke und hat limo getrunken

-----------------------------------------------------------------------------



Re^7: stati in stuttgart (Imda, 22. Jan 2002, 18:10:41):
~#! rn=Hight rt=1011718358 rg=treffen
~#! tid=1011649964
Ich sass auch bloss ganz still in der Ecke, hab Orangensaft getrunken, und
mich am naechsten morgen (oder eher abend) gewundert, dass die Bude aussah wie
nach nem Luftangriff, kein Tropfen Alk mehr im Haus war, und die Nachbarn sich
ueber meinen Musikgeschmack beschwert ham.
Aber am meisten interessiert mich, wer mir ne mittelschwere Abbruchbirne ueber
den Schaedel gezogen hat...

Auf ein neues ;)

Imda.

-----------------------------------------------------------------------------



Re^8: stati in stuttgart (Zook, 22. Jan 2002, 18:11:17):
~#! rn=Imda rt=1011719441 rg=treffen
~#! tid=1011649964
Interessant, wie man mit Limo und O-Saft so viel Spass haben kann...


Zook.

-----------------------------------------------------------------------------



Re^9: stati in stuttgart (Imda, 22. Jan 2002, 18:14:34):
~#! rn=Zook rt=1011719477 rg=treffen
~#! tid=1011649964
Oh, man braucht nur die richtigen Themen.

Imda. Is jetzt lieber mal still.

-----------------------------------------------------------------------------



Re^10: stati in stuttgart (Hettar, 22. Jan 2002, 18:16:22):
~#! rn=Imda rt=1011719674 rg=treffen
~#! tid=1011649964
Sprich Dich nur aus Imda!

-----------------------------------------------------------------------------



Re^11: stati in stuttgart (Humni, 23. Jan 2002, 11:45:08):
~#! rn=Hettar rt=1011719782 rg=treffen
~#! tid=1011649964
Ich war zwar (zum Glueck!) nicht dabei, ahtte baber 3 Anrufe auf meinem Handy,
in denen Imdamic hanschrie, ich solle doch langsam mal rangehen...und auf der
Party bemerkte ich , die beiden seien ja wohl ,hemmungslos betrunken' gewesen,
und Imda meinte nur ,das ist gnadenl,s untertrieben'. Mehr weiss ich aber
nicht, oder sage nix...

Humni
PS: Laggige Leitung, scheiss tastatur, sorry fuer Typos.

-----------------------------------------------------------------------------



Re^10: stati in stuttgart (Hight, 23. Jan 2002, 19:21:40):
~#! rn=Imda rt=1011719674 rg=treffen
~#! tid=1011649964
jo wir hatten alle themen nur nich dir richtigen und von spass kann keine rede
sein ... 

hight der limotrinker 

-----------------------------------------------------------------------------



MS StaTi 230102 (Foobar, 23. Jan 2002, 23:18:43):
Liebe Gemeinde,

am kommenden Donnerstag - also morgen - treffen wir uns mal wieder im Spooky's
und zwar so gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 24. Jan 2002, 17:09:00):
"Jemand, der nicht spricht, muss nicht gehoert werden." (C) Pardauz.

Heute findet um 20 Uhr im Kleinen Meierhof der Karlsruher Mud-Stati statt.
Als besondere Gaeste sind Lurchi, Inesha und Gast1 (???) zu vermelden.
Bei weiteren Fragen kann Sistance kontaktiert werden, die nach meinen
Klausuren ein verbessertes Interface und einige Zusatz-Moeglichkeiten erhaelt
(Wegescript etc).
MfG, Bambi.

PS. WTF ist Gast1?

-----------------------------------------------------------------------------



Re: stati in stuttgart (Pardauz, 24. Jan 2002, 19:33:56):
~#! rn=Leibniz rt=1011649964 rg=treffen
~#! tid=1011649964
schonwieder mal nen Samstag ... Wollt ja mal vorbeikommen aber samstags wird
das nix. Koennt ihr ned mal auf Freitag oder Sonntag gehn?

Pardauz

-----------------------------------------------------------------------------



Re: Stati Karlsruhe (Gor, 25. Jan 2002, 08:51:09):
~#! rn=Bambi rt=1011888540 rg=treffen
~#! tid=1011888540
Die Frau, die dir unterbreiten wird, dass du kuenftig Alimente zu zahlen hast.
};-)

-----------------------------------------------------------------------------



Re: Re: stati in stuttgart (Leibniz, 25. Jan 2002, 15:56:45):
~#! rn=Pardauz rt=1011897236 rg=treffen
~#! tid=1011649964
ist mit voller absicht immer an einem samstag... wenn du mal dabeigewesen
waerst, wuesstest du, dass sonntag sehr schlecht waere, zumindest fuer die,
die kein studentenpack mehr sind :)
und freitags... naja freitags ist einfach unguenstig...

leibi

-----------------------------------------------------------------------------



seeblick (Pitfall, 25. Jan 2002, 22:49:01):
02/01/02/2000

erscheint zahlreich

pit*

-----------------------------------------------------------------------------



Re: seeblick (Mupfel, 26. Jan 2002, 00:35:20):
~#! rn=Pitfall rt=1011995341 rg=treffen
~#! tid=1011995341
boah das seeblick gips noch? und gips da auch noch diese geile heisse
schokolade? ;)

-mupfel-
kommpestimmtmalwiedernach_B_

-----------------------------------------------------------------------------



Re: Re: seeblick (Birdy, 26. Jan 2002, 05:00:02):
~#! rn=Mupfel rt=1012001720 rg=treffen
~#! tid=1011995341
heisse schokolade? keine ahnung, wir trinken immer nur die harten sachen! in
diesem sinne, bis freitag. :)

-----------------------------------------------------------------------------



Re^3: seeblick (Key, 26. Jan 2002, 13:24:46):
~#! rn=Birdy rt=1012017602 rg=treffen
~#! tid=1011995341
Seeblick *denk*

Das war doch die Kneipe ohne See, oder? :)

-----------------------------------------------------------------------------



Re^4: seeblick (Marcus, 26. Jan 2002, 14:15:11):
~#! rn=Key rt=1012047886 rg=treffen
~#! tid=1011995341
Das Seeblick sollte eher doch "Strassenseite mit alten Haeusern - Blick" 
heissen ;)

Ich muss auch mal wieder nach Prenzelberg. ;)

Ciao, M

-----------------------------------------------------------------------------



Re^5: seeblick (Grimmborn, 26. Jan 2002, 14:15:43):
~#! rn=Marcus rt=1012050911 rg=treffen
~#! tid=1011995341
Ihr seid echt nicht faehig in geologischen Zeitraeumen zu denken. "Seeblick"
ist schon ok.

GdA

-----------------------------------------------------------------------------



Re^6: seeblick (Naddl, 26. Jan 2002, 17:19:29):
~#! rn=Grimmborn rt=1012050943 rg=treffen
~#! tid=1011995341
Im geologischen Zeitraum waer das allenfalls Flussblick.

i.A. Gloin(son)

-----------------------------------------------------------------------------



Re^7: seeblick (Grimmborn, 26. Jan 2002, 17:20:21):
~#! rn=Naddl rt=1012061969 rg=treffen
~#! tid=1011995341
Wer sagt Dir dass die Kuestenlinie schon immer dort war wo sie heute ist?

GdA

-----------------------------------------------------------------------------



Re^8: seeblick (Naddl, 26. Jan 2002, 22:28:57):
~#! rn=Grimmborn rt=1012062021 rg=treffen
~#! tid=1011995341
Welche Geologie sagt Dir dass sie vorm Seeblick verlief?

i.A. Gloin(son)

-----------------------------------------------------------------------------



nochmal seeblick (Pitfall, 27. Jan 2002, 01:19:29):
aaaaaaaaalso: eine woche spaeter, d.h. am 8.2. nochma das gleiche, also stati

pit*

-----------------------------------------------------------------------------



Stati Karlsruhe naechste Woche (7.2.) (Perdita, 30. Jan 2002, 15:56:41):
Hallo Ihrs!
Ich wollt nur schonmal "anmelden", dass am 7.2. in Karlsruhe diverse "Special
Guests" aus dem In- und Ausland aufschlagen werden...
das sind bisher meine Wenigkeit, Keks und Willow, evtl. sogar noch ein paar
mehr.
 Also: kommet zuhauf (1), damit wir auch was davon haben!
(1) (c) Foobar, wenn mich nicht alles taeuscht *g*
Perdita Muschelschubbserin laesst gruessen!

-----------------------------------------------------------------------------



Re: Stati Karlsruhe naechste Woche (7.2.) (Anacrion, 30. Jan 2002, 15:57:46):
~#! rn=Perdita rt=1012402601 rg=treffen
~#! tid=1012402601
Also mit gewisser Chance (>50%) auch Roana und Ich.

Anac*

-----------------------------------------------------------------------------



MS StaTi 31.01.02 (Foobar, 30. Jan 2002, 16:34:34):
Liebe Gemeinde,

der naechste StaTi in MS findet wie immer am kommenden Donnerstag gegen 20.07
Uhr statt.

Diesmal treffen wir uns im umgebauten "Gambrinus".

Wegbeschreibung: Gegenueber vom "Spooky's".

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re: MS StaTi 31.01.02 (Catweazle, 30. Jan 2002, 17:02:13):
~#! rn=Foobar rt=1012404874 rg=treffen
~#! tid=1012404874
Da gibts Schnitzel.
Da komm ich.

Ich halte die Wette, das ich drei Portionen essen kann ...

YTC

-----------------------------------------------------------------------------



Re: MS StaTi 31.01.02 (Gorog, 30. Jan 2002, 18:32:58):
~#! rn=Foobar rt=1012404874 rg=treffen
~#! tid=1012404874
Uha Schnitzelbunker, fein fein, fragt sich nur ob die auch Tische haben an die
mehr als eine Skaat oder Dokopartie passen ...

mfGorog

-----------------------------------------------------------------------------



STATI DD 5.2.2002 (Mesirii, 31. Jan 2002, 11:22:51):
Liebe Leute heute eine Kurzankuendigung weil ich im Arbeitsstress stehe :)
Also am Dienstag 5.2.2002 um ca. 20:00 gibts wieder
mal nen Dresdner Stammtisch im CD
Gruss Mesi

-----------------------------------------------------------------------------



Hamburg? (Lolli, 31. Jan 2002, 18:12:41):
Moin Hamburgers,
wie siehts denn mal wieder aus mit einem Treffen in der schoenen Stadt an der
Elbe?
Wenn jemand Vorschlaege bezueglich Ort und Datum hat, so moege er diese bitte
hier posten.
Wird mal wieder Zeit!!!
Bis denn, LOLLI.

-----------------------------------------------------------------------------



DA? (Ark, 31. Jan 2002, 18:25:22):
Jo, hat jemand mal wieder Gelueste auf einen Darmstaedter/Frankfurter Stati?
Termin und Organisation sind noch zu vergeben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Unix und C (Anacrion,  1. Feb 2002, 00:51:07):
~#! on=Anacrion ot=1012521041 og=witze
~#! rn=Whitetiger rt=1012498687 rg=witze
~#! tid=1012484318
Friedberger Brauhaus am 15ten ? Oder doch im Hotzenplotz ? :-)

Anac*

-----------------------------------------------------------------------------



Re: Hamburg? (Troy,  1. Feb 2002, 09:19:46):
~#! rn=Lolli rt=1012497161 rg=treffen
~#! tid=1012497161
Moin,

wie suett dat denn ut so uem den tweeuntwinnigsten?

Troy (regionaleingefaerbt)

-----------------------------------------------------------------------------



Re: Re: Hamburg? (Perdita,  1. Feb 2002, 22:55:01):
~#! rn=Troy rt=1012551586 rg=treffen
~#! tid=1012497161
hm, wenn ihr mir dann alle beim umziehen helft?!?!?
Perdita meinte das jetzt aber nicht ganz ernst... obwohl koennt ja vielleicht
ne schnapsidee draus werden....

-----------------------------------------------------------------------------



Rudeln in B! (Gnome,  2. Feb 2002, 00:16:43):
ja, es ist zwar noch etwas hin, bevor ihr den tag schon verplant, machen
wir am
    Samstag, den 23.02.02

unser Semester-Abschluss-Metzel-Rudel-Mudden. :)
los gehts ab 14.00h, wie immer im institut fuer informatik.

gnOme

-----------------------------------------------------------------------------



Re: Re: Hamburg? (Lolli,  4. Feb 2002, 16:35:35):
~#! rn=Troy rt=1012551586 rg=treffen
~#! tid=1012497161
Nach Auskuenften von Eingeborenen soll es sich dabei um den 22. handeln...
Gut, is bei mir noch unsicher. Muss daher kurzfristig zu/absagen. Wie siehts
mit den anderen so aus an dem Tag?
`Lasst mal was hoeren/lesen :-).

LOLLI

-----------------------------------------------------------------------------



Re^3: Hamburg? (Willow,  5. Feb 2002, 11:57:27):
~#! rn=Lolli rt=1012836935 rg=treffen
~#! tid=1012497161
aehm, sollte bei mir so halbwegs gehen - wenn ich das richtig gesehen habe,
ist das nen freitag, da koennte ich dann auch erst so ab 19:30 uhr
aufschlagen...
Weidchen Willow hat aber interesse...

-----------------------------------------------------------------------------



StaTi Zuerich (Raventhrone,  5. Feb 2002, 12:36:01):
Wiedermal wird es Zeit. Am 9.2.02 findet der naechste StaTi in Zuerich
statt. Naehere Infos wie immer unter '-schwiiz s'.

Der Rabe

-----------------------------------------------------------------------------



Re: StaTi Zuerich (Gor,  5. Feb 2002, 12:36:33):
~#! rn=Raventhrone rt=1012908961 rg=treffen
~#! tid=1012908961
Gut, dass ihr das schon seit ein paar Wochen wisst. ;)

-----------------------------------------------------------------------------



Re: Re: StaTi Zuerich (Zook,  5. Feb 2002, 16:38:42):
~#! rn=Gor rt=1012908993 rg=treffen
~#! tid=1012908961
Zook sei Dank.

-----------------------------------------------------------------------------



Re: Hamburg? (Woelkchen,  5. Feb 2002, 19:28:07):
~#! rn=Lolli rt=1012497161 rg=treffen
~#! tid=1012497161

22.2. waere prima - wie waers denn mal mit Altona ?

Woelkchen

-----------------------------------------------------------------------------



Friedberg !!! (Mandragon,  5. Feb 2002, 21:55:55):
Friedberg ???

Ja. Genau. In dieser idyllisch gelegenen Stadt am Ostrand des Taunus treffen
sich diesmal die Mudder aus FFM und Umgebung.

Wo genau? Friedberger Brauhaus
Wann: 15.2.02, 2000

Liegt direkt an der A5 und an der IR-Strecke Hamburg-Konstanz

Kommet zuhauf (c) Foobar

P.S. Wegbeschreibungen gibts bei mir oder Anacrion :o)

-----------------------------------------------------------------------------



Re: Friedberg !!! (Mandragon,  5. Feb 2002, 22:05:17):
~#! rn=Mandragon rt=1012942555 rg=treffen
~#! tid=1012942555
Also auf vielfachen Wunsch hier eine Anfahrtsbeschreibung:
Auto: A5 von Frankfurt aus nach Niorden, Ausfahrt Friedberg/Rosbach, auf der
B455 richtungFriedberg farhen und an Rosbach (das ist das schnuckelige
Staedtchen in dem ich zeitlebens gewohnt habe) vorbei nach Friedberg hinein
(VORSICHT: BLITZER AM ORTSEINGNG) .. an der grossen Kreuzung links haltend der
B455 folgen die Strasse verfolgen bis hinten das Burgtor der Friedberger Burg
erscheint und Parken ... auf der (aus Anfahrtsrichtung linken) Strassenseite
ist das Brauhaus (100m vom Burgtor entfernt).

Mit dem Zook: Einfach Zook folgen.

Mit dem Zug: Vom Bahnhof aus rechts und Bergauf halten , den Wegweisern
'historische Altstadt' folgen, bis zur Kaiserstrasse. Dort wiederum nach
rechts abbiegen und 100m von der Burg auf der anderen Strassenseite ist das
Brauhaus ...


Ich stelle noch nen Plan is Web :o)

Ma*
Ma* (das war die Unterschrift fuer den letzten Artikel)

-----------------------------------------------------------------------------



Re: Re: Hamburg? (Troy,  6. Feb 2002, 08:31:42):
~#! rn=Woelkchen rt=1012933687 rg=treffen
~#! tid=1012497161
Geht auch... Wo denn da? Feuerstein? Lobuschstrasse 24? Ist das nicht schon
Ottensen?

Machst Du dann den Tisch klar?

Troy

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi,  7. Feb 2002, 15:55:18):
Heute ist ... na ihr wisst schon.
Wer mehr wissen will, kann (per teile mit) Sistance befragen.

-----------------------------------------------------------------------------



Februar-Stammtisch in Muenchen (Mieze,  7. Feb 2002, 19:17:25):

Liebe Mudgemeinde,

der Muenchener Stammtisch findet am Freitag, dem 22.2.2002 ab 20 Uhr in
unserer mittlerweile alteingesessenen Kneipe 'Bergmannshof' in der Landberger
Str. statt. Ihr seid herzlich eingeladen. Bitte kurze Mail an mich, damit ich
ausreichend Plaetze reservieren kann. Fuer Uebernachtung ebenfalls kueze Mail
an mich, dann versuch ich das zu organisieren.

Und sagt nicht, ich haette das wieder zu spaet angekuendigt ;o)

Mieze - Ein-Frau-Orga-Team Muenchen


-----------------------------------------------------------------------------



stuttgart stati (Leibniz,  7. Feb 2002, 21:06:08):

huhu zusammen,

leider hat es mit dem tisch im enchilada fuer samstag abend nicht mehr
geklappt. ich habe statt dessen einen im 

cibo matto
wilhelmplatz 11

fuer 20 uhr bestellt.

erscheint zahlreich, denn auch da gibts lecker cocktails und kekse wird es
wohl in 3 facher ausgabe geben ;)

bis dann leibi

ps wer ne wegbeschreibung brauch, maile mir :)


-----------------------------------------------------------------------------



Re: Februar-Stammtisch in Muenchen (Troy,  8. Feb 2002, 08:28:21):
~#! rn=Mieze rt=1013105845 rg=treffen
~#! tid=1013105845
Muesste der nicht um 22 Uhr 22 starten? Bei all den 2en?

Troy (kann da eh nicht - in Hamburg ist auch Stammtisch)

-----------------------------------------------------------------------------



stuttgart und die folgen (Hight, 10. Feb 2002, 06:09:40):
ein imda und ein hihgt sassen im cibo und haben ihren lezten white rudddian
getrukne ... sie haben den estweggesoffen weil zu lua .... sie gingen raus und
hben irgendwi ne stunde otgehauen ... auf dem weg zum buss hoerten sie musike
... ie dachten da gbt es bestmmt nch mehr limo und kehrten ein ... sie hatten
spass .. wen man davon absieht 
dass es gays gibt die heteros net moetgen ... nach 1 2 witeren o aften gign
imd un hihgt  nach heim ---- edne


hight der gern wissn moecht ob der alk oder das blut in seinem kreislauf
ueberwiegt ,o)

-----------------------------------------------------------------------------



Re: stuttgart und die folgen (Humni, 10. Feb 2002, 12:45:22):
~#! rn=Hight rt=1013317780 rg=treffen
~#! tid=1013317780
Hmpf. Das klingt, als haette man dabeisein sollen...

Vor allem wegen der Rechtschreibung.

Humni, leider nuechtern

-----------------------------------------------------------------------------



Re: Re: stuttgart und die folgen (Gor, 10. Feb 2002, 12:51:16):
~#! rn=Humni rt=1013341522 rg=treffen
~#! tid=1013317780
Irgendwie scheint der Teil seines Gehirnes am staerksten betroffen zu sein, wo
die  Vokale abgearbeitet werden. ;)

Gor

-----------------------------------------------------------------------------



Re: stuttgart und die folgen (Leibniz, 10. Feb 2002, 14:00:26):
~#! rn=Hight rt=1013317780 rg=treffen
~#! tid=1013317780
das naechste mal gehn wir aber nimmer in dieses bloede cibo matto *grummel*

23.2. wie ausgemacht?

leibi

-----------------------------------------------------------------------------



Re: Re: stuttgart und die folgen (Gor, 10. Feb 2002, 18:31:31):
~#! rn=Leibniz rt=1013346026 rg=treffen
~#! tid=1013317780
Da faellt mir gerade auf, was fuer Folgen eigentlich? Haben sich die sexuellen
Vorlieben von Imda und Hight nach ihrem einschlaegigen Erlebnis jetzt
veraendert oder wie? };-)

Gor der einschlaegig so meint, wie er es geschrieben hat.

-----------------------------------------------------------------------------



Re^3: stuttgart und die folgen (Imda, 10. Feb 2002, 23:37:59):
~#! rn=Gor rt=1013362291 rg=treffen
~#! tid=1013317780
Hmm, nuja, mir sind glaub ganz gut als Paar durchgegangen... Ich erinner mich
da noch an den einen Kaschper, der wissen wollte, ob ich Hight denn sehr
liebe. Und als ich selbiges verneinte meinte der: "Ich glaub dir nicht, du
willst mir nur nicht wehtun. Das ist lieb von Dir"


Imda. Der den Rest der Geschichte lieber verschweigt... ;)

-----------------------------------------------------------------------------



Re: stuttgart und die folgen (Ark, 11. Feb 2002, 09:27:23):
~#! rn=Hight rt=1013317780 rg=treffen
~#! tid=1013317780
Hiho, hiho, was sind wir all so froh, hiho hiho hiho hiho, hihoooo, hiho.
Haeh? Bsgen fil aufnmal tsu lesn wasda basierd is.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Treffen in Wien (Orktoeter, 11. Feb 2002, 18:26:41):
Stammtisch kann man es wohl nicht wirklich nennen, aber auch Wiener haben
bekanntlich mal durst und daher treffen sich Interessierte am Freitag den
15.2.2002 um 19 Uhr im CM3 (Liechtensteinstrasse 44/ Bauernfeldplatz)

Wer sich noch nicht gemeldet hat und trotzdem gerne kommen moechte bitte
moeglichst vorher bei mir melden.

OrkT.

-----------------------------------------------------------------------------



Re^3: Hamburg? (Krellja, 12. Feb 2002, 15:13:58):
~#! rn=Troy rt=1012980702 rg=treffen
~#! tid=1012497161
Auch wenn mir Altona (oder Ottensen) wegen des kurzen Anmarschweges sehr
liegt, wollen wir uns nicht wegen der allseits guten Erreichbarkeit wieder ins
Geo / Geo 53 verlegen? Falls Ihr mit Ottensen leben koennt, reserviere ich
gerne einen Tisch im Feuerstein. Wieviele kommen denn so? Und fuer wann?

Krellja
      lange nicht mehr dabeigewesen und daher ahnungslos

p.s. Altona/Ottensinn hat natuerlich den Vorteil, dass man da noch nett
weiterziehen kann :)

-----------------------------------------------------------------------------



Re^4: Hamburg? (Troy, 12. Feb 2002, 16:19:53):
~#! rn=Krellja rt=1013523238 rg=treffen
~#! tid=1012497161
Ich werd auftauchen.

Als Zeit wuerde ich so 19 Uhr oder 19 Uhr 30 vorschlagen. Es geht auch
19 Uhr 31.

Troy

-----------------------------------------------------------------------------



Re^3: stuttgart und die folgen (Hight, 12. Feb 2002, 18:57:54):
~#! rn=Gor rt=1013362291 rg=treffen
~#! tid=1013317780
noe immernoch s gleiche wie vorher und genaugenommen wird es wohl net schlecht
sein das ich mich nimmer so gaaaaanz genau erinnern kann was da so alles lief 

hight dich vielleicht doch nochmal ueberlegend ob er zum naechsten stati in
stuggad faehrt

-----------------------------------------------------------------------------



Re: Re: Friedberg !!! (Anacrion, 13. Feb 2002, 10:49:49):
~#! rn=Mandragon rt=1012943117 rg=treffen
~#! tid=1012942555
Und noch ein selbstreply ...

Nebenan hat gerae der Besitzer vom 'Joe Pena' in FFM ne neue Cocktailbar
aufgemacht ... also man weiss ja nie, was der Abend so bringt :-)

Schlafplaetze gibts uebrigens auch *g*

Anac*

-----------------------------------------------------------------------------



MS Stati 140202 (Catweazle, 13. Feb 2002, 16:28:36):
Liebe Gemeinde,

der naechste StaTi in MS findet wie immer am kommenden Donnerstag gegen 20.07
Uhr statt.

Diesmal treffen wir uns im umgebauten "Gambrinus".

Webgeschreibung: Gegenueber vom "Spooky's".

Kommet zuhauf!

Foobar
 ~d
Catweazle

PS: pffff :-)

-----------------------------------------------------------------------------



Re^5: Hamburg? (Krellja, 13. Feb 2002, 18:19:48):
~#! rn=Troy rt=1013527193 rg=treffen
~#! tid=1012497161
Stand der Dinge ist nun 19:30 Uhr im Feuerstein, Lobuschstrasse 24.

Eine Karte findet sich unter
http://www.stadtplandienst.de/query?ORT=hh;MAP=std;LL=%2B53.551624%2B9.934302;
GR=2

Tschuess
         Krellja

-----------------------------------------------------------------------------



Re^6: Hamburg? (Perdita, 13. Feb 2002, 18:21:14):
~#! rn=Krellja rt=1013620788 rg=treffen
~#! tid=1012497161
ok, so wie's aussieht, werden wohl jameson und ich auch kommen
das duerfte sich irgendwie zwischen den umzug einbauen lassen
Perdita

-----------------------------------------------------------------------------



Re^6: Hamburg? (Willow, 13. Feb 2002, 20:58:08):
~#! rn=Krellja rt=1013620788 rg=treffen
~#! tid=1012497161
Hmmpf! also wenn es sich um den 22.2. handelt, koennte das bei mir mal wieder
spaeter werden - bin am freitag noch in sueddeutschland. aber ich werde mal
schaun, dass ich den termin in hbg wahrnehmen kann...
gruss das weiderl

-----------------------------------------------------------------------------



Re^7: Hamburg? (Troy, 15. Feb 2002, 08:25:32):
~#! rn=Willow rt=1013630288 rg=treffen
~#! tid=1012497161
Es handelt sich um denselbigen welchen.

Troy

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 17. Feb 2002, 22:20:09):
Hallo Ihr da alle,

in Bonn ist mal wieder Stati. Und zwar

am Freitag den 22.02.2002
ab 20:00 Uhr
in der "Seeligen Witwe", Koenigstrasse

Wer kommen mag sage mir bitte Bescheid, damit genuegend Stuehle da sind :)

Knuddels
Twingi *in Vertreung fuer das schwarze Hexchen*


-----------------------------------------------------------------------------



Rudeln in B (Gnome, 19. Feb 2002, 01:03:47):
hallo,

es sei nochmal an der stelle auf das rudeln am kommendem Samstag, also
dem 23.02.02 verwiesen. treffen um 14 uhr ct vor dem haupteingang.
wer spaeter kommt, (pit|brot)muh oder mich anrufen.

gnOme

-----------------------------------------------------------------------------



Re: Rudeln in B (Mupfel, 19. Feb 2002, 01:36:57):
~#! rn=Gnome rt=1014077027 rg=treffen
~#! tid=1014077027
rudeln? radeln? rodeln?

ouhhhhhhhahhahhahahahahhhhhh!!!!!

-mupfel- (uebernaechtigt ;)

-----------------------------------------------------------------------------



Re^8: Hamburg? (Krellja, 19. Feb 2002, 12:09:38):
~#! rn=Troy rt=1013757932 rg=treffen
~#! tid=1012497161
Moin Hamburgers,

nun ist es also amtlich:
Am Freitag, dem 22.2.2002 ab 19:00 Uhr
ist ein Tisch im Feuerstein, Lobuschstrasse 24, 
auf den Namen Peters reserviert.

Morgengrauen und aehnliche Seltsamkeiten gingen als Name 
telefonisch leider nicht :(

Eine auf Wunsch gar nicht mal so kleine Karte findet sich unter

http://www.stadtplandienst.de/query?ORT=hh;MAP=std;LL=%2B53.
551624%2B9.934302;GR=2

Brrr, das ist schon die kurze URL :(

Tschuess
           Krellja

-----------------------------------------------------------------------------



Re^9: Hamburg? (Perdita, 19. Feb 2002, 16:53:06):
~#! rn=Krellja rt=1014116978 rg=treffen
~#! tid=1012497161
gibts da irgendwo Parkmoeglichkeiten oder empfiehlt sich OePNV?
perdita

-----------------------------------------------------------------------------



MS StaTi 21.02.02 (Foobar, 19. Feb 2002, 16:55:32):
Liebe Gemeinde,

am Do treffen wir uns mal wieder im Gambrinus, und zwar so gegen 20.07 Uhr.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Re^10: Hamburg? (Bielefeld, 19. Feb 2002, 16:57:27):
~#! rn=Perdita rt=1014133986 rg=treffen
~#! tid=1012497161
Wenn ich mich recht erinnere ist Altona ein Einbahnstrassenwust mit
recht wenig Parkplaetzen. Und der Bahnhof Altona ist zu Fuss keine 5
Minuten weg...

-Bielefeld

-----------------------------------------------------------------------------



Re^11: Hamburg? (Perdita, 19. Feb 2002, 16:59:53):
~#! rn=Bielefeld rt=1014134247 rg=treffen
~#! tid=1012497161
hm, ja, stimmt, du hattest sowas schonmal erwaehnt.
Also werd ich wohl mal den HVV-Fahrplan studieren muessen
Perdita hofft ja immer noch, dass sie es schafft zu erscheinen

-----------------------------------------------------------------------------



Re^12: Hamburg? (Lolli, 20. Feb 2002, 17:17:56):
~#! rn=Perdita rt=1014134393 rg=treffen
~#! tid=1012497161
So, nu meld ich mich also auch mal wieder, wo ich ja den ganzen Kram zum
anlaufen gebracht habe.
Hatte leider nur die letzten Tage / Wochen nicht besonders viel Zeit, deswegen
jetzt erst.
Der Treffpunkt liegt zwar nicht unmittelbar in meiner Naehe, aber da ich die
letzten Male 'beguenstigt' war, will ich mal nich murren :-).
Freitag, 19:30 in irgendeinem Teil mit Namen Feuerstein, na das wird sich ja
wohl finden lassen.
Ich komm ziemlich sicher...

Bis denn,
Bis denn,

(ups)

LOLLI, auch mal HVV bemuehend, da sonst ja nix trinken duerfend...

-----------------------------------------------------------------------------



Re^13: Hamburg? (Elberet, 20. Feb 2002, 17:19:57):
~#! rn=Lolli rt=1014221876 rg=treffen
~#! tid=1012497161
also trinken tu ich auch nur wenig und selten was

-----------------------------------------------------------------------------



stati in zuerich (Scorpion, 20. Feb 2002, 18:16:54):
hallo
es gibt wieder einen stati in zuerich, infos unter -schwiiz

gruess scorpion

-----------------------------------------------------------------------------



Re: stati in zuerich (Zook, 20. Feb 2002, 21:36:16):
~#! rn=Scorpion rt=1014225414 rg=treffen
~#! tid=1014225414
Diesmal aber ohne den kleinen Zook.

-----------------------------------------------------------------------------



Re^13: Hamburg? (Krellja, 21. Feb 2002, 17:00:24):
~#! rn=Lolli rt=1014221876 rg=treffen
~#! tid=1012497161
Vorsicht, Lolli.

Nicht "in irgendeinem Teil mit Namen Feuerstein". Da kann es Dir passieren,
dass Du ganz alleine in der Schanze herumhockst, waerend wir es uns in Altona
gutgehen lassen. Oder anders: Es gibt 2 Feuersteine in HH.

Krellja, warnend.

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 21. Feb 2002, 19:20:06):
Ein bissl kurzfristig, aber dennoch:
Heute ist um 20 Uhr der Karlsruher Mud-Stammtisch im Kleinen Meierhof.
Sistance kennt Einzelheiten ueber erwartete Besucher.

-----------------------------------------------------------------------------



Re^14: Hamburg? (Lolli, 22. Feb 2002, 16:05:35):
~#! rn=Krellja rt=1014307224 rg=treffen
~#! tid=1012497161
Das war mir schon bekannt. In dem anderen in der Schanze hab ich schon des
oefteren mal gegessen...
Da war aber das essen nich so toll. Lag vielleicht daran dass wir immer
Mittags drin waren und die Hoelle los war. Naja, in Erwartung eines
Gaumenschmauses komm ich dann also nachher nach Altona :-).
Bis nachher denn, hoffe ihr kommt zahlreich (nich so wie letztes Mal nur
Magier --> bei dem Fachgesimpel konnte ja kein normaler Spieler mitreden :-)).

CU, LOLLI 

-----------------------------------------------------------------------------



das gute alte "seeblick" (Pitfall, 22. Feb 2002, 19:02:33):
am 01.03.2002 ist mal wieder stati im seeblick

kuemmet zuhauf oder so

pit*

-----------------------------------------------------------------------------



Re: Rudeln in B (Pitfall, 22. Feb 2002, 19:29:21):
~#! rn=Gnome rt=1014077027 rg=treffen
~#! tid=1014077027
kleine aenderung:
wir treffen uns ca 15 uhr an gleicher stelle

Pit*

-----------------------------------------------------------------------------



Re: das gute alte "seeblick" (Pitfall, 22. Feb 2002, 19:30:22):
~#! rn=Pitfall rt=1014400953 rg=treffen
~#! tid=1014400953
ok wo erste fragen auftauchen: zeit fuer den stati am 1.3. ist wie immer ab 20
uhr

pit*

-----------------------------------------------------------------------------



Stati in Frankfurt an der Uni oder an der Oder? (Cisou, 23. Feb 2002, 10:26:00):

Huhu zusammen!

Nein, weder an der Uni noch an der Oder, sondern am Main :-).
Besteht Interesse, so Mitte bis Ende Maerz mal einen Stati in der hessischen
Metropole zu machen? 

Das Einzugsgebiet ist doch weit genug, und will nicht auch das groesste
"Provinzei" mal in eine Grossstadt? :-)

Das (provinzielle) Elsterchen - gespannt.

-----------------------------------------------------------------------------



Re: 4. Chemnitzer Linux-Tag (Whitetiger, 23. Feb 2002, 18:51:34):
~#! rn=Vardion rt=1014031736 rg=anzeigen
~#! tid=1014031736
Gibts irgendwelches Interesse an einem Treffen anlaesslich des Chemnitzer
Linux-Tages? Ich mein direkt beim Linux-Tag... Zwischendurch oder so. Damit es
in Chemnitz auch mal ein Treffen gibt :)
WT.

-----------------------------------------------------------------------------



Re: Stati in Frankfurt an der Uni oder an der Oder? (Ronda, 23. Feb 2002, 22:19:45):
~#! rn=Cisou rt=1014456360 rg=treffen
~#! tid=1014456360
Hi Cisou,

nachdem die Jungs als Reply auf diesen Artikel nen - schlechten! - Versuch
eines Flamewar losgetreten haben (wer koennte ernsthaft behaupten, dass Koeln
eine Metropole waere?), mal eine sinnvolle Antwort:

Klar, ein Stammtisch in FFM waere prima - moeglichst irgendwo in der Naehe
einer U-Bahnstation, der letzte Stammtisch in der Region war in der heimlichen
Metropole "Friedberg", da kamen ausser zwei Eingeborenen alle anderen (vier
;-) ) mit Autos. (Erstaunlicherweise brauchte man aber keinen Gelaendewagen,
Friedberg hat schon asphaltierte Strassen und meist auch fliessendes Wasser.)

Ronda *stimmt fuer FFM*

-----------------------------------------------------------------------------



Stammtisch Dortmund, 08.03.2001, America (Thufhir, 26. Feb 2002, 13:39:14):
Liebe Mitmudder!

Ich habe die unendliche Freude endlich wieder mal einen Dortmunder Stammtisch
ankuendigen zu duerfen. Dieser findet am 08.03.2001 ab 20:00 Uhr im
America, Cafe und Restaurant, Kaiserstrasse 3, 44235 Dortmund
statt. Voranmeldungen zu geplanten Erscheinungen bitte bei mir oder Kaeptn
Ahab. Wegbeschreibungen gibts beim Kaeptn.

Moege das Muh stark in Euch sein und moeget Ihr zahlreich erscheinen!
s'Zauberzwerch Thufhir

-----------------------------------------------------------------------------



Re: Stammtisch Dortmund, 08.03.2001, America (Ahab, 26. Feb 2002, 13:41:13):
~#! rn=Thufhir rt=1014727154 rg=treffen
~#! tid=1014727154
kurz und buendig: +2.

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re: Stammtisch Dortmund, 08.03.2001, America (Amaryllis, 26. Feb 2002, 13:42:17):
~#! rn=Thufhir rt=1014727154 rg=treffen
~#! tid=1014727154
Dochtmund?
Igitt, das ist Ruhrpott... - komm doch lieber wieder mal nach Koeln/Bonn,
Thufhir :)

Ama*


-----------------------------------------------------------------------------



Re: Re: Stammtisch Dortmund, 08.03.2001, America (Thufhir, 26. Feb 2002, 13:44:09):
~#! rn=Amaryllis rt=1014727337 rg=treffen
~#! tid=1014727154
Mach ich sicher demnaechst mal wieder... aber nix desto trotz kann man ja
zusaetzlich noch was im alten Ruhrpott veranstalten... ;)
s'Zauberzwerch Thufhir

-----------------------------------------------------------------------------



Re^3: Stammtisch Dortmund, 08.03.2001, America (Morgoth, 26. Feb 2002, 14:28:36):
~#! rn=Thufhir rt=1014727449 rg=treffen
~#! tid=1014727154
+(x?2:1)

M*

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 26. Feb 2002, 15:10:24):
Huhu Ihr da alle,

diesmal sehr fruehzeitig angekuendigt, damit auch alle schoen planen koennen.
Es werden auswaertige Gaeste erwartet, unter anderem ein Kampfmuh.

Freitag, den 22.03.2002
ab 20:00 Uhr
Kneipe wird noch bekannt gegeben, da abhaengig von der Anzahl der Anwesenden.

Also bitte Bescheid gegeben wer kommt, sonst garantier ich fuer nix :)

Twingi

-----------------------------------------------------------------------------



Vermutlich (Humni, 28. Feb 2002, 17:33:49):
KA 20 KM

-----------------------------------------------------------------------------



Re: Vermutlich (Karis, 28. Feb 2002, 17:36:37):
~#! rn=Humni rt=1014914029 rg=treffen
~#! tid=1014914029
Mist... schon wieder Donnerstag...
Karis, kriegt die Arbeit mal wieder net fertig.

-----------------------------------------------------------------------------



Stati in Frankfurt am Main (Cisou, 28. Feb 2002, 20:07:50):

Soooooo: Nachdem wir das mit der hessischen Metropole erschoepfend diskutiert
haben... naja, lassen wir das *g*.

Erst dachte ich ja schon, nach Eurer Zurueckhaltung den Stammtisch in Ffm
bezueglich, ich haett ein Blind Date mit dem Hexchen :-). Aber kaum hatte ich
einen Terminvorschlag gemacht, prasselte es Kritik. So also noch EIN Versuch:

Freitag, 22.3.02 um 19 Uhr.
Ort: Eine kleine Bar an der Hauptwache (ja ich weiss, praeziser gehts kaum,
Name und Wegbeschreibung werden von mir nachgeliefert :-).

So, nun aber auf in die "Da kann ich nicht", "Da will ich nicht", "Die
hessische Metropole heisst doch Koeln" Schlacht :-).

In der Hoffnung auf zahlreiches Erscheinen :-)

Euer Elsterchen - Provinzei seiend und daher wegen der Kneipe nach Sango
schielend :-)

-----------------------------------------------------------------------------



Re: Stati in Frankfurt am Main (Ronda, 28. Feb 2002, 20:10:24):
~#! rn=Cisou rt=1014923270 rg=treffen
~#! tid=1014923270
Hi Elsterchen,

Du wolltest also kein Blind Date, ja? Pah! Ich komm trotzdem am 22.3. ;-)

Ronda

-----------------------------------------------------------------------------



Re: Stati in Frankfurt am Main (Ark,  1. Mar 2002, 10:36:35):
~#! rn=Cisou rt=1014923270 rg=treffen
~#! tid=1014923270
pluss ains


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stati in Frankfurt am Main (Anacrion,  1. Mar 2002, 10:57:55):
~#! rn=Ark rt=1014975395 rg=treffen
~#! tid=1014923270
Plus sswai

Anac*

-----------------------------------------------------------------------------



Re: Stati in Frankfurt am Main (Apollonia,  2. Mar 2002, 08:19:17):
~#! rn=Cisou rt=1014923270 rg=treffen
~#! tid=1014923270
Mist! Als ich noch in FFM gearbeitet hab, musst ich den StaTi selbst
organisieren, sonst haett's da nie einen gegeben. Und leider leider leider ist
der ne Woche zu spaet, ich bin das WE davor in der Gegend...

Apo*

-----------------------------------------------------------------------------



Re^4: Stammtisch Dortmund, 08.03.2001, America (Thufhir,  6. Mar 2002, 19:36:23):
~#! rn=Morgoth rt=1014730116 rg=treffen
~#! tid=1014727154
Huhu nochmal,

Tisch ist bereits reserviert und ich will das zum Anlass nehmen nochmal an
Freitag zu erinnern und zahlreiches Erscheinen zu wuenschen...

Gruss, s'Zauberzwerch

-----------------------------------------------------------------------------



Stammtisch Dresden (Deepblue,  7. Mar 2002, 09:52:35):
Am 19.3. ist wieder Stammtisch in Dresden. Wie immer ab ca. 20 Uhr im CD.

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe ... (Boing,  7. Mar 2002, 10:03:17):
... ist heute natuerlich auch wieder. Wie immer um 20 Uhr im Kleinen
Meierhof. 
  Boing

-----------------------------------------------------------------------------



stati B (april) (Pitfall, 11. Mar 2002, 08:04:04):
moinsen
der stati april wird wegen party auf den 29.03.2002 vorgezogen,
als kleiner ausgleich ist danach rudeln an der hu

mfg
pit*

-----------------------------------------------------------------------------



Spontan-Stati in Hannover... (Mupfel, 11. Mar 2002, 23:39:42):
...am 13.3.2002 (1. Messetag ;) im Exil in Linden Mitte. Wegbeschreibung unter
www.chaosburg.de..
So ab 20 Uhr ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Spontan-Stati in Hannover... (Mupfel, 11. Mar 2002, 23:55:46):
~#! rn=Mupfel rt=1015886382 rg=treffen
~#! tid=1015886382
Achja; voraussichtlich dabei sein werden meine Wenigkeit, Varlarion, Jenandra
und Bierchen sowieso, dann eventuell Olli und vielleicht Shakedbeer... also
kommet zuhauf, wie Foobar sagen wuerde ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Spontan-Stati in Hannover... (Ark, 12. Mar 2002, 11:03:47):
~#! rn=Mupfel rt=1015886382 rg=treffen
~#! tid=1015886382
Doof, ich fahre wieder nach Hause und komme am naechsten Tach wieder, is
witzigerweise billiger als zu uebernachten (falls es was ertraegliches gaebe).


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Spontan-Stati in Hannover... (Zook, 12. Mar 2002, 11:18:49):
~#! rn=Ark rt=1015927427 rg=treffen
~#! tid=1015886382
Taeusche ich mich eigentlich oder sind die Preise in diesem Jahr irgendwie
merklich gestiegen...?

Zook wird wohl auch nicht uebernachten.

-----------------------------------------------------------------------------



Re^3: Spontan-Stati in Hannover... (Ark, 12. Mar 2002, 11:27:13):
~#! rn=Zook rt=1015928329 rg=treffen
~#! tid=1015886382
Sie steigen auf hohem Niveau.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Spontan-Stati in Hannover... (Montanus, 12. Mar 2002, 16:58:47):
~#! rn=Ark rt=1015928833 rg=treffen
~#! tid=1015886382
Linden Mitte? Ihr geht in Hannover auf ne Messe und macht dann Stammtisch in
Giessen?
Ich glaub, Mudder muss man nicht verstehen...

-----------------------------------------------------------------------------



Re^5: Spontan-Stati in Hannover... (Olli, 13. Mar 2002, 01:18:13):
~#! rn=Montanus rt=1015948727 rg=treffen
~#! tid=1015886382
Linden heisst u.a. auch ein Stadtteil von Hannover, ganz so krank sind
wir dann doch nicht *g*

Olli

-----------------------------------------------------------------------------



MS StaTi 140302 (Foobar, 13. Mar 2002, 19:21:39):
Liebe Gemeinde,

140302 20.07 Uhr, Frauenstr. 24.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 13. Mar 2002, 22:04:24):
Da sich mittlerweile ne Menge Leute angemeldet haben, wurde auch eine Kneipe
aufgetan, die dem Ansturm gewachsen ist ;-)
Also nochmal zur Erinnerung:
Freitag, den 22.03.2002
ab 20:00 Uhr
im Hoppegarten, Jagdweg

Es werden natuerlich auch weiterhin noch Anmeldungen entgegengenommen.

Anfahrt: A565 Ausfahrt Bonn-Poppelsdorf, 1te Ampel rechts (Jagdweg), direkt
mit der Parkplatzsuche anfangen, da die Kneipe recht zuegig auf der rechten
Seite zu finden ist.

Magiehexe Twingi *freut sich natuerlich auch dieses Mal auf Euch*

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi, 13. Mar 2002, 22:44:42):
Morgen, also am Donnerstag, den 14.03.2002 findet (wie ueblich) der Karlsruher
Mudstammtisch statt.
Ab 20 Uhr, im Kleinen Meierhof mit ein paar Sondergaesten.
Wens interessiert kann ja Sistance interviewen.
MfG, Bambi.

-----------------------------------------------------------------------------



Stammtisch Hannover 16.03.02, Exil (Varlarion, 16. Mar 2002, 04:13:47):
Huhu,

morgen, aeh, heute ab ca. 20:00 Uhr ist der (offizielle ;) Hannover-StaTi
dieses Monats, wie immer im Exil.

Kommet zuhauf (c) Foobar

Varl*, heute mal StaTi-Ausrufer

P.S.: Bitte meldet Euch unter http://www.chaosburg.de an, auch wenns etwas
kurzfristig ist

-----------------------------------------------------------------------------



Re: Stammtisch Hannover 16.03.02, Exil (Amaryllis, 16. Mar 2002, 09:49:51):
~#! rn=Varlarion rt=1016248427 rg=treffen
~#! tid=1016248427
> Kommet zuhauf (c) Foobar

Wenn da einer das (c) besitzt, dann wohl eher Joachim Neander (1650-1680). Ich
glaube, das war etwas vor Deiner/unserer Zeit...

Ama*

-----------------------------------------------------------------------------



Re: Re: Stammtisch Hannover 16.03.02, Exil (Anacrion, 16. Mar 2002, 09:50:45):
~#! rn=Amaryllis rt=1016268591 rg=treffen
~#! tid=1016248427
Hehe. Ist das der mit dem ' ... Psalter und HArfe wacht auf, lasset den
Lobgesang hooooeren!' ? :-)

-----------------------------------------------------------------------------



Re^3: Stammtisch Hannover 16.03.02, Exil (Amaryllis, 16. Mar 2002, 09:52:56):
~#! rn=Anacrion rt=1016268645 rg=treffen
~#! tid=1016248427
Genau jener.

Ama*, weise nickend.

-----------------------------------------------------------------------------



Re^4: Stammtisch Hannover 16.03.02, Exil (Montanus, 16. Mar 2002, 17:40:48):
~#! rn=Amaryllis rt=1016268776 rg=treffen
~#! tid=1016248427
Also ein Joachim Neander hat mit mir zusammen studiert.
Entweder ist die Zeit sehr schnell an mir vorbeigegangen, aber ich bin der
festen Ueberzeugung, dass der noch lebt. :-)

-----------------------------------------------------------------------------



Sonderstati Duesseldorf (Schleicher, 16. Mar 2002, 17:58:38):
Hiho,
ich spiel hier mal den Ausrufer fuer einen Sonderstammtisch in Duesseldorf. Am
13.4.02 ab 19:00 Uhr im Tigges auf der Brunnenstr. Der Grund ist hoher Besuch
in der schoensten Stadt am Rhein, als anwesend sind gemeldet: Muadib, Muaddib,
Zephyr, Silvana, Bambi, Vardion sowie Samos und Schleicher. Ich zaehle
schonmal auf alle Leute aus dem Duesseldorfer Umfeld und auch auf die ausm
Pott. Macht euch also auf die Struempfe. Achja... Koelner koennen auch
erscheinen im Tigges gibbet auch die Ploerre die man aus Reagenzglaesern
trinkt und die von den Suedrheinlaendern als Bier bezeichnet wird.
Schoenen Tach noch...
Schleicher

-----------------------------------------------------------------------------



Re: Sonderstati Duesseldorf (Wurzel, 16. Mar 2002, 19:12:22):
~#! rn=Schleicher rt=1016297918 rg=treffen
~#! tid=1016297918
warum sollen die koelner nach duesseldorf fahren, wenn der "hohe besuch" in
der schoensten stadt am rhein ist? duesseldorf kannst du damit ja wohl nicht
ernsthaft meinen...

-----------------------------------------------------------------------------



Re: Re: Sonderstati Duesseldorf (Schleicher, 16. Mar 2002, 19:18:37):
~#! rn=Wurzel rt=1016302342 rg=treffen
~#! tid=1016297918
Naja, was soll an Koeln jetzt schoen sein? Das es rings um den Bahnhof riecht
wie ein oeffentliches Pissoir? Das das Ding einmal im Jahr absaeuft? Das die
guten Kneipen regelmaessig zugemacht werden? Oder das die Bands (bis auf eine)
entweder nach Karneval oder Bob Dylan klingen wollen?
Schleicher

-----------------------------------------------------------------------------



Re^3: Sonderstati Duesseldorf (Wurzel, 16. Mar 2002, 19:21:07):
~#! rn=Schleicher rt=1016302717 rg=treffen
~#! tid=1016297918
welches ist die eine band? kenn ich offensichtlich nicht :)
im uebrigen war es deine persoenliche interpretation, dass ich koeln gemeint
haette mit der schoensten stadt am rhein. da gibt es noch ein oder zwei
andere schoene staedte (nein, bonn ist es nun wirklich nicht *schuettel*)

-----------------------------------------------------------------------------



Re: Sonderstati Duesseldorf (Amaryllis, 16. Mar 2002, 19:21:13):
~#! rn=Schleicher rt=1016297918 rg=treffen
~#! tid=1016297918
Nuja, die Koelner geniessen ihre Ploerre - und wenn sie sich dann in den Rhein
entleert haben, wird das ganze noch weiterverwertet, indem das Wasser dann in
Duesseldorf zum Altbier"brauen" verwendet wird... daher wohl auch die Farbe :)

Ama*

-----------------------------------------------------------------------------



Re^4: Sonderstati Duesseldorf (Schleicher, 16. Mar 2002, 19:21:55):
~#! rn=Wurzel rt=1016302867 rg=treffen
~#! tid=1016297918
The Piano has been drinking
Schleicher

-----------------------------------------------------------------------------



Re^5: Sonderstati Duesseldorf (Grimmborn, 16. Mar 2002, 22:18:03):
~#! rn=Schleicher rt=1016302915 rg=treffen
~#! tid=1016297918
Die gibts schon lang nicht mehr, und bei Deiner Pauschalisierung wuerde ich
schon gedacht haben dass Du deren Tom Waits Stil als "wollen wie Bob Dylan
klingen" bezeuchnest. 
Naja, aber Koeln fehlt wirklich so eine "MTV Popgruppe" wie die Toten Hosen. 

GdA

-----------------------------------------------------------------------------



Re^6: Sonderstati Duesseldorf (Grumpf, 16. Mar 2002, 22:23:17):
~#! rn=Grimmborn rt=1016313483 rg=treffen
~#! tid=1016297918
Nein, The Piano... haben sich immer zu Tom Waits bekannt und sind fuer mich
von allen leuten die sich an Meister Waits versucht haben tatsaechlich
diejenigen denen es gelungen ist seine Sachen am besten umzusetzen. Das krasse
Gegenteil davon waere  Wolfgang Ambross der eigentlich eine strafrechtlich
verfolgt gehoert aufgrund seiner Tom Waits Verschandelung. Und natuerlich hast
Du recht es gibt the piano nicht mehr trotzdem war/ist es fuer mich eine der
besten Bands die Koeln je hervorgebracht hat. Auch wenn sie zum Schluss sehr
Schlagermaessig wurden. Also los, genug der Werbung, ab in den Laden und Tom
Waits CD's kaufen!
i.A. Schleicher

-----------------------------------------------------------------------------



Re^7: Sonderstati Duesseldorf (Grimmborn, 16. Mar 2002, 22:35:51):
~#! rn=Grumpf rt=1016313797 rg=treffen
~#! tid=1016297918
Was soll ich im Laden? Da gibts wirklich nicht sonderlich viele CDs die ich da
kaufen koennte, was will ich mit Doubletten?

GdA (4x Piano, 10x Tom)

-----------------------------------------------------------------------------



Re^8: Sonderstati Duesseldorf (Humni, 16. Mar 2002, 22:36:23):
~#! rn=Grimmborn rt=1016314551 rg=treffen
~#! tid=1016297918
Was isn das fuer Musik? Hoert sich ja schwer Jazzig an. Ich hasse Jazz aber,
ich bin Aachen-geschaedigt...

Humni

-----------------------------------------------------------------------------



Re^9: Sonderstati Duesseldorf (Grimmborn, 16. Mar 2002, 22:40:20):
~#! rn=Humni rt=1016314583 rg=treffen
~#! tid=1016297918
"Jazz" ist ein ziemlich breiter Sammelbegriff. 
Unt Tom Waits ist halt Tom Waits. Gossenpoet. Kein Jazz.

GdA

-----------------------------------------------------------------------------



Re^9: Sonderstati Duesseldorf (Grumpf, 16. Mar 2002, 22:40:28):
~#! rn=Humni rt=1016314583 rg=treffen
~#! tid=1016297918
Piano sind wenn mich nicht alles taeuscht mit dem Livealbum 5 und von TW gibt
es auch mehr als 10 also geh doch nochmal kucken ;-) Und zu Humni, naja Tom
Waits ist Tom Waits, aber wenn Du ein typischer MG-Musikkonsument bist (diese
ganzen Pseudo-Mittelalter-Rockbands) dann tippe ich drauf das er Dir nicht
wirklich gefaellt ;-)
Grumpf grumpft.

-----------------------------------------------------------------------------



Re^10: Sonderstati Duesseldorf (Amaryllis, 16. Mar 2002, 22:42:12):
~#! rn=Grimmborn rt=1016314820 rg=treffen
~#! tid=1016297918
Also "unt tom" funktioniert bei mir nur, wenn ich den Stripper herhole... :-)

Ama*, could not resist.

-----------------------------------------------------------------------------



Re^11: Sonderstati Duesseldorf (Grumpf, 16. Mar 2002, 22:43:16):
~#! rn=Amaryllis rt=1016314932 rg=treffen
~#! tid=1016297918
unt statt und zu schreiben ist ein anerkanntes mudleiden...
Grumpf grumpft.

-----------------------------------------------------------------------------



Re^10: Sonderstati Duesseldorf (Grimmborn, 16. Mar 2002, 22:43:18):
~#! rn=Grumpf rt=1016314828 rg=treffen
~#! tid=1016297918
"The Piano has been Drinking", "Nachtgedanken", "Maerchenprinz", "Live". Das
wuerde mich wirklich sehr ueberraschen wenn es mehr geben wuerde.
Von Tom Waits gibts mehr, die letzten drei oder so fehlen mir, ich bin ein
geiziger Mensch. Und 15 Euro und mehr auszugeben tut weh, vor allem wenn ich
eh schon relativ viel von ihm habe. Das ist derselbe Grund wie der fuer die
Luecken in meiner Pink Floyd Sammlung.

GdA

-----------------------------------------------------------------------------



Erinnerung (Deepblue, 18. Mar 2002, 21:47:14):
Am morgigen Dienstag ist Stammtisch in Dresden, wie immer um 20:00 Uhr im CD.

-----------------------------------------------------------------------------



Erinnerung FRA (Ark, 18. Mar 2002, 21:59:14):
Ja, wo treffen wir uns am Freitach nu eigentlich? 19:00 Uhr steht noch?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Erinnerung FRA (Zook, 18. Mar 2002, 21:59:40):
~#! rn=Ark rt=1016485154 rg=treffen
~#! tid=1016485154
Ich kann leider nicht kommen. Muss mich auf Korea vorbereiten. ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: Erinnerung FRA (Ronda, 18. Mar 2002, 22:25:28):
~#! rn=Zook rt=1016485180 rg=treffen
~#! tid=1016485154
ZOOK! Auf Korea kannste Dich auch in ner Kneipe vorbereiten! Ich erzaehl Dir
nen bisschen von Korea wenn Du magst - zumindest von Alines Erfahrungen da ;-)

Ronda *will Party in FFM!*

-----------------------------------------------------------------------------



Re: Erinnerung FRA (Cisou, 18. Mar 2002, 22:25:42):
~#! rn=Ark rt=1016485154 rg=treffen
~#! tid=1016485154

Ei, wo treffen wir uns denn? 

Wie gut, dass ich nicht aus Ffm komme *g*. Mein gesamter Freundeskreis hat mal
die Stadt und "Frankfurt geht aus" durchkaemmt, so sind wir zu folgendem
Ergebnis gekommen:

Entweder "Zu den 12 Aposteln" beim Arabella Hotel, also bei der Konstabler
Wache (da war der Stati vor 2 1/2 Jahren)
oder "Mutter Ernst" in der Fressgass.

Soll beides preislich okay und gemuetlich sein.

Ich schlage um der Abwechslung willen mal das "Mutter Ernst" vor, kenn es aber
selbst nicht. Gegenstimmen bitte also moeglichst bald, damit ich mir noch ne
Wegbeschreibung aus den Fingern saugen kann :-)

Euer Elsterchen

PS Immer noch 19 Uhr, das waer abgemacht.

-----------------------------------------------------------------------------



Re: Re: Erinnerung FRA (Ronda, 18. Mar 2002, 22:27:58):
~#! rn=Cisou rt=1016486742 rg=treffen
~#! tid=1016485154
Keine Ahnung. Ich kenn mich in FFM kaum aus. Vor ewigen Zeiten war ich mal
Freitags im Odeon oder so, da gabs 27up-Party, war nett, aber dann muessen wir
wohl die Haelfte der Mudder draussen stehen lassen, Cisou ;-)
Praktisch faende ich aber ne Kneipe in der Naehe einer U-Bahn oder S-Bahn,
damit ich das Auto nirgendswo in FFM parken muss...

Ronda *parkfaul. Fragt Anacrion, der musste letztes Mal einweisen...*

-----------------------------------------------------------------------------



Re^3: Erinnerung FRA (Zook, 18. Mar 2002, 22:29:54):
~#! rn=Ronda rt=1016486878 rg=treffen
~#! tid=1016485154
Odeon? Ist das nicht dieser Schicki-micki-Laden? Zumindest vermittelte
der das von aussen ;)

Zook.

-----------------------------------------------------------------------------



Re^4: Erinnerung FRA (Ronda, 18. Mar 2002, 22:30:52):
~#! rn=Zook rt=1016486994 rg=treffen
~#! tid=1016485154
Zumindest ist das einer der Laeden, die Tuersteher haben. Aber das scheint in
FFM ueblich zu sein ;-(

Ronda *kommt wahrscheinlich teilweise in FFM nicht mal an dem Tuersteher der
Pommesbude vorbei...*

-----------------------------------------------------------------------------



Re^5: Erinnerung FRA (Zook, 18. Mar 2002, 22:31:22):
~#! rn=Ronda rt=1016487052 rg=treffen
~#! tid=1016485154
Wie gross bistn Du, Ronda? 

Zook.

-----------------------------------------------------------------------------



Re^4: Erinnerung FRA (Cisou, 18. Mar 2002, 22:37:23):
~#! rn=Zook rt=1016486994 rg=treffen
~#! tid=1016485154
Ich wuerd viel lieber in das australische Restaurante gehen, da wos Crocos und
Dingos und Kaenguruhs auf dem Grill gibt. :-) 

Cisou - Feld-Forschend

-----------------------------------------------------------------------------



Re^5: Erinnerung FRA (Zook, 18. Mar 2002, 22:38:06):
~#! rn=Cisou rt=1016487443 rg=treffen
~#! tid=1016485154
Hab ich das nich grad eben schon mal gelesen...?

Zook.

-----------------------------------------------------------------------------



Re^6: Erinnerung FRA (Muaddib, 18. Mar 2002, 23:05:00):
~#! rn=Zook rt=1016487486 rg=treffen
~#! tid=1016485154
besonders zu empfehlen: straussenfleisch. gibts da vielleicht auch :)

-----------------------------------------------------------------------------



Re^7: Erinnerung FRA (Anacrion, 18. Mar 2002, 23:08:31):
~#! rn=Muaddib rt=1016489100 rg=treffen
~#! tid=1016485154
Reply zufaellig auf letzten artikel ...

ICH MUSS EINWEISEN??

Ich hab keine ahnung von FFM ... ehrlich.

Anac*

-----------------------------------------------------------------------------



Re^8: Erinnerung FRA (Ronda, 18. Mar 2002, 23:10:57):
~#! rn=Anacrion rt=1016489311 rg=treffen
~#! tid=1016485154
Anacrion, Du _musstest_ einweisen. In Karlsruhe. Weil ich in die bloede
Parkluecke nicht reinwollte.

Und ja, in der Kneipe mit den Krokos gibts auch Straussenfleisch - ich war da
auch vor x Jahren mal. Aber fragt mich bitte nicht, wo die Kneipe war. Nur ich
weiss noch, dass wir danach im Odeon waren ;-)

Ronda *kennt sich nur sehr selektiv in FFM aus*

-----------------------------------------------------------------------------



Stati FRA (Cisou, 20. Mar 2002, 08:25:17):

So, wer kommt denn nu mit dem Auto?

Die Fressgass ist ja mit dem RMV und per pedes sehr gut zu erreichen. Als
Parkmoeglichkeit faellt mir nur wieder das Parkhaus vom Arabella Hotel ein,
Wegbeschreibung folgt.

Sollte noch jemand erscheinen, bitte Mail an mich, damit auch genuegend
Plaetze vorhanden sind.

Euer Elsterchen

-----------------------------------------------------------------------------



MS StaTi 21.3.02 (Foobar, 20. Mar 2002, 15:42:10):
Liebe Gemeinde,

DO2103022007 Frauenstr. 24.

Kommet zuhauf!

Foobar

-----------------------------------------------------------------------------



Stati Frnkfurt: Wegbeschreibung etc. (Cisou, 21. Mar 2002, 17:56:03):

So, nun da Sango sich die Kneipenlandschaft Frankfurts angeschaut hat, eben
eine kleine Umdisponierung:

Morgen, 19 Uhr im Millenium.

Fuer Skripter: teleportiere nach hauptwache #tf (@transportmittel = "s-bahn")
{oben, oben}
Fuer die 'Normalen':
Das Millenium ist an der Hauptwache, genauer in der Grossen Eschernheimer
Strasse 16.
Am besten faehrt man zur Hauptwache und orientiert sich am Kaufhof und der
Kirche.
Vorm Kaufhof aus die Grosse Strasse nach Norden, sprich von der Kirche weg.
Nach 200 Metern etwa sieht man rechts die Frankfurter Rundschau. Dann noch ein
paar Meter weiter und man steht direkt vor dem Millenium.

Noch Fragen offen? Dann Mail an mich.

Tisch vorbestellen konnte ich nicht, aber fuer 10 Leute ist im hinteren Teil
Platz fuer uns. Ich werd ein bisschen frueher da sein und den Tisch
verteidigen wie eine wahre Loewin *g*.

Bis morgen!

Euer Elsterchen

PS Sorry, dass die WB so spaet kommt, aber so als Probinzei... :-)

-----------------------------------------------------------------------------



Re: Stati Frnkfurt: Wegbeschreibung etc. (Del, 22. Mar 2002, 09:11:40):
~#! rn=Cisou rt=1016729763 rg=treffen
~#! tid=1016729763
Kleiner Tip fuer die Autofahrer: Parkplaetze sind hier sehr rar gesaet.
Parkhaeuser gibt es direkt an der Hauptwache eins und in Richtung Boerse zwei
(Parkhaus Boerse und Parkhaus Junghofstrasse).
Gruesslis von der NuDel

-----------------------------------------------------------------------------



Re: Stati Frnkfurt: Wegbeschreibung etc. (Del, 22. Mar 2002, 09:21:42):
~#! rn=Cisou rt=1016729763 rg=treffen
~#! tid=1016729763
Achja, falls das Millenium nicht wirklich der Reisser ist hab ich noch nen
alternativen Vorschlag:
Tuerkisch Pop mit Dj Tansel im Club Alem in Eschborn
*g*
Die NuDel ;-)

-----------------------------------------------------------------------------



Re: Re: Stati Frnkfurt: Wegbeschreibung etc. (Sharia, 22. Mar 2002, 10:56:22):
~#! rn=Del rt=1016785302 rg=treffen
~#! tid=1016729763
weia Del?!!?!?!  Sowas hoerst Du ? jetzt weiss ich wo Du dich so rumtreibst :)

Sharia

-----------------------------------------------------------------------------



Re^3: Stati Frnkfurt: Wegbeschreibung etc. (Sharia, 22. Mar 2002, 10:57:05):
~#! rn=Sharia rt=1016790982 rg=treffen
~#! tid=1016729763
achja: ich werd wiedermal nich kommen aufn stati auch wenn ich nur 10 min mit
der sbahn haette .. ich muss morgen frueh um 4 raus :(

Sharia

-----------------------------------------------------------------------------



Re^4: Stati Frnkfurt: Wegbeschreibung etc. (Gor, 22. Mar 2002, 12:03:03):
~#! rn=Sharia rt=1016791025 rg=treffen
~#! tid=1016729763
Och mennoooo komm doch einfach. Du darfst auch gegen 22:00 wieder gehen ;)

Gor

-----------------------------------------------------------------------------



Re^5: Stati Frnkfurt: Wegbeschreibung etc. (Anacrion, 22. Mar 2002, 12:04:15):
~#! rn=Gor rt=1016794983 rg=treffen
~#! tid=1016729763
Genau :-)

Anac* (kommt auch)

-----------------------------------------------------------------------------



Re: Stati Frnkfurt: Wegbeschreibung etc. (Cisou, 22. Mar 2002, 12:52:54):
~#! rn=Cisou rt=1016729763 rg=treffen
~#! tid=1016729763


Nachtrag: Die Wegbeschreibung war von Sango (herzlichen Dank) und mein Client
hat die Himmelsrichtungen des Skriptes unterschlagen. Bitte also auch mal die
Skripter zu Fuss :-))).

Euer Elsterchen - gar kein boeses boeses Elsterchen... *pick frechen Katzen
auf der Nase rum* :-)))

-----------------------------------------------------------------------------



Re^6: Stati Frnkfurt: Wegbeschreibung etc. (Sharia, 22. Mar 2002, 15:28:27):
~#! rn=Anacrion rt=1016795055 rg=treffen
~#! tid=1016729763
nee nee irgendwann muss ich auch mal daheim sein .. ich komm zur zeit eh nedd
frueher als 21.00 heim...


-----------------------------------------------------------------------------



Dresdner Fahrgemeinschaft (Lefty, 26. Mar 2002, 00:05:42):
Hi,

ich lese gerade, dass eine party in Muenster ist. gibt es hier noch Dresdner,
die dahin fahren und an einer Fahrgemeinschaft interessiert sind ? Meldet Euch
einfach mal, ich mag hier nicht die MPA erst durchlesen.
Am liebsten waere mir das per Email, die werden weitergeleitet, da ich nur
noch seltenst im Mud bin.

Ciao, Lefty

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 26. Mar 2002, 08:25:31):
Am Donnerstag ist ganz normal Stammtisch, also um 20 Uhr im Kleinen 
Meierhof. Der Termin eignet sich aufgrund des folgenden Feiertags 
auch fuer externe hervorragend, um mal wieder reinzuschauen.
  Boing

-----------------------------------------------------------------------------



stati und rudeln! (Gnome, 27. Mar 2002, 11:58:11):
hi berliner und umland :)

hier nochmals die erinnerung an den vorgezogenen stati an diesem
Fr. (seeblick, 20.00) und das anschliessende rudeln im institut.

auf ein froehliches ostersterben am karfreitag...

gnOme

-----------------------------------------------------------------------------



Maerzstammtisch im April (Mieze, 27. Mar 2002, 12:14:18):
Hallo liebe Nicht-Mudparty-Besucher,

da es sich nicht anders einrichten liess, findet der verspaetete
Maerzstammtisch der Muenchner erst am 5.April ab 20 Uhr im Bergmannshof statt.

Mieze - Orga-Team Muenchen

P.S.: Der Aprilstammtisch ist aber trotzdem am letzten Freitag im April.

-----------------------------------------------------------------------------



Re: Maerzstammtisch im April (Morgoth, 28. Mar 2002, 08:06:21):
~#! rn=Mieze rt=1017227658 rg=treffen
~#! tid=1017227658
Am 5. April ??
Komisches Datum, da war doch was...

M*

-----------------------------------------------------------------------------



Re: Re: Maerzstammtisch im April (Catweazle, 28. Mar 2002, 09:07:30):
~#! rn=Morgoth rt=1017299181 rg=treffen
~#! tid=1017227658
5. April? 5. April?
Ja, ich meine mich auch erinnern zu koennen. 
Naja, Mieze steht aber doch auch nicht auf der Partyliste ...

YTC

-----------------------------------------------------------------------------



Re: Re: Maerzstammtisch im April (Mieze, 29. Mar 2002, 10:53:29):
~#! rn=Morgoth rt=1017299181 rg=treffen
~#! tid=1017227658

Ja schon, ich bin auch in MS. Aber die meisten Muenchner sind @home. Darum
dieses Datum.

Mieze


-----------------------------------------------------------------------------



Re^3: Maerzstammtisch im April (Wurzel,  1. Apr 2002, 08:37:57):
~#! rn=Mieze rt=1017395609 rg=treffen
~#! tid=1017227658
einpacken, mitbringen.

-----------------------------------------------------------------------------



Re^4: Maerzstammtisch im April (Alcina,  2. Apr 2002, 00:16:52):
~#! rn=Wurzel rt=1017643077 rg=treffen
~#! tid=1017227658

So viel Gepaeck darf ich doch nicht mitnehmen ;o)

Mieze heut in Verkleidung 

-----------------------------------------------------------------------------



MS*STATI*040402 (Puk,  3. Apr 2002, 18:14:14):
Jaaaaaaaaaaaa, um uns natuerlich vor allen anderen schon in Partylaune zu
versetzten findet am morgigen Tage auch wieder ein Stammtisch statt auf dem
Catty schonmal einen ausgeben will (konnte ihn nicht abhalten ;)

Treffen wie immer um 20.07 in der Frauenstrasse 24, ja genau die liegt auf der
Frauenstrasse und ist das Haus mit der Nummer 24.
Da es selten jemand schafft rechtzeitig dazusein gilt das ganze zumeist mit
+/- ner halben Stunde.

Bis Morgen

Puk

-----------------------------------------------------------------------------



Re: MS*STATI*040402 (Catweazle,  3. Apr 2002, 18:25:54):
~#! rn=Puk rt=1017850454 rg=treffen
~#! tid=1017850454
Aeh, ausgeben?
Ausgeben?
Ich wollte noch ein paar Mitfinanzierende fuer die Party finden :-)

YTC

-----------------------------------------------------------------------------



0404022000KAKM (Croft,  4. Apr 2002, 10:31:25):
Da Hobo es nicht machen will ;-)

-----------------------------------------------------------------------------



Re: 0404022000KAKM (Gorog,  4. Apr 2002, 16:02:22):
~#! rn=Croft rt=1017909085 rg=treffen
~#! tid=1017909085
Hmm, wollte ja eigentlich nicht da sein, aber was solls, wenn catty einen
ausgibt werd ich mich enfinden (schnurr, aeh schnorr). 
Gorog geht mal eben rauf und dreht sein Gel auf 280.

-----------------------------------------------------------------------------



16.4. 20:00 Uhr Dresden CD (Deepblue,  7. Apr 2002, 21:42:28):
Am 16.4. ist wieder Stammtisch in Dresden, wie immer ab ca. 20:00 Uhr im CD.

Sollte jemand ne Anfahrtsbeschreibung brauchen bitte Bescheidgeben.

-----------------------------------------------------------------------------



Sonderstati in Duesseldorf -letzer Aufruf- (Grumpf, 11. Apr 2002, 09:41:46):
Zeit: Samstag 13.04.2002
Ort: Tigges Brunnenstr
Beginn: 19:00 Uhr
Anwesende: Silvana, Muadib, Muaddib, Bambi, Vardion, Ahab, Dunst, Thufhir,
Lacri, Liara, Cinderella, Cirdan, Samos, Schleicher und ein paar Nichtmudder
als Deko...
Fragen und Anmeldungen bitte an mich oder Schleicher von mir kann man auch
eine Anfahrtsbeschreibung bekommen.
Bis Samstag
Grumpf i.A.

-----------------------------------------------------------------------------



Re: Sonderstati in Duesseldorf -letzer Aufruf- (Grumpf, 11. Apr 2002, 13:39:14):
~#! rn=Grumpf rt=1018510906 rg=treffen
~#! tid=1018510906
Wie mir grade berichtet wurde kommt Silvana am Samstag nicht. Dafuer hab ich
vergessen das Erscheinen von Zephyr anzukuendigen.
Mea culpa...
Grumpf.

-----------------------------------------------------------------------------



MS StaTi heute abend faellt aus (Maarg, 11. Apr 2002, 13:42:46):
Moin.

Heute gibt's keinen StaTi in MS, wir sind alle noch voll von der Party.

Bleibet zuhauf zuhause!

Foobar

-----------------------------------------------------------------------------



Re: Re: Sonderstati in Duesseldorf -letzer Aufruf- (Vardion, 11. Apr 2002, 13:44:31):
~#! rn=Grumpf rt=1018525154 rg=treffen
~#! tid=1018510906
Da ich gerade mal an nem Rechner sitze: ich werd auch nicht erscheinen, da ich
zu der Zeit aus verschiedenen Gruenden schon nicht mehr in der Gegend bin.

Gruss,
Vardion

-----------------------------------------------------------------------------



Stati Karlsruhe (Pardauz, 11. Apr 2002, 18:55:04):
Es ist mal wieder Donnerstag ...
Also ihr wisst schon: 20:00 Uhr, Kleiner Meierhof, die ueblichen Verdaechtigen

Jemand (c)Inesha

-----------------------------------------------------------------------------



Re: Stati Karlsruhe (Amaryllis, 11. Apr 2002, 19:30:39):
~#! rn=Pardauz rt=1018544104 rg=treffen
~#! tid=1018544104
heisst das nicht "110402KAKM" ?

Ama*

-----------------------------------------------------------------------------



Re: Re: Stati Karlsruhe (Pardauz, 11. Apr 2002, 19:34:56):
~#! rn=Amaryllis rt=1018546239 rg=treffen
~#! tid=1018544104
... oder so.
naeheres uebrigens beim Reh Sistance.
(teile sistance mit anmeldungen)

-----------------------------------------------------------------------------



Re: MS StaTi heute abend faellt aus (Catweazle, 11. Apr 2002, 20:07:43):
~#! rn=Maarg rt=1018525366 rg=treffen
~#! tid=1018525366

Wie jetzt, kein Stammtisch. 
Ich wollte dieses Ekelschokoladenzeug loswerden, das in Massen vom Fruehstueck
ubrig geblieben ist. 

Grummelnd,   
     Catweazle

-----------------------------------------------------------------------------



Re: Re: MS StaTi heute abend faellt aus (Ahab, 11. Apr 2002, 20:08:28):
~#! rn=Catweazle rt=1018548463 rg=treffen
~#! tid=1018525366
Kannst es ja per Stammtischpost mit den nachbestellten T-Shirts weiterver-
teilen. ;-)

Ahoi,
Ahab

-----------------------------------------------------------------------------



Re: Sonderstati in Duesseldorf -letzer Aufruf- (Bambi, 13. Apr 2002, 09:00:16):
~#! rn=Grumpf rt=1018510906 rg=treffen
~#! tid=1018510906
Ich wollt nur "-=" sagen, d.h. ich komm leider nicht, da ich "aus
medizinischen Gruenden" (sprich: schnupfen) nicht tauchen kann.
Ich wuensche euch dennoch viel Spass.

Bambi.

-----------------------------------------------------------------------------



16.4. 20:00 Uhr CD Dresden (Deepblue, 13. Apr 2002, 14:38:23):
Siehe betreff

-----------------------------------------------------------------------------



200018042002KAKM (Muadib, 15. Apr 2002, 18:58:40):
muadib

-----------------------------------------------------------------------------



Re: 200018042002KAKM (Boing, 15. Apr 2002, 19:01:54):
~#! rn=Muadib rt=1018889920 rg=treffen
~#! tid=1018889920
Kann mir mal jemand den wirren Zahlen/Buchstabenstrom entschluesseln? :)
Frueher waren die Ankuendigungen irgendwie stilvoller ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: 200018042002KAKM (Grimmborn, 15. Apr 2002, 19:03:14):
~#! rn=Boing rt=1018890114 rg=treffen
~#! tid=1018889920
20.00 Uhr 18.05. 2002 Karlsruhe Kleiner Meierhof.

GdA

-----------------------------------------------------------------------------



Re^3: 200018042002KAKM (Montanus, 15. Apr 2002, 19:04:58):
~#! rn=Grimmborn rt=1018890194 rg=treffen
~#! tid=1018889920
Beinahe, Grimmborn, beinahe.
18.04., nicht 18.05. Wer einen Monat zu spaet kommt, der kriegt nur noch
abgestandenes Bier.

-----------------------------------------------------------------------------



Re^4: 200018042002KAKM (Grimmborn, 15. Apr 2002, 19:05:40):
~#! rn=Montanus rt=1018890298 rg=treffen
~#! tid=1018889920
Jaja, ich bin ja auch wirklich der einzige, der sich hier mal vertippt.
Heul doch...

GdA

-----------------------------------------------------------------------------



Re^5: 200018042002KAKM (Montanus, 15. Apr 2002, 19:05:58):
~#! rn=Grimmborn rt=1018890340 rg=treffen
~#! tid=1018889920
Ich dachte, das sei eine geschickt gestellte Falle gewesen...

-----------------------------------------------------------------------------



Berlin? (Elizabeth, 15. Apr 2002, 19:27:17):
Wann isn der naechste Berlin Stati?

-----------------------------------------------------------------------------



Re: Berlin? (Deepblue, 15. Apr 2002, 19:27:45):
~#! rn=Elizabeth rt=1018891637 rg=treffen
~#! tid=1018891637
Am kommenden Dienstag um 20 Uhr in Dresden im CD :-)

-----------------------------------------------------------------------------



Re: Re: 200018042002KAKM (Bambi, 15. Apr 2002, 19:35:29):
~#! rn=Boing rt=1018890114 rg=treffen
~#! tid=1018889920
Wuerd die MPA Sistance als Sender akzeptieren...
... aber dazu sag ich nix weiter, sonst krieg ich noch mehr Arbeit.

-----------------------------------------------------------------------------



Re: Berlin? (Pitfall, 15. Apr 2002, 22:07:20):
~#! rn=Elizabeth rt=1018891637 rg=treffen
~#! tid=1018891637
wird rechtzeitig angekuendigt werden

pit*, der ausrufer

-----------------------------------------------------------------------------



StaTi Zuerich (Nibel, 18. Apr 2002, 11:01:31):
Am 04.05.2002 wird es in Zuerich wieder einen Stammtisch geben. Weitere 
Infos wie immer via "teile schwiiz mit s".
  - Nibel
-----------------------------------------------------------------------------



StaTi MS (Catweazle, 18. Apr 2002, 12:57:16):
Issnu?

YTC

-----------------------------------------------------------------------------



Re: StaTi MS (Catweazle, 18. Apr 2002, 19:13:31):
~#! rn=Catweazle rt=1019127436 rg=treffen
~#! tid=1019127436
ISSNU???

YTC

-----------------------------------------------------------------------------



Re: Re: StaTi MS (Varlarion, 18. Apr 2002, 19:14:56):
~#! rn=Catweazle rt=1019150011 rg=treffen
~#! tid=1019127436
Noe, aber morgen is hier.
20 Uhr im Treibhaus in OS

-----------------------------------------------------------------------------



Re^3: StaTi MS (Gorog, 18. Apr 2002, 21:25:32):
~#! rn=Varlarion rt=1019150096 rg=treffen
~#! tid=1019127436
issnu????

mfGorog

-----------------------------------------------------------------------------



WochenendStati in Dresden! (Ivo, 18. Apr 2002, 23:06:01):
Hallo Leute,

am 4. Mai (in ca. 2 Wochen) findet in Dresden ein Stammtisch statt, wozu ich
vor allem die auswertigen Mudder (Richtung Chemnitz, Leipzig und Berlin
schiel) aber natuerlich die Dresdener recht herzlich einladen moechte. Wer
sich nicht (mehr) als Mudder angesprochen fuehlt kann trotzdem kommen ;) Wir
bitten um Voranmeldung per Mail an Mesirii, da wir fuer Samstag abend einen
(?) Tisch beim Griechen vorbestellen wollen (muessen). Bitte schreibt auch
rein, ob ihr einen Schlafplatz oder so braucht.
Wenn jemand rudeln will, Internetanbindungen sind genug vorhanden, es wuerde
dann nur an den Laptops oder PCs fehlen (naehere Informationen bei Mesirii)
eine Anfangszeit steht noch nicht fest, ihr koennt euch ja dazu aeussern..
Soviel von hier,

Gruss, Ivo

-----------------------------------------------------------------------------



Re^3: StaTi MS (Mupfel, 18. Apr 2002, 23:17:51):
~#! rn=Varlarion rt=1019150096 rg=treffen
~#! tid=1019127436
+1

-mupfel-

-----------------------------------------------------------------------------



Re: WochenendStati in Dresden! (Gloinson, 18. Apr 2002, 23:41:57):
~#! rn=Ivo rt=1019163961 rg=treffen
~#! tid=1019163961
... Regenbogen (klein, unbekannt, MUD (!)) ...
> partyinfo
RB-Fruehlingsparty 2002
vom 3. bis 5. Mai 2002 in Dresden
Organisatorin: Mondenkind
Austragungsort: CD
Kosten: nur fuer die Essen+Trinken, erledigen wir vor Ort

Gloin(son)

PS: Vielleicht laesst sich das verbinden? An den CD werden sich PartyMGler
    von Dresden 2000 noch erinnern ...

-----------------------------------------------------------------------------



Re: stati in stuttgart - vorankuendigung (Croft, 19. Apr 2002, 17:55:21):
~#! rn=Leibniz rt=1019231595 rg=treffen
~#! tid=1019231595
Falls er am 11.5 ist, koennt ihr ja auf dem UNItopia-Treffen im OeZ
vorbeischauen ;-)

-----------------------------------------------------------------------------



stati in stuttgart - vorankuendigung (Leibniz, 19. Apr 2002, 17:57:00):
bald gibt es endlich mal wieder einen stati in stuttgart. 
zur auswahl stehen momentan noch 2 termine (beide samstags - ist ja klar)
11.5. oder 25.5. 20 uhr

dieses mal werden wir nicht ins enchilada (jetzt freut sich wer *g*) und auch
nicht ins cibo mato (wer auch immer das beim letzten mal vorgeschlagen hat)
gehen.
statt dessen gehn wir in die kneipe mit DER bedienung :) los imda, such mal
den namen raus und poste ihn...

wer neben den katzen auf der couch schlafen will, maile mir bitte fruehzeitig.

leibi - bestellt bestimmt keinen swimming pool mehr

-----------------------------------------------------------------------------



Re: stati in stuttgart - vorankuendigung (Hight, 20. Apr 2002, 13:33:10):
~#! rn=Leibniz rt=1019231820 rg=treffen
~#! tid=1019231820
isch kum abba ich werd mi bei imda verkrichen ... beschlossen und fertig .o)

hight der eigentlich hia ganimmermuddenduer

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 21. Apr 2002, 23:12:31):
Hallo zusammen,

aus gegebenem Anlass (Gandur weilt in Bonn) gibt es einen Spontan-Stati.
Am Dienstag, den 23.04.2002
ab 20.00 Uhr
in der Seeligen Witwe, Koenigstrasse

Rueckmeldungen, zwecks Tischreservierung, wie immer an mich.

Twingi *in Vertretung fuer das schwarze Hexchen*

P.S. Wegbeschreibungen gibbet auch bei mir. Die meisten sollten allerdings
mittlerweile die diversen Bonner Kneipen auch im Schlaf finden. ;-)

-----------------------------------------------------------------------------



Flammkuchen 9.5. (Hobo, 22. Apr 2002, 14:11:49):
Am DONNERSTAG, den 9.5. ist der naechste Flammkuchentermin. Am Freitag ist
zwar normaler Arbeitstag, aber man kann sich ja auch frei nehmen ;)

Anmeldungen bitte bis 5.5. (einschliesslich) an mich PER MAIL oder STAMMTISCH.

Ciao

    Hobo - im Flammkuchenfieber

-----------------------------------------------------------------------------



Der Kanzler in Darmstadt (Ark, 22. Apr 2002, 21:08:30):
Stimmt zwar nicht, aber vielleicht schauen so mehr ueber den Artikel ;^)

Ich wollte mal wieder einen Stammtisch, also schreib ich hier und schlag den
bewaehrten Hotzenplotz in unserer Wissenschaftsstadt Darmstadt vor, zr Wahl
stehen dieser Freitag (26.04.) oder der darauffolgende (03.05.). Beide sind
gleich gut oder schlecht :-)
19:00 Uhr.
Erst Termin, dann Wegbeschreibung.
Keine Geld-Zurueck-Garantie.

Ich hoffe auf goettlichen Besuch *hinthint*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Der Kanzler in Darmstadt (Muadib, 23. Apr 2002, 00:06:14):
~#! rn=Ark rt=1019502510 rg=treffen
~#! tid=1019502510
Verfassungsgericht tagt ueber Mudstammtisch in Karlsruhe...
Stimmt sogar, so kartentechnisch gesehen
nu aber in kuerze: 250420022000KAKM

-----------------------------------------------------------------------------



Re: Re: Der Kanzler in Darmstadt (Mandragon, 23. Apr 2002, 01:14:23):
~#! rn=Muadib rt=1019513174 rg=treffen
~#! tid=1019502510
Ergo ... 030520022000DAHP

Noch Fragen?

Ma*

-----------------------------------------------------------------------------



Re: Der Kanzler in Darmstadt (Zook, 23. Apr 2002, 08:04:55):
~#! rn=Ark rt=1019502510 rg=treffen
~#! tid=1019502510
Gnaa... ich kann weder an dem einen noch an dem anderen Termin. :(

Zook.

-----------------------------------------------------------------------------



Re: Re: Der Kanzler in Darmstadt (Apollonia, 23. Apr 2002, 08:06:23):
~#! rn=Zook rt=1019541895 rg=treffen
~#! tid=1019502510
Geht mir genauso. So um den 17. Mai rum bin ich in der Naehe, laesst sich denn
da nicht was machen?

Apo*
demnaechst in Hessen

-----------------------------------------------------------------------------



Re^3: Der Kanzler in Darmstadt (Cisou, 23. Apr 2002, 08:12:18):
~#! rn=Apollonia rt=1019541983 rg=treffen
~#! tid=1019502510

Aehm, liegt Darmstadt nicht in der Naehe von Frankfurt? :-)

Das Elsterchen, das in Schluechtern - einem Vorort von Ffm sogar nen ICE
gesehen hat

-----------------------------------------------------------------------------



Re^4: Der Kanzler in Darmstadt (Apollonia, 23. Apr 2002, 08:13:51):
~#! rn=Cisou rt=1019542338 rg=treffen
~#! tid=1019502510
*breitgrins* Vorort ist gut. Schluechtern ist 70 km von Frankfurt weg. Aber
ja, bis Darmstadt isses dann auch nicht mehr weit :o)

Apo*

-----------------------------------------------------------------------------



Aprilstammtisch in Muenchen (Mieze, 23. Apr 2002, 08:24:04):
Liebe Mudgemeinde,

ausnahmsweise findet der Stammtisch im April diesmal am letzten Samstag (nicht
wie sonst Freitag), dem 27.04.2002 ab 20 Uhr in unserer (man kann schon fast
sagen) alteingesessenen Kneipe Bergmannshof (Landsberger Str. 73) statt.

Ausser den mehr oder weniger Einheimischen haben wir noch hochkaraetige Gaeste
zu bieten:\begin{Tusch}

Cinderella und Spellfire 

\end{Tusch}

Ich hoffe, Ihr kommt zahlreich. Weitere Anmeldungen nehm ich gern entgegen.


Viele Gruesse 

Mieze - Orga-Team Muenchen


-----------------------------------------------------------------------------



maistati in B (Pitfall, 23. Apr 2002, 09:15:07):
hiho,

der stammtisch im mai findet am 03.05.2002 voraussichtlich im "aufsturz" statt
etwaige aenderungen betreffs ort gebe ich noch bekannt
wegbeschreibungen bei martini oder mir

so long

-----------------------------------------------------------------------------



stati im juni in B (Pitfall, 23. Apr 2002, 10:04:04):
hiho,

hier schonmal die sehr fruehe ankuendigung des junistatis:
er findet am samstag, dem 08.06.2002 voraussichtlich auch im 
"aufsturz" statt (so es uns da gefaellt und so)
weitere infos folgen zu gegebener zeit

so long

-----------------------------------------------------------------------------



Re: stati im juni in B (Anakin, 23. Apr 2002, 16:01:56):
~#! rn=Pitfall rt=1019549044 rg=treffen
~#! tid=1019549044
Aufsturz ist nett.

A.

-----------------------------------------------------------------------------



Re: Aprilstammtisch in Muenchen (Hight, 23. Apr 2002, 17:34:52):
~#! rn=Mieze rt=1019543044 rg=treffen
~#! tid=1019543044
hmmmm mal fragen ob wer in die richtung faehrt

-----------------------------------------------------------------------------



Re: maistati in B (Gnome, 23. Apr 2002, 17:53:40):
~#! rn=Pitfall rt=1019546107 rg=treffen
~#! tid=1019546107
da ich mir nicht vorstellen kann, dass du wirklich 10 oder 15 mails
mit der wegbeschreibung posten willst, schreibs doch am besten einmal
hierein und gut is. :)

-----------------------------------------------------------------------------



maistati in B (Pitfall, 23. Apr 2002, 20:40:47):
ok ok, 

wir verlegen den stati fuer mai um eine woche nach hinten,
d.h. am 10.05.2002 im aufsturz

so long

-----------------------------------------------------------------------------



aufsturz (Pitfall, 24. Apr 2002, 15:32:17):
hiho,

also das aufsturz kann man eigentlich kaum verfehlen, ist fast direkt am
s-bahnhof oranienburger strasse.
wer selber auf den plan schauen will: 
http://www.stadtplandienst.de/query?USERID=sb13:a1421000_fe40e4a4ebdcd798&sli=
5
oder sucht halt selber nach der oranienburger strasse nr 67

so long

-----------------------------------------------------------------------------



MS-25-4-2 (Gorog, 25. Apr 2002, 11:41:33):
Wat is nu?

mfGorog

-----------------------------------------------------------------------------



Re: Der Kanzler in Darmstadt (Muaddib, 25. Apr 2002, 17:01:35):
~#! rn=Ark rt=1019502510 rg=treffen
~#! tid=1019502510
Hm, wenn der goettliche Besuch am Freitag nicht kann, wie waers dann mit
Samstag? Diese Woche waer am besten ;)

Mua - auch in den Vorort von FFM zum Stammtisch kommend

-----------------------------------------------------------------------------



Re: MS-25-4-2 (Catweazle, 25. Apr 2002, 17:01:58):
~#! rn=Gorog rt=1019727693 rg=treffen
~#! tid=1019727693
JA WAT IS NU???

YTC

-----------------------------------------------------------------------------



Re: Re: MS-25-4-2 (Gorog, 25. Apr 2002, 17:52:03):
~#! rn=Catweazle rt=1019746918 rg=treffen
~#! tid=1019727693
Definiere Uferlos, 20.08 Uhr Heute
Bin da wenn keiner kommt wird der geloescht, gell Caty?
mfGorog

-----------------------------------------------------------------------------



Re^3: MS-25-4-2 (Catweazle, 26. Apr 2002, 10:46:11):
~#! rn=Gorog rt=1019749923 rg=treffen
~#! tid=1019727693
Tja, das war nu wieder zu spaet.
Wasn mit naechste Woche? :-)

YTC

-----------------------------------------------------------------------------



Re^4: MS-25-4-2 (Puk, 26. Apr 2002, 11:38:28):
~#! rn=Catweazle rt=1019810771 rg=treffen
~#! tid=1019727693
Nur weil du zu spaet mal wieder warst heisst das nicht das es generell zu
spaet war ;)
Das Uferlos war eigentlich ganz nett, wuerde ich mal ausnutzen bis es dicht
macht ;)

Puk

-----------------------------------------------------------------------------



Re: Re: Der Kanzler in Darmstadt (Wurzel, 27. Apr 2002, 00:00:52):
~#! rn=Muaddib rt=1019746895 rg=treffen
~#! tid=1019502510
was ist denn jetzt? wenn der stammtisch heute war, war ich nicht da.
ansonsten haette ich durchaus interesse, aber keine ahnung wann er denn nun
sein soll...

wurzel

-----------------------------------------------------------------------------



Re^5: MS-25-4-2 (Mupfel, 27. Apr 2002, 13:01:07):
~#! rn=Puk rt=1019813908 rg=treffen
~#! tid=1019727693
Achwas Muenster ist doch tot ;)

-mupfel-
P.S.: stati is jetz in osna ;)

-----------------------------------------------------------------------------



Re^6: MS-25-4-2 (Elberet, 27. Apr 2002, 13:01:49):
~#! rn=Mupfel rt=1019905267 rg=treffen
~#! tid=1019727693
Muenster ist tot, lang lebe Muenster? :)

Elbi

-----------------------------------------------------------------------------



Re^7: MS-25-4-2 (Rochus, 27. Apr 2002, 19:05:59):
~#! rn=Elberet rt=1019905309 rg=treffen
~#! tid=1019727693
Muenster ist moeglicherweise tot, lang lebe Muenster!

(Mal schauen wer's versteht :-)

  Rochus

-----------------------------------------------------------------------------



Re^8: MS-25-4-2 (Muenster, 27. Apr 2002, 19:08:07):
~#! rn=Rochus rt=1019927159 rg=treffen
~#! tid=1019727693
Ich lebe. Hoffentlich lange.

Muenster

-----------------------------------------------------------------------------



Re^9: MS-25-4-2 (Osnabrueck, 27. Apr 2002, 19:09:15):
~#! rn=Muenster rt=1019927287 rg=treffen
~#! tid=1019727693
Quark, du bist tot. Ich aber nicht ;)

OS

-----------------------------------------------------------------------------



Re^10: MS-25-4-2 (Muenster, 27. Apr 2002, 19:20:29):
~#! rn=Osnabrueck rt=1019927355 rg=treffen
~#! tid=1019727693
soso, ich bin tot :))

M.

-----------------------------------------------------------------------------



Hannover (Olli, 28. Apr 2002, 01:31:12):
Spontanstammtisch heute in Hannover.
Also 28.04., falls wer nen Datum braucht :)

19:00 Uhr so ca., im Exil. Anfahrtsbeschreibung fuer
Kurzentschlossene gibt es wie immer unter www.chaosburg.de.

Olli

-----------------------------------------------------------------------------



Re: Hannover (Mupfel, 28. Apr 2002, 14:18:33):
~#! rn=Olli rt=1019950272 rg=treffen
~#! tid=1019950272
Na dann, viel Spass ihr drei ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Hannover (Willow, 28. Apr 2002, 18:09:28):
~#! rn=Mupfel rt=1019996313 rg=treffen
~#! tid=1019950272
3? hmmm... sind doch 4 ;-)

-----------------------------------------------------------------------------



Re^3: Hannover (Mupfel, 28. Apr 2002, 20:55:58):
~#! rn=Willow rt=1020010168 rg=treffen
~#! tid=1019950272
Na dann sinds 5 ;)

-mupfel-

-----------------------------------------------------------------------------



Stati an Pfingsten...? (Zook,  1. Mai 2002, 19:27:39):
Hi zusammen, ich bin hoechst wahrscheinlich vom 16. bis 20. Mai in der
Schweiz (nahe Bodensee). Gibt es in dem Zeitraum in der erreichbaren
Naehe (ich denke ma so zwischen Stuttgart und Zuerich) nen Stati? Waere
nett, wenn man mir ne kleine Mail zukommen lassen koennte. :-)

Gruss, Zook.

-----------------------------------------------------------------------------



Re: Stati an Pfingsten...? (Muadib,  2. Mai 2002, 09:57:37):
~#! rn=Zook rt=1020274059 rg=treffen
~#! tid=1020274059
160520022000KAKM 

-----------------------------------------------------------------------------



Re: Re: Stati an Pfingsten...? (Zook,  2. Mai 2002, 09:59:49):
~#! rn=Muadib rt=1020326257 rg=treffen
~#! tid=1020274059
Koennte man drueber reden; ich will dann nur noch weiter in die 
schoene Schweiz. :-)

Zook.

-----------------------------------------------------------------------------



Re: StaTi Zuerich (Nibel,  2. Mai 2002, 10:09:53):
~#! rn=Nibel rt=1019120491 rg=treffen
~#! tid=1019120491
Der Stati vom 04.05 wurde mangels genuegender Teilnehmer auf den 18.05
verschoben. Dann aber vorraussichtlich mit Spezialgast. Weitere
Infos per "teile schwiiz mit s". Hilfe erteilt er uebrigens auch.
  - Nibel
-----------------------------------------------------------------------------



Re: Re: StaTi Zuerich (Zook,  2. Mai 2002, 10:10:19):
~#! rn=Nibel rt=1020326993 rg=treffen
~#! tid=1019120491
Wer erteilt Hilfe? Der Spezialgast?

Zook.

-----------------------------------------------------------------------------



SamstagsStati&RudelMudden (Mesirii,  2. Mai 2002, 11:20:16):
Hallo Ihrs, 
da ich bis jetzt nur 2 (in Worten 2) Zusagen zum Wochenendstati & Rudelmudden
bekommen habe,
wollte ich nochmal nachfragen ob da noch mehr Interesse besteht oder doch
keins, dann kann
ich mir das Rechner aufstellen auch schenken.
Wie gesagt Samstag Nachmittag/Abend in DD beim Griechen oder im CD Rudelmudden
dann bei mir
inner Uni.
Gruss Mesi

-----------------------------------------------------------------------------



Stati Muenster (Puk,  2. Mai 2002, 12:29:44):
Was is nu ?
Is was ?

Puk, planlos

-----------------------------------------------------------------------------



Re: Stati Muenster (Gorog,  2. Mai 2002, 16:20:13):
~#! rn=Puk rt=1020335384 rg=treffen
~#! tid=1020335384
So was is nu?!

Ich sach ma, 20.04 +/- 2 Minuten Frauenstrasse (brauch was zu essen, und das
war im Uferlos nicht so abwechslungsreich) 

mfGorog

-----------------------------------------------------------------------------



stati in s (Leibniz,  3. Mai 2002, 20:20:50):
also der stati in stuttgart findet jetzt wohl weder am 11.5. noch am 25.5.
sondern am 18.5. statt
(ausser zook kommt freitags, dann isser am 17.5.)
und zwar in einer kneipe names handgeschnitzt *g*#
wegbeschreibung gibts bei imda (schaetzungsweise ab montag)

uebrigens arbeitet da DIE soooooo suesse bedienung und der nicht naeher
genannte mudder kommt auch :)

leibi - grinsend

-----------------------------------------------------------------------------



Re: stati in s (Elberet,  3. Mai 2002, 20:21:20):
~#! rn=Leibniz rt=1020450050 rg=treffen
~#! tid=1020450050
so ich sag nix mehr zu dem thema :)

Elbi

-----------------------------------------------------------------------------



Re: Re: stati in s (Astarte,  3. Mai 2002, 20:21:34):
~#! rn=Elberet rt=1020450080 rg=treffen
~#! tid=1020450050
sicher ? :)

-----------------------------------------------------------------------------



Re^3: stati in s (Imda,  3. Mai 2002, 20:21:46):
~#! rn=Astarte rt=1020450094 rg=treffen
~#! tid=1020450050
Was gibbed fuer Re^50 ?

-----------------------------------------------------------------------------



Re^3: stati in s (Leibniz,  3. Mai 2002, 20:21:52):
~#! rn=Astarte rt=1020450094 rg=treffen
~#! tid=1020450050
was ist schon sicher :)

-----------------------------------------------------------------------------



Re: stati in s (Zook,  5. Mai 2002, 18:55:50):
~#! rn=Leibniz rt=1020450050 rg=treffen
~#! tid=1020450050
Dann doch lieber am 17.5. :-) Und ne Wegbeschreibung haett ich auch
ganz gerne. :-)

Zook.

-----------------------------------------------------------------------------



Re: Flammkuchen 9.5. (Hobo,  5. Mai 2002, 21:47:26):
~#! rn=Hobo rt=1019477509 rg=treffen
~#! tid=1019477509
Die direkten Einladungsmails fuer die Angemeldeten sind jetzt rausgegangen.
Ich hoffe, Ihr erscheint auch alle am Donnerstag :)

   Hobo - laeutet hiermit ihren Urlaub ein

-----------------------------------------------------------------------------



Re: Re: stati in s (Leibniz,  5. Mai 2002, 21:51:26):
~#! rn=Zook rt=1020617750 rg=treffen
~#! tid=1020450050
oki dann ist der stati am 17.5. ab 20 uhr.
wegbeschreibung gibts bei imda :))

aber ich denke wir treffen uns wieder 10 vor 8 an der lerche??
imda, sach mal was


uebrigens kommt da auch der nicht naeher genannte mudder und vielleicht sehn
wir auch den namentlich nicht bekannten nicht mudder :)

leibi - freut sich schon

ps
wer kommt soll sich diesmal bitte vorher bei mir melden, damit ich einen tisch
bestellen kann


-----------------------------------------------------------------------------



Re^3: stati in s (Pardauz,  5. Mai 2002, 22:58:33):
~#! rn=Leibniz rt=1020628286 rg=treffen
~#! tid=1020450050
Ha! Das is nen Freitag! Seit Jahren sag ich ihr sollt das ma Freitags machen.
Bin dabei :) vor welcher Lerche trefft ihr euch? gibt ja nich nur eine da

Pardauz

-----------------------------------------------------------------------------



Re^4: stati in s (Leibniz,  5. Mai 2002, 23:00:20):
~#! rn=Pardauz rt=1020632313 rg=treffen
~#! tid=1020450050
naja, manchmal gibts ne ausnahme :)
wir treffen uns an der lerche ganz unten in der fussgaengerzone fast am
rotebuehlplatz


-----------------------------------------------------------------------------



erinnerung (Pitfall,  6. Mai 2002, 09:57:50):
so nochmal zur erinnerung:
stati in berlin ist diese woche am freitag (10.05.2002)
ab ca 20 uhr im "aufsturz"
so long

pit*

-----------------------------------------------------------------------------



Re: erinnerung (Gnome,  6. Mai 2002, 18:55:21):
~#! rn=Pitfall rt=1020671870 rg=treffen
~#! tid=1020671870
hmm, das haben wir aber schon mal stimmungsvoller gesehen...

Seid gegruesset!

Wieh mirr zu Oren kam, wird es am diesen Freihtag ein Treffen gehben,
zu welchem die besten Abenteuhrer und Draufgaenger kommen werden.
Die Zahl deru schwanket zwischen Fuenf und Fuenfzehn, in der Hoffnung,
dass es noch maehr werden. Geladen sind alte und neue Gesichter zum
gemeinsamen Bierhumpen heben und Geschichten erzaehlen.
Der Ort des Geschehens solle die Schaenke "Aufsturz" sein, in der wir
schon so manche Stund' verbracht haben.
Gelegen ist sie in der Oranienburger Strasse Numero 67.
Anfangen zu lachen, zu erzaehlen und zu saufen wollen wir, wenn die
Uhre acht Mal geschlagen hat.

Bringet Zait und guhte Laune mith!

gnOme

-----------------------------------------------------------------------------



Stati in Bonn (Twingi,  7. Mai 2002, 20:59:15):
Huhu Ihrs,

bald isses wieder soweit.
Mi 29.05.2002 (zumindest in NRW ist Donnerstags Feiertag)
20:00 Uhr
Seelige Witwe, Koenigstr.

Anmeldung zwecks Tischreservierung bitte an mich, die Bettenreservierung ist
individuell zu regeln ;-)
Wegbeschreibung fuer die, die sowas wirklich noch brauchen auf Nachfrage auch
bei mir.

Knuddels
Twingi

-----------------------------------------------------------------------------



DA1705021900HP (Ark,  7. Mai 2002, 22:04:09):
KZ, AAA.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: DA1705021900HP (Zook,  7. Mai 2002, 22:06:19):
~#! rn=Ark rt=1020801849 rg=treffen
~#! tid=1020801849
Zook kommt nicht.

-----------------------------------------------------------------------------



0905022000KAKM (Amaryllis,  7. Mai 2002, 22:07:19):

Ich hoffe das passt.

Ama*, wollte das schon immer schreiben :)

-----------------------------------------------------------------------------



Re: 0905022000KAKM (Croft,  7. Mai 2002, 22:08:45):
~#! rn=Amaryllis rt=1020802039 rg=treffen
~#! tid=1020802039
Nope.  Siehe den Artikel zum Flammkuchen essen weiter oben :-)

-----------------------------------------------------------------------------



Re: 0905022000KAKM (Pardauz,  7. Mai 2002, 22:09:21):
~#! rn=Amaryllis rt=1020802039 rg=treffen
~#! tid=1020802039
passt nicht!
wie in dieser rubrich erwaehnt wurde sind wir zum flammkuchenessen im elsas

Pardauz meint: naechter Versuch bitte

-----------------------------------------------------------------------------



Re: Re: 0905022000KAKM (Amaryllis,  7. Mai 2002, 22:09:31):
~#! rn=Croft rt=1020802125 rg=treffen
~#! tid=1020802039
*schmoll*

Ama*, wuetend auf den Bodn stampfnd :)

-----------------------------------------------------------------------------



Re: 0905022000KAKM (Ark,  7. Mai 2002, 22:13:10):
~#! rn=Amaryllis rt=1020802039 rg=treffen
~#! tid=1020802039
Am besten fahrt ihr dann gemuetlich weiter nach Norden, wo ihr am 17.05. von
der A5 in Richtung Darmstadt abbiegt (Kreuz DA). Dann immer geradeaus, an
beiden Maritims vorbei, weiter geradeaus, auf den Langen Ludwig zu, kurz davor
in dem Tunnel verschwinden und der Strasse folgen. Am Schloss dann nach rechts
in die Alexanderstrasse, dann die erste nach links in die Magdalenenstrasse
und anfangen, Parkplatz zu suchen. Der Hotzenplotz ist Ecke
Mauerstrasse/Lauteschlaegerstrasse.
Danach koennt ihr zum naechsten Stati pilgern. Auf darmstadt.de gibt es auch
einen wunderbaren Stadtplan zum ausdrucken. Meine Worte sind eh nicht in der
Lage, diese wunderbare Gaststaette und ihre traumhafte Lage zu beschreiben.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: 0905022000KAKM (Gor,  7. Mai 2002, 22:14:34):
~#! rn=Ark rt=1020802390 rg=treffen
~#! tid=1020802039
Jawollja, und wer bei Hoplo kein Parkplatz findet, macht nicht unbedingt was
falsch. Also kommt am besten mit dem Rad so wie der Ark. ;) Dann koennen sie
euch auch nicht den Fuehrereschein abnehmen,.... vorausgesetzt ihr fahrt nicht
besoffen Rad. };-)

-----------------------------------------------------------------------------



Re: Re: 0905022000KAKM (Amaryllis,  7. Mai 2002, 22:20:12):
~#! rn=Ark rt=1020802390 rg=treffen
~#! tid=1020802039
Wieso sollte ich in ein Kaff fahren, dessen Name schon den A**** der Welt
impliziert?

Ama*, dachte bis vor kurzem noch, dass diese Rolle eigentlich Furtwangen
zustaende... so kann man sich taeuschen :)

-----------------------------------------------------------------------------



Re^3: 0905022000KAKM (Gor,  7. Mai 2002, 22:21:49):
~#! rn=Amaryllis rt=1020802812 rg=treffen
~#! tid=1020802039
Es ist immer eine Frage des Betrachtungswinkels. ;)

-----------------------------------------------------------------------------



Re^3: 0905022000KAKM (Ark,  7. Mai 2002, 22:24:13):
~#! rn=Amaryllis rt=1020802812 rg=treffen
~#! tid=1020802039
Du hast recht, wir liegen weiter oben im Verdauungstrakt. Sei brav, sonst
kommt was Fluessiges zu euch :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: DA1705021900HP (Anacrion,  8. Mai 2002, 09:30:26):
~#! rn=Zook rt=1020801979 rg=treffen
~#! tid=1020801849
Wenn das so ist, dann komme ich ...

Anac* (+2)

-----------------------------------------------------------------------------



Re: 0905022000KAKM (Bambi,  8. Mai 2002, 09:33:57):
~#! rn=Amaryllis rt=1020802039 rg=treffen
~#! tid=1020802039
Ohne Dich persoenlich angreifen zu wollen...
Wenn Du schon den Stati ankuendigst, dann mach das mit nem gescheiten Text.
Und nein, es passt nicht

-----------------------------------------------------------------------------



Re: Re: 0905022000KAKM (Amaryllis,  8. Mai 2002, 09:47:23):
~#! rn=Bambi rt=1020843237 rg=treffen
~#! tid=1020802039
Ich werde das beim naechsten Mal beherzigen, oh grosser Meister.

Ich versprechs. Wirklich.

Ama*

-----------------------------------------------------------------------------



Re: Flammkuchen 9.5. (Tmm, 10. Mai 2002, 01:55:39):
~#! rn=Hobo rt=1019477509 rg=treffen
~#! tid=1019477509
Vielen Dank fuer das lustige Flammkuchenessen. Ich moechte insbesondere den
Karlsruhern danken, welche extra ihren Stammtisch dafuer ausfallen liessen.
Ansonsten hoffe ich noch, dass mich Hobo auch beim naechsten
Flammkuchen(fr)essen wieder dulden wird ;)

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 10. Mai 2002, 20:47:14):
huhu zusammen,

das ist dann hoffentlich der letzte organisatorische artikel 
die kneipe steht jetzt endlich fest:
und zwar treffen wir uns am 17.5. (freitag) ab 20 uhr
in sophies brauhaus in der sophienstrasse.

wegbeschreibung fuer sbahnfahrer und fussgaenger: 
koenigstrasse vom bahnhof runter laufen bis zur stadtmitte, ueber die strasse
rueber und dann ist die sophienstrasse die erste rechts 
(an der ecke ist ein beate uhse laden)
das brauhaus ist auf der linken seite (ca 30 m)

autofahrer parken irgendwo und nehmen den gleichen weg :)

uebrigens werden wir nun leider nicht DIE namentlich nicht bekannte bedienung
treffen, worueber ich natuerlich sehr traurig bin ;)

bis dann, leibi

-----------------------------------------------------------------------------



Berlin... (Zook, 10. Mai 2002, 23:27:49):
Ich bin vom 27. bis 29. Mai in Berlin und habe wohl am 27. nichts vor.
Hat jemand Lust, mit mir nen Bier trinken zu gehen?

Zook.

-----------------------------------------------------------------------------



Re: stati stuttgart (Elberet, 10. Mai 2002, 23:28:21):
~#! rn=Leibniz rt=1021056434 rg=treffen
~#! tid=1021056434
kommt denn der namentlich nicht genannte mudder? 

Elbi

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Elberet, 10. Mai 2002, 23:29:41):
~#! rn=Elberet rt=1021066101 rg=treffen
~#! tid=1021056434
verschieb das mal einer, ich bin zu doof dafuer, aber ich jammer jetzt nicht,
weil mir das von ganz oben verboten wurde ;)

Elbi

-----------------------------------------------------------------------------



Re: Berlin... (Gnome, 11. Mai 2002, 02:31:46):
~#! rn=Zook rt=1021066069 rg=treffen
~#! tid=1021066069
sonderstati am 27.5.02 um 18.00h im 'aufsturz' (oranienburger str. 67).
grund: hoher besuch ;-)

gnOme

p.s. die bierauswahl dort ist wirklich beeindruckend %-)

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Leibniz, 11. Mai 2002, 11:00:49):
~#! rn=Elberet rt=1021066101 rg=treffen
~#! tid=1021056434
davon geh ich aus :)

leibi freut sich schon

-----------------------------------------------------------------------------



Re: Re: Flammkuchen 9.5. (Boing, 11. Mai 2002, 12:02:33):
~#! rn=Tmm rt=1020988539 rg=treffen
~#! tid=1019477509
Bevor hier Geruechte aufkommen ... wir haben den Stammtisch
selbstverstaendlich nicht ausfallen lassen. Der Karlsruher Stammtisch
findet naemlich jeden Donnerstag statt. Nur in Feiertagsfaellen (wie
letzten Donnerstag) wird der Stammtisch an einen anderen Ort verlegt,
dieses mal halt mal wieder ins Elsass.
  Boing

-----------------------------------------------------------------------------



Re: Re: Berlin... (Zook, 11. Mai 2002, 18:05:17):
~#! rn=Gnome rt=1021077106 rg=treffen
~#! tid=1021066069
Ah, fein. Wo war noch ne Wegbeschreibung dort hin? Und ich weiss nicht,
ob ich 18.00 Uhr schaffe; haengt ein wenig vom Zug ab, mit dem ich 
nach Berlin brause und vom Standort meines Hotels, das sollte aber 
irgendwo in Mitte liegen, hoff ich mal.

Zook.

-----------------------------------------------------------------------------



Re^3: Berlin... (Gnome, 12. Mai 2002, 00:23:49):
~#! rn=Zook rt=1021133117 rg=treffen
~#! tid=1021066069
ok... dann 17.05.02, aufsturz, 20.00h.

-----------------------------------------------------------------------------



rudeln in B (TM) (Gnome, 12. Mai 2002, 12:21:42):
hallo berliner und rest :)

wir laden zum diesjaehrigen pfingstrudeln, und zwar am

        Samstag, 18.05.02, ab 14.00h

im institut fuer informatik (rudower chaussee 25).

gnOme

-----------------------------------------------------------------------------



Stuttgart oder Darmstadt, das ist hier die Frage? (Ronda, 13. Mai 2002, 22:43:18):
Hi,
ich sehe das richtig, dass diesen Freitag sowohl ein Stammtisch in DA als auch
einer in S stattfinden sollen? Waers vielleicht moeglich, das irgendwie zu
entzerren? (NEIN, kein Stammtisch in Hamburg und einer in Zuerich am
Freitag...) Unterschiedliche Termine waeren schon ok ;-) Das koennte bei
beiden Statis die Anzahl der Besucher erhoehen...

Just my 2 l Diesel,

Ronda *Stuttgart faend ich im Moment interessanter ;-)*

-----------------------------------------------------------------------------



Re: Stuttgart oder Darmstadt, das ist hier die Frage? (Humni, 14. Mai 2002, 08:11:52):
~#! rn=Ronda rt=1021322598 rg=treffen
~#! tid=1021322598
Ich komm wohl auch nach Stuga ;-)

Humni wirft auch mal wieder was in den Raum.

-----------------------------------------------------------------------------



Re: Re: Stuttgart oder Darmstadt, das ist hier die Frage? (Elberet, 14. Mai 2002, 08:12:43):
~#! rn=Humni rt=1021356712 rg=treffen
~#! tid=1021322598
also ich komm nicht nach DA :)

Elbi

-----------------------------------------------------------------------------



DA, oder eher NET DA (Ark, 14. Mai 2002, 10:29:47):
Aus terminlichen Zwaengen sehen sich die Veranstalter gezwungen, den Stati am
Freitag, den 17. abzusagen. Dies hat nur marginal mit den Absagen einiger
"verraeterischer Elemente", sogenannte Mudder zu tun, sondern eher aufgrund
der Unpaesslichkeit des Veranstalters. Der Veranstalter bietet gleichwohl an,
das Event eine Woche spaeter nachzuholen, uebernimmt aber keine Garantie fuer
das Zustandekommen der Heiterkeit. Davon abgesehen, steht es den treuen
Vasallen, die einen Besuch eingeplant hatten, frei, sich ueber diese
schwerwiegende Entscheidung hinwegzusetzen. In diesem Fall bittet der
Veranstalter um Information, um sich dementsprechend zu arrangieren.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



MS Stati (Puk, 14. Mai 2002, 13:34:02):
Jojo, ich weiss, heute ist erst Dienstag, aber ich mag mal wissen wer sich den
alles zum woechentlichen Stati einfinden wuerde um zu entscheiden ob sich ein
in MS bleiben lohnen wuerde :)
Zeit waere wie immer 20.07 (plusminus ne halbe stunde) und Location wuerd ich
mal wueder die Frauenstrasse 24 vorschlagen. Fuer alle nichtwissenden die
Kneipe liegt auf der Frauenstrasse und hat die Hausnummer 24, also kaum zu
verfehlen:)

Puk

-----------------------------------------------------------------------------



rudeln oder so... (Pitfall, 16. Mai 2002, 12:09:20):
also auf wunsch eines einzelnen zwerges wird das pfingst rudeln in berlin auf
unbestimmte zeit verschoben...

-----------------------------------------------------------------------------



Re: rudeln oder so... (Gnome, 16. Mai 2002, 12:24:42):
~#! rn=Pitfall rt=1021543760 rg=treffen
~#! tid=1021543760
es ist eh viel zu gutes wetter, um den ganzen tag in einem klimatisierten
raum zu sitzen. die, die unbedingt noch wollen, wenden sich bitte an
pitfall/brotnael.

gnOme grummelt einen crash an.

-----------------------------------------------------------------------------



Rudeln oder sonstwas ... (Gloinson, 16. Mai 2002, 14:03:42):
Am WE des Kindertages (1. Juni) findet bei uns im Club eine LAN-Party statt.
Bisher um 30 Leute, unsere Stromversorgung sollte bis 40 Leute hergeben. Wir
werden uns wieder an unsere Leitung (DSL) nach draussen anschliessen lassen
und mit etwas Glueck ueberzeuge ich unseren Admin diese an dem WE fuer alles
ausser W3, 23 und 22 zu sperren - also auch zum MUD-Rudeln zu ermoeglichen.
Blabla, eingeladen, blabla. Einige Berliner sollten den Club kennen.

Gloin(son)

-----------------------------------------------------------------------------



DA ? (Mupfelchen, 18. Mai 2002, 01:55:56):
Halloele

Ich bin voraussichtlich am 23. und 24. in Darmstadt, da ist doch nicht
zufaellig n Stati zu der Zeit? ;)

-mupfel-chen-

-----------------------------------------------------------------------------



Re: DA ? (Mandragon, 18. Mai 2002, 02:20:34):
~#! rn=Mupfelchen rt=1021679756 rg=treffen
~#! tid=1021679756
Interessante frage ... 

Und MENSCH HAST DU EIN GLUECK. 

Es ist nicht nur ein Stati. Es ist auch Schlossgrabenfest mit vielen Liveacts
..... Uhrzeit und Ort werden noch bekanntgegeben.

Ma*

-----------------------------------------------------------------------------



Re: Rudeln oder sonstwas ... (Gloinson, 18. Mai 2002, 11:21:51):
~#! rn=Gloinson rt=1021550622 rg=treffen
~#! tid=1021550622
PS: CS, Rennsimulatoren, CS, Diablo, Starcraft, CS, MUDMUDMUDMUD
PPS: Mal bei mir melden zwecks Abstimmung mit Veranstalter, damit uns nicht
     doch die Leitungenen platzen

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Rudeln oder sonstwas ... (Liara, 18. Mai 2002, 15:41:09):
~#! rn=Gloinson rt=1021713711 rg=treffen
~#! tid=1021550622
Einmal CS haette wirklich gereicht.

ZZL

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 19. Mai 2002, 18:41:02):
huhu zusammen,

hab mal die bilder von daylight (danke nochmal fuer die kamera) auf meine hp
gesetzt:

  http://www.butterkeksdose.de/stati.htm

leibi freut sich schon auf den naechsten stati

-----------------------------------------------------------------------------



Re: stati stuttgart (Elberet, 19. Mai 2002, 19:51:55):
~#! rn=Leibniz rt=1021826462 rg=treffen
~#! tid=1021826462
also ich muss uebrigens Ronda widersprechen, die Katzen waren zuber suess und
flauschig und lassen einen die ganze nacht schlafen. Natuerlich nur wenn man
keine Katzenhaarallergie hat. Ansonsten kann man sich fast keine perfekteren
Schlafgenossen vorstellen :-)

Elbi

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Sou, 19. Mai 2002, 19:54:43):
~#! rn=Elberet rt=1021830715 rg=treffen
~#! tid=1021826462
Die Katzen waren echt cool, musste zwar nicht mit ihnen in einem Zimmer
schlafen, aber sie waren suess.

Zum Stati kann ich nur ein sagen: Wann ist der naechste???

Gruesse Sou :)

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Katzennarr, 19. Mai 2002, 19:56:07):
~#! rn=Elberet rt=1021830715 rg=treffen
~#! tid=1021826462
Elbi, es gibt bessere Schlafgenossen.
Katzennarr, die Katzenbesitzerin anschielend

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Keks, 19. Mai 2002, 20:10:17):
~#! rn=Katzennarr rt=1021830967 rg=treffen
~#! tid=1021826462
leibis katzen sind DER hammer ;-)) ich wuerd fast behaupten, sie haben mich
die ganze nacht beschaeftigt *kicher* - ne, die "kleinen" sind wirklich witzig
:-)) *keks - verspielt*

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Elberet, 19. Mai 2002, 20:11:47):
~#! rn=Keks rt=1021831817 rg=treffen
~#! tid=1021826462
also sie haben mich jedenfalls schlafen lassen und waren sehr kuschelig :)

Elbi

-----------------------------------------------------------------------------



Re^5: stati stuttgart (Ronda, 20. Mai 2002, 02:29:21):
~#! rn=Elberet rt=1021831907 rg=treffen
~#! tid=1021826462
Also. Nee. Leibis Katzen sind keine!
a) Sie haben sich nicht knuddeln lassen! Auch nicht gaaanz vorsichtig!
b) Die eine war so dusselig, nachts um drei mit meiner Hose vom Drehstuhl
abzustuerzem.
c) Die Viechers meinten nachts um halb drei auf mir Fangen spielen zu muessen.

Also, sagt was ihr wollt, Leibis Katzen benehmen sich so dusselig wie sonst
nur Hunde.

Ronda *aber Katzennarr hat Recht vermut ich mal ;-)*

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Elberet, 20. Mai 2002, 14:08:09):
~#! rn=Ronda rt=1021854561 rg=treffen
~#! tid=1021826462
nein die katzen waren nicht schuld, dass ich in der kneipe nix mehr gesagt
habe :)

Elbi

-----------------------------------------------------------------------------



Am Freitag in Darmstadt ... (Mandragon, 21. Mai 2002, 22:33:15):
... steigt das Schlossgrabenfest mit 4 Livebuehnen und wir Mudder sind dabei.

Um 1900 treffen wir uns im Ratskeller (siehe treffen.wegbeschreibungen) um bei
Musik und Alko^WGetraenken das Leben zu geniessen. Bei Fragen an mich oder
Argh wenden.

Ma* (erwartet viele Schbeschel Gests)

-----------------------------------------------------------------------------



naechster stati stuttgart (Leibniz, 21. Mai 2002, 23:07:20):
huhu zusammen,

nachdem der letzte stati so ein erfolg war und alle mich fragen, wann es
wieder einen gibt, hier die daten:

naechster stati ist am 8.6.02 (das ist flauschis geburtstag, also bringt
reichlich geschenke mit ;)
uhrzeit 20.30

dieses mal wohl im calwer eck- muessen ja mal alles durchtesten

davor schaetz ich doch mal, dass wir wieder ab 18 uhr ins enchilada gehn
(imda, mikage sacht was...)


wegbeschreibung poste ich, wenn ich den tisch gebucht hab.
also gebt mir kurz bescheid wer kommt!


bis dann, leibi

-----------------------------------------------------------------------------



Maistammtisch in Muenchen (Mieze, 23. Mai 2002, 19:57:15):

Hallo zusammen,


am 31.5. findet ab 20 Uhr wieder unser Stammtisch im Bergmannshof (Landsberger
Str. 73 - Naehe Donnersberger Bruecke) statt. Ihr seid natuerlich herzlich
eingeladen. Wegen Uebernachtung bitte Mail an mich.

Viele Gruesse

Mieze - OrgaTeam Muenchen


-----------------------------------------------------------------------------



Re: Re: DA ? (Mupfel, 23. Mai 2002, 22:09:33):
~#! rn=Mandragon rt=1021681234 rg=treffen
~#! tid=1021679756
Leider hat bei mir wieder der Terminverschiebungsteufel zugeschlagen, deswegen
bin ich Freitag *nicht* in DA, sondern erst Anfang naechster Woche... kamma
nix machen - das naechste Mal dann.

-mupfel-

-----------------------------------------------------------------------------



sonderstati in B (Gnome, 26. Mai 2002, 19:14:37):
wollte nochmals an den sonderstati morgen (Mo., 27.5. um 20.00h)
im aufsturz (oranienburger str. 67) erinnern. hoher besuch erwartet uns :)

gnOme

-----------------------------------------------------------------------------



SUGI HAT DURST (Sugaan, 27. Mai 2002, 20:22:53):
und fragt sich erst mal ob vielleicht irgendwer Zeit und Lust und Laune hat
demnaechst mal nach Koeln zu kommen. Lasst es mich wissen - wuerde mich sehr
freuen :-)

Gruessis   Dursti- Sugi

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 30. Mai 2002, 17:15:18):
Ich glaub es wurde noch nicht erwaehnt, aber der Karlsruher Stammtisch
findet heute nicht wie gewohnt im Kleinen Meierhof statt sondern im
Drachen. KM hat zu wegen Feiertag ...
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Bambi, 30. Mai 2002, 21:48:19):
~#! rn=Boing rt=1022771718 rg=treffen
~#! tid=1022771718
Auch wenns ein bissl spaet kommt: Ich wuensch euch viel Spass.

-----------------------------------------------------------------------------



stati stuttgart (Leibniz,  3. Jun 2002, 20:59:01):
huhu zusammen,
wollte nur noch mal an den stati am 8.6.02 im calwer eck erinnern
tisch ist fuer 20.30 uhr reserviert.

ich hoffe, es wird so lustig, wie beim letzten mal :)


bis dann,
leibi

-----------------------------------------------------------------------------



berlin ??? (Cassandra,  6. Jun 2002, 14:54:16):
Hallo Berliner
Gibt es diesen Monat ncoh nen Stammtisch in Berlin?
Vorzugsweise am 20. oder 21.?

Cassy

-----------------------------------------------------------------------------



Re: berlin ??? (Gnome,  6. Jun 2002, 16:51:27):
~#! rn=Cassandra rt=1023368056 rg=treffen
~#! tid=1023368056
ok, stammtisch verlegt auf Fr, den 21.06.02, 20.00h, aufsturz.
diesen Fr. waer sowieso fast keiner gekommen.

gnOme

-----------------------------------------------------------------------------



Kallsruh! (Pardauz,  6. Jun 2002, 19:09:46):
jaja, ihr wisst schon, 20 Uhr, Kleiner Meierhof, wie (fast) immer ...
aber was ihr vieleicht nicht wisst: 19:30 Old Dublin, nen Whisky vorweg.
Das ganze natuerlich heute, also so in ner halben Stunde.

Pardauz

-----------------------------------------------------------------------------



Re: Re: berlin ??? (Gloinson,  6. Jun 2002, 22:58:02):
~#! rn=Gnome rt=1023375087 rg=treffen
~#! tid=1023368056
Wag ich zu bezweifeln, aber damit trotzdem viel Spass am Samstag.

Gloin(son) (+Tini)

-----------------------------------------------------------------------------



Karlsruhe (10.7.) (Keks,  9. Jun 2002, 18:13:21):
ich hoffe mal, der stati macht am 10.7. keine sommerpause!? yadis und ich
planen naemlich nach wie vor, da hinzukommen :-) und darum folgendes: zwei
pflegeleichte oesterreicher suchen eine uebernachtungsmoeglichkeit im
anschluss an den stati! *laechel* wir waeren auch freitag vormittag wieder
weg! angebote bitte per mail :-)) KEKS

-----------------------------------------------------------------------------



StaTi Dresden 18.06.02 (Mesirii, 11. Jun 2002, 09:11:00):
Es ist wieder einmal soweit, nachdem ich nun wieder aus dem Urlaub zurueck
bin, gibts wieder einen StaTi.
Mein Vorschlag: 18.06.02 im CD (Club Duererstr.) alternativ waere bei schoenem
Wetter Biergarten zu ueberlegen, oder wir machen zur Abwechslung mal ganz
was anderes und grillen bei mir. Mal sehen, das hier ist ne Art
Vorankuendigung
Gruss Mesi

-----------------------------------------------------------------------------



Re: Karlsruhe (10.7.) (Keks, 12. Jun 2002, 11:14:46):
~#! rn=Keks rt=1023639201 rg=treffen
~#! tid=1023639201
bloss der ordnung halber ;-)) es muss "11.07." heissen (danke jameson *grins*)

-----------------------------------------------------------------------------



Re: Re: Karlsruhe (10.7.) (Bambi, 12. Jun 2002, 13:44:56):
~#! rn=Keks rt=1023873286 rg=treffen
~#! tid=1023639201
Teils doch bitte Sistance mit.
Also das mit dem kommen wollen, nicht das mitm Datum. :)

-----------------------------------------------------------------------------



MEGA SCHMARRN !!! (Sugaan, 12. Jun 2002, 23:28:41):
kann das von vorhin mal bitte jemand in Schmarrn oder MEGA schmarrn packen ???
danke

-----------------------------------------------------------------------------



Re: MEGA SCHMARRN !!! (Grimmborn, 12. Jun 2002, 23:40:16):
~#! rn=Sugaan rt=1023917321 rg=treffen
~#! tid=1023917321
1) Du weisst nicht wofuer die Rubrik megaschmarrn da ist.
2) Du weisst nicht dass man eigene Artikel auch selber verlegen kann.

GdA

-----------------------------------------------------------------------------



Re: Re: MEGA SCHMARRN !!! (Varlarion, 13. Jun 2002, 00:05:25):
~#! rn=Grimmborn rt=1023918016 rg=treffen
~#! tid=1023917321
3) Du weisst nicht, dass man eigene Artikel auch selber loeschen kann.

-----------------------------------------------------------------------------



Re^3: MEGA SCHMARRN !!! (Montanus, 13. Jun 2002, 00:30:25):
~#! rn=Varlarion rt=1023919525 rg=treffen
~#! tid=1023917321
Also ich fands lustig.

Ist jetzt eigentlich morgen im Kleinen oder im Grossen Meierhof Stammtisch?

-----------------------------------------------------------------------------



Re^4: MEGA SCHMARRN !!! (Croft, 13. Jun 2002, 00:35:13):
~#! rn=Montanus rt=1023921025 rg=treffen
~#! tid=1023917321
Zeig mir den Grossen Meierhof und wir werden auch dort mal einen Stammtisch
abhalten :-)

-----------------------------------------------------------------------------



Re^4: MEGA SCHMARRN !!! (Mupfel, 13. Jun 2002, 00:35:33):
~#! rn=Montanus rt=1023921025 rg=treffen
~#! tid=1023917321
Im schmalen ;-)

-mupfel-

-mupfel-

-----------------------------------------------------------------------------



Re^5: MEGA SCHMARRN !!! (Hobo, 13. Jun 2002, 09:39:13):
~#! rn=Croft rt=1023921313 rg=treffen
~#! tid=1023917321
*wuaaaargh*
Behaupte sowas nicht, Croft, in irgendeiner anderen Stadt GIBT es einen
Grossen Meierhof...

   hobo

-----------------------------------------------------------------------------



Re^6: MEGA SCHMARRN !!! (Muadib, 13. Jun 2002, 09:51:14):
~#! rn=Hobo rt=1023953953 rg=treffen
~#! tid=1023917321
na und, solange er mit wir nur montanus und sich meint, koennen sie sich gerne
im grossen meierhof in timbuktu treffen. mir waer es fuer nen stammtisch
allerdings zu weit

-----------------------------------------------------------------------------



Berlin (Hirudo, 13. Jun 2002, 16:48:35):
morgen abend ist ein kleines gemuetliches beisammensein:

deponie nr. 3
georgenstrasse
ab 2100

hirudo

-----------------------------------------------------------------------------



Re: Berlin (Rochus, 13. Jun 2002, 17:25:14):
~#! rn=Hirudo rt=1023979715 rg=treffen
~#! tid=1023979715
Georgenstr Mitte, PrenzlBerg oder Steglitz (wohl eher unwahrscheinlcih :)

-----------------------------------------------------------------------------



Re: Re: Berlin (Hirudo, 13. Jun 2002, 20:41:59):
~#! rn=Rochus rt=1023981914 rg=treffen
~#! tid=1023979715
in mitte

das ist die strasse, die direkt an der s-bahn entlang fuehrt

-----------------------------------------------------------------------------



Re^7: MEGA SCHMARRN !!! (Montanus, 13. Jun 2002, 21:41:37):
~#! rn=Muadib rt=1023954674 rg=treffen
~#! tid=1023917321
So weit waere der gar nicht. Freiburg ist nicht Timbuktu.
http://www.zum.de/Faecher/G/BW/Landeskunde/rhein/freiburg/stadt/grmeierhof.htm

Es gibt da auch einen in der Lausitz, in Boehmisch Kamnitz, der hat sogar ne
Brauerei mit dabei.

-----------------------------------------------------------------------------



Re^8: MEGA SCHMARRN !!! (Kavalier, 13. Jun 2002, 21:54:49):
~#! rn=Montanus rt=1023997297 rg=treffen
~#! tid=1023917321
die die wo da die deponie is halt :)

-----------------------------------------------------------------------------



Hamburg? (Troy, 17. Jun 2002, 09:31:15):
Moin,

gibt es genuegend Interessierte, um am 21. Juni oder am 28. Juni einen Stamm-
tisch in Hamburg zu machen? Als Oertlichkeit wuerde ich je nach Wetter die
Strandperle oder ein Element der Menge { Backatelle, Feuerstein, Geo } vor-
schlagen.

Wie siehts aus?

Troy

-----------------------------------------------------------------------------



Re: Hamburg? (Grimmborn, 17. Jun 2002, 09:38:44):
~#! rn=Troy rt=1024299075 rg=treffen
~#! tid=1024299075
Mach mal, schreib ne Wegbeschreibung, und dann sehen wir weiter. Kannst Dir ja
zur Sicherheit ein Buch mitnehmen.

GdA

-----------------------------------------------------------------------------



Re: Re: Hamburg? (Grimmborn, 17. Jun 2002, 09:39:06):
~#! rn=Grimmborn rt=1024299524 rg=treffen
~#! tid=1024299075
Nachtrag: Nicht im Geo.

GdA

-----------------------------------------------------------------------------



Morgen (Di) Grillen bei mir (Mesirii, 17. Jun 2002, 10:28:16):
Liebe Stammtischler,
aus persoenlichen Gruenden ist von den Alternativen nur noch Grillen bei mir
uebriggeblieben. Wer als Lust hat kann gern ab ca. 19.00 Uhr vorbeikommen.
Adresse: Mathildenstr. 4, 01069 Dresden, StraBa Zirkusstrasse oder
Strassburger Platz
dann in den Innenhof des unsarnierten Hauses gegenueber des Dorint Hotels
und dort den Stimmen nach.
Wer sich bei mir nicht bis heute Abend wegen der Anzahl der gewuenschten
Steaks gemeldet hat, muss sich selbst um Essen fuer den Grill kuemmern.
Schoen waere auch, wenn jemand Salat mitbringt. Trinken ist auch so ein
Problem, da jeder da andere Vorlieben hat, daher auch dort BSM (Bring Selber
Mit).
Bei Fragen tm an mich.

Gruss Mesi

-----------------------------------------------------------------------------



Re^8: MEGA SCHMARRN !!! (Muadib, 17. Jun 2002, 10:41:10):
~#! rn=Montanus rt=1023997297 rg=treffen
~#! tid=1023917321
oh fein - wann ?

-----------------------------------------------------------------------------



Re: Hamburg? (Vanion, 17. Jun 2002, 12:47:48):
~#! rn=Troy rt=1024299075 rg=treffen
~#! tid=1024299075
Hmm, Interesse besteht da immer, wird nur leider sehr knapp :( Schade, aber
nich zu aendern.

V*

-----------------------------------------------------------------------------



Re: Hamburg? (Perdita, 17. Jun 2002, 21:39:08):
~#! rn=Troy rt=1024299075 rg=treffen
~#! tid=1024299075
21. vielleicht, 28. bestimmt nicht.
Perdita haette grundsaetzlich auch mal wieder Lust auf nen Stati
by the way - gibts dies jahr wieder nen Open Air Kino auf dem Rathausmarkt?
kann da mal wer nen Programm veroeffentlichen?

-----------------------------------------------------------------------------



Re^7: MEGA SCHMARRN !!! (Maggi, 17. Jun 2002, 21:52:51):
~#! rn=Muadib rt=1023954674 rg=treffen
~#! tid=1023917321
In Freiburg gibts noch den grossen und den kleinen Meierhof, gab sicher auch
frueher in Karlsruhe beide. Benannt sind die nach Gebr. Meiers Bierbrauere in
Riegel (bei Emmendingen), jetzt zu Fuerstenberg gehoerend.

-----------------------------------------------------------------------------



Re: Re: Hamburg? (Bielefeld, 18. Jun 2002, 08:09:39):
~#! rn=Perdita rt=1024342748 rg=treffen
~#! tid=1024299075
Programm fuer Open Air Kino habe ich leider nicht gesehen, das
ist auch noch ein paar Wochen hin, wenn ich mich richtig erinnere.
21. sieht aber gut aus... :) Troy, sag mal wo...

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Hamburg? (Troy, 18. Jun 2002, 08:51:19):
~#! rn=Bielefeld rt=1024380579 rg=treffen
~#! tid=1024299075
'wo

Wie isses mit Strandperle bei Null Niederschlag und Backatelle sonst?
Alternativ koennen wir auch mal was neues ausprobieren. Ich schlage da das
'Oktober' am Wiesendamm in Barmbek vor (ist naeher am Bahnhof als die
Backatelle)

Zeit: Freitag 19 Uhr 30

Troy

-----------------------------------------------------------------------------



Re^8: MEGA SCHMARRN !!! (Muadib, 18. Jun 2002, 09:31:47):
~#! rn=Maggi rt=1024343571 rg=treffen
~#! tid=1023917321
interessant interessant, bleibt aber immer noch eine offene frage, die auf den
urspruenglichen ausgangspunkt zurueckfuehrt: wann?

-----------------------------------------------------------------------------



Re: berlin ??? (Gnome, 18. Jun 2002, 22:41:20):
~#! rn=Cassandra rt=1023368056 rg=treffen
~#! tid=1023368056
wollte nochmals an den stati an diesem Fr. (20.00h) im aufsturz erinnern.

gnOme

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 18. Jun 2002, 23:54:21):
Da wir Bonner ja optimistisch sind, setzen wir mal einen
schoenwetterabhaengigen Alternativstammtisch an.

Am 13.07.2002
ab 17:00 Uhr
Wiesenweg 24, Bonn-Endenich im Garten
Geselliges Umringen eines Grills ;-)

Wer sich bis zum 10.07. per tm oder per Mail meldet, kann seine Fleisch-,
Gemuese-, sonstige Grillwuensche (NEIN, keine kleinen Kinder!) kundtun, die
dann zentral besorgt werden koennen. Gleiches gilt fuer die Getraenke.
Wer sich bis dahin nicht aeussert und trotzdem kommt, der mus selber was
mitbringen (Is ja klar)

Falls der ganze Optimismus nix nutzt und es doch junge Hunde regnet, werden
wir rechtzeitig nen Tisch in einer nahegelegenen Kneipe ordern.

Knuddels
Twingi
*

-----------------------------------------------------------------------------



Juni-Stammtisch in Muenchen (Mieze, 19. Jun 2002, 00:03:32):
Hallo zusammen,


im Juni findet der Stammtisch bereits am Donnerstag, dem 27.06. ab 20 Uhr im
Bergmannshof in der Landsberger Str. 73 (Naehe Donnersberger Bruecke) statt.
Ihr seit natuerlich eingeladen ;o)

Wegescripte gibt es unter http://www.jamboree.de

Viele Gruesse

Mieze

-----------------------------------------------------------------------------



Hamburg! (Troy, 19. Jun 2002, 08:26:47):
Also nun mal Naegel mit Koepfen:

Wir treffen uns am Freitag, 21.06.2002 um 19 Uhr 30 in/an der Strandperle
(Neumuehlen, Endhaltestelle vom 112er). Sollte das Wetter nicht mitmachen
wollen, kanns da noch kurzfristig ne Aenderung bzgl. des Ortes geben.

Troy

-----------------------------------------------------------------------------



Re: Hamburg! (Grimmborn, 19. Jun 2002, 11:45:08):
~#! rn=Troy rt=1024468007 rg=treffen
~#! tid=1024468007
Ich vermisse die Wegbeschreibung in treffen.wegbeschreibung (oder wie immer
die Rubrik heisst) ab, sagen wir mal, Hauptbahnhof oder Altona. Weiss ich doch
nicht wo der 112er langfaehrt. Und 19.30 istn bischen frueh, da arbeite ich
doch sicher noch...

GdA

-----------------------------------------------------------------------------



StaTi MS? (Varlarion, 19. Jun 2002, 11:47:10):
Huhu,

ist eigentlich in MS zur Zeit StaTi-technisch was los? Falls nicht, besteht
Interesse an einem in der 1. Juliwoche?

Varl*, weilt ab dem 28.6. mal wieder in der alten Heimat

-----------------------------------------------------------------------------



Stati in Goeppingen (Region Stuttgart) (Hisasul, 19. Jun 2002, 16:07:30):
Hallo,

wollte mal nen Stati in Goeppingen (zw. Stuttgart und Ulm) am 1.
Juliwochenende vorschlagen. Waere also der Samstag, 06.07. - steigen wuerde
die Sache im "Why Not" ab 20:30 Uhr...anwesend sein werden sicher alle Shivas,
also Sou,Sarkon,Flauros,Ordos und meine Wenigkeit. Wenn dann noch die
Stuttgarter und das Ulmer Volk kommen wuerde waere es sicher ein Mordsabend.

Also, einfach mal eure Meinung dazu...
Gruss His*/Ben

-----------------------------------------------------------------------------



Re: Re: Hamburg! (Troy, 19. Jun 2002, 17:07:46):
~#! rn=Grimmborn rt=1024479908 rg=treffen
~#! tid=1024468007
URL:
http://www.stadtplandienst.de/query?ORT=hh;LL=%2B53.545813%2B9.916138;GR=6

Der 112er faehrt z. B. Altona ab oder auch Hauptbahnhof (Westseite). Richtung
"Neumuehlen/Oevelgoenne", siehe auch http://www.geofox.de

20 Uhr? Oder noch spaeter? Wann ist denn Deine Spaetschicht vorbei?

Troy

-----------------------------------------------------------------------------



Re^3: Hamburg! (Grimmborn, 19. Jun 2002, 17:30:40):
~#! rn=Troy rt=1024499266 rg=treffen
~#! tid=1024468007
Keine Ahnung bis wann ich arbeite, ist ja nicht Oeffentlicher Dienst hier. Da
es morgen wohl Mitternacht werden wird (Arbeiten an der Stromversorgung, und
irgendwer muss ja vor- und hinterher den Computerkram aus- und anschalten)
wirds Freitag wohl nicht so lange dauern. Setzt euch einfach in den Laden
rein, mit bunten Zipfelmuetzen damit ich euch erkenne, dann setze ich mich
unauffaellig an den Nebentisch und amuesiere mich ueber die Deppen, die bei so
einem Wetter laecherliche Zipfelmuetzen aufhaben...

GdA

-----------------------------------------------------------------------------



Re: Stati in Goeppingen (Region Stuttgart) (Leibniz, 19. Jun 2002, 19:37:19):
~#! rn=Hisasul rt=1024495650 rg=treffen
~#! tid=1024495650
also DER termin ist echt schlecht...

vielleicht ne woche spaeter?

gruss leibi

-----------------------------------------------------------------------------



Re: Hamburg! (Perdita, 19. Jun 2002, 21:03:45):
~#! rn=Troy rt=1024468007 rg=treffen
~#! tid=1024468007
so wies aussieht, werd ich wohl kommen. wenn ichs denn finde.
kann aber sein, dass ich spaeter komme, muss bis ca 18 uhr noch sommerfesten.
wie reist man denn da am besten an? auto? oepnv?
Perdita

-----------------------------------------------------------------------------



Re: Re: Stati in Goeppingen (Region Stuttgart) (Pardauz, 19. Jun 2002, 23:54:45):
~#! rn=Leibniz rt=1024508239 rg=treffen
~#! tid=1024495650
der is WIRKLICH schlecht, aber ne woche spaeter is mitten in den Pruefungen
also lieber ne woche frueher und wenns geht Freitag oder Sonntag :)

Pardauz


-----------------------------------------------------------------------------



Re: Re: Hamburg! (Troy, 20. Jun 2002, 08:35:16):
~#! rn=Perdita rt=1024513425 rg=treffen
~#! tid=1024468007
Mitm Auto bis an einen P+R an der S1 und dann mit der S1 nach Landungsbruecken
oder Altona. Von dort (jeweils) mit dem 112er bis Neumuehlen/Oevelgoenne. Von
Landungsbruecken aus kannste auch die Faehre 62 nehmen (alle 15 Minuten
Richtung Finkenwerder/Airbus).

Troy

-----------------------------------------------------------------------------



Re^3: Hamburg! (Grimmborn, 20. Jun 2002, 09:34:39):
~#! rn=Troy rt=1024554916 rg=treffen
~#! tid=1024468007
Ist die Faehre eigentlich Bestandteil des OePNV, d.h. kann ich die mit meiner
Monatskarte benutzen? 

GdA

-----------------------------------------------------------------------------



Re^4: Hamburg! (Troy, 20. Jun 2002, 10:27:58):
~#! rn=Grimmborn rt=1024558479 rg=treffen
~#! tid=1024468007
Ja. Issie. Du kannst benutzen:
Regulaere Busse des HVV
Metrobusse des HVV
Eilbusse des HVV
Schnellbusse des HVV (entweder mit Zuschlag oder Du hast eine 1. Klasse-
Monatskarte)
U-Bahn
S-Bahn
AKN (zumindest die Teile der AKN, die im HVV liegen, also bis maximal
Kaltenkirchen, Holstentherme)
Nachtbusse
Hafenfaehren
Fuer die DB-S-Bahnen (S21 Aumuehle <-> Friedrichsruh, S3 Harburg <-> Hittfeld,
S3 Harburg <-> Maschen, S4 und S5) gilt fuer die 1. Klasse das gleiche wie
unter Schnellbus.

NICHT jedoch enthalten sind die Schiffe der ATG (Alster Touristik GmbH) auf
der Alster.

Troy

-----------------------------------------------------------------------------



Stati Karlsruhe (Bambi, 20. Jun 2002, 19:15:44):
Heute ist Stati in Karlsruhe und zwar im KM.
Es ist bekannt, dass zwei Auswaertige kommen, aber Sistance weiss leider nix
drueber.
MfG, Bambi.

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 21. Jun 2002, 22:50:44):
huhu zusammen,
nachdem wir es alle leid sind, nicht mehr im enchilada einen stati zu haben,
wird der naechste mal wieder da stattfinden :)

 termin: 20.7.02
natuerlich puenktlich zur happy hour :)

bitte meldet euch diesmal _etwas_ frueher bei mir an. besten dank.

leibi 

-----------------------------------------------------------------------------



Stammtisch Seattle (Montanus, 22. Jun 2002, 16:04:09):
Der Stammtisch Seattle trifft sich gleich zum Fruehstueck.
Locutus, mach, dass du aus der Dusche rauskommst, ich hab Hunger.

-----------------------------------------------------------------------------



Re: Stati in Goeppingen (Region Stuttgart) (Aline, 23. Jun 2002, 16:20:31):
~#! rn=Hisasul rt=1024495650 rg=treffen
~#! tid=1024495650
Hi Hisasul,

Goeppingen finde ich gut. Wenn ihr Euch einigen koenntet, wann
der Stammtisch denn nun stattfindet UND das auch rechtzeitig
hier bekanntgebt, komm ich auch. Also, wenn ihr unter Euch
bleiben wollt...... ;)

Gruesse

Aline

-----------------------------------------------------------------------------



Stati GP... (Hisasul, 24. Jun 2002, 15:51:14):
Hallo nochmal,

Weil an besagtem Termin kaum Leute Zeit haben faellt der offizielle Stammtisch
in Goeppingen aus, ein neuer Termin steht momentan leider noch nicht fest.
Allerdings ist es gut moeglich uns (also die Shivas) an besagtem Termin dort
trotzdem anzutreffen...sorry Aline und alle anderen die sich das schon
eingeplant hatten!

Gruss His*

-----------------------------------------------------------------------------



Re: stati stuttgart (Pardauz, 24. Jun 2002, 21:05:59):
~#! rn=Leibniz rt=1024692644 rg=treffen
~#! tid=1024692644
hmpf, schonwieder nen samstag ...

Pardauz *abmeld*

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Montanus, 27. Jun 2002, 18:05:24):
~#! rn=Pardauz rt=1024945559 rg=treffen
~#! tid=1024692644
Ich glaub, es hat noch keiner den KA-Stammtisch heute angekuendigt.
Ich glaub 2000KMKA sollte schon gesagt werden.

Naechster Seattle-Stammtisch ist uebrigens am 28.9. - - mit Special guest.
RSVP, falls noch mehr Special Guests zu erwarten sind.

-----------------------------------------------------------------------------



Re: StaTi MS? (Gorog, 27. Jun 2002, 20:07:40):
~#! rn=Varlarion rt=1024480030 rg=treffen
~#! tid=1024480030
Hmpf, da redet man sich den Mund fusselig und sowohl Puk als auch Foobi
weigern sich das zu posten... Mach ich das halt... Also wenn das allgemein
angenommen wird: Donnerstag (nicht heute, naechste Woche!) Frauenstarsse 24.
Aenderungen vorbehalten...

Gorog kurz da und schon wieder arbeit...

-----------------------------------------------------------------------------



Fussball in Bonn (Liara, 27. Jun 2002, 22:54:54):
Falls jemand Lust hat, am Sonntag mit Gorog und meiner Wenigkeit DAS Spiel zu
guggen, moege er/sie mir bitte irgendwie eine Nachricht zukommen lassen. :-)

ZZL

-----------------------------------------------------------------------------



Re: Re: StaTi MS? (Mupfel, 27. Jun 2002, 23:01:55):
~#! rn=Gorog rt=1025201260 rg=treffen
~#! tid=1024480030
Komisch... und Perigin versucht krampfhaft, am Dienstag nen Grillstati am
Aasee anzuleiern... wenig Verstaendigung in Muenster, was?

-mupfel- (ist Donnerstag in Muenster, aber auf einem anderen Stati ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Fussball in Bonn (Mupfel, 27. Jun 2002, 23:18:44):
~#! rn=Liara rt=1025211294 rg=treffen
~#! tid=1025211294
Du hast grosse Raeumlichkeiten, vieel Chips und Paletten von Dosenbier? ;)

-mupfel-

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Fussball in Bonn (Cuchullin, 28. Jun 2002, 01:16:57):
~#! rn=Mupfel rt=1025212724 rg=treffen
~#! tid=1025211294
Das mit der .signature lernst auch Du noch irgendwann, was? :)

-----------------------------------------------------------------------------



Re: Re: StaTi MS? (Maarg, 28. Jun 2002, 21:01:49):
~#! rn=Gorog rt=1025201260 rg=treffen
~#! tid=1024480030
Bin da, wer noch?

Maarg

-----------------------------------------------------------------------------



Re^3: StaTi MS? (Varlarion, 28. Jun 2002, 22:37:58):
~#! rn=Maarg rt=1025290909 rg=treffen
~#! tid=1024480030
Also ich nich, obwohl ich grad in MS bin. Koennt ihr das nich Dienstag oder so
machen? Jedenfalls an nem anderen Tag als Donnerstag?

Varl*

-----------------------------------------------------------------------------



Re^3: Fussball in Bonn (Mupfel, 30. Jun 2002, 01:16:35):
~#! rn=Cuchullin rt=1025219817 rg=treffen
~#! tid=1025211294
aber ich doch nicht, wo denkst du hin ;)

-mupfel-


-mupfel-

-mupfel-

-mupfel-

-mupfel-

-----------------------------------------------------------------------------



Re^4: StaTi MS? (Gorog, 30. Jun 2002, 18:47:19):
~#! rn=Varlarion rt=1025296678 rg=treffen
~#! tid=1024480030
Soso, also auf vielfachen Wunsch wird das Treffen auf Dienstag vorverlegt, ich
werd wohl n Stueck spaeter kommen.
Gorog hofft noch jemanden vorzufinden...

-----------------------------------------------------------------------------



Re^5: StaTi MS? (Mupfel, 30. Jun 2002, 19:28:52):
~#! rn=Gorog rt=1025455639 rg=treffen
~#! tid=1024480030
Noch jemanden? Hmja vielleicht mich? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^6: StaTi MS? (Puk,  1. Jul 2002, 12:36:58):
~#! rn=Mupfel rt=1025458132 rg=treffen
~#! tid=1024480030
duh, macht das mal wer gescheit bitte :)
Was ?
Wo?
Wann ?
Wer ?

Puk, mag gerade nicht ;)

-----------------------------------------------------------------------------



Re^7: StaTi MS? (Cuchullin,  1. Jul 2002, 13:39:09):
~#! rn=Puk rt=1025519818 rg=treffen
~#! tid=1024480030
Stammtisch Donnerstag, Gruener Jaeger, Osnabrueck, 20:07, Du? ;)


-----------------------------------------------------------------------------



Re^8: StaTi MS? (Beelzebub,  1. Jul 2002, 13:47:56):
~#! rn=Cuchullin rt=1025523549 rg=treffen
~#! tid=1024480030
Donnerstag Gruener Jaeger ? Ist das offiziell ? Wenn ja, koennte ich dabei
sein, is aber unsicher...

Beelze ]:-) 

-----------------------------------------------------------------------------



Re^9: StaTi MS? (Cuchullin,  1. Jul 2002, 15:58:32):
~#! rn=Beelzebub rt=1025524076 rg=treffen
~#! tid=1024480030
Nein, natuerlich nicht offiziell. Abgesehen davon gibt es glaub ich
schoenere Locations als den gruenen Jaeger. Wie heisst denn nochmal das
Ding direkt neben dem neuen Unikomplex in der Kolpingstrasse...


-----------------------------------------------------------------------------



Stati MS - 2.07.2002 (Varlarion,  1. Jul 2002, 17:29:04):
Liebe Gemeinde,

angesichts der Tatsache, dass man sich mal wieder auf nichts einigen kann,
rufe ich hiermit fuer morgen, Di den 2.7.2002 den Muensteraner StaTi aus. Wir
treffen uns wie immer gegen 20:07 Uhr im McDonalds an der Ludgeristrasse und
werden - nach ausreichender Fuetterung - ins Spooky's (nach Moeglichkeit in
die Kuschelecke oben) umziehen.

Kommet zuhauf,

Varl*, zur Zeit mal wieder in der alten Heimat (+2)

-----------------------------------------------------------------------------



StaTi OS (Varlarion,  1. Jul 2002, 17:30:40):
Also ich finde, wir sollten den StaTi in OS naechste Woche machen (dann sind
wir naemlich wieder da ;) und dann offiziell.

-----------------------------------------------------------------------------



Re: Stati MS - 2.07.2002 (Puk,  2. Jul 2002, 18:21:40):
~#! rn=Varlarion rt=1025537344 rg=treffen
~#! tid=1025537344
ich halts fuer ein geruecht das wir uns IMMER bei McDreck treffen, meist
treffen wir uns erst und gehen dann dorthin ;)

-----------------------------------------------------------------------------



Re: Re: Stati MS - 2.07.2002 (Ronda,  2. Jul 2002, 18:36:08):
~#! rn=Puk rt=1025626900 rg=treffen
~#! tid=1025537344
Wie? Die Muensteraner versuchen jetzt, den McD Pleite zu machen?! Wow. Hohes
Ziel. Aber bei Eurem Training im "Kneipe-wird-MG-Stammtisch ->
Kneipe-ist-Pleite" trau ich Euch das echt zu ;-)

Ronda *leider fast immer zu weit weg fuer MS-Statis*

-----------------------------------------------------------------------------



Re: Re: Stati MS - 2.07.2002 (Varlarion,  2. Jul 2002, 18:56:50):
~#! rn=Puk rt=1025626900 rg=treffen
~#! tid=1025537344
Das IMMER bezog sich auf die Uhrzeit. Jammer nich und sei einfach da ;)

-----------------------------------------------------------------------------



DA05071900HP (Ark,  2. Jul 2002, 18:58:50):
Wie schaut's?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: DA05071900HP (Mandragon,  2. Jul 2002, 19:09:45):
~#! rn=Ark rt=1025629130 rg=treffen
~#! tid=1025629130
Gut schauts.

Ma*

-----------------------------------------------------------------------------



Re: Re: DA05071900HP (Zephyr,  2. Jul 2002, 22:29:03):
~#! rn=Mandragon rt=1025629785 rg=treffen
~#! tid=1025629130
zu frueh, aber ich schaetze wir gesellen uns irgendwann dazu..
C4, fruehestens 19:30 in DA

-----------------------------------------------------------------------------



Re^3: DA05071900HP (Mandragon,  2. Jul 2002, 22:54:31):
~#! rn=Zephyr rt=1025641743 rg=treffen
~#! tid=1025629130
19:30 ist nicht spaet ...  :-))) Und lieber mittelfrueh als spaet oder nie ;-)

Bis Freitag
Mandragon

P.S.: Es ist Heinerfest :-)

-----------------------------------------------------------------------------



Re^3: Stati MS - 2.07.2002 (Maarg,  3. Jul 2002, 02:05:07):
~#! rn=Ronda rt=1025627768 rg=treffen
~#! tid=1025537344
Uebrigens:

Wir wirken auch mit Verzoegerung. Neulich hat naemlich das "Alabama" auf der
Aegidiistrasse zugemacht. Da waren wir in den letzten Jahren ab und zu mal,
sind aber nicht mehr hingegangen weil die Rippchen auf einmal scheisse waren.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re^4: Stati MS - 2.07.2002 (Cuchullin,  3. Jul 2002, 02:11:14):
~#! rn=Maarg rt=1025654707 rg=treffen
~#! tid=1025537344
Wuah, dann muss ich ja anfangen zu ueberlegen, was ich noch so kenne...

Tribunal? Dat jibbet noch, oder? In der Cavete waren wir auch einige
Male, da muesst' ich aber erst mal wieder hinfinden... Na, gut dass es 
noch fuenfzigtausenddreihundert andere Kneipen in Muenster gibt. ;)


-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing,  3. Jul 2002, 08:43:16):
Hat schon jemand erwaehnt, dass auch diesen Donnerstag um 20 Uhr wieder
Stammtisch im Kleinen Meierhof in Karlsruhe ist? Nein? Dann erwaehn ich 
es hiermit ...
  Boing

-----------------------------------------------------------------------------



Re^5: Stati MS - 2.07.2002 (Catweazle,  3. Jul 2002, 09:06:26):
~#! rn=Cuchullin rt=1025655074 rg=treffen
~#! tid=1025537344
Tribunal gibts schon lange nicht mehr, heisst jetzt Meiers. Cavete heisst
tatsaechlich immer noch Cavete, hat aber mittlerweile ne Brauerei gekauft. 

Yours truly,
     Catweazle (war gestern leider dienstlich auswaerts)

-----------------------------------------------------------------------------



stati in B (Gnome,  3. Jul 2002, 14:45:36):
hallo berliner!

diesen monat gibt es mal wieder einen puenktlichen stati, naemlich am:

Freitag, 5.7.02, ab 20.00h im aufsturz.

gnOme

-----------------------------------------------------------------------------



Re^8: StaTi MS? (Mupfel,  5. Jul 2002, 00:35:06):
~#! rn=Cuchullin rt=1025523549 rg=treffen
~#! tid=1024480030
Das du damit wartest, das wir mal einmal nicht da sind, laesst fast schon
seltsame Gedanken aufkommen...

-mupfel-

-----------------------------------------------------------------------------



Re^9: StaTi MS? (Varlarion,  5. Jul 2002, 00:36:26):
~#! rn=Mupfel rt=1025822106 rg=treffen
~#! tid=1024480030
Stimmt. Aber hey, wir hatten dafuer hier in MS Dienstag und heute abend zwei
aeusserst gemuetliche Stammtische :)

Varl*, reibt sich den mit Grillgut gefuellten Bauch

-----------------------------------------------------------------------------



loveparade berlin (Keks,  8. Jul 2002, 07:25:04):
13. juli!! - yadis und ich werden dort sein!! vielleicht koennte man das mit
einem kleinen mg-treffen verbinden? :-)) ich bleibe allerdings nur von etwa 12
bis 18 uhr!!! wer meine handy-nummer nicht hat, kann sich ja mit pitfall oder
rochus absprechen :-) baba - KEKS

-----------------------------------------------------------------------------



Berlinbesuch (Joshua, 12. Jul 2002, 07:50:42):
Hier nochmal ganz offiziell - ich weile die naechsten Wochen in Deutschland.
Hauptsaechlich in Berlin. Werde wohl nur sehr unregelmaessig die Moeglichkeit
haben reinzuschaun - aber ich hoffe viele der Berliner zu treffen. Ich hab
noch keinen genauen Plan wann ich da bin und werd mich hier nochmal melden
sobald sich das rauskristallisiert. Haette wirklich Lust mal die Berliner
Stammtischrunde kennenzulernen - und ich hab mein TF fuer eventuelle
Rudel-Aktionen eingepackt :-)

Josh - macht jetzt Urlaub und wuenscht allen derweil viel Spass ...

-----------------------------------------------------------------------------



Berlin (Liara, 12. Jul 2002, 22:54:10):
Bin mal in Berlin vom 26. bis 28. Juli.
Gibt es zu der Zeit irgendwas besonders Sehenswertes?

Gruesse, Liara

-----------------------------------------------------------------------------



Re: Berlin (Grimmborn, 12. Jul 2002, 22:55:26):
~#! rn=Liara rt=1026507250 rg=treffen
~#! tid=1026507250
Ist nicht kuerzlich das Bodemuseum wiedereroeffnet worden? Ansonsten kann ich
das Schloss Charlottenburg mit Park und Nebengebaeuden (Aegyptisches Museum!)
jederzeit waermstens empfehlen.

GdA

-----------------------------------------------------------------------------



Re: Re: Berlin (Gloinson, 12. Jul 2002, 23:18:30):
~#! rn=Grimmborn rt=1026507326 rg=treffen
~#! tid=1026507250
Im schlimmsten Fall gibt es einen SonderStati gegenueber der Synagoge in
Mitte.

Gloin(son) zwinkert

-----------------------------------------------------------------------------



stuttgart stati (Leibniz, 14. Jul 2002, 14:44:42):
huhu zusammen,
mal wieder eine kleine aenderung des statis :)
anstatt ins enchilada zu gehn (ist ja immer das gleiche da und soviele
cocktails trinken ist gar nicht gut...) gehn wir aufs lichterfest auf dem
killesberg.
termin 20.7. 
treffpunkt ist bei mir zu hause :)
wegbeschreibung auf anfrage, aber ich denke, die kommen, wissen den weg eh.
diesmal brauch sich auch keiner anmelden - macht ihr ja sowieso nie...

bis dann leibi

-----------------------------------------------------------------------------



Re: stuttgart stati (Imda, 14. Jul 2002, 14:53:15):
~#! rn=Leibniz rt=1026650682 rg=treffen
~#! tid=1026650682
Treffen in Kornwestheim um zum Lichterfest zu gehn ?  
Nuja, ma kann sich auch n Fleischkuechle aufs Knie nageln, wenns einem denn
gefaellt...

-----------------------------------------------------------------------------



Re: Re: stuttgart stati (Leibniz, 14. Jul 2002, 16:03:47):
~#! rn=Imda rt=1026651195 rg=treffen
~#! tid=1026650682
hmm haste ja im grunde recht...
wir koennten uns auch an der haltestelle der u7 (killesberg messe?) treffen.
sacht mal was

leibi

-----------------------------------------------------------------------------



Re^3: Berlin (Zook, 14. Jul 2002, 16:07:01):
~#! rn=Gloinson rt=1026508710 rg=treffen
~#! tid=1026507250
Die Sammlung Berggruen oder wie der sich schrieb ist auch sehr zu 
empfehlen.

Zook.

-----------------------------------------------------------------------------



Sonderstati Berlin :) (Brotnael, 17. Jul 2002, 20:16:22):
Da am Freitag Nesaja in Berlin ist ruf ich einfach mal ne Sonderstati aus.
Treffen wieder Aufsturz (oder Absturz? *gruebel*) um 20.00 Uhr. Kommt
zahlreich und seid spendabel *kicher*

Broti.

-----------------------------------------------------------------------------



Sonderstati zusatz (Brotnael, 17. Jul 2002, 20:18:10):
Asu, datum is natuerlich diesen Freitag, 19.7.02 :o) halt Kurzfristig wie
immer :o)

Broti

-----------------------------------------------------------------------------



Sonderstati Kaffeesatz (Gloinson, 18. Jul 2002, 02:28:19):
Samstag nach dem Saufen gehen wir an den Strand (das Wetter ist natuerlich
gut) Richtung Schmoeckwitz/Alt Schmoeckwitz. Vorschlaege einzelner Stellen
sind willkommen, Grill wird mitgenommen - Grillate soll jeder selbst oder
gruppenweise mitbringen, Meldungen sind willkommen. Wer nicht schwimmen kann,
kriegt 'nen Ast.

Gloin(son)

-----------------------------------------------------------------------------



Re: Sonderstati Kaffeesatz (Brotnael, 18. Jul 2002, 02:30:09):
~#! rn=Gloinson rt=1026952099 rg=treffen
~#! tid=1026952099
Vorschlag waer bissel weiter raus aus schmoeckwitz am besten Krossinsee die
Gegend. Ich wuerd daraus gleich vielleicht sone halbe Fahradtour vorschlagen
:o) 
Und nen Ast nehm ich immer gern :o))

Brot

-----------------------------------------------------------------------------



Re: Re: Sonderstati Kaffeesatz (Gloinson, 18. Jul 2002, 02:47:37):
~#! rn=Brotnael rt=1026952209 rg=treffen
~#! tid=1026952099
Du kannst schwimmen. Du kriegst allenfalls von Pitfall die Rute.

Gloin(son)

-----------------------------------------------------------------------------



Re^3: Sonderstati Kaffeesatz (Grimmborn, 18. Jul 2002, 06:34:00):
~#! rn=Gloinson rt=1026953257 rg=treffen
~#! tid=1026952099
Ach was, wenn genug Wind ist kommen die Aeste in Berlin von alleine. Aber
wieso schwimmen, war das nicht was mit Zeltlager?

GdA

-----------------------------------------------------------------------------



Paintball Stu* (Bambi, 19. Jul 2002, 09:48:15):
Hi alle.

Wir "planen" mal wieder einen Paintball Sams- oder Sonntag auf dem Feld
zwischen Karlsruhe und Pforzheim. Genaueres krieg ich morgen wohl noch raus.
Interessierte melden sich bitte bei Imda oder mir zwecks
Leihgeraetereservierung. "Auswaertige" sind natuerlich willkommen. (Wir sind
alle Anfaenger ;) )
Besagtes Feld ist ein Sup-Air Speedballfeld.
Wenn sich eine Mehrheit gegen dieses Feld ausspricht, koennen wir gerne auch
nach Kl (Kaiserslautern) oder nach Baumholder fahren. Ich wuerd dann die
betreffenden Ansprechpartner kontaktieren und rausfinden, an welchen der
genannten Tage die offen haben.
Achja, die Daten.
Also morgen oder uebermorgen in einer Woche. Das ist der 27/28.Juli, wenn ich
mich nicht taeusche. Ich fahr morgen zwar _kurz_ zum Feld zwischen Ka* und
Pf*, aber leider nicht zum Leute beschiessen. :|

MfG, Bambi (blutruenstig).

-----------------------------------------------------------------------------



Re: Paintball Stu* (Nonne, 19. Jul 2002, 10:38:32):
~#! rn=Bambi rt=1027064895 rg=treffen
~#! tid=1027064895
Ein blutruenstiges Bambi kann ich mir so richtig gut vorstellen (c;

-----------------------------------------------------------------------------



Re: Paintball Stu* (Bambi, 21. Jul 2002, 19:56:20):
~#! rn=Bambi rt=1027064895 rg=treffen
~#! tid=1027064895
Definitive Daten...
Samstag, 27. Juli, ab 11 Uhr am Feld.
Alles was von Karlsruhe oder dem Norden kommt und mitgeht, kann sich bei mir
melden, alles andere, also Stuttgarter und der Rest ausm Sueden bei Imda.
Wegbeschreibungen hab ich keine, aber der Ort heisst Soellingen.
Melden waer vor morgen abend sinnvoll, weil ich dann Rueckmeldungen zwecks
Leihausruestung etc. taetige.

MfG.....

-----------------------------------------------------------------------------



Stammtisch in Bochum ??? (Miril, 23. Jul 2002, 13:56:35):
Ich wollte mal hoeren, ob generell Interesse an einem Stammtisch in Bochum
besteht. Clochard oder Grunewald fiele mir da als Treffpunkt spontan ein.
Meldet euch mal zahlreich ;-)
Miril

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum ??? (Morgoth, 23. Jul 2002, 14:03:19):
~#! rn=Miril rt=1027425395 rg=treffen
~#! tid=1027425395
Das hat Ahab schon mal vor nem Jahr probiert, das wird nix. Wenn Du ueberhaupt
noch Leute aus der Gegend locken willst, dann nach Dortmund. Da finden sich
dann auch evtl. Gaeste aus MS/OS/D ein.

M*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum ??? (Miril, 23. Jul 2002, 14:12:32):
~#! rn=Morgoth rt=1027425799 rg=treffen
~#! tid=1027425395
Naja, wenn Ahab das auch schon mal probierte sinds doch schon zwei.
Und ein Jahr ist ne lange Zeit ;-) Schauen wir mal...
Miril

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum ??? (Apollonia, 23. Jul 2002, 14:14:28):
~#! rn=Miril rt=1027425395 rg=treffen
~#! tid=1027425395
Also einer von uns koennte bestimmt kommen, es sei denn, wir kriegen so
kurzfristig nen Babysitter (leider kommt da nur einer in Frage).

Apo*

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum ??? (Ahab, 23. Jul 2002, 19:28:38):
~#! rn=Miril rt=1027425395 rg=treffen
~#! tid=1027425395
Hiho :-)

Das ist ja mal eine unerwartete Anfrage! :) Ich hatte vor laengerem (das 
erwaehnte 1 Jahr kann hinkommen) mal versucht, einen Stammtisch in BO zu
organisieren, aber in der Tat nur die 4 in BO 'ansaessigen' Mudder bewegen
koennen. Wir haben uns dann entschlossen, den Bochumer mit dem Dortmunder
StaTi quasi 'zusammenzulegen', aber IMHO spricht nach wie vor nix gegen einen
eigenen Bochumer StaTi...
Bloss wuerde ich da vom Grunewald angesichts der Mudder-untauglichen Preis-
lage abraten. Vor allem: welcher Wochentag bzw. welches Datum schwebt Dir 
denn vor? Naja, Fragen ueber Fragen :-)

Fazit: generell nicht abgeneigt. ;-)
Ahoi,
Ahab.

-----------------------------------------------------------------------------



Grill-Stati am Freitag, 26.07.02 bei mir (Mesirii, 24. Jul 2002, 15:14:12):
Hallo liebe Mitmudder,

um den letzten nicht so zahlreich besuchten Grill-Stati zu wiederholen,
ist am Freitag!!!!, den 26.07.02 erneut ein Grill-Event geplant.

Beginn so gegen 19:00.

Da dieses zum Wochenende hingeht, besteht auch fuer nicht DD-Mudder und
Familienangehoerige :), die Moeglichkeit ihn zu besuchen.

Mit dem Fleisch werden wir es wieder so machen: wer sich vorher anmeldet
bekommt Steaks mitgebracht.
Getraenketechnisch ist das nich so trivial weil jeder was anderes trinkt.
Ihr koennt ja bei der anmeldung sagen was ihr trinken wollt, und wenn sich
das auf einen nenner bringen laesst kaufe ich halt nen kasten <xxx>.
Einzelflascheneinkauf werd ich eher nich machen. Da sage ich dann vorher
nochmal Bescheid. (gesprudeltes Leitungswasser (ggf. mit Geschmack) gibts
gratis).

Meldet Euch reichlich!

Gruss Mesi

Hallo Ihrs,

ich hab noch 2 Sachen vergessen:

1. nochmal meine Adresse:

Michael Hunger
Mathildenstr. 4
01069 Dresden

ist im Stadtzentrum von Dresden zwischen Pirnaischem und Strassburger
Platz in dieser Richtung auf der linken Seite der Fahrbahn.
Leider ist da kein linksabbiegen moeglich, wer also vom Pirnaischen Platz
aus kommt muss das Gelaende umfahren, d.h. statt geradeaus zum
Strassburger Platz nach links Richtung Elbe abbiegen, dann an der
naechsten Kreuzung (wo die 2 Pferde stehen) rechts, am Netto vorbei und
direkt nach der Fussgangerampel hinterm Netto rechts (Mathildenstr) rein.
Dann die naechste Querstrasse links und da nen Parkplatz suchen. Der
umbaute Hof grenzt an die rechte Seite dieser Strasse.

Strassenbahntechnisch sehr gut zu erreichen
Haltestellen: Zirkusstrasse, Strassburger Platz, Pirnaischer Platz
Eingang ist im Innenhof.

Wenn schlechtes Wetter ist, koennten wir zum Griechen essen gehen. Der ist
nich weit weg, hat lecker Essen (auch vegetarisch) und ist ganz
gemuetlich.

Gruss Micha/Mesi

-----------------------------------------------------------------------------



Re: Grill-Stati am Freitag, 26.07.02 bei mir (Zarniya, 24. Jul 2002, 15:18:57):
~#! rn=Mesirii rt=1027516452 rg=treffen
~#! tid=1027516452
meinst du, dass HUNGER ein guter Name fuer einen ist, der Grillen organisiert?
:-)


-----------------------------------------------------------------------------



Re: Re: Grill-Stati am Freitag, 26.07.02 bei mir (Amaryllis, 24. Jul 2002, 15:39:47):
~#! rn=Zarniya rt=1027516737 rg=treffen
~#! tid=1027516452
Klar. Weiss doch jeder, dass Hunger der beste Koch ist.

Ama*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum ??? (Mupfel, 24. Jul 2002, 23:05:48):
~#! rn=Morgoth rt=1027425799 rg=treffen
~#! tid=1027425395
Das hat sich geaendert, Moggl. Varl* kriegst Du nur noch unter Androhung roher
Gewalt nach DO. Also vielleicht dann doch OS in BO ;)


-mupfel-

-----------------------------------------------------------------------------



Re^3: Stammtisch in Bochum ??? (Varlarion, 24. Jul 2002, 23:07:36):
~#! rn=Mupfel rt=1027544748 rg=treffen
~#! tid=1027425395
Das stimmt so aber auch nicht - sofern ihr denn inzwischen ne bessere Kneipe
gefunden habt, als das Boomerang (welches ich persoenlich zum kotz.. fand).
Aber ich wuerde natuerlich auch nach BO fahren, die 15 Min mehr Zugfahrt
machen den Braten auch nicht fett...

Varl*

-----------------------------------------------------------------------------



Re^4: Stammtisch in Bochum ??? (Apollonia, 25. Jul 2002, 07:58:14):
~#! rn=Varlarion rt=1027544856 rg=treffen
~#! tid=1027425395
Haben wir!!!!! Ich persoenlich fand das Boomerang viel zu teuer. Der letzte
Stammtisch fand in einer Kneipe namens 'America' statt, das war am
Weltfrauentag und da hatten die billige Caipis... *schwelg* 

Apo*
war zwar erst besoffen (gell Varlarion), wuerde aber trotzdem gern wieder...

-----------------------------------------------------------------------------



Re^5: Stammtisch in Bochum ??? (Varlarion, 25. Jul 2002, 14:22:11):
~#! rn=Apollonia rt=1027576694 rg=treffen
~#! tid=1027425395
Caipis, hmm... Wer traegt mir dann meine Mupfel zum Bahnhof?

-----------------------------------------------------------------------------



Re^6: Stammtisch in Bochum ??? (Liara, 25. Jul 2002, 16:43:42):
~#! rn=Varlarion rt=1027599731 rg=treffen
~#! tid=1027425395
Schraub' Rollen dran ...

-----------------------------------------------------------------------------



010820022000KAPF (Muadib, 29. Jul 2002, 15:20:12):
fuer alle Nichteingeweihten: Der Karlsruher Stammtisch findet bis auf Widerruf
nicht im Kleinen Meierhof sondern im Pfannenstiel statt.
Tag(Donnerstag) und Uhrzeit(20:00) bleibt gleich.
Wegbeschreibungen gibt bevorzugt Boing. Ihr koennt auch gern eine
Wegbeschreibung von mir haben, aber dann solltet Ihr ein paar Stunden frueher
aufbrechen.

Gruss

Muadib

-----------------------------------------------------------------------------



Re: 010820022000KAPF (Boing, 29. Jul 2002, 15:37:10):
~#! rn=Muadib rt=1027948812 rg=treffen
~#! tid=1027948812
Wieso geb ich bevorzugt Wegbeschreibungen? Croft hat doch dazu schon
ein Whitepaper vorbereitet. Vor allem weiss ich grad eh nicht so genau,
wo der Pfannstiel ist, da muss ich mich selbst erst mal informieren.
Bei Croft selbstverstaendlich.
  Boing

-----------------------------------------------------------------------------



Re: Re: 010820022000KAPF (Croft, 29. Jul 2002, 15:43:22):
~#! rn=Boing rt=1027949830 rg=treffen
~#! tid=1027948812
Whitepaper?  Dafuer ist Vincent zustaendig.  Ich hab nur gesagt das ich
Vincent helfe falls er es nicht schafft.  Aber informieren kann ich dich
trotzdem.
Gruss Croft

-----------------------------------------------------------------------------



Re^3: 010820022000KAPF (Vincent, 29. Jul 2002, 17:33:51):
~#! rn=Croft rt=1027950202 rg=treffen
~#! tid=1027948812
Wieso bin ich fuer Whitepaper zustaendig? Es kann sich hierbei nur um einen
unbeabsichtigten Irrtum meines Vorredners handeln. Ich dementiere meine
Zustaendigkeit fuer Whitepapers ganz entschieden und mit Nachdruck. Fuer
Anfahrtskizzen reicht doch ausserdem ein Draft und da koennte ich mir fast
keinen besseren vorstellen als Bambi, der ja erstens nicht aus Karlsruhe
kommt, und zweitens deswegen den Weg kennt, und drittens wohl auch fuer
Nicht-Karlsruher beschreiben kann - d.h. falls er weiss, wo der Pfannenstiel
ist.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^4: 010820022000KAPF (Muadib, 31. Jul 2002, 12:51:04):
~#! rn=Vincent rt=1027956831 rg=treffen
~#! tid=1027948812
okok wegbeschreibungen gibt es halt, mangels whitepaper, keine

-----------------------------------------------------------------------------



Re^5: 010820022000KAPF (Zook, 31. Jul 2002, 12:56:13):
~#! rn=Muadib rt=1028112664 rg=treffen
~#! tid=1027948812
Also unter den Umstaenden kommt eine Anwesenheit von mir natuerlich
ueberhaupt nicht in Betracht. ;)

Zook..

-----------------------------------------------------------------------------



Re^6: 010820022000KAPF (Vincent, 31. Jul 2002, 13:07:18):
~#! rn=Zook rt=1028112973 rg=treffen
~#! tid=1027948812
Also, wenn Du wirklich zum Stammtisch kommen wolltest, Zook, dann wuerde
ich persoenlich dafuer sorgen, dass Du keine Wegbeschreibung brauchst, will
sagen, ich hole dich vom Bahnhof ab. :)

Gruss
Vincent


-----------------------------------------------------------------------------



stati in B (Gnome, 31. Jul 2002, 13:23:52):
und in berlin gibt es natuerlich auch einen leckeren stati.
am kommendem Fr., 02.08. und natuerlich wieder im "aufsturz", ab 20:00.

gnOme

-----------------------------------------------------------------------------



Re: stati in B (Pitfall, 31. Jul 2002, 13:24:37):
~#! rn=Gnome rt=1028114632 rg=treffen
~#! tid=1028114632
leckerer stati?
wer kommt denn und bringt nachwuchs mit?
und sorgst du fuer den grill gnoemchen? :)

-----------------------------------------------------------------------------



Re: Re: stati in B (Birdy, 31. Jul 2002, 13:30:39):
~#! rn=Pitfall rt=1028114677 rg=treffen
~#! tid=1028114632
Wenn der Stati wieder im Seeblick stattfindet, komm ich auch wieder hin.
Aufsturz ist mir viel zu laut und hektisch. Laufend rumpelt eine Strassenbahn
vorbei, die Autos fahren Stossstange an Stossstange ...
Hab auch gar nicht bemerkt, dass Aufsturz unser "offizieller" Statistuetzpunkt
geworden ist, wie Gnome mir eben mitteilte.

Gruss
Birdy

-----------------------------------------------------------------------------



Re^3: stati in B (Pitfall, 31. Jul 2002, 13:31:03):
~#! rn=Birdy rt=1028115039 rg=treffen
~#! tid=1028114632
zeitung lesen hilft da ab und an birdy :)

-----------------------------------------------------------------------------



Re^3: stati in B (Zook, 31. Jul 2002, 13:31:29):
~#! rn=Birdy rt=1028115039 rg=treffen
~#! tid=1028114632
Oh, im Aufsturz ist es nett. Man hats nicht weit bis zur Straba-Haltestelle,
man kann da nett sitzen etc. Nur Biersorten hats nicht genuegend.

Zook.

-----------------------------------------------------------------------------



Re^4: stati in B (Gnome, 31. Jul 2002, 13:32:21):
~#! rn=Zook rt=1028115089 rg=treffen
~#! tid=1028114632
dir sind 100 nicht genug? pffffffffffffffft. :)

-----------------------------------------------------------------------------



Re^7: 010820022000KAPF (Bambi, 31. Jul 2002, 13:32:46):
~#! rn=Vincent rt=1028113638 rg=treffen
~#! tid=1027948812
Soweit ich das verstanden habe, muesste folgende Wegbeschreibung korrekt
sein...

1. Man nutze eine schon bestehende Wegbeschreibung, um zum Kleinen Meierhof zu
kommen.
2. Man stelle sich vor den Kleinen Meierhof, die Eingangstuer des selben im
Ruecken.
3. Man tue so, als sei 2. nicht woertlich zu nehmen und haenge die Tuer wieder
ein.
4. Man drehe sich so, dass der eigene Ruecken zur Tuer zeigt (um 2. und 3. zu
ersetzen.)
5. Man drehe sich grob um 90 Grad nach links. Man gehe die Strasse entlang in
Richtung Metzelgebiet. Vor dem Metzelgebiet bewege man sich rechts in die
Strasse, die dort ist.
6. In selbiger Strasse bewege man sich solange in eine geeignet erscheinende
Richtung, bis man links den Pfannenstiel erblicke.
7. Man nehme sich jemanden mit, der einem "geeignet erscheinende Richtung"
erklaere (fuer 6.).
8. Man betrete den Pfannenstiel.

MfG, Bambi.

-----------------------------------------------------------------------------



Wacken (Critter, 31. Jul 2002, 13:34:10):
faehrt irgendwer aufs WackenOpenAir? Wenn ja moege er sich bei mir melden,
dann koennte man sich da ja mal treffen.

-----------------------------------------------------------------------------



Re^8: 010820022000KAPF (Zook, 31. Jul 2002, 13:40:43):
~#! rn=Bambi rt=1028115166 rg=treffen
~#! tid=1027948812
Ich hab das mal ueberlesen, falls ich komme, komme ich mit Vincent ;)

Zook.

-----------------------------------------------------------------------------



Re^3: stati in B (Tenar, 31. Jul 2002, 13:56:39):
~#! rn=Birdy rt=1028115039 rg=treffen
~#! tid=1028114632
Hallo
Aufsturz ist ja nich soo schlecht - aber Birdy hat mit seinen Einwaenden schon
recht.
Koennen wir nicht noch was anderes ausprobieren, bevor wir uns auf das
Aufsturz als neue Stati-Kneipe festlegen. Mehr als 100 Biersorten sind ja
nicht schlecht - aber draussen sich unterhalten koennen hat auch was fuer
sich.

Diesmal leider nicht dabei
Tenar

-----------------------------------------------------------------------------



Re^4: stati in B (Gnome, 31. Jul 2002, 13:58:13):
~#! rn=Tenar rt=1028116599 rg=treffen
~#! tid=1028114632
also man kann sich draussen in bequemer lautstaerke unterhalten.
und alle 10 min faehrt mal ne tram vorbei. wo ist jetzt das problem?

-----------------------------------------------------------------------------



Re^5: 010820022000KAPF (Cadrach, 31. Jul 2002, 13:58:19):
~#! rn=Muadib rt=1028112664 rg=treffen
~#! tid=1027948812
Mal eine rein akademische Frage: gibt es ueberhaupt Besucher des Karlsruher
Stammtisches die nicht ohnehin wissen wo die Kneipe ist? :o)

Cad*

-----------------------------------------------------------------------------



Re^6: 010820022000KAPF (Boing, 31. Jul 2002, 13:59:03):
~#! rn=Cadrach rt=1028116699 rg=treffen
~#! tid=1027948812
Inesha und Lurchi schaetz ich ...
  Boing

-----------------------------------------------------------------------------



Re^7: 010820022000KAPF (Lurchi, 31. Jul 2002, 14:00:55):
~#! rn=Boing rt=1028116743 rg=treffen
~#! tid=1027948812
also nach bambis toller beschreibung wuerd ich sie finden...
wenn sie stimmt :)

lurchi

-----------------------------------------------------------------------------



Re^8: 010820022000KAPF (Boing, 31. Jul 2002, 14:01:30):
~#! rn=Lurchi rt=1028116855 rg=treffen
~#! tid=1027948812
Wenn Du weisst, wie 'Metzelgebiet' zu interpretieren ist, stimmt sie.
  Boing

-----------------------------------------------------------------------------



Re^9: 010820022000KAPF (Jameson, 31. Jul 2002, 14:03:16):
~#! rn=Boing rt=1028116890 rg=treffen
~#! tid=1027948812
Da bleibt nicht viel zu interpretieren, das ist recht zweideutig. :) Aeh,
wollte sagen, eindeutig.

-----------------------------------------------------------------------------



Re^5: stati in B (Gloinson, 31. Jul 2002, 14:03:18):
~#! rn=Gnome rt=1028116693 rg=treffen
~#! tid=1028114632
Es kommen zu wenig der leichten Maedchen vorbei?

Gloin(son), sich und Cakey fuer Freitag gen ... Duesseldorf abmeldend

-----------------------------------------------------------------------------



Re^5: stati in B (Pitfall, 31. Jul 2002, 17:11:51):
~#! rn=Gnome rt=1028116693 rg=treffen
~#! tid=1028114632
ok,
sobald ich ne kneipe in zeuthen gefunden hab die unseren anspruechen genuegt
verlegen wir dahin :o)

-----------------------------------------------------------------------------



Re^6: stati in B (Gloinson, 31. Jul 2002, 17:28:18):
~#! rn=Pitfall rt=1028128311 rg=treffen
~#! tid=1028114632
Ich glaub da lade ich eher nochmal zu uns in den Club ein als nach Zeuthen zu
fahren :)

Gloin-"habe ich erwaehtn das heute Clubabend ist"-(son)

-----------------------------------------------------------------------------



Re^6: stati in B (Solmyr,  1. Aug 2002, 06:22:22):
~#! rn=Pitfall rt=1028128311 rg=treffen
~#! tid=1028114632
Sagte ich bereits, das ich auch kommen (moechte) :) Irgendwelche
Einwaende oder vorhersehbare Dinge wie 'ne Bierdusche wegen meiner
langen Abwesenheit? ... denn dann wuerde ich es mir durchaus noch
einmal ueberlegen :D


Fare well,
Sol*

-----------------------------------------------------------------------------



Re^7: stati in B (Brotnael,  1. Aug 2002, 16:11:04):
~#! rn=Solmyr rt=1028175742 rg=treffen
~#! tid=1028114632
Ich dacht, das waer mittlerweile ein eingebuergertes ritual auf jedem berliner
stati.. warum sonst wasch ich mich nen ganzen monat nicht...

Brot

-----------------------------------------------------------------------------



Re^9: stati in B (Brotnael,  1. Aug 2002, 16:16:14):
~#! rn=Zook rt=1028211352 rg=treffen
~#! tid=1028114632
Noe, das war ich schonmal :o)

brot

-----------------------------------------------------------------------------



Treffen in HH? (Idlefix,  2. Aug 2002, 21:39:59):
Wie waere es mit einem Treffen in Hamburg? Ich wuerde mich freuen. Vielleicht
koennen Troy und Bielefeld ja etwas ausbrueten.

Gruss Idlefix

-----------------------------------------------------------------------------



Re: Treffen in HH? (Grimmborn,  2. Aug 2002, 22:04:19):
~#! rn=Idlefix rt=1028317199 rg=treffen
~#! tid=1028317199
Ja, aber lass Dir Zeit und v.a. Ort genau beschreiben. Besteh drauf dass Troy
vorher kontrolliert, ob es den Treffpunkt ueberhaupt noch gibt. ;-)

GdA

-----------------------------------------------------------------------------



Re: Re: Treffen in HH? (Mupfel,  2. Aug 2002, 22:32:19):
~#! rn=Grimmborn rt=1028318659 rg=treffen
~#! tid=1028317199
Und warte, bis das Wasser abgelaufen ist ;)

-mupfel-

-----------------------------------------------------------------------------



080820022000KABM (Croft,  3. Aug 2002, 16:15:53):
Nachdem der "neue" Pfannenstiel eher eine Enttaeuschung war, geht es
naechsten Donnerstag ins Brauhaus Moninger.  Das befindet sich
in der Kaiserstr. 142, direkt oestlich des T-Punktes am Europaplatz.
Vom Passagehof (aus Richtung Kurbel) kommt man auch hin.
Vincent sei hiermit beauftragt, den Parkplatzsuchenden ein paar
sinnvolle Vorschlaege zu machen.
Uhrzeit ist natuerlich wie gehabt: 20:00.

-----------------------------------------------------------------------------



Re: 080820022000KABM (Bambi,  3. Aug 2002, 16:20:52):
~#! rn=Croft rt=1028384153 rg=treffen
~#! tid=1028384153
Im Gegensatz zum Pfannenstiel hat es in Kleinen Meierhof (zumindest soweit ich
da weiss) nie ernstere Diskussionen mit dem Wirt (oder wer das war) gegeben.
... Aber die Pizza war gut.

-----------------------------------------------------------------------------



Re: Re: 080820022000KABM (Sting,  3. Aug 2002, 19:02:51):
~#! rn=Bambi rt=1028384452 rg=treffen
~#! tid=1028384153
klaert mich mal einer auf... gibt es den kleinen meierhof nicht mehr ?

-----------------------------------------------------------------------------



Re^3: 080820022000KABM (Croft,  3. Aug 2002, 19:20:05):
~#! rn=Sting rt=1028394171 rg=treffen
~#! tid=1028384153
Geben tut es ihn schon noch.  Nur der Wirt ist in seinem tradionellen
Sommerurlaub und kommt halt erst Ende August/Anfang September wieder.
Und derweil veranstaltet der Stati halt eine kleine Wanderschaft :-)

-----------------------------------------------------------------------------



Re: Re: 080820022000KABM (Boing,  4. Aug 2002, 12:58:05):
~#! rn=Bambi rt=1028384452 rg=treffen
~#! tid=1028384153
Du fandest die Pizza wirklich gut? Ich fand sie relativ uebel.
  Boing
PS: Wenigstens hat die Groesse gestimmt, was man bei den Nudelgerichten
 nicht immer behaupten konnte ... ;)

-----------------------------------------------------------------------------



Re^3: Treffen in HH? (Troy,  5. Aug 2002, 09:26:17):
~#! rn=Mupfel rt=1028320339 rg=treffen
~#! tid=1028317199
Also das mit dem Wasser war hier noch nie ein Problem...

Wie siehts denn so zum Alstervergnuegen (das WE um den 30.8.) aus?

Habt Ihr da Zeit?

Troy

-----------------------------------------------------------------------------



Re^4: Treffen in HH? (Bielefeld,  5. Aug 2002, 10:13:15):
~#! rn=Troy rt=1028532377 rg=treffen
~#! tid=1028317199
:wird da jemandem beim Umzug helfen. Einmal quer durch Deutschland.

-Bielefeld

-----------------------------------------------------------------------------



Re^5: Treffen in HH? (Zook,  5. Aug 2002, 10:13:57):
~#! rn=Bielefeld rt=1028535195 rg=treffen
~#! tid=1028317199
Zieht jemand bei Dir ein?

Zook.

-----------------------------------------------------------------------------



Re^6: Treffen in HH? (Bielefeld,  5. Aug 2002, 10:18:16):
~#! rn=Zook rt=1028535237 rg=treffen
~#! tid=1028317199
Nein.

-Bielefeld

-----------------------------------------------------------------------------



Re^3: 080820022000KABM (Vincent,  6. Aug 2002, 16:48:15):
~#! rn=Boing rt=1028458685 rg=treffen
~#! tid=1028384153
Die Pizza war meines Erachtens gut. Sie hat zugegebenermassen anders
geschmeckt, insbesondere der Pizza-Boden war mit zusaetzlichen Aromen
versehen, aber ich empfand es geschmacklich als gut.

Naja. Das Timing-Problem, dass die dort haben, wird sich wohl bald loesen,
denn entweder sie kriegen das in den Griff, oder die Gaeste bleiben weg. ;-)

Meine Empfehlung: In einem halben Jahr nochmal ausprobieren! :-)

Gruss
Vincent

-----------------------------------------------------------------------------



Re: 080820022000KABM (Vincent,  6. Aug 2002, 16:52:05):
~#! rn=Croft rt=1028384153 rg=treffen
~#! tid=1028384153
Parplatzsuchenden in der Naehe des Europa-Platzes empfehle ich die Tiefgarage
unter der Postgallerie oder direkt auf der Kaiserstrasse, wenn man aus
Richtung Muehlburg kommt. Das IHK gibt es auch noch, hat aber zum Jahres-
wechsel aus den DM lediglich Euro gemacht und wird deshalb von mir
boykottiert.
Aber auf der Strasse, wo die IHK-Garage ist, gibt es auch noch Park-
moeglichkeiten.

Gruss
Vincent

P.S.: Ist das jetzt OK so, Croft? :-)

-----------------------------------------------------------------------------



Re: Re: 080820022000KABM (Croft,  6. Aug 2002, 16:54:09):
~#! rn=Vincent rt=1028645525 rg=treffen
~#! tid=1028384153
Frag das die Leute am Donnerstag im Brauhaus :-)

-----------------------------------------------------------------------------



Re: Re: 080820022000KABM (Vincent,  6. Aug 2002, 17:08:40):
~#! rn=Vincent rt=1028645525 rg=treffen
~#! tid=1028384153
Was mir gerade noch als Parkplatzmoeglichkeit einfaellt: Wenn man von Sueden
kommt, dann kann man die Kaiserstrasse mit dem Auto ueberqueren - man
faehrt sozusagen am Europa-Platz (linke Hand) vorbei, ueberquert fast
gleichzeitig die Kaiserstrasse und fahert dann an dem T-Punkt (rechte Hand)
vorbei. Wenn man dieser Strasse weiterfolgt kommen links und rechts auch
Parkplaetze. Danach kommt eine T-Kreuzung. Dort kann man links oder rechts
fahren und auf der Strasse (ich glaube es ist die Akademiestrasse - ja
wir haben in Karlsruhe eine solche) gibt es auch noch Parkplaetze, wobei
einige davon Anwohnerparkplaetze sind.

Gruss
Vincent

-----------------------------------------------------------------------------



Stati Osnabrueck (Mupfel,  6. Aug 2002, 22:19:12):
Soooo... grade haben wir ne super Statikneipe fuer OS gefunden. Essen lecker
(fragt mal Varlarion nach "Rippchen", Preise zivil und fuer Catty gaebs sogar
ein Dutzend Whiskysorten...
Drum, liebe Leute, rufen wir zum Stati nach OS, am Donnerstag, den 6.8.2002
(Uebermorgen), ins "Joe's Saloon", Vitihof 22, in 49074 Osnabrueck (gleich bei
der Tiefgarage Vitihof, die 24h geoeffnet hat).

Fuer ne Wegbeschreibung schickt ne Mail an Varlarion oder mich.

-mupfel-

-----------------------------------------------------------------------------



Re: Stati Osnabrueck (Varlarion,  6. Aug 2002, 22:23:57):
~#! rn=Mupfel rt=1028665152 rg=treffen
~#! tid=1028665152
Oehm, Donnerstag ist zwar der 8.8. aber sonst stimmts :)

Varl*

-----------------------------------------------------------------------------



Re: Re: Stati Osnabrueck (Mupfel,  6. Aug 2002, 22:27:45):
~#! rn=Varlarion rt=1028665437 rg=treffen
~#! tid=1028665152
Und 20 Uhr das fehlte auch.

Los, Muensteraner, auffi gehts ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Stati Osnabrueck (Muaddib,  6. Aug 2002, 22:51:53):
~#! rn=Mupfel rt=1028665665 rg=treffen
~#! tid=1028665152
Donnerstage sind asozial weiter entfernt wohnenden, arbeitenden Mitmuddern
gegenueber.

Ich wollts nur mal gesagt haben :)
Mua

-----------------------------------------------------------------------------



Re: Stati Osnabrueck (Deepblue,  6. Aug 2002, 22:59:52):
~#! rn=Mupfel rt=1028665152 rg=treffen
~#! tid=1028665152
Hat jemand dienstlich erworbene Bonusmeilen, die er mir uebertragen kann?
Dann wuerde ich mal vorbeikommen :)
Deep*, am Freitag vermutlich frei habend

-----------------------------------------------------------------------------



Re: Re: Stati Osnabrueck (Cuchullin,  6. Aug 2002, 23:08:04):
~#! rn=Deepblue rt=1028667592 rg=treffen
~#! tid=1028665152
-1 :)

-----------------------------------------------------------------------------



Re^3: 080820022000KABM (Ronda,  6. Aug 2002, 23:22:22):
~#! rn=Vincent rt=1028646520 rg=treffen
~#! tid=1028384153
Au Mann ;-) Also im Moment hab ich vor, das irgendwie zu finden ;-) Koenntet
Ihr Euch vielleicht a) auf EINE Kneipe einigen und b) EINE Strasse mit EINEM
Parkplatz sagen, die mein Navi dann hoffentlich findet?

Ronda *faend das prima. Und meine Passagiere vielleicht auch ;-) *

-----------------------------------------------------------------------------



Re^4: 080820022000KABM (Zook,  6. Aug 2002, 23:24:10):
~#! rn=Ronda rt=1028668942 rg=treffen
~#! tid=1028384153
Kauf Dir halt nen ordentliches Auto mit ner ordentlichen Navi! ;)

Zook duckt sich.

-----------------------------------------------------------------------------



Re^5: 080820022000KABM (Mupfel,  6. Aug 2002, 23:27:03):
~#! rn=Zook rt=1028669050 rg=treffen
~#! tid=1028384153
Wieso die ist doch ordentlich. Laesst sich sogar im Kreisverkehr nicht
verwirren *g*

-mupfel-

-----------------------------------------------------------------------------



Re^4: 080820022000KABM (Croft,  7. Aug 2002, 00:38:37):
~#! rn=Ronda rt=1028668942 rg=treffen
~#! tid=1028384153
Hm? Was liest du denn?  Wo der Stati stattfindet steht doch ganz klar fest.
Alle weiteren Kommentare waren doch nur ein Resumee des letzten Donnerstags.
Gruss Croft

-----------------------------------------------------------------------------



Re^4: 080820022000KABM (Muadib,  7. Aug 2002, 10:35:06):
~#! rn=Vincent rt=1028645295 rg=treffen
~#! tid=1028384153
mich kriegst du da auch in einem halben jahr nicht rein, wenn du mir nicht
glaubhaft machen kannst, dass sie die kellner ausgewechselt haben. timing ist
ein problem, patzigkeit ein anderes.

-----------------------------------------------------------------------------



Re^4: 080820022000KABM (Muadib,  7. Aug 2002, 10:36:36):
~#! rn=Ronda rt=1028668942 rg=treffen
~#! tid=1028384153
komm zum bahnhof, klingel mich an und fahr mir dann nach. ich weiss zwar auch
nicht wo ich parken werde, aber das findet sich.

-----------------------------------------------------------------------------



Re: Stati Osnabrueck (Mupfel,  7. Aug 2002, 21:20:14):
~#! rn=Mupfel rt=1028665152 rg=treffen
~#! tid=1028665152
Auf vielfachen Wunsch (von einigen Leuten, die eh nie nach Osnabrueck kommen
wuerden, aber egal) ist der OS Stati auf Freitag verschoben.
Also:
Freitag, 9.8.2002, 20 Uhr, Stati im "Joe's Saloon", Vitihof 22, 49074
Osnabrueck (bei der Tiefgarage Vitihof).
Wegbeschreibung? Mail an Varlarion oder mich.

UNd wenn keiner kommt machnmern halt allein, den Stati ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Stati Osnabrueck (Muaddib,  8. Aug 2002, 14:06:44):
~#! rn=Mupfel rt=1028748014 rg=treffen
~#! tid=1028665152
Hey, finde ich klasse. Und ich werde sicher mal nach OS kommen, evtl. Anfang
naechsten Monats.

Mua

-----------------------------------------------------------------------------



Re^5: 080820022000KABM (Boing,  9. Aug 2002, 10:03:04):
~#! rn=Muadib rt=1028709396 rg=treffen
~#! tid=1028384153
Bei einer kurzen Umfrage wurde einstimmig beschlossen den naechsten 
Stammtisch wieder im Moninger Brauhaus stattfinden zu lassen. Die 
Gegenstimme meines Steinbeissers wurde ignoriert woraufhin er sich auch
dafuer entschied, um nicht so alleine dazustehen. 
  Boing

-----------------------------------------------------------------------------



Re^6: 080820022000KABM (Vincent,  9. Aug 2002, 10:06:43):
~#! rn=Boing rt=1028880184 rg=treffen
~#! tid=1028384153
Ich moechte ergaenzend hinzufuegen, dass die Abstimmung absolut demokratisch
vonstatten ging, und ich eigentlich keine Moeglichkeit sehe, das
Abstimmungsergebnis anzufechten. Auch wurde der Steinbeisser nicht unter
Druck gesetzt oder in irgendeiner Form zu einer Stimmaenderung genoetigt.
Damit sehen wir uns wohl alle am kommenden Donnerstag im Moniger Brauhaus
wieder.
  Vincent

-----------------------------------------------------------------------------



Re^7: 080820022000KABM (Zook,  9. Aug 2002, 10:12:43):
~#! rn=Vincent rt=1028880403 rg=treffen
~#! tid=1028384153
Wie lange wird das Brauhaus denn als Stati-Staette genutzt?

Zook.

-----------------------------------------------------------------------------



Re^8: 080820022000KABM (Croft,  9. Aug 2002, 10:18:28):
~#! rn=Zook rt=1028880763 rg=treffen
~#! tid=1028384153
Gestern gings es von 20:00 bis kurz vor Mitternacht.
Gruss Croft

-----------------------------------------------------------------------------



Re^9: 080820022000KABM (Zook,  9. Aug 2002, 10:26:01):
~#! rn=Croft rt=1028881108 rg=treffen
~#! tid=1028384153
Ok, ich gebe zu, die Frage war nicht so klug gestellt. Ich meinte, wie lange
werdet Ihr noch dort hingehen, also wann macht der KM wieder auf?

Zook.

-----------------------------------------------------------------------------



Re^10: 080820022000KABM (Croft,  9. Aug 2002, 10:43:01):
~#! rn=Zook rt=1028881561 rg=treffen
~#! tid=1028384153
Wenn ich das richtig in Erinnerung hab, ist Panos noch die naechsten 3
Donnerstage weg.  Die letzten beiden davon sind halt noch offen und
werden kurzfristig entschieden.  Vorschlaege waren auch noch:
Pizzahaus, Zum Drachen, keine Kneipe sondern irgendwo grillen, keine
Kneipe sondern bei jemandem ein Chili bauen.
Gruss Croft

-----------------------------------------------------------------------------



Re^11: 080820022000KABM (Zook,  9. Aug 2002, 10:43:39):
~#! rn=Croft rt=1028882581 rg=treffen
~#! tid=1028384153
Zook ueberlegt sich, mal wieder nach KA zu kommen. :-)))

-----------------------------------------------------------------------------



Stammtisch in Bochum (Ahab,  9. Aug 2002, 10:49:36):
So, jetzt nochmal das ganze.
Wie haben uns zusammengesetzt und mal wieder einen Stammtisch in Bochum
arrangiert. Wir treffen uns

am 23.8.2002
in der Rollenspielerkneipe 'Zu den Vier Winden',
Hofsteder Strasse 94
in Bochum.

Und zwar so gegen 20.00 Uhr.

_Falls_ es in dem Laden wegen Vampire-Treffen zu voll sein sollte, koennen
wir bequem in eine Kneipe in der Naehe ausweichen. Das sehen wir aber dann.
Wegbeschreibungen gibts bei mir oder bestimmt auch irgendwo im Netz.
Das ganze ist uebrigens bequem per Bahn zu erreichen.

Kommt zahlreich und hungrig und durstig und so.
Ahoi,
Ahab.

P.S.: diesmal die richtige Rubrik erwischt? *daumendrueck*

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Morgoth,  9. Aug 2002, 13:28:23):
~#! rn=Ahab rt=1028882976 rg=treffen
~#! tid=1028882976
Lock uns doch mal mit ein paar Auszuegen aus der Speise- und Getraenkekarte.
Welche Bahn? Wie lange fahren die?

M*

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum (Ahab,  9. Aug 2002, 13:42:08):
~#! rn=Morgoth rt=1028892503 rg=treffen
~#! tid=1028882976
Getraenke. Hm. Das uebliche, zusaetzlich noch die sogenannten 'Byzantiner',
das ist eine Art Milchshake mit Honig und nach Geschmack ner Kugel Eis. :)

Zu essen gibts da leckere Salate, ansonsten ueberbackene Baguettes und der-
gleichen mehr. Es ist halt eine Rollenspielerkneipe, kein reines Speise-
restaurant. Dafuer sind IMO alle anderen Bedingungen erfuellt - Musik, nicht
zu laut; Getraenkepreise muddertauglich, Preise fuers Essen ebenso. Gut zu
erreichen... *lock*
A propos erreichen: Wenn Du am Bochumer HBf bist (wie auch immer Du da hin-
kommst, Stadtexpress oder S-Bahn oder sowas), faehrt die U35 Richtung Herne
fuer die 3 Stationen 3-4 Minuten. Von da aus sinds noch 2 Min. zu Fuss.

Reicht das als Lockmittel? ;-)
Ahoi,
Ahab.

-----------------------------------------------------------------------------



Stati Osnabrueck (Critter, 10. Aug 2002, 16:09:43):
Da das gestern ziemlich lustig war, machen wir naechsten Freitag wieder einen.

Also:
Joe's Saloon
Vitihof
20:00

Kommet zahlreich und zuhauf.
Wegbeschreibungen gibts bei mir, Varlarion oder Mupfel

Gruss Critter

-----------------------------------------------------------------------------



Dresden (Deepblue, 12. Aug 2002, 10:27:51):
Schon mal vorab: der naechste Dresden-Stammtisch ist voraussichtlich am
Donnerstag, dem 29.8.
Genaueres wird noch bekanntgegeben

-----------------------------------------------------------------------------



Re: Dresden (Firehawk, 14. Aug 2002, 21:30:55):
~#! rn=Deepblue rt=1029140871 rg=treffen
~#! tid=1029140871
Komme nicht.
'nuff said.

Andreas

-----------------------------------------------------------------------------



Ringfest in Koeln 17.08.2002 ?  (Lacri, 16. Aug 2002, 22:29:53):
Hi, 

ist zufaellig einer von euch am 17.08.2002 (also morgen (: ) in Koeln am
Ringfest vertreten ? Und besteht dann evtl. Interesse sich dort zu treffen ? 

Gruesse, 

Lacri 

-----------------------------------------------------------------------------



220820022000KAPH (Croft, 16. Aug 2002, 22:36:41):
Diesmal gehts ins Pizzahaus in der Oststadt (Rintheimerstr. 2, Ecke
Georg-Friedrich-Str. ist das).  Da ich reservieren werden, waers ganz
gut wenn sich ausserplanmaessige Besucher melden (z.b. bei Sistance)
Gruss Croft

-----------------------------------------------------------------------------



Re: 220820022000KAPH (Foobar, 16. Aug 2002, 22:41:32):
~#! rn=Croft rt=1029530201 rg=treffen
~#! tid=1029530201
Stupst Sistance eigentlich?

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re: Re: 220820022000KAPH (Croft, 16. Aug 2002, 22:50:34):
~#! rn=Foobar rt=1029530492 rg=treffen
~#! tid=1029530201
Keine Ahnung.  Ich war noch nie in Bambis Workroom

-----------------------------------------------------------------------------



Stammtisch Osnabrueck... (Critter, 17. Aug 2002, 15:07:49):
Da wir mal wieder den Hals nicht vollkriegen....

Am Freitag den 23.08.02 gehts weiter.

Also:
Joe's Saloon
Vitihof
20:00

Kommet zahlreich und zuhauf.
Wegbeschreibungen gibts bei mir, Varlarion oder Mupfel

Gruss Critter


-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Ahab, 20. Aug 2002, 09:50:24):
~#! rn=Ahab rt=1028882976 rg=treffen
~#! tid=1028882976
Ich weiss, selbst-replies sind Murks... ;-)

Ich moechte kurz an den Stammtisch in Bochum erinnern, der diesen Freitag
gegen 20:00 Uhr steigt. Wegbeschreibungen gibts bei mir, wer vorbeikommen
moechte, sagt eben kurz Bescheid. Ich glaub zwar nicht, dass wir reservieren
muessen, aber das kann ich diese Woche noch abklaeren.

Ahoi,
Ahab.

-----------------------------------------------------------------------------



2308021900HPDA (Ark, 20. Aug 2002, 19:39:17):
+1.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: 2308021900HPDA (Mandragon, 20. Aug 2002, 20:31:11):
~#! rn=Ark rt=1029865157 rg=treffen
~#! tid=1029865157
+2

Ma*
-

-----------------------------------------------------------------------------



Re: Re: 2308021900HPDA (Lev, 20. Aug 2002, 20:36:19):
~#! rn=Mandragon rt=1029868271 rg=treffen
~#! tid=1029865157
Ich nix verstehen, ich sein dummer Kaempfer. Also, worum geht es denn?

Lev.

-----------------------------------------------------------------------------



Re^3: 2308021900HPDA (Anacrion, 20. Aug 2002, 20:36:59):
~#! rn=Lev rt=1029868579 rg=treffen
~#! tid=1029865157
Treffen, diesen Freitag, 1900, Hotzenplotz, Darmstadt.

Anac*

-----------------------------------------------------------------------------



Re^4: 2308021900HPDA (Anacrion, 20. Aug 2002, 20:38:00):
~#! rn=Anacrion rt=1029868619 rg=treffen
~#! tid=1029865157
Und Roana, Ark und ich werden da sein. Und wer sonst noch kommt ...

Anac*

-----------------------------------------------------------------------------



Re^5: 2308021900HPDA (Mupfel, 20. Aug 2002, 20:53:25):
~#! rn=Anacrion rt=1029868680 rg=treffen
~#! tid=1029865157
...also ich schon mal nicht ;)


-mupfel-

-----------------------------------------------------------------------------



Stati in Bonn (Twingi, 20. Aug 2002, 22:21:12):
Huhu Ihrs,

auf besonderen Wunsch von zwei Ruhrpottpflaenzchen rufe ich hiermit einen
Spontanstati aus.
Samstag, den 24.08.02
ab 20:00 Uhr
Seelige Witwe (Koenigstr.)

Anmeldungen werden trotzdem gerne gesehn.
Twingi *freut sich auf ein kuehles Bier*

-----------------------------------------------------------------------------



Re^5: 2308021900HPDA (Ronda, 20. Aug 2002, 23:15:01):
~#! rn=Anacrion rt=1029868680 rg=treffen
~#! tid=1029865157
Mir wurd grad von nem Huhn erzaehlt, dass da was steigt. Und ich versuch
vorbeizuschauen, auch wenn ich erst nicht auf "Hotzenplotz" bei der Abkuerzung
gekommen war ;-) Zusaetzlich versuch ich mal Xtoph mitzuschleifen... also
alles noch nicht so konkret. Koenntet Ihr trotzdem bitte mal ne genaue Adresse
posten?
Danke,

Ronda

-----------------------------------------------------------------------------



Re^6: 2308021900HPDA (Thargor, 21. Aug 2002, 18:43:38):
~#! rn=Ronda rt=1029878101 rg=treffen
~#! tid=1029865157
also DA liegt auch in meiner Reichweite ... 
Adresse waere ne gute Motivation mich vom Rechner loszureisen und auch
sonst fuer freie zeit zu sorgen :)

Thargor

-----------------------------------------------------------------------------



Re^7: 2308021900HPDA (Mandragon, 21. Aug 2002, 18:47:22):
~#! rn=Thargor rt=1029948218 rg=treffen
~#! tid=1029865157
Also die Adresse ist:

  Mauerstrasse 34
  64289 Darmstadt

Anfahrtsbeschreibung sollte in treffen.wegbeschreibungen sein

Ma*

-----------------------------------------------------------------------------



Re^8: 2308021900HPDA (Ark, 21. Aug 2002, 19:00:33):
~#! rn=Mandragon rt=1029948442 rg=treffen
~#! tid=1029865157
darmstadt.de hat auch einen guten Stadtplan dazu.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: 2308021900HPDA (Mandragon, 21. Aug 2002, 19:02:16):
~#! rn=Ark rt=1029949233 rg=treffen
~#! tid=1029865157
steht auch in treffen.wegbeschreibungen

Ma*

-----------------------------------------------------------------------------



Re^10: 2308021900HPDA (Jameson, 21. Aug 2002, 21:06:38):
~#! rn=Mandragon rt=1029949336 rg=treffen
~#! tid=1029865157
hampf da koennt ich jetzt als derzeit nach Mainz Verfrachteter tatsaechlich
mal richtig gut nach DA kommen, und was passiert? ich muss genau an dem
Wochenende nach Muenster. Dafuer sehen mich halt dann die Bochumer.

jAmeson, wird sich wieder um einen Rhein-Main-Stati bemuehen

-----------------------------------------------------------------------------



party oder so was (Pitfall, 22. Aug 2002, 12:37:21):
moin,

da das we scheinbar eine ganze menge leute von ausserhalb nach berlin kommen
berufe ich hiermit fuer morgen einen sonderstati aus.
dieser findet wie immer im altbekannten aufsturz statt.
einlass ist 20 uhr oder so

have fun
*pit*

-----------------------------------------------------------------------------



Re^5: 2308021900HPDA (Muaddib, 22. Aug 2002, 17:43:51):
~#! rn=Anacrion rt=1029868680 rg=treffen
~#! tid=1029865157
-1 leider

-----------------------------------------------------------------------------



Re^6: 2308021900HPDA (Muadib, 22. Aug 2002, 19:24:06):
~#! rn=Muaddib rt=1030031031 rg=treffen
~#! tid=1029865157
welches jahr eigentlich?
stuemperhaftes plagiat

-----------------------------------------------------------------------------



Re^7: 2308021900HPDA (Mandragon, 22. Aug 2002, 19:24:34):
~#! rn=Muadib rt=1030037046 rg=treffen
~#! tid=1029865157
02 ... ist doch drauf

Ma*

-----------------------------------------------------------------------------



Re: party oder so was (Muadib, 22. Aug 2002, 19:26:56):
~#! rn=Pitfall rt=1030012641 rg=treffen
~#! tid=1030012641
also 02 kann ich nun wirklich nicht akzeptieren

-----------------------------------------------------------------------------



290820022000KAZD (Croft, 22. Aug 2002, 23:24:33):
Naechste Woche gehts mal wieder ins 'Zum Drachen' in der Oststadt
(Karl-Wilhelm-Str, Ecke Bernhardstr.).  Damit sollte auch der letzte
Termin, zu dem Panos dieses Jahr im Urlaub ist, mit einer Lokalitaet
versorgt sein.  Ausserplanmaessige Gaeste werden um Anmeldung zwecks
Reservierung gebeten :-)
Gruss Croft

-----------------------------------------------------------------------------



Juli-Stammtisch in Muenchen (Mieze, 25. Aug 2002, 19:46:10):

Hallo zusammen,


auch im August findet wieder ein Stammtisch in Muenchen statt und zwar ab 19
20 Uhr im Bergmannshof (Landsberger Str. 73). Wegescripte bitte aus
http://www.jamboree.de kopieren.

Gaeste: Halle-Party-Ober-Organisatorin Cassandra *jubel* und Deepblue kommt
auch angeschwommen ;o)

Alcina - hofft auf zahlreiches Erscheinen

P.S.: Aehm das Ganze ist am Donnerstag, dem 29.08.02 


-----------------------------------------------------------------------------



KAKM120920022000 (Muadib, 28. Aug 2002, 10:36:28):
nur zur allgemeinen verwirrung

gespielt wird eine goettliche komoedie

ich hatte immer noch keinen kaffee

-----------------------------------------------------------------------------



Stati in Karlsruhe am 12. September 2002 (Zook, 28. Aug 2002, 10:38:59):
Hallo zusammen, obwohl man mir davon abgeraten hat, schon heute einen
Stati anzukuendigen, der noch weit in der Zukunft liegt, moeche ich 
bereits heute ankuendigen, dass am

  12. September 2002, ab 20.00 Uhr in Karlsruhe (Kleiner Meierhof)

der allseits beliebte Mud-Stammtisch stattfindet.

Warum poste ich das schon heute, wo doch der Stati eigentlich jede Woche
statt findet? Nun, fuer den 12. September 2002 kuendige ich mich als
Gast aus dem fernen Marburg an. 

Gruss, Zook.

-----------------------------------------------------------------------------



Re: Stati in Karlsruhe am 12. September 2002 (Boing, 28. Aug 2002, 10:39:42):
~#! rn=Zook rt=1030523939 rg=treffen
~#! tid=1030523939
Ich finde, dass Du das sehr schoen geschrieben hast. Vor allem der Part
mit 'wo doch der Stati eigentlich jede Woche statt findet' ist sehr
gelungen!
  Boing

-----------------------------------------------------------------------------



Re: Re: Stati in Karlsruhe am 12. September 2002 (Elberet, 28. Aug 2002, 10:40:49):
~#! rn=Boing rt=1030523982 rg=treffen
~#! tid=1030523939
hmm ich war ja noch nie in Karlsruhe auf nem Stati ... 

Elbi

-----------------------------------------------------------------------------



Darmstadt mal wieder (Mandragon, 28. Aug 2002, 10:43:35):

DA270920021900H

H steht fuer den Hobbit, direkt neben dem Hotzenplotz.

i.A.

Mandragon

-----------------------------------------------------------------------------



Re: Darmstadt mal wieder (Muaddib, 28. Aug 2002, 10:47:59):
~#! rn=Mandragon rt=1030524215 rg=treffen
~#! tid=1030524215
Poste das vielleicht spaeter nochmal? Das is ja noch eeeewig hin...

-----------------------------------------------------------------------------



Re: Re: Darmstadt mal wieder (Mandragon, 28. Aug 2002, 10:48:17):
~#! rn=Muaddib rt=1030524479 rg=treffen
~#! tid=1030524215
Ist ja nur die Vorankuendigung.

Ma*

-----------------------------------------------------------------------------



Re^3: Darmstadt mal wieder (Ark, 28. Aug 2002, 13:03:23):
~#! rn=Mandragon rt=1030524497 rg=treffen
~#! tid=1030524215
Und das ohne mich, Rrrraespeeeehggght.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



stati in B (Pitfall, 28. Aug 2002, 13:51:30):
ist wie immer am ersten freitag des monats also im september am 6.9.

versammeln werden wir uns wie immer um 20 uhr im "aufsturz"
diese angaben sind natuerlich wie immer ohne gewaehr

have fun
*pit*

-----------------------------------------------------------------------------



Re: stati in B (Gloinson, 28. Aug 2002, 14:04:58):
~#! rn=Pitfall rt=1030535490 rg=treffen
~#! tid=1030535490
-2

-----------------------------------------------------------------------------



Re^3: Stati in Karlsruhe am 12. September 2002 (Mupfel, 28. Aug 2002, 19:18:58):
~#! rn=Elberet rt=1030524049 rg=treffen
~#! tid=1030523939
Ich schon. War sehr ... beeindruckend. Vor allem der Whiskey-Einfuehrungskurs
vorher ;)


-mupfel-

-----------------------------------------------------------------------------



Re: stati in B (Gnome, 28. Aug 2002, 23:52:31):
~#! rn=Pitfall rt=1030535490 rg=treffen
~#! tid=1030535490
das wichtigste hat er natuerlich vergessen...

danach ist ein spaetsommerliches rudeln in adlershof angesetzt. :)

also... kommet zuhauf!

gnOme

-----------------------------------------------------------------------------



Re: Re: stati in B (Pitfall,  2. Sep 2002, 08:53:28):
~#! rn=Gloinson rt=1030536298 rg=treffen
~#! tid=1030535490
-1

-----------------------------------------------------------------------------



Stati in Bonn (Twingi,  2. Sep 2002, 10:01:58):
Hallo Ihrs,

auch diesmal eine rechte spontane/kurzfristige Ankuendigung.
Anlass ist der Besuch eines Berliner Muhs ;-)
Freitag, den 06.09.2002
ab 20:00 Uhr
Seelige Witwe auf der Koenigstrasse

Ich bitte um baldigste Rueckmeldung zwecks Tischreservierung.
Anfahrtsbeschreibung auf Anfrage
Knuddels Twingi

-----------------------------------------------------------------------------



Re: Stati in Bonn (Orktoeter,  2. Sep 2002, 10:25:28):
~#! rn=Twingi rt=1030953718 rg=treffen
~#! tid=1030953718
Besuch eines Berliner Muhs? Kann man jetzt schon fuer 4 Euro von Berlin nach
Koeln fliegen? Und wenn ja, warum kommt dann nur einer der Berliner vorbei?

OrkT.

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Cadrach,  2. Sep 2002, 13:06:54):
~#! rn=Orktoeter rt=1030955128 rg=treffen
~#! tid=1030953718
Die Berliner spendieren Ihren Kuehen glaub ich sogar kostenlose Freifluege,
incl. Punktgenauem Abwurf aus der Luft (nennt sich bei Ihnen glaub ich Kunst),
Vermutlich fliegen Sie dabei aber immer nur eine Kuh auf einmal aus...

Cad*

-----------------------------------------------------------------------------



Re^3: stati in B (Rochus,  2. Sep 2002, 21:13:49):
~#! rn=Pitfall rt=1030949608 rg=treffen
~#! tid=1030535490
Hmm, habe ich das richtig zusammengefasst:
Es kommen also -3 Personen?
Dann muessen ja ich und zwei weitere kommen,
damit der Stati leer wird...

  Rochus

-----------------------------------------------------------------------------



Stati OS ... (Mupfel,  2. Sep 2002, 21:40:30):
...ist am 6.9.2002 wie immer in Joe's Saloon (riesige Portionen, bezahlbare
Preise ;) am Vitohof 22 in Osnabrueck (gegenueber vom "Eckstein" in der Naehe
der Tiefgarage Vitihof).
Viellicht kommen ja auch maln paar Auswaertige? ;)

-mupfel-

-----------------------------------------------------------------------------



Bad Wilsnack, 13. September, vormittags (Gloinson,  2. Sep 2002, 23:45:35):
Martini und ich werden uns den gesamten Freitag den 13. zum Eigenschutz in ein
Thermalsolebad (kein Spassbad) samt ziemlich guter Sauna zurueckziehen. Wer
Lust hat kann sich ja mal bei mir mailden, wir werden mit dem Zug hinfahren,
bei mehreren Leuten bietet sich das Brandenburg-Ticket (23,- fuer 5 Leute) an.
Naehere Informationen: http://www.kristallbaeder.de/

-----------------------------------------------------------------------------



Stammtisch in Ulm? (Aline,  3. Sep 2002, 10:05:05):
Hi Leuts,

da ich gerade unfreiwillig viel freie Zeit habe, moechte ich
es mal wieder mit einem Stammtisch in Ulm versuchen.
Vielleicht hat ja jemand Lust sich am Freitag den 13.
mit mir zu treffen?

Gruesse

Aline

P.S.: Hmm mit dem Ort bin ich mir noch nicht so sicher, so gut
kenn ich mich in Ulm nicht aus. Wenn sich also jemand meldet,
darf er gerne den Ort vorschlagen. :)

-----------------------------------------------------------------------------



Halle/Saale 22.-24. September (Thufhir,  3. Sep 2002, 10:52:40):
Hallo,
ich weiss, dass gerdae in Halle die Party war, hat trotzdem irgendwer aus der
Gegend Lust sich am 22.-24. September zu was Stammtischaehnlichen auf nen
gemuetliches Bier oder sowas zu treffen?
Gruss, s'Zauberzwerch

-----------------------------------------------------------------------------



Re: Halle/Saale 22.-24. September (Cassandra,  3. Sep 2002, 16:18:47):
~#! rn=Thufhir rt=1031043160 rg=treffen
~#! tid=1031043160
Hallo,

Mal sehen was sich da machen laesst und wer sonst noch nach Halle kommt bzw
schon da ist.

Cassandra

-----------------------------------------------------------------------------



Re: Re: Halle/Saale 22.-24. September (Alcina,  3. Sep 2002, 17:37:19):
~#! rn=Cassandra rt=1031062727 rg=treffen
~#! tid=1031043160
Ich sprech mal mit meinem Dienstplaner. Vielleicht kann ich auch dabei sein
;o)

Alcina

-----------------------------------------------------------------------------



Stati in KA (Sting,  5. Sep 2002, 18:25:58):
Huhu,

wollte mich nur schonmal vorab fuer den Stati naechste Woche in KA anmelden :)

Sting

-----------------------------------------------------------------------------



Re^3: Halle/Saale 22.-24. September (Cassandra,  6. Sep 2002, 13:25:14):
~#! rn=Alcina rt=1031067439 rg=treffen
~#! tid=1031043160
Hallo,

dann kuendige ich hiermit mal einen Stammtisch in halle fuer den 23 Abends an.
Kneipe und uhrzeit werden noch bekannt gegeben.

Wer interesse hat zu kommen, meldet sich bitte vorher bei mir, damit ich weis
mit wievielen gaesten ich rechnen kann und entsprechend was reservier.
Wer ne uebernachtungsmoeglichkeit braucht, sagt ebenfalls bescheid.

Cassandra, am 22 vermutlich trauernd und daher dort keinen stati machend

-----------------------------------------------------------------------------



MS Stati (Puk,  6. Sep 2002, 16:24:30):
Ausruf eines weiteren lustigen Stammtischs in Muenster!!!!!!!!!!!!!!!!!!!
(wer nicht kommt ist selber schuld und weiss nicht was er verpasst)

Treffen: Spookys um 20.07 Uhr am 13. September dieses Jahres :) 

Schlafplaetzte muessen gesucht werden (Gorog, Foobar, Menace,Catty) sind euch
bestimmt gerne behilflich.

SPEZIALS GUESTSTARs sind genuegend da :)

Kommet zuhauf

Mfg
Puk
(nicht da ;)

-----------------------------------------------------------------------------



Re: MS Stati (Grimmborn,  6. Sep 2002, 16:27:20):
~#! rn=Puk rt=1031322270 rg=treffen
~#! tid=1031322270
"Multipel exclamation marks are a sure sign of a diseased mind!" (T.
Pratchett, Eric, S.121)

Also ein ganz normaler Mud-Stammtisch...

GdA

-----------------------------------------------------------------------------



Re: Re: MS Stati (Puk,  6. Sep 2002, 16:29:02):
~#! rn=Grimmborn rt=1031322440 rg=treffen
~#! tid=1031322270
Poeh
Muensteraner Stammtische sind nie normal du unwissender :)

-----------------------------------------------------------------------------



Re: Re: stati in B (Gloin,  6. Sep 2002, 19:02:06):
~#! rn=Gloinson rt=1030536298 rg=treffen
~#! tid=1030535490
Verlogenes Magierpack. Stimmt ja gar nicht!

-----------------------------------------------------------------------------



Re: Re: MS Stati (Gnome,  7. Sep 2002, 00:02:30):
~#! rn=Grimmborn rt=1031322440 rg=treffen
~#! tid=1031322270
WENN du schon zitierst, tipp doch bitte richtig ab...

gnOme denkt . o 0 ( multipel... argl )

-----------------------------------------------------------------------------



Re^3: MS Stati (Grimmborn,  7. Sep 2002, 00:07:31):
~#! rn=Gnome rt=1031349750 rg=treffen
~#! tid=1031322270
Gratuliere, das hab ich seit Mitte der 90er als alias, ist bisher noch
niemandem aufgefallen...

GdA

-----------------------------------------------------------------------------



Re: MS Stati (Gorog,  7. Sep 2002, 22:49:55):
~#! rn=Puk rt=1031322270 rg=treffen
~#! tid=1031322270
+1

Gorog uebrigens bereits ausgebucht.

-----------------------------------------------------------------------------



Stati Ulm (Nicolai,  8. Sep 2002, 22:10:04):
Auf vielfachen Wunsch einer einzelnen Mudderin, rufe ich hiermit
einen Ulmer Stati aus, der am Freitag, 13. September stattfinden wird.
Teilnehmer bitte via mail Bescheid geben (dimitri@cs4us.de) damit
die Sache bissl planbarer wird.
Neben 2 special guests verweilt auch unser noch-Kanzler an diesm
Tag in Ulm, wer also will, darf gerne schon mittags kommen, ich
mache dann kleine Stadtfuehrung, wenn gewuenscht. Eier bzw Blumen
fuer Schroeder sind selber mitzubringen :)

-----------------------------------------------------------------------------



Re: Darmstadt mal wieder (Del,  9. Sep 2002, 23:09:12):
~#! rn=Mandragon rt=1030524215 rg=treffen
~#! tid=1030524215
Ja wie? Im Hobbit? Bei den Puschelfuessen? Bei den Pfeiffenrauchern? Bei denen
mit den Haaren im Ohr? *schuettel*
Na gut... is trotzdem notiert. };-)
Die NuDel

-----------------------------------------------------------------------------



Re: Stati Ulm (Aline, 10. Sep 2002, 16:20:25):
~#! rn=Nicolai rt=1031515804 rg=treffen
~#! tid=1031515804

*grins*
Hat sich das Quengeln ja doch gelohnt!

Wo findet der Stammtisch denn nun statt?
Vielleicht kommt ja noch jemand, wenn wir die Koordinaten hier bekanntgeben...

Gruesse

Aline *freutsichaufFreitach*


-----------------------------------------------------------------------------



StaTi Zuerich (Nibel, 10. Sep 2002, 21:16:11):
Nach laengerem Unterbruch gibts nun am 28.09 wieder einen StaTi in
Zuerich, im Guinness-Tempel Oliver Twist :)
Naeheres via "teile schwiiz mit s"
  - Nibel
-----------------------------------------------------------------------------



Stammtisch in Bochum (Ahab, 12. Sep 2002, 16:12:04):
Es ist soweit, wir gehen auf den dritten Freitag im Monat zu, und ich freue
mich, dass es tatsaechlich mal wieder einen halbwegs regelmaessigen Stammtisch
hier in Bochum zu geben scheint.

Wir treffen uns am kommenden Freitag, dem 20.9.2002, wie letztes Mal schon
gegen 20:00 Uhr in den Vier Winden (Hofsteder Strasse 94).

Wer kommen moechte, kann mir gerne Bescheid sagen, dann kann ich mich um einen
passenden Tisch bemuehen. Wegbeschreibungen gibts auch bei mir.

Kommet zahlreich und vergesst nicht, Hunger und Durst mitzubringen. :)
Bis dahin: Ahoi!
Ahab.

-----------------------------------------------------------------------------



Re: Re: Stati Ulm (Aline, 12. Sep 2002, 16:19:45):
~#! rn=Aline rt=1031667625 rg=treffen
~#! tid=1031515804
Hi Leuts,

haette nie gedacht, dass ich mal auf meine eigenen Artikel antworte...
Frau wird halt alt...

So wie es aussieht kommen doch einige Mudder nach Ulm, um Ulm oder zumindest
sehr nah dran.
Also leg ich mal hier die Koordinaten fest, an denen zumindest ich ne Stunde
auf Stammtischbesucher warten werde.
Also Wann: Freitag den 13 um 18.00 Uhr
     Wo  : Barfuesser (soweit ich weiss ist der in Neu-Ulm, aber wir
           koennen ja die Lokalitaet spaeter noch wechseln)
     Wo genau: http://www.tbike.de/mfu/MFU_Treffen/afp_braeuhaus.html
      (hoffentlich immt es mir die MFU nicht uebel, dass ich ihre
      Karte hier als Link angebe...)

Also, ich freu mich schon darauf auch mal wieder ein paar Suecht^
nette Leute zu treffen.

Gruesse

Aline

P.S. Ne bessere Wegbeschreibung hab ich nicht. Ich muss ja selber noch
dahinfinden.


-----------------------------------------------------------------------------



Re^3: Stati Ulm (Sou, 12. Sep 2002, 16:33:08):
~#! rn=Aline rt=1031840385 rg=treffen
~#! tid=1031515804
Na endlich :O)

Sou hat sich schon gewundert.

-----------------------------------------------------------------------------



Re^4: Stati Ulm (Nicolai, 12. Sep 2002, 17:12:51):
~#! rn=Sou rt=1031841188 rg=treffen
~#! tid=1031515804
kurzentschlossene und ortsunkundige bekommen meine telefonnummer
und handy-nummer auf anfrage, hier direkt diese zu posten waere
...aeh... unueberlegt

-----------------------------------------------------------------------------



Re^5: Stati Ulm (Aline, 12. Sep 2002, 21:00:38):
~#! rn=Nicolai rt=1031843571 rg=treffen
~#! tid=1031515804

Also jetzt hat mich Nicolai mit der Angabe "der Barfuesser ist in der
Naehe des Muensters" doch etwas verunsichert. Also ich stell mich dann
halt morgen um 18.00 Uhr in den Eingang des Muensters und lass mich
mal anquatschen....

Der Link den ich angegeben habe, bezieht sich auf das Barfuesser
Braeuhass in Neu-Ulm in der Paulstr. 4 und scheint nicht das
bzw. der "richtige" Barfuesser zu sein. *seufz*

Kann mich jemand mal aufklaeren?

Aline (ortsunkundig)


-----------------------------------------------------------------------------



Re^6: Stati Ulm (Amaryllis, 12. Sep 2002, 21:02:46):
~#! rn=Aline rt=1031857238 rg=treffen
~#! tid=1031515804
Also wenn man vom "Barfuesser" spricht, ist i.d.R. schon das Brauhaus in der
Naehe des Muensters gemeint, das eigenes Bier herstellt, was klasse schmeckt
:-)
Ich wollte das schon frueher posten, war aber von dem Link, den Du gesendet
hast, doch etwas irritiert - und da meine Ulmer Zeit schon 7 Jahre
zurueckliegt, war ich mir nicht mehr sicher.

Es scheint jedenfalls 2 Barfuesser zu geben :)

Ama*

-----------------------------------------------------------------------------



Re^7: Stati Ulm (Aline, 12. Sep 2002, 21:04:27):
~#! rn=Amaryllis rt=1031857366 rg=treffen
~#! tid=1031515804
Hi Amaryllis,

danke fuer die prompte Aufklaerung!

Also mein Link ist FALSCH!!!

Aline *geht Asche ueber ihr Haupt steuen*

-----------------------------------------------------------------------------



Re^8: Stati Ulm (Nicolai, 12. Sep 2002, 21:50:34):
~#! rn=Aline rt=1031857467 rg=treffen
~#! tid=1031515804
sich direkt vors muenster stellen ist morgen keine gute idee, da werden
viele demo^H^H^Hsympathisanten von schroeder da sein , eier und blumen
werfen und ordentlich krach machen (wie war das noch 98: mit der spd keine
langzeitstudiengebuehr, jaja).
auf jeden fall flitz ich ein paar mal ueber den platz mit nem schild in der
hand:
"sandtiger"

-----------------------------------------------------------------------------



Re^9: Stati Ulm (Gloinson, 12. Sep 2002, 22:31:04):
~#! rn=Nicolai rt=1031860234 rg=treffen
~#! tid=1031515804
Nackt?

-----------------------------------------------------------------------------



stati duesseldorf??? (Leibniz, 12. Sep 2002, 23:16:35):
huhu zusammen
da ich in naechster zeit mal nach duesseldorf fahre, wollte ich mal
nachfragen, obs da einen stati gibt...

leibi 

-----------------------------------------------------------------------------



Re: stati duesseldorf??? (Amaryllis, 12. Sep 2002, 23:22:48):
~#! rn=Leibniz rt=1031865395 rg=treffen
~#! tid=1031865395
Dunkeldorf? Jof bewahre...

Hoechstens Koeln/Bonn, aber doch nich Dunkeldorf...

Ama*

-----------------------------------------------------------------------------



Re^10: Stati Ulm (Aline, 13. Sep 2002, 07:47:20):
~#! rn=Gloinson rt=1031862664 rg=treffen
~#! tid=1031515804

Wieso?
Wuerdest Du dann etwa auch kommen?

Aline

-----------------------------------------------------------------------------



Re^11: Stati Ulm (Gloinson, 13. Sep 2002, 20:09:18):
~#! rn=Aline rt=1031896040 rg=treffen
~#! tid=1031515804
Wenns nicht grad heute gewesen waere ... naja, ich sag Bescheid wenn ich mal
wieder in der Naehe bin ;)

-----------------------------------------------------------------------------



Re: stati duesseldorf??? (Muaddib, 14. Sep 2002, 00:27:08):
~#! rn=Leibniz rt=1031865395 rg=treffen
~#! tid=1031865395
Stammtisch in Ddorf waere cool - also ich bin vermutlich uebernaechste Woche
wieder dort - aber vielleicht bin ich auch in Koeln oder in FFM oder
ueberhaupt nicht auf diesem Kontinent... heisst, vielleicht komm ich, wenns
ein anderer plant :)

Mua, Frequent Traveler

-----------------------------------------------------------------------------



Re: Re: stati duesseldorf??? (Mandragon, 14. Sep 2002, 00:28:27):
~#! rn=Muaddib rt=1031956028 rg=treffen
~#! tid=1031865395
27.9. ist Stati in DA ...

Ma*

-----------------------------------------------------------------------------



Re^3: stati duesseldorf??? (Muaddib, 14. Sep 2002, 00:29:49):
~#! rn=Mandragon rt=1031956107 rg=treffen
~#! tid=1031865395
Aeh, 2002? :)

-----------------------------------------------------------------------------



Re^4: stati duesseldorf??? (Mandragon, 14. Sep 2002, 00:30:47):
~#! rn=Muaddib rt=1031956189 rg=treffen
~#! tid=1031865395
Genau. 2002 :-)

Ma*

-----------------------------------------------------------------------------



Re^5: stati duesseldorf??? (Muaddib, 14. Sep 2002, 00:31:13):
~#! rn=Mandragon rt=1031956247 rg=treffen
~#! tid=1031865395
Ist das dieses Jahr? Oder morgen?

-----------------------------------------------------------------------------



Re^6: stati duesseldorf??? (Grumpf, 14. Sep 2002, 10:19:44):
~#! rn=Muaddib rt=1031956273 rg=treffen
~#! tid=1031865395
Bei Interesse eines Sonderstammtisches in Duesseldorf moegen die jenigen die
kommen wollen doch einfach eine Mail an Schleicher schicken. Einen
regelmaessigen Stati gibt es hier zwar nicht mehr aber ab und an findet sich
eine Gruppe Mudder mehr oder weniger spontan zusammen. Und da ich immernoch
haeufig in Ddorf bin und zum Ex-Orgateam gehoere hab ich sogar noch
Wegbeschreibungen.
Grumpf i.V.

-----------------------------------------------------------------------------



Re^3: stati duesseldorf??? (Amaryllis, 14. Sep 2002, 11:05:14):
~#! rn=Mandragon rt=1031956107 rg=treffen
~#! tid=1031865395
Was hat das Kaff A****hausen mit Dunkeldorf zu tun?

Ama*

-----------------------------------------------------------------------------



Re^4: stati duesseldorf??? (Grimmborn, 14. Sep 2002, 11:07:19):
~#! rn=Amaryllis rt=1031994314 rg=treffen
~#! tid=1031865395
Wenns ein Kaff ist ziemlich viel. Ungefaehr soviel, wie ein Ei mit dem anderen
zu tun hat, wissenschon.

GdA

-----------------------------------------------------------------------------



Re^5: stati duesseldorf??? (Amaryllis, 14. Sep 2002, 11:08:14):
~#! rn=Grimmborn rt=1031994439 rg=treffen
~#! tid=1031865395
Stimmt. Als (zum Glueck) nicht-Dunkeldorfer habe ich die Dimension
unterschaetzt.

Ama*

-----------------------------------------------------------------------------



Re^4: MS Stati (Woody, 14. Sep 2002, 13:31:46):
~#! rn=Grimmborn rt=1031350051 rg=treffen
~#! tid=1031322270
"Five exclamation marks, the sure sign of an insane mind."
(Terry Pratchett, Reaper Man. *g*)

Woody,
spaet aber doch


-----------------------------------------------------------------------------



Stati in HH am 21.09.?!? (Perdita, 14. Sep 2002, 21:32:41):
Hallo Hamburger!
Jameson und ich werden voraussichtlich am naechsten Samstag in HH sein.
Wir wollen uns ein bisschen die Speicherstadt anschauen und nachmittags dann
in die Ausstellung "Dialog im Dunkeln" gehen (wenn sie denn noch laeuft, das
ueberpruefe ich noch).
Vielleicht habt ihr Lust, mitzukommen? Zur Info: www.dialog-im-dunkeln.de
Und anschliessend wuerde sich doch ein spontaner Stammtisch anbieten, wie
waer's?
Gebt doch bitte mal ne Rueckmeldung!

Perdita

-----------------------------------------------------------------------------



Re: Stati in HH am 21.09.?!? (Grimmborn, 14. Sep 2002, 21:37:54):
~#! rn=Perdita rt=1032031961 rg=treffen
~#! tid=1032031961
Schreibt mir dann wies war, ich bin an dem WE vermutlich in Schweden. Muss
morgen noch meine Oma anrufen und ihr das schonend beibringen...

GdA

-----------------------------------------------------------------------------



Re^5: MS Stati (Jadawin, 15. Sep 2002, 23:30:30):
~#! rn=Woody rt=1032003106 rg=treffen
~#! tid=1031322270
Hab das Buch gerade nicht zur Hand, aber in Masquerade kommt das Thema auch
mehrmals vor. Eric duerfte aber tatsaechlich die erste Erwaehnung sein.
Jad*

-----------------------------------------------------------------------------



Re: Re: Stati in HH am 21.09.?!? (Bielefeld, 16. Sep 2002, 09:59:08):
~#! rn=Grimmborn rt=1032032274 rg=treffen
~#! tid=1032031961
Sorry, Termin passt ueberhaupt nicht.

-Bielefeld (WohnungseinweihungbeiKollegenwerfend)

-----------------------------------------------------------------------------



Re^3: Stati in HH am 21.09.?!? (Troy, 16. Sep 2002, 10:07:47):
~#! rn=Bielefeld rt=1032163148 rg=treffen
~#! tid=1032031961
mir auch nicht :-(

Troy (EinladungzumPolterabendwerfend)

-----------------------------------------------------------------------------



Re^4: Stati in HH am 21.09.?!? (Grimmborn, 16. Sep 2002, 10:23:09):
~#! rn=Troy rt=1032163667 rg=treffen
~#! tid=1032031961
Tja, Perdita und Jameson, graemt euch nicht, auch zu zweit kann so ein
Stammtisch sehr gemuetlich und stimmungsvoll sein...

GdA

-----------------------------------------------------------------------------



KA-Stati vom 2002-09-12 (Zook, 16. Sep 2002, 10:34:47):
Hi, wer gerne wissen moechte, fuer oder gegen was dort Unterschriften
gesammelt wurden und ein paar Hintergruende lesen moechte, in Re^34985
(derzeit Artikel 91) in der Rubrik "megaschmarrn" findet sich ein FAZ-Artikel
von heute.

Zook.

-----------------------------------------------------------------------------



Re: Re: KA-Stati vom 2002-09-12 (Zook, 16. Sep 2002, 10:36:53):
~#! rn=Orktoeter rt=1032165373 rg=megaschmarrn
~#! tid=1032165287
Und selbst wenn, ist doch voellig legitim. Zook.

-----------------------------------------------------------------------------



Re^3: Stati in HH am 21.09.?!? (Idlefix, 16. Sep 2002, 12:26:48):
~#! rn=Bielefeld rt=1032163148 rg=treffen
~#! tid=1032031961
Ich kann auch nicht am 21.0ss9. 

Gruss Idlefix

-----------------------------------------------------------------------------



23.09.02 HAL (Cassandra, 16. Sep 2002, 13:16:06):
Hallo
Am 23.9.02 20 Uhr findet in Halle mal wieder ein Stammtisch statt.

Ort: YumYum

Anmeldungen zwecks Tischreservierung, Fragen nach Wegbeschreibungen und
schlafplaetzen an mich.

Cassandra

-----------------------------------------------------------------------------



Muenchner Stammtisch im September (Mieze, 16. Sep 2002, 23:42:23):

Liebe Stammtischgemeinde,

der Muenchner Stammtisch findet im September nicht nach Plan (am letzten
Freitag im Monat), sondern am letzten SAMSTAG, 28.9.2002 ab 19 Uhr im
Bergmannshof (Landsberger Str. 73 (Naehe Donnersberger Bruecke; Stadtteil
Laim) statt. Fuer Wegbeschreibungen koennt Ihr http://www.jamboree.de
befragen.

Als besonderen Gast begruessen wir unsere Magiehexe Twingi :o) Mit etwas
Ueberredungskunst lassen sich bestimmt noch Cassandra und Caren (UEBERFALL DEN
STROMMANN!!!) ueberreden.

Ich hoffe auf rege Teilnahme (wie immer halt ;o)

Mieze - OrgaTeam Weisswurstmetropole

-----------------------------------------------------------------------------



Re: StaTi Zuerich (Nibel, 17. Sep 2002, 10:01:52):
~#! rn=Nibel rt=1031685371 rg=treffen
~#! tid=1031685371
Auf vielfachen Wunsch wurde der Zuercher Stammtisch vom 28.9 auf den
24.9 verschoben... Naeheres wie immer via <teile schwiiz mit s>.
  - Nibel
-----------------------------------------------------------------------------



Re: Stammtisch Dresden 23.09.2002 (Zook, 17. Sep 2002, 10:31:27):
~#! rn=Mesirii rt=1032251443 rg=treffen
~#! tid=1032251443
Also, wenn Du das so ankuendigst, darfst Du Dich nicht wundern, dass niemand
kommt. 

Zook.

-----------------------------------------------------------------------------



Stammtisch Dresden 24.09.2002 (Mesirii, 17. Sep 2002, 10:32:33):

Trotz der mangelnden Beteiligung bei den letzten Stammtischen geben wir
nicht auf und veranstalten am Dienstag, dem 24.09.2002 um 20:00 wieder
einmal einen Dresdner Morgengrauen-Stammtisch. Er wird aus meteorologischen
Gruenden nicht bei mir im Innenhof, sondern wieder im CD stattfinden.

Anfahrtsplan gibts keinen da alle wissen wo das ist, spaetestens seit der
Dresdner Party.

Gruss Mesi

P.S: Wer nicht kommt kriegt bei der naechsten Gelegenheit Haue!

-----------------------------------------------------------------------------



Re: Re: Stammtisch Dresden 23.09.2002 (Orktoeter, 17. Sep 2002, 10:32:37):
~#! rn=Zook rt=1032251487 rg=treffen
~#! tid=1032251443
Nonne wird sich freuen! Ich denke nicht das para-Takhisis vorbeischauen
wird...

OrkT, schon gepannt.

-----------------------------------------------------------------------------



Re: Stammtisch Dresden 24.09.2002 (Ark, 17. Sep 2002, 12:01:29):
~#! rn=Mesirii rt=1032251553 rg=treffen
~#! tid=1032251553
Hm, ich belege dann mal einen Karatekurs.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stati in Bonn (Cadrach, 17. Sep 2002, 12:06:43):
Anlaesslich des Besuchs eines Stuttgarter Butterkekses,
haben wir wieder mal einen Stammtisch angesetzt.
Wann: Freitag, 27.09.02
      ab 20:00 Uhr
Ort:  Seelige Witwe auf der Koenigsstrasse

Da es sich um eine kleinere Kneipe, aber mit vernuenftigen Preisen und gutem
Essen handelt, bitte ich nach Moeglichkeit um Rueckmeldung zwecks
Tischreservierung.

Cad*

-----------------------------------------------------------------------------



Re: Stati in Bonn (Pitfall, 17. Sep 2002, 12:07:15):
~#! rn=Cadrach rt=1032257203 rg=treffen
~#! tid=1032257203
kleine kneipe, kleine portionen, kleine biere .)

-----------------------------------------------------------------------------



Re: Stati in Bonn (Liara, 17. Sep 2002, 12:08:22):
~#! rn=Cadrach rt=1032257203 rg=treffen
~#! tid=1032257203
Das mit den vernuenftigen Preisen und dem guten Essen ist uebrigens ein
Scherz, nur falls es keiner gemerkt haben sollte oder nicht weiss, wer Cadrach
ist. ;-)

-----------------------------------------------------------------------------



Re: Stati in Bonn (Leibniz, 17. Sep 2002, 17:35:02):
~#! rn=Cadrach rt=1032257203 rg=treffen
~#! tid=1032257203
toll, ich freu mich schon.
ich bring auch noch gast1 mit :)

leibi

-----------------------------------------------------------------------------



Sommerabschiedsgrillen in Berlin (Cakey, 17. Sep 2002, 20:54:45):
Moin,
Der Sommer scheint ja nun endgueltig seine Sachen zu packen, aus diesem Anlass
findet am Sa, den 21.09. bei mir im Garten ein Abschiedsgrillen statt. Und
weil das grad so schoen passt, ist sogar Besuch aus Dresden da und freut sich
auf viele Gaeste.

Cakey,
der um Anmeldung zwecks Verpflegungsorganisation und evtl. Wegbeschreibung
bittet.

-----------------------------------------------------------------------------



Re^4: Stati in HH am 21.09.?!? (Perdita, 18. Sep 2002, 10:27:49):
~#! rn=Idlefix rt=1032172008 rg=treffen
~#! tid=1032031961
na gut, dann gehen wir eben allein hin und machen anschliessend keinen
Stammtisch. Vielleicht ein anderes Mal wieder.
Perdita

-----------------------------------------------------------------------------



stati stuttgart (Leibniz, 19. Sep 2002, 20:18:03):
huhu zusammen,

anlaesslich eines besuch aus bonn ist am 27.09. mal wieder stati in stuttgart.

20 uhr calwer eck.

sagt mir doch bitte bescheid, wer alles kommt, damit ich einen tisch
reservieren kann.


leibi - an dem tag in bonn auf dem stati :)

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Darkwing, 19. Sep 2002, 20:24:36):
~#! rn=Pitfall rt=1032257235 rg=treffen
~#! tid=1032257203
Pitfall, das BIER war ordentlich gross. Bestell halt nicht so komisches Zeug
:-)

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Pitfall, 19. Sep 2002, 20:25:27):
~#! rn=Darkwing rt=1032459876 rg=treffen
~#! tid=1032257203
es gab landbier und bier, da ich das landbier nicht kannte blieb die auswahl
etwas geringer...


-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Elberet, 19. Sep 2002, 20:25:59):
~#! rn=Pitfall rt=1032459927 rg=treffen
~#! tid=1032257203
trinkst du nie etwas was du noch nie getrunken hast?

Elbi

-----------------------------------------------------------------------------



Re^5: Stati in Bonn (Gloinson, 19. Sep 2002, 20:27:58):
~#! rn=Elberet rt=1032459959 rg=treffen
~#! tid=1032257203
Erst ab einem bestimmten PEgel. Dann saeuft der bei uns im Club immer das
Rasierwasser des Hausmeisters aus.

-----------------------------------------------------------------------------



Re^6: Stati in Bonn (Darkwing, 19. Sep 2002, 20:28:48):
~#! rn=Gloinson rt=1032460078 rg=treffen
~#! tid=1032257203
Pitfall trinkt sogar warmen Tequila... was soll man da noch weiter sagen :)

-----------------------------------------------------------------------------



Re^7: Stati in Bonn (Pitfall, 19. Sep 2002, 20:29:14):
~#! rn=Darkwing rt=1032460128 rg=treffen
~#! tid=1032257203
duuuu auch darkie, du auch .)

-----------------------------------------------------------------------------



Re^8: Stati in Bonn (Elberet, 19. Sep 2002, 20:32:04):
~#! rn=Pitfall rt=1032460154 rg=treffen
~#! tid=1032257203
ich trinke ja auch Uzo ;)

Elbi

-----------------------------------------------------------------------------



Re^9: Stati in Bonn (Amaryllis, 19. Sep 2002, 20:33:30):
~#! rn=Elberet rt=1032460324 rg=treffen
~#! tid=1032257203
ist mir schon klar, dass Du vor nix zurueckschreckst.

Ama*

-----------------------------------------------------------------------------



Re^10: Stati in Bonn (Gloinson, 19. Sep 2002, 20:36:29):
~#! rn=Amaryllis rt=1032460410 rg=treffen
~#! tid=1032257203
Ich mix den lieber Leuten unter die Drinks und lass sie dann raten ;)

-----------------------------------------------------------------------------



Re^11: Stati in Bonn (Leibniz, 19. Sep 2002, 21:46:56):
~#! rn=Gloinson rt=1032460589 rg=treffen
~#! tid=1032257203
ich trink auch mirto :)
leibi schmatzt

-----------------------------------------------------------------------------



Stammtisch in Karlsruhe (Boing, 19. Sep 2002, 22:02:12):
Auch heute war wieder (wie uebrigens jeden Donnerstag) Stammtisch in
Karlsruhe im Kleinen Meierhof. Ging dieses mal nicht so lang, war aber
trotzdem schoen. Wegbeschreibung steht auf der MG-Homepage.
  Boing

-----------------------------------------------------------------------------



Re^7: Stati in Bonn (Apollonia, 19. Sep 2002, 22:23:48):
~#! rn=Darkwing rt=1032460128 rg=treffen
~#! tid=1032257203
Na und? In Mexiko ist das Standard.

Apo*
sagt: Tequila trinkt man zimmerwarm aus Wasserglaesern

-----------------------------------------------------------------------------



Re^8: Stati in Bonn (Gloinson, 19. Sep 2002, 22:28:21):
~#! rn=Apollonia rt=1032467028 rg=treffen
~#! tid=1032257203
Und Wodka aus Saftglaesern ;) Wer soll soviel guten Wodka schmuggeln ...

-----------------------------------------------------------------------------



Re^9: Stati in Bonn (Pitfall, 19. Sep 2002, 22:29:27):
~#! rn=Gloinson rt=1032467301 rg=treffen
~#! tid=1032257203
und vodka mit red bull
nee is klar gloinson...

-----------------------------------------------------------------------------



Re^9: Stati in Bonn (Vanion, 19. Sep 2002, 22:30:12):
~#! rn=Gloinson rt=1032467301 rg=treffen
~#! tid=1032257203
Nix geht ueber Kuehne-Kristall :)

V* hat die ganze Bordeaux-Edition.

-----------------------------------------------------------------------------



Re^10: Stati in Bonn (Gloinson, 19. Sep 2002, 22:34:27):
~#! rn=Pitfall rt=1032467367 rg=treffen
~#! tid=1032257203
Das war Obstler. Was kann ich dafuer wenn Du Dich von einem besoffenen Sachsen
ueberreden laesst den schoenen Obstler zu panschen.

-----------------------------------------------------------------------------



Re: stati stuttgart (Zook, 20. Sep 2002, 01:58:38):
~#! rn=Leibniz rt=1032459483 rg=treffen
~#! tid=1032459483
Es kommt nicht nur Besuch aus Bonn.

Zook (+1).

-----------------------------------------------------------------------------



OSNA-Stati 4.10. (Mupfel, 22. Sep 2002, 00:48:16):
Hallo

Am 4.10. ist mal wieder Stati in Osnabrueck, wieder in "Joes Saloon", Vitihof
22 (bei der Tiefgarage Vitihof). Angesagt haben sich u.a. Jenandra, Bierchen
und Stoerti, sowie einige Leute aus anderen MUDs. Kommt doch auch mal vorbei
;)


-mupfel-

-----------------------------------------------------------------------------



Stammtisch Wedel (Grimmborn, 22. Sep 2002, 23:17:09):
Ich kuendige hiermit etwas verspaetet fuer den 22.9. um 18.30 einen Stammtisch
in Wedel, im La Fontana, an. 
War ganz nett, uebrigens...

GdA

-----------------------------------------------------------------------------



Re^5: Stati in HH am 21.09.?!? (Perdita, 23. Sep 2002, 21:34:24):
~#! rn=Perdita rt=1032337669 rg=treffen
~#! tid=1032031961
Hallo Leute,
wollte nur noch grad von unserem besuch in Hamburg letzten Samstag erzaehlen.
Also, die Ausstellung "Dialog im Dunkeln" (siehe www.dialog-im-dunkeln.de) ist
wirklich aeusserst empfehlenswert.
Das sind dort voellig verdunkelte Raeume (in denen ist es wirklich
pechschwarz, dort ist null Licht drin), durch die man in einer kleinen Gruppe
(wir waren 8 Leute, und das war schon fast zu viel) von einem blinden oder
zumindest extrem sehbehinderten Menschen gefuehrt wird.
Die Raeume stellen jeweils unterschiedliche Alltagssituationen oder
Raeumlichkeiten dar, es gab zum Beispiel einen Park mit Kiesweg, Holzbruecke,
Wasserfall, Vogelgezwitscher, leichter Brise, Bueschen und dergleichen.
Oder eine Verkehrssituation mit parkenden Autos, Briefkaesten, im Weg
rumstehenden Fahrraedern, Kantsteinen etc.
Oder eine Bootsfahrt. Oder einen Klangraum. Oder oder oder.
Die besucher hatten jeweils einen Blindenstock in der hand, der Rest ging dann
ueber Stimme und Beruehrung.
War ein irrsinniges Gefuehl. Ich hatte zuerst ja ein bisschen Muffensausen,
aber in dem Moment wo es dunkel war, und unser Fuehrer uns ganz ruhig und
gelassen erzaehlte, wo wir langgehen sollten und was uns wo begegnen wuerde,
war das wie weggeblasen.
Nun gut, es ist wahrscheinlich immer noch nicht vergleichbar mit einer
"echten" Situation, wo du dann ganz auf dich selbst gestellt bist, und wo der
Raum eben nicht nach ein paar Metern wieder aufhoert, aber es hat doch
schonmal einen ziemlich guten Eindurck vermittelt wie die Welt sich einem
Blinden so darstellen mag.

Fazit: unbedingt weiter empfehlen und selbst mal reingehen!
Perdita

P.S. Da die Ausstellung sehr gut besucht ist, bietet es sich vor allem fuer
Gruppen an, sich rechtzeitig (gut 4-6 Wochen vorher) anzumelden. Als
Einzelperson rutscht man auch mal so noch rein, aber man muss halt glueck
haben.

-----------------------------------------------------------------------------



SonderStati in Bochum am 05.10.2002 (Lacri, 23. Sep 2002, 22:46:30):
Huhu, 

wegen einem relativ hohem Besuch aus dem fernen Freiburg, setze ich mal fuer
Freitag den 05.10.2002 einen SonderStati in Bochum an. 
Kneipe denk ich mal schaun wir, dass wir wieder in die Vier Winde kommen.
Falls sich da was aendert schreib ichs aber auf jeden Fall. 
Wer kommen moechte sagt mir bitte per Mudmail bescheid, damit ich weiss, mit
wievielen Leuten zu rechnen is. 

Lacri 

p.s. Wegbeschreibungen werden auf Anfrage herausgegeben und die Uhrzeit wanns
losgeht ist 20:00 Uhr. 

-----------------------------------------------------------------------------



Re: SonderStati in Bochum am 05.10.2002 (Lacri, 23. Sep 2002, 22:47:52):
~#! rn=Lacri rt=1032813990 rg=treffen
~#! tid=1032813990
SORRY (: 

Selbstreply's sind mist, ich weiss, 
aber ich hab mal wieder nen Knick in der Optik und es ist Freitag der !
04.10.2002 ! 

Lacri - schaemt sich ja schon. 

-----------------------------------------------------------------------------



Re: stati stuttgart (Imda, 24. Sep 2002, 17:13:19):
~#! rn=Leibniz rt=1032459483 rg=treffen
~#! tid=1032459483
Kinnna, was is denn mit dem Wasen ?

Nur son Vorschlag...

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Pardauz, 24. Sep 2002, 17:47:40):
~#! rn=Imda rt=1032880399 rg=treffen
~#! tid=1032459483
Auf den Wasen geh ich am Samstag, insofern waer mir diesmal auch zum ersten
mal ein samstaeglicher Stati lieber gewesen ... aber egal.
Kann mir wer ne Uebernachtungsmoeglichkeit bieten?

Pardauz

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Leibniz, 24. Sep 2002, 18:51:20):
~#! rn=Pardauz rt=1032882460 rg=treffen
~#! tid=1032459483
macht wozu ihr lust habt, bin eh nicht da :)

leibi

-----------------------------------------------------------------------------



Re: Stammtisch in Karlsruhe (Boing, 25. Sep 2002, 10:18:21):
~#! rn=Boing rt=1032465732 rg=treffen
~#! tid=1032465732
Ich antworte nur auf meinen eigenen Artikel, damit ich das Subject nicht
nochmal schreiben muss. :)
Morgen ist also wieder Stammtisch in Karlsruhe, zur ueblichen Zeit (20 Uhr)
am ueblichen Ort (Kleiner Meierhof) mit den ueblichen Verdaechtigen
(vielleicht ohne Hobo und mich, wer weiss) und mit einer unueblichen
Besucherin (Twingi). 
  Boing

-----------------------------------------------------------------------------



STATI DA,  (Ark, 25. Sep 2002, 22:58:04):
WO ES AM SCHOENSTEN IST. IN DARMSTADT, DEM ORT, AN DEM SICH DIE GOETTER
TREFFEN. DER ORT DES JUGENDSTILS. DER ORT DES ZECHENS (MIT DER FREUNDLICHEN
UNTERSTUETZUNG MANDRAGONS). DER ORT DER GERUECHTEKUECHE (GERICHTE GIBT ES
ALLERDINGS AUCH). DER ORT, AN DEM DICH ALLES UEBERWAELTIGT, AUCH DIESE SCHRIFT
HIER. KOMMT ALLE AM 27.09.2002 NACH DARMSTADT IN DEN HOBBIT. SCHADE, DASS ICH
DIE NAECHSTEN BUCHSTABEN NICHT NOCH GROESSER MACHEN KANN...
ICH
     ZAEHL
            AUF
                  EUCH


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: STATI DA,  (Mupfel, 25. Sep 2002, 23:07:46):
~#! rn=Ark rt=1032987484 rg=treffen
~#! tid=1032987484
Deine Tastatur klemmt...

-mupfel-

-----------------------------------------------------------------------------



031020022000KABM (Croft, 28. Sep 2002, 21:12:12):
Da der Donnerstag auf so einen komischen Feiertag faellt, findet der
naechste Stati mal wieder im Brauhaus Moninger statt (Kaiserstr. 142,
oestlich des T-Punkts am Europaplatz).  Uhrzeit wie immer: 20:00.
Gruss Croft

-----------------------------------------------------------------------------



Bilder... (Zook,  1. Okt 2002, 16:56:53):
Hallo zusammen,

auch Bilder von Stammtischen werden gerne veroeffentlicht (vorausgesetzt,
die Abgebildeten sind damit einverstanden, aber das hatten wir ja 
bereits). Wer also Bilder zum Zeigen hat oder gerne nen Link zu seiner
Homepage aufgenommen haben moechte, kann sich in Partybilder-bewaehrter
Manier an mich wenden.

Perdita hat ein paar Bilder eingereicht, und zwar von einem Spontan-Stati
in Hamburg (Juli 2001), Stati in Stuttgart (Februar 2002) und Stati
in Karlsruhe (Februar 2002). Zu finden ab 

  http://mg.mud.de/Party/Treffen


Gruss, Zook.

-----------------------------------------------------------------------------



heidi heido heida (Pitfall,  2. Okt 2002, 01:18:09):
so nun ist es wieder so weit...

am freitag, dem 4.10.02 ist in berlin mal wieder ein stati geplant.
das ganze findet wie immer ab 20 uhr im "aufsturz" statt

have fun
*pit*

-----------------------------------------------------------------------------



Re: heidi heido heida (Pitfall,  2. Okt 2002, 01:26:20):
~#! rn=Pitfall rt=1033514289 rg=treffen
~#! tid=1033514289
achso...

wir haben natuerlich extra fuer euch stati besucher wieder auswaertige gaeste
aufgetrieben die dann singen und tanzen werden

-----------------------------------------------------------------------------



Re: Re: heidi heido heida (Alpha,  2. Okt 2002, 05:30:47):
~#! rn=Pitfall rt=1033514780 rg=treffen
~#! tid=1033514289
Singen...vielleicht *g*, Tanzen ganz sicher!
Also Jehova, Melchor und meine Wenigkeit werden Euren Stammtisch heimsuchen,
und hoffen natuerlich auf zahlreich vertretene Gastgeber aus der Hauptstadt
die den Besuch aus der Provinz betreuen :)
In diesem Sinne: (+3 Besucher)
Alpha.
P.S.: Eventuell machen wir nach dem Stammtisch die Strassen Berlins
tanztechnisch unsicher, wenn wer mitkaeme :)
Alpha, partygeil.

-----------------------------------------------------------------------------



Re^3: heidi heido heida (Cassandra,  2. Okt 2002, 13:40:27):
~#! rn=Alpha rt=1033529447 rg=treffen
~#! tid=1033514289
Hallo Berliner

Vielleicht komm ich auch mal vorbei :-))

Braeuchte dann aber noch nen schlafplatz

Cassandra, Statibegeistert

-----------------------------------------------------------------------------



Re^4: heidi heido heida (Brotnael,  2. Okt 2002, 16:51:57):
~#! rn=Cassandra rt=1033558827 rg=treffen
~#! tid=1033514289
Und wo sind jetzt die Braeute, die auf den tischen tanzen?

broti, will Braeute.. schnurrRRrr :o)

-----------------------------------------------------------------------------



Re^5: heidi heido heida (Alpha,  2. Okt 2002, 17:22:59):
~#! rn=Brotnael rt=1033570317 rg=treffen
~#! tid=1033514289
Die....gibts nur auf den legendaeren Magdeburger Stammtischen voller Drogen,
guter Musik & sexy Frauen, die Tanzen koennen, dass man sein Passwort
vergisst.
*g*

-----------------------------------------------------------------------------



Re^6: heidi heido heida (Brotnael,  2. Okt 2002, 17:29:32):
~#! rn=Alpha rt=1033572179 rg=treffen
~#! tid=1033514289
HarrRRrr.. wann ist in magdeburg Stati? :o))

-----------------------------------------------------------------------------



Re^7: heidi heido heida (Deepblue,  2. Okt 2002, 17:30:16):
~#! rn=Brotnael rt=1033572572 rg=treffen
~#! tid=1033514289
Nie? :)

-----------------------------------------------------------------------------



Re^8: heidi heido heida (Alpha,  2. Okt 2002, 17:31:13):
~#! rn=Deepblue rt=1033572616 rg=treffen
~#! tid=1033514289
Oefters :)
Aber die Schneggen abschleppen muessts scho selber :)

-----------------------------------------------------------------------------



Re^6: heidi heido heida (Gitarre,  3. Okt 2002, 10:28:41):
~#! rn=Alpha rt=1033572179 rg=treffen
~#! tid=1033514289

Ich sag mal lieber nicht, dass ich Magdeburgerin bin :o)

Gruss Alcina - heute in Verkleidung

-----------------------------------------------------------------------------



Re^5: heidi heido heida (Mupfel,  3. Okt 2002, 16:02:46):
~#! rn=Brotnael rt=1033570317 rg=treffen
~#! tid=1033514289
Lasst halt Cassy aufn Tisch ;)

-mupfel-

-----------------------------------------------------------------------------



Re: OSNA-Stati 4.10. (Mupfel,  3. Okt 2002, 16:32:23):
~#! rn=Mupfel rt=1032648496 rg=treffen
~#! tid=1032648496
Nochmal zur Erinnerung ;)

Morgen, den 4.10. um 20 Uhr Stati in Osnabrueck, in Joes Saloon, Vitihof 22.

Achja: Bierchen kommt NICHT! Kein Grund mehr fuer Cuchullin, nicht zu kommen
;)

Gebt euchn Ruck ;)

-mupfel-

-----------------------------------------------------------------------------



Stammtisch Bochum (Thufhir,  3. Okt 2002, 16:48:38):

Huhu,

nochmal ganz kurz zur Erinnerung, morgen findet ein ausserordentlicher
Stammtisch in Bochum in den "vier Winden" ab 20:00 statt. Es haben sich
seltene Gaeste angekuendigt und es werden viele. Nutzt die Gelegenheit und
seid dabei! Wegbeschreibungen gibts wie immer beim Kaeptn oder zur Not (wenn
ihr es zwergisch moegt) auch von mir oder Lacri. ;)

Gruss, s'Zauberzwersch Thufhir

-----------------------------------------------------------------------------



Stammtisch Erlangen (Grimmborn,  3. Okt 2002, 19:07:24):
Am 3.10.2002 gibts gegen 20:00 einen Stammtisch in Erlangen. Hat zwar eher
nicht viel mit dem MG zu tun (lies: sehr viele Gaeste), wird aber sicher nett.
Bei lecker Fish & Chips in der Fat Lady. 

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Stammtisch Erlangen (Jadawin,  3. Okt 2002, 20:51:27):
~#! rn=Grimmborn rt=1033664844 rg=treffen
~#! tid=1033664844
Und woran erkenn ich Dich, wenn ich da jetzt hingehe? An den Fish und Chips?
Die isst da doch jeder zweite.
Jad*

-----------------------------------------------------------------------------



Re: Re: Stammtisch Erlangen (Mupfel,  3. Okt 2002, 21:08:47):
~#! rn=Jadawin rt=1033671087 rg=treffen
~#! tid=1033664844
Am koelner Dialekt ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Stammtisch Erlangen (Grimmborn,  4. Okt 2002, 00:47:48):
~#! rn=Mupfel rt=1033672127 rg=treffen
~#! tid=1033664844
Ich spreche lupenreines Hochdeutsch. Und der Stammtisch ist auch wieder
vorbei.

GdA

-----------------------------------------------------------------------------



Re^4: Stammtisch Erlangen (Anthea,  4. Okt 2002, 10:50:54):
~#! rn=Grimmborn rt=1033685268 rg=treffen
~#! tid=1033664844
Hm... koennt ihr vielleicht beim naechsten Mal etwas mehr als 53 Minuten
Vorwarnung geben?

-----------------------------------------------------------------------------



Re^5: Stammtisch Erlangen (Zook,  4. Okt 2002, 10:51:47):
~#! rn=Anthea rt=1033721454 rg=treffen
~#! tid=1033664844
Fuerstin Anthea ist ja alt und in Rente.... da muss man schon ein wenig
Ruecksicht nehmen... ;)

Zook.

-----------------------------------------------------------------------------



Stati Karlsruhe. (Bambi,  9. Okt 2002, 23:14:44):
Morgen ist wie fast jeden Donnerstag um 20 Uhr Mud-Stammtisch im Kleinen
Meierhof in Karlsruhe.
Ueber erwartete An- und Abwesende gibt Sistance gerne Auskunft.

-----------------------------------------------------------------------------



hmmm paaaty oder so was (Pitfall, 10. Okt 2002, 01:09:10):
hoeret, hoeret,

wir sollen uns an diesm freitage, dem 11.10. gegen 20 uhr im "aufsturz"
versammeln wurde mir verlautbart.

pit*, ausrufend

-----------------------------------------------------------------------------



Re: hmmm paaaty oder so was (Mupfel, 10. Okt 2002, 01:16:37):
~#! rn=Pitfall rt=1034204950 rg=treffen
~#! tid=1034204950
Aufsturz oder Absturz? ;)

-mupfel-

-----------------------------------------------------------------------------



Muenster...? (Zook, 10. Okt 2002, 11:12:56):
Hi, ich bin wohl am 12. Nov. 2002 zu einer Tagung in MS. Wenn es sich
einrichten liesse (ne Uebernachtungsgelegenheit waer total cool ;)))
koennte man sich ja am 11. Nov. statitechnisch treffen. Was meint die
Gemeinde?

Zook.

-----------------------------------------------------------------------------



Re: Muenster...? (Elberet, 10. Okt 2002, 11:15:28):
~#! rn=Zook rt=1034241176 rg=treffen
~#! tid=1034241176
ich komm dann auch

Elbi +1


-----------------------------------------------------------------------------



Re: Re: Muenster...? (Mupfel, 10. Okt 2002, 14:13:29):
~#! rn=Elberet rt=1034241328 rg=treffen
~#! tid=1034241176
Wenn ichs schaff komm ich auch (+2)

-mupfel-

-----------------------------------------------------------------------------



Re^3: Muenster...? (Morgoth, 10. Okt 2002, 14:26:00):
~#! rn=Mupfel rt=1034252009 rg=treffen
~#! tid=1034241176
...vorbei ? :)

-----------------------------------------------------------------------------



Re^4: Muenster...? (Mupfel, 10. Okt 2002, 15:07:25):
~#! rn=Morgoth rt=1034252760 rg=treffen
~#! tid=1034241176
Das auch, das auch...

-mupfel-

-----------------------------------------------------------------------------



Re^3: Muenster...? (Vanion, 10. Okt 2002, 16:28:26):
~#! rn=Mupfel rt=1034252009 rg=treffen
~#! tid=1034241176
Vllt kann ich Dich von Osnabrueck aus mitnehmen. Brauch dann nur 'ne
Uebernachtungsmoeglichkeit.

V* (+1) ? Vermutlich!

-----------------------------------------------------------------------------



Re^4: Muenster...? (Mupfel, 10. Okt 2002, 16:29:23):
~#! rn=Vanion rt=1034260106 rg=treffen
~#! tid=1034241176
Hier? Kein Problem, Platz ist satt da ;)

-mupfel-

-----------------------------------------------------------------------------



Re^5: Muenster...? (Puk, 10. Okt 2002, 18:24:07):
~#! rn=Mupfel rt=1034260163 rg=treffen
~#! tid=1034241176
Uff, na ich versuch mal die eingerosteten Muensterander Mudder auf trap zu
bringen, mal sehen was sich da aufbauen laesst :)

Puk

-----------------------------------------------------------------------------



Re: Re: hmmm paaaty oder so was (Pitfall, 10. Okt 2002, 22:04:24):
~#! rn=Mupfel rt=1034205397 rg=treffen
~#! tid=1034204950
hmm kurze planaenderung
stati ist doch am samstag, dem 12.10. 20 uhr im aufsturz,
ich hatte da was mit den ankunfstzeiten unserer unterhaltung err unserer
gaeste falsch verstanden

mea culpa maxima

pit*

-----------------------------------------------------------------------------



Re^3: hmmm paaaty oder so was (Cakey, 10. Okt 2002, 22:14:57):
~#! rn=Pitfall rt=1034280264 rg=treffen
~#! tid=1034204950
Red dich nicht raus, du warst mal wieder hoffnungslos ausgenuechtert und
deswegen nur Muell erzaehlt, Pitfall

Cakey

-----------------------------------------------------------------------------



Re^6: Muenster...? (Catweazle, 11. Okt 2002, 10:41:10):
~#! rn=Puk rt=1034267047 rg=treffen
~#! tid=1034241176
Ihr sucht euch immer die bloedesten Termine aus. Am 12. November bin ich in
Berlin ...

YTC

-----------------------------------------------------------------------------



Re^7: Muenster...? (Mupfel, 11. Okt 2002, 11:29:21):
~#! rn=Catweazle rt=1034325670 rg=treffen
~#! tid=1034241176
Zook wars! ;)

-mupfel-

-----------------------------------------------------------------------------



Re^7: Muenster...? (Zook, 11. Okt 2002, 11:34:07):
~#! rn=Catweazle rt=1034325670 rg=treffen
~#! tid=1034241176
Das Treffen soll auch am 11.11. sein, nicht am 12. :-) Also kannst Du
ja kommen.

ZOok.

-----------------------------------------------------------------------------



Re^8: Muenster...? (Catweazle, 11. Okt 2002, 11:37:46):
~#! rn=Zook rt=1034328847 rg=treffen
~#! tid=1034241176
Ne, da bin ich dann schon auf dem Weg ...

YTC

-----------------------------------------------------------------------------



Di, 15.10., Dresden (Deepblue, 11. Okt 2002, 14:41:55):
Am Dienstag, dem 15.10., ist wieder StaTi in Dresden, wie (fast) immer ab
20:00 Uhr im CD. Ein weiser Gast hat sich angekuendigt.
Deep*, im Auftrag des Mesirii unterwegs.

-----------------------------------------------------------------------------



Re^9: Muenster...? (Gorog, 12. Okt 2002, 19:19:06):
~#! rn=Catweazle rt=1034329066 rg=treffen
~#! tid=1034241176
Moins

So bin dann wohl auch da. Uebernachtungsmoeglichkeit waer vorhanden, wohne
allerdings recht weit von der Innenstadt weg, aber vielleicht faehrt puk ja
(;. Koennte allerdings sein, dass ich da am naechsten Tag was arbeiten muss.

mfGorog

-----------------------------------------------------------------------------



SUGI hat Durst (Sugaan, 13. Okt 2002, 21:23:34):
Sugi hat Durst und wuerde gerne mal wieder ein paar nette Mudder in Koeln oder
aber in Duesseldorf treffen. Hat irgendwer Zeit und Lust? Evt koennte man auch
eine Nikolaus-Treffen veranstalten - fuer die Daheimgeblieben. Meldet Euch
doch mal.

Gruesse SUGI



-----------------------------------------------------------------------------



Re: SUGI hat Durst (Muaddib, 13. Okt 2002, 21:26:43):
~#! rn=Sugaan rt=1034537014 rg=treffen
~#! tid=1034537014
Koeln hoert sich doch gut an - nur ob ich da an Nikolaus noch bin, weiss ich
noch nicht. Organisieren kann ich es auch nicht (kenn mich in Koeln nicht aus
und hab auch keine Zeit), wuerde aber vielleicht kommen :)
Ddorf ginge auch.

Mua

-----------------------------------------------------------------------------



Re: Re: SUGI hat Durst (Amaryllis, 13. Okt 2002, 21:29:25):
~#! rn=Muaddib rt=1034537203 rg=treffen
~#! tid=1034537014
Ddorf? seid ihr des Wahnsinns fette Beute?

Ama*, keinen Fuss nach Dunkeldorf setzend :)

-----------------------------------------------------------------------------



Re^3: SUGI hat Durst (Muaddib, 13. Okt 2002, 21:33:37):
~#! rn=Amaryllis rt=1034537365 rg=treffen
~#! tid=1034537014
Mir ist das egal, ich bin tagsueber in D und abends in K - ob wahnsinnig oder
nicht, da will ich mich gar nicht drueber auslassen. Solange man dann nicht im
Frueh sitzt und ein Alt bestellt...


-----------------------------------------------------------------------------



Re^4: SUGI hat Durst (Amaryllis, 13. Okt 2002, 21:34:54):
~#! rn=Muaddib rt=1034537617 rg=treffen
~#! tid=1034537014
Auch das hab ich schon erlebt... der Kollege, der das tat, bekam dann seine
Biere nur noch halbvoll - den ganzen Abend :)

Ama*

-----------------------------------------------------------------------------



Re^5: SUGI hat Durst (Muaddib, 13. Okt 2002, 21:35:54):
~#! rn=Amaryllis rt=1034537694 rg=treffen
~#! tid=1034537014
dann hat er ja einen verstaendnisvollen Kellner erwischt - ich haett ihm nur
noch limo gegeben...

-----------------------------------------------------------------------------



Re^5: SUGI hat Durst (Amaryllis, 13. Okt 2002, 21:36:18):
~#! rn=Amaryllis rt=1034537694 rg=treffen
~#! tid=1034537014
Sorry fuer den Selbstreply.

Aufgrund meines Postings koennte die Annahme entstehen, dass es sich bei
Koelsch tatsaechlich um Bier handelt. Dem ist nicht so, und deshalb hier eine
energische Gegendarstellung :)

Ama*

-----------------------------------------------------------------------------



Re^6: SUGI hat Durst (Muaddib, 13. Okt 2002, 21:37:56):
~#! rn=Amaryllis rt=1034537778 rg=treffen
~#! tid=1034537014
nee, is klar. Lass uns ne Bierdiskussion anreissen. Also, Koelsch ist Ploerre
in Reagenzglaesern, Alt is super und das sowieso einzige Bier ist Weissbier.
Noch Fragen?

-----------------------------------------------------------------------------



Re^7: SUGI hat Durst (Amaryllis, 13. Okt 2002, 21:39:22):
~#! rn=Muaddib rt=1034537876 rg=treffen
~#! tid=1034537014
Bis auf den Punkt "Alt is super" kann ich Dir nur zustimmen.
"Alt is super" korrigiere ich gerne mit "Alt is da, was in Dunkeldorf ankommt,
wenn due Koelner ihr Koelsch verdauungstechnisch in den Rhein entsorgen".

Ama*

-----------------------------------------------------------------------------



Re^7: SUGI hat Durst (Grimmborn, 13. Okt 2002, 21:39:48):
~#! rn=Muaddib rt=1034537876 rg=treffen
~#! tid=1034537014
Das war jetzt aber ein schoenes Beispiel fuer misslungene Satire.
Ist uebrigens aufschlussreich: Die meisten Leute, die nachplappern "Koelsch
ist kein Bier" haben nie Koelsch probiert, und machen ganz grosse Augen nach
ihrem ersten Schluck Koelsch. Ich lade solche Leute immer zu einem Koelsch ein
wenn ich schmutzige Schuhe habe, die werden durch die anschliessenden
Fusskuesse schoen sauber.

GdA

-----------------------------------------------------------------------------



Re^8: SUGI hat Durst (Muaddib, 13. Okt 2002, 21:41:51):
~#! rn=Grimmborn rt=1034537988 rg=treffen
~#! tid=1034537014
Misslungene Satire ist immer ansichtssache. Eigentlich hab ich den Thread nur
weiterverfolgt, weil ich auf Dein erstes Posting gespannt war. Danke, Grimmi,
Du hast mich nicht enttaeuscht.
Ich gehoere natuerlich zu den ignoranten Leuten, die nur nachplappern koennen,
habe Koelsch noch nie probiert und finde es dennoch eklig...

-----------------------------------------------------------------------------



Re^8: SUGI hat Durst (Amaryllis, 13. Okt 2002, 21:47:29):
~#! rn=Grimmborn rt=1034537988 rg=treffen
~#! tid=1034537014
Nach ueber einem Jahr in Koeln habe ich sehr viele der Koelschsorten, die man
mir empfohlen hat, probiert. Dass mir bislang keine schmeckte ist dumm, aber
kein Hinderungsgrund, da man hier ja auch anderes Bier bekommt - auch wenn der
Koebes laestert, so what :-)

Jedenfalls ist es Geschmackssache - auch wenns ein Glaubenskrieg fast wie bei
Betriebssystemen ist :)

Ama*

-----------------------------------------------------------------------------



Re^9: SUGI hat Durst (Grimmborn, 13. Okt 2002, 22:11:57):
~#! rn=Amaryllis rt=1034538449 rg=treffen
~#! tid=1034537014
Eben. Ich lasse Dir Dein Windows, und ich lasse Dir Dein !Koelsch. Und bin
jeweils froh, dass ich das fuer mich anders sehen kann.

GdA

-----------------------------------------------------------------------------



Re^7: SUGI hat Durst (Deepblue, 14. Okt 2002, 00:09:23):
~#! rn=Muaddib rt=1034537876 rg=treffen
~#! tid=1034537014
Nein. Nur soviel:
Bier is a registered trademark of Radeberger Exportbierbrauerei.

-----------------------------------------------------------------------------



Re: Stammtisch in Muenchen (Zook, 15. Okt 2002, 08:50:11):
~#! rn=Alcina rt=1034658747 rg=treffen.bekanntmachungen
~#! tid=1034658747
Wie lustig, da bin ich tatsaechlich in Muenchen, aber hab wohl keine
Zeit, zum Mud-Stati zu kommen. :-)

Zook.

-----------------------------------------------------------------------------



Re^10: Muenster...? (Kartoffel, 15. Okt 2002, 23:53:45):
~#! rn=Gorog rt=1034443146 rg=treffen
~#! tid=1034241176
Halloele,

ich werd wohl auch aufschlagen.
Geh ich richtig in der Annahme, dass das Ganze in der Frauenstrasse
stattfindet?

Gruss,
`Toffel

-----------------------------------------------------------------------------



Re^11: Muenster...? (Zook, 16. Okt 2002, 08:33:59):
~#! rn=Kartoffel rt=1034718825 rg=treffen
~#! tid=1034241176
Ich weiss noch von nix. Weder ob und wo ich uebernachten kann, noch wo
der Stati stattfindet ;)

Zook.

-----------------------------------------------------------------------------



Party in Berlin (Martini, 16. Okt 2002, 16:28:31):
Hi Ihr!

Am Freitag (18.10.) findet bei uns im Studentenclub "Melle" wieder ein
Semestereroeffnungsfete statt! Dazu sind alle herzlich eingeladen!

Alle wichtigen Infos dazu sind auf dem Plakat zu sehen:
-> http://www.f4.fhtw-berlin.de/people/s0285573/melle.jpg

Martini.

-----------------------------------------------------------------------------



Re^12: Muenster...? (Gorog, 16. Okt 2002, 18:54:30):
~#! rn=Zook rt=1034750039 rg=treffen
~#! tid=1034241176
Hmmmm
Frauenstrasse hoert sich gut, da warn mer schon laenger nicht mehr. Und was
das Uebernachten angeht, so waern bei mir 2 bis 3 Plaetze frei, muss aber
wahrscheinlich am naechsten Tag arbeiten und daher recht "frueh" los.

mfGorog

-----------------------------------------------------------------------------



Re: Party in Berlin (Cassandra, 17. Okt 2002, 11:28:55):
~#! rn=Martini rt=1034778511 rg=treffen
~#! tid=1034778511
haettest du das nicht frueg#her posten koennen

Cassandra, in berlin und heut auch wieder wegfahrend

-----------------------------------------------------------------------------



hoeret, hoeret, (Pitfall, 21. Okt 2002, 17:57:26):

die zeit ist gekommen die auswaertigen gaeste langsam wieder zu verabschieden.
aus diesem grund werden wir uns am freitag, dem 25.10. um 20 uhr im "aufsturz"
versammeln und den abschied gebuehrend feiern.

*pit*

-----------------------------------------------------------------------------



Re: hoeret, hoeret, (Gloinson, 22. Okt 2002, 15:37:56):
~#! rn=Pitfall rt=1035215846 rg=treffen
~#! tid=1035215846
Vorverabschiedung ist natuerlich morgen im Club in der Melle, hm? :)

-----------------------------------------------------------------------------



Re: Re: hoeret, hoeret, (Pitfall, 22. Okt 2002, 15:39:08):
~#! rn=Gloinson rt=1035293876 rg=treffen
~#! tid=1035215846
selbstmurmelnd

-----------------------------------------------------------------------------



Re: Re: MARBURG! (Mandragon, 22. Okt 2002, 22:59:45):
~#! rn=Zook rt=1035315419 rg=treffen.bekanntmachungen
~#! tid=1035314576
Der Termin ist gut. Immerhin komme ich erst am 23.11. wieder und kann mir die
Fahrt nach Marburg sparen ;-)

Ma*

-----------------------------------------------------------------------------



Re: Re: MARBURG! (Grimmborn, 22. Okt 2002, 23:41:33):
~#! on=Lwaxana ot=1035322881 og=treffen.bekanntmachungen
~#! rn=Zook rt=1035315419 rg=treffen.bekanntmachungen
~#! tid=1035314576
Siehste mal und ich dachte schon in meinem jugendlichen Leichtsinn der Ort
waere Marburg. So kann man sich irren ;)

Lwaxana - sich vorsichtshalber mal duckend

-----------------------------------------------------------------------------



Re: hoeret, hoeret, (Ronda, 23. Okt 2002, 00:43:09):
~#! rn=Pitfall rt=1035215846 rg=treffen
~#! tid=1035215846
Ja, ja, und damit gar keine anderen auswaertigen Gaeste kommen, verkneift Ihr
Euch dranzuschreiben, in welcher Stadt Ihr den Absturz im Aufsturz plant...

Ronda *Kneipenunkundig und orientierungslos*

-----------------------------------------------------------------------------



Re: Re: hoeret, hoeret, (Zook, 23. Okt 2002, 07:37:34):
~#! rn=Ronda rt=1035326589 rg=treffen
~#! tid=1035215846
Also, wo der "Aufsturz" ist, weiss ja sogar ich... :-) Ganz easy zu finden,
uebrigens. Zook.

-----------------------------------------------------------------------------



Re^4: Muenster...? (Vanion, 23. Okt 2002, 20:33:10):
~#! rn=Vanion rt=1034260106 rg=treffen
~#! tid=1034241176
-1 

Ich hab mich voll vertan. Hab 1./2. gelesen und nich 11./12. Das is ja mitten
in der Woche - das krieg ich nicht hin :/

V*, enttaeuscht.

-----------------------------------------------------------------------------



Re: Re: MARBURG! (Mupfel, 23. Okt 2002, 20:54:47):
~#! rn=Zook rt=1035315419 rg=treffen.bekanntmachungen
~#! tid=1035314576
Gaebn ne Moeglichkiet da zu pennen? Dann koennte noch son alter Sack kommen ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: hoeret, hoeret, (Gnome, 24. Okt 2002, 10:36:51):
~#! rn=Ronda rt=1035326589 rg=treffen
~#! tid=1035215846
da pitfall den artikel geschrieben hat und er stammtischausrufsgehilfe
von berlin ist, ist es am wahrscheinlichsten, dass sich der
"aufsturz" in zuerich befindet.

gnOme seufzt.

-----------------------------------------------------------------------------



Re^3: hoeret, hoeret, (Nibel, 24. Okt 2002, 10:39:39):
~#! rn=Gnome rt=1035448611 rg=treffen
~#! tid=1035215846
Aha? Toll, nach Zuerich komm ich auch...
(+1) ;-)
  - Nibel
-----------------------------------------------------------------------------



Re^4: hoeret, hoeret, (Gloinson, 24. Okt 2002, 13:29:30):
~#! rn=Nibel rt=1035448779 rg=treffen
~#! tid=1035215846
Pitfall klingt so spassig. Das kann nur Koelle sein.

-----------------------------------------------------------------------------



stati stuttgart (Leibi, 26. Okt 2002, 16:24:25):

hallo zusammen,
wie waers mal wieder mit einem stati in stuttgart?
ich dachte an den 16. november und ans enchilada?

macht mal vorschlaege :)

leibi

-----------------------------------------------------------------------------



Re^3: MARBURG! (Zook, 26. Okt 2002, 21:41:15):
~#! rn=Key rt=1035639054 rg=treffen.bekanntmachungen
~#! tid=1035314576
Ih, ich glaube, dann koennen wir uns schon fast auf Hinkelstein 
einigen (hab das auch als Idee gemailt bekommen ;)) Wenigstens sind
wir dann nach hinten hin nicht zeitlich begrenzt.

Zook.

PS: Du replyst in der falschen Rubrik. Sei doch mal ein bisschen
flexibler ;)

-----------------------------------------------------------------------------



Re^4: MARBURG! (Key, 27. Okt 2002, 01:07:59):
~#! rn=Zook rt=1035661275 rg=treffen
~#! tid=1035314576
Ich habe bereits gestanden, dass ich mich trotz damaligen Massenpostens nicht
mit der MPA auskenne :)
Und zu faul fuer RTFM bin ;)
Ausserdem hab ich mich an Grimmborn gewoehnt ... ohne den kann ich nicht
posten ;)

Hmm mir faellt immernoch nichts besseres ein, ausser die Kuschelstube
*zwinker* =;)

-----------------------------------------------------------------------------



Re: Re: MARBURG! (Grimmborn, 28. Okt 2002, 03:28:15):
~#! on=Key ot=1035639054 og=treffen.bekanntmachungen
~#! rn=Zook rt=1035315419 rg=treffen.bekanntmachungen
~#! tid=1035314576
... Typisch Gott .... :)
Unselbststaendig, unflexibel und keinen Ueberblick =;) *huepft in Deckung
bevor die Blitze einschlagen* ;)

Hmm und zum Ort ... Hinkelstein waere ganz nett.
Die typischen Studiekneipen sind eh wieder voll, und der Geraeuschpegel grenzt
an Wahnsinn ;) Sudhaus waere da noch was, da die auch leckeres fuer die
Hungrigen bieten.
Naja schauen wir mal ;)

Cu

-----------------------------------------------------------------------------



Re: planaenderung... (Grimmborn, 31. Okt 2002, 21:54:29):
~#! on=Pitfall ot=1036083157 og=treffen.bekanntmachungen
~#! rn=Pitfall rt=1036067392 rg=treffen.bekanntmachungen
~#! tid=1036067392
in reinickendorf ist in der schoenfliesser strasse auch nicht das cafe
"multi-kulti".
ohne meldnug weg

-----------------------------------------------------------------------------



Re: Re: planaenderung... (Gnome,  1. Nov 2002, 17:02:26):
~#! rn=Grimmborn rt=1036097669 rg=treffen
~#! tid=1036067392
das wissen die aber nicht, torfkopp.

-----------------------------------------------------------------------------



Re: stati stuttgart (Bambi,  2. Nov 2002, 12:52:54):
~#! rn=Leibi rt=1036234065 rg=treffen.bekanntmachungen
~#! tid=1036234065
Ist das enchilada das, wo das essen so teuer war, dass man lieber 200 Meter
zum McFrissMich gelaufen und dann mit vollem (?) Magen zurueckgekommen ist?

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Leibi,  2. Nov 2002, 14:20:25):
~#! rn=Bambi rt=1036237974 rg=treffen
~#! tid=1036234065
hey warum poste ich das ganze eigentlich ne woche vorher? vielleicht damit ihr
mir _bevor_ ich dem tisch reserviere sagt, dass euch das nicht passt?

logische schlussfolgerung, wenn mir keiner was sagt und einer meint das
enchilada ist ok, dann bestelle ich da einen tisch.
aber vielleicht koennen wir uns auf dem stati endlich mal einigen. denn alles
was ich bisher ausgesucht hab, hat irgendjemanden nicht gepasst. ich bins
sonst leid, mich weiter drum zu kuemmern.

leibi

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Bambi,  2. Nov 2002, 14:47:20):
~#! rn=Leibi rt=1036243225 rg=treffen
~#! tid=1036234065
Ich habe nicht gesagt, dass das enchilada nicht ok sei. Ich habe nur
angemerkt, dass man dort* im Gegensatz -beispielsweise zum Kleinen Meierhof-
von anderen Muddern dezent darauf hingewiesen werden musste, dass die Preise
fuer Speisen nicht dem allgemeinen Statiniveau entsprechen.
Folge war halt, dass wir (Pardauz und ich) ins McDings gegangen sind, weil wir
fuer die Stillung unseres nicht allzu geringen Hungers sonst viel Geld haetten
bezahlen muessen.

* sofern es sich um die Oertlichkeit handelt, an dem "damals" Stati war.

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Sou,  2. Nov 2002, 15:11:37):
~#! rn=Leibi rt=1036243225 rg=treffen
~#! tid=1036234065
Na ja, da ich kein grosser Coctailfan bin, aber vielleicht einer werde, habe
ich nichts gegens Enchilada :)

Sou

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Flauros,  2. Nov 2002, 15:17:13):
~#! rn=Sou rt=1036246297 rg=treffen
~#! tid=1036234065
Okay, also das Enchilada ist nicht die Lokalitaet des letzten Stati, das war
glaube ich das Calwer Eck.
Im Enchilada gibt's gaaaaaanz lecker viele Cocktails ;)
Also komm wieder vorbei Bambi und lerne auch einmal das Enchilada kennen

Flauschi - freut sich aufs Enchilada und hat sich angemeldet ;)

-----------------------------------------------------------------------------



Re^5: stati stuttgart (Leibi,  2. Nov 2002, 15:19:35):
~#! rn=Flauros rt=1036246633 rg=treffen
~#! tid=1036234065
davon abgesehn ist stuttgart halt nun mal anders als zb karlsruhe udn das vor
allem, was die preise betrifft :(
darum hatten wir ja auch sophies brauhaus und das calwer eck getestet und von
mir aus koennen wir auch noch mehr testen. bin fuer vorschlaege offen :)
leibi

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Leibi,  2. Nov 2002, 15:36:04):
~#! rn=Leibi rt=1036246775 rg=treffen
~#! tid=1036234065
wir koennten ja vorher noch zu mr wok gehn :)
leider werden wir dann aber nicht erleben, dass bambi 2 pommes und 10 cent
bestellt wie es vielleicht bei mcdoof der fall waere...

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Sou,  2. Nov 2002, 15:38:13):
~#! rn=Leibi rt=1036247764 rg=treffen
~#! tid=1036234065
Hm hoert sich chinesisch an....

Sou ist dafuer.

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Flauros,  2. Nov 2002, 15:38:27):
~#! rn=Leibi rt=1036247764 rg=treffen
~#! tid=1036234065
2 Pommes und 10 Cent?!?

Flauschi ist etwas verwirrt.

-----------------------------------------------------------------------------



Re^8: stati stuttgart (Leibi,  2. Nov 2002, 15:38:47):
~#! rn=Flauros rt=1036247907 rg=treffen
~#! tid=1036234065
es ist chinesisch und dazu noch billig und viel :)

-----------------------------------------------------------------------------



Re^9: stati stuttgart (Sou,  2. Nov 2002, 15:49:29):
~#! rn=Leibi rt=1036247927 rg=treffen
~#! tid=1036234065
Hm hoert sich doch gut an....

Sou ausnahmsweise ans Essen, und nicht ans Trinken denkend.

-----------------------------------------------------------------------------



Re^10: stati stuttgart (Cadrach,  2. Nov 2002, 16:42:32):
~#! rn=Sou rt=1036248569 rg=treffen
~#! tid=1036234065
Regenwuermer fuer Leibi!!!

Cad*

-----------------------------------------------------------------------------



Re^11: stati stuttgart (Leibi,  2. Nov 2002, 17:35:39):
~#! rn=Cadrach rt=1036251752 rg=treffen
~#! tid=1036234065
dann will ich aber auch DIE bedienung zurueck
und DIE andere bedienung natuerlich auch... wobei die noch viel lieber...
hmmm. imda, haste eigentlich in erfahrung gebracht, wo die jetzt arbeitet?
wenn ich mir ueberlege, dass ich nur darum im cibo mato einen swimming pool
bestellt hab :(
baeeehhh

leibi - hat mit bedienungen auf statis immer _viel spass_

-----------------------------------------------------------------------------



Re^12: stati stuttgart (Sarkon,  2. Nov 2002, 18:01:19):
~#! rn=Leibi rt=1036254939 rg=treffen
~#! tid=1036234065
Also wenn wir davor lecker asiatisch essen gehen dann bin ich bei Enchilada
mehr als dabei :) Da ich aber diesmal nicht fahren werde kann das teuer
werden...Naja, man lebt ja nur einmal (Andersglaeubige, die an Reinkarnation
glauben natuerlich ausgenommen). Also ich freu mich, hoffe, dass ich kommen
kann und sag schonmal ganz arg Danke an Dich Leibi fuer die Organisation.
Sarkon, von Wok und Cocktails traeumend...

-----------------------------------------------------------------------------



to noe 52 (Muadib,  3. Nov 2002, 00:31:33):
~#! rn=Sarkon rt=1036256479 rg=treffen
~#! tid=1036234065
und wann koennen wir von ka wieder nach stuttgart fahren ?
der bezugsartikel ist frei nach megaschmarrntradition gewaehlt

-----------------------------------------------------------------------------



Re^12: stati stuttgart (Imda,  3. Nov 2002, 03:07:43):
~#! rn=Leibi rt=1036254939 rg=treffen
~#! tid=1036234065
Oehm, dazu sollten mir mal vieleicht um die Kirche im Kreis laufen. aber
enchilada klingt doch ned schlecht. Die ham doch jede Menge Bunnys(tm) als
Bedienungen. Und die eine Bruenette... ;) des weiteren gibbed da
Berentsenproben und lustige gelbe trillerpfeifen...

Imda. Grad von dort kommend.

-----------------------------------------------------------------------------



Re^13: stati stuttgart (Cuchullin,  3. Nov 2002, 03:08:31):
~#! rn=Imda rt=1036289263 rg=treffen
~#! tid=1036234065
Vielleicht sollten wir fuer euch die Rubrik "treffen.bunnychecker"
anregen, mh? ;)


-----------------------------------------------------------------------------



Re^14: stati stuttgart (Imda,  3. Nov 2002, 03:09:17):
~#! rn=Cuchullin rt=1036289311 rg=treffen
~#! tid=1036234065
dafuer.

-----------------------------------------------------------------------------



Re^13: stati stuttgart (Leibi,  3. Nov 2002, 11:59:10):
~#! rn=Imda rt=1036289263 rg=treffen
~#! tid=1036234065
das mir der kirche haben wir ja schon versucht... dabei ist dann extra wegen
mir eine bedienung aus einem lokal gekommen, wenn ich mich rech erinnere, aber
die rose war gaz ok :)
klar ist enchilada ok, aber die bunnys... also die woche hab ich doch
tatsaechlich _etwas_ laenger auf mein getraenk warten muessen (wenn ich sagen
wuerde wie lange, wollte keiner mehr hingehn).
und das mit der trillerpfeife war auch lustig, aber ein auto hab ich nicht
gewonnen, nicht mal ne waschmaschine.

die optimale stati kneipe waere DIE bedienung im roten shirt, mit der man sich
ueber wuermer unterhalten kann und die immer was ausgibt am ende und und
natuerlich trotzdem mag :)
leibi - traeumt weiter :)

-----------------------------------------------------------------------------



Re^15: stati stuttgart (Leibi,  3. Nov 2002, 12:00:39):
~#! rn=Imda rt=1036289357 rg=treffen
~#! tid=1036234065
und was sind maennliche haeschen?

-----------------------------------------------------------------------------



Re^16: stati stuttgart (Flauros,  3. Nov 2002, 12:05:45):
~#! rn=Leibi rt=1036321239 rg=treffen
~#! tid=1036234065
Unwichtig?! ;)

Flauschi 
*

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Inesha,  4. Nov 2002, 10:35:18):
~#! rn=Leibi rt=1036243225 rg=treffen
~#! tid=1036234065
Bambi meinte das Calwer Eck.

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Leibi,  4. Nov 2002, 19:07:13):
~#! rn=Inesha rt=1036402518 rg=treffen
~#! tid=1036234065
calwer eck finde ich auch doof 


-----------------------------------------------------------------------------



Re^5: stati stuttgart (Humni,  4. Nov 2002, 19:46:00):
~#! rn=Leibi rt=1036433233 rg=treffen
~#! tid=1036234065
Ja, da wird man immer so betrunken. Noch schlimmer ist aber Sophie's Brauhaus,
da will ich hinterher jedesmal weglaufen und danach beschwer ich mich immer
ueber den Bahnhof.

Humni

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Imda,  4. Nov 2002, 19:47:06):
~#! rn=Humni rt=1036435560 rg=treffen
~#! tid=1036234065
:fordert Leinenzwang fuer Humni auf Stuttgarter stammtischen

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Deepblue,  4. Nov 2002, 19:49:14):
~#! rn=Imda rt=1036435626 rg=treffen
~#! tid=1036234065
:kettet Imda an Humni (bzw. umgekehrt)

-----------------------------------------------------------------------------



Re^8: stati stuttgart (Arwin,  4. Nov 2002, 20:02:03):
~#! rn=Deepblue rt=1036435754 rg=treffen
~#! tid=1036234065
Also das waere ein sehr interessantes Gespann, nur wer passt dann auf die
beiden auf? ;-)

Arwin - fuerchtet um den Rest der Stuttgarter Bevoelkerung.

-----------------------------------------------------------------------------



Re^8: stati stuttgart (Mikage,  5. Nov 2002, 14:31:47):
~#! rn=Deepblue rt=1036435754 rg=treffen
~#! tid=1036234065
also mir ist es eigentlich egal, wohin wir gehen ... ich bin naemlich auf
jeden fall dabei ...
waere schoen, wenn man fuer den rueckweg noch so nen hasenexpress einrichten
koennte *schielzudengoeppingern*
mikage, hoppelnd
*genug mpa gelesen ... 

-----------------------------------------------------------------------------



Stammtisch mal wieder in Halle? (Grimmborn,  5. Nov 2002, 18:33:34):
~#! on=Alcina ot=1036517509 og=treffen.bekanntmachungen

Halloechen,

wie schauts denn mal mit nem Stammtisch in Halle aus?

Alcina - massiv dran interessiert


-----------------------------------------------------------------------------



Re^9: stati stuttgart (Arwin,  5. Nov 2002, 18:34:14):
~#! rn=Mikage rt=1036503107 rg=treffen
~#! tid=1036234065
Ist wohl noch nicht klar, wer faehrt, ich denke aber mal, dass sich das auf
alle Faelle einrichten laesst. :-)

Arwin - spielt gerne Hasenexpress ;)

-----------------------------------------------------------------------------



Marburg-Stati (Arwin,  5. Nov 2002, 18:36:11):
Zook, bekommt man auch irgendwo eine Wegbeschreibung?
Keine Ahnung, ob ich die nur ueberlesen habe, wollte jetzt aber nicht alles
nochmal durchwuehlen.

Arwin will es krachen lassen. ;)

-----------------------------------------------------------------------------



Re: Marburg-Stati (Zook,  6. Nov 2002, 16:51:33):
~#! rn=Arwin rt=1036517771 rg=treffen
~#! tid=1036517771
Kommt noch, kommt noch. :-) Dann auch in der richtigen Rubrik. ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: Stati MS (Grimmborn,  7. Nov 2002, 18:06:53):
~#! on=Hisasul ot=1036688428 og=treffen.bekanntmachungen
~#! rn=Pitfall rt=1036688362 rg=treffen.bekanntmachungen
~#! tid=1036688174
Pah!

Da ist laengst Stuttgart angesagt :p

HisA*

-----------------------------------------------------------------------------



Re^3: Stati MS (Leibi,  7. Nov 2002, 18:38:47):
~#! rn=Grimmborn rt=1036688813 rg=treffen
~#! tid=1036688174
genau.
es waer uebrigens nett, wenn die, die kommen wollen, mir kurz bescheid sagen.
danke

leibi

-----------------------------------------------------------------------------



Re^4: Stati MS (Sou,  7. Nov 2002, 18:50:52):
~#! rn=Leibi rt=1036690727 rg=treffen
~#! tid=1036688174
+1 :)
Sou kommt wohl.

-----------------------------------------------------------------------------



Re^5: Stati MS (Hisasul,  7. Nov 2002, 19:22:45):
~#! rn=Sou rt=1036691452 rg=treffen
~#! tid=1036688174
+1

-----------------------------------------------------------------------------



Re^6: Stati MS (Puk,  8. Nov 2002, 00:53:46):
~#! rn=Hisasul rt=1036693365 rg=treffen
~#! tid=1036688174
hngl, kommt ihr jetzt zum MS stati oder antwortet ihr nur auf leibis anfrage ?
:)
Puk, verliert den ueberblick hier

-----------------------------------------------------------------------------



Re^7: Stati MS (Leibi,  8. Nov 2002, 07:57:02):
~#! rn=Puk rt=1036713226 rg=treffen
~#! tid=1036688174
ich glaub die beiden kommen nach stuttgart :)
leibi

-----------------------------------------------------------------------------



Re^10: stati stuttgart (Ordos,  8. Nov 2002, 10:48:06):
~#! rn=Arwin rt=1036517654 rg=treffen
~#! tid=1036234065
Na wenn alle Goeppinger kommen, wer d ich mich kmal an schliessen und auch
kommen.
Ordos.

-----------------------------------------------------------------------------



Re^7: Stati MS (Mupfel,  9. Nov 2002, 19:47:55):
~#! rn=Puk rt=1036713226 rg=treffen
~#! tid=1036688174
Ich komm natuerlich zum Stati. Und Varlarion auch.

-mupfel-

-----------------------------------------------------------------------------



Re: kw-stati (Humni, 14. Nov 2002, 11:24:47):
~#! on=Gralkor ot=1037268935 og=treffen.bekanntmachungen
~#! rn=Caren rt=1037113460 rg=treffen.bekanntmachungen
~#! tid=1037113460
*heul*
Immer zu Terminen, wo ich nicht kann.
Montag war ich im 'Ausland'
Und Sonntags ist der Termin im Spielehaus heilig...

G., hofft auch mal wieder nen Halle-Stati zu erwischen
PS: 2000 irgendwann in Spaetschicht :)

-----------------------------------------------------------------------------



Re: Freitagsstammtisch Dresden 15.11.2002 (Humni, 14. Nov 2002, 11:29:45):
~#! on=Muadib ot=1037179942 og=treffen.bekanntmachungen
~#! rn=Mesirii rt=1037138747 rg=treffen.bekanntmachungen
~#! tid=1037138747
was wieder die frage aufwirft: wann gibt es den naechsten tauchtreff, gelingt
es ueberhaupt genug wintertaucher zusammenzubekommen?
wer wuerde denn willig sein sich im winter in einem see zu versenken?

muadib

-----------------------------------------------------------------------------



Re: Re: Freitagsstammtisch Dresden 15.11.2002 (Humni, 14. Nov 2002, 11:29:47):
~#! on=Muaddib ot=1037180030 og=treffen.bekanntmachungen
~#! rn=Muadib rt=1037179942 rg=treffen.bekanntmachungen
~#! tid=1037138747
ICH - willig immer, nur Zeit koennte ein Problem sein. Vielleicht finden wir
einen zentralen See, in dem wir einen Christbaum versenken koennen?

cheers

-----------------------------------------------------------------------------



Re: Re: Freitagsstammtisch Dresden 15.11.2002 (Muadib, 16. Nov 2002, 23:20:28):
~#! rn=Humni rt=1037269785 rg=treffen
~#! tid=1037138747
danke humni und du hattest recht :) hihi

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Imda, 17. Nov 2002, 03:12:00):
~#! rn=Imda rt=1036435626 rg=treffen
~#! tid=1036234065
Also wie, Kiner, um 3 Uihr waer ich bereit gewesen. da habt ihr eueren Strait
aber schon lang abgebrochen gehabt. was fuer ein trauriges Bild.
Schaemt euch.

-----------------------------------------------------------------------------



Re^8: stati stuttgart (Leibi, 17. Nov 2002, 12:07:43):
~#! rn=Imda rt=1037499120 rg=treffen
~#! tid=1036234065
also imda du hast aber echt was verpasst (und alle anderen natuerlich auch)
waerst du besser mal frueher aufgestanden oder so

ein kleiner auszug des abends:
mikage sagt: ich bin cool
hisasul (schaut zu mikage und dann zu den anderen): wir gehn dann langsam
mikage (beachtet his ueberhaupt nicht) zu leibi: wir muessen auf die toilette.

 mikage: die weltmacht gehoert deN polarhaeschen in der polarhasenzentrale.
dann gabs da noch das mit dem tollen satz: 'ich gedenke den toten'. wenn ich
mich recht erinnere haben alle geschwiegen und sou war fast am schnarchen :)

leibi - hatte spass und wird sicher noch einen stati organisieren :)

-----------------------------------------------------------------------------



Re^9: stati stuttgart (Bambi, 17. Nov 2002, 12:41:56):
~#! rn=Leibi rt=1037531263 rg=treffen
~#! tid=1036234065
Dein Log ist aber arg loechrig. Schade eigentlich.
Wobei, soviel wie wir ueber EMs hergezogen sind, ist das wohl auch besser so.
Ups. Ich hab nix gesagt.

-----------------------------------------------------------------------------



Re^10: stati stuttgart (Leibi, 17. Nov 2002, 12:42:28):
~#! rn=Bambi rt=1037533316 rg=treffen
~#! tid=1036234065
naaa ich gebs ja zu: ich konnte nimmer so viel von dem was auf dem zettel
stand lesen

leibi

-----------------------------------------------------------------------------



Re^11: stati stuttgart (Imda, 17. Nov 2002, 12:48:06):
~#! rn=Leibi rt=1037533348 rg=treffen
~#! tid=1036234065
Du hast allgmein Probleme mit dem lesen von Zetteln, oder taeusch ich mich da?

-----------------------------------------------------------------------------



Re^12: stati stuttgart (Leibi, 17. Nov 2002, 12:48:42):
~#! rn=Imda rt=1037533686 rg=treffen
~#! tid=1036234065
so kann man das nciht sagen... ich glaube, den zettel den du meinst, den
hattest nur du


-----------------------------------------------------------------------------



Re^13: stati stuttgart (Imda, 17. Nov 2002, 12:50:26):
~#! rn=Leibi rt=1037533722 rg=treffen
~#! tid=1036234065
Das naechste mal bring ich Kohlepapier mit. Oder du lernst rlese.

-----------------------------------------------------------------------------



Re: Flammkuchenessen (Bambi, 17. Nov 2002, 17:30:40):
~#! rn=Bambi rt=1037550395 rg=treffen.bekanntmachungen
~#! tid=1037550395
Weil ich drauf angesprochen wurde...
Das ist _keine_ Konkurrenzveranstaltung zu Thale. Aus Karlsruhe und Umgebung
faehrt m.W. sowieso niemand nach Thale und ich wuesste nicht, wieso wir daheim
sitzen und Daeumchen drehen sollten, nur weil irgendwo Mudparty ist.
Ansonsten komm ich naemlich auf die Idee, dass Donnerstags ausser in Karlsruhe
keine Mudstammtische in weniger als 1500km Entfernung von Karlsruhe
stattfinden duerfen. Die waeren dann ja ne Konkurrenzveranstaltung.

-----------------------------------------------------------------------------



Re: Re: Flammkuchenessen (Gloinson, 17. Nov 2002, 22:42:19):
~#! rn=Bambi rt=1037550640 rg=treffen
~#! tid=1037550395
Naja, mach 400 km fuer Thale daraus. Ansonsten duerften wir selbst in
Kaliningrad keinen StaTi machen. Ich find es etwas seltsam von Euch und den
Bochumern, ausgerechnet an dem WE StaTi zu machen, aber ich habe mich ja
selbst fuer solche Konkurrenz entschieden ...

-----------------------------------------------------------------------------



Re^3: Flammkuchenessen (Croft, 17. Nov 2002, 23:04:12):
~#! rn=Gloinson rt=1037569339 rg=treffen
~#! tid=1037550395
Ich wuerd das nicht als Konkurrenz ansehen.  Die Idee kam heute.  Und die
Anmeldefrist fuer Thale ist ja wohl rum, d.h. irgendwelche Leute werden
da nicht abgeworben.  Insofern kann Mudder das WE ja irgendwie zusammen
verbringen.  Oder sollen wir uns trauern einschliessen, weil wir nicht
nach Thale kommen (wollten)?
Croft

-----------------------------------------------------------------------------



Re^4: Flammkuchenessen (Lacri, 18. Nov 2002, 08:39:13):
~#! rn=Croft rt=1037570652 rg=treffen
~#! tid=1037550395
Lacri stimmt Croft zu. 

-----------------------------------------------------------------------------



Re^3: Flammkuchenessen (Thufhir, 18. Nov 2002, 11:00:47):
~#! rn=Gloinson rt=1037569339 rg=treffen
~#! tid=1037550395
es mag fuer die unterschiedlichsten leute unterschiedlichste gruende geben
nicht nach thale zu fahrn (zu weit, zu teuer, kein ganzes wochendende zeit,
etc, etc). der/das bochumer stati/treffen ist nach der anmeldefrist von thale
angekuendigt worden. die anmeldeliste fuer thale sieht und sah nie wirklich
lang aus, dass das an den nachtraeglich angemeldeten
konkurrenz-veranstaltungen liegen soll ist laecherlich. wie einige leute vor
mir schon anmerkten gibt es keinen objektiven grund, dass die zahlreich
daheimgebliebenen nicht irgendwas anderes unternehmen sollten.
thufhir

-----------------------------------------------------------------------------



Re^10: stati stuttgart (Ark, 18. Nov 2002, 11:32:50):
~#! rn=Bambi rt=1037533316 rg=treffen
~#! tid=1036234065
So? Ich berufe sofott ein Konzil ein. Wehret den Anfaengen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Marburg-Stati (Zook, 18. Nov 2002, 16:10:13):
~#! rn=Arwin rt=1036517771 rg=treffen
~#! tid=1036517771
Siehe treffen.wegbeschreibungen.

Btw, ich kenne den "Speisen"-Teil der Kneipe nicht so fuerchterlich gut. Es
kann also nicht schaden, schon eine Kleinigkeit im Bauch zu haben, so dass
es nicht zu hungrigen Muddern kommt, die dann auf der Suche nach Essbaren
alles kurz und klein schlagen.

Zook.

-----------------------------------------------------------------------------



Re: Marburg, Hinkelstein. (Zook, 18. Nov 2002, 16:13:38):
~#! rn=Zook rt=1037632127 rg=treffen.wegbeschreibungen
~#! tid=1037632127
1. Ich hoffe, Ihr findet das. :-) 
2. Ich habe kein Handy, kann Euch also auch keine Handy-Nummer anbieten.
3. Wer trotzdem Angst hat, es nicht zu finden, melde sich die Woche mal
   per Email bei mir.
4. Wenn Ihr verlustig geht, fragt den naechsten NPC nach "Marktplatz".

Zook.

-----------------------------------------------------------------------------



Re^11: stati stuttgart (Hobo, 18. Nov 2002, 16:20:11):
~#! rn=Ark rt=1037615570 rg=treffen
~#! tid=1036234065
Auja, auf nach Konstanz!

    Hobo - will in die Heimat

-----------------------------------------------------------------------------



Re: Re: Marburg-Stati (Key, 20. Nov 2002, 13:02:42):
~#! rn=Zook rt=1037632213 rg=treffen
~#! tid=1036517771
Hmm also was die Speisen angeht ... ziemlich Fehlanzeige :)
Bis auf ein paar Salzstangen gibt es imho nichts.

Direkt gegenueber befinden sich jedoch 2 Pizzerien, an der Ecke kurz drunter
ei Grieche der auch zum mitnehmen anbietet, und fuer die Hatgesottenen ein
McDoof, allerdings zum glueck weiter entfernt :)
Hmm wegen Essen haette man evtl auf das Sudhaus verlegen koennen, aber reicht
nicht fluessig Nahrung? =;)


Cu

-----------------------------------------------------------------------------



Re: Re: Marburg, Hinkelstein. (Grimmborn, 20. Nov 2002, 22:23:57):
~#! on=Lwaxana ot=1037826211 og=treffen.wegbeschreibungen
~#! rn=Key rt=1037796236 rg=treffen.wegbeschreibungen
~#! tid=1037632127
Genau und das runterfallen wenn man bei der Villa die lustige Treppe nimmt ist
auch viel praktischer. Ich weiss zwar noch nicht wie ich das als Arbeitsunfall
tarne, aber ich kriege das schon hin...
Nee mal ernsthaft: Seit wann ist da die Kette wieder auf und reicht der Platz
ueberhaupt?

Gruss Lwax* - glaub ich...

-----------------------------------------------------------------------------



Re: Re: Marburg, Hinkelstein. (Zook, 21. Nov 2002, 11:48:06):
~#! rn=Key rt=1037796236 rg=treffen.wegbeschreibungen
~#! tid=1037632127
Thx. fuer Alternativparkplatz und Handy-Nummer fuer Orientierungslose... :-)

Zook.

PS: Ich empfehle einmal, Leute nach ihren Erfahrungen mit Keys 
Wegbeschreibungen zu befragen. :-))

-----------------------------------------------------------------------------



Re^3: Marburg, Hinkelstein. (Key, 21. Nov 2002, 13:17:22):
~#! rn=Zook rt=1037875686 rg=treffen
~#! tid=1037632127
Pah! :)
Die Wegbeschreibung stammt nichtmal von mir ;) 

Lwaxana Nu stell Dich nicht so an, sooo steil ist die Treppe ja nicht ;) 
Die Kette ist nur wochentags von 7-16 Uhr zu, zu sonstigen Zeiten kann jeder
hier parken, und ich denke mal das die Parkplaetze reichen :)
Nein, ich hab sie nicht gezaehlt, aber sooo klein ist die Physik ja nu nicht
;)
Nur weil Du einzig den Weg in den Rechner-Pool kennst ;)

cu

-----------------------------------------------------------------------------



ARGH! *ST*A*T*I* BS (Grimmborn, 21. Nov 2002, 16:32:58):
~#! on=Qitess ot=1037883905 og=treffen.bekanntmachungen
Hallo.
Alle, die an einem Stati in Braunschweig interessiert sind, moegen sich mal
bitte bei mir melden, wann sie Zeit haben.
Der Termin, an dem bisher die meisten Zeit und Moeglichkeit haetten, waere
jetzt der

14. Dezember, ein Samstag

Und jetzt meldet Euch ersma bei mir, bevor hier irgendwas festgemacht wird.

Gnarf.

Qitess - wahnsinnig.


-----------------------------------------------------------------------------



Re^5: Flammkuchenessen (Montanus, 21. Nov 2002, 21:51:34):
~#! rn=Lacri rt=1037605153 rg=treffen
~#! tid=1037550395
Ich find das echt gemein, ihr poesen Purschen. Um den Flammkuchenessern den
Saft abzudrehen, berufe ich fuer das Wochenende spontan einen Stammtisch in
Seattle ein. Nu habt ihr's.

-----------------------------------------------------------------------------



64 (Key, 23. Nov 2002, 00:59:34):
~#! rn=Key rt=1037881042 rg=treffen
~#! tid=1037632127
*hicks*
Ich moechte den Erfolg bekanntgeben :)
Imho spricht nichts gegen eine Wiederholung. Allerdings bin ich der Hoffnung,
ein paar *huestel* aeltere Mudder als unser Goettchen zu treffen ;)
Aeh jegliche Bilder sind natuerlich nur fakes ;)

Cu

-----------------------------------------------------------------------------



Weihnachtsmarkttreffen in Muenster? (Areelanir, 28. Nov 2002, 11:30:47):
Es ist ja nun wieder Weihnachtsmarkt in Muenster und da ich zum
Standartstammtisch keine Zeit habe, euch aber trotzdem gerne mal treffen
wuerde, waere es doch nett, dies mit einem Weihnachtsmarktbesuch an einem
Nicht-Montag zu verbinden. Sagt mir doch bitte Bescheid, wenn sich da was
machen laesst! Danke.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkttreffen in Muenster? (Gorog, 28. Nov 2002, 15:44:36):
~#! rn=Areelanir rt=1038479447 rg=treffen
~#! tid=1038479447
Hmm...
Naja...
Das mit dem Standartstammtischtermin, hat sich vor einiger Zeit einwenig
zerschlagen, da sich zum einen meisst zuwenig Personen fuer einen Stammtisch
eingefunden haben (sprich 3-4) und zum anderen wir die Frauenstarsse 24 nicht
dicht machen wollten, was ja irgendwie mit fast jedem Laden passiert, den wir
als Stammlokal ausgewaehlt hatten. 

Aber das mit dem Weihnachtsmarkt hoert sich gut an, wobei Mitwoch allerdings
nicht zur Verfuegung steht, da viele von den betroffenen Muensteranern (ob sie
nun noch im MG online sind oder nicht) sich damit beschaeftigen einem
gelegentlich recht grosszuegigen aber meisst doch sehr willkuerlich agierenden
Kerl zuhoeren und ihm dann sagen welche Tueren man wie oeffnen mag oder wessen
Kopf als erstes zertruemert werden soll.  

Was soviel heisst wie: schlag nen Termin vor, wenn der passt laesst sich
bestimmt was organisieren (;

mfGorog

Satzzeichen sind selbsstaendig einzufuegen, hab heute nur noch wenige zur
Verfuegung.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkttreffen in Muenster? (Puk, 28. Nov 2002, 15:54:14):
~#! rn=Gorog rt=1038494676 rg=treffen
~#! tid=1038479447
pffffffffffffffffffffffffffffffffffffffffffffffffffffft!
say tschuess zu deinem hammer

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkttreffen in Muenster? (Zook, 28. Nov 2002, 17:33:03):
~#! rn=Puk rt=1038495254 rg=treffen
~#! tid=1038479447
Und in der Frauenstrasse 24 ist es wirklich nett --- noch ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkttreffen in Muenster? (Areelanir, 30. Nov 2002, 10:00:04):
~#! rn=Gorog rt=1038494676 rg=treffen
~#! tid=1038479447
Ok, dann mach ich halt mal nen paar flexible Terminvorschlaege: Prinzipiell
ist mir jeder Dienstag recht, sowie jeder Donnerstag ab 18:00 Uhr. Anstonsten
hat so ein Weihnachtsmarkt auch den Vorteil Wochenends geoeffnet zu haben, was
mir alt Termin auch recht waere. Sucht euch was passendes aus, Areelanir .


-----------------------------------------------------------------------------



Weihnachtsspecial - Frankfurt 20.12. (Ronda,  1. Dez 2002, 00:41:14):
Auf Wunsch von Gast 1 aus Karlsruhe haben wir gestern beim Flammkuchen-Futtern
im Elsass einen Stammtisch in Frankfurt am Main am 20.12. geplant. Treffen
gegen 19 Uhr - wo genau sollte jemand festlegen, der/die sich besser als ich
in FFM auskennt ;-)

Ronda *will mal "Betmaennchen und heissen Apfelwein probieren*

-----------------------------------------------------------------------------



stati stuttgart (Leibi,  1. Dez 2002, 01:00:11):
huhu zusammen,
desweitern haben wir gestern beim flammkuchenessen beschlossen, den naechsten
stati in stuttgart am samstag vor silvester zu machen. 
das waere dann der 28.12.

ich wuerde wieder ins enchilada gehn, aber sagt mal was dazu, bevor ich einen
tisch bestelle :)
ach und wer kommen will, gebe mir auch bitte bescheid. vielleicht auch
ausnahmsweise vor samstag mittag ;)

leibi

-----------------------------------------------------------------------------



Re: Weihnachtsspecial - Frankfurt 20.12. (Morgonate,  1. Dez 2002, 09:46:25):
~#! rn=Ronda rt=1038699674 rg=treffen
~#! tid=1038699674
BetHHHHHmaennchen. Die haben ein 'h' drin. ;)
Was wollt ihr euch denn anschauen?

Morgonate

-----------------------------------------------------------------------------



Re: stati stuttgart (Bambi,  1. Dez 2002, 12:28:04):
~#! rn=Leibi rt=1038700811 rg=treffen
~#! tid=1038700811
So als Anregung: Eine Oertlichkeit, bei der NICHT GANZ SOVIEL los ist, wie im
Enchilada. Ansonsten wars ganz nett. Aber noch zwei special guests haette uns
vor ernsthafte Sitzprobleme gestellt.

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Leibi,  1. Dez 2002, 14:14:58):
~#! rn=Bambi rt=1038742084 rg=treffen
~#! tid=1038700811
also waeren die alle puenktlich gekommen, haetten wir viel mehr leute
unterbringen koennen...
und eigentlich wollte ich ja auch einen anderen tisch.

leibi

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Seleven,  1. Dez 2002, 17:19:22):
~#! rn=Leibi rt=1038748498 rg=treffen
~#! tid=1038700811
Ich waer - auch im Enchilada - wieder dabei.
Dort sollte man sich aber wirklich etwas frueher anmelden.

Sou mag die Coctails dort.

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Seleven,  1. Dez 2002, 17:20:14):
~#! rn=Seleven rt=1038759562 rg=treffen
~#! tid=1038700811
Ups, mal schauen, wie oft mir das mit Sou ... noch passiert. :)
Seleven ist wohl zweitifixiert. :)

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkttreffen in Muenster? (Gorog,  1. Dez 2002, 17:36:01):
~#! rn=Puk rt=1038495254 rg=treffen
~#! tid=1038479447
Wie was tschuess, zu meinem Hammer. Du meinst doch nicht den der ganz nach
Deiner Laune Kraftfelder durchdringt oder nicht? Ausserdem hat der eh ne
Delle...

Was den Weihnachtsmarkt angeht, so sind sowohl Dienstag als auch Donnerstag
prima Termine (zu mindest fuer mich). Kann man ja anschliessend die
Frauenstrasse oder wenn es ein Dienstag sein soll, die hiesige Sneak
anvisieren (;

Gorog wartet auf Antworten weiterer Muensteraner.

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Leibi,  1. Dez 2002, 21:02:25):
~#! rn=Seleven rt=1038759562 rg=treffen
~#! tid=1038700811
was heisst frueher anmelden? der tisch war doch reserviert. die bedienung (die
uebrigens nicht die nicht naeher genannte bedienung war) hatte nur den
falschen tisch ausgewaehlt.

leibi ist eigentlich auch wieder fuers enchilada

-----------------------------------------------------------------------------



Re: Weihnachtsspecial - Frankfurt 20.12. (Zook,  2. Dez 2002, 18:26:55):
~#! rn=Ronda rt=1038699674 rg=treffen
~#! tid=1038699674
+1

Zook.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsspecial - Frankfurt 20.12. (Ark,  2. Dez 2002, 18:27:51):
~#! rn=Zook rt=1038850015 rg=treffen
~#! tid=1038699674
Goettliche Eingebung: +1


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Weihnachtsspecial - Frankfurt 20.12. (Mandragon,  2. Dez 2002, 18:51:50):
~#! rn=Ark rt=1038850071 rg=treffen
~#! tid=1038699674
Ich wuerde ja schreiben, dass Roana und ich auch kommen ... es ist allerdings
statistisch aeusserst wahrscheinlich, dass Ronda, Randolf, Roana und ich dann
die Einzigen sind ....

Also kommen wir nur aeusserst unwahrscheinlich, um keinen zu verschrecken ...

Ma* (+2?)

-----------------------------------------------------------------------------



Re^4: Weihnachtsspecial - Frankfurt 20.12. (Zook,  2. Dez 2002, 19:38:57):
~#! rn=Mandragon rt=1038851510 rg=treffen
~#! tid=1038699674
Wen genau moechtest Du verschrecken? ;)

Zook.

-----------------------------------------------------------------------------



Re^5: Weihnachtsspecial - Frankfurt 20.12. (Mandragon,  2. Dez 2002, 19:42:26):
~#! rn=Zook rt=1038854337 rg=treffen
~#! tid=1038699674
Niemanden. Deshalb komme ich ja auch nur vielleicht .. ;-)

Ma*

-----------------------------------------------------------------------------



Re^6: Weihnachtsspecial - Frankfurt 20.12. (Morgonate,  2. Dez 2002, 21:24:31):
~#! rn=Mandragon rt=1038854546 rg=treffen
~#! tid=1038699674
Ok, also wenn ich mich nicht verzaehlt habe, duerften bisher um die 6
Interessenten vermeldet sein.
Darf ich mal fragen, wie die Delin^h^h^h^h^hAspiranten anzureisen gedenken?
Dann koennen ja die Gastgeber (sprich diejenigen, die FFM kennen)
Anreiseplaene ausbaldowern.

Morgonate

-----------------------------------------------------------------------------



Re^5: stati stuttgart (Seleven,  2. Dez 2002, 21:29:28):
~#! rn=Leibi rt=1038772945 rg=treffen
~#! tid=1038700811
Ich meinte nicht, dass Du den Tisch frueher reservieren sollst, sondern dass
man sich fuern StaTi frueher anmelden sollte ;)
Seleven beseitigt alle Klarheiten.

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Leibi,  2. Dez 2002, 21:32:12):
~#! rn=Seleven rt=1038860968 rg=treffen
~#! tid=1038700811
tja, waere mir auch recht... und fuer dieses mal hab ich sogar schon hmm 2
feste anmeldungen glaub ich. 
der rest wie immer: ich weiss nicht. ich sag dir dann bescheid.

leibi wird auf wunsch einen tisch im enchilada bestellen :)

-----------------------------------------------------------------------------



Re^7: Weihnachtsspecial - Frankfurt 20.12. (Zook,  2. Dez 2002, 21:33:14):
~#! rn=Morgonate rt=1038860671 rg=treffen
~#! tid=1038699674
Ich werd wohl mit dem Zoo^H^Hug kommen. 

Zu^Hook.

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Imda,  2. Dez 2002, 21:39:23):
~#! rn=Leibi rt=1038861132 rg=treffen
~#! tid=1038700811
Nuja, man kann ja ned sein Leben nach Mudstatis ausrichten...

-----------------------------------------------------------------------------



Re^8: stati stuttgart (Zook,  2. Dez 2002, 21:40:57):
~#! rn=Imda rt=1038861563 rg=treffen
~#! tid=1038700811
Genau, deshalb: Bin vom 2002-12-27 bis 2003-01-05 in der Schweiz
zum Ski fahren und wenn der Schnee schlecht ist und ich mit meinem
Dad ueber den PKW einigen kann, dann komme ich. ;)

Zook.

-----------------------------------------------------------------------------



Re^9: stati stuttgart (Leibi,  2. Dez 2002, 22:03:22):
~#! rn=Zook rt=1038861657 rg=treffen
~#! tid=1038700811
gut, also wenn ich den tisch bestelle, dann werd ich das einfach so sagen:
x leute +1 wenn der schnee nix ist :)

leibi

-----------------------------------------------------------------------------



Berlin 13./14.12.?!?!? (Perdita,  2. Dez 2002, 22:23:47):
Hallo Berliner!
Ist am Wochenende 13.-15.12. irgendwas geplant in Berlin?
Jameson und ich werden naemlich anlaesslich einer Geburtstagsfeier (die am 15.
stattfindet) mal fuer ein Wochenende nach Berlin kommen, und wenn dann grad
Stati o.ae. waere, waer das ein durchaus netter Zufall

Perdita - nach langer Zeit mal wieder in die Hauptstadt fahrend

-----------------------------------------------------------------------------



Re: Berlin 13./14.12.?!?!? (Pitfall,  3. Dez 2002, 00:21:58):
~#! rn=Perdita rt=1038864227 rg=treffen
~#! tid=1038864227
i.d.r. ist jeden ersten freitag im monat stati in berlin
daran aendert sich auch diesmal nichts also wird der dez. stati am 6.12. ab 20
uhr im aufsturz stattfinden.
es spricht allerdings nichts dagegen fuer den anderen zeitpunkt einen
sonderstati anzusetzen

mfg
*pit*

-----------------------------------------------------------------------------



Re: Re: Berlin 13./14.12.?!?!? (Zook,  3. Dez 2002, 09:17:46):
~#! rn=Pitfall rt=1038871318 rg=treffen
~#! tid=1038864227
ich bin vom 7. bis 11. dez. in berlin; muss da aber arbeiten und weiss
nicht, wo und wann ich zeit haette...

zook.

-----------------------------------------------------------------------------



Weihnachtsmarkttreffen in Muenster (Areelanir,  3. Dez 2002, 10:45:06):
Hier reagiert ja (fast) keiner! Dann machen wir das jetzt mal konkret: Termin
waere der 10.12.2002 um 18:00 Uhr am Gluehweinstand zwischen Kinderkarussel
und Rathausinnenhof. Es waere schoen, wenn einige von euch Zeit haetten.
Mit besten Gruessen aus Muenster, Areelanir

-----------------------------------------------------------------------------



Re^7: Weihnachtsspecial - Frankfurt 20.12. (Ark,  3. Dez 2002, 12:38:57):
~#! rn=Morgonate rt=1038860671 rg=treffen
~#! tid=1038699674
Schlage den Roemer als Treffpunkt vor, leicht zu finden, und die, die vor zwei
Jahren (?) schonmal da waren, erinnern sich vielleicht. Also, schlage nicht
vor sondern befehle den Roemer als Treffpunkt :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: stati stuttgart (Mikage,  3. Dez 2002, 14:15:43):
~#! rn=Leibi rt=1038863002 rg=treffen
~#! tid=1038700811
ich weiss nicht. ich sag dir dann bescheid.
-mik> aus der PolarhasenZentrale

-----------------------------------------------------------------------------



Re: Weihnachtsspecial - Frankfurt 20.12. (Muaddib,  3. Dez 2002, 23:46:08):
~#! rn=Ronda rt=1038699674 rg=treffen
~#! tid=1038699674
Sinnvoll als Treffen - weil zentral und auch fuer auswaertige findbar - waere
die Hauptwache. Da isses auch nicht so voll wie vor dem Roemer. Also
Hauptwache = dieses total deplaziert wirkende Haus mitten auf dem Platz da.

Mua - aeh, wohnt da irgendwo. manchmal.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkttreffen in Muenster (Foobar,  4. Dez 2002, 01:47:48):
~#! rn=Areelanir rt=1038908706 rg=treffen
~#! tid=1038908706
Moin.

War gerade mit Brandir und Gorog im Kino und da ergab sich, das zumindest
Gorog und ich am vorgeschlagenen Termin keine Zeit haben. Evtl. koennen wir
das auf den 12.12. verschieben?

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re: Re: Weihnachtsspecial - Frankfurt 20.12. (Morgonate,  4. Dez 2002, 09:07:46):
~#! rn=Muaddib rt=1038955568 rg=treffen
~#! tid=1038699674
Hmm, Ark fuer Roemer, mitten im Gedraenge. Mua* fuer Hauptwache, zentral und
auch nicht weit weg vom Weihnachtsmarkt. Und ich glaube auch zum Parken fuer
Autofahrer besser.
Von der Hauptwach ist es ja auch nur ein Kaetzchensprung zum Weihnachtsmarkt.
Aus dem Grund wuerd ich Hauptwache unterstuetzen. Ist auch mit oeffentlichen
einfacher zu erreichen als der Roemer. ;) (Alle S-Bahnen fahren da durch, und
nicht nur 2 U-Bahnen ;) ).

Sonst noch Vorschlaege?


Morgonate

-----------------------------------------------------------------------------



Re^3: Weihnachtsspecial - Frankfurt 20.12. (Ark,  4. Dez 2002, 10:47:58):
~#! rn=Morgonate rt=1038989266 rg=treffen
~#! tid=1038699674
Meinshalben, also HW.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Muensteraner Gluehweintrinken (Areelanir,  4. Dez 2002, 14:32:13):
Donnerstag ist auch in Ordnung, sind Zeit und Ort denn genehm?
Froehliche Gruesse, Areelanir

-----------------------------------------------------------------------------



Re^4: Weihnachtsspecial - Frankfurt 20.12. (Muaddib,  4. Dez 2002, 15:37:54):
~#! rn=Ark rt=1038995278 rg=treffen
~#! tid=1038699674
Ok - vielleicht sollte man den Artikel nach wegbeschreibungen verlegen.
Anyway.

Sollte jemand nicht wissen, wie er/sie/es zur HW kommt:

a) Bahn/Oeffis - alle S-Bahnen fahren durch die HW, das heisst vom HBF sind es
2 Stationen, vom Airport ein paar mehr :) Grobe Richtung ist Offenbach. 

b) Auto: AK Frankfurt -> A5 Richtung Kassel, Giessen -> AK FFM West ->
Richtung Messe, Zentrum -> Immer Richtung Zentrum halten, da faengt dann
irgendwann auch (in der Naehe vom Messeturm) das Parkleitsystem an -> Richtung
Hauptwache, Zentrum (ich glaub, das ist Parkbereich Z) -> den Schildern
folgen, bis man auf die Hauptwache faehrt (das erkennt man daran, dass hinter
einem die Commerzbank - groesstes Gebaeude in FFM -, vor einem Kaufhof und
rechts vor einem - so auf 1 Uhr - eine Kirche ist) -> Rechts ist so ein
Sportladen, davor ein Taxistand und direkt dahinter geht eine Strasse rechts
rein, da rein, dann kommt ein paar 100m weiter auf der linken Seite ein
Parkhaus, da kann man gut parken. -> Dann zufuss aus dem Parkhaus raus,
rechter Hand die Strasse zurueck gehen und auf der HW ankommen. 

Alle Klarheiten beseitigt? Gut. Achja, wie gesagt, die HW ist das kleinere
Gebaeude da auf der der Kirche gegenueberliegenden Strassenseite, da kann man
sich vor dem Eingang gut treffen.

Mua, vermutlich +1

-----------------------------------------------------------------------------



Re: Muensteraner Gluehweintrinken (Foobar,  4. Dez 2002, 16:18:14):
~#! rn=Areelanir rt=1039008733 rg=treffen
~#! tid=1039008733
Heute abend seh' ich die meisten eh, da klaer' ich das ab :o)

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re: Re: Gluehwein@Bonn (Liara,  4. Dez 2002, 18:30:12):
~#! rn=Cadrach rt=1038998128 rg=treffen.bekanntmachungen
~#! tid=1038953381
Hm, da du ja das Treffen am Donnerstag so grosszuegig mit einem Satz
wegwischst, waere das natuerlich ein Grund, grade deshalb morgen eine Menge
Spass zu haben. ;)

Leider habe ich kurzfristig noch einen Termin reinbekommen, also schlage ich
vor, den Donnerstag fallenzulassen.

Gruesse, Liara

-----------------------------------------------------------------------------



Re: Weihnachtsmarkttreffen in Muenster (Catweazle,  5. Dez 2002, 12:29:25):
~#! rn=Areelanir rt=1038908706 rg=treffen
~#! tid=1038908706
Termin 10.12. geht sicherlich in Ordnung, allerdings ist der Treffpunkt
denkbar unguenstig. 

Zum einen ist 'Rathausinnenhof' eines der unuebersichtlichsten Gewaesser
ueberhaupt, ausserdem duerfte sich dort das Touristen-Center befinden. 

Besser waere Landesmuseum, Ecke Aegidiistrasse. Dies ist vor allem deswegen
relevant, da sich dort die Keimzelle des alljaehrliches Gluehwein-Preiskrieges
befindet.

YTC

-----------------------------------------------------------------------------



Stati in HH (Perdita,  5. Dez 2002, 15:34:48):
Da wir kuerzlich davon sprachen, hier nochmal offiziell die Nachricht, dass
wir dieses Jahr doch keinen Stammtisch mehr machen werden.
Neues Jahr, neues Glueck

Gruss
Perdita

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkttreffen in Muenster (Areelanir,  6. Dez 2002, 18:18:28):
~#! rn=Catweazle rt=1039087765 rg=treffen
~#! tid=1038908706
Hast du in letzter Zeit mitgekriegt, was da los ist? *g* Von wegen
uebersichtlich! Aber gut, der Gluehwein ist 50 Cent billiger. Bleibt nur noch
die Frage nach dem endgueltigen Termin, treffen wird man sich dann schon...
Freuend auf kommende Ereignisse, Areelanir

-----------------------------------------------------------------------------



Kino Stututututgart (Anoris,  6. Dez 2002, 20:33:30):
Wir verkuenden: Heute Abend (Nacht), ist SPONTAN in Stuttgart KINO angesagt,
wer gedenkt, mit zu kommen, soll sich ueber 0041 76 392 4816 bei mir oder im
MG mit tm lurchi * melden, wir wuerden uns freuen ;)

- Anoris ;)

-----------------------------------------------------------------------------



Stammtisch in Halle (Alcina,  7. Dez 2002, 14:53:15):
Hallo zusammen,

der letzte Stammtisch in diesem Jahr findet am 17.12. ab 19 Uhr im Barfuess
(Barfuessergasse) statt. Wegen Wegbeschreibung/Uebernachtung etc. schickt
einfach ne Mail an mich.

Alcina - freut sich auf viele Mudder ;o)

-----------------------------------------------------------------------------



Stammtisch in Muenchen (Alcina,  7. Dez 2002, 14:54:39):
Hallo zusammen,

der letzte Stammtisch in diesem Jahr findet am 18.12. ab 19 Uhr im
Bergmannshof statt (Landsberger Str. 73, Naehe Donnersberger Bruecke).

Alcina - wartet auf viele Mudder

-----------------------------------------------------------------------------



Re: Berlin 13./14.12.?!?!? (Pitfall,  8. Dez 2002, 18:15:28):
~#! rn=Perdita rt=1038864227 rg=treffen
~#! tid=1038864227
sorry mein fehler, 
an diesem we ist kein stammtisch

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkttreffen in Muenster (Foobar,  8. Dez 2002, 19:19:58):
~#! rn=Areelanir rt=1039195108 rg=treffen
~#! tid=1038908706
Also hier mal der genaue Termin weil es da wohl noch Unstimmigkeiten gab:

Donnerstag 12.12. 18.00 Uhr am Landesmuseum Ecke Aegidiistrasse.

Donnerstags und Freitags kostet der Gluehwein da uebrigens nur 99 Cent hab'
ich neulich gehoert, kann das wer bestaetigen? ;o)

Gruss,

     Foobar

-----------------------------------------------------------------------------



Re: Re: Berlin 13./14.12.?!?!? (Guard,  8. Dez 2002, 22:33:05):
~#! rn=Pitfall rt=1039367728 rg=treffen
~#! tid=1038864227
Da hat der Pitfall voellig recht ... das is kein Stati, das wird ne
Geburtstagsfeier ... von daher ... alle die sich berufen fuehlen und zeit
haben und natuerlich auch lust und gerade in berlin sind ... sind herzlich
eingeladen :-)
wem ein geburtstag zu wenig ist ... bitte schoen es feiern da 4 leute - werden
also n paar leute zu erwarten sein .-)

bis denne

Guard (einer der ungluecklichen :-))

-----------------------------------------------------------------------------



Re^5: Weihnachtsspecial - Frankfurt 20.12. (Morgonate,  8. Dez 2002, 23:08:19):
~#! rn=Muaddib rt=1039012674 rg=treffen
~#! tid=1038699674
Naja, ich wuerde vom Parkleitsystem folgende Parkhaeuser empfehlen:
Hauptwache (Bereich D)
Boerse (Bereich A)
Schillerpassage (Bereich A)

Falls ihr weitergehende Wegweisung braucht, 0177 4450930 ist meine
Mobil-Nummer

Morgonate

-----------------------------------------------------------------------------



Re^5: stati stuttgart (Hight, 16. Dez 2002, 22:13:33):
~#! rn=Leibi rt=1038772945 rg=treffen
~#! tid=1038700811
erinner mal jemand imda das er mich am 26. oder so mal anruft und mich
erinnert ... wenn ichs einrichten kann bin ich auch wiedermal mit von der
partie ... auch wenn ich ja mehr sowas wie n nichtmuder bin 

gruss chris

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Bambi, 17. Dez 2002, 11:38:03):
~#! rn=Hight rt=1040073213 rg=treffen
~#! tid=1038700811
Ah, Dich gibts noch? ;)
Ich bin uebrigens auch mit von der Partie. Nur so als Abschrekcung...

-----------------------------------------------------------------------------



StaTi Stuttgart (Hisasul, 17. Dez 2002, 17:55:07):

Dann will ich mich auch mal (zu 99%) hiermit anmelden, damit Leibi wgn den
Tischen bescheid weiss ,)

His*

-----------------------------------------------------------------------------



Re: StaTi Stuttgart (Flauros, 17. Dez 2002, 17:56:37):
~#! rn=Hisasul rt=1040144107 rg=treffen
~#! tid=1040144107
Ganz vergessen, dass hier in der MPA zu schreiben:
Ich werde auch kommen. :)

Flauschi hat nun hiermit seine MPA-Pflicht erfuellt. ;)

-----------------------------------------------------------------------------



Re: Re: StaTi Stuttgart (Anoris, 17. Dez 2002, 17:57:01):
~#! rn=Flauros rt=1040144197 rg=treffen
~#! tid=1040144107
Dito, aber nur zu 98% ;)

- Anoris

-----------------------------------------------------------------------------



Re^3: StaTi Stuttgart (Flauros, 17. Dez 2002, 17:57:21):
~#! rn=Anoris rt=1040144221 rg=treffen
~#! tid=1040144107
Was sind die 2% die Dich abhalten?

-----------------------------------------------------------------------------



Re^4: StaTi Stuttgart (Hisasul, 17. Dez 2002, 17:57:43):
~#! rn=Flauros rt=1040144241 rg=treffen
~#! tid=1040144107
Bambi und ich ;)

-----------------------------------------------------------------------------



Re^3: StaTi Stuttgart (Mandragon, 17. Dez 2002, 17:57:44):
~#! rn=Anoris rt=1040144221 rg=treffen
~#! tid=1040144107
98% nur? da kannste ja gleich daheim bleiben ....

Ma*

-----------------------------------------------------------------------------



Re^3: StaTi Stuttgart (Seleven, 17. Dez 2002, 17:57:53):
~#! rn=Anoris rt=1040144221 rg=treffen
~#! tid=1040144107
Seleven kommt auch, hat das aber sicher schon mal gesagt.

-----------------------------------------------------------------------------



Re^4: StaTi Stuttgart (Anoris, 17. Dez 2002, 17:59:01):
~#! rn=Flauros rt=1040144241 rg=treffen
~#! tid=1040144107
Auto in Garage, Krankenbett nach Weihnachtstruthahn, ...

Bez. versuche das moeglichste zu tun, aber das wollt ich fuer
Freitag nach FFM auch aber es geht nicht ...

- Anoris

-----------------------------------------------------------------------------



Re^5: StaTi Stuttgart (Mandragon, 17. Dez 2002, 18:00:00):
~#! rn=Anoris rt=1040144341 rg=treffen
~#! tid=1040144107
Buuuuuuuuuuuuuuuuuuuuuh

Ma*

-----------------------------------------------------------------------------



Re^6: StaTi Stuttgart (Anoris, 17. Dez 2002, 18:01:18):
~#! rn=Mandragon rt=1040144400 rg=treffen
~#! tid=1040144107
> rtrete mandragon
Wie bitte?

Fuehl dich getreten ;) Hab fest vor zu kommen und ich moechte nicht,
dass Leibniz wieder Sauer ist wegen den Tischen bez. dem Tisch ;)

- Anoris

-----------------------------------------------------------------------------



Re^7: StaTi Stuttgart (Leibi, 17. Dez 2002, 19:58:14):
~#! rn=Anoris rt=1040144478 rg=treffen
~#! tid=1040144107
och, ich bin super entspannt udn hab den tisch schon vor 2 wochen
reserviert... 19 uhr enchilada :)

leibi

-----------------------------------------------------------------------------



Re^8: StaTi Stuttgart (Sarkon, 18. Dez 2002, 11:45:47):
~#! rn=Leibi rt=1040151494 rg=treffen
~#! tid=1040144107
Nu is doch eh egal, wer sich anmeldet...Tisch is ja bestellt und daran aendert
sich auch nix mehr. Ich melde mich also hiermit zu 50% an :)))

Sarkon, lustitsch

-----------------------------------------------------------------------------



Re^9: StaTi Stuttgart (Humni, 18. Dez 2002, 12:00:07):
~#! rn=Sarkon rt=1040208347 rg=treffen
~#! tid=1040144107
Pah, deine 50% topp ich locker: 51 %.

Humni

-----------------------------------------------------------------------------



Re^10: StaTi Stuttgart (Sarkon, 18. Dez 2002, 12:02:26):
~#! rn=Humni rt=1040209207 rg=treffen
~#! tid=1040144107
Angeber :)
Ausserdem bin ich mit meinen 50% auf der sicheren SEite, Du hast mit den 51 so
gut wie zugesagt *G* Wenn jetzt nich kommst, gibts haue...

-----------------------------------------------------------------------------



Re^7: StaTi Stuttgart (Bambi, 18. Dez 2002, 12:55:02):
~#! rn=Anoris rt=1040144478 rg=treffen
~#! tid=1040144107
Sauer? Wieso sauer? Hab ich was verpasst? Erzaehl. Jedes Detail. }:)

-----------------------------------------------------------------------------



Re^8: StaTi Stuttgart (Sarkon, 19. Dez 2002, 11:34:56):
~#! rn=Bambi rt=1040212502 rg=treffen
~#! tid=1040144107
OkOk, bevor irgendwas zurueckgegeben wird, komm ich halt zu 102 %...lieber den
Hals verrenken, als den Platz zurueck...aeh. Ich muss weg!
Sarkon

-----------------------------------------------------------------------------



Re^6: Weihnachtsspecial - Frankfurt 20.12. (Zook, 20. Dez 2002, 11:28:00):
~#! rn=Morgonate rt=1039385299 rg=treffen
~#! tid=1038699674
Ich befuerchte, dass mir das RL einene Strich durch die Gluehwein-Planung
macht. Falls ich doch noch komme, hab ich ja Eure Mobil-Nummern. 

D.h: -1

Zook.

-----------------------------------------------------------------------------



frankfurt (Muddelbub, 20. Dez 2002, 12:18:44):
Hi,

kann einer von Euch Frankfurtern bitte nochmal kurz in Bekanntmachung
resuemmieren, hier ist die Info etwas verstreut und ich bin nunmal faul:
Wann ist denn nun wo das Treffen und wie komm ich da hin und parke am besten
wo?
Und gehts nach dem Gluehen auch noch weiter in ein Kneipchen?

Fragen ueber Fragen :)
muddelbub

-----------------------------------------------------------------------------



Re: frankfurt (Mandragon, 20. Dez 2002, 12:20:46):
~#! rn=Muddelbub rt=1040383124 rg=treffen
~#! tid=1040383124
Also:

19:00 vor der Hauptwache ...

Parken geht im Parkhaus Schillerstrasse und dem Parkhaus Hauptwache ...
ansonsten mit viel Glueck.

Meine Handynr. ist 01711705028 bei Fragen ... Wegbeschreibung war auch
irgendwo dabei ... ich suche nochmal ...

Ma*

-----------------------------------------------------------------------------



Gluehweinztrinken in DO (Thufhir, 20. Dez 2002, 14:59:03):
Huhu Mitmudder!

Am Montag (23.12.2002) ab 17:00 will sich der kleine, verbliebene Kreis
Dortmunder Mudder zum Gluehweinztrinken treffen. Wir werden uns zum genannten
Zeitpunkt am Pylon (Strassenbahnhaltestelle Reinoldikirche) treffen und uns
danach einen gemuetlichen Platz suchen. Wer spaeter kommen mag, kann mich
unter 0173/9425590 erreichen und nachfragen wo man uns treffen kann.

Gluehweinz auf, Thufhir!

-----------------------------------------------------------------------------



brunchen in stuttgart (Leibi, 22. Dez 2002, 14:32:56):
huhu zusammen,

wir hatten uns ueberlegt, nach dem stati sonntags (29.12.) in stuttgart in
sophies brauhaus zu brunchen. 
ich denke es kostet da noch immer 7,90 inklusive der getraenke.

wer daran interesse hat, moege sich bei mir melden.

gruss leibi

-----------------------------------------------------------------------------



Re: brunchen in stuttgart (Seleven, 22. Dez 2002, 14:34:14):
~#! rn=Leibi rt=1040563976 rg=treffen
~#! tid=1040563976
Na, waere schlecht...ich muss am 30. schaffen
Seleven wenig begeistert.

-----------------------------------------------------------------------------



Re: Re: brunchen in stuttgart (Humni, 22. Dez 2002, 14:34:56):
~#! rn=Seleven rt=1040564054 rg=treffen
~#! tid=1040563976
Brunchen ist morgens, das sollte Dich nicht hindern....

Humni, kann am 29. abends vermutlich auch nicht.

-----------------------------------------------------------------------------



Re^3: brunchen in stuttgart (Seleven, 22. Dez 2002, 14:35:49):
~#! rn=Humni rt=1040564096 rg=treffen
~#! tid=1040563976
Na ja, gehen tut alles, wuerde dann der Stati am 28 trotzdem statt finden?

-----------------------------------------------------------------------------



Re^3: brunchen in stuttgart (Croft, 22. Dez 2002, 14:36:05):
~#! rn=Humni rt=1040564096 rg=treffen
~#! tid=1040563976
Genauer morgens bis mittags.  Br(eakfast) & (L)unch halt.

Croft

-----------------------------------------------------------------------------



Re^4: brunchen in stuttgart (Leibi, 22. Dez 2002, 14:36:49):
~#! rn=Seleven rt=1040564149 rg=treffen
~#! tid=1040563976
na klar findet der stati statt... 

leibi will sonntags nicht kochen :)

-----------------------------------------------------------------------------



Re^5: brunchen in stuttgart (Seleven, 22. Dez 2002, 14:37:43):
~#! rn=Leibi rt=1040564209 rg=treffen
~#! tid=1040563976
:hmmt.
Seleven ueberlegt sichs noch. :)

-----------------------------------------------------------------------------



Re^6: brunchen in stuttgart (Croft, 22. Dez 2002, 14:38:19):
~#! rn=Seleven rt=1040564263 rg=treffen
~#! tid=1040563976
Musst dich halt nicht ins Koma saufen, damit du nachmittags noch wieder
gut nach Hause findest ,-)

Croft

-----------------------------------------------------------------------------



Re^7: brunchen in stuttgart (Seleven, 22. Dez 2002, 14:39:13):
~#! rn=Croft rt=1040564299 rg=treffen
~#! tid=1040563976
Das war Haken Nr. 1. :)

-----------------------------------------------------------------------------



Re^8: brunchen in stuttgart (Leibi, 22. Dez 2002, 14:40:09):
~#! rn=Seleven rt=1040564353 rg=treffen
~#! tid=1040563976
neee wir gehn doch ins enchilada :) da ist man immer nuechter, wenn man die
rechnung bekommt.

leibi

-----------------------------------------------------------------------------



Re^9: brunchen in stuttgart (Croft, 22. Dez 2002, 14:44:47):
~#! rn=Leibi rt=1040564409 rg=treffen
~#! tid=1040563976
Aehm.  Vor dem Enchilada brunchen?  Ich dachte du wolltest das Sonntags
machen.

Croft

-----------------------------------------------------------------------------



Re^10: brunchen in stuttgart (Leibi, 22. Dez 2002, 14:46:39):
~#! rn=Croft rt=1040564687 rg=treffen
~#! tid=1040563976
also noch mal kurz:
samstag (28.12.) im enchilada ab 19 uhr cocktails trinken
sonntag (29.12.) sophies brauhaus irgendwann morgens/mittags brunchen

und damit ich den ueberblick nicht verliere und mir ueberlege, ob ich da auch
einen tisch bestelle, waers doch nett, wenn ihr mir ne mail schreibt fuers
brunchen.
danke

leibi

-----------------------------------------------------------------------------



nochmal stati stuttgart (Leibi, 22. Dez 2002, 15:02:23):
ich hab allen, von denen ich weiss, dass sie vielleicht, evtl, ganz sicher
oder sonst wie zum stati kommen eine mail geschrieben. 
wer keine bekommen hat, aber trotzdem zum stati kommt, moege sich bei mir
melden.

leibi

-----------------------------------------------------------------------------



Re^7: stati stuttgart (Hight, 23. Dez 2002, 08:31:12):
~#! rn=Bambi rt=1040121483 rg=treffen
~#! tid=1038700811
jo ich komm auch ... muss nur imda noch wegen untschlupf anhauen ... wenn ich
wach bin vllt.

gruss chris

-----------------------------------------------------------------------------



Re^9: brunchen in stuttgart (Hight, 23. Dez 2002, 08:36:00):
~#! rn=Leibi rt=1040564409 rg=treffen
~#! tid=1040563976
hmmm dann vllt. aber irgenwie endet ein abend mit imda _IMMER_ fatal ...
irgendwie scheint das was nich zu stimmen

-----------------------------------------------------------------------------



Re^10: brunchen in stuttgart (Humni, 23. Dez 2002, 08:37:06):
~#! rn=Hight rt=1040628960 rg=treffen
~#! tid=1040563976
Komisch, die Erfahrung kann ich Dir voellig nachfuehlen. Weiss auch nicht
woran das liegt. Entweder der Abend endet fatal, oder einer von uns muss
fahren, und was dabei rauskommt ist auch allgemein bekannt.

Humni

-----------------------------------------------------------------------------



Re^11: brunchen in stuttgart (Leibi, 23. Dez 2002, 08:39:03):
~#! rn=Humni rt=1040629026 rg=treffen
~#! tid=1040563976
also ich hab noch keinen fatalen abend mit imda verbracht :)

leibi sieht eh nur noch tannen ;)

-----------------------------------------------------------------------------



Bekanntmachung :) (Hisasul, 23. Dez 2002, 12:12:45):
Ich verkuende hiermit, dass statt dem StaTi eine Party in Stuttgart steigt,
schliesslich haben sich schon mehr Leute als fuer Thale angemeldet ;)  Wird
sicher sehr lustig...

HisAsul in froher Erwartung.

-----------------------------------------------------------------------------



Re^3: Bekanntmachung :) (Hisasul, 23. Dez 2002, 12:15:20):
~#! rn=Leibi rt=1040642086 rg=treffen
~#! tid=1040641965
Dachte doch dass da was fehlt, wegen mir koemma das machen, mal sehen was der
Fahrer dazu meint ;)

-----------------------------------------------------------------------------



Re: nochmal stati stuttgart (Mikage, 23. Dez 2002, 20:07:33):
~#! rn=Leibi rt=1040565743 rg=treffen
~#! tid=1040565743
 >teleport stuttgart
Dein Zauberspruch ist mal wieder missglueckt.
Du hast noch nie aus deinen Fehlern gelernt.

Dein Zauberstab zerbroeselt...

-----------------------------------------------------------------------------



Re: Re: nochmal stati stuttgart (Leibi, 26. Dez 2002, 23:55:14):
~#! rn=Mikage rt=1040670453 rg=treffen
~#! tid=1040565743
nachdem sich netterweise dieses mal so viele leute angemeldet haben hab ich
den tisch umbestellt von grotte 1 auf irgendwas anderes, wo wir alle
reinpassen...

aber noch immer samstag, enchilada, 19 uhr.

leibi - wollte eigentlich nur was in die mpa schreiben :)

-----------------------------------------------------------------------------



Re^3: nochmal stati stuttgart (Flauros, 28. Dez 2002, 16:44:49):
~#! rn=Leibi rt=1040943314 rg=treffen
~#! tid=1040565743
Mir ist so langweilig, deswegen schreibe ich nochmal, dass ich nachher zum
StaTi komme und es bestimmt lustig wird.

Flauschi - ist echt langweilig. ;)

-----------------------------------------------------------------------------



Re^4: nochmal stati stuttgart (Bambi, 29. Dez 2002, 16:49:31):
~#! rn=Flauros rt=1041090289 rg=treffen
~#! tid=1040565743
Du hast Recht. Es war sehr lustig.

-----------------------------------------------------------------------------



Re^5: nochmal stati stuttgart (Liara, 29. Dez 2002, 16:52:32):
~#! rn=Bambi rt=1041176971 rg=treffen
~#! tid=1040565743
Die Brunchleute haben geschwaechelt.

Liara, knurrt

-----------------------------------------------------------------------------



Re^6: nochmal stati stuttgart (Humni, 29. Dez 2002, 20:27:06):
~#! rn=Liara rt=1041177152 rg=treffen
~#! tid=1040565743
Wieso? Weils nur bis 16 Uhr ging?

Humni fand das Brunch lecker

-----------------------------------------------------------------------------



Re^7: nochmal stati stuttgart (Liara, 29. Dez 2002, 20:28:18):
~#! rn=Humni rt=1041190026 rg=treffen
~#! tid=1040565743
Nein, weil zu der abgemachten Zeit kein Schwein wach, geschweige denn am
verabredeten Ort war. :)

-----------------------------------------------------------------------------



Re^8: nochmal stati stuttgart (Humni, 29. Dez 2002, 20:29:50):
~#! rn=Liara rt=1041190098 rg=treffen
~#! tid=1040565743
Naja. Leibis Katzen haben uns bis spaet in die Nacht wachgehalten. Nachdem
alle wach waren sind wir aber sofort gekommen, nachdem wir geduscht usw
hatten. gabs da ne Zeit fuer? Gar nicht mitgekriegt.

Humni

-----------------------------------------------------------------------------



Re^9: nochmal stati stuttgart (Leibi, 29. Dez 2002, 20:55:02):
~#! rn=Humni rt=1041190190 rg=treffen
~#! tid=1040565743
also das mit der vereinbarten zeit hab ich nicht mitbekommen, bestimmt im
cocktail untergegangen... 

dafuer sind die bilder vom stati und vom brunchen wie immer unter
www.butterkeksdose.de zu finden.

leibi - noch muede

-----------------------------------------------------------------------------



Re^10: nochmal stati stuttgart (Flauros, 30. Dez 2002, 12:56:42):
~#! rn=Leibi rt=1041191702 rg=treffen
~#! tid=1040565743
Also ich fande den Stammtisch sehr gelungen. Jede Menge nette Leute, die
Getraenke und das Essen vom Enchilada muss man ja nicht jedes Mal loben. ;)
Und der Tequila zum Schluss war auch gut. :)

Flauschi -freut sich auf den naechsten Stati.


-----------------------------------------------------------------------------



StaTi in Hamburg! (Kelris,  3. Jan 2003, 19:12:07):
Huhu liebe Hamburger und Umgebung,

ich wollte anfragen ob ihr armen vielbeschaeftigten Menschen nicht endlich
wieder einen Freitagabend freischaufeln koenntet. Wuerde euch naemlich gerne
mal wiedersehen (RL)! Ausserdem will ich mein Magierdasein feiern und
eventuell einen ausgeben. Eine Bitte an die anderen reist jetzt bitte nicht
alle nach Hamburg an das sprengt sonst mein Budget. :) Also ueberlegt es euch
und macht Terminvorschlaege.


Gruss, Kelris.

-----------------------------------------------------------------------------



Re: StaTi in Hamburg! (Grimmborn,  3. Jan 2003, 19:14:49):
~#! rn=Kelris rt=1041617527 rg=treffen
~#! tid=1041617527
Der 31.1. wuerde gut passen, da bin ich im Rheinland. 

GdA

-----------------------------------------------------------------------------



Re: StaTi in Hamburg! (Perdita,  4. Jan 2003, 15:23:20):
~#! rn=Kelris rt=1041617527 rg=treffen
~#! tid=1041617527
Also, ich hab bisher noch nicht allzu viele Termine im neuen Jahr. 17. und
24.1. gingen etwa gleich gut.
10.1. muesste eigentlich auch schon gehen. 31.1. waer nicht ganz so guenstig.
Sucht euch was aus :-)
Perdita freut sich auch mal wieder auf nen Stati

-----------------------------------------------------------------------------



Re: Re: StaTi in Hamburg! (Grimmborn,  4. Jan 2003, 15:27:15):
~#! rn=Perdita rt=1041690200 rg=treffen
~#! tid=1041617527
Hai! Der 17.1. waere auch guenstig, da hab ich einen Japanischkurs in der
oertlichen VHS. 

Grimmborn-sama

-----------------------------------------------------------------------------



Re^3: StaTi in Hamburg! (Perdita,  4. Jan 2003, 15:30:59):
~#! rn=Grimmborn rt=1041690435 rg=treffen
~#! tid=1041617527
warum hast du eigentlich keine Lust auf nen Stati, Grimmborn?
Perdita

-----------------------------------------------------------------------------



Re^4: StaTi in Hamburg! (Grimmborn,  4. Jan 2003, 15:51:41):
~#! rn=Perdita rt=1041690659 rg=treffen
~#! tid=1041617527
Weil ich dann zufaellig immer weg bin. Oder versetzt werde.

GdA

-----------------------------------------------------------------------------



Catty's Grillparty (Catweazle,  6. Jan 2003, 17:08:06):
Moin,

Weil ja jetzt so langsam wieder die passende Jahresezeit kommen muesste, aber
auch vor allem, weil ich es bereits angekuendigt und versprochen habe, lade
ich hiermit herzlich ein zu:

                          Catty's Grillparty

                   bei Catweazle daheim in Muenster

            diese Woche Freitag, den 10.01.2003 ab 20:00 Uhr


Geladen ist jeder der kommen moechte und kann. Wenn du kommen willst, dann
meld dich bitte vorher bei mir an. Grillfleisch und Getraenke sind bitte
selbst mitzubringen, ich stelle nur die Area und das Equipment zur Verfuegung.
Sonstiges Grillzubehoer, wie etwa Salate oder Saucen sind natuerlich gern
willkommen.

Und nochmal: das Anmelden bei mir nicht vergessen, damit ich ueberblicken
kann, fuer wieviel Kompanien ich Platz schaffen muss.

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Catty's Grillparty (Mupfel,  6. Jan 2003, 22:33:18):
~#! rn=Catweazle rt=1041869286 rg=treffen
~#! tid=1041869286
Au fein!
So Varlarion will, werden wir da auch eintrudeln...

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Catty's Grillparty (Akasha,  7. Jan 2003, 16:09:53):
~#! rn=Mupfel rt=1041888798 rg=treffen
~#! tid=1041869286
+2

Varl*

-----------------------------------------------------------------------------



Re: Stammtisch in Hamburg steht fest! (Perdita, 12. Jan 2003, 12:11:50):
~#! on=Perdita ot=1042369862 og=treffen.bekanntmachungen
~#! rn=Kelris rt=1042287529 rg=treffen.bekanntmachungen
~#! tid=1042287529
+2

Perdita

-----------------------------------------------------------------------------



Re: Stammtisch Bonn (Liara, 14. Jan 2003, 21:28:40):
~#! rn=Liara rt=1042225486 rg=treffen.bekanntmachungen
~#! tid=1042225486
OK, inzwischen hat sich auch eine Lokalitaet fuer den bereits angekuendigten
Stammtisch in Bonn am 18. Januar 2003 (Samstag) gefunden:

                         HABANERO

                Belderberg 20   53111 Bonn
               Kubanische Kneipe/Restaurant
             > 400 Cocktails auf der Karte :)

                      Start um 19 Uhr

                   Special Guest: Gorog

Wegbeschreibung und Anmeldung bei Twingi oder bei mir. 

-----------------------------------------------------------------------------



Stammtisch in Malmoe (Grimmborn, 14. Jan 2003, 21:44:31):
Da mir verschiedentlich zu kurze Vorlaufzeit vorgeworfen wurde hier mit genug
Zeit im voraus:

Samstag, 18.1.03, im Casablanca in Malmoe (von Triangeln Soedra
Foerstadsgatan, nach rund 200 m auf der rechten Seite), so etwa gegen 15 Uhr.
Als Special Guest wird meine Grossmutter anwesend sein.

GdA

-----------------------------------------------------------------------------



Re: spontanstati stuttgart (Flauros, 23. Jan 2003, 22:27:58):
~#! rn=Leibi rt=1043357218 rg=treffen
~#! tid=1043357218
Was ist das fuer ein Tag?

Egal, ich bin dabei. :)

Und wer ist der spontane Besuch?

Flauschi

-----------------------------------------------------------------------------



Re: Re: spontanstati stuttgart (Olli, 23. Jan 2003, 22:28:12):
~#! rn=Flauros rt=1043357278 rg=treffen
~#! tid=1043357218
Olli kommt nicht.

-----------------------------------------------------------------------------



Re: Re: spontanstati stuttgart (Ronda, 23. Jan 2003, 22:28:42):
~#! rn=Flauros rt=1043357278 rg=treffen
~#! tid=1043357218
Aehm... Montag ist das hoffentlich. Oder ich haette mich verrechnet ;-)

Ronda *verraet nicht, wer zu Besuch kommt*

-----------------------------------------------------------------------------



Re^3: spontanstati stuttgart (Flauros, 23. Jan 2003, 22:29:22):
~#! rn=Ronda rt=1043357322 rg=treffen
~#! tid=1043357218
Komischer Tag fuer einen Stati.

Flauschi *kann es sich jetzt denken*

-----------------------------------------------------------------------------



Re^4: spontanstati stuttgart (Leibi, 23. Jan 2003, 22:31:07):
~#! rn=Flauros rt=1043357362 rg=treffen
~#! tid=1043357218
es ist tatsaechlich ein montag. und der besuch hmm es ist nicht der nicht
naeher genannte mudder :)

aber dafuer sehn wir auch nicht die nicht naeher genannte bedienung. aber der
besuch bringt einen gast mit und imda koennte eigentlich auch mal wieder
kommen und auch wen mitbringen ;)

leibi

-----------------------------------------------------------------------------



Re^5: spontanstati stuttgart (Seleven, 24. Jan 2003, 13:15:17):
~#! rn=Leibi rt=1043357467 rg=treffen
~#! tid=1043357218
S11 kommt nicht.

-----------------------------------------------------------------------------



Re: Wochenend-Stati in Muenster! (Varlarion, 29. Jan 2003, 19:05:06):
~#! rn=Areelanir rt=1043863456 rg=treffen.bekanntmachungen
~#! tid=1043863456
Ihr muesst das auch immer genau dann machen, wenn man schon was anderes
vorhat, oder?

Varl*, grummelnd

-----------------------------------------------------------------------------



Re: hoeret (Zook, 30. Jan 2003, 13:35:50):
~#! rn=Pitfall rt=1043861435 rg=treffen.bekanntmachungen
~#! tid=1043861435
Also ich waer ja am 11. Feb. mal wieder in B.

Zook.

-----------------------------------------------------------------------------



Re: Re: Wochenend-Stati in Muenster! (Catweazle, 30. Jan 2003, 15:19:14):
~#! rn=Varlarion rt=1043863506 rg=treffen
~#! tid=1043863456
Zum Beispiel 'in Rom sein'? 

YTC (hehe)


-----------------------------------------------------------------------------



Re: Re: hoeret (Zook, 31. Jan 2003, 11:51:04):
~#! rn=Zook rt=1043930150 rg=treffen
~#! tid=1043861435
Korrigiere: Bin mindestens vom 10. auf den 11. Feb. in B.

Zook.

-----------------------------------------------------------------------------



Re: Re: hoeret (Grimmborn, 31. Jan 2003, 12:33:21):
~#! on=Brotnael ot=1044012189 og=treffen.bekanntmachungen
~#! rn=Pitfall rt=1044010513 rg=treffen.bekanntmachungen
~#! tid=1043861435
ich hatte auch eine eingebung, als ich in meiner Bibel blaetterte, hab ich
doch tatsaechlich das richtige fuer mich gefunden :) wie waers mit
locationwechsel? Kennt wer den "Druide", dort gibts ueber 350 cocktailsorten
(!) und 80 (!!!) absinthsorten *g* ausserdem ist das openend und liegt in der
schoenhauser allee :)

Brot

-----------------------------------------------------------------------------



Re^3: hoeret (Gnome, 31. Jan 2003, 19:50:03):
~#! rn=Grimmborn rt=1044012801 rg=treffen
~#! tid=1043861435
wie waers mit der melle jeden Mi abend? gutes bier fuer einen euro
und die cocktails sind auch gar nicht mal so teuer *duck*

gnOme

-----------------------------------------------------------------------------



Re^3: Wochenend-Stati in Muenster! (Gorog,  5. Feb 2003, 11:06:41):
~#! rn=Catweazle rt=1043936354 rg=treffen
~#! tid=1043863456
Hmmm, wo und wann auch immer.
Gorog +1

-----------------------------------------------------------------------------



Re: Erloesungsstammtisch Osnabrueck (Do, 6.2.) (Varlarion,  5. Feb 2003, 13:00:22):
~#! rn=Anatol rt=1044446370 rg=treffen.bekanntmachungen
~#! tid=1044446370
+3

Varl*

-----------------------------------------------------------------------------



Re^4: Wochenend-Stati in Muenster! (Gorog,  6. Feb 2003, 17:52:08):
~#! rn=Gorog rt=1044439601 rg=treffen
~#! tid=1043863456
Oehm nur mal so aus reiner Neugirde... Wann Wo Wielang (;

Gorog ist ma so richtig gespannt.

-----------------------------------------------------------------------------



Re^5: Wochenend-Stati in Muenster! (Foobar,  6. Feb 2003, 20:35:17):
~#! rn=Gorog rt=1044550328 rg=treffen
~#! tid=1043863456
Ich hab' gehoert, der findet wieder in der Frauenstrasse statt. :o)

So gegen 20.00 Uhr, wie immer.

Foobar

-----------------------------------------------------------------------------



Re^6: Wochenend-Stati in Muenster! (Gorog,  7. Feb 2003, 11:16:39):
~#! rn=Foobar rt=1044560117 rg=treffen
~#! tid=1043863456
Hmm auch wenn ich sehr gern in der Frauenstrasse verweile, wuerd ich die
dieses Wochenende gerne meiden. Nein ich hab kein Hausverbot und ne offene
Rechung ist auch nicht da, aber Samstag ist da wohl ein Konzert und von daher
wird der Saal nicht frei sein. Ergo kein Platz.

Gorog bittet daher um eine andere Kneipe (die koennen wir dann auch gerne
Pleite machen.)

-----------------------------------------------------------------------------



Re^7: Wochenend-Stati in Muenster! (Ronda,  7. Feb 2003, 14:48:41):
~#! rn=Gorog rt=1044612999 rg=treffen
~#! tid=1043863456
Hmm... also wo-wie-wann wuesste ich auch gern. Und vielleicht auch wer alles
;-)

Ronda *ueberlegt nen Abstecher nach Muenster zu machen*

-----------------------------------------------------------------------------



Re^8: Wochenend-Stati in Muenster! (Foobar,  7. Feb 2003, 15:14:29):
~#! rn=Ronda rt=1044625721 rg=treffen
~#! tid=1043863456
Ich hoffe mal dass Areelanir sich noch dazu aeussert, ich wusste nur dass er
in der Frauenstrasse stattfinden sollte.

Aber wenn da voll ist muessein wir wohl tatsaechlich woanders hin.

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re^9: Wochenend-Stati in Muenster! (Varlarion,  7. Feb 2003, 15:22:33):
~#! rn=Foobar rt=1044627269 rg=treffen
~#! tid=1043863456
Gestern hiess es, Start waere im Enchilada.

Varl*

-----------------------------------------------------------------------------



Re^10: Wochenend-Stati in Muenster! (Foobar,  7. Feb 2003, 16:19:04):
~#! rn=Varlarion rt=1044627753 rg=treffen
~#! tid=1043863456
Wann? :o)

Und wo geht es nachher hin?

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re^11: Wochenend-Stati in Muenster! (Areelanir,  8. Feb 2003, 09:19:26):
~#! rn=Foobar rt=1044631144 rg=treffen
~#! tid=1043863456
Hmmm... Gestern kam raus, dass wir wohl ab 18:00 Uhr im Enchillada die Happy
Hour nutzen wollen, da kann man sich ja erstmal treffen und dann gemeinsam
ueberlegen (hab da jetzt spontan naemlich keine Idee). Wir werde da mindestens
bis 20:30 bleiben. Nachzuegler koennen sich dann bei mir auf dem Handy melden
fuer weitere Infos (0162/4760094)
bis heute abend, Areelanir

-----------------------------------------------------------------------------



Re^12: Wochenend-Stati in Muenster! (Mupfel,  8. Feb 2003, 12:27:27):
~#! rn=Areelanir rt=1044692366 rg=treffen
~#! tid=1043863456
Also wenn ihr das mal im Sommer macht, wenn warm, komm ich auch ;)

-mupfel-

-----------------------------------------------------------------------------



05.04.03 (Amaryllis, 10. Feb 2003, 21:14:39):
Moin,

da ich evtl. am 04.04. im Schwarzwald bin, wollte ich mal nachfragen, ob am
05.04. zufaellig ein Stati stattfindet - irgendwo zwieschen Bodensee und Koeln
:-)

Ist noch laengst nicht sicher, ob mein Termin steht, daher nur mal eine
unverbindliche Anfrage... :)

Ama*

-----------------------------------------------------------------------------



CeBit (Amaryllis, 10. Feb 2003, 21:17:07):
Moin,

bin am 14.03.03 evtl. auf der CeBit... vielleicht ergibt sich was? Dann Mail
an mich :)

Ama*

-----------------------------------------------------------------------------



Re: 05.04.03 (Leibi, 10. Feb 2003, 23:09:57):
~#! rn=Amaryllis rt=1044908079 rg=treffen
~#! tid=1044908079
stuttgart liegt auf dem weg oder?

leibi 

-----------------------------------------------------------------------------



Re: CeBit (Olli, 10. Feb 2003, 23:47:25):
~#! rn=Amaryllis rt=1044908227 rg=treffen
~#! tid=1044908227
Wir koennten da relativ spontan nen Stati ansetzen :)

Olli

-----------------------------------------------------------------------------



Re: Re: 05.04.03 (Amaryllis, 11. Feb 2003, 19:51:48):
~#! rn=Leibi rt=1044914997 rg=treffen
~#! tid=1044908079
selpstvafreilich :)

Ist nur noch hoechst unsicher. Wie ich jetzt mehr weiss, kann ich das erst
sicher Mitte/Ende Maerz sagen, ob ich ueberhaupt fahre...

Ama*

-----------------------------------------------------------------------------



Re: Re: CeBit (Amaryllis, 11. Feb 2003, 19:52:52):
~#! rn=Olli rt=1044917245 rg=treffen
~#! tid=1044908227
Tagsueber oder abends?

Ich hab das Problem dass mir die Firma schon das Bahnticket fuer Hin- und
Rueckfahrt am selben Tag ins Buero geworfen hat... muesst ich mich schlau
machen, ob sich das ggf. umstellen laesst.

Ama*

-----------------------------------------------------------------------------



Re: Mittwoch, 19.2., Duesseldorf (Grimmborn, 15. Feb 2003, 22:08:27):
~#! on=Amaryllis ot=1045343041 og=treffen.bekanntmachungen
~#! rn=Deepblue rt=1045342761 rg=treffen.bekanntmachungen
~#! tid=1045342761
Ich schick Euch am Montag nen Alt hoch... das sollte bis zum 19.02. alt genug
sein... harharhar

Viel Spass in Dunkeldorf :)
Ama*

-----------------------------------------------------------------------------



Re: Mittwoch, 19.2., Duesseldorf (Grimmborn, 15. Feb 2003, 22:11:46):
~#! on=Householder ot=1045343472 og=treffen.bekanntmachungen
~#! rn=Deepblue rt=1045342761 rg=treffen.bekanntmachungen
~#! tid=1045342761
am achsch dea welt do liechkt duessldochf do will kaeina hin
HH nicht nach duessldochf wollend

-----------------------------------------------------------------------------



Stati@Dunkeldorf (Muaddib, 17. Feb 2003, 12:29:10):
Bin am 19. vielleicht in Ddorf, komme vielleicht auch ins Tigges. Vielleicht
auch zu spaet. Wo muss ich anrufen? Und wer kommt alles?

Mua

-----------------------------------------------------------------------------



Re^13: Wochenend-Stati in Muenster! (Catweazle, 17. Feb 2003, 15:35:46):
~#! rn=Mupfel rt=1044703647 rg=treffen
~#! tid=1043863456
So, bin wieder in MS. Wann ist der Stammtisch?

YTC

-----------------------------------------------------------------------------



Auf auf ... (Ark, 18. Feb 2003, 11:42:55):
Will jemand am Freitag nach Darmstadt zu nem kleinen Stammtisch kommen? Ab
19:00 Uhr im Hobbit/Hotzenplotz, sagt mir einfach Bescheid, ob Interesse
besteht. Ich bin zu faul, weiter weg zu fahren :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Auf auf ... (Mandragon, 18. Feb 2003, 14:43:36):
~#! rn=Ark rt=1045564975 rg=treffen
~#! tid=1045564975
Hoert sich gar nicht so schlecht an ... wenn - ja wenn nicht ne Bekannte da
Geburtstag feiert ...

Ma* (kommt zu 80% mit +2)

-----------------------------------------------------------------------------



Re: maerzstati berlin (Zook, 21. Feb 2003, 16:13:49):
~#! rn=Pitfall rt=1045840301 rg=treffen.bekanntmachungen
~#! tid=1045840301
Also in Berlin bin ich so um den 26. Maerz.... 

Zook.

-----------------------------------------------------------------------------



Re: Re: maerzstati berlin (Pitfall, 21. Feb 2003, 16:14:37):
~#! rn=Zook rt=1045840429 rg=treffen
~#! tid=1045840301
bis dahin ist noch ne weile zeit, so weit kann doch kein stud^h^h^h^hmudder
planen

-----------------------------------------------------------------------------



Goetter fliegen... (Zook, 25. Feb 2003, 17:19:03):
Hmm... also ich bin wohl am 25. und 26. Maerz in Berlin, muss aber am
27. Maerz um 10.00 Uhr in Muenster sein. Irgendjemand ne tolle Idee fuer
nen Stati o.ae.?

Zook.

-----------------------------------------------------------------------------



Re: Goetter fliegen... (Croft, 25. Feb 2003, 17:28:14):
~#! rn=Zook rt=1046189943 rg=treffen
~#! tid=1046189943
Sicher.  Am 27. ist abends in Karlsruhe ein prima Stammtisch im Kleinen
Meierhof.  Geht so um 20:00 los.

Croft

-----------------------------------------------------------------------------



Re: Re: Goetter fliegen... (Zook, 25. Feb 2003, 17:30:20):
~#! rn=Croft rt=1046190494 rg=treffen
~#! tid=1046189943
Biste verrueckt? ;)

Nach B und MS auch noch KA? ;)

Zook.

-----------------------------------------------------------------------------



Re^3: Goetter fliegen... (Croft, 25. Feb 2003, 17:31:04):
~#! rn=Zook rt=1046190620 rg=treffen
~#! tid=1046189943
Wenn du schon fliegst :-)

Croft

-----------------------------------------------------------------------------



Re: Re: Goetter fliegen... (Bambi, 25. Feb 2003, 17:44:46):
~#! rn=Croft rt=1046190494 rg=treffen
~#! tid=1046189943
Ich fand den Sonderstati heute uebrigens ganz nett. Koennte man bei
Gelegenheit wiederholen.

-----------------------------------------------------------------------------



Re^3: Goetter fliegen... (Vincent, 25. Feb 2003, 18:19:54):
~#! rn=Bambi rt=1046191486 rg=treffen
~#! tid=1046189943
Ich fand ihn auch ganz witzig. Sollten wir auf alle Faelle bald wiederholen.

Gruss
Vincent

-----------------------------------------------------------------------------



Stammtisch in Muenchen 5.3.03 (Householder, 25. Feb 2003, 20:58:50):
diesmal in der richtigen Rubrik und mit richtigem Datum:


in Vertretung fuer Mieze moechte ich hiermit fuer Mittwoch, 
den 5.03.2003 den Muenchner Stammtisch ankuendigen. Austragunxocht
ist wie ueblich:

Bergmannshof
Landsberger Str. 73
D-80339 Muenchen 
Der Tisch wird fuer 19:00 reserviert.
Gruende fuer Abwesenheit muessen durch aerztliches Attest bzw.
eine amtliche Sterbeurkunde belegt werden. 

mit besten Gruessen,
HH (grunzend)

-----------------------------------------------------------------------------



Re: Goetter fliegen... (Catweazle, 26. Feb 2003, 13:00:36):
~#! rn=Zook rt=1046189943 rg=treffen
~#! tid=1046189943
Tja, bloed.

Ich war gestern auch in Berlin, bin aber heute schon wieder zurueck in MS :-)

YTC

PS: Du fliegst B->MS? Zeitverschwendung ...


-----------------------------------------------------------------------------



Re: Re: Goetter fliegen... (Zook, 26. Feb 2003, 13:32:18):
~#! rn=Catweazle rt=1046260836 rg=treffen
~#! tid=1046189943
Gna... nein.. Das war bildlich gesprochen.... Ich werd wohl eher mit der
Deutschen Bahn fahren.... wobei ich eigentlich keine Lust habe, von MS
nach MR mit der Bahn zu fahren....

Zook.

-----------------------------------------------------------------------------



Re: Re: april-stati stuttgart (Bambi, 10. Mar 2003, 19:11:12):
~#! rn=Leibi rt=1047319834 rg=treffen.bekanntmachungen
~#! tid=1047317632
Schlagt ihr eigentlich auch mal bei uns auf oder muessen wir immer zu euch
kommen?

-----------------------------------------------------------------------------



Re: Re: april-stati stuttgart (Zook, 10. Mar 2003, 19:11:16):
~#! rn=Leibi rt=1047319834 rg=treffen.bekanntmachungen
~#! tid=1047317632
+1 

Zook

PS: Mist, das stand ja schon im Artikel....

-----------------------------------------------------------------------------



Re^3: april-stati stuttgart (Leibi, 10. Mar 2003, 19:12:18):
~#! rn=Bambi rt=1047319872 rg=treffen
~#! tid=1047317632
kommt ihr ruhig zu uns. aber irgendwann kommen wir sicher auch mal wieder zu
euch. imda?

leibi

-----------------------------------------------------------------------------



Dresden? (Deepblue, 11. Mar 2003, 19:12:34):
Wie waers mit nem Stati am Freitag, dem 21. in der Triangel?

-----------------------------------------------------------------------------



Re: Dresden? (Rikus, 12. Mar 2003, 10:14:56):
~#! rn=Deepblue rt=1047406354 rg=treffen
~#! tid=1047406354
waer schoen. vll hab ich ja auch wieder mal zeit...

rikus

-----------------------------------------------------------------------------



Re: Stati in Bonn (Zook, 12. Mar 2003, 22:39:55):
~#! rn=Twingi rt=1047505069 rg=treffen.bekanntmachungen
~#! tid=1047505069
Wenn ich am 28.3. nen Termin in Muenster habe, komme ich vorbei. Bett 
braeuchte ich dann.

Zook.

-----------------------------------------------------------------------------



Re: berlin, stati, rudeln, usw (Zook, 12. Mar 2003, 22:45:15):
~#! rn=Pitfall rt=1047505477 rg=treffen.bekanntmachungen
~#! tid=1047505477
Ihr Wuerste! Da bin ich doch schon gar nett mehr in B ;)

Zook, nur vom 25. bis 26. Maerz in Berlin seiend.

-----------------------------------------------------------------------------



Re: Re: berlin, stati, rudeln, usw (Grimmborn, 12. Mar 2003, 22:47:10):
~#! rn=Zook rt=1047505515 rg=treffen
~#! tid=1047505477
Wenn ich am 28.3. nen Termin in Muenster habe, komme ich auch vorbei.
Uebernachtung waere dann natuerlich auch nett.

GdA

-----------------------------------------------------------------------------



StaTi Bonn... (Hisasul, 12. Mar 2003, 22:53:47):

vielleicht koennten die Shivas ihr StaTi-Besuch-Versprechen ja da einloesen...

Flauros und Sou angug...

His

-----------------------------------------------------------------------------



Re: StaTi Bonn... (Leibi, 12. Mar 2003, 22:55:26):
~#! rn=Hisasul rt=1047506027 rg=treffen
~#! tid=1047506027
also ich aehm bin aehm wirr. ich mein ich komm natuerlich erst wie ich ja
schon sagte im april oder mai :)
aber dann koennen wir ja cocktails trinken gehn :)

leibi - verdreht

-----------------------------------------------------------------------------



Re: CeBIT Stammtisch in Hannover (Olli, 13. Mar 2003, 00:40:06):
~#! on=Olli ot=1047512386 og=treffen.bekanntmachungen
~#! rn=Mupfel rt=1047512050 rg=treffen.bekanntmachungen
~#! tid=1047512050
Olli hat an beiden Tagen leider keine Zeit :(

-----------------------------------------------------------------------------



Re: Nochmal Hannover, aber 5.4. :) (Mupfel, 13. Mar 2003, 00:46:10):
~#! rn=Olli rt=1047512318 rg=treffen.bekanntmachungen
~#! tid=1047512318
Da werd ich da sein ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Nochmal Hannover, aber 5.4. :) (Akasha, 13. Mar 2003, 00:48:53):
~#! rn=Mupfel rt=1047512770 rg=treffen
~#! tid=1047512318
Ich auch :)

Akasha

-----------------------------------------------------------------------------



Re^3: Nochmal Hannover, aber 5.4. :) (Jenandra, 13. Mar 2003, 00:49:17):
~#! rn=Akasha rt=1047512933 rg=treffen
~#! tid=1047512318
dito :-)

- Jenandra -

-----------------------------------------------------------------------------



Re^4: Nochmal Hannover, aber 5.4. :) (Vanion, 13. Mar 2003, 07:30:16):
~#! rn=Jenandra rt=1047512957 rg=treffen
~#! tid=1047512318
Wenn nix dazwischen kommt, is das auch mein zweiter H-Stati in 2 Wochen. :)

V*

-----------------------------------------------------------------------------



130320032000KAKM (Muadib, 13. Mar 2003, 10:01:10):
musste mal wieder sein, sistance hat schliesslich nicht im geringsten stil

-----------------------------------------------------------------------------



Re: Re: berlin, stati, rudeln, usw (Pitfall, 13. Mar 2003, 13:29:00):
~#! rn=Gnome rt=1047558365 rg=treffen.bekanntmachungen
~#! tid=1047505477
schaun wir mal wer danach noch wie fit ist,
eigentlich sollte es gleich danach losgehen,
wenn der wunsch besteht geht es halt erst nach
der folgen schlafperiode los.

pit*

-----------------------------------------------------------------------------



Re^5: Nochmal Hannover, aber 5.4. :) (Leibi, 13. Mar 2003, 22:13:01):
~#! rn=Vanion rt=1047537016 rg=treffen
~#! tid=1047512318
ich komm auch :)

leibi

-----------------------------------------------------------------------------



Re: Auch dienstlich... (Mandragon, 24. Mar 2003, 22:36:50):
~#! on=Mandragon ot=1048541794 og=magier.urlaub
~#! rn=Ragnaroek rt=1048541134 rg=magier.urlaub
~#! tid=1048541134
So ... Darmstadt ... interessant ....


Ma* (Darmstaedter)

-----------------------------------------------------------------------------



Re: Re: Auch dienstlich... (Mupfel, 24. Mar 2003, 22:43:27):
~#! rn=Mandragon rt=1048541810 rg=treffen
~#! tid=1048541134
:bedauert alle, die da arbeiten muessen, zutiefst.

-mupfel-

-----------------------------------------------------------------------------



Re: Erinnerung: 28.3. Dresden (Grimmborn, 25. Mar 2003, 09:30:35):
~#! on=Rikus ot=1048580243 og=treffen.bekanntmachungen
~#! rn=Deepblue rt=1048531255 rg=treffen.bekanntmachungen
~#! tid=1048531255
wegen eurer verlegung auf den 28. kann ich nun doch nicht teilnehmen,
schade...

rikus

-----------------------------------------------------------------------------



Re^3: Stati in Muenster (Zook,  4. Apr 2003, 12:55:00):
~#! rn=Gorog rt=1049453666 rg=treffen.bekanntmachungen
~#! tid=1048671973
Also einfach in die Frauenstrasse zu gehen, hat nachweislich schon einmla
nicht funktioniert.

Zook.

-----------------------------------------------------------------------------



Re^4: Stati in Muenster (Catweazle,  4. Apr 2003, 12:56:02):
~#! rn=Zook rt=1049453700 rg=treffen
~#! tid=1048671973
Du musst vorher dumm in der Zeitung rumfragen, dann kommt auch wer :-)

YTC

-----------------------------------------------------------------------------



Re^5: Stati in Muenster (Catweazle,  4. Apr 2003, 12:56:44):
~#! rn=Catweazle rt=1049453762 rg=treffen
~#! tid=1048671973
Darf ich dazu bemerken, dass die Trennung, treffen und
treffen.bekanntmachungen nicht wirklich funktioniert? ...

YTC

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Puk,  4. Apr 2003, 12:57:00):
~#! rn=Catweazle rt=1049453804 rg=treffen
~#! tid=1048671973
darfst du :)

-----------------------------------------------------------------------------



Re^5: Stati in Muenster (Gorog,  4. Apr 2003, 12:57:16):
~#! rn=Catweazle rt=1049453762 rg=treffen
~#! tid=1048671973
eigentlich funktioniert es immer in die frauenstrasse zu gehn. immer lecker
essen und nette atmosphaere.

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Anatol,  4. Apr 2003, 12:57:20):
~#! rn=Catweazle rt=1049453804 rg=treffen
~#! tid=1048671973
[x] moderated group needed. ;)

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Catweazle,  4. Apr 2003, 12:58:25):
~#! rn=Gorog rt=1049453836 rg=treffen
~#! tid=1048671973
Also gut, dann komm ich halt mal....

YTC

-----------------------------------------------------------------------------



Re^7: Stati in Muenster (Puk,  4. Apr 2003, 12:58:39):
~#! rn=Catweazle rt=1049453905 rg=treffen
~#! tid=1048671973
jaaaaaaaaaaaaaaaaaaa, catty kommt catty kommt ;)

-----------------------------------------------------------------------------



Re^8: Stati in Muenster (Gorog,  4. Apr 2003, 12:59:36):
~#! rn=Puk rt=1049453919 rg=treffen
~#! tid=1048671973
Bin gespannt wie der jetzt aus sieht (; is ja schon so lange her, hab schon
gedacht er waer mittlerweile ein vollscript, das auf ideln programmiert ist...

mfGorog

-----------------------------------------------------------------------------



Re^9: Stati in Muenster (Puk,  4. Apr 2003, 13:00:02):
~#! rn=Gorog rt=1049453976 rg=treffen
~#! tid=1048671973
vielleicht hat er sich nen bart wachsen lassen :)

-----------------------------------------------------------------------------



Re^10: Stati in Muenster (Mandragon,  4. Apr 2003, 13:00:30):
~#! rn=Puk rt=1049454002 rg=treffen
~#! tid=1048671973
Also heute ist Stati in Darmstadt ... mit vielen netten Gaesten :-)))

Ma*

-----------------------------------------------------------------------------



Re^11: Stati in Muenster (Catweazle,  4. Apr 2003, 13:03:09):
~#! rn=Mandragon rt=1049454030 rg=treffen
~#! tid=1048671973
Das ist ja wohl irrelevant. Denn in Muenster ist Stammtisch. Da gibt deutlich
nettere Gaeste. Mich zum Beispiel.

YTC

-----------------------------------------------------------------------------



Re^5: Stati in Muenster (Zook,  4. Apr 2003, 13:38:21):
~#! rn=Catweazle rt=1049453762 rg=treffen
~#! tid=1048671973
Ich fand, ich hatte schon dumm genug gefragt. Hatte damals nur keiner
drauf reagiert...

Zook.

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Zook,  4. Apr 2003, 13:38:43):
~#! rn=Catweazle rt=1049453804 rg=treffen
~#! tid=1048671973
Soll ich Dir den Unterschied erklaeren? ;)

Zook.

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Zook,  4. Apr 2003, 13:39:09):
~#! rn=Gorog rt=1049453836 rg=treffen
~#! tid=1048671973
Ja, nur eben nicht immer Mitmudder.

Zook.

-----------------------------------------------------------------------------



Re^6: Stati in Muenster (Gnome,  4. Apr 2003, 13:43:16):
~#! rn=Catweazle rt=1049453804 rg=treffen
~#! tid=1048671973
frage mich schon lange, wo der unterschied liegt und fluche immer, wenn
ich einen artikel suche, der mit StaTi's zu tun hat. war das nun in
der rubrik oder in der?

reichen treffen und treffen.wegbeschreibungen nicht?

gnOme

-----------------------------------------------------------------------------



Re^7: Stati in Muenster (Mandragon,  4. Apr 2003, 13:46:49):
~#! rn=Gnome rt=1049456596 rg=treffen
~#! tid=1048671973
Nein. Die Idee von treffen.bekanntmachungen war, das eben nicht wild
rumzuposten, sondern nur die Treffen anzukuendigen. So dass man Zeit und Ort
schnell finden kann, ohne sich durch zig postings zu wuehlen.

Ma*

-----------------------------------------------------------------------------



Re^8: Stati in Muenster (Mandragon,  4. Apr 2003, 13:47:09):
~#! rn=Mandragon rt=1049456809 rg=treffen
~#! tid=1048671973
Nachschlag:

Grimmborn, uebernehmen Sie.

Ma*

-----------------------------------------------------------------------------



Re^8: Stati in Muenster (Gnome,  4. Apr 2003, 13:50:38):
~#! rn=Mandragon rt=1049456809 rg=treffen
~#! tid=1048671973
also die treffen, die in treffen angekuendigt werden, werden in
treffen.bekanntmachungen nochmals bekanntgegeben, damit man schneller
zum ziel kommt, wenn man was nachlesen will? hab ich das jetzt richtig
verstanden?
wenn ja, such ich noch den tieferen sinn, der dahinterstechken soll.

gnOme

-----------------------------------------------------------------------------



Re^9: Stati in Muenster (Mandragon,  4. Apr 2003, 13:51:45):
~#! rn=Gnome rt=1049457038 rg=treffen
~#! tid=1048671973
Treffen sollen eigentlich nur in t.b angekuendigt werden. Replies darauf dann
nach treffen

Ma*

-----------------------------------------------------------------------------



Re^9: Stati in Muenster (Zook,  4. Apr 2003, 13:51:47):
~#! rn=Gnome rt=1049457038 rg=treffen
~#! tid=1048671973
Iiiiiiih... ein forschender Kaempfer.

Zook.

-----------------------------------------------------------------------------



Re^9: Stati in Muenster (Ark,  4. Apr 2003, 13:53:01):
~#! rn=Gnome rt=1049457038 rg=treffen
~#! tid=1048671973
treffen.bekanntmachungen -> Bekanntmachung des Treffens mit Wegbeschreibung
treffen -> ueberfluessiges Gelaber wie "Zeit ist scheisse, Treffpunkt ist
scheisse, Muenster ist toll, Dortmund doof, +2, -1, *c2, /dev/null, etc.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: Stati in Muenster (Gnome,  4. Apr 2003, 13:56:20):
~#! rn=Mandragon rt=1049457105 rg=treffen
~#! tid=1048671973
*lach*
gehts vielleicht noch nen bissel umstaendlicher?
und nehmen wir mal den idealen fall an, dass jeder weiss, welcher seiner
erguesse in welche von den beiden rubriken gehoert, wer macht sich die
umstaende, zwischen einem 'nn' und einem 'r', 'rubrik treffen.b' zu
tippen?

hmmm, ich glaube, wir brauchen noch eine rubrik 'treffen.schmarrn'

gnOme

-----------------------------------------------------------------------------



Re: Stati in Muenster (Grimmborn,  4. Apr 2003, 14:06:16):
~#! on=Catweazle ot=1049453491 og=treffen.bekanntmachungen
~#! rn=Areelanir rt=1048671973 rg=treffen.bekanntmachungen
~#! tid=1048671973
Aber heut ist Stammtisch, ja?

YTC

-----------------------------------------------------------------------------



Re: Re: Stati in Muenster (Grimmborn,  4. Apr 2003, 14:06:18):
~#! on=Gorog ot=1049453666 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1049453491 rg=treffen.bekanntmachungen
~#! tid=1048671973
Keine Ahnung, ich werd allerdings heute in der Frauenstrasse sein, schaun mer
mal ob da sonst nch wer auftaucht.

mfGorog

-----------------------------------------------------------------------------



Re^3: Stati in Muenster (Grimmborn,  4. Apr 2003, 14:06:19):
~#! on=Catweazle ot=1049453682 og=treffen.bekanntmachungen
~#! rn=Gorog rt=1049453666 rg=treffen.bekanntmachungen
~#! tid=1048671973
Also so ab 20:07 Uhr, ja?

YTC

-----------------------------------------------------------------------------



Re^4: Stati in Muenster (Grimmborn,  4. Apr 2003, 14:06:20):
~#! on=Puk ot=1049453800 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1049453682 rg=treffen.bekanntmachungen
~#! tid=1048671973
ja :)
meine wenigkeit wird allerdings erst so gegen halb 10 aufschlagen

Puk

-----------------------------------------------------------------------------



Re^5: Stati in Muenster (Mupfel,  4. Apr 2003, 20:10:15):
~#! rn=Grimmborn rt=1049457980 rg=treffen
~#! tid=1048671973
Varlarion und ich kommen uebrigens nicht ;) wir sind dafuer morgen abend auf
dem Stati in Hannover anzutreffen (im Exil, u.a. mit Leibi *werbungmach* ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: FLAMMKUCHEN? (Grimmborn, 16. Apr 2003, 15:00:58):
~#! on=Grimmborn ot=1050497852 og=treffen.bekanntmachungen
~#! rn=Keks rt=1050497491 rg=treffen.bekanntmachungen
~#! tid=1050497320
Hmm, irgendwie tut die Adresse "hotmail.com" nicht so richtig, aber
Flammkuchen esse ich gerne.

GdA

-----------------------------------------------------------------------------



FLAMMKUCHEN? (Grimmborn, 16. Apr 2003, 15:01:26):
~#! on=Keks ot=1050497320 og=treffen.bekanntmachungen
Alsoooo - aus einem mir nun nicht mehr ganz so klaren Grund habe ich mich
bereit erklaert, die Organisation von so nem Flammkuchen-Mampfen
gegebenenfalls zu uebernehmen (das heisst, ich wuerde eine Teilnehmerliste
erstellen, die betreffenden Personen irgendwie an einen gemeinsamen Treffpunkt
schicken - sowie natuerlich VORHER mal wegen einer Tischreservierung
abklaeren...!! Das ganze von weeeeeeiiiiiiiiter Ferne aus! Also wundert euch
bitte nicht, falls es irgendwie seltsam endet *grins* - Klappstuehle und Essen
mitbringen!). Die Sache ist eher so ein Spontaneinfall - weil ich mich
zufaellig am naechsten Freitag (25.04.2003) irgendwo in Deutschland aufhalten
werde! Wer also gaaaaaaaaaanz fix Interesse daran hat, moege bitte auf diesen
Artikel antworten bzw. ne Mail an mich schicken (mag_hasi) - gut :-) *toi toi
und ois Liawe aus Oesterreich -> KEKS*

-----------------------------------------------------------------------------



Re: FLAMMKUCHEN? (Grimmborn, 16. Apr 2003, 15:01:28):
~#! on=Keks ot=1050497491 og=treffen.bekanntmachungen
~#! rn=Keks rt=1050497320 rg=treffen.bekanntmachungen
~#! tid=1050497320
Korrektur der Mail-Adresse... hotmail.com ;-)) Hey, aber soooooo uebel ist der
Artikel ansonsten gar nicht!!

-----------------------------------------------------------------------------



Re: FLAMMKUCHEN? (Grimmborn, 16. Apr 2003, 15:01:29):
~#! on=Keks ot=1050497900 og=treffen.bekanntmachungen
~#! rn=Keks rt=1050497320 rg=treffen.bekanntmachungen
~#! tid=1050497320
ORT... (und so) - nein, ich bin nur ein BISSCHEN schusselig ;-) Also wie
ueblich in Lauterbourg/Frankreich (vieux moulin) - Treffpunkt? Keine Ahnung!
Kommt darauf an, wer Interesse hat! (Ueblicherweise Karlsruhe - aber ich werd
ohnehin nicht dort sein... - waaaaaaaaaaah! APROPOS! Wuerde MICH eventuell
jemand dahin mitnehmen koennen? ups, haette ich beinah vergessen!) *KEKS -
jetzt alles klar?*

-----------------------------------------------------------------------------



Re: Re: FLAMMKUCHEN? (Grimmborn, 16. Apr 2003, 15:02:10):
~#! rn=Grimmborn rt=1050498089 rg=treffen
~#! tid=1050497320
Ich hab mal das ganze Chaos nach treffen verlegt. Wenn Dir klar ist was Du
genau willst kannst Du ja nochmal einen(!) Artikel mit allen Informationen
nach treffen.bekanntmachungen schreiben.

Grimmborn der Atheist

-----------------------------------------------------------------------------



FLAMMKUCHEN? :-) (Keks, 16. Apr 2003, 15:15:02):
Alsoooo - VERSUCH 2! Aus einem mir nun nicht mehr ganz so klaren Grund habe
ich mich bereit erklaert, die Organisation von so nem Flammkuchen-Mampfen
gegebenenfalls zu uebernehmen (das heisst, ich wuerde eine Teilnehmerliste
erstellen, die betreffenden Personen irgendwie an einen gemeinsamen Treffpunkt
schicken - sowie natuerlich VORHER mal wegen einer Tischreservierung
abklaeren...!! Das ganze von weeeeeeiiiiiiiiter Ferne aus! Also wundert euch
bitte nicht, falls es irgendwie seltsam endet *grins* - Klappstuehle und Essen
mitbringen!). Die Sache ist eher so ein Spontaneinfall - weil ich mich
zufaellig am naechsten Freitag (25.04.2003) irgendwo in Deutschland aufhalten
werde! Wer also gaaaaaaaaaanz fix Interesse daran hat, moege bitte auf diesen
Artikel antworten bzw. ne Mail an mich schicken (mag_hasi...hotmail.com) - gut
:-) *toi toi und ois Liawe aus Oesterreich -> KEKS*
Ort: wie ueblich (Lauterbourg/Frankreich) - Treffpunkt: keine Ahnung! Je nach
Interessenten wuerd ich sagen!? Vermutlich Karlsruhe... Ich werd ja NICHT dort
sein! (btw. suche nette Person, die mich mitnehmen wuerde *laechel*)
ps: Und man moege mir bitte VERSTAeNDLICH (also in einfachen, klaren Worten
*zwinker*) sein  Kommen zusagen... DAAAAAAAAAANKESCHOeN :-)

-----------------------------------------------------------------------------



Re: FLAMMKUCHEN? :-) (Croft, 16. Apr 2003, 15:25:18):
~#! rn=Keks rt=1050498902 rg=treffen
~#! tid=1050498902
Du meinst genauso verstaendlich wie dein Artikel?  Oder verstaendlicher?

Croft

-----------------------------------------------------------------------------



Stati Stuttgart (Leibi, 27. Apr 2003, 17:44:22):
huhu zusammen,

besten dank an daylight fuer den super foto service. Die bilder gibts wie
immer unter
www.butterkeksdose.de

leibi - noch nicht wieder fit

-----------------------------------------------------------------------------



Re: Stati Stuttgart (Zook, 28. Apr 2003, 11:45:47):
~#! rn=Leibi rt=1051458262 rg=treffen
~#! tid=1051458262
Jau, war nen netter Stati. Nur, was genau ist Arpil? ;)

Zook.

-----------------------------------------------------------------------------



Paintball (Bambi, 29. Apr 2003, 09:35:09):
Terminvorankuendigung.
Wir spielen (vorraussichtlich) Paintball und zwar am 17. Mai in ... oeh ...
Boeblingen oder so. Also in der Naehe von Stuttgart.
Interessierte melden sich bitte bei Imda oder mir. Die Organisation liegt
(soweit ich das weiss) bei Imda, also ist er der richtige Ansprechpartner fuer
Wegbeschreibungen, Preisinfos etc.

-----------------------------------------------------------------------------



Grillen in Muenster (Catweazle, 30. Apr 2003, 09:53:13):

Auf einzelnen Wunsch von vielen gibts bei mir am Wochenende ne Grillparty.  
Und zwar am 3. Mai, ab, sagen wir, 19:30 Uhr? Na so um den Dreh halt.

Gegrillt wird bei mir, ich stelle den Grill (besteht jemand auf Kohle, oder
reicht Elektro?).

Aus Koordinierungsgruenden, meldet euch am besten bei mir, wenn ihr kommen
wollt, ich verrate euch dann die Adresse (nahahein, die schreib ich nicht
hier rein, bin ich irre?). Koordinierung deswegen, damit nicht jeder
Kraeuterbutter mitbringt und keiner Brot. Generell gilt fuers Fleisch
Selbstversorgung, die Beilagen kriegen wir ja wohl koordiniert.

Eingeladen ist natuerlich jeder, kommet zuhauf :-)

Ich haett den Termin voll vergessen, ich hab ihm vor Monaten festgemacht. Gut
wenn sich dann alle anderen daran erinnern :-)
Es zeigt sich wieder, Gerhirnprothesen sind unnoetiger Ballast. Oder um es mit
den Worten von Linus Torvalds zu sagen: "Only wimps use tape backup: _real_
men just upload their important stuff on ftp, and let the rest of the world
mirror it".

Yours truly,
     Catweazle

-----------------------------------------------------------------------------



Re: Grillen in Muenster (Zook, 30. Apr 2003, 10:54:59):
~#! rn=Catweazle rt=1051689193 rg=treffen
~#! tid=1051689193
Schade, ich kann leider nicht. :(

Zook.

-----------------------------------------------------------------------------



Re: berliner maistati (Zook, 30. Apr 2003, 12:06:23):
~#! rn=Pitfall rt=1051697137 rg=treffen.bekanntmachungen
~#! tid=1051697137
+1 (endlich im Aufsturz ;)

Hat jmd. nen Bett fuer mich? (Muss am Folgetag erst um 10.30 Uhr bei nem
Termin sein (S-Bahn-Station Heidelberger Platz).

Zook.

-----------------------------------------------------------------------------



Re: Re: Grillen in Muenster (Gorog, 30. Apr 2003, 19:53:54):
~#! rn=Zook rt=1051692899 rg=treffen
~#! tid=1051689193
+1 
Kartoffelsalat

Gorog der Erinnerer.

-----------------------------------------------------------------------------



Re^3: Grillen in Muenster (Puk, 30. Apr 2003, 19:54:58):
~#! rn=Gorog rt=1051725234 rg=treffen
~#! tid=1051689193
ich tauch auch auf, aber erst gegen halb 10 und soll irgendeine nachspeise
mitbringen *muahahaaaaaaaaaaaaaaaaahahaha* selbster schuld :)

Puk, Erinnerer 2

-----------------------------------------------------------------------------



Stati in Muenchen (Karis,  6. Mai 2003, 20:50:45):
Fuer Jurzentschlossene und naetuerlich voellig ausser der Reihe
- einer eigentlich sowieso unterbrochenen Reihe... 
Morgen, 7.5., Mittwoch ist mal wieder Stati in Muenchen.
im Bergmannshof in der Mergmannstr. / Ecke Landsberger Str.
Ab 19 Uhr oder so ist dann auch jemand da :)

Karis begruesst alle, die kommen wollen.

-----------------------------------------------------------------------------



Re: Jaaaaaaa, es gibt ihn wieder... (Morgoth,  7. Mai 2003, 13:27:50):
~#! rn=Apollonia rt=1052304073 rg=treffen.bekanntmachungen
~#! tid=1052304073

An alle Dortmudder, mithelfen beim Kneipe suchen. Eine gute Uebersicht gibts
hier:
http://www.donight.de/index.php/kneipen/dortmund/index

(M*)++


-----------------------------------------------------------------------------



Re: Re: Jaaaaaaa, es gibt ihn wieder... (Gorog,  8. Mai 2003, 10:41:35):
~#! rn=Morgoth rt=1052306870 rg=treffen
~#! tid=1052304073
+1

Vielleicht br\344\010aeuchte ich eine Uebernachte\010ungsmoeglichkeit, es sei
denn ihr knoepft an die Wallhalla Zeiten an ich kann direkt den ersten Zug
zurueck nehmen.

mfG Gorog *doppelfreu*

-----------------------------------------------------------------------------



Re^4: Jaaaaaaa, es gibt ihn wieder... (Liara,  8. Mai 2003, 10:53:07):
~#! rn=Liara rt=1052383864 rg=treffen
~#! tid=1052304073
+1

Liara, hat festgestellt, dass Dortmund mit DB bezahlbar und nicht so weit ist

-----------------------------------------------------------------------------



Re^5: Jaaaaaaa, es gibt ihn wieder... (Toe,  8. Mai 2003, 10:56:40):
~#! rn=Liara rt=1052383987 rg=treffen
~#! tid=1052304073
dann fahrt doch hin...

-----------------------------------------------------------------------------



Re^6: Jaaaaaaa, es gibt ihn wieder... (Areelanir,  8. Mai 2003, 14:06:31):
~#! rn=Toe rt=1052384200 rg=treffen
~#! tid=1052304073
+1
Uebernachtung krieg ich selbst hin oder ich nehm auch den ersten Zug des
naechsten Tages :-)

-----------------------------------------------------------------------------



Re^5: Jaaaaaaa, es gibt ihn wieder... (Olli,  8. Mai 2003, 17:59:49):
~#! rn=Liara rt=1052383987 rg=treffen
~#! tid=1052304073
Hmmmm, allein deshalb muss ich es ja wohl mal einrichten, da vorbei
zu kommen. Wenn ich schon in der Gegend arbeite.... :)

Olli - schaut mal, ob das hinhaut.

-----------------------------------------------------------------------------



Re: Jaaaaaaa, es gibt ihn wieder... (Mupfel,  9. Mai 2003, 20:29:57):
~#! rn=Apollonia rt=1052304073 rg=treffen.bekanntmachungen
~#! tid=1052304073
Fein! Ich glaub, ich bin dabei.
Geht der denn auch wie frueher "bis in die Puppen"? Mein Zug zurueck nach OS
wuerde 3:47 fahren.... ;)

-mupfel-

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Jaaaaaaa, es gibt ihn wieder... (Morgoth, 10. Mai 2003, 16:46:40):
~#! rn=Morgoth rt=1052306870 rg=treffen
~#! tid=1052304073
Hi,

wir haben 2 Kneipen in die engere Auswahl gezogen, anfang der Woche wird eine
Entscheidung getroffen.


Weiterhin findet an dem Wochenende 29.5-1.6 das Spektakulum in Dortmund statt.
Infos gibt es hier: http://www.spectaculum.de/Termine/Dortmund/

Wer gerne einen Tag eher kommen moechte oder einen Tag laenger bleiben, moege
sich bitte frueh genug melden, damit wir ggf. noch Schlafplaetze auftreiben
koennen. 

M*

-----------------------------------------------------------------------------



Re^3: Jaaaaaaa, es gibt ihn wieder... (Amazora, 12. Mai 2003, 13:25:08):
~#! rn=Morgoth rt=1052578000 rg=treffen
~#! tid=1052304073
vermutlich komme ich auch aber ich weiss es noch nicht sicher. kommt erstens
drauf an ob mein geld schon auf dem konto ist und zweitens wie fertig ich vom
vortag in koeln noch bin.

-----------------------------------------------------------------------------



Re^4: Jaaaaaaa, es gibt ihn wieder... (Zook, 12. Mai 2003, 13:32:10):
~#! rn=Amazora rt=1052738708 rg=treffen
~#! tid=1052304073
Was ist denn an Koeln so anstrengend?

Zook.

-----------------------------------------------------------------------------



Re^5: Jaaaaaaa, es gibt ihn wieder... (Amazora, 12. Mai 2003, 13:43:29):
~#! rn=Zook rt=1052739130 rg=treffen
~#! tid=1052304073
wenn man auf ein konzert geht und man auf eine italienische band trifft mit
der man gut befreundet ist kann das seeeehr anstrengend sein :-)

-----------------------------------------------------------------------------



Re^3: Jaaaaaaa, es gibt ihn wieder... (Jenandra, 14. Mai 2003, 14:54:44):
~#! on=Jenandra ot=1052916834 og=treffen.bekanntmachungen
~#! rn=Gorog rt=1052916740 rg=treffen.bekanntmachungen
~#! tid=1052304073
das warn 40.

- Jenandra, kackt Korinthen -

-----------------------------------------------------------------------------



Re: Re: Jaaaaaaa, es gibt ihn wieder... (Humni, 14. Mai 2003, 14:55:28):
~#! on=Gorog ot=1052916740 og=treffen.bekanntmachungen
~#! rn=Morgoth rt=1052914480 rg=treffen.bekanntmachungen
~#! tid=1052304073
30? sowie in Alibaba und die dreissig Raeuber? Ganz schoen viel, wusste gar
nicht dass es soviele mudder gibt...

Gorog (braucht nur einen Platz)

-----------------------------------------------------------------------------



Re: Paintball Stuttgart-Boeblingen (Leibi, 15. Mai 2003, 18:30:09):
~#! rn=Imda rt=1052998163 rg=treffen.bekanntmachungen
~#! tid=1052998163
wer kommt denn alles?

leibi - ueberlegt noch

-----------------------------------------------------------------------------



Re: Re: Paintball Stuttgart-Boeblingen (Imda, 16. Mai 2003, 00:57:09):
~#! rn=Leibi rt=1053016209 rg=treffen
~#! tid=1052998163
Was sollich denn sagen, um Dich zu motivieren? 
Der grosse Blonde?

-----------------------------------------------------------------------------



Stammtisch in Bremen (Montanus, 16. Mai 2003, 10:24:55):
Ich kuendige jetzt einfach mal so einen Stammtisch in Bremen fuer die ersten
Juniwoche an.
Wochentag ist mir ziemlich egal, also Lokalitaet habe ich den "Dicken Engel"
ausgemacht (sehr nett, guets Bier, nette Bedienung, viele Brettspiele
vorhanden), und der WOchentag ist noch verhandelbar.
Aber das schrieb ich ja schon. ;-)
Und wenn keiner kommt, dann geh ich da sogar alleine hin.

-----------------------------------------------------------------------------



Stati HH? (Zook, 16. Mai 2003, 10:27:04):
Hat jemand Lust, am 30. Juni in HH nen Stati zu machen? Wer kaeme denn
dann alles und koennte ich irgendwo pennen? ;)

Zook muss am 1. Juli in HH ein bisserl arbeiten.


-----------------------------------------------------------------------------



Re: Stati HH? (Grimmborn, 16. Mai 2003, 10:31:19):
~#! rn=Zook rt=1053073624 rg=treffen
~#! tid=1053073624
Ich kenn mich in der Hamburger Hotellerieszene nicht so aus, aber unsere
Auswaertigen uebernachten meist im Norge, direkt am Schlump. Ansonsten hat
Hamburg mehr Bruecken als Venedig oder Amsterdam, voellig unter freiem Himmel
wirst Du also nicht schlafen muessen. 

Fuer Hamburger Stammtische ist sonst Perdita zustaendig, aber mach Dir keine
Hoffnung, die Wegbeschreibungen fuehren garantiert nicht zum Ziel.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Berlin... (Zook, 16. Mai 2003, 10:50:52):
War schoen, Euch mal wieder zu treffen. :-))

Aber an einer Sache muss ich ja noch ein wenig rumnoergeln: Da fahr ich
schon 4 Stunden mit der Deutschen Bahn durch ganz Deutschland und darf dann
noch mal ne Stunde mit OePNV durch Berlin juckeln, bis ich Euch endlich mal
treffe... So geht das ja nicht weiter! ;) Immerhin war diesmal der 
Grund fuer das Verlegen in abseitige Gebiete selbst anwesend. ;)

Zook.

-----------------------------------------------------------------------------



Re: Stammtisch in Bremen (Cassandra, 16. Mai 2003, 13:07:23):
~#! rn=Montanus rt=1053073495 rg=treffen
~#! tid=1053073495
Wenns irgendwann zwischen 22,23,24.5 ist wuerd ich vorbeikommen.

Frage mich aber ob es da inzwischen Mudder gibt, ich erinnere mich, dass die
ziehmlich komisch gekuckt haben im Unipool.

Cassy

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bremen (Bielefeld, 16. Mai 2003, 13:17:08):
~#! rn=Cassandra rt=1053083243 rg=treffen
~#! tid=1053073495
...und die letzte Bahn von Bremen nach Hamburg faehrt kurz nach
22 Uhr. Sehr stammtischfeindich :-(

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Stammtisch in Bremen (Cassandra, 16. Mai 2003, 13:19:31):
~#! rn=Bielefeld rt=1053083828 rg=treffen
~#! tid=1053073495
Egal ich brauch nur eine nach bremen-Nord (oder ich mops mir ein Auto)

Cassy, selten in Bremen seiend

-----------------------------------------------------------------------------



Re^4: Stammtisch in Bremen (Montanus, 16. Mai 2003, 14:36:03):
~#! rn=Cassandra rt=1053083971 rg=treffen
~#! tid=1053073495
Hmmm, ich bin wahrscheinlcih erst ab dem 29. oder so wieder in Bremen. Daher
schrieb ich auch "erste Juniwoche"...

-----------------------------------------------------------------------------



Re: Stati HH? (Kelris, 16. Mai 2003, 23:23:19):
~#! rn=Zook rt=1053073624 rg=treffen
~#! tid=1053073624
Also fuer mich spricht nichts gegen einen Stati am 30. Juni. Falls du keine
goettliche Suite erwartest und nen Schlafsack hast gaebe es auch eine
uebernachtungsmoeglichkeit. Wer noch alles kommt weiss ich nicht aber da
finden sich sicher welche.

Gruss, Kelris +1 *fuersonderstatiseiend*

-----------------------------------------------------------------------------



Re: Re: Stati HH? (Darklor, 17. Mai 2003, 01:07:19):
~#! rn=Grimmborn rt=1053073879 rg=treffen
~#! tid=1053073624

Das mit den Bruecken wird in Berlin auch immer gesagt...

Darklor

-----------------------------------------------------------------------------



Re^3: Stati HH? (Kelris, 17. Mai 2003, 01:59:24):
~#! rn=Darklor rt=1053126439 rg=treffen
~#! tid=1053073624
Nur das es in Hamburg eine Tatsache ist!

Gruss, Kelris *mitbrueckenwerfend*

-----------------------------------------------------------------------------



Re^4: Stati HH? (Darklor, 17. Mai 2003, 05:00:50):
~#! rn=Kelris rt=1053129564 rg=treffen
~#! tid=1053073624

das sagen sie auch an beiden Orten ;)

Darklor

-----------------------------------------------------------------------------



Re^3: Jaaaaaaa, es gibt ihn wieder... (Shakedbeer, 17. Mai 2003, 17:40:06):
~#! rn=Humni rt=1052916928 rg=treffen
~#! tid=1052304073
Wenn Olli mich mitnimmt, komme ich auch... :-)

Shaky++

-----------------------------------------------------------------------------



Re^4: Jaaaaaaa, es gibt ihn wieder... (Madness, 17. Mai 2003, 23:31:51):
~#! rn=Shakedbeer rt=1053186006 rg=treffen
~#! tid=1052304073
Auja, wenn Olli mich auch mitnimmt komme ich auch. :)
Madness

-----------------------------------------------------------------------------



Re^5: Jaaaaaaa, es gibt ihn wieder... (Olli, 18. Mai 2003, 13:28:39):
~#! rn=Madness rt=1053207111 rg=treffen
~#! tid=1052304073
Hm, das muss ich mir noch schwer ueberlegen *duck* ;)

Olli - haette wohl eh keine andere Wahl? ;)

-----------------------------------------------------------------------------



Re^6: Jaaaaaaa, es gibt ihn wieder... (Shakedbeer, 19. Mai 2003, 22:35:45):
~#! rn=Olli rt=1053257319 rg=treffen
~#! tid=1052304073
Das hoert sich ja so an, als waeren wir Siamesische Drillinge. :-)

Shaky

-----------------------------------------------------------------------------



Jaaaaaa, es gab ihn wieder... (Montanus, 21. Mai 2003, 09:00:34):

Wir haben gestern mal wieder einen Mainzer Doppel-Stammtisch gemacht.
Leider haben wir vergessen, ihn auch anzukuendigen. Trotzdem waren 4 Leute
anwesend.

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Leibi, 22. Mai 2003, 19:14:47):
~#! rn=Leibi rt=1053623111 rg=treffen.bekanntmachungen
~#! tid=1053185644
noch was wegen der wegbeschreibung zum el chico:
wer nich weiss wo das ist, soll mich besser fragen. ich glaube das posten von
wegbeschreibungen liegt mir nich so sehr :))

leibi

-----------------------------------------------------------------------------



Re^3: stati stuttgart (Toe, 22. Mai 2003, 20:08:01):
~#! rn=Leibi rt=1053623687 rg=treffen
~#! tid=1053185644
Ihr meint sicher den Mexikaner in der Bolzstrasse 10...
http://oetb.teleauskunft.de/DB4Web/es/oetb2suche/home.htm?main=Detailansicht&k
w=el+chico&ci=Stuttgart&fn=&st=&hnr=&pc=70...&pc2=&ok=0711&kw4=&kw5=&kw6=&bnr=
711001&bn=f%FCr+Stuttgart+&NamePage=1&verl_id=5005&buch_id=2249&verl_email=inf
o%40wtv%2Dstuttgart%2Ede%3Fsubject%3DAnfrage+aus+%26Ouml%3BTB+f%FCr+Stuttgart+
&verl_url=http%3A%2F%2Fwww%2Ewtv%2Dstuttgart%2Ede&verl_name=W%FCrttemberger+Te
lefonbuch+Verlag+GmbH+%26+Co%2E+KG&us=&bo=0&ao=0&mo=0&uo=0&so=0&sim=0&s=0&taoi
d=00040020000000003052220060285181000002&tk=20263D4B454C20262A533A38
Auf dem Link gibts dann auch einen Stadtplan...

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Foobar, 22. Mai 2003, 20:10:09):
~#! rn=Toe rt=1053626881 rg=treffen
~#! tid=1053185644
http://www.makeashorterlink.com

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re^5: stati stuttgart (Vanion, 22. Mai 2003, 20:18:39):
~#! rn=Foobar rt=1053627009 rg=treffen
~#! tid=1053185644
http://makeashorterlink.com/?V2B9159A4

V*

-----------------------------------------------------------------------------



Re^6: stati stuttgart (Leibi, 22. Mai 2003, 20:21:10):
~#! rn=Vanion rt=1053627519 rg=treffen
~#! tid=1053185644
gut, dann muss ich ja nix mehr erklaeren oder posten :)

leibi - lehnt sich zurueck

-----------------------------------------------------------------------------



Re: Re: stati stuttgart (Zook, 23. Mai 2003, 11:09:04):
~#! rn=Leibi rt=1053623111 rg=treffen.bekanntmachungen
~#! tid=1053185644
Zook kommt nicht. ;)

-----------------------------------------------------------------------------



Re^4: stati stuttgart (Kellybundy, 25. Mai 2003, 20:58:09):
~#! rn=Toe rt=1053626881 rg=treffen
~#! tid=1053185644
Huldiget dem Cut-and-paste-Gott, auf dass er Euch die Arthrose in den
Tippfingerchen erspare!

-----------------------------------------------------------------------------



Bremer Stammtisch (Montanus,  7. Jun 2003, 10:31:02):
Ich mach morgen mal wieder Stammtisch.
So ab halb 7 im Dicken Engel in der Muenchener Strasse in Findorff.

Und wenn keiner kommt, dann macht das auch nix. ;-)

-----------------------------------------------------------------------------



StaTi in B (Gnome,  7. Jun 2003, 12:09:59):
gestern abend fand kein stati statt; der ist naemlich auf naechsten
mittwoch in die melle verlegt worden.
und wir kriegen auch besuch von einem plue^Wgefaehrlich grossen drachen.
wie immer ab 20.00h.

gnOme

-----------------------------------------------------------------------------



Re: Grillen in Muenster (Catweazle, 11. Jun 2003, 23:01:27):
~#! rn=Puk rt=1055198637 rg=treffen.bekanntmachungen
~#! tid=1055198637
Issnu?
Kommtwer?

Sonst geh ich frueh schlafen.

Ich hab noch ein Sonderfeature im Angebot, heute ist der Lebowski
angekommen...

YTC

-----------------------------------------------------------------------------



Re: Re: Grillen in Muenster (Foobar, 11. Jun 2003, 23:18:56):
~#! rn=Catweazle rt=1055365287 rg=treffen
~#! tid=1055198637
Ja doch!

Ausser mir sind auf jeden Fall Puk und Gorog da, wer sonst grade noch "Hier!"
geschrieen hat hab' ich vergessen...

Gruss,

   Foobar

-----------------------------------------------------------------------------



Re: Re: Grillen in Muenster (Gorog, 12. Jun 2003, 14:21:41):
~#! rn=Catweazle rt=1055365287 rg=treffen
~#! tid=1055198637
+1

-----------------------------------------------------------------------------



Re: Re: Grillen in Muenster (Darklor, 13. Jun 2003, 22:36:39):
~#! rn=Catweazle rt=1055365287 rg=treffen
~#! tid=1055198637
The Big Lebowski? - Fand ihn gut... - Viel Spass!

Darklor

-----------------------------------------------------------------------------



Re: Grillen am Kemnader See (Bochum/Witten), 21.06.03 (Apollonia, 16. Jun 2003, 08:11:06):
~#! rn=Thufhir rt=1055600216 rg=treffen.bekanntmachungen
~#! tid=1055600216
Tja, wenn das Grillen schon mittags waer, wuerde die ganze Familie wohl
antanzen, aber bei Grillbeginn 16 Uhr wirds schwierig.

Apo*
hat am Wochenende erst 3 kg Huehnerzeugs gegrillt

-----------------------------------------------------------------------------



Re: Stati Muenster (Grimmborn, 18. Jun 2003, 11:24:22):
~#! on=Foobar ot=1055928092 og=treffen.bekanntmachungen
~#! rn=Gorog rt=1055928034 rg=treffen.bekanntmachungen
~#! tid=1055928034
Gorogs Wegbeschreibungen sind einsame Spitze :o)

Foobar

-----------------------------------------------------------------------------



Re: Goettlicher HH-StaTi! (Grimmborn, 23. Jun 2003, 20:21:21):
~#! on=Foobar ot=1056386758 og=treffen.bekanntmachungen
~#! rn=Kelris rt=1056386692 rg=treffen.bekanntmachungen
~#! tid=1056386692
An dem Tag kann ich nicht. ;o)

Gruss,

   Foobar

-----------------------------------------------------------------------------



Rheinkultur (Morgoth, 24. Jun 2003, 19:17:15):
Hi,


am Samstag den 28.6. ist in Bonn Rheinkultur-Festival. Ist da zufaellig noch
wer ausser Amazora und mir? Wie waers mit nem MG-Exkursions-Stammtisch? :))

M*

-----------------------------------------------------------------------------



Will Wiener wiedersehen! (Catweazle, 27. Jun 2003, 12:57:32):

Moin!

Laufen hier eigentlich noch Wiener rum? 

Ich frag deswegen, weil sich soeben entschieden hat, das ich zur IETF fahren
werde, und da taete sich ein kleines Treffen doch anbieten, gell? :-)

YTC

-----------------------------------------------------------------------------



Re: Will Wiener wiedersehen! (Amazora, 27. Jun 2003, 13:00:29):
~#! rn=Catweazle rt=1056711452 rg=treffen
~#! tid=1056711452
hier steht ne ex-linzerin rum ;-)
hilft dir auch nix, ich weiss ;-)

-----------------------------------------------------------------------------



Re: Berlin (Zook, 30. Jun 2003, 13:07:04):
~#! rn=Pitfall rt=1056915875 rg=treffen.bekanntmachungen
~#! tid=1056915875
"wie gewoehnlich" ist wohl reichlich daneben! die letzten mal hat man mich
stundenlang durch berlin gejagt ;)

zook.

-----------------------------------------------------------------------------



Re: Will Wiener wiedersehen! (Catweazle,  4. Jul 2003, 19:12:55):
~#! rn=Catweazle rt=1056711452 rg=treffen
~#! tid=1056711452
Iss nu? :)

YTC

-----------------------------------------------------------------------------



Re: Re: Will Wiener wiedersehen! (Woody,  4. Jul 2003, 20:12:57):
~#! rn=Catweazle rt=1057338775 rg=treffen
~#! tid=1056711452
Grad eben heimgekehrt, aber wenn Du nur IETF als Broeckchen hin-
schmeisst, ist das ein wenig wenig, sag mal Datum, Wunschtermin
etc. und wir sehen weiter ;)

Woody.-


-----------------------------------------------------------------------------



Re^3: Will Wiener wiedersehen! (Catweazle,  4. Jul 2003, 20:53:17):
~#! rn=Woody rt=1057342377 rg=treffen
~#! tid=1056711452
Okok, ich bin vom 12.-17. in Wien. Da es die Woche wohl drunter und drueber
gehen wird (da kann ich fuer nix garantieren), waere mir Sa/So am liebsten.
Andererseits hab ich irgendwann auch das englische Gesabbel voll, also ginge
in der Woche vielleicht auch (ausser Dienstag, da ist Social Event).

YTC

PS: Schoen, dass du hier noch mitliest :-)

-----------------------------------------------------------------------------



Re^4: Will Wiener wiedersehen! (Woody,  6. Jul 2003, 02:47:32):
~#! rn=Catweazle rt=1057344797 rg=treffen
~#! tid=1056711452
hm na dann schlag ich einfach mal was vor.

- samstag, 12. juli, 20 uhr
- centimeter 4 (www.centimeter.at),
  zieglergasse 42, 1070 wien


-----------------------------------------------------------------------------



Stammtisch Bremen 24.7. 19:00 (Montanus, 10. Jul 2003, 13:28:32):
Aufgrund der Weltreise von Inesha und Lurchi gibt es einen Bremer
Sonderstammtisch am Donenrstag, den 24.7.2003 mit Gaesten.
Wegbeschreibung vom Bahnhof oder von der B6 gibts bei mir auf Anfrage.
Wir sitzen wie immer im Dicken Engel, bei gutem Wetter auch draussen im
Biergarten.

-----------------------------------------------------------------------------



Re: Stammtisch Bremen 24.7. 19:00 (Lug, 11. Jul 2003, 00:15:25):
~#! rn=Montanus rt=1057836512 rg=treffen
~#! tid=1057836512
Aeh erinnert mich mal dran, koennte da sein...
L.

-----------------------------------------------------------------------------



Re: Stati Hannover (Vanion, 12. Jul 2003, 15:01:42):
~#! rn=Mupfel rt=1058014846 rg=treffen.bekanntmachungen
~#! tid=1058014846
Heute? Is ein bischen kurzfristig. Leider.

V*

-----------------------------------------------------------------------------



Re: Re: Stati Hannover (Mupfel, 12. Jul 2003, 15:06:30):
~#! rn=Vanion rt=1058014902 rg=treffen
~#! tid=1058014846
Immerhin noch 5 Stunden bis dahin ;)

-mupfel-

-----------------------------------------------------------------------------



OpenAir-Kino Saison eroeffnet. (Kelris, 17. Jul 2003, 20:02:48):
Huhu,
Heute ist die OpenAir-Kino Saison auf dem Hamburger Rathausmarkt eroeffnet
wurden. Meine Terminvorschlaege: 
1. Easy Rider (Donnerstag, 24. Juli)
2. Nirgendwo in Afrika (Samstag, 26. Juli)

Alternativ Vorschlaege und Termine erwuenscht. Weitere Informationen unter
www.freiluftkino-hamburg.de!

Gruss, Kelris.

-----------------------------------------------------------------------------



Re: OpenAir-Kino Saison eroeffnet. (Perdita, 18. Jul 2003, 15:52:13):
~#! rn=Kelris rt=1058464968 rg=treffen
~#! tid=1058464968
jameson und ich fuer Samstag, 26. Juni
Perdita haette da Zeit und Lust

-----------------------------------------------------------------------------



Re: Re: OpenAir-Kino Saison eroeffnet. (Perdita, 18. Jul 2003, 16:05:32):
~#! rn=Perdita rt=1058536333 rg=treffen
~#! tid=1058464968
uebrigens, auch in Luebeck und Travemuende ist z.Zt. Open-Air-Saison angesagt,
allerdings ist OA-Kino hier nicht umsonst wie in HH. (kostet glaub ich was bei
4 Euro)
Interessante Termine waeren da evtl. Fr, 25.7. Herr der Ringe Teil 2 oder Fr,
8.8. Matrix (Teil 1 glaub ich), 15.8. Leben des Brian. Die anderen find ich
persoenlich entweder nicht so spannend oder ich kann da nicht.
Ob's ein Programm im Internet gibt, weiss ich nciht.
Falls jemand Lust auf nen gemeinsamen OA-Kinobesuch in Luebeck haette, einfach
mal melden zwecks Abstimmung.
Perdita

-----------------------------------------------------------------------------



Re: StaTi Bochum, 25.07. (Grimmborn, 18. Jul 2003, 16:50:50):
~#! on=Medic ot=1058539194 og=treffen.bekanntmachungen
~#! rn=Thufhir rt=1058276658 rg=treffen.bekanntmachungen
~#! tid=1058276658
Hm, doofer Termin. Schade.
Naja, naechstes mal ;)

Medic

-----------------------------------------------------------------------------



Bremen am Donnerstag (Montanus, 22. Jul 2003, 22:15:29):
Sodele.
Bremen uebermorgen, also am 24.7.2003
Stammtisch. Wer haette es gedacht.
WO? 
Dicker Engel. Ab 19:30.
WIE KOMMT MAN HIN?
Der Dicke Engel ist an der Kreuzung Muenchener Strasse mit Wuerzburger
Strasse. Das ganze ist ca 15 Minuten zu Fuss vom Hauptbahnhof, wenn man zum
Hinterausgang rausgeht und dann Richtung Nordwesten. Wer es genau wissen will,
Mail an mich.
Mit dem Auto am besten die Ausfahrt Findorff runter, die fuehrt genau darauf
zu. Entsprechende Programme (map24.de, mapquest.de) helfen.

Essen kann man da ganz gut. Spielen auch. Reden auch. Bei gutem Wetter sitzen
wir draussen. 

-----------------------------------------------------------------------------



Re: Bremen am Donnerstag (Muadib, 22. Jul 2003, 23:26:21):
~#! rn=Montanus rt=1058904929 rg=treffen
~#! tid=1058904929
welchen mudder bezeichnest du als dicken engel ?

-----------------------------------------------------------------------------



Re: Re: StaTi Bochum, 25.07. (Grimmborn, 24. Jul 2003, 11:58:12):
~#! on=Medic ot=1059040527 og=treffen.bekanntmachungen
~#! rn=Thufhir rt=1058950118 rg=treffen.bekanntmachungen
~#! tid=1058276658
...und ich bin immer noch der Meinung, dass der Termin doof ist ;)

-----------------------------------------------------------------------------



Re^3: StaTi Bochum, 25.07. (Thufhir, 24. Jul 2003, 11:59:27):
~#! rn=Medic rt=1059040527 rg=treffen.bekanntmachungen
~#! tid=1058276658
das mag fuer einige wenige sein, nur ist das ein antragsstammtisch von der in
bochum japanisch lernenden person. und das ist auch sicher nicht der letzte
stati in bochum. wenn du also terminvorschlaege hast, so kann man da sicher in
zukunft was machen. ausserdem hat sich sogar ein gast aus dortmund angesagt,
was uns hier in bochum eine ganz besondere ehre (weil selten) ist. ;)

gruss, s'Zauberzwerg

-----------------------------------------------------------------------------



240703 KA KM (Anatol, 24. Jul 2003, 15:57:10):
Die Karlsruher Stammtischgaeste seien darauf aufmerksam gemacht, dass
die Wahrscheinlichkeit besteht, dass in Karlsruhe wilde Skater losge-
lassen werden.

A

-----------------------------------------------------------------------------



Re: 240703 KA KM (Muadib, 24. Jul 2003, 15:59:21):
~#! rn=Anatol rt=1059055030 rg=treffen
~#! tid=1059055030
wenn man sich geschickt anstellt kann man einzelne exemplare von der herde
abdraengen und durch einen beherzten tritt mit dem rechten fuss, dem
sogenannten blattgas, mit dem auto erlegen.
fachgerecht ausgenommen, abgehangen, gewuerzt und gebraten sind skater eine
delikatesse.
doch vorsicht. bemerkt einen die herde bei dem beschriebenen tun, kann es
verdammt unangenehm werden.

-----------------------------------------------------------------------------



Re: 240703 KA KM (Croft, 24. Jul 2003, 16:01:40):
~#! rn=Anatol rt=1059055030 rg=treffen
~#! tid=1059055030
Grad mal nachgeschaut: Die Verkehrsbehinderung trifft sich um 20:00
am Kronenplatz.  Die Strecke ist unter
http://www.skatenite-karlsruhe.de/strecken/knielingen.html
zu begutachten, d.h. auf dem Hinweg sollte es nur bedingt zu
Problemem kommen.

Croft

-----------------------------------------------------------------------------



Re: Re: 240703 KA KM (Montanus, 24. Jul 2003, 16:02:14):
~#! rn=Croft rt=1059055300 rg=treffen
~#! tid=1059055030
Ich will auch Anatol udn Muadib auf Rollen sehen. ;-)

-----------------------------------------------------------------------------



Re: Sonder-Stammtisch (Grimmborn,  4. Aug 2003, 00:33:09):
~#! on=Catweazle ot=1059941761 og=treffen.bekanntmachungen
~#! rn=Morgoth rt=1059940797 rg=treffen.bekanntmachungen
~#! tid=1059940797
Ausgezeichnet.

YTC

-----------------------------------------------------------------------------



Re: Re: Sonder-Stammtisch (Grimmborn,  4. Aug 2003, 00:33:15):
~#! on=Seven ot=1059942457 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1059941761 rg=treffen.bekanntmachungen
~#! tid=1059940797
Hoert sich gut an. Mein 1tie ist wahrscheinlich auch da.

7.

-----------------------------------------------------------------------------



Re: Sonder-Stammtisch (Olli,  4. Aug 2003, 20:14:37):
~#! rn=Morgoth rt=1059940797 rg=treffen.bekanntmachungen
~#! tid=1059940797
Tja schade, ich bin diese Woche schon ab Donnerstagabend in Hannover.
Wann ist der naechste Stati? :9

Olli

-----------------------------------------------------------------------------



Re: Re: Sonder-Stammtisch (Medic,  4. Aug 2003, 20:15:53):
~#! rn=Olli rt=1060020877 rg=treffen
~#! tid=1059940797
Ich hoffe ja bald, damit ich auch mal ein paar von euch Kennenlernen kann.
Bisher hab ich es ja leider nie schaffen koennen, zu einem der StaTis in
Bochum oder Dortmund zu kommen....

Medic

-----------------------------------------------------------------------------



Berlin-Stati? (Whitetiger,  4. Aug 2003, 20:20:59):
Huhu,
Ist zufaelligerweise ein Stati in Berlin im Zeitraum vom 9.8. bis 13.8?
Also von Samstag bis Mittwoch naechster Woche.

Greets
WhiteTiger

-----------------------------------------------------------------------------



Re: Stati in Frankfurt/Main (Zook,  9. Aug 2003, 12:45:39):
~#! rn=Ronda rt=1060425833 rg=treffen.bekanntmachungen
~#! tid=1060425833
Fuer den 8. Sep. +1

Zook.

-----------------------------------------------------------------------------



Re: Re: Stati in Frankfurt/Main (Ronda,  9. Aug 2003, 14:45:23):
~#! rn=Zook rt=1060425939 rg=treffen
~#! tid=1060425833
Wow. Selbst fuer den 11.8. gibts Anmeldungen ;-) Also werd ich da doch nicht
allein in der Kneipe sitzen muessen...

Ronda *freut sich riesig drauf, wirksam gegen die Huehnerueberproduktion
vorzugehen*

-----------------------------------------------------------------------------



Re^3: Stati in Frankfurt/Main (Mandragon,  9. Aug 2003, 15:55:24):
~#! rn=Ronda rt=1060433123 rg=treffen
~#! tid=1060425833

8.9. hoert sich gut an.

Ma* (+2)

-----------------------------------------------------------------------------



Re^4: Stati in Frankfurt/Main (Mandragon,  9. Aug 2003, 15:56:54):
~#! rn=Mandragon rt=1060437324 rg=treffen
~#! tid=1060425833
Obwohl es mich ja immer noch wundert, dass Zook auf nen Stammtisch bei uns
kommen will. Das hat er noch nie gemacht ;o)

Ma*

-----------------------------------------------------------------------------



Re^5: Stati in Frankfurt/Main (Zook,  9. Aug 2003, 15:59:08):
~#! rn=Mandragon rt=1060437414 rg=treffen
~#! tid=1060425833
Ach, Du kommst auch...?

Zook sortiert noch mal seinen Terminkalender.... ;)))

-----------------------------------------------------------------------------



Re^6: Stati in Frankfurt/Main (Mandragon,  9. Aug 2003, 15:59:52):
~#! rn=Zook rt=1060437548 rg=treffen
~#! tid=1060425833
Genau. Sowas hatte ich erwartet :o)

Ma*

-----------------------------------------------------------------------------



Re^5: Stati in Frankfurt/Main (Hobo,  9. Aug 2003, 21:46:12):
~#! rn=Mandragon rt=1060437414 rg=treffen
~#! tid=1060425833
Er will BEI euch kommen?

Also, Zook, das haette ich ja nicht von Dir gedacht...

   Hobo - fast fassungslos

-----------------------------------------------------------------------------



Mera Luna (Nachtrag) (Morgoth, 11. Aug 2003, 02:29:20):
Hi

grad wieder zu Hause angekommen und ich muss sagen, es war einfach nur GEIL !


Sonnenbrand, Blasen an den Fuessen, Rueckenschmerzen und ein bischen
Muskelkater sind da nebensaechlich. Supergeiles Wetter und supergeile Bands
haben dies Wochenende zu einem echten Erlebnis gemacht :)


Ich denke die anderen werden beizeiten auch noch ihren Senf abgeben (Ragna,
Darki, Eria, Kadis, Krellja und Lug :)

M*

-----------------------------------------------------------------------------



Re^6: Stati in Frankfurt/Main (Ark, 12. Aug 2003, 14:08:45):
~#! rn=Hobo rt=1060458372 rg=treffen
~#! tid=1060425833
Hm, weiss noch garnicht, ob ich da schon in Urlaub bin, schaunwermal.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: STATI in Muenster (Akasha, 14. Aug 2003, 16:08:58):
~#! rn=Areelanir rt=1060506407 rg=treffen.bekanntmachungen
~#! tid=1060506407
Sucht euch doch mal nen Laden, in dem man was Essbares auf die Gabel kriegt...

Akasha

-----------------------------------------------------------------------------



Re: Re: STATI in Muenster (Gorog, 14. Aug 2003, 17:26:34):
~#! rn=Akasha rt=1060870138 rg=treffen
~#! tid=1060506407
Hmm was zu Essen. Wenn ich mich recht erinnere treffen wir uns in der
Frauenstrasse, einer der wenigen Keipen in MS die wir wohl nicht ruinieren
koennen. Und dort gibt es (zumindest fuer mich) haufenweise lecker Essen.

Gorog

-----------------------------------------------------------------------------



Re^3: STATI in Muenster (Mupfel, 14. Aug 2003, 23:39:27):
~#! rn=Gorog rt=1060874794 rg=treffen
~#! tid=1060506407
Mit Fruchtfliegen drin? ;)

-mupfel-

-----------------------------------------------------------------------------



Re^3: STATI in Muenster (Zook, 15. Aug 2003, 13:19:15):
~#! rn=Gorog rt=1060874794 rg=treffen
~#! tid=1060506407
Nachdem man das Essen / Trinken - Bestell - und - Bezahlsystem mal verstanden
hat, is es echt nett. :)

Zook.

-----------------------------------------------------------------------------



Stammtisch in Trier (Gitarre, 17. Aug 2003, 15:23:21):

Liebe Mudgemeinde,

ich bin naechste Woche natuerlich hauptsaechlich zu Forschungszwecken in
Trier. Wie schauts aus mit nem Stammtisch?

Gitarre - braucht ewig, bis sie ihren Namen tippen kann.


-----------------------------------------------------------------------------



Re: Stammtisch in Trier (Miril, 17. Aug 2003, 15:27:51):
~#! rn=Gitarre rt=1061126601 rg=treffen
~#! tid=1061126601
+1 falls Mo, Di oder Mi.
Miril

-----------------------------------------------------------------------------



Re^4: STATI in Muenster (Gorog, 17. Aug 2003, 18:22:53):
~#! rn=Mupfel rt=1060897167 rg=treffen
~#! tid=1060506407
Hmm
Kommt vor das da Fruchtfliegen im Tequila sind. Die Bedienung hat sich
Entschuldigt als haette sie jemandem von uns beim Kerzenanzuenden die Hare
abgeflaemmt... Also die sind dort mitlerweile geaechtet und wir (meine Kolegen
und ich) muessen uns vorher immer filzen lassen damit wir auch blos keine
Fliegen einschleusen.

Gorog

-----------------------------------------------------------------------------



Fotos (Apollonia, 19. Aug 2003, 21:06:06):
Es gibt Fotos vom Dortmunder SonderStati (unter Stammtisch natuerlich (c:)

Apo*

-----------------------------------------------------------------------------



Re: STATI in Muenster (Catweazle, 22. Aug 2003, 12:59:26):
~#! rn=Areelanir rt=1060506407 rg=treffen.bekanntmachungen
~#! tid=1060506407
Aeh, ihr erinnert euch doch, dass das heute ist, gell?
Auf nach MS, zack zack!

YTC

-----------------------------------------------------------------------------



Re: Re: STATI in Muenster (Foobar, 22. Aug 2003, 12:59:42):
~#! rn=Catweazle rt=1061549966 rg=treffen
~#! tid=1060506407
Ja, ich erinner mich.

Foobar

-----------------------------------------------------------------------------



Re^3: STATI in Muenster (Catweazle, 22. Aug 2003, 13:00:16):
~#! rn=Foobar rt=1061549982 rg=treffen
~#! tid=1060506407
Ausgezeichnet.

YTC

-----------------------------------------------------------------------------



Re^4: STATI in Muenster (Catweazle, 22. Aug 2003, 19:21:38):
~#! rn=Catweazle rt=1061550016 rg=treffen
~#! tid=1060506407
Hi hi.

hat jemand daran gedacht, dass heute dass Fahrradrennen in MS endet, und die
Strase vorm Schloss gesperrt sein duerfte?

Glaubt ihr, dass man schon wieder zur Frauenstrasse rueberkommt? :-)

YTC

-----------------------------------------------------------------------------



Re: Spontanstammtisch Hamburg (Grimmborn, 22. Aug 2003, 21:29:42):
~#! on=Idlefix ot=1061580482 og=treffen.bekanntmachungen
~#! rn=Troy rt=1061579033 rg=treffen.bekanntmachungen
~#! tid=1061579033

+1

Idlefix.

-----------------------------------------------------------------------------



Re: Re: Spontanstammtisch Hamburg (Krellja, 25. Aug 2003, 11:39:48):
~#! rn=Grimmborn rt=1061580582 rg=treffen
~#! tid=1061579033
Nicht +1 :(

Warum muessen die Treffen immer parallel zu Pauli-Heimspielen liegen?
Ja, wegen Besuch.

Krellja, Regionalligadauerkartenbesitzer.

-----------------------------------------------------------------------------



Re^3: Spontanstammtisch Hamburg (Amazora, 25. Aug 2003, 11:44:47):
~#! rn=Krellja rt=1061804388 rg=treffen
~#! tid=1061579033
na hoffentlich spielen die da nicht auch so schlecht wie am samstag in
wuppertal. das war ja peinlich
amazora, keine regionalligadauerkartenbesitzerin

-----------------------------------------------------------------------------



Stati in Halle (Saale) (Gitarre, 26. Aug 2003, 14:23:48):
Liebe Halloren, Halunken und sonstige,

ab Donnerstag bin ich wieder fuer mindestens eine Woche in Halle. Da waer doch
ein Stammtisch ideal. Vielleicht auch am Wochenende, damit auch Leute von
ausserhalb dabei sein koennen? Ich schlage einfach mal den Samstag vor. Ihr
seid natuerlich herzlich eingeladen.

Gitarre/Mieze/Alcina/Trajan -> nein, ich bin keine Multiple ;o)

-----------------------------------------------------------------------------



Karlsruhe + Panos (Hobo,  2. Sep 2003, 19:55:52):
Diesen Sonntag, also am 7.9. werden wir unser aller Cheffe endlich in seinem
neuen Domizil heimsuchen.
Das gute Stueck nennt sich "Seemuschel" und ist in Bruchsal-Buechenau. Wie man
genau hinkommt, weiss ich auch noch nicht ;)

Aber da es ja zumindest mal nicht gerade um die Ecke liegt, wuerde ich sagen,
wir treffen uns um 12:00 (Abfahrt!) auf dem Uniparkplatz, damit nicht jeder
fahren muss.

Und damit ich weiss, fuer wie viele ich ueberhaupt bestellen muss und auf wen
wir ggf. dann doch noch warten: Bescheid an mich, wer mitkommt und ob direkt
oder ueber Uniparkplatz

   Hobo - organisiert mal wieder
P.S.: Bescheid bis Freitag abend bitte, und ja, am Donnerstag abend ist es
auch moeglich :)

-----------------------------------------------------------------------------



Re: Karlsruhe + Panos (Hobo,  2. Sep 2003, 19:57:08):
~#! rn=Hobo rt=1062525352 rg=treffen
~#! tid=1062525352
Doch noch was vergessen:
Wenn Ihr noch Ex-Karlsruher oder Ex-Statiler oder Ex-Mudder oder so... kennt,
sagt denen bitte auch Bescheid

Und poste das bitte auch einer nach Unitopia oder sage den entsprechenden
Leuten Bescheid ;)

    Hobo

-----------------------------------------------------------------------------



Stududutgardt 06.09.2003 19:00 (Anoris,  3. Sep 2003, 00:21:08):
Deine Freundin Ronda teilt Dir mit: Also: in Stuttgart findet um 19 Uhr
Deine Freundin Ronda teilt Dir mit: im Enchiladas ein Stammtisch statt.

Wenn Du - Anoris - Schoki mitbrings um Bran zu bestechen, dass sie Leibi
davon ueberzeugt, dass da Stati ist - und da anruft.

Ronda, Bran, Anoris .. wer noch?

- Anoris ;)


-----------------------------------------------------------------------------



Re: Stududutgardt 06.09.2003 19:00 (Ronda,  3. Sep 2003, 00:40:58):
~#! rn=Anoris rt=1062541268 rg=treffen
~#! tid=1062541268
Also, das ist verdammt verrueckt. Aber egal. Keinen Schimmer was ich Samstag
vorhabe. Ok. Magdalena hat mich herumgekriegt. Also: Samstag abend.
Enchiladas. Ich verd da hinfahren. Drueckt mir die Daumen, dass es nicht
regnet ;-)

Ronda *nicht ganz normal*
,

-----------------------------------------------------------------------------



Re: Re: Stududutgardt 06.09.2003 19:00 (Magdalena,  3. Sep 2003, 00:43:12):
~#! rn=Ronda rt=1062542458 rg=treffen
~#! tid=1062541268
Du bist Wachs in meinen Haenden.

magda*

-----------------------------------------------------------------------------



Re^3: Stududutgardt 06.09.2003 19:00 (Bran,  3. Sep 2003, 00:56:52):
~#! rn=Magdalena rt=1062542592 rg=treffen
~#! tid=1062541268
Also gut, wat mutt, dat mutt. Aber nur, wenns auch die Schokolade gibt.

-----------------------------------------------------------------------------



Re^4: Stududutgardt 06.09.2003 19:00 (Seleven,  3. Sep 2003, 11:32:36):
~#! rn=Bran rt=1062543412 rg=treffen
~#! tid=1062541268
Schade, schade. Da bin ich leider in Griecheland. Am Freitag hobts ihr keine
Zeit?

Seleven laechelt suess.

-----------------------------------------------------------------------------



Stati am 14.9? (Cassandra,  3. Sep 2003, 14:29:51):
Hallo Leute
Ich bin am 14.9 in Duesseldorf, ist da an dem Tag in der (weiteren) Gegend was
los oder kann man was los machen? 
Mit weiterer Umgebung meine ich alles was sich in ca 1:30 Std mit der bahn
erreichen laesst.

Cassy, bahnfahrend

-----------------------------------------------------------------------------



Re^5: Stududutgardt 06.09.2003 19:00 (Anoris,  3. Sep 2003, 16:56:02):
~#! rn=Seleven rt=1062581556 rg=treffen
~#! tid=1062541268
Es sind soeben 4.2 Kg Schocki gekauft worden. Wer kommt noch? ;)

- Anoris

-----------------------------------------------------------------------------



Re^6: Stududutgardt 06.09.2003 19:00 (Leibi,  3. Sep 2003, 23:24:39):
~#! rn=Anoris rt=1062600962 rg=treffen
~#! tid=1062541268
also hab eben im enchilada angerufen: die sind feur samstag ausgebucht. evtl
koennen wir um 18 uhr hingehen und hoffen, dass wir einen platz bekommen oder
wir gehen wo anders hin. wenn wir wo anders hingehen, wuerde ich das el chico
vorschlagen.
gebt mir doch mal bitte bis morgen abend bescheid, wer alles kommt. dann weiss
ich das mit den plaetzen, vielleicht kann man im echilada doch noch was
drehen.

leibi - freut sich auf die schogi :)

-----------------------------------------------------------------------------



stuttgart stati 6.9. 18 uhr (Leibi,  4. Sep 2003, 15:11:43):
huhu zusammen,
also hab alles geklaert: der stati ist im enchilada und zwar ab 18 uhr. es ist
keine plaetze reserviert, aber ich gedenke so 5-7 plaetze freizuhalten :)

bis samstag zur happy hour :)

leibi

-----------------------------------------------------------------------------



Re: stuttgart stati 6.9. 18 uhr (Magdalena,  4. Sep 2003, 15:13:43):
~#! rn=Leibi rt=1062681103 rg=treffen
~#! tid=1062681103
wie willst du denn das machen? legst du dich quer ueber die stuehle? oder
sagst du zu mir 'Fass!', wenn sich da jemand 'Normales' hinsetzen will?
maga*, leibis durchsetzungskraft bewundernd

-----------------------------------------------------------------------------



Re: Re: stuttgart stati 6.9. 18 uhr (Anoris,  4. Sep 2003, 15:18:04):
~#! rn=Magdalena rt=1062681223 rg=treffen
~#! tid=1062681103
Leibi hat Erfahrung damit, mitten im vollen Enchilada 2 Tische
freizuhalten ;) Verstaerkung wird unterwegs sein!

- Anoris

-----------------------------------------------------------------------------



Re^3: stuttgart stati 6.9. 18 uhr (Leibi,  4. Sep 2003, 15:19:58):
~#! rn=Anoris rt=1062681484 rg=treffen
~#! tid=1062681103
neee, ich hab wen bei, der die plaetze freihaelt :)

leibi schaut kichernd richtung magda

-----------------------------------------------------------------------------



Re^3: stuttgart stati 6.9. 18 uhr (Magdalena,  4. Sep 2003, 15:20:14):
~#! rn=Anoris rt=1062681484 rg=treffen
~#! tid=1062681103
das wird aber ein kleiner stati... ;o)

nae, mal ernsthaft ... das koennte echt was hart werden ... es ist samstag :)
magda*

-----------------------------------------------------------------------------



Re^4: stuttgart stati 6.9. 18 uhr (Magdalena,  4. Sep 2003, 15:21:54):
~#! rn=Leibi rt=1062681598 rg=treffen
~#! tid=1062681103
ok ok. :)
was tut man nicht alles als bettvorleger... *hmpf ;)

-----------------------------------------------------------------------------



WWW (Deepblue,  8. Sep 2003, 11:43:05):
Die Stati-Liste auf der MG-Homepage ist ja ziemlich ueberarbeitungswuerdig.
Checkt mal bitte Eure angaben und schickt mir _per Mail_ Aenderungen.

-----------------------------------------------------------------------------



Re: Re: Stati in Frankfurt/Main (Ronda,  8. Sep 2003, 13:08:19):
~#! rn=Ronda rt=1062702322 rg=treffen.bekanntmachungen
~#! tid=1060425833
Hallo,

nur noch kurz zum Stammtisch heute in Frankfurt/Main: Eine
Anfahrtsbeschreibung gibt es unter treffen.wegbeschreibungen, Artikel 10.

Ronda *freut sich auf heute abend*

-----------------------------------------------------------------------------



Re: Nikolaus! (Catweazle, 10. Sep 2003, 09:50:26):
~#! rn=Pizzapepe rt=1063179236 rg=party
~#! tid=1063179236
Eine Partyankuendigung. 
Dann spreche ich hiermit mal diesmal eine offizielle Expirewarnung fuer
"party" aus.

YTC

-----------------------------------------------------------------------------



Re: Stati in Bonn (Zook, 15. Sep 2003, 20:54:03):
~#! rn=Twingi rt=1063651997 rg=treffen.bekanntmachungen
~#! tid=1063651997
Da bin ich in DD und trink hoffentlich Bier.

Zook.

-----------------------------------------------------------------------------



Re: Re: Stati in Bonn (Foobar, 15. Sep 2003, 20:54:56):
~#! rn=Zook rt=1063652043 rg=treffen
~#! tid=1063651997
Aus 'nem Krug oder 'ner Tasse? ;o)

Foobar

-----------------------------------------------------------------------------



Re^3: Stati in Bonn (Zook, 15. Sep 2003, 20:56:08):
~#! rn=Foobar rt=1063652096 rg=treffen
~#! tid=1063651997
Grosse Kruege! Hoff ich! ;)

Zook.

-----------------------------------------------------------------------------



stuttgart spontan stati morgen 16.9. (Leibi, 15. Sep 2003, 23:09:43):
huhu zusammen,
wegen besuch aus berlin ist morgen ein stati in stuttgart. wie immer enchilada
zur happy hour, das heisst dieses mal ab 19 uhr.
mail waere nett, damit ich weiss, wieviel plaetze ich freihalten soll :)

leibi freut sich schon auf lecker cocktails

-----------------------------------------------------------------------------



Re^4: Stati in Bonn (Amazora, 17. Sep 2003, 14:43:07):
~#! rn=Zook rt=1063652168 rg=treffen
~#! tid=1063651997
oder aus eimern? kann ich empfehlen ;-)

-----------------------------------------------------------------------------



Re: Re: Stati in Bochum, 13.9 (Humni, 17. Sep 2003, 18:31:31):
~#! on=Humni ot=1063704825 og=party
~#! rn=Thufhir rt=1063310558 rg=treffen.bekanntmachungen
~#! tid=1063212418
Huhu,

wer da war, und mitgeraetselt hat, ich kenn mittlerweile die Aufloesung: Es
war WIRKLICH Teddy.

Wer nicht da war, darf diesen Artikel getrost ignorieren...

Humni

-----------------------------------------------------------------------------



Der uebliche Karlsruher Stati... (Mupfel, 17. Sep 2003, 22:16:34):
...sieht mich morgen als Special Guest ;)

-mupfel-

-----------------------------------------------------------------------------



Stati Karlsruhe 02.10.03 (Perdita, 18. Sep 2003, 20:10:54):
Hallo allerseits!
Jameson und ich schaffen es auch endlich mal wieder, zum Stati zu kommen, und
zwar am 2.10.
Da ist nicht zufaellig auch ein kleines Flammkuchenessen geplant? Ist ja
immerhin ein Vor-Feiertag, das waer doch nett.

Perdita - flammkuchensuechtig
P.S. Und nein, sagt bitte nicht, ich solle es selbst organisieren, ich bin
naemlich ab morgen erstmal ne Woche dienstlich unterwegs, und danach ist es zu
spaet zum Planen. Also, falls meine Idee auf Gegenliebe stoesst und ihr da was
organisiert, plant Jameson und mich ein, ansonsten wird's eben ein ganz
normaler Stammtisch!

-----------------------------------------------------------------------------



Wiesbaden (Liara, 20. Sep 2003, 23:06:00):
Haenge ab Montag, 22.9., da fuer mindestens eine Woche ab und habe wohl abends
Zeit.
Gibt es Dinge, die man sich als Touri nicht entgehen lassen sollte? Oder
treffwuetige Mudder? ;)
Bin ab o. a. Datum unter 06 11/43 60 zu erreichen. Bitte eine Nachricht fuer
'Becher' hinterlassen.

ZZL

-----------------------------------------------------------------------------



Re^3: Sonderstati in Bonn (Zook, 22. Sep 2003, 21:04:18):
~#! rn=Toe rt=1064257161 rg=treffen.bekanntmachungen
~#! tid=1064256801
Ich kann an beiden Terminen nicht, auch egal.

Zook. ;)

-----------------------------------------------------------------------------



Abschiedsstammtisch in KN oder Bodenseegebiet? (Aline, 28. Sep 2003, 14:25:09):

Hallo,

da meine Tage hier im schoenen Sueddeutschland gezaehlt sind, wuerde
ich gerne im Oktober nochmal einen Stammtisch einberufen. 
Haette da jemand Interesse dran?

Ansonsten geh ich in Zukunft halt den Hamburgern auf den Geist. ;)

Gruesse

Aline

-----------------------------------------------------------------------------



Abschiedsstati S? (Seleven, 28. Sep 2003, 19:50:15):
Ich bin bis Freitag da? Wer hat Zeit/Lust? :)

S11

-----------------------------------------------------------------------------



Re: Abschiedsstati S? (Leibi, 28. Sep 2003, 20:15:27):
~#! rn=Seleven rt=1064771415 rg=treffen
~#! tid=1064771415
mittwoch? donnerstag?

leibi

-----------------------------------------------------------------------------



Re: Re: Abschiedsstati S? (Imda, 28. Sep 2003, 20:18:07):
~#! rn=Leibi rt=1064772927 rg=treffen
~#! tid=1064771415
Eher Mittwoch.

-----------------------------------------------------------------------------



Re^3: Abschiedsstati S? (Seleven, 29. Sep 2003, 11:42:25):
~#! rn=Imda rt=1064773087 rg=treffen
~#! tid=1064771415
Freitag habt ihr keine Zeit? Ok, dann Mittwoch +2 wer noch? (die
(Ex)Goeppinger werde ich schon hinscheifen)

-----------------------------------------------------------------------------



Re: abschiedsstati von seleven in stuttgart :) (Zook, 29. Sep 2003, 12:52:15):
~#! rn=Leibi rt=1064832697 rg=treffen.bekanntmachungen
~#! tid=1064832697
Wo zieht sie denn hin?

Zook.

-----------------------------------------------------------------------------



Re: Re: abschiedsstati von seleven in stuttgart :) (Seleven, 29. Sep 2003, 13:19:10):
~#! rn=Zook rt=1064832735 rg=treffen
~#! tid=1064832697
Nach Leipzig :)

S11

-----------------------------------------------------------------------------



Re: Treffen auf der Spielemesse (Liara,  1. Okt 2003, 11:55:20):
~#! rn=Montanus rt=1064911151 rg=treffen.bekanntmachungen
~#! tid=1064911151
Wir = Lookout Games ?

Habe uebrigens gerade gesehen, dass 'ihr' es mit Attribut auf die Auswahlliste
zum Spiel des Jahres 2003 geschafft habt. Gratuliere!

-----------------------------------------------------------------------------



Re^3: abschiedsstati von seleven in stuttgart :) (Magdalena,  1. Okt 2003, 13:38:34):
~#! rn=Seleven rt=1064834350 rg=treffen
~#! tid=1064832697
Das [Team:Informationsbuero] gibt bekannt:
Leider kann die Heilige Maria Magdalena nicht zur Verabschiedung ihres
Schwesterchens kommen.

Dabei haette sie gern mit S11 die CocktailKarte einmal rauf- und
runtergetrunken.
Jof sei Dank besteht das Team noch aus einer anderen Haelfte, so dass Leibi,
kruemelig, den Part gerne stellvertretend uebernehmen wird.
Im uebrigen wuenscht das ganze Team einen moeglichst stressfreien Umzug und
viel Erfolg in Leipzig in Sachen Studium etc.!
mada*, sekreteuse spielend :)
--- und sich dabei auch noch vertippen ;o)=)

-----------------------------------------------------------------------------



Re: Treffen auf der Spielemesse (Miril,  1. Okt 2003, 17:30:22):
~#! rn=Montanus rt=1064911151 rg=treffen.bekanntmachungen
~#! tid=1064911151
Wie waers denn mit nem Stati an dem Freitag? Sind doch sicher
noch ein paar Leute auf der Messe, da koennte man in der Naehe 
der Grugahalle sicher ein nettes Lokal finden.

Miril

-----------------------------------------------------------------------------



Re: Re: Treffen auf der Spielemesse (Montanus,  2. Okt 2003, 09:50:42):
~#! rn=Miril rt=1065022222 rg=treffen
~#! tid=1064911151
Nach der Messe? Alles verplant. Daher ja mein Vorschlag "auf der Messe". ;-)

-----------------------------------------------------------------------------



Bad Bramstedt (Liara,  2. Okt 2003, 13:11:08):
Moin. Haenge ab Mitte des Monats wohl paar Wochen in o. a. Kaff/Ort/Stadt/?
ab.
Kennt das jemand? Lebt da irgendwas? Waere dankbar fuer Infos oder Treffen
oder sowas. ;)
Die Homepage habe ich mir schon angesehen ... hatte aber nicht vor, im Moor zu
versinken.

ZZL, Reisende

-----------------------------------------------------------------------------



Re: Bad Bramstedt (Liara,  2. Okt 2003, 20:08:15):
~#! rn=Liara rt=1065093068 rg=treffen
~#! tid=1065093068
Nachschlag:
Ich habe inzwischen eine Karte gefunden ... besagter Ort liegt ziemlich genau
zwischen Hamburg und Kiel.

-----------------------------------------------------------------------------



Re: Re: Bad Bramstedt (Toe,  2. Okt 2003, 20:10:44):
~#! rn=Liara rt=1065118095 rg=treffen
~#! tid=1065093068
schoen, das ist ziemlich weit weg...

-----------------------------------------------------------------------------



Re^3: Bad Bramstedt (Bielefeld,  3. Okt 2003, 11:13:40):
~#! rn=Toe rt=1065118244 rg=treffen
~#! tid=1065093068
Was denn, das ist sogar noch Hamburger Verkehrsverbund...

-Bielefeld

-----------------------------------------------------------------------------



Re^4: Bad Bramstedt (Mupfel,  3. Okt 2003, 12:44:07):
~#! rn=Bielefeld rt=1065172420 rg=treffen
~#! tid=1065093068
D.h. ihr habt einen neuen Gast auf den Hamburger Statis ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Abschiedsstammtisch in KN oder Bodenseegebiet? (Hobo,  4. Okt 2003, 01:53:26):
~#! rn=Aline rt=1064751909 rg=treffen
~#! tid=1064751909
DABEI!  (Vielleicht ;) )

   Hobo

-----------------------------------------------------------------------------



Re: Bad Bramstedt (Morgonate,  4. Okt 2003, 17:53:54):
~#! rn=Liara rt=1065093068 rg=treffen
~#! tid=1065093068
Hi Liara,

was verschlaegt dich denn da hin? Das was ich von Bad Bramstedt
noch kenne, ist zum einen die Kurklinik und zum anderen die Kreuzung
(B 206 und B 404?). Gibt es in der Ecke ueberhaupt schon Internet? ;)

Naja, wie jemand anderes (Bielefeld) bemerkte, so liegt Bad Bramstedt
zumindest im HVV (AKN -> Eidelstedt). Und nicht zw. HH und KI, sondern
zw. HH und NMS liegt Bad Bramstedt. (NMS = Neumuenster)

Bin zwar dies Wochenende in HH, aber das ist nicht Mitte des Monats. ;)
Viel Spass in der Walla-Pampa

Morgonate

-----------------------------------------------------------------------------



Re: Re: Abschiedsstammtisch in KN oder Bodenseegebiet? (Aline,  4. Okt 2003, 21:24:52):
~#! rn=Hobo rt=1065225206 rg=treffen
~#! tid=1064751909

Fragt sich jetzt nur: WANN?

Aline schaut Hobo fragend an

-----------------------------------------------------------------------------



Re: Re: Bad Bramstedt (Krellja,  5. Okt 2003, 17:44:19):
~#! rn=Morgonate rt=1065282834 rg=treffen
~#! tid=1065093068
Moin,

wobei zu bemerken ist, dass NMS zwischen HH und KI liegt. Da die Relation
"liegt zwischen" transitiv ist, liegt Bad Bramstedt auch zwischen HH und KI.

Tschuess
         Krellja, besserwissernd

-----------------------------------------------------------------------------



Re^3: Abschiedsstammtisch in KN oder Bodenseegebiet? (Hobo,  6. Okt 2003, 13:56:33):
~#! rn=Aline rt=1065295492 rg=treffen
~#! tid=1064751909
Hmm, kommt denn noch wer ausser uns beiden Huebschen?

-----------------------------------------------------------------------------



Re^4: Abschiedsstammtisch in KN oder Bodenseegebiet? (Aline,  8. Okt 2003, 05:36:55):
~#! rn=Hobo rt=1065441393 rg=treffen
~#! tid=1064751909

Sieht leider nicht so aus. :(

Vielleicht schaff ich es ja mal nach Karlsruhe.... aber nicht mehr dieses
Jahr. :)

Gruesse

Aline

-----------------------------------------------------------------------------



Re: Stammtisch Werne, 11.10.2003 (Zook,  9. Okt 2003, 10:56:49):
~#! rn=Olli rt=1065689275 rg=treffen.bekanntmachungen
~#! tid=1065689275
An wem liegt denn nu Werne?

Zook lernt gern dazu.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Werne, 11.10.2003 (Olli,  9. Okt 2003, 10:57:37):
~#! rn=Zook rt=1065689809 rg=treffen
~#! tid=1065689275
PLZ 59368, reicht Dir das?

Olli
PS: L. waere Lippe gewesen ;)

-----------------------------------------------------------------------------



Re^3: Stammtisch Werne, 11.10.2003 (Zook,  9. Okt 2003, 10:58:03):
~#! rn=Olli rt=1065689857 rg=treffen
~#! tid=1065689275
Ah, interessant.

Zook.

-----------------------------------------------------------------------------



Re: Stammtisch Werne, 11.10.2003 (Boing,  9. Okt 2003, 10:58:39):
~#! on=Seven ot=1065689762 og=treffen.bekanntmachungen
~#! rn=Olli rt=1065689275 rg=treffen.bekanntmachungen
~#! tid=1065689275
+1 und Shaky kommt auch. :-)

7

-----------------------------------------------------------------------------



Re: Treffen auf der Spielemesse (Liara,  9. Okt 2003, 13:47:17):
~#! rn=Montanus rt=1064911151 rg=treffen.bekanntmachungen
~#! tid=1064911151
Moin!
Wuerde gerne nach Essen auf die Spielemesse und suche Mitfahrgelegenheit aus
Bonn oder Umgebung.

-----------------------------------------------------------------------------



Re: Re: Treffen auf der Spielemesse (Gorog,  9. Okt 2003, 13:49:53):
~#! rn=Liara rt=1065700037 rg=treffen
~#! tid=1064911151
Sorry, ich fahr von Muenster aus, und werd am Donenrstag da sein. Bin mal
gespannt ob ich Montanus noch erkenne (;

Gorog

-----------------------------------------------------------------------------



Re: Re: Treffen auf der Spielemesse (Diebahn,  9. Okt 2003, 13:54:06):
~#! rn=Liara rt=1065700037 rg=treffen
~#! tid=1064911151
Ich kann Dich mitnehmen.
Naeheres unter http://reiseauskunft.bahn.de

-----------------------------------------------------------------------------



Muensteraner Schottenfussball (Catweazle,  9. Okt 2003, 19:55:51):
Hm,

Bei mir haben sich alle ueblichen Fussball-Verdaechtigen abgeseilt.

Hat vielleicht wer von der Muensteraner Mudderschaft Lust sich am Sonntag das
Debakel beim Schotten anzusehen? Dann kann man sich danach wenigstens gepflegt
lecker betrinken ...

YTC

-----------------------------------------------------------------------------



Re: Muensteraner Schottenfussball (Catweazle, 10. Okt 2003, 10:12:24):
~#! rn=Catweazle rt=1065722151 rg=treffen
~#! tid=1065722151
Volle Kraft zurueck, hab gesehen, dass das Spiel nachmittags ist.

YTC

-----------------------------------------------------------------------------



Re: Re: Muensteraner Schottenfussball (Zook, 10. Okt 2003, 10:31:26):
~#! rn=Catweazle rt=1065773544 rg=treffen
~#! tid=1065722151
Also nix mit Volllaufen lassen? ;)

Zook.

-----------------------------------------------------------------------------



Re^3: Muensteraner Schottenfussball (Gorog, 10. Okt 2003, 10:58:45):
~#! rn=Zook rt=1065774686 rg=treffen
~#! tid=1065722151
Wie jetzt hab mich schon gefreut, mal zum Schotten zu gehn... 

Gorog fordert einen Ersatztermin

-----------------------------------------------------------------------------



Re^3: Oktoberstati Berlin (Catweazle, 10. Okt 2003, 20:09:39):
~#! on=Catweazle ot=1065809329 og=treffen.bekanntmachungen
~#! rn=Gnome rt=1065806520 rg=treffen.bekanntmachungen
~#! tid=1064900348
Mist, schaff ich nicht mehr. 

YTC

-----------------------------------------------------------------------------



Re^4: Muensteraner Schottenfussball (Catweazle, 10. Okt 2003, 20:10:11):
~#! rn=Gorog rt=1065776325 rg=treffen
~#! tid=1065722151
Hm, ok. Spricht ja nix dagegen, einen kleinen Ministammtisch am Samstag
abzuhalten, gell?

YTC

-----------------------------------------------------------------------------



Re^4: Oktoberstati Berlin (Gloinson, 11. Okt 2003, 02:27:11):
~#! rn=Catweazle rt=1065809379 rg=treffen
~#! tid=1064900348
Der Stammtisch wurde besucht, keine Frage. Wir waren dummerweise nur immer
leicht versetzt da. Aber nachdem sich dann drei von uns gestaerkt haben sind
wir zu viert noch auf sechs Maenner und ene Frau gestossen und hatten so
unseren Spass.


-----------------------------------------------------------------------------



Re^5: Muensteraner Schottenfussball (Gorog, 11. Okt 2003, 13:03:06):
~#! rn=Catweazle rt=1065809411 rg=treffen
~#! tid=1065722151
Catty meinte damit, dass das Treffen um 20.08 im Scotts View stattfindet. Das
Befindet sich uebrigens in der Sonnenstr. 42. N Stadtplan mach ich mal nicht
wer den braucht kann gerne bei den gelben Seiten schaun, den fand ich recht
praktisch, rein und raus Zoomen um sich einen Ueberblick zu verschaffen. Die
Gegend dort ist uebrigens voll von Einbahnstrassen, und da ich beim
Fahhradfahren da so gar nicht drauf achte, kann ich leider keine
Wegbeschreibung fuer Autofahrer schreiben (Sorry)

Gorog freut sich schon auf ein leckeres Glaesschen Lagavulin (;

-----------------------------------------------------------------------------



Re^6: Muensteraner Schottenfussball (Darkwing, 11. Okt 2003, 14:25:03):
~#! rn=Gorog rt=1065870186 rg=treffen
~#! tid=1065722151
Fussball sollte um die Zeit ja schon vorbei sein, daher (+1) ;)

Darkwing

-----------------------------------------------------------------------------



Re^3: Oktoberstati Berlin (Grimmborn, 13. Okt 2003, 10:20:19):
~#! on=Brotnael ot=1065806592 og=treffen.bekanntmachungen
~#! rn=Gnome rt=1065806520 rg=treffen.bekanntmachungen
~#! tid=1064900348
Ah, gut zu wissen. Wollte Birdy nich irgendwas mit Kugeln organisieren? Also
ich hab mich jetzt entschieden zum Geburtstag zu fahren, da sich Herr Birdy
irgendwie nicht so recht entschliessen konnte, irgendwelche Neuigkeiten zu
Publizieren.
Brot

-----------------------------------------------------------------------------



Re^4: Oktoberstati Berlin (Grimmborn, 13. Okt 2003, 10:20:27):
~#! on=Gnome ot=1065806874 og=treffen.bekanntmachungen
~#! rn=Brotnael rt=1065806592 rg=treffen.bekanntmachungen
~#! tid=1064900348
lesen kann helfen.
es gibt einen normalen stati. der ist heute abend. weil das am letzten
Fr. bloede war mit tach der dt. einheit. dann gibt es morgen das
kollektive bohnenfurzen bei rochus, und DANN soll es naechste woche
auch noch nen bowling-abend geben. voraussichtlich Mi. abend.

nachzulesen in dieser rubrik in div. artikeln.

gnOme

-----------------------------------------------------------------------------



Re^5: Oktoberstati Berlin (Grimmborn, 13. Okt 2003, 10:20:33):
~#! on=Brotnael ot=1065807006 og=treffen.bekanntmachungen
~#! rn=Gnome rt=1065806874 rg=treffen.bekanntmachungen
~#! tid=1064900348
jo, und bei dir les ich auch nur ein voraussichtlich. Woanders widerum hab ich
gehoert, der abend soll eben _nich_ mittwoch stattfinden, weil ein grossteil
am mittwoch nich kann. aber gut zu wissen, das ich nich der einzig
schlechtinformierte hier bin ;)

Muh

-----------------------------------------------------------------------------



Re^6: Oktoberstati Berlin (Gloinson, 14. Okt 2003, 20:46:07):
~#! rn=Grimmborn rt=1066033233 rg=treffen
~#! tid=1064900348
Auf dem inoffiziellen StaTi morgen wir ein Ueberraschungsgast aus dem nahen
Sueden auftauchen. Einige Zaubiehasser habe ich ja schon gewarnt ;)


-----------------------------------------------------------------------------



Berlin? (Liara, 21. Okt 2003, 18:12:19):
Bin ab morgen (Mittwoch) bis zum WE in B. :> Ist irgendwas los? Stati oder so?

Gruesse, ZZL

-----------------------------------------------------------------------------



Re: Berlin? (Darklor, 21. Okt 2003, 19:02:18):
~#! rn=Liara rt=1066752739 rg=treffen
~#! tid=1066752739
Musste einen der Verantwortlichen fragen - vielleicht berufen sie ja einen
SonderStati fuer Dich ein

Darklor

-----------------------------------------------------------------------------



Re: Re: Berlin? (Gloinson, 21. Okt 2003, 20:39:22):
~#! rn=Darklor rt=1066755738 rg=treffen
~#! tid=1066752739
Inoffizieller StaTi mit einigen anwesenden Muddern (ab jetzt leider ohne
Rochus) ist jeweils Mittwoch, Mellenseestrasse 41 im Keller. Gut zu erreichen
mit Bus 296 oder bei 10 min Fussweg S3 (Betriebsbahnhof Rummelsburg)/U5
(Tierpark).
Zook hingegen wird dir abraten, weil er nur an komischen Orten schlaeft zu
denen man zu spaeterer Uhrzeit anscheinend nicht mehr zurueckkommt.


-----------------------------------------------------------------------------



Re^3: Berlin? (Zook, 21. Okt 2003, 23:36:02):
~#! rn=Gloinson rt=1066761562 rg=treffen
~#! tid=1066752739
Ich bin immer gut weggekommen. Du hoerst mir einfach nicht zu, Gloinson. ;)

Ich bin nur am Sonntag und Montag in Berlin. ;)

Zook.

-----------------------------------------------------------------------------



Re: Novemberstati Berlin (Zook,  5. Nov 2003, 09:48:00):
~#! rn=Pitfall rt=1068021668 rg=treffen.bekanntmachungen
~#! tid=1068021668
Ich waer wohl vom 25. bis 27. Nov. in Berlin... Jmd. Interesse an nem
Stati?

Zook.

-----------------------------------------------------------------------------



Re: Re: Novemberstati Berlin (Gloinson,  5. Nov 2003, 09:48:59):
~#! rn=Zook rt=1068022080 rg=treffen
~#! tid=1068021668
Pah. Dir ist ja Lichtenberg zu weit draussen.


-----------------------------------------------------------------------------



Re^3: Novemberstati Berlin (Zook,  5. Nov 2003, 09:53:00):
~#! rn=Gloinson rt=1068022139 rg=treffen
~#! tid=1068021668
Ich hab das auch nur gepostet, weil ich in treffen.bekanntmachungen was
von "Aufsturz" gelesen habe... :-)

Zook.

-----------------------------------------------------------------------------



Re^4: Novemberstati Berlin (Gloinson,  5. Nov 2003, 09:56:55):
~#! rn=Zook rt=1068022380 rg=treffen
~#! tid=1068021668
Du willst die wenigen uns verbliebenen Gaeste - Gottes Wort wirkt schlimme
Wunder - ja auch nur noch zum Desertieren bringen.


-----------------------------------------------------------------------------



Re^5: Novemberstati Berlin (Liara,  5. Nov 2003, 14:23:35):
~#! rn=Gloinson rt=1068022615 rg=treffen
~#! tid=1068021668
Spaetestens, wenn ich wieder gesund bin (also hoffentlich naechste Woche),
gibt es sowieso einen Stati in Berlin. :> Gell, Leibi? ;)
Und zwar im Graffiti! :) Wer nicht kommt, ist selber schuld.
*zwergischgrinsend*

-----------------------------------------------------------------------------



Re^6: Novemberstati Berlin (Gloinson,  5. Nov 2003, 14:28:55):
~#! rn=Liara rt=1068038615 rg=treffen
~#! tid=1068021668
Hachja, demnaechst wird eh noch ein bekannter Neuzugang seine Einzugsparty
feiern, nicht? ;)))


-----------------------------------------------------------------------------



Re^6: Novemberstati Berlin (Leibi,  5. Nov 2003, 14:30:25):
~#! rn=Liara rt=1068038615 rg=treffen
~#! tid=1068021668
ich hoffe, da gibts massig cocktails ;)

leibi

-----------------------------------------------------------------------------



Re^7: Novemberstati Berlin (Liara,  5. Nov 2003, 14:37:11):
~#! rn=Leibi rt=1068039025 rg=treffen
~#! tid=1068021668
JA! Und ne Happy Hour ab *gruebel* 19 Uhr?! Und soooooooooooo lecker Essen ...
Die Auswahl macht dem Namen alle Ehre. :)

-----------------------------------------------------------------------------



Re: Re: Novemberstati Berlin (Zook,  6. Nov 2003, 09:36:39):
~#! rn=Zook rt=1068022080 rg=treffen
~#! tid=1068021668
Keiner? Gut, besauf ich mich eben alleine. ;)

-----------------------------------------------------------------------------



Re^3: Novemberstati Berlin (Maharet,  6. Nov 2003, 09:47:42):
~#! rn=Zook rt=1068107799 rg=treffen
~#! tid=1068021668
Ooch, ich wuerd schon mitsaufen.
Im Aufsturz, die haben viel leckeren Whisky.
Muessen uns nur auf nen Tag einigen.

Maha, Spion und Giftmischer aD

-----------------------------------------------------------------------------



Re^4: Novemberstati Berlin (Gloinson,  6. Nov 2003, 17:06:19):
~#! rn=Maharet rt=1068108462 rg=treffen
~#! tid=1068021668
Den hat er ja vorgegeben. Dienstag oder Mittwoch.


-----------------------------------------------------------------------------



Re^6: Novemberstati Berlin (Gnome,  6. Nov 2003, 21:29:36):
~#! rn=Liara rt=1068038615 rg=treffen
~#! tid=1068021668
das ist ja klasse.
jetzt legen schon die gaeste die stammtischoertlichkeiten fest?
o tempora, o mores...

gnOme

-----------------------------------------------------------------------------



Re: Re: Novemberstati Berlin (Zook,  6. Nov 2003, 22:42:17):
~#! rn=Zook rt=1068022080 rg=treffen
~#! tid=1068021668
Korrigiere, leider nur bis zum 26. Nov. :-))) Muss am 27. wieder Studis 
bespassen...

Zook.

-----------------------------------------------------------------------------



Re^3: Novemberstati Berlin (Darklor,  7. Nov 2003, 22:54:34):
~#! rn=Zook rt=1068154937 rg=treffen
~#! tid=1068021668
War wer da? - Wie wars?

Darklor

-----------------------------------------------------------------------------



Re^4: Novemberstati Berlin (Zook,  7. Nov 2003, 23:05:11):
~#! rn=Darklor rt=1068242074 rg=treffen
~#! tid=1068021668
Ich komm ja erst noch nach B.

Zook.

-----------------------------------------------------------------------------



Re^5: Novemberstati Berlin (Guard, 10. Nov 2003, 19:03:05):
~#! rn=Zook rt=1068242711 rg=treffen
~#! tid=1068021668
also zu zooks stati kann man noch nix sagen, aber war ja auch mit keiner silbe
erwaehnt, dass der gemeint war. was meldet sich zook da eigentlich? .-) der
richtige novemberstati hat etwas sehr spaet angefangen, da diverse berliner es
ja nicht fuer noetig halten, bei diesem wichtigen ergeignis mit anwesenheit zu
glaenzen :-) irgendwie trauen die leute sich wohl nur noch bei sondergaesten
hinter dem ofen vor (nein zook, du bist schon alltaeglich! :-)) aber ansonsten
war es wieder lustig ... mehr verrat ich nich

Guard

-----------------------------------------------------------------------------



Re^6: Novemberstati Berlin (Darklor, 10. Nov 2003, 19:49:45):
~#! rn=Guard rt=1068487385 rg=treffen
~#! tid=1068021668
Wer ja vielleicht dagewesen, wenn ich ein bekanntes Gesicht erblickt haette
*g*

Darklor

-----------------------------------------------------------------------------



Re^7: Novemberstati Berlin (Muadib, 10. Nov 2003, 21:30:12):
~#! rn=Darklor rt=1068490185 rg=treffen
~#! tid=1068021668
nimm nen spiegel mit

-----------------------------------------------------------------------------



Re: Hamburg, 15.11. (Krellja, 13. Nov 2003, 15:06:17):
~#! rn=Bielefeld rt=1068673310 rg=treffen.bekanntmachungen
~#! tid=1068673310
Moin,

+1

Krellja

-----------------------------------------------------------------------------



Hamburg 02.12.03 - 05.12.03 (Anoris, 15. Nov 2003, 16:49:09):
Guten Abend ;)

Wegen Untersuchung/Pruefung beim DLR in Hamburg, waere ich zu obigen
Daten in Hamburg naehe Flughafen. Ueber ein Stati oder aehnliches
am 04.12.2003 wuerd ich mich freuen!

Liebe Gruesse
- Anoris

-----------------------------------------------------------------------------



Berlin (Liara, 25. Nov 2003, 14:44:00):
Bin ab heute bis vorraussichtlich Sa/So ebendort. :>
Sollte Stati oder aehnliches sein, moege man mir bidde ueber das Handy
Bescheid geben, da mir in B kein Internet zur Verfuegung steht.
Gruesse, Liara, ZZ

-----------------------------------------------------------------------------



Weihnachtsmarkt Bochum (Ahab, 26. Nov 2003, 20:37:15):
Hallo zusammen,

wir haben uns kurzfristig entschlossen, am Freitag abend auf dem Bochumer
Weihnachtsmarkt ein wenig Gluehwein an diversen Staenden zu verkoestigen.
Wer kommen mag, meldet sich kurz bei mir oder auch Thufhir, damit wir 
wissen, auf wen wir noch warten muessen ;-)
Treffpunkt ist der Gluehweinstand auf dem Dr.-Ruer-Platz gegenueber der 
Sparkasse.

Uhrzeit? Hmmmm....

Na, sagen wir gegen 19:00 Uhr. Datum ist natuerlich der 28.11. (um Verwirrungen vorzubeugen) ;-)

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re^3: Novemberstati Berlin (Zook, 27. Nov 2003, 09:17:14):
~#! rn=Zook rt=1068154937 rg=treffen
~#! tid=1068021668
Ja, und wo seid Ihr nun gewesen? Seltsames Volk, diese Berliner Mudder...

Zook.

-----------------------------------------------------------------------------



Re^4: Novemberstati Berlin (Gloinson, 27. Nov 2003, 13:31:40):
~#! rn=Zook rt=1069921034 rg=treffen
~#! tid=1068021668
Gestern? Im Club. Ziemlich viele dieses Mal. Du weisst ja, wo der ist. Weit
weg von dir in Berlin ;)


-----------------------------------------------------------------------------



Weihnachtsmarkt DO (Apollonia, 29. Nov 2003, 13:10:16):
Ganz kurzfristig angesetzt: wir (das heisst bisher Rochus und ich und
wahrscheinlich diverse Nachbarn meinerseits) latschen heute abend auf den
Dortmunder Weihnachtsmarkt mit anschliessender kurzer Hoppelei in irgendeiner
Disse. Falls noch wer kommen mag - wir wuerden uns freuen.

Apo*

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt DO (Boing,  1. Dez 2003, 11:24:11):
~#! rn=Apollonia rt=1070107816 rg=treffen
~#! tid=1070107816
Wie lange hat denn bei euch der Gluehmarkt offen, dass man danach direkt
in eine Disse kann?
  Boing

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt DO (Alkohol,  1. Dez 2003, 11:25:15):
~#! rn=Boing rt=1070274251 rg=treffen
~#! tid=1070107816
je nachdem wieviel Gluehwein man hat, braucht man sehr lange vom
Weihnachtsmarkt in die Disse ;)

Alk

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt DO (Boing,  1. Dez 2003, 11:30:16):
~#! rn=Alkohol rt=1070274315 rg=treffen
~#! tid=1070107816
Ah richtig, das hatte ich nicht bedacht ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt DO (Apollonia,  1. Dez 2003, 11:53:20):
~#! rn=Alkohol rt=1070274315 rg=treffen
~#! tid=1070107816
Das zum einen und zum anderen kann man in der kleinen Spelunke da auch schon
um 22:30 Uhr einfallen und ist nicht ganz alleine. Aber Platz hat man da auf
der Tanzflaeche (c:

-----------------------------------------------------------------------------



stuttgart stati 20.12. (Leibi,  2. Dez 2003, 21:00:51):
huhu liebe stuttgart freunde ;)
wollte mal fragen, wie gross das interesse an einem stati am 20.12. ist? 
als frust-weihnachtsgeschenke-kaufen stati oder so :)
ort natuerlich wieder enchilada.
gebt mal bescheid.

leibi - wirr

-----------------------------------------------------------------------------



Re: stuttgart stati 20.12. (Magdalena,  2. Dez 2003, 21:02:27):
~#! rn=Leibi rt=1070395251 rg=treffen
~#! tid=1070395251
JAAAAAAAAAAAAAAAAH!
magda* - auch wirr (!?)

-----------------------------------------------------------------------------



Re: Re: stuttgart stati 20.12. (Ronda,  2. Dez 2003, 21:20:45):
~#! rn=Magdalena rt=1070395347 rg=treffen
~#! tid=1070395251
Coole Idee. Voellig verrueckt. Also: Ich versuchs vorbeizuschauen ;-)

Ronda *reiselustig*

-----------------------------------------------------------------------------



Re^3: stuttgart stati 20.12. (Magdalena,  2. Dez 2003, 21:21:50):
~#! rn=Ronda rt=1070396445 rg=treffen
~#! tid=1070395251
JAAAAAAAAAAAAAH!
magda, jetzt noch wirrer :)

-----------------------------------------------------------------------------



Re: stuttgart stati 20.12. (Mieze,  3. Dez 2003, 08:47:47):
~#! rn=Leibi rt=1070395251 rg=treffen
~#! tid=1070395251

Klingt schonmal gut. Gibt es auch eine Uebernachtungsmoeglichkeit? Mit dem Zug
komm ich vielleicht nach Muenchen, aber nicht mehr mit der S-Bahn nach Haus.

Mieze - will mal wieder Stuttgart besuchen

-----------------------------------------------------------------------------



Re: stuttgart stati 20.12. (Seleven,  3. Dez 2003, 13:03:23):
~#! rn=Leibi rt=1070395251 rg=treffen
~#! tid=1070395251
SPAEEEETER!! :))
Komme erst am 22/23 nach S und bleibe bis zum WE.

Seleven.

-----------------------------------------------------------------------------



Re: Re: stuttgart stati 20.12. (Leibi,  3. Dez 2003, 22:21:14):
~#! rn=Seleven rt=1070453003 rg=treffen
~#! tid=1070395251
wie waers dann mit dem 27.12.?

leibi

-----------------------------------------------------------------------------



Re^3: stuttgart stati 20.12. (Magdalena,  4. Dez 2003, 07:18:26):
~#! rn=Leibi rt=1070486474 rg=treffen
~#! tid=1070395251
also der termin ist gaaaaanz schlecht...
:o(

magda

-----------------------------------------------------------------------------



Re^3: stuttgart stati 20.12. (Seleven,  4. Dez 2003, 18:44:56):
~#! rn=Leibi rt=1070486474 rg=treffen
~#! tid=1070395251
27 ist der Samstag? Ich glaub das waer ok :)

S11 ruft: COCKTAILS!

-----------------------------------------------------------------------------



Re^3: stuttgart stati 20.12. (Anoris,  4. Dez 2003, 20:15:55):
~#! rn=Ronda rt=1070396445 rg=treffen
~#! tid=1070395251
Vermutlich +2

- Anoris ;)

-----------------------------------------------------------------------------



Re^4: stuttgart stati 20.12. (Ronda, 10. Dez 2003, 07:26:19):
~#! rn=Anoris rt=1070565355 rg=treffen
~#! tid=1070395251
Moin,

irgendwie steig ich langsam nicht mehr durch. Wann findet nun genau der Stati
statt? 20.12.? Doch nicht 20.12.? Wer kommt wann genau wo hin?

Ronda *konfus*

-----------------------------------------------------------------------------



Re^5: stuttgart stati 20.12. (Magdalena, 10. Dez 2003, 07:26:51):
~#! rn=Ronda rt=1071037579 rg=treffen
~#! tid=1070395251
ja, ich will das auch wissen :)
*kneift in ronda po

-----------------------------------------------------------------------------



Re^5: stuttgart stati 20.12. (Magdalena, 10. Dez 2003, 07:27:41):
~#! rn=Ronda rt=1071037579 rg=treffen
~#! tid=1070395251
ja, da war ein typo drin! schreibs mir doch ins repfile! :)

-----------------------------------------------------------------------------



Re^6: stuttgart stati 20.12. (Zook, 10. Dez 2003, 09:56:56):
~#! rn=Magdalena rt=1071037661 rg=treffen
~#! tid=1070395251
Nu komm und erschrick Ronda nicht mit solchen Woertern wie "Repfile".

Zook.

-----------------------------------------------------------------------------



Re^7: stuttgart stati 20.12. (Leibi, 10. Dez 2003, 19:57:00):
~#! rn=Zook rt=1071046616 rg=treffen
~#! tid=1070395251
stati ist wie geplant am 20.12.03 ab 18 uhr im enchilada. tut mir leid fuer
seleven, aber hat sich sonst keiner fuer den 27. interessiert.
schreibt mir doch bitte ne mail, wer alles kommt, damit ich plaetze
reservieren kann.
danke

leibi

-----------------------------------------------------------------------------



Re^8: stuttgart stati 20.12. (Magdalena, 10. Dez 2003, 20:01:24):
~#! rn=Leibi rt=1071082620 rg=treffen
~#! tid=1070395251
werde da sein.
freu mich jetzt schon.
vorher shoppen? :)
gruss
magda

-----------------------------------------------------------------------------



MS-Gluehwein (Catweazle, 10. Dez 2003, 21:02:57):
Dazu faellt mir ein.

Kriegen wir MSler noch nen Tag fuers Gluehweintrinken zusammen?

YTC

-----------------------------------------------------------------------------



Re^9: stuttgart stati 20.12. (Leibi, 10. Dez 2003, 21:41:18):
~#! rn=Magdalena rt=1071082884 rg=treffen
~#! tid=1070395251
ja, vorher an einem mittag alle geschenke kaufen... ich weiss gar nimmer,
warum ich weihnachtsfan bin.

leibi

-----------------------------------------------------------------------------



Re^10: stuttgart stati 20.12. (Magdalena, 10. Dez 2003, 21:42:18):
~#! rn=Leibi rt=1071088878 rg=treffen
~#! tid=1070395251
ja, genau :) dann kann man den stress in vollen zuegen geniessen :)
und dann schmecken die cocktails dreimal so gut.
darf ich deine taschen tragen?
magda, hilft gerne

-----------------------------------------------------------------------------



Re: goettlicher besuch... (Zook, 11. Dez 2003, 20:08:55):
~#! rn=Zook rt=1071169723 rg=treffen.bekanntmachungen
~#! tid=1071169723
Da bin ich ja mal gespannt! ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: goettlicher besuch... (Zook, 17. Dez 2003, 14:17:00):
~#! rn=Zook rt=1071433392 rg=treffen.bekanntmachungen
~#! tid=1071169723
*huepf* Es waren ja enige da! Hat mich sehr gefreut, Euch mal wieder zu 
treffen. :-)))

Gruss, Zook.

-----------------------------------------------------------------------------



Re^3: goettlicher besuch... (Maharet, 18. Dez 2003, 00:07:43):
~#! rn=Zook rt=1071667020 rg=treffen
~#! tid=1071169723
Ja, es war ein gar goettlicher Abend.

Maha, Apfelschorlensaeuferin

-----------------------------------------------------------------------------



Re^4: goettlicher besuch... (Zook, 18. Dez 2003, 08:08:06):
~#! rn=Maharet rt=1071702463 rg=treffen
~#! tid=1071169723
Du hast da was nicht erwaehnt...

Zook.

-----------------------------------------------------------------------------



Re: Re: MS-Gluehwein (Grimmborn, 18. Dez 2003, 19:49:04):
~#! on=Catweazle ot=1071765954 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1071135573 rg=treffen.bekanntmachungen
~#! tid=1071086577
Kommet Zuhaaahaaaaauuuf!

YTC

-----------------------------------------------------------------------------



Re^3: MS-Gluehwein (Grimmborn, 18. Dez 2003, 19:49:05):
~#! on=Zook ot=1071766708 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1071765954 rg=treffen.bekanntmachungen
~#! tid=1071086577
Zook verweigert sich und laesst sich lieber von Cheffe einladen.

-----------------------------------------------------------------------------



Re^3: goettlicher besuch... (Feigling, 19. Dez 2003, 00:20:49):
~#! rn=Zook rt=1071667020 rg=treffen
~#! tid=1071169723
ich wollte eigentlich auch vorbeikommen, aber irgendwie ha ichs
zeitlich nicht hinbekommen. Komisch, dass ich sowas, trotz
Urlaub nicht auf die Reihe bekomme :-(

Feigling, seit Jahren Stativerpasser

-----------------------------------------------------------------------------



Re^5: goettlicher besuch... (Maharet, 19. Dez 2003, 12:09:18):
~#! rn=Zook rt=1071731286 rg=treffen
~#! tid=1071169723
Was?

Maha

-----------------------------------------------------------------------------



Re^6: goettlicher besuch... (Zook, 19. Dez 2003, 12:31:01):
~#! rn=Maharet rt=1071832158 rg=treffen
~#! tid=1071169723
Keine Ahnung, wurde aber auch in Glaesern serviert.

-----------------------------------------------------------------------------



Re^7: goettlicher besuch... (Maharet, 19. Dez 2003, 12:40:26):
~#! rn=Zook rt=1071833461 rg=treffen
~#! tid=1071169723
Das kann ich aber nicht aussprechen. Und schreiben auch nicht.

Maha

-----------------------------------------------------------------------------



Berlin 7.6. - 11.6.04 (Whitetiger, 19. Dez 2003, 15:15:39):
Huhu,
Ist zwar noch ein Weilchen hin, aber ich bin von Montag Mittag, 7.6.04 bis
Freitag Mittag, 11.6.04 in Berlin. Wenn ihr (= Berliner Mudder) euch zufaellig
in dieser Zeit trefft (moeglichst Montag oder Donnerstag) wuerd ich vielleicht
auch kommen.

Tiger

-----------------------------------------------------------------------------



Re: Berlin 7.6. - 11.6.04 (Maharet, 19. Dez 2003, 15:16:13):
~#! rn=Whitetiger rt=1071843339 rg=treffen
~#! tid=1071843339
Frag Ende Mai nochmal nach ;)

Maha

-----------------------------------------------------------------------------



Re: Re: Berlin 7.6. - 11.6.04 (Montanus, 19. Dez 2003, 15:19:52):
~#! rn=Maharet rt=1071843373 rg=treffen
~#! tid=1071843339
Darfst du ueberhaupt schon ohne Begleitung deienr Eltern in ne Kneipe,
Tigerchen? ;-)

-----------------------------------------------------------------------------



Re^3: Berlin 7.6. - 11.6.04 (Maharet, 19. Dez 2003, 15:21:26):
~#! rn=Montanus rt=1071843592 rg=treffen
~#! tid=1071843339
Wir sind minderjaehrigen Besuch gewohnt und die Verantwortung dafuer auch. 
Das kriegen wir schon hin.  Und wie bereits an anderer Stelle erwaehnt, gibt
es dort auch reichlich Apfelschorle.

Maha mit Mutterinstinkten

-----------------------------------------------------------------------------



Re^3: Berlin 7.6. - 11.6.04 (Whitetiger, 19. Dez 2003, 15:23:46):
~#! rn=Montanus rt=1071843592 rg=treffen
~#! tid=1071843339
Ja, darf ich.

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Croft, 24. Dez 2003, 10:34:32):
Da der Wirt am 1. Weihnachtsfeiertag zu hat und eh die meisten Karlsruher
anderwaertig beschaeftigt sind, faellt der Stammtisch ausnahmsweise mal
aus.  Am 1.1.04 hat Ilias offen, so dass dem ersten Stati des naechsten
Jahres nichts im Wege steht.

Croft

-----------------------------------------------------------------------------



Fotos Leipzig 2000 (Zook, 29. Dez 2003, 12:33:52):
finden sich unter http://mg.mud.de/Party/Treffen/mango/leipzig_2000

Zook.

-----------------------------------------------------------------------------



Berlin (Liara, 30. Dez 2003, 12:59:45):
Bin mal wieder da vom 31.12. bis 4.1. :>
Sollte sich jemand zu Stammtischen entschliessen, waere ich dankbar fuer ne
SMS o. ae. :>
Der Schuettlerelf oder die Tanji-Katze sollten auch was an mich weitergeben
koennen. ;)

LGuGR, ZZL

-----------------------------------------------------------------------------



Eine Mieze in Berlin (Mieze,  5. Jan 2004, 18:23:42):

Hallo zusammen,

ich wuerd am Freitag (9.1.) gern nach Berlin duesen. Gibts da nen Stati oder
aehnliches und was zum Uebernachten? Iso-Matte und Schlafsack hab ich.

Mieze - heute mit veraenderten Plaenen fuers Wochenende ;o)

-----------------------------------------------------------------------------



Re: Eine Mieze in Berlin (Darklor,  5. Jan 2004, 18:37:32):
~#! rn=Mieze rt=1073323422 rg=treffen
~#! tid=1073323422
Da gibts doch genug Leute - einer wird schon noch Platz fuern Katzenkoerbchen
ueber haben... - aber ob was laeuft - keine Ahnung - lass doch n Sonderstati
einberufen... *g*

Darklor

-----------------------------------------------------------------------------



Re: Eine Mieze in Berlin (Mieze,  6. Jan 2004, 07:14:32):
~#! rn=Mieze rt=1073323422 rg=treffen
~#! tid=1073323422

Nochmal hallo,

da war ich mit dem Posten doch etwas voreilig. Berlin faellt fuer dieses
Wochenende leider aus.

Mieze - schonwieder mit anderen Plaenen

-----------------------------------------------------------------------------



Re: Re: Eine Mieze in Berlin (Maharet,  6. Jan 2004, 15:35:52):
~#! rn=Mieze rt=1073369672 rg=treffen
~#! tid=1073323422
Und jetzt hab ich gerade mein Bett fuer dich freigebuddelt.

Maha schnieft traurig in ihre Kuscheldecke.

-----------------------------------------------------------------------------



Re^3: Eine Mieze in Berlin (Zook,  6. Jan 2004, 15:36:14):
~#! rn=Maharet rt=1073399752 rg=treffen
~#! tid=1073323422
Oh, ich bin auch bald wieder mal in B.

Zook.

-----------------------------------------------------------------------------



Re^4: Eine Mieze in Berlin (Maharet,  6. Jan 2004, 15:37:17):
~#! rn=Zook rt=1073399774 rg=treffen
~#! tid=1073323422
Heisst das, dass du jetzt in mein Bett willst?

Maha

-----------------------------------------------------------------------------



Re^4: Eine Mieze in Berlin (Darklor,  6. Jan 2004, 15:37:52):
~#! rn=Zook rt=1073399774 rg=treffen
~#! tid=1073323422
Was hat das nur zu bedeuten....

Darklor

-----------------------------------------------------------------------------



Re^5: Eine Mieze in Berlin (Noki,  6. Jan 2004, 15:39:10):
~#! rn=Darklor rt=1073399872 rg=treffen
~#! tid=1073323422
Warte... Mudgott + Schatzkaestchenbewahrer= Reise nach Honululu?
noki schmarrnt

-----------------------------------------------------------------------------



Re: Stati in Osnabrueck (Mupfel, 13. Jan 2004, 21:40:34):
~#! rn=Mupfel rt=1073934067 rg=treffen.bekanntmachungen
~#! tid=1073934067
So, bisher 10 Leute sinds (aber was fuer welche... ;), womit unsere
Schlafplatzkapazitaeten langsam zur Neige gehen ;). Aber es koennten ja z.B.
auch die Muensteraner kommen, die habens ja nich weit...

-mupfel-

-----------------------------------------------------------------------------



Re: Treffdi Berlin (Leibi, 25. Jan 2004, 14:18:41):
~#! on=Leibi ot=1075036699 og=treffen.bekanntmachungen
~#! rn=Liara rt=1075026884 rg=treffen.bekanntmachungen
~#! tid=1075026884
also ich bin auf jeden fall dabei udn freu mich schon auf leckere (und vor
allem guenstige) cocktails :)
endlich mal nich 100 sorten von bier, die mich nicht interessieren :)

leibi

-----------------------------------------------------------------------------



Re: Re: Treffdi Berlin (Patryn, 25. Jan 2004, 15:34:44):
~#! rn=Leibi rt=1075036721 rg=treffen
~#! tid=1075026884
Kuhdamm und billige Cocktails, ich bin gespannt. ;)
Und hinreichend zentral isser eigentlich auch...welchen Kuhdamm meinst Du?
Ach ich vergass, es ist ja gruene Woche in Berlin...die Kuehe also.

-----------------------------------------------------------------------------



Re^3: Treffdi Berlin (Gloinson, 25. Jan 2004, 16:01:23):
~#! rn=Patryn rt=1075041284 rg=treffen
~#! tid=1075026884
Gib mir mal einer 'nen Bierindex von da, die Seite gibt das nicht her. Ich
hoffe ja, Happy Hour bedeutet nicht das Cocktails wie Caipi statt 7,- nur noch
5,- kosten ;)


-----------------------------------------------------------------------------



Re^4: Treffdi Berlin (Liara, 25. Jan 2004, 16:47:45):
~#! rn=Gloinson rt=1075042883 rg=treffen
~#! tid=1075026884
Ich weiss net mehr, wieviel die da so kosten in der Happy Hour, aber ich denke
5 Euro ist eine gute Schaetzung. Das ist fuer nen Profi-Cocktail in der 'Lage'
net viel Geld.

-----------------------------------------------------------------------------



Re^5: Treffdi Berlin (Gloinson, 25. Jan 2004, 17:00:47):
~#! rn=Liara rt=1075045665 rg=treffen
~#! tid=1075026884
Ahum. Die Antwort "fuer einen Profi-Cocktail in der 'Lage'" war nicht gerade
das, was mich bewegen wird am Freitag nicht lieber doch nach Dresden zu fahren
...


-----------------------------------------------------------------------------



Braeuchte vom 2.4. bis 4.4. vielleicht ne Unterkunft in Berlin (Areelanir, 25. Jan 2004, 21:00:13):
Ein Freund von mir faehrt mit seinem Verein zum Halbmarathon nach Berlin. Der
findet am 3.4. statt. Wenn es klappt wollte ich ihn begleiten und zusaetzlich
die Chance nutzen die Berliner Mudder mal wieder zu treffen. Mein Freund kommt
mit dem Verein im Hotel unter, ich wuerde meinen Schlafsack da ausrollen, wo
Platz fuer mich ist. Waere schoen wenn das mit Fahrt, Unterkunft und Stati
irgendwie klappen koennte...
Areelanir

-----------------------------------------------------------------------------



Re: SUPERSONDERSTATI (Zook,  4. Feb 2004, 16:03:05):
~#! rn=Boing rt=1075828772 rg=treffen.bekanntmachungen
~#! tid=1075828772
Da ich 1.) keine Lust auf Sushi-Essen habe, 2.) eh kein besonders wichtiger
Anlass ansteht und ich 3.) eh keine Zeit habe, bleib ich zu Hause.

Zook.

-----------------------------------------------------------------------------



Re: Re: SUPERSONDERSTATI (Maharet,  6. Feb 2004, 00:14:22):
~#! rn=Zook rt=1075906985 rg=treffen
~#! tid=1075828772
Oh. Naja, wenn Zook zu Hause bleibt ... dann ueberleg ich mir das auch
nochmal.

Maha

-----------------------------------------------------------------------------



Re: Stati Hamburg (Grimmborn,  9. Feb 2004, 14:40:10):
~#! rn=Bielefeld rt=1076333636 rg=treffen.bekanntmachungen
~#! tid=1076333636
Nur als Hinweis: Das ist der Karnevalsfreitag. Was, zugegeben, hier oben
ansonsten kaum jemanden interessieren duerfte...

GdA

-----------------------------------------------------------------------------



Re: Re: Stati Hamburg (Bielefeld,  9. Feb 2004, 14:40:24):
~#! rn=Grimmborn rt=1076334010 rg=treffen
~#! tid=1076333636
q.e.d.

-Bielefeld

-----------------------------------------------------------------------------



Re^3: Stati Hamburg (Montanus,  9. Feb 2004, 14:55:16):
~#! rn=Bielefeld rt=1076334024 rg=treffen
~#! tid=1076333636
Doch, mich auch. Ich bin deswegen auch nciht dabei.
Selber schuld.

-----------------------------------------------------------------------------



Re: Stati in Bochum (Olli, 11. Feb 2004, 23:23:46):
~#! rn=Miril rt=1076538162 rg=treffen.bekanntmachungen
~#! tid=1076538162
Och, ich waer wohl dabei....

Olli

-----------------------------------------------------------------------------



Re: Re: Stati in Bochum (Medic, 12. Feb 2004, 13:19:47):
~#! rn=Olli rt=1076538226 rg=treffen
~#! tid=1076538162
:ist zwar noch bis 21.30 im Dienst, wuerde danach aber auch vorbeikommen.

-----------------------------------------------------------------------------



Re: Re: Sonderstati - Berlin (Grimmborn, 16. Feb 2004, 12:21:05):
~#! on=Darklor ot=1076930247 og=treffen.bekanntmachungen
~#! rn=Gloinson rt=1076855205 rg=treffen.bekanntmachungen
~#! tid=1076833860
Wer soll denn erinnert werden? Das duerften die Beteiligten doch eigentlich
nich vergessen haben... 

Darklor

-----------------------------------------------------------------------------



Re: Sondertreffen in Hamburg (Grimmborn, 23. Feb 2004, 11:29:58):
~#! rn=Grimmborn rt=1077133796 rg=treffen.bekanntmachungen
~#! tid=1077133796
Ich moechte nochmal auf das Hamburger Sondertreffen am kommenden Sonntag
hinweisen. Wer schon immer mal in netter Runde was fuer seine Figur tun wollte
kann sich gerne bei mir melden.

Grimmborn der Atheist

-----------------------------------------------------------------------------



B-Stati? (Catweazle,  6. Mar 2004, 18:23:45):
Kuckuck!

Ihr Berliner seid doch immer so spontan mit Stammtischen, gell?
Wenn ich euch sagen wuerde, dass ich Montag bis Mittwoch in eurem Staedchen
verweile, denkt ihr es waere moeglich mit Montag- oder Dienstagabend
Stammtischtechnisch zu versorgen?

YTC

-----------------------------------------------------------------------------



Frankfurt 20.3.? (Deepblue,  6. Mar 2004, 18:56:29):
Gibts am Samstag, dem 20.3., nen Stammtisch in Frankfurt?

-----------------------------------------------------------------------------



Re: Frankfurt 20.3.? (Ronda,  6. Mar 2004, 20:27:53):
~#! rn=Deepblue rt=1078595789 rg=treffen
~#! tid=1078595789
Da ich weiss, dass nen paar Standardgaeste (und ich uebrigens auch) am 20.3.
definitiv keine Zeit fuer einen Stati in Frankfurt haben, schaetze ich, dass
es da keinen geben wird.

Dafuer koennte es aber um Ostern herum (Karfreitag?) einen Sonderstammtisch
wegen ganze besonderer Sondergaeste geben ;-)

Ronda *Chaos-planend*

-----------------------------------------------------------------------------



Re: Re: Frankfurt 20.3.? (Ark,  7. Mar 2004, 19:34:36):
~#! rn=Ronda rt=1078601273 rg=treffen
~#! tid=1078595789
Ja, mach mal, dann komm ich drum rum, hier was loszutreten :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



StaTi Zuerich (Nibel,  8. Mar 2004, 17:34:04):
Hoi,

am 16.03.04 (Di) ist wieder StaTi-Tag in Zuerich. Ab 18:00 Uhr wird
im Oliver Twist ein Tisch reserviert sein und das Guinness in Stroemen
fliessen. Wegbeschreibungen und Anmeldungen via teile schwiiz mit hilfe s.

  - Nibel
-----------------------------------------------------------------------------



Re: StaTi Zuerich (Zook, 18. Mar 2004, 13:06:47):
~#! rn=Nibel rt=1078763644 rg=treffen
~#! tid=1078763644
Ergebnis I:

Es fanden konspirative Vorgespraeche zu einem Hornuss-Event statt. More to
come...

Zook.

-----------------------------------------------------------------------------



Re: StaTi Zuerich (Zook, 18. Mar 2004, 13:07:41):
~#! rn=Nibel rt=1078763644 rg=treffen
~#! tid=1078763644
Ergebnis II:

Wir wollen zwar niemanden stigmatisieren, aber es scheint, als greife die
MG-Spielfreude wieder auf eingerostete Chaoten ueber... Herzlichen 
Glueckwunsch! ;)

Zook.

-----------------------------------------------------------------------------



Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Whitetiger,  5. Apr 2004, 22:08:49):
Huhu,
Ich bin in der Nachosterwoche in Berlin, wenn zwischen Montag (12.4.) und
Freitag Nachmittag (16.4.) ein StaTi sein sollte, +1 von mir ... waer
allerdings gut, wenn mir dann irgendwer noch halbwegs genaue Wegbeschreibungen
(Fahrrad / S-Bahn) geben koennte ...

Tiger

-----------------------------------------------------------------------------



Re: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Gloinson,  5. Apr 2004, 22:11:58):
~#! rn=Whitetiger rt=1081195729 rg=treffen
~#! tid=1081195729
Inoffizieller Stammtisch ist jeden Mittwoch am Ende der Welt (zu weit fuer
Zook). Das ist in Club Melle, Mellenseestrasse 41, Friedrichshain, naechste
Bushaltestelle Mellenseestrasse/Sewanstrasse (3 min), naechste U-Bahn-Station
der U5 ist U Tierpark (10 min), naechste S-Bahn-Station der S3 ist S
Betriebsbahnhof Rummelsburg (10 min).


-----------------------------------------------------------------------------



Re: Re: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Maharet,  5. Apr 2004, 22:12:20):
~#! rn=Gloinson rt=1081195918 rg=treffen
~#! tid=1081195729
Ich mach gerade schon Werbung ;)

-----------------------------------------------------------------------------



Re^3: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Gloinson,  5. Apr 2004, 22:12:50):
~#! rn=Maharet rt=1081195940 rg=treffen
~#! tid=1081195729
Tschuldigungreh :)


-----------------------------------------------------------------------------



Re^4: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Whitetiger,  5. Apr 2004, 22:14:17):
~#! rn=Gloinson rt=1081195970 rg=treffen
~#! tid=1081195729
Mittwoch is ganz praktisch, dann kann ich mich am Donnerstag noch auskurieren,
bevor ich den Weg zum Bahnhof finden muss. ;)
Und "Offizieller" Stammtisch, gibts da auch einen ?

Tiger

-----------------------------------------------------------------------------



Re^5: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Gloinson,  5. Apr 2004, 22:17:20):
~#! rn=Whitetiger rt=1081196057 rg=treffen
~#! tid=1081195729
Nur wenn Pitfall ihn ausruft ;) Oder am ersten Freitag des Monats.

Neulich haben wir ganz urdemokratisch (6-8 Stimmen, einstimmig) beschlossen,
dass der Stati zu seinen Wurzeln nach Prenzelberg zurueckkehrt, also entweder
in den Seeblick oder je nach Bedarf in was cocktailhaltiges. Der Aufsturz ist 
uns gerade im Winter zu ungemuetlich.


-----------------------------------------------------------------------------



Re^6: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Leibi,  5. Apr 2004, 22:28:23):
~#! rn=Gloinson rt=1081196240 rg=treffen
~#! tid=1081195729
genau, ich moechte gerne was cocktailhaltiges :)

leibi

-----------------------------------------------------------------------------



Re^6: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Brotnael,  5. Apr 2004, 22:29:29):
~#! rn=Gloinson rt=1081196240 rg=treffen
~#! tid=1081195729
Gerad im Winter? Ich dacht der waer nu vorbei ;)
Aber fuer eine andere Lokation waer ich auch, am besten jede Stati eine neue.
Wir koennen ja mal bei den Kneipen Friedrichshain, Scharnweberstrasse oder
Simon-Dach-Strasse anfangen, da gibts genuch fuer 2 Jahre :)
Brot

-----------------------------------------------------------------------------



Re^7: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Maharet,  5. Apr 2004, 22:30:31):
~#! rn=Brotnael rt=1081196969 rg=treffen
~#! tid=1081195729
Als ich Simon-Dach-Strasse gewohnt habe, gabs da nur nen Blumenladen und nen
Baecker ... aber die Gegend hat sich ja gut gemacht seit dem :)

-----------------------------------------------------------------------------



Re^8: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Brotnael,  5. Apr 2004, 22:31:03):
~#! rn=Maharet rt=1081197031 rg=treffen
~#! tid=1081195729
Oh, wann war das? Wo Cafe Moskau noch lebte? *duck*

-----------------------------------------------------------------------------



Re^9: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Maharet,  5. Apr 2004, 22:31:30):
~#! rn=Brotnael rt=1081197063 rg=treffen
~#! tid=1081195729
Aeh ... 1997 bin ich da weggezogen.  Puh, bin ich alt ...

-----------------------------------------------------------------------------



Re^10: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Brotnael,  5. Apr 2004, 22:32:42):
~#! rn=Maharet rt=1081197090 rg=treffen
~#! tid=1081195729
*kuschelMaharet*

-----------------------------------------------------------------------------



Re^11: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Maharet,  5. Apr 2004, 22:33:10):
~#! rn=Brotnael rt=1081197162 rg=treffen
~#! tid=1081195729
Maharet schnurrt gluecklich und freut sich schon auf die Verlegung nach
schmarrn.

-----------------------------------------------------------------------------



Re^12: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Gloinson,  5. Apr 2004, 22:33:30):
~#! rn=Maharet rt=1081197190 rg=treffen
~#! tid=1081195729
Koennt ihr mal nach Megaschmarrn beitragen?


-----------------------------------------------------------------------------



Re^13: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Brotnael,  5. Apr 2004, 22:34:38):
~#! rn=Gloinson rt=1081197210 rg=treffen
~#! tid=1081195729
Megaschnarrn ist mir zu Mega. Hab ich megakrass abbestellt ey.

-----------------------------------------------------------------------------



Re^14: Berlin-StaTi i.d.Z. 12.4.-15.4. ? (Gloinson,  5. Apr 2004, 22:41:32):
~#! rn=Brotnael rt=1081197278 rg=treffen
~#! tid=1081195729
Das ist superuncool von dir, eh.


-----------------------------------------------------------------------------



MorgenGrauen im Wasser (Muadib,  8. Apr 2004, 13:15:57):
Hi,

nachdem der Fruehling ja so langsam Fuss fast und die Sonne die Gewaesser
aufwaermt stellt sich die Frage nach einem Mudtauchen.
Wer haette denn Lust zu einem gemeinsamen Tauchgang und wo sollte dieser
stattfinden?

-----------------------------------------------------------------------------



Re: MorgenGrauen im Wasser (Montanus,  8. Apr 2004, 13:18:01):
~#! rn=Muadib rt=1081422957 rg=treffen
~#! tid=1081422957
Ihr koennt gerne in meinem neuen Domizil das Hauptquartier aufschlagen und
dann die Ollen abtauchen. WOltle schon immr mal wissen, was da alles auf dem
Grund liegt. Und Aale soll es dort auch geben, ziemlich lecker fuer
Fischesser, hab ich gehoert.

-----------------------------------------------------------------------------



Re: Re: MorgenGrauen im Wasser (Gloinson,  8. Apr 2004, 13:18:29):
~#! rn=Montanus rt=1081423081 rg=treffen
~#! tid=1081422957
:spielt Quecksilberbrunnen.


-----------------------------------------------------------------------------



Re^3: MorgenGrauen im Wasser (Grimmborn,  8. Apr 2004, 13:19:33):
~#! rn=Gloinson rt=1081423109 rg=treffen
~#! tid=1081422957
Die viel entscheidendere Frage ist doch: Wo kriegt man genug wasserdichte
Rechner her?

GdA

-----------------------------------------------------------------------------



Re^4: MorgenGrauen im Wasser (Gloinson,  8. Apr 2004, 13:20:45):
~#! rn=Grimmborn rt=1081423173 rg=treffen
~#! tid=1081422957
Tuete. Einschweissen. Und den Rechner nicht einschalten, damit der nicht am
Hitzetod stirbt.


-----------------------------------------------------------------------------



Re^5: MorgenGrauen im Wasser (Foobar,  8. Apr 2004, 13:29:06):
~#! rn=Gloinson rt=1081423245 rg=treffen
~#! tid=1081422957
Unter Wasser ist der doch gut gekuehlt?

-----------------------------------------------------------------------------



Re^6: MorgenGrauen im Wasser (Montanus,  8. Apr 2004, 13:41:26):
~#! rn=Foobar rt=1081423746 rg=treffen
~#! tid=1081422957
Verlegt jemand bitte mal das alles nach Schmarrn, bevor Muadib uns alle hier
gut kuehlt?

-----------------------------------------------------------------------------



Re: MorgenGrauen im Wasser (Vanion,  8. Apr 2004, 18:16:07):
~#! rn=Muadib rt=1081422957 rg=treffen
~#! tid=1081422957
Bin neugierig, hab den CMAS* aber wohl erst im Sommer. Eventuell kann man was
im Dunstkreis von Halle machen.

V*

-----------------------------------------------------------------------------



Re: Re: MorgenGrauen im Wasser (Muadib,  8. Apr 2004, 18:21:49):
~#! rn=Vanion rt=1081440967 rg=treffen
~#! tid=1081422957
ich schlage mal ganz dreist den 10.07 in Karlsruhe bzw Umgebung vor

-----------------------------------------------------------------------------



Re^3: MorgenGrauen im Wasser (Mesirii, 12. Apr 2004, 15:14:05):
~#! rn=Muadib rt=1081441309 rg=treffen
~#! tid=1081422957
+1 (fuer beide)
Mesi, will auch wieder tauchen

-----------------------------------------------------------------------------



Re: MorgenGrauen im Wasser (Zook, 13. Apr 2004, 10:05:49):
~#! rn=Muadib rt=1081422957 rg=treffen
~#! tid=1081422957
Btw, nimmst Du schon fuer Halle fleissig ab? ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: MorgenGrauen im Wasser (Muadib, 13. Apr 2004, 10:07:01):
~#! rn=Zook rt=1081843549 rg=treffen
~#! tid=1081422957
natuerlich nicht

-----------------------------------------------------------------------------



Re^3: MorgenGrauen im Wasser (Boing, 13. Apr 2004, 10:08:04):
~#! rn=Muadib rt=1081843621 rg=treffen
~#! tid=1081422957
Wieso sollte er das tun?
  Boing

-----------------------------------------------------------------------------



Re^4: MorgenGrauen im Wasser (Zook, 13. Apr 2004, 10:29:06):
~#! rn=Boing rt=1081843684 rg=treffen
~#! tid=1081422957
Er deutete so etwas an. 

Zook.

-----------------------------------------------------------------------------



Re^5: MorgenGrauen im Wasser (Muadib, 13. Apr 2004, 10:32:36):
~#! rn=Zook rt=1081844946 rg=treffen
~#! tid=1081422957
mit nichten. ich deutete nur an dass ich mit dir klettern wuerde wenn ich 20
kilo gewicht verloere. nicht dass ich diaete

-----------------------------------------------------------------------------



Re^6: MorgenGrauen im Wasser (Zook, 13. Apr 2004, 10:35:36):
~#! rn=Muadib rt=1081845156 rg=treffen
~#! tid=1081422957
Ah. Ich verstehe: Verloere != Diaetete?

Zook.

-----------------------------------------------------------------------------



Re: Stati Berlin? (Grimmborn, 26. Apr 2004, 10:24:30):
~#! on=Patryn ot=1082837432 og=treffen.bekanntmachungen
~#! rn=Mieze rt=1082820284 rg=treffen.bekanntmachungen
~#! tid=1082820284
Koennen wir machen...waere dabei.

-----------------------------------------------------------------------------



Muenchen? (Deepblue, 27. Apr 2004, 23:26:57):
Gibts den Muenchner Stati noch?
Ich bin die naechsten Wochen dienstlich in Ismaning...

-----------------------------------------------------------------------------



Re: Stati in Berlin (Grimmborn, 28. Apr 2004, 09:40:19):
~#! on=Ogo ot=1083109014 og=treffen.bekanntmachungen
~#! rn=Pitfall rt=1083098410 rg=treffen.bekanntmachungen
~#! tid=1083098410
Das ist ja ein denkbar unguenstiger Zeitpunkt, da findet doch die lustige
Veranstaltung im Mauerpark statt. Mit Sportprogramm, Animation und lauter
lustigen gruenen Maennchen. ;>

Ansonsten natuerlich: http://www.mai-steine.de/

Ogo, schmunzelnd

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Grimmborn, 28. Apr 2004, 09:40:25):
~#! on=Maharet ot=1083109078 og=treffen.bekanntmachungen
~#! rn=Ogo rt=1083109014 rg=treffen.bekanntmachungen
~#! tid=1083098410
Unsinn, die ist spaeter. Die fangen doch noch nicht um 20:00 Uhr an.

-----------------------------------------------------------------------------



Re^3: Stati in Berlin (Grimmborn, 28. Apr 2004, 09:40:35):
~#! on=Ogo ot=1083109152 og=treffen.bekanntmachungen
~#! rn=Maharet rt=1083109078 rg=treffen.bekanntmachungen
~#! tid=1083098410
Stimmt, um 20:00 haben die Polizisten noch keine Helme auf, sondern nur
Schirmmuetzen und die Gruenen Minnas verstecken sich im Jahn-Sportpark. Das
nennt sich dann (glaub ich) Deeskalationspolitik, richtig?

Ogo

-----------------------------------------------------------------------------



Re: Re: Spontan-Stammtisch in Hamburg am Samstag, den 15.05.2004 (Grimmborn, 17. Mai 2004, 11:59:05):
~#! on=Willow ot=1084467543 og=treffen.bekanntmachungen
~#! rn=Perdita rt=1084467160 rg=treffen.bekanntmachungen
~#! tid=1084388996
maenno - ihr seid fies! da hab ich doch schon nen termin *jammer*
das weiderl

-----------------------------------------------------------------------------



Re^3: Spontan-Stammtisch in Hamburg am Samstag, den 15.05.2004 (Grimmborn, 17. Mai 2004, 11:59:09):
~#! on=Krellja ot=1084542436 og=treffen.bekanntmachungen
~#! rn=Willow rt=1084467543 rg=treffen.bekanntmachungen
~#! tid=1084388996
: ist auch schon verplant.

Krellja

-----------------------------------------------------------------------------



Nuernberg... (Bambi, 19. Jun 2004, 22:11:08):
Ich bin ab morgen ein paar Tage *huestel* in Nuernberg. Gibts da MG-Mudder
und/oder einen Stati und/oder sonstige Treffen, die es sich zu besuchen lohnt?

-----------------------------------------------------------------------------



Re: Nuernberg... (Tektuko, 20. Jun 2004, 13:45:54):
~#! rn=Bambi rt=1087675868 rg=treffen
~#! tid=1087675868
Hehe hier gibts nich viele Mudder :) und auch keine treffen und sonstiges, btw
bin ich auch nur am Wochenende hier, arbeiten tu ich woanders

-----------------------------------------------------------------------------



Re: Re: Nuernberg... (Montanus, 21. Jun 2004, 09:08:41):
~#! rn=Tektuko rt=1087731954 rg=treffen
~#! tid=1087675868
Beileid Bambi. Ich hatte 9 Monate in Nuernberg, bin zum Glueck wieder auf
Bewaehrung draussen.
Aber in Erlangen gibt es eine recht aktive Ex-Mudder-Szene, sprich mal Marcus
an.

-----------------------------------------------------------------------------



Re^3: Nuernberg... (Marcus, 21. Jun 2004, 09:40:35):
~#! rn=Montanus rt=1087801721 rg=treffen
~#! tid=1087675868
Naja, Ex Mudder Szene.

Nuernberg und Umgebung hat: Anthea, Marcus, evt. Gwenili, evt. Lacri und 
ab und zu noch Hight ... aber dann hoerts scho bald auf. 


Ciao, Marcus

-----------------------------------------------------------------------------



Re^4: Nuernberg... (Lacri, 21. Jun 2004, 09:46:37):
~#! rn=Marcus rt=1087803635 rg=treffen
~#! tid=1087675868
Nein, mich hats nich... bin nur alle paar monate mal zu besuch da. 

Lacri

-----------------------------------------------------------------------------



Re^5: Nuernberg... (Gwenili, 21. Jun 2004, 10:17:29):
~#! rn=Lacri rt=1087803997 rg=treffen
~#! tid=1087675868
@Marcus: Ich heiss nicht "evt. Gwenili" :o)

Und hier in der Gegend gibt's schon noch ein paar andere, aber zu Stammtischen
rottet man sich eher nicht zusammen - und ob wir besuchenswert sind?
Also Nuernberger sind aus Sicht von Fuerthern nicht "besuchenswert"... *duck*
Ciao, Gwen.

-----------------------------------------------------------------------------



Re^6: Nuernberg... (Montanus, 21. Jun 2004, 11:51:39):
~#! rn=Gwenili rt=1087805849 rg=treffen
~#! tid=1087675868
Ich hab schon gestern zu Marcus gesagt: organisiert mal was Gescheites, zB
Fun-Golfturnier im Playmobil-Park in Zirndorf, nicht immer diese langweiligen
Bergkirchweihfeste, wo es (a) keine Berge gibt und (b) Biergaerten "Keller"
heissen, obwohl sie unter freiem Himmel sind.

-----------------------------------------------------------------------------



Re^7: Nuernberg... (Zook, 21. Jun 2004, 12:04:23):
~#! rn=Montanus rt=1087811499 rg=treffen
~#! tid=1087675868
Zirndorfer ist nen extrem leckeres Bier.

Zook.

-----------------------------------------------------------------------------



Re^8: Nuernberg... (Anthea, 21. Jun 2004, 12:06:09):
~#! rn=Zook rt=1087812263 rg=treffen
~#! tid=1087675868
Naja. Da mag ich das Steinbach noch viel lieber.

-----------------------------------------------------------------------------



Re^9: Nuernberg... (Grimmborn, 21. Jun 2004, 12:06:31):
~#! rn=Anthea rt=1087812369 rg=treffen
~#! tid=1087675868
Und das mit viel Grund, ja.

GdA

-----------------------------------------------------------------------------



Re^10: Nuernberg... (Montanus, 21. Jun 2004, 12:08:28):
~#! rn=Grimmborn rt=1087812391 rg=treffen
~#! tid=1087675868
Ins Landbierparadies muesste ich auch mal wieder.

-----------------------------------------------------------------------------



Re: Nuernberg... (Hight, 21. Jun 2004, 23:17:32):
~#! rn=Bambi rt=1087675868 rg=treffen
~#! tid=1087675868
kloa fuer n bier bin ich immer zu haben .o)

-----------------------------------------------------------------------------



Re^6: Nuernberg... (Hight, 21. Jun 2004, 23:18:52):
~#! rn=Gwenili rt=1087805849 rg=treffen
~#! tid=1087675868
wie immer gilt: leiber fuenfter als fuerther ...

-----------------------------------------------------------------------------



Re: Nuernberg... (Boing, 23. Jun 2004, 20:15:46):
~#! rn=Bambi rt=1087675868 rg=treffen
~#! tid=1087675868
Im Bereich Nuernberg/Erlangen gibts massig Wunderlaender ...
  Boing

-----------------------------------------------------------------------------



panos (Muadib, 25. Jun 2004, 08:04:05):
Hi,

der Karlsruher Stati macht morgen einen Ausflug zu seinem Altwirt in
Buechenau.
Wer mitwill und kurz entschlossen ist, der trudele morgen um 12 Uhr am
Parkplatz hinter dem Fasanengarten ein.

Gruss

Muadib

-----------------------------------------------------------------------------



Re^7: Nuernberg... (Bambi, 25. Jun 2004, 22:56:50):
~#! rn=Hight rt=1087852732 rg=treffen
~#! tid=1087675868
Ohne den Typo hab ich den Spruch diese Woche schon gehoert.
Ich trink zwar kein Bier, aber wenn Du mir mailst, wie ich dich erreichen
kann, koennen wir durchaus mal abends was unternehmen.

-----------------------------------------------------------------------------



Bonn (Catweazle, 28. Jun 2004, 22:16:03):

Moin!

Wenns kuzfristig kommt, dann dicke.
Ich bin nu doch diese Woche in Bad Godesberg. 
Ich bezweifel, dass ich Abends Zeit haben werde, aber ich wollts wenigstens
erwaehnt haben :-)

YTC

-----------------------------------------------------------------------------



Re^8: Nuernberg... (Marcus, 30. Jun 2004, 23:20:33):
~#! rn=Bambi rt=1088197010 rg=treffen
~#! tid=1087675868
Der Nuernberger Stammtisch hat sich dann vor 3 Stunden gewtroffen um die
Whoerder Wiesen
zu ueberfallen, anwesend: Bambi, Hight, Marcus. 

*grins*, Marcus

-----------------------------------------------------------------------------



Re^9: Nuernberg... (Darklor,  1. Jul 2004, 01:14:35):
~#! rn=Marcus rt=1088630433 rg=treffen
~#! tid=1087675868
Hoechst elitaer... ;)

Darklor

-----------------------------------------------------------------------------



Dortmund?!? (Shakedbeer,  1. Jul 2004, 22:20:22):
Watt iss nu mit Doatmund? Ich happ dah doch watt von Alkolol aus Eiman
gehoeat. Sach man wehr nen Termihn.

Scheikedbia.

-----------------------------------------------------------------------------



Re: Dortmund?!? (Amaryllis,  1. Jul 2004, 22:21:32):
~#! rn=Shakedbeer rt=1088713222 rg=treffen
~#! tid=1088713222
Hast Du den Koelna-Virus echwischt oda was? :)

Ama*, kichat alban.

-----------------------------------------------------------------------------



Re: Re: Dortmund?!? (Shakedbeer,  1. Jul 2004, 22:22:30):
~#! rn=Amaryllis rt=1088713292 rg=treffen
~#! tid=1088713222
Noe. Trainiere nur schonmal meine Zunge fuer die Zeit nach Alkohol aus Eimern.

Shaky.

-----------------------------------------------------------------------------



Re^3: Dortmund?!? (Alkohol,  1. Jul 2004, 22:23:10):
~#! rn=Shakedbeer rt=1088713350 rg=treffen
~#! tid=1088713222
wenn ihr das im August macht komm ich auch vielleicht

Alki

-----------------------------------------------------------------------------



Re^4: Dortmund?!? (Morgoth,  1. Jul 2004, 22:35:02):
~#! rn=Alkohol rt=1088713390 rg=treffen
~#! tid=1088713222

Jajaja, langsam. Mailt mir doch einfach mal Termine, an denen ihr (keine) Zeit
habt, dann schau ich, was ich drehen (und eimern kann) :)

M*

-----------------------------------------------------------------------------



Re^5: Dortmund?!? (Alkohol,  1. Jul 2004, 22:35:30):
~#! rn=Morgoth rt=1088714102 rg=treffen
~#! tid=1088713222
waere nicht ein grillen ne gute idee?

Alki

-----------------------------------------------------------------------------



Re^10: Nuernberg... (Hight,  2. Jul 2004, 16:40:34):
~#! rn=Darklor rt=1088637275 rg=treffen
~#! tid=1087675868
haben wir wen wichtigen vergessen?

 - Chris -

-----------------------------------------------------------------------------



Karlsruher Stammtisch 5.8.04, (Croft,  2. Aug 2004, 23:48:08):
Die letzte Gelegenheit Ilias, unseren Stammkneipenwirt, im Kleinen Meierhof
zu einem normalen Karlsruher Mud-Stammtisch zu besichtigen ist der 5.8.04.
Am Samstag(?) gibt es wohl noch eine Abschiedsfeier, danach ist die Kneipe
erstmal einige Wochen dicht (wohl Renovierung) und der Karlsruher
Stammtisch begibt sich 75 auf Wanderung.  Genaue Zielkoordinaten fuer die
Uebergangszeit werden noch bekanntgegeben.  Anschliessend kommt wohl ein
Tunesier, auf den wir schon recht gespannt sind.  Er hat sich bisher
geweigert, sich die ~10 Stammtischgruppen anzuschauen, insofern stellt sich
die Frage ob wir in 6 Wochen noch unseren Stammtisch dort begehen werden.
Nichtsdestotrotz: Kommet zuhauf zum letzten Karlsruher Stammtisch bei
Ilias.

Croft

-----------------------------------------------------------------------------



Re: Karlsruher Stammtisch 5.8.04, (Croft,  2. Aug 2004, 23:50:12):
~#! rn=Croft rt=1091483288 rg=treffen
~#! tid=1091483288
PS: Gibt es am Freitag hinreichend viele Interessenten fuer ein
    Flammkuchenessen? :>

Croft

-----------------------------------------------------------------------------



Re: Karlsruher Stammtisch 5.8.04, (Zook,  3. Aug 2004, 08:35:03):
~#! rn=Croft rt=1091483288 rg=treffen
~#! tid=1091483288
Kann es sein, dass Ihr in letzter Zeit einige Wirte verbraucht habt?

Zook.

-----------------------------------------------------------------------------



Re: Re: Karlsruher Stammtisch 5.8.04, (Croft,  3. Aug 2004, 09:44:01):
~#! rn=Zook rt=1091514903 rg=treffen
~#! tid=1091483288
Wie kommst du auf die Idee wir wuerden Wirte verbrauchen?  Ilias war doch
jetzt sicher 2 Jahre dort.  Und Panos ist nicht so weit weggezogen, als
dass er vor uns sicher ist.  Dem gehts wohl praechtig in der Seemuschel
(siehe http://www.av-buechenau.de/17503.html)

Croft

-----------------------------------------------------------------------------



Re^3: Karlsruher Stammtisch 5.8.04, (Muadib,  3. Aug 2004, 10:13:45):
~#! rn=Croft rt=1091519041 rg=treffen
~#! tid=1091483288
der abschied war nach aussage illias am freitag nicht am samstag
und ich werde da nicht anwesend sein
also kommet zuhauf

-----------------------------------------------------------------------------



Re^3: Karlsruher Stammtisch 5.8.04, (Zook,  3. Aug 2004, 10:47:46):
~#! rn=Croft rt=1091519041 rg=treffen
~#! tid=1091483288
So aehnlich hat es in Muenster bestimt auch angefangen.

Zook.

-----------------------------------------------------------------------------



Re^4: Karlsruher Stammtisch 5.8.04, (Catweazle,  4. Aug 2004, 02:31:30):
~#! rn=Zook rt=1091522866 rg=treffen
~#! tid=1091483288
Eben.
Ob Kneipen oder Kneipiers. Verbrauch ist Verbrauch :)

YTC

-----------------------------------------------------------------------------



Re: Re: Karlsruher Stammtisch 5.8.04, (Hobo,  6. Aug 2004, 13:26:09):
~#! rn=Croft rt=1091483412 rg=treffen
~#! tid=1091483288
s. Muadibs Artikel: eher Ilias als Flammkuchen :)

   Hobo - laesst ihren ExGott zum Reste-Saufen

-----------------------------------------------------------------------------



Re: DO-Stati (Mupfel, 12. Aug 2004, 21:19:03):
~#! rn=Morgoth rt=1092320472 rg=treffen.bekanntmachungen
~#! tid=1092320472
Och schade, an dem Wochenende bin ich nu ausgerechnet in Karlsruhe...

-mupfel-

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe 19.8.2004 (Grimmborn, 16. Aug 2004, 14:33:04):
~#! on=Zook ot=1092658619 og=treffen.bekanntmachungen
~#! rn=Boing rt=1092654872 rg=treffen.bekanntmachungen
~#! tid=1092654872
Ich kann leider nicht kommen, obwohl ich Urlaub habe.

Zook.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe 19.8.2004 (Boing, 16. Aug 2004, 16:52:13):
~#! rn=Grimmborn rt=1092659584 rg=treffen
~#! tid=1092654872
Schade, da gibts leckere frische Burger in riesigen Portionen, Salate,
Nudeln und speziell Donnerstag: spareribs all you can eat fuer 6,99 die
person oder 9,99 fuer 2 Personen. Und Cocktails gibts auchm, hab ich 
aber noch nicht probiert.
  Boing

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe 19.8.2004 (Catweazle, 18. Aug 2004, 00:30:29):
~#! rn=Boing rt=1092654872 rg=treffen.bekanntmachungen
~#! tid=1092654872
Dreck.

Das ist mir zu kurzfristig.
Ich hatte mir eh ueberlegt, mal in suedliche Richtung zu starten. Koennt ihr
den Ripchentag nicht naechste Woche machen? :-)

YTC

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe 19.8.2004 (Boing, 18. Aug 2004, 13:25:08):
~#! rn=Catweazle rt=1092781829 rg=treffen
~#! tid=1092654872
Vielleicht machen wir ja nochmal extra einen fuer Dich, wenn es uns
gefaellt. :)
  Boing

-----------------------------------------------------------------------------



Weinfest in Werne (Shakedbeer, 20. Aug 2004, 21:38:22):
Hi!

Besteht Interesse fuer einen Weinfest-Stati in Werne? Morgen abend gehts los.
Wir koennten uns gerne vorher in der Zeche treffen. Eine genaue Zeit wuerde
ich dann noch austuefteln...

Bitte meldet Euch!

Shaky - +1

-----------------------------------------------------------------------------



Weinfest in Werne <STORNO> (Shakedbeer, 21. Aug 2004, 13:08:57):
Grrrrr. Wie es aussieht, faellt das Weinfest wohl ins Wasser. Wer will schon
verwaesserten Wein trinken? 

Shaky - -1

-----------------------------------------------------------------------------



Weinfest in Werne <ERSATZ> (Shakedbeer, 21. Aug 2004, 16:58:32):
So. Nach laengeren Ueberlegungen geht nun folgendes: Da das Weinfest wegen
Regens verschoben wird, treffen wir uns in der Zeche zum
Weinfest-Ersatz-Rudelmudden-Stammtisch. D.h.: Ich hab noch ein paar gute
Tropfen im Serverraum und der Pizzaservice wird wohl gerne die Feste Nahrung
stellen. Wer Bier moechte, sollte das mitbringen. Wer nen Notebook o.ae.
mitbringt, kann auch mit Internetaccess versorgt werden
(MG/Ulite/wasauchimmer). Von mir aus koennt ihr euch schon in s Auto o.ae.
schwingen... Ich bin da...

Wer den Weg nicht kennt: 0175-2066553

Shaky +1

-----------------------------------------------------------------------------



Re^3: DO-Stati (Zook, 26. Aug 2004, 21:30:20):
~#! on=Zook ot=1093548614 og=treffen.bekanntmachungen
~#! rn=Morgoth rt=1093548578 rg=treffen.bekanntmachungen
~#! tid=1092320472
Wo liegt denn die kritische Masse?

Zook.

-----------------------------------------------------------------------------



Re: Re: Berlin (Grimmborn,  3. Sep 2004, 13:14:09):
~#! on=Kenny ot=1094209199 og=treffen.bekanntmachungen
~#! rn=Pitfall rt=1094141558 rg=treffen.bekanntmachungen
~#! tid=1093986319
Wenig gesichtete Gestalten werden heute abend zu euch stossen :)

-----------------------------------------------------------------------------



Re: Grillen (Grimmborn,  4. Sep 2004, 13:35:02):
~#! on=Mieze ot=1094286585 og=treffen.bekanntmachungen
~#! rn=Miril rt=1094254383 rg=treffen.bekanntmachungen
~#! tid=1094254383

Mieze +1

-----------------------------------------------------------------------------



Re: STammtisch in Xlendi (Croft,  5. Sep 2004, 02:10:28):
~#! rn=Mesirii rt=1094295057 rg=treffen.bekanntmachungen
~#! tid=1094295057
Sorry, der unangekuendigte Sonderstammtisch mit Mupfel und Anysidora dauerte
bis gerade eben und Tassram und mir wird das mit der Anreise jetzt
etwas knapp, zumal ich morgen noch etwas wichtiges erledigen muss.
Habt viel Spass!

Croft

-----------------------------------------------------------------------------



Re: Re: STammtisch in Xlendi (Gloinson,  5. Sep 2004, 02:15:52):
~#! rn=Croft rt=1094343028 rg=treffen
~#! tid=1094295057
Ja, wenn die Jungs sowas nicht immer so kurzfristig ansagen wuerden. Das war
schon mit dem Verne-StaTi so.


-----------------------------------------------------------------------------



Re: "Stammtisch" in Nuernberg 11.09 (Grimmborn,  9. Sep 2004, 20:44:34):
~#! rn=Hight rt=1094755382 rg=treffen.bekanntmachungen
~#! tid=1094755382
Weiterer Vorschlag koennte die Fat Lady in Erlangen einschliessen. Wenn schon
Fuerth im Bereich des Moeglichen ist.

Grimmborn aka Grimmborn

-----------------------------------------------------------------------------



Re: Re: "Stammtisch" in Nuernberg 11.09 (Hight,  9. Sep 2004, 20:48:12):
~#! rn=Grimmborn rt=1094755474 rg=treffen
~#! tid=1094755382
erlangen faellt aus da fahrt keine ubahn hin ,o)

chris

-----------------------------------------------------------------------------



Re^3: "Stammtisch" in Nuernberg 11.09 (Marcus,  9. Sep 2004, 23:32:34):
~#! rn=Hight rt=1094755692 rg=treffen
~#! tid=1094755382
Also am Samstag fahren auch Nacktbusse, insofern ist das fuer mich kein
Problem.

+1 erstmal.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^4: "Stammtisch" in Nuernberg 11.09 (Grimmborn,  9. Sep 2004, 23:33:26):
~#! rn=Marcus rt=1094765554 rg=treffen
~#! tid=1094755382
Hoert sich spannend an, send pix!

GdA

-----------------------------------------------------------------------------



Re^5: "Stammtisch" in Nuernberg 11.09 (Marcus,  9. Sep 2004, 23:36:30):
~#! rn=Grimmborn rt=1094765606 rg=treffen
~#! tid=1094755382
Gerne!

http://www.nahverkehr-franken.de/bus/img/nuernberg/nbg_518.jpg

Ciao, Marcus

-----------------------------------------------------------------------------



Re^6: "Stammtisch" in Nuernberg 11.09 (Humni,  9. Sep 2004, 23:38:14):
~#! rn=Marcus rt=1094765790 rg=treffen
~#! tid=1094755382
Och menno, nicht sowas wie...

www.nacktverkehr-franken.de/bus/img/nuernberg/nackte_weiber_und_so.jpg

Humni

-----------------------------------------------------------------------------



Re: Re: "Stammtisch" in Nuernberg 11.09 (Anthea, 10. Sep 2004, 11:07:34):
~#! rn=Grimmborn rt=1094755474 rg=treffen
~#! tid=1094755382
In Fuerth gab es doch auch so ein nettes irish Pub... wie hiess das doch
gleich?

-----------------------------------------------------------------------------



Re^3: "Stammtisch" in Nuernberg 11.09 (Hight, 10. Sep 2004, 12:19:26):
~#! rn=Anthea rt=1094807254 rg=treffen
~#! tid=1094755382
ich kenne 2 nette in nuernberg unweit vom bahnhof ... fuerth weiss ich net
aber da gibts noch paar nette kneipen am gruenen markt

chris

-----------------------------------------------------------------------------



Re^4: "Stammtisch" in Nuernberg 11.09 (Marcus, 10. Sep 2004, 13:12:51):
~#! rn=Hight rt=1094811566 rg=treffen
~#! tid=1094755382
Die eine in dieser Gasse, die vom Busbahnhof abgeht. Gwenili weiss sicher
wie die heisst ,)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^5: "Stammtisch" in Nuernberg 11.09 (Hight, 10. Sep 2004, 16:15:32):
~#! rn=Marcus rt=1094814771 rg=treffen
~#! tid=1094755382
in fuerth? 

in nuernberg kenn ich finnegans (is oki fuer unsere zwecke) shamrock
(discopub) und die katharinen klause (obs die noch gibt weiss ich allerdings
net) und da nebenan war das o sheas.

aber hey ich hab doch noch ideen wenn man mich drauf bringt ,o)

chris

-----------------------------------------------------------------------------



Re^6: "Stammtisch" in Nuernberg 11.09 (Marcus, 10. Sep 2004, 16:36:46):
~#! rn=Hight rt=1094825732 rg=treffen
~#! tid=1094755382
Ich kenne ja noch

- Irish Castle Pub (underground Irish Pub am Plaerrer)
- Ruhestoerung (hat auch Guinness ;)
- Whoerder Wiesen ... Wenn Wetter schoen ? 

Ciao, Marcus

-----------------------------------------------------------------------------



Re^7: "Stammtisch" in Nuernberg 11.09 (Hight, 11. Sep 2004, 11:19:00):
~#! rn=Marcus rt=1094827006 rg=treffen
~#! tid=1094755382
lass uns das am bahnhof diskutiern dann wissen wir auch wies wetter is .o)

chris

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe 16.9.2004 (Zook, 14. Sep 2004, 10:22:47):
~#! rn=Boing rt=1095149120 rg=treffen.bekanntmachungen
~#! tid=1095149120
Heimvorteil?

Zook.

-----------------------------------------------------------------------------



Re: Re: Stammtisch Karlsruhe 16.9.2004 (Boing, 14. Sep 2004, 10:25:47):
~#! rn=Zook rt=1095150167 rg=treffen
~#! tid=1095149120
Ja ;)
Kommst Du auch?
  Boing

-----------------------------------------------------------------------------



Re^3: Stammtisch Karlsruhe 16.9.2004 (Zook, 14. Sep 2004, 10:28:09):
~#! rn=Boing rt=1095150347 rg=treffen
~#! tid=1095149120
Ohne gleichartigen Heimvorteil wird das schwierig.

Zook.

-----------------------------------------------------------------------------



Re^4: Stammtisch Karlsruhe 16.9.2004 (Lurchi, 14. Sep 2004, 10:29:11):
~#! rn=Zook rt=1095150489 rg=treffen
~#! tid=1095149120
ich hab auch keinen heimvorteil, trotzdem werd ich aller voraussicht nach
hinkommen...
also hab dich nicht so :)

lurchi

-----------------------------------------------------------------------------



Re^5: Stammtisch Karlsruhe 16.9.2004 (Zook, 14. Sep 2004, 10:32:07):
~#! rn=Lurchi rt=1095150551 rg=treffen
~#! tid=1095149120
Holste mich ab? Dann koennen wir zusammenfahren.

Zook.

-----------------------------------------------------------------------------



Re: Abschiedsstati Halle (Boing, 14. Sep 2004, 14:04:42):
~#! rn=Cassandra rt=1095163214 rg=treffen.bekanntmachungen
~#! tid=1095163214
Wer ist denn die langjaehrige Mitbewohnerin?
  Boing

-----------------------------------------------------------------------------



Re: Re: Abschiedsstati Halle (Cassandra, 14. Sep 2004, 14:07:08):
~#! rn=Boing rt=1095163482 rg=treffen
~#! tid=1095163214
Wer soll es den wohl sein?
Jemand der seit langen hier studiert, aber schon laenger nichtmehr wirklich
hier wohnt.
































Mieze/ Alcina etc.

Cassy, aufloesend

-----------------------------------------------------------------------------



Re: Moma-Stammtisch Berlin (Gloinson, 16. Sep 2004, 23:16:30):
~#! rn=Gloinson rt=1095369274 rg=treffen.bekanntmachungen
~#! tid=1095369274
Achso, Sondergaeste haben sich angekuendigt. 2.5 an der Zahl. Einer ist schon
fast bald ein Berliner, die anderen schneien auch der Moma wegen rein.


-----------------------------------------------------------------------------



Re: Re: Moma-Stammtisch Berlin (Gloinson, 16. Sep 2004, 23:17:06):
~#! rn=Gloinson rt=1095369390 rg=treffen
~#! tid=1095369274
Achso, Happy Hour(s) sind von 20-22 und 1-2 Uhr. Recht preiswert dann. Wer
dann noch nicht da ist, muss per Telefon bei den Anwesenden ordern ;)


-----------------------------------------------------------------------------



Re: Moma-Stammtisch Berlin (Gloinson, 17. Sep 2004, 11:21:36):
~#! on=Ronda ot=1095380133 og=treffen.bekanntmachungen
~#! rn=Gloinson rt=1095369274 rg=treffen.bekanntmachungen
~#! tid=1095369274
Nichts so direkt gegen Dich, Gloinson. Aber ich glaub ich wuerd doch eher
darauf verzichten, mit Dir als Nacktschwaermer ins Moma zu gehen...

Ronda *pruede*

Ps: Nacktschwaermer heisst doch sicher, dass Du dann nackig vor den Bildern im
Moma stehst und allen davon vorschwaermst?

-----------------------------------------------------------------------------



Re: Re: Moma-Stammtisch Berlin (Gloinson, 17. Sep 2004, 11:21:38):
~#! on=Gloinson ot=1095412880 og=treffen.bekanntmachungen
~#! rn=Ronda rt=1095380133 rg=treffen.bekanntmachungen
~#! tid=1095369274
Neee, Nacktschwaermer sind einfach nur nackts unterwegs. Alle.


-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Shakedbeer, 24. Sep 2004, 08:51:13):
*Huepf* Endlich! Bin dabei! :o)

Shaky - schuettelt sich schonmal vor.

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe 30.9. - 21.10. (Croft, 24. Sep 2004, 16:37:11):
~#! rn=Bambi rt=1096036099 rg=treffen.bekanntmachungen
~#! tid=1096024406
Aehm, Bambi, du solltest vielleicht deine Art Artikel zu lesen und zu
interpretieren ueberdenken.

Croft

-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe 30.9. - 21.10. (Boing, 24. Sep 2004, 20:38:09):
~#! on=Bambi ot=1096036099 og=treffen.bekanntmachungen
~#! rn=Hobo rt=1096024406 rg=treffen.bekanntmachungen
~#! tid=1096024406
> Und am 28.10. gibt's hoffentlich im KM schon wieder einen neuen Wirt.
Wow, dass er SO SCHNELL merkt, dass er dort nicht erwuenscht ist, haette ich
ja nicht geglaubt, oder hat wer (von euch) einen Brandsatz ins Lokal
geschmissen, um es (wieder) schoener zu machen?

-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe 30.9. - 21.10. (Grimmborn, 24. Sep 2004, 22:14:00):
~#! on=Zook ot=1096052944 og=treffen.bekanntmachungen
~#! rn=Hobo rt=1096024406 rg=treffen.bekanntmachungen
~#! tid=1096024406
Reissen in KA langsam Muensteraner Verhaeltnisse ein? Ich habs ja schon immer
vermutet.

Zook.

-----------------------------------------------------------------------------



Re: Stati Nuernberg (Zook, 26. Sep 2004, 14:16:30):
~#! on=Zook ot=1096200948 og=treffen.bekanntmachungen
~#! rn=Bambi rt=1096152981 rg=treffen.bekanntmachungen
~#! tid=1096152981
Da findet doch bereits ein konspiratives Treffen in *nuschel* statt!

Zook kommt nicht nach N.

-----------------------------------------------------------------------------



Re: Stati Nuernberg (Grimmborn, 26. Sep 2004, 23:44:47):
~#! on=Hight ot=1096230210 og=treffen.bekanntmachungen
~#! rn=Bambi rt=1096152981 rg=treffen.bekanntmachungen
~#! tid=1096152981
s recht bin da ... wo diesmal?


chris

-----------------------------------------------------------------------------



Re: Stati Nuernberg (Grimmborn, 27. Sep 2004, 11:11:57):
~#! on=Gwenili ot=1096272510 og=treffen.bekanntmachungen
~#! rn=Bambi rt=1096152981 rg=treffen.bekanntmachungen
~#! tid=1096152981
Kommt drauf an wann/wo, aber grundsaetzlich waer ich dabei.
Gwen.

-----------------------------------------------------------------------------



Re: Re: Stati Nuernberg (Bambi, 27. Sep 2004, 22:13:40):
~#! rn=Grimmborn rt=1096276317 rg=treffen
~#! tid=1096152981
Ah.
Also ich habe noch nichts gesucht. Ich wuerde in einem Spieleentwicklerforum
noch zwei Leute anschreiben, die ggf. auch mal vorbeischauen wuerden und dann
umgehend suechtig gemacht zu werden haben. Im Prinzip koemmer da hingehen, wo
wir s letzte mal waren.

-----------------------------------------------------------------------------



Re^3: Stati Nuernberg (Marcus, 27. Sep 2004, 22:27:08):
~#! rn=Bambi rt=1096316020 rg=treffen
~#! tid=1096152981
Bis jetzt hab ich noch nix vor, insofern evt +1 

Ciao, Marcus

-----------------------------------------------------------------------------



Re^4: Stati Nuernberg (Hight, 28. Sep 2004, 09:57:16):
~#! rn=Marcus rt=1096316828 rg=treffen
~#! tid=1096152981
also wieder s finnegans *notzikritzel*
werd erst so gegen 21:00 erscheinen also nich wieder um 22:00 aufbruchstimmung
verbreiten ,o)

Chris

-----------------------------------------------------------------------------



Re^5: Stati Nuernberg (Bambi, 28. Sep 2004, 20:14:44):
~#! rn=Hight rt=1096358236 rg=treffen
~#! tid=1096152981
Aeh, ich wollte 18 oder 19 Uhr anfangen, damit es fuer die Auswaertigen ohne
Auto nicht zu spaet wird. Kannst Du bis Fuerth Geleitschutz stellen?

-----------------------------------------------------------------------------



Re: Re: Stati Nuernberg (Darklor, 29. Sep 2004, 01:52:15):
~#! rn=Zook rt=1096200990 rg=treffen
~#! tid=1096152981
Gibts es denn in Nuschel ueberhaupt geeignete Orte fuer ein konspireatives
Treffen? ;) 

Darklor

-----------------------------------------------------------------------------



Re^6: Stati Nuernberg (Hight, 29. Sep 2004, 15:42:59):
~#! rn=Bambi rt=1096395284 rg=treffen
~#! tid=1096152981
aendert nix dran das ich vor 21 Uhr wol nirgends bin

chris

-----------------------------------------------------------------------------



Re^7: Stati Nuernberg (Gwenili, 30. Sep 2004, 10:32:52):
~#! rn=Hight rt=1096465379 rg=treffen
~#! tid=1096152981
21 uhr, gustavstrasse, fuerth (zB Insel)?
oder irish cottage? oder halt doch was in n...
... wobei ich nicht sooo gern abends mit der u-bahn da unterwegs bin.
Ciao, Gwen.

-----------------------------------------------------------------------------



Re^8: Stati Nuernberg (Hight, 30. Sep 2004, 11:41:32):
~#! rn=Gwenili rt=1096533172 rg=treffen
~#! tid=1096152981
hajo ueberlegt euch was und sagt mir dann wo ich hin soll ... zur not rufts
mich an

-----------------------------------------------------------------------------



Re^9: Stati Nuernberg (Heromcfly, 30. Sep 2004, 18:34:39):
~#! rn=Hight rt=1096537292 rg=treffen
~#! tid=1096152981
solltet euch langsam entscheiden 
fuers finnegan spricht das es zentral leigt und man direkt n anschluss an die
oevis hat

die insel hat allerdings den vorteil das man warscheinlicher n parkpaltz in
der naehe kriegt falls man mit dem auto faehrt und natuerlich die tatsache das
sie kein pub ist :P

ich persoenlich waere fuer die insel

2100

-----------------------------------------------------------------------------



Re^10: Stati Nuernberg (Gwenili,  1. Okt 2004, 09:25:39):
~#! rn=Heromcfly rt=1096562079 rg=treffen
~#! tid=1096152981
Ich waer auch fuer Insel bzw. Fuerther Kirchweih.
Um halb zehn ist Feuerwerk, falls Euch sowas begeistert.
(http://www.fuerther-kirchweih.de/ - fuer die Nuernberger ;) )
Vorschlag: Treffen um 19:30 Uhr vorm Bahnhofshaupteingang
bzw. 21:00 Uhr am MCD-Eck.

Ciao, Gwen.

-----------------------------------------------------------------------------



Re^11: Stati Nuernberg (Anthea,  1. Okt 2004, 09:28:11):
~#! rn=Gwenili rt=1096615539 rg=treffen
~#! tid=1096152981
Du brauchst 90 Minuten, um vom Bahnhof zum McD zu kommen? ;)

-----------------------------------------------------------------------------



Re^12: Stati Nuernberg (Gwenili,  1. Okt 2004, 09:32:09):
~#! rn=Anthea rt=1096615691 rg=treffen
~#! tid=1096152981
genau ;)

-----------------------------------------------------------------------------



Re^13: Stati Nuernberg (Marcus,  1. Okt 2004, 09:42:49):
~#! rn=Gwenili rt=1096615929 rg=treffen
~#! tid=1096152981
Zur Fuerther Michaelis Kirchweih ... naja, wenn man an jeder Bude haengen
bleibt ;)

Ciao, MArcus

-----------------------------------------------------------------------------



Re^14: Stati Nuernberg (Hight,  1. Okt 2004, 10:31:55):
~#! rn=Marcus rt=1096616569 rg=treffen
~#! tid=1096152981
ihr macht das ... ich ruf an wo ihr seit wenn ich zu euch stossen will .o) 

chris

-----------------------------------------------------------------------------



Re^15: Stati Nuernberg (Gwenili,  1. Okt 2004, 10:38:03):
~#! rn=Hight rt=1096619515 rg=treffen
~#! tid=1096152981
Ist halt die Frage, wer ueberhaupt kommt.
Ich will Dich und Bambi nicht von Nuernberg abhalten, wenn sonst eh keiner
kommt.
In ein Pub nach N werd ich diesen Samstag eher nicht fahren, weil ich
dann um ca. 23:00 Uhr wieder losmuesst (wegen OePNV) oder Euch beim
Biertrinken zuschaun muesst, was ich nicht als attraktive Abendbeschaeftigung
anseh...
Nachdem Anthea und Marcus eh rummuckern, wuensch ich Euch dann schon mal
nen schoenen Samstagabend :)
Ciao, Gwen.

-----------------------------------------------------------------------------



Re^16: Stati Nuernberg (Hight,  1. Okt 2004, 14:09:21):
~#! rn=Gwenili rt=1096619883 rg=treffen
~#! tid=1096152981
ich find fuerth in ordnung die... muss nur jemand bambi hinlotsen ... btw.
hero mach dir mal gedanken was wir anschlissend treiben koennten ... bambi is
ja alt ,o)

-----------------------------------------------------------------------------



Re^17: Stati Nuernberg (Unox,  1. Okt 2004, 16:58:30):
~#! rn=Hight rt=1096632561 rg=treffen
~#! tid=1096152981

so wies momentan aussieht siehts net danach aus als wuerd da noch sowas wien
stammtisch
rauskommen ... ich werd mich am wochenende anderweitig vergnuegenb denk ich

unox aka mcfly

-----------------------------------------------------------------------------



Re^17: Stati Nuernberg (Bambi,  1. Okt 2004, 18:34:04):
~#! rn=Hight rt=1096632561 rg=treffen
~#! tid=1096152981
Der DSB schickt grad keine Leute. Meinetwegen koemmer auch Fuerth nehmen. Das
sollte ich finden. Mehr oder weniger. Treffen am Ikea? Den koennte ich
wiedererkennen. ;)
Und meinetwegen auch erst um 21 Uhr.

-----------------------------------------------------------------------------



Re^18: Stati Nuernberg (Marcus,  2. Okt 2004, 00:08:35):
~#! rn=Bambi rt=1096648444 rg=treffen
~#! tid=1096152981
Also, IKEA ist am Arsch der Welt, die Kerwa ist mitten in der Innenstadt. Ich
empfehle
eher UBahn oder Zugfahren zum Fuerth HBF und dann hinlaufen (3 minuten
Fussweg).

Ich finde die Kerwa auch schoener wenns noch hell ist, insofern wuerde ich
schon 18
oder 19 uhr sammeln vorschlagen und HighT dann 21 uhr oder so am McDonalds
(mittendrin
in der Kerwa) auflesen ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^19: Stati Nuernberg (Hight,  2. Okt 2004, 00:29:15):
~#! rn=Marcus rt=1096668515 rg=treffen
~#! tid=1096152981
ich hab das mit dem datum total verplant ... ich werd zur gegeben zeit da sein
... sagen wir 18:00 fuerth hauptbahnhof bzw. 18:30 in nuernberg fuer bambi 

chris

-----------------------------------------------------------------------------



Re^20: Stati Nuernberg (Gwenili,  2. Okt 2004, 06:41:30):
~#! rn=Hight rt=1096669755 rg=treffen
~#! tid=1096152981
hmm... ??? :)
Ich nehm einfach mal an, Du meinst 18:30 FUe-Hbf. und 18:00 N-HbF. ;)
=> Bin dann um 18:30 am Eingang des Fuerther Bahnhofs, Marcus wird mich
hoffentlich noch erkennen.
Bis dann, Gwen.

-----------------------------------------------------------------------------



Re^21: Stati Nuernberg (Bambi,  2. Okt 2004, 09:18:02):
~#! rn=Gwenili rt=1096692090 rg=treffen
~#! tid=1096152981
Wenn man sich die Zahl der Artikel ansieht, die wir zum Koordinieren des
Termins benoetigen, koennte man meinen, wir ziehen eine richtige Mudparty auf.
;)
Nuernberg HBF um 18 Uhr also. Ok, ich versuche, dort zu sein.

-----------------------------------------------------------------------------



Re^22: Stati Nuernberg (Gwenili,  2. Okt 2004, 09:20:58):
~#! rn=Bambi rt=1096701482 rg=treffen
~#! tid=1096152981
yeah! :)die 50 kriegen wir heut schon noch voll
Gwen.

-----------------------------------------------------------------------------



Re^22: Stati Nuernberg (Croft,  2. Okt 2004, 09:24:03):
~#! rn=Bambi rt=1096701482 rg=treffen
~#! tid=1096152981
Ich glaube eher, dass ihr extrem unkoordiniert vorgeht :-)

Croft

-----------------------------------------------------------------------------



Re^23: Stati Nuernberg (Bambi,  2. Okt 2004, 09:24:33):
~#! rn=Croft rt=1096701843 rg=treffen
~#! tid=1096152981
Andere nennen so etwas "flexibel". :)

-----------------------------------------------------------------------------



Re^24: Stati Nuernberg (Gwenili,  2. Okt 2004, 09:26:33):
~#! rn=Bambi rt=1096701873 rg=treffen
~#! tid=1096152981
... wobei's schon was von der Volksfront von Judaea hat.
)
Gwen.

-----------------------------------------------------------------------------



Re: Dortmund 12. 10. (Grimmborn,  6. Okt 2004, 15:34:20):
~#! rn=Rochus rt=1097069604 rg=treffen.bekanntmachungen
~#! tid=1097069604
Das hoert sich ja verlockend an, aber wenn ich fuer 4 EUR alle Cocktails
kaufen wuerde, was wuerdet ihr dann noch zu trinken kriegen? 

GdAa

-----------------------------------------------------------------------------



Re: Re: Dortmund 12. 10. (Humni,  6. Okt 2004, 17:19:00):
~#! rn=Grimmborn rt=1097069660 rg=treffen
~#! tid=1097069604
Na, erstmal alle Cocktails. Damit kommst Du ueblicherweise ueber den Abend.
Eine Kneipe hab ich noch nicht leergetrunken. Und das will vielleicht doch was
heissen.

Humni

-----------------------------------------------------------------------------



Re: Dortmund 12. 10. (Arathorn,  6. Okt 2004, 19:21:03):
~#! rn=Rochus rt=1097069604 rg=treffen.bekanntmachungen
~#! tid=1097069604
Wer auch Hunger hat, sollte evtl. etwas eher dort sein, da (zumindest war das
vor nicht allzu langer Zeit so) das Essen bis 20 Uhr auch billiger ist
(irgendwas um 20% oder so).

Arathorn, noch unentschieden.

-----------------------------------------------------------------------------



Re: Muensteraner Stammtisch am 15.10. (Mupfel,  6. Okt 2004, 21:57:15):
~#! rn=Catweazle rt=1097070444 rg=treffen.bekanntmachungen
~#! tid=1097070444
Fein! Wir kommen dann zu zweit ;)

-mupfel-

-----------------------------------------------------------------------------



Re: Dortmund 12. 10. (Grimmborn,  6. Okt 2004, 23:09:18):
~#! on=Mieze ot=1097095205 og=treffen.bekanntmachungen
~#! rn=Rochus rt=1097069604 rg=treffen.bekanntmachungen
~#! tid=1097069604
Soso, wer wird es denn sein? 

Mieze - wollte auch mal wieder zum Dortmunder Stati

-----------------------------------------------------------------------------



Re: Muensteraner Stammtisch am 15.10. (Grimmborn,  7. Okt 2004, 18:43:55):
~#! on=Foobar ot=1097167357 og=treffen.bekanntmachungen
~#! rn=Catweazle rt=1097070444 rg=treffen.bekanntmachungen
~#! tid=1097070444
Gibt's da Long Island Ice Teas?

-----------------------------------------------------------------------------



Re: Re: Muensteraner Stammtisch am 15.10. (Catweazle,  8. Okt 2004, 07:17:47):
~#! rn=Grimmborn rt=1097167435 rg=treffen
~#! tid=1097070444
Mag sein, ich bin nicht sicher.
Notfalls koennen wir aber fuer dich 10 kommen lassen.

YTC

-----------------------------------------------------------------------------



Re: Re: Muensteraner Stammtisch am 15.10. (Puk,  9. Okt 2004, 13:09:32):
~#! rn=Grimmborn rt=1097167435 rg=treffen
~#! tid=1097070444
ich glaub davon hast du an einem besagten abend mehr als genug getrunken :))

-----------------------------------------------------------------------------



Re: Re: Dortmund 12. 10. (Rochus,  9. Okt 2004, 21:37:08):
~#! rn=Grimmborn rt=1097096958 rg=treffen
~#! tid=1097069604
Lies nochmal, mit welchen Worten ich den Gast angekuendigt habe -
das hat schon seinen Grund ;-)

-----------------------------------------------------------------------------



Re^3: Dortmund 12. 10. (Mieze,  9. Okt 2004, 22:24:59):
~#! rn=Rochus rt=1097350628 rg=treffen
~#! tid=1097069604

Mist. Lesen (wie ging das gleich nochmal?). Muss kurzfristig die Woche nach
Muenchen und treibe da mein Unwesen. Gibts da stammtischtechnisch vielleicht
was?

Mieze - reist durchs Land

-----------------------------------------------------------------------------



Re: Muensteraner Stammtisch am 15.10. (Nedime, 14. Okt 2004, 15:59:44):
~#! rn=Catweazle rt=1097070444 rg=treffen.bekanntmachungen
~#! tid=1097070444
+2


Nedime

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe 28.10. - 18.11. (Croft, 23. Okt 2004, 23:02:31):
~#! rn=Hobo rt=1098553924 rg=treffen.bekanntmachungen
~#! tid=1098393606
<WITZERKLAER> Das ist ausdruck derHoffnung </WITZERKLAER>

Croft

-----------------------------------------------------------------------------



Re^3: Stammtische Karlsruhe 28.10. - 18.11. (Montanus, 25. Okt 2004, 16:49:26):
~#! rn=Croft rt=1098565351 rg=treffen
~#! tid=1098393606
Wow. Croft scheint den Mandragon des Monats-Titel bekommen zu wollen.

-----------------------------------------------------------------------------



Re: Stammtisch Fuerth 27.10. (Bambi, 27. Okt 2004, 09:22:40):
~#! on=Bambi ot=1098812848 og=treffen.bekanntmachungen
~#! rn=Marcus rt=1098805463 rg=treffen.bekanntmachungen
~#! tid=1098805463
+=2, vielleicht auch nur +=1
Haettet ihr den Stati am Donnerstag angesetzt, dann mindestens +=3, vielleicht
auch +=4

-----------------------------------------------------------------------------



Nuernberger Metzelorgien (Bambi, 30. Nov 2004, 23:54:42):
Heute trafen sich die nuernberger Mudder zu einem gemeinsamen Ueberfall auf
Spanien.
Puenktlich eine halbe Stunde nach dem offiziellen Beginn der Invasion trafen
sich drei Mitglieder des Supportteams am Ort des Geschehens ein...
um festzustellen, dass das Team gar nicht vollstaendig war. Teile der Crew
informierten bei telefonischer Nachfrage darueber, ueberhaupt nicht am Run
beteiligt sein zu koennen, andere Mitglieder waren einfach nicht auffindbar.
Ausserdem stellte sich heraus, dass wir gar nicht Spanien, sondern Mexiko
belagerten. Nachdem die Zelte dann um 20 Uhr mangels freier Eroberungsflaeche
abbrachen, fuhr die Kernbesatzung zu Oma, um in ihrer Kueche die nicht
erbeuteten Schaetze anderweitig zu ersetzen.
Dies waere auch gelungen, wenn Oma nicht zwischenzeitlich verstorben oder ins
Altersheim abgewandert waere.

Voellig frustriert wurde schliesslich der Kompromiss gefunden, wenigstens der
Welt etwas Gutes zu tun und die USA zu ueberfallen. Erstaunlicherweise
funktionierte dies hervorragend und alle tranken Unmengen an Killkenny's.
Alle ausser die, die der Meinung waren, dass man bei einem Amerikaner
unmoeglich gutes Killkenny's bekommen kann. Aber was solls, in den USA wohnen
ja auch verkappte Iren.

Und letztendlich gab es zwei Burger zum Preis von einem, was man auch der
Nachfrage verdanken koennte, die wir bezueglich einer
Stammtischreservierungsmoeglichkeit stellten. Siehe da: man kann reservieren.
Ich enthebe daher Ereschi mangels einer (mir bekannten) Handynummer von der
(heutigen) Stammtischorganisation und lege mehrheitlich (oder notfalls
magierwillkuerlich) fest, dass wir eine potenzielle Stammkneipe gefunden
haben: das V8.

MfG, Bambi.

-----------------------------------------------------------------------------



Re: Nuernberger Metzelorgien (Zook,  1. Dez 2004, 08:53:36):
~#! rn=Bambi rt=1101855282 rg=treffen
~#! tid=1101855282
Was genau ist mit Omas Kueche passiert?

Zook.

-----------------------------------------------------------------------------



Re: Re: Nuernberger Metzelorgien (Marcus,  1. Dez 2004, 14:57:00):
~#! rn=Zook rt=1101887616 rg=treffen
~#! tid=1101855282
Was ist das V8 ? Und wo ist es ? ;) Und was ist es ?

Ciao, Marcus

-----------------------------------------------------------------------------



Re^3: Nuernberger Metzelorgien (Gloinson,  1. Dez 2004, 14:57:32):
~#! rn=Marcus rt=1101909420 rg=treffen
~#! tid=1101855282
Normalerweise ist es ein Motor und der ist unter einer Motorhaube.


-----------------------------------------------------------------------------



Re^4: Nuernberger Metzelorgien (Zook,  1. Dez 2004, 16:50:29):
~#! rn=Gloinson rt=1101909452 rg=treffen
~#! tid=1101855282
Und ich weiss immer noch nicht, was mit Omas Kuechen los ist.

Zook.

-----------------------------------------------------------------------------



Re^5: Nuernberger Metzelorgien (Bambi,  1. Dez 2004, 21:35:12):
~#! rn=Zook rt=1101916229 rg=treffen
~#! tid=1101855282
Omas Kueche, bzw. Omas Haus und Omas Vorgarten sehen so aus, wie das Dorf im
Duesterwald verwuestet ist. Omas Kueche hat anscheinend keine Oma mehr.
Das V8 ist, wie der Artikel naeherzubringen versuchte, eine Kneipe mit
amerikanischem Essen, irischem Bier und deutscher Cola.

Fuer wann soll ich den naechsten Stati planen?

-----------------------------------------------------------------------------



Re: Nuernberger Metzelorgien (Hight,  7. Dez 2004, 19:49:48):
~#! rn=Bambi rt=1101855282 rg=treffen
~#! tid=1101855282
wo's das denn?

-----------------------------------------------------------------------------



Re^6: Nuernberger Metzelorgien (Hight,  7. Dez 2004, 19:50:56):
~#! rn=Bambi rt=1101933312 rg=treffen
~#! tid=1101855282
hmmm ueberleg dir was ... ich fuer meinen teil muss bis auf weiteres mo - fr
von 13:30 bis 22:00 hier die zeit totschlagen

chris

-----------------------------------------------------------------------------



Re: Sonderstati mit Bauchtanz (Zook, 12. Dez 2004, 13:17:50):
~#! rn=Mesirii rt=1102852291 rg=treffen.bekanntmachungen
~#! tid=1102852291
Also das "(c>) Foobar" mag ich doch mal anzweifeln...

Zook.

-----------------------------------------------------------------------------



Re: Stati Nuernberg. (Marcus, 14. Dez 2004, 17:34:52):
Donnerstag Abend hoert sich gut an ... 

+2, Marcus

-----------------------------------------------------------------------------



Re: Stammtisch Karlsruhe 23.12 (Grimmborn, 23. Dez 2004, 10:28:19):
~#! on=Montanus ot=1103790061 og=treffen.bekanntmachungen
~#! rn=Croft rt=1103734828 rg=treffen.bekanntmachungen
~#! tid=1103734828
Oh, in Karlsruhe wurde schon ein Platz nach dem deutschen Meister 2004
benannt? Das haette ich nun nicht erwartet...

-----------------------------------------------------------------------------



Re: Fruehstuecksstammtisch im Pott (Nedime,  6. Jan 2005, 16:39:24):
~#! rn=Mieze rt=1105025898 rg=treffen.bekanntmachungen
~#! tid=1105025898
Interesse. Zumal es von hier 5 min den Berg runter ist ;).
Miril

-----------------------------------------------------------------------------



Re: Fruehstuecksstammtisch im Pott (Taranis,  6. Jan 2005, 18:26:42):
~#! rn=Mieze rt=1105025898 rg=treffen.bekanntmachungen
~#! tid=1105025898
Ach, schade, ich waere gerne gekommen, aber leider bin ich Sonntag morgen noch
in Mainz... :-(
Taranis, den naechsten Stati erwartend

-----------------------------------------------------------------------------



Re: Fruehstuecksstammtisch im Pott (Grimmborn,  6. Jan 2005, 19:00:57):
~#! on=Medic ot=1105030604 og=treffen.bekanntmachungen
~#! rn=Mieze rt=1105025898 rg=treffen.bekanntmachungen
~#! tid=1105025898
Wenn ich frei hab, bin ich bei so etwas gerne dabei :-)

-----------------------------------------------------------------------------



Re^3: Fruehstuecksstammtisch im Pott (Miril, 11. Jan 2005, 15:46:06):
~#! rn=Medic rt=1105454718 rg=treffen.bekanntmachungen
~#! tid=1105025898
Hier. Humni wohl auch.

-----------------------------------------------------------------------------



Re^4: Fruehstuecksstammtisch im Pott (Mieze, 11. Jan 2005, 15:59:06):
~#! rn=Miril rt=1105454766 rg=treffen
~#! tid=1105025898
Bin dabei: am 16. und 23. ==> Mieze 2x (+1)

-----------------------------------------------------------------------------



Re: Re: Fruehstuecksstammtisch im Pott (Grimmborn, 11. Jan 2005, 19:11:24):
~#! on=Medic ot=1105454718 og=treffen.bekanntmachungen
~#! rn=Miril rt=1105454494 rg=treffen.bekanntmachungen
~#! tid=1105025898
An dem Datum kann ich leider nicht, aber es spricht ja nichts dagegen, das
ganze mehrfach stattfinden zu lassen: Wer haette denn am kommenden Sonntag,
den 16.1. Zeit und Lust, auch dort zu sein?

Gruss,
Medic

-----------------------------------------------------------------------------



Re^3: Fruehstuecksstammtisch im Pott (Taranis, 11. Jan 2005, 19:46:35):
~#! rn=Grimmborn rt=1105467084 rg=treffen
~#! tid=1105025898
Ich haette am 16.1. wohl Zeit und wuerde auch kommen wollen. :-)

Viele Gruesse,
Taranis

-----------------------------------------------------------------------------



Re^4: Fruehstuecksstammtisch im Pott (Liara, 11. Jan 2005, 19:48:43):
~#! rn=Taranis rt=1105469195 rg=treffen
~#! tid=1105025898
Habe auch Interesse. Beteiligung haengt von Tagesform ab. :)

-----------------------------------------------------------------------------



Re: Dresden (Seit langem mal wieder) (Zook, 12. Jan 2005, 15:11:22):
~#! rn=Deepblue rt=1105539046 rg=treffen.bekanntmachungen
~#! tid=1105539046
mist, und ich kann nicht.

zook.

-----------------------------------------------------------------------------



Re: SonderSushiStammtisch Karlsruhe 16.1 (Zook, 16. Jan 2005, 18:35:19):
~#! rn=Croft rt=1105896791 rg=treffen.bekanntmachungen
~#! tid=1105896791
haetteste ma was frueher gesagt ;)

zook.

-----------------------------------------------------------------------------



Re: SonderSushiStammtisch Karlsruhe 16.1 (Gloinson, 17. Jan 2005, 00:10:25):
~#! rn=Croft rt=1105896791 rg=treffen.bekanntmachungen
~#! tid=1105896791
Danke an Maharet und Mesirii fuer die nette Unterbringung und Unterhaltung
Baals, Martinis und meinereiner. Der Service war so gut, dass wir es grad mal
heute zum Wandern geschafft haben (wir haben es ueberlebt). Aber demnaechst
ist ja wieder Berliner StaTi ... ;)


-----------------------------------------------------------------------------



Re: Re: SonderSushiStammtisch Karlsruhe 16.1 (Maharet, 17. Jan 2005, 11:20:09):
~#! rn=Gloinson rt=1105917025 rg=treffen
~#! tid=1105896791
Ja, wir sind nicht bei jedem so grosszuegig, wenn es darum geht, Gaeste kochen
und abwaschen zu lassen ;)

-----------------------------------------------------------------------------



Re^3: SonderSushiStammtisch Karlsruhe 16.1 (Turbo, 17. Jan 2005, 11:44:16):
~#! rn=Maharet rt=1105957209 rg=treffen
~#! tid=1105896791
Die Gaeste abwaschen zu lassen, bevor man sie kocht, ist natuerlich eine
gute Idee. Werden sie vorher geschlachtet oder geht das wie mit den
Hummern? 

*neugierig* Turbo (Kater?

-----------------------------------------------------------------------------



Re^4: SonderSushiStammtisch Karlsruhe 16.1 (Darklor, 17. Jan 2005, 12:56:37):
~#! rn=Turbo rt=1105958656 rg=treffen
~#! tid=1105896791
Und dann gaebs da noch die Moeglichkeit sie wie Obst und Gemuese zu behandeln,
welches man unter umstaenden auch im ganzen roh verspeisen koennte... 

Darklor

-----------------------------------------------------------------------------



Re^5: Fruehstuecksstammtisch im Pott (Shakedbeer, 19. Jan 2005, 19:36:05):
~#! rn=Liara rt=1105469323 rg=treffen
~#! tid=1105025898
bin am 23. wohl dabei. sagt mal ne uhrzeit!

Shaky

-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Zook, 20. Jan 2005, 23:05:18):
~#! rn=Croft rt=1106258166 rg=treffen.bekanntmachungen
~#! tid=1106258166
Wenn ich nicht dauernd wechseln wuerdet, koennte man ja mal einen Besuch
planen. ;)

Zook.

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Croft, 20. Jan 2005, 23:10:16):
~#! rn=Zook rt=1106258718 rg=treffen
~#! tid=1106258166
Plan einfach und wir passen uns ggf dir an? :-)

Croft

-----------------------------------------------------------------------------



Re^3: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Anysidora, 20. Jan 2005, 23:16:36):
~#! rn=Croft rt=1106259016 rg=treffen
~#! tid=1106258166
und das funktioniert sogar, ich habs heute getestet *g*

any, schuld fuer die aenderung seiend O:-)

-----------------------------------------------------------------------------



Re^4: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Zook, 20. Jan 2005, 23:24:26):
~#! rn=Anysidora rt=1106259396 rg=treffen
~#! tid=1106258166
das "ggf" stoert noch.

zook.

-----------------------------------------------------------------------------



Re^5: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Anysidora, 20. Jan 2005, 23:30:01):
~#! rn=Zook rt=1106259866 rg=treffen
~#! tid=1106258166
ich nehm mal an, das ggf steht da nur, weil croft nicht die ganze
entscheidungsgewalt an dich reissen will, sondern den anderen auch noch ein
wenig mitspracherecht einraeumen moechte, was den ort des statis anbelangt ;)

-----------------------------------------------------------------------------



Re^6: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Anysidora, 20. Jan 2005, 23:30:47):
~#! rn=Anysidora rt=1106260201 rg=treffen
~#! tid=1106258166
aeh, an sich reissen meinte ich natuerlich ;)

-----------------------------------------------------------------------------



Re^7: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Croft, 20. Jan 2005, 23:35:59):
~#! rn=Anysidora rt=1106260247 rg=treffen
~#! tid=1106258166
Ich moechte zumindest nicht Zook die komplette Entscheidungsgewalt geben.
Er ist schliesslich nicht Der Bestimmer.

Croft

-----------------------------------------------------------------------------



Re: Re: Erster MG-Programmier-Brunch in Essen am 6.2. (Zook, 24. Jan 2005, 09:33:21):
~#! rn=Shakedbeer rt=1106499061 rg=treffen.bekanntmachungen
~#! tid=1106498879
Was wird geproggt? LPC oder Flash?

Zook.

-----------------------------------------------------------------------------



Re^3: Erster MG-Programmier-Brunch in Essen am 6.2. (Shakedbeer, 24. Jan 2005, 17:11:01):
~#! rn=Zook rt=1106555601 rg=treffen
~#! tid=1106498879
LPC wahrscheinlich. ;-) Flash baue ich lieber am Dualmonitor, aber die
schleppe cih sicher nicht mit zum Fruehstuecken. :o)

Shaky.

-----------------------------------------------------------------------------



Hamburger, macht mal was (Montanus, 14. Feb 2005, 10:47:05):
In HH gibt es doch diese tolle Eisenbahn-Ausstellung in der Speicherstadt.
Will da nicht mal jemand einen Gruppentrip hin organisieren? Von mri aus darf
man das dann auch Stammtisch nennen...


-----------------------------------------------------------------------------



Re: Hamburger, macht mal was (Darklor, 14. Feb 2005, 14:21:27):
~#! rn=Montanus rt=1108374425 rg=treffen
~#! tid=1108374425
Von wo denn aus?

Darklor

-----------------------------------------------------------------------------



Re: Re: Hamburger, macht mal was (Highlander, 14. Feb 2005, 15:07:21):
~#! rn=Darklor rt=1108387287 rg=treffen
~#! tid=1108374425
Bonze. Level 37, Expodrine.

HrT

-----------------------------------------------------------------------------



Re: Zweites MG-Programmier-Fruehstueck am 20.2. (Shakedbeer, 14. Feb 2005, 16:51:43):
Wer kommt denn jetzt alles nach Essen zum Essen am WE?

Shaky.

-----------------------------------------------------------------------------



Re: SonderStaTi Berlin 22. Februar (Pitfall, 16. Feb 2005, 12:24:07):
~#! rn=Gloin rt=1108551519 rg=treffen.bekanntmachungen
~#! tid=1108551519
Erschiesst Catty, er ist ein Werwolf!

-----------------------------------------------------------------------------



Re: Re: SonderStaTi Berlin 22. Februar (Catweazle, 16. Feb 2005, 13:45:27):
~#! rn=Pitfall rt=1108553047 rg=treffen
~#! tid=1108551519
Uargh, euch treibts auch immer weiter in den Osten. 1:09 Anfahrtszeit ... na
jut :-)

YTC

-----------------------------------------------------------------------------



Re^3: SonderStaTi Berlin 22. Februar (Darklor, 16. Feb 2005, 16:08:53):
~#! rn=Catweazle rt=1108557927 rg=treffen
~#! tid=1108551519
Welche Faehnchen?

Und was hat das mit Woelfen zu tun?

Darklor (unwissend)

-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe 17.2/24.2/3.3/10.3 (Maharet, 17. Feb 2005, 22:31:08):
~#! rn=Croft rt=1108675438 rg=treffen.bekanntmachungen
~#! tid=1108675438
Wir werden am Donnerstag noch nicht kommen koennen.  Daher wuerden wir uns
riesig freuen, wenn Ihr Euch aufraffen koennt, am Freitag, dem 25.02., einen
Extra-Stati zu machen.

Maha und Mesi

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe 17.2/24.2/3.3/10.3 (Croft, 17. Feb 2005, 22:55:01):
~#! rn=Maharet rt=1108675868 rg=treffen
~#! tid=1108675438
Jo.  Ich wollts nur noch nicht verkuenden.  Aber der wird aller Vorraussicht
mach im Chinesen am ZKM sein.  Der auch Sushi und mittlerweile sogar ein
AYCE-Buffet hat.

Croft

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe 17.2/24.2/3.3/10.3 (Vanion, 17. Feb 2005, 23:13:27):
~#! rn=Maharet rt=1108675868 rg=treffen
~#! tid=1108675438
Ich waer dabei :)

V*

-----------------------------------------------------------------------------



Re: Hamburger, macht mal was (Mingo, 21. Feb 2005, 23:23:08):
~#! rn=Montanus rt=1108374425 rg=treffen
~#! tid=1108374425
In Berlin gibt es doch ein Gegenstueck, die bekriegen sich doch da
regelmaessig von wegen Flaeche. Also: Komm nach Berlin ;)


-----------------------------------------------------------------------------



Re: SonderStaTi Berlin 22. Februar (Gloinson, 23. Feb 2005, 01:19:43):
~#! rn=Gloin rt=1108551519 rg=treffen.bekanntmachungen
~#! tid=1108551519
Ich sag nur ein Wort: Knaeckebrotprotokoll.


-----------------------------------------------------------------------------



Re^3: Stammtische Karlsruhe 17.2/24.2/3.3/10.3 (Croft, 25. Feb 2005, 10:03:42):
~#! rn=Vanion rt=1108678407 rg=treffen
~#! tid=1108675438
Da Vanion, Maharet und Mesirii doch nicht in KA sind, und das Interesse der
Karlsruher sich in Grenzen haelt, wird es auch keinen Sonderstammtisch geben.

Croft

-----------------------------------------------------------------------------



Re: 3. Programmierfruehstuecksstammtisch (Grimmborn,  3. Mar 2005, 00:04:22):
~#! on=Mieze ot=1109804568 og=treffen.bekanntmachungen
~#! rn=Miril rt=1109804524 rg=treffen.bekanntmachungen
~#! tid=1109804524

Schade, da ist grad die Generalprobe.

Mieze (-1)

-----------------------------------------------------------------------------



Re: _K_eine Partyankuendigung (Zook, 10. Mar 2005, 12:34:40):
~#! rn=Catweazle rt=1110454412 rg=party.bekanntmachungen
~#! tid=1110454412
Wir kommen trotzdem.

Zook.

-----------------------------------------------------------------------------



Re: Re: _K_eine Partyankuendigung (Deepblue, 10. Mar 2005, 13:46:51):
~#! rn=Zook rt=1110454480 rg=treffen
~#! tid=1110454412
Das halte ich fuer ein Geruecht. Irgendwo gibt es an dem Wochenende bestimmt
ne Party

-----------------------------------------------------------------------------



Re^3: _K_eine Partyankuendigung (Catweazle, 10. Mar 2005, 14:52:55):
~#! rn=Deepblue rt=1110458811 rg=treffen
~#! tid=1110454412
Das, ist richtig :)

YTC

-----------------------------------------------------------------------------



Re: Uebernatuerlicher Stammtisch Berlin 16. Maerz (Zook, 14. Mar 2005, 18:14:23):
~#! rn=Gloinson rt=1109622397 rg=treffen.bekanntmachungen
~#! tid=1109622397
+1

-----------------------------------------------------------------------------



Re: Re: Uebernatuerlicher Stammtisch Berlin 16. Maerz (Darklor, 14. Mar 2005, 18:17:48):
~#! rn=Zook rt=1110820463 rg=treffen
~#! tid=1109622397
Du kommst als Zwilling?

Darklor

-----------------------------------------------------------------------------



Re^3: Uebernatuerlicher Stammtisch Berlin 16. Maerz (Zook, 14. Mar 2005, 18:18:14):
~#! rn=Darklor rt=1110820668 rg=treffen
~#! tid=1109622397
Bei unsereinen nennt man das Omnipotenz.

Zook.

-----------------------------------------------------------------------------



Re^4: Uebernatuerlicher Stammtisch Berlin 16. Maerz (Darklor, 14. Mar 2005, 18:19:22):
~#! rn=Zook rt=1110820694 rg=treffen
~#! tid=1109622397
:gratuliert Zook.

Darklor

-----------------------------------------------------------------------------



Merlin? (Medic,  1. Apr 2005, 11:51:46):
Gibts am 3.4. wieder einen Stati im Merlin? Und wenn ja, wer kommt so alles?`

Medic

-----------------------------------------------------------------------------



Re: Merlin? (Wurzel,  1. Apr 2005, 11:52:26):
~#! rn=Medic rt=1112349106 rg=treffen
~#! tid=1112349106
hiess das nicht frueher mal "berlin"? hab ich da was nicht mitbekommen?

-----------------------------------------------------------------------------



Re: Re: Merlin? (Boing,  1. Apr 2005, 11:52:50):
~#! rn=Wurzel rt=1112349146 rg=treffen
~#! tid=1112349106
Um welchen Ort gehts ueberhaupt?
  Boing

-----------------------------------------------------------------------------



Re^3: Merlin? (Wurzel,  1. Apr 2005, 11:53:14):
~#! rn=Boing rt=1112349170 rg=treffen
~#! tid=1112349106
naja, die hauptstadt halt.

-----------------------------------------------------------------------------



Re^4: Merlin? (Maharet,  1. Apr 2005, 11:53:50):
~#! rn=Wurzel rt=1112349194 rg=treffen
~#! tid=1112349106
Eigentlich eher um den Raum Essen. Die Stadt.  

-----------------------------------------------------------------------------



Re^5: Merlin? (Medic,  1. Apr 2005, 11:56:12):
~#! rn=Maharet rt=1112349230 rg=treffen
~#! tid=1112349106
Jo, um den Stati im Merlin bei Essen-Kupferdreh. Die, die kommen wollen,
haettens schon erkannt ;)

-----------------------------------------------------------------------------



Re^6: Merlin? (Olli,  1. Apr 2005, 21:58:50):
~#! rn=Medic rt=1112349372 rg=treffen
~#! tid=1112349106
Also ich werd am Sonntag wohl im Merlin anzutreffen sein.

Wenn ich schon kaum noch hier bin, dann wenigstens da ;)

Olli

-----------------------------------------------------------------------------



Bilder Merlin (Zook, 18. Apr 2005, 16:59:51):
Am 17. April gab es einen gut besuchten Stati im Merlin und Masul hat 
davon ein paar Bilder gemacht. Die findet Ihr hier:

 http://mg.mud.de/Party/Treffen/masul/Merlin-2005-04-17/

Zook.

-----------------------------------------------------------------------------



Re: Elf Fantasy Fair (Zook, 20. Apr 2005, 11:24:22):
~#! rn=Gast1 rt=1113988978 rg=treffen
~#! tid=1113988978
Repost: 

Hi!
Ich bin Took@silberland
Am Wochenende findet auf Schloss "de Haar" bei Ultrecht, Niederlande (ca. 2,5
Stunden von Koeln) die Elffantasy Fair statt. Das ist Europas groesstes
Fantasy Open-Air Festival, bei Regen wird es natuerlich in das Schloss selbst
verlegt. Ich wollte mit einer Freundin am Samstag dahin fahren, aber jetzt ist
ihr was dazwischen gekommen :( Hat vielleicht irgendjemand Lust, mit mir
hinzufahren? Die Tageskarten kosten zwischen 14 und 17 Euro.

http://www.kasteeldehaar.nl/uk/index_flash.htm
Gaeste:
Lawrence Makaore (Lurtz, Hexenkoenig, Gothmog,... super sympathischer Maori!)
John Noble (Denethor)
Andy Serkis (Gollum/Smeagol)
Terry Pratchett (Autor)
Diane Duane (Autor)
Ted Nasmith (Tolkien Kuenstler)
John Howe (Tolkien Kuenstler)
Alan Lee (Tolkien Kuenstler)
Musik:
Pinknruby, GOR, Faun, Dubia Fortuna, Damsa Na Nog, Ars Ultima, Neun Welten


Zook.

-----------------------------------------------------------------------------



Stammtisch BRA (Montanus, 29. Apr 2005, 18:46:35):
Heute ab 19:00 ist Stammtisch in Hiddigwarden, wahrscheinlich in meiner
Scheune. Erwartet werden Muadib und Boing plus spontan auftauchende Gaeste.
Vanion?

-----------------------------------------------------------------------------



Re: Stammtisch BRA (Amaryllis, 29. Apr 2005, 20:26:47):
~#! rn=Montanus rt=1114793195 rg=treffen
~#! tid=1114793195
Gaebe es www.hiddigwarden.de nicht, wuesste ich wirklich nicht, wo dieses
Kuhkaff einzunorden ist ;-)

Ama*

-----------------------------------------------------------------------------



Re: Re: Stammtisch BRA (Muadib, 30. Apr 2005, 17:31:28):
~#! rn=Amaryllis rt=1114799207 rg=treffen
~#! tid=1114793195
die navi im wagen zeigte als verbleibende entfernung zu hiddigwarden 600 meter
an und denoch war noch kein einziges hinweisschild auf hiddigwarden zu sichten
:)

-----------------------------------------------------------------------------



Re: Stammtisch BRA (Vanion, 30. Apr 2005, 20:54:57):
~#! rn=Montanus rt=1114793195 rg=treffen
~#! tid=1114793195
Hmmpf, waer gern gekommen. Wenn Boing um 19:00 und nicht um 23:57 angerufen
haette :) Da hatte ich mich schon allein besoffen :)

V*

-----------------------------------------------------------------------------



Re^3: Stammtisch BRA (Boing, 30. Apr 2005, 22:27:47):
~#! rn=Muadib rt=1114875088 rg=treffen
~#! tid=1114793195
Wenn in 600 Meter Entfernung wenigstens schon ein Haus zu sehen
gewesen waere ...
  Boing

-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe 5.5/12.5/19.5 (Boing,  2. Mai 2005, 13:49:16):
~#! on=Hobo ot=1115032779 og=treffen.bekanntmachungen
~#! rn=Croft rt=1114891944 rg=treffen.bekanntmachungen
~#! tid=1114891944
JAAAAAAAAAAAAAAAAAAAAAAAAA!

   Hobo will wieder meiern

-----------------------------------------------------------------------------



Re: Fruehstueck im Merlin (Gloinson, 14. Mai 2005, 12:11:19):
~#! rn=Miril rt=1116056869 rg=treffen.bekanntmachungen
~#! tid=1116056869
Macht ihr das auch am WE vor der Party? ;)


-----------------------------------------------------------------------------



Re: Re: Fruehstueck im Merlin (Humni, 14. Mai 2005, 12:12:25):
~#! rn=Gloinson rt=1116065479 rg=treffen
~#! tid=1116056869
Rechne es nach ;-)

Jedenfalls machen wir das am Wochenende der Party selbst, anstatt Chinese.

Humni
PS: Zum Nachrechnen: alle 2 Wochen. Wobei ich mir zwecks Partyplanung
vorstellen kann, das auf jeden Fall zu machen.

-----------------------------------------------------------------------------



Re^3: Fruehstueck im Merlin (Gloinson, 14. Mai 2005, 12:13:05):
~#! rn=Humni rt=1116065545 rg=treffen
~#! tid=1116056869
Was gibbet es denn da Leckeres? :)


-----------------------------------------------------------------------------



Re^4: Fruehstueck im Merlin (Humni, 14. Mai 2005, 12:13:39):
~#! rn=Gloinson rt=1116065585 rg=treffen
~#! tid=1116056869
Bruch. 9 Euro, dafuer echt viel leckeren Kram, halt eher Fruehstueck denn
Mittag, aber was solls ;-)

Humni

-----------------------------------------------------------------------------



Re^5: Fruehstueck im Merlin (Gloinson, 14. Mai 2005, 12:15:05):
~#! rn=Humni rt=1116065619 rg=treffen
~#! tid=1116056869
Iks. Bruch. 

Heisst das itzt, dass:
- die Nahrung gestohlen ist?
- die Nahrung erbrochen ist?
- die Nahrung zerbrochen ist?
- ein Konsonant fehlt?


-----------------------------------------------------------------------------



Re^6: Fruehstueck im Merlin (Humni, 14. Mai 2005, 12:15:29):
~#! rn=Gloinson rt=1116065705 rg=treffen
~#! tid=1116056869
letzteres ;-)

Brunch.

Humni

-----------------------------------------------------------------------------



Re^6: Fruehstueck im Merlin (Miril, 14. Mai 2005, 12:15:31):
~#! rn=Gloinson rt=1116065705 rg=treffen
~#! tid=1116056869
Eher letzteres.

-----------------------------------------------------------------------------



Re^7: Fruehstueck im Merlin (Miril, 14. Mai 2005, 12:15:49):
~#! rn=Humni rt=1116065729 rg=treffen
~#! tid=1116056869
:arglt.

-----------------------------------------------------------------------------



Re^8: Fruehstueck im Merlin (Gloinson, 14. Mai 2005, 12:16:13):
~#! rn=Miril rt=1116065749 rg=treffen
~#! tid=1116056869
Nu hab ich so viele Moeglichkeiten aufgezaehlt und ihr waehlt die
Langweiligste. Also wirklich!


-----------------------------------------------------------------------------



Re: Stammtische Karlsruhe (Zook, 20. Mai 2005, 10:23:34):
~#! rn=Croft rt=1116538782 rg=treffen.bekanntmachungen
~#! tid=1116538782
Ui! Und, was ist das nun fuer ein Wirt und was gibts da zu essen und
was kostet das Bier und wann komm ich mal vorbei?

Zook.

-----------------------------------------------------------------------------



Re: Re: Stammtische Karlsruhe (Boing, 20. Mai 2005, 10:27:21):
~#! rn=Zook rt=1116577414 rg=treffen
~#! tid=1116538782
Es ist eine Wirtin. Es gibt ein paar Variationen von Spaghetti und
Tortellini, einige Salate und ein paar Baguettes. Die Speisekarte ist
momentan wirklich noch etwas arg klein.
  Boing

-----------------------------------------------------------------------------



Re^3: Stammtische Karlsruhe (Zook, 20. Mai 2005, 10:28:43):
~#! rn=Boing rt=1116577641 rg=treffen
~#! tid=1116538782
KEIN BIFTEKI?

Zook.

-----------------------------------------------------------------------------



Re^4: Stammtische Karlsruhe (Croft, 20. Mai 2005, 10:33:11):
~#! rn=Zook rt=1116577723 rg=treffen
~#! tid=1116538782
Korrekt.  Auch kein Meierhofschnitzel.

Croft

-----------------------------------------------------------------------------



Re^5: Stammtische Karlsruhe (Zook, 20. Mai 2005, 10:33:41):
~#! rn=Croft rt=1116577991 rg=treffen
~#! tid=1116538782
Hm. Dann muss ich meinen Stati-Besuch ja doch noch ein wenig schieben, bis
sich das mit dem Bifteki eingerenkt hat.

Zook.

-----------------------------------------------------------------------------



Re^6: Stammtische Karlsruhe (Croft, 20. Mai 2005, 10:35:05):
~#! rn=Zook rt=1116578021 rg=treffen
~#! tid=1116538782
Fuer einen sehr leckeren Bifteki-Ersatz namens Drachensteak koennten wir
bei Gelegenheit einen Sonderstammtisch im Drachen einlegen.

Croft

-----------------------------------------------------------------------------



Re^7: Stammtische Karlsruhe (Zook, 20. Mai 2005, 10:35:25):
~#! rn=Croft rt=1116578105 rg=treffen
~#! tid=1116538782
Hm. Hm. Hm. Nicht zuviel Wechsel und Veraenderungen... ;)

Zook.

-----------------------------------------------------------------------------



Re^8: Stammtische Karlsruhe (Croft, 20. Mai 2005, 10:36:39):
~#! rn=Zook rt=1116578125 rg=treffen
~#! tid=1116538782
Pfffft.

Croft

-----------------------------------------------------------------------------



Re: Stammtisch Berlin 8. Juni (Grimmborn, 25. Mai 2005, 17:43:28):
~#! on=Muadib ot=1117035770 og=treffen.bekanntmachungen
~#! rn=Gloinson rt=1117020042 rg=treffen.bekanntmachungen
~#! tid=1117020042
ich bin vom 20. - 23. juni in berlin
ist da auch ein stati?

-----------------------------------------------------------------------------



Re: Re: Stammtisch Berlin 8. Juni (Darklor, 25. Mai 2005, 18:01:16):
~#! rn=Grimmborn rt=1117035808 rg=treffen
~#! tid=1117020042
Fuer Dich wird bestimmt extra einer einberufen werden... ;)

Darklor

-----------------------------------------------------------------------------



Re^3: Stammtisch Berlin 8. Juni (Darklor, 25. Mai 2005, 18:02:18):
~#! rn=Darklor rt=1117036876 rg=treffen
~#! tid=1117020042
Apropos Stammtisch - warum soll man denn an Guard denken?

Darklor

-----------------------------------------------------------------------------



Re^4: Stammtisch Berlin 8. Juni (Maharet, 25. Mai 2005, 18:03:34):
~#! rn=Darklor rt=1117036938 rg=treffen
~#! tid=1117020042
Biste nicht auf der mailing-Liste?

-----------------------------------------------------------------------------



Re^5: Stammtisch Berlin 8. Juni (Puk, 25. Mai 2005, 18:49:01):
~#! rn=Maharet rt=1117037014 rg=treffen
~#! tid=1117020042
ich bin auch nicht auf der mailing-liste denke ich :)

-----------------------------------------------------------------------------



Re^6: Stammtisch Berlin 8. Juni (Darklor, 25. Mai 2005, 19:01:12):
~#! rn=Puk rt=1117039741 rg=treffen
~#! tid=1117020042
Mailingliste?

Darklor

-----------------------------------------------------------------------------



Re^7: Stammtisch Berlin 8. Juni (Maharet, 25. Mai 2005, 21:12:35):
~#! rn=Darklor rt=1117040472 rg=treffen
~#! tid=1117020042
Dann wende dich mal an Gnome/Gabylon oder Guard. Dann biste up to date, was
Berliner Stammtische und sonstige Treffen angeht.

-----------------------------------------------------------------------------



Spontanstati in Bochum (Taranis, 17. Jun 2005, 22:25:22):
Requiem und ich haben gerade die Idee gehabt, ob wir morgen Abend einen
Spontan-Stati in Bochum hinkriegen.
Wegen des guten Wetters waere eigentlich ein Grillabend denkbar. (Arathorn
haette allerdings gerne was ohne bluehende Graeser. ;-) )
Ansonsten besteht auch die Moeglichkeit, zu einer Wohnheim-Sommerparty in
Requiems Nachbarschaft zu gehen, meinte Requiem. 
Oder irgendwas anderes. Notfalls einfach ins Clochard, 4-Winde o.ae.

Also, wer Interesse hat, schicke mir bitte ein tm oder eine Mail.

Viele Gruesse,
Taranis

-----------------------------------------------------------------------------



Re: Spontanstati in Bochum (Kellybundy, 17. Jun 2005, 22:51:18):
~#! rn=Taranis rt=1119039922 rg=treffen
~#! tid=1119039922
Trefft Euch doch im Kohlestollen in 800 m Tiefe. da gibbet keine bluehenden
Graeser mehr :)
SCNR

-----------------------------------------------------------------------------



Re: Re: Spontanstati in Bochum (Taranis, 17. Jun 2005, 22:51:44):
~#! rn=Kellybundy rt=1119041478 rg=treffen
~#! tid=1119039922
Mhmm, da kommt man aber so schlecht hin, die zechen sind ja alle dichtgemacht.
;-)

-----------------------------------------------------------------------------



Sonderstati bei Panos (Hobo, 24. Jun 2005, 21:56:04):
Per Telefonat habe ich abgeklaert, ob Panos fuer uns frueher aufmachen wuerde.
Ja, wuerde er, aber nur eine halbe Stunde frueher.
Also koennen wir entweder samstags ab 16 Uhr hingehen oder sonntags ab 10 Uhr.
Ich persoenlich bin fuer Samstag, wenn wir es bei dem Wochenende 2./3. Juli
belassen wollen. Sonntag muessten wir dann um mindestens zwei Wochen
verschieben (17. Juli)

Meldet Euch doch mal, wie Ihr es gerne haettet - Ihr Karlsruher oder Gaeste,
die ernsthaft "revival"n wollen ;)

   Hobo

-----------------------------------------------------------------------------



Re: KA Stammtisch 14.7 (Zook,  8. Jul 2005, 15:02:33):
~#! rn=Croft rt=1120827114 rg=treffen.bekanntmachungen
~#! tid=1120827114
Das sind ja Innovationen. Zook.

-----------------------------------------------------------------------------



Re: Stammtisch am 01.08.2005, 15:00 im ICE 549 (Grimmborn,  1. Aug 2005, 14:27:11):
~#! rn=Mesirii rt=1122897210 rg=treffen.bekanntmachungen
~#! tid=1122897210
Bischen ausfuehrlicher musst Du schon sein, so ein ICE hat viele Haltestellen
und etliche Wagen.

GdA

-----------------------------------------------------------------------------



Re: Re: Stammtisch am 01.08.2005, 15:00 im ICE 549 (Croft,  1. Aug 2005, 14:33:29):
~#! rn=Grimmborn rt=1122899231 rg=treffen
~#! tid=1122897210
Mit der Zugnummer und der Uhrzeit wird zumindest die Haltestelle egal.
Interessanter ist wohl die Frage, wann und wo sie aus dem ICE wieder
aussteigen.  Um 15:00 ist der Zug jedenfalls zwischen Bielefeld und
Hannover.  Wer sich beeilt koennte gleich noch in Bielefeld zusteigen.

Croft

-----------------------------------------------------------------------------



Re^3: Stammtisch am 01.08.2005, 15:00 im ICE 549 (Maharet,  1. Aug 2005, 16:23:06):
~#! rn=Croft rt=1122899609 rg=treffen
~#! tid=1122897210
Also wir sind hier bis 17:17 im Wagen 24.

Maha

-----------------------------------------------------------------------------



Re: Stammtish in der Ta Nona Bar in Xlendi  auf Gozo (Grimmborn, 24. Aug 2005, 00:38:06):
~#! on=Ark ot=1124834746 og=treffen.bekanntmachungen
~#! rn=Muadib rt=1124820174 rg=treffen.bekanntmachungen
~#! tid=1124820174
Wer zum Geier ist Zephzyr ... und warum trinkt Muadib schon vorher
hemmungslos? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Stammtish in der Ta Nona Bar in Xlendi  auf Gozo (Muadib, 29. Aug 2005, 22:17:51):
~#! rn=Grimmborn rt=1124836686 rg=treffen
~#! tid=1124820174
war eigentlich jemand da?
wir waren zwar am samstag in der bar, sind aber schon wieder vor 20 Uhr
aufgebrochen, weil Vanion und ich noch nachttauchen gingen

-----------------------------------------------------------------------------



Re^3: Stammtish in der Ta Nona Bar in Xlendi  auf Gozo (Maharet, 29. Aug 2005, 23:39:43):
~#! rn=Muadib rt=1125346671 rg=treffen
~#! tid=1124820174
Na toll, und ich sitz da rum ... 
Haettet wenigstens ne Nachricht hinterlassen koennen.

-----------------------------------------------------------------------------



Re^4: Stammtish in der Ta Nona Bar in Xlendi  auf Gozo (Muadib, 30. Aug 2005, 11:08:26):
~#! rn=Maharet rt=1125351583 rg=treffen
~#! tid=1124820174
einfach den wirt fragen

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Darmstadt am 22. September 2005 (Zook, 31. Aug 2005, 22:29:19):
~#! on=Ark ot=1125520091 og=treffen.bekanntmachungen
~#! rn=Zook rt=1125519985 rg=treffen.bekanntmachungen
~#! tid=1125501393
Ich glaube nicht Tim. *raeusper*
Hot_z_enplotz.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Stammtisch in Darmstadt am 22. September 2005 (Zook, 31. Aug 2005, 22:29:29):
~#! rn=Zook rt=1125520159 rg=treffen
~#! tid=1125501393
Wer zu lahm ist, wird verlegt.
Zook.

-----------------------------------------------------------------------------



Re: Merlin (Humni,  2. Sep 2005, 21:14:53):
~#! on=Brotnael ot=1125688113 og=treffen.bekanntmachungen
~#! rn=Miril rt=1125669252 rg=treffen.bekanntmachungen
~#! tid=1125669252
Jedes mal denk ich, Berlin ist gemeint..
Apropros Berlin. Wie schauts denn mal wieder mit nem Stammtisch da aus??? :)
Broti

-----------------------------------------------------------------------------



Re: Merlin (Nedime,  3. Sep 2005, 13:16:24):
~#! rn=Miril rt=1125669252 rg=treffen.bekanntmachungen
~#! tid=1125669252
Nachtrag: Ich hoere gerade von Mieze, dass wir diesmal einige auswaertige
Gaeste haben.

Nedime

-----------------------------------------------------------------------------



Re: Re: Merlin (Zook,  3. Sep 2005, 13:26:16):
~#! rn=Nedime rt=1125746184 rg=treffen
~#! tid=1125669252
d.h. die muessen dann nicht sofort aufbrechen, wenn du dich um den hund
kuemmern musst? ;)

zook

-----------------------------------------------------------------------------



Re^3: Merlin (Taranis,  3. Sep 2005, 13:29:20):
~#! rn=Zook rt=1125746776 rg=treffen
~#! tid=1125669252
Ich denke, solange noch Leute dableiben wollen, koennen sie das auch einfach
tun. ;-) Bei mir ist morgen Ende offen, ich bleib solange wie Leute da sind.

Taranis

-----------------------------------------------------------------------------



Re^4: Merlin (Taranis,  3. Sep 2005, 16:56:44):
~#! rn=Taranis rt=1125746960 rg=treffen
~#! tid=1125669252
Kann jemand zufaelligerweise einen Switch/Hub mit ins Merlin bringen? Wenn ja,
kann ich mehrere Leute ohne WLAN mit netz versorgen, sonst nur einen Rechner.
;-)

Taranis

-----------------------------------------------------------------------------



Re^5: Merlin (Nedime,  3. Sep 2005, 17:20:15):
~#! rn=Taranis rt=1125759404 rg=treffen
~#! tid=1125669252
Als der Wlanstick vom Mediamarkt kostet 22 Euro.  Wenn man oefter ins Merlin
kommt lohnt der durchaus.

Nedime

-----------------------------------------------------------------------------



Re^6: Merlin (Zook,  3. Sep 2005, 19:11:04):
~#! rn=Nedime rt=1125760815 rg=treffen
~#! tid=1125669252
Ahso. Und ich dachte, Ihr geht da hin, um Euch RL zu treffen ;)

Zook.

-----------------------------------------------------------------------------



Re^7: Merlin (Miril,  4. Sep 2005, 02:25:05):
~#! rn=Zook rt=1125767464 rg=treffen
~#! tid=1125669252
Na, das tun wir doch. Aber das hindert uns keinesfalls daran, dafuer zu
sorgen, dass sich auch unsere Rechner mal RL treffen ;)

Miril

-----------------------------------------------------------------------------



Mal wieder ein Versuch (Muadib, 12. Sep 2005, 15:11:29):
Hi,

es gibt ja tauchende Mudder.
Insofern schlage ich ein kleines Treffen zwecks Tauchen vor, so lange es noch
warmes Wasser hat.
In Linkenheim bei Karlsruhe hat es einen kleinen feinen See, der auch fuer
Anfaenger geeignet ist.
Als Termin schlage ich mal den 24. September vor.
Hat jemand Lust?

Gruss
Muadib
ps: jo is fuer manche weit, ich weiss :( vielleicht klappts ja doch noch mal
nach dem bisher einzigen treff im gasometer in duisburg

-----------------------------------------------------------------------------



Re: Mal wieder ein Versuch (Mupfel, 14. Sep 2005, 16:50:41):
~#! rn=Muadib rt=1126530689 rg=treffen
~#! tid=1126530689
Ein Unterwasser-Stati sozusagen? :)

-mupfel-

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein Versuch (Muadib, 15. Sep 2005, 09:36:42):
~#! rn=Mupfel rt=1126709441 rg=treffen
~#! tid=1126530689
genau
und bei der resonanz faellt er wohl noch zusaetzlich ins wasser

-----------------------------------------------------------------------------



Re: Stati in Berlin (Zook, 16. Sep 2005, 13:25:44):
~#! rn=Martini rt=1126869920 rg=treffen.bekanntmachungen
~#! tid=1126869920
wohin wird der verabschiedet?

-----------------------------------------------------------------------------



Re: Re: Stati in Berlin (Miril, 18. Sep 2005, 17:37:35):
~#! rn=Zook rt=1126869944 rg=treffen
~#! tid=1126869920
Wenn ich das richtig verstanden habe, besucht er demnaechst wieder die
Merlin Stammtische :)

Miril

-----------------------------------------------------------------------------



Re^6: Stammtisch in Darmstadt am 22. September 2005 (Zook, 20. Sep 2005, 13:20:55):
~#! rn=Muadib rt=1127214359 rg=treffen.bekanntmachungen
~#! tid=1125501393
Ohne Gewaehr (mgl. kann Zephyr da Genaueres noch mitteilen):

Gaststaette Hobbit
Lauteschlaegerstr. 3
64289 Darmstadt

Tel: 06151/714261

Zook.

-----------------------------------------------------------------------------



Re^5: Stammtisch in Darmstadt am 22. September 2005 (Grimmborn, 20. Sep 2005, 13:26:51):
~#! on=Muadib ot=1127214359 og=treffen.bekanntmachungen
~#! rn=Zook rt=1127211601 rg=treffen.bekanntmachungen
~#! tid=1125501393
gibts zum hobbit ne anfahrtbeschreibung, oder ne adresse oder aehnliches?

-----------------------------------------------------------------------------



Bonn? (Perdita, 27. Sep 2005, 18:29:49):
Gibt es zufaellig in der Woche vom 17. bis 21.10. irgendwo in Bonn einen
Stammtisch? (bzw. genauer gesagt, vom 17. bis 20., denn am 21. reise ich schon
wieder ab).
Bin dann naemlich in Bonn zur Fortbildung und koennte mich (je nach
Seminarplan) euch anschliessen.
Perdita

-----------------------------------------------------------------------------



stati in der gegend von hh? (Muadib, 29. Sep 2005, 20:56:09):
gibt es abundzu eigentlich stammtische in der hamburger gegend?
unter der woche?

-----------------------------------------------------------------------------



Re: stati in der gegend von hh? (Montanus, 30. Sep 2005, 11:43:10):
~#! rn=Muadib rt=1128020169 rg=treffen
~#! tid=1128020169
Wir wollten eigentlich dem Atheisten sein kleines Ex-Haeuschen noch
verwuesten, faellt mir dabei ein. Sobald der Umzugsstress vorbei ist. Das ist
nicht nur Hamburger Gegend, das ist reines hamburg.
Und sonst mache ich wohl naechste Woche einen Stammtisch in Legoland. Das ist
auch in Hamberuger naehe.

-----------------------------------------------------------------------------



Re: Re: stati in der gegend von hh? (Muadib, 30. Sep 2005, 13:10:55):
~#! rn=Montanus rt=1128073390 rg=treffen
~#! tid=1128020169
ah, gut

-----------------------------------------------------------------------------



Re: Stati in Bochum (Humni, 27. Okt 2005, 14:45:29):
~#! rn=Nedime rt=1130359365 rg=treffen.bekanntmachungen
~#! tid=1130359365
Ich werde auch kommen.

Humni (schwarz, nicht rosa. NICHT ROSA!)

-----------------------------------------------------------------------------



Re^3: Stati in Bochum (Muadib, 27. Okt 2005, 21:31:27):
~#! rn=Mieze rt=1130439264 rg=treffen
~#! tid=1130359365
wo war nochmal bochum?

-----------------------------------------------------------------------------



Re^4: Stati in Bochum (Arathorn, 29. Okt 2005, 11:32:57):
~#! rn=Muadib rt=1130441487 rg=treffen
~#! tid=1130359365
Hiho,

bin da, allerdings besteht das kleine Problem, dass auf den mir zugaenglichen
und bisher immer funktionierenden Nummern keiner ranging. Ich schlage daher
vor, dass wir uns einfach trotzdem dort treffen, und falls wirklich nix
frei sein sollte, koennen wir noch woandershin ausweichen.

Gruss, Arathorn

-----------------------------------------------------------------------------



Re^5: Stati in Bochum (Shakedbeer, 29. Okt 2005, 14:20:10):
~#! rn=Arathorn rt=1130578377 rg=treffen
~#! tid=1130359365
Grrrr. Gerade heute sind wir Werne beim Bowlen.

Shaky - trainiert schon seinen Schwung...

-----------------------------------------------------------------------------



Re^6: Stati in Bochum (Zook, 29. Okt 2005, 14:29:17):
~#! rn=Shakedbeer rt=1130588410 rg=treffen
~#! tid=1130359365
Pass auf die Finger auf.
Zook
..

-----------------------------------------------------------------------------



Re^6: Stati in Bochum (Taranis, 29. Okt 2005, 14:29:53):
~#! rn=Shakedbeer rt=1130588410 rg=treffen
~#! tid=1130359365
licht
Hmpf. Warum legt ihr denn Termine auf die seltenen MG-Statis? *G*
Arathorn: Ich hab noch die Nr. 0172-231-4956 und 0177-701-3248 von den
4-Winden wiedergefunden. Aber die sind auch schon aelter, vermutlich hast Du
die auch.

Taranis

-----------------------------------------------------------------------------



Re^7: Stati in Bochum (Mieze, 29. Okt 2005, 14:30:31):
~#! rn=Taranis rt=1130588993 rg=treffen
~#! tid=1130359365
licht aus.

-----------------------------------------------------------------------------



Re: Re: Stati in Bochum (Mieze, 29. Okt 2005, 15:17:20):
~#! rn=Humni rt=1130417129 rg=treffen
~#! tid=1130359365
Huhu,

muss leider wegen erhoehten Lernpensums absagen. Der naechte Stammtisch kommt
bestimmt.

Viel Spass
Mieze - verschwindet hinter (unter?) ihren Buechern

-----------------------------------------------------------------------------



Re^7: Stati in Bochum (Arathorn, 29. Okt 2005, 23:58:39):
~#! rn=Taranis rt=1130588993 rg=treffen
~#! tid=1130359365
Ja. Ich mein, nu ist grad ohnehin Ende, aber fuer zukuenftige Versuche:
die erste Nummer ist nicht mehr vergeben, die andere war die E-Plus-Nummer
mit Mailbox.

Gruss, Arathorn

-----------------------------------------------------------------------------



Re^8: Stati in Bochum (Zook, 30. Okt 2005, 00:19:34):
~#! rn=Arathorn rt=1130623119 rg=treffen
~#! tid=1130359365
War es denn schoen?

-----------------------------------------------------------------------------



Re^9: Stati in Bochum (Humni, 30. Okt 2005, 00:44:52):
~#! rn=Zook rt=1130624374 rg=treffen
~#! tid=1130359365
Naja. Eine kleine Frau lief dort herum und tat so, als sei sie die
Bedieunung... obschon sie nix dafuerkonnte, dass es mindestens die Haelfte der
Speisen auf der Karte nicht gab (und keine Cocktails).. also ich weiss nicht,
nettes Treffen, aber wir suchen derzeit nach Alternativen...

Humni

-----------------------------------------------------------------------------



Re^10: Stati in Bochum (Mieze, 30. Okt 2005, 09:21:49):
~#! rn=Humni rt=1130625892 rg=treffen
~#! tid=1130359365
Wie waer denn der Pub in der Naehe der Messe in Essen?

Mieze - hat es dann nicht weit ;o)

-----------------------------------------------------------------------------



Re^10: Stati in Bochum (Zook, 30. Okt 2005, 11:53:17):
~#! rn=Humni rt=1130625892 rg=treffen
~#! tid=1130359365
Ich habe neulich zu meiner grossen Freude herausgefunden, dass man im
Marburger "Auflauf" echt fraenkisches Bier bekommt... aus Waischenfeld---
wobei ich in dem Kaff bisher noch nie war ;) 

Zook.

-----------------------------------------------------------------------------



Re^11: Stati in Bochum (Zook, 30. Okt 2005, 11:55:53):
~#! rn=Zook rt=1130669597 rg=treffen
~#! tid=1130359365
Wobei, ich habe eben meinem Frankenjura-Kletterfuehrer entnommen, dass man
da auch toll klettern kann.... is nur alles ein bisserl arg schwer dort...
Ne 8 muss man wohl schon reissen koennen, damit man da zu was kommt. Aber,
die Brauerei, die ist auch eingezeichnet ;)

Zook.

-----------------------------------------------------------------------------



Gluehwein-Stati? (Zook, 31. Okt 2005, 18:00:30):
Jemand Lust auf nen Gluehwein-Stati in DA, F, MZ oder MR? ;) 

Zook.

-----------------------------------------------------------------------------



Re: Re: Gluehwein-Stati? (Eljo, 31. Okt 2005, 18:24:04):
~#! rn=Gast1 rt=1130778248 rg=treffen
~#! tid=1130778030
In S ES GP UL waere ich dabei. :-)

-----------------------------------------------------------------------------



Re^4: Gluehwein-Stati? (Anysidora, 31. Okt 2005, 18:39:35):
~#! rn=Gast1 rt=1130780227 rg=treffen
~#! tid=1130778030
MZ hoert sich viel besser an, aber ich kann eh nicht :-/

-----------------------------------------------------------------------------



Re^5: Gluehwein-Stati? (Cassandra, 31. Okt 2005, 20:13:53):
~#! rn=Anysidora rt=1130780375 rg=treffen
~#! tid=1130778030
DA und F klingt gut. Kommt aber sehr auf den Termin an.

Cassy

-----------------------------------------------------------------------------



Re: Re: Gluehwein-Stati? (Kellybundy, 31. Okt 2005, 20:28:27):
~#! rn=Gast1 rt=1130778248 rg=treffen
~#! tid=1130778030
hmmja. ich versuche, endlich auch mal dabei zu sein, wenn es in MZ F oder DA
ist.

-----------------------------------------------------------------------------



Re^3: Gluehwein-Stati? (Zook, 31. Okt 2005, 21:08:54):
~#! rn=Kellybundy rt=1130786907 rg=treffen
~#! tid=1130778030
mandragon meint: DA oder F hoeren sich gut an. oder so.

-----------------------------------------------------------------------------



Re: Merlin (Grimmborn,  3. Nov 2005, 10:01:16):
~#! on=Mieze ot=1130965987 og=treffen.bekanntmachungen
~#! rn=Miril rt=1130965839 rg=treffen.bekanntmachungen
~#! tid=1130965839

und fuer die, die moegen, geb ich ein Glaeschen Sekt aus.

Mieze - hat es endlich ;o)

-----------------------------------------------------------------------------



Re: Merlin (Grimmborn,  3. Nov 2005, 10:01:24):
~#! on=Amaryllis ot=1130966289 og=treffen.bekanntmachungen
~#! rn=Miril rt=1130965839 rg=treffen.bekanntmachungen
~#! tid=1130965839
Vielleicht schaffe ich es ja auch mal dahin, deshalb habe ich mich mal auf der
Homepage schlaugemacht.

Fuer mich fehlt ein schnell erreichbares und vor allem: komplettes Impressum.
Vielleicht moechte das jemand von den Organisatoren dem Betreiber mitteilen -
ich faende es schade, wenn derjenige deswegen Aerger bekaeme, schliesslich
scheint da wirklich sehr viel Engagement dahinter zu sein.

Ama*

-----------------------------------------------------------------------------



Re: Re: Merlin (Shakedbeer,  3. Nov 2005, 16:02:20):
~#! rn=Grimmborn rt=1131008476 rg=treffen
~#! tid=1130965839
Bin wahrscheinlich da. 

Shaky - prostet Mieze gratulierend zu.

-----------------------------------------------------------------------------



Re^3: Merlin (Mieze,  3. Nov 2005, 16:06:22):
~#! rn=Shakedbeer rt=1131030140 rg=treffen
~#! tid=1130965839

Danke ;o)

Mieze - prostet Humni gratulierend zu

-----------------------------------------------------------------------------



Re^4: Merlin (Humni,  3. Nov 2005, 16:07:58):
~#! rn=Mieze rt=1131030382 rg=treffen
~#! tid=1130965839
Humni prostet grinsend und ebenso gratulierend zurueck.


-----------------------------------------------------------------------------



Re^5: Merlin (Requiem,  3. Nov 2005, 18:47:05):
~#! rn=Humni rt=1131030478 rg=treffen
~#! tid=1130965839
Requiem kann leider nicht da sein, prostet aber virtuell zu und gratuliert
beiden ganz real :)

-----------------------------------------------------------------------------



Re^3: Gluehwein-Stati? (Hobo, 14. Nov 2005, 10:57:00):
~#! rn=Eljo rt=1130779444 rg=treffen
~#! tid=1130778030
Treffen wir uns doch auf halbem Weg von Zook und Eljo in KA ;)
   
   Hobo

-----------------------------------------------------------------------------



KA Stammtisch 17.11. - wo? (Ronda, 16. Nov 2005, 18:05:02):
Hi,
da ich morgen auf halben Weg in Richtung KA bin - wo waert Ihr denn zu
treffen, wenn ich rechtzeitig vom Server-Quaelen wegkomme?

Ronda

-----------------------------------------------------------------------------



Re: KA Stammtisch 17.11. - wo? (Zook, 16. Nov 2005, 18:07:34):
~#! rn=Ronda rt=1132160702 rg=treffen
~#! tid=1132160702
Was nutzt es Dir, wenn Du nur auf dem halben Weg bist?
Zook.

-----------------------------------------------------------------------------



Re: Re: KA Stammtisch 17.11. - wo? (Boing, 18. Nov 2005, 10:00:34):
~#! rn=Zook rt=1132160854 rg=treffen
~#! tid=1132160702
Er hat uns gefunden ... :)
  Boing

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt Darmstadt (Grimmborn, 27. Nov 2005, 20:48:17):
~#! on=Cassandra ot=1133009965 og=treffen.bekanntmachungen
~#! rn=Grimmborn rt=1132951873 rg=treffen.bekanntmachungen
~#! tid=1132951873
Leider ne Woche zu spaet fuer mich. Bin diese Woche schon hier und muss somit
wohl allein bummeln gehen.

Cassy, auch mal in Darmstadt

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt Darmstadt (Grimmborn, 28. Nov 2005, 19:17:32):
~#! on=Stammgast ot=1133195240 og=treffen.bekanntmachungen
~#! rn=Miraka rt=1133195186 rg=treffen.bekanntmachungen
~#! tid=1132951873
Der Stammgast kommt auch nicht.

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt Darmstadt (Stammgast, 29. Nov 2005, 13:33:44):
~#! on=Stammgast ot=1133267594 og=treffen.bekanntmachungen
~#! rn=Miraka rt=1133267576 rg=treffen.bekanntmachungen
~#! tid=1132951873
Ich komme :-)

Ein Stammgast

-----------------------------------------------------------------------------



Stammtisch in Zuerich? (Jimdigriz, 10. Dez 2005, 21:31:43):
Moin,

bin die ganze naechste Woche in Zuerich.
Falls wer von den dort ansaessigen Muddern Fez hat
an Spontanstammtisch oder Treffen auf a Bier
auszumachen, bitte bei mir melden.
(gerne auch per mudmail). Bitte noch vor
Montag, dann hab ich vermutlich kein Netzzugang
mehr fuer die Woche

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Merlin 1/06 (Shakedbeer,  6. Jan 2006, 00:24:04):
Wenn alles gut geht, bin ich mal wieder da. :-)

Shaky - bringt garantiert Hunger mit.

-----------------------------------------------------------------------------



Re: Stati in Essen-Kupferdreh (Grimmborn, 30. Jan 2006, 13:33:34):
~#! on=Jimdigriz ot=1138616815 og=treffen.bekanntmachungen
~#! rn=Taranis rt=1138573352 rg=treffen.bekanntmachungen
~#! tid=1138573352
Warum lese ich statt "Stati" immer "Stasi"? 
Irgendwie sind diese konspirativen Treffen doch verdaechtigt
der IM wurde halt zum EM oder RM umbenannt, aber vermutlich
alles noch das gleiche
tststststs
JdG

-----------------------------------------------------------------------------



Re: Re: Stati in Essen-Kupferdreh (Grimmborn, 30. Jan 2006, 13:33:35):
~#! on=Muadib ot=1138620991 og=treffen.bekanntmachungen
~#! rn=Jimdigriz rt=1138616815 rg=treffen.bekanntmachungen
~#! tid=1138573352
aehem

-----------------------------------------------------------------------------



Re^3: Stati in Essen-Kupferdreh (Montanus, 30. Jan 2006, 13:34:12):
~#! rn=Grimmborn rt=1138624415 rg=treffen
~#! tid=1138573352
Gehoeren diese drei Artikel nicht alle nach Schmarrn?

-----------------------------------------------------------------------------



Re^4: Stati in Essen-Kupferdreh (Rumata, 30. Jan 2006, 13:52:13):
~#! rn=Montanus rt=1138624452 rg=treffen
~#! tid=1138573352
Genau, ausserdem sind RMs und EMs ja sowas von offiziell...
Rum**

-----------------------------------------------------------------------------



Re: Stammtisch am 3. Februar in Berlin (Miril,  2. Feb 2006, 17:21:32):
~#! rn=Gloinson rt=1138889370 rg=treffen.bekanntmachungen
~#! tid=1138889370
Koennt ihr Anfang Maerz auch sowas veranstalten? Vorzugsweise dann, wenn ich
auf Klassenfahrt in Berlin bin?

Miril

-----------------------------------------------------------------------------



Re: Stammtisch am 3. Februar in Berlin (Darklor,  2. Feb 2006, 17:22:00):
~#! rn=Gloinson rt=1138889370 rg=treffen.bekanntmachungen
~#! tid=1138889370
Is das nich der Orga-Stammtisch fuer die Party?

Darklor

-----------------------------------------------------------------------------



Re: Re: Stammtisch am 3. Februar in Berlin (Zook,  2. Feb 2006, 17:22:20):
~#! rn=Miril rt=1138897292 rg=treffen
~#! tid=1138889370
willst du dann mit der ganzen klasse vorbeikommen? so als "musuealer" ausflug?
nach dem motto "so sehen echte mudder aus. die tun auch nix. aber bitte
trotzdem nicht fuettern."?

zook..

-----------------------------------------------------------------------------



Re^3: Stammtisch am 3. Februar in Berlin (Miril,  2. Feb 2006, 17:23:26):
~#! rn=Zook rt=1138897340 rg=treffen
~#! tid=1138889370
Nee, eher nich. Wobei da potentielle Info-Schueler bei sind, die vielleicht
naechstes Jahr im Epacris rumbasteln duerfen. Aber die will man ja nicht
schon vorher abschrecken ;)

Miril

-----------------------------------------------------------------------------



Re^4: Stammtisch am 3. Februar in Berlin (Gloinson,  2. Feb 2006, 17:34:29):
~#! rn=Miril rt=1138897406 rg=treffen
~#! tid=1138889370
Ich denke wir koennen sowas ansetzen. Wenn das allerdings 10 Schueler sind im
Alter von ? Jahren, dann waere es vielleicht cleverer, ein Treffen im Club
anszusetzen, weil da einerseits Ablenkungsmoeglichkeiten bestehen und
andererseits der Alkoholkonsum nicht ganz so offensichtlich dazugehoert.


-----------------------------------------------------------------------------



Re^5: Stammtisch am 3. Februar in Berlin (Gnome,  2. Feb 2006, 19:08:19):
~#! rn=Gloinson rt=1138898069 rg=treffen
~#! tid=1138889370
"...der Alkoholkonsum nicht ganz so offensichtlich dazugehoert."

wuaahahahahahaha... ich krieg mich nicht mehr... hahaha... ich lach
mich schla... wuahahahahahah... das haett nicht kommen duerfen... huhu...

gnOme

-----------------------------------------------------------------------------



Re^6: Stammtisch am 3. Februar in Berlin (Gloinson,  2. Feb 2006, 22:59:41):
~#! rn=Gnome rt=1138903699 rg=treffen
~#! tid=1138889370
Gut. Sehe wir mal von dir ab, seitdem du deine Diplomarbeit schreibst.


-----------------------------------------------------------------------------



Nuernberg (Anoris, 20. Feb 2006, 20:50:36):
Wie ueblich werden mein Bruder und ich auch dieses Jahr an der IWA einen
Stand unterhalten. Aus diesem Anlass sind wir beide ab dem 8. Maerz Abends
in Nuernberg (Hotel in Fuerth) sein.

Ich habe erfahren, dass doch einige 5+ von euch in Nuernberg oder Umgebung
weilen. Da kein Stammtisch ausgeschrieben hier der Aufruf zu einem. Wir
wuerden uns ueber ein Treffen am 9. 10. oder 12. Maerz freuen. Einzige
Kneipe die wir kennen waere das Sausalitos.. Andere Vorschlaege sind
gerne willkommen.

Beste Gruesse
- Anoris

-----------------------------------------------------------------------------



Re: Nuernberg (Zook, 20. Feb 2006, 23:07:37):
~#! rn=Anoris rt=1140465036 rg=treffen
~#! tid=1140465036
Was ist IWA?

Zook.

-----------------------------------------------------------------------------



Re: Re: Nuernberg (Muadib, 21. Feb 2006, 10:14:07):
~#! rn=Zook rt=1140473257 rg=treffen
~#! tid=1140465036
so ne outdoor-messe afaik
inklusive jagdzeugs

-----------------------------------------------------------------------------



Re: Nuernberg (Gwenili, 24. Feb 2006, 10:15:17):
~#! rn=Anoris rt=1140465036 rg=treffen
~#! tid=1140465036
Bisher hat sich folgendes ergeben:
Termin: Freitag, 10.03.2006
Ort:    Sausalitos (Fuerth, Friedrichstrasse 7)

Kriterien fuer einen Alternativvorschlag (Ort):
  + in Fuerther Innenstadt gelegen
  + moeglichst rauchfrei
  + moeglichst laermfrei
  + gutes Essen zum fairen Preis

Bisherige Alternativvorschlage (Ort):
  + El Floridita (Koenigstr. 128)
    derzeitiges Angebot (ohne Gewehre):
      - bis 19:00 2. Essen umsonst dazu,
      - Happy Hour bei Cocktails bis 21:00
  + Kaffeebohne (Gustavstrasse 40)

Wwegen Tischgroesse und eventueller Reservierung,
waer's nicht schlecht, zu wissen, wer -hoechstwahrscheinlich- kommt.

Gruss, Gwen.

-----------------------------------------------------------------------------



Karlsruhe, Spanier, 23.3. (Hobo,  6. Mar 2006, 23:05:31):
Wie Croft schon erwaehnte, gehen wir am 23.3. etwas edler beim Spanier essen.
Da das Restaurant aber meist gut besucht ist, moechte ich gerne deutlich
vorher einen Tisch bestellen und eine ungefaehre Anzahl der benoetigten
Stuehle mit angeben. Daher: Anmeldungen bitte ab sofort an mich!
Waer schoen, wenn sich alle bis 17. bei mir melden koennen, auch diejenigen,
die nur evtl., vielleicht, wahrscheinlich.... kommen ;)

Bis dann!

   Hobo

-----------------------------------------------------------------------------



Re: Re: Nuernberg (Anoris,  7. Mar 2006, 23:33:43):
~#! rn=Gwenili rt=1140772517 rg=treffen
~#! tid=1140465036
Aus nicht existierendem Interesse der Nuernberg (+Umgebung) Mudder
an einem Treffen fuer kommendes Wochenende (eine Ausnahme) werden
wir uns vielleicht am Freitag Abend im Sausalitos oder sonst wo
in einer kleinen Runde aufhalten. Sollte trotzdem noch Lust
entstehen, bitte Gwenili kontaktieren.

- Anoris

-----------------------------------------------------------------------------



Re^3: Nuernberg (Gwen,  8. Mar 2006, 09:20:37):
~#! rn=Anoris rt=1141770823 rg=treffen
~#! tid=1140465036
uiuiui :)
Dann werd ich wohl doch noch ne "offizielle" Bekanntmachung machen...
-> treffen.bekanntmachungen
Gruss, Gwen.

-----------------------------------------------------------------------------



Zehbitt? (Amaryllis, 10. Mar 2006, 21:08:11):
Hi,

falls jemand am Montag, 13.03., auf der Cebit ist und sich mit mir und evtl.
anderen treffen mag, schickt doch ne Mail an amaryllis@netcologne.de ;)

Ama*, muss da bei Heise nen Vortrag halten

-----------------------------------------------------------------------------



Re: Stammtisch am 5. Mai: Exes Pool (Gloinson, 19. Apr 2006, 09:38:30):
~#! on=Knurps ot=1145408587 og=treffen.bekanntmachungen
~#! rn=Gloinson rt=1145403544 rg=treffen.bekanntmachungen
~#! tid=1145403544
Warum sind eigentlich alle Berlin-Statis in Dunkeldeutschland?

-----------------------------------------------------------------------------



Re: Re: Stammtisch am 5. Mai: Exes Pool (Gloinson, 19. Apr 2006, 09:42:08):
~#! rn=Gloinson rt=1145432310 rg=treffen
~#! tid=1145403544
Das hatten wir das letzte Mal schon kurz andiskutiert: durch einen
eigenartigen Zufall wohnen die meisten Mudder eher oestlich der Goldelse. Da
bietet es sich irgendwie an, auch dort das Treffen zu organisieren.
Letztendlich liegt es auch an mangelnden Vorschlaegen. Aufs Leibis Vorschlag
hin haben wir uns auch mal im dekadenten Westen in einer Fressstaette
getroffen.


-----------------------------------------------------------------------------



Re: Merlin (Miril, 27. Apr 2006, 21:20:52):
~#! rn=Miril rt=1146165586 rg=treffen.bekanntmachungen
~#! tid=1146165586
Achja, ich guck mal ob ich bis morgen unseren tollen Wimpel und ein
paar Kaertchen fertig krieg.

Miril

-----------------------------------------------------------------------------



Re: Stati in Essen am 12.05.06 (Miril, 10. Mai 2006, 23:27:30):
~#! rn=Zesstra rt=1146945291 rg=treffen.bekanntmachungen
~#! tid=1146945291
Scheint ja mal wieder ein richtig voller Stati mit diversen auswaertigen
Gaesten zu werden. Ein zukuenftiger EM soll sich auch darunter befinden 
und ein paar Hueter des Gleichgewichts werden wohl auch ihr Unwesen dort
treiben. Mal abwarten, was wir diesmal abwerten ;).

Miril

-----------------------------------------------------------------------------



Re: KA Stammtisch 11.5 (Zook, 10. Mai 2006, 23:40:57):
~#! rn=Croft rt=1147297137 rg=treffen.bekanntmachungen
~#! tid=1147297137
Und ich dachte im Drachen. Ich meine, ich haette am Samstag "Drachen"
gehoert. Oder doch der Grieche? Menno. Koennt Ihr nicht bei einem
Lokal bleiben so wie frueher im KM?

Zook.

-----------------------------------------------------------------------------



Re: Re: KA Stammtisch 11.5 (Croft, 10. Mai 2006, 23:44:09):
~#! rn=Zook rt=1147297257 rg=treffen
~#! tid=1147297137
Drache kommt erst naechste und/oder uebernaechste Woche.

Croft

-----------------------------------------------------------------------------



Re: KA Stammtische 18.5 & 25.5 (Perdita, 15. Mai 2006, 17:42:19):
~#! rn=Croft rt=1147705744 rg=treffen.bekanntmachungen
~#! tid=1147705744
Ihr habt nicht zufaellig vor, am 26.5. ein Flammkuchen-Essen zu veranstalten?
Noch koennte ich das evtl. einrichten zu kommen ;-)
Perdita - wuerde ja so gern mal wieder flammkuchisieren!

-----------------------------------------------------------------------------



Re: Re: KA Stammtische 18.5 & 25.5 (Perdita, 15. Mai 2006, 21:47:55):
~#! rn=Perdita rt=1147707739 rg=treffen
~#! tid=1147705744
Oder, jetzt wirklich mal ganz ernsthaft: Wie waere es am Pfingstwochenende mit
einem Flammkuchenessen?
Ich bin bis Freitag vor Pfingsten in Bonn, das ist ja schon fast auf halber
Strecke zu Euch runter.
Hmmmmmm, waer das nicht eine super-gute Idee?
Ich finde, ja!
Und nu kommen Sie!
Perdita

-----------------------------------------------------------------------------



Re^3: KA Stammtische 18.5 & 25.5 (Perdita, 19. Mai 2006, 19:05:10):
~#! rn=Perdita rt=1147722475 rg=treffen
~#! tid=1147705744
da sich bisher niemand wirklich ernsthaft zum Thema Flammkuchen an Pfingsten
gemeldet hat, gehe ich mal davon aus, dass wohl kein Interesse besteht.
Also werde ich mein Pfingstwochenende wohl anders verplanen.
Vielleicht klappt's ja ein anderes Mal.
Schoene Gruesse aus dem Norden
Perdita

-----------------------------------------------------------------------------



KA- Panos (Hobo,  1. Jun 2006, 23:29:56):
Ja, ist denn schon wieder ein Jahr rum?

Keine Ahnung, aber wir gehen trotzdem!

Fuer alle Karlsruher, Ex-Karlsruher, Spass-haben-Woller und andere...

Am Sonntag, 11.Juni wollen wir wieder in die Seemuschel bei Buechig, um
unseren Ex-Chef Panos aus dem Maierhof mal wieder zum Kochen zu bringen.

Wer kommen will, soll sich bitte bei mir melden, damit wir einen Ueberblick
haben, wie wir das fahrtechnisch machen koennen. Geplant ist, dass wir um
12:30 da sind und dann lange da bleiben :)

Ciaociao

   Hobo

-----------------------------------------------------------------------------



Re^3: Schoen waers ... (Croft,  3. Jun 2006, 01:14:12):
~#! rn=Vanion rt=1149289027 rg=magier.urlaub
~#! tid=1149287023
Komm nach KA zum Stati :-)

Croft

-----------------------------------------------------------------------------



Re: KA Stammtische 15.6 & 22.6 (Boing,  8. Jun 2006, 16:48:15):
~#! on=Muadib ot=1149777961 og=treffen.bekanntmachungen
~#! rn=Croft rt=1149775804 rg=treffen.bekanntmachungen
~#! tid=1149775804
und wann in bux?

-----------------------------------------------------------------------------



Panos (Muadib, 16. Aug 2006, 15:01:43):
Hiho,

mag jemand am 26/27. August mit mir zusammen Panos besuchen?

Gruss
Muadib

-----------------------------------------------------------------------------



Re: Panos (Vanion, 16. Aug 2006, 23:33:42):
~#! rn=Muadib rt=1155733303 rg=treffen
~#! tid=1155733303
Ich passe. Ein Institut in Paris? Ein Griechischer Schriftsteller? Ich hab
keine Ahnung was du mit Panos meinst. Vermutlich disqualifiziert mich das als
Mitgaenger ...

V*

-----------------------------------------------------------------------------



Re: Re: Panos (Croft, 17. Aug 2006, 00:08:20):
~#! rn=Vanion rt=1155764022 rg=treffen
~#! tid=1155733303
Es zeugt vorallem von deiner MPA-Unaufmerksamkeit.  Panos ist unser
ehemaliger Stammwirt in Karlsruher, der mittlerweile ein Vereinsfischerheim
uebernommen hat (die Seemuschel (siehe
http://www.av-buechenau.de/17503.html)).

Croft

-----------------------------------------------------------------------------



Re: Panos (Boing, 17. Aug 2006, 18:36:30):
~#! rn=Muadib rt=1155733303 rg=treffen
~#! tid=1155733303
Hier besteht 4faches Interesse ... 
  Boing

-----------------------------------------------------------------------------



Re: Re: Panos (Muadib, 17. Aug 2006, 18:57:07):
~#! rn=Vanion rt=1155764022 rg=treffen
~#! tid=1155733303
ja

-----------------------------------------------------------------------------



Re^3: Panos (Vanion, 17. Aug 2006, 22:44:18):
~#! rn=Muadib rt=1155833827 rg=treffen
~#! tid=1155733303
Ah. So.

V*

-----------------------------------------------------------------------------



Re^4: Panos (Vanion, 17. Aug 2006, 22:44:42):
~#! rn=Vanion rt=1155847458 rg=treffen
~#! tid=1155733303
Fahr ich morgen halt nach WHV statt KA.

V*, zweiartikelnd.

-----------------------------------------------------------------------------



Re: Panos (Hobo, 21. Aug 2006, 22:09:00):
~#! rn=Muadib rt=1155733303 rg=treffen
~#! tid=1155733303
Nach letztem Stammtisch wurde zumindest schon mal der Tag festgemacht -
Sonntag, 27. August soll's werden. Wenn noch jemand mit will, der nicht auf
der "den-frag-ich-eh-noch"-Liste steht, soll er sich bitte bei Muadib melden.
Der wird naemlich alles organisieren! (Geht ja auch viel einfacher von
Buxtehude aus, also so vor Ort... :) )

   Hobo - geht mit

-----------------------------------------------------------------------------



Re: Re: Panos (Muadib, 22. Aug 2006, 17:47:13):
~#! rn=Hobo rt=1156190940 rg=treffen
~#! tid=1155733303
Hiho,

es ist reserviert fuer 10 Leute am Sonntag ab 13:00
Ich schlage also vor, spaetestens um 12:30 am Parkplatz loszufahren, so man
sich dort treffen moechte.

Gruss
Muadib

-----------------------------------------------------------------------------



Re^3: Panos (Muadib, 22. Aug 2006, 17:57:47):
~#! rn=Muadib rt=1156261633 rg=treffen
~#! tid=1155733303
ich wuerde uebrigens gerne direkt hinkommen
also nicht ueber den parkplatz

-----------------------------------------------------------------------------



Re^4: Panos (Boing, 22. Aug 2006, 20:29:27):
~#! rn=Muadib rt=1156262267 rg=treffen
~#! tid=1155733303
Wir kommen auch direkt. Auto ist eh voll.
  Boing

-----------------------------------------------------------------------------



Re: Re: Panos (Huraxprax, 22. Aug 2006, 21:04:15):
~#! rn=Hobo rt=1156190940 rg=treffen
~#! tid=1155733303
Wie ist die Anreisemoeglichkeit vom Bahnhof Bruchsal aus? Laege bei mir ja
naeher als KA.

-----------------------------------------------------------------------------



Re^3: Panos (Croft, 22. Aug 2006, 21:12:07):
~#! rn=Huraxprax rt=1156273455 rg=treffen
~#! tid=1155733303
Musst du selbst ausknobeln. Das Gebaeude siehst du auf
http://tinyurl.com/n7k2v

Croft

-----------------------------------------------------------------------------



Re: Re: Panos (Huraxprax, 26. Aug 2006, 14:11:49):
~#! rn=Hobo rt=1156190940 rg=treffen
~#! tid=1155733303
Wenn das Wetter so bleibt komme ich mit dem Rad von Kirchheim aus, kann aber
noch nichts versprechen.

Benno

-----------------------------------------------------------------------------



Spiele-Messe Essen (Zesstra, 10. Okt 2006, 12:16:13):
Huhu,

Ich wollte mal fragen, ob wer in einer Woche zur Spielemesse Essen kommt und
da an einem Abend an einem Stammtisch interessiert ist. In dem Fall wuerden
wir naemlich vermutlich einen machen, also entweder im Merlin oder direkt in
der Stadt in der Naehe des Messe-Gelaendes, dort gibt es auch ne nette
Lokalitaet. ;-)

Viele Gruesse,
Zesstra

-----------------------------------------------------------------------------



Re: Essen, Merlin-Stammtisch (Perkeo, 10. Okt 2006, 15:17:15):
~#! rn=Zesstra rt=1160475227 rg=treffen.bekanntmachungen
~#! tid=1160475227
Ich wuerde gerne vorbeikommen wenn ich bei einem von euch uebernachten kann.
Habe inzwischen auch endlich einen eigenen Laptop :)

Benno

-----------------------------------------------------------------------------



Re: Re: Essen, Merlin-Stammtisch (Miril, 10. Okt 2006, 15:19:55):
~#! rn=Perkeo rt=1160486235 rg=treffen
~#! tid=1160475227
Klar, hier kannst Du uebernachten.

Miril

-----------------------------------------------------------------------------



Re^3: Essen, Merlin-Stammtisch (Montanus, 10. Okt 2006, 20:43:34):
~#! rn=Miril rt=1160486395 rg=treffen
~#! tid=1160475227
Ihrbesucht mich doch sicherlich in Halle 9, Stand 9-40 und guckt euch das
tolle Spiel an, in dem es einen Drachen namens Humni gibt.
Ob er rosa und pluschig oder schwarz und boese ist, wird nicht verraten.

-----------------------------------------------------------------------------



Re^4: Essen, Merlin-Stammtisch (Anysidora, 11. Okt 2006, 15:25:37):
~#! rn=Montanus rt=1160505814 rg=treffen
~#! tid=1160475227
ich komm auf alle faelle mal vorbei... wenn ich dich finde ;)
aber ich bin ja von donnerstag bis sonntag auf der messe, ich hab ja viel zeit
zum suchen^^


-----------------------------------------------------------------------------



Re^5: Essen, Merlin-Stammtisch (Amaryllis, 11. Okt 2006, 20:52:01):
~#! rn=Anysidora rt=1160573137 rg=treffen
~#! tid=1160475227
Auf welcher Messe? ;)

Ama*

-----------------------------------------------------------------------------



Re^6: Essen, Merlin-Stammtisch (Anysidora, 12. Okt 2006, 00:17:42):
~#! rn=Amaryllis rt=1160592721 rg=treffen
~#! tid=1160475227
na auf der spielemesse in essen natuerlich, wo denn sonst? ;)


-----------------------------------------------------------------------------



Re: Essen Stammtisch 24.11.06 (Croft, 21. Nov 2006, 11:57:16):
~#! rn=Zesstra rt=1164106568 rg=treffen.bekanntmachungen
~#! tid=1164106568
Wlan und Koch sind doch schon mal wichtige Eckpunkte.

Croft

-----------------------------------------------------------------------------



Re: Re: Essen Stammtisch 24.11.06 (Anysidora, 21. Nov 2006, 11:57:38):
~#! rn=Croft rt=1164106636 rg=treffen
~#! tid=1164106568
wenn nicht mit die wichtigsten ;)

-----------------------------------------------------------------------------



Re^3: Essen Stammtisch 24.11.06 (Zesstra, 21. Nov 2006, 11:59:56):
~#! rn=Anysidora rt=1164106658 rg=treffen
~#! tid=1164106568
Ja, in der tat. :-) Wir hoffen aber auch, dass sich das Ambiente ansonsten
auch nicht gross aendern wird. Geruechteweise soll es jetzt dort Tischdecken
und eine Bekleidungskonvention fuer die Mitarbeiter geben... Mal gucken, was
da dran ist.
Zesstra

-----------------------------------------------------------------------------



Re^4: Essen Stammtisch 24.11.06 (Anysidora, 21. Nov 2006, 12:02:17):
~#! rn=Zesstra rt=1164106796 rg=treffen
~#! tid=1164106568
tischdecken? sind servietten nicht hygienischer?

-----------------------------------------------------------------------------



Re^5: Essen Stammtisch 24.11.06 (Zesstra, 21. Nov 2006, 12:03:01):
~#! rn=Anysidora rt=1164106937 rg=treffen
~#! tid=1164106568
ich weiss auch nicht, warum die Tischdecken dort brauchen sollten... Die
Tische dort brauchen definitiv gar keine.
Zesstra

-----------------------------------------------------------------------------



Re^6: Essen Stammtisch 24.11.06 (Humni, 21. Nov 2006, 12:54:08):
~#! rn=Zesstra rt=1164106981 rg=treffen
~#! tid=1164106568
Das stimmt, die Tische liessen sich auch ohne Tischdecken ganz hervorragend
bedienen.
Humni

-----------------------------------------------------------------------------



Re: Stati im Merlin, Essen, 8.12. (Vanion, 30. Nov 2006, 19:12:30):
~#! rn=Zesstra rt=1164910266 rg=treffen.bekanntmachungen
~#! tid=1164910266
Ein unregelmaessiger Stammgast plant, dabei zu sein.

V*

-----------------------------------------------------------------------------



Re: Re: Stati im Merlin, Essen, 8.12. (Humni,  1. Dez 2006, 06:57:51):
~#! rn=Vanion rt=1164910350 rg=treffen
~#! tid=1164910266
Wer denn?

Humni

-----------------------------------------------------------------------------



Re^3: Stati im Merlin, Essen, 8.12. (Vanion,  1. Dez 2006, 18:37:35):
~#! rn=Humni rt=1164952671 rg=treffen
~#! tid=1164910266
Hab ich vergessen.

V*

-----------------------------------------------------------------------------



Re^3: KA Stammtische 23.11/30.11/7.12 (Boing,  7. Dez 2006, 12:55:36):
~#! on=Hobo ot=1165490186 og=treffen.bekanntmachungen
~#! rn=Croft rt=1165448006 rg=treffen.bekanntmachungen
~#! tid=1164106245
Unsereins ist wieder mal nicht da :(

  Hobo

-----------------------------------------------------------------------------



Re^4: Stati im Merlin, Essen, 8.12. (Shakedbeer,  8. Dez 2006, 11:34:47):
~#! rn=Vanion rt=1164994655 rg=treffen
~#! tid=1164910266
Wir kommen auch mit einer groesseren Abordnung aus Werne:
- Olli
- Zenka
- Meine Frau Jorinde
- Meinereiner

Shaky.

-----------------------------------------------------------------------------



M, S, KA (Deepblue,  9. Dez 2006, 02:19:59):
Hi,
wie es aussieht, bin ich die Woche ab 8.1. in Ismaning bei Muenchen, waere da
also fuer einen Stati zu haben.
In den darauffolgenden Wochen steht sicher die eine oder andere Dienstreise
nach Stuttgart an, es besteht also Interesse an kurzfristigen Treffen dort
(oder bei Mitfahrmoeglichkeit auch in Karlsruhe oder Ulm...)

-----------------------------------------------------------------------------



Weihnachtsmarkt in FFM (Gwen, 10. Dez 2006, 13:00:53):
Gibt es Gluehwein auf dem Frankfurter Weihnachtsmarkt?
Gibt es nur Broetchen mit Frankfurtern drin oder auch richtige
Bratwurstsemmeln?
- Fragen, die unbedingt beantwortet werden sollten :)
Am Besten laesst sich dies sicher durch einen Besuch auf dem Frankfurter
Weihnachtsmarkt bewerkstelligen...
Wuerde mich freuen, wenn wer von den Muddern aus dem RMV-Gebiet mitkommt.
Am 13.12. bin ich eh dort. Wenn mehr MG-ler kommen, wuerde ich einen anderen
Termin vorschlage, z.B. den Di 19.12.
Da ich aktuell wenig ins MG komme, waere eine Mail als Antwort gut.
Adventliche Gruesse,
Gwen.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt in FFM (Ronda, 10. Dez 2006, 16:01:51):
~#! rn=Gwen rt=1165752053 rg=treffen
~#! tid=1165752053
Hallo,

klar gibts auf dem Frankfurter Weihnachtsmarkt leckere Sachen, viele Leute und
so.

Logistik: Treffen an der Hauptwache um 18:30 (Ausgang U-Bahn bei der Kirche),
danach dann gemuetlich rueberwandern zum Roemer, da dann Treffen oberhalb vom
Karussell gegen 19 Uhr.

Wer kommt, kann sich gern bei mir zwecks Austauch von Handynummern melden.

Ronda

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt in FFM (Kellybundy, 10. Dez 2006, 19:13:38):
~#! rn=Gwen rt=1165752053 rg=treffen
~#! tid=1165752053
Die guten original Frankfurter von Gref-Voelsing wirst Du auf dem
Weihnachtsmarkt nicht finden :(

Ich wuerde gern, wird am Zeitmangel mal wieder scheitern. seufz.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt in FFM (Ark, 10. Dez 2006, 23:31:31):
~#! rn=Ronda rt=1165762911 rg=treffen
~#! tid=1165752053
Ja wann denn nun, am 13.12. oder am 19.12.?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt in FFM (Ronda, 10. Dez 2006, 23:35:50):
~#! rn=Ark rt=1165789891 rg=treffen
~#! tid=1165752053
13.12.2006.

-----------------------------------------------------------------------------



Re^4: Weihnachtsmarkt in FFM (Ark, 11. Dez 2006, 00:26:19):
~#! rn=Ronda rt=1165790150 rg=treffen
~#! tid=1165752053
Na denn mal +1.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Weihnachtsmarkt in FFM (Perkeo, 11. Dez 2006, 18:32:35):
~#! rn=Ark rt=1165793179 rg=treffen
~#! tid=1165752053
Ich weiss noch nicht ob ich komme haette zwar Lust, aber weiss nicht wie lange
noch die Zuege zurueckfahren, wie lange habt ihr euch das Treffen vorgestellt?

-----------------------------------------------------------------------------



Re^6: Weihnachtsmarkt in FFM (Ark, 11. Dez 2006, 21:18:21):
~#! rn=Perkeo rt=1165858355 rg=treffen
~#! tid=1165752053
Die Endzeit bestimmt der Allohol? Oder halt das Wetter. Oder Muedigkeit. Ich
hab am naechsten Morgen auch Arbeit, also schaetz ich allerspaetestens 12 Uhr
holt mich der Schwertmeister mit einem "Schicht im Schacht" ein :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Weihnachtsmarktbummel in Marburg (Ronda, 15. Dez 2006, 22:27:42):
Hallo,

da der Frankfurter Weihnachtsmarktbummel sehr nett, aber auch sehr
uebersichtlich war: Wie schauts aus mit einem Weihnachtsmarktbummel V2.0,
diesmal in Marburg? Vorschlag Donnerstag, 21.12.2006.

Bisher gibts dafuer zwei Interessentinnen (sic!), wer wuerde auch hinkommen?

Ronda *bietet drei Sitzplaetze ab Frankfurt nach Marburg*

-----------------------------------------------------------------------------



Re: Weihnachtsmarktbummel in Marburg (Key, 18. Dez 2006, 09:45:05):
~#! rn=Ronda rt=1166218062 rg=treffen
~#! tid=1166218062
Oeh ... wir haben einen Weihnachtsmarkt?

Wenns zeitlich passt, waere ich aber dabei :)


Cu

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarktbummel in Marburg (Zook, 18. Dez 2006, 09:55:21):
~#! rn=Key rt=1166431505 rg=treffen
~#! tid=1166218062
Noch nie von der Physik zum Marktplatz gegangen oder durch die Barfuesser-
Str? ;) Z

-----------------------------------------------------------------------------



Re: Weihnachtsmarktbummel in Marburg (Zook, 18. Dez 2006, 09:56:09):
~#! rn=Ronda rt=1166218062 rg=treffen
~#! tid=1166218062
+1 (ab 20.00 Uhr, hab vorher noch nen Termin mit nem Kollegen).
Zook.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarktbummel in Marburg (Danu, 18. Dez 2006, 16:43:06):
~#! rn=Zook rt=1166432169 rg=treffen
~#! tid=1166218062
Aaaaaalso, folgender Plan bislang:
Key sammelt gegen 18.33 am Bahnhof ein, wen er findet ;) Verabredet mit Ronda
nen Treffpunkt aufm Weihnachtsmarkt. Alle vergnuegen sich dort bis 20 Uhr.
Dann macht Weihnachtsmarkt zu und wir koennen mit nem ordentlichen Stati im
Felix (Barfuesserstrasse) beginnen. Da kommen dann auch Zook und ich nach der
Arbeit dazu. 
Noch weitere Interessenten?
Und noch Fragen? 

Danu

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarktbummel in Marburg (Gloinson, 18. Dez 2006, 16:44:06):
~#! rn=Danu rt=1166456586 rg=treffen
~#! tid=1166218062
Key? Key und Bahnhof? Ich erinnere mich vage, dass Key sich in der Naehe eines
Bahnhofes mal fuerchterlich verirrt haben soll. Ob das also eine gute Idee
ist?


-----------------------------------------------------------------------------



Re^4: Weihnachtsmarktbummel in Marburg (Danu, 18. Dez 2006, 16:45:25):
~#! rn=Gloinson rt=1166456646 rg=treffen
~#! tid=1166218062
also den Bahnhof quasi vor seiner Haustuer sollte er ja wohl finden. Sonst
schick ich die Bahnhofsmission los ;)
Danu

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarktbummel in Marburg (Zook, 18. Dez 2006, 16:51:50):
~#! rn=Danu rt=1166456586 rg=treffen
~#! tid=1166218062
Key sammelt ein? Und fuehrt diese zum Weihnachtsmarkt? 
Der K"Oeh ... wir haben einen Weihnachtsmarkt"ey?

Ok, keine weiteren Fragen ... ;) 


Ach doch... haben interessierte Personen Hany-Nummern getauscht, falls 
wir das [Team:Key verirtt!] retten muessen?

Zook.

-----------------------------------------------------------------------------



Re^4: Weihnachtsmarktbummel in Marburg (Zook, 18. Dez 2006, 16:52:26):
~#! rn=Zook rt=1166457110 rg=treffen
~#! tid=1166218062
Wer die gleichen Typos findet wie ich, darf sie behalten. Z

-----------------------------------------------------------------------------



Re^5: Weihnachtsmarktbummel in Marburg (Danu, 18. Dez 2006, 16:55:38):
~#! rn=Zook rt=1166457146 rg=treffen
~#! tid=1166218062
frag nicht solche Sachen! Meinst du es ist besser, ich sag wo die sich alle
treffen sollen? Da fallen mir gleich ganz boese Dinge ein ;) 
Danu wirft mit den restlichen Typos um sich

-----------------------------------------------------------------------------



Re^6: Weihnachtsmarktbummel in Marburg (Maerfee, 18. Dez 2006, 22:15:02):
~#! rn=Danu rt=1166457338 rg=treffen
~#! tid=1166218062
Aaaalso.. ich hoffe fuer Key, dass Key mich findet.. weil sonst.. sonst.. ja..
was eigentlich? Naja.. ich hab eine Handynummer, immerhin ;)

-----------------------------------------------------------------------------



Re^4: Weihnachtsmarktbummel in Marburg (Key, 19. Dez 2006, 08:05:08):
~#! rn=Gloinson rt=1166456646 rg=treffen
~#! tid=1166218062
Pfff voellig falsch! Aber schoen zu wissen, dass ich nicht alleine vergesslich
werde :)

Also wenn schon, dann richtig:
Damals gab es ein Treffen bei Escubar, dort gab es gemeines Bier auf der
Bergkirchweih oder sowas. Ich weiss zwar nichtmehr wieviel Glaesschen ich
hatte, aber es hat ziemlich reingehauen :)
Irgendwann irrte ich dann durch das beschauliche Staedtchen Erlangen und fand
schliesslich zum BHF wo ich keine Ahnung wieviel spaeter von ... oO wer war
das? aufgefunden wurde.
In der Zwischenzeit hatte Escubar das MG verrueckt gemacht mit der Suche nach
mir *g*

Ergo: Zum BHF find ich egal wo immer ;)

So und jetzt noch zu Zook: Auch wenn ich den Weihnachtsmarkt nicht finden
werde (Du meinst doch hoffentlich nicht diese 5 Huetten am Martkplatz? ;) ),
den Weg von der Physik in die Oberstadt finde ich :)


Cu

-----------------------------------------------------------------------------



Re^5: Weihnachtsmarktbummel in Marburg (Marcus, 19. Dez 2006, 08:09:10):
~#! rn=Key rt=1166511908 rg=treffen
~#! tid=1166218062
Wir haben sogar am Bhf Nbg nach dir gesucht und den Herrn ANdreas Key ausrufen
lassen glaube ich. :)

Und ja, es war Bergkirchweih :)

ciao, Marcus

-----------------------------------------------------------------------------



Re^6: Weihnachtsmarktbummel in Marburg (Key, 19. Dez 2006, 08:55:48):
~#! rn=Marcus rt=1166512150 rg=treffen
~#! tid=1166218062
Stimmt, "Herr Andreas Key" ;) War da nicht auch noch die Frage "Ist das nen
Amerikaner?" von der Schaltermitarbeiterin?

Btw ... Du warst dabei? Mist, doch noch ein Ueberlebender ;)

Cu


-----------------------------------------------------------------------------



Re^7: Weihnachtsmarktbummel in Marburg (Marcus, 19. Dez 2006, 09:16:26):
~#! rn=Key rt=1166514948 rg=treffen
~#! tid=1166218062
Ich bin vor der Key Suche verschwunden allerdings ;)

Hermione und Escubar hab ich erst letzten Donnerstag wieder mal gesehen,
Kannix, Darkwing, Hight usw aber schon seit ner Weile nimmer. :)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^8: Weihnachtsmarktbummel in Marburg (Key, 19. Dez 2006, 09:35:36):
~#! rn=Marcus rt=1166516186 rg=treffen
~#! tid=1166218062
Bestell mal einen schoenen Gruss, wenn Du sie nochmal siehst :)

Kannix ... war die nicht aus Giessen? *denk*


-----------------------------------------------------------------------------



Re^9: Weihnachtsmarktbummel in Marburg (Marcus, 19. Dez 2006, 09:51:10):
~#! rn=Key rt=1166517336 rg=treffen
~#! tid=1166218062
Kannix war damals aus Erlangen, ist aber zuletzt eher in Stuttgart gesehen
worden ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^5: Weihnachtsmarktbummel in Marburg (Kellybundy, 19. Dez 2006, 21:32:15):
~#! rn=Danu rt=1166456725 rg=treffen
~#! tid=1166218062
Dieses mickrige Ding von Bahnhof in Marburg findet man nicht mal, wenn man
drinsteht, so klein ist der, jawollja.

-----------------------------------------------------------------------------



Kino Ffm (Ark,  4. Jan 2007, 15:56:49):
Deja vu? Dann ab nach Frankfurt, Treffpunkt am 10.01.07 um 19:00 Uhr CineStar
Metropolis, Eschersheimer Anlage. Parken am besten in Parkhaeusern
Schillerstrasse oder Boerse.
Entideln und los geht's.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Essen Stati 6.1.2007 (Zesstra,  4. Jan 2007, 16:00:35):
~#! rn=Zesstra rt=1167922785 rg=treffen.bekanntmachungen
~#! tid=1167922785
Unser erstes Treffen dieses Jahr sollte das da natuerlich heissen. ;-)

Zesstra

-----------------------------------------------------------------------------



Vorankuendigung: 9.2.07, Marburg (Gwen,  8. Jan 2007, 20:57:44):
Am 9.2.07 ist in Marburg im Kaiser-Wilhelm-Turm (http://www.mobilo-ev.de/) ein
Konzert, zu dem ich wahrscheinlich hingeh.
Wuerd' mich freuen, wenn wer aus Marburg oder Frankfurt mitgehen wuerde.
Mehr Infos gibt's bei mir. :)
Gruss, Gwen.

-----------------------------------------------------------------------------



Re: Vorankuendigung: 9.2.07, Marburg (Boing,  9. Jan 2007, 09:55:49):
~#! rn=Gwen rt=1168286264 rg=treffen
~#! tid=1168286264
Wenn Du jetzt noch schreibst um was fuer ein Konzert es sich handelt ... :)
  Boing

-----------------------------------------------------------------------------



Treffen/Stammtisch im Rheinland/Pott (Gast2, 11. Jan 2007, 01:50:29):
Hi,

ich bin bis 19.01 in Deutschland, danach siedele ich komlett in die USA ueber.
Ist ein Stammtisch am we ich bin in Koeln derzeit. 
Danke und Gruesse

OE*

-----------------------------------------------------------------------------



Re: Treffen/Stammtisch im Rheinland/Pott (Humni, 11. Jan 2007, 07:06:39):
~#! rn=Gast2 rt=1168476629 rg=treffen
~#! tid=1168476629
Hmm. Der naechste Merlin-Stati ist natuerlich erst eine Woche spaeter...
jedenfalls ist das mein aktueller Stand. Das ist... hmm.. der 19.1.

Ich vermute, dann bist Du aber schon weg, oder? Der waere in Essen.

Humni

-----------------------------------------------------------------------------



Re: Re: Treffen/Stammtisch im Rheinland/Pott (Maharet, 11. Jan 2007, 12:34:40):
~#! rn=Humni rt=1168495599 rg=treffen
~#! tid=1168476629
Ihr koennt doch sicher nen Sonderstati am Wochenende machen, oder?

-----------------------------------------------------------------------------



Re: Treffen/Stammtisch im Rheinland/Pott (Amaryllis, 12. Jan 2007, 20:24:09):
~#! rn=Gast2 rt=1168476629 rg=treffen
~#! tid=1168476629
Vielleicht laesst sich ja kurzfristig in Koeln was machen?

Ama*, auch in Koeln.

-----------------------------------------------------------------------------



Re: Re: Treffen/Stammtisch im Rheinland/Pott (Humni, 12. Jan 2007, 20:25:07):
~#! rn=Amaryllis rt=1168629849 rg=treffen
~#! tid=1168476629
Nix dagegen. Ich kenn in Koeln nur die Malzmuehle und das Paeffgens... also
bin ich da nicht so bewandert. Ach ja, und alleine find ich davon auch nur das
Paeffgens.

Humni

-----------------------------------------------------------------------------



Re^3: Treffen/Stammtisch im Rheinland/Pott (Amaryllis, 12. Jan 2007, 20:31:36):
~#! rn=Humni rt=1168629907 rg=treffen
~#! tid=1168476629
Ich wuerde ja mal wieder gerne ins Weissbraeu... (Weizen)Bier vom Fass, dazu
deftige Kueche, urig/gemuetlich, zentral gelegen...

Ama*

-----------------------------------------------------------------------------



Re: Merlin-Stati 19.01.2007 (Maharet, 18. Jan 2007, 12:46:21):
~#! rn=Zesstra rt=1169075760 rg=treffen.bekanntmachungen
~#! tid=1169075760
Stimmt doch gar nicht, Humni hatte das doch schon angekuendigt. Ok, er hatte
es mehr erwaehnt, aber im Vergleich zu seinen Questankuendigungen war das
ausgesprochen direkt.

-----------------------------------------------------------------------------



Re: Re: Merlin-Stati 19.01.2007 (Zesstra, 18. Jan 2007, 13:07:59):
~#! rn=Maharet rt=1169120781 rg=treffen
~#! tid=1169075760
Mhmm, stimmt hast recht. War nur in der falschen Rubrik.
Zesstra

-----------------------------------------------------------------------------



Fiddler's Green in FFM (Gwen,  8. Feb 2007, 14:23:34):
Am 14.02. spielen Fiddler's Green in FFM in der Batschkapp (Eschersheim).
Preise usw. weiss ich leider nicht.
Waer aber ggf. trotzdem ein Anlass fuer den naechsten Stati?
Gruss, Gwen.

-----------------------------------------------------------------------------



Re: Fiddler's Green in FFM (Ark,  8. Feb 2007, 14:57:24):
~#! rn=Gwen rt=1170941014 rg=treffen
~#! tid=1170941014
Leider nicht da in der Woche bis Freitag.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Nordderby (Vanion, 15. Feb 2007, 22:40:46):
Hallo,

irgendwie wird mir das absprechen per Mail zu kompliziert, daher versuch ich
mal die MPA.

Ich bin in naechster Zeit beruflich in Kiel unterwegs. Da es m.W. keinen
festen Stati im Norden gibt, wollte ich mal eine Umfrage starten, ob wir nicht
um den 10. Maerz herum (also an dem Wochenende) einen Stati machen koennen. 

Interessenten haben sich schon aus Richtung Kiel, Flensburg, Hamburg (wo sich
Fuchs und Hase gute Nacht sagen) und knapp vor Bremen gemeldet.

Die naechste Frage ist: Wo sollte man, wenn man wollte. Hamburg ist fuer die
Flensburger recht weit, Kiel ist fuer die Bremer nicht prickelnd. Dazu kaeme
noch ein nicht so richtig geloestes Unterbringungsproblem ...

Kommentare?

V*

-----------------------------------------------------------------------------



Re: Nordderby (Ark, 15. Feb 2007, 22:44:03):
~#! rn=Vanion rt=1171575646 rg=treffen
~#! tid=1171575646
Bohrinsel in der Nordsee?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Nordderby (Vanir, 16. Feb 2007, 00:08:18):
~#! rn=Vanion rt=1171575646 rg=treffen
~#! tid=1171575646
Geile Idee.

Ich schlage mal als Treffpunkt Grossraum Hamburg vor. Das kaeme mir zumindest
gelegener als Kiel. Bremen waer auch Klasse *hust* - ist fuer mich naemlich
genauso weit weg.

Vanir.

P.S.: Nun ratet mal wo ich wohne!

-----------------------------------------------------------------------------



Re: Re: Nordderby (Ark, 16. Feb 2007, 00:21:03):
~#! rn=Vanir rt=1171580898 rg=treffen
~#! tid=1171575646
Bohrinsel in der Nordsee?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Nordderby (Croft, 16. Feb 2007, 00:22:57):
~#! rn=Vanion rt=1171575646 rg=treffen
~#! tid=1171575646
Wie?  Du hast es in der ganzen Zeit in Sueddeutschland nicht nach
Karlsruhe geschafft?  Schaem dich!

Croft

-----------------------------------------------------------------------------



Re: Re: Nordderby (Bielefeld, 16. Feb 2007, 11:32:51):
~#! rn=Croft rt=1171581777 rg=treffen
~#! tid=1171575646
Aus ganz egoistischen Gruenden bin ich fuer Hamburg.
@Vanir: Scheessel?

-Bielefeld

-----------------------------------------------------------------------------



Re: Re: Nordderby (Vanion, 16. Feb 2007, 15:03:49):
~#! rn=Croft rt=1171581777 rg=treffen
~#! tid=1171575646
:schaemt sich, ist aber im Sommer nochmal in Mannheim.

Ausserdem macht ihr immer in der Woche Stati. Und ich muss ja auch irgendwann
Steuergelder verprassen.

V*

-----------------------------------------------------------------------------



Re^3: Nordderby (Croft, 16. Feb 2007, 17:12:39):
~#! rn=Vanion rt=1171634629 rg=treffen
~#! tid=1171575646
Stichwort Sonderstammtisch.

Croft

-----------------------------------------------------------------------------



Re^4: Nordderby (Montanus, 20. Feb 2007, 09:49:38):
~#! rn=Croft rt=1171642359 rg=treffen
~#! tid=1171575646
Bin ich mir kurz vor Bremen gemeint?
Schreib lieber "kurz vor Oldenburg" - das verlagert den gefuehlten Mittelwert
weiter nach Westen. Wer will denn schon so weit in den Osten reisen? HH ist
doch  kurz vor Meck-Pomm, da gibts sicher schon Zwangsumtausch.

-----------------------------------------------------------------------------



Re^5: Nordderby (Cassidy, 20. Feb 2007, 20:55:12):
~#! rn=Montanus rt=1171961378 rg=treffen
~#! tid=1171575646
Bei nem Stati in Hamburg wuerd ich auch vorbeischauen. Der letzte ist doch
schon eine Weile her...

Ein Schlafplatz in Hamburg fuer eine Nacht liesse sich sicherlich auch
einrichten, falls jemand Bedarf hat.

Cassidy

-----------------------------------------------------------------------------



Re^6: Nordderby (Janne,  2. Mar 2007, 18:42:51):
~#! rn=Cassidy rt=1172001312 rg=treffen
~#! tid=1171575646
Soo, da wohl einige der Hamburger an dem WE 9./10.3. keine Zeit haben und der
ueberwiegende Anteil der restlichen Interessenten eher weiter aus dem Norden
kommt, schlage ich nun mal Kiel und als Kneipe dort das El Paso (Kleiner
Kuhberg 2, direkt an der Ostseehalle) vor.
Insofern: Wenn nun kein riesiger Widerspruch aufkommt, werde ich dann fuer
Freitag 19.00 einen Tisch dort reservieren.

-----------------------------------------------------------------------------



Das Ende der Merlin-Statis (Zesstra,  3. Mar 2007, 12:56:19):
Huhu,

wie der Titel es schon sagt: Nach > 2 Jahren war gestern endgueltig und
ueberraschend unser letzter Stammtisch im Merlin. Der Besitzer hat ploetzlich
einen Kaeufer gefunden und verkauft, wobei der neue die Kneipe nicht
weiterbetreiben, sondern als Wohnung umbauen will. Das hatte zur Folge, dass
wir es erst gestern beim Stati erfuhren (selbst die Bedienung gestern abend
hat es erst den Abend erfahren).
Tja, war echt ne schoene Zeit und nen bloedes Gefuehl, zum letzten Mal zu
gehen, nachdem es so lange ne feste Gewohnheit war und man auch die Leute dort
kennt...
Nun muessen wir muessen uns was neues suchen. Festlegen wollen wir uns noch
nicht, sondern erstmal testen und Ideen sammeln. ;-) Gerade auch was WLAN
angeht, muessen wir mal Erkundigungen einziehen.
Fuer das naechste Treffen in 2 Wochen gibt es erstmal folgende Vorschlaege
(darueberhinaus entscheiden wir 2 Wochen):
Le Clochard in Bochum
Fiege Stammhaus in Bochum
Vier-Winde in Bochum

Das Clochard ist ne nette Studi-Kneipe, das Stammhaus schau ich mir Montag
Abend mal an, das Vier-Winde die klassie Rollenspieler-Kneipe in Bochum (wobei
letztes Mal nix zu essen kriegten). 
Wer Praeferenzen hat, kann sich ja mal aeussern. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Das Ende der Merlin-Statis (Zook,  5. Mar 2007, 12:44:50):
~#! rn=Zesstra rt=1172922979 rg=treffen
~#! tid=1172922979
Ah, d.h. Zesstra wird nun alle Kneipen durchprobieren? Schoenen Gruss an 
die Leber! ;) Z

-----------------------------------------------------------------------------



Re^7: Nordderby (Vanir,  5. Mar 2007, 22:25:23):
~#! rn=Janne rt=1172857371 rg=treffen
~#! tid=1171575646
Hmm, weiter aus dem Norden soso. Hamburg waer mir viel lieber gewesen. Wer
kommt denn nun alles? Und koennen Auswaertige uebernachten?

V*

-----------------------------------------------------------------------------



Re^7: Nordderby (Vanir,  8. Mar 2007, 16:05:17):
~#! rn=Janne rt=1172857371 rg=treffen
~#! tid=1171575646

So, ich werd dann auch mal kommen. Da ich ueber HH nach KI fahre kann ich noch
Leute mitnehmen. (Zur Zeit eine Person, wenn ich die Rueckbank aufraeume auch
mehr :).
Wer also mitwill soll sich melden,

V*

-----------------------------------------------------------------------------



Re: Das Ende der Merlin-Statis (Miril,  9. Mar 2007, 15:43:07):
~#! rn=Zesstra rt=1172922979 rg=treffen
~#! tid=1172922979
Also ich bin fuer das Clochard. Da gibts es leckere Schokocrepes, Kilkenny,
gut gezapftes Guinness und im Sommer sogar nen Biergarten. Parkplaetze direkt
vorm Haus, auch wenn die manchmal etwas knapp sind, ist ein weiteres pro.

Miril

-----------------------------------------------------------------------------



Re: Re: Das Ende der Merlin-Statis (Zook, 10. Mar 2007, 19:14:12):
~#! rn=Miril rt=1173451387 rg=treffen
~#! tid=1172922979
und wlan? ich mein, mir waer's egal.. ohne wlan kann man sich auch direkt
mit den leuten am tisch unterhalten und muss nicht den umweg ueber das
internet nehmen ;) z

-----------------------------------------------------------------------------



Re: Karlsruhe-Stati 15.03.-05.04. (Zook, 10. Mar 2007, 19:14:50):
~#! rn=Tassram rt=1173459993 rg=treffen.bekanntmachungen
~#! tid=1173459993
Wird man Dich dort antreffen oder vergisste Du es und gehst dann sonst 
wo hin? Z

-----------------------------------------------------------------------------



Re: Re: Karlsruhe-Stati 15.03.-05.04. (Croft, 10. Mar 2007, 19:25:05):
~#! rn=Zook rt=1173550490 rg=treffen
~#! tid=1173459993
Wird man, da ich sie dran erinnern werde.  Die interessantere Frage:
wann trifft man dich mal wieder in KA an?

Croft

-----------------------------------------------------------------------------



Re^3: Karlsruhe-Stati 15.03.-05.04. (Zook, 10. Mar 2007, 19:28:37):
~#! rn=Croft rt=1173551105 rg=treffen
~#! tid=1173459993
Poha, ja. Gute Frage! Z.

-----------------------------------------------------------------------------



Brunch-Stati in Berlin (Mesirii, 25. Mar 2007, 22:08:12):
heute war es soweit. Wir hatten ab 10:30 zum Brunch Stammtisch ins
Cafe Xion (www.cafe-xion.de) in Berlin Prenzlberg geladen. Das
Superbuffett da hatten wir schon vor ner Weile getestet und die Idee
mit dem Brunchen kam gut bei den potentiellen Besuchern an.

Es war ein voller Erfolg. Von Gnome, der wider Erwarten als Erster da war
ueber Tenar, Gloinson und Martini, die erst gestern vom Skiurlaub wieder-
gekommen sind bis zu Eldaron der ja ein seltener Gast auf Stammtischen
ist waren insgesamt 14 Mudder, 2 Mudderkinder und 2 Nichtmudder
anwesend. (Birdy, Brotnael, Cakey, Calish, Drahtbeen, Eldaron, Gloinson, 
Gnome, Guard, Maharet, Martini, Mesirii, Tenar, VanHelsing).

Wir waren insgesamt ueber 6 Stunden da und hatten soooo viel zu essen
und noch mehr Spass. Das werden wir auf jeden Fall wiederholen.

Vielen Dank an alle, die da waren und vielleicht koennten wir den Brunch-
Stati ja zu einer Tradition werden lassen.

Mesi, noch ganz satt

-----------------------------------------------------------------------------



Re: Brunch-Stati in Berlin (Gloinson, 25. Mar 2007, 22:15:26):
~#! rn=Mesirii rt=1174853292 rg=treffen
~#! tid=1174853292
Danke fuers orken des Treffens :)

*boerp*


-----------------------------------------------------------------------------



Re: Brunch-Stati in Berlin (Zesstra, 25. Mar 2007, 22:17:25):
~#! rn=Mesirii rt=1174853292 rg=treffen
~#! tid=1174853292
Uih, klingt ja echt super. :-) Schad, dass Berlin so weit weg ist, kann man
mal nicht eben Sonntags morgens hinfahren. ;-)
Zesstra

-----------------------------------------------------------------------------



Re: Re: Brunch-Stati in Berlin (Gloinson, 25. Mar 2007, 22:18:45):
~#! rn=Zesstra rt=1174853845 rg=treffen
~#! tid=1174853292
Es gibt WLAN. Und wir haben Beweise dafuer. ZB Fotos von Gnome beim ... Suchen
nach wichtigen Freundschaftskalendern.


-----------------------------------------------------------------------------



Re^3: Brunch-Stati in Berlin (Darklor, 25. Mar 2007, 22:44:18):
~#! rn=Gloinson rt=1174853925 rg=treffen
~#! tid=1174853292
Hach, vllt haett ich mich doch aufraffen sollen zu gehen... 

Darklor

-----------------------------------------------------------------------------



Re^4: Brunch-Stati in Berlin (Mesirii, 25. Mar 2007, 22:46:29):
~#! rn=Darklor rt=1174855458 rg=treffen
~#! tid=1174853292
Ja, Du hast echt was verpasst, Bilder gibts gleich im Netz.

mesi

-----------------------------------------------------------------------------



Re: Re: Brunch-Stati in Berlin (Gnome, 25. Mar 2007, 22:47:49):
~#! rn=Zesstra rt=1174853845 rg=treffen
~#! tid=1174853292
doch, zesstra, kann man ;)
man kann das ja auch gleich mit nem ganzen WE verbinden. berlin ist ja
bekanntlich gross genug, um sich den Sa. davor um die ohren schlagen
zu koennen.
und da es ja auch wlan hat, kann man ja gleich das angenehme mit dem
angenehmen verbinden :)

gnOme

-----------------------------------------------------------------------------



Re^3: Brunch-Stati in Berlin (Gnome, 25. Mar 2007, 22:48:47):
~#! rn=Gloinson rt=1174853925 rg=treffen
~#! tid=1174853292
ich... aeh... wurde genoetigt, danach zu gucken. jawohl! ich habe zeugen!

-----------------------------------------------------------------------------



Re^3: Brunch-Stati in Berlin (Zesstra, 25. Mar 2007, 22:53:28):
~#! rn=Gnome rt=1174855669 rg=treffen
~#! tid=1174853292
Mhmm, ok. Wenn der naechste Termin ist, guck ich mal, ob ich irgendwie was
planen kann, nen WE-Ausflug per Bahn oder so. ;-)
Zesstra

-----------------------------------------------------------------------------



Stammtischseite aktualisiert *PICS* (Mesirii, 25. Mar 2007, 23:35:41):
Mesi

-----------------------------------------------------------------------------



Spontantreff in Wiesbaden (oder Umgebung) (Jimdigriz, 17. Apr 2007, 14:12:09):
Moin, bin zufaellig heute Abend in Wiesbaden.
Falls wer abends spontan auf ein Bier gehen will,
bitte melden.

Ciao, JdG

-----------------------------------------------------------------------------



Re: Spontantreff in Wiesbaden (oder Umgebung) (Kellybundy, 22. Apr 2007, 16:35:14):
~#! rn=Jimdigriz rt=1176811929 rg=treffen
~#! tid=1176811929
Mift....zu spaet

-----------------------------------------------------------------------------



Re: Bochum, 4.5., 4 Winde (Humni,  3. Mai 2007, 18:07:45):
~#! rn=Humni rt=1178047015 rg=treffen.bekanntmachungen
~#! tid=1178047015
So.

In meiner unendlichen und drachenuebergreifenden Weisheit verkuende ich fuer
diesen Stammtisch:

Es ist verboten, ueber WoW zu reden. Und zwar von 21 bis 22 Uhr.

Ich denke, das ist ein Konzept das wir erproben sollten und ich werde mich an
die eigene Nase fassen und bitte darum, dass der Rest mich a) dran erinnert,
wenn ich dagegen verstosse und sich b) auch dran haelt.

Humni

-----------------------------------------------------------------------------



Mudparty bei Boing (Mesirii,  7. Mai 2007, 08:01:53):
Die "Mudparty" am Wochenende bei Boing war prima wie immer ganz viel
gegessen und noch mehr gequatscht. Ich hab mich gefreut, die alten
Saecke mal wieder zu sehen und auch ein paar neue Gesichter RL kennen-
zulernen.
Schatzsuche mit Tryfan (Geocaching) war auch spannend.
Das macht doch gleich wieder Lust auf die naechste Party.

Vielleicht habe ich auch ein paar Leute motiviert *hint, hint* mal wieder
was fuers Mud zu machen. Ausserdem bin ich gespannt, ob Paul nach FFM
kommt.

Danke an das Orgateam Hobo und Boing und die zahlreichen Essensspender
Rana, Maharet und Mesirii

-----------------------------------------------------------------------------



Re: Mudparty bei Boing (Zook,  7. Mai 2007, 11:34:37):
~#! rn=Mesirii rt=1178517713 rg=treffen
~#! tid=1178517713
Man konnte auch einen selten verwunderten Humni sehen, als er von einem
Ritter mittels Tiger verpruegelt wurde. Z

-----------------------------------------------------------------------------



Re: Re: Mudparty bei Boing (Zesstra,  7. Mai 2007, 11:37:25):
~#! rn=Zook rt=1178530477 rg=treffen
~#! tid=1178517713
Und Ark hat auch reichlich Schlaege eingesteckt, was sicher alle amuesiert,
die ihn beim Knochensammeln schon verflucht haben. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^3: Mudparty bei Boing (Maharet,  7. Mai 2007, 12:55:40):
~#! rn=Zesstra rt=1178530645 rg=treffen
~#! tid=1178517713
Und Ark und Zook sind an einem Zahlen-und-Logik-Spiel fuer Kleinkinder
gescheitert. Aber das war auch am Morgen danach, das sind mildernde Umstaende
;)

-----------------------------------------------------------------------------



Re^4: Mudparty bei Boing (Croft,  7. Mai 2007, 13:01:31):
~#! rn=Maharet rt=1178535340 rg=treffen
~#! tid=1178517713
Fuer Ark nicht.  Der hat doch schon die ganze Zeit rumgedoest.

Croft

-----------------------------------------------------------------------------



Re^5: Mudparty bei Boing (Ark,  7. Mai 2007, 13:45:16):
~#! rn=Croft rt=1178535691 rg=treffen
~#! tid=1178517713
Das war schlecht gezeichnet. Zu wenig Infos fuer meine filigranen optischen
Empfangsorgane. Sogar mittags bei Sonne. Es war eine Hoehle, aus der ein
Drecksbach floss. Ideal fuer Fledermaeuse. Nix Dachsbau. Aus. Pasta.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Mudparty bei Boing (Zook,  7. Mai 2007, 13:49:19):
~#! rn=Ark rt=1178538316 rg=treffen
~#! tid=1178517713
Nicht zu vergessen den noergelnden und giggelnden Mob, der um Dich herumstand.
Z

-----------------------------------------------------------------------------



Re^7: Mudparty bei Boing (Ark,  7. Mai 2007, 13:50:27):
~#! rn=Zook rt=1178538559 rg=treffen
~#! tid=1178517713
Im Versagen vereint, wie? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: Mudparty bei Boing (Zook,  7. Mai 2007, 13:50:35):
~#! rn=Ark rt=1178538627 rg=treffen
~#! tid=1178517713
*hust* Z

-----------------------------------------------------------------------------



Re^3: Frankfurt-Donnerstag 10. Mai (Mesirii,  7. Mai 2007, 16:33:26):
~#! rn=Gwen rt=1178548281 rg=treffen.bekanntmachungen
~#! tid=1178201547
Es kommen voraussichtlich noch Zephyr und Innuendo. 
Vielleicht auch Paul.
Mesi

-----------------------------------------------------------------------------



Re^4: Frankfurt-Donnerstag 10. Mai (Maharet,  7. Mai 2007, 16:34:28):
~#! rn=Mesirii rt=1178548406 rg=treffen
~#! tid=1178201547
Ich werde nicht dabei sein. Mein Mann will mich und unsere Tochter nicht
dabeihaben.

-----------------------------------------------------------------------------



Re^5: Frankfurt-Donnerstag 10. Mai (Mesirii,  7. Mai 2007, 16:36:08):
~#! rn=Maharet rt=1178548468 rg=treffen
~#! tid=1178201547
Ihr koennt gerne mitkommen, muessten wir aber bei Ark naechtigen oder bei Gwen
bei Ronda ist sonst schon voll :)
Mesi

-----------------------------------------------------------------------------



Re^6: Frankfurt-Donnerstag 10. Mai (Mesirii,  7. Mai 2007, 16:39:39):
~#! rn=Mesirii rt=1178548568 rg=treffen
~#! tid=1178201547
@Gwen, vielleicht ist Blivi auch da.
Gruss Mesi

-----------------------------------------------------------------------------



Re^7: Frankfurt-Donnerstag 10. Mai (Zook,  7. Mai 2007, 16:40:43):
~#! rn=Mesirii rt=1178548779 rg=treffen
~#! tid=1178201547
Wird es eigentlich Freibier geben?

Z

-----------------------------------------------------------------------------



Re^8: Frankfurt-Donnerstag 10. Mai (Mesirii,  7. Mai 2007, 16:42:18):
~#! rn=Zook rt=1178548843 rg=treffen
~#! tid=1178201547
Ja, das koennten wir als Sonderausgaben durch den Verein absetzen lassen.
Mesi

-----------------------------------------------------------------------------



Re^9: Frankfurt-Donnerstag 10. Mai (Zook,  7. Mai 2007, 16:42:48):
~#! rn=Mesirii rt=1178548938 rg=treffen
~#! tid=1178201547
Hm. Nein, ich hatte an einen anderen Spender gedacht. Jemanden, der 
Grund hat. Z

-----------------------------------------------------------------------------



Re^6: Frankfurt-Donnerstag 10. Mai (Ark,  7. Mai 2007, 16:43:46):
~#! rn=Mesirii rt=1178548568 rg=treffen
~#! tid=1178201547
Das ist ja nu voll die Drohung :-) Nur damit ich schuld bin, tsts.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Frankfurt-Donnerstag 10. Mai (Mesirii,  7. Mai 2007, 16:44:26):
~#! rn=Ark rt=1178549026 rg=treffen
~#! tid=1178201547
Achso, gute Idee, bin ich dabei.
alias tf_prompt end_989
Ich weiss auch schon, was er bekommt *kicher*
Mesi, El Bandolino

-----------------------------------------------------------------------------



Re^10: Frankfurt-Donnerstag 10. Mai (Ark,  7. Mai 2007, 16:44:28):
~#! rn=Zook rt=1178548968 rg=treffen
~#! tid=1178201547
Das ist ebenfalls voll die Drohung ... kommet zuhauf oder wie? :)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Frankfurt-Donnerstag 10. Mai (Zesstra,  7. Mai 2007, 17:07:26):
~#! rn=Maharet rt=1178548468 rg=treffen
~#! tid=1178201547
Mhmm, ich werde leider auch nicht dabei sein. Zu schad.

Zesstra

-----------------------------------------------------------------------------



mittagessen im elsass oder ka am 3.6. (Gwen, 19. Mai 2007, 10:33:44):
Auch wenn der 3.6. anscheinend ein komatoeser Sonntag wird bei einigen:
Ich werde am Vormittag in Karlsruhe sein und wuerde gerne zum Mittagessen
am Sonntag ins Elsass rueberduesen.
Wenn doch noch mehr Interesse haben - einfach ansprechen :)
Soll was gemuetliches ohne Stress werden.
Ciao, Gwen.

-----------------------------------------------------------------------------



Re: Kurzfristig: Bochum, Grunewald, 20 Uhr, heute, 19.5. (Zesstra, 19. Mai 2007, 12:59:33):
~#! rn=Humni rt=1179572207 rg=treffen.bekanntmachungen
~#! tid=1179572207
Das ist uebrigens direkt an der Kreuzung Unistrasse und Markstrasse. Die
Abfahrt auf der Unistrasse nach Weitmar, glaub ich.

Zesstra

-----------------------------------------------------------------------------



Re: mittagessen im elsass oder ka am 3.6. (Alkohol, 20. Mai 2007, 20:38:27):
~#! rn=Gwen rt=1179563624 rg=treffen
~#! tid=1179563624
wo wollt ihr denn hin, zB zur auberge de l'ill? 

Alki

-----------------------------------------------------------------------------



Re: Stammtisch in Kiel (Perdita, 24. Mai 2007, 18:38:23):
~#! rn=Janne rt=1179684020 rg=treffen.bekanntmachungen
~#! tid=1179684020
+1
Perdita - will dabei sein!

-----------------------------------------------------------------------------



Re: Re: KA goes Seemuschel (24.6) (Boing, 13. Jun 2007, 10:35:56):
~#! rn=Gwen rt=1181143545 rg=treffen.bekanntmachungen
~#! tid=1181126210
Ich hab da noch nie jemand baden sehen ... aber man wird es bestimmt
irgendwo koennen.
  Boing

-----------------------------------------------------------------------------



Marburg? (Perdita, 14. Jun 2007, 18:28:23):
Halloechen,
ich werde am Abend des 25.6. aufgrund einer Fortbildung in Marburg sein.
Irgendwelche Mudder zwecks Stammtisch in der Naehe?
Perdita

-----------------------------------------------------------------------------



Re: Marburg? (Ronda, 15. Jun 2007, 00:56:25):
~#! rn=Perdita rt=1181838503 rg=treffen
~#! tid=1181838503
Och, machen wir doch einfach am 25.6. abends nen Stammtisch in Marburg - ich
waer dabei - anybody else?

Ronda

-----------------------------------------------------------------------------



Re: Re: Marburg? (Gwen, 15. Jun 2007, 15:48:26):
~#! rn=Ronda rt=1181861785 rg=treffen
~#! tid=1181838503
Bist Du da schon wieder fahr-fit?
Wenn ich nicht fahren muss, waer ich dabei.
Gwen.

-----------------------------------------------------------------------------



Re^3: Marburg? (Innuendo, 15. Jun 2007, 17:33:50):
~#! rn=Gwen rt=1181915306 rg=treffen
~#! tid=1181838503
au das wird knapp fuer mich, da komm ich aus dem sueden... aber ich denk ich
wuerds schaffen... ich ueberleg mir mal ne kneipe

-----------------------------------------------------------------------------



Re^3: Marburg? (Innuendo, 15. Jun 2007, 17:51:54):
~#! rn=Gwen rt=1181915306 rg=treffen
~#! tid=1181838503
da faellt mir ein... was haltet ihr so generell vom shisha rauchen? es gibt da
die eine oder andere sehr nette shishabar hier im staedtchen...
bei schoenem wetter waer natuerlich eher was fuer draussen nett. hab mir grad
sagen lassen, dass das filou nen sehr schoenen hinterhof hat... evtl weiss da
ja jemand aus mr mehr darueber?

-----------------------------------------------------------------------------



Re^4: Marburg? (Grimmborn, 15. Jun 2007, 18:17:27):
~#! rn=Innuendo rt=1181922714 rg=treffen
~#! tid=1181838503
Jo, macht mal schnell mit der Umgebungsverpestung bevor endlich das allgemeine
Rauchverbot kommt. 

GdA

-----------------------------------------------------------------------------



Stati in Marburg (Danu, 17. Jun 2007, 17:06:57):
Mudder aus aller Welt stroemen nach Marburg - selbstverstaendlich machen wir
dann nen Stammtisch! 
Am Montag, 25. Juni, wird uns das Filou ab 19.30 Uhr mit leckeren Crepes (im
lauschigen Hinterhof) bewirten. Das Filou liegt zentral in der Krebsgasse 1.
Wer ne Wegbeschreibung braucht, kann sich gern an mich wenden.

Danu

-----------------------------------------------------------------------------



Re: Stati in Marburg (Zook, 17. Jun 2007, 19:36:02):
~#! rn=Danu rt=1182092817 rg=treffen
~#! tid=1182092817
+1
z

ps: hat das filou dann auch offen? danu, sie erinnern sich... ;) 

-----------------------------------------------------------------------------



Re: Stati in Marburg (Perdita, 17. Jun 2007, 19:52:17):
~#! rn=Danu rt=1182092817 rg=treffen
~#! tid=1182092817
Wie schoen, dann freu ich mich schonmal auf den 25.6.!
Perdita

-----------------------------------------------------------------------------



Re: Bochum, 22.5., Vier Winde (Zesstra, 18. Jun 2007, 23:08:00):
~#! rn=Humni rt=1182195564 rg=treffen.bekanntmachungen
~#! tid=1182195564
Ich werde diesmal nicht dabei sein, sondern mich auf der
Konkurrenzveranstaltung in Kiel amuesieren. ;-) Trinkt nen Met/Byzantiner fuer
mich mit. *g*

Zesstra

-----------------------------------------------------------------------------



Re: Re: Stati in Marburg (Maerfee, 20. Jun 2007, 23:09:36):
~#! rn=Perdita rt=1182102737 rg=treffen
~#! tid=1182092817
Also, ich wuerde auc sehr gerne kommen. Ganz sicher, dass ich kommen kann bin
ich zwar noch nicht aber generell waere es schonmal toll, wenn sich wer finden
wuerde, der mich ggf am Bahnhof abholen wuerde. :).
Maerfee.

-----------------------------------------------------------------------------



Re^3: Stati in Marburg (Zook, 27. Jun 2007, 00:39:39):
~#! rn=Maerfee rt=1182373776 rg=treffen
~#! tid=1182092817
Ronda moechte noch etwas erklaeren....

Z

-----------------------------------------------------------------------------



Re^4: Stati in Marburg (Ronda, 27. Jun 2007, 00:40:27):
~#! rn=Zook rt=1182897579 rg=treffen
~#! tid=1182092817
Falsch! Ich moechte etwas klaeren: wo warst Du, Maerfee?!

Ronda *mir macht doch keiner ein V fuer ein Z vor!*

-----------------------------------------------------------------------------



Re^5: Stati in Marburg (Zook, 27. Jun 2007, 00:42:22):
~#! rn=Ronda rt=1182897627 rg=treffen
~#! tid=1182092817
Es waren zwei V und Z oder war es ein T oder doch ein D?
Z.

-----------------------------------------------------------------------------



Re^6: Stati in Marburg (Zook, 27. Jun 2007, 00:42:34):
~#! rn=Zook rt=1182897742 rg=treffen
~#! tid=1182092817
zwei V und ein Z ;) Z

-----------------------------------------------------------------------------



Re^7: Stati in Marburg (Zook, 27. Jun 2007, 00:42:42):
~#! rn=Zook rt=1182897754 rg=treffen
~#! tid=1182092817
Na, nun erklaer scho nRonda ;) z.

-----------------------------------------------------------------------------



Re: 4.8. bei Luebeck: kein Stammtisch, aber... (Boing, 29. Jun 2007, 11:22:54):
~#! rn=Perdita rt=1183046086 rg=treffen.bekanntmachungen
~#! tid=1183046086
War Kubb nicht dieses 'lustige' Spiel, wo man stundenlang Holzkloetze
durch die Gegend wirft? :)
  Boing

-----------------------------------------------------------------------------



Re: Re: 4.8. bei Luebeck: kein Stammtisch, aber... (Vanir, 29. Jun 2007, 12:04:08):
~#! rn=Boing rt=1183108974 rg=treffen
~#! tid=1183046086
das war yenga

-----------------------------------------------------------------------------



Re^3: 4.8. bei Luebeck: kein Stammtisch, aber... (Anthea, 29. Jun 2007, 12:05:41):
~#! rn=Vanir rt=1183111448 rg=treffen
~#! tid=1183046086
Yenga? Das "Wie zerstoere ich am schnellsten meinen Holztisch"-Spiel?

-----------------------------------------------------------------------------



Re^4: 4.8. bei Luebeck: kein Stammtisch, aber... (Gloinson, 29. Jun 2007, 12:26:47):
~#! rn=Anthea rt=1183111541 rg=treffen
~#! tid=1183046086
Haerteres Holz fuer den Tisch nehmen? :)


-----------------------------------------------------------------------------



Re^5: 4.8. bei Luebeck: kein Stammtisch, aber... (Vanir, 29. Jun 2007, 12:29:22):
~#! rn=Gloinson rt=1183112807 rg=treffen
~#! tid=1183046086
Weniger trinken beim spielen!

-----------------------------------------------------------------------------



Re: Re: 4.8. bei Luebeck: kein Stammtisch, aber... (Perdita, 29. Jun 2007, 16:37:34):
~#! rn=Boing rt=1183108974 rg=treffen
~#! tid=1183046086
ja, Boing, genau das.
Bei Yenga wirft man die nicht, die fallen da schon ganz von alleine ;-)
Perdita

-----------------------------------------------------------------------------



Re: Stati am 13.7. in Bochum (Miril, 13. Jul 2007, 15:30:59):
~#! rn=Zesstra rt=1184180888 rg=treffen.bekanntmachungen
~#! tid=1184180888
Ich wollte nur darauf hinweisen, dass ein gewisser Drachen sosehr gewuetet
hat, dass die Pension "Chez Miril" heute leider geschlossen bleiben muss ;).
Im Klartext heisst das: 
Es kann heute nach dem Stati keiner hier uebernachten, es sei denn er bringt
ein Zelt mit und stellt es im Garten auf.

Miril

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum (Grimmborn, 25. Jul 2007, 14:15:12):
~#! on=Zook ot=1185364981 og=treffen.bekanntmachungen
~#! rn=Vincent rt=1185360326 rg=treffen.bekanntmachungen
~#! tid=1185359235
Was wuerden wir ohne Dich machen? 

Immer noch glauben, dass Zauberer Zaubererstaebe benutzen?

z

-----------------------------------------------------------------------------



Stammtische wer, wo, wann (Mesirii, 30. Jul 2007, 16:20:10):

Auffer Party ist mir wieder mal aufgefallen, wie wenig ich ueber die Wohnorte
meiner
Mitmudder weiss. Gerade die vielen neuen Spieler bzw. die wiedergekommenen
Altspieler 
wohnen ja auch irgendwo.

Damit die Stammtischtradition wieder etwas aufleben kann, wuerde ich
vorschlagen, dass
wir irgendwo (z.B. im Web, Stammtischbrett) eine anonyme? Liste pflegen
koennen, wer 
wohin zu regelmaessigen Stammtischen kommen koennte und wuerde.

Was haltet ihr davon?

Mesi, partygeschaedigt :)

-----------------------------------------------------------------------------



Re: Stammtische wer, wo, wann (Zesstra, 30. Jul 2007, 16:23:29):
~#! rn=Mesirii rt=1185805210 rg=treffen
~#! tid=1185805210
Finde ich eigentlich ne gute Idee. Bei der Gelegenheit sollten wir die alte
Stati-Seite mal wieder aufleben lassen und eine Liste mit regelmaessigen
Statis dort pflegen (Ort, ggf. Stammkneipe(n), uebliche Uhrzeit, ueblicher
Turnus). Ggf. kann man noch ueber konkrete Termine im Wiki nachdenken, obwohl
ich erstmal die Tendenz hab, treffen.bekanntmachungen als ausreichend zu
empfinden.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Stammtische wer, wo, wann (Mesirii, 30. Jul 2007, 16:28:52):
~#! rn=Zesstra rt=1185805409 rg=treffen
~#! tid=1185805210
Ok, ich wuerde die Liste im Web mal anlegen. Ich braeuchte dazu von Euch allen
potentielle Stammtische, mit Ort, Zeit, Turnus und wer an welchen Stammtischen
potentiell teilnehmen will/kann.
Bitte an mgstati at mesirii.de
Mesi

-----------------------------------------------------------------------------



Re: Mandragora-Fruehstueck, 19.8.07 (Zook, 15. Aug 2007, 14:10:33):
~#! rn=Zesstra rt=1187178600 rg=treffen.bekanntmachungen
~#! tid=1187178600
Ach, das ist jetzt aber ein wenig zu arg kurzfristig. ;)

Z

-----------------------------------------------------------------------------



Re: Re: Mandragora-Fruehstueck, 19.8.07 (Zesstra, 15. Aug 2007, 14:37:43):
~#! rn=Zook rt=1187179833 rg=treffen
~#! tid=1187178600
Argl, Mist. Wir hatten da vor 1.5 Wochen schon drueber gesprochen, aber ich
hatte es zwischenzeitlich vergessen. Wir sollten echt Stati-Ankuendigungen in
Zukunft auf dem jeweils vorhergehenden Stati machen.

Zesstra

-----------------------------------------------------------------------------



Re^3: Mandragora-Fruehstueck, 19.8.07 (Zook, 15. Aug 2007, 14:38:19):
~#! rn=Zesstra rt=1187181463 rg=treffen
~#! tid=1187178600
Dabei haette ich eine Ausrede am Sonntag gut gebrauchen koennen ;)

Z

-----------------------------------------------------------------------------



Re^4: Mandragora-Fruehstueck, 19.8.07 (Zesstra, 15. Aug 2007, 15:06:05):
~#! rn=Zook rt=1187181499 rg=treffen
~#! tid=1187178600
Das ist ja doof. :-(

Zesstra

-----------------------------------------------------------------------------



Re: Mandragora-Fruehstueck, 19.8.07 (Darklor, 16. Aug 2007, 12:19:07):
~#! rn=Zesstra rt=1187178600 rg=treffen.bekanntmachungen
~#! tid=1187178600
Und was is mit dem Berliner Brunch? - Das erwaehnt keiner? - or hab ichs
ueberlesen? 

Darklor

-----------------------------------------------------------------------------



Re: Re: Mandragora-Fruehstueck, 19.8.07 (Maharet, 16. Aug 2007, 12:26:27):
~#! rn=Darklor rt=1187259547 rg=treffen
~#! tid=1187178600
Warum erwaehnst du den nicht? 

-----------------------------------------------------------------------------



Re^3: Mandragora-Fruehstueck, 19.8.07 (Moonshine, 16. Aug 2007, 12:27:03):
~#! rn=Maharet rt=1187259987 rg=treffen
~#! tid=1187178600
Hat er doch. 

-----------------------------------------------------------------------------



Re^4: Mandragora-Fruehstueck, 19.8.07 (Maharet, 16. Aug 2007, 12:27:17):
~#! rn=Moonshine rt=1187260023 rg=treffen
~#! tid=1187178600
Dann soll er sich doch nicht beklagen ...

-----------------------------------------------------------------------------



Re^5: Mandragora-Fruehstueck, 19.8.07 (Moonshine, 16. Aug 2007, 12:27:37):
~#! rn=Maharet rt=1187260037 rg=treffen
~#! tid=1187178600
Er beklagt sich halt gerne ...

-----------------------------------------------------------------------------



Brunch in Berlin (Maharet, 16. Aug 2007, 12:28:21):
Kommenden Sonntag im Xion, das ist Pappelallee Ecke Stargarder Str in
Prenzlberg. Gloinson hat ab 11 reserviert, aber ich denke, wir werden schon
frueher da sein, sonst sind wir ja verhungert ...
Kommet zu hauf, wir haben wieder die Spiegelnische.

-----------------------------------------------------------------------------



Re: Brunch in Berlin (Darklor, 19. Aug 2007, 14:12:10):
~#! rn=Maharet rt=1187260101 rg=treffen
~#! tid=1187260101
Och Menno und wieder nicht geschafft - Und das trotz Weckers... :(

Darklor

-----------------------------------------------------------------------------



Re: Re: Brunch in Berlin (Maharet, 19. Aug 2007, 20:48:35):
~#! rn=Darklor rt=1187525530 rg=treffen
~#! tid=1187260101
Das schreibst du um 14 Uhr? Also wir waren bis 16 Uhr dort.

-----------------------------------------------------------------------------



Re: Frankfurt, Hemingway-Lounge (Zesstra, 19. Aug 2007, 23:16:27):
~#! rn=Ark rt=1187557668 rg=treffen.bekanntmachungen
~#! tid=1187557668
Argl. Mittwoch? Schade, schade. Aber fuer einen Abend ist Frankfurt zu weit
weg, ich fuerchte, ich bin diesmal der Werwolf. ;-)
BTW: Wir haben heut das WLAN des Hemingway's in Bochum genutzt. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^3: Brunch in Berlin (Darklor, 20. Aug 2007, 01:22:03):
~#! rn=Maharet rt=1187549315 rg=treffen
~#! tid=1187260101
Bis ich dann da gewesen waere waer so spaet gewesen... :( - aber fuers
naechste mal weiss ich ja jetzt, dass ihr dort bis zum Kaffetrinken bleibt...
;)

Darklor

-----------------------------------------------------------------------------



Re: Spontanstammtisch BONN (Liara, 21. Aug 2007, 18:46:04):
~#! rn=Liara rt=1187706630 rg=treffen.bekanntmachungen
~#! tid=1187706630
+ Firehawk

(Ja, ich weiss auch nicht, wie ich in einer Viertelstunde in Bonn sein soll
;).

-----------------------------------------------------------------------------



Re: Re: Spontanstammtisch BONN (Liara, 26. Aug 2007, 18:43:24):
~#! rn=Liara rt=1187714764 rg=treffen
~#! tid=1187706630
Zesstra und Mesirii haben netterweise einige Fotos vom Anschlusstreffen am 23.
bei den Statibildern reingestellt. Entstanden sind die mit Firehawks
Diensthandy, und wir haben alle mal geknipst.
Sind vor allem Bilder von Obstler, dem Obstmonster. :) Mein Favorit ist ja
eindeutig Bild 4, das Arrangement ist von Choclat. *g*

ZZL

-----------------------------------------------------------------------------



Re: Sonderstati FFM (Ronda, 26. Aug 2007, 20:05:01):
~#! rn=Mesirii rt=1187734635 rg=treffen.bekanntmachungen
~#! tid=1187734635
Mesi meint natuerlich das New-In-Town, Niddastrasse 101, FFM - direkt in der
Naehe vom Bahnhof (http://home.new-in-town.de/).

Ich bin dabei - wer denn noch? ;-)

Ronda

-----------------------------------------------------------------------------



Re: Re: Sonderstati FFM (Ark, 26. Aug 2007, 23:02:58):
~#! rn=Ronda rt=1188151501 rg=treffen
~#! tid=1187734635
Ich passe, bin mehr im Sueden zugange :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Stati in Muenchen (Kenny, 27. Aug 2007, 22:41:13):
Muenchner dieses Ordens, meldet euch des Morgens,
schaut nicht in die Fern, hier hat man euch auch gern.
genug des Gefasels, wer hat Lust auf ein Muenchner treffen. Wohne noch nicht
allzulang hier :)
Vorletzte Idee: Wiesn-Treff :)
schlagt was vor oder halt nicht ;)
Gruesse
Kenny

-----------------------------------------------------------------------------



Re: Stati in Muenchen (Demonlord, 28. Aug 2007, 09:33:59):
~#! rn=Kenny rt=1188247273 rg=treffen
~#! tid=1188247273
Immer doch, zwei Chaoten und ein Kaempfer raeumen auf den Wiesn bestimmt gut
auf.
Muss aber nicht unbedingt auf den Wiesn sein, weil es dort mit den Treffen
eher schlecht ist.

-----------------------------------------------------------------------------



Re: Re: Stati in Muenchen (Kenny, 28. Aug 2007, 21:33:16):
~#! rn=Demonlord rt=1188286439 rg=treffen
~#! tid=1188247273
Wo ist mir ja gleich :) Aber zur Wiesn kommt auch Woo her am 28.
dementsprechend waere das passend.
Also meine Handynr. ist +49 176 233 82 038
Ansonsten koennt ihr mich ja auch mal so anrufen, wohne am U-Bhf Kreillerstr.
und wir machen eh fast jedes Wochenende Party, ob klein oder gross :)
Gruss
Kenny aka Tim

-----------------------------------------------------------------------------



Treffen in Braunschweig: 31.8. (Derin, 29. Aug 2007, 20:25:41):
Huhu,

am Freitagabend wollen wir uns ab 19:30 Uhr im Mephisto (Fallersleber
Strasse) treffen. Wir werden entweder einen Tisch reserviert haben
oder an der Theke bescheidgesagt haben, wo man die Morgengrauen-Leute
findet. Wer Lust hat ist also herzlich willkommen aufzutauchen. :)

Bis bald,
Derin.

-----------------------------------------------------------------------------



Re: Stati in Bochum, 02.09.2007 (Shakedbeer, 31. Aug 2007, 10:00:08):
~#! on=Shakedbeer ot=1188547196 og=treffen.bekanntmachungen
~#! rn=Zesstra rt=1188139365 rg=treffen.bekanntmachungen
~#! tid=1188139365
Na das klingt doch gut. Da ich von der Duesseldorf-Kneipentour am Samstag doch
noch nach Werne gefahren werde, koennte ich am Sonntag Mittag durchaus wieder
auf den Beinen und in Bochum sein. :o) 

Datt Schuettelalt.

-----------------------------------------------------------------------------



Mittelaltermarkt 15./16.9. in Hattingen (Zesstra,  3. Sep 2007, 20:11:03):
Huhu,

am 15./16.9. (12 bis 23 Uhr und Sonntags von 10 bis 19 Uhr) findet in
Hattingen ein Mittelaltermarkt (zugunsten des BACAA e.V.) statt. Dabei treten
auch Rabenschrey (Sa+So), Wirrwahr (Sa), Rayneke (So) und Dunkelschoen (So)
auf.
Besteht da bei einigen Interesse, sich zu treffen und das Spektakel einige
Stunde mitzuerleben? An dem WE waere auch unser naechster regulaerer Stati
hier, evtl. laesst sich das ja da einfach mal verbinden. ;-)

Link:
http://www.hldr.de/hattingen.html

Zesstra

-----------------------------------------------------------------------------



Koeln naechste Woche? (Perdita, 14. Sep 2007, 19:38:51):
Hallo Mudder!
Perdita gondelt mal wieder arbeitgeberfinanziert in der Weltgeschichte herum
:-)
Nachdem ich nun neulich schon so einen netten Stammtisch in Marburg miterleben
durfte, kommt hier nun die Frage: Wie sieht es mit Koeln aus?
In Frage kaemen Donnerstag (20.9.) oder Freitag (21.9.) Abend, allerdings waer
der Freitag mir lieber.
Da ich mich in Koeln nicht auskenne, waer ich fuer Hinweise bezueglich eines
Treffpunkts dankbar!
Guenstig waer irgendwas in der Naehe der Uni, weil dort meine Fortbildung
steigt.
Gruesse aus dem hohen Norden
Perdita

-----------------------------------------------------------------------------



Re: Koeln naechste Woche? (Zesstra, 14. Sep 2007, 19:40:28):
~#! rn=Perdita rt=1189791531 rg=treffen
~#! tid=1189791531
Fuer Freitag abend: +1 ;-)
Allerdings kenn ich mich in Koeln auch nicht aus, daher kann ich spontan nicht
mit Vorschlaegen dienen, koennte nur mal im Netz rumsuchen. Aber vielleicht
meldet sich ja noch jemand mit Ortskenntnis.

Zesstra

-----------------------------------------------------------------------------



Re: Re: Koeln naechste Woche? (Humni, 15. Sep 2007, 10:53:31):
~#! rn=Zesstra rt=1189791628 rg=treffen
~#! tid=1189791531
Vorschlaege haette ich ein paar, z.B. richtig "Koelsch" ist das Paeffgens mit
dem dortigen Koelsch. Hat aber so gar keinen Fantasy-Bezug und ist meist recht
voll.

Ich bin aber eh nicht da. Darum muesst ihr das eh ohne mich machen. Darum
sollteich auch gar nichs schreiben. Darum.... ach egal.

Humni

-----------------------------------------------------------------------------



Bochumer Stati morgen 16.09. - in Hattingen !!! (Masul, 15. Sep 2007, 14:33:07):

wen es noch auf die Schnelle interessiert:
Statt im Mandragora wollen wir uns morgen in Hattingen beim Mittelalterlichen
Spektakulum treffen. Morgen, am Sonntag, 16.09.2007 um 15:00 Uhr am Eingang
zum Sportplatz am Wildhagen in Hattingen. Die Adresse ist Am Wildhagen 25,
45525 Hattingen. Details zu dem Spektakulum stehen unter
http://www.hldr.de/hattingen2.html.

Masul

-----------------------------------------------------------------------------



Re^3: Koeln naechste Woche? (Krellja, 25. Sep 2007, 22:46:25):
~#! rn=Humni rt=1189846411 rg=treffen
~#! tid=1189791531
hmm, nu isses zu spaet. Als nach Koeln ausgewanderter Hamburger waer mir schon
was einfgefallen :)

Tschuess Krellja

-----------------------------------------------------------------------------



Re: Berlin diese Woche: 30. September (Zook, 26. Sep 2007, 11:35:49):
~#! rn=Gloinson rt=1190799208 rg=treffen
~#! tid=1190799208
Becker? Wie einfallslos. Zook.

-----------------------------------------------------------------------------



Re: Re: Berlin diese Woche: 30. September (Gloinson, 26. Sep 2007, 11:37:53):
~#! rn=Zook rt=1190799349 rg=treffen
~#! tid=1190799208
Sicher. Aber jedes Mal wenn ich da reserviere hebt jemand mit so starkem
tuerkischem Akzent ab, dass ich mich freue ueberhaupt verstanden zu werden :P


-----------------------------------------------------------------------------



Re: Berlin diese Woche: 30. September (Gloinson, 26. Sep 2007, 12:11:06):
~#! rn=Grimmborn rt=1190800693 rg=treffen.bekanntmachungen
~#! tid=1190800693
Danke, Grimmborn. Zeitung, das unbekannte Wesen ;)


-----------------------------------------------------------------------------



Re^3: Berlin diese Woche: 30. September (Maharet, 26. Sep 2007, 15:41:26):
~#! rn=Gloinson rt=1190799473 rg=treffen
~#! tid=1190799208
Ich reserviere ja gern Plaetze auf Mesis Namen, den versteht jeder, der mit
Essen zu tun hat. Und der Name ist auch gleichzeitig Programm ;)

-----------------------------------------------------------------------------



Re^4: Berlin diese Woche: 30. September (Highlander, 26. Sep 2007, 15:42:51):
~#! rn=Maharet rt=1190814086 rg=treffen
~#! tid=1190799208
Wieso 'auf Mesis Namen'? Bist Du nicht Frau Mesi, sprich, waere das
nicht auch Deiner?

HrT

-----------------------------------------------------------------------------



Re^5: Berlin diese Woche: 30. September (Maharet, 26. Sep 2007, 15:45:27):
~#! rn=Highlander rt=1190814171 rg=treffen
~#! tid=1190799208
Nein, ich hab meinen behalten. Die Witze werden zu schnell oede ;)

-----------------------------------------------------------------------------



Re^6: Berlin diese Woche: 30. September (Zook, 26. Sep 2007, 16:40:28):
~#! rn=Maharet rt=1190814327 rg=treffen
~#! tid=1190799208
wobei, wenn der name programm in einem lokal ist, dann sind die
portionen zu klein wuerd ich meinen. z.

-----------------------------------------------------------------------------



Re: KA goes Flammkuchen, 12.10 (Perdita, 28. Sep 2007, 23:33:58):
~#! rn=Croft rt=1190372980 rg=treffen.bekanntmachungen
~#! tid=1190372980
Ich werde nach jahrelanger Abstinenz auch endlich mal wieder dabei sein!
Sogar schon am Donnerstagabend zum Stammtisch

Perdita goes KA goes Flammkuchen :-)

-----------------------------------------------------------------------------



Re: Stati Frankfurt, Freitag, 12.10.07 (Grimmborn,  8. Okt 2007, 06:50:03):
~#! on=Gwen ot=1191772375 og=treffen.bekanntmachungen
~#! rn=Ark rt=1191772140 rg=treffen.bekanntmachungen
~#! tid=1191772140
Juristisch gesehen werden Haufen ab 3 Personen gebildet, iirc.
Dann sind wir also schon ein Haufen.
Wer kommt noch?
Gwen.

-----------------------------------------------------------------------------



Re: Stati Essen, Samstag, _20_.10. (Vanion, 18. Okt 2007, 20:49:52):
~#! rn=Zesstra rt=1192698990 rg=treffen.bekanntmachungen
~#! tid=1192698990
Ich fahre da am Sa zwar vorbei, aber das wird mir zu spaet. Leider :( Viel
Spass.

V*

-----------------------------------------------------------------------------



Re: Netter Abend im Cafe Egal (in E) am 17.11.07 19:00 Uhr geplant (Humni, 16. Nov 2007, 18:21:52):
~#! rn=Gwen rt=1193917309 rg=treffen.bekanntmachungen
~#! tid=1193917309
Huhu,

ich werde morgen ngatuerlich auch kommen, ist ja klar. Nun gut. Ich kenn das
Cafe Egal nicht. Laut Speisekarte gibts da Schnitzel. Hmm.

Also, wir waren letztes Mal in derselben Strasse, im Cafe Oliv. Es war -
gelinde gesagt - grauenhaft. Die Musik und die anderen Gaeste waren laut, die
Bedienung lahm, das Essen Miniportioenchen und ueberteuert. So ein
"Szene-In-Cafe" halt, fuer die gehobene Mittelschicht. Grob gesagt. Ich war
jedenfalls froh, dass ich fahren musste, so konnte ich zuhause anstaendiges
Bier trinken, anstatt da fuer 0,3... lassen wir das.

Ich moechte Euch nur empfehlen, schon wirklich gegen 19 Uhr zu kommen, um zur
Not einen Locationwechsel zu ermoeglichen.

Sollte jemand das Cafe Egal wirklich kennen und Gegenteiliges berichten
(sorry, die ganze Ruettenscheider Strasse sieht mir eher nach so einem "Ich
waer gerne Schicki-Micki-Bezirk" aus, daher mein Vorurteil) lasse ich mich
gerne (wie ohnehin morgen) eines besseren belehren.

Humni
PS: Meine Guete, hab ich da Typos drin. Hngl. Hoffe, das krieg ich demnaechst
wieder besser hin, ich hab an diesem Rechner eine neue Tastatur.

-----------------------------------------------------------------------------



Re: Vorankuendigung: Oeffentliche Audienz (Shani, 20. Nov 2007, 16:01:35):
Hallo,

hiermit notifiziere ich mein Interesse an der vorangekuendigten Audienz und
harre der Bekanntgabe der Uhrzeit durch die zustaendigen Stellen. :-)

Mein Vorteil ist dass ich direkt vor Ort wohne, und ausserdem wollte ich den
Weihnachtsmarkt ohnehin besuchen. Da ergreife ich doch gerne diese
Gelegenheit. 

Also, ich hoffe bis zum 7. Dezember :-)

Lieben Gruss

Shani

-----------------------------------------------------------------------------



Re: Re: Vorankuendigung: Oeffentliche Audienz (Ark, 20. Nov 2007, 17:10:50):
~#! rn=Shani rt=1195570895 rg=treffen
~#! tid=1195570895
Ohne Geschwafel: wenn hier nicht bald mal einer Butter bei die Fisch gibt und
mit Zahlen und Fakten rueberkommt, fuelle ich meinen Kalender mit was anderem
:-) Des Rumgeeier kann man ja echt nicht mehr mit ansehen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Vorankuendigung: Oeffentliche Audienz (Zesstra, 20. Nov 2007, 17:13:26):
~#! rn=Ark rt=1195575050 rg=treffen
~#! tid=1195570895
Mhmm, 7.12., Abends, in Marburg ist doch schonmal ne relativ genaue Info?
Jedenfalls genau genug, um es im Terminkalender zu vermerken. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^3: Vorankuendigung: Oeffentliche Audienz (Del, 20. Nov 2007, 17:15:35):
~#! rn=Ark rt=1195575050 rg=treffen
~#! tid=1195570895
Fakten: 
Wann: 07.12.
Wo: Marburg
Warum: Besuch des dortigen Weihnachtsmarktes
Was genau ist an diesen Zahlen/Fakten nicht verstaendlich, Ark? ;-)
Also eier Du mal nicht weiter rum, sondern plan schonmal ein, dass Du fuer
Gwen und mich Taxi spielen musst. *g*

Weihnachtsmarkt in Marburg? Nicht ohne mich!
Die NuDel ;-)

-----------------------------------------------------------------------------



Re^4: Vorankuendigung: Oeffentliche Audienz (Ark, 20. Nov 2007, 17:30:40):
~#! rn=Del rt=1195575335 rg=treffen
~#! tid=1195570895
Hm, Navi spricht auf "Weihnachtsmarkt" nicht an. Hmmm.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Vorankuendigung: Oeffentliche Audienz (Mieze, 20. Nov 2007, 17:31:43):
~#! rn=Del rt=1195575335 rg=treffen
~#! tid=1195570895
weitere Fakten:
- es wird dunkel sein
- der 7.12. ist im Sternzeichen Schuetze
- chinesisches Jahr des Schweins
- Geburtstag von u.a. Marie Tussaud

Ok, meine Witze waren auch schonmal besser ...

-----------------------------------------------------------------------------



Re^5: Vorankuendigung: Oeffentliche Audienz (Zesstra, 20. Nov 2007, 17:39:26):
~#! rn=Mieze rt=1195576303 rg=treffen
~#! tid=1195570895
Ich werfe mal ein:
 5048'52.85"N
  846'11.83"O
-)) Wobei ich das auch nur ausm Netz hab, dass da der Weihnachtsmarkt sein
soll. Ein gemeinsamer Treffpunkt abseits vom Gewuehl ist sicherlich noch von
Vorteil. Je nachdem, wann ihr anfangt, schaff ich das allerdings eh erst
spaeter und wir brauchen dann noch einen Treffpunkt, den ich auch als
Marburg-Unkundiger find. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Stammtisch in BS (Grimmborn, 26. Nov 2007, 10:39:50):
~#! on=Qitess ot=1196068847 og=treffen.bekanntmachungen
~#! rn=Derin rt=1193305510 rg=treffen.bekanntmachungen
~#! tid=1193305510
UNFASSBAR! Es gibt wieder Stammtische in BS!
QI**

-----------------------------------------------------------------------------



Re: KA Stati 22.11/29.11 (Vanion, 28. Nov 2007, 08:31:37):
~#! rn=Croft rt=1196172325 rg=treffen.bekanntmachungen
~#! tid=1196172325
Auch wenn ich dieser Tage in Mannheim bin: -1

Fuer den Grund siehe megaschmarrn.

V*
PS: 22.11.?

-----------------------------------------------------------------------------



Re: Re: KA Stati 22.11/29.11 (Croft, 29. Nov 2007, 01:09:11):
~#! rn=Vanion rt=1196235097 rg=treffen
~#! tid=1196172325
Ja?  Da waren wir im Drachen.

Croft

-----------------------------------------------------------------------------



Re^3: KA Stati 22.11/29.11 (Vanion, 29. Nov 2007, 08:32:30):
~#! rn=Croft rt=1196294951 rg=treffen
~#! tid=1196172325
Mich hatte nur gewundert, dass du das rueckwirkend ausgerufen hast. 

V *

-----------------------------------------------------------------------------



Re^4: KA Stati 22.11/29.11 (Croft, 29. Nov 2007, 09:13:41):
~#! rn=Vanion rt=1196321550 rg=treffen
~#! tid=1196172325
Hat immerhin dazu gefuehrt, dass wir 3 auswaertige Gaeste hatten.

Croft

-----------------------------------------------------------------------------



Re^5: KA Stati 22.11/29.11 (Bambi, 29. Nov 2007, 13:12:09):
~#! rn=Croft rt=1196324021 rg=treffen
~#! tid=1196172325
Nicht, dass ich wuesste. Zumindest bei mir wars so, dass ich auch ohne
Ankuendigung vorbeigekommen bin. Ich musste nur nochmal nachfragen, wo der
Stati ueberhaupt stattfindet. :)

-----------------------------------------------------------------------------



Re^6: KA Stati 22.11/29.11 (Croft, 29. Nov 2007, 13:14:09):
~#! rn=Bambi rt=1196338329 rg=treffen
~#! tid=1196172325
Die Tatsache, dass es im Drachen (und nicht irgendwo im hintersten Eck
von Rueppurr) stattfand, war aber bestimmt hilfreich beim Erscheinen ;-)

Croft

-----------------------------------------------------------------------------



Re^7: KA Stati 22.11/29.11 (Bambi, 29. Nov 2007, 13:18:16):
~#! rn=Croft rt=1196338449 rg=treffen
~#! tid=1196172325
Ja, natuerlich. Aber es hat nicht zur Entscheidung, OB ich vorbeikomme,
beigetragen. Solange der Stati zurecht "Karlsruher MUD-Stammtisch" genannt
werden kann und nicht z.B. "Hawaii-MUD-Stammtisch mit mehrheitlich Karlsruher
Muddern"... :)

-----------------------------------------------------------------------------



Re^8: KA Stati 22.11/29.11 (Croft, 29. Nov 2007, 13:24:33):
~#! rn=Bambi rt=1196338696 rg=treffen
~#! tid=1196172325
Hm.  Wir hatten dieses Jahr auch einen Karlsruher MUD-Stammtisch in Bochum.
Und Karlsruher waren in der Minderheit.

Croft

-----------------------------------------------------------------------------



Re^9: KA Stati 22.11/29.11 (Pitfall, 30. Nov 2007, 02:57:56):
~#! rn=Croft rt=1196339073 rg=treffen
~#! tid=1196172325
Aber der Drache ist einfach zu finden.

-----------------------------------------------------------------------------



Re^7: Vorankuendigung: Oeffentliche Audienz (Zook, 30. Nov 2007, 22:21:31):
~#! on=Cisou ot=1196457677 og=treffen.bekanntmachungen
~#! rn=Zook rt=1196457532 rg=treffen.bekanntmachungen
~#! tid=1195567326
"Da ich kein Bier vertrage, werde ich die Audienz um 20.15 beenden muessen."

Trinken wir dann die Herrengedecke gemeinsam, Eure Magnifitienz? Ich das Bier
und Du das andere? :)

Das Elsterchen

-----------------------------------------------------------------------------



Re^8: Vorankuendigung: Oeffentliche Audienz (Zook, 30. Nov 2007, 22:21:47):
~#! rn=Zook rt=1196457691 rg=treffen
~#! tid=1195567326
*hust* 

Oeeeeeeeeeeeeeh... Ok, ich verkuerze auf 20.11 Uhr ;) 

Zook.

-----------------------------------------------------------------------------



Re^9: Vorankuendigung: Oeffentliche Audienz (Cisou, 30. Nov 2007, 22:23:27):
~#! rn=Zook rt=1196457707 rg=treffen
~#! tid=1195567326

Dann gluehe ich vor und lass Dir "das andere" uebrig, das wird nicht so
schnell schlecht. ;)

Das Elsterchen

-----------------------------------------------------------------------------



Re^10: Vorankuendigung: Oeffentliche Audienz (Zook, 30. Nov 2007, 22:24:21):
~#! rn=Cisou rt=1196457807 rg=treffen
~#! tid=1195567326
Achwas, die Gedecke trinken wir zusammen. Werden die im Hinkelstein
ja wohl anstandlos servieren. Und wenn die Audienz um 20.15 Uhr zu Ende
ist, dann haben wir ja noch ein paar Minuten, bis ich ausfalle. Zook.

-----------------------------------------------------------------------------



Re^11: Vorankuendigung: Oeffentliche Audienz (Arathorn, 30. Nov 2007, 22:25:34):
~#! rn=Zook rt=1196457861 rg=treffen
~#! tid=1195567326
"aus" oder "um"falle? ]:->

-----------------------------------------------------------------------------



Re^12: Vorankuendigung: Oeffentliche Audienz (Zook, 30. Nov 2007, 22:25:58):
~#! rn=Arathorn rt=1196457934 rg=treffen
~#! tid=1195567326
Komm und sieh, Unglaeubiger! Zook.

-----------------------------------------------------------------------------



Re^13: Vorankuendigung: Oeffentliche Audienz (Zook, 11. Dez 2007, 13:51:24):
~#! rn=Zook rt=1196457958 rg=treffen
~#! tid=1195567326
Ich freue mich, dass die Gelegenheit zur oeffentlichen 
Audienz so zahlreich genutzt wurde. Vermag noch jemand
genaue Zahlen anzugeben? Bei mir hat sich da ein kleiner
Schleier ueber die Erinnerung an die Zahlen gelegt. 

Zook

PS: Der Fuchs tut mir leid. Wirklich.

-----------------------------------------------------------------------------



Re^14: Vorankuendigung: Oeffentliche Audienz (Ark, 11. Dez 2007, 13:54:31):
~#! rn=Zook rt=1197377484 rg=treffen
~#! tid=1195567326
Krieg das Auto heute wieder ... der Fuchs ist abgelichtet in meinem Hirn ...
bevor er Historie wurde.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^15: Vorankuendigung: Oeffentliche Audienz (Croft, 11. Dez 2007, 13:55:53):
~#! rn=Ark rt=1197377671 rg=treffen
~#! tid=1195567326
Arks Auto hat einen Fuchs kennengelernt?

Croft

-----------------------------------------------------------------------------



Re^16: Vorankuendigung: Oeffentliche Audienz (Del, 11. Dez 2007, 13:57:02):
~#! rn=Croft rt=1197377753 rg=treffen
~#! tid=1195567326
Jep, es war allerdings ein sehr kurzes Kennenlernen ohne die allgemein
ueblichen Hoeflichkeitsfloskeln. :-(
*schnief*
Del

-----------------------------------------------------------------------------



Re^17: Vorankuendigung: Oeffentliche Audienz (Zook, 11. Dez 2007, 13:58:44):
~#! rn=Del rt=1197377822 rg=treffen
~#! tid=1195567326
"Ausbilder Ark" ;) 

Zook.

-----------------------------------------------------------------------------



Re^18: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 14:56:28):
~#! rn=Zook rt=1197377924 rg=treffen
~#! tid=1195567326
Also was die Zahlen angeht...

So rein erinnerungstechnisch komme ich auf 10 Leute, allerdings waren es
wahrscheinlich mehr und der Rest ist mir entfallen. *g* Also bitte nich drauf
festnageln. ;-)

Shani


-----------------------------------------------------------------------------



Re^19: Vorankuendigung: Oeffentliche Audienz (Croft, 11. Dez 2007, 15:01:06):
~#! rn=Shani rt=1197381388 rg=treffen
~#! tid=1195567326
*kramt nach Hammer und Naegeln*

Croft

-----------------------------------------------------------------------------



Re^20: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 15:01:54):
~#! rn=Croft rt=1197381666 rg=treffen
~#! tid=1195567326
*nutzt die Kramerei mal um sich schnell ausser Reichweite zu begeben.*
Shani

-----------------------------------------------------------------------------



Re^21: Vorankuendigung: Oeffentliche Audienz (Zesstra, 11. Dez 2007, 15:05:39):
~#! rn=Shani rt=1197381714 rg=treffen
~#! tid=1195567326
Ich kann mich gerade an Danu, Gwen, Cisou, Del, hasenfuss, Shani, Trupf,
Choclat, Ark, mich  und Zook selber erinnern, also Zook + 10
Audienzteilnehmer. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^22: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 15:07:27):
~#! rn=Zesstra rt=1197381939 rg=treffen
~#! tid=1195567326
Dann haben wir ja was gemeinsam. *g* Auf mehr komm ich auch nicht.

Shani

-----------------------------------------------------------------------------



Re^23: Vorankuendigung: Oeffentliche Audienz (Del, 11. Dez 2007, 15:09:44):
~#! rn=Shani rt=1197382047 rg=treffen
~#! tid=1195567326
+ Ronda, sofern ich keine Fata Morgana gesehen habe ;-)

Del, heute mal ohne Alzheimer

-----------------------------------------------------------------------------



Re^24: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 15:11:08):
~#! rn=Del rt=1197382184 rg=treffen
~#! tid=1195567326
*kicher* Stimmt. Ich glaub das war keine Fatamorgana, jetzt wo Du's sagst kann
ich mich daran auch erinnern. *g*
Shani


-----------------------------------------------------------------------------



Re^24: Vorankuendigung: Oeffentliche Audienz (Zesstra, 11. Dez 2007, 15:12:04):
~#! rn=Del rt=1197382184 rg=treffen
~#! tid=1195567326
Ups. Ja. Stimmt, Ronda. Verflixt. Und ist ja nicht so, als ob ich mich nicht
auch mit Ronda unterhalten haette. *grummel*

Zesstra

-----------------------------------------------------------------------------



Re^25: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 15:13:18):
~#! rn=Zesstra rt=1197382324 rg=treffen
~#! tid=1195567326
Ja, so aehnlich gings mir eben auch... So lang war der Abend doch auch wieder
nicht, dass ich saemtliche Gespraechspartner vergessen habe?
Naja...

Shani

-----------------------------------------------------------------------------



Re^26: Vorankuendigung: Oeffentliche Audienz (Zesstra, 11. Dez 2007, 15:14:07):
~#! rn=Shani rt=1197382398 rg=treffen
~#! tid=1195567326
Genau. Und ich hab eigentlich auch nicht soviel getrunken, dass es zu
Gedaechtnisverlust gereicht haette. *g*

Zesstra

-----------------------------------------------------------------------------



Re^27: Vorankuendigung: Oeffentliche Audienz (Shani, 11. Dez 2007, 15:16:07):
~#! rn=Zesstra rt=1197382447 rg=treffen
~#! tid=1195567326
Ne, ich ja auch nich. Deshalb war ich grad so unangenehm von mir selbst
ueberrascht. *g*
Shani

-----------------------------------------------------------------------------



Re^27: Vorankuendigung: Oeffentliche Audienz (Del, 11. Dez 2007, 15:16:31):
~#! rn=Zesstra rt=1197382447 rg=treffen
~#! tid=1195567326
Mildernde Umstaende bei Dir, Zesstra. Nachdem Du so liebevoll durch
Oberfeldwebel Ark geweckt wurdest, kann ich verstehen, dass Du unter
temporaeren Gedaechtnisverlust leidest...
Mitfuehlende Gruesse
Del

-----------------------------------------------------------------------------



Re^28: Vorankuendigung: Oeffentliche Audienz (Zesstra, 11. Dez 2007, 15:19:38):
~#! rn=Del rt=1197382591 rg=treffen
~#! tid=1195567326
:kichert.
Ja, Ark hat den Job sicher effizient geloest. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^29: Vorankuendigung: Oeffentliche Audienz (Zook, 11. Dez 2007, 15:35:47):
~#! rn=Zesstra rt=1197382778 rg=treffen
~#! tid=1195567326
Wobei an der Liste deutlich geworden ist, dass Key den Schwanz 
eingezogen hat und nicht vorbeigekommen ist! 

Zook.

-----------------------------------------------------------------------------



Re^30: Vorankuendigung: Oeffentliche Audienz (Key, 13. Dez 2007, 10:59:06):
~#! rn=Zook rt=1197383747 rg=treffen
~#! tid=1195567326
Ich wurde leider vom Chaos uebermannt (Arbeit) und wollte um 18:00 einfach
erstmal nur nachhause und was essen.
Nach einem kurzen Streit mit meinem inneren Daemon erwachte ich dann wieder so
gegen 22:00.

Beim naechstemal habt ihr die RL-Quest: Rettet Key vor dem Chaos und befreit
ihn aus seinem Buero ;)

Cu

-----------------------------------------------------------------------------



Koeln-Bonn? (Vanion, 23. Jan 2008, 22:06:56):
Ich bin ja im Dezember nach Bonn gezogen. Und wie Croft richtig angemerkt hat,
gibt mir dies die Moeglichkeit, ab jetzt offiziell nicht mehr die Statis in
Karlsruhe sondern die in Koeln/Bonn zu schwenzen. Da ist nur ein Problem ...
Es gibt keine.

Hat jemand aus dem Koeln-Bonner (meinetwegen auch Duesseldorfer) Raum Lust,
mal einen Stati auszuprobieren? Vielleicht wirds ja sogar zur Gewohnheit.

Mir fehlt ein bischen der Ueberblick, wer sich hier alles in der Ecke
aufhaelt. Aus Amaryllis' Mundart kann man ja gelegentlich was erahnen, und
Chagall wohnt, auf der falschen Rheinseite, glaub ich. Noch jemand?

V*

-----------------------------------------------------------------------------



Re: Koeln-Bonn? (Humni, 23. Jan 2008, 22:08:47):
~#! rn=Vanion rt=1201122416 rg=treffen
~#! tid=1201122416
Koeln ist nicht direkt so nah wie Bochum, aber ab und an (!) wuerd ich auch
vorbeigucken.

Humni
PS: Koelsch in Koeln selbst ist echt lecker (vor allem am richtigen Ort).

-----------------------------------------------------------------------------



Re: Koeln-Bonn? (Arathorn, 23. Jan 2008, 22:08:57):
~#! rn=Vanion rt=1201122416 rg=treffen
~#! tid=1201122416
Braucht man fuer die Koelner City jetzt nicht ne Umweltplakette, wenn man da
hinfahren will? Wenn ja: waehle den Veranstaltungsort weise, dann kommen 
auch Bochumer dahin. :-)

Gruss, Arathorn.

P.S.: Wie man die Bochumer dann fernhaelt, duerfte damit auch klar sein. :o)

-----------------------------------------------------------------------------



Re: Re: Koeln-Bonn? (Vanion, 23. Jan 2008, 22:09:41):
~#! rn=Humni rt=1201122527 rg=treffen
~#! tid=1201122416
Also ich krieg in meiner Wohnung ein paar Leute unter. Und Bier solls hier
irgendwo auch geben. Nich nur Koelsch :)

V*

-----------------------------------------------------------------------------



Re: Re: Koeln-Bonn? (Humni, 23. Jan 2008, 22:11:13):
~#! rn=Arathorn rt=1201122537 rg=treffen
~#! tid=1201122416
Wenn Du Dich nicht aus Koeln bist und Dich auskennst oder eine gute
Wegbeschreibung hast, wuerd ich eh empfehlen, ausserhalb zu parken und mit der
Bahn in die City reinzufahren. Ist weniger nervig als da reinzufahren. Mag
mich irren.

Aber bisher so erlebt.

Humni

-----------------------------------------------------------------------------



Re^3: Koeln-Bonn? (Krellja, 23. Jan 2008, 22:12:33):
~#! rn=Vanion rt=1201122581 rg=treffen
~#! tid=1201122416
Stati in Koeln? Bin sofort dabei. Seit es mich aus Hamburg hierher verschlagen
hat, fehlt mir ein solcher schon.

Das mit der Umweltzone ist eher egal, gilt nur fuer den inneren Stadtbereich
und da konnte man eh noch nie parken.

Krellja

-----------------------------------------------------------------------------



Re^4: Koeln-Bonn? (Humni, 23. Jan 2008, 22:13:02):
~#! rn=Krellja rt=1201122753 rg=treffen
~#! tid=1201122416
He, Krellja, da faellt mir direkt ein Lokal ein ;-)

Humni

-----------------------------------------------------------------------------



Re^5: Koeln-Bonn? (Krellja, 23. Jan 2008, 22:13:40):
~#! rn=Humni rt=1201122782 rg=treffen
~#! tid=1201122416
argll

Ich erinnere dunkel ... :)
Krellja

-----------------------------------------------------------------------------



Re^6: Koeln-Bonn? (Gwenili, 23. Jan 2008, 22:16:32):
~#! rn=Krellja rt=1201122820 rg=treffen
~#! tid=1201122416
Wann ist nun der Stati in K?
Gwenili.

-----------------------------------------------------------------------------



Re: Koeln-Bonn? (Zesstra, 23. Jan 2008, 22:17:56):
~#! rn=Vanion rt=1201122416 rg=treffen
~#! tid=1201122416
Ich komme auch gerne mal zu einem Stati nach Koeln/Bonn, allerdings ist meine
Freizeit bis Ende Februar etwas duenn, kann da also nix versprechen. Ggf.
wuerde ich bei so einem Stammtisch nach einer Uebernachtungsmoeglichkeit bei
jemandem vor Ort suchen. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Koeln-Bonn? (Orktoeter, 23. Jan 2008, 22:20:59):
~#! rn=Zesstra rt=1201123076 rg=treffen
~#! tid=1201122416
www.couchsurfing.com , wenn sich kein Mudder findet

-----------------------------------------------------------------------------



IADA: Stati in DA am 30.01.08 (Gwenili, 23. Jan 2008, 22:26:53):
In der Ristorante-Pizzeria in Arheilgen.
Name weiss ich grad nicht.
Gwenili.

-----------------------------------------------------------------------------



Re: IADA: Stati in DA am 30.01.08 (Gwenili, 23. Jan 2008, 22:36:24):
~#! rn=Gwenili rt=1201123613 rg=treffen
~#! tid=1201123613
Uhrzeit: 19:00 Uhr.
Namen weiss ich immer noch nicht.

-----------------------------------------------------------------------------



Re: Re: IADA: Stati in DA am 30.01.08 (Cassandra, 24. Jan 2008, 09:45:15):
~#! rn=Gwenili rt=1201124184 rg=treffen
~#! tid=1201123613
Namen weis ich auch nicht, bin aber unter der Woche eh zu weit weg. 
Wie waers mal mit nem Stati am Wochenende?

Cassy

-----------------------------------------------------------------------------



Re: Koeln-Bonn? (Chagall, 24. Jan 2008, 21:11:30):
~#! rn=Vanion rt=1201122416 rg=treffen
~#! tid=1201122416
Also Stati kann man sicherlich einberufen, meinetwegen auch in Koeln, wobei
mir allerdings Bonn durchaus lieber waere. Also kuendige was an. :)

-----------------------------------------------------------------------------



Re: Re: IADA: Stati in DA am 30.01.08 (Gwen, 29. Jan 2008, 11:24:38):
~#! rn=Gwenili rt=1201124184 rg=treffen
~#! tid=1201123613
Die Pizzeria heisst "Roma".
Allerdings wurde ich beauftragt, bekannzugeben, dass der Stati diese Woche
leider ausfaellt.
Wegen Stati an einem WE in den naechsten Wochen koennen wir uns ja auf -hess
mal austauschen.
Gwen.

-----------------------------------------------------------------------------



Re: KA Stammtisch 6.3. (Vanion,  5. Mar 2008, 22:00:41):
~#! rn=Boing rt=1204735279 rg=treffen.bekanntmachungen
~#! tid=1204735279
Ich glaub, diesmal schaff ichs nicht.

V*

-----------------------------------------------------------------------------



Re: KA Stati 13.Mar 2008 (Perdita,  7. Mar 2008, 13:22:14):
~#! rn=Gingko rt=1204881610 rg=treffen.bekanntmachungen
~#! tid=1204881610
Es wird einen auswaertigen Gast geben:naemlich mich!
Perdita ist naechste Woche mal wieder im Sueden

-----------------------------------------------------------------------------



Rhein in Flammen? (Vanion, 16. Apr 2008, 21:45:45):
Hallo,

Am Samstag, den 03.05. findet dieses Jahr in den Bonner Rheinauen das
Abschlussfeuerwerk von Rhein in Flammen statt.

Ich finde es keine so schlechte Idee, dieses Event zum Anlass fuer einen
Koeln/Bonn/Koenigswinter/Umzu-Stati zu machen.

Zum Programm: http://preview.tinyurl.com/4e3tjr (Bonner General-Anzeiger)

Gruesse,
V*

-----------------------------------------------------------------------------



Re: Rhein in Flammen? (Zesstra, 16. Apr 2008, 22:42:46):
~#! rn=Vanion rt=1208375145 rg=treffen
~#! tid=1208375145
Finde ich nett, ich wuerde gerne dazu vorbeikommen.

Zesstra

-----------------------------------------------------------------------------



Re: Rhein in Flammen? (Boing, 17. Apr 2008, 10:42:06):
~#! rn=Vanion rt=1208375145 rg=treffen
~#! tid=1208375145
Klingt interessant, wir sind an dem Wochenende eh in Bonn. Ob wir das
in den Terminplan reinzwaengen koennen ist aber noch fraglich, muss ich
mal besprechen.
  Boing

-----------------------------------------------------------------------------



leute grillen macht spass! (Innuendo, 15. Mai 2008, 14:42:13):
und die lahn ist auch recht schoen! also nochmal ein versuch! grillen an der
lahn in marburg! z.b. am 29. oder 30. mai! wer hat lust?

-----------------------------------------------------------------------------



Re: leute grillen macht spass! (Vector, 15. Mai 2008, 14:43:22):
~#! rn=Innuendo rt=1210855333 rg=treffen
~#! tid=1210855333
wenn ihr feierwillige mudder in marburg habt, dann schnappt
euch die sommerparty?!:) 
fuer einen abend grillen waer mir m*burg zu weit, aber
sommerparty durach ne reise wert

-----------------------------------------------------------------------------



Re: Re: leute grillen macht spass! (Boing, 15. Mai 2008, 15:05:42):
~#! rn=Vector rt=1210855402 rg=treffen
~#! tid=1210855333
Am 30. Mai ist auch das InterMUD Treffen in Stuttgart. Schade dass da
so wenig MGler angemeldet sind. :( Avalon und Tamedhon (beides nicht
gerade grosse Muds) bringen es jeweils auf genauso viele Anmeldungen
wie wir.
  Boing

-----------------------------------------------------------------------------



Re^3: leute grillen macht spass! (Zook, 15. Mai 2008, 15:51:25):
~#! rn=Boing rt=1210856742 rg=treffen
~#! tid=1210855333
Wie viel ist genauso viel?
Z

-----------------------------------------------------------------------------



Re^4: leute grillen macht spass! (Boing, 15. Mai 2008, 16:05:24):
~#! rn=Zook rt=1210859485 rg=treffen
~#! tid=1210855333
Drei. Wobei Tassram sich ja noch freundlicherweise unter MG angemeldet
hat. :)
  Boing

-----------------------------------------------------------------------------



Re^5: leute grillen macht spass! (Zook, 15. Mai 2008, 16:14:36):
~#! rn=Boing rt=1210860324 rg=treffen
~#! tid=1210855333
Sehr freundlich, das muss ich sagen. 
Zook.

-----------------------------------------------------------------------------



Re^6: leute grillen macht spass! (Zesstra, 15. Mai 2008, 19:31:43):
~#! rn=Zook rt=1210860876 rg=treffen
~#! tid=1210855333
Mir ist ja nicht so ganz klar, warum es im MG zu unbeliebt zu sein scheint.
Naja, Gelegenheit, neue Leute kennenzulernen, scheint mir.

Zesstra

-----------------------------------------------------------------------------



Grill-Stati! (Yuli, 23. Mai 2008, 13:32:30):
Hallo zusammen,

um die gute Idee von Innuendo aufzugreifen: Grillen macht Spass! :)
Mein Vorschlag waere folgender:

Ein Stati, diesmal nicht im Mandragora, sondern am (bekannten?) Unterbacher
See in Duesseldorf. Hier gibts rund um den See mehrere Grillplaetze, die gegen
eine kleine Gebuehr gemietet werden koennen. Falls Interesse besteht, laesst
sich der Grill-Stati auch in einen Grill-Freibad-Stati verwandeln. Das Freibad
ist gerade renoviert worden, und hat einen tollen Sandstrand bekommen. 

An Terminen wuerde ich den 14. oder den 21. Juni vorschlagen. Da die
Grillplaetze wie gesagt reserviert werden muessen, meldet euch doch bitte bald
und sehr zahlreich ;) bei Krstfrs oder mir direkt oder ueber die MPA!!! 
Es wuerde mich freuen, wenn das ganze zustande kaeme, also in diesem Sinne:
Kommet (meldet euch) zuhauf!!!

Gruss,
Yuli

P.S.: Wer sich ueber die Anfahrt Gedanken machen sollte: Wenn ihr von der A 46
abfahrt, seid ihr im Prinzip schon da! Homepage dazu:
http://www.unterbachersee.com/online/index.php?id=anfahrt

-----------------------------------------------------------------------------



Re: Grill-Stati!!! (Vanion, 24. Mai 2008, 13:29:15):
~#! rn=Yuli rt=1211615040 rg=treffen.bekanntmachungen
~#! tid=1211615040
Also mal schnell nach Duesseldorf huschen? Das koennte gehen :)

+1

V*

-----------------------------------------------------------------------------



Re: Re: Grill-Stati!!! (Chagall, 24. Mai 2008, 13:31:19):
~#! rn=Vanion rt=1211628555 rg=treffen
~#! tid=1211615040
Dem kann ich mich eigentlich nur anschliessen.

+1

MC

-----------------------------------------------------------------------------



Re^3: Grill-Stati!!! (Zesstra, 24. Mai 2008, 13:34:02):
~#! rn=Chagall rt=1211628679 rg=treffen
~#! tid=1211615040
Ich werde auch kommen. ;-)
An dem Sa ist ja eigentlich ein Treffen meines Abiturjahrgangs, anlaesslich
der 10 Jahre... Aber da wollte ich ohnehin nicht wirklich hin. *g*

Zesstra

-----------------------------------------------------------------------------



Re^4: Grill-Stati!!! (Shakedbeer, 24. Mai 2008, 13:46:09):
~#! rn=Zesstra rt=1211628842 rg=treffen
~#! tid=1211615040
+1

Shaky.

-----------------------------------------------------------------------------



Re: Grill-Stati! (Masul, 24. Mai 2008, 13:49:41):
~#! rn=Yuli rt=1211542350 rg=treffen
~#! tid=1211542350
Ich kann weder am 14. noch am 21. Juni.
Masul

-----------------------------------------------------------------------------



Re: Re: Grill-Stati!!! (Mieze, 24. Mai 2008, 14:44:55):
~#! rn=Vanion rt=1211628555 rg=treffen
~#! tid=1211615040
Wenn es am 14.6. stattfindet, dann bin ich auch dabei. Gibt es eine Mglichkeit
mit den Oeffentlichen und Rad dahinzukommen?

Mieze - radelt an Rhein und Ruhr

-----------------------------------------------------------------------------



Re^3: Grill-Stati!!! (Humni, 24. Mai 2008, 15:25:47):
~#! rn=Mieze rt=1211633095 rg=treffen
~#! tid=1211615040
www.bahn.de sagt: Mit der S8 nach D-Gerresheim, von da aus mit der 737 nach
Ddorf-Stammesberg. Danach sinds angeblich 15 Minuten Fussweg. Ob das stimmt
weiss ich nicht.

Humni

-----------------------------------------------------------------------------



Re^4: Grill-Stati!!! (Humni, 24. Mai 2008, 15:30:52):
~#! rn=Humni rt=1211635547 rg=treffen
~#! tid=1211615040
Nach naechster Draufsicht auf die Karte wuerde ich tippen, dass Du da von
Gerresheim aus auch mit dem Fahrrad hin kommst. Das kannst du soweit ich weiss
ja mit nehmen, oder?

Humni
PS: Tippe auf 3-4 km ab Gerresheim.

-----------------------------------------------------------------------------



Re^5: Grill-Stati!!! (Mieze, 24. Mai 2008, 18:41:37):
~#! rn=Humni rt=1211635852 rg=treffen
~#! tid=1211615040
Hab auch mal den Stadtplan gewaelzt - ist ganz leicht hinzukommen Ich hoffe,
Ihr nehmt den 14. :)

Mieze - radelnd

-----------------------------------------------------------------------------



Re^6: Grill-Stati!!! (Yuli, 25. Mai 2008, 10:49:59):
~#! rn=Mieze rt=1211647297 rg=treffen
~#! tid=1211615040
Also, ich habe jetzt auf meiner Liste stehen (wenn falsch, bitte anmerken;):
Mieze, Zesstra, Vanion, Chagall, Shaky, Vanhelsing, Krstfrs. Ich werde da
anrufen und fuer den 14. reservieren. 
Wer gerne noch kommen moechte, bitte melden! :)

Gruss, Yuli

-----------------------------------------------------------------------------



Re^7: Grill-Stati!!! (Humni, 25. Mai 2008, 14:36:19):
~#! rn=Yuli rt=1211705399 rg=treffen
~#! tid=1211615040
Meld!

Humni

-----------------------------------------------------------------------------



Re^8: Grill-Stati!!! (Yuli, 26. Mai 2008, 17:59:48):
~#! rn=Humni rt=1211718979 rg=treffen
~#! tid=1211615040
Also... habe jetzt versucht einen Grillplatz zu reservieren, was leider
nicht geklappt hat. Dieses Jahr wollen anscheinend Unmengen von Leuten da
grillen (*!?*) , weswegen der naechste Termin erst Ende Juli zu bekommen
war... Das
war mir dann etwas zu spaet.

Deswegen wird das ganze jetzt nicht auf dem Grillplatz, sondern bei mir im
Garten stattfinden. Dadurch aendert sich eigentlich nichts, die Anfahrt bleibt
die gleiche, da ich im Prinzip direkt am See wohne :)

Der See ist wie gesagt direkt nebenan, deswegen wuerde ich bei gutem Wetter
vorschlagen, sich am See zu treffen, da gibt es die Moeglichkeit zu Freibad
und/ oder Minigolf und/ oder Boetchenfahren. Ich persoenlich waere fuer ein
mudinternes Minigolf-Turnier;) Was haltet ihr davon?

Da das Grillen danach dann bei mir zu Hause stattfindet, waere das
organisatorisch fuer mich auch machbar alle Grillsachen selber zu besorgen,
also Getraenke, Fleisch und so weiter. Ich wuerde den Preis dann am Ende durch
die Anzahl der Personen teilen, ist da jemand nicht mit einverstanden?

Wuerde mich ueber Rueckmeldungen, 
und natuerlich ueber weitere Anmeldungen, 
freuen!!! 

Gruss, Yuli


-----------------------------------------------------------------------------



Re^9: Grill-Stati!!! (Humni, 26. Mai 2008, 19:28:13):
~#! rn=Yuli rt=1211817588 rg=treffen
~#! tid=1211615040
Ha! Minigolf!

Ihr redet mit einem WII-Sports-Golf-Professional mit derzeit ueber 1100
Punkten!

Ok. RL werd ich wohl aeh... nicht .. unbedingt .. gewinnen. Egal.

Humni

-----------------------------------------------------------------------------



Re^10: Grill-Stati!!! (Vanhelsing, 26. Mai 2008, 19:29:33):
~#! rn=Humni rt=1211822893 rg=treffen
~#! tid=1211615040
Die Bahnen sind teilweise auch etwas ... knifflig.
Ich bin echt mal gespannt, wie ihr da so zurecht kommt. ;)

VH

-----------------------------------------------------------------------------



Re^11: Grill-Stati!!! (Humni, 26. Mai 2008, 19:31:42):
~#! rn=Vanhelsing rt=1211822973 rg=treffen
~#! tid=1211615040
Pah. Ich spiel ueblicherweise auf einem Golfplatz, auf dem ein Loch auf einer
Insel ist, der Abschlagpunkt auf einer anderen und noch 3 Inseln dazwischen,
Loch ist Par 5, heute wars ein Birdie. Noch Fragen?

Humni

-----------------------------------------------------------------------------



Re^13: Grill-Stati!!! (Vanhelsing, 26. Mai 2008, 19:35:46):
~#! rn=Vanhelsing rt=1211823212 rg=treffen
~#! tid=1211615040
Dann haelste das Ding ja schon richtigrum
(Tipp: breit nach unten)
Da faellt mir auch gerade Dieter Bohlen ein:
"Das beeindruckt mich ... ueberhaupt nicht."
VH

-----------------------------------------------------------------------------



Re^12: Grill-Stati!!! (Ark, 26. Mai 2008, 19:43:57):
~#! rn=Humni rt=1211823102 rg=treffen
~#! tid=1211615040
Ja, wann stellst Du auf "Teenie" um ... oder war das schon "Pro"? ;)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Grill-Stati!!! (Zesstra, 26. Mai 2008, 19:51:56):
~#! rn=Yuli rt=1211817588 rg=treffen
~#! tid=1211615040
Das klingt fuer mich sehr toll. Danke, dass Du das trotz Probleme
organisierst. :-)

Zesstra

-----------------------------------------------------------------------------



Re^10: Grill-Stati!!! (Miril, 26. Mai 2008, 21:39:56):
~#! rn=Zesstra rt=1211824316 rg=treffen
~#! tid=1211615040
Dass ich auch komme, wenn Humni kommt, habt ihr hoffentlich eingeplant :). 
Find ich ne gute Idee, insgesamt.

Miril

-----------------------------------------------------------------------------



Re^11: Grill-Stati!!! (Marcus, 26. Mai 2008, 23:35:46):
~#! rn=Miril rt=1211830796 rg=treffen
~#! tid=1211615040
Wii Sports Golf hat doch nur 9 Loecher.

Ich hab Tiger Woods PGA 2007 Tour ... da kannst du dich tot spielen mit. ;)

Ciao, Marcus

-----------------------------------------------------------------------------



Re^12: Grill-Stati!!! (Ark, 26. Mai 2008, 23:41:24):
~#! rn=Marcus rt=1211837746 rg=treffen
~#! tid=1211615040
Da ist der schwerste Modus aber auch very challenging :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^13: Grill-Stati!!! (Marcus, 26. Mai 2008, 23:52:50):
~#! rn=Ark rt=1211838084 rg=treffen
~#! tid=1211615040
Alleine wirds mir da leider etwas langweilig. Wie bei vielen Wii
Spielen :/

Ciao, Marcus

-----------------------------------------------------------------------------



Re^14: Grill-Stati!!! (Zook, 27. Mai 2008, 14:41:17):
~#! rn=Marcus rt=1211838770 rg=treffen
~#! tid=1211615040
Was spricht gegen "mit mehreren spielen"?
Z

-----------------------------------------------------------------------------



Re^15: Grill-Stati!!! (Vanion, 27. Mai 2008, 16:42:19):
~#! rn=Zook rt=1211892077 rg=treffen
~#! tid=1211615040
Vielleicht das klassische "Waeh, keiner spielt mit mir!"

V*

-----------------------------------------------------------------------------



Re: Grill-Stati! (Masul, 27. Mai 2008, 22:04:26):
~#! rn=Yuli rt=1211542350 rg=treffen
~#! tid=1211542350
Also am 14. ...
Noch 'ne Frage: Um wieviel Uhr und wie lange?
Masul

-----------------------------------------------------------------------------



Re: Re: Grill-Stati! (Zook, 28. Mai 2008, 11:43:27):
~#! rn=Masul rt=1211918666 rg=treffen
~#! tid=1211542350
Bis die Wii hin ist?
Z

-----------------------------------------------------------------------------



Re^3: Grill-Stati!!! (Arathorn,  3. Jun 2008, 21:19:53):
~#! rn=Mieze rt=1211633095 rg=treffen
~#! tid=1211615040
+2

A*n

-----------------------------------------------------------------------------



Re^9: Grill-Stati!!! (Gloinson,  3. Jun 2008, 21:39:57):
~#! rn=Yuli rt=1211817588 rg=treffen
~#! tid=1211615040
Das ist ein Samstag. Gibt es Uebernachtungsmoeglichkeiten? Zelt haette ich.
Dann koennte ich mal die Frau an die Schwiegereltern outsourcen, ohne dass sie
eine Ausrede fuer mich finden muss ;)


-----------------------------------------------------------------------------



Re^10: Grill-Stati!!! (Zesstra,  4. Jun 2008, 23:11:19):
~#! rn=Gloinson rt=1212521997 rg=treffen
~#! tid=1211615040
Ich weiss jetzt nicht, wie das mit Zelten aussieht, aber hier wohnen ja div.
Leute in der Naehe, wo sich irgendwo bestimmt auch nen Schlafplatz finden
liesse. Bei mir waere also zumindest nen Platz fuer ne Isomatte (oder auch 2)
verfuegbar oder eben die Couch im Wohnzimmer, wobei die nur fur kurze Leute
akzeptabel sein duerfte.

Zesstra

-----------------------------------------------------------------------------



Intermudtreffen, Unitopia, Stuttgart, 30.5 - 1.6. (Zesstra,  4. Jun 2008, 23:16:28):
Ich war am WE auf dem Intermud-Treffen in Stuttgart und hab die Unitpianer
besucht. Ihr braucht naechstes Mal nicht so furchtsam zu sein und koennt auch
kommen, die Leute beissen nicht. ;-)
War ein sehr nettes Wochenende und war schoen, mit Leuten aus anderen Muds
ueber verschiedenste Dinge zu plaudern. Letztendlich haben wir ja recht viele
Gemeinsamkeiten. ;-)
Wer sich fuer (unvorteilhafte) Fotos interessiert:
ftp://ftp.unitopia.de/pub/UNItopia/pic/01.InterMUDTreffen/index.html

Zesstra

-----------------------------------------------------------------------------



Re: Intermudtreffen, Unitopia, Stuttgart, 30.5 - 1.6. (Jimdigriz,  5. Jun 2008, 02:52:21):
~#! rn=Zesstra rt=1212614188 rg=treffen
~#! tid=1212614188
Hach das Oez. *Erinnerungen schwelg* :-))))

-----------------------------------------------------------------------------



Re: Intermudtreffen, Unitopia, Stuttgart, 30.5 - 1.6. (Zook,  5. Jun 2008, 09:17:56):
~#! rn=Zesstra rt=1212614188 rg=treffen
~#! tid=1212614188
Tun wir, tun wir. 

Die haben Dich ja ganz schoen oft abgelichtet, Zesstra! ;) *g*

Z

-----------------------------------------------------------------------------



Re^11: Grill-Stati!!! (Yuli,  6. Jun 2008, 09:07:02):
~#! rn=Zesstra rt=1212613879 rg=treffen
~#! tid=1211615040
Huhu,

noch ein paar kleine Ergaenzungen zum Grill-Stati.

Wir treffen uns also am 14.6. um 14.00 Uhr am Minigolfplatz am Unterbacher
See. Der Platz ist sofort gefunden, wenn man am _Nordstrand_ parkt. Sind
hoechstens 50 Meter zwischen Parkplatz und Minigolfplatz. 

Ich hatte es schon einigen per Mail geschrieben: Am Abend um ca. 23.00 Uhr
gibts anlaesslich des Japan-Tags ein japanisches Feuerwerk am Rhein. Wir
werden auf jeden Fall hinfahren. Die Verbindung mit Bahn und U-Bahn ist gut,
zurueck fahren dann Sondereinsatz-Busse/Bahnen (...). 

Freu mich ueber das zahlreiche Interesse :)
Gruss,

Yuli

-----------------------------------------------------------------------------



Re^12: Grill-Stati!!! (Chagall, 10. Jun 2008, 21:19:19):
~#! rn=Yuli rt=1212736022 rg=treffen
~#! tid=1211615040
Wie sieht das eigentlich mit dem Grillgut aus. Wird das nun zentral besorgt
und dann umgelegt oder verpflegt sich jeder selbst.

MC

-----------------------------------------------------------------------------



Re^13: Grill-Stati!!! (Vanhelsing, 11. Jun 2008, 22:13:12):
~#! rn=Chagall rt=1213125559 rg=treffen
~#! tid=1211615040
Es ist vorgesehen, dass das Zeug zum Grillen zentral von Yuli und Krstfrs
besorgt wird, und die Kosten dann auf die Anwesenden verteilt wird. Wer
allerdings lieber selbst sein Essen mitbringen will, kann es auch mitbringen.

VH (Yuli kurz vertretend)

-----------------------------------------------------------------------------



Re^14: Grill-Stati!!! (Vanhelsing, 11. Jun 2008, 22:16:28):
~#! rn=Vanhelsing rt=1213215192 rg=treffen
~#! tid=1211615040
Kleiner Zusatz:

Wenn jemand sein Essen selbst besorgt, bitte kurze Meldung hier, an
Krstfrs/Yuli oder auch mich.

VH

-----------------------------------------------------------------------------



Re^15: Grill-Stati!!! (Vanhelsing, 11. Jun 2008, 22:28:31):
~#! rn=Vanhelsing rt=1213215388 rg=treffen
~#! tid=1211615040
Ich nochmal (das laeppert sich echt langsam)

Ich habe zwar nich die wirklich aktuelle Liste, aber die Liste, die ich habe
ist:

Yuli
Krstfrs
VanHelsing
Miril
Humni
Zesstra
Arathorn
Dunst
Vanion
Shakedbeer
Chagall
Mieze
und evtl.:
Masul
Nefis
Zarku
Gloinson

Falls sich da einer vermisst, bzw. seinen Namen drauf sieht, obwohl man nich
hin will, bitte hier bzw. bei mir oder Yuli melden.

VH (bis gleich schaetz ich)

-----------------------------------------------------------------------------



Re^16: Grill-Stati!!! (Vanhelsing, 12. Jun 2008, 21:43:44):
~#! rn=Vanhelsing rt=1213216111 rg=treffen
~#! tid=1211615040
Ich mach mal weiter mit den Nachrichten.

Yuli und Krstfrs werden logischerweise auch fuer Getraenke sorgen.
Wenn aber jemand etwas "Besonderes" trinken will (Schnaps/Whiskey/was weiss
ich), muesste man es selbst mitbringen. ;)

Bis denne

VH

-----------------------------------------------------------------------------



Berlin, 17-19.7. (Xutelius, 13. Jun 2008, 14:41:09):
Hi,
ich werde vorraussichtlich vom 17.-19.7. zum Fussball spielen in der
Hauptstadt sein. Besteht fuer den Zeitraum interesse an einem Stammtisch? Da
ich Berlin nicht wirklich gut kenne, immer her mit Vorschlaegen ;-)
Xut*

-----------------------------------------------------------------------------



Re^12: Grill-Stati!!! (Vanion, 13. Jun 2008, 16:26:36):
~#! rn=Yuli rt=1212736022 rg=treffen
~#! tid=1211615040
Hi,

habt ihr mal eine Navitaugliche Adresse?

Gruesse,
V* (sich schon freuend und auf Sonne hoffend).

-----------------------------------------------------------------------------



Re^16: Grill-Stati!!! (Masul, 14. Jun 2008, 08:24:04):
~#! rn=Vanhelsing rt=1213216111 rg=treffen
~#! tid=1211615040
Ich komme nun auch. Komme ca. 16:00 Uhr.

Masul

-----------------------------------------------------------------------------



Re^17: Grill-Stati!!! (Zook, 16. Jun 2008, 09:25:57):
~#! rn=Masul rt=1213424644 rg=treffen
~#! tid=1211615040
Ich warte eigentlich noch auf den Bericht, wie Humni Euch 
beim Minigolf abgezockt hat.

Z

-----------------------------------------------------------------------------



Re^18: Grill-Stati!!! (Zesstra, 16. Jun 2008, 14:50:26):
~#! rn=Zook rt=1213601157 rg=treffen
~#! tid=1211615040
Wie Humni gespielt hat, weiss ich gar nicht, aber gewonnen hat der Olli. Mit
58.

Zesstra

-----------------------------------------------------------------------------



Re^19: Grill-Stati!!! (Zook, 16. Jun 2008, 15:30:48):
~#! rn=Zesstra rt=1213620626 rg=treffen
~#! tid=1211615040
Wieso hat Humni nicht gewonnen? Ich bin entsetzt. 
Z

-----------------------------------------------------------------------------



Re^20: Grill-Stati!!! (Croft, 16. Jun 2008, 15:31:42):
~#! rn=Zook rt=1213623048 rg=treffen
~#! tid=1211615040
Wie konnte das passieren?

Croft

-----------------------------------------------------------------------------



Re^21: Grill-Stati!!! (Ark, 16. Jun 2008, 15:43:36):
~#! rn=Croft rt=1213623102 rg=treffen
~#! tid=1211615040
Flatterball.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^22: Grill-Stati!!! (Chagall, 16. Jun 2008, 16:42:37):
~#! rn=Ark rt=1213623816 rg=treffen
~#! tid=1211615040
Fairerweise muss man sagen, dass Humni nicht angetreten ist. Sonst haetten wir
ja ueberhaupt keine Chance gehabt. Und Olli hat 100% gemogelt.

MC

-----------------------------------------------------------------------------



Re^23: Grill-Stati!!! (Zook, 16. Jun 2008, 16:45:55):
~#! rn=Chagall rt=1213627357 rg=treffen
~#! tid=1211615040
Das klingt ja alles hoechst mysterioes. Z

-----------------------------------------------------------------------------



Re^24: Grill-Stati!!! (Iskaron, 16. Jun 2008, 17:30:38):
~#! rn=Zook rt=1213627555 rg=treffen
~#! tid=1211615040
Klar hab ich gemogelt, hatte ich das nicht erzaehlt? ;)

gruss,
Olli


-----------------------------------------------------------------------------



Re^25: Grill-Stati!!! (Vanhelsing, 16. Jun 2008, 18:40:54):
~#! rn=Iskaron rt=1213630238 rg=treffen
~#! tid=1211615040
Die aktuellen Endergebnisse des grossen Minigolfturniers:

1. Olli 58 Schlaege
2. Yuli 66 Schlaege
3. Arathorn & Chagall 76 Schlaege
5. Krstfrs 77 Schlaege
6. Dunst 80 Schlaege
7. VanHelsing 88 Schlaege
8. Shakedbeer 91 Schlaege
9. Vanion 98 Schlaege

Nochmals herzlichen Glueckwunsch an Olli.

CU

VH

-----------------------------------------------------------------------------



Re^26: Grill-Stati!!! (Zook, 17. Jun 2008, 11:15:39):
~#! rn=Vanhelsing rt=1213634454 rg=treffen
~#! tid=1211615040
Was hatte Vanion vorher getrunken?
Z

-----------------------------------------------------------------------------



Re^27: Grill-Stati!!! (Vanion, 17. Jun 2008, 20:52:18):
~#! rn=Zook rt=1213694139 rg=treffen
~#! tid=1211615040
Nichts, das wird das Problem gewesen sein.

V*

-----------------------------------------------------------------------------



FFM: Klettern mit Luis Trenker (Gwen, 24. Jun 2008, 16:25:32):
Am 17.07.08 findet im Rahmen der 14. Frankfurter Kinowoche ein "Der Berg
ruft"-Event in der T-Hall, Frankfurt statt:
http://www.deutschesfilmmuseum.de/kinowoche/berg_ruft.html
Hat wer Lust, mitzugehn?
Ciao, Gwen.

-----------------------------------------------------------------------------



Re: Brunch Berlin Sonntag, 20. Juli (Maharet, 27. Jun 2008, 15:07:27):
~#! rn=Gloinson rt=1214557122 rg=treffen.bekanntmachungen
~#! tid=1214557122
Und wo und wann darf ich dann meinen Zwerg baden? Ich wuerde auch zur Not
Zwerge verleihen koennen, falls jemand keine Badezwerg hat, sofern wir da
ueberhaupt hinwollen. Drei Zwerge mit Wasser in Verbindung zu bringen ist
schon eine groessere Anstrengung, die viel Brutalitaet erfordert.

-----------------------------------------------------------------------------



Re: Re: Brunch Berlin Sonntag, 20. Juli (Gloinson, 27. Jun 2008, 15:11:14):
~#! rn=Maharet rt=1214572047 rg=treffen
~#! tid=1214557122
Wenn das Wetter stimmt - am Mueggelsee am Samstag. Du koenntest ihn ja vorher
mit rustikalem Essen (www.spreearche.de) auf das Wasser locken und dann
hintertueckisch baden.


-----------------------------------------------------------------------------



Re^3: Brunch Berlin Sonntag, 20. Juli (Zook, 27. Jun 2008, 15:19:28):
~#! rn=Gloinson rt=1214572274 rg=treffen
~#! tid=1214557122
> finger maharet
[...]
Rasse: Mensch, Gilde: Kaempfer, Geschlecht: weiblich
[...]


Brutalitaet? Keine weiteren Fragen.

Z

-----------------------------------------------------------------------------



Stammtisch in Marseille (Lug,  1. Jul 2008, 21:13:17):
Also am 3. July mache ich einen Stammtisch in Marseille auf - nur falls einer
vorbei kommen mchte...

h...
Lug

-----------------------------------------------------------------------------



Stammtisch Karlsruhe (Hobo,  4. Jul 2008, 01:17:31):
Hi ihr Karlsruher,
ich ziehe hiermit meine Empfehlung, mal auf der Homepage des neuen Spaniers
nachzuschauen, zurueck: Die besteht nur aus nem Logo und einer
Bewerbungs-Kontaktadresse.
Also doch zurueck ans Haus...

   Hobo

-----------------------------------------------------------------------------



Re: Stati in Schleswig (Vanion, 22. Jul 2008, 20:05:40):
~#! rn=Vanion rt=1216749892 rg=treffen.bekanntmachungen
~#! tid=1216749892
Bisherige Teilnehmer: Miril, Humni, Zesstra, Vanion. Wir haben erstmal 10
Plaetze reserviert.

V*

-----------------------------------------------------------------------------



Re: Re: Stati in Schleswig (Gloinson, 22. Jul 2008, 23:48:15):
~#! rn=Vanion rt=1216749940 rg=treffen
~#! tid=1216749892
+2


-----------------------------------------------------------------------------



Re^3: Stati in Schleswig (Janne, 23. Jul 2008, 00:02:09):
~#! rn=Gloinson rt=1216763295 rg=treffen
~#! tid=1216749892
+1 

-----------------------------------------------------------------------------



Re^4: Stati in Schleswig (Cassandra, 23. Jul 2008, 20:07:40):
~#! rn=Janne rt=1216764129 rg=treffen
~#! tid=1216749892
+2

ist aber vom Verkehr abhaengig ob wir puenktlich sind

-----------------------------------------------------------------------------



Stati Frankfurt (Ark, 28. Jul 2008, 16:20:58):
Besteht Interesse an einem Stati in Frankfurt, evtl. gar am Donnerstag,
31.07.? Wenn Teilnehmer >2, dann schlage ich entweder New-in-Town oder
Hemingway Lounge vor.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Wacken? (Humni, 28. Jul 2008, 16:23:49):
Faehrt eigentlich noch jemand nach Wacken? Kann man sich ja mal absprechen,
wenn dem der fall sein sollte.

Humni

-----------------------------------------------------------------------------



Vorankuendigung Stati Ulm (Vector, 29. Jul 2008, 12:59:14):

Yau nachdem der letzte Ulmer Stati mittlerweile sechs Jahre her
ist, wirds mal wieder Zeit. Zudem wohnen (wieder) etliche
(ex)mudder im direkten Stadtgebiet Ulm, von daher koennte 
so ein Stammtisch auch fuer externe Gaeste interessant sein.
Mit Slyfox, Lord, Freitag, Seia, Vector, Kabisa, Sky, Roadrunner
waer ja ein bunt gemischter Grundstein da (hoffe ich
hab keinen vergessen); vielleicht liessen sich ja der ein
oder andere aus S, GP, Tue, noch ueberreden?
Ich wuerde bei Interesse den Stati an nem Samstag ausrufen,
damit die externen das billige Wochenendticket nutzen koennen.
Anfragen, Vorschlaege, Verbesserungen etc sonstigen input
per mail oder tm

-----------------------------------------------------------------------------



Re: Stati Frankfurt (Ark, 29. Jul 2008, 20:25:34):
~#! rn=Ark rt=1217254858 rg=treffen
~#! tid=1217254858
So, nu bin ich eh anderweitig verplant, also Pech/Glueck gehabt :-)
Wenn nur der Termin nicht gepasst hat, bitte um Alternativen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



suedwest stati? (Innuendo, 29. Jul 2008, 23:52:33):
gibt es irgendwelche interessenten an einem stati bei freiburg oder basel? bzw
gibt es ueberhaupt mudder hier im eck?
karlsruhe ist etwas weit noerdlich zum hinfahren am donnerstag...:(
meldet euch mal zu hauff und wir machen hier mal was! freiburg ist ein
schoenes staedtchen! und ins baechle tappe hat noch keinem geschadet. ;-)

-----------------------------------------------------------------------------



Re: suedwest stati? (Boing, 30. Jul 2008, 09:08:30):
~#! rn=Innuendo rt=1217368353 rg=treffen
~#! tid=1217368353
Karlsruhe zu noerdlich? Das hoert man auch selten. :)
Wir werden demnaechst allerdings mal wieder einen Sonderstammtisch im
Restaurant unseres ehemaligen Stammtischwirtes machen, das findet dann
an einem Sonntag statt.
  Boing

-----------------------------------------------------------------------------



Re: Re: suedwest stati? (Innuendo, 30. Jul 2008, 11:37:29):
~#! rn=Boing rt=1217401710 rg=treffen
~#! tid=1217368353
ja als bahnfahrer ohne geld koennen 150 km ganz schoen weit sein. :( zwei
stunden in eine richtung sind das schon... von bahnhof zu bahnhof.

-----------------------------------------------------------------------------



Re^3: suedwest stati? (Rumata, 30. Jul 2008, 14:49:47):
~#! rn=Innuendo rt=1217410649 rg=treffen
~#! tid=1217368353
FR Stammtisch? Ich bin dabei wenn ich da bin.

-----------------------------------------------------------------------------



Re^4: suedwest stati? (Zook, 30. Jul 2008, 15:41:37):
~#! rn=Rumata rt=1217422187 rg=treffen
~#! tid=1217368353
Einen alten Baum verpflanzt man nicht.

-----------------------------------------------------------------------------



Re^5: suedwest stati? (Vector, 30. Jul 2008, 15:42:11):
~#! rn=Zook rt=1217425297 rg=treffen
~#! tid=1217368353
man faellt ihn?

-----------------------------------------------------------------------------



Re: Vorankuendigung Stati Ulm (Vector, 31. Jul 2008, 00:13:18):
~#! rn=Vector rt=1217329154 rg=treffen
~#! tid=1217329154
Bevor noch wertvolle Zeit durch (sinnlose) Diskussion 
drauf geht: Termin ist am Samstag 13. September, je
nach Teilnehmerzahl wird es schon am spaeten Vormittag
losgehen (lecker futtern und am fruehen abend dann
das Biiiiiiier).
Optional kann man das natuerlich bis Sonntag 
nachmittag ausweiten. Anmeldungen (wgn reservieren)
nehm ich bis 6. September entgegen; 
Uebernachtungsmoeglichkeit vorhanden, wuerde mal
sagen maximal 8 Leute (vorzugsweise willige Frauen hoehoeh)

-----------------------------------------------------------------------------



Re: Re: Stati Frankfurt (Demonlord, 31. Jul 2008, 08:57:47):
~#! rn=Ark rt=1217355934 rg=treffen
~#! tid=1217254858

Bin ab Montag wieder in FFM. Alternativen z.B. 07.08.???

Gruss DL

-----------------------------------------------------------------------------



Re: Re: Vorankuendigung Stati Ulm (Zook, 31. Jul 2008, 09:29:37):
~#! rn=Vector rt=1217455998 rg=treffen
~#! tid=1217329154
"willig" zu was? zum uebernacht-dauer-mudden? z

-----------------------------------------------------------------------------



Re^3: Vorankuendigung Stati Ulm (Vector, 31. Jul 2008, 09:38:51):
~#! rn=Zook rt=1217489377 rg=treffen
~#! tid=1217329154
frauen mudden nicht.

-----------------------------------------------------------------------------



Re: Weihnachtsmarkt Michelstadt 06.12.08 (Grimmborn, 28. Okt 2008, 12:17:09):
~#! on=Gwen ot=1225191383 og=treffen.bekanntmachungen
~#! rn=Ark rt=1225147621 rg=treffen.bekanntmachungen
~#! tid=1225147621
Super Vorschlag!
06.12. geht leider nicht.
Waere auch der 12./13.12. moeglich?
Dann waeren wir +2
Gruesse, Gwen.

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt Michelstadt 06.12.08 (Grimmborn, 28. Okt 2008, 12:17:10):
~#! on=Del ot=1225191541 og=treffen.bekanntmachungen
~#! rn=Gwen rt=1225191383 rg=treffen.bekanntmachungen
~#! tid=1225147621
*Gwen beipflicht*
Am 06.12. kann ich definitiv auch nicht. Am 13.12. steht noch nix im
Kalender...
NeDelige Gruesse

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt Michelstadt 06.12.08 (Gwen, 28. Okt 2008, 13:37:14):
~#! rn=Grimmborn rt=1225192630 rg=treffen
~#! tid=1225147621
Also +2 inklusive Del :)
Gwen.

-----------------------------------------------------------------------------



Re^4: Weihnachtsmarkt Michelstadt 06.12.08 (Ark, 28. Okt 2008, 13:51:25):
~#! rn=Gwen rt=1225197434 rg=treffen
~#! tid=1225147621
13.12. ist von meiner Seite auch ok ... wenn also die Bochumer Gastfraktion
auch gruenes Licht gibt, sind es dann schonmal 4.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: Weihnachtsmarkt Michelstadt 06.12.08 (Zesstra, 28. Okt 2008, 14:06:01):
~#! rn=Ark rt=1225198285 rg=treffen
~#! tid=1225147621
Mhmm. Theoretisch ja... Allerdings ist am 12.12. das Single-Malt-Tasting der
Arbeitsgruppe... Das wird nen anstrengendes WE. Aber laesst sich einrichten,
muss nur sehen, ob wir das Tasting vielleicht woanders machen koennen und
nicht in meiner Wohnung. Ich moechte nach sowas nicht Sa morgens los und So
Abends zurueckkommen und die Rest der 'Sauferei' wegraeumen. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^6: Weihnachtsmarkt Michelstadt 06.12.08 (Gwen, 28. Okt 2008, 14:31:45):
~#! rn=Zesstra rt=1225199161 rg=treffen
~#! tid=1225147621
Hast Du wirklich "Sauferei" geschrieben?
Gwen.

-----------------------------------------------------------------------------



Re^6: Weihnachtsmarkt Michelstadt 06.12.08 (Ark, 28. Okt 2008, 16:44:08):
~#! rn=Zesstra rt=1225199161 rg=treffen
~#! tid=1225147621
Hm, Whisky "saufen" und "Single-Malt-Tasting" ... mutually exclusive objects
for the evening, eh?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Weihnachtsmarkt Michelstadt 06.12.08 (Cassandra, 10. Nov 2008, 21:18:53):
~#! rn=Ark rt=1225208648 rg=treffen
~#! tid=1225147621
eventuell +2 
aber genaues weis ich erst spaeter anfang Dezember. Hotel/Zimmer brauchen wir
nicht die 30km kann man fahren.

Cassy

-----------------------------------------------------------------------------



Advents-Stati Ruhrgebiet (Zesstra, 27. Nov 2008, 21:18:30):
Huhu,

mag jemand irgendwann im Dezember einen Weihnachtsmarkt im Ruhrgebiet oder
Umgebung gemeinsam besuchen?

Zesstra

-----------------------------------------------------------------------------



Re: Advents-Stati Ruhrgebiet (Vanhelsing, 27. Nov 2008, 21:19:36):
~#! rn=Zesstra rt=1227817110 rg=treffen
~#! tid=1227817110
Ich bin leider erst nach Weihnachten im Ruhrgebiet, dann aber auch auf
unbestimmte Zeit.
Also leider nich dieses Jahr.

VH

-----------------------------------------------------------------------------



Re: Re: Advents-Stati Ruhrgebiet (Xutelius, 27. Nov 2008, 21:26:44):
~#! rn=Vanhelsing rt=1227817176 rg=treffen
~#! tid=1227817110
Huhu,
wegen mir gerne. am 6.12. geht es garnicht. am 13. und 20.12. haette ich zeit.
und an allen freitagen im Dezember.

LG, Xut*

-----------------------------------------------------------------------------



Treffen im Lahn-Dill-Kreis (Srabi, 16. Dez 2008, 08:41:40):
Hi Mud...

wer von Euch Muddern kommt denn aus dem Grossraum Lahn-Dill-Kreis und hat
evtl. mal Interesse an einem Treffen in Wetzlar? meldet Euch dann einfach per
Mail bei mir

Gruss
Srabi

-----------------------------------------------------------------------------



Re: Stati FFM (Grimmborn, 26. Jan 2009, 20:50:55):
~#! on=Ark ot=1232993830 og=treffen.bekanntmachungen
~#! rn=Demonlord rt=1232973038 rg=treffen.bekanntmachungen
~#! tid=1232973038
+1


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Stati FFM (Grimmborn, 26. Jan 2009, 20:50:57):
~#! on=Gwen ot=1232997647 og=treffen.bekanntmachungen
~#! rn=Demonlord rt=1232973038 rg=treffen.bekanntmachungen
~#! tid=1232973038
Grundsaetzlich: Immer gerne.
Konkret: Muss ich aktuell leider erst noch schauen.
Ich sag mal ja unter Vorbehalt :)
Gwen.

-----------------------------------------------------------------------------



Stati in Muenchen (Huraxprax, 27. Jan 2009, 13:25:23):
Wer wohnt denn alles in Muenchen und Umgebung und haette Interesse an einem
Stammtisch? Oder gab es hier schon einen?

hurax

-----------------------------------------------------------------------------



Re: Stati in Muenchen (Mieze, 27. Jan 2009, 14:55:57):
~#! rn=Huraxprax rt=1233059123 rg=treffen
~#! tid=1233059123
Es gab mal Stammtische in Muenchen. Also 2001 war ich da mal, bilde ich mir
zumindest ein. Wohne ja schon eine Weile nicht mehr in Bayern.

Mieze

-----------------------------------------------------------------------------



Re: Stati in Muenchen (Demonlord, 27. Jan 2009, 17:37:39):
~#! rn=Huraxprax rt=1233059123 rg=treffen
~#! tid=1233059123
*meld*
sogar Stadtgebiet

Gruss
DL

-----------------------------------------------------------------------------



Re: Re: Stati FFM (Cassandra,  2. Feb 2009, 14:10:48):
~#! rn=Grimmborn rt=1232999457 rg=treffen
~#! tid=1232973038
w|rde auch gerne vorbeikommen. Bin ja auch "new in town" naja fast in town,
aber ne bahn sollte schon fahren.

Cassy, new in Muenster b. Dieburg

-----------------------------------------------------------------------------



Re: Fruehstuecks-Stati 22.2. Bochum (Shakedbeer, 21. Feb 2009, 15:52:40):
~#! on=Shakedbeer ot=1235227920 og=treffen.bekanntmachungen
~#! rn=Zesstra rt=1234990315 rg=treffen.bekanntmachungen
~#! tid=1234990315
Hi!

Also ich waere wohl auch mal wieder dabei.

CU in Bochum!
Shaky.

-----------------------------------------------------------------------------



Frankfurt, 14.5. ? (Xutelius, 23. Apr 2009, 13:30:50):
Huhu,
Vom 13.-15.5. ist in FFM ja wieder die Sightcity. Es steht zwar noch nicht
100%ig fest, ob wir mit dem MG dort etwas machen werden, aber falls nicht
werde ich wieder privat da sein.
Wie sieht es mit Interesse an deinem Stati am Donnerstag, also 14.5., Abend
aus?
Xut*

-----------------------------------------------------------------------------



Re: Frankfurt, 14.5. ? (Ark, 23. Apr 2009, 15:27:36):
~#! rn=Xutelius rt=1240486250 rg=treffen
~#! tid=1240486250
+1


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Frankfurt, 14.5. ? (Srabi, 23. Apr 2009, 15:37:40):
~#! rn=Xutelius rt=1240486250 rg=treffen
~#! tid=1240486250
Huhu Ihr...

denke mal das ich sagen kann
+1
Srabi

-----------------------------------------------------------------------------



Re: Frankfurt, 14.5. ? (Demonlord, 23. Apr 2009, 18:09:12):
~#! rn=Xutelius rt=1240486250 rg=treffen
~#! tid=1240486250
notiert.

-----------------------------------------------------------------------------



Re: Re: Frankfurt, 14.5. ? (Cassandra, 25. Apr 2009, 17:03:10):
~#! rn=Demonlord rt=1240502952 rg=treffen
~#! tid=1240486250
vermutlich +1
nn

-----------------------------------------------------------------------------



Re^3: Frankfurt, 14.5. ? (Del, 28. Apr 2009, 14:14:51):
~#! rn=Cassandra rt=1240671790 rg=treffen
~#! tid=1240486250
+2
Die NuDel

-----------------------------------------------------------------------------



Re: Frankfurt, 14.5. ? (Ark, 29. Apr 2009, 15:16:10):
~#! rn=Xutelius rt=1240486250 rg=treffen
~#! tid=1240486250
So, an alle Interessenten, Tische fuer 6-7 Personen ist fuer den 14.05.09 ab
18:30 reserviert. Dann kommet auch mal zuhauf. Anfahrt unter:
http://home.new-in-town.de/anfahrt/pdf/anfahrt-home.pdf
Aber auch vom HBF Ausgang Nordseite links einmal ums Ecke, dann linke Seite
(auf dem Platz etwas hinten in der Ecke versteckt) leicht zu Fuss zu
erreichen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Spectaculum in Telgte (Vanion, 14. Jul 2009, 20:53:50):
Am 15.+16.09. findet in Telgte (bei Muenster) das 15. Spectaculum statt. Da
ich da eh Urlaub habe ueberlege ich das Wochenende dort zu zelten. Falls
jemand Lust hat, mitzumachen, meldet euch mal.

http://www.spectaculum.de/termine/telgte

V*

-----------------------------------------------------------------------------



Re: Spectaculum in Telgte (Zesstra, 14. Jul 2009, 21:16:53):
~#! rn=Vanion rt=1247597630 rg=treffen
~#! tid=1247597630
Ich bin im Sommer fast immer fuer ein Zelt-Wochenende zu haben. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Re: Spectaculum in Telgte (Shakedbeer, 15. Jul 2009, 17:30:29):
~#! rn=Zesstra rt=1247599013 rg=treffen
~#! tid=1247597630
Hmmm. Das ist am 15.+16.8., nicht 9.. ;-) Bin da wohl leider in Berlin.

Shaky - haette sonst auch Lust gehabt.

-----------------------------------------------------------------------------



Nordstati (Vanion, 27. Jul 2009, 22:27:59):
Warum ist eigentlich das Projekt Nordstati schon wieder eingeschlafen. Gibts
da irgendwelche Bewegungen? Tendenziell waere Nordwesten mir ja lieber als
Wolgast :)

V*

-----------------------------------------------------------------------------



Re: Nordstati (Gloinson, 27. Jul 2009, 22:32:45):
~#! rn=Vanion rt=1248726479 rg=treffen
~#! tid=1248726479
Berlin zaehlt zum Norden. Ab jetzt!


-----------------------------------------------------------------------------



Re: Re: Nordstati (Vanion, 27. Jul 2009, 22:33:29):
~#! rn=Gloinson rt=1248726765 rg=treffen
~#! tid=1248726479
Osnabrueck meinetwegen ja noch wenn man beide Augen zudrueckt? Aber Berlin? is
das nicht in Ostpreussen?

V*

-----------------------------------------------------------------------------



Re^3: Nordstati (Gloinson, 27. Jul 2009, 22:37:16):
~#! rn=Vanion rt=1248726809 rg=treffen
~#! tid=1248726479
Es ist kalt, es ist arm, es gibt zu viel Wasser, es muss im Norden sein.


-----------------------------------------------------------------------------



Re^4: Nordstati (Gwen, 29. Jul 2009, 20:12:28):
~#! rn=Gloinson rt=1248727036 rg=treffen
~#! tid=1248726479
Zaehlt Leipzig? ;)
Aber Oldenburg waer ich auch dabei...
Gwen.

-----------------------------------------------------------------------------



Re: Mandragora 090809 (Shakedbeer,  9. Aug 2009, 10:05:39):
~#! on=Shakedbeer ot=1249805123 og=treffen.bekanntmachungen
~#! rn=Miril rt=1249570552 rg=treffen.bekanntmachungen
~#! tid=1249570552
Ich bin dabei und bringe einen Olli mit.
Bis gleich!
Shaky.

-----------------------------------------------------------------------------



Spielemesse 2009 in Essen (Zesstra, 31. Aug 2009, 22:01:23):
Huhu,

vom 22. bis 25.10. ist in Essen auch dieses Jahr wieder die Spielemesse. Ich
wuerde mal wieder gerne einen Tag hingehen. Hat jemand auch Lust und schon ne
Idee, an welchem Tag? Wenns passt, koennen wir den Tag dann ja abends bei
einem Sonder-Stati ausklingen lassen... ;-)

Zesstra

-----------------------------------------------------------------------------



Re: Spielemesse 2009 in Essen (Mieze,  1. Sep 2009, 10:55:57):
~#! rn=Zesstra rt=1251748883 rg=treffen
~#! tid=1251748883
Zur Messe selbst schaffe ich es nicht, aber Stammtisch klingt gut :-)

Gruesse
Mieze

-----------------------------------------------------------------------------



Re: Mampfstammtische Berlin: Oktober/November (Zook, 23. Nov 2009, 17:24:19):
~#! rn=Gloinson rt=1253999497 rg=treffen.bekanntmachungen
~#! tid=1253999497
Ah, wie bloed, ich war am 1. Nov. in Berlin. Z

-----------------------------------------------------------------------------



Re: Re: Mampfstammtische Berlin: Oktober/November (Gloinson, 23. Nov 2009, 20:49:40):
~#! rn=Zook rt=1258993459 rg=treffen
~#! tid=1253999497
Normal.


-----------------------------------------------------------------------------



Re: Re: Mampfstammtische Berlin: Oktober/November (Zook, 24. Nov 2009, 11:02:59):
~#! rn=Gloinson rt=1259010959 rg=treffen.bekanntmachungen
~#! tid=1253999497
Schade, da bin ich nicht in Berlin. Z

-----------------------------------------------------------------------------



Re^3: Mampfstammtische Berlin: Oktober/November (Zook, 24. Nov 2009, 11:03:40):
~#! rn=Gloinson rt=1259005780 rg=treffen
~#! tid=1253999497
Wobei ich da vormittags der Konzertmatinee mit Daniel Barenboim
gelauscht habe.
Z

-----------------------------------------------------------------------------



Re^4: Mampfstammtische Berlin: Oktober/November (Mieze, 24. Nov 2009, 11:26:39):
~#! rn=Zook rt=1259057020 rg=treffen
~#! tid=1253999497
Was gab es denn da Schoenes zu lauschen?

-----------------------------------------------------------------------------



Re^5: Mampfstammtische Berlin: Oktober/November (Zook, 24. Nov 2009, 15:35:31):
~#! rn=Mieze rt=1259058399 rg=treffen
~#! tid=1253999497
Eigentlich wollte ich in den Barbier am Samstag Abend, aber da gab
es nur noch Einzelplaetze, was ein bisschen doof war.

Nun, es gab Mozarts kleine Nachtmusik, irgendein merkwuerdiges
12-Ton-Stueck eines Italieners und ein/das Violinquartett von Verdi.

Und die Staatsoper unter den Linden is ja putzig ;) 

Z

-----------------------------------------------------------------------------



Re^6: Mampfstammtische Berlin: Oktober/November (Gloinson, 24. Nov 2009, 15:36:38):
~#! rn=Zook rt=1259073331 rg=treffen
~#! tid=1253999497
Und du bist nicht gleich drueben in der HU streiken gegangen?


-----------------------------------------------------------------------------



Re^7: Mampfstammtische Berlin: Oktober/November (Zook, 24. Nov 2009, 15:38:27):
~#! rn=Gloinson rt=1259073398 rg=treffen
~#! tid=1253999497
Nein, was waere da am So los gewesen? Und ueberhaupt, was soll ich 
da? Z

-----------------------------------------------------------------------------



Re^8: Mampfstammtische Berlin: Oktober/November (Gloinson, 24. Nov 2009, 15:44:23):
~#! rn=Zook rt=1259073507 rg=treffen
~#! tid=1253999497
Wenn du schon in der Staatsoper bist, dann ist das nur ein Katzensprung. Und
da springt man ja auf Besichtigung des Neuen Museums qua vorbei. Und kann sich
solidarisieren, das koennen doch auch alle anderen ;)


-----------------------------------------------------------------------------



Re^9: Mampfstammtische Berlin: Oktober/November (Zook, 24. Nov 2009, 15:49:22):
~#! rn=Gloinson rt=1259073863 rg=treffen
~#! tid=1253999497
Also im Neuen Museum war ich am Samstag. :) 

Z.

-----------------------------------------------------------------------------



Weihnachtsmarkt Ffm? (Ark,  7. Dez 2009, 19:51:10):
Vorschlag fuer einen gemuetlichen Freitagspaetnachmittagsgang ueber den
Frankfurter Weihnachtsmarkt: 11.12.09, 18:00 Uhr Roemer. Wer waere dabei?
Bitte um Meldungen, solo lauf ich da nicht rum ;-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Weihnachtsmarkt Ffm? (Ark,  7. Dez 2009, 21:33:10):
~#! rn=Ark rt=1260211870 rg=treffen
~#! tid=1260211870
Und schon ist der Termin um eine Woche verlegt, dafuer sind es nun schon 2.
Und wenn ihr denkt, das geht so weiter, muss ich sagen: *moep* ist nicht :-)
Also Freitag, 18.12., Weihnachtsmarkt wants YOU!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt Ffm? (Kellybundy,  7. Dez 2009, 21:51:15):
~#! rn=Ark rt=1260217990 rg=treffen
~#! tid=1260211870
och neee. imer diese Verschiebungen. Mir gehen langsam die ausreden aus...

-----------------------------------------------------------------------------



Re^3: Weihnachtsmarkt Ffm? (Demonlord,  7. Dez 2009, 23:24:14):
~#! rn=Kellybundy rt=1260219075 rg=treffen
~#! tid=1260211870
18.12. leg ich leider schon gegen mittag aus ffm ab (irgendwann reichts auch)
Unter der Woche passt mir besser...

-----------------------------------------------------------------------------



Re^4: Weihnachtsmarkt Ffm? (Ark,  8. Dez 2009, 13:33:07):
~#! rn=Demonlord rt=1260224654 rg=treffen
~#! tid=1260211870
Tragisch, aber es sind ja auch nicht alle Tiere auf die Arche gekommen :-)

Hier mal eine kurze Anfahrtsbeschreibung:
A5 bis Westkreuz Frankfurt, dort raus Richtung Innenstadt auf der A648. Nach
dem Messeturm links halten.
An der grossen Ampel Linksabbiegerspur -> Mainzer Landstrasse (DZ Bank Tower
ist links zu sehen). Dann vor der Oper rechts in die Junghofstrasse und gleich
links in die Neue Mainzer Landstrasse. Man hat dann ein paar Parkhaeuser zur
Auswahl, denen man folgen kann, Konstablerwache/Hauptwache waeren im Norden,
es gibt aber auch noch andere.
Am besten Google Maps zur Hilfe nehmen. Hilft mehr als meine wirren
Empfehlungen.
Nicht gleich die Parkhaeuser in der Naehe nehmen, ich vermute, dass die eh
voll sein werden ... wird aber angezeigt.
Vom HBF wuerde ich die U-Bahn zum Dom/Roemer nehmen, da ist man gleich
mittendrin :-)
Treffpunkt ist das Rathaus am Roemer ... da gibt's bei Google Maps auch ein
Bild drin, damit es da keine Verwechslungen gibt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Weihnachtsmarkt Ffm? (Zook, 11. Dez 2009, 14:52:20):
~#! rn=Ark rt=1260211870 rg=treffen
~#! tid=1260211870
sorry, eben erst gelesen, ich kann da nicht. z

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt Ffm? (Zook, 11. Dez 2009, 14:53:06):
~#! rn=Zook rt=1260539540 rg=treffen
~#! tid=1260211870
ah. verschiebung. hm. mal sehen, vielleicht schaff ivh es am 18.12.
z

-----------------------------------------------------------------------------



Re: Re: Weihnachtsmarkt Ffm? (Zook, 17. Dez 2009, 15:31:11):
~#! rn=Ark rt=1260217990 rg=treffen
~#! tid=1260211870
ich schaff es wohl nicht, da ich morgen abend noch arbeiten muss.
viel spass euch trotzdem. z.

-----------------------------------------------------------------------------



Treffen in Giessen/Wetzlar (Srabi, 18. Dez 2009, 11:28:10):
Hi Ihr,
da ich, wie auch Karol ja in Wetzlar wohnen, ist Frankfurt leider auch etwas
unguenstig. Ich plane daher mal ein Treffen in der Ecke Giessen/Wetzlar. Wenn
jemand Interesse hat, dann solle er/sie sich doch einfach mal per Mail bei mir
melden. Ueber die eine oder andre Antwort wuerde ich mich sehr freuen.

Gruss Srabi

-----------------------------------------------------------------------------



Re: KA Stati 7.1. (Bambi, 19. Dez 2009, 12:54:15):
~#! rn=Croft rt=1261131339 rg=treffen.bekanntmachungen
~#! tid=1261131339
Schade, ich waere an beiden Terminen da gewesen.

-----------------------------------------------------------------------------



Re: Fruehstueck Mandragora 17.1.2010 (Shakedbeer, 16. Jan 2010, 22:49:23):
Bin dabei!
Bis morgen!

Shaky.

-----------------------------------------------------------------------------



Re: Heinerfest Darmstadt (Croft, 27. Jun 2010, 11:53:23):
~#! on=Croft ot=1277632373 og=treffen.bekanntmachungen
~#! rn=Ark rt=1277630814 rg=treffen.bekanntmachungen
~#! tid=1277630814
So es ein deutsches Viertelfinale gibt, wird es am Samstag sein. Vgl
http://www.fifa.com/worldcup/matches/index.html
Und Donnerstag: Buuuuh!

Croft

-----------------------------------------------------------------------------



Re: Re: Heinerfest Darmstadt (Ark, 27. Jun 2010, 22:58:28):
~#! rn=Croft rt=1277632403 rg=treffen
~#! tid=1277630814
Hm, da bin ich tatsaechlich im Tag verrutscht. Na dann, umso besser, gegen
Freitag ist doch nichts einzuwenden, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Heinerfest Darmstadt (Ark, 29. Jun 2010, 20:13:49):
~#! rn=Ark rt=1277672308 rg=treffen
~#! tid=1277630814
So, 18:00 am Freitag, 02.07. in Darmstadt ist nun was los. Treffpunkt:
Luisenplatz, Langer Ludwig. Ja, da haengen auch Leute mit zweifelhafter
Garderobe ab, aber so findet man sich auf alle Faelle und ist nahe am
Geschehen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: KA Statis 7.-14.10. (Vanion,  4. Okt 2010, 20:41:13):
~#! rn=Croft rt=1286205526 rg=treffen.bekanntmachungen
~#! tid=1286205526
Diesmal schaff ich's wohl nicht.

V*

-----------------------------------------------------------------------------



Re: KA goes Flammkuchen 27.11. (Zook, 12. Nov 2010, 10:22:09):
~#! rn=Croft rt=1289512832 rg=treffen.bekanntmachungen
~#! tid=1289512832
Dies mal koennte es klappen, is aber noch unsicher. Z

-----------------------------------------------------------------------------



Re: Re: KA goes Flammkuchen 27.11. (Zesstra, 12. Nov 2010, 11:34:19):
~#! rn=Zook rt=1289553729 rg=treffen
~#! tid=1289512832
Da ich am 25./26.11. dienstlich in Darmstadt weilen werde und mir Croft
gestern eine Unterkunft anbot, bin ich recht zuversichtlich, dass das bei mir
diesmal klappt. *freu*

Zesstra

-----------------------------------------------------------------------------



Re^3: KA goes Flammkuchen 27.11. (Zook, 23. Nov 2010, 12:09:04):
~#! rn=Zesstra rt=1289558059 rg=treffen
~#! tid=1289512832
Haut bei mir leider doch nicht hin. :(
Z

-----------------------------------------------------------------------------



Re^3: Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Zook, 13. Jan 2011, 15:38:53):
~#! rn=Humni rt=1294396757 rg=treffen.bekanntmachungen
~#! tid=1294389810
Dann ist ja gut: Am 9. waer ich naemlich an BO mehr oder weniger
vorbeigekommen und haette hereinsehen koennen.
Z

-----------------------------------------------------------------------------



Re^4: Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Zesstra, 13. Jan 2011, 16:30:57):
~#! rn=Zook rt=1294929533 rg=treffen
~#! tid=1294389810
Wenn Du uns sagst, wenn Du in der Naehe bist, koennten wir ja was passendes
ausrufen...

Zesstra

-----------------------------------------------------------------------------



BodenseeStati? (Gloinson, 13. Jan 2011, 17:01:45):
Moin,

lebt hier unten noch wer? Vector, Roadrunner und co?


-----------------------------------------------------------------------------



Re^5: Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Zook, 13. Jan 2011, 18:16:44):
~#! rn=Zesstra rt=1294932657 rg=treffen
~#! tid=1294389810
Naja, ich war auf der Durchreise nach Delft ... also nur bedingt gut passend. 
Aber, wenn sich was ergibt, gebe ich Laut. :) 

Z

-----------------------------------------------------------------------------



Re: BodenseeStati? (Zook, 13. Jan 2011, 18:17:09):
~#! rn=Gloinson rt=1294934505 rg=treffen
~#! tid=1294934505
Es gab frueher mal nen Haufen Unitopia-Spieler in KN und Umgebung.

Z

-----------------------------------------------------------------------------



Re: BodenseeStati? (Vector, 20. Jan 2011, 01:47:06):
~#! rn=Gloinson rt=1294934505 rg=treffen
~#! tid=1294934505
mach aus dem KN ein RV und hol aline noch mit ins boot :)
gibt glaub weniger oertlichkeiten, die schlimmer erreichbar
sind als KN? RV, FR alles gut aber KN ist pfui :>

-----------------------------------------------------------------------------



Re: Re: BodenseeStati? (Rumata, 20. Jan 2011, 10:14:37):
~#! rn=Vector rt=1295484426 rg=treffen
~#! tid=1294934505
FR? Das ist aber auf der anderen Seite des Schwarzwalds?!

-----------------------------------------------------------------------------



Re: BodenseeStati? (Hight, 20. Jan 2011, 10:15:44):
~#! rn=Gloinson rt=1294934505 rg=treffen
~#! tid=1294934505
ich bin 4 tage die woch in Zuerich ... is das nah genuch? ,o)

-----------------------------------------------------------------------------



Re: Re: BodenseeStati? (Bijou, 20. Jan 2011, 15:09:53):
~#! rn=Hight rt=1295514944 rg=treffen
~#! tid=1294934505
fr bin ich dabei. :)

-----------------------------------------------------------------------------



Re^3: BodenseeStati? (Gloinson, 20. Jan 2011, 22:55:46):
~#! rn=Bijou rt=1295532593 rg=treffen
~#! tid=1294934505
Fr? Meint ihr Autokennzeichen FN? Ich glaub RV oder die Burg am Meer waeren
recht kompatibel als Orte.


-----------------------------------------------------------------------------



Re^4: BodenseeStati? (Bijou, 21. Jan 2011, 00:09:00):
~#! rn=Gloinson rt=1295560546 rg=treffen
~#! tid=1294934505
ich glaube wir meinen autokennzeichen fr... bin allerdings blind und nicht
ganz sicher... das nette kleine staedtchen ganz im westen... green city nennt
es sich auch ganz gern

-----------------------------------------------------------------------------



Re^3: BodenseeStati? (Roadrunner, 21. Jan 2011, 22:06:57):
~#! rn=Bijou rt=1295532593 rg=treffen
~#! tid=1294934505
FR ist mir zu weit - RV waere ok fuer mich - aber da kollidieren die
beduerfnisse wohl.
Wie war das mit Termin? - nicht dass das sowieso irrelevant waere.

RR

-----------------------------------------------------------------------------



Re^4: BodenseeStati? (Gloinson, 22. Jan 2011, 18:28:06):
~#! rn=Roadrunner rt=1295644017 rg=treffen
~#! tid=1294934505
Irgendwann ab jetzt im Bereich RV/FN. FN ist sicher ein Kompromiss fuer beide
Richtungen Ulm und Singen. Ich glaub, ich setz morgen, wenn ich mich vom
Urlaub erholt habe mal ein Doodle auf :)


-----------------------------------------------------------------------------



Re^5: BodenseeStati? (Gloinson, 26. Jan 2011, 14:22:26):
~#! rn=Gloinson rt=1295717286 rg=treffen
~#! tid=1294934505
Umfrage hier zu finden:

http://www.doodle.com/vtak33tw42u4pwvu

* Fr/Sa/So, 10-17 oder 17-23 (Brunch oder StaTi)
* Ort unbekannt, Fallback: Salem
* OePNV-Kompatibilitaet gesucht


-----------------------------------------------------------------------------



Re^6: BodenseeStati? (Gloinson,  7. Feb 2011, 07:13:27):
~#! rn=Gloinson rt=1296048146 rg=treffen
~#! tid=1294934505
WE vom 26./27. Februar sieht am Besten aus. Ich sag mal spontan "vormittags
einer der beiden Tage" und guck nach Brunch-Moeglichkeiten. Im Zweifelsfall in
Salem, fuer sieben Leute ist die Wohnung schon getestet.


-----------------------------------------------------------------------------



Re: Bodensee-StaTi am WE vom 26./27. Februar  (Zook, 20. Feb 2011, 14:11:20):
~#! rn=Gloinson rt=1297794158 rg=treffen.bekanntmachungen
~#! tid=1297794158
Ich bin glaub erst im Maerz wieder in Ueberlingen und/oder Friedrichshafen.
Z

-----------------------------------------------------------------------------



Re^3: Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 23. Feb 2011, 13:49:44):
~#! rn=Hight rt=1298465181 rg=treffen.bekanntmachungen
~#! tid=1297794158
Da gibt es dann ja auch leckere Sachen danach. Hmmm, Haxe.


-----------------------------------------------------------------------------



Re^4: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 23. Feb 2011, 14:10:57):
~#! rn=Gloinson rt=1298465384 rg=treffen
~#! tid=1297794158
guad ... *notetoself* Euro kaufen gehen

-----------------------------------------------------------------------------



Re: Nachtwanderung fuer Staedtebewohner (Zesstra, 10. Jun 2011, 21:23:15):
~#! rn=Zesstra rt=1307733696 rg=kultur
~#! tid=1307733696
Falls Interesse besteht, sollten wir hieraus oder drumherum einen Sonderstati
machen. Entweder nachher gemuetlich fruehstuecken/brunchen oder gemeinsam als
Gruppe mitwandern...

Zesstra

-----------------------------------------------------------------------------



Re: Re: Nachtwanderung fuer Staedtebewohner (Masul, 13. Jun 2011, 16:07:06):
~#! rn=Zesstra rt=1307733795 rg=treffen
~#! tid=1307733696
Kannst Du den urspruenglichen Artikel noch mal posten ? Ich finde den nicht
mehr in der MPA.

Masul

-----------------------------------------------------------------------------



Re^3: Nachtwanderung fuer Staedtebewohner (Humni, 13. Jun 2011, 17:37:55):
~#! rn=Masul rt=1307974026 rg=treffen
~#! tid=1307733696
rubrik kultur
artikel 7
(derzeit, Zahl kann sich je nach Zeitraum aendern).

Humni

-----------------------------------------------------------------------------



Re^4: Nachtwanderung fuer Staedtebewohner (Arathorn, 19. Jun 2011, 22:14:10):
~#! rn=Humni rt=1307979475 rg=treffen
~#! tid=1307733696
Au ja, Sonderstati. Wir gehn zum Sonnenuntergang zur ersten Halde, guggn
uns da an, was so veranstaltet wird, gehn danach irgendwo was essen oder 
(insbesondere) trinken, und machen uns dann zum Sonnenaufgang sozusagen per
Haldenshuttle auf zu Halde 2. ;-)

A*n, Unsinn verbreitend.

-----------------------------------------------------------------------------



Re^5: Nachtwanderung fuer Staedtebewohner (Mieze, 20. Jun 2011, 09:44:06):
~#! rn=Arathorn rt=1308514450 rg=treffen
~#! tid=1307733696
Schade, dass ich nachts schlafe :/

-----------------------------------------------------------------------------



Re: Fruehstuecken in Bochum, 30.10.2011, 11:00 Uhr (Zesstra, 24. Okt 2011, 23:16:54):
~#! rn=Arathorn rt=1319490927 rg=treffen.bekanntmachungen
~#! tid=1319490927
Hmpf... Da werde ich wohl nicht koennen. Hab nen Treffen mit meiner Tante
extra auf Mittag gelegt, damit der Nachmittag ggf. frei ist zum Spielen, aber
da ists jetzt natuerlich maximal unguenstig fuer Fruehstueck.

Zesstra

-----------------------------------------------------------------------------



Morgengrauen-StaTi Berlin: 20. Nov 2011 im Xion (Gloinson,  5. Nov 2011, 10:42:35):
Moin,

am 20. November am ueblichen Ort fuer die ueblichen Leckermaeuler:

* Cafe Xion, Pappelallee 56 (S SchC6nhauser, Tra 12 Stargarder)
* ab 10:30 Uhr
* auf den Namen Morgengrauen

Bitte sagt mir per Mail Bescheid, falls ihr vorbeikommt, damit ich meine
Schaetzung der Reservierung nach oben korrigieren kann. Kleine fremdelnde
Snacks werden ggf. gereicht.

Koemmet zuhauf!

Krischan aka Gloin


-----------------------------------------------------------------------------



Re: Morgengrauen-StaTi Berlin: 20. Nov 2011 im Xion (Zook,  5. Nov 2011, 18:05:08):
~#! rn=Gloinson rt=1320486155 rg=treffen
~#! tid=1320486155
Pft, und das genau neben meinem Berlin Besuch.
Z

-----------------------------------------------------------------------------



Re: KA Statis 26.1.-29.3. (Zesstra, 20. Jan 2012, 11:39:38):
~#! rn=Croft rt=1327055262 rg=treffen.bekanntmachungen
~#! tid=1327055262
Ah, ihr begruesst mich mit Flammkuchen? Lecker. ;-)
Also, ich versuch zumindest, am 1.3. vorbeizukommen, wenn der Tag nicht zu
stressig wird.

Zesstra

-----------------------------------------------------------------------------



Re: Re: KA Statis 26.1.-29.3. (Croft, 20. Jan 2012, 11:41:25):
~#! rn=Zesstra rt=1327055978 rg=treffen
~#! tid=1327055262
So ist der Plan :-)

Croft

-----------------------------------------------------------------------------



brunch? (Vector, 31. Mar 2012, 22:12:16):
hiho
gibts potentielle teilnehmer fuer nen stati/treffen/brunch im
sueden von deutschland und/oder schwiiz?
von ulm ueber rv, beliebiger ort am bodensee, schaffhausen
zuerich etc waer ich zu haben (und wuerde mich um lokalitaet
kuemmern)

--Vector--

-----------------------------------------------------------------------------



Re: brunch? (Zesstra,  1. Apr 2012, 17:57:35):
~#! rn=Vector rt=1333224736 rg=treffen
~#! tid=1333224736
Ich hab Interesse. Ich bin allerdings die naechsten WE ziemlich haeufig
unterwegs und daher nicht im Sueden. Ab Mitte Mai sieht das dann aber etwas
besser aus.

Zesstra

-----------------------------------------------------------------------------



Hessentag in Wetzlar (Srabi, 22. Apr 2012, 20:56:00):
Hallo Mudders,
vom 01.06.2012 bis zum 10.06.2012 findet in Wetzlar der Hessentag 2012 statt.
Jedem von euch, der aus Hessen kommt, kennt diesen ja :-)
Als musikalischen Gaeste kommen unter anderem: Elton John, Lenny Kravitz
(Vorgruppe: Dick Brave), Sunrise Avenue, Xavier Naidoo, Silbermond (Vorgruppe:
Frida Gold) ...

Auch fuer andere geistige Erguesse ist gesorgt. Programm komplett findet Ihr
unter: http://www.hessentag-2012.de

Wenn einer von Euch den Weg nach Wetzlar finden mag, last es mich wissen :-)

-----------------------------------------------------------------------------



Re: Re: Mandragora-Stammtisch in Bochum, 29.4.2012 (Zesstra, 13. Mai 2012, 19:44:19):
~#! rn=Humni rt=1336897064 rg=treffen.bekanntmachungen
~#! tid=1335640034
Ihr geht ja immer Fruehstuecken, wenn ich nicht da bin...

Zesstra

-----------------------------------------------------------------------------



Re^3: Mandragora-Stammtisch in Bochum, 29.4.2012 (Maharet, 13. Mai 2012, 19:45:00):
~#! rn=Zesstra rt=1336931059 rg=treffen
~#! tid=1335640034
Das sollte dir zu denken geben, Zesstra.

-----------------------------------------------------------------------------



Re^4: Mandragora-Stammtisch in Bochum, 29.4.2012 (Zesstra, 13. Mai 2012, 19:50:57):
~#! rn=Maharet rt=1336931100 rg=treffen
~#! tid=1335640034
Ich hatte am Donnerstag abend in Karlsruhe schon ueberlegt, ob ich mir
Gedanken machen muesste. ;-)

Zesstra

-----------------------------------------------------------------------------



Re^5: Mandragora-Stammtisch in Bochum, 29.4.2012 (Maharet, 13. Mai 2012, 19:53:46):
~#! rn=Zesstra rt=1336931457 rg=treffen
~#! tid=1335640034
Komm nach Dresden, wir machen dann extra und nur fuer dich genau dann und
sonst nie einen Brunch und/oder Stammtisch!

-----------------------------------------------------------------------------



Re^6: Mandragora-Stammtisch in Bochum, 29.4.2012 (Zesstra, 13. Mai 2012, 19:58:00):
~#! rn=Maharet rt=1336931626 rg=treffen
~#! tid=1335640034
Gerade ist schlecht, aber ich bin zuversichtlich, dass ich es auch mal wieder
nach Dresden schaffen werde. Ich weiss nur noch nicht, wann.
Man muss aber auch dazu sagen, dass wir das Fruehstueck im Mandra min. 2-3mal
haben ausfallen lassen, weil wir den Sonntag gespielt hatten.

Zesstra

-----------------------------------------------------------------------------



Versuch eines Treffens in Darmstadt (Saray,  9. Jun 2012, 15:24:45):
Neil und ich haben uns ueberlegt, einen Versuch fuer ein Treffen in Darmstadt
zu starten.
Also alle, die aus Darmstadt / Frankfurt und umgebung kommen, sind zu diesem
Experiment herzlich eingeladen :-).
Als Location haben wir uns den Ratskeller in Darmstadt ausgesucht.
Datum: Freitag, 15. Juni
Uhrzeit: ab 19:00 Uhr
Erkennen wird man vor allem Neil. Langhaariger Kerl mit Kutte (Judas
Priest-Backpatch).
Wir gehen einfach mal davon aus, dass nicht viele Andere mit dieser Bekleidung
dort anzutreffen sein werden ;-).
Homepage: www.ratskeller-darmstadt.de
Dann hoffen wir mal, dass sich jemand nach Darmstadt bemuehen wird und freuen
uns auf einen lustigen Abend!
Saray

-----------------------------------------------------------------------------



Treffen in Darmstadt am Freitag 14.09 (Saray,  9. Sep 2012, 10:43:24):
So, wieder mal ein Versuch eines Treffens in Darmstadt.
Treffpunkt, wie beim ersten Mal auch, ist der Ratskeller ab 20 Uhr.
Neil wird wieder an seiner Kutte mit Judas Priest-Backpatch zu erkennen sein.
Hoffentlich findet jemand den Weg! :-D
Gruss Saray

-----------------------------------------------------------------------------



Re: Treffen in Darmstadt am Freitag 14.09 (Gwen,  9. Sep 2012, 23:03:08):
~#! rn=Saray rt=1347180204 rg=treffen
~#! tid=1347180204
Freitag ist immer schlecht...
Mo-Mi, ggf. Do ist bei mir grundsaetzlich besser.
Ich wuensch Euch viel Spass!
LG, Gwen.

-----------------------------------------------------------------------------



Re: Re: Treffen in Darmstadt am Freitag 14.09 (Saray,  9. Sep 2012, 23:18:26):
~#! rn=Gwen rt=1347224588 rg=treffen
~#! tid=1347180204
Na, das ist aber gut zu wissen.
Da sich bisher ja sowieso noch nichts Regelmaessiges ergeben hat, kann man das
ja bestimmt mal anders hinbekommen.

-----------------------------------------------------------------------------



Re^3: Treffen in Darmstadt am Freitag 14.09 (Croft,  9. Sep 2012, 23:35:34):
~#! rn=Saray rt=1347225506 rg=treffen
~#! tid=1347180204
Und in KA haben wir an dem Tag einen Sonderstati.  Siehe T.Bek ;-)
Viel Spass euch!

Croft

-----------------------------------------------------------------------------



Treffen in Singen am Samstag (Gloinson, 27. Sep 2012, 19:34:07):
Special Guest aus Berlin: Tenar. Der moechte hier gern feiern gehen und Suser
trinken (den besorgen wir noch separat) und das Spectaculum am 29.9. in Singen
draengt sich noch mehr als das Konstanzer Oktoberfest auf.

http://www.spectaculum.de/termine/singen/

Wahrscheinlich ab circa 13/14 Uhr auf dem Fest, Anwesenheitsdauer je nach
Laune und ggf mit Brettspiel (plus begrenzt vorhandenem Suser) in Salem
abgerundet.


-----------------------------------------------------------------------------



Kino: 27.12. in Bochum? (Zesstra, 19. Dez 2012, 23:12:30):
Huhu,

hat jemand am 27.12. Interesse, in Bochum ins Kino zu gehen? Ich haette da
noch Skyfall und den Hobbit auf meiner Wunschliste...

Zesstra

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum am 20.01.2013 (Zook, 17. Jan 2013, 19:07:10):
~#! rn=Arathorn rt=1358371843 rg=treffen.bekanntmachungen
~#! tid=1358371843
Knapp daneben, aber Euch nen schoenen Stati!
Zook

-----------------------------------------------------------------------------



Stati am Freitag in Berlin (Maharet, 12. Mar 2013, 18:21:13):
Hallo Berliner und Berlin-Besucher,
ich werde ab Morgen in der Hauptstadt sein und wuerde mich ueber einen Stati
am Freitag Abend freuen. Bitte meldet euch, sicherheitshalber an
mg@maharet.org, da ich ab Morgen nicht ins Mud werde kommen koennen.
Bis denne,
Maha

-----------------------------------------------------------------------------



Mag jemand mit fruehstuecken? (Zesstra, 16. Mar 2013, 10:47:02):
Ich bin morgen in Bochum, will vor der laestigen Arbeit gemuetlich
fruehstuecken und das nicht im Hotel tun.
Daher bin ich wohl morgen (17.3.) ab 11 oder so im Mandra. Hat jemand auch
Lust?

Zesstra

-----------------------------------------------------------------------------



Re: Mag jemand mit fruehstuecken? (Arathorn, 16. Mar 2013, 14:36:02):
~#! rn=Zesstra rt=1363427222 rg=treffen
~#! tid=1363427222
+2.

-----------------------------------------------------------------------------



(Ex-)Mudder-Stammtisch in Hamburg (Perdita,  2. Apr 2013, 21:31:19):
Hallo an alle mehr oder weniger norddeutschen Mudder und Ex-Mudder!
Wir wollen nach Jaaaaahren mal wieder einen "Stammtisch" in Hamburg
veranstalten.
Terminfindung laeuft ab sofort unter http://doodle.com/kcb54e9qidy7qt4m
Ich freue mich auf zahlreiche Teilnehmer!
Perdita - die schon gar nicht mehr weiss, wie man einen Artikel in der mpa
veroeffentlicht...

-----------------------------------------------------------------------------



Re: Muddertreffen in Erlangen am 11.05. (Zesstra,  2. Mai 2013, 19:50:25):
~#! rn=Gulahr rt=1367258794 rg=treffen.bekanntmachungen
~#! tid=1367258794
Ich denk mal drueber nach... Waeh ist die Bahnverbindung mies. :-/

Zesstra

-----------------------------------------------------------------------------



Re: Re: Muddertreffen in Erlangen am 11.05. (Rumata,  3. Mai 2013, 09:11:25):
~#! rn=Zesstra rt=1367517025 rg=treffen
~#! tid=1367258794
Ich bin fuer Stuttgart 21; jetzt bewerft mich mit Dreck.
Ich will schneller nach Ulm - vorallem schneller wieder weg.

Quelle: http://www.youtube.com/watch?v=Hi6OmYfm7Q8&t=6m38s

-----------------------------------------------------------------------------



Re^3: Muddertreffen in Erlangen am 11.05. (Gloinson,  3. Mai 2013, 12:54:14):
~#! rn=Rumata rt=1367565085 rg=treffen
~#! tid=1367258794
Ohne da jetzt reinzuschauen: als Ulm-Fahrer weiss man aber, dass die
Geisslinger Steige das Problem ist (im Winter bleiben die ICEs da auch mal
haengen).

Ansonsten kannst du das schneller weg vergessen. Fuer eine Stadt mit 150k
Einwohnern hat Ulm erstaunlich frueh am Abend den Zugverkehr eingestellt. Ich
hab es Zesstra schon gesagt: er wohnt jetzt im Heiligs-Blechle-Land, da ist
der Bahnverkehr halt mies.

... achjee, Grebe ;)


-----------------------------------------------------------------------------



Re^4: Muddertreffen in Erlangen am 11.05. (Croft,  3. Mai 2013, 13:43:06):
~#! rn=Gloinson rt=1367578454 rg=treffen
~#! tid=1367258794
An S21 haengt ja auch noch die Neubaustrecke dort dran.  Das koennte
irgendwann also besser werden.

Croft

-----------------------------------------------------------------------------



Re^5: Muddertreffen in Erlangen am 11.05. (Gloinson,  3. Mai 2013, 13:55:19):
~#! rn=Croft rt=1367581386 rg=treffen
~#! tid=1367258794
Nee, S21 und Wendlingen haengen in einem Projekt zusammen. Inbetriebnahme so
ab 2020, da muss Rumata aber noch lange aushalten.

Sollte ich bis 2020 mit der naechsten Salem-Party warten?


-----------------------------------------------------------------------------



Re^6: Muddertreffen in Erlangen am 11.05. (Croft,  3. Mai 2013, 14:30:32):
~#! rn=Gloinson rt=1367582119 rg=treffen
~#! tid=1367258794
So meinte ich das schon.  S21 plus NBS Wendlingen-Ulm und noch ein paar
Massnahmen ist BW21 ;-)
http://www.bahnprojekt-stuttgart-ulm.de/uploads/tx_smediamediathek/200904-Volk
swirtschaftliche_Bewertung.pdf

Croft

-----------------------------------------------------------------------------



Re: Re: KA goes Flammkuchen 6.7. (Zesstra,  2. Jul 2013, 19:58:33):
~#! rn=Croft rt=1372402508 rg=treffen.bekanntmachungen
~#! tid=1370983977
ja, hier!
Wann ist denn Aufbruch?

Zesstra

-----------------------------------------------------------------------------



Re: Re: KA StaTis 22.5.-29.6. (Huraxprax, 28. Mai 2014, 19:27:43):
~#! rn=Croft rt=1401272377 rg=treffen.bekanntmachungen
~#! tid=1400189639
Pizzahaus, wann und vor allem wo ist das? Ausserdem ist morgen nicht der 5.6.
aber das Wetter stimmt wohl...

hurax

-----------------------------------------------------------------------------



Flammkuchen im August? (Perdita, 25. Jun 2014, 21:00:06):
da ich voraussichtlich (ca.) vom 14. bis 17. August in Karlsruhe weilen werde,
wollte ich euch mal fragen, ob wir da nicht ein Flammkuchenessen veranstalten
koennten?
Irgendwie haben wir es bisher doch noch fast jedes Mal geschafft, wenn ich zu
Besuch war... Ich faend's grossartig!!!
So oder so sehen wir uns wahrscheinlich beim Stammtisch am 14. August!
Bis dahin schoene Gruesse
Perdita

-----------------------------------------------------------------------------



Interwhisky Frankfurt (Ark, 17. Nov 2014, 21:18:15):
Ich bin am Samstag dort, dieses Jahr muss man allerdings sein Ticket online
vorher kaufen, dafuer isses dann hoffentlich nicht so ein Gedraenge vor den
einschlaegig leckeren Sorten/Distilleries. Slainte mhath!


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Interwhisky Frankfurt (Ark, 17. Nov 2014, 21:19:54):
~#! rn=Ark rt=1416255495 rg=treffen
~#! tid=1416255495
Achso, es ist wie letztes Jahr im Thurn-und-Taxis Palais, leicht zu erreichen
mit der S-Bahn vom Hbf. Mach ich auch so, weil danach fahr ich nicht mehr mit
Auto :-D


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Suche Uebernachtungsmoeglichkeit (Bambi, 17. Dez 2014, 08:12:37):
Hi.

Da ich am Montag in Bottrop zu einer Beerdigung gehe, suche ich aktuell eine
Uebernachtungsmoeglichkeit von Sonntag (21. Dezember 2014) auf Montag in der
Umgebung Bottrop, Essen o.ae.

Wer mir da etwas empfehlen oder anbieten kann, bitte melden.

Bambi

-----------------------------------------------------------------------------



Re: Bochumer Stammtisch (Zook, 14. Aug 2015, 09:47:13):
~#! rn=Miril rt=1439490469 rg=treffen.bekanntmachungen
~#! tid=1439490469
Wird man Ingress spielen? 

Zook

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum (Zook,  4. Okt 2015, 14:42:50):
~#! rn=Arathorn rt=1443013705 rg=treffen.bekanntmachungen
~#! tid=1443013705
Ach, Mist, da war ich im Ausland,
Zook.

-----------------------------------------------------------------------------



Re: Stati 21.10. in Zesstras Zelt (Zook, 20. Okt 2015, 20:17:47):
~#! rn=Zesstra rt=1445364956 rg=treffen.bekanntmachungen
~#! tid=1445364956
+1
Zook

-----------------------------------------------------------------------------



32c3-Stati (Vanion, 27. Dez 2015, 23:00:03):
Der traditionelle Stammtisch auf dem Chaos Communication Congress findet am
27.10.2015 um 23:00 in Saal 1 statt.

Kommet zu Hauf.

V*

-----------------------------------------------------------------------------



Re: 32c3-Stati (Zook, 28. Dez 2015, 14:39:20):
~#! rn=Vanion rt=1451253603 rg=treffen
~#! tid=1451253603
Damit toppst Du ja die Ankuendigungszeitraeume des Bochumer
Stammtischs.

Zook.

-----------------------------------------------------------------------------



Re: Re: 32c3-Stati (Vanion, 30. Dez 2015, 21:28:15):
~#! rn=Zook rt=1451309960 rg=treffen
~#! tid=1451253603
Die drei Sekunden Verspaetung schiebe ich mal auf die alte MG-Hardware.

V*

-----------------------------------------------------------------------------



Re^3: 32c3-Stati (Gnome,  3. Jan 2016, 01:18:36):
~#! rn=Vanion rt=1451507295 rg=treffen
~#! tid=1451253603
3 Sekunden waere ja halb so schlimm. Aber einen Stati 2 Monate und 3 Sekunden
spaeter anzukuendigen ist ja echt der Gipfel... ;)

-----------------------------------------------------------------------------



Re: KA StaTis 17.3.-28,4. (Zook, 14. Mar 2016, 16:18:30):
~#! rn=Croft rt=1457648048 rg=treffen.bekanntmachungen
~#! tid=1457648048
Melde mich fuer den 28.04. mal als Gast an. 

Zook

-----------------------------------------------------------------------------



Re: KA StaTis 7.7.-18.8.2016 (Zesstra,  7. Jul 2016, 00:10:22):
~#! rn=Croft rt=1467538880 rg=treffen.bekanntmachungen
~#! tid=1467538880
Ich melde mich mal fuer den 14.7. an, muesste ich hinkriegen.

Zesstra

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum nochmal am 30.10. (Zesstra, 29. Okt 2016, 15:49:00):
~#! rn=Arathorn rt=1477746905 rg=treffen.bekanntmachungen
~#! tid=1477746905
Also, von mir aus muss man das nicht verringern. ;-)

Zesstra

-----------------------------------------------------------------------------



Re: MG@CCC Stati (Zesstra, 28. Dez 2016, 20:11:10):
~#! rn=Vanion rt=1482952151 rg=treffen.bekanntmachungen
~#! tid=1482952151
Gruess Gott!

Zesstra

-----------------------------------------------------------------------------



Re: Re: MG@CCC Stati (Vanion, 28. Dez 2016, 20:12:50):
~#! rn=Zesstra rt=1482952270 rg=treffen
~#! tid=1482952151
Werd ich machen.

V*

-----------------------------------------------------------------------------



Re^3: MG@CCC Stati (Zook, 31. Dez 2016, 11:58:53):
~#! rn=Vanion rt=1482952370 rg=treffen
~#! tid=1482952151
Ich gebe nachrichtlich noch bekannt, dass alle angemeldeten Teilnehmer
erschienen sind, sowie ein Gast1.

Toller Stati, wie jedes jahr!

Zook.

-----------------------------------------------------------------------------



Re^3: MG@CCC Stati (Zook, 31. Dez 2016, 11:59:32):
~#! rn=Vanion rt=1482952370 rg=treffen
~#! tid=1482952151
Wollen wir eigentlich mal ne MorgenGrauen Assembly machen?

Zook

-----------------------------------------------------------------------------



Re^4: MG@CCC Stati (Vanion,  7. Jan 2017, 00:27:28):
~#! rn=Zook rt=1483181972 rg=treffen
~#! tid=1482952151
Auf jeden Fall. Dieses Jahr haben wir ja schon Werbung auf der Twitter Wall
gemacht. Da ist eine Assembly auf dem 34c3 der naechste logische Schritt.

V*

-----------------------------------------------------------------------------



Re^5: MG@CCC Stati (Croft,  7. Jan 2017, 01:15:50):
~#! rn=Vanion rt=1483745248 rg=treffen
~#! tid=1482952151
Dieses Jahr?

Croft

-----------------------------------------------------------------------------



Re^6: MG@CCC Stati (Vanion,  7. Jan 2017, 11:37:30):
~#! rn=Croft rt=1483748150 rg=treffen
~#! tid=1482952151
Ich haenge wohl noch ein paar Tage 2016 nach ...

V*

-----------------------------------------------------------------------------



Re^7: MG@CCC Stati (Zook,  8. Jan 2017, 10:45:08):
~#! rn=Vanion rt=1483785450 rg=treffen
~#! tid=1482952151
Wobei das Posten auf der Twitterwall erst mit 
Zesstras Hilfe ging, da ich irgendwie diese API nicht mehr
im Kopf hatte.

Zook

-----------------------------------------------------------------------------



Re^8: MG@CCC Stati (Vanion,  8. Jan 2017, 22:27:22):
~#! rn=Zook rt=1483868708 rg=treffen
~#! tid=1482952151
Ein Hoch auf Zesstra.(*)

(*) Sowieso. Immer!

V*

-----------------------------------------------------------------------------



Stati in Koeln (Zesstra, 20. Feb 2017, 21:48:45):
Huhu...

ich suche Leute aus der Gegend von Koeln, die Interesse an einem Statiabend in
Koeln haben. Bitte ggf. melden, ansonsten erfolgt an dieser Stelle demnaechst
mal ne Ankuendigung.

Zesstra

-----------------------------------------------------------------------------



Re: Stati in Koeln (Krellja, 26. Feb 2017, 18:03:26):
~#! rn=Zesstra rt=1487623725 rg=treffen
~#! tid=1487623725
Interesse.

-----------------------------------------------------------------------------



Re: Re: KA StaTis 30.3.-4.5. (Zook, 19. Apr 2017, 15:46:20):
~#! rn=Mundron rt=1492065165 rg=treffen.bekanntmachungen
~#! tid=1490560952
Mist! Genau an dem Tag fahre ich fuer ne Woche in Urlaub.

Zook

-----------------------------------------------------------------------------



Re^3: KA StaTis 30.3.-4.5. (Mundron, 19. Apr 2017, 16:58:22):
~#! rn=Zook rt=1492609580 rg=treffen
~#! tid=1490560952
Da es doch zumindest potentiell ein Paar Leute in der Umgebung gibt, wird der
Stammtusch stattfinden, selbst wenn nur Blivi und ich dort sind. Gerne gibt es
auch einen zweiten un dritten Versuch. 
Besonders wuerde ich mich ueber Wuensche freuen. Dann versuche ich beim
zweiten Versuch das zu beruecksichtigen, so dass es dann vielleicht fuer mehr
Leute guenstiger ist.

So kam schon die Idee auf eine Besichtigung im Sommer zu planen. Nach dem
Stammtisch wuerde ich dazu aber konkreteres schreiben und auf regere
Beteiligung sehr freuen.


-----------------------------------------------------------------------------



Re^4: KA StaTis 30.3.-4.5. (Mundron, 28. Apr 2017, 10:13:09):
~#! rn=Mundron rt=1492613902 rg=treffen
~#! tid=1490560952
Da die Post leider verloren gegangen ist und ich das erst jetzt merke, will
ich nochmal, wenn auch recht kurzfristig, auf den heuten Stammtisch in Giessen
aufmerksam machen. Treffen in 
Jhrings - Ludwigstrasse 10, 35390 Giessen
Zeit: Ich bin ab 18 Uhr dort.


Einfach kommen. Jeder ist auch spontan eingeladen.

-----------------------------------------------------------------------------



Re: Re: N/FUE/ER: Ausserordentlicher Mud-Stammtisch (Anthea,  6. Jul 2017, 23:48:16):
~#! rn=Gwen rt=1499325479 rg=treffen.bekanntmachungen
~#! tid=1496846219
Dankeschoen fuer den organisatorischen Tritt in den Hintern ;) Irgendwie kommt
hier sonst kaum was zustande, da muss erst Gwen aus Oldernburg nach Franken
reisen, damit wir uns hier treffen. Nun ja. Schoen wars, war nett, alle zu
sehen. Auch wenn das anreisende Gewitter am Schluss, dass mich und Highlander
auf den Heimweg getrieben hat, schon nach 17 Regentropfen wieder vorbei war...

-----------------------------------------------------------------------------



Re^3: N/FUE/ER: Ausserordentlicher Mud-Stammtisch (Gwen, 10. Jul 2017, 22:07:43):
~#! rn=Anthea rt=1499377696 rg=treffen
~#! tid=1496846219
Freut mich - und gerne wieder :)
Gwen.

-----------------------------------------------------------------------------



30.9. in Bochum? (Zesstra, 17. Sep 2018, 22:37:06):
Huhu,

so wie es aussieht, komme ich 30.9. durch Bochum, grob um Mittag rum. Ich
glaub, ich haette Lust, im Mandra einen Zwischenstopp einzulegen. Hat noch
jemand Lust?


Zesstra

-----------------------------------------------------------------------------



Re: 30.9. in Bochum? (Bugfix, 19. Sep 2018, 13:07:27):
~#! rn=Zesstra rt=1537216626 rg=treffen
~#! tid=1537216626
Ich muesste da Zeit haben ... und dachte letztens eh schon, wer mal wieder
Zeit.

Bugfix

-----------------------------------------------------------------------------



Re: Re: 30.9. in Bochum? (Zesstra, 26. Sep 2018, 20:27:08):
~#! rn=Bugfix rt=1537355247 rg=treffen
~#! tid=1537216626
Wie das so immer ist mit den schoenen Plaenen... Ich muss es leider absagen,
ich muss unerwartet nach Saarbruecken. :-( Ich hoffe, es kommt bald genug ne
neue Gelegenheit,

Zesstra

-----------------------------------------------------------------------------



Re^3: 30.9. in Bochum? (Arathorn, 26. Sep 2018, 20:28:10):
~#! rn=Zesstra rt=1537986428 rg=treffen
~#! tid=1537216626
Unverhofft kommt oft - dafuer koennten Dunst und ich zusagen, weil wir 
nicht am Sonntag zum Rollenspielen weg sind, sondern schon am Samstag. ;-)

Arathorn.

-----------------------------------------------------------------------------



Re^4: 30.9. in Bochum? (Bugfix, 26. Sep 2018, 22:19:24):
~#! rn=Arathorn rt=1537986490 rg=treffen
~#! tid=1537216626
Ich waer dafuer trotzdem einen Stammtisch zu machen, zumindest bei mir siehts
ansonsten in naechster Zeit naemlich echt mau aus mit freien Wochenenden.

Bugfix

-----------------------------------------------------------------------------



Re: Stammtisch Marburg (Zook, 10. Dez 2018, 14:46:21):
~#! rn=Mundron rt=1543096126 rg=treffen.bekanntmachungen
~#! tid=1543096126
Mist. Eben erst gelesen. Da war ich aber ohnehin nicht
in der Stadt. :(

Zook

-----------------------------------------------------------------------------



Re: Stammtisch Marburg, 19.01.2019 (Zook,  9. Jan 2019, 16:35:33):
~#! rn=Mundron rt=1547043684 rg=treffen.bekanntmachungen
~#! tid=1547043684
*heul* Da bin ich im Urlaub und im Ausland. :(

Zook

-----------------------------------------------------------------------------



Re: Stammtisch in Bochum, 10.03.2019 (Humni, 10. Mar 2019, 09:31:46):
~#! rn=Arathorn rt=1551981124 rg=treffen.bekanntmachungen
~#! tid=1551981124
Kurze Durchsage: Wir wollten eigentlich kommen, machen das aber gerade ein
wenig vom Wetter abhaengig. Derzeit gibts eine Unwetterwarnung der Stufe 3, da
ist das eher so unschoen, dabei durch bewaldete oder auch nur bebaumte Gebiete
zu fahren, und ohne die eine Strecke dahin zu finden wird schwierig ...

Humni

-----------------------------------------------------------------------------



Re: Re: Stammtisch in Bochum, 10.03.2019 (Arathorn, 11. Mar 2019, 00:21:08):
~#! rn=Humni rt=1552206706 rg=treffen
~#! tid=1551981124
Gut, dass wir um 16:00 Uhr schon wieder weg waren, um die Zeit ist naemlich
in der Innenstadt, z.B. am Schauspielhaus, der Strom ausgefallen. Ich denke,
dass das Mandra da auch betroffen gewesen sein duerfte. Insofern: alles
richtig gemacht. 

Ihr muesst aber die Daumen druecken, dass unsere Besucher gut heimgekommen
sind, die waren naemlich mit der Bahn unterwegs und sind wohl in D'dorf
gestrandet. 

Arathorn.

-----------------------------------------------------------------------------



Re: Stammtisch 11.12. in Marburg (Zook, 11. Dez 2019, 08:56:15):
~#! rn=Maunzerle rt=1576010886 rg=treffen.bekanntmachungen
~#! tid=1576010886
Waaaah! Schon wieder so kurzfristig; ich weiss noch nicht,
ob ich das schaffe.

Zook

-----------------------------------------------------------------------------



Stammtisch auf dem CCC (Vanir, 22. Dez 2019, 13:10:18):
Da ich das erste mal einen Stammtisch auf dem CCC besuchen kann: Wollen wir
einen machen? Wenn ja, wo?
V.

-----------------------------------------------------------------------------



Re: Stammtisch auf dem CCC (Vanion, 25. Dez 2019, 11:59:41):
~#! rn=Vanir rt=1577016618 rg=treffen
~#! tid=1577016618
Unabhaengig von Stammtischen sollten wir uns treffen. Bist Du zusammen mit dem
Mainframe (https://36c3.c3nav.de/l/mainframe/@0,457.58,162.33,5) da? Falls Du
ohne Gruppe da bist, schlage ich vor, dass Du Dich als Engel (Helfer)
anmeldest. Das kostet nix un du hast schon mal eine Basis wo du Sachen lassen
kannst und so... https://engelsystem.de/36c3/login

Falls wir einen Stati machen, waere die Uptime Bar
https://36c3.c3nav.de/l/uptown/@0,513.14,423.98,4.83 in Halle 2 ein guter
Treffpunkt. Tag 3, 22:00 an der Chaos West Buehne
https://36c3.c3nav.de/l/cw-stage/@0,401.19,98.54,4.77 waere auch ganz nett. Da
gibt es die Waffel Show vom WOC (Waffel operation center) und anschliessend
spielt Alle Farben. Wurde mir sehr ans Herz gelegt.

V*
PS: Wenn jemand eine Fuehrung ueber den Congress moechte, pingt mich gerne an.
(Threema: HTYXJ3TS)

-----------------------------------------------------------------------------



Re: Stati in Bochum am 20.9.20 (Humni, 20. Sep 2020, 10:16:33):
~#! rn=Humni rt=1600456226 rg=treffen.bekanntmachungen
~#! tid=1600456226
Hallo ihr,

ich habe seit heute morgen leichte Halsschmerzen, bin ein wenig verschnupft
und heiser. Das ist nicht Corona-typisch (kein trockener Husten, kein Fieber),
aber ich werde das dennoch lieber mal heute beobachten, bevor ich mich ins
Getuemmel, sprich, einen Stati, stuerze.

Was der Rest macht, weiss ich nicht, ich bin heute jedenfalls leider nicht
dabei.

Und ja, das aergert mich massiv, weil das eine der wenigen Aktionen seit
Wochen ist. Aber ich muss da die Prioritaeten richtig setzen ...

Humni

-----------------------------------------------------------------------------



Re: Re: Stati in Bochum am 20.9.20 (Zaphob, 20. Sep 2020, 10:43:38):
~#! rn=Humni rt=1600589793 rg=treffen
~#! tid=1600456226
Oje gute Besserung! Dennoch danke fuers Anleiern.
Also ich werde (mit 2-3 Personen) dort sein. 
Hoffentlich nicht alleine..! :)

-----------------------------------------------------------------------------



Re^3: Stati in Bochum am 20.9.20 (Arathorn, 20. Sep 2020, 10:47:50):
~#! rn=Zaphob rt=1600591418 rg=treffen
~#! tid=1600456226
Nunja... :-) Das Problem ist: Dunst ist auch verschnieft und hustet ein bissl,
wuerde daher tendenziell auch nicht kommen - das ist natuerlich ein
limitierender Faktor fuer meine Motivation, mich gleich aus dem Haus zu
bewegen. ;-)

Arathorn.

-----------------------------------------------------------------------------



Re^4: Stati in Bochum am 20.9.20 (Masul, 20. Sep 2020, 11:10:02):
~#! rn=Arathorn rt=1600591670 rg=treffen
~#! tid=1600456226
Also ich werde da sein. Mit einer Person. Bin gespannt auf den 2-3fachen
Zaphob.

Masul

-----------------------------------------------------------------------------



Re^4: Stati in Bochum am 20.9.20 (Zaphob, 20. Sep 2020, 11:19:39):
~#! rn=Arathorn rt=1600591670 rg=treffen
~#! tid=1600456226
Hmm, wenn das so ist, ziehe ich meine Anreise nun doch zurueck.
Immerhin weiss ich nun von niemandem mehr, der auch dort waere.
Zudem startet es in unter einer Stunde, also draengt die Zeit.
Ich muss mit den kleinen Kindern einfach etwas laenger planen.
Die umgedrehte Entscheidung ist aber nur halb so schlimm, denn:
Ein mathematisch begabtes Alter Ego fand zwischenzeitlich heraus:
Den umdrehbaren Tag koennen wir noch eine Weile monatlich feiern!
Vielleicht halten wir die naechsten Termine direkt schon mal fest?
In der Hoffnung, dass zumindest manche davon nicht erkaeltet ausfallen!

PS: Oh, Masul, das hat sich nun ueberschnitten :( Ein andres Mal gern!

-----------------------------------------------------------------------------



Re^5: Stati in Bochum am 20.9.20 (Masul, 20. Sep 2020, 11:40:10):
~#! rn=Zaphob rt=1600593579 rg=treffen
~#! tid=1600456226
Also, dann soll's heute wohl nicht sein. Gute Besserung an Humni und Dunst.
Die nächsten Termine wären dann: 20-10-20, 20-11-20, 20-12-20, 21-01-21,
21-02-21, 21-03-21, 21-04-21, ...

Masul.

-----------------------------------------------------------------------------



Re: Stati in Bochum am 13.6. (Zaphob, 11. Jun 2021, 23:18:08):
~#! rn=Humni rt=1623438133 rg=treffen.bekanntmachungen
~#! tid=1623438133
Huhu,
danke fuer die fruehzeitige Ankuendigung!
Gilt auch der uebliche Disclaimer zur Startzeit? :)
Wie/wo waere denn wer vor Ort erreichbar fuer Nachzuegler?
Danke, Gruesse,
Zap*

-----------------------------------------------------------------------------



Re: Re: Stati in Bochum am 13.6. (Humni, 12. Jun 2021, 22:58:14):
~#! rn=Zaphob rt=1623446288 rg=treffen
~#! tid=1623438133
Ja, sehr fruehzeitig ;-)

Ich wuerde sagen, schau dich auf dem Konrad-Adenauer-Platz um. Wenn es offen
hat (und Bochum, ach quark, Dortmund, nein, aeh ... Essen! Wenn es Essen hat!)
werden wir vermutlich ins Mandragora gehen. Sonst lauf die Strasse hoch,
vermutlich sind wir dann im 360 oder im Freibeuter. Oder ruf an: 0160 8540783.
Ich muss nur dran denken, mein Handy mitzunehmen ...


Und wir werden versuchen, puenktlich zu sein. Ich garantiere fuer nix ...

Humni

-----------------------------------------------------------------------------



Re^3: Stati in Bochum am 13.6. (Zaphob, 13. Jun 2021, 09:14:21):
~#! rn=Humni rt=1623531494 rg=treffen
~#! tid=1623438133
Ran weisst nochmal auf die aktuellen Corona-Regeln in NRW hin und kommt zu
leicht anderem Ergebnis als im urspruenglichen Artikel hier. 

Du hast dich vielleicht einfach auf die Regeln bezogen, wann man Gastronomie
ohne Test betreten darf? 

Darueber hinaus gelten die Regeln zu Zusammenkuenften im oeffentlichen Raum:
- Entweder bis 10 Personen aus beliebig vielen Haushalten,
- Oder wenn es mehr Personen sind, maximal drei Haushalte,
- im ersten Fall muessen Alle negative Tests vorlegen

Das ist, weil Bochum zwischen 35 und 50 in der 7-Tage-Frist liegt (sie sind
zwar inzwischen unter 35 aber erst seit 5 Werktagen, und dann waeren es 5
Haushalte oder 100 Personen, aber wieder mit Tests)

tl;dr: Bringt am besten einfach alle negative Tests mit und es ist cool.

Danke, Gruesse,
Zap*

-----------------------------------------------------------------------------



