diff --git a/OLD.treffen.bekanntmachungen b/OLD.treffen.bekanntmachungen
new file mode 100644
index 0000000..953e1fc
--- /dev/null
+++ b/OLD.treffen.bekanntmachungen
@@ -0,0 +1,14497 @@
+Stati in Dresden (Mesirii, 12. Okt 2002, 21:23:23):
+Da wir zur Zeit einen lieben Gast in Dresden haben und mein Tauchkurs
+naechsten Dienstag nicht stattfindet, lade ich Euch alle am Dienstag zur
+gewohnten Zeit zu einem SuperSonderStati im CD ein.
+
+Gruss Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Muenchen (Alcina, 15. Okt 2002, 07:12:27):
+Hallo zusammen,
+
+der Muenchner Stammtisch findet im Oktober am Freitag, dem 25.10. ab 19 Uhr im
+Bergmannshof (Landsbergerstr. 73, Naehe S-Bahn Hst. Donnersberger Bruecke)
+statt.
+
+Viele Gruesse
+
+Alcina - hofft, dass viele kommen :o)
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Ortsverlagerung (Mesirii, 15. Okt 2002, 18:12:51):
+Aufgrund der heutigen Schliessung des CD die Sniper zum Glueck mitbekommen
+hat, muessen wir unseren Stati-Ort verlegen. Der neue Treffpunkt heisst
+"Triangel" und ist ne Spielekneipe, also sollte sie ruhig genug fuer uns
+sein.
+
+Zu Fuss isses ca. 10 min vom CD weg.
+
+Ich haenge auch nochmal ne Skizze an das CD fuer die Leute, die keine Mail
+mehr lesen und zu spaet kommen.
+
+Bis denne, bei Nachfragen koennt Ihr auch nochmal bei mir anrufen.
+
+
+Anfahrt siehe www.triangel-dd.de oder siehe unten.
+
+Die Triangel befindet sich direkt an der Pfotenhauer Str. Ecke
+Arnoldstrasse 16
+
+die Buslinie 75 haelt direkt vor der Tuer
+Haltestelle Gutenbergstrasse
+in nur 3 Minuten Fussweg erreicht Ihr die Strasenbahnlinie 6
+Haltestelle Trinitatisplatz
+Ausreichende Parkmoeglichkeiten findet Ihr vor dem Haus und den
+angrenzenten Seitenstrassen.
+
+-----------------------------------------------------------------------------
+
+
+
+MARBURG! (Zook, 22. Okt 2002, 21:22:56):
+Hallo zusammen,
+
+am Donnerstag, 28. November 2002 treffen wir uns in Marburg zu einer
+gemuetlichen Runde. Alte Saecke haben sich angekuendigt, also kommt und
+Ihr koennt MorgenGrauen-Dinosaurier sehen. :-) 
+
+Wenn Ihr kommen wollt, meldet Euch doch bei mir, dann weiss ich,
+wieviele in etwa kommen und kann eine Kneipe auswaehlen.
+
+Los geht es um 20.00 Uhr. 
+
+Gruss, Zook.
+
+PS: Key, mach mal Vorschlaege fuer nen Ort! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MARBURG! (Zook, 22. Okt 2002, 21:36:59):
+~#! rn=Zook rt=1035314576 rg=treffen.bekanntmachungen
+~#! tid=1035314576
+Gnnnnnnnnnnnnnnn.... mit alten Leuten sollte man nicht versuchen, Termine
+zu machen. Kleine Aenderung, damit auch Auswaertige besser koennen, ziehen
+wir das etwas von der Winter-Party weg und legen es auf einen Freitag, 
+
+das ist dann Freitag, der 22. November 2002, 20.00 Uhr, Marburg 
+(Ort kommt noch).
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 27. Okt 2002, 18:52:09):
+Huhu Ihrs,
+
+es ist mal wieder soweit. 
+Am Samstag, den 09.11.2002 ab 18:00 Uhr
+findet in Bonn, Wiesenweg 24 ein Stammtisch statt.
+Erwartet werden ein paar seltenere auswaertige Besucher ;-)
+Einlass wird durch Druecken der obersten Klingel gewaehrt ;-)
+
+Rueckmeldungen wie immer an mich
+
+Knuddels
+Twingi
+
+-----------------------------------------------------------------------------
+
+
+
+planaenderung... (Pitfall, 31. Okt 2002, 13:29:52):
+der stati morgen wird nicht wie zuerst gedacht im "aufsturz" stattfinden,
+sondern im cafe "Multi-Kulti" im interkulturellen haus, schoenfliesser strasse
+7
+los gehts ab 20 uhr
+
+have fun
+*pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: planaenderung... (Gnome, 31. Okt 2002, 17:44:50):
+~#! rn=Pitfall rt=1036067392 rg=treffen.bekanntmachungen
+~#! tid=1036067392
+natuerlich ist das cafe in pberg (naehe u-bhf. schoenhauser allee) und
+NICHT in reinickendorf (da gibts auch ne schoenfliesser str.).
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Osnabrueck (Cuchullin,  1. Nov 2002, 18:24:03):
+In eineinhalb Stunden in Joe's Saloon am Viti-Hof. 
+
+
+-----------------------------------------------------------------------------
+
+
+
+stati stuttgart (Leibi,  2. Nov 2002, 11:47:45):
+huhu zusammen,
+ich hab jetzt mal einen tisch im enchilada bestellt und zwar am
+16. nov ab 18 uhr (happy hour)
+
+ist natuerlich wieder ein samstag, denn wenn mir keiner was anderes sagt,
+werde ich immer fuer samstags den tisch bestellen.
+(es ist diesmal uebrigens die ganze grotte 1. reinlaufen und ganz nach hinten
+links)
+
+bis dann
+leibi
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: MARBURG! (Zook,  5. Nov 2002, 10:36:02):
+~#! rn=Zook rt=1035315419 rg=treffen.bekanntmachungen
+~#! tid=1035314576
+Genauere Infos zum Marburg-Stammtisch:
+
+  2002-11-22, ab 19.00 Uhr im Hinkelstein
+
+Cisou hat einen Tisch fuer ca. 15-20 Leute reserviert. Also kommt auch
+alle, die Ihr Euch bei mir gemeldet habt und wir lassen es richtig krachen ;)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Karlsruhe (Boing,  5. Nov 2002, 10:42:29):
+Der neue Wirt im Kleinen Meierhof macht sich bisher gut, es sind noch
+keine Anzeichen dafuer zu erkennen, dass der Stammtisch umziehen sollte.
+Insofern gilt auch weiterhin: Immer Donnerstags um 20 Uhr ist Stammtisch
+im Kleinen Meierhof (Zaehringer Strasse, zwischen Z10 und Cafe Wien).
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+stati halle (Cassandra,  6. Nov 2002, 16:33:56):
+auf wunsch einer einzelnen Person findet auch in halle mal wieder ein
+stammtisch statt.
+Datum 11.11.02 (Montag)
+Uhrzeit 20:00
+Ort wird noch bekanntgegeben
+Bei interesse oder fuer Ubernachtungsmoeglichkeiten mail an mich
+
+Cassandra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati MS (Puk,  7. Nov 2002, 17:56:14):
+nod
+Freuet euch, ein weiterer Beruehmter Stammtisch im schoenen Mnster wird
+ausgerufen.
+Datum: 11.11.2002
+Zeit: nein, nicht 11:11 sondern 20:07 :)
+Ort: Frauenstrasse 24 in der Frauenstrasse 24 
+
+Kommet zuhauf und medet euch an oder auch nicht wie ihr lustig seit :)
+P.S. es kommt sogar goettlicher Besuch wenn ich da richtig informiert bin,
+also jeder der nicht kommt hat eben wieder mal was verpasst :)
+
+Puk
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati MS (Pitfall,  7. Nov 2002, 17:59:22):
+~#! rn=Puk rt=1036688174 rg=treffen.bekanntmachungen
+~#! tid=1036688174
+duh
+dann machen wir halt am 16.11. in berlin eine gegenveranstaltung, so das habt
+ihr nun davon.
+wir werden uns wie immer um 20 uhr im "aufsturz" treffen
+
+*pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati MS (Pitfall, 11. Nov 2002, 21:49:51):
+~#! rn=Pitfall rt=1036688362 rg=treffen.bekanntmachungen
+~#! tid=1036688174
+kurze planaenderung:
+
+der stati wird doch schon am freitag dem 15.11. um 20 uhr im aufsturz sein
+
+have fun
+*pit*
+
+-----------------------------------------------------------------------------
+
+
+
+kw-stati (Caren, 12. Nov 2002, 16:04:20):
+Halle hat Blut geleckt :) Nach dem sagenhaften KW-Stati gestern abend koennen
+wir eine Wiederholung kaum erwarten. Deshalb treffen wir uns schon wieder, und
+zwar am Sonntag (17.11.) um 20:00 Uhr im Hohenzollern (auf dass die Welt
+vornehm zugrunde gehe...)
+Vor Freude schon ganz durchloechert,
+caren
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati MS (Pitfall, 12. Nov 2002, 16:27:03):
+~#! rn=Pitfall rt=1037047791 rg=treffen.bekanntmachungen
+~#! tid=1036688174
+wegen zunehmender boykottmassnahmen entfaellt der stammtisch am freitag.
+ob am samstag dann dafuer stati ist wird noch bekannt gegeben.
+
+sorry
+pit
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stati MS (Gloinson, 12. Nov 2002, 19:12:05):
+~#! rn=Pitfall rt=1037114823 rg=treffen.bekanntmachungen
+~#! tid=1036688174
+Kommendes WE ist bekanntlichermassen Rudel... LAN-Party in der Melle ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kw-stati (Cassandra, 12. Nov 2002, 19:21:06):
+~#! rn=Caren rt=1037113460 rg=treffen.bekanntmachungen
+~#! tid=1037113460
+Da leider ein Mitglied des Orga-Teams nicht kann wird der stati verlegt.
+Neuer termin entweder Montag oder bei auswertigen gaesten dienstag
+Cassandra
+
+-----------------------------------------------------------------------------
+
+
+
+Freitagsstammtisch Dresden 15.11.2002 (Mesirii, 12. Nov 2002, 23:05:47):
+Liebe Mitmudder,
+hiermit kuendige ich mal wieder einen Stammtisch an, diesmal nicht Dienstag
+sondern, da Vardion am Freitag zu Tauchen in Dresden weilt fuer Freitag, den
+15.11.2002 um ca. 20:00 Uhr wieder im Triangel. Wer nicht (mehr) weiss wo das
+ist, moege Bescheid sagen.
+Wir (Vardion & ich) werden wegen des Tauchens vielleicht etwas spaeter kommen.
+
+Gruss Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+spontanes wintertauchen (Humni, 14. Nov 2002, 11:30:21):
+~#! on=Humni ot=1037269791 og=treffen
+~#! on=Muadib ot=1037181369 og=treffen.bekanntmachungen
+Hiho,
+
+am 23.11, das ist ein Samstag, gibt es in Groetzingen bei Karlsruhe ein
+kleines Wintertauchen.
+Der See ist etwa 12 Meter tief und bis 7 Meter interessant. Somit koennen auch
+Halbtrockene noch rein :)
+Bisher gehen mit Muaddib und Muadib. Wer noch mit will soll sich einfach bei
+mir melden und bekommt dann auch ne Wegbeschreibung.
+Los geht das ganze um 11 Uhr und endet mit einem kleinen Treffen im kleinen KM
+in Karlsruhe.
+
+Das KM Treffen sollt etwa um 19.00 Uhr sein. Wer nur dazu kommen will ist auch
+herzlich eingeladen.
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+.-*S*T*A*T*I*-. (Qitess, 14. Nov 2002, 11:44:11):
+  Nein, es ist kein Geruecht!
+
+    Er findet wieder statt:
+
+  Der legendaere Braunschweiger
+
+       *N*I*K*O*S*T*A*T*I*
+
+ --------------------------------
+
+           Freitag
+          6.Dezember
+           20." Uhr
+        im ViertelNach
+
+ --------------------------------
+
+BITTE KURZE ANMELDUNGSMAIL AN QITESS!
+
+ --------------------------------
+
+es duerfen (und sollen auch) natuerlich auch Nichtbraunschweiger vorbeikommen
+Anfahrtsplaene/-beschreibungen gibt es auf Anfrage
+Uebernachtungsmoeglichkeiten koennen auch gestellt werden
+
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Bochum am 29.11.2002  (Lacri, 17. Nov 2002, 15:10:31):
+Hi, 
+
+wir haben beschlossen, dass wir am 29.11.2002 in Bochum einen 
+Stammtisch machen werden. Das ganze beginnt diesmal um 
+18:00 Uhr und findet in Bochum, Kirchharpener Strasse 88 statt. 
+
+Rueckmeldungen bitte an Thufhir oder mich, damit wir planen 
+koennen, wieviel wir an Essen und Getraenken besorgen muessen. 
+Das ganze wird dann umgelegt auf die Leute die kommen. 
+
+Gruesse, Lacri 
+
+p.s. Wegbeschreibungen gibts diesmal ausnahmsweise bei mir. (: 
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchenessen (Bambi, 17. Nov 2002, 17:26:35):
+Einige von uns Karlsruher Muddern haben uns ueberlegt, ob wir am 29.11.2002 im
+Elsass Flammkuchen essen gehen wollen.
+Aus diesem Grund nimmt Sistance Anmeldungen entgegen. Sollten sich bis zum
+sagen wir 24.11.2002 genuegend Leute melden, dann wuerd ich ggf. einen Tisch
+reservieren etc.
+
+-----------------------------------------------------------------------------
+
+
+
+TERMINVERLEGUNG! (Qitess, 18. Nov 2002, 13:06:42):
+Hallo!
+So wie es aussieht, kann die Haelfte der Braunschweiger Mudder am 6. Dezember
+gar nicht.
+Also wurde der Nikolausstati kurzerhand und eigenmaechtig von mir verlegt auf
+den Freitag danach, das ist Freitag der Dreizehnte!
+Uhrzeit und Lokalitaet bleiben (20." Uhr im Viertel Nach)
+
+QI**
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Duesseldorf (Kadabra, 19. Nov 2002, 20:57:20):
+Wegen lieben Besuchs  erklaere ich hiermit Mittwoch, den 27.11
+zum Stammtischtag in Duesseldorf. Wir treffen uns im Tigges,
+Brunnenstr. 1 direkt am Bilk-S-Bahnhof ab 20.00 Uhr. Ja,
+Cirdan, Sugaan, Critter und aeh andere aus der naeheren Umgebung
+IHR seid angesprochen :-)
+Mails wegen Wegbschreibungen usw. bitte an mich :-)
+kadabra
+Ps : Ach So ... Special Guest ist Deepbblue :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Muenchen (Alcina, 21. Nov 2002, 15:51:26):
+
+Hallo zusammen,
+
+der Stammtisch im November wird am 29.11..2002 ab 19 Uhr im Bergmannshof
+stattfinden. Es haben sich einige Gaeste angekuendigt, warum nicht noch mehr?
+;o)
+
+Alcina - wartet auf Mails
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flammkuchenessen (Bambi, 24. Nov 2002, 21:51:24):
+~#! rn=Bambi rt=1037550395 rg=treffen.bekanntmachungen
+~#! tid=1037550395
+So. Reservierung ist gemacht.
+Zielort ist:
+a la vigne, 7, rue de fort-louis, roeschwoog
+Tel. dort: 0033388864912
+Wegbeschreibung: K.A. Angeblich bei Rastatt ueber die Grenze und dort solls
+sein. ;)
+Treffen in Karlsruhe: Uniparkplatz, wie immer. Wir wollen um 19.00 in
+Frankreich sein, also rechtzeitig vorher.
+Rechtzeitig vorher ist am Parkplatz um 18 Uhr.
+
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammkuchenessen (Vincent, 25. Nov 2002, 12:18:29):
+~#! rn=Bambi rt=1038171084 rg=treffen.bekanntmachungen
+~#! tid=1037550395
+Der Weg dorthin ist recht einfach zu finden bzw. zu beschreiben.
+
+Version 1:
+Von KA aus ueber die A5 nach Baden-Baden. Ausfahrt Baden-Baden raus und
+dann Richtung Rastatt/Iffezheim und NICHT Richtung Baden-Baden. Immer
+schoen gerade aus. Uber die Kreuzung rueber und dann Richtung Frankreich (
+am besten einfach den Schildern folgen).
+In Frankreich dann Richtung Roppenheim/Roeschwoog/Sessenheim fahren und
+NICHT Richtung Seltz oder so. Wenn alles richtig laeuft, verlasst ihr nicht
+allzu lang nach der Grenze die Landstrasse an der Abfahrt Roppenheim. An der
+naechsten Kreuzung dann nach links. Ihr fahrt dann durch Roppenheim und dann
+kommt auch schon Roeschwoog. An der Kreuzung mit Ampel in Roeschwoog nach
+links und dort kommt dann auf der linken Seite die Flammkuchenwirtschaft.
+
+Version 2:
+Autobahn A5 von KA nach Rastatt. Rastatt abfahren. Richtung Rastatt und
+dann durch den Stadtkern durchfahren. Es gibt zwei Moeglichkeiten, die
+Grenze zu ueberschreiten: In Wintersdorf oder in Iffezheim. Ihr fahrt
+also den Beschilderungen fuer eine der beiden Ortschaften nach. Im Falle
+Iffezheim ist das dann das gleiche wie in Version 1, wenn ihr ueber der
+Grenze seid. Im Falle Wintersdorf faehrt man ueber die Rheinbruecke, folgt
+der Strasse, und biegt dann links ab, wenn es geradeaus nicht mehr
+weitergeht. Dann befindet man sich schon auf der Strasse nach Roppenheim und
+Roeschwoog, faehrt aber laenger auf ihr, als in der Version 1, weil man
+schon frueher auf sie draufgefahren ist.
+
+That's it.
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati Berlin 2.12. (Rochus,  1. Dez 2002, 20:11:12):
+Morgen ist Sonderstati im Aufsturz (Oranienburger Str.),
+der "Special Guest" bleibt uns diesmal a) etwas laenger erhalten
+und b) gibt's was zu feiern :-) Natuerlich ab 20 Uhr...
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Gluehwein@Bonn (Liara,  3. Dez 2002, 23:09:41):
+Da wir uns bisher noch nicht zum weihnachtsmaerktlichen Gluehweintrinken
+getroffen haben, schlage ich Donnerstag, den 5.12.2002 19 Uhr vor.
+Wir treffen uns an der total ueberfuellten Gluehweinbude am Kaufhof-Eingang
+(beim Steiff-Schaufenster).
+Ich waere dankbar fuer ein kurzes 'Ich komme auch!'-Lebenszeichen.
+
+Gruesse, Liara
+
+-----------------------------------------------------------------------------
+
+
+
+*S*T*A*T*I* (Qitess,  3. Dez 2002, 23:15:06):
+Hallo, liebe Braunschweiger!
+
+Am Samstag, den 14. Dezember findet mal wieder ein Nikolaus-*S*T*A*T*I* in
+Braunschweig im Viertel Nach statt.
+
+Alle MGler aus Braunschweig und auch gerne von woanders sind herzlich
+eingeladen sich
+GEFAeLLIGST BEI MIR ZU MELDEN, SICH ANZUMELDEN UND DANN GEFAeLLIGST AUCH
+dort vorbeizukommen.
+
+War ich etwas direkt? ;-) Nicht so tragisch nehmen ...
+
+Also: Samstag, 14.Dezember, 20:00 Uhr im Viertel Nach in Braunschweig
+
+Wegbeschreibung, Anfahrtsskizze und Uebernachtungsmoeglichkeit gibt es auf
+Anfrage.
+Und mal sehen, wenn Ihr Euch anmeldet, bekommt Ihr vielleicht sogar eine
+kleine Ueberraschung vom Nikolaus (der kommt hier in Braunschweig manchmal
+etwas spaeter).
+
+QI** ansonsten friedlich ... aehem ...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gluehwein@Bonn (Cadrach,  4. Dez 2002, 11:35:28):
+~#! rn=Liara rt=1038953381 rg=treffen.bekanntmachungen
+~#! tid=1038953381
+Da an dem Tag wohl relativ viele nicht koennen werden, kuendige ich dann das
+naechste Weihnachtsmarkttreffen in Bonn auch schonmal an, damit alle genug
+Zeit haben sich das ganze in ihren Terminkalender zu schreiben :).
+Ins Auge gefasst, haben wir Mittwoch den 18.12 ab 19:00. Der genaue Stand wird
+nach umfangreichem Test noch rechtzeitig bekannt gegeben. Mit ein bisschen
+Glueck werden wir an diesem Tag dann auch endlich wieder ein altbekanntes
+Gesicht unter uns begruessen duerfen, das schon laenger nicht mehr dabei war.
+Kommet zu Hauf, auf das wir die Budenbesitzer in Angst und Schrecken
+versetzen.
+
+Cad*
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt-Treffen in Bochum  (Lacri,  9. Dez 2002, 21:57:00):
+Hi, 
+
+aufgrund eines speziellen Wunsches kuendige ich hiermit ein
+Weihnachtsmarkttreffen in Bochum am Freitag den 13.12.2002 an. 
+Das Ganze soll um 17:30 (ca.) anfangen und zwar mit dem Treffpunkt Bochum
+Hauptbahnhof (bei dem Informationsstand/schalter). 
+
+Gruesse, 
+Lacri
+
+p.s. Falls einer spaeter kommen moechte oder auch erst spaeter kann dann kann
+er bei mir meine Handynummer erfragen. 
+
+-----------------------------------------------------------------------------
+
+
+
+*S*T*A*T*I* (Qitess, 11. Dez 2002, 10:33:11):
+************************************************************************
+*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*ACHTUNG*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Ich moechte an dieser Stelle noch einmal auf den
+
+*N*I*K*O*S*T*A*T*I*
+
+hinweisen.
+
+Er findet statt in Braunschweig im Viertel Nach, und zwar am 14.12. (Samstag)
+um 20." Uhr.
+
+Leute die auch noch kommen wollten, moegen sich doch bitte noch bei mir
+melden, damit ich weiss, wieviele wir insgesamt werden, weil ich ja unter
+Umstaenden auch einen Tisch fuer uns reservieren muss.
+Leuten von ausserhalb kann eine Uebernachtungsmoeglichkeit geboten werden, und
+eine Wegbeschreibung erfolgt auf Anfrage.
+
+In froher Erwartung ... (nein, nicht schwanger)
+
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gluehwein@Bonn (Cadrach, 13. Dez 2002, 20:39:35):
+~#! rn=Cadrach rt=1038998128 rg=treffen.bekanntmachungen
+~#! tid=1038953381
+Inzwischen haben wir uns auch fuer einen Stand entschieden.
+
+munteres Gluehwein trinken
+am 18.12 ab 19:00
+in Bonn am Gluehweinstand bei C&A
+das umgebaute Karussel gegenueber dem Korbstand.
+
+Fuer den Fall das Interesse besteht anschliessend noch irgendwo hinzugehn,
+waer es nett kurz ne mail an Twingi oder mich zu schicken. Ansonsten kommet zu
+hauf! :)
+
+Cad*
+
+-----------------------------------------------------------------------------
+
+
+
+stati stuttgart (Leibi, 18. Dez 2002, 19:21:26):
+huhu zusammen,
+noch mal der vollstaendikeit halber:
+stati ist am samstag 28.12.02 ab 19 uhr im enchilada.
+der tisch ist schon reserviert und es sollte diesmal wirklich der tisch in der
+grotte 1 sein :)
+
+wenn schon jetzt weiss, dass er nicht um 19 uhr kommt, waere es nett mir das
+zu sagen. sonst geb ich alle plaetze, die frei sind wieder ab.
+
+leibi 
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin 4. 1. 2003 (Rochus, 27. Dez 2002, 20:33:29):
+So, aufgrund haeufiger Nachfragen verlege ich den ersten Stati
+des Jahres auf den Samstag und in meine Wohnung und
+koch nochmal Chili con Carne (oder sollte ich besser
+schreiben "con noch mehr Chili"? ;-) Keine Angst, ich mach
+harmloses und scharfes, alle die etwas dazwischen moechten
+koennen mischen...)
+Wegbeschreibung gibt es auf Anfrage, weil ich eh gerne ne Mail
+haette, damit ich weiss, wieviel ich einkaufen muss...
+Getraenke sind, wie letztes Mal, Eure Sache (etwa 1/2 Kasten Bier
+und 1/2 Flasche Sierra "Tequila" sind noch da), ich kuemmer
+mich schon um das Essen...
+Falls noch jemand ausser Gnome "sin Carne" moechte, auch
+bitte Bescheid geben...
+Ach ja, und ich wuerde sagen so ab 16 Uhr kann man kommen, um 17 fang
+ich an zu kochen und irgendwann zwischen 18 und 19 sollte es dann
+fertig sein... hat ja letztes mal auch gut geklappt :-)
+Ich hol diesmal auch mehr Brot, versprochen ;-)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: stati stuttgart (Hight, 28. Dez 2002, 13:30:32):
+~#! rn=Leibi rt=1040235686 rg=treffen.bekanntmachungen
+~#! tid=1040235686
+hehe ja ich komm dann halt bischen spaeter und versuchs auf gutglueck oder ich
+ruf humni an der soll mir dann sagen wos langgeht ,o) hoffentlich hat der nich
+auch ne neue nummer wie imda ... unmoegliches volk da ...
+
+wenn ich wieder im nitchs landnde bin ich stinkig ,o)
+und irgendwie suckt telnet ohne echo
+
+-----------------------------------------------------------------------------
+
+
+
+DA0701021900HP (Mandragon,  6. Jan 2003, 20:25:30):
+
+Aufgrund des Heimatbesuches von Arun treffen wir uns morgen zu einem
+gemuetlichen Beisammensein mit evtl. danach rudeln im Hotzenplotz in
+Darmstadt, Hotzenplotz. 
+
+Wollte ich nur mal angemerkt haben ;-)
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Hamburg, 17.01. (Bielefeld,  9. Jan 2003, 22:02:09):
+Moin!
+
+Schaut so aus, als koennten wir uns auf den 17.01. einigen, also wird
+es so. Treffpunkt ist wieder die Backatelle, Fuhlsbuettler Strasse
+Nummer schiessmichtot (jedenfalls 5 MInuten Fussweg vom Bahnhof
+Barmbek weg). Wuerde mal so sagen ab ca. 19:30 Uhr...
+
+-Bielefeld
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Hamburg, 17.01. (Kelris,  9. Jan 2003, 22:15:49):
+~#! rn=Bielefeld rt=1042146129 rg=treffen.bekanntmachungen
+~#! tid=1042146129
+
+Fuhlsbuettler Str. 138  22305 Hamburg 
+
+Gruss, Kelris.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Bonn (Liara, 10. Jan 2003, 20:04:46):
+
+                     SAMSTAG, 18. JANUAR 2003
+
+                             19 UHR
+
+                     KNEIPE NOCH UNBEKANNT :)
+
+                Wir bekommen Besuch aus Muenster!
+
+
+Am Sonntag (19.) wird bei mir gesellschaftsspielt. :)
+Uebernachtungsmoeglichkeiten sind vorhanden. Bitte um rechtzeitige Anmeldung
+bei Twingi oder bei mir.
+
+Liara, freut sich schon!
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Hamburg steht fest! (Kelris, 11. Jan 2003, 13:18:49):
+Liebe Hamburger und potentielle Gaeste,
+
+hier die Koordinaten des Stati Hamburg:
+
+Datum: 17.01.2003
+Ort: Backatelle Barmbek
+Uhrzeit: 19:30 Uhr
+
+Stadtplan:
+http://www.backatelle.de/Filiale_Barmbek/Karte_Barmbek/karte_barmbek.html
+
+Gruss Kelris.
+
+P.S. Tisch ist unter dem Namen Scheele reserviert.
+
+-----------------------------------------------------------------------------
+
+
+
+StaTi Dresden am 17.01. (Vardion, 13. Jan 2003, 16:17:49):
+Hi.
+
+Diese Woche Freitag (17.01.) findet in Dresden mal wieder ein StaTi im
+Triangel (die Kneipe, wo wir im November auch waren) statt. Offizielle
+Startzeit ist (wie immer) 20 Uhr, Mesirii und ich werden uns wohl wieder so 15
+bis 30 Minuten verspaeten.
+
+Vardion
+
+-----------------------------------------------------------------------------
+
+
+
+spontanstati stuttgart (Leibi, 23. Jan 2003, 22:33:29):
+~#! on=Leibi ot=1043357218 og=treffen
+huhu zusammen,
+
+wegen angekuendigtem spontan besuch, gibts am 3.2. ab 19 uhr mal wieder einen
+stati in stuttgart im enchilada.
+
+anmeldung waere ganz ok.
+
+leibi - war schon lange keine cocktails mehr trinken
+
+-----------------------------------------------------------------------------
+
+
+
+MS 28.1.03 (Foobar, 26. Jan 2003, 14:54:23):
+Moin,
+
+wir treffen uns mal wieder, und zwar um 20.15 am Dienstag, 28.1. in der
+Frauenstrasse 24.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Muenchen (Alcina, 27. Jan 2003, 12:09:36):
+Hallo zusammen,
+
+besser spaet als nie: am Mittwoch, dem 29.01.2002 beginnt der Stammtisch in
+Muenchen (wie immer im Bergmannshof).
+Gaeste sind herzlich eingeladen.
+
+Alcina
+
+P.S.: Das Ganze startet 19 Uhr
+
+-----------------------------------------------------------------------------
+
+
+
+hoeret (Pitfall, 29. Jan 2003, 18:30:35):
+die berliner mudgemeinde wird sich am 7.2. ab 20 uhr 
+mal wieder im "aufsturz" versammeln
+
+erscheint zahlreich
+
+pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Wochenend-Stati in Muenster! (Areelanir, 29. Jan 2003, 19:04:16):
+Der muensteraner Stati hat beschlossen, sich mal wieder an einem Wochenende
+zusammenzufinden. Dies wird am Samstag, den 8.2. passieren. Genauer Treffpunkt
+und Uhrzeit stehen noch nicht fest. Als Gaeste haben sich schon Karima und
+Thantalas angekuendigt. Wer
+Wir sehen uns in Muenster!
+Areelanir
+
+-----------------------------------------------------------------------------
+
+
+
+Re: hoeret (Pitfall, 31. Jan 2003, 12:29:01):
+~#! rn=Pitfall rt=1043861435 rg=treffen.bekanntmachungen
+~#! tid=1043861435
+ok ok
+auf goettliche eingebung und das flehen kandris hin
+wird der berliner stati am 10.02. ab 20 uhr im 
+"druiden" in der schoenhauser allee 42 
+stattfinden. erscheint in ehrfurcht 
+
+pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Magdeburg, 06.02. (Jehova,  4. Feb 2003, 17:09:51):
+
+Donnerstag 06.02.2003, 18 Uhr, Pizzahut (am Hauptbahnhof)
+
+Anlaesslich der All-You-Can-Eat-Tage (hm, ist der letzte Tag) laedt die
+Magdeburger MUD-Gruppe zum froehlichen Pizza-Essen in den Pizzahut ein.
+Kosten: 4,99 plus Getraenke, Essen bis zum Umfallen :-) Um die Zeit auch voll
+auszunutzen, geht es puenktlich um 18 Uhr los. Es gibt sicher wie jedes Jahr
+ein Pizza-Wettessen. Angekuendigt hat sich auch bereits Besuch aus dem PK-MUD.
+Um genau zu sein sind die PKler (noch) in der Ueberzahl ... Also kommt alle in
+Scharen herbei :-)
+
+Jehova
+
+-----------------------------------------------------------------------------
+
+
+
+Erloesungsstammtisch Osnabrueck (Do, 6.2.) (Anatol,  5. Feb 2003, 12:59:30):
+
+Osnabrueck wird erloest, und das schon kommendes Wochenende. Da muessen
+wir doch noch glatt einen Erloesungsstammtisch abhalten, und zwar 
+
+     Donnerstag, 6.2. (morgen), 20:00 Uhr
+     Joe's Saloon, Vitihof 22
+
+Auswaertige bitte kurz bei Varlarion anmelden (von wegen Reservierung).
+
+Diejenigen, die meine Osnabruecker Postanschrift haben - vergesst sie. ;)
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Bonn Teestube (Liara, 12. Feb 2003, 00:10:57):
+Moin!
+
+Samstag, 15.02.2003
+11.00 Uhr
+Teestube
+Teeladen Am Dreieck (Fussgaengerzone)
+
+Wer Lust auf Fruehstueck, Scones oder einfach nur lecker Tee hat, moege mir
+buedde eine Mail schicken zwecks Tischreservierung! :)
+
+
+Liara, lernt gerade fuer ihr Examen und braucht einen Termin, auf den sie sich
+freuen kann ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 12. Feb 2003, 11:59:28):
+Hallo Ihr Lieben,
+
+wir treffen und mal wieder und zwar:
+
+am Freitag den 21.02.2003
+ab 20:00 Uhr
+im Habanero, Belder Berg 20, Bonn
+
+Cocktails, Cocktails, Cocktails,... wer will und dann auch noch kann hat dazu
+die Gelegenheit bis 4:00 Uhr in der Frueh.
+
+Zwecks Tischreservierung bitte Mail an mich.
+Zwecks Zimmerreservierung wie immer die oertlichen "Hotels" ansprechen ;-)
+
+Magiehexchen Twingi freut sich schon drauf :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Mittwoch, 19.2., Duesseldorf (Deepblue, 15. Feb 2003, 21:59:21):
+Huhu!
+Am 19.2. gibts mal wieder nen Stammtisch in Duesseldorf. Treff ist um 20:00
+Uhr im Tigges, Brunnenstr. 1 (am S-Bahnhof Bilk)
+Da wir eventuell danach noch in die Altstadt gehen bei Verspaetung am Besten
+anrufen.
+
+-----------------------------------------------------------------------------
+
+
+
+maerzstati berlin (Pitfall, 21. Feb 2003, 16:11:41):
+halloe,
+
+der Maerzstati Berlin wird zugunsten der Party auf den 
+28.02.2003 verlegt.
+Treffpunkt ist das "Aufsturz", Zeitpunkt 20 Uhr.
+Kommet zuhauf, fuer auswaertige Unterhaltung ist
+auch gesorgt.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+April-Stammtisch Hamburg (Kelris, 10. Mar 2003, 17:19:46):
+Am Samstag, den 12.04.2003 findet ein Stammtisch in Hamburg statt.
+
+Ort: Backatelle Hamburg-Barmbek
+     Fuhlsbuetteler Str. 138
+     22305 Hamburg
+Anfahrtsweg bei Bedarf unter www.backatelle.de.
+Uhrzeit: 19:30
+
+Der Tisch wird unter dem Namen Scheele reserviert.
+
+Gruss, Kelris.
+
+-----------------------------------------------------------------------------
+
+
+
+april-stati stuttgart (Leibi, 10. Mar 2003, 18:33:52):
+am samstag 12.04. gibts mal wieder einen stati in stuttgart
+schaetzungsweise 19 uhr im enchilada.
+
+schreibt mir doch bitte ne mail, wer alles kommt, damit ich einen (dieses mal)
+passenden tisch reservieren kann.
+danke. 
+
+leibi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: april-stati stuttgart (Leibi, 10. Mar 2003, 19:10:34):
+~#! rn=Leibi rt=1047317632 rg=treffen.bekanntmachungen
+~#! tid=1047317632
+da sich fuer den 26.04. ein gott zum stati angekuendigt hat, wird der stati
+hiermit verschoben auf den 26.04. um 19 uhr enchilada.
+am 12.04. koennen wir aber trotzdem so einen kleinen vorglueh und vor-oster
+stati machen ;)
+ein special guest kommt da hoffentlich auch.
+
+leibi
+
+-----------------------------------------------------------------------------
+
+
+
+Teestube Bonn (Liara, 12. Mar 2003, 19:33:24):
+                    SAMSTAG, 15. MAERZ 2003
+                 TEESTUBE IM KNUSPERHAEUSCHEN
+                            10 UHR
+                    im Teeladen am Dreieck
+            Naehe Galeria Kaufhof, Fussgaengerzone
+
+    - bitte Anmeldung bei mir zwecks Tischvorbestellung -
+  ZZL, freut sich auf ne froehliche Tee-und-Klaaatsch-Runde
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 12. Mar 2003, 22:37:49):
+In Bonn is wieder was los. Wann?
+
+Freitag, den 28.3.2003
+ab 20 Uhr
+Kneipe steht noch nicht fest. Ich nehm gerne Vorschlaege entgegen.
+
+Special Guest haben wir natuerlich auch und zwar aus Muenster. Es duerfen aber
+gerne noch mehr werden ;-)
+
+Anmeldungen zwecks Tischreservierung bitte an mich, zwecks
+Uebernachtungsmoeglichkeiten an die "oertlichen Bettenvermietungen", aber das
+wisst ihr ja schon alle.
+
+Knuddels Twingi *freche Hexe, was auch sonst ;-)*
+
+P.S. Anfahrtsbeschreibungen sind auch bei mir zu haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Dresden (Deepblue, 12. Mar 2003, 22:42:57):
+Dresden laedt ein zu nem Stammtisch!
+Wann? 28.3.2003, 20 Uhr
+Wo? Triangel, Arnoldstr. 10 (Ecke Pfotenhauer Str.)
+Anfahrtsbeschreibung unter www.triangel-dd.de oder per mail
+
+-----------------------------------------------------------------------------
+
+
+
+berlin, stati, rudeln, usw (Pitfall, 12. Mar 2003, 22:44:37):
+aloa,
+
+aaaaaaaalso am 28.03. ist in berlin im "aufsturz" stammtisch.
+am 29. ist danach im informatik komplex der hu berlin ein
+kleines rudeln.
+ma gucken wie lange es geht.
+
+erscheint zahlreich oder so.
+
+pit*
+PS: losgehen tut der stati wie immer 20 uhr
+
+-----------------------------------------------------------------------------
+
+
+
+CeBIT Stammtisch in Hannover (Mupfel, 13. Mar 2003, 00:34:10):
+Hallo
+
+Wir machen einen Stammtisch am Freitag (15.3.) oder Samstag (16.3.) - wann die
+meisten Zeit haben ;) Wenn ich ehrlich sein soll, wir (Jenandra, Varlarion,
+Bierchen und ich) sind an beiden Tagen da, und koennten auch an beiden Stati
+machen. Fuer Samstag hat sich z.B. Vanion angesagt.
+Achja Statiort: das "Exil" in Linden-Mitte, S-Bahn-Haltestelle
+Nieschlagstrasse (Linie 9 Richtung Empelde). Fuer Lageplaene etc. schick eine
+Mail an stati@chaosburg.de ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Hannover, aber 5.4. :) (Olli, 13. Mar 2003, 00:38:38):
+Moin,
+
+wo wir gerade bei Hannover-Stammtischen sind: am 5.4. gibts auch einen
+hier.... es hat sich ein einzelner Teil der Stuttgarter Fraktion
+angekuendigt ;)
+
+Olli
+PS: Ort ueberleg ich mir noch, evtl. auch das Exil...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: berlin, stati, rudeln, usw (Gnome, 13. Mar 2003, 13:26:05):
+~#! rn=Pitfall rt=1047505477 rg=treffen.bekanntmachungen
+~#! tid=1047505477
+definiere 'danach'.
+gleich danach oder nach dem schlafen danach?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Bonn (Twingi, 17. Mar 2003, 14:07:53):
+~#! rn=Twingi rt=1047505069 rg=treffen.bekanntmachungen
+~#! tid=1047505069
+So noch ein kleiner Nachtrag :-)
+
+Als Kneipe wird hiermit festgelegt
+Habanero, Belderberg 2
+
+und noch mal zur Erinnerung
+
+Freitag den 28.3.2003
+ab 20:00 Uhr
+
+Knuddels Twingi
+
+P.S. Die Anzahl der Special Guests hat sich mittlerweile auf 2 erhoeht (Ein
+muensteraner und ein goettlicher ;-) )
+
+-----------------------------------------------------------------------------
+
+
+
+Erinnerung: 28.3. Dresden (Deepblue, 24. Mar 2003, 19:40:55):
+Huhu!
+
+Ich wollte nur noch mal an den StaTi am Freitag um 20 Uhr in Dresden erinnern.
+Kommet zuhauf!
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Muenster (Areelanir, 26. Mar 2003, 10:46:13):
+Es soll mal wieder einen STATI in Muenster geben. Termin ist der 04.04. und es
+faengt wie immer 20:06 Uhr an. Ort ist vorerst mal wieder die Frauenstrasse
+24, wenn keinem was besseres einfaellt ;-)
+man sieht sich da, Areelanir
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Muenster (Puk, 26. Mar 2003, 12:15:50):
+~#! rn=Areelanir rt=1048671973 rg=treffen.bekanntmachungen
+~#! tid=1048671973
+gna, vergebt ihn er ist noch neu :)
+stati faengt natuerlich um 20.07 an und nicht 20.06 :)
+
+Puk
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati in Muenster (Zook, 27. Mar 2003, 22:51:29):
+~#! rn=Puk rt=1048677350 rg=treffen.bekanntmachungen
+~#! tid=1048671973
+Und wo ward Ihr gestern?
+
+Zook hat in der Frauenstrasse 24 ausgeharrt... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati in Muenster (Areelanir, 28. Mar 2003, 09:39:41):
+~#! rn=Zook rt=1048801889 rg=treffen.bekanntmachungen
+~#! tid=1048671973
+Was habe ich ueberlesen? War gestern bei uns STATI? *kopfschuettel* Ist wohl
+irgendwie an mir vorbei gegangen ;-) Aber naechste Woche steht ein offizieller
+Termin...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Erinnerung: 28.3. Dresden (Deepblue, 28. Mar 2003, 17:22:39):
+~#! rn=Deepblue rt=1048531255 rg=treffen.bekanntmachungen
+~#! tid=1048531255
+Mangels Interesse FAeLLT der Stati in Dresden AUS
+
+-----------------------------------------------------------------------------
+
+
+
+Zur Erinnerung: Stati in Hannover (Mupfel, 28. Mar 2003, 22:42:46):
+Am 5.4. ist ein Stati in Hannover, im "Exil", an der S-Bahn-Haltestelle
+Nieschlagstrasse (Linie 9 nach Empelde), entgegen der Fahrtrichtung nach
+wenigen Metern auf der rechten Seite ;).
+Angesagt haben sich bisher: Leibniz, Willow, Olli, Lugia, Bierchen, Jenandra,
+Varlarion und meine wenigkeit. Kommet zuhauf, da gibts nette Leute, lecker
+Essen und gemuetliche Atmosphaere ;)
+
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Darmstadt the beautiful .... (Mandragon, 29. Mar 2003, 13:58:16):
+
+... city of beer and mudding cordially invites you to the mudders' roundtable
+on April 4th, 2003 in the Hotzenplotz Bar at 8pm (sharp).
+
+Ma*.
+
+P.S.: Freitag, 4.4.03, Stammtisch im Hotzenplotz, Darmstadt
+
+P.P.S.: Es werden Schbeschl Gests erwartet :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zur Erinnerung: Stati in Hannover (Jenandra,  4. Apr 2003, 00:27:08):
+~#! rn=Mupfel rt=1048887766 rg=treffen.bekanntmachungen
+~#! tid=1048887766
+Aktualisierte Teilnehmerliste: Leibniz, Willow, Olli, Lugia, Bierchen,
+Jenandra, Varlarion, Mupfel, Vanion und Helium. Ausserdem wahrscheinlich
+Vampire und Begleitung.
+
+Beginn ist uebrigens um 19.30h *nachreich*
+
+- Jenandra -
+
+-----------------------------------------------------------------------------
+
+
+
+stati stuttgart 26.04.03 (Leibi, 11. Apr 2003, 17:20:34):
+hallo zusammen,
+
+ich wollte nur nochmal an den stati am 26.04.03 um 19 uhr im enchilada
+erinnern.
+wem ich keine mail geschrieben habe, der aber trotzdem kommt, moechte sich
+bitte bei mir melden.
+danke
+
+leibi
+
+-----------------------------------------------------------------------------
+
+
+
+Polarhasen-Alarm in Bonn (Darkwing, 15. Apr 2003, 11:59:33):
+
+Am 15.4. (daher heute) gibts in der Harmonie gegen 20h einen kleinen
+Spontan-Stati - zu bewundern sind unter anderen waschechte Polarhase :>
+
+Tisch ist reserviert, wenn wer von ausserhalb spontan genug ist bitte kurz
+Bescheid sagen damit es mehr Plaetze werden :)
+
+Darkwing
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Berlin (Pitfall, 23. Apr 2003, 16:53:12):
+Huhu,
+
+da wir in unserer schoenen Stadt mal wieder
+Besuch von auswaerts haben wird es am Freitag,
+dem 25.04. einen kleinen Stammtisch geben.
+Treffen ist wie immer 20 Uhr im Aufsturz.
+
+Erscheint zahlreich!
+
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 27. Apr 2003, 23:28:01):
+Hallo zusammen,
+
+bald ist wieder Stati in Bonn :-)
+
+Am Samstag, den 10.5.2003
+ab 19:00 Uhr
+im Habanero
+
+Es winken bereits diverse Special Guests :-)
+
+Wegbeschreibungen gibbet bei mir. Zimmer auf Anfrage bei den ueblichen
+bekannten Stellen ;-)
+
+Knuddels
+Twingi *freut sich schon sehr*
+
+P.S. Rueckmeldung ist natuerlich wie immer erwuenscht wegen Tischreservierung.
+
+-----------------------------------------------------------------------------
+
+
+
+berliner maistati (Pitfall, 30. Apr 2003, 12:05:37):
+moin,
+
+oben besagte Festivitaet ist am 14.05. ab
+20 uhr im Aufsturz.
+
+erscheint zahlreich!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Jaaaaaaa, es gibt ihn wieder... (Apollonia,  7. Mai 2003, 12:41:13):
+... den Dortmunder Stammtisch!!
+
+Und zwar am Freitag, den 30. Mai 2003, ab 20 Uhr.
+
+Ueber die Kneipe sind wir uns noch nicht ganz im klaren, wird aber rechtzeitig
+bekannt gegeben. Und natuerlich wird's eine sein, die man gut mit
+oeffentlichen Verkehrsmitteln erreichen kann. 
+
+Falls jemand ne Uebernachtungsmoeglichkeit braucht - 3 Plaetze haetten wir
+frei, man wird allerdings um spaetestens 7:30 Uhr geweckt ;o)
+
+Apo*
+freut sich schon
+
+-----------------------------------------------------------------------------
+
+
+
+mal wieder planaenderung ... (Pitfall, 13. Mai 2003, 13:14:12):
+huhu,
+
+der stati morgen wird auf wunsch eines
+traegen inaktiven magiers und eines
+zwergs der behauptet, dass woanders das
+bier billiger sei in den studentenclub in
+der mellenseestrasse 41 verlegt.
+los gehts ca 20 uhr, kommet zuhauf.
+
+pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Jaaaaaaa, es gibt ihn wieder... (Morgoth, 14. Mai 2003, 14:14:40):
+~#! rn=Apollonia rt=1052304073 rg=treffen.bekanntmachungen
+~#! tid=1052304073
+Hi Leuts,
+
+ich hab gestern mal 30 Plaetze reserviert. Eine tolle Wegbeschreibung gibts
+bei Nonne unter:
+http://ganter.chemie.uni-dortmund.de/~sascha/wegbeschreibung.html
+
+Der Tisch ist ab 2000h reserviert auf den Namen "Birke" :)
+Die Leute die in DO uebernachten bitte nochmal melden, wann und wo sie
+ankommen, damit wir da auch Wegbeschreibungen verteilen koennen.
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Paintball Stuttgart-Boeblingen (Imda, 15. Mai 2003, 13:29:23):
+Moin,
+
+wer schon immer mal unschuldige Menschen sinnlos mit Farbe beschmeissen
+wollte, der hat am Samstag (17.5.) endlich mal wieder Gelegenheit dazu, und
+diesmal in Boeblingen im Wald.
+
+Auf vielfachen Wunsch hier die Details:
+
+Anfahrt:
+
+- A81 Richtung Singen
+- Boeblingen-Ost raus
+- erste Ampel links nach Schoenaich
+- 3. Moeglichkeit links Richtung Muellverbrennungsanlage (Weises Schild). An
+der Muelldepomie vorbei und dann gleich rechts und dann bis zur Schranke auf
+dem Parkplatz!
+(Das ist die Ami-Panzerkaserne)
+
+Treffen spaetestens 9.30, Ausweis mitbringen in diesen schweren Zeiten des
+Terrorismus ;)
+
+Kosten:
+
+15 Fragezeichen mit eigener Ausruestung
+30 Fragezeichen mit Leihausruestung.
+Keine eigene Paint.
+
+Ok, wer mitwill, oder dumme Fragen hat, der schreie moeglichst laut und
+moeglichst bald.
+
+Imda.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Halle (Cassandra, 16. Mai 2003, 13:17:49):
+Datum: Freitag der 13.6.03
+Ort: Wird doch bekanntgegeben
+Zeit 20:00
+Bei guten Wetter kann der Stati am Samstag im Nordbad weitergefuehrt werden,
+wer auf der party war weiss wo ich meine.
+Anmeldungen zwecks Tischbestellungen, Wegbeschreibungen (ich werd mir muehe
+geben) und Uebernachtungen bitte an mich.
+
+Cassy
+
+-----------------------------------------------------------------------------
+
+
+
+stati stuttgart (Leibi, 17. Mai 2003, 17:34:04):
+hallo zusammen,
+
+auf wunsch eines polarhasen, gibts mal wieder einen stati in stuttgart. ort
+ist dieses mal das 'el chico'. da gibts mindestens so leckere cocktails wie im
+enchilada und das essen ist auch ok.
+termin ist der 30.5. (das ist sogar mal ein freitag :) so ab 20 uhr.
+
+leibi - freut sich wie immer ueber anmeldungen!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: stati stuttgart (Leibi, 22. Mai 2003, 19:05:11):
+~#! rn=Leibi rt=1053185644 rg=treffen.bekanntmachungen
+~#! tid=1053185644
+kleine aenderung des statis (damit auch plueschdrachen vorbeischauen)
+termin ist nun donnerstag 29.5. ab 19 uhr im el chico.
+
+bis dann
+leibi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Halle (Cassandra,  4. Jun 2003, 10:23:09):
+~#! rn=Cassandra rt=1053083869 rg=treffen.bekanntmachungen
+~#! tid=1053083869
+Kleine Aenderung
+
+Stati wird auf Donnerstag den 12.6 vorverlegt.
+Zeitpunkt bleibt 20 Uhr
+Treffpunkt ist vor dem NT-Cafe, wir suchen uns dann ne nette Kneipe
+wenn ich das richtig mitbekommen habe, haben wir da sogar Gaeste.
+
+Wegen wegbeschreibung etc Mail bitte an mich.
+
+Cassy
+
+-----------------------------------------------------------------------------
+
+
+
+STATI in Muenster (Areelanir,  8. Jun 2003, 18:35:09):
+Wir machen mal wieder ein Stammtischtreffen in Muenster. Wie immer in der
+Frauenstrasse 24 und wie immer ab kurz nach 20:00 Uhr. Stattfinden soll das
+Ganze am 19.06., also kommt zahlreich :-)
+Gruss aus Muenster, Areelanir
+
+-----------------------------------------------------------------------------
+
+
+
+Grillen in Muenster (Puk, 10. Jun 2003, 00:43:57):
+Holla, gleich nochmal Nachrichten aus Muenster :)
+Zum voreinstimmen auf dem Stammtisch am 19.06 machen wir dann am kommenden
+Freitag, fuer kleinkarierte das ist der 13.06 (jaaaaaaaaaaaaa, ein Freitag der
+13te ) ein Grill Event.
+
+Wo ? Na natuerlich bei Catty :) Anfragen fuer Wegbeschreibungen richtet bitte
+direkt an ihn, auch wenn ihr gar nicht kommen wollt, er freut sich immer wenn
+man mit ihm spricht :)
+
+Uhrzeit ? na 19 Uhr , wann den sonst ?
+
+Wer ? Alle die lust auf gute Laune haben :)
+
+Puk, aergert Catty gerne
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Grillen in Muenster (Catweazle, 10. Jun 2003, 10:10:21):
+~#! rn=Puk rt=1055198637 rg=treffen.bekanntmachungen
+~#! tid=1055198637
+Dir ist aber schon klar, dass der 19. Happy Kadaver ist, ja? Ist da nen
+Stammtisch sinnig? Hat F24 da ueberhaupt auf?
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Grillen-Dresden-20.06.2003-20:00-bei-Mesirii (Mesirii, 12. Jun 2003, 11:53:30):
+Liebe Mitmudder,
+
+am Freitag, 20.06.2003 ist Grillen bei mir angesetzt, los geht es
+ca. 20:00, Grill,Holzkohle und Toast ist vorhanden. Wenn Ihr Bedarf
+anmeldet kann ich noch:
+
+- Steaks, Wuerste
+- Bier
+
+besorgen, dazu mir aber spaetestens bis Mittwoch Bescheid geben, ob und
+wieviel Ihr davon jeweils haben moechtet.
+
+Alternativ koennt Ihr natuerlich Euch auch gern selbst was mitbringen. Salate
+und so waeren ja auch nicht schlecht.
+
+Schlafmoeglichkeiten gibts bei uns in der Haus-Kommune eigentlich genug,
+ausserdem isses ja auch warm genug zum Zelten vorm Haus :).
+
+Bis jetzt haben schon 6 Leute sicher und 1 + x Auswaertige unsicher
+angemeldet.
+
+Anfahrt: Mathildenstr. 4, 01069 Dresden, Route gibts bei jedem Routenplaner.
+
+Gruss Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Grillen am Kemnader See (Bochum/Witten), 21.06.03 (Thufhir, 14. Jun 2003, 16:16:56):
+Liebe Mudgemeinde,
+am Samstag, den 21.06.2003 moechten wir etwas totes Tier ueber Holzkohle
+garen. Treffen wollen wir uns deshalb bei schoenem Wetter vor dem Freizeitbad
+Heveney (Wegbeschreibungen koennen bei mir angefordert werden, sind aber nicht
+zwingend zwergensicher) um 16:00 Uhr. Sollte irgendwer spaeter erscheinen
+wollen, so kann er/sie meine Handynummer erfragen, um den genauen Ort zu
+erfahren. Grillfleisch, Getraenke und was sonst noch verschnabuliert werden
+soll ist bitte selbst mitzubringen. Bei schlechtem Wetter werden wir auf eine
+Kneipe ausweichen und diese dann am Freitag bekanntgeben. Wegen der
+eventuellen Reservierung der Kneipe waere eine Voranmeldung angebracht.
+
+s'Zauberzwerch Thufhir
+
+-----------------------------------------------------------------------------
+
+
+
+Re: STATI in Muenster (Foobar, 15. Jun 2003, 17:45:23):
+~#! rn=Areelanir rt=1055090109 rg=treffen.bekanntmachungen
+~#! tid=1055090109
+
+
+
+
+
+NEWSFLASH
+
+
+
+
+
+
+
+
+
+Der StaTi wird aus unbekannten Gruenden (naja, jedenfalls fuer Euch unbekannt)
+auf einen noch zu nennenden Termin verschoben.
+
+Mit zwergischem Gruss,
+
+   Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Muenster (Gorog, 18. Jun 2003, 11:20:34):
+Moins
+
+Aus aktuellem Anlass wird ein Spontantreffen am Samstagabend in der
+Frauenstrasse 24 (F24) stattfinden. Sollte jemand den Weg nicht kennen oder
+niemanden kennen der den Weg kennt, darf er/sie sich an mich bezueglich einer
+Wegbeschreibung wenden. Beginn wird wohl so gegen 20.07 sein (+/- 7 Minuten).
+
+Bis dahin
+Gorog
+
+-----------------------------------------------------------------------------
+
+
+
+Goettlicher HH-StaTi! (Kelris, 23. Jun 2003, 18:48:04):
+Huhu,
+Zooks Aufenthalt in Hamburg nehmen wir zum Anlass einen Sonder-StaTi zu
+veranstalten.
+
+Tag: 2.7.2003
+Ort: Backatelle-Barmbek
+Weg: http://www.backatelle.de/Filiale_Barmbek/Karte_Barmbek/karte_barmbek.html
+Uhrzeit: 19:00 MEZ
+
+Ueber weiteren externen Besuch wuerden wir uns sehr freuen!
+
+Gruss, Kelris.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Goettlicher HH-StaTi! (Kelris, 23. Jun 2003, 18:50:45):
+~#! rn=Kelris rt=1056386884 rg=treffen.bekanntmachungen
+~#! tid=1056386884
+Update: Goettlicher HH-StaTi!
+
+
+Der Tisch ist auf den namen Scheele reserviert.
+
+Gruss, Kelris.
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin (Pitfall, 29. Jun 2003, 21:44:35):
+Moin,
+
+am 04.07.2003 ist mal wieder Stammtisch in Berlin.
+Das Ganze wird wie gewoehnlich im 'Aufsturz'
+stattfinden.
+
+Alle hin da ... oder so aehnlich.
+
+Gruss
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Zuerich City (Anoris,  5. Jul 2003, 01:10:12):
+
+Gruezi Mitaenand
+
+Am Mitwuch Obig um di 7ni, waerae mer im Vorbahnhof z Zueri
+amaenae Stati z findae.
+
+Ihr sit ali haerzlichscht igladae, dra teil z naeh!
+
+Bi Frogae oder Wegbeschriebigae, choend er eu jederzit
+a mi waendae.
+
+Bis gli!
+
+- Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Hannover (Mupfel, 12. Jul 2003, 15:00:46):
+Da ich grade mal wieder in Hannover weile, kuendige ich mal einen Stati an ;)
+Wie immer im "Exil", Hannover-Linden, gegenueber der Haltestelle
+"Nieschlagstrasse" der Linie S-9 Richtung Empelde. So gegen 20 Uhr. Wenns warm
+genug ist, sitzen wir draussen...
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Halle - kurzfristig ;o) (Gitarre, 13. Jul 2003, 22:12:10):
+Hallo zusammen,
+
+ich weiss ja, dass niemand Zeit hat und da sein wird (ausgenommen das
+Orga-Team Halle), aber am Montag, den 14.7. gibts ab 20 Uhr nen Stammtisch in
+Halle.
+Wer doch Lust und Zeit hat, zu kommen, meldet sich am besten per Mudmail oder
+Telefon bei einem von uns (Caren, Cassandra oder mir), da der Treffpunkt noch
+nicht ganz feststeht.
+
+Viele Gruesse
+
+Gitarre
+
+-----------------------------------------------------------------------------
+
+
+
+StaTi Bochum, 25.07. (Thufhir, 15. Jul 2003, 15:44:18):
+Huhu,
+
+auf Wunsch einer in Bochum Japanisch lernenden Person rufe ich fuer Freitag,
+den 25. Juni ab 20:00 Uhr einen Stammtisch aus. Treffpunkt wird sehr
+wahrscheinlich wieder die Rollenspielerkneipe "Zu den vier Winden" sein. Falls
+die uns an dem Tag dort nicht unterbringen koennen, so gebe ich den neuen Ort
+noch rechtzeitig hier bekannt. Wegbeschreibungen gibts bei allen Bochumern
+oder auch ohne Zwergensicherheits-Garantie bei mir.
+
+s'Zauberzwerch Thufhir
+
+-----------------------------------------------------------------------------
+
+
+
+SpontanStati in Bonn (Twingi, 16. Jul 2003, 18:26:35):
+Hallo zusammen,
+
+auf Wunsch eines Knochentreterchens findet ein kleiner Spontanstammtisch im
+schoenen Bonn statt.
+
+Freitag, den 18.07.2003
+ab 19:00 Uhr
+Ort: "Seelige Witwe" in der Koenigstrasse
+
+Wegbeschreibungen auf Anfrage ;-)
+
+Anmeldungen zwecks Tischreservierung bitte an mich.
+
+Twingi *freut sich auf ein kuehles Bier*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: StaTi Bochum, 25.07. (Thufhir, 23. Jul 2003, 10:48:38):
+~#! rn=Thufhir rt=1058276658 rg=treffen.bekanntmachungen
+~#! tid=1058276658
+Nochmal kurz huhu,
+
+der Stati wird wie geplant am Freitag in den "Vier Winden" stattfinden. Man
+hat mir zugesichert, dass man dort am Freitag Platz fuer eine Horde
+verrueckter Mudder hat und dass Met und Byzantiner in ausreichender Menge
+vorhanden sind.
+
+Also erscheinet zahlreich und erfreuet Euch auch diesmal wieder an seltenen
+Gaesten.
+
+s'Zauberzwerch Thufhir
+
+-----------------------------------------------------------------------------
+
+
+
+Sonder-Stammtisch (Morgoth,  3. Aug 2003, 21:59:57):
+Hi
+
+auf mehrfachen Wunsch eines einuelnen Mudders gibts am 8.8. (diesen Freitag)
+mal wieder in DO einen Stammtisch. Wie immer um 2000h und auch wieder im
+America (Alkohol aus Eimern!!!).
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Karlsruhe am 7. August (Boing,  5. Aug 2003, 10:22:37):
+Da der Kleine Meierhof die nchsten zwei Wochen urlaubsbedingt
+geschlossen hat, haben wir uns fuer Donnerstag 7. August auf
+das Stoevchen geeinigt. Vom Europaplatz aus nach Sueden, die 
+zweite rechts (Amalienstrasse) und dann gleich wieder links
+(Waldstrasse). Dort ist es nach etwa 100 Metern auf der rechten
+Seite. Das Teil hat einen Biergarten im Hinterhof, falls das
+Wetter gut ist (was anzunehmen ist).
+Uhrzeit wie immer 20 Uhr.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Wegbeschreibung zum Stati in DO (Nonne,  7. Aug 2003, 20:18:07):
+http://ganter.chemie.uni-dortmund.de/~sascha/priv/wegbeschreibung.html
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Frankfurt/Main (Ronda,  9. Aug 2003, 12:43:53):
+Hallo,
+
+mit goettlicher Genehmigung wage ich es, endlich mal wieder einen Stammtisch
+in Frankfurt/Main auszurufen.
+
+Am 8. September ab 19 Uhr gibts Chicken Wings all you can eat ;-)
+
+Das ganze steigt in der Sports Bar Frankfurt, Am Marktplatz,
+Frankfurt/Main-Hoechst. Es macht Sinn, vor acht Uhr da zu sein, da es bis dann
+Cocktail-Happy Hour gibt...
+
+Anfahrtbeschreibungen etc. gibts bei mir - sagt bitte vorher Bescheid ob Ihr
+kommt, damit wir entsprechend viele Tische organisieren koennen...
+
+Ronda
+
+Ps: Um zu testen, ob die Kneipe auch wirklich muddertauglich ist: am Montag,
+11.8. wuerd ich da auch gern hingehen. Hat jemand von Euch kurzfristig Zeit
+und Lust?
+
+-----------------------------------------------------------------------------
+
+
+
+STATI in Muenster (Areelanir, 10. Aug 2003, 11:06:47):
+Es soll mal wieder soweit sein. Am 22. 8. findet in Muenster mal wieder ein
+STATI statt. Treffpunkt ist wie immer um kurz nach 20 Uhr in der Frauenstrasse
+24. Bei besseren Vorschlaegen laesst sich die Oertlichkeit aber auch wechseln
+:-) Kommet zahlreich!
+Areelanir
+
+-----------------------------------------------------------------------------
+
+
+
+KA-StaTi am 14.8 (Croft, 12. Aug 2003, 12:17:42):
+Da der Kleine Meierhof immer noch urlaubsbedingt geschlossen ist, geht
+es am 14.8 mal wieder ins Moninger Brauhaus (dort gabs die leckeren
+Schnitzeln).  Das Brauhaus befindet sich in der Kaiserstr. 142, direkt
+oestlich des T-Punktes am Europaplatz.  Vom Passagehof (aus Richtung
+Kurbel) kommt man auch direkt in den Biergarten, in dem wir dann wohl
+sitzen werden, solang das Wetter nicht doch ueberaschenderweise in
+Regen umschwenkt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Trier am 19. 8. (Bran, 17. Aug 2003, 17:47:57):
+Es ist auf geheimen Bahnen durchgesickert, dass sich in der kommenden Woche
+einige Mudder in Trier aufhalten. Auf mehrfachen Wunsch halten wir bei der
+Gelegenheit einen Stati ab, und zwar am 
+
+*** Dienstag, dem 19. August, ab 19 Uhr ***.
+
+Der Ort steht noch nicht fest, wird aber so schnell wie moeglich nachgereicht.
+
+Bisher sind wir 6, waere schoen, wenn noch mehr von Euch dazukommen! Eine
+Uebernachtungsmoeglichkeit gibt es, wenn Ihr Isomatte und Schlafsack
+mitbringen koennt.
+
+Bran
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Trier am 19. 8. (Bran, 17. Aug 2003, 20:11:54):
+Also: Der Stati findet ab 19.00h statt im Restaurant Diamanti, Paulinstrasse
+100 (Ecke Zeughausstrasse). Wegbeschreibung in treffen.wegbeschreibungen. Ist
+ein Inder mit Pizzeria, wo man auf Kissen auf dem Boden sitzen kann, sehr
+nett. Wer hier uebernachten will, moege mir wegen der Fruestuecksplanung bitte
+Bescheid sagen (Mail ins Mud, Schlafsack und Isomatte mitbringen)!
+
+Bran
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 21. Aug 2003, 19:34:01):
+Hallihallo,
+
+naechsten Freitag ist wieder Stati-Time in Bonn.
+
+29.08.2003
+ab 20:00 Uhr
+in der Harmonie in Endenich
+
+Specialguest: Eine oesterreichische Pflanze
+
+Zimmerreservierung wie immer bei den oertlichen Hoteliers ;-)
+Wegbeschreibungen bei mir.
+
+Knuddels Twingi
+
+P.S. Die Harmonie befindet sich immer noch in der Frongasse in Bonn-Endenich
+
+-----------------------------------------------------------------------------
+
+
+
+Spontanstammtisch Hamburg (Troy, 22. Aug 2003, 21:03:53):
+~#! on=Troy ot=1061578978 og=treffen
+Hallo Leute
+
+wegen Besuchs von Miril und Lamor machen wir am
+
+Dienstag, den 26. August im
+Schachcafe am S-Bahnhof Ruebenkamp
+um 19:30 Uhr
+einen Spontanstammtisch
+
+Ob ich noch ne Reservierung hinkriege, weiss ich nicht, aber es sollte auch
+so genug Platz da sein.
+
+Troy
+
+-----------------------------------------------------------------------------
+
+
+
+Offizieller Berliner Septemberstammtisch... (Pitfall, 27. Aug 2003, 17:21:42):
+
+... wird am 05.09.2003 ab ca 20 Uhr
+im Aufsturz stattfinden.
+
+Erscheint zahlreich.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Halle (Saale) (Gitarre, 28. Aug 2003, 17:19:45):
+~#! on=Gitarre ot=1062016698 og=treffen
+~#! rn=Gitarre rt=1061900628 rg=treffen
+~#! tid=1061900628
+Hallo zusammen,
+
+als Kneipe kristallisiert sich fuer den Hallenser Stammtisch am Samstag der
+Sargdeckel heraus. Wird morgen angetestet. Anfangen tuts auf jeden Fall 19
+Uhr.
+
+Gitarre - Orga Team Halle 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Halle am Samstag (Gitarre, 28. Aug 2003, 23:39:05):
+Hallo,
+
+der Test im "Sargdeckel" war hochzufriedenstellend. Also am Samstag ab 19 Uhr
+ist im "Sargdeckel" (im OeSA-Gebaeude, Adam-Kuckhoff-Str. 39-41) Stammtisch.
+Ich habe auf den Namen "Morgengrauen" reserviert.
+
+Kommt zahlreich!
+
+Gitarre
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Frankfurt/Main (Ronda,  4. Sep 2003, 21:05:22):
+~#! rn=Ronda rt=1060425833 rg=treffen.bekanntmachungen
+~#! tid=1060425833
+Hallo,
+
+da die erste Ankuendigung schon laenger her ist: Naechsten Montag - 8.9. -
+findet ein weiterer Chicken Wing Stammtisch in Frankfurt/Main (Hoechst) statt.
+
+Bitte sagt Bescheid, wenn Ihr kommen wollt, damit wir entsprechend viel Platz
+ergattern...
+
+Genau: Start: 19 Uhr. Denn bis 20 Uhr gibt es Happy Hour fuer Cocktails.
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 13.9 (Thufhir, 10. Sep 2003, 18:46:58):
+Huhu,
+
+am Samstag den 13.9. wird ab 20:00 Uhr mal wieder ein Stati stattfinden.
+Voraussichtlich wieder in den vier Winden. Wir haben einen Special Guest, der
+definitiv nicht allzu oft in Bochum anzutreffen ist. Wegbeschreibungen gibts
+auf Anfrage bei mir. Ich bitte um kurze Rueckmeldung wenn moeglich. Sollte
+sich der Ort noch aendern, geb ich das rechtzeitig bekannt.
+
+Gruss, s'Zauberzwerch
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WWW (Zooki, 11. Sep 2003, 10:10:27):
+~#! rn=Deepblue rt=1063014185 rg=treffen
+~#! tid=1063014185
+Eine aktualisierte Liste der regelmaessigen MG-Statis ist nun angeschlossen.
+Bei Aenderungen, Ergaenzungen, o.ae, schreibt mir (aeh... meinem Ersti)
+eine Email. Vielen Dank an Deepblue fuers Ueberarbeiten und Nachfragen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Bochum, 13.9 (Thufhir, 11. Sep 2003, 22:02:38):
+~#! rn=Thufhir rt=1063212418 rg=treffen.bekanntmachungen
+~#! tid=1063212418
+Hallo nochmal,
+
+dringende Aenderung: nach einigem Hickhack und vielem Hin und Her findet der
+Stati jetzt NICHT am Samstag dem 13. sondern am Freitag (ja, das ist bereits
+schon morgen) statt. Die Uhrzeit bleibt die gleiche. Ne Adresse und ne
+wegbeschreibung findet sich in treffen.wegbeschreibungen.
+
+Ich bitte um Entschuldigung fuer den Terminkrampf.
+
+s'Zauberzwerch Thufhir
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bonn (Twingi, 15. Sep 2003, 20:53:17):
+Hallo zusammen,
+
+Wir machen mal wieder einen Stammtisch in Bonn.
+Natuerlich haben wir auch wieder Special-Guests :-)
+
+Freitag, den 3.10.2003
+ab 20:00 Uhr
+in der Harmonie, Frongasse 30, Bonn Endenich
+
+Zusagen an mich zwecks Tischbestellung, Absagen an den Papierkorb, da nicht
+akzeptabel.
+Anfahrtsbeschreibungen und Zimmerwuensche wie gehabt ;-)
+
+Knuddels
+Twingi
+
+-----------------------------------------------------------------------------
+
+
+
+stuttgart stati 16.9. (Leibi, 16. Sep 2003, 00:18:44):
+huihu zusammen,
+ich glaube das mit der richtigen rubrik muss ichnochmal ueben.
+also morgen ist noch immer stati, ich mein heute, also nachher: 
+also 16.9. ab 19 uhr im enchilada. 
+happy hour ist von 19 bis 20 uhr und ab 23 uhr wieder
+
+leibi - kauft sich bald ein ampelshirt
+
+-----------------------------------------------------------------------------
+
+
+
+Duesseldorf (Deepblue, 22. Sep 2003, 20:04:11):
+Morgen (23.9.) 21.00 Uhr im Tigges (gleich am S-Bahnhof Bilk). Die Kneipe ist
+in Map24 eingezeichnet.
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati in Bonn (Twingi, 22. Sep 2003, 20:53:21):
+Hallo,
+
+da diesen Donnerstag ein EM in Bonn weilt, setze ich hiermit einen Sonderstati
+an.
+Donnerstag, 25.10.03
+ab 19:00 Uhr
+in der Harmonie, Frongasse 30 in Bonn-Endenich
+
+Rueckmeldungen, etc wie immer :-)
+
+Twingi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sonderstati in Bonn (Twingi, 22. Sep 2003, 20:56:55):
+~#! rn=Twingi rt=1064256801 rg=treffen.bekanntmachungen
+~#! tid=1064256801
+Hangl...
+
+das musste antuerlich Donnerstag den 25.09.03 heissen ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Sonderstati in Bonn (Toe, 22. Sep 2003, 20:59:21):
+~#! rn=Twingi rt=1064257015 rg=treffen.bekanntmachungen
+~#! tid=1064256801
+am 25.10. sind wir ja auch ganz weit weg...
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati Marburg (Zook, 22. Sep 2003, 21:05:24):
+Am 9. September fand ein Sonderstati in Marburg statt. Von 20.00 Uhr an
+trafen wir uns im Caveau und hatten sehr viel Spass. Neben Sniper, 
+Rasputin und meiner einer war auch noch ein Gast1 da. Prima Sache, wirklich!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchen (Anoris, 24. Sep 2003, 10:36:19):
+Am 4. Oktober, voraussichtlich Aux Vieux Moulin (der Alten Muehle), werden
+wir uns zum Vernichten der <siehe Betreff> einfinden.
+
+Das Essen findet sowieso statt, ueber viel Besuch wuerden wir uns freuen.
+
+Bei Interesse bitte per MudMail bescheid, dass ich Plaetze organisieren
+kann. Sollte die Alte Muehle ausgebucht sein, wird eine Alternative,
+ebenfalls mit Flammkuchen, zur Verfuegung stehen.
+
+Liebe Gruesse
+- Anoris
+
+P.S. Zeit-/Treffpunkt etc..., werden noch bekannt gegeben.
+
+-----------------------------------------------------------------------------
+
+
+
+0210032000KAKM (Catweazle, 28. Sep 2003, 21:38:54):
+So.
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+abschiedsstati von seleven in stuttgart :) (Leibi, 29. Sep 2003, 12:51:37):
+huhu zusammen,
+nachdem unsere suesse seleven aus dem wunscherschoenen stuttgart wegzieht,
+machen wir am mittwoch ab 19 uhr noch einen stati im enchilda.
+bitte schreibt mir kurz ne mail, damit ich mal wieder plaetze reservieren
+kann.
+
+gruss leibi
+
+ps happy hour ist noch immer bis 20 uhr und ab 23 uhr :)
+
+-----------------------------------------------------------------------------
+
+
+
+Oktoberstati Berlin (Pitfall, 30. Sep 2003, 07:39:08):
+Moin,
+
+
+der Oktoberstati in Berlin wird anscheinend
+nicht wie geplant am ersten Freitag des Monats
+im Aufsturz stattfinden. Naeheres dazu weiss 
+sicher Birdy. Der war allerdings bisher noch 
+nicht dazu in der Lage mir genaue Infos dazu
+zu geben. Wendet Euch also einfach an Ihn.
+
+Pit*
+
+
+-----------------------------------------------------------------------------
+
+
+
+Treffen auf der Spielemesse (Montanus, 30. Sep 2003, 10:39:11):
+23. bis 26. Oktober.
+Grugahallen.
+Essen.
+Diesmal haben wir einen eigenen Stand, wer also mal auf ein Hallo oder ein
+Bohnenspiel vorbeikommen will: Halle 9, Stand 14.
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchen (2) (Anoris, 30. Sep 2003, 10:46:42):
+Wie versprochen hier noch das Update zu <subject>. 4. Oktober, 20:30
+Aux Vieux Moulin (bei der Alten Muehle). Aktuell sind wir 10, reserviert
+ist auf "Goldinger". Wir nehmen Tassram vom Waldparkplatz mit und haetten
+somit von KA aus noch 1 - 2 Plaetze, sollte wer mitfahren wollen.
+
+Liebe Gruesse
+- Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Oktoberstati Berlin (Birdy,  5. Okt 2003, 19:20:45):
+~#! rn=Pitfall rt=1064900348 rg=treffen.bekanntmachungen
+~#! tid=1064900348
+AAAAlso,
+
+Pittiplatsch hat mir das Ausrufen des monatlichen Stammtisches uebertragen, da
+er da nicht in B sein wird.
+Ich bin da zwar auch nicht da, aber ich denk, dass trotzdem wieder ein paar
+Leutchen am Freitag, den 10.10.03 um 20.00 Uhr ins "Aufsturz" kommen werden.
+MAcht euch dann mal Gedanken, ob wir wirklich einen Stati beim Bowling amchen
+wollen, die Resonanz auf meine Idee war laut und positiv gewesen, aber
+Rueckmeldungen, wer kommt, gabs nur 4. Die meisten Berliner MGler seh ich ja
+dann am Sonnabend bei Rochus. 
+
+D.w.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Oktoberstati Berlin (Rochus,  5. Okt 2003, 21:40:49):
+~#! rn=Birdy rt=1065374445 rg=treffen.bekanntmachungen
+~#! tid=1064900348
+So, den meisten hab ich es zwar schon gemailt,
+aber da ich einige vergessen habe nochmal zur Sicherheit hier:
+Am Samstag, den 11.10., ist bei mir Abschieds-Chili angesagt... ich
+ziehe um nach Dortmund...
+Mann sollte so ab 16 Uhr erscheinen, serviert wird dann irgendwann
+zwischen 18 und 19 Uhr denke ich... Wer vor 15 Uhr da ist darf
+mithelfen Zwiebeln schneiden :-)
+Wie immer: Ich mach das Chili, Ihr besorgt die Getraenke... keine
+Sorge, es gibt auch Brot zum Chili :)
+Wer inzwischen immer noch nicht den Weg kennt moege
+sich bei mir melden :)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+DA08102003HP2000 (Mandragon,  6. Okt 2003, 17:28:23):
+
+Ark und ich haben beschlossen, mal wieder Pizza essen zu gehen. Und
+zwar am naechsten Mittwoch (8.10.03) um 20:00 im Hotzenplotz.
+
+Wegbeschreibung bei den genannten Verdaechtigen oder in treffen.wegbesch
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Werne, 11.10.2003 (Olli,  9. Okt 2003, 10:47:55):
+Moin,
+
+aufgrund Besuch veranstalten wir spontan einen Stammtisch in Werne a.d.L.,
+und zwar am kommenden Samstag um 19:00 in der Brasserie.
+Wegbeschreibung gibts auf Anfrage :)
+
+Olli
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Oktoberstati Berlin (Gnome, 10. Okt 2003, 19:22:00):
+~#! rn=Birdy rt=1065374445 rg=treffen.bekanntmachungen
+~#! tid=1064900348
+moechte hier nochmal kurz draufhinweisen, dass der berliner stati inner
+guten halben stunde beginnt. :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Novemberstati Berlin (Pitfall,  5. Nov 2003, 09:41:08):
+Moin,
+
+der Novemberstati in Berlin wird am 07.11. ab 20
+Uhr im Aufsturz stattfinden.
+Ich glaube, es gibt auch "Special Guests".
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Novemberstati Bonn (Padreic,  8. Nov 2003, 18:59:39):
+Inzwischen ist es ja nun schon richtig Tradition, drum gibt es auch diesen
+November wieder einen Stati bei mir aufm Dachboden. Auch wenns diesmal etwas
+kurzfristig ist, hoffe ich wieder auf viele nette Gaeste :o).
+
+Wann: 15.11.03, ab 19:00
+Wo: Wiesenweg 24, Bonn
+
+Jeder der kommen will, ist herzlich eingeladen. Eine kleine Rueckmeldung
+Zwecks Planung waere gut - auch wenn wir ein paar spontan Gaeste immer noch
+versorgt bekommen. Da ich inzwischen noch ein wenig mehr Platz hab, koennen
+auch noch ein paar Leute mehr bei mir pennen, dies aber bitte nur mit
+Vorabsprache :o).
+
+Pad*
+
+-----------------------------------------------------------------------------
+
+
+
+Laola Landau (Bambi, 11. Nov 2003, 13:22:00):
+Wenn wer Lust hat, am 20.11.2003 mit Echse und mir da hinzugehen, melde
+er/sie/es sich bei mir.
+Zum Anschauen: http://www.la-ola.de/
+Wen die vielen Leute auf den Fotos abschrecken: Normalerweise ist es dort
+wesentlich leerer. Unter der Woche sowieso.
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati Berlin (Pitfall, 11. Nov 2003, 23:39:21):
+Moin,
+
+am 14.11. wird ein Sonderstammtisch im Aufsturz
+stattfinden. Startzeit ist wie immer 20 Uhr.
+
+erscheint zahlreich!
+pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Hamburg, 15.11. (Bielefeld, 12. Nov 2003, 22:41:50):
+Moin!
+
+Die Hamburger (und mindestens zwei auswaertige Sondergaeste)
+treffen sich auch mal wieder, diesmal am 15.11. ab 19 Uhr
+im Schachcafe (Ruebenkamp 227, 22307 Hamburg). Am besten zu
+erreichen mit der S-1 Haltestelle Ruebenkamp und von da noch
+ca. 2 Minuten zu Fuss.
+
+Kommet zuhauf!
+-Bielefeld
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: stuttgart stati 20.12. (Leibi,  2. Dez 2003, 21:21:54):
+~#! rn=Ronda rt=1070396445 rg=treffen
+~#! tid=1070395251
+also dann machen wir das mal fest:
+20.12.03 im enchilada ab 18 uhr
+erscheint zahlreich mit vielen geschenken ;)
+
+leibi freut sich schon au die cocktails
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Trier (Bran,  8. Dez 2003, 00:40:26):
+Ein bisschen kurzfristig und vielleicht etwas dicht nach der Party, aber da
+ich kommende Woche Mudder-Besuch hab, wollte ich mal wieder nen Stati in Trier
+ankuendigen, und zwar am  14. 12. (Samstag), ab 19:30 im Louisiana
+(Wegbeschreibung kommt noch). Immerhin eine knappe Woche zum Regenerieren.
+
+Fuer 2-3 Leute gibt's Matratzen und Decken, wenn es mehr werden, braeuchtet
+Ihr Isomatten und Schlafsaecke zum Uebernachten. Platz ist jedenfalls genug.
+
+Waer schoen, wenn Ihr mir kurz hier Bescheid sagen wuerdet!
+
+Liebe Gruesse! Bran
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Trier - Korrektur (Bran,  8. Dez 2003, 00:45:09):
+Nicht am 14., sondern am 13. Sonst bleibts aber dabei :)
+
+Bran, schon etwas muede :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Trier - Korrektur (Brotnael,  8. Dez 2003, 12:37:58):
+~#! rn=Bran rt=1070840709 rg=treffen.bekanntmachungen
+~#! tid=1070840709
+Kommt doch an den Tag nach berlin zu unserer Party, da feiern wir mindest zu
+200, da brauchst du keine Matratzen mehr :o)
+Brot, wird immer munterer :o))
+
+-----------------------------------------------------------------------------
+
+
+
+Dezemberstammtisch - Berlin (Pitfall,  9. Dez 2003, 09:21:38):
+Moin,
+
+Der Dezemerbstati in Berlin wird am 12.12. ab 20 Uhr
+im Aufsturz stattfinden. Sondergaeste gibt es auch
+und fuer den groesseren Hunger werden wir uns einfach
+ein paar kleine Kinder fangen oder so.
+
+Erscheint zahlreich!
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dezemberstammtisch - Berlin (Zook,  9. Dez 2003, 09:31:44):
+~#! rn=Pitfall rt=1070958098 rg=treffen.bekanntmachungen
+~#! tid=1070958098
+Ok, ich trinke dann am 15. wieder alleine mein Bier im Aufsturz.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati am 13. 12. in Trier (Bran,  9. Dez 2003, 20:06:14):
+Nochmal anders: Wir machen das jetzt doch nicht in der Kneipe, wo man
+irgendwann wieder raus ins Kalte muss, sondern direkt bei mir zu Hause, ab
+irgendwann nachmittags. Mit gemeinsamem Kochen (und natuerlich Essen).
+Wahrscheinlich viele, viele Pfannkuchen mit genauso vielen verschiedenen
+Sachen fuer drauf, (c) Ronda. Wegbeschreibung gibt's auf Anfrage bei mir. Bis
+dann!
+
+Bran (freut sich schon :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MS-Gluehwein (Catweazle, 11. Dez 2003, 10:39:33):
+~#! rn=Catweazle rt=1071086577 rg=treffen
+~#! tid=1071086577
+
+Ich sach jetzt mal einfach an Fuer MS:
+
+Naechsten Donnerstag (18.12.) gibts GluehweinTrinken am Aegidiihof, auf dem
+Platz vorm Museum, der Gluehweinstand ganz links an der Ecke
+(Gluehwein&Gruenkohl), quasi neben der Bushaltestelle (Richtung Landgericht).
+Zeit, hm. 19:00 Uhr?
+Und hinterher koennen wir dann in ein Kneipchen verschwinden (wer da dann noch
+hinkommt), welches das wird entscheiden wir dann spontan.
+
+Kommet zuhauf!
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+goettlicher besuch... (Zook, 11. Dez 2003, 20:08:43):
+~#! on=Gnome ot=1071169659 og=treffen
+...erwartet uns kommende woche.
+wer lust hat, mit uns beiden zu plaudern/saufen, mag sich am abend
+des kommenden montags gegen 20:00 im aufsturz einfinden.
+ob wir dann dort bleiben werden, haengt von lust und laune ab.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: goettlicher besuch... (Zook, 14. Dez 2003, 21:23:12):
+~#! rn=Zook rt=1071169723 rg=treffen.bekanntmachungen
+~#! tid=1071169723
+Kommt noch jemand oder trink ich alleine? ;)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: stuttgart stati 20.12. (Leibi, 15. Dez 2003, 20:18:00):
+~#! rn=Leibi rt=1070396514 rg=treffen.bekanntmachungen
+~#! tid=1070395251
+huhu zusammen,
+nachdem sich nich so viele bei mir angemeldet haben, hab ich einen etwas
+kleineren tisch fuer
+samstag 20.12.03 ab 19 uhr im enchilada bestellt.
+
+bis dann
+leibi
+
+-----------------------------------------------------------------------------
+
+
+
+Spontanstati Bochum (Miril, 20. Dez 2003, 12:36:17):
+Hi!
+Wir haben gerade spontan beschlossen uns heute Abend in den Vier Winden
+zu treffen.
+So ca. um 20.00 Uhr. Wer also Bock hat, moege kommen. 
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Dortmund, 23.12.2003, 17:00 Uhr, Pylon (Thufhir, 21. Dez 2003, 11:24:21):
+Ein frohes Muhu,
+
+wie jedes Jahr sind Gaeste aus Wien in Dortmund und wir treffen uns am 23.12.
+um 17:00 am Pylonen (Haltestelle Rheinoldikirche), um uns dann mit Gluehweinz
+und Amaretto auf den bevorstehenden Heiligen Abend vorzubereiten. Saget
+bescheid, wenn ihr Euch dem anschliessen wollet, denn dann koennen wir auf
+unserer Wandererschaft Euer dazutreffen beruecksichtigen. Falls danach noch
+Lust am Weiterzechen besteht (die Schausteller begehren wohl fruehen
+Feierabend), kann man sich auch spontan noch in eine geschlossene Schaenke
+begeben.
+
+szzt
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin Stati (Guard,  1. Jan 2004, 16:39:44):
+trotz frisch gefeiertem Jahreswechsel werden die Berliner nicht muede, weiter
+zu machen und treffen sich wie ueblich am 1. Freitag des Monats, also morgen!!
+um 20:00 im Aufsturz.
+Also gut ausgeruht und morgen dabei sein :-=
+
+Gruss
+Guard (Statiausrufvertretung)
+
+-----------------------------------------------------------------------------
+
+
+
+Traditionelles Muensteraner 'Angrillen' (Catweazle,  1. Jan 2004, 23:10:29):
+
+Moin.
+
+Da wir ja nu endlich ein neues Jahr, koennen wir auch wieder prima das erste
+Grillen des Jahres starten.
+
+Tradionell gibts das bei mir, nicht ganz am ersten Wochenende des Jahres, aber
+immerhin am zweiten, genauestens also am 10. Januar (sagen wir ab 20:00 Uhr). 
+
+Ergo, findet euch zu Hauf bei mir ein. Wer nicht weiss wos ist, ich reagier
+auf Zuruf, Mail oder was euch sonst noch so einfaellt, und verbreite gernst
+weitere Details, wie ich zu finden bin. 
+
+Ich bin aber nicht Kroesus und ausserdem schleppunwillig. Grillgut und
+Getraenke sind selbst zu stellen. Aber ich bin sicher, das kriegt ihr hin.
+Notreserven hab ich bestimmt. 
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Traditionelles Muensteraner 'Angrillen' (Areelanir,  8. Jan 2004, 17:22:10):
+~#! rn=Catweazle rt=1072995029 rg=treffen.bekanntmachungen
+~#! tid=1072995029
++1
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Traditionelles Muensteraner 'Angrillen' (Foobar,  8. Jan 2004, 17:26:20):
+~#! rn=Areelanir rt=1073578930 rg=treffen.bekanntmachungen
+~#! tid=1072995029
+Ok, dann offiziell: +1
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Osnabrueck (Mupfel, 12. Jan 2004, 20:01:07):
+Hallo,
+
+es ist mal wieder Statizeit in Osnabrueck.
+Un zwar am Freitag, den 16.1.2004, 20 Uhr in "Joe's Saloon", Vitihof 22.
+Special Guests: Jenandra, Marita, Lug.
+
+Wer kommen moechte, moege sich per Mail bei mir oder Akasha melden, damit wir
+reservieren koennen.
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Treffdi Berlin (Liara, 25. Jan 2004, 11:34:44):
+Ich bin nochmal in Berlin und wuerde mich freuen, wenn wir statt des normalen
+Statis mal ein Treffen in einer anderen Lokalitaet veranstalten koennten. :)
+
+Wann?        Freitag, 30. Januar 2004
+
+Wo?          Graffiti
+             Kurfuerstendamm 69
+             10707 Berlin
+             (suedwestliches Ende Ku'damm am Adenauerplatz)
+
+Unter www.restaurant-graffiti.de gibt es naehere Informationen und einen
+Lageplan.
+Die Speisen sind superlecker, nicht teuer und es gibt eine Cocktail-Happy-Hour
+bis 23 Uhr. Da der Laden von der Eisdiele bis zur Bar alles in sich vereint,
+sind die Cocktails auch in entsprechend guter! Qualitaet. Es lohnt sich, mal
+auf der Seite die Speisekarte anzusehen.
+
+Liebe Gruesse,
+Liara
+
+P. S.: Waere lieb, wenn ihr mir kurz eine Mail schreibt oder so Bescheid sagt,
+wenn Interesse besteht! Bitte lasst euch von der etwas dezentraleren Lage
+nicht abschrecken, das Dings ist wirklich einen Besuch wert! 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Treffdi Berlin (Liara, 27. Jan 2004, 13:30:27):
+~#! rn=Liara rt=1075026884 rg=treffen.bekanntmachungen
+~#! tid=1075026884
+Habe total vergessen, dass die Sache so gegen 20 Uhr startet. :>
+
+-----------------------------------------------------------------------------
+
+
+
+SUPERSONDERSTATI (Boing,  3. Feb 2004, 18:19:32):
+~#! on=Muadib ot=1075828579 og=treffen
+Hi,
+
+am kommenden Samstag, das ist der 7. Februar 2004, findet in Karlsruhe ein
+Sonderstati statt.
+Er besteht aus 2 Teilen:
+1. Sushiessen im Sushirestaurant am Filmpalast beim ZKM (wer kein sushi mag,
+da gibt es auch massig anderes leckeres im angebot) ab 20.00h
+2. Sobald wir satt sind wechseln wir in den Kleinen Meierhof und beenden den
+Samstag und beginnen den Sonntag bei ein paar Bieren oder anderen Getraenken 
+
+Bitte gebt Feedback wer da mit will damit ich Tische reservieren kann,
+zumindest fuer das Sushi.
+
+Es gibt uebrigens entgegen irgendwelchen Geruechten keinen besonders wichtigen
+Anlass den Samstag explizit in den Sonntag ueberzuleiten.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Hamburg (Bielefeld,  9. Feb 2004, 14:33:56):
+Moin!
+
+In aller Kuerze: Freitag, 20. Februar, 19:30 Uhr
+in der Backatelle, Fuhlsbuettler Str. 136 (Naehe U/S Barmbek).
+Ein Tisch ist auf meinen MUD-Namen reserviert...
+
+-Bielefeld
+
+-----------------------------------------------------------------------------
+
+
+
+spontan stati in s (Leibi,  9. Feb 2004, 19:06:30):
+huhu zusammen,
+
+da besuch in der stadt ist, findet morgen ganz spontan ab 18 uhr im enchilda
+ein spontan stati statt.
+eilt herbei und trinkt und esst mit uns :)
+
+leibi - freut sich schon
+
+-----------------------------------------------------------------------------
+
+
+
+Spontanstammtisch in Halle (Gitarre, 10. Feb 2004, 16:09:56):
+
+Hallo zusammen,
+
+ganz spontan findet heute Abend ab 19:30 Uhr ein Stammtisch in Halle statt.
+Fuer Kurzentschlossene: ruft Cassandra an (die Nummer ist ja von der letzten
+Halle-Party bekannt). Zu viert sind wir schon (Caren, Cassandra, Sou und ich).
+
+Gitarre - heute sprachlich inkontinent
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum (Miril, 11. Feb 2004, 23:22:42):
+Hi. Wir machen am Freitag, 13.2.2004 nen Stati im Clochard (Naehe Unicenter)
+Auswaertige Gaeste sind wie immer erwuenscht. Wenn jemand den Weg nicht
+kennt, moege er mich fragen, die Adresse weiss ich spontan nicht. Wir 
+treffen uns so ab 20 Uhr.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati - Berlin (Pitfall, 15. Feb 2004, 09:31:00):
+Moin,
+
+am 20.02.2004 ist ab ca 20 Uhr im Aufsturz
+mal wieder ein Sonderstati.
+
+erscheint zahlreich :)
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sonderstati - Berlin (Gloinson, 15. Feb 2004, 15:26:45):
+~#! rn=Pitfall rt=1076833860 rg=treffen.bekanntmachungen
+~#! tid=1076833860
+Fortsetzung dieses StaTi am darauffolgenden Sonntag in Oranienburg, im
+TURM-Erlebnisbad/-center ;) Nur so als Erinnerung.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sondertreffen in Hamburg (Grimmborn, 18. Feb 2004, 20:49:56):
+Am Sonntag, 29.2., veranstalte ich ein Sondertreffen im Hamburger Osten. Und
+wo wir dann schon so gemuetlich versammelt sind, koennen wir auch nebenbei
+gleich den Umzugs-LKW entladen. Details wie Ort und Uhrzeit sind gerne bei mir
+zu erfragen. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Karlsruhe (Boing, 19. Feb 2004, 10:40:05):
+Ich moechte mal wieder darauf hinweisen, dass nach wie vor jeden Donnerstag
+um 20 Uhr im Kleinen Meierhof in Karlsruhe Stammtisch ist. Also nix wie
+hin!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Treffen Bochum, 12.03.2004 ab 20:00 Uhr (Thufhir,  4. Mar 2004, 16:35:10):
+Huhu Mitmudder,
+
+hiermit gebe ich bekannt, dass wir wegen Ehrenbesuch ein Treffen veranstalten
+wollen und zwar privat bei uns. Wenn Ihr Euch rechtzeitig anmeldet wird gegen
+einen kleinen Unkostenobulus ausreichend fuer Futtter und Getraenke gesorgt
+sein. Elfensichere Wegbeschreibungen gibts auf Anfrage bei mir.
+
+s'Zz T
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati Berlin (Maharet,  6. Mar 2004, 19:02:55):
+Also gut, da Pitfall ja mal wieder andernorts weilt, uebernehm ich das hier
+mal ganz frech.
+Da Catweazle mit uns saufen will, rufe ich hiermit einen Sonderstati fuer
+kommenden Montag aus.  Wie immer im Aufsturz, wie immer 20:00 Uhr. Mal sehen,
+vielleicht lass ich das Training sausen, dann bin ich puentlich da, wenn
+nicht, haltet bitte einen Stuhl fuer mich frei.
+
+Maha, Spion und Giftmischer aD
+
+-----------------------------------------------------------------------------
+
+
+
+Frankfurt/Main, Karfreitag (9.4.) (Ronda, 11. Mar 2004, 23:45:24):
+Es war ja bereits vorsichtig angedeutet, dass am 9.4. (Karfreitag) ein
+Stammtisch in Frankfurt/Main stattfindet.
+
+Nun, es bleibt dabei :-)
+
+Genaue Infos zum Ort liefere ich noch nach, vermutlich wird es wieder die
+Kneipe in Frankfurt/Hoechst, bei der es die Chicken Wings gibt. Bei Bedarf
+kann ich auch probieren, ob wir da den All You Can Eat Tarif bekommen - bitte
+sagt mir daher Bescheid, wenn Ihr kommen wollt und ob Ihr Wings wollt...
+
+Ronda *bibbert bei dem Gedanken, dass Zephyr das lesen koennte...*
+
+-----------------------------------------------------------------------------
+
+
+
+artikel Stati in Koeln (Elberet, 12. Mar 2004, 17:25:14):
+Am Freitag, dem 26. Maerz wird in Koeln ein Stati stattfinden. Wo genau.
+ist noch ungeklaert Kommet zu Hauf, Anmeldungen an mich waeren nett.
+Naeheres wird noch hier bekanntgegeben werden.
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: artikel Stati in Koeln (Elberet, 14. Mar 2004, 22:23:47):
+~#! rn=Elberet rt=1079108714 rg=treffen.bekanntmachungen
+~#! tid=1079108714
+der Stati wird erst mal auf unbestimmte Zeit nach hinten verschoben
+
+Elberet
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Halle (Mieze, 24. Mar 2004, 15:01:05):
+Liebe Mudgemeinde,
+
+am Samstag (27.3.) gibts ab 19 Uhr nen Stammtisch in Halle im Sargdeckel
+(Marthastrasse 23 in Halle). Uebernachtungsmoeglichkeiten sind ausreichend da
+(bei Cassandra oder mir). Kommt zuhauf!
+
+Mieze - Halle-Orga-Team
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati Berlin (Pitfall, 24. Mar 2004, 19:02:40):
+Aloa,
+
+auf Wunsch eines einzelnen Gloinsons
+wird am Freitag, dem 26.3. ab 20 Uhr
+im Aufsturz ein Sonderstati stattfinden.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Halle (Mieze, 27. Mar 2004, 17:02:59):
+~#! rn=Mieze rt=1080136865 rg=treffen.bekanntmachungen
+~#! tid=1080136865
+
+cancelled by customer.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frankfurt/Main, Karfreitag (9.4.) (Ronda,  6. Apr 2004, 11:23:17):
+~#! rn=Ronda rt=1079045124 rg=treffen.bekanntmachungen
+~#! tid=1079045124
+Hallo,
+nun ists konkret, am 9.4. steigt ein Sonder-Stammtisch in Frankfurt ;-)
+
+Los gehts um 19 Uhr, ich hab gestern leider keine Chicken Wings all you can
+eat heraushandeln koennen, aber wir bekommen pro Person zehn Wings statt fuer
+acht nur fuer fuenf Euro - das reicht fuer normale Esser durchaus aus. Aber es
+gibt auch noch andere leckere Sachen zu futtern. Bis um acht gibts auch - fuer
+Frankfurter Preise - guenstigere Cocktails.
+
+Bitte sagt mir Bescheid, wenn Ihr kommen wollt, damit wir ausreichend viele
+Tische "kapern" koennen.
+
+Wie kommt man zur Sports Bar? A66 bis Frankfurt-Hoechst, dann Richtung
+Frankfurt-Hoechst (sprich: NICHT zum MTZ), danach geradeaus bis es nicht
+weiter gradeausgeht, ohne das Auto zu schrotten. Da dann rechts ab, an der
+Post links abbiegen, dann einfach geradeaus bis zum Parkplatz. Da sieht man
+dann sofort die Sportsbar. (Die Strasse heisst "Hoechster Markt".)
+
+In der Sportsbar ist nur maessiger Empfang mit dem Handy, notfalls koennt Ihr
+aber (069) 316131 anrufen, die Chefin der Sports Bar sollte Euch erklaeren
+koennen, wie Ihr hinkommt ;-)
+
+Tschuess,
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Kaiserslautern(24.04.) (Dorian, 23. Apr 2004, 20:44:57):
+Hoeret, hoeret. Wegen dem kurzfristigen Besuch einer
+einzelnen Zwergenzauberine findet am Samstag, dem 24.04.,
+im "St.Martin" in Kaiserslautern ein Sonderstati statt.
+Um sicherzugehen, dass wir den Laden nicht total ueberrennen
+bitte ich lusthabende Stati-sten, mir noch vorher Bescheid zu geben.
+Einfach Mail an mich, ich hoffe auf zahlreiches Erscheinen ;)
+
+Bierschuettelmeister Thantalas, i.A. Dorian
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Berlin? (Mieze, 24. Apr 2004, 17:24:44):
+Hallo zusammen,
+
+am 1.5. wollte ich nach Berlin. Haette jemand Zeit und Lust auf einen
+Stammtisch?
+
+Mieze - reisend
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Koeln am 8. Mai (Elberet, 25. Apr 2004, 21:43:17):
+Lang, lang ist der letzte Koelner Stati her. Daher wird es mal wieder dringend
+Zeit.
+
+       Stati am 8. Mai in Koeln
+
+Nachmittags treffen sich bei Interesse und gutem Wetter alle Eisfans
+unter den Muddern in der schoenen Altstadt Koelns, abends geht es in
+einer Kneipe weiter.
+
+Die Lokalitaeten muessen noch festgelegt werden, daher bitte bei Interesse
+rechtzeitig melden.
+
+Dazu mailt doch einfach an Elberet oder Salesha.
+
+In der Hoffnung auf Rege Beteiligung
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Berlin (Pitfall, 27. Apr 2004, 22:40:10):
+Aloa,
+
+am 01.05.2004 findet ab ca 20 Uhr der
+Berliner Stammtisch im "Aufsturz" statt.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Stati BO (Miril, 27. Apr 2004, 22:52:42):
+Hi!
+
+Am Freitag, den 30.4. wollen wir uns mal wieder in den Vier Winden treffen.
+So ab 20 Uhr, wuerde ich sagen. Kommet zuhauf.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Koeln (Elberet,  6. Mai 2004, 20:57:43):
+So jetzt endlich die Infos zum Koelner Stammtisch. Ich hoffe, Ihr wartet
+schon sehnsuechtig darauf.
+
+Wann:  Samstag in 2 Tagen (8. Mai) ab 19 Uhr
+Wo  :  das Gonzales in Koeln (ach ne), am Rudolfplatz direkt am Ring,
+       Aachener Strasse 52, dort ist ein Tisch reserviert
+
+Wer Lust hat, kann schon um 16:45 Uhr zum Koelner Hauptbahnhof kommen
+(Ausgang Domplatte) zwecks Besuchs einer Eisdiele. Dort entscheiden wir
+dann, wo wir hingehen, also wer Eis moechte, sollte puenktlich sein Es .
+mag Sinn machen, wenn ihr mich nach meiner Handynummer fragt, damit wir.
+uns trotzdem finden, falls Ihr zu spaet kommt.
+
+Wer mit dem Zug kommt, fragt am besten Passanten (oder www.map24.de)
+wie er zum Rudoplfplatz kommt, wenn er zu Fuss gehen will, mit der Bahn
+kann man die Lienen 16,17,18 zum Neumarkt und dann die 1 oder 7 zum
+Rudolfplatz nehmen.
+
+Wenn Ihr mit dem Auto zB von Norden ueber die A57 kommt, dann fahrt
+die bis zum Ende durch, dann auf die L100 (innere Kanalstrasse)
+Richtung Ehrenfeld bis Ihr auf die B55 kommt. Da biegt Ihr links in die
+Aachener Strasse ab und fahrt bis zum Rudolfplatz, nicht zu verfehlen
+(http://www.misch1.de/bilder/koeln/koeln_hahnentor_rudolfplatz.php).
+Dort fahrt zB in das Parkhaus Rudolfplatz.
+
+Ich bin kein Autofahrer also schaut lieber vorher nochmal auf einem
+Karte nach :) Von Sueden her weiss ich nicht wie es geht.
+
+Also kommet zu hauf und wisset, es gibt Cocktails ;)
+
+Elbi und Sal
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Koeln (Zarniya,  7. Mai 2004, 08:39:29):
+~#! rn=Elberet rt=1083869863 rg=treffen.bekanntmachungen
+~#! tid=1083869863
+AAAAAAAAAAAAlso.... von der Inneren nach LINKS abbiegen auf die Aachener???
+Grandioser Witz!!!
+Von Westen oder Sueden: Kreuz Koeln west, dann Aachener Strasse immer
+gradeaus. 
+
+Von Osten oder Sueden: Kreuz Koeln Ost, dann Richtung Innenstadt immer
+gradeaus (ueber Zoobruecke, am Puff vorbei, dann am Colonius vorbei und dann
+bei der Kreuzung Inneren/Aachener wieder herzhaft uebers Linksabbiegen in
+Koeln lachen.
+
+Eisessen kann man in Koeln NUR im Cafe Forum... zwischen Clodwigplatz und
+Ubierring. Da kann man nach 5-6 Portionen sogar satt werden, wenn auch nur mit
+Muehe, nich, Grimmborn? :))))
+
+Achja.. fuer alle, die von Norden kommen. An dem Samstag ist Lokalderby
+zwischen LEV und Koelle... also es wird definitiv voll auf den Strassen, egal,
+wie das Spiel ausgeht!
+
+Nochwas... die Aachenerstrasse ist Naehe Rudolfplatz eine Einbahnstrasse, die
+nur Stadtauswaerts fuehrt. Wer Stadteinwaerts faehrt, der findet die gar
+nicht, denn ab der oben genannten lachhaften Kreuzung (uebrigens mit insgesamt
+4 Blitzanlagen) faehrt man stadteinwaerts ueber die Richard Wagner Strasse...
+auch Einbahnstrasse, aber eben in Gegenrichtung und ein kompletter
+Haeuserblock dazwischen. Man muss dann ueber den Rudolfplatz hinaus fahren,
+irgendwann ne 180 Grad Wende machen und dann wieder raus aus der Innersten
+Stadt. Achja.. Parken in der Gegend Samstags abends? Vergesst es. Fahrt direkt
+ins Parkhaus oder nutzt ne Strassenbahn.
+
+Aehm ja... sonst faellt mir erstmal nix ein... ausser, dass ich es witzig
+finde, dass in Koeln mal wieder n Stammtisch stattfindet, wo es doch nur einen
+wahrlich wirklichen Stammtisch in Koeln gab. Und das mit den Wegbeschreibungen
+ueben wir noch, was? :)
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Spontan-Stammtisch in Hamburg am Samstag, den 15.05.2004 (Perdita, 12. Mai 2004, 21:09:56):
+Hallo Leute!
+Wir haben gerade beschlossen, am Samstag spontan einen Stati in Hamburg zu
+veranstalten.
+Geplant ist, dass wir uns wie schon oft in der Backatelle in Barmbek
+(Fuhlsbuettler Strasse 136) gegen 19.30 Uhr treffen.
+Ich werde die Info in den naechten Tagen noch einmal bestaetigen oder
+korrigieren, aber ihr koennt euch schonmal darauf einstellen.
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spontan-Stammtisch in Hamburg am Samstag, den 15.05.2004 (Perdita, 13. Mai 2004, 18:52:40):
+~#! rn=Perdita rt=1084388996 rg=treffen.bekanntmachungen
+~#! tid=1084388996
+Hiermit bestaetige ich den Stati-Ort und -Termin fuer Samstag, den 15.05.
+Backatelle Barmbek, Fuhlsbuettler Str. 136, in Hamburg, 19.30 Uhr
+Ahoi
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 25.6. (Medic, 26. Mai 2004, 19:11:47):
+So, diesmal mit "etwas" mehr Vorlaufzeit...
+
+Am Freitag, den 25.6., gibts mal wieder einen Stammtisch in Bochum,
+und zwar wie ueblich in den "Vier Winden".
+Das ganze ist in der Hofsteder Strasse 94 (U-35-Haltestelle "Feldsieper
+Strasse") in 44809 Bochum.
+
+Kommet zuhauf!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Bochum, 25.6. (Medic, 19. Jun 2004, 16:12:59):
+~#! rn=Medic rt=1085591507 rg=treffen.bekanntmachungen
+~#! tid=1085591507
+Am naechsten Freitag, den 25.6. gibt es, wie bereits angekuendigt, einen Stati
+in Bochum. Los geht es ab 20 Uhr in den "Vier Winden".
+Wegbeschreibung:
+
+Vom Hauptbahnhof aus fahrt ihr am besten mit der U35 Richtung "Herne, Schloss
+Struenkede" oder "Riemke Markt". 
+An der Haltestelle "Feldsieper Strasse" verlasst ihr die U-Bahn wieder.
+Wenn Ihr aus der Haltestelle herauskommt, geht die naechste Querstrasse links.
+Nach ca. 300 Metern kommt ihr zu der Gaststaette, welche sich in derHofsteder
+STrasse 94 befindet.
+
+Fuer die Autofahrer unter euch:
+A40 Richtung Bochum/Essen, Ausfahrt Bochum-Zentrum (Nr. 35, das sind 3
+Ausfahrten, die 2. ist Bochum-Zentrum), nach der Abfahrt rechts abbiegen, nach
+ca. 400 Meter an der 1. Ampel rechts abbiegen, und nach weiteren 400 m an der
+2. Ampel nach links abbiegen, nach ca. 200 m befindet sich auf der linken
+Seite das gewuenschte Ziel. Parkplaetze lassen sich davor und in den
+benachbarten Seitenstrassen finden.
+
+Kommet zuhauf :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati in Bochum, 25.6. (Medic, 19. Jun 2004, 16:22:14):
+~#! rn=Medic rt=1087654379 rg=treffen.bekanntmachungen
+~#! tid=1085591507
+Nachtrag: Eine detailliertere Wegbeschreibung mit Kartenskizze gibt es hier:
+http://www.forum4winde.de/ftopic14.php
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Berlin (Pitfall,  4. Aug 2004, 03:13:10):
+Halloele,
+
+Am Freitag, dem 06.08.2004 ist mal wieder
+Stati im Aufsturz.
+
+
+Kommet zuhauf.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel (Pitfall,  4. Aug 2004, 10:07:40):
+Der Berliner Stati faellt zugunsten der Party
+aus. Es wuerden wohl eh zu wenig Leute dasein.
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Artikel (Montanus,  4. Aug 2004, 11:49:10):
+~#! rn=Pitfall rt=1091606860 rg=treffen.bekanntmachungen
+~#! tid=1091606860
+Zu wenig Leute fuer einen Stammtisch gibt es nicht. Die gemuetlichsten
+Stammtische haben immer so 3-4 Leute, da legen wir in Bremen und Hamburg auch
+wert drauf. Warum sich freiwillig den Mob antun?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Artikel (Zook,  4. Aug 2004, 12:36:00):
+~#! rn=Montanus rt=1091612950 rg=treffen.bekanntmachungen
+~#! tid=1091606860
+Ich kann bestaetigen, dass die 2-Mann-Stammtische in Marburg auch jedesmal
+ein Erfolg sind. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Artikel (Nibel,  5. Aug 2004, 00:02:11):
+~#! rn=Zook rt=1091615760 rg=treffen.bekanntmachungen
+~#! tid=1091606860
+Die 1-Nibel Stammtische mit vielen Gaesten in Rueti fand ich bisher immer
+noch die besten. 
+  - Nibel
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe (Boing,  9. Aug 2004, 23:31:28):
+Hi,
+da der Kleine Meierhof die naechsten 4 Wochen geschlossen hat, gehen 
+wir mal auf Wanderung. Erste Station am 12. August ist der Drache.
+Wegbeschreibung gibts bei Croft, der ist dort Stammgast. :)
+Start wie immer 20 Uhr.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Karlsruhe (Croft, 10. Aug 2004, 00:33:28):
+~#! rn=Boing rt=1092087088 rg=treffen.bekanntmachungen
+~#! tid=1092087088
+www.zumdrachen.de ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+DO-Stati (Morgoth, 12. Aug 2004, 16:21:12):
+So Leute, 
+ich hab mal meine Mails durchforscht und bin zu dem Schluss gekommen, dass der
+28.8. ein idealer Termin ist. Achtung! Dies ist ein Samstag, nicht wie ueblich
+ein Freitag.
+Bitte schreibt mir so schnell wie moeglich ob ihr zum Stati kommt, nen
+Schlafplatz braucht etc. 
+Der Ort steht noch nicht fest, ich versuch aber mal das Ameri"ZOMBIES AUS
+EIMERN!"ca zu organisieren :)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 19.8.2004 (Boing, 16. Aug 2004, 13:14:32):
+Hi,
+auf unserer Wanderung geht es diesmal ins La Cage (http://www.lacage.info),
+ab 20 Uhr wie immer.
+Reservierung werde ich noch vornehmen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: DO-Stati (Morgoth, 19. Aug 2004, 18:36:35):
+~#! rn=Morgoth rt=1092320472 rg=treffen.bekanntmachungen
+~#! tid=1092320472
+
+Also, bisher hab ich zwei Mails (zusagen) bekommen. Falls das bis morgen Abend
+nicht wesentlich mehr geworden sind, gibts nix mit Stammtisch. Fuer 5 Leute
+mach ich mir den Aufwand nicht. Da koennen wir lieber wieder bei mir feiern ;)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 26.8.2004 (Boing, 20. Aug 2004, 11:53:59):
+Der naechste Stammtisch ist im Green Corner in Karlsruhe-Gruenwettersbach,
+Wegbeschreibungen gibt es auf Anfrage bei mir. Start wie immer 20 Uhr.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: DO-Stati (Morgoth, 26. Aug 2004, 21:29:38):
+~#! rn=Morgoth rt=1092933395 rg=treffen.bekanntmachungen
+~#! tid=1092320472
+
+So, nochmal ein update. Es haben sich zwar noch welche angemeldet aber es sind
+auch noch welche abgesprungen. Also vergessen wir das mit dem Stati mal.
+Vielleicht wirds ja naechsten Monat nochmal was...
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 2.9.2004 (Croft, 31. Aug 2004, 13:05:42):
+Nachdem der neue Wirt den Kleinen Meierhof schon am 1.9 wiedereroeffnet,
+sparen wir uns den 4. Auswaertstermin und schauen mal was aus unserer
+Stammkneipe geworden ist.  Beginn ist wie immer 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin (Pitfall, 31. Aug 2004, 23:05:19):
+Aloa,
+
+am 03.09.2004 ist mal wieder Stati in Berlin.
+Das ganze findet wie immer ab ca 20 Uhr im
+"Aufsturz" statt.
+
+Kommet zahlreich!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Berlin (Mieze,  1. Sep 2004, 13:52:26):
+~#! rn=Pitfall rt=1093986319 rg=treffen.bekanntmachungen
+~#! tid=1093986319
+Schade, das ist einen Tag zu frueh. Am 4. kommt mein Klavier, da muss ich bis
+Mittag in Essen sein.
+
+Mieze - hat Termine
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Karlsruhe 2.9.2004 (Croft,  1. Sep 2004, 16:49:21):
+~#! rn=Croft rt=1093950342 rg=treffen.bekanntmachungen
+~#! tid=1093950342
+Da der Wirt diese Woche die Kueche noch nicht betreiben darf (fehlt wohl
+noch die Lizenz zum Kochen), gehts jetzt doch ins Litfass (naehe Marktplatz,
+hinter der kleinen Kirche).  Beginn ist wie immer 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Berlin (Pitfall,  2. Sep 2004, 18:12:38):
+~#! rn=Pitfall rt=1093986319 rg=treffen.bekanntmachungen
+~#! tid=1093986319
+Auf vielfachen Wunsch hin wird der Stati aus dem Aufsturz verlegt.
+Die neue Location ist:
+
+Exes-Pool
+Style: Bar, Caf, Restaurant
+Friedrichshain
+Wuehlischstr. 30 (unweit Warschauer Strasse/Frankfurter Tor)
+10245
+
+
+Pit*
+
+-----------------------------------------------------------------------------
+
+
+
+Grillen (Miril,  4. Sep 2004, 01:33:03):
+Wer heute abend (also Samstag, 4.9.) Zeit und Lust hat, kann gerne zum
+Grillen zu mir kommen. Er/Sie moege nur bitte Bescheid sagen.
+
+Anlass: Ein Feigling treibt sich in der Gegend rum :)
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+STammtisch in Xlendi (Mesirii,  4. Sep 2004, 12:50:57):
+Wir haben fuer morgen Abend (Sonntag, 5.9.2004; 20:00( einen Super-Sonder
+Stammtisch im schoenen Xlendi auf Gox^hzo der Schwesterinsel von Malta
+angesetzt. Treffen in Moby Dick am Stand von Xlendi, da gibts Pizza und andere
+e leckere Dinge. Spaeter am Abend koennen wir in eine le^ der lokalen Bars
+weiter
+ziehen. 
+Bs^hisher mit dabei: Zephy,^hr, Tryfan, Muadib, Mesirii
+Wir hoffen auf zaehlreiches Erscheinen, das Entfernungsargument zaehlt wie
+immer nicht.
+Wenn ihr nicht kommt r` tin trinken wir das ganye^h^hze Bier alleine.
+
+Mesi, zum Stammtischausrufer ernannt.
+P.S. Sorry fuer die Fehler aber im Applet funktiert weder Backspace, Del,
+Ctrl-h
+
+-----------------------------------------------------------------------------
+
+
+
+"Stammtisch" in Nuernberg 11.09 (Hight,  9. Sep 2004, 20:43:02):
+Aus gegebenem Anlass (es sind mehr als 3 Mudder im einzugsgebiet) werden sich
+selbige am Samstag 11.09 in Nuernberg zusammentun.
+
+Zeit ca. 20:00
+Ort   Treffen warscheinlich am Bahnhof zwecks aufbruch zu den Getraenken
+
+Als Ziele schlage ich folgendes vor
+
+Draussen - Biergarten auf der Wiesen
+Gutes Bier - Landbierparadies
+Cocktails und lecker Mexicanfood - Our-Place in Fuerth (wie es da am
+Wochenende zugeht weiss ich allerdings nicht)
+
+mehr Vorschlaege fallen mir grade nicht ein da ich satt und zufrieden bin ,o)
+
+wer also lust hat zu kommen ist herzlich eingeladen 
+
+
+Chris aka Hight
+
+-----------------------------------------------------------------------------
+
+
+
+Kaffeerunde in MS am 8. Sep. 2004 (Zook, 10. Sep 2004, 20:04:59):
+Die Kaffee-Runde in Muenster im Floyd-Caffee am Dom war ausgesprochen gut
+besucht und sehr huebsch.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 16.9.2004 (Boing, 14. Sep 2004, 10:05:20):
+Nachdem der neue Wirt im KM den Eignungstest nicht bestanden hat, gehen
+wir erstmal auf Wanderschaft. Erste Station ist das Green Corner in
+Gruenwettersbach. Wegbeschreibung auf Anfrage, los gehts wie immer um
+20 Uhr.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Abschiedsstati Halle (Cassandra, 14. Sep 2004, 14:00:14):
+Da uns eine langjaehrige Mitbewohnerin unserer schoenen Stadt Halle nun
+endgueltig verlassen wird, rufe ich hierzu zu einem Abschiedsessen aus.
+
+Zeit: Donnerstag 16.9 (uebermorgen)
+      Ca. 20 Uhr
+Ort:  Meine Wohnung, wegbeschreibung bei mir
+
+Da wir kochen wollen und dementsprechend auch planen muessen, bitte vorher
+anmelden. (Bei mir oder bei Mieze)
+
+Cassy
+
+-----------------------------------------------------------------------------
+
+
+
+Moma-Stammtisch Berlin (Gloinson, 16. Sep 2004, 23:14:34):
+Zur Verabschiedung der MoMa und um diese vielleicht noch zu besuchen und
+ueberhaupt setze ich jetzt kraft einer weiteren Schnapsidee des inoffiziellen
+Mittwochs-Stammtisches einen:
+
+ MOMA-SonderStaTi
+        im
+ Exes Pool in der Wuehlischstrasse 30 (siehe letztes Mal)
+         am
+ Freitag, den Dingsda, 17. also morgen ab 20 Uhr
+
+an. Nach der zweiten Happy Hour (1-2 Uhr) werden sich einige von uns gen MoMa
+absetzen, da dieses von heute bis Sonntag run um die Uhr aufhat und die
+Chancen fuer Nacktschwaermer besser sein duerften. Genau.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 23.9.2004 (Croft, 21. Sep 2004, 16:35:38):
+Die zweite Station der Wanderschaft wird im Litfass (naehe
+Marktplatz, hinter der kleinen Kirche) sein.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Arathorn, 21. Sep 2004, 20:51:42):
+Hallo zusammen,
+
+ich habe endlich jemanden erreicht, der mir in unserer Stati-Kneipe einen
+Tisch reservieren konnte. ;-)
+
+Es findet wieder mal ein Stammtisch in Bochum statt, und zwar am
+
+      Freitag, dem 24. September 2004
+
+      Ort: Zu den Vier Winden,
+           Hofsteder Strasse / Ecke Feldsieper Strasse
+           Bochum
+
+      Zeit: wie immer ab 20:00 Uhr
+
+Kommet zuhauf! 
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 30.9. - 21.10. (Hobo, 24. Sep 2004, 13:13:26):
+Gestern im Litfass wurden mit tauben Ohren die naechsten Stammtischorte
+festgelegt. Den vierten habe ich ganz frech selbst angehaengt ;) Termin ist
+bekanntermassen immer Donnerstag 20 Uhr.
+30.09. LaCage
+07.10. Drache
+14.10. Pizzahaus
+21.10. Green Corner
+
+Wegbeschreibungen und andere Infos gibt's bei beliebigen zufaellig muddenden
+Karlsruhern, soweit sie nicht Hobo heissen ;)
+
+Und am 28.10. gibt's hoffentlich im KM schon wieder einen neuen Wirt.
+
+   Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Nuernberg (Bambi, 26. Sep 2004, 00:56:21):
+Ich wuerde am kommenden Samstag gerne einen Stati machen. Das ist der 2.
+Oktober 2004. Bei Interesse bitte bei mir melden.
+
+-----------------------------------------------------------------------------
+
+
+
+Dresden! (Zook,  3. Okt 2004, 19:40:16):
+~#! on=Grimmborn ot=1096825158 og=treffen
+~#! on=Zook ot=1096823441 og=treffen.bekanntmachungen
+Ich berichte gerne, dass die Stammtische beim Griechen, in der Neustadt
+und in der *nuschel*-Strasse ziemlich klasse waren! 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Dortmund 12. 10. (Rochus,  6. Okt 2004, 15:33:24):
+Stati im Atlantico (Dortmund, Weissenburger Str. 35)
+Am 12. 10. 2004 um 20 Uhr.
+
+Ein Specialguest wird ueber uns wachen ;-)
+
+Dienstags kosten da ALLE Cocktails 4 Euro ;)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Muensteraner Stammtisch am 15.10. (Catweazle,  6. Okt 2004, 15:47:24):
+
+Moin!
+
+Das es sowas noch gibt! Ein echter Muensteraner Mudder-Stammtisch. 
+
+Ich kann nicht mal mit tollen Special Guests (bisher) aufwarten, ich kann nur
+bekanntgeben, dass es ungewoehlicherweise mal einen gibt und alles herzlich
+geladen ist (auch special guests :).
+
+Stattfinden tut der Stammtisch am 
+
+                          15. Oktober
+in der 
+                          Cavete (Kreuzstrasse 38)
+in 
+                          Muenster (48143)
+ab
+                          20:00 Uhr
+
+Kommet zuhauf!
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Muenchen? (Mieze,  8. Okt 2004, 19:05:53):
+Hallo Mudgemeinde,
+
+bin naechste Woche beruflich in Muenchen. Wie schauts da mit nem Stammtisch
+aus? 
+
+Mieze - mal wieder bei den Weisswuersten
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 28.10. - 18.11. (Croft, 21. Okt 2004, 23:20:06):
+Ein Monat ist wieder verstrichen und wir haben die naechsten Lokalitaeten
+ausgewuerfelt:
+28.10.04 Wolfsbraeu
+ 4.11.04 Stoefchen
+11.11.04 Drache
+18.11.04 Green Corner
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchenessen im Elsass 20.11. (Croft, 21. Okt 2004, 23:22:02):
+Den Karlsruhern geluestet es mal wieder nach Flammkuchen.  Als Termin ist
+soweit der 20.11. vorgesehen.  Das Lokal steht noch nicht fest, Vorschlaege
+im Elsass werden noch entgegengenommen ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flammkuchenessen im Elsass 20.11. (Croft, 21. Okt 2004, 23:26:38):
+~#! rn=Croft rt=1098393722 rg=treffen.bekanntmachungen
+~#! tid=1098393722
+Achso: bei Interesse Mail an mich, damit ich einen Ueberblick ueber die
+Personenanzahl bekomme.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtische Karlsruhe 28.10. - 18.11. (Hobo, 23. Okt 2004, 19:52:04):
+~#! rn=Croft rt=1098393606 rg=treffen.bekanntmachungen
+~#! tid=1098393606
+Achja, und in fuenf Wochen ist dann evtl. schon wieder Stammtisch beim neuen
+KM-Wirt *grins*
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin 29.10 (Gloinson, 24. Okt 2004, 00:25:41):
+Es ist mal wieder Zeit uns in unserer neuen StaTi-Kneipe zu versammeln und uns
+gegenseitig Luegenmae^WLegenden von unseren Abenteuern zu erzaehlen. Also:
+
+ StaTi am Freitag den 29. Oktober im eXes Pool ab 20 Uhr
+ in der Wuehlischstrasse 30 - Happy Hour von 18:00 bis 22:00 Uhr
+
+Ein altbekannter weisser Nachwuchswuestendingsda wird zu Gast sein.
+
+Der naechste Stammtisch wird dann voraussichtlich am 26. November stattfinden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Fuerth 27.10. (Marcus, 26. Okt 2004, 17:44:23):
+Hi,
+
+Es wird einen kleinen Stammtisch in Fuerth geben, morgen, am 27.10.
+
+Ort: Irish Cottage Pub, Gustavstrasse, Fuerth
+Anfahrt: U1 bis Fuerth Rathaus und da Obstmarkt/Busbahnhof aussteigen und 
+         in die Seitengasse huepfen.
+Zeit:    derzeit vorgeschlagen: 21:15
+Angemeldet: Lacri, Gwenili, Marcus
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Flammkuchenessen im Elsass 20.11. (Croft, 13. Nov 2004, 10:49:20):
+~#! rn=Croft rt=1098393998 rg=treffen.bekanntmachungen
+~#! tid=1098393722
+Nachdem es etwas laenger gedauert hat, bis das Lokal feststeht, gibts
+endlich die letzten Details.  Das Ziel ist die
+
+Auberge Ecurie du Rhin
+33, rue des Roses
+67480 Neuhaeusel
+0033(0)388864064
+
+Momentan ist dort fuer 15-20 Leute auf 19:00 reserviert, und bis
+naechsten Donnerstag sollte ich genauere Informationen ueber die
+letzten unentschiedenen Leute haben, damit noch mal genauer Bescheid
+gegeben werden kann.
+
+Treffpunkt wird wieder der Uniparkplatz am Fasanengarten um 18:00
+sein.  Falls jemand eine Wegbeschreibung zum Treffpunkt braucht:
+bitte melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Nuernberg (Bambi, 16. Nov 2004, 17:40:19):
+Hi.
+Wer Lust an nem Stati am Samstag in Nuernberg hat, kann mir mal bitte Bescheid
+geben. Ich bin dafuer, den dieses mal nicht in Fuerth stattfinden zu lassen.
+MfG, Bambi.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin 26.11. (Gloinson, 18. Nov 2004, 21:58:39):
+Selber Ort, selbe Zeit:
+
+ StaTi am Freitag den 26. November im eXes Pool ab 20 Uhr
+ in der Wuehlischstrasse 30 - Happy Hour von 18:00 bis 22:00 Uhr
+
+Gaeste haben sich bisher nicht angekuendigt, aber es gibt ja sicherlich genug
+eigene neue Schnurren von komischen an fuerchterlichen Bknors verendeten
+Chaoten und anderen Albernheiten zu erzaehlen ... koemmet in Scharen!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Nuernberg (Bambi, 19. Nov 2004, 21:54:45):
+~#! rn=Bambi rt=1100623219 rg=treffen.bekanntmachungen
+~#! tid=1100623219
+Aufgrund aktueller Ereignisse sind mehrere Nuernberger Mudder (darunter auch
+ich selbst) anderweitig gebunden. Wer dennoch einen Stati machen will, melde
+sich bitte bei Ereschi.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 25.11-16.12 (Croft, 22. Nov 2004, 14:28:27):
+Und wieder wurden im Green Corner die naechsten Lokale ausgewuerfelt:
+25.11 Drache
+ 2.12 Pizzahaus
+ 9.12 American Diner / La Cage
+16.12 Green Corner
+Wie ueblich ab 20:00 und Wegbeschreibungen gibts auf Anfrage.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+artikel Nuernberger Stati (Ereschi, 25. Nov 2004, 01:34:26):
+Hallo ihrs ;)
+
+Bambi hat mich mal kurz erwaehrt ;) Ich habe mir Zeit genommen und einen
+Restaurant ausgewaehlt. 
+
+Wer Lust und Zeit hat kann am Dienstag 30, ab 19 Uhr erscheinen ;)
+Wo? 
+Restaurant TEATRO (spanische und mexikanische Spezialitaeten)
+Nahe Woehrder See
+Thumenberger Weg 18
+
+Mit dem VGN: Tram 8 (Haltestelle Thumenberger Weg) 
+          oder Bus 45 (ueber U2 Schoppershog, Haltestelle: Weisser Weg oder
+Goldhammer)
+Genaue Wegbeschreibung erfolgt ueber www.vgn.de
+
+Ich wuerd mich auf Zahlreiches Erscheinen freuen, schreib mir ne kurze Mudmail
+falls ihr kommen wollt ;)
+
+Bis evtl Dienstag ;)
+Ereschi
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati mit Bauchtanz (Mesirii, 12. Dez 2004, 12:51:31):
+Liebe Mitmudder,
+
+natuerlich wollen wir Euch die angenehmen Seiten eines Aufenthalts an der
+Kueste des Roten
+Meers im Hotel Lotus Bay, Safaga, Aegypten nicht vorenthalten und laden Euch
+heute Abend
+zu einem Sonder-Spezial-Stammtisch in die hiesige Shisha-Bar ein.
+
+Er soll so gegen 20:30 starten und kann unter klarem Sternenhimmel bis zum
+Sonnenaufgang 
+gegen 6:00 andauern. Fuer Unterbringung im Hotel ist gesorgt. Wir sichern
+schon einmal die
+besten Plaetze mit direkten Blick auf das Amphitheater.
+
+Flugbuchungen koennen kurzfristig mit dem Zielflughafen Hurghada (HRG)
+vorgenommen werden.
+
+Wir haben keine Muehen gescheut und extra eine Bauchtanz-Gruppe zur
+angemessenen 
+Unterhaltung angeheuert. Daneben wird es Stella-Bier, tuerkischen Kaffee,
+schwarzen Tee 
+mit Room, schwarzen Tee mit Pfefferminze (macht garantiert albern) sowie
+ungeniessbaren 
+Weiss-, sowie gerade so trinkbaren Rotwein geben. 
+Alternativ auch leckeren Orangen-, Mango- oder Guavensaft.
+An harten Drogen wird Wisky und Uzo angeboten.
+
+Dem Namen der Bar ist schon zu entnehmen, dass hier in der Kifferecke auch dem
+Genuss der
+allgegenwaertigen Shisha-Wasserpfeifen gefroent werden kann.
+
+
+i.A. Mesirii, frischgebackener Chaosehezwerg
+
+P.S. Special Guests: die beiden trauten Rumschmuser V* und der Sheriff, 
+sowie die Beste aller Ehefrauen.
+
+Kommet zuhauf (c) Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Nuernberg (Bambi, 13. Dez 2004, 21:08:16):
+Donnerstag, 16.12.2004, ab etwa 19 Uhr im V8.
+Siehe auch: http://www.v8-bistro.com/
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsstati Bochum? (Nedime, 14. Dez 2004, 14:36:10):
+Huhu!
+
+Ich faends ganz nett, wenn wir unsere seit 2 Jahren ins Leben gerufene
+Tradition mal fortsetzen wuerden und nen kleinen Stati aufm Weihnachtsmarkt
+machen wuerden (zum Aufwaermen kann man ja anschliessend noch die "Vier Winde"
+aufsuchen.
+
+Ich wuerde Freitag Abend vorschlagen, d.h. den 17.12.2004 so gegen 19.30 Uhr.
+
+Wer kommen will, sollte sich mal hier melden (auch Muensteraner, Paderborner
+und sonstige Auswaertige sind gerne willkommen, ueber Schlafplaetze liesse 
+sich durchaus reden.)
+
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsstati Bochum? (Nedime, 17. Dez 2004, 01:37:47):
+~#! rn=Nedime rt=1103031370 rg=treffen.bekanntmachungen
+~#! tid=1103031370
+So, noch mal etwas praeziser:
+
+Wir treffen uns um 19.30 Uhr am Dr. Ruhr Platz in Bochum vor dem Glascafe 
+dort. 
+
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsstati Bochum? (Nedime, 17. Dez 2004, 17:23:53):
+~#! rn=Nedime rt=1103243867 rg=treffen.bekanntmachungen
+~#! tid=1103031370
+Huhu!
+
+Wem das heute um halb 8 zu nass wird, der kann sich ab 21.00 Uhr in den 
+Vier Winden einfinden ;). Ich hab dort einen Tisch reserviert.
+
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 23.12 (Croft, 22. Dez 2004, 18:00:28):
+Am 23.12 gibts den Vorweihnachtsstammtisch im Wolfbraeu am Werderplatz.
+Treffen wie immer 20:00, (Speise-)Karte gibts unter
+http://www.wirtshauswolfbraeu.de/
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Hamburg am Sonntag, 09.01.2005 (Perdita,  4. Jan 2005, 11:02:03):
+(nun haett ich beinah 09.01.2004 statt 2005 geschrieben, ooops)
+
+Moinmoin allerseits!
+Wir treffen uns ausnahmsweise einmal an einem Sonntag, naemlich dem
+09.01.2005.
+Mit Ruecksicht auf die arbeitende Bevoelkerung beginnen wir bereits um 18 Uhr.
+Ort wie schon so oft die Backatelle in Barmbek, Fuhlsbuettler Str. 136.
+Erscheint zahlreich!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 6. Januar (Boing,  6. Jan 2005, 14:01:52):
+Stammtisch ist heute im Green Corner in Gruenwettersbach. Start wie 
+immer um 20 Uhr.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecksstammtisch im Pott (Mieze,  6. Jan 2005, 16:38:18):
+
+Hallo zusammen,
+
+mit ein paar Leuten hier aus der Umgebung haben wir ueberlegt, ob wir sonntags
+mal einen Fruehstuecksstammtisch im Merlin (www.merlin-die-waldkneipe.de) in
+Essen Kupferdreh machen. Das Fuehstueck geht dort bis 15 Uhr. Terminlich haben
+wir noch nichts festgelegt. Wer hat noch Interesse? 
+
+Mieze - will mal wieder zum Stati
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe 13.1 (Croft, 10. Jan 2005, 17:51:52):
+Auf besonderen Wunsch gehts diese Woche wieder ins Green Corner in
+Gruenwettersbach.  Beginn um die ueblichen 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fruehstuecksstammtisch im Pott (Miril, 11. Jan 2005, 15:41:34):
+~#! rn=Mieze rt=1105025898 rg=treffen.bekanntmachungen
+~#! tid=1105025898
+Aus gegebenem Anlass (diverse Leute hier in der Gegend) wuerde ich ja den
+23.1.2005 vorschlagen. D.h. an dem Sonntag einen
+Fruehstuecksstammtisch im Merlin (kostet 9 Euro pro Nase, Buffet).
+
+Da ich das reservieren muesste, waere es nett, wenn ihr euch anmelden wuerdet.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Dresden (Seit langem mal wieder) (Deepblue, 12. Jan 2005, 15:10:46):
+Hi.
+
+Da nicht alle auf dem externen Verteiler stehen, leite ich Vardions Mail mal
+hierher weiter:
+
+Am Freitag wird in Dresden seit langem mal wieder ein Stati stattfinden. Wir
+treffen uns 20 Uhr im Feldschloesschen (Budapester Str. 32, 01069 Dresden).
+
+Ciao
+
+Deep*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dresden (Seit langem mal wieder) (Maharet, 12. Jan 2005, 16:36:51):
+~#! rn=Deepblue rt=1105539046 rg=treffen.bekanntmachungen
+~#! tid=1105539046
+Und da nicht alle, die auf dem Verteiler stehen, Vardion zutrauen, selbst
+einen Ankuendigungsartikel zu posten und daher nicht alle Informationen bieten
+koennen, vervollstaendige ich das mal, damit nicht alles so weit
+auseinandergepflueckt wird:
+
+Wir hatten angedacht, danach noch ein Rudelmudden zu veranstalten.  Also
+bringt ggf euren Laptop mit, einige Rechner stehen aber auch fuer
+Nichtlaptopper zur Verfuegung.
+
+Maharet
+
+
+PS Es wird wohl einige Gaeste von ausserhalb geben.  Und damit mein ich nicht
+nur mich.
+
+-----------------------------------------------------------------------------
+
+
+
+SonderSushiStammtisch Karlsruhe 16.1 (Croft, 16. Jan 2005, 18:33:11):
+Damit es auch hier angekuendigt ist: ein paar Karlsruher Mudder gehen mal
+wieder beim Asiaten im Filmpalast Sushi essen.  Und zwar um 19:30.  Wer
+noch so kurzfristig kommen kann, sei herzlich eingeladen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati N (Bambi, 18. Jan 2005, 21:19:52):
+Am Donnerstag "so um 7 Uhr abends" im V8. Zur Not koennen wir das auch als
+"kurzfristigen Sonderstati" deklarieren, wenn wir sonst die
+Mindestanwesenheitsquote nicht erreichen. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck am 23.1. (Miril, 20. Jan 2005, 18:56:47):
+Also noch mal konkreter:
+Am Sonntag um 11.00 Uhr macht der Laden auf (www.merlin-die-waldkneipe.de).
+Fruehstueck gibts bis 15.00 Uhr. Ich wuerde mal vorschlagen, dass wir uns 
+gegen 11 dort treffen. Da groessere Horden wohl eine Tischreservierung
+benoetigen, bitte ich alle, die dorthin wollen, mir eine mail zu schicken,
+damit ich mal ne konkrete Zahl hab.
+
+Und das bitte bis Freitag, wenn moeglich.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin, 11. Februar (Gloinson, 20. Jan 2005, 22:21:45):
+Wird Zeit sich im neuen Jahr mal wieder zu treffen um den Abgesang auf die 
+guten Vorhaben von Sylvester anzustimmen.
+
+Selber Ort, selbe Uhrzeit, neue Lueg^WAbenteuer und hoffentlich viele Gaeste:
+
+          11. Februar um 20 Uhr in der Wuehlischstr. 30
+                               im
+                            eXes Pool
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Croft, 20. Jan 2005, 22:56:06):
+Eine kleine Aenderung ist bekannt zu geben:
+20.1 Wolfbraeu (http://www.wirtshauswolfbraeu.de/)
+27.1 Zum Drachen (http://www.zumdrachen.de/)
+ 3.2 La Cage (http://www.lacage.de/)
+10.2 Green Corner
+Beginn ist wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Spontaner Stati im ICE 642 (Maharet, 22. Jan 2005, 10:35:26):
+Kommet zuhauf, jetzt, Wagen 24. Wir fahren gerade aus Hannover raus.  Mit
+Ueberraschungsgast.
+Es gibt Kaffee und Tee.
+
+-----------------------------------------------------------------------------
+
+
+
+Erster MG-Programmier-Brunch in Essen am 6.2. (Shakedbeer, 23. Jan 2005, 17:47:59):
+Hi!
+
+Nachdem wir heute das Merlin getestet haben (einige waren ja schon zuvor da)
+haben wir es fuer gut befunden und dank kostenlosem WLAN-Zugang fuer ein
+Programmier-Brunch ausgewaehlt. Wer immer sich ein Notebook schnappen moechte,
+um seine Projekte voranzutreiben, ist herzlich eingeladen dazuzustossen und
+sich nebenbei fuer 9,-- EUR den Bauch vollzuschlagen.
+
+Zwecks Voranmeldung, bitte bis zum Mittwoch davor Mail an mich.
+
+Bis dann!
+
+Shaky.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Erster MG-Programmier-Brunch in Essen am 6.2. (Shakedbeer, 23. Jan 2005, 17:51:01):
+~#! rn=Shakedbeer rt=1106498879 rg=treffen.bekanntmachungen
+~#! tid=1106498879
+Ach ja... Natuerlich sind auch Spieler und eventuelle "Detailsklaven" gern
+gesehen. Ausserdem ist vorgesehen, dieses Event vierzehtaeglich zu
+wiederholen.
+
+Shaky.
+
+-----------------------------------------------------------------------------
+
+
+
+Zweites MG-Programmier-Fruehstueck am 20.2. (Shakedbeer,  6. Feb 2005, 13:41:56):
+Hi!
+
+Schon heute auf dem ersten Programmierfruehstueck beschlossen und verkuendet:
+Zweites Programmierfruehstueck
+20.02.2005, 11:00
+Merlin die Waldkneipe, Essen
+http://www.merlin-die-waldkneipe.de
+WLAN: verfuegbar
+
+Fruehstuecksbuffet: 9,-- EUR
+
+Shaky.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtische Karlsruhe 20.1/27.1/3.2/10.2 (Croft,  9. Feb 2005, 11:48:16):
+~#! rn=Croft rt=1106258166 rg=treffen.bekanntmachungen
+~#! tid=1106258166
+Da Muadib und Boing in die Pampa geschickt worden sind und Hobo auf
+die Zwerge aufpassen muss, wird der Stati im Green Corner auf den
+17.2 verschoben.  Dafuer gehts diesen Donnerstag in den Drachen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Berlin, 11. Februar (Gloinson,  9. Feb 2005, 11:51:46):
+~#! rn=Gloinson rt=1106256105 rg=treffen.bekanntmachungen
+~#! tid=1106256105
+ Erinnerung: Diesen Freitag, 20 Uhr.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buxtehude (Muadib,  9. Feb 2005, 20:12:13):
+Boing und ich werden morgen abend, so gegen 20:00 in Buxtehude was essen
+gehen. Vermutlich im Rathauskeller. (sag ich einfach mal so).
+Wenn sich noch Leuts aus der Umgebung finden, koennte man es Stati nennen.
+
+Ich versuche morgen noch was genaueres hier reinzuposten. Sollte es nicht
+klappen, aber denoch Interessenten da sein, dann ruft an 01773065153.
+Bitte erst ab 18.30 anrufen. 
+Und bitte, die Nummer nicht missbrauchen, ich wuerde sie gerne noch behalten.
+
+-----------------------------------------------------------------------------
+
+
+
+SonderStaTi Berlin 22. Februar (Gloin, 16. Feb 2005, 11:58:39):
+Nachdem uns zu Ohren kam, dass sich wahrscheinlich ein katzwieseliger, 
+nichtwampiger Gast in Berlin befindet haben wir uns spontan entschlossen doch 
+einen Stammtisch zu seinen Ehren zur veranstalten.
+Zu diesem Zwecke wurde von einem Bierhobbit nebst Dunkelzwoelfe extra ein 
+neues Lokal auserkoren:
+
+
+    Stammtisch am Dienstag, den 22. Februar
+                  ab 20 Uhr
+                     im
+                  Acapuloco
+
+    WWW:  http://www.acapulco-berlin.de/
+    Ort:  bei U Bahnhof Weberwiese (U5 ab Alex)
+
+Der Laden ist prinzipiell ein Mexikaner mit Cocktailbar, hat am Dienstag den 
+ganzen Tag Happy Hour (Cocktail 3,85 Eulen).
+
+Koemmet in Scharen. Vergesst die Faehnchen nicht!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 17.2/24.2/3.3/10.3 (Croft, 17. Feb 2005, 22:23:58):
+Einfallslos wie wir sind, versuchen wir die letzten 4 Kneipen nochmal
+in der Reihenfolge:
+17.2 Wolfbraeu  (http://www.wirtshauswolfbraeu.de/)
+24.2 Zum Drachen (http://www.zumdrachen.de/)
+ 3.3 La Cage (http://www.lacage.de/)
+10.3 Green Corner
+Beginn ist wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Nuernberg, nein Fuerth (Bambi, 17. Feb 2005, 23:44:37):
+Morgen, nein heute... nein. Doch erst morgen findet vielleicht ein Stati in
+Venedig, aeh, im Venedig in Fuerth statt. Aber nur vielleicht, weil vielleicht
+findet auch woanders etwas anderes statt, wo wir hingehen und dann sind wir ja
+nicht beim Stati und so. Und wenn wir nicht beim Stati sind, ist auch kein
+Stati, nehme ich an.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 3.3/10.3/17.3 (Croft, 26. Feb 2005, 09:34:41):
+Nachdem mir ein kleiner Fauxpas mit dem Datum unterlaufen ist, hier
+die aktualisierten Termine
+ 3.3 Zum Drachen (http://www.zumdrachen.de/)
+10.3 La Cage (http://www.lacage.de/)
+17.3 Green Corner
+Beginn ist wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin 4. Maerz (Gloinson, 28. Feb 2005, 21:15:20):
+Stammtischzeit, viele komische Dresdner und lange nicht anwesende andere 
+Menschen haben angekuendigt einzufallen. Wer also nicht allzu allergisch auf 
+nette Menschen und Cocktails reagiert, finde sich doch ein zum
+
+
+    Stammtisch am Freitag, den 4. Maerz
+                  ab 20 Uhr
+                     im
+                  Exes Pool
+
+    Ort:  Wuehlischstrasse 30, 10245 Friedrichshain
+          Zwischen S/U Warschauer Strasse und U Frankfurter Tor
+
+Happy Hour wieder von 20-22 und 1-x Uhr.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Uebernatuerlicher Stammtisch Berlin 16. Maerz (Gloinson, 28. Feb 2005, 21:26:37):
+Zum Mittwoch, den 16. Maerz wurde dem Schreiber dieser Zeilen eine 
+Erscheinung der hoeheren Art im Club Melle angekuendigt. Zum Zwecke der 
+philosophische Diskussion dieses Phaenomens und dem Durchbrechen etwaiger 
+Fastenrituale findet also ein
+
+    Stammtisch am Mittwoch, den 16. Maerz
+                  ab 20 Uhr
+                     im
+                  Club Melle
+
+    Ort:  Mellenseestrasse 41/Keller
+          Unweit U Tierpark/S Btrbhf Rummelsburg
+          Bushaltestelle: Mellenseestrasse/Sewanstrasse
+
+statt. Studentisch akzeptable Preise, Cocktails auf Anfrage, grosse 
+Bierauswahl und harte Kickergegner locken.
+
+PS: Diverse andere Fuehrer der unfreien Welt sollten schon in den Tagen
+    davor erdolcht werden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+3. Programmierfruehstuecksstammtisch (Miril,  3. Mar 2005, 00:02:04):
+Huhu!
+Ich wollte nur noch mal dran erinnern, dass wir fuer Sonntag, den 6.3.
+wieder einen Tisch im Merlin reserviert haben (www.merlin-die-waldkneipe.de).
+
+Kommet zuhauf und mit USB Stick oder so.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stati KAR (Amaryllis, 10. Mar 2005, 19:08:18):
+190000 BMZIKAR
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 24.3/31.3/7.4/14.4/21.4 (Croft, 18. Mar 2005, 09:24:50):
+Die naechste Orte wurden festgelegt.  Wir probieren teilweise neues aus.
+24.3 Zum Drachen (http://www.zumdrachen.de/)
+31.3 Hofgalerie (http://www.hofgalerie.sportkneipe.de/)
+ 7.4 La Tegola (Jollystrasse 19)
+14.4 Green Corner (Gruenwettersbach, Am Wetterbach 90)
+21.4 Schnitzelparadies (Stutensee, Unteres Brunnenfeld 4)
+Beginn wie immer um 20:00.  Desweiteren scheint sich beim Kleinen
+Meierhof etwas zu tun.  Die Rollos waren die letzten Abende immer unten
+und der Kasten in dem normalerweise die Karte aushaengt (oder in dem
+ueber Urlaub u.ae. informiert wird) ist komplett leer.  Wir sind
+gespannt, was dort als naechstes reinkommt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+4. Programmierfruehstuecksstammtisch (Mieze, 18. Mar 2005, 21:48:33):
+
+Hallo,
+
+am 20.03. gibt es den 4. Programmierfruehstuecksstammtisch im Merlin
+(Essen-Kupferdreh) ab 11 Uhr. Wegbeschreibungen und Co gibt es unter
+www.merlin-die-waldkneipe.de
+
+Kommet zuhauf und mit USB Stick oder so. (c) Miril 2005
+
+Mieze - bringt einen Chaosdaemonen und Gast1 mit, aber nicht Gast1 aus Werne
+;o)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 14.4/21.4/28.4 (Croft, 13. Apr 2005, 18:19:46):
+Kleines Update bevor der letzte Artikel im Archiv versackt:
+14.4 Green Corner (Gruenwettersbach, Am Wetterbach 90)
+21.4 Schnitzelparadies (Stutensee, Unteres Brunnenfeld 4)
+28.4 Zeus (Durlach, Pfinztalstr. 75)
+Beginn wie immer um 20:00.  Bzgl Kleiner Meierhof sind keine Aenderungen
+zu vermelden.  Rollaeden scheinen immer unten zu sein und ausser der
+Putzanleitung haengt nichts im Schaukasten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Vier Winde zur Abwechslung (Miril, 21. Apr 2005, 22:45:34):
+Am Samstag wollen wir uns mal wieder im Vier Winde in Bochum treffen.
+Uhrzeit: 19.30 Uhr
+
+Wer Lust hat kann kommen, evtl. kann man auch schon mal ueber Party im Pott
+sprechen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck mal wieder (Miril, 28. Apr 2005, 18:58:47):
+Am
+
+Sonntag, den 1.5.2005 
+
+treffen wir uns mal wieder im Merlin zum sonntaeglichen Mudfruehstueck.
+Wollt ich nur noch mal dran erinnern.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+GrillStati 5.5.5 05:00 PM (Mesirii, 30. Apr 2005, 04:03:06):
+Bevor ich es wieder verschwitze, zu o.a. Termin wird nach der
+Maennertagswanderung ein
+Grillstati bei uns stattfinden.
+Bitte entweder fuer Selbstverpflegung sorgen (ggf. auch was fuer die anderen
+mitbringen)
+und/oder alternativ Bedarf anmelden.
+Ort: Holbeinstr. 139, Dresden
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe 5.5/12.5/19.5 (Croft, 30. Apr 2005, 22:12:24):
+Da die letzten Termine auch schon alle vorrueber sind, gibts hier die neuen:
+ 5.5  Zum Drachen              www.zumdrachen.de
+12.5  Green Corner             Gruenwettersbach, Am Wetterbach 90
+19.5  Kleiner Meierhof         Na wo wohl?
+Ja, ihr habt richtig gelesen.  Der KM hat am 13.5 Neueroeffnung.  Wir sind
+gespannt ob wir die Wanderung damit beenden koennen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Nuernberg (Bambi,  1. Mai 2005, 12:02:22):
+Donnerstag, 5. Mai 2005
+ab 19 Uhr
+Woehrder Wiese, Nuernberg
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck im Merlin (Miril, 14. Mai 2005, 09:47:49):
+Am Sonntag findet wieder unser allseits beliebter Programmierfruehstuecks-
+stammtisch im Merlin statt. Tolerant, wie wir sind, werden auch Wow'ler 
+nicht rausgeworfen.
+Zeit: ab 11 Uhr
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Karlsruhe (Croft, 19. Mai 2005, 23:39:42):
+Nachdem uns der Kleine Meierhof bis auf die etwas wenig umfangreiche
+Speisekarte wieder zusagt, werden wir dort bis auf weiteres immer Donnerstag
+ab 20:00 anzutreffen sein.  Am gewohnten Tisch versteht sich.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin 8. Juni (Gloinson, 25. Mai 2005, 13:20:42):
+
+Aufgrund aktuellen Anlasses (Auftauchen und Erscheinen diverser Einzelhexen 
+in Berlin) findet am 8. Juni einer dieser notorisch versoffenen Stammtische 
+im Club Melle statt.
+
+Motto des Abends wird "Denkt an Guard!" sein.
+
+Falls Guard doch auftaucht ist das Motto trotzdem "Denkt an Guard!". Nicht, 
+dass wir ihn im Club vergessen.
+
+                    Zeit: 8. Juni, ab 20 Uhr
+                    Ort:  Club Melle
+                          Mellenseestrasse 41, Berlin
+                          http://www.club-melle.de/
+
+Koemmet in Haeufchen!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Programmierfruehstueck (Miril, 28. Mai 2005, 08:46:12):
+
+Morgen, also am 29.05.2005 treffen wir uns wie gewohnt ab 11 Uhr im
+Merlin. Wollte ich nur noch mal dran erinnern.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtische Berlin 29. Juni/1. Juli (Gloinson, 29. Mai 2005, 02:51:01):
+Da ein schnell rennender und herummeepender Vogel demnaechst in Berlin
+aufschlaegt, wird
+es in Berlin
+
+(a) definitiv am 29. im Club Melle einen Vogel-StaTi geben
+(b) vielleicht am 1. Juli einen Grillstati geben, wobei das Wetter
+entscheidet.
+
+Details irgendwann.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Nuernberg (Bambi, 31. Mai 2005, 19:01:28):
+Am Freitag, den 10.Juni 2005 soll, so das Wetter mitspielt, auf der Woehrder
+Wiese ein Stati stattfinden.
+Wer Interesse hat, ist herzlich dazu eingeladen, vorbeizukommen.
+
+Beginnen soll das Ganze um ~19 Uhr.
+
+-----------------------------------------------------------------------------
+
+
+
+Spontanstati in Bochum (Taranis, 17. Jun 2005, 23:33:28):
+Wir haben uns spontan entschlossen uns morgen Abend in den Vier-Winden in
+Bochum zu treffen. D.h.
+
+Sa, 18.06.2005, 20:00 in den Vier-Winden,
+Hofsteder Strasse 94 in Bochum.
+(Wegbeschreibung auf Anfrage)
+
+
+Falls wir dort keinen Platz mehr finden, gehen wir vorraussichtlich ins
+Mandragora im Bermuda-Dreieck.
+Bitte ueberprueft ggf. ob ihr eine Mobiltelefonnr. von Requiem, Taranis,
+Arathorn oder Mieze habt, fuer den Fall, dass wir woanders hinmuessen. ;-)
+
+Kommet zuhauf! (Wer hat da denn das Copyright? *g*)
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Berlin 1. Juli (Gloinson, 22. Jun 2005, 14:11:18):
+Da demnaechst einer dieser komischen Mudder aus dem Sueden vorbeimeept, rufe
+ich hiermit einen Stammtisch zum Freitag, den 1. Juli aus.
+
+Anbetracht der Moeglichkeit guten Wetters findet dieser Stammtisch
+voraussichtlich grillenderweise im Gruenen statt. Der genaue Ort ist hiermit
+zur Planung ausgeschrieben.
+
+Meine Vorschlaege sind vorerst:
+Langer See:
+http://www.multimap.com/map/browse.cgi?lat=52.4075&lon=13.6192&scale=5000
+(S Gruenau, Tram 68 bis Strandbad Gruenau oder Richtershorn)
+Volkspark Friedrichshain:
+http://www.multimap.com/map/browse.cgi?lat=52.5294&lon=13.4444&scale=5000
+
+                    Zeit: 1. Juli, ab 18 Uhr
+                    Ort:  zu bestimmen
+
+Bei schlechtem Wetter wuerden wir wieder in den exes-Pool zum Cocktailtrinken
+ausweichen.
+
+Koemmet in Haeufchen!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Karlsruhe (Hobo, 28. Jun 2005, 14:00:19):
+Hallo,
+wir werden am Samstag, den 2. Juli wieder mal bei unserem Ex-Ex-Wirt (Tunesier
+wird nicht mitgerechnet) vorbeischauen. Dafuer treffen wir uns um 16 Uhr auf
+dem altbekannten Uniparkplatz an der Informatik bzw. fuer Direktkommer um
+16:30 Uhr in Buechenau in der Seemuschel.
+
+Wer kommen will, soll mir bitte eine Mail schicken, damit Panos auch genug
+Essen und Platz fuer uns hat :)
+
+Ciao
+
+    Karin
+      - aeh, Hobo ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch Berlin 1. Juli (Gloinson,  1. Jul 2005, 00:51:30):
+~#! rn=Gloinson rt=1119442278 rg=treffen.bekanntmachungen
+~#! tid=1119442278
+Aufgrund des Wetterberichtes wird der Stammtisch gaaanz spontan wieder
+mal nach drinnen verlegt. Also:
+
+    Stammtisch am Freitag, den 1. Juli
+                  ab 20 Uhr
+                     im
+                  Exes Pool
+
+    Ort:  Wuehlischstrasse 30, 10245 Friedrichshain
+          Zwischen S/U Warschauer Strasse und U Frankfurter Tor
+
+Happy Hour wieder von 20-22 und 1-x Uhr.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 14.7 (Croft,  8. Jul 2005, 14:51:54):
+Da wir die Stammtischwanderung fast etwas vermissen, wurde beschlossen
+einmal im Monat einen anderen Ort aufzusuchen.  Der Uebersicht wegen
+wird dies immer der erste Donnerstag des Monats sein.  Da wir diesen
+Monat aber schon jeniglichen Donnerstag im KM waren, geht es naechste
+Woche ins Green Corner, Gruenwettersbach, Am Wetterbach 90.  Beginn
+wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch am 01.08.2005, 15:00 im ICE 549 (Mesirii,  1. Aug 2005, 13:53:30):
+
+bisher anwesend: Maharet, VanHelsing, Mesirii.
+
+Verpflegung haben wir etwas da, der Rest kann
+bei der DB erworben werden.
+
+Kommet zuhauf.
+
+
+Mesi, Ankuendigungszwerg
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 4.8 (Croft,  1. Aug 2005, 18:24:58):
+Diesen Donnerstag treffen wir uns im Drachen (www.zumdrachen.de).  Beginn
+wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck im Merlin (Miril, 20. Aug 2005, 10:30:29):
+
+Morgen, am 21.08.2005 treffen wir uns mal wieder um gemuetlichen Programmier-
+Icewars-wasauchimmer-Stammtisch im Merlin. Auswaertige sind wie immer
+willkommen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtish in der Ta Nona Bar in Xlendi  auf Gozo (Muadib, 23. Aug 2005, 20:02:54):
+Hi,
+
+am kommenden Samstag findet ein Stati in besagter Bar statt.
+Es kommen sicher> Vanion, tryfan, Zephzyr und Muadib.
+
+Gruss
+
+   Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 1.9 & 8.9 (Croft, 25. Aug 2005, 21:42:12):
+Da der naechste Donnerstag der erste Donnerstag des Monats ist, sind
+wir nicht im KM anzutreffen, sondern diesmal im Green Corner
+(Gruenwettersbach, Am Wetterbach 90).  Und den Donnerstag darauf am
+8.9 treibt es uns dann wieder in den Drachen (www.zumdrachen.de).
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Darmstadt am 22. September 2005 (Zook, 31. Aug 2005, 17:16:33):
+Ohne Erbarmen findet nun wieder einmal ein Stammtisch in Suedhessen
+statt. Am Donnerstag, 22. September 2005, treffen wir uns in 
+Darmstadt.
+
+Der genaue Orte kann in diesem Medium nachgelesen werden; wer nicht 
+regelmaessig hier liest, kann auch eine Informationsmail von mir haben.
+
+Gruss, Zook.
+
+PS: Zwecks Oertlichkeit waere es nett, dass Nicht-uebliche-Verdaechtige
+vielleicht kurz bei mir notifizieren, wenn sie kommen moechten... 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Darmstadt am 22. September 2005 (Zook, 31. Aug 2005, 22:26:25):
+~#! rn=Zook rt=1125501393 rg=treffen.bekanntmachungen
+~#! tid=1125501393
+Es ist mir eine besondere Ehre folgendes bekannt zu geben:
+
+Ich habe kraft meiner mir verliehenen Rechte Ark als apostolischen
+Gesandten und Beauftragten zur Festlegung des Stammtischortes ernannt.
+
+Ich approbiere hiermit feierlich seine Festsetzung in vorbezeichneter
+Angelegenheit:
+
+Der Stammtisch findet um 19 Uhr im Hotenplotz statt.
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stammtisch in Darmstadt am 22. September 2005 (Zook, 31. Aug 2005, 22:27:25):
+~#! rn=Zook rt=1125519985 rg=treffen.bekanntmachungen
+~#! tid=1125501393
+Als Corrigendum gebe ich bekannt:
+
+Das goettliche Ohr und die Finger sind .... behandlungsbeduerftig.
+
+Es muss heissen: HOTZENPLOTZ!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril,  2. Sep 2005, 15:54:12):
+Am Sonntag, den 4.9. sind wir mal wieder im Merlin anzutreffen (ab 11 Uhr).
+Diesmal evtl. nicht ganz so lange, muss den Hund hueten ;).
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum (Humni,  9. Sep 2005, 20:43:40):
+In der Stadt, die schon Herbert Groehnemeyer sehr erfolgreich besang, wird es
+wieder einen Stammtisch geben. Im Vier Winde. Das sind einer mehr als drei,
+aber keineswegs fuenf.
+
+Das Ganze soll stattfinden am 10.9. ab ca. 20 Uhr oder so. Also, alle
+hinkommen. Byzantiner und Met trinken.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Hamburg am 23.09.2005 (Perdita, 13. Sep 2005, 19:22:57):
+Ahoi allerseits!
+Die Hamburger haben sich mal wieder zu einem Stammtisch aufgerafft!
+
+Am 23.09.2005 um 19.30 Uhr in der "Backatelle" in Hamburg-Barmbek,
+Fuhlsbuettler Str. 136.
+
+Ueber einheimische und auswaertige Gaeste wuerden wir uns sehr freuen!
+
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Berlin (Martini, 16. Sep 2005, 13:25:20):
+Fuer die, die nicht auf der Berliner Mailingliste stehen:
+
+Wir wollen Madness gebuehrend verabschieden, und zwar 
+im Exespool ab 20 Uhr.
+
+Kommet zu Hauf!
+
+Martini
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Berlin (Martini, 16. Sep 2005, 13:27:30):
+~#! rn=Martini rt=1126869920 rg=treffen.bekanntmachungen
+~#! tid=1126869920
+Ja, ich weiss, ich hab den Tag vergessen. :)
+
+Also nochmal: Samstag 17.9. im Exespool ab 20 Uhr.
+
+Martini
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stammtisch in Darmstadt am 22. September 2005 (Zook, 20. Sep 2005, 10:38:07):
+~#! rn=Zook rt=1125520045 rg=treffen.bekanntmachungen
+~#! tid=1125501393
+Als zweites Corrigendum gebe ich bekannt:
+
+Bitte ca. 30m weiter gehen (nach links oder rechts, je nachdem wie man
+guckt) und in den Hobbit einkehren. 
+
+Kurz: Nicht Hotzenplotz, sondern Hobbit.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stammtisch in Darmstadt am 22. September 2005 (Zook, 20. Sep 2005, 12:20:01):
+~#! rn=Zook rt=1127205487 rg=treffen.bekanntmachungen
+~#! tid=1125501393
+Zusammenfassung:
+
+Stammtisch in Darmstadt
+Am Donnerstag 22. September 2005 
+Um 19.00 Uhr im Hobbit
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin, 25.9.2005 (Humni, 24. Sep 2005, 17:52:02):
+Huhu,
+
+wie gewohnt ist morgen, ab 11 Uhr, Treffen in Essen im Merlin, mit Essen.
+Haha, ein Kalauer. Es ist aber kein Treffen in Brunch, wohl aber mit Brunch.
+Haha.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Essen-Kupferdreh am 30.09.2005 (Taranis, 25. Sep 2005, 19:34:11):
+Unter anderem anlaesslich der Anwesenheit zweier externer Gaeste (u.a. eines
+gewissen Ex-Erzmagiers *g*) treffen wir Ruhrgebietler mal wieder zu einem
+Abend-Stammtisch:
+
+Am Freitag, den 30.09.2005,
+im Merlin in Essen-Kupferdreh
+ab 20:00.
+
+Wegbeschreibungen auf Anfrage oder unter http://www.merlin-die-waldkneipe.de/
+
+Kommet zuhauf!
+
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 6.10 (Croft,  4. Okt 2005, 15:15:51):
+Diesen Donnerstag geht es wieder in den Drachen (www.zumdrachen.de).  Wo wir
+in der Woche darauf sind, haengt noch von der Verfuegbarkeit von 1-2 Autos
+ab.  Gruenwettersbach ist momentan mit oeffentlichen Verkehrsmittel aufgrund
+einer Baustelle nur mit Umweg zu erreichen.  D.h. klappt das mit den
+Fahrzeugen, so werden wir im Green Corner sein, klappt es nicht, ist der
+Drache ein recht wahrscheinlicher Stammtischort.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 13.10. 19:30 (Croft, 10. Okt 2005, 11:39:28):
+Die Idee mit dem Green Corner hat sich anderwaertig zerschlagen.  Der
+Stammtisch findet wieder im Drachen statt (www.zumdrachen.de),
+allerdings beginnt er schon ausnahmsweise um 19:30.  
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Spielemesse 13.-16.10. (Montanus, 11. Okt 2005, 09:15:01):
+Falls ich bis dahin wieder meine Stimme gefunden habe, kann man mich in Halle
+9 an Stand 38 treffen. Wie letztes jahr hinten in der Ecke.
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Nedime, 22. Okt 2005, 09:29:25):
+Morgen, am 23.10.2005 findet wieder unser Programmierstammtisch im Merlin
+statt. So zwischen 11 und 11:30 Uhr (meist letzteres) fangen wir an.
+
+Kommet zuhauf oder so und mit Laptop.
+
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchen (Hobo, 23. Okt 2005, 00:09:01):
+Es wintert sehr, die Zeit ist reif...
+
+Karlsruher und Gaeste wollen wieder einmal Flammkuchen essen gehen und haben
+dafuer Freitag, den 25. November auserkoren.
+Zielpunkt wird wieder das gleiche Lokal wie letztes Mal sein, genauer Weg,
+Uhrzeit etc. gibt's dann spaeter.
+
+Achja: Anmeldungen an mich per Mail bitte :)
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Marburg ... (Zook, 26. Okt 2005, 00:35:27):
+Ja sacklzement. Wie konnte mir das passieren? Nun ja, jedenfalls fand ein
+Stati in Marburg statt am 25. Oktober 2005, von 19.00 Uhr an im "Auflauf";
+villeicht schafft Ihr es ja das naechste mal auch zu koemmen. ;) Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum (Nedime, 26. Okt 2005, 22:42:45):
+Huhu
+
+am Samstag, den 29.10.2005 machen wir mal wieder einen Stammtisch in
+den Vier Winden in Bochum. Wegbeschreibung gibt es auf Anfrage. Diesmal
+kommen auch Arathorn und Dunst wieder. Wer sonst noch?
+
+Achja, ich vergess immer die Uhrzeit: 20:00 Uhr.
+
+Bis dann,
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril,  2. Nov 2005, 22:10:39):
+Huhu!
+
+Auch naechsten Sonntag, also am 6.11. um ca. 11:30 Uhr findet wieder unser
+vierzehntaegiger, allseits beliebter Fruehstuecksstammtisch im Merlin 
+(www.merlin-die-waldkneipe.de) statt.
+
+Kommet (mal wieder) zuhauf ;). Mudden fuer lau, Essen bis zum Abwinken und
+natuerlich die netten Ruhrgebietler sollten doch Anreiz genug bieten.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 3.11 (Croft,  3. Nov 2005, 00:46:19):
+Etwas kurzfristig, aber dennoch: morgen treffen wir uns mal wieder
+im Drachen (www.zumdrachen.de), Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Hamburg am 18.11.2005 (Perdita,  5. Nov 2005, 17:45:48):
+Ahoi allerseits!
+Es wird mal wieder einen Stammtisch in Hamburg geben, und zwar
+am Freitag, den 18.11.2005, um 19.30 Uhr
+wie immer in der Backatelle in Barmbek, Fuhlsbuettler Str. 138
+Auch externe Gaeste sind selbstverstaendlich herzlich willkommen!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 10.11 (Croft,  7. Nov 2005, 15:20:03):
+Diesen Donnerstag sind wir mal wieder im Green Corner (Gruenwettersbach,
+Am Wetterbach 90) zu finden.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 17.11. (Tassram, 16. Nov 2005, 18:16:21):
+Diesen Donnerstag treffen wir uns bereits um 19:30 Uhr und testen mal
+was neues aus: Taverne Der Grieche Kaiserstr. 16 (das ist am Kronenplatz
+links neben der Post).
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin mal wieder (Miril, 18. Nov 2005, 17:57:05):
+Hier werden keine Magier gemacht, dafuer aber gefruehstueckt, gespielt und
+programmiert oder geicewared. Wer sich dafuer interessiert, kann gerne am
+Sonntag, den 20.11. so gegen 11:30 Uhr dort aufschlagen.
+
+Wie immer gibts den Weg unter www.merlin-die-waldkneipe.de.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 24.11 (Croft, 22. Nov 2005, 17:42:35):
+Uebermorgen findet der Stammtisch mal wieder im Drachen (www.zumdrachen.de)
+statt.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchen am 25.11 faellt aus (Croft, 23. Nov 2005, 16:06:14):
+Da verhaeltnismaessig viele Leute abgesagt haben und wir vermutlich nur
+mit 7-9 Leuten unterwegs waeren (normalerweise waren es immer 15-20)
+verschieben den Termin auf Anfang naechsten Jahres.  Genaueres gibt
+es dann natuerlich wieder an dieser Stelle.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Darmstadt (Grimmborn, 25. Nov 2005, 21:51:13):
+~#! on=Miraka ot=1132937035 og=treffen
+Froit Oich, es klingeln die Glocken,
+alle Spieler horchen auf, frohlocken.
+In Darmstadt, der Weihnachtsmarkt, er liegt vor der Tuer,
+und viele Spieler sich ja freuen hierfuer.
+Deshalb spricht sie Euch an, die kleine Karateka:
+Kommet nach Darmstadt, am 01.12., zur neunzehnten Stund', fuerwahr.
+Der Gluehwein, er duftet so wuerzig, so gut,
+wir waermen uns rotbaeckig an des Feuers roter Glut.
+Der Aufruf erschallt einmal, nun schnallt an das Geschirr,
+kommet nach Darmstadt, schaut nicht so wirr.
+
+Miraka Mandros, Tigerin von Xian.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsmarkt Darmstadt (Miraka, 28. Nov 2005, 17:26:26):
+~#! rn=Grimmborn rt=1132951873 rg=treffen.bekanntmachungen
+~#! tid=1132951873
+Nachdem schon eine Absage kam, koennen sich die, die zu kommen planen, mal
+melden? Nicht, dass ich nachher alleine frierend rumstehe. Treffpunkt waere am
+Luisenplatz, unterhalb vom Langen Ludwig, schaetze, das ist nicht zu verfehlen
+:-)
+
+Miraka Mandros, Tigerin von Xian.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 1.12 (Croft, 29. Nov 2005, 11:08:27):
+Diesen Donnerstag geht es nochmal in die Taverne Der Grieche am
+Berliner Platz (Kaiserstr. 16, neben der Post).  Beginn ist bereits
+um 19:30.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmarkt Darmstadt (Miraka, 29. Nov 2005, 13:32:56):
+~#! rn=Miraka rt=1133195186 rg=treffen.bekanntmachungen
+~#! tid=1132951873
+Ok, keiner gemeldet, ich friere ungern allein, also Verschiebung des Ganzen
+auf 06.12. Und jetzt erwarte ich mind. eine Meldung ... los!
+
+Miraka Mandros, Tigerin von Xian.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch-Vorankuendigung Hamburg 7.1.2006 (Perdita, 30. Nov 2005, 17:47:14):
+Moinmoin allerseits,
+hiermit kuendige ich schonmal den naechsten Hamburger Stammtisch an.
+Er wird ausnahmsweise an einem Samstag stattfinden, und zwar am 7.1.2006.
+Erwartete Special Guests bisher Muadib und Mieze.
+Naehere Details zu Zeit und Ort werden hier noch rechtzeitig bekannt gegeben.
+
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril,  2. Dez 2005, 18:52:10):
+Da man nun keinen Schneepflug mehr braucht, um dorthin zu kommen, wollte
+ich nur noch mal dran erinnern, dass am Sonntag, den 4.12. wieder einmal
+Fruehstueck im Merlin angesagt ist. Wie immer so gegen halb 12.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Essen (Taranis,  6. Dez 2005, 22:11:17):
+Wir haben uns entschlossen, auch dieses Jahr wieder einen Weihnachtsmarkt im
+Ruhrgebiet zu besuchen. Diesmal leider etwas kurzfristig, hoffentlich koennen
+trotzdem einige von euch. Also:
+Weihnachtsmarkt Essen,
+16.12.2005 ab 17:00
+
+Genauen Treffpunkt bitte bei Interesse erfragen, wir suchen uns noch einen
+markanten Punkt aus. Wenn jemand spaeter hinzukommen will, ist das auch kein
+Problem: Einfach melden, dann sprechen wir Treffpunkt und -zeit ab. :-)
+
+Kommet zuhauf!
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 8.12. (Tassram,  7. Dez 2005, 21:01:12):
+Da ich bisher nur von Quaak@Unitopia weiss, dass er morgen zum Stammtisch
+kommen wird, hab ich mal beschlossen, dass wir in den Drachen gehen und
+da gucken, ob noch irgendwer auftaucht.
+Tassram
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 15.12 & 22.12 (Croft, 14. Dez 2005, 12:13:26):
+Uebermorgen findet der Stammtisch im Drachen (www.zumdrachen.de)
+statt.  Beginn diesmal schon um 19:30.
+Und naechste Woche geht es dann ins Green Corner (Gruenwettersbach, Am
+Wetterbach 90), Beginn wie sonst immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 29.12 & 5.1 (Croft, 28. Dez 2005, 13:44:25):
+Morgen findet der Stammtisch auf Wunsch eines Gastes im Drachen statt
+(www.zumdrachen.de).  Die Woche darauf geht es dann wieder in die
+Taverne Der Grieche (Kaiserstr. 16, neben der Post).  Beginn ist
+jeweils um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin 1/06 (Miril,  3. Jan 2006, 21:33:57):
+Huhu
+
+am Sonntag, den 8.1.2006 duerfen die NPCs im Merlin mal wieder unser 
+Durchhaltevermoegen bewundern und uns mit Fragen zu dem komischen Spiel 
+loecher, dass wir da spielen. Treffen ist wie immer gegen 11.30 Uhr zum
+kreativen oder vielleicht dieses mal zum Ausruestungsfruehstueck.
+
+Wer nicht weiss, wo er hin muss: www.merlin-die-waldkneipe.de
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Hamburg am Samstag, 7.1.2006 (Perdita,  5. Jan 2006, 18:48:42):
+Hallo Freunde des Nordens!
+Wie vorangekuendigt steigt der Hamburger Stammtisch am Samstag, den 7.1.2006.
+Leider werden unsere beiden angekundigten Spezialgaeste nun wohl doch nicht
+dabei sein.
+Davon lassen wir uns aber nicht abschrecken, sondern treffen uns trotzdem
+
+um 19.30 Uhr
+in der Backatelle Barmbek, Fuhlsbuettlerstr. 138.
+
+Also eigentlich wie immer, nur dass es ein Samstag ist.
+
+Ahoi!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 12.1, 19.1 & 26.1 (Croft, 11. Jan 2006, 20:47:55):
+Die naechsten Termine:
+12.1 Green Corner (Gruenwettersbach, Am Wetterbach 90)
+19.1 Zum Drachen (www.zumdrachen.de)
+26.1 Taverne Der Grieche (Kaiserstr. 16, neben der Post)
+Beginn ist jeweils um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Flammkuchen! (Hobo, 25. Jan 2006, 23:37:47):
+Hallo allerseits,
+
+nach Stammtischgeplaenkel und zusaetzlicher "externer" Absprache steht der
+naechste Flammkuchentermin fest.
+
+Am Samstag, dem 11. Februar wollen wir uns wieder mal ins Elsass begeben und
+in der "Ecurie" in Neuhaeusel schlemmen.
+Anmeldungen wie immer an mich bis zum 4.2. (dann kann ich auch rechtzeitig
+bestellen)
+
+   Hobo - freut sich schon!
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Essen-Kupferdreh (Taranis, 29. Jan 2006, 23:22:32):
+Huhu,
+
+wir wollen uns mal wieder zu einem Abend-Stati treffen:
+
+am 11.2., ab 19:30,
+im Merlin (http://www.merlin-die-waldkneipe.de/),
+in Essen-Kupferdreh
+(Wegbeschreibungen auf Anfrage.)
+
+U.a. hat auch ein gewisser Ex-Exerzmagier sein Kommen angekuendigt. ;-)
+
+Wenn jemand in der Naehe uebernachten will bzw. Probleme mit dem
+Zurueckkommen spaetabends hat, besteht grundsaetzlich auch die Moeglichkeit,
+bei Miril oder mir zu uebernachten, bitte im Vorfeld dann mal melden.
+
+Ansonsten ueberlegen wir auch, am Sonntag noch gemeinsam zu fruehstuecken
+bzw. noch was zu unternehmen (Wandern, o.ae.).
+
+Kommet zuhauf!
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 2.2 (Croft, 30. Jan 2006, 13:06:49):
+Der Stammtisch findet diese Woche im Drachen statt (www.zumdrachen.de).
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch am 3. Februar in Berlin (Gloinson,  2. Feb 2006, 15:09:30):
+Hi,
+wir haben es etwas vergammelt anzusagen:
+
+           Stammtisch in Berlin
+           3. Februar (Freitag)
+           20 Uhr c(e)t
+           Cafe Seeblick
+           Rykestrasse 14, Berlin-Prenzlauer Berg
+           
+Wer es nicht erkennt: das ist die alte Stammtischkneipe Berlins. Lageplan
+hier:
+www.multimap.com/map/browse.cgi?lat=52.5369&lon=13.4209
+
+Erreichbar von U2 Senefelder Platz.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 9.2 (Croft,  8. Feb 2006, 15:03:23):
+Die Wahl ist auf das Green Corner (Gruenwettersbach, Am Wetterbach 90)
+gefallen.  Beginn 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flammkuchen! (Hobo, 10. Feb 2006, 22:33:08):
+~#! rn=Hobo rt=1138228667 rg=treffen.bekanntmachungen
+~#! tid=1138228667
+*huestel*
+Etwas kurzfristig, aber hoffentlich rechtzeitig:
+Treffpunkt fuer Flammkuchen am Samstag ist wie immer Uniparkplatz (allein
+schon, um mit weniger Autos zu fahren), 18:30 Abfahrt!
+
+Ciaociao
+
+    Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Erlangen (+ Nbg, Fue) Treffen in der Fat Lady (Marcus, 12. Feb 2006, 20:16:21):
+Hi,
+
+Da wir schon lange nicht mehr in der Fat Lady Sings in Erlangen
+waren, rufe ich einfach mal fuer morgen ein Treffen in der Fat Lady aus,
+so gegen 19:00 / 19:30. :)
+
+(Marcus, Lacri, Grimmborn als Gaeste bis jetzt)
+
+Auf zum Guinness vernichten!
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 16.2 (Croft, 14. Feb 2006, 23:53:05):
+Der Stammtisch wird diese woche im La Tegola (Jollystrasse 19) stattfinden.
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 23.2 (Croft, 20. Feb 2006, 12:52:54):
+Diese Woche gehts wieder in die Taverne Der Grieche (Kaiserstr. 16, neben der
+Post).  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 2.3 + 9.3 (Croft,  1. Mar 2006, 12:19:35):
+Morgen gehts mal wieder ins Green Corner (Gruenwettersbach, Am Wetterbach 90)
+und naechste Woche sind wir im Drachen (www.zumdrachen.de) zu finden.
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen Stammtisch 10.3. (Taranis,  6. Mar 2006, 20:04:57):
+Nachdem wirs letztes Mal total vergessen haben, irgendwas anzukuendigen,
+diesmal wieder ein paar Tage im Vorfeld. ;-)
+Wir treffen uns am
+Freitag, 10.3. ab 19:30
+im Merlin in Essen-Kupferdreh.
+
+Wegbschreibungen fuer Ortsfremde wie immer auf Anfrage. ;-)
+
+Viele Gruesse,
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+Stati mit Anoris am 10.03.06 (Gwen,  8. Mar 2006, 09:39:34):
+Da Anoris sich aus der verschneiten Schweiz ins sonnige Mittelfranken begibt,
+haben wir einen hoechst willkommenen Anlass, mal wieder einen Stammtisch
+zu organisieren.
+Interesse besteht reges, nur sind freie Termine anscheinend rar.
+Der Termin, der fuer die meisten passte ist der Freitag:
+
+Termin: 10.03.05, ab 19:00 Uhr (vor 20:00 Uhr ist Happy Hour ;) )
+Ort:    Sausalitos, Fuerth
+        (Friedrichstr. 7, naehe Bahnhof/Sparkassenzentrale => U1 moeglich)
+
+Sicher kommen wollen: Bambi, Gwen, Lacri, Marcus, Pardauz
+
+Ciao, Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 16.3 + 23.3 (Croft, 10. Mar 2006, 12:48:19):
+Am 16.3 geht es wieder in die Taverne Der Grieche (Kaiserstr. 16,
+neben der Post).  Und am 23.3 treffen wir uns in Gruenwettersbach in
+dem spanischen Restaurant.  Genauer Angaben, wo der Spanier ist, kann
+Hobo machen, die zwecks Platzreservierung auch kontaktiert werden
+muss.  Beginn ist jeweils um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Essen, 24.03. (Taranis, 22. Mar 2006, 22:57:20):
+Huhu,
+
+wiedermal etwas verkuerzte 'Vorwarnzeit', ich weiss, aber der naechste Stati
+bei uns ist:
+am Freitag, 24.03.
+ab 19:30
+im Merlin, Essen-Kupferdreh.
+
+Also, eigentlich alles ganz normal und wie immer. ;-)
+
+Viele Gruesse,
+Taranis
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 30.3 + 6.4 (Croft, 27. Mar 2006, 11:48:07):
+Die naechsten beiden Donnerstage gehts in den Drachen (www.zumdrachen.de).
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen Stammtisch 7.4.06 (Zesstra,  2. Apr 2006, 23:26:07):
+Huhu,
+
+so, diesmal wieder rechtzeitiger. ;-)
+
+Wir treffen uns am
+Freitag, 7.4. ab 19:30
+im Merlin in Essen-Kupferdreh.
+
+Wegbschreibungen fuer Ortsfremde wie immer auf Anfrage.
+Wenn jemand nicht unbedingt spontan entscheiden moechte, waer ich ueber ein tm
+oder ne kurze Mail dankbar (wenn moeglich bis Mittwoch Abend), dann kann man
+gezielter einen Tisch reservieren. ;-)
+
+Viele Gruesse,
+Zesstra
+
+P.S. Nur, um es nochmal zu erwaehnen: Falls jemand von weiter weg kommen
+moechte, bzw. nachts nicht mehr zurueckkommt, finde
+t sich eigentlich immer ne Moeglichkeit, bei jemandem hier zu uebernachten.
+Einfach mal einen von uns ansprechen. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 13.4 + 20.4 (Croft, 11. Apr 2006, 10:26:23):
+Diese Woche treffen wir uns in der Taverne Der Grieche
+(www.taverne-der-grieche.de) und naechste Woche im Green Corner
+(Gruenwettersbach, Am Wetterbach 90).  Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch am 5. Mai: Exes Pool (Gloinson, 19. Apr 2006, 01:39:04):
+Hallo Muddervolk,
+fuer Berlin ist hiermit angekuendigt ein Maistammtisch am Freitag, den
+5. Mai.
+
+  Ort:  Exes Pool, Wuehlischstrasse 30, Berlin Friedrichshain
+  Zeit: 5. Mai, ab 20 Uhr
+  
+  Map:  www.multimap.com/map/browse.cgi?lat=52.5096&lon=13.457&icon=x
+  BVG:  Linie M13, Wuehlischstrasse/Gaertnerstrasse
+
+Vielleicht ist es ja gar schon so warm, dass man draussen sitzen
+kann, dann ist das Raucherproblem fuer den werdenden Muddernachwuchs
+auch geloest.
+
+Falls das Wetter stimmt, koennten wir ja am Samstag (6. Mai) irgendwo
+angrillen. Diskussion einfach am Freitag Abend. Bis dann!
+
+Gloin(son)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 27.4 & 4.5 (Croft, 21. Apr 2006, 13:16:34):
+Wieder eine Doppelpackankuendigung: Naechste Woche gehts nochmal ins
+Green Corner (Gruenwettersbach, Am Wetterbach 90), uebernaechste Woche
+in den Drachen (www.zumdrachen.de).  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril, 27. Apr 2006, 21:19:46):
+Getreu unserem Motto "Besser spaet als nie" kuendige ich hiermit unseren
+allseits beliebten Freitagabendmerlinprogrammierstammtisch, der den
+vormals noch beliebteren Sonntagsmorgensfruehstuecksmerlinprogrammier-
+stammtisch abloest, an. Und zwar fuer 
+Freitag, den 28.04.2006, gegen 20.00 Uhr.
+
+Kommet zuhauf oder so.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch am 5. Mai: Exes Pool (Gloinson,  2. Mai 2006, 21:57:55):
+~#! rn=Gloinson rt=1145403544 rg=treffen.bekanntmachungen
+~#! tid=1145403544
+PS: Aufgrund der Anwesenheit von Suedfruchtzwergen nebst Snackereien fuer mich
+beginnt das Ganze schon:
+
+  Ort:  Exes Pool, Wuehlischstrasse 30, Berlin Friedrichshain
+  Zeit: 5. Mai, ab 19 Uhr
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Essen am 12.05.06 (Zesstra,  6. Mai 2006, 21:54:51):
+Huhu,
+
+Am Freitag, 12.05.2006, wollen wir uns wieder im Merlin in Essen-Kupferdreh
+treffen. Vielleicht kommen sogar ein paar seltener kommende Mitspieler. :-)
+Webgeschreibungen wie immer auf Anfrage und Uebernachtungsmoeglichkeit fuer
+externe Interessenten auch wie immer nach Abspreche. ;-)
+Achja, das ganze ab 20:00.
+
+Bis dahin,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 11.5 (Croft, 10. Mai 2006, 23:38:57):
+Zwar etwas kurzfristig aber dennoch: morgen treffen wir uns in der Taverne
+Der Grieche (www.taverne-der-grieche.de). Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 18.5 & 25.5 (Croft, 15. Mai 2006, 17:09:04):
+Diese und naechste Woche sind ihr im Drachen anzutreffen (www.zumdrachen.de).
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril, 26. Mai 2006, 01:32:02):
+Wie immer spaet, kuendige ich hier mal fuer in ein paar Stunden, also
+am 26.05.2006 den allseits beliebten Merlin Stammtisch an. Wir treffen
+uns so gegen 20.00 Uhr (hm, wir haben noch keinen Tisch bestellt, vielleicht
+dann doch lieber etwas frueher ;).
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 1.6 & 8.6 (Croft, 29. Mai 2006, 11:30:00):
+Diesen Donnerstag gehts wieder in die Taverne Der Grieche
+(www.taverne-der-grieche.de) und die Woche darauf ins Green Corner.
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Humni,  2. Jun 2006, 15:57:08):
+Huhu,
+
+in wenigen Stunden werden sich die ueblichen Verdaechtigen samt eines baldigen
+EMs in Essen im Merlin versammeln. Wird wohl 20 Uhr sein.
+
+Wer kommen mag, soll kommen, es gibt sicher leckere Parzivals und Bier.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 15.6 & 22.6 (Croft,  8. Jun 2006, 16:10:04):
+Naechste und uebernaechste Woche sind wir im Drachen anzutreffen
+(www.zumdrachen.de). Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Miril, 14. Jun 2006, 08:56:49):
+Am Freitag, den 16.6.06 treffen wir uns wieder im Merlin. Start sollte so
+gegen 20 Uhr sein.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin mal wieder... (Humni, 22. Jun 2006, 21:10:41):
+Huhu,
+
+wir treffen uns morgen in Essen im Merlin (mal wieder), 20 Uhr oder so, wie
+ueblich wirds bei mir vermutlich ein paar Minuten spaeter...
+
+Wegbeschreibungen und co wie immer gerne auf Anfrage.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 29.6 & 6.7 (Croft, 23. Jun 2006, 13:15:15):
+Naechste Woche gehts zum Griechen (www.taverne-der-grieche.de) und die Woche
+darauf ins Green Corner.  Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+StaTi Berlin 30. Juni, 16:50 Uhr (Gloinson, 29. Jun 2006, 02:05:51):
+Ok,
+der Wetterbericht sagt wolkig bei 24 Grad, also:
+
+Hiermit rufe ich einen Parkstammtisch aus:
+
+- Freitag, den 30. Juni ab 16:50
+- Volkspark Friedrichshain
+  - http://www.berlin-friedrichshain.com/volkspark.htm
+  - im "Neuen Hain" beim Kletterfelsen treffen
+    - Zugang von der Danziger Strasse aus, geradeaus, links kommt der Felsen
+
+Cakey und Claudia bringen einen Kasten Bier mit, wir werden einen Kasten
+Zuckerwasser besorgen. Essen sollte jeder selbst mitbringen. Wenn ich Cakey
+richtig verstanden habe, bringt er Schleppi und DVBT mit, meiner koennte als
+Backup dann wieder zur Verfuegung stehen (Reparatur).
+
+Koemmet zuhauf und bringt nicht die falschen Farben mit :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-StaTi 14.07. (Zesstra, 11. Jul 2006, 22:25:48):
+Huhu,
+
+wenn mich nicht alles taeuscht, wollen wir uns kommenden Freitag wieder im
+Merlin treffen. ;-)
+Das waere dann also:
+Fr. 14.07.2006,
+ab 20:00
+Im Merlin in Essen-Kupferdreh.
+
+Wegbeschreibungen natuerlich wie immer auf Anfrage. ;-)
+
+Kommet zuhauf! :-)
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 13.7, 20.7 & 27.7 (Croft, 12. Jul 2006, 13:36:44):
+Die naechsten 2 Wochen gehts wieder in den Drachen (www.zumdrachen.de) und
+danach dann ins Green Corner.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati 28.7. (Zesstra, 28. Jul 2006, 00:19:42):
+Huhu,
+
+wir haben mal wieder nicht dran gedacht, das rechtzeitig anzukuenden. :-(
+Also, wir treffen uns heute:
+28.7., im Merlin in Essen-Kupferdreh, ab ca. 20:00  ;-)
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 10.8, 17.8 & 24.8 (Croft,  8. Aug 2006, 13:15:01):
+Diese Woche gehts in den Drachen, naechste Woche zum Griechen und die
+Woche darauf ins Green Corner.
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati 18.8.06 (Zesstra, 14. Aug 2006, 23:02:16):
+Huhu,
+
+diesmal wieder halbwegs rechtzeitig. ;-)
+Wir treffen uns am naechsten Freitag,
+den 18.8.06
+im Merlin in Essen-Kupferdreh,
+ab 20:00.
+
+Kommet zuhauf!
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Essen: Merlin-Stati 01.09. (Zesstra, 29. Aug 2006, 10:18:27):
+Huhu,
+
+wir treffen uns jetzt kommenden Freitag, am 1.9. wieder im Merlin in
+Essen-Kupferdreh. Wie immer ab 20:00 (wir versuchen auch mal, wieder etwas
+puenktlicher zu sein *huestel*).
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 31.8 (Croft, 29. Aug 2006, 11:25:56):
+Am Donnerstag gehts wieder in den Drachen.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 7.9, 14.9 & 21.9 (Croft,  6. Sep 2006, 10:35:08):
+Folgende Reihenfolge wurde willkuerlich bestimmt:
+Drache
+Grieche
+Green Corner
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen: Merlin-Stammtisch am 15.09. (Zesstra, 11. Sep 2006, 22:56:39):
+Huhu,
+
+ich will mal wieder unseren Stati ankuendigen. ;-)
+Also, der naechste ist
+am Fr. 15.09.,
+ab 20:00
+wie immer im Merlin in Essen-Kupferdreh. ;-)
+
+Kommet _alle_! ;-)
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Nedime, 28. Sep 2006, 00:03:05):
+Huhu,
+
+am Freitag, 29.9, puenktlich zu Ferienbeginn, treffen wir uns mal wieder
+im schoenen Merlin in Essen Kupferdreh. Beginn ca. 20 Uhr. Diesmal werden
+wir das Mud stehenlassen ;) und dafuer lieber Bier trinken oder so.
+
+Kommet zuhauf!
+
+Nedime
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 28.9 & 5.10 (Croft,  4. Okt 2006, 11:59:58):
+Letzte Woche und diese Woche waren/sind wir ab 20:00 im Drachen anzutreffen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen, Merlin-Stammtisch (Zesstra, 10. Okt 2006, 12:13:47):
+Huhu,
+
+wir treffen uns wieder im Merlin am kommenden Freitag, 13.10.06, ab 20:00.
+
+Bis dann hoffentlich ;-)
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 12./19./26.10/2.11 (Croft, 10. Okt 2006, 13:15:21):
+Die naechsten Karlsruher Stammtische finden an folgenden Orten statt:
+12.10 Zum Drachen
+19.10 Zum Drachen
+26.10 Der Grieche
+ 2.11 Green Corner
+Beginn wie gehabt um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Stammtische 12./19./26.10/2.11 (Croft, 16. Okt 2006, 12:04:02):
+~#! rn=Croft rt=1160478921 rg=treffen.bekanntmachungen
+~#! tid=1160478921
+Die Buletten haben fuer eine Planaenderung gesorgt:
+19.10 Zum Drachen
+26.10 Green Corner
+ 2.11 Der Grieche
+Beginn wie gehabt um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Treffen am 20.10. in Essen (Zesstra, 17. Okt 2006, 19:24:46):
+Huhu,
+
+auch wenn leider 2 absagen mussten, wollen wir uns anlasslich der Spielemesse
+in Essen am 20.10. abends im Merlin treffen. (Wegbeschreibung auf Anfrage.)
+Ab 20:00 gehts los. (Wir versuchens zumindest. *g*)
+
+Also, wenn ihr zu der Zeit die Messe besucht, kommt doch einfach mal vorbei.
+;-)
+
+Viele Gruesse
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin (Zesstra, 26. Okt 2006, 09:17:59):
+Huhu,
+
+irgendwie hab ichs mal wieder vergessen, die Bekanntmachung zeitig zu
+schreiben... *seufz*
+Morgen ists wieder soweit, also
+Fr, 27.10. ab 20:00
+im Merlin.
+
+Achja, einen gelegentlichen Gast duerfen wir auch wieder begruessen. :-)
+
+Bis dann,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati im Merlin, 10.11. (Zesstra,  8. Nov 2006, 19:53:15):
+Huhu,
+
+eigentlich wollte ich das schon am Montag Abend schreiben, aber ich habs mal
+wieder vergessen.
+Unser naechstes Treffen im Merlin in Essen-Kupferdreh findet am kommenden
+Freitag (10.11.2006) statt, wie immer ab 20:00.
+
+Bis dahin,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 9.11/16.11 (Croft,  8. Nov 2006, 20:07:03):
+Die naechsten Lokalitaeten:
+ 9.11 Zum Drachen
+16.11 Zum Drachen
+Danach muessen wir noch auswuerfeln wohin es geht.
+Beginn wie gehabt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Essen - Merlin, 17.11. (Humni, 17. Nov 2006, 15:06:07):
+Huhu,
+
+da das Merlin den Besitzer wechselt und wir nicht wissen, wie lange wir noch
+WLan und Parzivals bekommen, ist heute abend spontan Parzivalfuttern angesagt.
+Wie immer so grob ab 20 Uhr, im Merlin, in Essen, im Ruhrgebiet, in
+Nordrhein-Westfalen, in Deutschland, in Europa, auf der Erde, im Sonnensystem,
+Galaxis Milchstrasse, im Standarduniversum (Parresum).
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal Essen - Merlin, 17.11. (Cirdan, 20. Nov 2006, 20:39:16):
+~#! rn=Humni rt=1163772367 rg=treffen.bekanntmachungen
+~#! tid=1163772367
+War nicht das Parresum die andere Seite und das Arresum diese hier? Oder doch
+umgekehrt?
+Oder wie?
+Oder was?
+Oder was?
+Gruebelnd,
+Cirdan
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 23.11/30.11/7.12 (Croft, 21. Nov 2006, 11:50:45):
+Die naechsten 3 Termine:
+23.11 Green Corner
+30.11 Der Grieche
+ 7.12 Zum Drachen
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen Stammtisch 24.11.06 (Zesstra, 21. Nov 2006, 11:56:08):
+Huhu,
+
+unser naechster Stati ist jetzt am Freitag,
+24.11., ab 20:00 im Merlin.
+
+Ab jetzt hat das Merlin eine neue Eigentuemerin, wir sind gespannt, wieviel
+sich dort aendern. Wlan und zumindest Teile der Belegschaft inkl. Koch bleiben
+uns aber wohl erhalten. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati im Merlin, Essen, 8.12. (Zesstra, 30. Nov 2006, 19:11:06):
+Huhu,
+
+wir wollen uns am Freitag, 8.12. das naechste Mal im Merlin zum Stati treffen.
+In der Annahme, dass es das Merlin dann noch gibt (und dass es Neuigkeiten
+gibt). ;-)
+Wie immer, so grob ab 20:00, Ende offen.
+
+Kommet zuhauf,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Aachen, 16.12. (Zesstra, 30. Nov 2006, 19:30:57):
+Hiho,
+
+am Samstag, 16.12. wollen wir (Ruhrgebietler + Aachener) uns in Aachen zu
+einem gemuetlichen adventlichen Rundgang ueber den Aachener Weihnachtsmarkt
+treffen. Mit Gluehwein & Co natuerlich fuer die, die moegen. *g*
+Ausklang wird dann wohl am spaeteren Abend in einer Aachener Kneipe sein. ;-)
+Treffen um 17:00 in Aachen hatten wir mal ueberlegt. Treffpunkt haben wir noch
+nicht fest abgesprochen, wird dann hier spaeter nachgereicht.
+
+Auch hier: Kommet zuhauf!
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Stammtische 23.11/30.11/7.12 (Croft,  5. Dez 2006, 23:54:58):
+~#! rn=Croft rt=1164106245 rg=treffen.bekanntmachungen
+~#! tid=1164106245
+Da der Drache am Donnerstag von einer geschlossenen Gesellschaft belagert
+wird,
+werden wir uns einen anderen Ort suchen muessen.
+*macht eine boese Geste in Richtung Dawnrazor*
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Stammtische 23.11/30.11/7.12 (Croft,  7. Dez 2006, 00:33:26):
+~#! rn=Croft rt=1165359298 rg=treffen.bekanntmachungen
+~#! tid=1164106245
+Der Vogelbraeu wurde auserkoren: http://www.vogelbraeu.de/
+Beginn wie gehabt ab 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Karlsruhe am Do, 14.12. (Gingko, 13. Dez 2006, 12:15:47):
+Der Stammtisch in Karlsruhe findet am 14.12 in der Taverne "Der Grieche"
+stattKaiserstr. 16. Wie gewohnt 20h. (http://www.taverne-der-grieche.de/)
+cu/gingko
+
+-----------------------------------------------------------------------------
+
+
+
+AACHEN! Jawohl (Humni, 13. Dez 2006, 21:17:54):
+Huhu,
+
+lang, lang ists her, aber wir haben beschlossen, mal wieder eine Unternehmung
+in Aachen zu starten.
+
+Und zwar wollen wir uns auf dem Weihnachtsmarkt treffen. Um 15 Uhr. Jawohl.
+
+Da Aachen nicht ganz so klein ist, wuerde ich den McDonalds auf dem Markt
+(davor, nicht unbedingt darin) als Treffpunkt vorschlagen.
+
+Wegbeschreibung folgt in der entsprechenden Rubrik.
+
+Nach dem obligatorischen Gluehwein ist sicherlich noch Platz in den Maegen
+fuer den Besuch von diversesten Kneipen in AC-City. Das wird dann spontan
+entschieden.
+
+Humni
+Ach ja, Das ganze ist am Samstag, den 16.12. Habs fast vergessen.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stammtisch 16.12 (Croft, 15. Dez 2006, 14:56:03):
+Da wir hohen Besuch aus dem Norden haben (oder wars Besuch aus dem hohen
+Norden?) gibts am Samstag einen Sonder-Stammtisch.  Und zwar im 
+Drachen ab 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 21.12/28.12 (Croft, 19. Dez 2006, 11:45:24):
+Die letzten 2 Termine dieses Jahr:
+21.12 Zum Drachen
+28.12 Zum Drachen
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen Stati 22.12. (Zesstra, 19. Dez 2006, 11:51:37):
+Auch fuer Essen kuendige ich den letzten Termin dieses Jahres im Merlin an:
+22.12., ab 20:00.
+
+Bis dann :-)
+Zesstra
+P.S. Nein, seid beruhigt: es ist keine Weihnachtsfeier.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 4.1 (Croft,  2. Jan 2007, 17:18:26):
+Der erste Stammtisch des noch jungen Jahres findet im Drachen statt.
+Beginn wie gehabt um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Essen Stati 6.1.2007 (Zesstra,  4. Jan 2007, 15:59:45):
+Unser erstes Treffen wird ausnahmsweise am naechsten _Samstag_ stattfinden, da
+Miril und Humni aus div. Gruenden Freitag Abend nicht koennen.
+Also: Sa, 6.1.07, ab 20:00 im Merlin in Essen-Kupferdreh. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 11.1/18.1/25.1/1.2 (Croft, 12. Jan 2007, 21:44:48):
+Ein paar Stammtischtermine:
+11.1 Green Corner
+18.1 Taverne Der Grieche
+25.1 Zum Drachen
+ 1.2 Green Corner
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati 19.01.2007 (Zesstra, 18. Jan 2007, 00:16:00):
+Huhu,
+
+ich habs mal wieder vergessen und die anderen haben auch nicht dran gedacht,
+aber: Am Freitag, 19.1.2007, ist doch wie gewoehnlich unser Stammtisch im
+Merlin. Wie immer ab 20:00. ;-)
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati 02.02.07 (Krstfrs,  1. Feb 2007, 21:37:59):
+Huhu,
+
+alle habens vergessen oder leiden unter Stress, deswegen muss der arme Krstfrs
+jetzt bekanntgeben, dass morgen, am Freitag, 02.02.07, wie immer Stammtisch im
+Merlin ist. Beginn 20:00 und kommet zuhauf!
+
+Gruesse,
+Krstfrs
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Merlin-Stati 02.02.07 (Gloinson,  1. Feb 2007, 21:40:51):
+~#! rn=Krstfrs rt=1170362279 rg=treffen.bekanntmachungen
+~#! tid=1170362279
+Aber morgen ist schon die letzte Party in der Melle, der notorischen
+inoffiziellen Berliner Stammtischkneipe.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtische 8.2/15.2/22.2/1.3 (Croft,  2. Feb 2007, 11:37:08):
+Und die naechsten Orte:
+ 8.2 Taverne Der Grieche
+15.2 Zum Drachen
+22.2 Green Corner
+ 1.3 Zum Drachen
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati 16.2.2007 (Zesstra, 12. Feb 2007, 17:38:22):
+Huhu,
+
+trotz Karneval findet unser naechster Stati im Merlin naechsten Freitag statt.
+;-)
+Fr, 16.02.2007, ab 20:00 im Merlin, Essen-Kupferdreh.
+
+Solltet ihr (die ueblichen Kandidaten *g*) allerdings doch mehrheitlich lieber
+was anderes an diesem Freitag machen wollen, meldet euch bitte zwecks
+Verschiebung. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Merlin-Stati: 2.3. (Zesstra, 27. Feb 2007, 10:23:22):
+Huhu,
+
+der erste Stati im Maerz im Merlin findet naechsten Freitag, also am 2. Maerz,
+ab 20:00 statt.
+
+Kommet zuhauf,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Karlsruhe-Stati 15.03.-05.04. (Tassram,  9. Mar 2007, 18:06:33):
+Mal die naechsten Statiorte hier aufschreiben, bevor ich sie selbst wieder
+vergesse ;)
+15.03. La Cage Blumenstrasse 25 im Obergeschoss im Restaurant (www.lacage.de)
+22.03. Zum Drachen (www.zumdrachen.de)
+29.03. Zum Drachen (www.zumdrachen.de)
+05.04. Grieche (www.taverne-der-grieche.de)
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin, 25.03. (Maharet,  9. Mar 2007, 18:08:56):
+Hallo Berliner,
+wir werden am 25. Maerz in Berlin sein, und zwar ab 10, halb 11 im Restaurant
+Xion (Pappelallee Ecke Stargarder) zum Brunchen.
+Sagt bescheid, zu wievielt Ihr kommt, damit ich einen entsprechend grossen
+Tisch reservieren lassen kann.
+Bis denne,
+Maha
+
+-----------------------------------------------------------------------------
+
+
+
+Ruhrgebiets-Stati: 16.3. in Bochum (Zesstra, 13. Mar 2007, 20:19:00):
+Huhu,
+
+wir haben uns fuer kommenenden Freitag Abend fuer das 'Le Clochard'
+entschieden.
+Also, unser naechstes Treffen ist
+Freitag, 16.03.07, ab 20:00
+im Clochard in Bochum-Querenburg (leider _nicht_ mehr im Merlin!)
+
+Adresse ist:
+Le Clochard
+Buscheyplatz 2
+44801 Bochum
+
+Wer eine Wegbeschreibung braucht, meldet sich am besten bei mir oder Miril.
+;-) (oder fragt nen Routenplaner seines/ihres Vertrauens)
+
+Ach noch was: Im Gegensatz zum Merlin moechte ich da eine ungefaehre
+Schaetzung abgeben, wieviele wir sind. Ich waere euch dankbar, wenn ihr mir
+kurz eine Mail oder tm schickt, wer kommen mag.
+
+Kommet zuhauf!
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen: 12. Mai (Tassram, 22. Mar 2007, 12:10:15):
+Es wird mal wieder Zeit fuer den Karlsruher Stati & Freunde ins Elsass
+einzufallen, um einige leckere Flammkuchen dort zu essen.
+Und einen Termin fuer dieses Ereignis gibts auch schon:
+
+Samstag 12. Mai 2007
+
+Es wird wohl wieder in die "Ecurie" nach Neuhaeusel gehen und das uebliche
+gemeinsame Hinfahren ab Waldparkplatz geben, aber da es eh sinnvoll ist
+sich vorher anzumelden, damit wir passend reservieren koennen und wissen
+wann wir 'vollzaehlig' sind zum Losfahren, muss ich ja hier keine
+Details schreiben ;)
+
+Gruss Tassram
+
+-----------------------------------------------------------------------------
+
+
+
+Ruhrgebiets-Stati 30.03.2007 (Zesstra, 25. Mar 2007, 17:00:16):
+Huhu,
+
+naechsten Freitag wirds nochmal das Clochard in Bochum als Stati-Kneipe.
+Wie immer treffen wir uns ab 20:00 dort zum Stati.
+Wenn jemand es abschaetzen kann, ob er/sie kommen mach, waer ich ueber eine
+kurze Nachricht dankbar, dann kann ich was in passender Groesse reservieren.
+;-)
+
+Viele Gruesse,
+Zesstra
+
+P.S. Wenn jemand kommen mag, der ne Wegbeschreibung braucht -> per Mail ;-)
+Telefonnr. gibts auch per Mail und falls jemand dieses oder ein anderes Mal in
+Bochum bei mir uebernachten mag, am besten per TM oder Mail melden. (Wollte
+ich mal ganz grundsaetzlich fuer die Statis hier anmerken.)
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 5./12./19./26.4 (Croft,  3. Apr 2007, 18:10:26):
+Fuer diesen Donnerstag gibts auf Wunsch eine kleine Programmaenderung:
+05.04. Zum Drachen (www.zumdrachen.de)
+12.04. Grieche (www.taverne-der-grieche.de)
+19.04. Green Corner (Gruenwettersbach, Am Wetterbach 90)
+26.04. Zum Drachen (www.zumdrachen.de)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Ruhrgebiets-Stati auf Abwegen: 4 Winde, 20.4. (Humni, 16. Apr 2007, 21:52:24):
+Huhu,
+
+da Amber (und Gefaehrten) am Freitag im 4 Winde in Bochum spielt werden wir
+uns wohl da versammeln, da wir ihr das gesagt haben.... lohnt sich sicherlich,
+die Frau kann Musik machen.
+
+Also, Freitag abend im Vier Winde, ich tippe wie immer gegen 20 Uhr oder so...
+
+Kommet alle! Oder zumindest zuhauf!
+
+Humni
+PS: Wer ist Amber? Hier: http://www.rabenflug.com
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ruhrgebiets-Stati auf Abwegen: 4 Winde, 20.4. (Gralkor, 18. Apr 2007, 18:02:19):
+~#! rn=Humni rt=1176753144 rg=treffen.bekanntmachungen
+~#! tid=1176753144
+kann ich sehr empfehlen (auch wenn der Anmarsch sehr weit ist)
+G., besitzt beide Alben (handsigniert)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ruhrgebiets-Stati auf Abwegen: 4 Winde, 20.4. (Humni, 20. Apr 2007, 00:30:36):
+~#! rn=Gralkor rt=1176912139 rg=treffen.bekanntmachungen
+~#! tid=1176753144
+So, kleines Update: Einlass fuer das Konzert ist ab 19 Uhr, Eintritt 5 Euro,
+Beginn 20 Uhr. Ich hoffe, man findet sich da irgendwie, ich fuerchte, einen
+Tisch da zu reservieren duerfte schwierig werden (hab ich gar nicht erst
+versucht, bei Konzerten machen die das ja ueblichweise einfach voll).
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, 4.5., 4 Winde (Humni,  1. Mai 2007, 21:16:55):
+Huhu,
+
+wir werden mal wieder einen Ruhrgebiets-Stammtisch machen, im 4 Winde in
+Bochum. Diesmal Freitag abend, wohl so gegen 20 Uhr, wie immer, am 4.5. Ihr
+muesst alle kommen. Verstanden? Alle. Sonst fress ich Euch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 3.5 (Croft,  3. Mai 2007, 15:42:31):
+Heute sind wir ab 20:00 im Drachen und bestimmen die naechsten Lokalitaeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Frankfurt-Donnerstag 10. Mai (Mesirii,  3. Mai 2007, 16:12:27):
+Hat wer Lust am Donnerstag Abend mit Xutelius und mir einen Stati in FFM
+zu veranstalten?
+Wir kennen uns da nicht aus, vertrauen aber erstmal auf Ronda :)
+
+Vielleicht hat ja der ein oder andere Lust
+
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frankfurt-Donnerstag 10. Mai (Ark,  3. Mai 2007, 16:46:59):
+~#! rn=Mesirii rt=1178201547 rg=treffen.bekanntmachungen
+~#! tid=1178201547
+Klar, ich bin da eh feddich abends :-)
+Ich erwarte aber, alles ausgegeben zu bekommen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Frankfurt-Donnerstag 10. Mai (Gwen,  7. Mai 2007, 16:31:21):
+~#! rn=Ark rt=1178203619 rg=treffen.bekanntmachungen
+~#! tid=1178201547
+Ich schlage folgendes vor:
+http://home.new-in-town.de/
+Das ist sehr nah am Bahnhof und zumindest mittags sehr nett.
+Wieviele Leute kommen dann definitiv?
+(Ich sollte am Besten morgen reservieren.)
+Ich hab mal notiert:
+Ark, Gwen, Mesirii, Ronda, Xutelius - sonst noch wer?
+Und: ab wann genau?
+
+Ich kann anbieten Euch vom Bahnhof aus hinzubringen.
+(zu Fuss).
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Frankfurt-Donnerstag 10. Mai (Ark,  7. Mai 2007, 16:45:26):
+~#! rn=Gwen rt=1178548281 rg=treffen.bekanntmachungen
+~#! tid=1178201547
+Fruehestens 7 ... damit haben wir auch einen guten Anfangspunkt, nein? ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Frankfurt-Donnerstag 10. Mai (Gwen,  7. Mai 2007, 21:42:06):
+~#! rn=Ark rt=1178549126 rg=treffen.bekanntmachungen
+~#! tid=1178201547
+Aktueller Stand:
+Uhrzeit 19:30 Uhr
+Zugesagt haben: Ark, Gwen, Mesirii, Xutelius, Zephyr
+Angesagt ist: Ronda (*Kalauer*)
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 10./17./24./31.5 (Croft,  9. Mai 2007, 00:35:16):
+10.5 Green Corner
+17.5 Zum Drachen
+24.5 Der Grieche
+31.5 Zum Drachen
+oder so.  Startzeit wie gehabt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzfristig: Bochum, Grunewald, 20 Uhr, heute, 19.5. (Humni, 19. Mai 2007, 12:56:47):
+Huhu,
+
+ja, ist sehr kurzfristig. Wir treffen uns heute abend im Grunewald in Bochum.
+Das 4 Winde hat naemlich geschlossene Gesellschaft.
+
+Wo ist das Grunewald? Ich hab keine Ahnung. Ich hab da nur angerufen und einen
+Tisch bestellt. Ich weiss nicht, was das ist, wo das ist, und wie das ist. Ich
+hab einfach Zahlen eingetippt in ein Telefon und einen Tisch bestellt. Oh Jof.
+Weia. Sowas.
+
+Naja, egal. Jetzt wisst ihrs.
+
+Humni
+PS: Das hab ich gefunden:
+
+Grunewald
+MarkstraGrunewalde 139
+44799 Bochum
+(bloede Umlaute, das muss Markstrasse heissen, wie das alte Geld, die Strasse
+wird bald in Eurostrasse umbenannt. Haha.)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kurzfristig: Bochum, Grunewald, 20 Uhr, heute, 19.5. (Masul, 19. Mai 2007, 15:24:30):
+~#! rn=Humni rt=1179572207 rg=treffen.bekanntmachungen
+~#! tid=1179572207
+Keine Ahnung, wo das Grunewald ist. War noch nie da. ;-)
+In der Naehe sollen Stadtfuehrungen durchgefuehrt werden; es stehen dort
+naemlich einige Laternen am Strassenrand. Achso. Ich wuesste jetzt gar nicht
+wo. War noch nie da.
+Masul
+-kann sich zumindest an nichts mehr erinnern. Oder .... da war doch was...-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kurzfristig: Bochum, Grunewald, 20 Uhr, heute, 19.5. (Gwen, 19. Mai 2007, 15:27:40):
+~#! rn=Masul rt=1179581070 rg=treffen.bekanntmachungen
+~#! tid=1179572207
+Wo doch jeder weiss, dass der Grunewald bei Berlin ist ;)
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Kiel (Janne, 20. Mai 2007, 20:00:20):
+Der Sommer naehert sich mit grossen Schritten - und damit auch einem der
+Highlights im schoensten Bundesland der Welt *g*: der Kieler Woche. Und das
+bietet sich doch an als Termin fuer eine Neuauflage des letzten tollen und
+superlustigen Kiel-Stammtisches!
+Somit hier die grobe Planung am 23.6.: ab 10 Uhr Grillen am Strand mit
+perfektem Blick auf die Windjammerparade, danach vielleicht (je nach
+Beteiligung und Interesse) einen Schlag segeln, um dann abends von einer
+Konzertbuehne zum naechsten zu pilgern.
+Uebernachtungsmoeglichkeit besteht in begrenztem Rahmen. Lollis Vorschlag
+entsprechend bitte ich bei Interesse um Mitteilung einer Email-Adresse, da die
+weitere Planung dann mittels Mailingliste erfolgen soll.
+
+Und damit ganz traditionell das Kieler-Woche-Motto: LEINEN LOS!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Kurzfristig: Bochum, Grunewald, 20 Uhr, heute, 19.5. (Maharet, 20. Mai 2007, 20:27:23):
+~#! rn=Gwen rt=1179581260 rg=treffen.bekanntmachungen
+~#! tid=1179572207
+in, nicht bei
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, 1.6., 4 Winde (Zesstra, 29. Mai 2007, 20:56:32):
+Huhu,
+
+wir haben gerade mal geklaert, wo unser naechstes Treffen sein soll und die
+Wahl fiel diesmal wieder aufs Vier-Winde. Also:
+Freitag, 1. Juni,
+ab 20:00 Uhr,
+Zu den Vier-Winden, in Bochum
+
+Bis dann und kommet zuhauf, ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 7./14./21.6 (Croft,  5. Jun 2007, 15:44:37):
+ 7.6 Zum Drachen
+14.6 Green Corner
+21.6 Der Grieche
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Seemuschel (24.6) (Croft,  6. Jun 2007, 12:36:50):
+Es ist mal wieder Zeit Panos in seiner Seemuschel am Baggersee
+Fahrteich heimzusuchen.  Der Baggersee befindet sich von Buechenau aus
+in Richtung Neuthard auf der Kreisstrasse K 3529 fahrend, kurz vor
+Neuthard auf der linken Seite.  Auf http://tinyurl.com/32h6ly kann man
+sich die Seemuschel aus der Luftperspektive anschauen.
+Geplant ist es ab 12:30 dort zu sein.  Um ggf reservieren zu koennen
+bzw Fahrtgemeinschaften zu koordinieren, bitte bei mir kurz melden,
+damit das organisiert werden kann.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Seemuschel (24.6) (Gwen,  6. Jun 2007, 17:25:45):
+~#! rn=Croft rt=1181126210 rg=treffen.bekanntmachungen
+~#! tid=1181126210
+Kann man da auch baden?
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder: Frankfurt. (Ronda, 10. Jun 2007, 15:01:46):
+Hallo,
+
+die Frankfurter Mudder (und die aus dem Umkreis, die zaehlen wir einfach mal
+dazu) werden grade uebermuetig und rufen schon wieder ein Treffen aus: Diesen
+Montag (11.6.) ab ca. 19 Uhr gehts los - wieder im New in Town direkt beim
+Bahnhof.
+
+Wer noch eine Wegbeschreibung braucht: bitte einfach bei Gwen oder mir melden.
+
+Tschuess,
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, 22.5., Vier Winde (Humni, 18. Jun 2007, 21:39:24):
+Huhu,
+
+nach allseitiger Beratung werden wir uns am Freitag im Vier Winde treffen.
+Kommet zuhauf!
+
+Drache (schwarz, boese)
+PS: Wie immer 20 Uhr oder so.
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Bochum! (Humni, 26. Jun 2007, 00:25:42):
+Juchhu!
+
+Ja, das gibts viel zu selten.
+
+Aba jetz!
+
+Zweimal hintereinander im Wochentakt Stammtisch in Bochum. Wir kommen aus dem
+tischen und stammen gar nicht mehr raus.
+
+Diesmal wollen wir nicht schon wieder das Vier Winde mit unserer Anwesenheit
+behelligen. Stattdessen nehmen wir das hier:
+
+Mandragora
+Adenauerplatz 1
+Bochum
+
+Wegbeschreibung? Hab ich keine, war noch nicht da, und wenn, weiss ichs nicht
+mehr. Mailt Miril an. Oder jemanden, der sich auskennt. Oder Map24. Oder
+Zesstra. Oder ihr fahrt nach Bochum und fragt erst nach "Bermudadreieck", dann
+nach "Mandragora" und dann nach ... weiss nicht, Dunst wird wohl den Tisch
+reservieren.
+
+Ach ja, Freitag, 29.6., 20 Uhr. Wann auch sonst.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 28.6/5.7 (Croft, 27. Jun 2007, 10:48:25):
+28.6 Il Caminetto (Kronenstrasse 5)
+ 5.7 Zum Drachen (www.zumdrachen.de)
+Treffen wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+4.8. bei Luebeck: kein Stammtisch, aber... (Perdita, 28. Jun 2007, 17:54:46):
+Wer am 4.8. zufaellig oder absichtlich in der Luebecker Gegend weilt, sei
+herzlich eingeladen, zu meiner Geburtstagsparty dazuzustossen.
+Einige von euch kennen das ja schon: Gartenparty, Beginn irgendwann
+nachmittags, mit Bade- und Kubb-Moeglichkeit, nachmittags Kaffee/Kuchen,
+abends Jeder-bringt-was-mit-Buffet mit Grillen und Lagerfeuer bis in die Nacht
+hinein.
+Bei Interesse Mudmail an mich, dann gibt's Details.
+Perdita - macht dieses Jahr mal Rundumschlag per MPA (sonst vergess ich bloss
+noch wieder jemanden...)
+
+-----------------------------------------------------------------------------
+
+
+
+Stati am 13.7. in Bochum (Zesstra, 11. Jul 2007, 21:08:08):
+Huhu,
+
+mal wieder etwas spaeter kommt die Stati-Ankuendung fuer kommenden Freitag.
+;-)
+Humni hat in einem schwarzdrachischen Ritual als Kneipe das Mandragora zu
+unserem Treffpunkt bestimmt.
+Das Mandragora ist etwas eigen mit Reservierungen, es kann sein, dass das
+nicht klappt. In dem Fall muessten wir sehen, dass wir zeitig da sind und uns
+einen Tisch mit Schwertern und Klingen erobern. ;-) (ok, die Anwesenheit
+einiger Leute reicht bestimmt auch. *g*)
+
+Ok... Also, zusammenfassend:
+Stati am 13.7.2007, ab 20:00,
+im Mandragora in Bochum.
+
+Achja, Wegbeschreibungen auf Anfrage von mir. ;-)
+
+Viele Gruesse,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 12./19./26.7 (Croft, 12. Jul 2007, 01:43:56):
+12.7 Green Corner
+19.7 Zum Drachen
+26.7 Hattingen (Auswaertsstati)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Vincent, 25. Jul 2007, 12:27:15):
+Wie mir Croft gerade per Telefon mitgeteilt hat, findet am Donnerstag,
+dem 26.7.2007 ein MG-Stammtisch in Bochum statt,
+und zwar im Mandragora (Adenauerplatz 1, Bochum).
+
+   Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Bochum (Vincent, 25. Jul 2007, 12:45:26):
+~#! rn=Vincent rt=1185359235 rg=treffen.bekanntmachungen
+~#! tid=1185359235
+Bei dem von Croft ueber mich angekuendigten Stammtisch in Bochum handelt
+es sich uebrigens um den Hattinger Stammtisch. Dies zur Info, damit
+das mal klar sein wuerde. ;)
+
+   Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+KA-Statis 2./9./16./23.8 (Croft, 29. Jul 2007, 20:37:09):
+ 2.8 Zum Drachen (www.zumdrachen.de)
+ 9.8 Der Grieche (www.taverne-der-grieche.de)
+16.8 Il Caminetto (Kronenstrasse 5)
+23.8 Green Corner
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stammtisch in Bochum (Maharet, 30. Jul 2007, 11:07:30):
+~#! rn=Vincent rt=1185360326 rg=treffen.bekanntmachungen
+~#! tid=1185359235
+Falsch, es war ein Karlsruher Stammtisch mit vielen Gaesten.
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecks-Stati in Bochum, 5.8.07 (Zesstra,  1. Aug 2007, 13:52:02):
+Huhu,
+
+ich hab wieder eine Stati-Ankuendung, allerdings diesmal etwas abweichend. ;-)
+Wir wollen mal wieder gemeinsam fruehstuecken. Zu diesem Zweck treffen wir uns
+am Sonntag, 5.8.2007,
+ab 12:00
+im Mandragora in Bermudadreieck in Bochum (Adenauerplatz 1)
+
+Wegbeschreibungen wie immer auf Anfrage.
+BTW: Es gibt dort kostenloses WLAN, allerdings ist eine Registrierung bei TMR
+notwendig. Die Zugangskarten sind allerdings sogar im Mandragora erhaeltlich.
+(http://www.kabelab.de/)
+
+Achja: Wenn ihr sicher wisst, dass ihr kommt (oder auch nicht kommt und sonst
+normalerweise beim Stati seid), schickt mir doch ne kurze Mitteilung. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mandragora-Fruehstueck, 19.8.07 (Zesstra, 15. Aug 2007, 13:50:00):
+Huhu,
+
+habs ganz vergessen, aber wir hatten letztes Mal ueberlegt, das
+Fruehstueck/Brunch im Mandragora einfach nochmal zu wiederholen.
+Der naechste Termin ist dann:
+am Sonntag, 19.8.2007,
+ab 12:00
+im Mandragora in Bermudadreieck in Bochum (Adenauerplatz 1)
+
+Wegbeschreibungen wie immer auf Anfrage.
+Letztes mal gab es dort Netzzugang ueber ein offenes WLAN einer der Kneipen in
+der Nachbarschaft. ;-)
+
+Achja: Wenn ihr sicher wisst, dass ihr kommt (oder auch nicht kommt und sonst
+normalerweise beim Stati seid), schickt mir doch ne kurze Mitteilung. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Frankfurt, Hemingway-Lounge (Ark, 19. Aug 2007, 23:07:48):
+http://www.hemingway-lounge.de/index.php?site=frankfurt&PHPSESSID=0b3dc43228dc
+8a265f79458ddfbce846
+
+Mittwoch, 19:00 Uhr, mit schoenen, bekannten und beruehmten Gaesten ... na ok,
+ich komme auch :-)
+
+Cocktails, Essen aus 4 Kontinenten, Ausblicke, Einblicke, Ambiente,
+Sensationen, Mutationen, Ambitionen. Kommet zuhauf. Ketten aus
+Parageienfedern, Vollstrecker und rote Drachenschuppen bitte draussenlassen,
+dafuer das Ticket vom Parkhaus nebenan (jaja!) mitnehmen, kostet als Gast
+einen Euro.
+
+Wer nicht kommt, ist ein knodderiger Werwolf und gehoert in eine Hundehuette.
+So. Wenn das mal keine Werbung ist. Oder auch nicht keine Werbung. Hurra.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spontanstammtisch BONN (Liara, 21. Aug 2007, 16:30:30):
+Hallo liebe Leute,
+
+HEUTE Abend findet ein Treffen in BONN statt.
+
+Wir sind um 19 Uhr am Cafe Bistro PENDEL in der Innenstadt.
+Adresse: Vivatsgasse 2a, 53111 Bonn
+
+Die Google-Maps-Anzeige fuer das Pendel stimmt nicht (Adresse falsch)!
+Das Pendel befindet sich in der Naehe des alten Stadttores (Sterntor); der
+Eingang ist in der kleinen Passage zwischen Dreieck und Vivatsgasse. Falls die
+Aussengastronomie aufgebaut ist, faellt man ohnehin von selber rein. ;)
+
+Bisher kommen Choclat und ich, unser special guest fuer heute Abend ist Blivi.
+
+Da wir nicht wissen, ob wir im Pendel einen Platz bekommen, befindet sich eine
+Handynummer fuer Ruecksprache in Liaras Projekt. Waere auch nett, wenn ihr 
+euch da meldet, falls wir uns im Mud verpasst haben, damit wir wissen, auf wen
+wir warten muessen.
+
+ZZL
+
+-----------------------------------------------------------------------------
+
+
+
+Sonderstati FFM (Mesirii, 22. Aug 2007, 00:17:15):
+aufgrund eines Zwischenstopps in FFM wuerden wir uns gern am Montag, 27.08. ab
+so ca. 18:30 im Home-In-Town treffen. Wir wuerden die Wartezeit bis zur
+Weiterreise gern mit ein paar Muddern verbringen.
+Wenn ihr also Lust habt, kommt vorbei.
+Hmm achso anmelden da waere sicher auch nicht schlecht, wenn mehr als wir 4 
+kommen.
+
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 30.8/6.9/13.9/20.9/27.9/4.10/11.10 (Croft, 24. Aug 2007, 12:43:34):
+Die naechsten Orte:
+30. 8 Zum Drachen (www.zumdrachen.de)
+ 6. 9 Zum Drachen (www.zumdrachen.de)
+13. 9 La Cage (www.lacage.de)
+20. 9 Green Corner
+27. 9 Der Grieche (www.taverne-der-grieche.de)
+ 4.10 Zum Drachen (www.zumdrachen.de)
+11.10 Il Caminetto (Kronenstrasse 5)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 02.09.2007 (Zesstra, 26. Aug 2007, 16:42:45):
+Huhu,
+
+Unser naechster Stati-Termin ist:
+am Sonntag, 02.9.2007,
+ab 12:00
+im Mandragora in Bermudadreieck in Bochum (Adenauerplatz 1)
+
+Wegbeschreibungen wie immer auf Anfrage.
+Netzzugang ueber ein offenes WLAN einer der Kneipen in
+der Nachbarschaft gibt sporadisch. ;-) Fuer zuverlaessigen Zugang braucht man
+eine (kostenlose) Zugangskarte von http://www.kabelab.de/
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Frankfurt/Main (Ark, 19. Sep 2007, 11:12:05):
+Fuer die Frankfurter: Freitag, 28.09., bestuende da Interesse an einem kleinen
+Stati? Ort noch offen, richtet sich nach Zulauf.
+Zeit so ab 18:30 Uhr.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Frankfurt/Main (Del, 19. Sep 2007, 11:14:20):
+~#! rn=Ark rt=1190193125 rg=treffen.bekanntmachungen
+~#! tid=1190193125
+Aber sicher. :-) Ich persoenlich wuerde ja fuer Darmstadt plaedieren, aber da
+steh ich wahrscheinlich alleine da. ;-)
+Die NuDel ist dabei
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen, 12.10 (Croft, 21. Sep 2007, 13:09:40):
+Bevor das Jahr sich dem Ende zuneigt, wollen wir Karlsruher nochmal ins
+Elsass zum Flammkuchenessen fahren.  Da sich ueberraschenderweise die
+meisten Samstage bis in die Weihnachtszeit schon verplant haben, faellt
+der Termin auf einen Freitag und zwar den 12. Oktober.
+
+Das Lokal wird wahrscheinlich wieder die Auberge Ecurie du Rhin in
+Neuhaeusel werden (solang diese Flammkuchenschmiede an dem Tag noch
+offen und genug Platz hat).  Um einen Ueberblick ueber die
+Personenanzahl zu bekommen und ggf Mitfahrgelegenheiten zu
+organisieren und passend zu reservieren, bitte rechtzeitig bei mir
+melden.
+
+Treffpunkt wird wieder der Uniparkplatz am Fasanengarten um 19:00
+sein, so dass wir um 20:00 vor Ort sind.  Falls jemand eine
+Wegbeschreibung zum Treffpunkt braucht: bitte melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in BS (Derin, 23. Sep 2007, 18:40:47):
+  Huhu,
+
+wie letztesmal vereinbart, wollen wir uns am letzten Freitag im Monat
+(also diesmal dem 28.9.) um 19:30 Uhr zum Braunschweiger Stammtisch
+im Mephisto in der Fallersleber Strasse treffen.
+
+Bis bald,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati Frankfurt/Main (Ark, 24. Sep 2007, 14:46:41):
+~#! rn=Del rt=1190193260 rg=treffen.bekanntmachungen
+~#! tid=1190193125
+Da bisher nur diese eine Feedback Meldung bei mir ankam, gebe ich bis Mittwoch
+noch eine Galgenfrist, danach wird nach Darmstadt umgezogen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in BS (Derin, 26. Sep 2007, 11:20:30):
+~#! rn=Derin rt=1190565647 rg=treffen.bekanntmachungen
+~#! tid=1190565647
+Huhu,
+
+der Stammtisch vom 28.9. wird ausnahmsweise VERLEGT. Wir treffen uns
+eine Woche spaeter, am 5.10. um 19:30 im Mephisto.
+
+Bis bald,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin diese Woche: 30. September (Grimmborn, 26. Sep 2007, 11:58:13):
+~#! on=Gloinson ot=1190799208 og=treffen
+... ab 11 Uhr im Xion (http://xion-berlin.de/), reserviert auf "Becker".
+
+Koemmet hungrig, der Brunch da ist reichhaltig.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 30.09.07 (Zesstra, 26. Sep 2007, 16:36:41):
+Huhu,
+
+naechstes Wochenende ist wieder Zeit fuer unseren Stati, diesmal mal wieder
+zum Fruehstueck im Mandragora in Bochum.
+Sonntag, den 30.09.2007, ab 12:00
+im Mandragora (Konrad-Adenauer-Platz 1, Bochum)
+
+Schonmal als Vorabinfo: Es gibt Interesse, auch wieder ein
+Freitag-Abend-Treffen zu machen. Ich wuerde vorschlagen, dies anlaesslich des
+naechsten Termins zu tun, als am 12.10.2007.
+
+Wegbeschreibungen auf Anfrage. ;-)
+
+Kommet zuhauf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati Frankfurt/Main (Ark, 28. Sep 2007, 10:01:27):
+~#! rn=Ark rt=1190638001 rg=treffen.bekanntmachungen
+~#! tid=1190193125
+Ok, wir verschieben das auf einen Termin demnaechst. Wenn alle wieder gesund
+sind :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Frankfurt, Freitag, 12.10.07 (Ark,  7. Okt 2007, 17:49:00):
+Diesmal gilt's. New-in-Town, ab 18:30 Uhr. Kommet zuhauf.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fr., 12.10. _kein_ Stati in Bochum (Zesstra, 10. Okt 2007, 20:46:44):
+Huhu,
+
+eigentlich schon viel zu spaet jetzt, aber ich habs irgendwie weitgehend
+vergessen gehabt.
+Also, die Ueberlegung, am kommenden Freitag einen Stati zu machen, haben wir
+fallengelassen, weil das Mandragora Fr+Sa sein 30-jaehriges feiert und
+dementsprechend da etwas sehr volles Haus sein wird. ;-)
+Stattdessen waere mal die Ueberlegung, in der kommenden Woche Fr oder Sa Abend
+(19./20.10.) anlaesslich der Spielemesse in Essen einen Stati zu veranstalten.
+Gibt es da Interessenten bzw. Leute, die zur Spielemesse kommen und Interesse
+an einem Stati mit uns haben?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 18.10/25.10/1.11/8.11/15.11 (Croft, 12. Okt 2007, 15:00:25):
+Und die naechsten 5 Termine:
+18.10 Zum Drachen (www.zumdrachen.de)
+25.10 Zum Drachen (www.zumdrachen.de)
+ 1.11 Der Grieche (www.taverne-der-grieche.de)
+ 8.11 Green Corner (Am Wetterbach 90, Gruenwettersbach)
+15.11 Il Caminetto (Kronenstrasse 5)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fr., 12.10. _kein_ Stati in Bochum (Montanus, 15. Okt 2007, 14:57:39):
+~#! rn=Zesstra rt=1192042004 rg=treffen.bekanntmachungen
+~#! tid=1192042004
+Ich bin zwar die ganze WOche in Essen, werde aber nach der Messe keine Zeit
+fuer einen Stammtisch haben - sorry.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Essen, Samstag, _20_.10. (Zesstra, 18. Okt 2007, 11:16:30):
+[Ah, verdammt. Ich hatte den falschen Kalender hier liegen bzw. Montat
+Dezember. Daher neuer, korrigierter Artikel. Der Stati soll Samstag Abend
+sein, das waer der 20.10. Weiterhin schlug Mieze statt des Irish Pub das Cafe
+Oliv vor.]
+
+Huhu,
+
+ok, irgendwie haben sich kaum Leute geruehrt, von einigen weiss ichs aber.
+Also, ich wuerde mal folgendes ausrufen:
+Stati in Essen-Ruettenscheid,
+am 20.10., ab 20:00.
+
+Treffpunkt soll sein das Cafe Oliv, Ruettenscheider Str. 203, nahe der
+Kreuzung Ruettenscheider Str. / Grugaplatz. Liegt in der direkter Naehe zur
+Messe und verkehrsguenstig zur A52.
+
+Wer sich noch nicht sicher bzgl. des Kommens und der Wegbeschreibung ist,
+moege sich bitte melden, ich wuerde auch vorschlagen, im Vorfeld mal noch
+schnell Telefonnr. auszutauschen bzw. meine mitzuteilen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Essen, Samstag, _20_.10. (Mieze, 18. Okt 2007, 11:41:39):
+~#! rn=Zesstra rt=1192698990 rg=treffen.bekanntmachungen
+~#! tid=1192698990
+Kleiner Nachtrag:
+
+Die Plaetze im Oliv sind auf den Namen "Morgengrauen" reserviert.
+
+Mieze
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati Essen, Samstag, _20_.10. (Montanus, 23. Okt 2007, 13:50:37):
+~#! rn=Mieze rt=1192700499 rg=treffen.bekanntmachungen
+~#! tid=1192698990
+Konnte nicht kommen. War auf der Geburtstagsfete von Alicia, aeh Miss Canada
+fuer euch.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in BS (Derin, 25. Okt 2007, 11:45:10):
+Huhu,
+
+wie ueblich werden wir uns morgen, am letzten Fr im Monat, um 19:30 Uhr
+im Mephisto in der Fallersleber Strasse treffen.
+
+Bis bald,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum, 2.11. (Zesstra, 30. Okt 2007, 23:54:18):
+Huhu,
+
+nach dem Stati in Essen sind schon wieder 2 Wochen um, d.h. Zeit fuer nen
+Stati. ;-)
+Da am WE div. Leute unterwegs sind, bietet sich diesmal eigentlich nur der
+Freitag Abend an. Ausserdem haben Arathorn und ich beschlossen, dem Clochard
+mal wieder einen Besuch abzustatten, weil Reservierungen fuer Fr/Sa Abends im
+Mandra schwierig sind.
+
+Also, Termin ist:
+Freitag, 2.11., ab 20:00
+im Clochard am Buscheyplatz, Naehe Uni-Center.
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Netter Abend im Cafe Egal (in E) am 17.11.07 19:00 Uhr geplant (Gwen,  1. Nov 2007, 12:41:49):
+Infos zum Cafe Egal gibt es hier: http://www.cafe-egal.de/
+
+Aktuell schon zugesagt haben:
+Shaky mit zwei Kollegen, Madness und ich.
+Wer sonst Lust auf nen netten Abend hat ist herzlich eingeladen!
+Wegen Reservierung schaun wir dann noch.
+
+Ciao, Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Braunschweig, 7.12. (Mcdee, 12. Nov 2007, 22:45:49):
+Hallo ihr Lieben,
+
+bekanntlich werfen dunkle Ereignisse ihren Schatten voraus, darum hier schon
+mal die Einladung zum Braunschweiger Novemberstammtisch, der allerdings erst
+im Dezember stattfinden wird, naemlich am siebenten. Das ist ein Freitag und
+wir wollen uns bei mir zu Hause so ab 19 Uhr zu einer gepflegten
+Rollenspielrunde treffen. Falls (wider Erwarten :-)) noch jemand ausser den
+ueblichen Verdaechtigen daran teilnehmen moechte, bitte ich um eine
+rechtzeitige Anmeldung.
+
+Gruesse, Dee
+
+-----------------------------------------------------------------------------
+
+
+
+Vorankuendigung: Oeffentliche Audienz (Zook, 20. Nov 2007, 15:02:06):
+Wir geben vorab bekannt, am 7. Dezember 2007, die genaue
+Uhrzeit wird noch von den zustaendigen Stellen, bekannt
+Uhrzeit wird noch von den zustaendigen Stellen bekannt
+gegeben, eine oeffentliche Audienz zu geben. Sie wird 
+im Rahmen des Marburger Weihnachtsmarktes bei saisonalen
+Getraenken und Speisen abgehalten. 
+
+Interessierte werden aufgefordert, ihr Interesse
+zu notifizieren.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 22.11/29.11 (Croft, 27. Nov 2007, 15:05:25):
+22.11 Zum Drachen (www.zumdrachen.de)
+29.11 Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorankuendigung: Oeffentliche Audienz (Zook, 28. Nov 2007, 18:18:52):
+~#! rn=Zook rt=1195567326 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Die oeffentliche Audienz beginnt um 18.00 Uhr am Weihnachtsmarkt,
+der am Marktplatz in Marburg statt findet. Wir halten uns vor
+der "Fielmann"-Filiale auf. Ueber das nachlaufende Besaeufnis
+informiert Danu. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Vorankuendigung: Oeffentliche Audienz (Danu, 28. Nov 2007, 19:19:10):
+~#! rn=Zook rt=1196270332 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Na dann sach ich ma, wie es weiter geht:
+Ab spaetestens 20 Uhr sind wir im Hinkelstein zu treffen. Da is dann
+hoffentlich warm und das Bier kuehl.
+Hinkelstein ist gleich neben dem Weihnachtsmarkt, also bestens mit dem Navi zu
+finden ;) Oder man schaut sich die Karte / Wegbeschreibung unter
+http://www.hinkelstein-marburg.de/ an...
+
+Danu
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Vorankuendigung: Oeffentliche Audienz (Zook, 28. Nov 2007, 21:25:50):
+~#! rn=Danu rt=1196273950 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Traditionell gilt fuer den Hinkelstein: Das ist eine
+Kellerkneipe zum Ablitern und gegessen haben sollte man
+vorher, da die nur Kleinigkeiten, wenn ueberhaupt, 
+anbieten. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Vorankuendigung: Oeffentliche Audienz (Zook, 28. Nov 2007, 21:26:14):
+~#! rn=Zook rt=1196281550 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Ist nicht so schlimm, wie es klingt, ich finde es
+ne megagemuetliche Kellerkneipe. ;) Zook.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Vorankuendigung: Oeffentliche Audienz (Zook, 30. Nov 2007, 22:08:56):
+~#! rn=Zook rt=1196281574 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Nachschlag!
+
+Bevor hier rumgepienzt wird: Selbstverstaendlich kann fuer das 
+koerperliche Wohl nicht nur mit Getraenken gesorgt werden. Auf dem
+Weihnachtsmarkt finden sich eine Ruhe von ueblichen Fressbuden. Wem
+dann noch ein Auflaug, ein Baguette, ein Schnitzel oder ein Caesar's
+Salad zum Glueck fehlt: Direkt um den Hinkelstein herum (wirklich 
+nur hinkelsteinwurfweit entfernt) gibt es mehrere Bistros, Restaurants
+o.ae. Es muss keiner verhungern. Hauptsache alle litern sich am Ende
+im Hinkelstein ab. Da ich kein Bier vertrage, werde ich die Audienz
+gegen 20.15 Uhr beenden muessen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Vorankuendigung: Oeffentliche Audienz (Kessa,  1. Dez 2007, 03:47:20):
+~#! rn=Zook rt=1196456936 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+'Rumpienzen' finde ich fast noch besser als 'ablitern' (was ich aber auch
+zugegebenermassen schon kannte).
+
+Kessa, zufrieden grinsend ihren Wortschatz erweiternd.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Vorankuendigung: Oeffentliche Audienz (Terrorist,  3. Dez 2007, 22:00:12):
+~#! rn=Zook rt=1196456936 rg=treffen.bekanntmachungen
+~#! tid=1195567326
+Hmm da werde ich wohl eine Kette mitbringen muessen fuer das Goettchen ;)
+
+Weiss noch nicht obs passt, aber vielleicht gebe ich euch die Ehre ;)
+
+
+Cu
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 13.12. (Croft, 11. Dez 2007, 10:08:57):
+13.12 Der Grieche (www.taverne-der-grieche.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+PS: Der Nikolausstati war im Drachen ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 20.12. (Croft, 14. Dez 2007, 17:38:16):
+20.12. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.  Wo und ob die Stammtische am 27.12. und 3.1.
+stattfinden, wird noch besprochen.  Der Drachen hat jedenfalls Urlaub.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Gluehwein im Pott (Miril, 15. Dez 2007, 16:27:27):
+Huhu,
+auch wir im Ruhrgebiet wollen noch einen Tag Gluehwein trinken gehen. Dazu
+haben wir uns den Weihnachtsmarkt in Bochum ausgesucht. Wir treffen uns dort
+am
+
+Freitag, den 21.12.2007 um 19.00 Uhr
+
+bei der Hauptstelle der Sparkasse.
+
+Ihr Mudderlein kommet, oh kommet zuhauf!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA-Sonderstati in Bochum am 1.1. (Croft,  1. Jan 2008, 16:08:32):
+Und zwar wie schon letztes Mal im Mandragora (Adenauerplatz 1) ab 19:00-
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 3.1. (Croft,  2. Jan 2008, 20:19:25):
+Diesmal gehts ins Ostend (Ecke Gottesauer Strasse / Ostendstrasse).
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 10.1/17.1/24.1/31.1 (Croft,  8. Jan 2008, 14:02:01):
+10.1 Zum Drachen (www.zumdrachen.de)
+17.1 Zum Drachen (www.zumdrachen.de)
+24.1 Der Grieche (www.taverne-der-grieche.de)
+31.1 Il Caminetto (Kronenstrasse 5)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+BS Stati 25.1. (Derin, 21. Jan 2008, 15:19:13):
+Hi!
+
+Wie jeden letzten Freitag im Monat findet auch am 25.1. der
+Braunschweiger Stammtisch statt -- diesmal wieder im Mephisto
+(ueppige gutbuergerliche felinische Kueche) in der Fallers-
+leber Strasse/Ecke Theaterwall. Wir freuen uns schon auf Euer
+zahlreiches Erscheinen. :)
+
+HAND,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: BS Stati 25.1. (Derin, 21. Jan 2008, 15:23:32):
+~#! rn=Derin rt=1200925153 rg=treffen.bekanntmachungen
+~#! tid=1200925153
+P.S.: Startschuss ist 19:30 Uhr.
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum. (Arathorn, 29. Jan 2008, 00:12:40):
+Hallo zusammen,
+
+wie gerade spontan beschlossen wurde, findet am naechsten Sonntag,
+dem 3. Februar 2008, ein Fruehstuecks-Stati im Mandragora in Bochum statt.
+Los geht's so gegen 11:00 Uhr. Bitte meldet Euch kurz, ob Ihr kommt, dann
+koennen wir einen passenden Tisch reservieren.
+
+Wer Wegbeschreibungen braucht, oder Abholservice vom Bahnhof oder aehnliches:
+Bitte melden, z.B. bei mir oder auch bei Zesstra.
+
+Kommet zuhauf! :-)
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+24. Feb Brunch in Berlin (Gloinson, 29. Jan 2008, 00:31:56):
+Mahlzeit,
+wir werden am Sonntag den 24. mal wieder ein wenig brunchen. Im Xion im Norden
+Berlins, dort, wo man so richtig viel mampfen kann:
+
+Kurzuebersicht:
+- http://www.xion-berlin.de/
+- Tram 13/S Schnhauser Allee: Stargarder Str./Pappelallee
+- 24. Februar, ab 11 Uhr
+
+Bitte meldet euch kurz bei mir, damit ich rechtzeitig genug Plaetze
+reservieren kann.
+
+Kommet noch viel haeufiger/gehaeufter! :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 7.2./14.2./21.2./28.2. (Croft,  4. Feb 2008, 14:19:46):
+ 7.2. Zum Drachen (www.zumdrachen.de)
+14.2. Zeus (Durlach, Pfinztalstr. 75)
+21.2. La Tegola (Jollystrasse 19)
+28.2. Zum Drachen (www.zumdrachen.de)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 24. Feb Brunch in Berlin (Gloinson, 14. Feb 2008, 12:19:36):
+~#! rn=Gloinson rt=1201563116 rg=treffen.bekanntmachungen
+~#! tid=1201563116
+> Berlin: Brunch am Sonntag, den 24. Februar
+>         http://www.xion-berlin.de/
+>         Tram 13/S Schnhauser Allee: Stargarder Str./Pappelallee
+
+Ab 10:30 sind circa 15 Plaetze auf den Namen "Gloin" reserviert.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 26.4. (Croft, 15. Feb 2008, 15:17:42):
+Interessierte koennen sich schon mal den 26.4. freihalten.  Welche
+Flammkuchenschmiede aufgesucht wird steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum (Humni, 25. Feb 2008, 21:28:27):
+Huhu,
+
+uns zieht es mal wieder zum Fruehstuecken ins Mandragora. Am Sonntag, den
+2.3., etwa ab 11 Uhr (ich kenn da wen, der wird schon wieder spaeter
+kommen...).
+
+Special Guests sind noch keine eingeplant, aber das kann sich ja noch aendern.
+
+Kommet zuhauf!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+BS Stati 29.2. (Shaeena, 27. Feb 2008, 01:27:03):
+Hallo,
+
+da Derin verschollen scheint, obliegt die schoene Aufgabe des 
+Stati-Ankuendigens diesen Monat mir:
+Wie jeden letzten Freitag im Monat, findet auch an diesem, dem 29.2.
+der Braunschweiger Stammtisch im Mephisto statt.
+Zahlreiches erscheinen wird begruesst, lassen wir uns ueberraschen,
+ob wir es auf ein zwergisches "viele Teilnehmer" schaffen ;-)
+
+Gruss,
+Shaeena
+
+-----------------------------------------------------------------------------
+
+
+
+Re: BS Stati 29.2. (Shaeena, 28. Feb 2008, 01:19:10):
+~#! rn=Shaeena rt=1204072023 rg=treffen.bekanntmachungen
+~#! tid=1204072023
+PS: Ich hab den gleichen Fehler wie Derin gemacht und nicht
+erwaehnt, dass es um 19.30 Uhr losgeht.
+Jetzt wisst ihr Bescheid, schoenen Gruss ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stammtisch 6.3. (Boing,  5. Mar 2008, 17:41:19):
+Entgegen meines inzwischen geloeschten Artikels findet der Stammtisch
+am 6.3. NICHT im Drachen statt sondern beim Griechen am Berliner Platz.
+
+Beginn 20:00 Uhr.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 13.Mar 2008 (Gingko,  7. Mar 2008, 10:20:10):
+Der Karlsruher Stammtisch naechste Woche findet wieder im Drachen
+(www.zumdrachen.de) statt. Wie immer Donnerstag (13.3.) ab 20h
+gingko.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 22.3. (Croft, 21. Mar 2008, 21:39:01):
+Da wir einen Sondergast haben, gibts auch mal wieder einen Sonder-Stati:
+FG1, Rintheimer Str. 21 (www.fg1.sportkneipe.de)
+Start 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum, 30.3. (Zesstra, 26. Mar 2008, 20:52:45):
+Huhu,
+
+wir wollen uns am kommenden Sonntag mal wieder zum Fruehstueck im Mandragora
+in Bochum versammeln. Also, am Sonntag, 30.3., etwa ab 11:00 (ihr koennt auch
+spater noch kommen *g*).
+Die Glaskugel sagt momentan einen Special Guest voraus. ;-)
+
+Kommet zuhauf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 27.3. (Gingko, 27. Mar 2008, 11:50:31):
+Der Karlsruher Stammtisch findet heute im Griechen
+(www.taverne-der-grieche.de) statt. Wie immer ab 20:00h.
+Gruesze gingko
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 3.4. (Gingko, 31. Mar 2008, 14:43:39):
+Hallo zusammen,
+der Karlsruher Stammtisch diesen Donnerstag findet im Drachen statt
+(www.zumdrachen.de). Wie gewohnt ab 20h.
+gruesze gingko
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum, 14.4. (Zesstra, 31. Mar 2008, 19:35:37):
+Da wir gestern drueber gesprochen haben, die Fruehstuecks-Statis frueher
+ankuendigen zu wollen, werde ich das mal tun, bevor ich es vergessen:
+Das naechste Fruehstueck in Bochum findet statt in knapp 2 Wochen,
+am 14.4., ab 11:00
+im Mandragora in Bochum.
+
+Kommet zuhauf,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fruehstueck in Bochum, 14.4. (Zesstra,  1. Apr 2008, 22:01:20):
+~#! rn=Zesstra rt=1206984937 rg=treffen.bekanntmachungen
+~#! tid=1206984937
+Ups. Ich wurde gerade von Masul drauf aufmerksam gemacht, dass der 14.4. ein
+Montag ist... ;-)
+Also, wir treffen uns natuerlich nicht Montag, sondern Sonntag, also am
+13.4.!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Ffm, 15.04.08 (Del,  8. Apr 2008, 15:58:07):
+Huhu Zusammen,
+die ueblichen Verdaechtigen aus Ffm und Umgebung treffen sich mal wieder zu
+einem kleinen Stammtisch.
+Ort: New in Town, Niddastr. 101, 60329 Frankfurt
+Zeit: Dienstag, 15.04. ab 18:30 Uhr
+
+Gwen wird uns die gemuetliche Sofaecke oben reservieren. ;-)
+
+Kommet zu Hauf!
+Gutes Essen, feine Heiss- und Kaltgetraenke sowie viel Spass werden
+garantiert!
+
+I.A. der Rhein-Main-Connection
+Del
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 10.4. (Croft,  9. Apr 2008, 01:06:54):
+10.4 Il Caminetto (Kronenstrasse 5)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 26.4. (Ark, 15. Apr 2008, 13:16:22):
+~#! rn=Croft rt=1203085062 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Hm, ich teste mal den Attraktivitaetsgrad meiner Anwesenheit ... wenn man das
+auf den 25.04. verlegen koennte, waere ich dabei :-) Je frueher, desto besser,
+oder?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA goes Flammkuchen 26.4. (Croft, 16. Apr 2008, 22:25:14):
+~#! rn=Ark rt=1208258182 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Dein Attraktivitaetsgrad kommt leider nicht gegen die Summe der Werte der
+Leute, die den Samstag praeferieren, an.
+So wie es bisher aussieht treffen wir uns am Samstag den 26.4 um 18:15
+am Uniparkplatz und fahren dann nach Neuhaeusel zur Auberge Ecurie du Rhin
+um dort ab 19:00 leckere Flammkuchen zu verzehren.  Interessenten bitte
+bei mir melden, damit das mit den Mitfahrgelegenheiten und den Abholwuenschen
+unter einen Hut geht.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA goes Flammkuchen 26.4. (Ark, 16. Apr 2008, 22:36:11):
+~#! rn=Croft rt=1208377514 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Mift, naja, Mahlzeit euch :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 17.4. (Croft, 17. Apr 2008, 12:05:43):
+17.4. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 24.4.-29.5. (Croft, 17. Apr 2008, 22:16:34):
+24.4. Asia Dynasty (www.asia-dynasty-ka.de)
+ 1.5. Zum Drachen (www.zumdrachen.de)
+ 8.5. FG Eins (www.fg-eins.de)
+15.5. Chiang Mai (Durlacher Allee 11)
+22.5. Der Grieche (www.taverne-der-grieche.de)
+29.5. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: KA goes Flammkuchen 26.4. (Croft, 22. Apr 2008, 15:37:16):
+~#! rn=Ark rt=1208378171 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Last call, morgen abend wird reserviert.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Rhein-In-Flammen-Stati Bonn (Vanion, 22. Apr 2008, 21:02:49):
+~#! rn=Vanion rt=1208375145 rg=treffen
+~#! tid=1208375145
+Da ich hinreichend positiven Feedback bekommen habe, erlaube ich mir mal einen
+Rhein-in-Flammen-Stati am Samstag, den 03. Mai auszurufen.
+
+Wo genau wir uns in den Rheinauen treffen, weiss ich noch nicht. Vielleicht
+hat einer der Ur-Bonner da eine Idee, aber ich halte 19:00 fuer einen guten
+Zeitpunkt.
+
+Die Rheinauen findet man mit oeffentlichen Verkehrsmitteln am besten in dem
+man bis zur S-Bahn-Haltestelle 'Rheinauen' faehrt. Etwas mutigere koennen sich
+auch von der Haltestelle 'Deutsche Telekom/Platz der Vereinten Nationen'
+durchkaempfen.
+
+Ich geb euch gern meine Handynummer; und fuer weiter anreisende hab ich in
+meiner Wohnung genug Platz um ein paar Leuten Asyl zu bieten. Meldet euch
+einfach.
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rhein-In-Flammen-Stati Bonn (Padreic, 24. Apr 2008, 19:39:04):
+~#! rn=Vanion rt=1208890969 rg=treffen.bekanntmachungen
+~#! tid=1208375145
+bzgl. gutem Treffpunkt in den Rheinauen: Letztlich haengt alles davon ab, was
+hr genau machen wollt und von wo ihr spaeter das Feuerwerk sehen moechtet.
+Das Bonnerfeuerwerk findet hinter dem grossen See statt. Die beste Sicht auf
+das Feuerwerk hat man folglich auf der anderen Seeseite. Sofern man gern die
+Musik zum feuerwerk hoeren moechte (gibt es recht oft), dann ist man an dieser
+Stelle auch in jedem Fall gut aufgehoben. Das Spektakel der Schiffe ist von
+dort aber nicht zu sehen!
+Rhein in Flammen ist im Ursprung ja eigentlich eine Veranstaltung von
+Schiffen. Moechte man die mal sehen (insgesamt sind das immer etwas ueber 50
+beleuchtete Schiffe), dann muss man wirklich runter an den Rhein oder hoch auf
+die Bruecke. Letztlich eine Geschmacksfrage, weil beides sehr imposant ist.
+Ein Treffen mit Auswaertigen innerhalb der Rheinaue ist eigentlich nur mittels
+Handykommunikation moeglich. Zumindest bei gutem Wetter sind fuer alles andere
+zuviele Leute unterwegs wenn nicht alle den Treffpunkt exakt kennen.
+
+Meine Empfehlung: steigt bei der Deutschen Telekom aus und trefft Euch dann
+dort unten am Rhein. Es ist genug los, als das jeder locker runter an den
+Rhein kommt, aber wenig genug um sich gut finden zu koennen und das warten
+dort ist sicher was schoener als direkt an der Haltestelle.
+Wer zu spaet kommt, muss zwingend ein Handy mithaben.
+
+Es moege uebrigends kein Auswaertiger auf die irre Idee kommen mit dem Auto
+zur Rheinaue fahren zu wollen. Selbst wenn es Euch gelingen sollte einen
+Parkplatz zu finden (was schon sehr unwahrscheinlich ist), so kommt ihr
+hinterher unter Garantie ueber Stunden hinweg dort nicht weg. Im Zweifel nutzt
+nen P&R Parkplatz und fahrt mit der Bahn rein.
+
+
+Pad*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: KA goes Flammkuchen 26.4. (Croft, 25. Apr 2008, 12:27:37):
+~#! rn=Croft rt=1208871436 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Reserviert ist.  Am Uniparkplatz trifft sich nun niemand mehr, da der
+Grossteil direkt faehrt bzw sich dezentral sammelt ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: KA goes Flammkuchen 26.4. (Croft, 25. Apr 2008, 12:28:15):
+~#! rn=Croft rt=1209119257 rg=treffen.bekanntmachungen
+~#! tid=1203085062
+Auberge Ecurie du Rhin
+33, rue des Roses
+67480 Neuhaeusel
+0033(0)388864064
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+ExMerlinStati in Bochum (Miril, 25. Apr 2008, 19:19:02):
+Huhu,
+
+am Sonntag, den 27.4.2008 wollen wir uns mal wieder zum gemeinsamen
+Fruehstueck im Mandragora treffen. Als Uhrzeit schlag ich mal 12 Uhr vor,
+damit Humni und ich nicht ganz so viel zu spaet kommen ;). Ueber auswaertige
+Gaeste freuen wir uns natuerlich immer, die koennen auch Samstag abend kommen
+und bei uns naechtigen. 
+
+In diesem Sinne: Kommet zuhauf (und sagt Bescheid, damit wir nen adaequaten
+Tisch reservieren koennen).
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rhein-In-Flammen-Stati Bonn (Vanion, 30. Apr 2008, 20:57:31):
+~#! rn=Padreic rt=1209058744 rg=treffen.bekanntmachungen
+~#! tid=1208375145
+Ich finde die Idee gut. Treffen wir uns gegen 19:00 an der SBahn-Haltestelle
+Platz der Vereinten Nationen. Alternativ koennen wir uns bei mir in
+Godesberg/Heiderhof treffen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+grillen in marburg? (Innuendo,  3. Mai 2008, 14:45:45):
+hiho! haettet ihr lust auf nen netten grillabend in mr? irgendwann im mai oder
+juni... ueber schoene grillplatzvorschlaege wuerd ich mich auch freuen! ich
+kenn nur das lahnufer...;-) 
+lg innu
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Ffm, 08.05. (Del,  5. Mai 2008, 18:13:21):
+Huhu Zusammen,
+am Donnerstag, 08.05. gibt's nen Spontanstammtisch in Ffm.
+Ort: New in Town, Niddastrasse, Ffm
+Zeit: 18:30 Uhr
+Bisher zugesagt haben: Gwen, Demonlord, Xutelius, Innuendo und meine
+Wenigkeit. Auf unseren witzischen Ark muessen wir leider verzichten.
+Aber trotzdem (oder vielleicht gerade deswegen...): Kommet in Scharen!
+Del
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck 18.5. in Bochum (Zesstra, 16. Mai 2008, 11:35:44):
+Wie immer: eine spaete Ankuendigung, hoffentlich nicht zu spaet.
+Unser naechstes Fruehstueck ist kommenden Sonntag, den 18.5.,
+ab 11:00 im Mandragora in Bochum.
+Ich werde ausnahmsweise spaeter kommen, weil ich noch jemandem zum Flughafen
+fahren muss, aber das sollte euch nicht stoeren. ;-)
+
+Kommet zuhauf,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Kneipentour Sontag 18.05. (Demonlord, 16. Mai 2008, 16:03:11):
+Hi Frankfurter,
+
+angesichts den anhaltend warmen Wetter friert es die Stammgaeste im "Zum
+frischen Wind" etwas, daher findet am Sonntag eine sponate Kneipentour in
+Alt-Sachsenhausen statt. Wer hat Lust auf ein/zwei Liter Apfelwein vorbei zu
+schauen?
+
+Gruss DL
+
+-----------------------------------------------------------------------------
+
+
+
+Grill-Stati!!! (Yuli, 24. Mai 2008, 09:44:00):
+Hallo zusammen,
+
+um die gute Idee von Innuendo aufzugreifen: Grillen macht Spass! :)
+(Rubrik: Treffen)
+
+Da sich schon einige gemeldet haben, die gerne vorbeikommen wuerden, gebe ich
+jetzt folgendes Treffen bekannt:
+
+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.
+
+Bisher habe ich terminmaessig nur Rueckmeldungen fuer den 14. bekommen, daher
+will ich den Grillplatz fuer diesen Samstag reservieren. Dazu waere es aber
+immer noch gut zu wissen, wie viele etwa kommen, deswegen:
+
+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
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 5.6.-12.6. (Croft,  4. Jun 2008, 16:52:14):
+ 5.6. Zum Drachen (www.zumdrachen.de)
+12.6. Asia Dynasty (www.asia-dynasty-ka.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+FLEISCH! (Krstfrs, 14. Jun 2008, 02:16:28):
+Huhu,
+
+so, Last-Minute-Informationen.
+Eine Navitaugliche Adresse ist Kleiner Torfbruch 31, 40627 Duesseldorf. Fahrt
+aber lieber den Schildern Richtung Bootsstrand nach. Von der A3 auf die A46
+oder von Osten auf der A46 nach der Ausfahrt rechts abbiegen, von der A46 von
+Westen links abbiegen. Die grosse Kreuzung passieren und geradeaus, bis ihr
+links zum Bootsstrand abbiegen koennt.
+http://www.unterbachersee.com/online/index.php?id=anfahrt
+
+Wir treffen uns dort am Minigolfplatz (ggue. des Parkplatzes) um 14 Uhr,
+danach geht es in einer Kolonne zu mir.
+Fuer Fleisch, Salate, Bier ist gesorgt.
+
+Gruesse,
+Krstfrs
+
+-----------------------------------------------------------------------------
+
+
+
+FLEISCH! (Krstfrs, 14. Jun 2008, 11:59:09):
+Huhu,
+
+fuer alle, die spaeter kommen, mache ich hier noch meine Adresse bekannt:
+Gian Perrone
+Morper Allee 13
+40699 Erkrath
+
+Gruesse,
+Krstfrs
+
+-----------------------------------------------------------------------------
+
+
+
+Kieler Woche (Janne, 15. Jun 2008, 17:27:06):
+Es ist Juni! Das bedeutet Kieler Woche!! Und damit steht auch wieder der
+obligatorische Kieler-Woche-Stammtisch an J
+Zur groben Planung: am 28. 6. steht ab 10 Uhr wieder Baden/Grillen am
+Falckensteiner Strand an mit wunderbarem Blick auf die Windjammerparade,
+abends dann ein Bummel von einer Konzertbuehne zur naechsten. Eine Uebersicht
+ueber die Konzerte findet Ihr unter www.kiel4kiel.de. Dazwischen oder am
+Sonntag - je nach Windverhaeltnissen und Interesse - ein kleiner Segeltoern
+(bitte auf Schuhe mit hellen Sohlen achten), um dann am Sonntag das
+supergeniale Feuerwerk zu geniessen. 
+
+Und somit  ganz traditionell nach dem Kieler Woche Motto: Leinen los!!
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 19.6 (Croft, 19. Jun 2008, 17:52:20):
+Heute abend sind wir im Drachen (www.zumdrachen.de) und zwar vereinzelt
+auch schon ab 19:00 um den Tisch sicher zu haben.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum (Arathorn, 20. Jun 2008, 21:10:41):
+Hiho,
+
+es wird mal wieder im Mandragora gefruehstueckt, und zwar am kommenden
+Sonntag (22.6.2008), wie gewohnt ab 11:00. Wie ebenfalls gewohnt, werd ich
+wohl keinen Tisch reservieren. 
+
+Kommet zuhauf!
+
+Gruss, A*n.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 26.6 (Croft, 26. Jun 2008, 01:30:55):
+Heute sind wir wieder ab 19:30 im Drachen (www.zumdrachen.de) anzutreffen.
+Ueber die naechsten Lokalitaeten wird vor Ort entschieden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Brunch Berlin Sonntag, 20. Juli (Gloinson, 27. Jun 2008, 10:58:42):
+Hallo Fresssaecke,
+
+am Sonntag den 20. Juli werden wir in Berlin brunchen. Ort wird noch
+verhandelt, Zeit wie immer wochenendfreundlich ab etwa 11 Uhr.
+
+Reservieret die Zeit zu Hauf. Es gibt auch einen ganz ueberraschenden
+Ueberraschungsgast aus dem Pott, der sich ueberaschenderweise schon
+vor ein paar Wochen angemeldet hat.
+
+Reservieret die Zeit zu Hauf :)
+
+PS: Das Brunchen am Samstag, den 19. Juli wird durch intensives Zwergenbaden
+ersetzt. Jeder suche sich bitte einen Zwerg seiner Wahl.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 2.7 (Croft,  2. Jul 2008, 14:37:15):
+Morgen sind wir im Der Grieche (www.taverne-der-grieche.de) ab 20:00
+zu finden.  Der Spanier wurde auf Grund des geringen Entgegenkommens
+am Sonntag vorlaeufig boykottiert.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 10.-24.7. (Croft,  4. Jul 2008, 12:48:48):
+Die naechsten Termine:
+10.7. La Cage (www.lacage.de)
+17.7. Italiener (genaueres folgt)
+24.7. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Brunch Berlin Sonntag, 20. Juli (Gloinson,  7. Jul 2008, 20:06:11):
+~#! rn=Gloinson rt=1214557122 rg=treffen.bekanntmachungen
+~#! tid=1214557122
+So. Ort ist nun auch geklaert. Im Xion ist am 20.07. ab 10:30 auf den Namen
+Morgengrauen reserviert.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Stati 10.-24.7. (Croft, 14. Jul 2008, 11:34:44):
+~#! rn=Croft rt=1215168528 rg=treffen.bekanntmachungen
+~#! tid=1215168528
+Am 17. gehts ins San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Schleswig (Vanion, 22. Jul 2008, 20:04:52):
+Hallo, 
+
+am Freitag, den 25.07.2008, treffen wir uns ab 20:00 in der Asgaard-Brauerei
+in Schleswig zum Haithabu-Sonderstati.
+
+Kommet in Rudeln!
+
+Infos: www.asgaard.de
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 31.7-14.8 (Croft, 30. Jul 2008, 15:51:45):
+31.7 FG1 (www.fg-eins.de)
+ 7.8 Der Grieche (www.taverne-der-grieche.de)
+14.8 Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch Bochum - Sonntag, 10.8. (Arathorn,  5. Aug 2008, 21:21:05):
+Hiho,
+
+wie gewohnt, diesmal lediglich etwas ausser Takt, am kommenden Sonntag
+wieder Fruehstuecks-Stati in Bochum.
+
+Ort: Mandragora, Konrad-Adenauer-Platz 1
+Zeit: ab 11:00 (Fruehstueck gibts aber bis 17:00)
+
+Kommet zuhauf! :-)
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 21.8-11.9 (Croft, 14. Aug 2008, 23:59:49):
+21.8 Titanic (www.ticka.net)
+28.8 Asia Dynasty (www.asia-dynasty-ka.de)
+ 4.9 Der Grieche (www.taverne-der-grieche.de)
+11.9 Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck (Miril, 22. Aug 2008, 16:24:56):
+Huhu,
+
+am Sonntag, den 24.8., ab 11 Uhr treffen wir uns wie gewohnt im Mandragora in
+Bochum. Auswaertige Gaeste sind wie immer gern gesehen.
+
+Kommet zuhauf,
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Museumsuferfest 2008 in Frankfurt (30.08.08) (Gwen, 28. Aug 2008, 18:30:50):
+Wir werden am Samstag auf dem Museumsuferfest in Frankfurt sein.
+Treffen: 13:00 Uhr auf dem Holbeinsteg, nrdliches Ufer.
+Unter anderem nehmen ein paar MGler am Drachenbootrennen teil, 
+naemlich im Team "Summer Pirates" und im "Team: bahn.de".
+Wer uns anfeuern will:
+Team: bahn.de startet im Open-Cup um 9:55 und dann wieder in der Zeit ab 10:40
+bis 12:00 Uhr
+Summer Pirates im Mixed-Cup um 12:20 Uhr
+
+Kommt und unterstuetzt uns, indem Ihr uns kraeftig anfeuert!
+Macht Fotos!
+Und geniesst die tolle Atmosphaere auf dem bekannten Frankfurter
+Museumsuferfest!
+(Infos zum Museumsuferfest:
+http://www.frankfurt-tourismus.de/cms/tourismussuite/de/messen_frankfurt_veran
+staltungen/museumsuferfest_muf_frankfurt.html 
+und http://www.museumsuferfest-frankfurt.de/)
+
+Fuer weitere Infos koennt Ihr mich gerne anmailen/ansprechen.
+
+Sportlich-drachische Gruesse,
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 14.9. (Croft, 29. Aug 2008, 12:00:17):
+Es wird mal wieder Zeit Panos in seiner Seemuschel zwischen Neuthard
+und Buechenau zu besuchen.  Als Termin wurde Sonntag der 14.9. um
+13:00 auserkoren.  Treffen entweder direkt dort oder in Karlsruhe.
+Fuer Autofahrer um 12:30 (wo und wie das mit den Mitfahrgelegenheiten
+aussieht wird noch ausgekluegelt) oder um 11:45 fuer Radfahrer (sind
+~20km von KA aus).
+ 
+Webseite der Seemuschel
+http://www.av-buechenau.de/17503.html
+und bei Google-Maps sieht man das Gebaeude unter
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bo (Miril,  5. Sep 2008, 19:16:36):
+Huhu,
+
+am Sonntag, den 7.9.08 treffen wir uns wie gehabt ab 11 Uhr zum Fruehstueck im
+Mandragora am Bochumer Bermudadreieck.
+
+Kommet zuhauf,
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Mampf-Stati am 21. September in Berlin (Gloinson, 17. Sep 2008, 13:50:43):
+Auf kurzfristige Anfragen bekommt man kurzfristige Antworten: Nach der
+Anmeldung leckerer Zwerge aus Dresden, anderthalb leckerer Zwerge aus Berlin
+und generellen grossen Hungergefuehls habe ich soeben reserviert:
+
+- Xion Berlin
+- http://xion-berlin.de/wegbeschreibung/so-finden-sie-uns.html
+  (S Schoenhauser Allee)
+- 21. September, ab 10:30
+- Name: "Morgengrauen"
+
+Happa! Happa! Mampf! (*1)
+
+Krischan
+
+(*1) Koemmet in grossen Haeufchen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 18.9. (Gingko, 17. Sep 2008, 17:53:46):
+Morgen (18.9.) sind wir in der Pizzaria Portobello in Ettlingen (Kronenstr.
+11) www.portobello-ettlingen.de
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 25.9. (Croft, 21. Sep 2008, 13:07:33):
+Der Stati findet im Zum Drachen (www.zumdrachen.de) statt.
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 18.10. (Croft, 21. Sep 2008, 13:09:01):
+Diesmal gehts abends ins Elsass zum Flammkuchenessen.  Genauere Zeit
+und Lokalitaeten werden noch bekanntgegeben.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 2.10-6.11 (Croft, 25. Sep 2008, 23:45:25):
+ 2.10. Asia Dynasty (www.asia-dynasty-ka.de)
+ 9.10. Zum Drachen (www.zumdrachen.de)
+16.10. Der Grieche (www.taverne-der-grieche.de)
+23.10. Zum Drachen (www.zumdrachen.de)
+30.10. Pizzaria Portobello (www.portobello-ettlingen.de)
+ 6.11. Asia Dynasty (www.asia-dynasty-ka.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Sonder-Stati 18.10. (Croft, 10. Okt 2008, 01:22:18):
+~#! rn=Croft rt=1221995341 rg=treffen.bekanntmachungen
+~#! tid=1221995341
+Als Ort ist soweit eine neue Lokalitaet angedacht:
+Auberge de la Foret
+42, route de Strasbourg
+67470 Seltz
+Fuer die Reservierung bitte bis naechste Woche Mittwoch bei mir melden,
+damit wir am Donnerstag verbindliche Zahlen durchgeben koennen.  Bisher
+sind wir 16 :-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Sonder-Stati 18.10. (Croft, 13. Okt 2008, 11:51:18):
+~#! rn=Croft rt=1223594538 rg=treffen.bekanntmachungen
+~#! tid=1221995341
+Treffen ist um 18:00 am ueblichen Uniparkplatz.  Bitte bzgl Organisation
+der Mitfahrgelegenheiten bei mir melden, wer fahren kann und wer noch
+einen Mfg braucht bzw wer direkt faehrt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA Sonder-Stati 18.10. (Croft, 17. Okt 2008, 12:31:26):
+~#! rn=Croft rt=1223891478 rg=treffen.bekanntmachungen
+~#! tid=1221995341
+Da sich das mit den Direktfahrern recht gut organisiert hat und der
+KSC an dem Nachmittag spielt wird der Treffpunkt auf den Parkplatz
+suedlich des Hauptbahnhofs verschoben.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum (Humni, 18. Okt 2008, 14:10:49):
+Huhu,
+
+ja. Wir haben gerade Pause, da wir alle irgendwie nie koennen und dann noch
+Spielemesse ist und morgen ist was kurzfristig... also...
+
+Naechster Bochumer MG-Stati: 9.11. (ja, dauert noch was)
+Ort: Mandragora, Bermuda-Dreieck
+Zeit: 11 Uhr (Miril und ich kommen wie ueblich erst spaeter).
+
+Alle kommen. Sonst fressen. Ich. Euch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: KA Sonder-Stati 18.10. (Rumata, 19. Okt 2008, 15:11:18):
+~#! rn=Croft rt=1224239486 rg=treffen.bekanntmachungen
+~#! tid=1221995341
+FlaKuStammtisch Nachlese: Wenn Fonts Personen waeren
+Hier der versprochene Link:
+http://www.collegehumor.com/video:1823766
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Michelstadt 06.12.08 (Ark, 27. Okt 2008, 23:47:01):
+Eben entstand mehr oder weniger spontan die Idee, am obigen Datum den
+Michelstaedter Weihnachtsmarkt zu besuchen. Aus mehrfacher Erfahrung finde ich
+den sehr heimelig, nicht groehlend laut und in sehr gemuetlicher Umgebung.
+Soeben konnte ich weitgereiste Prominente aus Bochum zu einem Termin
+ueberreden ... da waere es doch gelacht, wenn nicht noch weitere muntere
+Gesellen und Weibsvolk dazustossen wuerden.
+Empfehlenswert waere einmal zu uebernachten, da der Genuss von dampfendem
+Alkohol und das Wegfahren aus dem suedlichen Odenwald als ein wenig
+unverantwortlich vom dortigen Nachtwaechter angesehen werden wuerde.
+Wer etwas mehr wissen will:
+http://www.weihnachtsmarkt-deutschland.de/weihnachtsmarkt-michelstadt.html
+Hotels gibt es einige, aber ich wuerde mich erstmal ueber Interessenten
+freuen, bevor ich da mal auf Suche gehe. Ich zumindest fahre dann an dem Abend
+nicht mehr heim :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsmarkt Michelstadt 06.12.08 (Ark, 29. Okt 2008, 21:53:13):
+~#! rn=Ark rt=1225147621 rg=treffen.bekanntmachungen
+~#! tid=1225147621
+Im Moment haben sich 2 Hotels angeboten:
+http://www.hotel-nibelungen.de/ und http://www.hotel.de/de.hotels/Michelstadt_
+38065/City_Hotel_Mark_Michelstadt_201744/hotel.aspx
+Wuerde mich anbieten, fuer 13.12. auf 14.12. zu reservieren, wenn wir uns auf
+eins einigen koennen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmarkt Michelstadt 06.12.08 (Gwen, 30. Okt 2008, 07:00:36):
+~#! rn=Ark rt=1225313593 rg=treffen.bekanntmachungen
+~#! tid=1225147621
+Salut,
+fuer die eine Uebernachtung taete es aus meiner Sicht auch was einfacheres und
+guenstigeres.
+Z.B. auch ne Pension.
+Mein aktueller Favorit waer das Hotel am Kellerberg.
+
+Macht Euch selbst ein Bild mit den Infos von der Touristeninfoseite:
+http://www.michelstadt.de/Hotels-Pensionen-F.583.0.html
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+* http://www.hotel-nibelungen.de/
+---------------------------------
+Einzelzimmer: 49,00 - 54,00 Euro
+Doppelzimmer: 75,00 - 79,00 Euro
+
+Am Stadtrand  gelegenes Hotel, 15 Gehminuten zum Rathaus
+
+* http://hotel-am-kellereiberg-michelstadt.de/lapok/nemet/hotel.htm
+--------------------------------------------------------------------
+Einzelzimmer ...... 38 - 53 Euro
+Doppelzimmer ...... 55 - 72 Euro
+
+In ruhiger Lage, 3 bis 4 Gehminuten vom historischen Rathaus entfernt.
+
+* http://www.dreihasen.de/
+--------------------------
+Preisinfo: Anrufen/Email?
+
+* http://www.cityhotel-markmichelstadt.de/
+------------------------------------------
+Einzelzimmer: 59,00 Euro
+Doppelzimmer: 89,00 Euro
+3-Bett-Zimmer: 105,00 Euro
+4-Bett-Zimmer: 120,00 Euro
+Babybett ist kostenlos ;)
+Alle Preise inkl. Fruehstueck
+
+In der Hotel-Kritik: 
+- Nahe an der Bundesstrasse, laut; gibt anscheineind auch "ruhige" Zimmer zum
+Parkplatz.
+- Es gibt Raucherzimer; gebuchte Zimmer wurden als stark verraucht bemaengelt.
+- 12 Min zum Stadtkern
+
+* http://www.michelstaedter-hof.de/
+-----------------------------------
+Doppelzimmer:  44.00 bis  49.00 je Person
+Einzelzimmer:  53.00 bis  73.00 je Person
+Zusatzbetten:  
+Kinder ab 7 - 14 Jahre  19.00 
+Erwachsene  35.00  
+inkl. Fruehstuecksbuffet
+
+
+Ciao, Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Mampf-Stati am 14. Dezember in Berlin (Gloinson,  2. Nov 2008, 13:59:04):
+Huhu, naechster Fre(sss)*ack-Stammtisch im Xion findet statt am
+Sonntag, den 14. Dezember.
+Es ergibt sich eventuell sogar die Gelegenheit zur Neubesichtigung
+von in Baumwolle und Zellstoff gefangenen Dunkelhobbits. Fuettern
+des Aufsichtspersonals ist erlaubt.
+
+- Xion Berlin
+- http://xion-berlin.de/wegbeschreibung/so-finden-sie-uns.html
+  (S Schoenhauser Allee)
+- 14. Dezember, ab 10:30
+- Name: "Morgengrauen"
+
+Happa! Happa! Mampf! (*1)
+
+Krischan
+
+(*1) Koemmet in grossen Haeufchen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Bochum (Humni,  8. Nov 2008, 20:46:54):
+~#! rn=Humni rt=1224331849 rg=treffen.bekanntmachungen
+~#! tid=1224331849
+So. Da das nun schon ne Weile her war mit der Ankuendigung schreib ichs
+nochmal zur Erinnerung: Morgen Stati im Mandragora. Fressen, Saufen, Spass
+haben. Oder so.
+
+(Details siehe Ursprungspost).
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecks-Stati, 7.12.08, Bochum (Zesstra,  9. Nov 2008, 15:21:55):
+Huhu,
+
+damit wir es nicht vergessen: Das naechste Fruehstueck ist geplant fuer den
+7.12.2008,
+ebenfalls wieder im Mandragora
+ab 11:00.
+
+Also, kommet zuhauf. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 13.-20.11 (Croft, 11. Nov 2008, 15:21:09):
+Ein kurzes Drachenintermezzo bevor dann naechste Woche wieder andere
+Lokalitaeten ausgesucht werden.
+13.11. Zum Drachen (www.zumdrachen.de)
+20.11. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 27.11.-11.12. (Croft, 21. Nov 2008, 09:13:55):
+Und die naechsten Termine:
+27.11. Der Grieche (www.taverne-der-grieche.de)
+ 4.12. Zum Drachen (www.zumdrachen.de)
+11.12. Pizzaria Portobello (www.portobello-ettlingen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fruehstuecks-Stati, 7.12.08, Bochum (Zesstra,  4. Dez 2008, 21:37:29):
+~#! rn=Zesstra rt=1226240515 rg=treffen.bekanntmachungen
+~#! tid=1226240515
+Da die Ankuendigung ja schon so lang her ist, mal ne kleine Erinnerung. ;-)
+Naechstes Fruehstueck ist am 7.12. im Mandragora.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 18.12.-8.1. (Croft, 12. Dez 2008, 20:13:52):
+18.12. Zum Drachen (www.zumdrachen.de)
+ 1. 1. Bochum (genaue Lokalitaet wird noch bekanntgegeben)
+ 8. 1. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt Essen, 20.12., tagsueber (Humni, 18. Dez 2008, 19:54:46):
+Huhu,
+
+Zesstra, Miril und meinereiner haben soeben beschlossen, den Weihnachtsmarkt
+in Essen am Samstag, ab 14 uhr, unsicher zu machen (einige davon muessen
+abends leider wieder frueher nach Hause). Treffpunkt ist entweder (wenn der
+offen ist, ich glaub, der ist gesperrt) der obere HBF-Ausgang Richtung
+Innenstadt oder sonst die Post da. Wenn noch jemand kommen mag, bitte ;-)
+
+Solltet uns vielleicht vorher bescheidstossen, damit wir Euch nicht
+uebersehen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Stati 18.12.-8.1. (Croft, 29. Dez 2008, 22:10:30):
+~#! rn=Croft rt=1229109232 rg=treffen.bekanntmachungen
+~#! tid=1229109232
+Der Sonderstati am 1.1. wird im Mandragora (www.mandragora-bochum.de) 
+ab 19:30 stattfinden.  Bzgl Reservierungen bitte Bescheid geben.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 15.1.-29.1. (Croft,  9. Jan 2009, 14:44:10):
+15.1. Jasmin (Marktstr. 16, Ettlingen)
+22.1. Der Grieche (www.taverne-der-grieche.de)
+29.1. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck, 25.01.2009 (Zesstra, 23. Jan 2009, 20:41:47):
+Huhu,
+
+mal wieder viel zu spaet (weiss nicht, warum wir so selten dran denken), aber
+vielleicht kann ja jemand spontan:
+Unser naechstes Fruehstueck ist am
+Sonntag, 25.01.2009
+im Mandragora in Bochum
+ab 11:00, Ende offen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati FFM (Demonlord, 26. Jan 2009, 13:30:38):
+Morsche Hesse!
+
+Wie waers mal wieder mit einer kleinen Stati-Runde in FFM z.B. new-in-town.
+
+Terminvorschlag: 10.02.2009
+
+Wer hat Bock und Zeit?
+
+Gruss
+DL
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 5.-12.2. (Croft, 30. Jan 2009, 19:53:51):
+ 5.2. Pizzaria Portobello (www.portobello-ettlingen.de)
+12.2. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati FFM (Ronda,  4. Feb 2009, 20:12:15):
+~#! rn=Demonlord rt=1232973038 rg=treffen.bekanntmachungen
+~#! tid=1232973038
+Hi Demonlord,
+
+gute Idee! Aber: Bock auf New-In-Town: ja. Zeit: ja - bin aber genau an dem
+Abend in Berlin. Hmpf.
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati FFM (Demonlord,  4. Feb 2009, 20:15:07):
+~#! rn=Ronda rt=1233774735 rg=treffen.bekanntmachungen
+~#! tid=1232973038
+Ich kann leider zu diesem Tag auch nicht (kurzfristig nen anderen termin)
+Vorschlag: 18.02.2009
+Bei den anderen auch ok??
+
+Gruss DL
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati FFM (Cassandra,  5. Feb 2009, 11:58:33):
+~#! rn=Demonlord rt=1233774907 rg=treffen.bekanntmachungen
+~#! tid=1232973038
+bei mir ok
+Cassy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati FFM (Ark,  5. Feb 2009, 12:09:53):
+~#! rn=Demonlord rt=1233774907 rg=treffen.bekanntmachungen
+~#! tid=1232973038
+Jo.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 19.2.-5.3. (Croft,  6. Feb 2009, 12:30:30):
+19.2. Der Grieche (www.taverne-der-grieche.de)
+26.2. El Taquito (www.el-taquito.de)
+ 5.3. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Sonntag, 8.2. Bochum (Humni,  7. Feb 2009, 20:42:12):
+Huhu,
+
+morgen stati. Mandra. 11 Uhr. Wir erst 12. Wie immer.
+
+Drache, keine Zeit.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stati FFM (Demonlord, 12. Feb 2009, 21:34:36):
+~#! rn=Demonlord rt=1233774907 rg=treffen.bekanntmachungen
+~#! tid=1232973038
+Morsche Hessen!
+
+
+am 18.02.2009 ist hier ab 19:00 ein Tisch fuer uns reserviert (wieder die
+gemuetliche Couch zum Abnicken auf der Empore):
+
+http://home.new-in-town.de/
+
+Bis dahin!
+DL
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecks-Stati 22.2. Bochum (Zesstra, 18. Feb 2009, 21:51:55):
+Huhu allerseits,
+
+unser naechstes Fruehstueck findet statt am
+22.2.
+im Mandragora in Bochum,
+ab 11:00
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati 15.3. Bochum (Vanhelsing,  8. Mar 2009, 22:40:35):
+Ich als Neu-Duesseldorfer hab mal Lust nen Stati anzusagen, also mach ich das
+auch mal.
+Da das Mandragora sich bewaehrt hat, bleib ich auch dabei. ;)
+Also
+15.3.
+Mandragora in Bochum
+ab 11:00
+
+Kommet Zuhauf
+
+VH
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 12.-19.3. (Croft, 10. Mar 2009, 12:03:56):
+12.3. Zum Drachen (www.zumdrachen.de)
+19.3. Pizzaria Portobello (www.portobello-ettlingen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Stati 12.-19.3. (Croft, 12. Mar 2009, 21:13:19):
+~#! rn=Croft rt=1236683036 rg=treffen.bekanntmachungen
+~#! tid=1236683036
+Der Stati naechste Woche wird kurzerhand verlegt.  Siehe naechstes Posting.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KKA Statis 19.3.-9.4. (Croft, 12. Mar 2009, 21:19:08):
+19.3. Substage (www.substage.de) [Corvus Corax Ticket erforderlich]
+26.3. Pizzaria Portobello (www.portobello-ettlingen.de)
+ 2.4. Der Grieche (www.taverne-der-grieche.de)
+ 4.4. Klag (www.kulturrausch-gaggenau.de) [Stonkel Ticket erforderlich]
+[SONDERSTATI]
+ 9.4. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 23.5. (Croft, 12. Mar 2009, 21:30:24):
+Interessierte koennen sich schon mal den 23.5. freihalten.  Welche
+Flammkuchenschmiede aufgesucht wird steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 16.4.-7.5. (Croft,  3. Apr 2009, 15:02:10):
+16.4. El Taquito (www.el-taquito.de)
+23.4. Osteria Calabrisella (www.osteria-calabrisella.de)
+30.4. Zum Drachen (www.zumdrachen.de)
+ 7.5. Jasmin (Marktstr. 16, Ettlingen)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum am 5.4. - Mandragora (Humni,  3. Apr 2009, 21:46:47):
+Huhu,
+
+wir wollen uns am Sonntag, dem 5.4., im Mandragora treffen. Dort werden wir
+Fruehstueck verspeisen. Zu diesem Behufe werden wir uns um ... aeh... 11 Uhr
+treffen. Also rechnet nicht vor 12-13 Uhr mit uns...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Vorankuendigung Brunch 14. Juni Berlin (Gloinson,  6. Apr 2009, 20:40:14):
+Moin,
+Hunger, Hunger! Ist zwar lange hin, aber am 14. Juni waer doch mal
+wieder ein perfektes (*1) Datum f|r einen Brunchsonntag in Berlin.
+Es wird leicht sonnig mit knusprigen Kindern sein.
+
+Ort koennte wieder Xion (http://www.xion-berlin.de/) bei der Stargarder
+Str./Pappelallee sein, da er sowohl platz-, mengen- also auch
+geschmackserprobt ist.
+
+Wer Vorschlaege fuer andere Orte (wie eine All-you-can-eat-Sushi-Bar,
+nachdem wir in DD wieder angefuettert worden sind) hat: immer her
+damit.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Ruhrpott in Bochum, 19.4. (Humni, 18. Apr 2009, 19:07:55):
+
+Huhu,
+
+morgen (jaja, sehr kurzfristig, aber im Rhythmus) treffen wir uns im
+Mandragora in Bochum zum brunchen und futtern. Es wird vermutlich irgendwer ab
+11 Uhr da sein, wir aber erst fruehestens ab 12, wie immer.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum, 3.5. (Zesstra, 30. Apr 2009, 17:40:36):
+Am naechsten Sonntag sind wieder 2 Wochen rum, d.h. wir treffen uns 
+ab 11:00
+im Mandragora in Bochum
+zum Fruehstueck/Mittagessen.
+
+Kommet zuhauf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 7.5.-28.5. (Croft,  5. Mai 2009, 22:24:46):
+ 7.5. Zum Drachen (www.zumdrachen.de)
+14.5. Jasmin (Marktstr. 16, Ettlingen)
+21.5. Der Grieche (www.taverne-der-grieche.de)
+28.5. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 16.4.-7.5. (Croft,  5. Mai 2009, 22:25:20):
+~#! rn=Croft rt=1238763730 rg=treffen.bekanntmachungen
+~#! tid=1238763730
+Der Stati diese Woche hat sich vom Jasmin in Richtung Drachen verschoben.
+Jasmin ist erst naechste Woche dran.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bier ... aeh.. nee.. das andere B... Brunch! Bochum! Bandragora! (Humni, 16. Mai 2009, 15:18:55):
+Huhu,
+
+wir treffen uns morgen im Mandragora in Bochum zum brunchen. Andere werden
+sicher schon ab 11 Uhr da sein. Wir werden wie ueblich wohl nicht vor 12 da
+sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 7.5.-28.5. (Croft, 18. Mai 2009, 10:23:17):
+~#! rn=Croft rt=1241555086 rg=treffen.bekanntmachungen
+~#! tid=1241555086
+Da der Grieche momentan umbaut, wird sich das Lokal diese Woche aendern.
+Naeheres folgt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 23.5. (Croft, 18. Mai 2009, 12:43:15):
+Sowas, da ist doch glatt schon der Artikel expired.  Nochmal: die ueblichen
+Karlsruher Verdaechtigen schauen diesen Samstag ins Elsass um dort den
+ein oder anderen Flammkuchen zu konsumieren.  Los gehts abends um 19:00
+vor Ort (welcher genau wird morgen bekannt gegeben).  Vorrausichtlich
+wird des die Auberge de la foret werden (wie schon letztes Mal).
+Interessenten bitte bis Mittwoch zwecks Reservierung bei mir melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA goes Flammkuchen 23.5. (Croft, 18. Mai 2009, 17:55:09):
+~#! rn=Croft rt=1242643395 rg=treffen.bekanntmachungen
+~#! tid=1242643395
+Das Lokal steht nun fest:
+
+Auberge de la Foret
+42, route de Strasbourg
+67470 Seltz
+http://aubergeforet.free.fr/ueberuns_d.htm
+
+Wer direkt fahren will: Treffpunkt 19:00 vor Ort, die anderen treffen
+sich in Karlsruhe um 18:00 um die Mitfahrgelegenheiten zu sortieren.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 7.5.-28.5. (Croft, 20. Mai 2009, 15:56:20):
+~#! rn=Croft rt=1242634997 rg=treffen.bekanntmachungen
+~#! tid=1241555086
+Auf einzelnen Wunsch gehts in den Drachen ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Kieler Woche (Janne, 27. Mai 2009, 23:46:49):
+Moin,
+
+und wieder einmal steht die Kieler Woche ins Haus und damit wiederum auch der
+obligatorische Kieler-Woche-Stammtisch am zweiten WE  vom 26. bis 28. Juni.
+
+Unter kieler-woche.de oder unter foerdefluesterer.de findet Ihr das offizielle
+Programm, welches wieder mit Strandgrillen zur Windjammerparade und Segeln
+etc. erweitert werden wird. Interesse geweckt? Dann auf nach Kiel J
+
+ Leinen los!
+Janne
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 4.6.-18.6. (Croft, 29. Mai 2009, 12:14:12):
+ 4.6. Schmalztoepfle (www.schmalztoepfle.de)
+11.6. Brauhaus Moninger (www.brauhaus-moninger.de)
+18.6. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stati (Humni, 31. Mai 2009, 00:00:02):
+Ja, mal so richtig kurzfristig: Morgen (ich schreib um 23:59), 31.5.,
+Mandragora, Brunch. Ab 11, wir werden wie ueblich nicht vor 12 da sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stati 14.6. (Humni, 12. Jun 2009, 21:02:09):
+Huhu,
+
+am 14.6. sollte wieder Mandragora-Tag in Bochum sein, wie ueblich vermutlich
+ab 11 Uhr. Ich bin jetzt mal ehrlich und sage, ich bin nicht sicher, ob ich
+dann wirklich kann, da mich die Arbeit gerade auffuttert (ich sollte einfach
+als Drache die Arbeit futtern - guter Ansatz - ich denk bis sonntag drueber
+nach). Aber bekanntgeben wollte ich das doch, da vermutlich eh jemand da sein
+wird.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 25.6. (Croft, 19. Jun 2009, 12:25:24):
+25.6. Zum Drachen (www.zumdrachen.de)
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stati, 28.6. (Humni, 28. Jun 2009, 01:16:59):
+Huhu,
+
+auch in ein paar Stunden (ist ja schon nach 24 Uhr...) ist wieder Stati im
+Mandragora. Wir werden dort Apfelschorle und .. hmm.. Cola trinken, genau, und
+Brunchen. Losgehen wird das vermutlich um 11 Uhr, auch wenn diverse Leute erst
+wieder spaeter ankommen.
+
+Ein Drache, der zu diesen Leuten gehoert...
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 2.7.-6.8. (Croft, 30. Jun 2009, 13:09:38):
+Die naechsten Termine:
+ 2.7. Pizzaria Portobello (www.portobello-ettlingen.de)
+ 9.7. China City - Sushi Bar (Brauerstr. 40, im Filmpalast am ZKM)
+16.7. Zum Drachen (www.zumdrachen.de)
+23.7. Zum Drachen (www.zumdrachen.de)
+30.7. Kilimandscharo (Karlstr. 100)
+ 6.8. FG Eins (www.fg-eins.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, 12.7., Mandragora (Humni, 30. Jun 2009, 18:05:30):
+Huhu,
+
+der naechste Stammtisch im Mandragora ist wohl am 12.7. Vermutlich wird er um
+11 Uhr stattfinden. Vermutlich werden wieder Leute da sein, die mittlerweile
+deutlich mehr WoW als MG spielen. Aber vielleicht sind auch MGler da.
+
+Ich werde jedenfalls nicht da sein, da ich dann im Urlaub bin.
+
+Aber da die letzten Statis so sehr kurzfristig angesetzt waren kommt hier mal
+eine fruehere Meldung, auch wenn ich gar nicht da bin.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati heute, 23.7. faellt aus (Gingko, 23. Jul 2009, 17:13:24):
+nachdem wir fuer den heuten KA stati einen rasanten teilnehmerschwund
+festgestellt haben, haben wir die anzahl mal bis heute abend interpoliert und
+festgestellt, das dann null herauskommt. insofern sei der KA stati offiziell
+zur MG-party verlegt.
+gruesze Gingko.
+
+-----------------------------------------------------------------------------
+
+
+
+MampfStati in Berlin: 23. August, 20. September (Gloinson, 27. Jul 2009, 22:40:25):
+
+Moin,
+
+nachdem beim letzten Mal nur ein leckeres Kind dabei war, hoffe ich diese
+Male auf ausfuehrlichere Verkoestigung mit Nachwuchs. So der Gesundheits-
+zustand will.
+
+Am 23. August wuerde ich nochmal in "Die Turnhalle" besuchen wollen, die
+haben da einen grossen und tollen Aussenbereich, dafuer ist die Staffelung
+des Nahrungsangebots zeitlich variant. Schlecht fuer 14-Uhr-Noch-Ganz-Viel-
+Ei-Essen-Woller. Gut fuer Leute, die eh den ganzen StaTi anwesend sind.
+
+Special Guest im September: Mesirii
+
+Ort:  "Die Turnhalle"
+      http://www.dieturnhalle.de/
+      Naehe Ostkreuz
+Zeit: 23. August, ab ~10 Uhr
+      20. September, ab ~10 Uhr
+
+Kommt und bestaunt den dicken Gnome, den duerren Guard und andere Wunder
+der Langmuddigkeit!
+
+Gloin
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 30.7. (Gingko, 29. Jul 2009, 12:47:18):
+da's letzte Woche ausfiel und dann dort Sommerpause ist, verlegen wir den
+KA-Stati diese Woche nochmal in den Drachen (www.zumdrachen.de). Wie immer Do
+20:00h.
+
+-----------------------------------------------------------------------------
+
+
+
+Mandragora 090809 (Miril,  6. Aug 2009, 16:55:52):
+Huhu
+
+am Sonntag, den 9.8. treffen wir uns wie gewohnt im Mandragora in Bochum
+(Bermudadreieck). Beginn ist glaub ich fuer alles ausser uns 11 Uhr ;).
+
+Kommet zuhauf!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 13.8.-20.8. (Croft,  9. Aug 2009, 13:48:44):
+13.8. Sokrates (Welfenstrasse 18)
+20.8. Pizzaria Portobello (www.portobello-ettlingen.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 20.08. (Gingko, 20. Aug 2009, 12:23:19):
+Da das Portobelle noch bis 3.9. Urlaub macht, verlegen wir den Stammtisch ins
+fast benachbarte Padellino, Seminarstr. 10, Ettlingen (www.padellino.de)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MampfStati in Berlin: 23. August, 20. September (Gloinson, 20. Aug 2009, 20:45:02):
+~#! rn=Gloinson rt=1248727225 rg=treffen.bekanntmachungen
+~#! tid=1248727225
+Nur als Reminder:
+- diesen Sonntag, 23. August
+- "Die Turnhalle" Naehe S Ostkreuz
+- dicker Gnome, duerrer Guard, Absonderlichkeiten der Mudwelt
+- viel Essen
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 27.8.-3.9. (Croft, 26. Aug 2009, 19:28:56):
+Die naechsten zwei Termine:
+27.8. Zum Drachen (www.zumdrachen.de)
+ 3.9. Brauhaus Moninger (www.brauhaus-moninger.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 5.9. (Croft,  4. Sep 2009, 10:08:21):
+Aus organisatorischen Gruenden leider erst jetzt spruchreif:
+Morgen besuchen wir mal wieder Panos in seiner Seemuschel und zwar
+ab 18:00. Webseite: http://www.av-buechenau.de/17503.html
+und bei Google-Maps sieht man das Gebaeude unter
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 10.-17.9. (Croft,  7. Sep 2009, 12:23:24):
+Und wieder zwei Termine:
+10.9. Zum Drachen (www.zumdrachen.de)
+17.9. La Cage (www.lacage.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 31.10. (Croft,  7. Sep 2009, 12:25:39):
+Interessierte koennen sich schon mal den 31.10. freihalten.  Welche
+Flammkuchenschmiede aufgesucht wird steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: MampfStati in Berlin: 23. August, 20. September (Gloinson, 16. Sep 2009, 23:04:58):
+~#! rn=Gloinson rt=1250793902 rg=treffen.bekanntmachungen
+~#! tid=1248727225
+Nur als Reminder II:
+- diesen Sonntag, 20. September
+- "Die Turnhalle" Naehe S Ostkreuz
+- dicker Gnome, duerrer Guard, Absonderlichkeiten der Mudwelt
+- viel Essen
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 24.9.-15.10. (Croft, 18. Sep 2009, 13:17:09):
+24. 9. Substage (www.substage.de) [D-A-D Ticket erforderlich]
+ 1.10. Zum Drachen (www.zumdrachen.de)
+ 8.10. Brauhaus Moninger (www.brauhaus-moninger.de)
+15.10. Poseidon (Kriegsstrasse 218)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum 20.9. Mandragora (Humni, 19. Sep 2009, 19:52:24):
+Huhu,
+
+wir treffen uns morgen, am 20.9., im Mandragora, zum Brunchen. Wie ueblich
+vermutlich ab 11 Uhr, wobei wir erst wieder spaeter aufschlagen werden.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Mampfstammtische Berlin: Oktober/November (Gloinson, 26. Sep 2009, 23:11:37):
+Moin,
+
+die naechsten zwei Stammtische sind:
+- am Sonntag, den 25. Oktober
+- am Samstag, den 28. November
+
+Der erste Mampfstammtisch wird mit ziemlicher Sicherheit wieder in
+der Turnhalle stattfinden (Naehe Ostkreuz). Sportbeutel bitte zu
+Hause lassen, wir sind unter dicken Muddern.
+
+Zum zweiten Termin, dem Samstag im November, gibt es schon jetzt
+einen special guest: Martini. Ob wir an dem Tag brunchen, oder
+gegen Nachmittag irgendwo anfangen zu futtern, um dann zu einem
+StaTi ueberzugehen ist noch fuer Vorschlaege offen.
+
+Kommet zuhauf, bestaunt den duerren Guard und den dicken ... Cakey!
+
+
+-----------------------------------------------------------------------------
+
+
+
+StuGa: 10. Oktober auf dem Cannstatter Wasen (Gloinson, 26. Sep 2009, 23:18:02):
+Moin,
+
+Guard, Martini und ich sind am 10. Oktober auf dem Wasen (mit anderen
+Menschen). Falls noch wer in der Naehe ist und Durst hat, moege er doch mal
+Laut geben.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 22.10.-5.11. (Croft, 16. Okt 2009, 09:49:47):
+Die naechsten 3 Orte:
+22.10. Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+29.10. Pizzeria Portobello (www.portobello-ettlingen.de)
+ 5.11. Zum Drachen (www.zumdrachen.de, neuer Paechter, Webseite nicht
+aktuell)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 22.10.-5.11. (Gwen, 16. Okt 2009, 10:10:15):
+~#! rn=Croft rt=1255679387 rg=treffen.bekanntmachungen
+~#! tid=1255679387
+Am 5.11. ist Amorpohis.
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 22.10.-5.11. (Croft, 16. Okt 2009, 10:17:06):
+~#! rn=Gwen rt=1255680615 rg=treffen.bekanntmachungen
+~#! tid=1255679387
+Korrekt :-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 31.10. (Croft, 20. Okt 2009, 22:41:38):
+~#! rn=Croft rt=1252319139 rg=treffen.bekanntmachungen
+~#! tid=1252319139
+So, nu steht die Schmiede fest:
+Pizzeria Au Feu Rouge
+7, route de Strasbourg
+67470 Seltz
++33 3 88 86 82 86
+
+Interessierte bitte bis zum 28.10. bei mir melden bzgl Reservierung
+und Mfg-Organisierung.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mampfstammtische Berlin: Oktober/November (Gloinson, 21. Okt 2009, 17:25:07):
+~#! rn=Gloinson rt=1253999497 rg=treffen.bekanntmachungen
+~#! tid=1253999497
+Christian Georg Becker schrieb:
+> > Moin,
+> > 
+> > die naechsten zwei Stammtische sind:
+> > - am Sonntag, den 25. Oktober
+> > - am Samstag, den 28. November
+> > 
+> > Der erste Mampfstammtisch wird mit ziemlicher Sicherheit wieder in
+> > der Turnhalle stattfinden (Naehe Ostkreuz). Sportbeutel bitte zu
+> > Hause lassen, wir sind unter dicken Muddern.
+
+Reserviert ist dieses Mal sicher und zwar ab 10:30 auf den Namen Becker.
+Draussen gesessen wird nur nach Sonneneruptionen einige Stunden vorher.
+
+Der duerre Guard kommt gewiss, vielleicht lockt er sogar den dicken
+Gnome! Koemmet zuhauf!
+
+Gloin(son)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA goes Flammkuchen 31.10. (Croft, 28. Okt 2009, 18:55:45):
+~#! rn=Croft rt=1256071298 rg=treffen.bekanntmachungen
+~#! tid=1252319139
+18:00 treffen am ueblichen Uniparkplatz bzw 18:45/19:00 dann vor Ort.
+Mfgs jongliere ich noch.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 12.-26.11. (Croft,  8. Nov 2009, 16:37:17):
+12.11. Kap (www.kap-ka.de)
+19.11. Brauhaus Moninger (www.brauhaus-moninger.de)
+26.11. Poseidon (Kriegsstrasse 218)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Braunschweig, 27.11. (Mcdee, 18. Nov 2009, 13:51:32):
+Hallo,
+
+es gibt endlich mal wieder einen Stammtisch in Braunschweig, und zwar
+am
+    27.11.2009
+um
+    19:30 Uhr
+im
+    Mephisto (Fallersleber Str. 35).
+
+Gruesse, Dee
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mampfstammtische Berlin: Oktober/November (Gloinson, 23. Nov 2009, 22:15:59):
+~#! rn=Gloinson rt=1253999497 rg=treffen.bekanntmachungen
+~#! tid=1253999497
+Moin,
+
+seid hiermit an den Mampfstammtisch am kommenden Samstag, so ab 14 oder
+15 Uhr erinnert.
+
+Der Plan ist immer noch: Sushinese mit anschliessendem Cocktailiener oder
+Cocktailzosen oder Cocktailboche und Open End.
+
+Den schon vage festgelegten Ort im Umkreis der S Warschauer Strasse suche
+und gebe ich am Donnerstag bekannt (*1). Kurzfristige Vorschlaege mit
+Adressnennung an mich  ;) 
+
+Gloinson
+
+(*1) Dank einer nur geringen Verspaetung der Bahn (absehbar circa 4
+Stunden) fahre ich lieber uebermorgen als heute nach Berlin zurueck.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mampfstammtische Berlin: Oktober/November (Gloinson, 26. Nov 2009, 14:49:20):
+~#! rn=Gloinson rt=1259010959 rg=treffen.bekanntmachungen
+~#! tid=1253999497
+Moin2,
+
+ich schlage hiermit vor:
+- Samstag, ab 14 Uhr
+- http://www.lecoqdor-berlin.de/
+  - Boxhagener Strasse 27
+    (U Frankfurter Tor oder Tram Niederbarnimstrasse)
+
+Das ist ein Sushithainese (also gibt es sowohl Sushi als auch Thai-Food
+mit Gebrutzeltem) mit groesseren Baenken im dritten Raum.
+Wenn wir irgendwann fertiggemampft haben, koennen wir in irgend einen
+Cocktailladen suedlicher/an der Simon-Dach-Strasse umziehen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 3.12. (Croft, 26. Nov 2009, 22:26:33):
+3.12. Pizzaria Portobello (www.portobello-ettlingen.de)
+Weitere Termine folgen dann naechste Woche.  Es gibt noch einen Termin
+fuer einen (Sonder-)Stati mit Besuch in Panos Schokoladenladen und dem
+Weihnachtsmarkt zu organisieren.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+6.12. Fruehstuck in Bochum (Zesstra,  3. Dez 2009, 18:43:09):
+Huhu,
+
+unser naechstes Fruehstueck im Mandragora in Bochum findet kommenden Sonntag
+statt:
+6.12., ab 11:00
+
+Diesmal kommen auch wieder einige auswaertige Gaeste. :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmarkt (Miril,  3. Dez 2009, 20:11:46):
+Bevor wir uns am Sonntag morgen im Mandra treffen werden, wollen wir noch
+abends gepflegt Met und Gluehwein trinken gehen. Dazu wollen wir uns am
+Samstag, den 5.12.2009 in Essen auf dem Weihnachtsmarkt treffen.
+Praktischerweise hat dieser an diesem Samstag bis 24 Uhr geoeffnet. 
+Zwecks Treffpunkt schlage ich vor, mit mir oder Humni oder Zesstra
+Handynummern auszutauschen, das ist vermutlich das einfachste. 
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 10.12. (Croft,  4. Dez 2009, 22:16:01):
+10.12. Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+Mal eine Flammkuchenschmiede in KA ausprobieren.  Beginn wie immer
+um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Wilhelmshaven: 29.12. (Zesstra,  7. Dez 2009, 20:04:13):
+Huhu,
+
+mal eine ungewoehnliche Ankuendigung von mir: ein Nord(-West)-Stammtisch.
+Und zwar sind div. Mudder ueber Silvester in Hooksiel anzutreffen. In diesem
+Zeitraum wollen wir einen Stati machen und zwar vorraussichtlich am
+Abend des 29.12.2009
+im Anno 1300 in Wilhelmshaven.
+
+Details folgen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 17.12. (Croft, 11. Dez 2009, 14:56:36):
+17.12. El Taquito (www.el-taquito.de)
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Berliner 3. Advents-StaTi (Gloinson, 12. Dez 2009, 00:49:39):
+
+Moin,
+
+ganz spontan wegen Anwesenheit der Anna: ein Mampfstammtisch / Brunch am
+Sonntag, den 13. Dezember um 10-11 Uhr in der Turnhalle.
+
+Koemmet zuhauf und lasset euch mit nichtmarzipanhaltigen Sachen abfuettern!
+
+Krischan
+aka Gloinson
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Berliner 3. Advents-StaTi (Gloinson, 12. Dez 2009, 04:28:58):
+~#! rn=Gloinson rt=1260575379 rg=treffen.bekanntmachungen
+~#! tid=1260575379
+PS: Samstag Abend ab spaetestens 21 Uhr im Aufsturz oder nebenan ein
+SonderStati. Nebenan hiesse: Salsa. Melden ggf. bei 01577 159 8421
+
+
+-----------------------------------------------------------------------------
+
+
+
+Braunschweig, 18.12. (Derin, 16. Dez 2009, 11:24:02):
+Huhu,
+
+am Freitag, dem 18.12.2009, findet ab 19:30 im Dialog der Braunschweiger
+MG-Stammtisch statt. (Im Tiger war es letztes Mal doch ziemlich laut.)
+Das Dialog befindet sich auf der Ecke Ring/Hans-Sommer-Strasse.
+
+Bis Freitag,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Braunschweig, 18.12. (Mcdee, 17. Dez 2009, 11:07:14):
+~#! rn=Derin rt=1260959042 rg=treffen.bekanntmachungen
+~#! tid=1260959042
+Zwecks Absagen fuer morgen faellt der Stammtisch aus. Wir suchen nach einem
+Alternativtermin.
+
+Dee
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 7.1. (Croft, 18. Dez 2009, 11:15:39):
+7.1. Brauhaus Moninger (www.brauhaus-moninger.de)
+Beginn wie immer um 20:00.  Heiligabend und Silvester fallen aus
+offensichtlichen Gruenden aus ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Wilhelmshaven: 29.12. (Vanion, 22. Dez 2009, 20:03:10):
+~#! rn=Zesstra rt=1260212653 rg=treffen.bekanntmachungen
+~#! tid=1260212653
+Tisch ist ab 20:00 unter dem Kuerzel MorgenGrauen bestellt. Da ich 12 Plaetze
+im Nichtraucher-Bereich bestellt habe, und das Anno nicht soo gross ist kann
+man unseren Tisch leicht erkennen :) Es ist der, der da steht.
+
+Zur Vorab-Info: http://www.anno-1300.de/
+
+Ich freu mich schon jetzt auf den Nordlicht-Stati :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 14.1.-4.2. (Croft,  7. Jan 2010, 23:28:46):
+14.1. San Marco San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+21.1. Pizzaria Portobello (www.portobello-ettlingen.de)
+28.1. Titanic (www.ticka.net)
+ 4.2. Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck Mandragora 17.1.2010 (Zesstra,  9. Jan 2010, 16:19:20):
+Huhu,
+
+nach der Weihnachts- und Silvesterpause waere eigentlich morgen das naechste
+Fruehstueck im Mandra gewesen. Aufgrund des unsicheren Wetters verschieben wir
+das jedoch um eine Woche, d.h. naechstes Fruehstueck im Mandra ist am:
+17.1.2010, ab 11:00
+im Mandragora in Bochum
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mampfstammtische 13. Februar und 14. Maerz in Berlin (Gloinson, 23. Jan 2010, 00:04:35):
+Huhu,
+
+nachdem der Januar fuer eine allgemeine Verdauungspause mal frei war, nun neue
+Termine zum Treffen und Brunchen:
+
+Wir schwenken fuer den Winter mal trotz leichtem Mehr-Leckerfaktor der
+Turnhalle auf das gemuetlichere Xion zurueck, da im Winter zudem
+kinderkompatibler. Und manchmal kommen ja Eltern mit leckeren Kinder.
+- http://xion-berlin.de/
+- Naehe S Schoenhauser Allee, Tram 12 Stargarder Strasse
+- Pappelallee 56, 10437 Berlin
+
+Termine:
+ 13. Februar 2010: Fruehstuecksbuffet Samstag (Guard-kompatibel)
+ 14. Maerz 2010:   Brunch Sonntag (Special Guest: Martini)
+
+Treffen jeweils ab 10:30 Uhr.
+
+Koemmet zuhauf, es gibt komische Menschen zu bestaunen, man darf Gabylon ggf.
+waschen und mit Guard um die Wette essen!
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mampfstammtische 13. Februar und 14. Maerz in Berlin (Gwen, 23. Jan 2010, 08:39:55):
+~#! rn=Gloinson rt=1264201475 rg=treffen.bekanntmachungen
+~#! tid=1264201475
+Warum hab ich da nun Kampfstammtische gelesen?
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 11.2.-25.3. (Croft,  4. Feb 2010, 23:01:46):
+11.2. Brauhaus Moninger (www.brauhaus-moninger.de)
+18.2. Jasmin (Marktstr. 16, Ettlingen)
+25.2. Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+ 4.3. Poseidon (Kriegsstrasse 218)
+11.3. El Taquito (www.el-taquito.de)
+18.3. San Marco San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+25.3. Pizzaria Portobello (www.portobello-ettlingen.de)
+
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mampfstammtische 13. Februar und 14. Maerz in Berlin (Darklor, 28. Feb 2010, 21:31:08):
+~#! rn=Gwen rt=1264232395 rg=treffen.bekanntmachungen
+~#! tid=1264201475
+Oh, glatt verpasst - aber da hab ich wahrscheinlich sowieso noch geschlafen ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mampfstammtische 13. Februar und 14. Maerz in Berlin (Gloinson, 11. Mar 2010, 11:27:50):
+~#! rn=Gloinson rt=1264201475 rg=treffen.bekanntmachungen
+~#! tid=1264201475
+> - http://xion-berlin.de/
+> - Naehe S Schoenhauser Allee, Tram 12 Stargarder Strasse
+> - Pappelallee 56, 10437 Berlin
+> 
+> Termine:
+>  14. Maerz 2010:   Brunch Sonntag (Special Guest: Martini)
+> 
+> Koemmet zuhauf, es gibt komische Menschen zu bestaunen, man darf Gabylon
+> ggf. waschen und mit Guard um die Wette essen!
+
+Moin,
+
+hiermit eine Erinnerung. Reserviert ist ab 10:30 auf Becker.
+
+Bedingt durch eine Hochzeit am Vortag koennen wir mindestens
+die Special Guests Martini, Maharet und Mesirii begruessen.
+
+Gabylon kann nicht gewaschen werden, weil er ein Suppen- 
+espektive Xion-Kasper ist und rummaekelt :P
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 1.-29.4. (Croft, 26. Mar 2010, 07:54:37):
+Mal wieder ein paar neue Sachen probieren:
+ 1.4. K33 (Kreuzstrasse 33)
+ 8.4. Rim Wang (www.rim-wang.de)
+15.4. Kraeuterkueche (www.kraeuterkueche-karlsruhe.de)
+22.4. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+29.4. Wacht am Rhein (www.wachtamrhein-karlsruhe.de)
+
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 8.4.-13.5. (Croft,  3. Apr 2010, 19:45:02):
+Kleines Update:
+
+ 8.4. Rim Wang (www.rim-wang.de)
+15.4. Kraeuterkueche (www.kraeuterkueche-karlsruhe.de)
+22.4. Substage (www.substage.de) [Corvus Corax Ticket erforderlich]
+29.4. Wacht am Rhein (www.wachtamrhein-karlsruhe.de)
+ 6.5. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+13.5. Brauhaus Moninger (www.brauhaus-moninger.de)
+
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum trifft sich auch mal wieder... 18.4. (Humni, 16. Apr 2010, 16:55:54):
+Am 18.4. trifft sich der Mandragora-Brunch-Stammtisch wieder. Vermutlich sind
+ab 11 Uhr Leute vor Ort, ich aber nicht. Kommet zu Hauf!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bochum trifft sich auch mal wieder... 18.4. (Humni, 16. Apr 2010, 22:11:08):
+~#! rn=Humni rt=1271429754 rg=treffen.bekanntmachungen
+~#! tid=1271429754
+Korrektur.
+
+Also: Der naechste regulaere Stati ist erst eine Woche spaeter. Da hab ich die
+Termine verbaselt.
+
+Darum mag ich diese Woche nicht versprechen, ob da viele Leute sind.
+Vermutlich (!) werden 3 Leute da sein. Aber ich mag das nun nicht mehr
+versprechen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 25.4. (Humni, 24. Apr 2010, 17:46:15):
+Huhu,
+
+jetzt aber richtig: Morgen, am 25.4., treffen sich sicher wieder Mudder und
+WoW-Spieler im Mandragora. Vermutlich ab 11, auch wenn ich noch nicht so frueh
+da sein werde.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 4.7. (Croft, 13. Mai 2010, 22:41:07):
+Es ist mal wieder soweit: die ueblichen Karlsruher Verdaechtigen
+besuchen ihren Ex-Wirt in der Seemuschel.  Das Ganze wird mittags
+stattfinden und die Anreise wird bei gutem Wetter zum Teil mit dem Rad
+erfolgen.  Und als Termin ist Sonntag der 4. Juli angepeilt.
+http://www.av-buechenau.de/17503.html
+respektive
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 20.5.-17.6. (Croft, 14. Mai 2010, 16:31:18):
+Die naechsten Lokale:
+20.5. Athen Palast (www.athen-palast-ka.de)
+27.5. Pizzaria Portobello (www.portobello-ettlingen.de)
+ 3.6. El Tequila (el-tequila.de)
+10.6. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+17.6. La Cage (www.lacage.de)
+
+Beginn wie immer um 20:00.  Um Vorankuendigung wird zwecks Reservierung
+gebeten.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum, 23.5. (Zesstra, 22. Mai 2010, 11:36:03):
+Mal wieder eine sehr kurzfristige Ankuendigung (ob wir das jemals beser
+hinkriegen?): Unser naechster Fruehstuecks-Stati ist morgen:
+Sonntag, 23.5.
+ab 11:00
+im Mandragora, Bochum.
+
+Viele Spass!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mampfstammstisch Berlin 6.6. (Gloinson, 24. Mai 2010, 14:48:50):
+Moin,
+
+April und Mai waren so aufregend und mit so tollem Wetter versehen, dass wir
+glatt das Brunchen vergessen haben. Das holen wir am 6.6.2010 nach.
+
+Reserviert ist in
+- Die Turnhalle (http://www.dieturnhalle.de/)
+- HolteistraCe 6
+ab 10:30 auf den Namen Becker.
+
+Der Ort ist bei gutem Wetter hervorragend kinderkompatibel, bei schlechtem
+Wetter muss man auf die Zwerge drin halt ein wenig aufpassen.
+Leckerleckermampfmampf!
+
+Kommt in grossen Mengen, die Mudder kommen inzwischen ja auch nur noch in
+groCen Portionen.
+
+Gloinson
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 24.6.-15.7. (Croft, 18. Jun 2010, 18:30:41):
+Die naechsten Lokalitaeten:
+24.6. Critisize (www.criti.de)
+ 1.7. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+ 8.7. El Tequila (www.el-tequila.de)
+15.7. Titanic (www.ticka.net)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum: 20.6. und 4.7. (Zesstra, 18. Jun 2010, 18:35:06):
+Huhu,
+
+diesmal eine fruehe und eine spaete Bekanntmachung. ;-)
+Das naechste Fruehstueck (sogar mit Gast aus dem Norden) ist 
+am 20.6. ab 11:00 im Mandragora.
+
+Danach treffen wir uns 
+am 4.7., ebenfalls ab 11:00 im Mandragora.
+Einige von uns fahren dieses Jahr zum WoA. Wir wollen einige Planungen zu dem
+Thema anstellen, wie wir gemeinsam anreisen, damit wir auch gemeinsam zelten.
+D.h. es handelt sich damit sozusagen um ein WoA-Vorbereitungsfruehstueck. ;-)
+(Wer sich uns anschliessen will: das waere eine Gelegenheit...)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Sonder-Stati 4.7. (Croft, 25. Jun 2010, 08:26:49):
+~#! rn=Croft rt=1273783267 rg=treffen.bekanntmachungen
+~#! tid=1273783267
+Wegen Terminkollisionen wird der Termin verschoben.  Ersatztermin wird
+in Baelde ausgemurmelt werden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Heinerfest Darmstadt (Ark, 27. Jun 2010, 11:26:54):
+So, es ist wieder soweit, das drittgroesste Volksfest in Deutschland beginnt
+am 1.7 und laeuft bis 5.7. In freudiger Erwartung des moeglichen deutschen
+Viertelfinals am Freitag, den 2.7. schlage ich einen Stati am Donnerstag, den
+1.7. vor. Ich bin mir nicht ganz sicher, ob es da sinnvolle Public Viewing
+Moeglichkeiten geben wird, und dann ist immer noch die Frage, ob wer kommt,
+deshalb der 1.7.
+Meinungen? Buuuhs? Aenderungsvorschlaege?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Heinerfest Darmstadt (Del, 27. Jun 2010, 20:26:01):
+~#! rn=Ark rt=1277630814 rg=treffen.bekanntmachungen
+~#! tid=1277630814
+Dass das Spiel am 3.7. ist, waere ja nun geklaert. Ich plaediere daher voellig
+kontraer zu Dir, liebster Ark, fuer ein Public Viewing mit anschliessendem
+Heinerfestbesuch an eben jenem Samstag. :-) Treffen rechtzeitig, um einen
+guten Platz zu ergattern und nach dem Spiel den Sieg feiern oder den Frust
+runterspuelen. :-)
+Meine Meinung, mein Aenderungsvorschlag aber ganz ohne Buuuuhs :-)
+Die NuDel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Heinerfest Darmstadt (Cutter, 27. Jun 2010, 20:36:54):
+~#! rn=Del rt=1277663161 rg=treffen.bekanntmachungen
+~#! tid=1277630814
+Hoi.
+Ich plaediere fuer FR 2.7. oder SA 3.7. mit public viewing. Ich reise dann an.
+Auch ganz ohne Buuuhs. auch wenn Ark die WM verpeilt hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Heinerfest Darmstadt (Ark, 27. Jun 2010, 22:59:46):
+~#! rn=Del rt=1277663161 rg=treffen.bekanntmachungen
+~#! tid=1277630814
+Koennt ihr machen, aber Samstag bin ich anderweitig verbucht.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 15.7.-29.7. (Croft, 10. Jul 2010, 10:10:30):
+15.7. Titanic (www.ticka.net)
+22.7. Brauhaus Moninger (www.brauhaus-moninger.de)
+29.7. Yangtse (Hauptstrasse 137, 76344 Eggenstein-Leopoldshafen)
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Braunschweig am 26.7. (Derin, 16. Jul 2010, 00:19:32):
+Huhu,
+
+am 26.7. treffen wir uns ab 21:00 im Mephisto, Fallersleber Str. 35. Wir sagen
+an der Theke Bescheid, so dass Fragen nach dem Morgengrauen-Stammtisch zu uns
+fuehren sollten. Kommet zuhauf. :)
+
+Bis bald,
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Nuernberg am 27.7. 19:00 (Marcus, 24. Jul 2010, 11:58:21):
+Hi!
+
+Da derzeit Gwen und Va* in Franken weilen und naechste Woche in Nuernberg
+sind, hat Gwen vorgeschlagen einen Stammtisch zu veranstalten.
+
+Wo:   Irish Castle ( http://www.irish-castle.com/index_old.html )
+Wann: Dienstag, 27.7. ; 19:00
+
+Derzeit geplante Anwesenheit: Gwen, Vanir, Bambi, Marcus
+
+[Das Irish Castle befindet sich direkt am Plaerrer in Nuernberg, es gibt keine
+Live Musik am Dienstag, sprich es ist ruhiger ;) Es gibt ausser irischen
+Bieren
+auch Landbiere und Pub Food (siehe Webseite).]
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 29.7.-26.8. (Croft, 28. Jul 2010, 14:10:26):
+29.7. Yangtse (Hagsfelder Weg 15, 76344 Eggenstein-Leopoldshafen)
+ 5.8. Restaurant Delphi (www.restaurant-delphi.com)
+12.8. FG1 (www.fg-eins.de)
+19.8. Critisize (www.criti.de)
+26.8. Pizzaria Portobello (www.portobello-ettlingen.de)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Braunschweig am 16.8. (Shaeena, 13. Aug 2010, 00:38:00):
+Huhu,
+
+am Montag, dem 16.8. ab 21.15 Uhr findet ein Gladiopolis-Stati
+in Braunschweig statt. Der genaue Veranstaltungsort wird euch
+bei der verbindlichen Anmeldung mitgeteilt ;-)
+
+Shaeena
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 29.7.-26.8. (Croft, 25. Aug 2010, 17:46:30):
+~#! rn=Croft rt=1280319026 rg=treffen.bekanntmachungen
+~#! tid=1280319026
+Da das Portobello morgen wegen Urlaub geschlossen ist, geht es spontan
+ins El Tequila.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Braunschweig am 30.8. (Shaeena, 25. Aug 2010, 22:35:53):
+Hallo,
+
+am 30.8. gibt es schon wieder einen Stati in Braunschweig.
+Und zwar in der Kneipe "Charly's Tiger" (http://www.charlys-tiger.de/).
+Start ist gegen 21 Uhr, Ende wenn wir keine Lust mehr haben.
+
+Shaeena
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 2.-30.9. (Croft, 27. Aug 2010, 15:28:25):
+ 2.9. Sol i Luna (www.soliluna-durlach.de)
+ 9.9. Pizzaria Portobello (www.portobello-ettlingen.de)
+16.9. Restaurant Delphi (www.restaurant-delphi.com)
+23.9. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+30.9. Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 2.-30.9. (Croft,  2. Sep 2010, 11:14:11):
+~#! rn=Croft rt=1282915705 rg=treffen.bekanntmachungen
+~#! tid=1282915705
+Da das Sol i Luna Betriebsferien macht, wechseln wir kurzerhand ins
+Brauhaus Moninger (www.brauhaus-moninger.de)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 19.9. (Croft,  6. Sep 2010, 16:53:18):
+Es ist mal wieder Zeit Panos in seiner Seemuschel zu besuchen.
+Als Termin wurde Sonntag der 19.9. auserkoren und wir werden
+uns mittags gegen 13:00 vor Ort treffen.
+
+Webseite der Seemuschel:
+http://www.av-buechenau.de/17503.html
+und bei Google-Maps sieht man das Gebaeude unter
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 27.11. (Croft,  6. Sep 2010, 17:12:39):
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am
+27.11. freihalten.  Ort steht noch nicht fest, aber vermutlich
+besuchen wir mal wieder die Alte Muehle.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+MudStammtisch Berlin: 3. Oktokber (Gloinson, 21. Sep 2010, 10:34:28):
+Wir schwenken fuer den Herbst mal trotz leichtem Mehr-Leckerfaktor der
+Turnhalle auf das gemuetlichere Xion zurueck, da bei Kaelte zudem
+kinderkompatibler. Und manchmal kommen ja Eltern mit leckeren Kinder.
+- http://xion-berlin.de/
+- Naehe S Schoenhauser Allee, Tram 12 Stargarder Strasse
+- Pappelallee 56, 10437 Berlin
+- (wenn euch der Text bekannt vorkommt: Absicht!)
+
+Termin:- 3. Oktober ab 10:30 Uhr, auf "Morgengrauen" (*2)
+
+Koemmet zuhauf, es gibt komische Menschen zu bestaunen, man darf Martini
+anfassen und vielleicht sogar Anna kaemmen!
+
+Gloin(son)
+
+(*2) Wir werden schon erwartet ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 7.-14.10. (Croft,  4. Okt 2010, 17:18:46):
+ 7.10. El Tequila (www.el-tequila.de)
+14.10. Pizzaria Portobello (www.portobello-ettlingen.de)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Braunschweig 11.10. (Derin,  5. Okt 2010, 08:58:22):
+Huhu,
+
+am 11.10. findet abermals der beliebte Braunschweiger Stammtisch im
+"Charlies Tiger" in der Wilhelm-Bode-Strasse statt. Um 19:00 gehts los,
+Ende ist offen.
+
+Speisekarte, Lage usw.: http://www.charlys-tiger.de/
+
+
+Derin.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 21.10.-18.11. (Croft, 15. Okt 2010, 09:59:35):
+21.10. FG1 (www.fg-eins.de)
+28.10. Restaurant Delphi (www.restaurant-delphi.com)
+ 4.11. Brauhaus Moninger (www.brauhaus-moninger.de)
+11.11. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+18.11. Jasmin (Marktstr. 16, Ettlingen)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Braunschweig 5.11. (Shaeena, 31. Okt 2010, 12:08:28):
+Huhu,
+
+es gibt nen Stati, am 5.11., in Braunschweig.
+
+Uhrzeit? Weiss Elberet.
+Ort? Weiss McDee.
+
+Wer hat das entschieden? Der Chef.
+Wer kuendigt? Ich.
+
+Gruss, Shaeena
+
+PS: Derin kommt auch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 21.10.-18.11. (Croft, 31. Okt 2010, 20:02:14):
+~#! rn=Croft rt=1287129575 rg=treffen.bekanntmachungen
+~#! tid=1287129575
+Auf Wunsch einer einzelnen Nicht-Mudderin werden die naechsten
+zwei Termine getauscht:
+
+ 4.11. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+11.11. Brauhaus Moninger (www.brauhaus-moninger.de)
+18.11. Jasmin (Marktstr. 16, Ettlingen)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 27.11. (Croft, 11. Nov 2010, 23:00:32):
+Repost da Expire:
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am
+27.11. freihalten.  Ort steht noch nicht fest, aber vermutlich
+besuchen wir mal wieder die Alte Muehle.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 25.11.-23.12. (Croft, 19. Nov 2010, 10:36:00):
+25.11.10 Restaurant Delphi (www.restaurant-delphi.com)
+02.12.10 Pizzaria Portobello (www.portobello-ettlingen.de)
+09.12.10 San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+16.12.10 FG1 (www.fg-eins.de)
+23.12.10 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Braunschweig 3.12. (Shaeena, 21. Nov 2010, 22:05:26):
+Huhu,
+
+am 3.12. ist wieder Stati in Braunschweig.
+Wer nicht kommt, ist selber schuld.
+
+Gruss, Shaeena
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 27.11. (Croft, 23. Nov 2010, 17:48:51):
+~#! rn=Croft rt=1289512832 rg=treffen.bekanntmachungen
+~#! tid=1289512832
+Da die Muehle doch schon voller ist geht es mal wieder an eine andere
+bekannte Stelle:
+Auberge de la Foret
+42, route de Strasbourg
+67470 Seltz
+http://aubergeforet.free.fr/ueberuns_d.htm
+
+Treffen vor Ort um 19:00 und entsprechend gen 18:00 in KA zum passend
+auf die Autos sortieren.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Mudmampfstammtisch 5. Dezember Berlin (Gloinson, 29. Nov 2010, 12:19:36):
+Hallo,
+
+lasst uns mal noch schnell einen weihnachtlichen Adventsmudbrunch einschieben,
+bevor das Jahr vorbei ist.
+
+- http://xion-berlin.de/
+- Naehe S Schoenhauser Allee, Tram 12 Stargarder Strasse
+- Pappelallee 56, 10437 Berlin
+- (wenn euch der Text bekannt vorkommt: Absicht!)
+
+Termin: 5. Dezember ab 10:30 Uhr, auf "Morgengrauen" 
+
+Dieses Mal (noch) keine Spezialgaeste. Aber da der MUD-Brunch vor dem
+naechsten WoW-Release ist, koennen sich alle von fern und nah staerken und
+ausruhen kommen.
+
+Krischan aka Gloin(son)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 16.12.-6.1. (Croft, 13. Dez 2010, 19:29:10):
+16.12.10 FG1 (www.fg-eins.de)
+23.12.10 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+30.12.10 faellt aus
+ 6. 1.11 San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum 19.12.2010 (Zesstra, 13. Dez 2010, 19:32:56):
+Da in den letzten Wochen tatsaechlich mal Leute nach Fruehstuecksterminen
+gefragt haben, versuch mal, unsere Ankuendigungen wieder aufzunehmen. ;-)
+
+Unser naechstes Fruehstueck (und letztes fuer dieses Jahr) werden wir wie
+immer im Mandragora in Bochum geniessen und zwar am 19.12.2010 ab 11:00.
+
+Das erste im neuen Jahr wird vermutlich am 9.1.2011 am gleichen Ort sein.
+
+Kommet zuhauf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Braunschweig 7.1. (Shaeena,  1. Jan 2011, 23:42:44):
+Huhu,
+
+gibt mal wieder nen Stati in Braunschweig. Und zwar
+
+am 7.1.
+ab 19 Uhr
+im Dialog (http://www.restaurant-dialog.de/).
+
+Und diesmal bitte fruehzeitiger absagen, wer dem Termin
+schon zugestimmt hat und dann doch keine Lust. :P
+
+Wer noch nicht zugestimmt hat, darf das gern noch tun. ;)
+
+Shaeena
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 13.1.-17.2. (Croft,  7. Jan 2011, 09:41:10):
+13.1.11 Titanic (www.ticka.net)
+20.1.11 El Taquito (www.el-taquito.de)
+27.1.11 Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+ 3.2.11 Restaurant Delphi (www.restaurant-delphi.com)
+10.2.11 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+17.2.11 Pizzaria Portobello (www.portobello-ettlingen.de)
+
+Begin wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Humni,  7. Jan 2011, 09:43:30):
+Huhu,
+
+nein, wir sind nicht mit dem alten Ort, dem Mandragora, unzufrieden. Und
+sicher werden wir da auch spaeter mal wieder fruehstuecken. Nur...
+
+Wir wollen ihm noch eine Chance geben. Angeblich gibt es jetzt neue Besitzer,
+und wir waren ja auch seit Jahren nicht da.
+
+Ort: Vier Winde, Bochum
+Datum: 9.1.2011
+Zeit: 20 Uhr
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 13.1.-17.2. (Gwen,  7. Jan 2011, 09:44:04):
+~#! rn=Croft rt=1294389670 rg=treffen.bekanntmachungen
+~#! tid=1294389670
+Und wo ist die spezielle Einladung fuer Vanion?
+SCNR Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Zesstra,  7. Jan 2011, 10:36:17):
+~#! rn=Humni rt=1294389810 rg=treffen.bekanntmachungen
+~#! tid=1294389810
+Kurze Rueckfrage: Es ist wirklich der 9.1. - also Sonntag Abend - geplant?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati in Bochum am 9.1. - ACHTUNG! NEUER ORT! (Humni,  7. Jan 2011, 11:39:17):
+~#! rn=Zesstra rt=1294392977 rg=treffen.bekanntmachungen
+~#! tid=1294389810
+Natuerlich nicht! Gemeint ist der 8.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stati am 8.1.2011 (Humni,  7. Jan 2011, 11:40:09):
+Huhu,
+
+diesmal treffen wir uns am 8.1.2011. Um 20 Uhr. Im 4 Winde. Wer etwas anderes
+behauptet hat, ist ein boeser Drache, der nur verwirren wollte. Das war
+natuerlich pure Absicht. Jawohl. Hat ja schon geklappt. 
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum am 23.1.2011 (Humni, 22. Jan 2011, 14:41:30):
+Huhu,
+
+da das Allemannen-Bier im Vier Winde verboten gehoert und dazu fuehrt, dass
+... lassen wir das, treffen wir uns morgen an gewohnter Stelle, zum
+Fruehstueck im Mandragora, in Bochum. 
+
+Uhrzeit mag ab 11 sein, und wie ueblich kommen Drachen erst spaeter.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 15. Feb 2011, 19:22:38):
+Ort: Ravensburg bis Salem
+Zeit: vormittags
+Details: in Planung
+Sicherheit: ziemlich definitiv :)
+
+(Irgendwie ist der Artikel in treffen untergegangen.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 24.2.-26.5. (Croft, 17. Feb 2011, 23:35:51):
+Da wir heute recht beschlussfreudig waren, gibt's ein paar Termine mehr:
+24.2. Brauhaus Moninger (www.brauhaus-moninger.de)
+ 3.3. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+10.3. Marktluecke (www.karlsruhermarktluecke.de)
+17.3. Restaurant Delphi (www.restaurant-delphi.com)
+24.3. Brayhead (www.brayhead.de)
+31.3. La Cage (www.lacage.de)
+ 7.4. El Tequila (www.el-tequila.de)
+14.4. Loewenbraeukeller (www.loewenbraeukeller.de)
+21.4. Wirtshaus Wolfsbraeu (www.wirtshauswolfbraeu.de)
+28.4. Restaurant Delphi (www.restaurant-delphi.com)
+ 5.5. Lago Bowling-Center (www.lago-bowling.de)
+12.5. Jasmin (Marktstr. 16, Ettlingen)
+19.5. Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+26.5. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bodensee-StaTi am WE vom 26./27. Februar  (Vector, 21. Feb 2011, 18:38:04):
+~#! rn=Gloinson rt=1297794158 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+also samstag waere mir an dem wochenende deutlich lieber als sonntag
+(dann kanns auch zumindest in der theorie laenger gehen), ort ist
+mir wurst, von salem ueber friedrichshafen, ravensburg, meersburg
+gern auch konstanz. sollen die muetter und/oder zugfahrer entscheiden :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 23. Feb 2011, 11:53:50):
+~#! rn=Vector rt=1298309884 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+seids mal bissi genauer ... ich bleib des wochenende auf jeden fall in der
+schweiz und kuendige mein erscheinen einfach mal an .o)
+konstanz is von hieraus gesehen am naechsten aber nachdem ich eh audofahn werd
+is es mir relativ bowidel.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 23. Feb 2011, 13:28:22):
+~#! rn=Gloinson rt=1297794158 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+Ort: Ravensburg
+     Baerengarten (http://www.baerengarten.de)
+     (Anfahrt auf der Seite)
+Zeit: Samstag, 26. Februar 2011
+      circa 10-11 Uhr (ab 10:30 Uhr - 14:00 Uhr ist Brunch)
+
+Der Baerengarten ist wohl recht gross, mal sehn ob wir eine gemuetliche Ecke
+finden. Ansonsten hab ich eine Liste mit weiteren Moeglichkeiten von Martinas
+Arbeitskollegen bekommen, das ist halt etwa #1.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 23. Feb 2011, 13:46:21):
+~#! rn=Gloinson rt=1298464102 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+bedankt .o) 
+
+ich werde spaet dran sein weil ich ein penner bin ,o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bodensee-StaTi am WE vom 26./27. Februar  (Roadrunner, 24. Feb 2011, 01:18:18):
+~#! rn=Gloinson rt=1298464102 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+... dabei ... ist die frage ob die Ulmerei irgendwie gemeinsam fahren will?
+RR
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 24. Feb 2011, 01:22:18):
+~#! rn=Roadrunner rt=1298506698 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+Von Ravensburg bis Ulm geht eine tolle Schwaebsche Eisenbahn. Aber keine Geiss
+mitnehmen, ja?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bodensee-StaTi am WE vom 26./27. Februar  (Nicolai, 24. Feb 2011, 10:02:44):
+~#! rn=Roadrunner rt=1298506698 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+es gibt keine ulmerei mehr :)
+soll ich nen tisch auf 10.30 reservieren, sonst sucht sich
+jeder seine eigene gemuetliche ecke?!
+glaube ich habe 7 personen gezaehlt? (hight, rr, gloinson,
+martini, vector, sky, endor)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 24. Feb 2011, 12:16:09):
+~#! rn=Nicolai rt=1298538164 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+reservierung is bestimmt keine dumme idee ... btw. ich bin net in der lage,
+jemanden in ner kneipe zu finden, den ich seit jahren kenne. -> wenn ich
+reinroll bitte aufspringen, mit den armen wedeln und laut "HIAHEA" rufen ,o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Bodensee-StaTi am WE vom 26./27. Februar  (Vector, 24. Feb 2011, 12:27:02):
+~#! rn=Hight rt=1298546169 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+und du meinst WIR erkennen DICH?:)
+wird eh wieder so laufen wie anno 2000 in muenchen
+und wir dich ausm krankenhaus abholen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 24. Feb 2011, 12:37:42):
+~#! rn=Vector rt=1298546822 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+einfach die obigen anweisungen jedesmal ausfuehren wenn irgendwer durch die
+tuer kommt der 2m misst und ne brille traegt ,o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Bodensee-StaTi am WE vom 26./27. Februar  (Rumata, 24. Feb 2011, 12:39:58):
+~#! rn=Hight rt=1298547462 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+Hoffentlich ist da nicht das Jahrestreffen der kurzsichtigen
+Basketballspieler?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Bodensee-StaTi am WE vom 26./27. Februar  (Vector, 24. Feb 2011, 12:40:25):
+~#! rn=Rumata rt=1298547598 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+was gibts fuer re^25?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 24. Feb 2011, 20:07:26):
+~#! rn=Vector rt=1298547625 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+Wenn noch keiner reserviert hat, reservier ich morgen auf Morgengrauen. Hab
+ich Vector eigentlich ueberhaupt mal nuechtern gesehen? (Man lese den Satz,
+wie man mag - ich hab mal vor langer Zeit Elendil nicht erkannt und daraus
+resultierte ein sehr kurzes Duell.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Bodensee-StaTi am WE vom 26./27. Februar  (Hight, 25. Feb 2011, 09:23:31):
+~#! rn=Gloinson rt=1298574446 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+mach dir nix draus ich hab nern wohl vor 10 jahren mal gesehen und kann mich
+bis heute nicht wirklich dran erinnern ... one of these faces ,o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Bodensee-StaTi am WE vom 26./27. Februar  (Gloinson, 25. Feb 2011, 19:59:39):
+~#! rn=Hight rt=1298622211 rg=treffen.bekanntmachungen
+~#! tid=1297794158
+Korrekturen: Uhrzeit ab 10:30
+             * Brunch ist Sonntags (Argh! Argh!)
+               * Samstags ist Weisswurscht-Fruehstueck, Super-Haxe
+                 und ab 11:30 eh normales Mittagsmenue
+             * Reserviert auf "Morgengrauen"
+
+(Das war jetzt der zweite Schnitzer mit Bestellungen in zwei Monaten. Ich bin
+offiziell senil und sollte Erzmagier werden :P ).
+
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel Biete Wokpfanne (Zesstra, 28. Feb 2011, 20:47:13):
+~#! on=Gloinson ot=1298922127 og=hardsoftware
+~#! on=Orktoeter ot=1298921619 og=party.bekanntmachungen
+Hallo zusammen!
+
+Ich biete eine Wokpfanne. Stahlblech, Rundboden. Abzuholen in der Naehe von
+Wien.
+
+Angebote bitte per mudmail oder tm.
+
+OrkT.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 28.4.-26.5. (Croft, 22. Apr 2011, 07:57:53):
+Das waren wohl ein paar viele Termine und der Artikel ist zu frueh
+expired:
+28.4. Restaurant Delphi (www.restaurant-delphi.com)
+ 5.5. Lago Bowling-Center (www.lago-bowling.de)
+12.5. Jasmin (Marktstr. 16, Ettlingen)
+19.5. Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+26.5. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, Mandragora, 1.5. (Humni, 30. Apr 2011, 21:36:00):
+
+Wir tanzen nicht in den Mai. Aber wir fruehstuecken im Mai. Da wir selbst die
+Rueckensteaks Poivre nicht so hinkriegen, treffen wir uns am 1.5. wieder mal
+im Mandragora.
+
+Zum Brunchen. Vermutlich sind ab 11 Uhr Leute da, ich aber wohl wie immer noch
+nicht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-StaTi 11.6.: Wilhelma (Croft, 14. Mai 2011, 09:18:52):
+Am 11.6. gibt es mal wieder einen Karlsruher Sonder-Stammtisch.  Diesmal
+geht es nach Stuttgart in die Wilhelma (www.wilhelma.de).  Genauere Details
+stehen noch nicht fest, ausser das evtl abends zu einem Asiaten in Fellbach
+geht.  Falls jemand Interesse hat mitzukommen: bitte melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 26.5.-9.6. (Croft, 20. Mai 2011, 11:56:37):
+Es wurden schon mal zwei Folgelokale bestimmt:
+26.5. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+ 2.6. Marktluecke (www.karlsruhermarktluecke.de)
+ 9.6. Restaurant Delphi (www.restaurant-delphi.com)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Braunschweig Stati am 6.6. (Mcdee, 28. Mai 2011, 18:01:20):
+Wir treffen uns am 6.6. um 20 Uhr im "Charly's Tiger".
+
+http://www.charlys-tiger.de/
+
+Gruesse, Dee
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Sonder-StaTi 11.6.: Wilhelma (Croft,  2. Jun 2011, 23:08:22):
+~#! rn=Croft rt=1305357532 rg=treffen.bekanntmachungen
+~#! tid=1305357532
+Treffen ist um 9:45 vor dem Haupteingang (um ggf als Gruppe reinzukommen).
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+5.6. Fruehstueck im Mandragora (Zesstra,  2. Jun 2011, 23:09:44):
+Diesmal auch mal wieder mit Ankuendung. ;-)
+Wir treffen uns zum Fruehstueck
+am 5.6. ab 11:00
+im Mandragora in Bochum.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 16.6.-21.7. (Croft, 10. Jun 2011, 11:17:42):
+Und die naechsten Orte:
+16.6. Brauhaus Moninger (www.brauhaus-moninger.de)
+23.6. Kleine Doppelkopfrunde zu Hause :-)
+30.6. El Taquito (www.el-taquito.de)
+ 7.7. San Marco (Pappelallee 8, http://tinyurl.com/6dgq2j )
+14.7. Brayhead (www.brayhead.de)
+21.7. Pizzaria Portobello (www.portobello-ettlingen.de)
+
+Ggf. wird das Portobello noch vorgezogen/getauscht.
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 16.6.-21.7. (Croft, 14. Jul 2011, 09:58:12):
+~#! rn=Croft rt=1307697462 rg=treffen.bekanntmachungen
+~#! tid=1307697462
+Der heutige Stammtisch wird kurzfristig ins Delphi verlegt:
+14.7. Restaurant Delphi (www.restaurant-delphi.com)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-StaTi 31.7. (Croft, 15. Jul 2011, 00:08:09):
+Es ist mal wieder soweit: wir gehen unseren alten Stammwirt in seiner
+Seemuschel besuchen.  Und zwar am Sonntag den 31.7. mittags gen 13:00.
+
+Webseite der Seemuschel:
+http://www.av-buechenau.de/17503.html
+und bei Google-Maps sieht man das Gebaeude unter
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 28.7.-6.10. (Croft, 25. Jul 2011, 10:29:26):
+Wir haben mal wieder ein paar Termine ausgewuerfelt.
+28.07.11 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+04.08.11 Brayhead (www.brayhead.de)
+11.08.11 Titanic (www.ticka.net)
+18.08.11 Restaurant Delphi (www.restaurant-delphi.com)
+25.08.11 El Tequila (www.el-tequila.de)
+01.09.11 Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+08.09.11 San Marco (www.sanmarco-ka.de)
+15.09.11 Loewenbraeukeller (www.loewenbraeukeller.de)
+22.09.11 Marktluecke (www.karlsruhermarktluecke.de)
+29.09.11 Restaurant Delphi (www.restaurant-delphi.com)
+06.10.11 La Cage (www.lacage.de)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Morgengrauen in Wacken... (Zesstra, 31. Jul 2011, 01:09:24):
+Auch in diesem Jahr gibt es ein Morgengrauen auf dem Wacken Open Air,
+d.h. es gibt eine Sammlung von MGlern dort. ;-)
+
+Zu diesem Anlass rufe ich daher einen Sonder-Stati aus, vielleicht kommen auch
+MG'ler dorthin, die nicht mit uns zusammen zelten:
+Mi, 3.8. ab 16:00
+im Biergarten vom Wackinger Village.
+
+Wer bislang keinen von uns (Humni, Miril, Shaky, Olli, Vanir und ich) dort
+kennt, kann mich zwecks etwaiger Absprachen oder Telefonnummerntausch unter
+zesstra@zesstra.de erreichen. Am besten bis Di Abend, da ich dann nur noch
+eingeschraenkt Netz hab. ;-)
+
+Kommet zuhauf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Bochum, 28.8.2011, Mandragora, Brunch (Humni, 27. Aug 2011, 13:03:49):
+Morgen wird wieder im Mandragora gebruncht. Vermutlich ab 11 Uhr, wobei
+einzlene, wie auch der unterzeichnende Drache, erst spaeter kommen werden.
+
+Mjam.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum, 18.09.2011 (Arathorn, 14. Sep 2011, 19:25:28):
+Hallo,
+
+diesen Sonntag findet in Bochum ein ausserplanmaessiger Fruehstuecks-Stati
+statt, da wir den Olli und den Mash als auswaertige Sondergaeste
+begruessen duerfen.
+
+Start ist wie immer gegen 11:00 im Mandragora, Konrad-Adenauer-Platz 1
+in Bochum.
+
+Kommet zuhauf!
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 28.7.-6.10. (Croft, 15. Sep 2011, 09:12:26):
+~#! rn=Croft rt=1311582566 rg=treffen.bekanntmachungen
+~#! tid=1311582566
+Da der Loewenbraeukeller kurzfrist renoviert wird und deswegen geschlossen
+ist, gibt es eine ebenso kurzfristige Verlagerung des heutigen
+Stammtisches ins Wolfsbraeu:
+15.09.11 Wirtshaus Wolfsbraeu (www.wirtshauswolfbraeu.de)
+22.09.11 Marktluecke (www.karlsruhermarktluecke.de)
+29.09.11 Restaurant Delphi (www.restaurant-delphi.com)
+06.10.11 La Cage (www.lacage.de)
+
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecken in Bochum, 25.09.2011, 11:00 Uhr (Arathorn, 19. Sep 2011, 18:07:40):
+Moin,
+
+wir sind nach dem Sondertermin letztes Wochenende wieder im gewohnten Takt
+und treffen uns am kommenden Sonntag, dem 25.09.2011 ab 11:00 Uhr im
+Mandragora in Bochum (Konrad-Adenauer-Platz 1).
+
+Mit ein bisschen Glueck sind aber auch diesmal auswaertige Sondergaeste
+zugegen. :-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fruehstuecken in Bochum, 25.09.2011, 11:00 Uhr (Zook, 20. Sep 2011, 19:10:20):
+~#! rn=Arathorn rt=1316448460 rg=treffen.bekanntmachungen
+~#! tid=1316448460
+Das Glueck sollte Euch hold sein!
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 28.7.-6.10. (Croft, 29. Sep 2011, 11:57:23):
+~#! rn=Croft rt=1316070746 rg=treffen.bekanntmachungen
+~#! tid=1311582566
+Auf Grund der sehr geringen Beteiligung faellt der Stati heute aus.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecken in Bochum, 09.10.2011, 11:00 Uhr (Arathorn,  2. Okt 2011, 21:54:50):
+Hallo zusammen,
+
+wie gewohnt, treffen wir uns auch kommenden Sonntag wieder zum Fruehstueck
+im Mandragora, in Bochum (Konrad-Adenauer-Platz 1).
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 13.10.-3.11. (Croft,  7. Okt 2011, 11:02:59):
+Und die naechsten Termine sind festgelegt worden:
+
+13.10.11 Loewenbraeukeller (www.loewenbraeukeller.de)
+20.10.11 El Taquito (www.el-taquito.de)
+27.10.11 Restaurant Delphi (www.restaurant-delphi.com)
+03.11.11 Lago Bowling-Center (www.lago-bowling.de)
+
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 3.12. (Croft, 21. Okt 2011, 14:58:32):
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am
+3.12. freihalten.  Ort steht noch nicht fest, aber vermutlich
+besuchen wir mal wieder die Ecurie du Rhin.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstuecken in Bochum, 30.10.2011, 11:00 Uhr (Arathorn, 24. Okt 2011, 23:15:27):
+Hallo zusammen,
+
+nachdem das am letzten Wochenende ja nicht so richtig gut geklappt hat,
+starten wir dieses Wochenende einen neuen Versuch als Ersatztermin:
+
+     30.10.2011, 11:00 Uhr, Mandragora, Konrad-Adenauer-Platz 1
+
+Kommet zuhauf,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 3.11.-22.12. (Croft, 28. Okt 2011, 11:24:39):
+Do 03.11.11 Lago Bowling-Center (www.lago-bowling.de)
+Do 10.11.11 San Marco (www.sanmarco-ka.de)
+Do 17.11.11 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+Do 24.11.11 Portobello (www.portobello-ettlingen.de)
+Do 01.12.11 El Tequila (www.el-tequila.de)
+Do 08.12.11 China City - Sushi Bar (Brauerstr. 40, im Filmpalast am ZKM)
+Do 15.12.11 Marktluecke (www.karlsruhermarktluecke.de)
+Do 22.12.11 San Marco (www.sanmarco-ka.de) 
+Beginn wie immer um 20:00 ausser am 15.12.: da treffen wir uns um 19:30
+vorher auf dem Gluehweinmarkt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum, 13.11.2011 (Arathorn, 10. Nov 2011, 22:41:40):
+Hallo zusammen,
+
+kommenden Sonntag, den 13.11.2011, findet wieder der Bochumer Fruehstuecks-
+Stammtisch im Mandragora (Konrad-Adenauer-Platz 1) statt.
+
+Kommet zuhauf!
+
+Arathorn.
+
+P.S.: Ahja, Start ist um 11:00 Uhr.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 3.11.-22.12. (Croft, 24. Nov 2011, 23:29:15):
+~#! rn=Croft rt=1319793879 rg=treffen.bekanntmachungen
+~#! tid=1319793879
+Das El Tequila gibt es leider nicht mehr.  Stattdessen geht es mal
+wieder zu einem Thailaender:
+Do 01.12.11 Rim Wang (www.rim-wang.de)
+Do 08.12.11 China City - Sushi Bar (Brauerstr. 40, im Filmpalast am ZKM)
+Do 15.12.11 Marktluecke (www.karlsruhermarktluecke.de)
+Do 22.12.11 San Marco (www.sanmarco-ka.de) 
+Beginn wie immer um 20:00 ausser am 15.12.: da treffen wir uns um 19:30
+vorher auf dem Gluehweinmarkt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 3.11.-22.12. (Croft, 15. Dez 2011, 14:16:08):
+~#! rn=Croft rt=1322173755 rg=treffen.bekanntmachungen
+~#! tid=1319793879
+Da die Marktluecke zur Weihnachtszeit Parties veranstaltet und das weniger
+gemuetlich wird, sind wir heute im Multi Kulti (Schlossplatz 19) zu finden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 22.12.-12.1. (Croft, 15. Dez 2011, 23:36:42):
+Do 22.12.11 San Marco (www.sanmarco-ka.de)
+Do 29.12.11 Wirtshaus Wolfsbraeu (www.wirtshauswolfbraeu.de)
+Do 05.01.12 Restaurant Delphi (www.restaurant-delphi.com)
+Do 12.01.12 Drachen (Karl-Wilhelm-Strasse 10, ehemals El Tequila)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 19.1. (Croft, 13. Jan 2012, 11:45:35):
+Da die Marktluecke letztes Jahr ausfallen musste, wird sie naechste
+Woche nachgeholt:
+Do 19.01.11 Marktluecke (www.karlsruhermarktluecke.de)
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 26.1.-29.3. (Croft, 20. Jan 2012, 11:27:42):
+Wir waren mal wieder etwas beschlussfreudiger:
+
+26.01.12 Brauhaus Kuehler Krug (www.brauhaus-kuehler-krug.de)
+02.02.12 Punjab (www.punjab-restaurant.de)
+09.02.12 Portobello (www.portobello-ettlingen.de)
+16.02.12 Loewenbraeukeller (www.loewenbraeukeller.de)
+23.02.12 Restaurant Delphi (www.restaurant-delphi.com)
+01.03.12 Marianne's Flammkuchen (www.mariannes-flammkuchen.de)
+08.03.12 Jasmin (Marktstr. 16, Ettlingen)
+15.03.12 Wirtshaus Wolfsbraeu (www.wirtshauswolfbraeu.de)
+22.03.12 San Marco (www.sanmarco-ka.de)
+29.03.12 Vogel Hausbraeu Ettlingen (www.vogelbraeu.de) 
+
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum heute, 19.2. (Humni, 19. Feb 2012, 10:54:05):
+Huhu ihr,
+
+jetzt gleich ist Stati in Bochum. Auf auf! Der geht in 7 Minuten, um 11 Uhr
+oder so, los. Ich werde aber erst spaeter kommen.
+
+Nur, damit ihr rechtzeitig Bescheid wisst. Wie immer im Mandragora.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 33.2.2012 (Nun gut, 4.3.) (Humni, 19. Feb 2012, 11:01:34):
+Huhu ihr,
+
+da wir uns alle 14 Tage in Bochum treffen ist der naechste Stammtisch also am
+33.2.. Das ist der 4.3. Wir treffen uns um 11 Uhr im Mandragora. Ich werde
+aber nicht puenktlich sein, und Miril auch nicht. 
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati in Bochum am 33.2.2012 (Nun gut, 4.3.) (Zesstra, 19. Feb 2012, 23:17:54):
+~#! rn=Humni rt=1329645694 rg=treffen.bekanntmachungen
+~#! tid=1329645694
+Und wir haben heut ueberlegt, dass wir unser Stati-Programm leicht
+modifizieren. Daher faellt der Stati am 4.3. AUS.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 26.2. (Zesstra, 19. Feb 2012, 23:19:02):
+Der naechste Stati findet nach heutiger Entscheidung bereits naechste Woche,
+am Sonntag, 26.2., ab 11:00 im Mandragora in Bochum statt.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stati in Bochum am 33.2.2012 (Nun gut, 4.3.) (Humni, 20. Feb 2012, 00:30:22):
+~#! rn=Zesstra rt=1329689874 rg=treffen.bekanntmachungen
+~#! tid=1329645694
+Um das nochmal deutlich zu sagen: Sowohl der Stati am 33.2. wie auch der am
+4.3. fallen BEIDE AUS.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 22.3.-5.4. (Croft, 21. Mar 2012, 11:21:37):
+Na sowas, ist der letzte Artikel schon wieder expired.  Hier die alten
+noch offenen Termine zzgl des angehaengten Griechen.
+
+22.03.12 San Marco (www.sanmarco-ka.de)
+29.03.12 Vogel Hausbraeu Ettlingen (www.vogelbraeu.de) 
+05.04.12 Restaurant Delphi (www.restaurant-delphi.com)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 18.5. (Croft,  5. Apr 2012, 18:30:58):
+Es ist schon wieder ein halbes Jahr rum und da wir externe Gaeste erwarten
+wird ein Ausflug ins Elsass organisiert.  Termin ist Freitag der 18.5.
+seines Zeichens Brueckentag nach Christi Himmelfahrt.  Ort steht noch
+nicht fest, Empfehlungen werden entgegen genommen ;-)  Interessierte
+bitte bei mir melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 12.4.-17.5. (Croft,  6. Apr 2012, 09:40:52):
+12.04.12 El Taquito (www.el-taquito.de)
+19.04.12 Brauhaus Moninger (www.brauhaus-moninger.de)
+26.04.12 Portobello (www.portobello-ettlingen.de)
+03.05.12 Loewenbraeukeller (www.loewenbraeukeller.de)
+10.05.12 Vogel Hausbraeu Durlach (www.vogelbraeu.de)
+17.05.12 San Marco (www.sanmarco-ka.de)
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Mandragora-Stammtisch in Bochum, 29.4.2012 (Humni, 28. Apr 2012, 21:07:14):
+~#! on=Humni ot=1335639958 og=treffen
+Huhu ihr,
+
+wir haben unserer Rechnung nach morgen wieder im Mandragora in Bochum
+Stammtisch. Dort gibt es Fruehstueck, Rueckensteak Poivre, Kaffee,
+Apfelsaftschorle und Hunde zu begutachten. Losgehen wird das vermutlich,
+sofern auch andere Leute kommen, ab 11 Uhr, wir werden aber wieder erst
+spaeter auftauchen.
+
+Ein Drache
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mandragora-Stammtisch in Bochum, 29.4.2012 (Humni, 13. Mai 2012, 10:17:44):
+~#! rn=Humni rt=1335640034 rg=treffen.bekanntmachungen
+~#! tid=1335640034
+So. Gleich ist wieder Stammtisch im Mandragora. Also heute. Um 11 Uhr.
+
+Damit keiner sagt, der sei nicht angekuendigt!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 24.5.-28.6. (Croft, 19. Mai 2012, 14:13:57):
+24.05.12 Restaurant Delphi - www.restaurant-delphi.com
+31.05.12 Jasmin - Marktstr. 16, Ettlingen
+07.06.12 Rim Wang - www.rim-wang.de
+14.06.12 Pizzahaus - Rintheimer Strasse 2
+21.06.12 Brayhead - www.brayhead.de
+28.06.12 Marktluecke - www.karlsruhermarktluecke.de
+
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 24.5.-28.6. (Croft, 31. Mai 2012, 14:02:14):
+~#! rn=Croft rt=1337429637 rg=treffen.bekanntmachungen
+~#! tid=1337429637
+Da sich das Jasmin Pfingstferien macht, geht es heute kurzfristig ins
+Portobello (www.portobello-ettlingen.de).
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Stati 31.05. (Gingko, 31. Mai 2012, 14:04:36):
+Da das Jasmin Betriebsurlaub hat, verlegen wir den heutigen Stammtisch
+kurzfristig ins Portobello - http://www.portobello-ettlingen.de
+
+Gingko.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 24.5.-28.6. (Croft, 29. Jun 2012, 11:42:23):
+~#! rn=Croft rt=1337429637 rg=treffen.bekanntmachungen
+~#! tid=1337429637
+Da wir gestern das Halbfinale anderwaertig angeschaut haben, wird die
+Marktluecke auf naechste Woche verlegt:
+05.07.12 Marktluecke - www.karlsruhermarktluecke.de
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Mandragora-Stammtisch in Bochum am 8.7.2012 (Humni,  1. Jul 2012, 00:34:00):
+
+Huhu ihr,
+
+am Sonntag, dem 8.7., wird es im Mandragora wieder einmal einen Stammtisch
+geben. Dort werden Rueckensteaks und Fruehstueck gegessen, da wir wie ueblich
+dort brunchen werden.
+
+Also, ab 11 Uhr, oder wann auch immer da Leute kommen, wie immer werden Miril
+und ich erst spaeter ankommen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 12.7.-23.8. (Croft,  8. Jul 2012, 12:41:17):
+12.07.12 Jasmin - Marktstr. 16, Ettlingen
+19.07.12 Brayhead - www.brayhead.de
+26.07.12 Restaurant Delphi - www.restaurant-delphi.com
+02.08.12 Wacken - www.wacken.com - Karte erforderlich :-)
+09.08.12 San Marco - www.sanmarco-ka.de
+16.08.12 El Taquito - www.el-taquito.de
+23.08.12 Flammaurant - www.flammaurant-kastaniengarten.de
+
+Beginn wie immer um 20:00 (ausser in Wacken, das haengt noch von der
+Running Order ab)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Wacken (Humni,  9. Jul 2012, 12:59:29):
+Huhu,
+
+da einige Mudder nach Wacken fahren und andere davon schon hoerten: Wir
+wollten einen grossen Mud-und-Mudumgebungstross bilden, der gemeinsam anreist.
+Wer da noch mitmachen will, darf mir gerne eine Ingame-Mail schreiben (wir
+wollen in der Nacht von Dienstag auf Mittwoch anreisen).
+
+Ebenso koennen wir auch gerne ueber einen Mudstammtisch im Biergarten oder auf
+dem Wackinger-Markt reden...
+
+Humni
+PS: Mich einfach per tm ansprechen geht natuerlich auch. Allerdings idle ich
+auch oefter, das ist dann kein "Mit Dir rede ich nicht".
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wacken (Saray, 10. Jul 2012, 09:12:49):
+~#! rn=Humni rt=1341831569 rg=treffen.bekanntmachungen
+~#! tid=1341831569
+Neil und ich reisen ja schon fr|her mit anderen leuten an, aber Stammtisch
+faend ich super :-).
+Mittwoch oder Donnerstag - bevors halt richtig losgeht - eignet sich da ja
+wohl am Besten.
+Gruss Saray
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 26.7.-23.8. (Croft, 21. Jul 2012, 17:25:02):
+Da das San Marco am 9.8. Betriebsferien hat, tauschen wir das Delphi mit
+dem San Marco:
+26.07.12 San Marco - www.sanmarco-ka.de
+02.08.12 Wacken - www.wacken.com - Karte erforderlich :-)
+09.08.12 Restaurant Delphi - www.restaurant-delphi.com
+16.08.12 El Taquito - www.el-taquito.de
+23.08.12 Flammaurant - www.flammaurant-kastaniengarten.de
+
+Beginn wie immer um 20:00 (ausser in Wacken, das haengt noch von der
+Running Order ab)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 29.7. (Croft, 26. Jul 2012, 16:30:06):
+Auch dieses Jahr besuchen wir unseren alten Stammwirt in seiner Seemuschel.
+Diesmal ist es am Sonntag den 29. Juli ab 13:00 soweit.
+
+Webseite der Seemuschel:
+http://www.av-buechenau.de/17503.html
+und bei Google-Maps sieht man das Gebaeude unter
+http://tinyurl.com/n7k2v
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wacken (Croft, 26. Jul 2012, 19:29:31):
+~#! rn=Saray rt=1341904369 rg=treffen.bekanntmachungen
+~#! tid=1341831569
+Am Donnerstag ist auf jeden Fall der KA-Stammtisch in Wacken.  Aber es
+spricht ja nix dagegen mehrere Stammtische dort zu machen ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Sonder-Stati 29.7. (Zesstra, 26. Jul 2012, 20:21:45):
+~#! rn=Croft rt=1343313006 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Da kann ich leider nicht.
+Aber ich glaube, dass an dem Tag in Bochum Fruehstueck im Mandra stattfindet.
+So ganz sicher bin ich aber noch nicht, das haengt naemlich viel von Humni ab.
+;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Sonder-Stati 29.7. (Arathorn, 26. Jul 2012, 21:01:25):
+~#! rn=Zesstra rt=1343326905 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Ja nee, oder? Sag nich, dass ihr jetzt am WE in Bochum fruehstuecks-
+stammtischen wollt, wenn wir zum "FamilyDay" an den Moehnesee fahren
+"duerfen"?! *argl*
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA Sonder-Stati 29.7. (Zesstra, 26. Jul 2012, 21:02:14):
+~#! rn=Arathorn rt=1343329285 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+naja, es bietet sich zumindest an, weil auch div. Gaeste da sind, wir nicht
+spielen und die Woche drauf nicht geht und so...
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: KA Sonder-Stati 29.7. (Zook, 27. Jul 2012, 08:46:21):
+~#! rn=Zesstra rt=1343329334 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Also wenn da Fruehstueck im Mandra in BO ist, dann komm ich 
+da wohl mal hin.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: KA Sonder-Stati 29.7. (Humni, 27. Jul 2012, 17:30:18):
+~#! rn=Zook rt=1343371581 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Na, dann machen wir doch eins!
+
+Am 29.7. ist Fruehstueck im Mandragora in Bochum.
+
+Wie immer so ab 11. Dann ist aber wohl noch keiner da, die meisten kommen
+vermutlich erst spaeter.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wacken (Saray, 27. Jul 2012, 23:03:46):
+~#! rn=Croft rt=1343323771 rg=treffen.bekanntmachungen
+~#! tid=1341831569
+Na ja, muss mans denn so genau nehmen? Donnerstag faengt doch auch das
+Programm richtig an. Waer da Mittwoch nicht sowieso besser?
+Na ja, so oder so wird man sich sicher sehen. Es gibt ja Handies oder wie die
+Dinger heissen *g*.
+Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wacken (Zesstra, 27. Jul 2012, 23:39:47):
+~#! rn=Saray rt=1343423026 rg=treffen.bekanntmachungen
+~#! tid=1341831569
+Der Punkt ist, dass der Karlsruher Stammtisch immer an einem Donnerstag
+stattfindet. ;-) Es ist egal, wo er stattfindet, aber ist muss ein Donnerstag
+sein. Aber wie geschrieben: wir sollten uns einfach Mittwoch treffen und
+Donnerstag nochmal. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA Sonder-Stati 29.7. (Roadrunner, 28. Jul 2012, 20:03:49):
+~#! rn=Arathorn rt=1343329285 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+bin dabei
+RR
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: KA Sonder-Stati 29.7. (Saray, 29. Jul 2012, 18:29:45):
+~#! rn=Roadrunner rt=1343498629 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Na, mir solls recht sein. Doppelt haelt besser und so :-D
+Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: KA Sonder-Stati 29.7. (Zook, 29. Jul 2012, 22:48:17):
+~#! rn=Humni rt=1343403018 rg=treffen.bekanntmachungen
+~#! tid=1343313006
+Ja. Leicht spaeter.
+Aber der Grund, nicht so frueh aufzustehen, war natuerlich
+fabelhaft!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-Stati 14.7. (Croft, 13. Aug 2012, 20:29:04):
+Morgen treffen wir uns anlaesslich eines auswaertigen Gastes um 20:00
+in der Marktluecke.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 19.08.2012 (Arathorn, 18. Aug 2012, 11:04:20):
+Hallo zusammen,
+
+morgen treffen sich die Bochumer Mudder wieder zum Fruehstuecks-Stammtisch
+im Mandragora (Konrad-Adenauer-Platz 1, Bochum). Los geht's wie immer gegen
+11:00 Uhr.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 23.-30.8. (Croft, 18. Aug 2012, 23:42:11):
+23.08.12 Flammaurant - www.flammaurant-kastaniengarten.de
+30.08.12 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Fuer das Flammaurant wird um Anmeldung gebeten.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 02.09.2012 (Arathorn, 27. Aug 2012, 21:35:13):
+Hallo,
+
+am kommenden Sonntag (Uiuiui, satte 5 Tage vorher angekuendigt. Zeichen und
+Wunder, Ihr wisst schon.) findet wieder unser Fruehstuecks-Stammtisch im
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+abschrecken lassen, wenn um die Zeit noch keiner da ist. ;-)
+
+Ahso, Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 6.9.-18.10. (Croft, 31. Aug 2012, 17:56:54):
+Die naechsten Termine stehen fest.  Am 27.9. lassen wir uns bezaubern
+und unterhalten.  Hier kommt man nur dem passenden Ticket rein.
+06.09.12 Rim Wang - www.rim-wang.de
+13.09.12 Brauhaus Moninger - www.brauhaus-moninger.de
+20.09.12 Portobello - www.portobello-ettlingen.de
+27.09.12 Tollhaus - www.tollhaus.de - Helge Thun & Topas - Ticket erforderlich
+04.10.12 Restaurant Delphi - www.restaurant-delphi.com
+11.10.12 Loewenbraeukeller - www.loewenbraeukeller.de
+18.10.12 San Marco - www.sanmarco-ka.de
+
+Und einen Sonderstammtisch gibt es anlaesslich eines auswaertigen
+Gastes auch noch:
+14.09.12 Brayhead - www.brayhead.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 23.09.2012 (Arathorn, 18. Sep 2012, 00:24:40):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+wundern, wenn dann noch keiner da ist. Wer noch nie da war und sich vorher
+anmeldet, kann damit aber die Chance erhoehen, dass irgendwer sich um 
+Punkt 11:00 Uhr hinbequemt. :-)
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 07.10.2012 (Arathorn,  2. Okt 2012, 00:30:30):
+~#! rn=Arathorn rt=1347920680 rg=treffen.bekanntmachungen
+~#! tid=1347920680
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+wundern, wenn dann noch keiner da ist. Wer noch nie da war und sich vorher
+anmeldet, kann damit aber die Chance erhoehen, dass irgendwer sich um 
+Punkt 11:00 Uhr hinbequemt. :-)
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+P.S.: Diesmal mit auswaertigem Gast. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 6.9.-18.10. (Croft,  4. Okt 2012, 16:18:55):
+~#! rn=Croft rt=1346428614 rg=treffen.bekanntmachungen
+~#! tid=1346428614
+Mangels Teilnehmern entfaellt der heutige Stammtisch.  Wer trotzdem zwei
+Mudder zu Gesicht bekommen will, kann gerne zu Elaekelaeiset ins Substage
+kommen ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 6.9.-18.10. (Gloinson,  4. Okt 2012, 17:11:26):
+~#! rn=Croft rt=1349360335 rg=treffen.bekanntmachungen
+~#! tid=1346428614
+Das sieht ohne Umlaute sehr komisch aus.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 21.10.2012 (Arathorn, 17. Okt 2012, 20:17:04):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+wundern, wenn dann noch keiner da ist. Wer noch nie da war und sich vorher
+anmeldet, kann damit aber die Chance erhoehen, dass irgendwer sich um 
+Punkt 11:00 Uhr hinbequemt. :-)
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 25.10.-29.11. (Croft, 19. Okt 2012, 11:50:40):
+Es war mal wieder soweit:
+25.10.12 Jasmin - Marktstr. 16, Ettlingen
+01.11.12 La Cage - www.lacage.de
+08.11.12 Marianne's Flammkuchen - www.mariannes-flammkuchen.de
+15.11.12 Marktluecke - www.karlsruhermarktluecke.de
+22.11.12 Kouros - www.restaurant-kouros.de
+29.11.12 Brauhaus Kuehler Krug - www.brauhaus-kuehler-krug.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Bochum am 21.10.2012 (Arathorn, 19. Okt 2012, 19:00:33):
+~#! rn=Arathorn rt=1350497824 rg=treffen.bekanntmachungen
+~#! tid=1350497824
+Aufgrund mangelnder Teilnahme wird der Stammtisch an diesem WE leider nicht
+stattfinden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Pssscht... (Zook, 27. Okt 2012, 14:59:01):
+... es sind konspirative Treffen in Gange!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 04.11.2012 (Arathorn,  2. Nov 2012, 01:16:46):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+wundern, wenn dann noch keiner da ist. Wer noch nie da war und sich vorher
+anmeldet, kann damit aber die Chance erhoehen, dass irgendwer sich um 
+Punkt 11:00 Uhr hinbequemt. :-)
+
+*** Diese Woche mit auswaertigem Special Guest! :-)
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 18.11.2012 (Arathorn, 15. Nov 2012, 00:02:06):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr, aber nicht
+wundern, wenn dann noch keiner da ist. Wer noch nie da war und sich vorher
+anmeldet, kann damit aber die Chance erhoehen, dass irgendwer sich um 
+Punkt 11:00 Uhr hinbequemt. :-)
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Bochum am 18.11.2012 (Masul, 18. Nov 2012, 13:34:29):
+~#! rn=Arathorn rt=1352934126 rg=treffen.bekanntmachungen
+~#! tid=1352934126
+Hallo Bochumer Stati,
+komme gerade aus dem Mandragora...
+Das Mandra wird derzeit umgebaut und ist daher bis 6.12. geschlossen,
+so war zu erfahren.
+Vielleicht brauchen wir einen anderen Treffpunkt?
+Gruss, Masul.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Treffen in Darmstadt am 01.12 (Saray, 25. Nov 2012, 11:44:12):
+Hallo zusammen,
+und wieder einmal wird der Versuch eines Treffens in Darmstadt gestartet :-).
+Treffpunkt waere wieder der Ratskeller so ab 19 uhr am Samstag, den 01.12.
+Neil waere wie immer an seinem Judas Priest-Backpatch zu erkennen.
+Kommet zahlreichst!
+gruss Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Treffen in Darmstadt am 01.12 (Vanir, 29. Nov 2012, 15:09:17):
+~#! rn=Saray rt=1353840252 rg=treffen.bekanntmachungen
+~#! tid=1353840252
+Ich werde da uebrigens auch erscheinen. Darum: Kommet zu hauf!
+V.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Treffen in Darmstadt am 01.12 (Saray, 29. Nov 2012, 18:36:17):
+~#! rn=Vanir rt=1354198157 rg=treffen.bekanntmachungen
+~#! tid=1353840252
+Na, wenn das kein Argument ist :-D
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Treffen in Darmstadt am 01.12 (Ark, 29. Nov 2012, 20:03:13):
+~#! rn=Saray rt=1354210577 rg=treffen.bekanntmachungen
+~#! tid=1353840252
+-1, sorry.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Treffen in Darmstadt am 01.12 (Eljo, 29. Nov 2012, 20:04:08):
+~#! rn=Ark rt=1354215793 rg=treffen.bekanntmachungen
+~#! tid=1353840252
+Ob Arks Absage was mit Vanir zu tun hat? ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Treffen in Darmstadt am 01.12 (Ark, 29. Nov 2012, 20:04:47):
+~#! rn=Eljo rt=1354215848 rg=treffen.bekanntmachungen
+~#! tid=1353840252
+Zeitliche Koinzidenz, keine inhaltliche :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 6.12.-10.1. (Croft, 30. Nov 2012, 16:59:27):
+Die naechsten Termine:
+06.12.12 San Marco - www.sanmarco-ka.de
+13.12.12 Marktluecke - www.karlsruhermarktluecke.de
+20.12.12 Shalimar - Leopoldstrasse 28, Ettlingen
+27.12.12 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+03.01.13 Kouros - www.restaurant-kouros.de
+10.01.13 La Dolce Vita - www.la-dolcevita.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch im Ruhrgebiet am 1.12. (Humni,  1. Dez 2012, 16:52:04):
+Hallo ihr,
+
+eigentlich waere morgen Stammtisch im Mandragora. Da das aber gerade zu hat,
+andererseits die Weihnachtsmarktsaison angefangen hat, machen wir heute abend
+den Essener Weihnachtsmarkt unsicher, bevor wir dann Skyfall gucken.
+
+Wer also mag, kann gegen 18:15 im Starbucks am Essener HBF sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch im Ruhrgebiet am 1.12. (Zesstra,  1. Dez 2012, 17:08:29):
+~#! rn=Humni rt=1354377124 rg=treffen.bekanntmachungen
+~#! tid=1354377124
+Das schaffe ich nicht mehr. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch im Ruhrgebiet am 1.12. (Masul,  2. Dez 2012, 11:54:31):
+~#! rn=Humni rt=1354377124 rg=treffen.bekanntmachungen
+~#! tid=1354377124
+Hm. Das habe ich wohl etwas zu spaet gelesen...
+Masul
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 9.12.2012 (Arathorn,  7. Dez 2012, 23:20:10):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Das Mandra hatte uebrigens die letzten 3 Wochen zum Umbauen und Renovieren
+geschlossen, es lohnt sich also, mal wieder vorbeizuschauen. :-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 6.12.-10.1. (Croft, 12. Dez 2012, 13:51:40):
+~#! rn=Croft rt=1354291167 rg=treffen.bekanntmachungen
+~#! tid=1354291167
+Da die Marktluecke mit dem Weihnachtsmarkt davor keine Reservierungen
+annimmt und das El Taquito schon zu voll fuer uns ist, geht es diesen
+Donnerstag zu Kai's Pizza (www.kais-pizza.de).  Allerdings treffen
+wir uns zu erst um 20:00 am Schoepf um dem alljaehrlichen wiederkehrenden
+Gluehwein zu huldigen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 23.12.2012 (Arathorn, 19. Dez 2012, 23:15:58):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 6.12.-10.1. (Croft, 24. Dez 2012, 08:59:14):
+~#! rn=Croft rt=1354291167 rg=treffen.bekanntmachungen
+~#! tid=1354291167
+Der Weihnachtsstammtisch wird kurzerhand in den Filmpalast verlegt.
+Es gilt den Hobbit in 3D HFR anzuschauen :-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 6.12.-10.1. (Croft,  2. Jan 2013, 21:30:04):
+~#! rn=Croft rt=1354291167 rg=treffen.bekanntmachungen
+~#! tid=1354291167
+Da die in Karlsruhe verbleibende Gemeinde sich zu wenig fuehlt um ins Kouros
+zu gehen wird der Zweit-Stammtisch in Buetgenbach in Belgien offiziell zum
+Erst-Stammtisch erkoren:
+03.01.13 The Pub 24 (www.thepub24.eu)
+Beginn wie immer um 20:00.  Das waer uebrigens auch der erste offizielle
+Karlsruher Stammtisch ausserhalb von Deutschland ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 06.01.2013 (Ahab,  5. Jan 2013, 19:56:53):
+Hallo zusammen,
+
+dieses Mal etwas kurzfristig: Morgen findet wieder unser Fruehstuecks-
+Stammtisch im Mandra in Bochum statt. Beginn wie ueblich gegen 11:00 Uhr.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Gruss, Ahab
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 17.-24.1. (Croft, 12. Jan 2013, 13:02:56):
+Die beiden nicht besuchten Lokale werden kurzerhand nachgeholt:
+17.01.13 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+24.01.13 Kouros - www.restaurant-kouros.de
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 20.01.2013 (Arathorn, 16. Jan 2013, 22:30:43):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 31.1.-14.3. (Croft, 25. Jan 2013, 11:23:08):
+31.01.13 Rim Wang - www.rim-wang.de
+07.02.13 Titanic - Kronenstrasse 3, 76133 Karlsruhe
+14.02.13 El Taquito - www.el-taquito.de
+21.02.13 Loewenbraeukeller - www.loewenbraeukeller.de
+28.02.13 Lago Bowling-Center - www.lago-bowling.de
+07.03.13 San Marco - www.sanmarco-ka.de
+14.03.13 La Dolce Vita - www.la-dolcevita.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 03.02.2013 (Arathorn, 31. Jan 2013, 21:29:30):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 31.1.-14.3. (Croft, 14. Feb 2013, 16:54:24):
+~#! rn=Croft rt=1359109388 rg=treffen.bekanntmachungen
+~#! tid=1359109388
+Da das El Taquito heute keine groesseren freien Tische mehr hat geht
+es in die Marktluecke.
+Und die beiden letzten Lokale wurden auch noch getauscht:
+14.02.13 Marktluecke (www.karlsruhermarktluecke.de)
+21.02.13 Loewenbraeukeller - www.loewenbraeukeller.de
+28.02.13 Lago Bowling-Center - www.lago-bowling.de
+07.03.13 La Dolce Vita - www.la-dolcevita.de
+14.03.13 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+uddertreffen (Arson, 22. Feb 2013, 15:48:36):
+Hey, hiermit starte ich den versuch eines muddertreffens in hamburg.
+Am 16.03.2013 um 19.00 uhr das ist ein Samstag.
+Beim Grichen taverna Kamiros
+Adresse: Fuhlsbuettler Strasse 256, 22307 Hamburg 
+Telefon:040 617683 
+
+Bitte sagt kurz bescheit wenn ihr kommen koennt, damit ich nen tisch
+resavieren kann.
+
+Ich freue mich auf nen netten Abend mit euch!
+
+Lg lukas alias arson
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spontan-Stati in Ravensburg/Weingarten (Vector, 26. Feb 2013, 00:08:45):
+Oh Freude, oh Wonne
+so hoert die Verkuendung!
+
+Anlaesslich eines hohen B-E-suchs wird hiermit spontan
+ein Stammtisch im Sueden des Zook'schen Reichs verlautbar:
+
+Mittwoch, 6. Maerz ab 19 Uhr (ja wir sind alt und fangen
+deshalb frueh an, damit der Durst gestillt wird).
+
+Ort ueberleg ich mir noch :) bei Interesse teilemit
+oder mail. Gloinson, Sky, Roadrunner, Hight kriegen noch
+ne extra Vorl^H^HEinladung :)
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 7.3. bis 21.3.2013 (Gingko,  6. Mar 2013, 17:35:34):
+Aufgrund einer Praeferenzenoptimierung aendert sich nochmal eine Lokalitaet
+und einen Termin haben wir schon mehr festgelegt:
+07.03.2013 Mariannes Flammkuchen - www.mariannes-flammkuchen.de
+14.03.2013 San Marco - www.sanmarco-ka.de
+21.03.2013 La Dolce Vita - www.la-dolcevita.de
+
+Beginn wie ueblich 20:00h.
+Gingko
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 10.03.2013 (Arathorn,  9. Mar 2013, 12:48:13):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:00 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: uddertreffen (Arson,  9. Mar 2013, 13:42:33):
+~#! rn=Arson rt=1361544516 rg=treffen.bekanntmachungen
+~#! tid=1361544516
+hey, ich wollte noch mal an nechsten samstag erinnern, bis jetzt kamen noch
+keine zusagen. falls termin oder lokalitaet nicht passt generell aber
+interesse an soeinem treffen bestehtwuerde ich mich auch ueber eine kurze
+nachricht freuen, damit wir was anderes organisieren koennen.
+
+lg lukas alias arson
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: uddertreffen (Zesstra,  9. Mar 2013, 13:52:08):
+~#! rn=Arson rt=1362832953 rg=treffen.bekanntmachungen
+~#! tid=1361544516
+Ich haette zwar groesses Interesse, aber die Anreise aus Stuttgart ist etwas
+weit, zumal ich an einem ganz anderen Ort sein muss. Da wuerde aber ein
+Wechsel der Lokalitaet auch nicht helfen...
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 21.3. bis 28.3.2013 (Gingko, 15. Mar 2013, 10:58:29):
+Das La Dolce Vita als Stati-Lokalitaet haben wir nochmals um eine Woche
+verschoben. Somit sind die naechsten beiden Termine:
+21.03.2013 Yasmin - Ettlingen, Marktstr. 16
+28.03.2013 La Dolce Vita - www.la-dolcevita.de
+
+Beginn wie immer 20:00h
+schoene Gruesze, Gingko
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 04.04.-25.04.13 (Gingko, 31. Mar 2013, 20:06:39):
+Die naechsten vier Karlsruhe-Stati-Lokalitaeten wurden festgelegt:
+04.04.13 Kouros      www.restaurant-kouros.de
+11.04.13 Shalimar    Leopoldstr. 28, Ettlingen
+18.04.13 El Taquito  www.el-taquito.de
+25.04.13 Wolfsbraeu  www.wirtshauswolfbraeu.de
+
+Beginn wie immer 20:00h
+
+Gruesze,gingko.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: uddertreffen (Perdita,  2. Apr 2013, 21:43:50):
+~#! rn=Arson rt=1361544516 rg=treffen.bekanntmachungen
+~#! tid=1361544516
+Hallo Arson
+Die meisten Hamburger Mudder, die ich kenne, sind Ex-Mudder (so wie ich).
+Die werden vermutlich hier nicht mehr mitlesen.
+Mit einigen habe ich aber noch sporadisch Kontakt, und wir haben kuerzlich mal
+ueberlegt, uns wieder zu treffen (siehe mein Artikel in der Rubrik "Treffen").
+Erst danach habe ich deinen Artikel hier gelesen und gesehen, dass du (wohl
+vergeblich?) versucht hast, ein Treffen zu organisieren...
+Vielleicht klappt es ja diesmal...
+Wir versuchen's jedenfalls :-)
+Schoene Gruesse
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 07.04.2013 (Arathorn,  3. Apr 2013, 23:11:24):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder der Fruehstuecks-Stammtisch im 
+Mandragora in Bochum statt. Start wie ueblich gegen 11:30 Uhr; von 
+auswaerts anreisende Gaeste werden gebeten, sich vorher kurz zu melden.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 6.7. (Croft,  6. Apr 2013, 14:01:33):
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am 6. Juli
+freihalten.  Ort steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 6.7. (Roadrunner,  6. Apr 2013, 16:17:48):
+~#! rn=Croft rt=1365249693 rg=treffen.bekanntmachungen
+~#! tid=1365249693
+warum muessen eigentlich alle relevanten veranstaltungen dieses jahr
+ausgerechnet an diesem ersten juliwochenende terminiert werden? Da ist das TFF
+rudolstadt. und selbst wenn dies nicht waere haette ich die Auswahl zwischen
+bisher 2 weiteren Events.
+
+*grummel* 
+
+RR
+*
+
+-----------------------------------------------------------------------------
+
+
+
+"Stammtisch" in Hamburg am 12.04.2013 (Perdita,  8. Apr 2013, 21:43:45):
+Nachdem die Umfrage ein Verhaeltnis von 7:5 ergeben hat, steht als Termin fuer
+unser (Ex-)Muddertreffen in Hamburg jetzt
+Freitag, der 12.04.2013
+fest. Treffpunkt im Schachcaf Ruebenkamp (http://www.schachcafe-hamburg.de) um
+19 Uhr. Tisch ist reserviert auf "Morgengrauen".
+Es freut sich
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 14.4.2013 (Bugfix, 13. Apr 2013, 21:32:09):
+Moin,
+
+Morgen findet mal wieder der Fruehstuecksstammtisch imMandragora in Bochum 
+statt. Start etwa 11:30.
+
+Adresse: Konrad-Adenauer-Platz 1.
+
+Kommet zu hauf.
+
+Xut*
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 2.5.-6.6.13 (Croft, 25. Apr 2013, 12:17:32):
+02.05.13 Beim Griechen - Steinmannstr. 1, Rueppurr
+09.05.13 Spieleabend
+16.05.13 Marktluecke - www.karlsruhermarktluecke.de
+23.05.13 Brayhead - www.brayhead.de
+30.05.13 San Marco - www.sanmarco-ka.de
+06.06.13 Brauhaus Moninger - www.brauhaus-moninger.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 28.4. (Humni, 27. Apr 2013, 19:45:36):
+Huhu ihr,
+
+morgen ist es nun schon 14 Tage her, dass der letzte Stammtisch im Mandragora
+standfand, in Bochum. Darum haben wir beschlossen, dass es Zeit fuer einen
+neuen ist.
+
+Morgen. Ab 11 Uhr. Wird vielleicht jemand da sein. Ich aber nicht, Miril und
+ich werden wohl eher gegen 13 Uhr kommen.
+
+Bis dann!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Muddertreffen in Erlangen am 11.05. (Gulahr, 29. Apr 2013, 20:06:34):
+Moin zusammen,
+
+es wird am Abend vom 11.05. ein Muddertreffen in Erlangen geben. Bisher dabei
+sind Nefis, Soynada, Xutelius, Cutter und ich. Eventuell kommen noch Nevada
+und Demonlord. Genaue Lokalitaet steht noch nicht fest. 
+
+Soweit ich weiss, gibt's da in der Gegend ja noch ein paar Mudder, wir wuerden
+uns freuen, wenn noch jemand Lust hat zu kommen. Bei Interesse einfach bei mir
+melden :-)
+
+Gruesse
+Gulahr
+
+-----------------------------------------------------------------------------
+
+
+
+Berliner MUD-Brunch-Stati am 19.05. (Gloinson, 29. Apr 2013, 20:49:18):
+Huhu,
+
+zum Anlass der bodenseealemannischen Besuchsreihe unter dem Motto 'Schwaben
+pruefen, was Berliner mit ihren Steuern anstellen' rufe ich hiermit einen
+Brunch-StaTi aus.
+
+Ort:  Die Turnhalle, HolteistraCe 6-9; 10245 Berlin
+Zeit: Sonntag, 19. Mai 2013; ab 10 Uhr (ortsbedingt nur bis 14 Uhr)
+
+http://dieturnhalle.de/dieturnhalle/
+
+Koemmet zu Hauf. Bringet Kinder und anderes essbares Geraet mit!
+
+Reserviert ist momentan fuer 10 Erwachsene draussen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Stammtisch in Bochum, 5.5.2013 (Humni,  4. Mai 2013, 20:52:11):
+Huhu,
+
+morgen ist der 5.5. - das ist ein Tag nach dem 4.5. und ein Tag vor dem 6.5.
+Da das furchtbar lustig ist, gibt es diesmal auch an diesem Tag im Manragora
+ab 11 Uhr (wobei viele erst ab 13 Uhr kommen werden) einen Brunchstammtisch
+ohne Rueckensteakt Poivre, was ja nun eigentlich gar nicht geht, aber leider
+Tatsache ist.
+
+Also, kommet zu Hauf! Auch wenn ihr letzte Woche schon da wart: Diese Woche
+wird es noch besser, schoener, breiter! Wir auch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Berliner MUD-Brunch-Stati am 16.06. (Gloinson, 20. Mai 2013, 16:54:47):
+Huhu,
+
+die bodenseealemannischen Besuchsreihe wird fortgesetzt, da dieses
+Mal das Fehlen von 'Weckle' und 'Veschperle' beanstandet wurde. Die
+Berliner haben jetzt einen Monat, diese Versaeumnisse zu beheben
+und die Berliner Alt-Nichtmehrmudder koennen in dieser Zeit ihre
+Kinder an das Textmedium gewoehnen.
+
+Auf ein leckeres Neues, Sonne haben wir auch wieder bestellt:
+
+Ort:  Die Turnhalle, HolteistraCe 6-9; 10245 Berlin
+Zeit: Sonntag, 16. Juni 2013; ab 10 Uhr (bis 15 Uhr)
+
+http://dieturnhalle.de/dieturnhalle/
+
+Koemmet zu Hauf. Bringet Kinder und anderes essbares Geraet mit!
+
+Reserviert ist momentan fuer 12 Erwachsene draussen auf 'Morgengrauen'.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 13.6.-18.7. (Croft,  7. Jun 2013, 09:32:33):
+13.06.13 Kouros - www.restaurant-kouros.de
+20.06.13 Marktluecke - www.karlsruhermarktluecke.de
+27.06.13 Loewenbraeukeller - www.loewenbraeukeller.de
+04.07.13 Brayhead - www.brayhead.de
+11.07.13 San Marco - www.sanmarco-ka.de
+18.07.13 Rim Wang - www.rim-wang.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 6.7. (Croft, 11. Jun 2013, 22:52:57):
+Repost, da die Ankuendigung expired ist:
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am 6. Juli
+freihalten.  Ort steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 16.06.2013 (Arathorn, 15. Jun 2013, 18:05:12):
+Hallo zusammen!
+
+Morgen ist wieder Stammtisch im Mandragora in Bochum, Konrad-Adenauer-
+Platz 1, Start wie ueblich irgenwann gegen 11:00 Uhr.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 13.6.-18.7. (Croft, 28. Jun 2013, 08:49:21):
+~#! rn=Croft rt=1370590353 rg=treffen.bekanntmachungen
+~#! tid=1370590353
+Die noch ausstehenden Termine wurden einer Rotation unterzogen:
+
+04.07.13 Rim Wang - www.rim-wang.de
+11.07.13 Brayhead - www.brayhead.de
+18.07.13 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 6.7. (Croft, 28. Jun 2013, 08:55:08):
+~#! rn=Croft rt=1370983977 rg=treffen.bekanntmachungen
+~#! tid=1370983977
+Dem aktuellen Stand der Dinge nach geht es nach Seltz in die Auberge de la
+Foret ( http://aubergeforet.free.fr/ueberuns_d.htm ).  Wer mitkommen
+moechte sollte sich bis naechste Woche Mittwoch gemeldet haben.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+WOA-Stati (Zesstra, 10. Jul 2013, 23:25:55):
+Achja. Ich glaube, am 31.7. gibt es auf dem Wacken Open Air wieder einen
+MG-Stammtisch - vermutlich im Biergarten oder Wackinger Biergarten. ;-)
+Details nach Absprache, also bitte melden.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 25.7.-5.9. (Croft, 19. Jul 2013, 11:43:55):
+25.07.13 Beim Griechen - Steinmannstr. 1, Rueppurr
+01.08.13 Marktluecke - www.karlsruhermarktluecke.de
+08.08.13 El Taquito - www.el-taquito.de
+15.08.13 FG1 - www.fg-eins.de
+22.08.13 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+29.08.13 San Marco - www.sanmarco-ka.de
+05.09.13 Shalimar - Leopoldstrasse 28, Ettlingen
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WOA-Stati (Croft, 19. Jul 2013, 11:47:32):
+~#! rn=Zesstra rt=1373491555 rg=treffen.bekanntmachungen
+~#! tid=1373491555
+Wir werden auch noch einen Karlsruher W:O:A-Sonder-Stammtisch abhalten.
+Allerdings nicht am Mittwoch um dem MG-Stammtisch keine Konkurrenz zu
+machen.
+Details nach Absprache, also bitte melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+StaTi Koeln? (Troshe,  2. Aug 2013, 10:05:00):
+Hallo, ich mein haett ein paar mal Koeln beim LogIn gesehen. Besteht Interesse
+an einem StaTi in Koeln? Bei Interesse bitte mich mal per Post ingame
+anschreiben, danke.
+
+LG Troshe
+
+-----------------------------------------------------------------------------
+
+
+
+17.08.2013: Fruehstueck in Bochum (Arathorn, 17. Aug 2013, 23:11:43):
+Hallo zusammen,
+
+ja, etwas kurzfristig, dennoch: morgen ist endlich wieder einmal ein freier
+Termin fuer einen Fruehstuecks-Stati in Bochum. Start ist gegen 11:30 Uhr,
+und wir treffen uns wie immer im Mandragora, Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 25.7.-5.9. (Croft,  4. Sep 2013, 10:00:17):
+~#! rn=Croft rt=1374227035 rg=treffen.bekanntmachungen
+~#! tid=1374227035
+Da das Shalimar morgen nicht offen ist, geht es nochmal in die Marktluecke.
+05.09.13 Marktluecke - www.karlsruhermarktluecke.de
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 12.9.-31.10. (Croft,  7. Sep 2013, 11:54:52):
+12.09.13 Shalimar - Leopoldstrae 28, Ettlingen
+19.09.13 Beim Griechen - Steinmannstr. 1, Rppurr
+26.09.13 Brayhead - www.brayhead.de
+03.10.13 Punjab - www.punjab-restaurant.de
+10.10.13 La Dolce Vita - www.la-dolcevita.de
+17.10.13 Loewenbraeukeller - www.loewenbraeukeller.de
+24.10.13 San Marco - www.sanmarco-ka.de
+31.10.13 Marianne's Flammkuchen - www.mariannes-flammkuchen.de
+
+Beim 3.10. besteht noch die Moeglichkeit, dass der Stati nicht im Punjab
+sondern
+im Mother India in Markt Schwaben ausgetragen wird.
+
+Beginn wie immer um 20.00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+29.09.2013: Fruehstueck in Bochum (Arathorn, 26. Sep 2013, 00:56:22):
+Hallo zusammen,
+
+am kommenden Sonntag ist endlich wieder ein Stammtisch in Bochum geplant.
+Start ist gegen 11:30 bis 12:00 Uhr, und wir treffen uns wie immer im 
+Mandragora, Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 12.9.-31.10. (Croft,  3. Okt 2013, 11:38:09):
+~#! rn=Croft rt=1378547692 rg=treffen.bekanntmachungen
+~#! tid=1378547692
+Da die Stammtischrunde heute verhaeltnismaessig klein ist, wird der Stammtisch
+ins Seng Sushi verlegt:
+03.10.13 Seng - http://www.seng-sushi.de/
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+13.10.2013: Fruehstueck in Bochum (Arathorn,  8. Okt 2013, 23:32:49):
+Hallo zusammen,
+
+am kommenden Sonntag findet wieder ein Stammtisch in Bochum statt.
+Start ist gegen 11:30 bis 12:00 Uhr, und wir treffen uns wie immer im 
+Mandragora, Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 12.9.-31.10. (Croft, 24. Okt 2013, 15:25:10):
+~#! rn=Croft rt=1380793089 rg=treffen.bekanntmachungen
+~#! tid=1378547692
+Und schon wieder wird der Stammtisch spontan verlegt.  Diesmal ins
+Punjab:
+24.10.13 Punjab - www.punjab-restaurant.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+03.11.2013: Stati in Bochum (Humni, 30. Okt 2013, 16:34:46):
+Liebe Mudgemeinde,
+
+wir werden am Sonntag, dem 03.11., wohl wieder im Mandragora anzutreffen sein.
+
+Ort: Bochum, Mandragora, Bermudadreieck
+Zeit: 12:00 Uhr
+Datum: 03.11.2013
+
+Komment zuhauf.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 7.11.-19.12. (Croft,  4. Nov 2013, 11:54:08):
+07.11.13 Pizzahaus - Rintheimer Strasse 2
+14.11.13 El Taquito - www.el-taquito.de
+21.11.13 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+28.11.13 Jasmin - Marktstr. 16, Ettlingen
+05.12.13 Beim Griechen - Steinmannstr. 1, Rueppurr
+12.12.13 Il Caminetto - Kronenstrasse 5
+19.12.13 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20.00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+10.11.2013: Fruehstueck in Bochum (Arathorn,  9. Nov 2013, 16:13:01):
+Hallo zusammen,
+
+da wir einen auswaertigen Gast begruessen duerfen, haben wir uns entschieden,
+uns morgen ab ca. 12:00 Uhr wieder einmal im Mandragora zu treffen.
+Adresse wie immer Konrad-Adenauer-Platz 1.
+
+Kommet zuhauf! :-)
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+24.11.2013 Bochum (Humni, 23. Nov 2013, 23:13:06):
+Liebe Angehoerigen des Muds,
+Spieler und Seher,
+Magier,
+Goetter!
+
+Es ist wieder an der Zeit.
+
+Wir treffen uns zu einem unglaublichen Brunchstammtisch in Bochum, im
+Mandragora. Dieses unglaubliche Ereignis wird sich am 24.11.2013 ab ca. 11 Uhr
+begeben, wobei viele, so auch der Ersteller des Artikels, erst spaeter kommen
+wird.
+
+Seid befohlen zuhauf zu kommen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 2.1.-20.2. (Croft, 20. Dez 2013, 15:55:48):
+26.12.13 Entfaellt
+02.01.14 Kouros - www.restaurant-kouros.de
+09.01.14 China City - Sushi Bar - Brauerstr. 40, im Filmpalast am ZKM
+16.01.14 San Marco - www.sanmarco-ka.de
+23.01.14 Loewenbraeukeller - www.loewenbraeukeller.de
+30.01.14 Lago Bowling-Center - www.lago-bowling.de
+06.02.14 Shalimar - Leopoldstrasse 28, Ettlingen
+13.02.14 Badisch Brauhaus - www.badisch-brauhaus.de
+20.02.14 El Taquito - www.el-taquito.de 
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 2.1.-20.2. (Croft, 27. Dez 2013, 22:10:04):
+~#! rn=Croft rt=1387551348 rg=treffen.bekanntmachungen
+~#! tid=1387551348
+Der zweite Karlsruher Stammtisch am 2.1.2014 findet uebrigens im
+Landhaus Brunnenhof in Mechernich-Holzheim statt (www.brunnenhof.biz).
+Beginn vermutlich gegen 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA Statis 2.1.-20.2. (Vanion, 27. Dez 2013, 22:44:50):
+~#! rn=Croft rt=1388178604 rg=treffen.bekanntmachungen
+~#! tid=1387551348
+Der Koeln/Bonner Stati tagt uebrigens am 02.01. zusammen mit dem KA Stati.
+Kommet zuhauf.
+
+V*, Ex-Bonner.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 2.1.-20.2. (Croft,  2. Jan 2014, 11:49:05):
+~#! rn=Croft rt=1387551348 rg=treffen.bekanntmachungen
+~#! tid=1387551348
+Da das Kouros heute geschlossen ist, wird der Stammtisch verlegt:
+02.01.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum 19.01.2014 (Arathorn, 18. Jan 2014, 00:17:46):
+Hallo zusammen,
+
+nach einer laengeren Pause findet am kommenden Sonntag wieder ein Stammtisch
+in Bochum statt. Ort des Geschehens ist wie immer das Mandragora im
+Bermudadreieck, Start ist vermutlich so ab 11:30 Uhr oder so, dafuer 
+diesmal mit einem auswaertigen Sondergast. :-)
+
+Kommet zuhauf!
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA Statis 2.1.-20.2. (Croft, 27. Jan 2014, 13:47:16):
+~#! rn=Croft rt=1387551348 rg=treffen.bekanntmachungen
+~#! tid=1387551348
+Und die naechste Aenderung:
+30.01.14 Marktluecke (www.karlsruhermarktluecke.de)
+
+Das Lago wird nach hinten verschoben.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum 16.02.2014 (Arathorn, 13. Feb 2014, 21:23:58):
+Hallo zusammen,
+
+nach einer Pause findet am kommenden Sonntag wieder ein Stammtisch
+in Bochum statt. Ort des Geschehens ist wie immer das Mandragora im
+Bermudadreieck, Start ist vermutlich so ab 11:30 Uhr oder so, dafuer 
+diesmal mit einem auswaertigen Sondergast. :-)
+
+Kommet zuhauf!
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Hamburg 28.03.2014 (Vorankuendigung) (Perdita, 13. Feb 2014, 22:03:46):
+Hallo liebe Mudder aus Hamburg und Umgebung
+Ein paar Ex- oder Nur-noch-selten-Mudder haben beschlossen, mal wieder einen
+Stammtisch zu machen.
+Termin wird am 28. Maerz sein, Zeit und Ort werden noch naeher bestimmt.
+Also merkt euch schonmal den Termin vor
+Liebe Gruesse
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 27.2.-24.4. (Croft, 20. Feb 2014, 23:01:46):
+Und die naechsten neun Termine:
+27.02.14  La Cage - www.lacage.de
+06.03.14  Kouros - www.restaurant-kouros.de
+13.03.14  Marktluecke - www.karlsruhermarktluecke.de
+20.03.14  San Marco - www.sanmarco-ka.de
+27.03.14  Lago Bowling-Center - www.lago-bowling.de
+03.04.14  Shalimar - Leopoldstrae 28, Ettlingen
+10.04.14  Loewenbraeukeller - www.loewenbraeukeller.de
+17.04.14  Beim Griechen - Steinmannstr. 1, Rppurr
+24.04.14  Marianne's Flammkuchen - www.mariannes-flammkuchen.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Hamburg 28.03.2014 (Vorankuendigung) (Perdita, 19. Mar 2014, 20:14:20):
+~#! rn=Perdita rt=1392325426 rg=treffen.bekanntmachungen
+~#! tid=1392325426
+So, liebe Mudder aus dem hohen Norden, langsam wird's ernst...
+Naechste Woche Freitag wollen wir uns in Hamburg treffen.
+Damit ich in etwa weiss, fuer wie viele Personen ich einen Tisch reservieren
+muss, moechte ich euch bitten, euch unter http://doodle.com/6icipdqpuqvcm5n2
+in die Umfrage einzutragen.
+Waere schoen, wenn ich bis zum Wochenende eine ungefaehre Teilnehmerzahl
+haette.
+Genaue Uhrzeit und Ort folgen dann ebenfalls am Wochenende.
+Ich freue mich auf viele Teilnehmer!
+Liebe Gruesse
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stammtisch in Hamburg 28.03.2014 (Vorankuendigung) (Perdita, 24. Mar 2014, 20:53:20):
+~#! rn=Perdita rt=1395256460 rg=treffen.bekanntmachungen
+~#! tid=1392325426
+So, hier nun noch die letzten Daten
+Treffpunkt wie letztes Jahr im Schachcaf Ruebenkamp, Tisch ist ab 19 Uhr
+reserviert.
+Wer sich noch nicht bei doodle eingetragen hat, moege dies bitte
+schnellstmoeglich nachholen!
+Ich freue mich!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stammtisch in Hamburg 28.03.2014 (Vorankuendigung) (Perdita, 24. Mar 2014, 20:54:33):
+~#! rn=Perdita rt=1395690800 rg=treffen.bekanntmachungen
+~#! tid=1392325426
+ach so, Tisch ist auf "Morgengrauen" reserviert. Und es sollte natuerlich
+Schachcafe heissen.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 6.4.2014 (Miril,  5. Apr 2014, 18:13:35):
+Huhu,
+wie meistens erst in letzter Minute hier die Ankuendigung fuer den Bochumer
+Stammtisch:
+Wir treffen uns morgen, d.h. am 6.4.2014 im Mandragora in Bochum. Ab 12 Uhr
+koennte jemand da sein.
+
+Kommet zuhauf.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 1.-15.5. (Croft, 26. Apr 2014, 09:17:06):
+01.05.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+08.05.14 Oishii - www.oishii-karlsruhe.de
+15.05.14 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 27.04. (Humni, 27. Apr 2014, 12:28:44):
+Huhu ihr,
+
+heute (jetzt) ist Stammtisch im Mandragora.
+
+Ja, wir haetten das frueher sagen koennen. Aber wir haben es ueberhaupt getan.
+So.
+
+Bis gleich.
+
+Humni
+nach Diktat verreist
+
+-----------------------------------------------------------------------------
+
+
+
+Berliner MUD-Brunch-StaTi Juni 2014 (Gloinson, 30. Apr 2014, 16:08:39):
+Anlaesslich des gestern im MUD zelebrierten Reboots besuchen wir am
+Pfingstmontag Berlin. Vorgeschobener Grund aus dem Weg: es geht natuerlich
+darum, euch zu treffen und beim Pfingstmontag-Brunch viel zu essen. Vor allem
+letzteres.
+
+Koemmet zu Hauf!
+
+Bitte meldet euch kurz bei mir, wenn ihr zu kommen plant (die bereits
+Angerufenen aussen vor), damit ich dem Laden Zahlen nachmelden kann.
+
+Ort:
+Die Turnhalle
+Holteistr. 6-9
+10245 Berlin
+
+Zeit:
+* ab 10 Uhr auf Becker reserviert, bis 15 Uhr Essen
+  (wir werden gegen 10-11 Uhr da sein und entsprechend abreisen)
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 22.5.-29.6. (Croft, 15. Mai 2014, 23:33:59):
+22.05.14 El Taquito - www.el-taquito.de
+29.05.14 Purino - www.purino.de
+05.06.14 Multi Kulti - www.altebank.de (alternativ Pizzahaus bei schlechtem
+Wetter)
+12.06.14 Kouros - www.restaurant-kouros.de (alternativ Marktluecke bei
+schlechtem Wetter)
+19.06.14 Brayhead - www.brayhead.de
+26.06.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 25.5. (Humni, 24. Mai 2014, 21:07:35):
+Am 25.5. ist Towel Day.
+
+Aus Anlass dieses Tages werden wir Handtuecher anziehen.
+
+Damit gehen wir ins Mandragora und treffen uns dort gegen 12 Uhr.
+
+Wir werden auch andere Dinge tragen.
+
+Aber bestimmt auch Handtuecher.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 22.5.-29.6. (Croft, 28. Mai 2014, 12:19:37):
+~#! rn=Croft rt=1400189639 rg=treffen.bekanntmachungen
+~#! tid=1400189639
+Das Wetter ist morgen als nicht gut genug befunden worden.  Ergo findet
+der StaTi im Pizzahaus statt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA StaTis 22.5.-29.6. (Croft, 29. Mai 2014, 10:22:29):
+~#! rn=Croft rt=1401272377 rg=treffen.bekanntmachungen
+~#! tid=1400189639
+Ah, die Alternativen waren verrutscht:
+29.05.14 Pizzahaus (Rintheimer Strasse 2)
+05.06.14 Multi Kulti - www.altebank.de (alternativ Marktluecke bei schlechtem
+Wetter)
+12.06.14 Kouros - www.restaurant-kouros.de
+19.06.14 Brayhead - www.brayhead.de
+26.06.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA StaTis 22.5.-29.6. (Croft, 26. Jun 2014, 08:29:21):
+~#! rn=Croft rt=1401351749 rg=treffen.bekanntmachungen
+~#! tid=1400189639
+Auf Grund des Spiels heute wird der Stati spontan zu Pardauz nach Hause
+verlegt.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTi 3.7. (Croft, 27. Jun 2014, 09:10:07):
+03.07.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Das Wolfsbraeu wird naechste Woche nachgeholt.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 29.06. (Arathorn, 27. Jun 2014, 23:43:26):
+Hallo zusammen,
+
+dieses WE ist nach einer Pause mal wieder Fruehstuecks-Stati in Bochum.
+Ort: Mandragora, Konrad-Adenauer-Platz 1 (Bermuda-Dreieck).
+Zeit: so ca. ab 12:00 Uhr.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 10.7.-28.8. (Croft,  4. Jul 2014, 11:00:26):
+Die naechsten Termine:
+10.07.14 Marktluecke - www.karlsruhermarktluecke.de
+17.07.14 San Marco - www.sanmarco-ka.de
+24.07.14 Vogel Hausbraeu Ettlingen - www.vogelbraeu.de
+31.07.14 Beim Griechen - Steinmannstr. 1, Rppurr
+07.08.14 Multi Kulti - www.altebank.de
+14.08.14 Shalimar - Leopoldstrae 28, Ettlingen
+21.08.14 FG1 - www.fg-eins.de
+28.08.14 Marktluecke - www.karlsruhermarktluecke.de 
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 10.7.-28.8. (Saray,  5. Jul 2014, 23:25:56):
+~#! rn=Croft rt=1404464426 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Stati am 31. Juli? Gibts in Karlsruhe etwa Leute, die nicht auf Wacken sind?
+:-D
+Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA StaTis 10.7.-28.8. (Gingko, 16. Jul 2014, 09:20:33):
+~#! rn=Saray rt=1404595556 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Ja, meine Gummistiefel haben ein Loch ;-)
+
+Gingko.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 10.7.-28.8. (Gingko, 18. Jul 2014, 13:41:15):
+~#! rn=Croft rt=1404464426 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Der KA StaTi fuer naechste Woche 24.7. wird nach Hattingen verlegt.
+
+Gingko
+
+-----------------------------------------------------------------------------
+
+
+
+Stat in Bochum am 20.7. (Humni, 19. Jul 2014, 21:32:01):
+Liebe Mitmudder,
+
+morgen findet um 12 Uhr ein Brunch im Mandragora statt.
+
+Es wird ein Tisch reserviert sein.
+
+Alle muessen kommen.
+
+Sonst seid IHR das Essen.
+
+Harhar.
+
+Ein Drache
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stat in Bochum am 20.7. (Zook, 20. Jul 2014, 16:38:45):
+~#! rn=Humni rt=1405798321 rg=treffen.bekanntmachungen
+~#! tid=1405798321
+Zu spaet gelesen. Waere knapp geworden. Musste gestern
+Bier trinken, konnte keine MPA lesen.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: KA StaTis 10.7.-28.8. (Croft, 24. Jul 2014, 12:33:11):
+~#! rn=Gingko rt=1405683675 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Wir gehen die Fabrica Hattingen: www.fabbrica-hattingen.de
+Uhrzeit wohl so gegen 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: KA StaTis 10.7.-28.8. (Zook, 24. Jul 2014, 16:32:00):
+~#! rn=Croft rt=1406197991 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Bin wohl rechtzeitig vorher da und komme mit!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: KA StaTis 10.7.-28.8. (Zook, 24. Jul 2014, 16:57:41):
+~#! rn=Zook rt=1406212320 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Naja, mit Zeltaufbau etc. ... Haltet vll. zwei Plaetze fuer mich
+frei; ich komme dann spaeter nach.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 10.7.-28.8. (Croft, 17. Aug 2014, 20:19:06):
+~#! rn=Croft rt=1404464426 rg=treffen.bekanntmachungen
+~#! tid=1404464426
+Da das FG1 im Urlaub ist, gehen wir auf besonderen Wunsch hin zu Marianne:
+21.08.14 Marianne's Flammkuchenwww.mariannes-flammkuchen.de
+
+Bitte Zwecks Reservierung bis Dienstag melden.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum am 31.08.2014 (Arathorn, 28. Aug 2014, 22:36:50):
+Hallo zusammen,
+
+nach laengerer Pause treffen wir uns mal wieder in Bochum zum Fruehstuecks-
+Stammtisch. Wie immer im Mandragora (Konrad-Adenauer-Platz 1).
+Es geht wie immer offiziell um 11:00 Uhr los, aber die ersten Teilnehmer
+werden voraussichtlich erst deutlich spaeter (so um 12:00 rum) eintrudeln.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 4.9.-2.10. (Croft, 28. Aug 2014, 22:39:04):
+Die Stammtischauslosung hat folgende Resultate zu Tage gefoerdert:
+04.09.14 Rim Wang - www.rim-wang.de
+11.09.14 Seng - www.seng-sushi.de
+18.09.14 Punjab - www.punjab-restaurant.de
+25.09.14 San Marco - www.sanmarco-ka.de
+02.10.14 Marktluecke - www.karlsruhermarktluecke.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 9.10.-13.11. (Croft,  3. Okt 2014, 17:43:28):
+Und die naechsten Termine:
+09.10.14 Pizzahaus - Rintheimer Strasse 2
+16.10.14 Shalimar - Leopoldstrae 28, Ettlingen
+23.10.14 Gartenzwerg - www.gartenzwerg-karlsruhe.de
+30.10.14 China City - Sushi Bar - Brauerstr. 40, im Filmpalast am ZKM
+06.11.14 San Marco - www.sanmarco-ka.de
+13.11.14 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 9.10.-13.11. (Croft, 16. Okt 2014, 16:35:23):
+~#! rn=Croft rt=1412351008 rg=treffen.bekanntmachungen
+~#! tid=1412351008
+Das Shalimar hat heute abend zu.  Deswegen geht es kurzfristig ins
+El Taquito (www.el-taquito.de).
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum am 19.10.2014 (Arathorn, 18. Okt 2014, 12:02:43):
+Hallo zusammen,
+
+nach laengerer Pause treffen wir uns mal wieder in Bochum zum Fruehstuecks-
+Stammtisch. Wie immer im Mandragora (Konrad-Adenauer-Platz 1).
+Es geht wie immer offiziell um 11:00 Uhr los, aber die ersten Teilnehmer
+werden voraussichtlich erst deutlich spaeter (so um 12:00 rum) eintrudeln.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fruehstueck in Bochum am 19.10.2014 (Zaphob, 23. Okt 2014, 14:22:20):
+~#! rn=Arathorn rt=1413626563 rg=treffen.bekanntmachungen
+~#! tid=1413626563
+Es waere super, diese Ankuendigungen frueher als 24h vorher zu erhalten, dann
+schaff ichs vielleicht auch irgendwann aus Dortmund vorbeizuschauen (so ich
+ein Transportmittel finde) Danke! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Fruehstueck in Bochum am 19.10.2014 (Arathorn, 23. Okt 2014, 19:33:09):
+~#! rn=Zaphob rt=1414066940 rg=treffen.bekanntmachungen
+~#! tid=1413626563
+Oh, noch ein Dortmunder? Aeh, ja. Wir bemuehen uns fuers naechste Mal. 
+Sorry :-)
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Fruehstueck in Bochum am 19.10.2014 (Zesstra, 24. Okt 2014, 20:21:58):
+~#! rn=Arathorn rt=1414085589 rg=treffen.bekanntmachungen
+~#! tid=1413626563
+Ich schliesse mich Zaphob an. ;-) (Auch wenn es an dem WE jetzt tatsaechlich
+egal war.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 9.10.-13.11. (Croft, 29. Okt 2014, 10:18:41):
+~#! rn=Croft rt=1412351008 rg=treffen.bekanntmachungen
+~#! tid=1412351008
+Der StaTi morgen wird wohl zu Pardauz nach Hause verlegt.  Bitte passend
+bei ihm melden ;-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum, 2.11.2014 (Humni, 30. Okt 2014, 22:31:31):
+Hallo ihr,
+
+am 2.11. (das ist ein Sonntag) wird gegessen. Und zwar Brunch. Und zwar im
+Mandragora, in Bochum. Der Termin ist 11 Uhr, aber es werden wohl so ab 12 Uhr
+Leute da sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+KA Sonder-StaTi 23.12. (Croft,  3. Dez 2014, 14:14:15):
+Auf Grund zweier auswaertiger Gaeste gibt es am 23.12. einen speziellen
+Weihnachtsstammtisch im Brayhead.  Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 8.1.-12.2.15 (Croft, 19. Dez 2014, 16:06:49):
+Am 25.12. wird auf jeden Fall Weihnachtspause mit den Stammtischen gemacht.
+Am 1.1.15 gibt es moeglicherweise einen Sonderstammtisch in der Eifel
+bei Mechernich.  Details folgen gegebenfalls.  Ansonsten geht es im
+naechsten Jahr munter weiter:
+08.01.15 Marktluecke - www.karlsruhermarktluecke.de
+15.01.15 Beim Griechen - Steinmannstr. 1, Rppurr
+22.01.15 Marianne's Flammkuchen - www.mariannes-flammkuchen.de
+29.01.15 Il Caminetto - Kronenstrasse 5
+05.02.15 El Taquito - www.el-taquito.de
+12.02.15 Jasmin - Marktstr. 16, Ettlingen
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstueck in Bochum am 21.12.2014 (Arathorn, 20. Dez 2014, 18:21:36):
+Hallo zusammen,
+
+wir treffen uns zum letzten Bochumer Stati des Jahres 2014 morgen mal wieder
+im Mandragora, Konrad-Adenauer-Platz 1 in Bochum. Es geht wie immer 
+offiziell um 11:00 Uhr los, die ersten werden aber voraussichtlich (wie
+immer) nicht vor 11:30 da sein. ;-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+MG-Stati auf dem 31c3 (Vanion, 28. Dez 2014, 18:59:26):
+~#! on=Vanion ot=1419787317 og=bekanntmachungen
+Liebe Mudder, 
+
+als derzeit diensthabender goettlicher Verkuender gebe ich bekannt:
+Der diesjaehrige MG-Stati findet heute, am 29.12.2014 um 21:00 Uhr in der
+Lobby statt.
+
+Goettlichen Beistand gibt es unter 5755. Ich bin unter 5754 erreichbar.
+
+V*
+PS: Lobby = da wo es (keine) T-Shirts (mehr) gibt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MG-Stati auf dem 31c3 (Vanion, 28. Dez 2014, 19:00:27):
+~#! rn=Vanion rt=1419789566 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Auf vielfachen Wunsch findet das Treffen erst um 21:45 statt.
+
+V*
+PS: Wegen fachlicher Inkompetenz wurde meines Amtes als Herald enthoben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: MG-Stati auf dem 31c3 (Vanion, 29. Dez 2014, 11:28:03):
+~#! rn=Vanion rt=1419789627 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Vielen Dank fuer einen tollen Stammtisch. Es war voller als erwartet. :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: MG-Stati auf dem 31c3 (Vanir, 29. Dez 2014, 12:23:50):
+~#! rn=Vanion rt=1419848883 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Wer war denn alles da? Und viel Spass noch auf dem ccc.
+V.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: MG-Stati auf dem 31c3 (Rumata, 29. Dez 2014, 13:01:58):
+~#! rn=Vanir rt=1419852230 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Hach, wenn Berlin nicht so am Ende der Welt laege... :-)
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: MG-Stati auf dem 31c3 (Chagall, 29. Dez 2014, 13:16:51):
+~#! rn=Rumata rt=1419854518 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Wieso Berlin, die sind doch mittlerweile nach Hamburg ausgewandert.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: MG-Stati auf dem 31c3 (Rumata, 29. Dez 2014, 17:32:20):
+~#! rn=Chagall rt=1419855411 rg=treffen.bekanntmachungen
+~#! tid=1419789566
+Wollte gerade sagen, da waren die doch vor Berlin.
+Sags aber nicht. Aus Gruenden. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Perdita, 11. Feb 2015, 18:23:29):
+Achtung, Sensation!
+Schon nach nur etwa einem Jahr ist schon der naechste Stammtisch in Hamburg
+geplant!
+Angedachter Termin ist Freitag, der 20. Maerz. Details folgen.
+Also, merkt euch den Termin schonmal vor!
+Schoene Gruesse
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 19-26.2. (Croft, 17. Feb 2015, 23:13:31):
+Erstmal nur zwei Lokale:
+19.02.15 Marktluecke - www.karlsruhermarktluecke.de
+26.02.15 Beim Griechen - Steinmannstr. 1, Rppurr
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Aline, 21. Feb 2015, 22:18:41):
+~#! rn=Perdita rt=1423675409 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+
+Da bin ich dann nach fast 11 Jahren doch mal wieder im MUD und dann gibt es
+einen Stammtisch bei mir vor der Haustuer *knuddel*
+Leider am Geburtstag meine Tochter :(.
+Aber so wie es aussieht, werde ich versuchen mich am Abend wegzuschleichen.
+
+GrC<Ce
+Aline
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 5.3.-2.4. (Croft, 27. Feb 2015, 11:08:40):
+Und die naechsten Termine:
+05.03.15 Pizzahaus - Rintheimer Strasse 2
+12.03.15 Shalimar - Leopoldstrae 28, Ettlingen
+19.03.15 Marktluecke - www.karlsruhermarktluecke.de
+26.03.15 San Marco - www.sanmarco-ka.de
+02.04.15 China City - Sushi Bar - Brauerstr. 40, im Filmpalast am ZKM
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 1.3.2015 (Arathorn, 27. Feb 2015, 19:13:43):
+Moin!
+
+Nach einer Pause gibts am kommenden Sonntag mal wieder einen Stammtisch
+in Bochum, wie immer im Mandragora, Konrad-Adenauer-Platz 1, voraussichtlich
+ab 11:30 bis 12:00 Uhr.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Perdita,  1. Mar 2015, 21:24:30):
+~#! rn=Perdita rt=1423675409 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+Der Stammtisch in Hamburg rueckt langsam naeher, Zeit fuer ein bisschen
+Planung!
+Ich habe eine Doodle-Umfrage eingerichtet und moechte euch bitten, euch
+moeglichst im Laufe der kommenden Woche schon einmal einzutragen, damit ich
+(wenn ich aus meinem Kurzurlaub zurueckkomme) schon einmal eine ungefaehre
+Teilnehmerzahl zum Reservieren eines Tisches habe.
+Die Oertlichkeit steht noch nicht 100%ig fest, wird aber vermutlich wieder das
+Schachcafe am Ruebenkamp sein.
+Hier nun der Link zur Doodle-Umfrage
+(hoffe, das hat geklappt)
+
+Kommet zuhauf!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Perdita,  1. Mar 2015, 21:30:55):
+~#! rn=Perdita rt=1425241470 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+hmpf, warum hat das jetzt nicht geklappt?
+Mein olles Programm hat wahrscheinlich mal wieder Probleme mit Sonderzeichen
+wie Schraegstrich oder Doppelpunkt. Hmpf.
+Na gut, dann denkt euch nach dem doodle.com einen schoenen Schraegstrich, und
+setzt dann gp5fkbh54wgvywn8 dahinter.
+Das sollte es hoffentlich tun.
+Perdita
+*ueberihrbloedesProgrammgrummelnd*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Zaphob,  2. Mar 2015, 21:54:01):
+~#! rn=Perdita rt=1425241855 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+Link von Perdita zum Anklicken:
+
+http://doodle.com/gp5fkbh54wgvywn8
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 15.03.2015 (Arathorn, 13. Mar 2015, 23:15:14):
+Huhu!
+
+kommenden Sonntag treffen wir uns mal wieder zum Stati in Bochum, wie
+ueblich im Mandragora, Konrad-Adenauer-Platz 1. Start ist offiziell um 
+11:00 Uhr, die ersten werden aber vermutlich erst gegen 12:00 Uhr dort 
+sein. ;-)
+
+Dieses Wochenende ist sogar ein auswaertiger Gast da, also kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Perdita, 15. Mar 2015, 21:15:04):
+~#! rn=Zaphob rt=1425329641 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+Danke Zaphob fuer das Einstellen des vollstaendigen Links...
+
+Hier kommen jetzt die Daten fuer Freitagabend, 20. Maerz 2015
+Wir treffen uns (mal wieder) im Schachcafe Ruebenkamp, Tisch ist ab 19 Uhr
+reserviert.
+Wer sich noch nicht in die Doodle-Umfrage eingetragen hat, moege das bitte
+bald noch tun.
+Im Schachcafe ist es erfahrungsgemaess sehr voll, das heisst, wenn wir ohne
+Vorankuendigung wesentlich mehr Leute werden sollten, koennte es etwas eng
+werden...
+Ich freue mich auf Freitag!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Vorankuendigung Nordstammtisch in Hamburg 20.03.2015 (Perdita, 15. Mar 2015, 21:16:00):
+~#! rn=Perdita rt=1426450504 rg=treffen.bekanntmachungen
+~#! tid=1423675409
+ach so, der Tisch ist auf "Morgengrauen" reserviert, wollte ich noch gesagt
+haben.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 9.4.-21.5. (Croft,  5. Apr 2015, 10:19:36):
+Und hier die naechsten Lokalitaeten:
+09.04.15 Kouros - www.restaurant-kouros.de
+16.04.15 Pfannenstiel - www.pfannestiel-karlsruhe.de
+23.04.15 Il Caminetto - Kronenstrasse 5
+30.04.15 Loewenbraeukeller - www.loewenbraeukeller.de
+07.05.15 Marktluecke - www.karlsruhermarktluecke.de
+14.05.15 San Marco - www.sanmarco-ka.de
+21.05.15 Shalimar - Leopoldstrae 28, Ettlingen
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 12.04. (Bugfix, 11. Apr 2015, 23:25:20):
+Moin,
+
+Etwas spaet, aber immerhin.
+
+Kommenden Sonntag ist mal wieder Stati im Mandragora in Bochum,
+Konrad-Adenauer-Platz 1.
+
+Beginn ist wie ueblich zwischen 11:00 und 12:00
+
+Kommet zuhauf!
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Stati beim Andreasbraeu am 12.04. (Zook, 12. Apr 2015, 20:49:45):
+Moin! 
+
+Etwas spaet, aber immerhin. Heute ist Stammtisch im Andreasbraeu
+Etwas spaet, aber immerhin. Heute ist Stammtisch im Andreasbraeu in
+Eggenstein-Leopoldshafen. Beginn ca. um 13.00 Uhr.
+
+Croft, Tassram und ich kommen aber ein wenig spaeter.
+
+Kommet zuhauf!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 26.4. (Miril, 26. Apr 2015, 01:00:08):
+
+Huhu,
+
+der allseits beliebte Bochum Stammtisch im Mandragora findet nachher, also am
+26.4. ab 12 Uhr im Mandra statt. Zumindest Humni und Miril sind da.
+
+Kommet zuhauf!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stati Bochum, 10.5.2015 (Humni,  8. Mai 2015, 16:55:18):
+Hallo ihr,
+
+wieder mal ist im Mandragora Stammtisch, und zwar diesmal am 10.5.2015. Wie
+immer ab 11 Uhr, und vermutlich ist der erste so ab 13 Uhr da. Also alles wie
+immer, und zumindest Humni und Miril sind da.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Bochum, 10.5.2015 (Arathorn,  8. Mai 2015, 17:04:47):
+~#! rn=Humni rt=1431096918 rg=treffen.bekanntmachungen
+~#! tid=1431096918
+Argh! Muttertag! Da kann doch um die Zeit keiner laenger als ne halbe Stunde,
+wenn ueberhaupt. :-7
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stati Bochum, 10.5.2015 (Miril,  9. Mai 2015, 22:29:58):
+~#! rn=Humni rt=1431096918 rg=treffen.bekanntmachungen
+~#! tid=1431096918
+Nachtrag:
+
+Wir sind zwar da, aber vermutlich nur kurz, denn dann wollen wir hierhin:
+
+http://www.vaporium-ruhr.de/
+
+Falls das noch wen interessiert, sehen wir uns da morgen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 12.9. (Croft, 22. Mai 2015, 08:28:14):
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am 12. September
+freihalten.  Lokal steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 28.5.-16.7. (Croft, 27. Mai 2015, 07:33:37):
+28.05.15 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+04.06.15 El Taquito - www.el-taquito.de
+11.06.15 Beim Griechen - Steinmannstr. 1, Rppurr
+18.06.15 FG1 - www.fg-eins.de
+25.06.15 Alter Brauhof - www.alterbrauhof.de
+02.07.15 Marktluecke - www.karlsruhermarktluecke.de
+09.07.15 San Marco - www.sanmarco-ka.de
+16.07.15 Zum Elsternest - www.zum-elsternest.de
+
+Beginn wie immer um 20:00
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Save the ... location ... and date..ish. (Vanion, 15. Jun 2015, 21:34:07):
+Liebe Netzgemeinde, 
+
+auch dieses Jahr soll er wieder stattfinden, der (2.) alljaehrliche
+MorgenGrauen-Stammtisch auf dem Chaos Communication Congress im CCH Hamburg.
+Abhaengig vom Vortragsprogramm koennte der Stati am 27.,28. oder 29.12.2015
+stattfinden. Goettlicher Beistand ist nicht voellig ausgeschlossen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum am 20.6. - einem Samstag! (Humni, 20. Jun 2015, 14:39:59):
+Hallo ihr,
+
+voellig unerwartet und ganz anders als sonst und NICHT DEM SCHEMA FOLGEND
+findet heute abend, nach Ruecksprache dreier Erzmagier, der Bochumer
+Stammtisch statt.
+
+NICHT IM MANDRAGORA! Sondern im Vier Winde.
+
+Beginn: 19 Uhr.
+
+Alle kommen dahin. Wer nicht kommt, hat Pech. Und wird gefressen. Sagt Miril.
+Vermutlich darf ich das aber wieder tun.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stati (Miril,  2. Jul 2015, 14:11:37):
+Huhu!
+
+Am Sonntag wollen wir mal wieder ein Fruehstueck im Mandra ausrufen. Zumindest
+Humni und Miril wollen. 
+
+Wo: Mandragora, Bochum
+Wann: Ab 12 (sind vermutlich andere da, aber wir meist erst spaeter).
+
+Kommet zuhauf!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bochumer Stati (Arathorn,  2. Jul 2015, 21:23:28):
+~#! rn=Miril rt=1435839097 rg=treffen.bekanntmachungen
+~#! tid=1435839097
+Hinweis an alle, die mit dem Auto hinfahren: Es ist Bochum Total, d.h.
+der Konrad-Adenauer-Platz ist erschwert zu erreichen. Von Sueden her
+kein Problem, aus allen anderen Richtungen ggf. tricky. Schaut euch vorher
+an, welche Strassen gesperrt sind: http://www.bochum-total.de/anfahrt.html
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA Statis 23.7.-17.9. (Croft, 11. Jul 2015, 16:54:45):
+Hier schon mal die weiteren Orte:
+23.07.15 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+30.07.15 Marktluecke - www.karlsruhermarktluecke.de
+06.08.15 Beim Griechen - Steinmannstr. 1, Rppurr
+13.08.15 El Taquito - www.el-taquito.de
+20.08.15 Pizzahaus - Rintheimer Strasse 2
+27.08.15 Jasmin - Marktstr. 16, Ettlingen
+03.09.15 Seng - www.seng-sushi.de
+10.09.15 Brauhaus Moninger - www.brauhaus-moninger.de
+17.09.15 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stammtisch (Miril, 13. Aug 2015, 20:27:49):
+Huhu,
+
+am Sonntag, den 16.8.2015 treffen wir uns mal wieder im allseits beliebten
+Mandragora am Bermudadreieck. Die Ankunftszeit haengt wie immer von den
+Teilnehmern ab, sprich: die meisten kommen wohl so gegen 12 Uhr, Humni und
+Miril eher etwas spaeter.
+
+Kommet zuhauf.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+KA goes Flammkuchen 12.9. (Croft, 21. Aug 2015, 21:28:30):
+Repost:
+
+Wer mit den ueblichen Karlsruher Verdaechtigen mit ins Elsass zum
+Flammkuchenessen kommen will, moege sich den Samstagabend am 12. September
+freihalten.  Lokal steht noch nicht fest.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum am 30.08. (Arathorn, 29. Aug 2015, 22:37:48):
+Huhu,
+
+am Sonntag, den 30.08.2015 treffen wir uns mal wieder im allseits beliebten
+Mandragora am Bermudadreieck. Die Ankunftszeit haengt wie immer von den
+Teilnehmern ab, sprich: die meisten kommen wohl so gegen 12 Uhr, Humni und
+Miril eher etwas spaeter.
+
+Kommet zuhauf.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA goes Flammkuchen 12.9. (Croft, 29. Aug 2015, 23:51:01):
+~#! rn=Croft rt=1440185310 rg=treffen.bekanntmachungen
+~#! tid=1440185310
+Aktuell ist die Idee mal wieder in die Ecurie du Rhin in Neuhaeusel zu
+gehen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 24.9.-5.11. (Croft, 21. Sep 2015, 21:50:19):
+Wir haben mal wieder gewuerfelt:
+
+24.09.15 FG1 - www.fg-eins.de
+01.10.15 Shalimar - Leopoldstrae 28, Ettlingen
+08.10.15 Marktluecke - www.karlsruhermarktluecke.de
+15.10.15 Beim Griechen - Steinmannstr. 1, Rueppurr
+22.10.15 Wirtshaus Wolfsbraeu - www.wirtshauswolfbraeu.de
+29.10.15 Werkbank - werkbank-karlsruhe.de
+05.11.15 San Marco - www.sanmarco-ka.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Arathorn, 23. Sep 2015, 15:08:25):
+Huhu,
+
+am Sonntag, dem 27.09.2015 treffen wir uns mal wieder im allseits beliebten
+Mandragora am Bermudadreieck. Die Ankunftszeit haengt wie immer von den
+Teilnehmern ab, sprich: die meisten kommen wohl so gegen 12 Uhr, Humni und
+Miril eher etwas spaeter.
+
+Kommet zuhauf.
+
+Gruss, Arathorn
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Dunst,  3. Okt 2015, 20:32:00):
+Hallo :)
+
+w
+sw
+am morgigen Sonntag 04.10.2015 treffen wir uns wieder im Mandragora im
+Bermudadreieck. Ankunftszeit wie immer variabel ab gegen 12 Uhr.
+
+Kommet zuhauf.
+
+Gruss
+Dunst.
+
+-----------------------------------------------------------------------------
+
+
+
+Stati 21.10. in Zesstras Zelt (Zesstra, 20. Okt 2015, 20:15:56):
+Huhu,
+
+ich kuendige mal einen total seltenen Stati an.
+Ich erhalte morgen hohen Besuch und aus eben jenem Anlass findet auch ein
+Stati statt. Und zwar ab 20:00 bei mir zuhause.
+Wer in der Naehe ist, moege sich bitte bei mir melden, was so die weltlichen
+Koordinaten sind. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 12.11.15-7.1.16 (Croft,  6. Nov 2015, 00:25:22):
+So, und hier die naechsten Lokalitaeten:
+12.11.15 Pizzahaus - Rintheimer Strasse 2
+19.11.15 Marktluecke - www.karlsruhermarktluecke.de
+26.11.15 Carls Wirtshaus - www.carls-wirtshaus.de
+03.12.15 Kouros - www.restaurant-kouros.de
+10.12.15 El Taquito - www.el-taquito.de
+17.12.15 FG1 - www.fg-eins.de
+24.12.15 Weihnachtspause
+31.12.15 Silvesterpause(?)
+07.01.16 Marianne's Flammkuchen - www.mariannes-flammkuchen.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stammtisch (Miril,  7. Nov 2015, 15:29:13):
+Morgen, also am 8.11.2015 findet wieder der Bochumer Stammtisch im allseits
+beliebten Mandragora statt. Zumindest Humni, Miril und Jambo werden dort sein.
+Wer noch?
+
+Kommet zuhauf!
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Arathorn, 26. Nov 2015, 22:09:29):
+Hallo zusammen :-)
+
+am kommenden Sonntag, dem 29.11.2015 treffen wir uns wieder im Mandragora
+im Bermudadreieck. Startzeit ist wie immer offiziell ab 11:00 Uhr, die 
+ersten werden aber (auch wie immer) erst ab 12:00 Uhr auftauchen. ;-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 14.1.-25.2. (Croft,  8. Jan 2016, 13:34:08):
+Die naechsten Termine:
+14.01.16 San Marco - www.sanmarco-ka.de
+21.01.16 Loewenbraeukeller - www.loewenbraeukeller.de
+28.01.16 Beim Griechen - Steinmannstr. 1, Rppurr
+04.02.16 Lago Bowling-Center - www.lago-bowling.de
+11.02.16 Marktluecke - www.karlsruhermarktluecke.de
+18.02.16 Rim Wang - www.rim-wang.de
+25.02.16 Pizzahaus - Rintheimer Strasse 2
+
+Das Pizzahaus steht da erstmal unter Vorbehalt.  Mal schauen ob wir noch
+einen anderen Italiener aufsuchen werden.
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum (Humni,  8. Jan 2016, 18:00:01):
+Huhu,
+
+am Sonntag, dem 10.1.2016, wird es Essen geben.
+
+Aber nicht in Essen, auch wenn der Name das suggeriert, sondern eine Stadt
+weiter, in Bochum.
+
+Im Mandragora.
+
+Wie immer ab 11 Uhr. Dann kommt aber noch niemand, also eher so gegen 12. Aber
+der Stammtisch beginnt um 11.
+
+Kommet zuhauf!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch-Planung Hamburg (Perdita,  6. Feb 2016, 13:09:05):
+Hallo liebes Mudder-Volk!
+Wir planen mal wieder einen Stammtisch in Hamburg!
+Termin-Umfrage findet ihr hier:
+http://doodle.com/poll/kfhpr7f8cwy7d4mf
+In ca. 2 Wochen werte ich aus und teile den endgueltigen Termin mit.
+Wir freuen uns auf zahlreiche Teilnahme!
+LG Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+16.5.: Pfingstmonstag in Berlin (Gloinson, 12. Feb 2016, 10:20:26):
+Moinsen,
+
+anlaesslich [eines generischen und erfundenen Grundes] rufe ich fuer
+Pfingstmontag, den 16.5.2016 in Berlin einen StaTi aus.
+Es geht natuerlich wieder einmal darum, nach der Pause 2015 (aber Spanien war
+toll!) alle zu treffen und beim Brunch ganz viel zu essen. Vor allem
+letzteres.
+
+Koemmet zu Hauf!
+
+Bitte meldet euch kurz bei mir, wenn ihr zu kommen plant, damit ich dem
+Laden Zahlen nachmelden kann.
+
+Ort:
+Die Turnhalle
+Holteistr. 6-9
+10245 Berlin
+
+Zeit:
+* ab 10 Uhr auf Becker reserviert, bis 15 Uhr Essen
+
+Gloin(son)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bochumer Stammtisch (Humni, 12. Feb 2016, 20:51:35):
+Hallo ihr,
+
+wie ueblich: Am 14.2.2016 treffen sich Personen im Mandragora zum Behufe des
+Fruehstueckbrunches von anwesenden Person.. nein. Natuerlich von Brunch.
+
+Niemand wird gefressen werden von Drachen. Glaube ich. 11 Uhr gehts los, auch
+wenn dann noch niemand da ist, vermutlich wird es so 12, bis die Leute kommen.
+
+Kommet zuhauf, ihr seid leck... willkommen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: KA StaTis 14.1.-25.2. (Croft, 17. Feb 2016, 23:26:50):
+~#! rn=Croft rt=1452256448 rg=treffen.bekanntmachungen
+~#! tid=1452256448
+Nachdem wir schon letzte Woche auf Grund der Reservierungsblockade statt
+in der Marktluecke im FG1 waren, geht es diese Woche in die Marktluecke.
+Naechste Woche: t.b.d. ob Italiener oder Rim Wang oder was auch immer.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 25.02. und 03.03. (Tassram, 18. Feb 2016, 22:29:47):
+25.02.16 Pizzeria La Terrazza Wachhausstrasse 15 
+         - http://mittagstisch-ka.de/restaurant/la-terrazza/
+03.03.16 Rim Wang - www.rim-wang.de
+
+Tassram
+
+-----------------------------------------------------------------------------
+
+
+
+Nordstammtisch in Hamburg (Perdita, 23. Feb 2016, 17:40:23):
+Hallo allerseits,
+der Termin fuer unseren Nordstammtisch in Hamburg steht jetzt fest!
+Wir treffen uns am Freitag den 1. April (kein Aprilscherz!) um 19.00 Uhr im
+Schachcafe am Ruebenkamp in Hamburg.
+Ich werde einen Tisch auf den Namen Morgengrauen reservieren.
+Weitere Interessierte moegen sich bitte bis etwa eine Woche vorher noch in die
+doodle-Liste eintragen, damit ich eine etwaige Teilnehmerzahl fuer die
+Tischbestellung habe.
+http://doodle.com/poll/kfhpr7f8cwy7d4mf
+Kommet zuhauf!
+Ick freu mir!
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum: 28.02.2016 (Arathorn, 25. Feb 2016, 21:24:25):
+Hallo zusammen,
+
+wir treffen uns am 28.2. im Mandragora, Konrad-Adenauer-Platz, zum
+Fruehstuecks-Brunch-Was-auch-immer-Stammtisch. Wie immer geht's um 11:00 Uhr
+los, aber dann ist wie immer noch keiner da, sondern erst ab 12:00 Uhr 
+oder so in dem Dreh. :-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stammtisch in Bochum: 28.02.2016 (Zesstra, 25. Feb 2016, 22:12:04):
+~#! rn=Arathorn rt=1456431865 rg=treffen.bekanntmachungen
+~#! tid=1456431865
+Wenn der Zug puenktlich ist, bin ich um 11:30 da. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Ka StaTi 10.3. (Gingko,  4. Mar 2016, 14:12:54):
+naechster StaTi in Karlsruhe:
+10.03.16 San Marco - www.sanmarco-ka.de
+
+Gruesze Gingko.
+
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 17.3.-28,4. (Croft, 10. Mar 2016, 23:14:08):
+Die naechsten Lokale:
+17.03.16 Im Schlachthof - imschlachthof.de
+24.03.16 Marktluecke - www.karlsruhermarktluecke.de
+31.03.16 FG1 - www.fg-eins.de
+07.04.16 China City - Sushi Bar - Brauerstr. 40, im Filmpalast am ZKM
+14.04.16 Beim Griechen - Steinmannstr. 1, Rppurr
+21.04.16 Shalimar - Leopoldstrae 28, Ettlingen
+28.04.16 La Terrazza - Wachhausstr. 15
+
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch in Bochum: 13.03.2016 (Arathorn, 12. Mar 2016, 01:22:04):
+Hallo zusammen,
+
+wir treffen uns am 13.3. im Mandragora, Konrad-Adenauer-Platz, zum
+Fruehstuecks-Brunch-Was-auch-immer-Stammtisch. Wie immer geht's um 11:00 Uhr
+los, aber dann ist wie immer noch keiner da, sondern erst ab 12:00 Uhr 
+oder so in dem Dreh. :-)
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nordstammtisch in Hamburg (Perdita, 29. Mar 2016, 19:26:21):
+~#! rn=Perdita rt=1456245623 rg=treffen.bekanntmachungen
+~#! tid=1456245623
+kleine Erinnerung an unseren Nordstammtisch im Schachcafe Ruebenkamp in
+Hamburg am kommenden Freitag, den 1. April um 19 Uhr. Tisch reserviert auf
+Morgengrauen. Kommet zuhauf! Wer sich noch nicht eingetragen hat, moege dies
+bitte noch tun
+http://doodle.com/poll/kfhpr7f8cwy7d4mf
+Bis Freitag
+Perdita
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot tut gut... (Zzestra,  1. Apr 2016, 18:37:37):
+Notstrom hat eine Sicherheitsluecke des Gamedrivers genutzt, um unter
+falschem Namen mehrere Beitraege in der MPA zu verfassen. 
+
+Ich habe den Fehler im Quelltext bereits korrigiert, um einen Reboot 
+komme ich aber nicht herum. Dies wird im Laufe des Abends geschehen.
+
+Bedankt euch bei o.g. Magier. Ueber Konsequenzen werden wir Erzmagier 
+noch beraten.
+
+Zz*
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum (Humni,  1. Apr 2016, 20:33:49):
+Hallo ihr,
+
+wie immer ist es viel zu spaet, um sinnvoll ankuendigen zu koennen, aber wir
+kuendigen trotzdem: Zum Brunchen wird ein Stammtisch in Bochum stattfinden. Am
+3.4.2016. Wie immer im Mandragora, wie immer ab 11 Uhr, und wie immer werden
+ab 12 Uhr Leute kommen, oder so.
+
+Kommet zu Hauf!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Stati in Bochum, 24.04.2016 (Arathorn, 22. Apr 2016, 17:43:51):
+Hallo zusammen,
+
+diesmal verhaeltnismaessig frueh: naechsten Sonntag ist wieder mal ein
+Stammtisch in Bochum, und zwar wie immer im Mandragora, Konrad-Adenauer-
+Platz 1. Wie immer ab 11 uhr, und wie immer werden ab 12 Uhr die ersten
+dort auftauchen.
+
+Kommet zuhauf!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+KA StaTis 5.5.-9.6. (Croft, 30. Apr 2016, 15:06:10):
+Hier die naechsten Lokale:
+05.05.16 FG1 - www.fg-eins.de
+12.05.16 El Taquito - www.el-taquito.de
+19.05.16 San Marco - www.sanmarco-ka.de
+26.05.16 American Diner Durlach - www.diner-durlach.de
+02.06.16 Beim Griechen - Steinmannstr. 1, Rueppurr
+09.06.16 Marktluecke - www.karlsruhermarktluecke.de
+
+Beginn wie immer um 20:00.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Stammtisch-Erinnerung Pfingstmontag 16.5 Berlin (Gloinson, 11. Mai 2016, 19:47:16):
+Moinsen,
+
+das vorhergesagte Wetter scheint zwar nicht fuer den Aussenbereich geeignet,
+wir beissen uns dennoch durch!
+
+Koemmet zu Hauf!
+
+Ort:
+Die Turnhalle
+Holteistr. 6-9
+10245 Berlin
+
+Zeit:
+* ab 10 Uhr auf Becker reserviert, bis 15 Uhr Essen
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
