diff --git a/OLD.kultur b/OLD.kultur
new file mode 100644
index 0000000..43c2af1
--- /dev/null
+++ b/OLD.kultur
@@ -0,0 +1,43350 @@
+Mein Buchtip (Aranya,  6. Nov 1995, 13:56:26):
+Einen Buchtip habe ich schon an in fruehreren Zeiten an dieser Stelle ver-
+braten: John Lennon: Zwei Jungfrauen oder Wahnsinnig in Daenemark. Weiter
+wuerde ich empfehlen: Victor Klemperer: LTI / Ich will Zeugnis ablegen bis
+zum Letzten / Zwiespaeltiger denn je. Klemperer war Philologieprof an
+der Dresdner TH, bis er 1935 als Jude geschasst wurde. Wegen seiner "ari-
+schen" Frau wurde er jedoch nicht in KZ geschickt, sondern blieb in
+Dresden. Ich will Zeugnis ablegen... ist das Tagebuch 1933-45, Zwiespael-
+tiger... das Tagebuch 1945. Sein bekanntestes Werk ist jedoch LTI (Lingua
+Tertii Imperii - die Sprache des Dritten Reiches), in der er als scharf
+beobachtender Zeitgenosse und als Philologe die Veraenderungen im Verhal-
+ten und in der Sprache beschreibt. Einige interessante Vergleiche mit heu-
+te sind moeglich und angebracht...
+Weiterhin lese ich mal wieder C.W. Ceram: Goetter Graeber und Gelehrte.
+Der Roman der Archaeologie. Wenngleich etwas veraltet (im Grossteil Stand
+40er und 50er Jahre), erzaehlt Ceram hervorragend lesbar und doch fach-
+lich fundiert ueber die Abenteuer und Geheimnisse der Archaeologie. Ein
+Buch nicht nur fuer Archaeologiestudenten.
+In der heutigen (montaeglichen) Ausgabe der Sueddeutschen ist in dem Ju-
+gendmagazin Jetzt eine Lesenswert-Liste abgedruckt, die ein paar interes-
+sante Empfehlungen enthaelt (eine von mir... Ratet mal und MUDmail an mich).
+Qualitativ hochwertige Buecher findet man auch in der SWF-Bestenliste.
+Dort schreiben - glaube ich - zehn Kritiker ihre Monatsempfehlung auf.
+Das Literarische Quartett ist IMHO geschlossen dabei.
+So. Jetzt habt ihr wieder genug zu lesen.
+Aranya
+      guckt vom Buch auf
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mein Buchtip (Aranya,  6. Nov 1995, 13:58:17):
+#! rn=Aranya rt=815662586
+Ach ja, genauere Angaben ueber die Buecher erteil ich gerne auf Anfrage
+
+Aranya
+      NNN
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Li,  7. Nov 1995, 09:14:44):
+
+1) Der Wurm Ouroboros   /E.R. Eddings
+
+   Viele Buecher, die mit dem "Herr der Ringe" verglichen werden, kommen an
+   das grosse buch der Fantasy nicht heran. Bei dem Wurm ist das anders. Man
+   kann es auch nur in einer Sache mit den HdR vergleichen: Die Sprache.
+   Wenn es ein Buch gibt, das noch mehr epische Tiefe hat, das noch mehr
+   einen archaischen Eindruck erweckt, so ist es der Wurm. Eddings benutzt
+   in seinem Buch teilweise sehr altes Englisch, um die Unterschiede der
+   beiden Hauptrassen zu beschreiben. Das buch galt lange Zeit als
+   unuebersetzbar, bis letztes Jahr dann eine deutsche Uebersetzung vorlag.
+   Auch im Wurm gibt es Berichte aus der "Altvorderenzeit", die im deutschen
+   teilweise in mittelhochdeutsch geschrieben wurden, um das alte Englisch
+   zu simulieren.
+   Zum Inhalt: Zwei Rassen fuehren Krieg: Auf der eine Seite der grausame
+   und zauberkundige Gorice von Hexenland und seine Mannen, auf der anderen
+   Seite der Fuerst Juss. Ihm zur Seite stehen viele wackere Helden, unter
+   anderem der groesste Held: Goldry Blusco. Und gerade Blusco wird kurz vor
+   einer wichtigen Schlacht von Daemonen entfuehrt. Ohne ihren wichtigsten
+   Helden haben Fuerst Juss und seine Getreuen keine Chance gegen ihre
+   Gegner. Also macht sich Fuerst Juss auf, seinen Freund zu befreien. aber
+   der ist auf dem hoechsten Berg der Welt gefangen, ein Berg, den noch kein
+   Sterblicher je erklommen hat.
+   Dieses Buch will ich allen ans Herz legen, denen am HdR besonders
+   folgende Sachen gefallen haben: die epische Sprache, die erzaehlerische
+   Dichte, die Charaktarisierung der Helden. Versteht mich nicht falsch:
+   Ich finde das Buch nicht besser als den HdR, mna kann sie auch vom
+   Inhalt her nicht vergleichen, aber sie sind sich doch in Sprache und
+   Anlage aehnlich, da beide Autoren aus den selben Quellen geschoepft
+haben:
+   den alten Heldensagen und -epen des noerdlichen Europas.
+
+
+Li (wuenscht viel Spass beim lesen)
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip II (Li,  7. Nov 1995, 09:45:07):
+
+Der Spiegel ihrer Traeume/Einer reitet durch    Stephen R. Donaldson
+
+   Zwei Buecher fuer Leser, die Intrigen, Spannung, undurchschaubare
+   Charaktere und eine nette Liebesgeschichte moegen. Donaldson, bekannt
+   geworden durch seinen Thomas Covenant Zyklus, legt hier ein Meisterwerk
+   vor: Es ist die Geschichte der entschlusslosen Terisa Morgan, die sich
+   jeden Tag von Neuem ihres Daseins nur dadurch versichern kann, in dem
+   sich sich im Spiegel betrachtet und sich sicher ist, dass sie noch da
+   ist. Eines Tages tritt ploetzlich ein junger Mann durch diesen Spiegel
+   hindurch, behauptet, er sei gekommen um sie in sein Land zu holen, da
+   ein Orakel geweissagt habe, sie sei die Rettung seines Landes.
+   Mehr aus Neugier ob der junge Mann spinne, folgt sie ihm und landet mit
+   ihm tatsaechlich in einen Land, dass kurz vor einer Katastrophe steht:
+   Fremdartige Monster aus anderen Dimensionen bedrohen das Land, der einst
+   so starke Koenig hat sich in einen schwachsinnigen Greis verwandelt, der
+   nur noch eine Leidenschaft hat: Das Damespielen.
+   Zum Uebel kommt noch hinzu, dass beide Nachbarlaender jeweils eine
+   grosse Armee in Marsch gesetzt haben, um das schwache koenigreich
+   zwischen ihnen zu schlucken...
+   In dieses Chaos stuerzt Terisa, alle verlangen entscheidungen von ihr,
+   aber keine Partei offenbart iht gegenueber seine Plaene. So wird sie
+   gezwungen, eigene Entscheidungen zu treffen.
+   Was der Reiz dieses buches ausmacht, ist nicht nur die spannende
+   Handlung, sondern auch die Erzaehlweise. Zwar ist das Buch keine Ich-
+   Erzaehlung, aber es ist dennoch aus der Sicht Terisas geschrieben. Der
+   Leser weiss also immer nur genausoviel wie sie, und immer wenn sie etwas
+   Neues entdeckt, geht auch dem Leser ein Licht auf.
+   Zwei Buecher, die von Anfang bis Ende spannend sind, und mehr als einmal
+   vollzieht die Handlung ueberraschende Wendungen...
+
+
+Weitere Buchtips, die ich aber nicht naeher erlaeutern moechte (Nciht weil
+sie schlechter sind, sondern weil ich keine Lust mehr habe, mit die Finger
+wund zu tippen.)
+
+Das Parfum/Patrick Suesskind                      (Geschichtsroman/Fantasy)
+
+Gott schuetze dieses Haus/Elisabeth George        (Krimi)
+
+Inspector Jury schlaeft ausser Haus/Martha Grimes (Krimi)
+
+Die Bruecke der Voegel/Barry Hughart              (Fantasy)
+
+Krabat/Ottfried Preussler                         (Maerchen/Fantasy)
+(nicht lachen, wenn Preusller auch als kinderbuchautor bekannt geworden
+ist, und Krabat auch als Jugendlichenbuch konzipiert ist, so ist es auch
+fuer jedes Alter ein tolles Buch (man denke in diesem zusammenhang an
+"Der kleine Hobbit")
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtips (Alboin,  7. Nov 1995, 13:05:04):
+Weil ich in letzter Zeit das Bett hueten musste bin ich auch mal wieder zum
+lesene gekommen.Das Buch was ich hier gerade verschlinge heisst 'Alexis
+Sorbas' von Nikos Kazantzakis.
+Alexis Sorbas ist eine der grossen Gestalten der modernen Weltliteratur, ein
+Mann mit dem man weint und lacht, bei dem sich Optimismus, Nachdenklichkeit,
+Menschenliebe, Vitalitaet und manchmal auch etwas Misanthropie zu einer
+Persoenlichkeit von fast archaischem Ausmass zusammenfuegen.
+Der Erzaehler, ein welfremder Schriftsteller, der durch seine Wanderung durch
+verschiedene philosophische Systeme keine Zugang zur Realitaet gefunden hat,
+kann erst durch Sorbas finden was ihm bisher versagt blieb: das Gefuehl und
+die Erkenntnis, in der Welt zu Hause zu sein.Auf Kreta lehrt ihn Sorbas, das
+Leben zu lieben und den Tod nicht zu fuerchten, lehrt ihn die Sprache des
+Tanzes die Leben ausdrueckt, lehrt ihn in schwierigen Situationen Mut zu
+beweisen; denn keiner ist wie er faehig, die einfachen Dinge zu geniessen :die
+Liebe, das Spiel, die Arbeit.
+Am besten ihr lest es selbst einmal, vor allem fuer solche Melancholiker und
+Rationalisten wie mich ;-) ist es Pflicht.Leider weiss ich nicht in welchem
+Verlag das Buch derzeit zu haben ist.Bei mir ist es eine alte Ausgabe aus dem
+'verlag Volk und Welt'
+
+Ciao Euer Albi
+
+P.S. Und noch was den 'Kleinen Prinzen' von Antoine de Saint-Exupery sollte
+man sich immer mal wieder zur Hand nehmen - einfach suess :-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchtips (Troubadix,  7. Nov 1995, 18:23:01):
+#! rn=Zardoz rt=815411855
+
+Das Gedicht erinnert mich an eine Anzeige, die mein frueherer WG-Genosse (wie
+ich Mathematiker) und ich einmal in einem Kieler Stadtmagazin aufgegeben
+haben, um uns ueber die vielen esoterischen Anzeigen lustig zu machen. Ich
+glaube, sie lautete in etwa so:
+Involutorische Bewegungen lassen Dich die Charakteristik Deines Koerpers
+erkennen. Givens-Rotationen helfen Dir beim Loesen von Eigenwertprobelemen.
+Erlebe die stabilisierende Wirkung von Bewegungsgruppen!
+
+Wir haben darauf uebrigens nur von einem Interessenten Antwort bekommen.
+Deshalb mussten wir ihm mitteilen, dass unsere Bewegungsgruppe aufgrund zu
+geringer Elementezahl leider aufgeloest werden musste. :)
+
+Ciao, Troubadix.
+
+-----------------------------------------------------------------------------
+
+
+
+buchtip-anmerkungen (Li,  8. Nov 1995, 09:29:39):
+Hi!
+Ich war wohl gestern etwas muede, sonst waere mir das nicht pasiert:
+der autor des Wurm Ouroboros heisst nicht Eddings(den gibt es naemlich auch)
+sondern Eddison: E.R.Eddison
+
+Bei meinen Krimivorschlaegen habe ich jeweils nur das Erste genannt,
+empfehlen kann ich alle Krimis von Elisabeth george und Martha Grimes! sie
+sind alle Spitze.
+
+Dann Habe ich noch Robert van gullik vergessen. Lange bevor durch Der Name
+der Rose "Geschichtskrimis" modern wurden, schieb er in den 60ern die buecher
+um Richter Di. Richter Di ist ein Richter im alten China, zur Zeit der
+Tang-Dynastie (ca. 700 n.Chr.). Da im alten China der richter auch
+gleichzeitig der Untersuchungsbeamte war, kommen viele geheimnisvolle,
+spannende Krimis zustande. Im gegensatz zu Barry hugharts romanen um Meister
+Li, sind die Richter Di Geschichten reine Krimis, die allerdings die Zeit der
+Tang so exakt zeichenen, wie es nur moeglich ist. RvG war ein profunder
+Chinakenner, und das macht sich natuerlich in den wie recherchiert
+erscheinenden buechern bemerkbar.
+
+Li (schwaermt nicht als Fernwestler von richter di, sondern als Krimileser)
+
+-----------------------------------------------------------------------------
+
+
+
+Der Rabe (Li,  8. Nov 1995, 11:24:50):
+Hi!
+Hier mal ein Gedicht, dass etwas laenger ist. Es ist von E.A.Poe, der nicht
+nur brilliante Geschichten geschrieben hat, sondern auch brilliante Gedichte.
+hier sein bekannteste:
+(Ach so, ne deutsche Uebersetzung liefre ich noch nach.)
+
+
+
+THE RAVEN
+
+Once upon a midnight dreary, while I pondered, weak
+and weary,
+Over many a quaint and curious volume of forgotten
+lore--
+While I nodded, nearly napping, suddenly there came a
+tapping,
+As of some one gently rapping, rapping at my chamber
+door.
+"'T is some visitor," I muttered, "tapping at my chamber
+door--
+     Only this and nothing more."
+
+Ah, distinctly I remember it was in the bleak December;
+And each separate dying ember wrought its ghost upon
+the floor.
+Eagerly I wished the morrow; - vainly I had sought to
+borrow
+From my books surcease of sorrow - sorrow for the lost
+Lenore--
+For the rare and radiant maiden whom the angels name
+Lenore--
+      Nameless here for evermore.
+
+And the silken, sad, uncertain rustling of each purple
+curtain
+Thrilled me--filled me with fantastic terrors never felt
+before;
+So that now, to still the beating of my heart, I stood
+repeating,
+"'T is some visitor entreating entrance at my chamber
+door--
+Some late visitor entreating entrance at my chamber
+door;--
+       This it is and nothing more."
+
+Presently my soul grew stronger; hesitating then no			
+longer,			
+"Sir," said I, "or Madam, truly your forgiveness I			
+implore;			
+But the fact is I was napping, and so gently you came	
+rapping,			
+And so faintly you came tapping, tapping at my chamber
+door;			
+That I scarce was sure I heard you" - here I opened wide
+the door;--		
+       Darkness there and nothing more.			
+
+Deep into that darkness peering, long I stood there
+wondering, fearing,	
+Doubting, dreaming dreams no mortal ever dared to
+dream before;
+But the silence was unbroken, and the stillness gave no
+token,
+And the only word there spoken was the whispered word,
+"Lenore ?"
+This I whispered, and an echo murmured back the word,
+"Lenore !"
+       Merely this and nothing more.	I		
+
+Back into the chamber turning, all my soul within me
+burning,			
+Soon again I heard a tapping somewhat louder than
+before.		
+"Surely,"; said I, "surely that is something at my window	
+lattice;
+Let me see, then, what thereat is, and this mystery
+explore--
+Let my heart be still a moment and this mystery
+explore;--
+      'T is the wind and nothing more !"
+
+Open here I flung the shutter, when, with many a flirt and
+flutter,
+In there stepped a stately Raven of the saintly days of
+yore;
+Not the least obeisance made he; not a minute stopped or
+stayed he;
+But, with mien of lord or lady, perched above my
+chamber door--
+Perched upon a bust of Pallas just above my chamber
+door--
+      Perched, and sat, and nothing more.
+
+Then this ebony bird beguiling my sad fancy into smiling,
+By the grave and stern decorum of the countenance it
+wore,
+"Though thy crest be shorn and shaven, thou," I said,
+"art sure no craven,
+Ghastly grim and ancient Raven wandering from the
+Nightly shore--
+Tell me what thy lordly name is on the Night's Plutonian
+shore !"
+      Quoth the Raven, "Nevermore."
+
+Much I marvelled this ungainly fowl to hear discourse so
+plainly,
+Though its answer little meaning - little relevancy bore;
+For we cannot help agreeing that no living human being
+Ever yet was blessed with seeing bird above his chamber
+door--
+Bird or beast upon the sculptured bust above his chamber
+door,
+     With such name as "Nevermore."
+
+But the Raven, sitting lonely on the placid bust, spoke
+only
+That one word, as if his soul in that one word he did
+outpour.
+Nothing farther then he uttered - not a feather then he
+fluttered--
+Till I scarcely more than muttered, "Other friends have
+flown before--
+On the morrow he will leave me, as my Hopes have flown
+before."
+      Then the bird said, "Nevermore."
+
+Startled at the stillness broken by reply so aptly
+spoken,
+"Doubtless," said I, "what it utters is its only stock and
+store
+Caught from some unhappy master whom unmerciful
+Disaster
+Followed fast and followed faster till his songs one
+burden bore--
+Till the dirges of his Hope that melancholy burden bore
+       Of 'Never - nevermore.' "
+
+But the Raven still beguiling my sad fancy into smiling,
+Straight I wheeled a cushioned seat in front of bird and
+bust and door;
+Then, upon the velvet sinking, I betook myself to linking
+Fancy unto fancy, thinking what this ominous bird of
+yore--
+What this grim, ungainly, ghastly, gaunt, and ominous
+bird of yore
+       Meant in croaking "Nevermore."
+
+This I sat engaged in guessing, but no syllable expressing
+To the fowl whose fiery eyes now burned into my
+bosom's core;
+This and more I sat divining, with my head at ease
+reclining
+On the cushion's velvet lining that the lamp-light gloated
+o'er,
+But whose velvet-violet lining with the lamp-light
+gloating o'er,
+       She shall press, ah, nevermore !
+
+Then, methought, the air grew denser, perfumed from an
+unseen censer
+Swung by seraphim whose foot-falls tinkled on the tufted
+floor.
+"Wretch," I cried, "thy God hath lent thee - by these
+angels he hath sent thee
+Respite--respite and nepenthe from thy memories of
+Lenore;
+Quaff, oh, quaff this kind nepenthe and forget this lost
+Lenore !"
+       Quoth the Raven, "Nevermore."
+
+"Prophet!" said I, "thing of evil!--prophet still, if bird
+or devil !--
+Whether Tempter sent, or whether tempest tossed thee
+here ashore,
+Desolate yet all undaunted, on this desert land
+enchanted--
+On this home by Horror haunted--tell me truly, I
+implore--
+Is there--is there balm in Gilead?--tell me--tell me, I
+implore !"
+       Quoth the Raven, "Nevermore."
+
+"Prophet 1" said I, "thing of evil --prophet still, if bird	
+or devil!	
+By that Heaven that bends above us--by that God we		
+both adore--		
+Tell this soul with sorrow laden if, within the distant		
+Aidenn,		
+It shall clasp a sainted maiden whom the angels name		
+Lenore--	
+Clasp a rare and radiant maiden whom the angels name	
+Lenore."	
+      Quoth the Raven, "Nevermore.
+
+"Be that word our sign of parting, bird or hend !" I	
+shrieked, upstarting--	
+"Get thee back into the tempest and the Night's		
+Plutonian shore !	
+Leave no black plume as a token of that lie thy soul hath		
+spoken !	
+Leave my loneliness unbroken!--quit the bust above my		
+door !		
+Take thy beak from out my heart, and take thy form from		
+off my door !"		
+      Quoth the Raven, "Nevermore."		
+
+And the Raven, never flitting, still is sitting, still is sitting	
+On the pallid bust of Pallas just above my chamber door;		
+And his eyes have all the seeming of a demon's that is	
+dreaming,		
+And the lamp-light o'er him streaming throws his shadow	
+on the floor;	
+And my soul from out that shadow that lies floating on
+the floor	
+      Shall be lifted--nevermore !	
+
+
+
+(Uebrigens, der Zeilenumbruch ist kein Fehler von mir.)
+
+-----------------------------------------------------------------------------
+
+
+
+Noch n Buchtip von mir (Aranya,  8. Nov 1995, 15:20:27):
+Ein Buch hab ich noch vergessen... Tststs!
+Herbert (?) Rosendoerfer, Briefe in die chinesische Vergangenheit, dtv.
+
+Ein recht vergnuegliches Buch (ich habe es an einem Abend geschafft, laesst
+sich sehr gut lesen) ueber unsere jetzige Welt aus einer Distanz.
+Der Plot: Ein chinesischer Mandarin aus dem Ende des 10. Jahrhunderts hat
+eine Zeitreisemaschine erfunden. Damit will er 1000 Jahre in die Zukunft
+reisen. Dummerweise uebersieht er die Erdrotation und landet im Muenchen
+der Endachziger. Er schreibt seinem Freund Kao Tai Briefe auf speziellem
+Zeitreisepapier und diese kann man nun lesen. Mit gewissen Startschwierig-
+keiten findet sich der Mandarin in der heutigen Welt zurecht, zumal er einen
+Geschichtsdozenten findet, der ihn an- und aufnimmt und ihm die Welt er-
+klaert. Es ist ganz witzig zu sehen, wie er versucht, anhand der Kwei-Wa-Ta
+(Krawatten) die Rangunterschiede abzulesen und ob die Frauen Regenschirme
+in den Farben der Kwei-wa-ta ihrer Maenner haben. Die A-tao-Waegen hat er
+schnell durchschaut und auch sonst zeigt er nicht grosse Verwunderung ueber
+die technisierte Gesellschaft.
+Das Buch besticht durch eine ziemlich profunde Kenntnis der chinesischen
+Gesellschaft zu Ende des letzten Jahrtausends, wird aber wenn es in Richtung
+Umweltschutz und Religion geht meines Erachtens zu moralisierend. Darueber
+hinaus ist es aber durchaus zu empfehlen.
+
+A-ran-ya
+NNN
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch n Buchtip von mir (Li,  9. Nov 1995, 08:09:59):
+#! rn=Aranya rt=815840427
+Tja, dieses Buch:
+Der Kritikpunikt Aranyas ( zu moralisierend) war fuer mich der Grund, es
+nicht in meinen buchtips aufzunehmen. am anfang ist es ziemlich witzig, als er
+A-Tao-Wagen, Da Wing Do (Davidoff-Zigarren!) und Mo Te Schan Dong (ein
+Prickelwasser) kennenlernt. Aber sobald sich der Besucher etwas eingelebt hat,
+hebt sich der moralisierende Zeigefinger. Und der senkt sich auch nicht mehr.
+nun, nichts gegen Gesellschaftskritik, aber nicht so!
+Meine meinung zum Buch: Ausleihen, da ganz witzig (und die fremde Sichtweise
+sehr interessant) fuer den Kauf zu Schade.
+Wenn ich schon dabei bin, buecher zu verreissen: Das Foucault'sche Pendel von
+Umberto Eco erscheint mir wie ein billiger Abklatsch der
+Illumminatus-Trilogie, aber mmit weniger Inhalt. nicht zu vergleichen mit Der
+Name der Rose.
+
+Li (wartet aud die gegenteilige Meinung)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch n Buchtip von mir (Aranya, 14. Nov 1995, 16:48:16):
+#! rn=Li rt=815900999
+*klatsch li zu*
+
+Aranya
+NNN
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip II (Caradhras, 15. Nov 1995, 00:07:05):
+#! rn=Li rt=815733907
+Ich kann mich uebrigens Li nur anschliessen in seiner Meinung ueber
+Krabat, meines Empfindens nach (IMHO ;-) eines der besten Buecher, die
+es gibt. Mit dem Herrn der Ringe und 'aehnlichem' kann man es sicher
+nicht vergleichen, aber schon wer gerne Maerchen liest, MUSS dieses
+Buch sich antun.
+
+           tschoe       Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchtip II (Lwaxana, 15. Nov 1995, 15:42:51):
+#! rn=Caradhras rt=816390425
+Was haltet ihr eigentlich von der Unendlichen Geschichte? das buch
+wohlgemerkt, die Filme sind ja ganz nett, aber meiner Meinung nach kommen sie
+nicht mal im entferntesten an das Buch ran. Ich finde naemlich dieses Buch als
+mit das beste, was ich je gelesen habe...
+
+Krabat ist uebrigens auch ziemlich genial, muss ich sagen...
+
+
+Lwaxana liebt Maerchen und verschlingt Buecher haufenweise...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip II (Roadrunner, 15. Nov 1995, 15:59:00):
+#! rn=Lwaxana rt=816446571
+Unendliche Geschichte ....
+Hab das Buch grade mal wieder gelesen. Ich finds genial. Den Film hab ich mir
+NICHT angetan - daher fehlt mir die Beurteilungsgrundlage. Liegt wohl daran
+dass ich MOMO auch zuerst gelesen und dann den Film gesehen hab. Dort ist es
+zwar nett umgesetzt, entspricht aber bei weitem nicht meiner vorstellung die
+ich beim Lesen des buchs entwickelte.
+
+Bei den Filmen geht, wie ich meine, die philosophische und die Mutmach -
+aussage der Buecher ziemlich drauf. Ganz abgesehen davon dass ich gerne lese
+und meine Bilder selber entwickle. Das ist ja auch ein ganz wesentlicher Punkt
+bei der aussage der Undendlichen Geschichte.
+
+Krabat ...
+
+Schon lange her dass ichs las. Ich fand es damals spannend, aber aufgrund der
+Handlung auch etwas bedrueckend. Muesste es mal wieder zur Hand nehmen.
+Was fuer das Buch spricht ist, dass ich mir die Handlung davon bis heute in
+etwa merken konnte.
+
+			Roadrunner
+P.S. Hab mir grade mal wieder den Herr der Ringe rausgekramt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip II (Acrimon, 16. Nov 1995, 01:20:02):
+#! rn=Lwaxana rt=816446571
+Die Filme sind eine Beleidigung fuer das Buch "Unendliche Geschichte".
+Wer die Filme gesehen hat, der wird nie eine richtig eigene schoene Phantasie
+fuer das Buch entwickeln koennen.
+Ich habe zuerst das Buch gelesen - absolut spitze!
+Und dann in die Filme hineingeschaut - im Vergleich sind die Filme absolut
+kitschig, und saemtliche Denkanregungen und Weisheiten des Buchs sind in den
+Filmen ersatzlos gestrichen!
+
+Haette es nur die Filme nie gegeben.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip II (Li, 16. Nov 1995, 09:12:24):
+#! rn=Lwaxana rt=816446571
+Also ich fand Unendliche Geschichte ziemlich schwach, lag wahrscheinlich
+daran, dass ich so viel von dem Buch gehoert hatte, und dann war es nicht halb
+so gut, wie ich es mir vorgestellt hatte. Lag vieleicht daran, dass mir die
+moral des buches doch zu platt rueberkam.
+Wenn schon aus Fantasy Maeerchen oder Fabel wird, dann aber bitteschoen
+richtig, und nicht so platt wie bei Ende (kennt jemand Stein und Floete v.
+Heinz Bemman? Schoenes, stimmungsvollen buch zwischen fantasy und Maerchen)
+
+Li (fand Momo 1000mal besser als Unendliche Geschichte)
+
+-----------------------------------------------------------------------------
+
+
+
+Das Siegel (Creative, 16. Nov 1995, 09:15:54):
+
+Geniales Buch:
+Wolfgang Holbein, Das Siegel.
+
+Geht um nen jungen Kreuzritter, der auszieht, um Abenteuer zu erleben.
+War ja damals so ueblich. Die Geschichte, die sich dann eigentlich drum
+strickt ist mehr als genial.
+Mehr will ich gar net verraten - lesen fesselt immens!
+Eins noch... die historischen Tatsachen, auf denen das Buch beruht, sind
+ziemlich gut ausgekluegelt, wie bei Holbein immer. Wenn man sich also fuer
+die Zeit ein wenig interessiert (Kreuzfahrer und so), dann ist das Buch
+zusaetzlich auch von den historischen Ereignissen eine gute Lektuere.
+Schaut mal rein...
+
+-Crea- (hat das Buch binnen 1,5 Stunden durchgehabt)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Siegel (Highlander, 16. Nov 1995, 09:23:27):
+#! rn=Creative rt=816509754
+In 1:30? Das ist kein Buch fuer mich, fuerchte ich, ich brauch
+welche, an denen ich etwas laenger lesen kann :>
+Zum Beispiel das Buch Magician von Raymond Feist.
+Ein schoen geschriebener Schmoeker (es gibt ihn in zwei Buechern,
+M:Apprentice und M:Master oder als Magician, in neuer Ausgabe ohne Kuerzungen
+inzwischen).
+Es geht um zwei Freunde, ein Magierlehrling und ein Kriegerlehrling (am
+Anfang zumindest), die in den Riftwar hineingezogen werden, in dem Midkemia
+von den Tsurani, starken Kriegern von einer anderen Welt mit eigenartigem
+Ehrenkodex, angegriffen wird. Ihre Geschichte wird ueber etwa zehn Jahre
+oder so erzaehlt, und mehr will ich an sich hier nicht schreiben, weil ich
+ja nicht das Buch erzaehlen will, ihr solltet das selber tun :>
+Es gibt auch ein paar Buecher, die erzaehlen, was spaeter passiert,
+namentlich (mit den gleichen Personen) Silverthorn und A Darkness at
+Sethanon.
+Wie ihr wahrscheinlich gemerkt habt, habe ich die Buecher auf Englisch,
+schoenen Gruss von books.com und Palm&Enke :>
+Bye,
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Creative, 16. Nov 1995, 09:24:11):
+#! rn=Highlander rt=816510207
+
+Das Buch hat ca 700 Seiten :)
+
+-Crea- (konnte die Lesezeit nicht ganz glauben)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip II (Throin, 16. Nov 1995, 09:53:17):
+#! rn=Lwaxana rt=816446571
+Hm, die unsaeglichen 'Unendliche Geschichte'-Filme als ganz nett zu
+bezeichnen finde ich etwas gewagt, aber das Buch ist wirklich genial. (gilt
+genauso fuer Krabat! Dank an Ancalagon, ders mir mal geliehen hat.)
+Desweiteren kann ich auch noch ein paar Sachen empfehlen:
+Fuer Krimifreunde: Natuerlich Raymond Chandler und Dashiel Hammett (die
+Buecher sind meiner Meinung nach sogar besser als die Filme). Ansonsten kann
+ich auch nur Tony Hillerman empfehlen. Seine Krimis spielen bei der Navaho
+Tribal Police und sind meiner Meinung nach extrem spannend, nicht zuletzt auch
+durch den Einblick, den man in die Kultur der Navahos erhaelt.
+Fuer Sci-Fi-Freunde: Auf jeden Fall empfehlenswert: Jack Vance!!!! (Alastor,
+Cadwal-Chroniken, Lyonesse-Zyklus, etc.) Keiner beschreibt fremde Welten und
+Kulturen so schoen wie der 'Erfinder des intergalaktischen Heimatromans'.
+Diverse Auszeichnungen mit 'Hugo' und 'Nebula' beweisen das.
+Fuer Sci-Fi-Freunde: Auf jeden Fall empfehlenswert: Jack Vance!!!! (Alastor,
+Cadwal-Chroniken, Lyonesse-Zyklus, etc.) Keiner beschreibt fremde Welten und
+Kulturen so schoen wie der 'Erfinder des intergalaktischen Heimatromans'.
+Diverse Auszeichnungen mit 'Hugo' und 'Nebula' beweisen das.
+Braumeister Throin (koennte zur Not sogar ohne Bier auskommen, aber NICHT
+ohne Buecher)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Siegel (Li, 16. Nov 1995, 09:57:27):
+#! rn=Creative rt=816509754
+Crea* sorry, nichts gegen dich, aber dass muss jetzt sein, es gibt Sachen auf
+die reagiere ich wie ein Stier auf eine rotes Tuch:
+Holbein genial?
+gute historische Tatsachen bei holbein?!
+Das ich nicht lache!
+holbein, der konsalik der fantasy? was hat der nicht schon alles verbrochen!
+Und hist, tatsachen? hab ich doch letztens mal ein klappentext gelen uber
+robin hood, der am kreuzzug teilgenommen hat! bei sowaas wird mir immer
+schlecht (galt auch fuer den K.costner film).
+und dann holbein als Robert Craven! Lovecraft wuerde sich im Grabe umdrehen,
+wenn er lesen koennte, wie der Hexer mal locker den grossen Chtullhu, Hastur
+und Nyalathotep platt macht!
+Es gibt einfach kein thema, an dem sich holbein (heisst er nicht hohlbein?)
+verbrochen hat: germanische sagen, horror, einfach alles. ich sag ja, der
+konsalik der fantasy denn kaum einer duerfte soviel ramsch geschrieben haben
+wie holbein. und dann noch Ska der Superheld! Conan und LAncelot in einer
+Figur!
+(Obwohl "der wandernde Wald" von der idee des Wanderns ganz gut war)
+Neee, Leute! kommt mir nicht mit hohlbein!
+
+Li
+P.S. sorry fuer die vielen typos aber da kann ich einfach nciht ruhig bleiben
+:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Li, 16. Nov 1995, 10:00:24):
+#! rn=Highlander rt=816510207
+Uebrigens auf deutsche heisst der Zyklus midkemia. Damals bei goldmann
+erschienen, das erste buch heisst pug und tomas (die beidenfreunde), vor
+kurzen glaube ich bei heyne neu aufgelegt( die kaufe eh' alles auf)
+Ich fand sie auch klasse, mus aber sagen, dass der mr der zweite zyklus nach
+dem riftwar noch besser gefallen haben.
+Reinschauen!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Creative, 16. Nov 1995, 10:01:06):
+#! rn=Li rt=816512247
+
+*sniff*
+Ich kenn NUR dieses Buch, und 3 Hexer-Romane von ihm... Die Hexer-Sachen sind
+Schrott, aber 'Das Siegel' is a) frueh entstanden, b) gut. Mehr will ich
+da gar net sagen.
+Ueber den Rest... Tja, was man nicht kennt - ich kann nur von dem Standpunkt
+aus argumentieren, den ich zur Zeit hab. Und der is nu mal so.
+
+-Crea-, fuehlt sich ein wenig angegriffen :)
+P.S.: Hagen von Tronje von Ho(h?)lbein is ebenfalls Schrott :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Li, 16. Nov 1995, 10:04:08):
+#! rn=Creative rt=816512466
+Crea* ich sag doch, ich wollte dich nicht angreifen. *troest* Uebrigens sind
+die fruehen werke meistens besser, siehe Marion zimmer-Bradley:
+Darkover und Haus der Welten? Klasse!
+Nebel von Avalon? Fand ich beim ersten Lesen toll, beim 2. naja und beim 3.
+scheisse! (haehae, warte schon auf die proteste!)
+Und was danach kam? Der Rest ist Schweigen!
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Creative, 16. Nov 1995, 10:05:15):
+#! rn=Li rt=816512648
+
+Dann les bitte mal nur einfach so 'Das Siegel' und bild Dir ne Meinung
+drueber. Bitte :)
+
+-Crea-, findet das Buch immer noch fesselnd, spannend, gut.
+(Frag Semira, die kennt es auch)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Acrimon, 16. Nov 1995, 10:58:22):
+#! rn=Creative rt=816510251
+Fuer 700 Seiten brauche ich mindestens 20 Stunden. Wenn das Buch gut
+geschrieben ist und spannend ist, dann brauche ich noch laenger, weil ich es
+dann langsamer und gruendlicher und mit mehr Phantasie lese.
+Wenn jemand ein gutes Buch moeglichst schnell durchliest, dann hat er nicht
+viel davon.
+
+Acrimon, geniesst lieber die Buecher als dasz er sie ueberfliegt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Creative, 16. Nov 1995, 10:59:02):
+#! rn=Acrimon rt=816515902
+
+Dafuer hab ich es ja auch schon 3 mal gelesen :) die beiden letzten Male auch
+laenger.
+-Crea-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch n Buchtip von mir (Murkes, 16. Nov 1995, 11:01:57):
+#! rn=Li rt=815900999
+Bei dem "Foucault'sche Pendel" von Eco muss ich Li vollkommen recht geben,
+es faengt ganz spannend an und zieht sich dann ewig hin, wobei die Story
+auch immer schlechter wird.
+Ich habe mich zwar nicht direkt gelangweilt, aber das Buch hatte einige
+Laengen.
+
+Murkes
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip von Rudi (Rudiratter, 16. Nov 1995, 12:00:25):
+Also, wenn hier schon alle Buchtips reinschreiben, dann will ich auch nicht
+fehlen.
+Ich kann alle Buecher von John Irving empfehlen. Die Geschichten sind so
+abgedreht und unglaublich, dass sie fast schon wieder war sein koennten und
+wenn man sie auf Englisch liest, lernt man alle englischen schmutzigen Woerter
+dieser Welt ;))
+Besonders gut sind meiner Meinung nach:
+Garp und wie er die Welt sah
+Das Hotel New Hampshire
+A prayer for Owen Meany (weiss nicht, wie der deutsche Titel heisst)
+
+Rudi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip von Rudi (Kafka, 16. Nov 1995, 12:03:16):
+#! rn=Rudiratter rt=816519625
+yeah, a prayer for owen meany (auf deutsch nur: owen meany) kann ich auch nur
+sehr empfehlen. hab's auch auf englisch gelesen, deshalb kann ich zur dt
+version nix sagen. von j irving hab ich sonst leider nur 'the cider house
+rules'
+gelesen, das war nicht soooo doll, aber owen meany war einfach grossartig.
+   k
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Hardil, 16. Nov 1995, 13:04:07):
+#! rn=Creative rt=816512466
+
+Sorry Crea,
+
+aber das Siegl ist sicherlich keins von Hohlbeins fruehen Werken.
+Nichtsdestotrotz hab ichs damals auch ganz gerne gelesen, und wer keine
+allzugrossen Anforderungen an Fantasy-Literatur stellt, fuer den ist das Buch
+sicherlich okee.
+
+-Hardil. Zieht einen guten Krimi trotzdem jedem Hohlbein vor.
+
+{uuups, das da oben sollte Siegel heissen, nicht Siegl. Siegl? Horst Siegl ?
+Oleeee, FCK ! :-) }
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Hardil, 16. Nov 1995, 13:05:51):
+#! rn=Acrimon rt=816515902
+Acrimon:
+
+was die Lesezeit angeht, kann ich DIr nicht zustimmen. Ich binauch eher ein
+Schnell-Leser. Den Herrn der Ringe hab ich damals, als ich ihn mir frisch
+gekauft habe, in 10 Stunden Non-Stop reingezogen. Quasi puenktlich zum
+Fruehstueck war ich fertig :)
+Schnell-Lesen und Buecher geniessen geht auch.
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Chanur (Highlander, 16. Nov 1995, 14:12:40):
+So, und noch eine Buchempfehlung. Ich moechte empfehlen die Buecher
+The Pride of Chanur
+Chanur's Venture
+The Kif Strike Back.
+Chanur's HomeComing
+(Bonusbuch Chanur's Legacy)
+Ja, ich weiss, schon wieder auf Englisch, aber wenn ich kann, besorge ich mir
+Buecher natuerlich auf Englisch, weil
+a) original und
+b) ich gerne Englisch lese, um in Uebung zu bleiben.
+Worum geht es?
+Es geht um ein Hani-Raumschiff in einem Universum, in dem es einen Rassenbund
+namens Compact gibt. Das ist ein ziemlich loser Bund, der hauptsaechlich auf
+Handel basiert, jedenfalls, soweit man dieses Konzept den Rassen beibringen
+konnte.
+Dieses Schiff sammelt eines Tages auf einer Station etwas auf, was, gelinde
+geagt, zu Komplikationen fuehrt.
+Kann man das erwarte nicht bitte mal auf Message() umstellen? Ich krieg hier
+dauernd die mpa-Meldungen rein.
+C.J.Cherryh beschreibt ein konsistentes, interessantes Haeufchen von
+Alienvoelkern mit komplizierten Braeuchen, Aussehen, Eigenarten anschaulich
+und fesselnd.
+Das erste Buch was an sich allein stehend gedacht, aber da es sehr gut ankam,
+durfte CJC mit den naechsten drei Baenden an sich ein Buch schreiben, das
+heisst, man sollte keines der Buecher 2, 3 und 4 allein lesen - kein Anfang,
+kein Ende :>
+Im gleichen Universum spielen noch andere Buecher, aber nicht im Compact.
+Beispiel: Pells Stern (DAS hab ich mal auf D gelesen :>)
+Wer gerne SF liest, mit gut beschriebenen Charakteren (ich liebe gruffy old
+Tirun oder
+die kaputte Gesellschaftsordnung der Kif, Py gibt einen guten Captain ab etc
+etc), der hole sich diese Buecher, am besten in der Originalversion. Eine
+Warnug moechte ich allerdings aussprechen: Es gibt lkeichteres Englisch.
+Ciao and keep on reading,
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Siegel (Yendi, 16. Nov 1995, 14:22:57):
+#! rn=Creative rt=816509754
+
+Ich habe bis jetzt nur "Neues vom Hexer" von Hohlkopf^H^H^H^Hbein gelesen.
+Langweilig und plump.
+Wann immer der Author es gerne gruselig gehabt haette, wurde es dunkel und
+kalt (alle Welt froestelt dauernd), und es kam stets der Standard-
+Gruenschimmer. Uuuuh, wie aufregend...
+
+
+-----------------------------------------------------------------------------
+
+
+
+cthulhu (Cymonk, 16. Nov 1995, 14:28:33):
+huhu
+
+wenn gerade hohlbeins hexer so schoen niedergemacht wird ...
+ich habe eben eine buecherliste zum cthulhu mtythos
+gefunden:
+
+http://eerie.eerie.fr/~alquier/HPL/books/cth_bib.html
+
+by(t)e, CyMonk
+
+-----------------------------------------------------------------------------
+
+
+
+John Irving (Murkes, 16. Nov 1995, 14:32:08):
+Ja, die Buecher von John Irving kann ich auch nur empfehlen.
+Ich kenne sie alle in deutscher Uebersetzung, die meist recht gut ist.
+Zur Zeit bin ich dabeiu die englischen Originale zu lesen.
+Zu: The cider-house-rules
+Das Buch heisst auf deutsch 'Gottes Werk und Teufels Beitrag' und ist
+meiner Meinung nach das beste, was er bisher geschrieben hat.
+Owen Meany fand ich dagegen schon etwas zu mystisch, obwohl es sonst auch
+wirklich gut ist.
+Nett fand ich auch 'Die wilde Geschichte vom Wassertrinker, eine Geschichte
+ueber einen echten Looser, witzig.
+Nur fuer Irving-Fans kann man eigentlich sein Erstlingswerk 'Die Baeren sind
+los'
+empfehlen.
+
+So zum Schluss eine Frage: Hat jemand schon 'Zirkuskind' gelesen?
+
+Murkes
+
+-----------------------------------------------------------------------------
+
+
+
+Und noch mal Buecher... (Loco, 16. Nov 1995, 14:38:18):
+Ich haette auch noch einen Tip, den manche vielleicht etwas komisch finden
+werden - lest auch mal wieder Kinderbuecher!
+
+Und dann gleich ein Tip mit MG-Bezug:
+Wer den eigentlichen Ursprung von Svolvaer im Morgengrauen kennenlernen will,
+findet es als Schauplatz in
+ "Latte Igel reist auf die Lofoten"   von Sebastian Lybeck.
+In jeder guten Stadtbuecherei unter 6-9 -jaehrige zu finden, meist als
+Sammelband mit dem ersten Teil "Latte Igel und der Wasserstein".
+Ich hatte vor langer Zeit einmal vor, dieses Buch zu einer Quest zu machen,
+wo aber nie etwas fertiges draus wurde. Uebrig blieb Svolvaer.
+
+Ach ja: Falls irgendjemand mal den Originaltext (schwedisch), moeglichst
+beider Teile, zu einem annehmbaren Preis findet, bitte sofort fuer mich
+zuschlagen! Es scheint davon nach der ersten Auflage ca. 1950 keine weitere
+mehr gegeben zu haben, und nachdem ich in ueber 10 Buchhandlungen nachgefragt
+hatte, war ich schon erstaunt, wenn jemand ueberhaupt schon davon gehoert
+hatte. Titel waere: "Latte Igelkott (och vattenstenet / reser till lofoten)".
+
+
+Jetzt zu jemand viel bekannteren, Astrid Lindgren:
+
+"Ronja Raeubertochter", "Brueder Loewenherz" und "Mio, mein Mio" wuerde ich
+auf jeden Fall unter die (Kinder-) Buecher zaehlen, fuer die man eigentlich
+nicht zu alt sein kann. Warum ich solche "Allerweltsbuecher" erwaehne, die
+doch angeblich jeder kennt? Ich habe selber diese drei Buecher erst dieses
+Jahr zum ersten Mal gelesen, allerdings den Originaltext, mit dem hier wohl
+wenige etwas anfangen koennen. Fuer die deutschen Versionen gilt wieder:
+Sollten in jeder Stadtbuecherei verfuegbar sein.
+
+
+Soviel von mir als Literaturbanausen,
+
+      Loco
+
+-----------------------------------------------------------------------------
+
+
+
+auch will ;) (Felagund, 16. Nov 1995, 14:39:28):
+Also wo mer grade bei Buechertipps sind auch mal was von mir:
+SF: Hier wuerd ich vor allem den Amtrak-Zyklus von Patrick Tilley empfehlen,
+der is echt Klasse, allerdings is Band 3 ziemlich schwer zu bekommen (hab ich
+hier in Giessen allerdings noch gesehen, falls den einer braucht)
+Ausserdem natuerlich den Dune-zyklus von Herbert, aber den kennt ja wohl eh
+jeder. (Kein Vergleich zum Film, obwohl ich den als ich die Buecher noch nedd
+kante auch ganz gut fand...)
+Fantasy: Ganz oben auf meiner Liste steht da der "Rad der Zeit"-zyklus von
+Robert Jordan, der hat ne sehr komplexe Story und ist athmosphaerisch recht
+gut (und auf englisch noch besser als auf deutsch) -groesstes Manko: er ist
+noch nicht abgeschlossen *wart auf Band 7* (jeweils 2 deutsche baende
+entsprechen einem englischen, also auf englisch nicht unbedingt teurer)
+Ausserdem empfehlenswert waere hier alles was ich von Eddings kenn (3 Zyklen)
+hier ist zwar die Geschichte selbst meist nicht SOO anspruchsvoll, aber die
+Charaktere sind ganz nett ausgearbeitet..
+Relativ unbekannt ist glaubich der Drachenprinz-Zyklus von Melanie Rawn. Der
+besticht durch eine andere Sichtweise, da er aus Sicht einer Herrscherfamilie
+geschrieben ist und ein relativ unuebliches Magiesystem, das ich auch sehr
+gelungen finde..
+soweit dazu...
+.....Fela
+P.S. zu Feists Romanen gibts ein ganz nettes Computerspiel namens Betrayal at
+Krondor, das mir ziemlich gut gefallen hat...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Chanur (Hakkikkt, 16. Nov 1995, 14:45:05):
+#! rn=Highlander rt=816527560
+Hi ,
+zu den Chanur gibts auch noch was zu sagen: Die
+Maratasen aehneln verblueffend stark den Hani ;_)
+Bis denne, hakkikkt (hat die Buecher alle (auf Deutsch) im Schrank stehen )
+
+-----------------------------------------------------------------------------
+
+
+
+Steven Karl Zoltan Brust (Yendi, 16. Nov 1995, 14:55:10):
+
+
+Ich werde nicht muede, meinen derzeitigen Lieblingsauthor anzupreisen:
+
+Steven Karl Zoltan Brust, ein Amerikaner ungarischer Abstammung.
+
+Aus seiner Feder stammen einige der Sprueche, die man verschiedentlich
+von mir oder Elric oder Ratboy@Kerovnia gehoert haben mag:
+
+"No matter how subtle the wizard, a knife blade between his shoulders will
+seriously cramp his style."  oder
+"There is no substitute for good manners, except fast reflexes."
+
+Wenn er nicht gerade trockene Witze macht, dann erzaehlt er in seinen "Vlad
+Taltos"-Buechern packende Geschichten auf gutem bis sehr gutem sprachlichem
+Niveau, angesiedelt in einer in sich stimmigen und farbig dargestellten Welt,
+bevoelkert von faszinierenden Charakteren.
+
+Seine "Phoenix Guard"-Buecher "The Phoenix Guards" und "500 Years After" sind
+in einem sehr viel ausschweifenderen Stil geschrieben, angelehnt an die
+Erzaehltradition und die Charaktere von Dumas, wieder sehr witzig und dabei
+von einer meisterhaft ausgefeilten Sprache getragen.
+
+In seiner letzten Novelle "Agyar" praesentiert sich Brust als stimmungsvoller
+Erzaehler mit der Faehigkeit, in drei Worten ein Mass an Verzweiflung, Wut
+oder unbaendiger Freude auszudruecken, welches weniger begnadete Schrift-
+steller auch auf drei Seiten nicht erreichen koennen.
+Ausserdem spielt er in diesem Buch, wie auch vorher in "Taltos" oder
+"Athyra", mit der aeusseren Form, er verwebt die Erzaehlstraenge und -ebenen
+vielfach, ohne dass es gekuenstelt oder unuebersichtlich wirkt.
+
+Andere Details, die ich bei Brust liebe:
+In "Cowboy Feng's Space Bar and Grille" stellt er jedem Kapitel die
+passende Strophe eines Folksongs voran, in "Jhereg" sind es die Zeilen einer
+Anweisung fuer die Kleiderreinigung ("Repair cut in left sleeve & remove
+blood
+stain from front").
+
+Ach, ich koennte noch lange schwaermen, aber warum der langen Rede: Lest
+selbst!
+Allerdings fuerchte ich, dass diejenigen, die mit der englischen Sprache auf
+Kriegsfuss stehen, an seinen Buechern verzweifeln werden -- oder sie lernen,
+Englisch zu lieben.
+Wie auch immer, es gibt m.W.n. keine Uebersetzung aus dem Englischen, und
+IMHO wuerde sie auch nicht im Entferntesten an das Original heranreichen
+koennen. (Hmmm... obwohl es beim LotR erstaunlich gut funktionierte...)
+
+So, ich geh jetzt ein bisschen lesen.
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip von Rudi (Grimmborn, 16. Nov 1995, 16:31:01):
+#! rn=Rudiratter rt=816519625
+
+Was Rudi vergass zu erwaehnen:
+Die Mittelgewichtsehe (The 120-Pound marriage) und Lasst die Baeren los (wie
+auch immer das heisst) sind nicht so doll.
+Viele Motive wiederholen sich bei John Irving, was kein Nachteil ist.
+A Prayer for Owen Meany heisst auf deutsch genauso, nur ohne "A Prayer for".
+Der Neueste (was mit indischem Zirkus, mein Gedaechtnis laesst mich im Stich)
+scheint auch gut zu sein, durch bin ich noch nicht.
+
+Ach ja, und Rudis groesste Unterlassung war: Das mit deutlich beste Buch sind
+die "Cider House Rules" (Gottes Werk und Teufels Beitrag, gar nichtmal
+unpassend uebersetzt).
+
+Grimmborn der Atheist gruesst Rudiratter, den Furz im Sturzflug
+
+-----------------------------------------------------------------------------
+
+
+
+Semira mag auch buecher... (Semira, 16. Nov 1995, 16:38:32):
+Meine liebsten (z.T. schon genannt):
+
+- Das Parfum (Patrick Suesskind)
+- Der Azteke (Gary Jennings)
+- Der satanarchaeoluegenialkohoellische Wunschpunsch (Michael Ende)
+- HDR (Tolkien)
+- Ayla und der Clan des Baeren und die 3 folgenden buecher (M.M.Auel)
+-Palast der Winde (M.M. Keye) (das bei Auel muss heissen J.L. glaub ich)
+- Falidae und Francis (Akif Pirincci)
+- Der Stein von Duncton (mistichhabdennamenwiedervergessen)+
+
+und was nicht unbedingt romaniges:
+
+lest mal die Buecher/Gedichte von Joern Pfenning!
+
+Ach ja, und das siegel fand ich wirklich nicht schlecht...wenn auch einiges
+zu offen blieb :)
+
+*knuddels*
+
+Semira
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Puma, 16. Nov 1995, 17:56:37):
+#! rn=Yendi rt=816528177
+Fuer weitere Hohlkop...aeh..bein-Fans sei auch das interessante Interview im
+irren Weltraumproleten angepriesen. eigentlich viel zu kurz, aber doch eine
+Delikatesse... jetzte gerade wieder in der Jubilaeumsausgabe des DiWp
+veroeffentlicht.
+
+Schicke einfach mail an Nudei@MorgenGrauen und auch Du kannst Dein
+persoenliches Exemplar binnen weniger Tage im Schrank stauben haben....
+(*huestel*)
+
+          In diesem Sinne
+
+             Puma (DiWp-Kultist) ;)
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Wargon, 17. Nov 1995, 12:14:49):
+#! rn=Li rt=816512424
+Aus dem Midkemia-Zyklus sind bisherzumindest auf deutsch und bei Heyne
+mindestens sechs Baende erschienen. Gegenueber frueheren deutschen Ausgaben
+haben sich die Namen allerdings gaendert...
+Band 1 heisst bei Heyne "Der Lehrling des Zauberers" (oder ...des Magiers?),
+Band 3 "Die Gilde des Todes", Band 6 "Des Koenigs Freibeuter" und die Namen
+der anderen drei Baende weiss ich jetzt nicht mehr... ;)
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchtip II (Boing, 17. Nov 1995, 13:14:22):
+#! rn=Li rt=816509544
+Jau, Stein und Floete ist supergut, kann ich nur empfehlen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip II (Aranya, 17. Nov 1995, 15:50:04):
+#! rn=Lwaxana rt=816446571
+Hae? Seit wann sind die Unendliche-Geschichte-Filme nett?
+
+Aranya
+      findet die bescheuert
+NNN.
+
+-----------------------------------------------------------------------------
+
+
+
+Noch n Buchtip (Aranya, 17. Nov 1995, 16:11:41):
+Ich war bei meinem letzten Beitrach zum Thema noch nicht durch, deshalb
+jetzt im Nachhinein:
+Lawrence Norfolk: Lempieres Woerterbuch
+Das Buch hat mich jede Menge Zeit gekostet, es ist schon ziemlich schwierig
+zu lesen und ich werde nicht umhin kommen, es nochmal zu lesen, um es halb-
+wegs zu kapieren. Es ist in jeder Menge Erzaehlebenen geschrieben und man
+weiss eigentlich nicht so genau, was jetzt die Hauptgeschichte ist. Viel-
+leicht vergleichbar mit dem schon vorher gescholtenen Focaultschen Pendel.
+Es hatte sicher auch seine Laengen, aber nach dem Durchlesen hatte ich ein
+aehnliches Gefuehl wie nach dem Namen der Rose: schwierig, aber lohnend zu
+lesen.
+Die Zeit, in der das Buch spielt, ist kurz vor der Franzoesischen Revolution
+(andere Handlungsebene: ein paar Generationen vorher), es spielt in London
+(und La Rochelle, Istanbul und so weiter) und es geht um den profunden Ken-
+ner der antiken Sagen John Lempriere, dessen Familie in einem Zusammenhang
+mit einer geheimnisvollen Organisation steht. Welcher Zusammenhang wird na-
+tuerlich jetzt nicht verraten, klar.
+Lest's euch mal einfach durch.
+
+Aranya
+NNN.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch n Buchtip (Tasha, 17. Nov 1995, 18:02:06):
+#! rn=Aranya rt=816621101
+Ich stimme Aranya zu, das Buch ist zu 99% absolute Spitze. Die detailreiche
+Beschreibung des Lebens zu der ZEit ist wirklich irrsinnig schoen.
+Was an dem Buch aber leider SEHR traurig ist, ist das Ende. Das ist naemlich
+das schlechteste Ende eines Buches, das mit je unter die Augen gekommen ist.
+Trotzdem: Der Rest des Buches rechtfertigt das Lesen absolut.
+
+Buecher wurmend, Tasha
+
+-----------------------------------------------------------------------------
+
+
+
+Attanasio (Elric, 17. Nov 1995, 20:56:38):
+ Nun ist es wohl auch fuer mich an der Zeit, einen meiner Lieblingsautoren
+vorzustellen: A.A.Attanasio.
+ Bisher haber ich zwei Buecher von ihm gelesen; Wyvern und Radix.
+Wyvern spielt im 17. Jahrhundert auf der Erde und erzaehlt die Geschichte
+von Jaki, dem Sohn eines englischen Offiziers zur See und einer Ureinwohnerin
+von Borneo. Extrem stimmungsvoll, ein wenig romantisch, und ein weing
+traurig.
+ Radix ist eine SciFi-Geschichte und beschreibt den Werdegang von Sumner
+Kagan, der als fast ekelhaft fettes Kind
+in den Slums aufwaechst und sich als "The Sugarat" fuer erlittene
+Demuetigungen raecht
+und durch eine Reihe von Schicksalsschlaegen zu fast gottaehnlichem Status
+aufsteigt.
+Besonders in Radix beeindruckt der Reichtum des Hintergrundes, der teilweise
+den Herrn der Ringe
+ziemlich muede aussehen laesst und der Mangel an Kitsch.
+In beiden Buechern ist das Hauptthema die Persoenlichkeitsentwicklung einer
+Figur, die staendig zwischen den Welten steht, die niemals irgendwo ernsthaft
+zuhause ist, und der dieser Umstand zu ihrer fast schwindelerregenden
+Entwicklung und letztendichen Tragik verhilft.
+ Philosophisch, spannend, sehr einfuehlsam, liebevoll gestaltete
+Nebenrollen; Wahnsinn.
+ Wer gut englisch lesen kann, sollte sich die beiden Buecher nicht entgehen
+lassen.
+
+ Ausserdem kann ich an Freunde des Horrors noch Clive Barker empfehlen
+(ziemlich abgefahrener Englaender mit einem zweifelhaften Verhaeltnis
+zum Thema Sexualitaet und entschieden zu hohem Drogenkonsum)
+
+ An Comicleser kann ich die "Zeit der Asche"-Trilogie von Chevalier&Segur
+empfehlen. Gory, good, solid stuff.
+ Steven Brust ist Klasse.
+ Ceterum censeo Hohlbein esse neglegendum.
+ Elric.
+
+-----------------------------------------------------------------------------
+
+
+
+grr. (Elric, 17. Nov 1995, 21:00:29):
+Sorry fuer das Layout und den zeitweilig verlorenen Ueberblick. Zu viel los
+auf den Kanaelen.
+ Ceterum censeo Hohlbein esse neglegendum. Elric.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Schrumpfi, 18. Nov 1995, 13:18:50):
+#! rn=Li rt=816512247
+Da haste recht Li!! Ich les zwar auch ganz gern W.Hohlbein aber wenn er H.P
+Lovecraft mit einbaut und was er beim Hexer so ueber ihn schreibt, da dreht
+sich bei mir der Magen um und der gute H.P wuerd sich mit Sicherheit im Grab
+umdrehn!
+Schrumpfi liebt H.P Lovecraft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Cuchullin, 18. Nov 1995, 13:21:41):
+#! rn=Schrumpfi rt=816697130
+
+Egal, wie grausam Hohli mit Geschichte und Sagen umgeht, ich finde
+"Drachenfeuer" ist ein recht gelungenes Kinder- und Jugendbuch. Zumindest hab
+ichs immer wieder gerne gelesen.
+
+Cuch.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Schrumpfi, 18. Nov 1995, 13:25:14):
+#! rn=Cuchullin rt=816697301
+Naja, die Moorhexe find ich auch ganz gut von ihm aber mit dem Cthulhu-Mythos
+kann er sich schleichen, da hat er keinen Auftrag :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchtip II (Lwaxana, 18. Nov 1995, 21:41:33):
+#! rn=Acrimon rt=816481202
+Also hier moechte ich mal was klarstellen:
+
+Ich finde die Filme verglichen mit dem Buch auch armselig, ums mal Harmlos
+auszudruecken, aber ich fand zumindest den ersten so als Film nicht  schlecht,
+wenn man das Buch nicht kennt...
+
+-----------------------------------------------------------------------------
+
+
+
+Bitte! Nie SCI-FI (Lug, 19. Nov 1995, 03:53:00):
+Also bitte,
+schreibt SF aber nicht Sci-Fi.Das gehoert sich naemlich nicht. ;)
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Siegel (Nudei, 20. Nov 1995, 07:59:59):
+#! rn=Li rt=816512247
+Lieber LI!
+
+GRATULATION!!!!
+
+Was besseres habe ich seit dem Interview mit W.Hohlkopf (oder auch Holzebin,
+sein andererr Kuenstlername) im DiWp noch nicht gesehen.
+Aber es ist eine beleidigung fuern Konsalik, in einem Atemzug mit Hohlkopf
+genannt zu werden, das ist Dir doch wohl klar....
+
+Nudei, Schriftleitung DiWp
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Nudei, 20. Nov 1995, 08:12:31):
+#! rn=Nudei rt=816850799
+Oooops, am sollte immer alle Artikeln lesen, bevor man Lob austeilt...
+Natuerlich auch Dank an Puma, der dezent drauf hinweist, wofuer ich warb...
+
+uebrigens, meine liebste Fantasy-Lektuere ist Karl Marx: Arbeit, Lohn und
+Mehrwert....
+
+:)
+Nudei, Schriftleitung DiWp
+
+-----------------------------------------------------------------------------
+
+
+
+auch ein buechertip (Nixihou, 20. Nov 1995, 17:17:45):
+also wenn alle buchtipps abgeben, hier also meiner:
+der Daemonenzyklus von robert asprin, und die beiden buecher die zur
+Phuls company serie gehoeren.
+beide serien sind zumindest sehr erheiternd, auch wenn asprin beim daemonen
+cyclus stark nachlaesst (die spaeteren baende sind nicht mehr so voller witz)
+
+nixi, auch buchsenf senfend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: auch ein buechertip (Caradhras, 20. Nov 1995, 20:08:36):
+#! rn=Nixihou rt=816884265
+Was ist auch noch empfehlen kann, ist 'Die Herren von Fionavar', ein
+upps, eine Trilogie, aehnlich dem Herrn der Ringe und doch wieder ganz
+anders, moderner und mit Elementen der Arthur/Lancelot/Guinevere-Saga.
+
+Das ganze ist von Guy Gavriel Kay, 3 Baende, erster Band heisst
+'Silbermantel',
+upps, wie der zweite heisst weiss ich grade nicht :) und der dritte
+heisst: Ein Kind von Licht und Schatten.
+
+Wer Vergleiche anstellt mit dem HDR wird merken, dass es viele Aequivalente
+gibt, ein Aequivalent zu Morgoth, zu Gandalf, zu Saruman, den Elfen, den
+Orks, Trolls, den Zwergen unter Moria mitsamt Kheled-zaram, den Rohirrim
+und noch vielem anderem. Guy Gavriel Kay hat gemeinsam mit Christopher
+Tolkien die Unterlagen/Notizen ... fuer das Silmarillion geordnet und
+verfasst, die Aehnlichkeit ist sehr stark, aber wie gesagt, es ist ganz
+anders. Nicht von dieser epischen Breite des HDR, eher Richtung Unterhaltung,
+aber kein Trivialroman.
+
+       Lest es einfach        tschoe     Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Frage (Flagg, 21. Nov 1995, 10:58:36):
+Hallo erstmal...
+Da hier scheinbar sehr viele Buecherwuermer sind, haette ich da mal ne
+Frage.....
+Also : Ich moechte gerne wissen, wie gut/schlecht folgendes Buch ist :
+A.E.Poe : Die Abenteuer des Gordon Pym   oder so aehnlich
+
+Lohnt sich das zu lesen/kaufen ????
+Bitte um Infos....
+	Flagg
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frage (Boing, 21. Nov 1995, 13:34:15):
+#! rn=Flagg rt=816947916
+Also ich hab das vor Jahren mal gelesen und fand es spitze, uebrigens
+fast alles von Poe. Insofern kann ich nur zum Kauf (oder Ausleihen)
+raten. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Siegel (Mupfel, 21. Nov 1995, 19:24:39):
+#! rn=Puma rt=816540997
+SOWAS liest du? *entsetztsei* :-)
+
+nudei hat anlaesslich dustys geburtstag dieses 'magazin' unter die leute
+geworfen... ich fands grausam... naja
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch n Buchtip (Mupfel, 21. Nov 1995, 19:27:08):
+#! rn=Aranya rt=816621101
+fand ich auch sehr gut, wenn auch nicht ganz einfach zu lesen...
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Hardil, 21. Nov 1995, 19:35:59):
+#! rn=Mupfel rt=816978279
+
+Ohje, ohje,
+
+Nudei hat mir gedroht, auch eins zu schicken. Isses wirklich so schlecht,
+Mupf?
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtips (Ketos, 21. Nov 1995, 22:47:45):
+
+Hier mal meine Hotlist von Buechern:
+Momo, Michael Ende   - Schoenes Maerchen ueber die Zeit
+Das Parfuem: Patrik Sueskind   -  Danach riecht man die Welt mit anderer Nase
+Sofie's Welt:              - Philosophie schoen erzaehlt
+Die Entdeckung der langsamkeit  - Es geht um ein mensch der sehr langsam ist,
+                                  aber dafuer die ruhe weg hat wenn andere
+			
+			panik bekommen   -   (lag mal positiv)
+tohuwabohu:   englischer humor fuer die traenendruesen, teils derb
+waechter von jeden, Jonnes Butta     - no comment
+Es geht auch ohne Frauen,     Verfasser wurde von Emanzen begraben...
+God O-Man's , Terry Pratchett:      Klamauk ueber Gut und Boese, teils lang
+
+Noch ein Filmtip:
+Shallow Graves:    Thriller vom feinsten, aestetische, ein Morder wie Du.
+
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Noch mehr Buecher... (Kretek, 22. Nov 1995, 02:47:50):
+Aeh... Wenn ich jetzt zugebe, dass ich gern Marion Zimmer Bradley lese,
+werde ich dann destructed?
+
+Kretek
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frage (Li, 22. Nov 1995, 09:26:50):
+#! rn=Flagg rt=816947916
+kommt drauf an, was du erwartest:
+Arthur gordon Pym wurde zu einer Zeit geschrieben, als einige Teile des
+Globus noch weisse Flecken gab. Poe hat mit seiner Phantasie diese Flecken
+beschrieben, von denen wir heute wisen, dass es dort anders aussieht.
+Wen soetwas stoert, dem ist von dem Buch abzuraten. andererseits gilt A.G.Pym
+als der erste Abenteuerroman, und wer fuer ein "klassisches" abenteuer zu
+haben ist, sei es nahe gelegt.
+Ich find ihn gut.
+mit einem Tekeli-li verabschiedet sich
+Li
+P.S. Uebrogens hat kein anderer als H.P. Lovecraft in einer seiner
+Geschichten
+  Deutlich Bezug auf Poe genommen (Das sollte einiges ueber die Atmosphaere
+im Pym verraten)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtips (Li, 22. Nov 1995, 09:29:06):
+#! rn=Ketos rt=816990465
+Zum Thema Tohuwabohu faellt mir das bekannteste(IMHO auch beste Buch) tom
+sharpes ein: PUPPENMORD
+ein absolut empfehlendes WErk fuer Freunde des beruehmten englischen,
+schwarzen Humors!
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch mehr Buecher... (Li, 22. Nov 1995, 09:31:16):
+#! rn=Kretek rt=817004870
+Huups, ich will nicht destructet werden! :-) die aeltern buecher von Bradley
+sind naemlich gut bis Spitze.
+Li (findet, das es seit Nebel von Avalon mit ihr bergab ging)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Siegel (Nudei, 22. Nov 1995, 09:51:01):
+#! rn=Mupfel rt=816978279
+Isser nich!
+Protest!
+Konstruktive Kritik bitte!
+
+Nudei, Schriftleitung DiWP
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Das Siegel (Nudei, 22. Nov 1995, 09:52:09):
+#! rn=Hardil rt=816978959
+Nein, ist  es nicht, ist es nicht ist es nicht *auf den Boden stampf wie
+Rumpel Stilz)
+Selber ueberzeugen, selber ueberzeugen!
+
+Nudei, Schriftleitung DiWp
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchtips (Murkes, 22. Nov 1995, 10:27:19):
+#! rn=Li rt=817028946
+Naja, PUPPENMORD mag ja das beste Buch von Tom Sharpes sein, ich fand esauch
+ganz nett, aber halt nur NETT.
+Murkes (versteht die Begeisterung nicht so recht, bleibt halt
+Geschmackssache)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch mehr Buecher... (Mindolluin, 22. Nov 1995, 10:53:55):
+#! rn=Kretek rt=817004870
+Stimmt, die aelteren Buecher von MZB sind ziemlich gut, aber nicht
+alle, ich denke da zB an 'Der Bronzedrache', passt von Stil her gaaar
+nicht zu ihr. 'Trommeln in der Daemmerung' (kein F/SF) ist auch nicht
+gut. Und noch einer ihrer ersten Darkover-Romane, hm, welcher war
+das nochmal? Das Schwert der Aldones glaube ich. Ist ihr furchtbarstes
+Buch IMHO.
+
+   tschoe             Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtips (Li, 22. Nov 1995, 12:05:35):
+#! rn=Murkes rt=817032439
+richtig, Wenn man bei buechern ueber geschmackssache sprechen kann, dann bei
+Tom Sharpe!
+
+-----------------------------------------------------------------------------
+
+
+
+books... (Kotzbrocken, 22. Nov 1995, 14:39:26):
+ok, hier noch mal nen paar buchtips von mir, 2 'aeltere' und 2 neue buecher.
+1. the new york trilogy: dies sind 3 geschichten, im weiteren sinne detektiv-
+romane aber ungeheuer abgedreht und niederschmetternd (fand ich). ist sicher-
+lich, aeh, meine wird sicherlich nicht jedem gefallen weil teilweise so ab-
+gespaced.
+(empfehlung bezieht sich aber auf's original, uebersetzung kenne ich nit)
+2.watership down: die geschichte einer gruppe von kaninchen, die ihren
+heimischen bau verlaesst, um sich ne neue bleibe zu suchen.
+klingt vielleicht nach einem maerchen oder einer kindergeschichte, ist es
+aber
+beides nicht und wiederum doch...alles klar? ;) auf jeden fall phantastisch.
+autor heisst adams, vorname vergessen, autor von 1. ist auster,paul.
+2. hab ich auch nur im orig gelesen.
+3. hoffmanns hunger: kam glaub ich voriges jahr raus oder so...eine story
+ueber einen botschafter, der den tod seiner toechter nicht verschmerzen kann,
+und sich mit einzig und allein mit essen troesten kann. naja, es geht schon
+noch um etwas mehr, ist im kurzen aber schlecht zu schildern...
+
+name des autors hab ich leider vergessen, ist ein hollaender.
+4.the afterlife: eine sammlung amerikanischer kurzgeschichten, eine der
+wenigen interessanten amerikanischen errungenschaften ;). die meisten sind
+melancholisch/nachdenklich.
+autor ist john updike, ein absoluter lieblingsautor von mir...
+
+ok, falls sich irgendjemand was davon antun moechte viel spass
+          Gruss
+               Kotzi.
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip Nr. ... (Aranya, 22. Nov 1995, 18:31:16):
+Gerade ausgelesen, noch ganz warm!
+Ich habe mir gestern mittag das Kartengeheimnis von Jostein Gaarder (ganz
+richtig, der von Sofies Welt) gekauft und bin heute morgen damit fertig ge-
+worden (ein halbes Buch zum Einschlafen, das andere halbe Buch nach dem Auf-
+wachen).
+Im Kartengeheimnis kommt Sofies Welt mal wieder zum Vorschein. In einer an
+und fuer sich normalen Geschichte tauchen widersinnige Ereignisse auf, die
+sich gegen Ende des Buches aufklaeren. Nun ja.
+Ausserdem lassen sich die verschiedenen Figuren des Buches (der Vater und
+der Ich-Erzaehler (Sohn) der ersten Erzaehlebene) mal wieder gaardersch ue-
+ber die Philosophie aus. "Es gibt doch Ministerien fuer alles Moegliche.
+Warum wird kein Ministerium fuer Philosophie eingerichtet?"
+Man erfaehrt interessante Ansichten ueber Joker, Rosinenbroetchen und Limo.
+   Tja. Wer eine zweite Sofie erwartet, wird IMHO enttaeuscht, aber das Buch
+ist freundlich und gut geschrieben, man erfaehrt wieder einiges Neues und
+es ist in dem erfreulichen Gaarderschen Stil geschrieben.
+Aranya-Testurteil: Empfehlenswert
+
+Aranya
+NNN
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch mehr Buecher... (Baron, 22. Nov 1995, 20:46:34):
+#! rn=Mindolluin rt=817034035
+Darf man hier eigentlich nur noch schreiben wenn mindestens achtmal pro
+Artikel das Wort IMHO vorkommt :)=? *kicher*
+Mal ganz abgesehen davon finde ich die Darkover Romane (fast) alle auch sehr
+nett. Und natuerlich die beiden 'Jaeger des reten Mondes' Folgen sind klasse.
+Nicht gerade Weltliteratur, aber wer will schon immer beim Lesen gruebeln
+muessen :).
+Baron - haelt heute mal zu Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Noch mehr Buecher... (Kretek, 22. Nov 1995, 20:59:23):
+#! rn=Mindolluin rt=817034035
+Ich dachte dabei ja auch eher an "Die Nebel von Avalon", "Die Feuer von
+Troja"
+oder ihre diversen Kurzgeschichten, daraus vor allem den Zyklus um
+Lythande... Speziell letzteres ist fuer mich Phantasy vom Feinsten!
+
+So.
+Kretek
+
+-----------------------------------------------------------------------------
+
+
+
+DiWp (Nudei, 23. Nov 1995, 07:37:19):
+Lieber Leser un Innen!
+
+Der DiWp (DER IRRE WELTRAUMPROLET, das Spizenzine) bereitet seine
+Novemberausgabe vor!
+
+Atmenberaubende Stories, haarstraeubende Artikel und irre Facts zum Thema
+Fantasy und Rollenspiel, enervierende Tippfehler und ueberraschende Plots am
+laufenden Band warten auch Euch!
+
+Heute noch bestellen!!! Probeexemplar gratis!!!
+[Die restlichen kosten auch nur Porto, man ist ja sozial und nicht
+unverschaemt]
+
+Kritiken:
+Mupfel: ...grausam!
+Puma: Stark!
+Terkal: Argl *Neid*!
+Nudei: A Waounsinn!
+
+
+Gruss an alle
+
+Nudei, Schriftleitung DiWp
+
+-----------------------------------------------------------------------------
+
+
+
+Spielend leben - leben, wie man spielt? (Hakkikkt, 28. Nov 1995, 11:49:45):
+Hi,
+der nachfolgende Text war gestern Anstoss fuer eine interessante Diskussion
+mit einigen Freunden.
+Vielleicht ist er ja auch hier fuer einige Denkanstoesse gut.
+Nur um gleich irgendwelchen Miss verstaendnissen vorzubeugenDer Text spiegelt
+nicht meine pershnliche meinung wider!
+
+Spielend leben -
+leben, wie man spielt?
+
+Ein Kinderspiel-
+oder ein Spiel zwischen Erwachsenen?
+Wo ist der Unterschied?
+Als ich ein Kind war, dachte ich wie ein Kind,
+spielte ich wie ein Kind.
+
+Nun bin ich erwachsen, denke, wie man denkt,
+und spiele, wie man spielt-
+
+Mit Konzentration oder Desinteresse,
+mit Schwung oder Gleichgueltigkeit,
+mit Partnern oder Gegnern,
+Gewinn oder Verlust.
+
+Spielend leben.
+Folge ich dieser Aufforderung,
+stelle ich fest:
+
+Spiel-entwicklungsgeschichtlich
+aus dem Wort Tanz entstanden:
+Die fuesse setzen, figuren beschreiben,
+Musik hoeren, Feste feiern.
+
+Also:
+Ich lebe spielend und tanze durch meine Zeit?
+
+Ich wiederhole und stottere:
+Ich tanze durch meine Zeit?
+Ja, wenn ich mich freue,
+wenn ich Ferien habe, die Sonne scheint
+und das Meer in den Funken des Lichts glitzert,
+wenn ich eine Pruefung hinter mir habe,
+wenn ich verliebt bin.
+Ich tanze, ich spiele-ich lebe?
+
+Pltzlich verstehe ich,
+ich darf nicht trennen
+Tanzen und Spielen
+von Angsthaben und Alleinsein.
+Leben meint Sonne und dunkle Wolken,
+Tag und Nacht.
+
+Ich will in der Nacht nicht den Tag vergessen.
+Ich weiss, dass der Wind die Wolken schiebt.
+Meine Fuesse sollen leicht sein.
+
+Irmhild Baerend
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spielend leben (Hakkikkt, 28. Nov 1995, 11:51:51):
+HI,
+jetzt habe ich doch beim Abtippen noch einige Fehler in den Text reingebaut.
+Ich hoffe das ist nicht ganz so schlimm.
+Mit meinem Terminal ist es leider schwierig einmal eingegebene Zeichen wieder
+zu loeschen.
+Bis denne, Hakkikkt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch mehr Buecher... (Roesti, 30. Nov 1995, 12:45:32):
+#! rn=Kretek rt=817004870
+Marion Zimmer Bradley les ich doch auch und mir passiert nix..
+
+Roesti wundert sich wo die ganzen steine herkommen:)
+
+-----------------------------------------------------------------------------
+
+
+
+SUCHE BUCH (Hobo,  5. Dez 1995, 18:46:32):
+Und zwar ein ganz bestimmtes:
+Es heisst: Sechs kamen geflogen
+Ist von: Marquis marc Swiney of Mashanaglass (oder so aehnlich)
+und wurde 1973 vom Rohwolt-Verlag verlegt....
+Und ich braeuchte es ganz dringend bis Weihnachten.. Wuehlt also bitte mal
+den Buecherschrank zuhause durch und meldet Euch bittebittebitte schnell bei
+mir!
+
+Tschuessi
+
+ Hob
+
+-----------------------------------------------------------------------------
+
+
+
+Auchn Buchtip (Hobo,  5. Dez 1995, 18:53:42):
+Ich haette hier mal ein Buch zu empfehlen, was bisher noch keinem gefallen
+hat, dem ichs zum Lesen ausgeliehen habe. Aber ich persoenlich finde es
+Klasse, weil es so gar nichts mit anderen Sachen zu tun hat...
+Es heisst PanAroma und ist von.... aehm Dingens, weiss nicht mehr.
+Darin geht es um Rote Bete, Pan, das ewige Leben, ein Parfuem und tausand
+andere Dinge und es ziemlich schrill.... und wie gesagt: mir gefaellt's!
+Versucht's doch mal!
+Tschuessi :)
+
+
+ Hobo (diesmal ganz)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SUCHE BUCH (Grimmborn,  6. Dez 1995, 10:18:14):
+#! rn=Hobo rt=818185592
+
+Na, solls ein Geschenk fuer Deinen sogenannten "Boing" sein?
+Dann ists hier aber ziemlich unauffaellig... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auchn Buchtip (Pennywise,  6. Dez 1995, 17:14:38):
+#! rn=Hobo rt=818186022
+Das Buch "Panaroma" ist uebrigens von Tom Robbins. Es ist wirklich
+ausgezeichnet, was erstaunlich ist, wenn man Tom Robbins' andere Buecher
+liest; die sind lange nicht so gut!
+
+Besonders gelungen finde ich den Vortrag ueber den wahren Grund des
+Aussterbens der Dinosaurier. Einfach genial.
+
+
+Just my bit of mustard...
+Pennywise :)
+
+-----------------------------------------------------------------------------
+
+
+
+wieder mal ein Buchtip von mir ... (Alboin,  7. Dez 1995, 06:18:08):
+Hallo Leseratten!
+Damit diese Rubrik nicht ganz den SF/Fantasie-Fans ueberlassen wird, moechte
+ich wieder mal ein beletristisches Buch vorstellen.
+Das Buch heisst 'Die Legende vom Glueck ohne Ende' und ist von Ulrich
+Plenzdorf.Es ist neben 'Die Leiden des jungen W.' auch ein Kultbuch zu
+DDR-Zeiten gewesen.Die erste Haelfte des Buches wurde uebrigens als 'Die
+Legende von Paul und Paula' verfilmt, und ist auch als Drehbuch als
+Suhrkamp-Taschenbuch erhaeltlich, wie die beiden obenegenannten Buecher auch.
+Sowohl den Film als auch das Buch sollte man sich nicht entgehen lassen, vor
+allem wenn man wissen will, 'wie es so damals in der DDR lief' ,denn das Buch
+hat neben der unkonventionellen Liebesgeschichte als Rahmen auch ziemlich
+gewitzte und etwas versteckte Systemkritik zum Inhalt.Da mag es verwundern,
+dass das Buch welches 1973 erschien, nicht verboten wurde.
+Das Schoene an dem Buch ist, dass es sich um einen wunderbare, einfache und
+unrealistische Geschichte ist, die faszinierenderweise doch nicht so
+unrealistisch ist wie es scheint.Also lest es einfach mal selber.Es lohnt
+sich!
+Ueberhaupt sollte man sich den Namen 'Plenzdorf' in Erinnerung behalten, denn
+er ist genaugenommen eher Drehbuchautor und Theaterstueckeschreiber als
+'normaler' Schriftsteller.Wenn ich richtig gehoert habe , hat er bei dem
+Fernsehfilm neulich -eine Verfilmung eines Theaterstuecks von Fallada mit
+Harald Juhnke als Saeufer- auch mitgewirkt.
+
+So das war es erstmal wieder
+Euer Al-boin mit den 40 Buechern ;-)
+
+P.S. Und immer mal wieder in den 'kleinen Prinzen' schauen, kann amn gar
+nicht oft genug sagen ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wieder mal ein Buchtip von mir ... (Sique,  7. Dez 1995, 17:50:00):
+#! rn=Alboin rt=818313488
+Die "Legende vom Glueck ohne Ende" ist SPAETER als der Film "Paul und Paula"
+enstanden. Ulrich Plenzdorf hat das Drehbuch zu einem Roman umgeschrieben.
+
+                                         Sique (um Exaktheit bemueht)
+
+-----------------------------------------------------------------------------
+
+
+
+Boing mal anders :-) (Yantro,  8. Jan 1996, 10:25:30):
+
+Ich hab zugegebenermassen in einem anderen Mud was schoenes gefunden:
+
+Zwergengedanken (Boing,  5. Dez 1996, 15:14:06):
+Was einem so einfaellt, wenn man allein mit Erzmagiern hier ist: ;)
+
+Ich bin ein armes Schwein,
+und ich bin ganz allein.
+Der Erzmagier red't nicht mit mir,
+ich frage mich, was will ich hier?
+Den Ifrit krieg ich auch nicht platt,
+doch will ich haben was er hat.
+Nun ist er tot und das ist gut,
+ich schaende die Leiche in meiner Wut,
+wo ist der Schatz, der mir versprochen,
+ich hab das Gold doch von Weitem gerochen!
+Doch leider ist die Zeit nun aus,
+ich dreh mich um und geh nach Haus.
+
+  Boing
+
+
+ich hoff, dass Boing mich dafuer nicht killt, denn ich find es ist schoen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Eines Abends im MorgenGrauen (Wanderer,  6. Feb 1996, 22:06:26):
+Als ich neulich abends auf der Hochebene im Schutze eines Steines
+mein Nachtlager aufschlug, da hoerte ich von der andern Seite des
+Steines Singen. Ein andere Wander hatte sich dort wohl schon vor mir
+zur Rast niedergelassen. Sein Lied will ich Euch nicht vorenthalten:
+
+In fremder Welt da traf ich sie,
+Fasste zu ihr Vertrauen.
+Noch war ich jung und unbedarft,
+Wusst' nichts vom MorgenGrauen.
+
+In jener Welt da schien sie mir
+die schoenste aller Frauen.
+In jener Welt sprach sie zu mir,
+Sprach auch vom MorgenGrauen.
+
+Ging sie wohl fort aus jener Welt?
+Sie ward nicht mehr zu schauen.
+So suchte ich und fand ihr Licht,
+Es schien im MorgenGrauen.
+
+
+So sass ich in Gedanken da.
+Wollt ich sie wiederschauen?
+So machte ich mich auf den Weg,
+Brach auf ins MorgenGrauen.
+
+Nun ziehe ich auf meinem Weg
+Durch Berge, Waelder, Auen.
+Ich seh ihr Licht doch seh sie nicht,
+Seh nur das MorgenGrauen.
+
+So bleibt mir nur auf meinem Weg
+Der Welt mich zu beschauen.
+Komm ich je wieder von hier los?
+Verflucht das MorgenGrauen!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eines Abends im MorgenGrauen (Acrimon,  6. Feb 1996, 22:25:19):
+~#! rn=Wanderer rt=823640786
+~#! tid=823640786
+DAS IST ES!
+
+Das Nationallied des MorgenGrauen ist geboren.
+Wanderer, du schreibst Geschichte und sprichst vielen aus der Seele!
+
+Gelobet sei dieser Tag!
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eines Abends im MorgenGrauen (Wur,  8. Feb 1996, 20:32:24):
+~#! rn=Acrimon rt=823641919
+~#! tid=823640786
+Na wenn Du ein Nationallied unbedingt brauchst um selig zu werden, Acrimon,
+dann singe solange wie Du kannst, aber wennes geht in einer Ecke wo ich nicht
+zuhoehren muss.
+
+Wur
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eines Abends im MorgenGrauen (Gast3,  8. Feb 1996, 23:32:30):
+~#! rn=Acrimon rt=823641919
+~#! tid=823640786
+Moment, moment!!!
+Wenn hier ein Nationallied eingefuehrt werden soll, dann moechte ich daran
+erinnern, dass auch ich vor knapp einem Jahr ein solches, vielverspottetes
+geschrieben habe. Im Ernstfall waere dann wohl eine Abstimmung faellig.
+
+Troubadix.
+
+P.S.: Dass Gast3 im Titel genannt wird, ist nicht zu vermeiden gewesen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Eines Abends im MorgenGrauen (Acrimon,  9. Feb 1996, 00:03:21):
+~#! rn=Gast3 rt=823818750
+~#! tid=823640786
+Dann stelle es nochmal zur Wahl, Troubadix, und poste es hier!
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Eines Abends im MorgenGrauen (Jimdigriz,  9. Feb 1996, 00:03:56):
+~#! rn=Acrimon rt=823820601
+~#! tid=823640786
+tus lieber nicht, ich erinner mich mit grausen.
+
+JdG.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Eines Abends im MorgenGrauen (Amazora,  9. Feb 1996, 00:10:40):
+~#! rn=Jimdigriz rt=823820636
+~#! tid=823640786
+Ich auch, war furchtbar. Wenn Du es echt wissen willst, Acrimon, dann soll er
+es Dir mailen! Ich mag mir diesen patriotischen Scheiss nicht nochmal
+durchlesen.
+Amazora
+
+-----------------------------------------------------------------------------
+
+
+
+Mumpf (Laila,  9. Feb 1996, 13:56:08):
+Hallo Leute!
+Da Postet einer mal etwas schoenes und dann dies:
+Mecker, motz, 'woa-ist-ja-S*****'
+Wo bleibt denn euer Kultur-Gefuehl :))
+
+Und jetzt STILLE !
+
+Gnaedigst eure Laila
+
+-----------------------------------------------------------------------------
+
+
+
+Damit's hier nicht so leer ist (Wanderer, 26. Feb 1996, 18:34:13):
+Voruebergehn ('ne Art Gedicht)
+
+Was ist Dir ein leichter Regen
+Er wird voruebergehn
+Du Schuettelst die Tropfen ab
+Als waern sie nie geschehn
+
+Was tut Dir ein kuehler Wind
+Er wird voruebergehn
+Du ziehst die Jacke um Dich
+So wird Dir nichts geschehn
+
+Was bin ich in Deinen Augen
+Hast Du mich je gesehn
+Du laesst mich, laesst meine Freundschaft
+An Dir voruebergehn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Damit's hier nicht so leer ist (Amonsul, 27. Feb 1996, 09:43:49):
+~#! rn=Wanderer rt=825356053
+~#! tid=825356053
+Hui, bist Du Huepfer?
+
+-----------------------------------------------------------------------------
+
+
+
+Bloedsinn (Grimmborn, 27. Feb 1996, 15:37:14):
+
+Also, ich hab mich mal entschlossen, hier in loser Folge den einen oder
+anderen Sontext hinzuschreiben. Das hat natuerlich keinen praktischen Nutzen
+und ist mehr eine intellektuelle Selbstbefriedigung (oder so), aber ich
+dachte, was solls.
+Da mich natuerlich nicht eure Meinung dazu interessiert koennt ihr euch die
+replies und mails sparen. Wenns euch nervt duerft ihr gerne eine Diskussion
+ueber den Befehl "ignoriere name.artikel.rubrik" vom Zaun brechen... ;-)
+
+Also, auf gehts!
+
+Ich Dunn Alles Fuer Dich
+------------------------
+
+Ich well dich sinn, hann, foehle, roeche, schmecke
+Kuennt dich Daachs un Naaks vun Kopp bes Foss afflecke
+Kuennt dir 16 Stunde in de Oure luure
+Do bes die schoenste Frau,
+dr Ress sin nur Fijure
+Ich weiss, et haett mich erwisch
+Ich dunn alles fuer dich
+
+Ich stonn em Fuer, wenn do mich nur aanpacks
+Ne Wink jenoech un ich kumme met dr Tax
+Wenn ich dich sinn, dann triff mich dr Schlaach
+Et weed mer nie zovill,
+vun mir us jede Naach
+Ich weiss, et haett mich erwisch
+Ich dunn alles fuer dich
+
+Dat haett ich nie jedaach dat mir sujet passeet
+Ich jenesse jede Ourebleck
+Wer weiss, wann et widder anders weed
+
+Op froeh, op spaet, am Ovend un am Morje
+Wenn ich bei dir ben, maach ich mer kein Sorje
+Alles droemeroem es nur noch Kulesse
+Dat wat wirklich zaehlt, passeet he en de Kesse
+Ich weiss, et haett mich erwisch
+Ich dunn alles fuer dich
+
+(Viva la Diva)
+
+Ach ja, ich vergass zu erwaehnen: Der Test ist in einer lokalen Geheimschrift
+verfasst, also brauchen sich Bayern und Fischkoeppe erst gar keine Muehe zu
+geben. Dechiffrieren ist ausserhalb der Moeglichkeiten. *unschuldig pfeif*
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder einer (Grimmborn, 29. Feb 1996, 17:06:05):
+
+Und noch ein Text in der Sprache, die sie hier in der Gegend als "schoen"
+bezeichnen. Viel Spass beim nicht lesen!
+
+Staenekrank
+-----------
+
+Kumm un schless Ding Aure zo
+Die Nach es sanft und schoen wie Du
+Loss mich Dir zeije wie jaen ich Dich han
+Un halt mich esu e Laeve lang
+
+Kumm un schless Ding Aure zo
+Die Nach es soess un der Mond es wie Du
+Kumm loss uns mache wat uns jefaellt
+Komm loss uns danze bis an et Eng vun der Welt
+
+   Alles drieht sich oem uns eroem
+   Himmel un Aed, Jott un de Welt zesamme, zesamme
+   Un alles drieht sich wie em Kreis
+   Staenekrank un bedrunke vun Dir
+
+Kumm un schless Ding Aure zo
+Die Nach es su soess un dae Mond es wie Du
+Lss mich Dir zeije wie jaen ich Dich han
+Un halt mich esu e Laeve lang
+
+Kumm loss uns mache wat uns jefaellt
+Komm loss uns danze bis an et Eng vun der Welt
+
+Kumm un schless Ding Aure zo...
+Die Nach es sanft un schoen wie Du
+Kumm  un schless Ding Aure zo
+Die Nach es su soess un d'r Mond es wie Du
+
+Kumm un schless Ding Aure zo
+
+(LSE)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Tja, was solls? (Grimmborn,  1. Mar 1996, 14:56:42):
+
+Nun, da ich hier in Linz sowieso keine Chance habe, was anstaendiges zu
+machen zu dieser Zeit, hier ein weiterer Text.
+Diesmal in einer weiteren Fremdsprache verfasst, und da es diesmal eher
+"mainstream" ist vermutlich auch bekannter...
+
+So Far Away
+-----------
+
+Here I am again in this mean old town
+And you're so far away from me
+And where are you when the sun goes down
+You're so far away from me
+
+So far away from me
+So far I just can't see
+So far away from me
+You're so far away from me
+
+I'm so tired of beeing in love and beeing all alone
+When you're so far away from me
+I'm tired of making out on the telephone
+And you're so far away from me
+
+So far away from me
+So far I just can't see
+So far away from me
+You're so far away from me
+
+I get so tired when I have to explain
+When you're so far away from me
+See you've been in thee sun and I've been in the rain
+And you're so far away from me
+
+So far away from me
+So far I just can't see
+So far away from me
+You're so far away from me
+
+(Dire Straits)
+
+Naja, voellig unnoetig, aber ist eh nichts los in der mpa... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Aber warum auch nicht? (Yendi,  1. Mar 1996, 15:43:49):
+
+
+125
+---
+
+
+I'm heading north, I'm going home,
+doing 125,
+I close my eyes and count to ten and
+haha, yeah I'm still alive.
+Perfect perfect tunnel vision,
+razorsharp and racing, racing
+These moments, immortal,
+no one touches this
+
+These things they flow as blood must flow,
+dust to dust and wind must blow,
+nothing that I need to know
+or ever understand.
+These things they flow as blood must flow
+dust to dust and wind must blow
+You can die before you get old
+but me I'm gonna live forever
+an ever ... and ever ... and ever ...
+
+
+The music plays, the party swings,
+the gayety walls come closing in,
+I catch your eye, you take my hand,
+out into the night we run.
+Dancing down these dead end streets,
+howling at the moon like little kids
+Out on the grass on the top of the hill
+your breath tastes sweet
+
+These things they flow...
+
+
+And if I say I hate this place
+don't take it as personal,
+if I say I'm gonna kill somebody,
+doesn't mean to say that I will,
+and I don't think that makes me crazy,
+and anyway I'm way past caring,
+there's a ride leaves out of here at 9,
+what do you say, what do you say
+
+Tonight we'll flow as blood must flow...
+
+
+
+
+Hach jaaa... ich glaube, ich leihe mir mal eben den Wagen meiner Eltern...
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bloedsinn (Schrumpfi,  3. Mar 1996, 15:21:30):
+~#! rn=Grimmborn rt=825431834
+~#! tid=825431834
+Pech gehabt. Ich versteh die Geheimschrift leider.
+
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Schon wieder einer (Stahldorn,  3. Mar 1996, 15:32:29):
+~#! rn=Grimmborn rt=825609965
+~#! tid=825609965
+"Lokale Geheimschrift" ??
+Das kann ja sogar ich doofer Oesi lesen...
+
+-----------------------------------------------------------------------------
+
+
+
+YENDI !!! (Oetti,  4. Mar 1996, 10:07:46):
+Seufz !
+Yendi Du hast ja richtig Musikgeschmack !!!!
+
+NA ja jedenfalls MEINEN ;-))
+
+*knuddels* von
+
+Don Oett
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer Oetti... };-> (Yendi,  4. Mar 1996, 16:01:32):
+
+Au petit Matin
+--------------
+
+
+Au petit matin,
+Les fleurs de mon jardin
+S'ouvraient a la vie,
+Et je me vois encore,
+Couverte de rosees,
+Apres la nuit passee,
+A rire, a dancer, a aimer...
+
+Au petit matin,
+Ils viendront me chercher
+Et me conduiront
+Par les rues de la ville
+Dans un chariot de bois
+Jusqu'a l'horribl' endroit --
+Mon dieu, epargne moi la peur...
+
+
+(Voellig schnulziger Refrain weggelassen..)
+
+*seufz*
+
+Ich hoffe mal, dass das einigermassen korrekt geschrieben ist,
+mein Fronssoesiesch ist ein wenig eingerostet. :(
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bloedsinn (Grimmborn,  4. Mar 1996, 16:37:36):
+~#! rn=Schrumpfi rt=825862890
+~#! tid=825431834
+
+Tststs, da hab ich extra am Anfang geschrieben, ihr koennt euch replies und
+mail sparen und dann kommen gleich 2 Reaktionen. Phh, selber schuld, dafuer
+kommt hier ein ganz besonders albernes Lied:
+
+Was macht der Herr da (bei Fraeulein Gerda)
+-------------------------------------------
+
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+Er ist ganz deutlich, messerscharf zu sehn
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+An einem Nachmittag um sechzehn Uhr und zehn?
+
+Ist es etwa der Kassierer nur vom Gase?
+Oder gar ein Wuestling, knapp vor der Extase?
+Will vielleicht er nur der Kuehlschrank reparieren?
+Gott, er wird doch nicht die Aermste massakrieren?
+
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Man weiss es nie,
+Was vis a vis
+Sie da so treibt
+Die Frage bleibt,
+Jaaaaaaaa
+Die Frage bleibt:
+
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+Er ist ganz deutlich, messerscharf zu sehn
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+An einem Nachmittag um sechzehn Uhr und zehn?
+
+Koennt sich ja um einen Heiratsschwindler handeln.
+Oder um den Arzt, und sie hats mit den Mandeln.
+Sicher trinkt er und raucht zu viel Zigaretten!
+Das nimm noch ein schlechtes Ende, woll'n wir wetten?
+
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Man weiss es nie,
+Was vis a vis
+Sie da so treibt
+Die Frage bleibt,
+Jaaaaaaaa
+Die Frage bleibt:
+
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+Er ist ganz deutlich, messerscharf zu sehn
+Was macht der Herr da,
+Bei Fraeulein Gerda?
+An einem Nachmittag um sechzehn Uhr und zehn?
+
+Muss ein ziemlich unmoralischer Patron sein
+Koennt genauso ein australischer Spion sein
+Nein, der will in einen Harem sie entfuehren!
+Sollte man nicht doch die Wache alarmieren?
+
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Was meinen Sie?
+Man weiss es nie,
+Was vis a vis
+Sie da so treibt
+Die Frage bleibt,
+Jaaaaaaaa
+Was ist denn das?
+
+Ei hotz!
+Was macht er?
+Der Klotz!
+Jetzt lacht er!
+Und schliesst ganz ruecksichtslos den Vorhang, sehen Sie
+Wie schreck-
+lich ist es
+Ich ah-
+ne Wuestes
+Na wir zumindest haben ja ein Alibi!
+
+(Die Vielharmoniker)
+
+Ja, und das ganze ist dann noch als flotter Tango zu denken.
+
+Grimmborn der Atheist warnt vor replies: Da gibts noch viel schnulzigere
+Lieder...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bloedsinn (Schrumpfi,  4. Mar 1996, 23:11:59):
+~#! rn=Grimmborn rt=825953856
+~#! tid=825431834
+Hab ich schon jemals drauf gehoert, was Du gesagt hast? :-)
+Her mit den Schnulzen! ;-)
+
+Schrumpfi gibt nicht auf, bevor da nicht ein Text von Hans Albers oder Freddy
+Quinn ist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Bloedsinn (Yendi,  5. Mar 1996, 12:54:43):
+~#! rn=Schrumpfi rt=825977519
+~#! tid=825431834
+
+Schnulzen willst Du, Schrumpfi? Schnulzen sollst Du haben!
+
+
+*raeusper*
+
+
+In suesser Lenznacht, bei der Sterne Schein,
+Vom hellen Mondenglanze uebergossen,
+Von Kuehl' und Duft und Stille mild umflossen
+Ging ich mit ihr vertraulich und allein,
+In suesser Lenznacht, bei der Sterne Schein.
+
+Reich an Gefuehlen, doch an Worten arm
+Ruht Arm in Arm in seligem Umfangen,
+Liegt Aug' in Aug', und Wange ruht an Wangen.
+"Dein, Dein auf ewig!" ruf ich wahr und warm,
+Reich an Gefuehlen, doch an Worten arm.
+
+
+
+
+(Fuer die Korrektheit der zweiten Strophe will ich meine Hand lieber nicht
+ ins Feuer legen... Ausserdem gabs da, wenn ich mich nicht irre, noch eine
+ dritte Strophe, mal sehen, ob ich die noch irgendwo auftreiben kann.)
+
+
+Das Ganze ist von irgendeinem Christian soundso Freiherr von irgendwo...
+
+
+
+
+
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Bloedsinn (Schrumpfi,  6. Mar 1996, 20:09:30):
+~#! rn=Yendi rt=826026883
+~#! tid=825431834
+*applaudier*
+
+-----------------------------------------------------------------------------
+
+
+
+Poems for no reason. (Oetti, 10. Mar 1996, 15:42:35):
+Hi Kinners !
+
+Es ist soweit hier eine selbstverfasste Ode an den Fruehling !
+
+Fruehling Du alte Pottsau ! (*grins Arien an*)
+
+Und wieder rinnt der Morgentau,
+leise froestelnd durch die Haende.
+
+Und wieder merken Mann und Frau,
+dezentes prickeln in der Lende.
+
+Und wieder steh ich hier und da,
+und traeume von dem Ende.
+
+Und wieder denk ich lauthals ja,
+und wieder glaub ich dieses Jahr,
+und wieder weiss nicht, ist es wahr,
+und wieder denk ich Selbstbetrug,
+und frag mich was sie gestern trug,
+und frag mich wie sie morgen heisst,
+wenn sie mich wieder mal bescheisst,
+wenn ich sie wieder ueber hab,
+die letzte will ich,
+bis ins Grab.
+
+
+Is ja schrecklich ! ;-)
+
+Oettl
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht der Gedichte (Grimmborn, 11. Mar 1996, 17:14:21):
+
+So, hier kommt das Gedicht der Gedichte. Wers nicht mag ist doof und stinkt,
+aber ansonsten interessiert mich die Meinung des Mobs (wie ueblich) nicht. ;-)
+
+Paul Celan
+
+Todesfuge
+
+Schwarze Milch der Fruehe wir trinken sie abends
+wir trinken sie mittags und morgens wir trinken sie nachts
+wir trinken und trinken
+wir schaufeln ein Grab in den Lueften da liegt man nicht eng
+Ein Mann wohnt im Haus der spielt mit den Schlangen der schreibt
+der schreibt wenn es dunkelt nach Deutschland dein goldenes Haar Margarete
+er schreibt es und tritt vor das Haus es blitzen die Sterne er pfeift seine
+   Rueden herbei
+er pfeift seine Juden hervor laesst schaufeln ein Grab in der Erde
+er befiehlt uns spielt auf nun zum Tanz
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich morgens und mittags wir trinken dich abends
+wir trinken und trinken
+Ein Mann wohnt im Haus und spielt mit den Schlangen der schreibt
+der schreibt wenn es dunkelt nach Deutschland dein goldenes Haar Margarete
+Dein aschenes Haar Sulamith wir schaufeln ein Grab in den Lueften da liegt 
+   man nicht eng
+
+Er ruft stecht tiefer ins Erdreich ihr einen ihr andern singet und spielt
+er greift nach dem Eisen im Gurt er schwingts seine Augen sind blau
+stecht tiefer die Spaten ihr einen ihr andern spielt weiter zum Tanz auf
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich mittags und morgens wir trinken dich abends
+wir trinken und trinken
+ein Mann wohnt im Haus dein goldenes Haar Margarete
+dein aschenes Haar Sulamith er spielt mit den Schlangen
+
+Er ruft spielt suesser den Tod der Tod ist ein Meister aus Deutschland
+er ruft streicht dunkler die Geigen dann steigt ihr als Rauch in die Luft
+dann habt ihr ein Grab in den Wolken da liegt man nicht eng
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich mittags der Tod ist ein Meister aus Deutschland
+wir trinken dich abends und morgens wir trinken und trinken
+der Tod ist ein Meister aus Deutschland sein Auge ist blau
+er trifft dich mit bleierner Kugel er trifft dich genau
+ein Mann wohnt im Haus dein goldenes Haar Margarete
+er hetzt seine Rueden auf uns er schenkt uns ein Grab in der Luft
+er spielt mit den Schlangen und traeumet der Tod ist ein Meister aus 
+   Deutschland
+
+dein goldenes Haar Margarete
+dein aschenes Haar Sulamith
+
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht der Gedichte (Acrimon, 11. Mar 1996, 19:10:03):
+~#! rn=Grimmborn rt=826560861
+~#! tid=826560861
+Das ist ja schlimmer als ein Vogonengedicht!
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gedicht der Gedichte (Caradhras, 11. Mar 1996, 20:54:51):
+~#! rn=Acrimon rt=826567803
+~#! tid=826560861
+Noe, das ist toll! Das habe ich schon damals in der Schule in der
+11ten Klasse (oh Gott ist das lange her) gedichtsinterpretieren
+muessen und es hat mir (trotz Schule!) gefallen. :)
+
+    *wuschelt Grimmborn* (in Erinnerung)
+
+             Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Wieder mal ein Liedtext (Grimmborn, 12. Mar 1996, 11:09:27):
+
+Ja, vielleicht oute ich mich ja. Aber fuer mich ist das folgende eines der
+schoensten Liebeslieder der Popgeschichte:
+
+Halt mich
+---------
+
+Nehm meine Traeume fuer bare Muenze, schwelge in Phantasien
+Hab mich in Dir gefangen, weiss nicht wie mir geschieht
+Waerm mich an Deiner Stimme, leg mich zur Ruhe in Deinem Arm
+Halt mich nur ein bisschen bis ich schlafen kann
+
+Fuehl mich bei Dir geborgen, setz mein Herz auf Dich
+Will jeden Moment geniessen, Dauer ewiglich
+Bei Dir ist gut anlehnen, Glueck im Ueberfluss
+Dir willenlos ergeben, find ich bei Dir Trost
+
+Bin vor Freude ausser mir, will langsam mit Dir untergehn
+Kopflos, sorglos, schwerelos in Dir verlier'n
+Deck mich zu mit Zaertlichkeiten, nimm mich im Sturm, die Nacht ist kurz
+Friedvoll, liebestoll, ueberwaeltigt von Dir
+Schoen dass es Dich gibt
+
+Komm erzaehl mir was, plauder auf mich ein
+ich will mich an Dir satthoern, immer mit Dir sein
+Betanke mich mit Leben, lass mich in Deinem Arm
+Halt mich nur ein bisschen bis ich schlafen kann
+Halt mich, dass ich schlafen kann
+
+(Herbert Groehl^H^Hnemeyer)
+
+Naja, was solls... *zuck*
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wieder mal ein Liedtext (Creative, 12. Mar 1996, 11:51:28):
+~#! rn=Grimmborn rt=826625367
+~#! tid=826625367
+
+Ein Groehlegeier! Aber ich stimm Dir zu, Grimm... is ein feines Lied...
+
+-Crea-
+(gehoert wieder mal zu den sinnlosen Zustimmartikeln, *self-flame*)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sowas ! (Oetti, 12. Mar 1996, 13:01:44):
+Wasn hier los !
+
+Unglaublich, diese Rubrik wird vollgekitscht, da muss mal jemand
+entgegenwirken.
+
+Ein wirklich schoener Text kommt jetzt !
+
+They went down to the river
+on a warm summer night
+the air was sick with the smell of temptation.
+
+And he said why don't we go in the water
+let the water run over me
+and she grinned and she said and she said
+Now that's a good idea
+and she said and she said
+that's a good idea
+and she said and she said
+now i've been waiting for years and i'd rather be dead
+she said she said
+
+He hold her head, high in his hands,
+he hold her down deep in the stream,
+he saw the bubbles and matted hair
+next thing was she weeped and started to scream
+was ist something I said, was it something I said
+and he said and he said
+now thats a good idea, he said he said
+to be alone with you
+he said he said
+now I've been waiting for years and you'd rather be dead
+he said he said
+
+I saw them from the ocean
+she didn't seem to mind didn't fight it at all
+she didn't fight it at all
+and sometimes I'm best left alone
+and sometimes I'm just left alone
+and sometimes I see you in the water and I and I and I and I
+
+now that's a good idea
+
+Ciao
+ Oettl
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sowas ! (Grimmborn, 12. Mar 1996, 13:56:04):
+~#! rn=Oetti rt=826632104
+~#! tid=826632104
+
+Hmm, angelsaechsische Texte? Sowas kann ich auch. Zu meiner Verteidigung sage
+ich, dass ein Mitglied der Gruppe ein alter Schulkamerad von mir ist. Nein,
+ich mache mich nicht lustig ueber die Leute, kaem ich nie auf die Idee,
+ehrlich nicht!
+
+Slam
+----
+
+Slam the doors are closed now
+Young and strong is the crowd
+Deep, we're getting deeper and deeper
+Into the cities we shout
+We run away against walls of fire
+We really got to get out of this cage
+We were crushed in your arms of justice
+Running wild in our rage
+
+Once you'll understand
+What it's all about
+Then you come to be my friend
+I need a home
+
+Where were you when I needed your help
+Whatever you did you where wrong
+Gimme hope
+Gimme reconciliation
+That is why I sing this song
+
+Once you'll understand
+What it's all about
+Then you come to be my friend
+
+Once you'll understand
+What I mean
+Then you come to be my friend
+
+(Violet)
+
+Naja, geht so...
+                    Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht der Gedichte (Rudiratter, 12. Mar 1996, 17:41:22):
+~#! rn=Grimmborn rt=826560861
+~#! tid=826560861
+die todesfuge und einige andere gedichte findet man uebrigens hervorragend
+vorgetragen von Lutz G"orner im 'Poesiealbum', das es in jeder Buchhandlung
+mit Textheft auf Cassette zu kaufen geben sollte.
+Rudi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wieder mal ein Liedtext (Schrumpfi, 13. Mar 1996, 00:33:49):
+~#! rn=Grimmborn rt=826625367
+~#! tid=826625367
+*SCHREI* Ich will nicht spuelen!!
+
+Schrumpfi denkt in letzter Zeit bei Herbert Groehlemeier nur noch ans
+Spuelen.
+
+-----------------------------------------------------------------------------
+
+
+
+Abermals H. Householder (Yendi, 13. Mar 1996, 13:47:23):
+
+
+
+Dieses kleine Kunstwerk tauchte irgendwann zwischen
+den threads ueber Feuerwaffenbesitz, Sprachfehler und
+wa-weiss-ich in rec.org.mensa auf (und wer sich darueber
+aufregt, dass ich es schon zum zweitenmal poste, der
+kann meinethalben gerne flamen, hier jedenfalls ist es):
+
+
+> >The moving finger writeth on,
+> >And having writ, it falleth down
+> >Drunk with its own glory.
+> >The rest of the tale's less happy though
+> >The thigh, the breast and one big toe
+> >Were eaten--very gory
+> >By H. Householder (owned a gun).
+> >In the night he chanced upon
+> >Their owner.  Second-story
+> >Burglar with a lilting lithp.
+> >H. shot once and didn't myth.
+> >Or even allegory.
+> >
+> >       (Stephanie Smilay)
+
+
+Hach... Wunderbar in seiner surrealistischen Ausdruckskraft...
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Yo ! (Oetti, 18. Mar 1996, 12:33:09):
+Huhu !
+
+So als gegengewicht zu den Weicheitexten, nochmal ein Liedtext, der
+mir besonders gut gefaellt, die Gruppe heisst Sugar, die CD Copper Blue.
+
+Do you know where wou're going
+Do you know where you've been
+Is it simple
+Is it simple
+The chances seemed so slim
+In a cloud is it cloudy
+You've clouded up again
+Your perception
+Your decision, your decision
+
+and I'm, I'm left behind
+I'm left behind, left behind
+It's a matter of time
+
+Your conception from injection
+my rejection
+
+Is protection from a slide
+is projection from the slide
+
+Did it all seem so easy
+so easy to concede
+giving in, giving in
+the chances seemed so slim
+In a moment just a moment
+Oh I felt you rushing in
+You were rushing I am crushing
+your rush to cruise this
+
+I'm oh I'm left behind
+I'm left behind, left behind
+It's a matter of time
+
+Your conception from injection
+my rejection
+
+Is protection from a slide
+is projection from the slide
+
+Now I with your breath on my pillow
+And I with the memory, oh I get to wait it out
+never put it away
+When you left with your death
+I felt empty when i looked back
+on my pillow
+what we used to say
+what we used to say
+
+I'm oh I'm left behind
+I'm left behind, left behind
+It's a matter of time
+
+And I with your breath on my pillow
+And I with the memory, oh I get to wait it out
+never put it away
+When you left with your death
+I felt anger when I looked back
+on my pillow
+And I felt your breath for a moment
+And I heard your voice for a moment
+then I looked back
+on my pillow what you used to say
+what you used to say
+what we used to say
+that the chances seemed so slim
+the chances used to be so slim
+
+No I swim alone
+the slim alone
+
+Is to honour and to obey, to cherish, to worship
+in sickness and in health
+for richer for poorer for anything
+until death do us part
+
+
+Ciao
+Oettl
+
+-----------------------------------------------------------------------------
+
+
+
+Weicheitext (Grimmborn, 18. Mar 1996, 14:23:00):
+
+So, wenn Oetti mit sonem Gedusel ankommt, muss ich ja kontern. Dieser Text
+ist von Robert Long, einem Hollaender der ausserdem noch schwul ist (der Mann
+ist echt gestraft...). Hat aber einige der schoensten sentimentalen Lieder die
+ich kenne.
+
+Du Und Ich
+----------
+
+Ich find so vieles nicht gut
+bin traurig und voll Wut
+Die Zuversicht verliess mich irgendwann
+Dieses Schiff hat ein Leck
+es hat doch keinen Zweck
+zu kaempfen, wenn man nichts mehr aendern kann
+
+Manchmal sage ich zu mir
+Wirf doch die Karten hin
+denn nur wer falsch spielt kann in dieser Zeit gewinnen
+Wer Ideale hat
+braucht gar nicht zu beginnen
+Und auf Vernunft zu setzen, ist ganz ohne Sinn
+Wenn man dann doch kaempft 
+kaempft man gegen bessres Wissen
+weil ja der Ausgang laengst beschlossne Sache ist
+Es geht um Macht -
+und Macht ist Geld
+Erlaubt ist, was die Macht erhaelt
+Wer da nicht mitmacht, ist verrueckt
+oder zumindest Anarchist
+
+Oft denk ich mutlos
+wenn ich noch fuenfzig werd',
+bevor das Pulverfass hier hoch geht, ist's ein Wunder
+Sie spielen ueberall mit Feuer und mit Zunder
+Und eines Tages wird das Irrenhaus zerstoert
+
+Ich habe Angst
+ich gebe zu, ich moechte abhaun
+doch alle Tueren sind versperrt, es ist zu spaet
+Die Zukunft liegt schon hinter uns
+was mir noch Kraft gibt - das bist Du
+Das ist mein Ernst
+ich halt mich fest an Dir, wenn alles untergeht - 
+Denn Du und ich
+das ist wahr
+sind fuer einander da
+Ich hoffe wir sind stark
+Du und ich
+Eines ist fuer mich klar
+im Schatten der Gefahr
+sind wir uns doppelt nah
+Du und ich
+
+(Robert Long)
+
+Hach ja, so richtich was fuers Herz...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Hate (Grimmborn, 18. Mar 1996, 14:26:36):
+
+Wo ich gerade bei Liedtexten bin, folgendes singen Bad Religion auf ihrer
+neuesten CD "The Gray Race":
+
+Hate is a simple manifestation
+Of the deep-seated self-directed frustration
+All he (hier ist ein Druckfehler im INlet der CD!) does is promote fear
+      and consternation
+(Song "Them and Us")
+
+Soweit alles klar und richtig, aber ich frage mich: Seit wann spielen Bad
+Religion im MG? Und unter welchem Namen?
+
+Grimmborn der Atheist. Kanns nicht lassen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weicheitext (Spatz, 18. Mar 1996, 16:48:46):
+~#! rn=Grimmborn rt=827155380
+~#! tid=827155380
+Das ist doch absoluter Humbug, was da in dem Text drinsteht!
+Der versucht ja schon im Anfang jede Hoffnung zu nehmen.
+Hoert nicht auf so einen Schwachsinn!
+
+Spatz, mit (umsetzbaren!) Idealen
+
+-----------------------------------------------------------------------------
+
+
+
+Liedtext (Zardoz, 18. Mar 1996, 17:11:34):
+
+Ok, ich schreib auch mal nen Liedtext :)
+
+Bleaurgh 
+    von Flag of Democracy
+
+fuck
+
+how's it taste that shit you suck
+
+I might be eating dirt
+still I ain't no maggot meat like you
+I despise and laugh at you
+you're just garbage in my way
+
+a snake on your belly
+you smile as you tell me
+the shit you can sell me
+
+there's no hope without you
+just can't cope without you
+I don't wanna know you
+
+fuck
+
+
+Ciao   Zardoz
+
+P.S.: Das Lied ist 17 Sekunden lang...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Liedtext (Yantro, 18. Mar 1996, 17:18:28):
+~#! rn=Zardoz rt=827165494
+~#! tid=827165494
+
+auch ein paar Liedtexte:
+
+Dead!!!
+        (The Ballad of Jimi Hendix, SOD, 4 Sekunden)
+
+Diamonds and Rust!!!
+         (Diamonds and Rust, SOD, 2 Sekunden)
+
+     wer bietet weniger?
+
+                Yantro, Ex-Mosher.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Liedtext (Laila, 18. Mar 1996, 17:19:09):
+~#! rn=Yantro rt=827165908
+~#! tid=827165494
+
+    (The Song of Nothing of Laila, 0 sec)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Liedtext (Bobo, 18. Mar 1996, 17:35:29):
+~#! rn=Laila rt=827165949
+~#! tid=827165494
+Habt ihr letzte Woche das Ende von meinem Song mitgekriegt?
+Ich fang gleich an...
+BoBo, kann am kuerzesten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weicheitext (Sique, 18. Mar 1996, 18:48:05):
+~#! rn=Grimmborn rt=827155380
+~#! tid=827155380
+Fuer euch von Franz Hohler:
+
+Strandgut
+=========
+
+Eines Tages wird an der Kueste irgendeines Meeres, wahrscheinlich im Norden
+etwas stranden, das voll ist von Algen und dicht besetzt mit Muscheln,
+  wahrscheinlich ein Koffer.
+Und die Leute werden sich darum versammeln und beraten, was damit zu tun sei.
+
+Schliesslich beginnt ein Fischer, die Schicht mit dem Messer abzuschaben,
+  da sieht man zwei Schloesser.
+Alsbald geht der Dorfschmied daran, mit dem Hammer und dem Meissel, den
+Koffer
+  zu sprengen.
+Und die Leute recken jetzt ihre Haelse, um zu sehen, was darin ist.
+
+Bald richten sich alle wieder auf und es steigt aus ihrer Mitte ein Laut
+  der Enttaeuschung.
+Nichts ist zu sehen in dem Koffer ausser einem Schimmel von schwaerzlicher
+  Farbe.
+Und am Boden liegt ein flaches, rundes Stueck von einem Stein, das traegt
+  eine Inschrift.
+
+Niemand jedoch versteht die Inschrift und keiner kennt die Sprache, in der
+  sie verfasst ist.
+Da ruft man den Dorfschullehrer herbei und fragt, ob er verstehe, was darauf
+  geschrieben.
+Und der Dorfschullehre nimmt den Stein in seine Hand und beginnt zu lesen:
+
+Diesen Koffer werde ich,
+Servatius Omnignosticus,
+Prorektor, Arzt und Humanist zu Amsterdam,
+heute, den 14. Jun 1493, auf hoher See versenken.
+Darin gefangen und gebannt auf immer
+habe ich die schauerlichste Geisel der Menschheit,
+den Virus einer Seuche, gegen die die Pest ein Schnupfen ist.
+Gott verhuete, dass dieser Koffer je gehoben wird.
+
+                                                    Sique
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weicheitext (Creative, 19. Mar 1996, 09:54:33):
+~#! rn=Sique rt=827171285
+~#! tid=827155380
+
+Also, streich den Titel...
+Das hat nix mit Weicheitext zu tun
+Weiter solche Texte!
+
+-Crea-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Einen hab ich noch... (Oetti, 19. Mar 1996, 10:35:45):
+Sooo auch wieder ein schoenes Leidenslied ;-)
+
+Deine Lakeien, Lonely, tolle Version auf der acoustic CD
+
+
+lonely
+where should I be this has left my eye
+slowly
+life is running through my fingers like sand
+call me
+and I'll be there wherever you are
+lonely
+and the day hurts a fallen star
+
+and I tried so hard
+and I tried to get out
+but oh the fear kept on strangling my will
+and I tried so hard
+yes I tried so hard
+but oh the changes they were harder than still...
+
+lonely
+when the bird calls the break of dawn
+lonely
+when nightfall takes lovers in it's arms
+lonely
+when meadows outside grow green
+falling
+and the waters take out as we're
+flowing
+shall be a place where I fall asleep
+lonely
+the oceans are vast and deep
+
+da capo al fine
+
+und tschuess
+
+Oetti
+
+-----------------------------------------------------------------------------
+
+
+
+Teetasse (Grimmborn, 20. Mar 1996, 14:52:39):
+
+Hier kommt mal wieder eine Schnulze, und sogar auf inlaendisch damit ich auch
+lesen kann was ich geschrieben habe.
+Besonders fuer Dich, Schrumpfi! Teetassen forever!
+
+Wenn Deine Kuesse
+-----------------
+
+[sprechend]
+Ach ja, die Natur und ihre Bedeutung. Meine Lieben, ich habe Freunde, die
+sind mit ueberhaupt GAR nichts zufrieden, es ist eigentlich tragisch...
+
+[singend]
+Ach Du liebe Zeit, wenn Deine Freundin greint
+Weil ihr Saftbock sie verliess
+Spuer ich nur die Lust zu sagen: "Sei keine Gans, Du Gans!"
+Schluss mit dem Geschrei, und der Jammerei
+Du gewinnst ueberhaupt gar nichts damit
+Das ist keine Art und Weise
+Sein Herz neu zu erglueh'n
+
+Was soll denn das Gejammer
+Sich an den Mann zu klammern
+Wenn er sich um Dich schert nen Dreck
+Wenn Deine Kuesse ihn nicht halten koennen
+Na dann schmeiss ihn einfach weg
+Sei lieber wieder lustig
+Anstatt verheult und krustig
+Nur weil er glaubt er braucht sein Glueck
+Wenn Deine Kuesse ihn nicht halten koennen
+Deine Traenen bringen ihn nicht zurueck
+
+Hoer zu, Du, wenn Deiner Kuesse Voodoo
+Deinen Mann nicht mehr verhext
+Na wie kannst Du denn erwarten, als kalter Sonntagsbraten
+Wenn Du Deinen Kopf in'n Ofen steckst
+
+Fang an Dich selbst zu pflegen
+Sagen wir: ins Schaumbad Dich zu legen
+Du bist doch selbst Dein bestes Stueck
+Und wenn Deine Kuesse ihn nicht halten koennen
+Deine Traenen bringen ihn nicht zurueck
+
+[schnell sprechend]
+Sag mir, mein Liebes, worueber weinst Du ueberhaupt, Du koenntest genauso
+gut ueber das zerbrochene Chinaporzellan heulen. Wenn er kalte Fuesse kriegt,
+Deine Traenen werden sie nicht aufheizen. Und eins moechte ich Dir sagen: Es
+gibt kein sichereres Rezept einen Mann aus dem Haus zu treiben als eine
+verheulte Fresse. Lach, und die Welt lacht mit Dir. Wein, und Du schlaefst
+allein! Liebe ist wie Selbstgebackenes, gut und reichlich und welcher Mann
+mag nicht noch einen Haufen Schlagsahne auf den ganzen Suesskram drauf. Und
+wenn rausfindest dass er Dich bescheisst und betruegt auch noch am End gar,
+dann geh raus, mach dasselbe! Seit Jahren wartest Du auf diese Chance!
+Traenen, meine Guete, werden Dir nichts weiter bringen als eine rote
+glaenzende Nase. Also puder ab, mach Dich schoen, geh raus, Party! 
+Maenner kriegst Du zu Tausenden, betrogene Frauen haben Sorgen, hah! Das 
+ist der Grund wofuer Gott Matrosen erschaffen hat. Also hoer auf zu heulen
+und hol Dir einen Neuen, [in Gesang uebergehend]
+nen geilen Matthias oder Jack
+Und wenn Dir seine Kuesse dann nicht mehr geil genug sind
+Na dann schmeiss ihn einfach weg!
+
+(Georgette Dee)
+
+Hmm, ja, gehoert ists noch besser als gelesen... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Oberschnulze (Grimmborn, 20. Mar 1996, 14:55:51):
+
+Und hier ist dann die schnulzigste Schnulze, die ich auf die Schnelle bei mir
+in die Finger bekommen habe. Georgette Dee ist uebrigens eine Diseuse aus der
+Schwulenszene, Kleinkunstpreis um 1994 oder so mit einer umwerfenden
+Buehnenwirkung. Und herrlich schwuelstigen Liedern und Texten, ohne sich aber
+selber zu ernst zu nehmen. Off we go!
+
+Lass das!
+---------
+
+Schaust Du mich an wird mir aegyptisch
+Die schmalen Sterne nehmen mich mit
+Die Blicke tauchen ein wie Perlen
+Und tanzen kribbelnd durch den Bauch
+Lass das! Lass das, ach, lass das!
+
+Doch Deine hellen Blicke wirbeln
+So unbeherrscht auf meiner Stirn
+Es ist als legt ein Tausendfuessler
+In meiner Nasenfalte sich zur Ruh
+
+Ich geb Dich nicht her fuer ein bisschen Orgasmus
+Ich kenne Dich tausend Jahre und mehr
+Ich geb Dich nicht her fuer ein fluechtiges "Lass uns!"
+Mit Dir hab ich goldene Meere gesehn
+Und versunkene Gaerten, seltsam und schoen
+Hab an Deiner Hand ueber Schluchten gehangen
+Und Dir Wasser gegeben und ein Schwert geschenkt
+
+Mit Augen schoener als Saphire
+Kommst Du zu mir von irgendwo
+Du laechelst wie ein Dieb auf Urlaub
+Und breitest Dich als Beute aus
+Lass das! Lass das, ach, lass das!
+
+Doch mit dem Beben Deiner Beine
+Raubst Du mir den Verstand komplett
+Es ist als dreht in meinen Narben
+Sich ein Haustuerschluessel tief ins Herz
+
+Ich geb Dich nicht her fuer ein bisschen Orgasmus
+Ich kenne Dich tausend Jahre und mehr
+Ich geb Dich nicht her fuer ein fluechtiges "Lass uns!"
+Mit Dir hab ich goldene Meere gesehn
+Und versunkene Gaerten, seltsam und schoen
+Hab an Deiner Hand ueber Schluchten gehangen
+Und Dir Wasser gegeben und ein Schwert geschenkt
+
+Und unsre Stimmen beben reichlich
+Und saugen Pulschschlag aus und ein
+Wie junge Katzenabenteurer
+Schenkst Du mir meine Nacht als Glueck
+Lass das! Lass das, ach, lass das!
+
+Doch Du kuesst zum Abschied mir die Finger
+Und ziehst mich tanzend bis zur Tuer
+Es ist wie nie und doch wie immer
+Du bist nie fort kommst nie zurueck
+
+Ich geb Dich nicht her fuer ein bisschen Orgasmus
+Ich kenne Dich tausend Jahre und mehr
+Ich geb Dich nicht her fuer ein fluechtiges "Lass uns!"
+Mit Dir hab ich goldene Meere gesehn
+Und versunkene Gaerten, seltsam und schoen
+Hab an Deiner Hand ueber Schluchten gehangen
+Und Dir Wasser gegeben und ein Schwert geschenkt
+
+(Georgette Dee)
+
+Wetten, das ist der Text, der bisher von den meisten gelesen wurde? Immerhin
+kam das Wort "Orgasmus" vor...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Weil Oetti so faul ist und Guybrush mich gebeten hat (Grimmborn, 20. Mar 1996, 19:11:37):
+
+So, wieder eine Schnulze in der schoenen und klaren Sprache der hiesigen
+Gegend. Ich gebe zu, mit Musik waers noch schoener, aber das .wav file sah
+hier in der mpa so komisch aus.
+
+Paar Daach Froeher
+------------------
+
+Die Schwalve sin widder op heim ahn ahm fleeje;
+ich stonn am Balkon un luhr inne noh.
+Stell mir Marokko vuer, wie jedesmol,
+wie jed Johr un draeum ich woehr do.
+
+Die Daach weede koeoeter un laenger die Naechte.
+Noch joot ene Mohnd, bess et naahx widder friert.
+op einmohl weed mir kloor, 'n dat woor noch nie do:
+Will nit met dissmohl, dat litt wohl ahn dir.
+
+   Do wo du bess, ess dae Nabel der Welt,
+   weiss jetz, wat mir all die Johre jefaehlt.
+   Dieh Haezz ess 'ne Nuemaat, ding Kralle sinn spetz,
+   un wenn ich falle, ddann bess du ming Netz.
+   Dich halt ich fess, dich lass ich nit mieh loss.
+   Do, wo du bess, benn ich endlich zohuss.
+   Haett ich dat bloss paar Daach froeher jewoss!
+   
+Zochvuejel losse sich nit irritiere.
+Die spuere, wo't langjeht, dat hann die em Bloot.
+Richtung Nordafrika woehr wunderbar,
+leis hann ich dae Lockroof jehoot,
+dae Lockroof jehoot.
+
+   Do wo du bess, ess dae Nabel der Welt,
+   weiss jetz, wat mir all die Johre jefaehlt.
+   Dieh Haezz ess 'ne Nuemaat, ding Kralle sinn spetz,
+   un wenn ich falle, ddann bess du ming Netz.
+   Dich halt ich fess, dich lass ich nit mieh loss.
+   Do, wo du bess, benn ich endlich zohuss.
+   Haett ich dat bloss paar Daach froeher jewoss!
+   
+
+(BAP)
+
+Naja, soweit. Langsam gehts ja auch an meine Reserven...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weil Oetti so faul ist und Guybrush mich gebeten hat (Lwaxana, 20. Mar 1996, 19:16:30):
+~#! rn=Grimmborn rt=827345497
+~#! tid=827345497
+Hallelujah und preiset den Herrn, ich dachte schon, das geht ewig so weiter
+:)))
+Lwax - hat ihre persoenliche Hoelle entdeckt, muss irgendwo in der Naehe von
+Bones liegen..
+
+-----------------------------------------------------------------------------
+
+
+
+How many bodies? (Tryfan, 21. Mar 1996, 10:20:42):
+
+ How many bodies are required before we have a problem? G.E.Brown points
+out that this can be answered by a look at history, In eighteenth-century
+Newtonian mechanics, the three-body problem was insoluble. With the birth
+of relativity around 1900 and quantum electrodynamics in 1930, the two- and
+one-body problem became insoluble. And within modern quantum field theory,
+the problem of zero bodies (vacuum) is insoluble. So, if we are out after
+exact solutions, no bodies at all is already to many!
+		R.D.Mattuck   -NY 1976-
+
+-----------------------------------------------------------------------------
+
+
+
+Wie Grimmborn der Atheist seine Naechte verbringt, Teil 1 (Grimmborn, 21. Mar 1996, 16:48:02):
+
+
+Hmm, falls mir jemand vorwerfen wollte, ich wuerde nur Schnulzen kennen,
+hier kommt der Gegenbeweis. Es ist das musikalisch einzige schoene Stueck
+auf der "Chaos", die ansonsten eher grottenschlecht ist. Aber andererseits
+vermutlich Groenemeyers textlich staerkste Platte. Ach ja: Ich bin KEIN 
+ausgesprochener Groenemeyer-Fan, was auch immer hier fuer ein Eindruck 
+entsteht. Aber versucht mal, gute deutsche Texte (bei mir in der Platten-
+sammlung) zu finden, das ist nicht so leicht. Und englisch macht nicht so
+viel Spass zu tippen. Weil geht langsamer. Wer sich beschwert bekommt ne 
+Sonderration "Muenchener Freiheit"...
+Genug der Vorrede, hier ist sie, die Nichtschnulze:
+
+
+Kein Verlust
+------------
+
+Hast lange gelauert
+auf Deinen grossen Sprung
+hast mich vorne bedauert
+mich verleugnet hintenrum
+in meiner schwaechsten Sekunde
+Deinen Dolch nicht mehr versteckt
+
+Hast auch zugetreten
+die Gelegenheit benutzt
+Mitgefuehl geheuchelt
+mich 'runtergeputzt
+aus mir Kapital geschlagen
+fuer Deinen Vorteil verkauft
+
+Erinnerungen hochgehalten
+auf mein Sentiment gebaut
+um mich gekuemmert nach Plan
+laengst die Seiten getauscht
+meine Karten verraten
+am anderen Tisch
+
+Mich mit alten Zeiten geblendet
+Dein linkes Spiel gespielt
+endlich nach Deinen Regeln
+Dich wie der Koenig gefuehlt
+in Deinem Rausch uebersehen
+fuer Dich war's 'ne Nummer zu gross
+
+Hast meinen Freund gemimt
+dabei nur gelitten
+und den Neid nur vergessen
+bei jedem neuen Tritt
+hast mich zum Frass vorgeworfen
+als ich schon laengst nicht mehr stand
+hast meine Schwaeche genossen
+Dein endlicher Kampf
+Dir gings nur noch um's Messen
+Du bist kein Verlust
+
+Fuer mich warst Du nie Gegner
+tausendprozentig vertraut
+Dir alles erzaehlt
+vor Dir Intimstes aufgetaut
+hab Dich vielleicht zwanghaft
+mit 'nem Heiligenschein verseh'n
+
+Hatte nie Probleme
+wer nimmt und wer gibt
+nie rivalisiert
+diese Sicherheit versiebt
+das Leben ist haerter
+wir haben die Unschuld verlor'n
+
+Hast Dir auf die Zunge gebissen
+die Lippen verspannt
+und vom Ehrgeiz zerissen
+nie was beim Namen genannt
+hast mich still erduldet
+immer Haltung bewahrt
+auf Deine Gelegenheit gewartet
+sie sofort genutzt, knallhart
+Dir ging's nur ums Messen
+Du bist kein Verlust
+
+Hast mich still erdultet
+immer Haltung bewahrt
+auf Deine Gelegenheit gewartet
+sie sofort genutzt, knallhart
+Dir ging's nur noch ums Messen
+Du bist kein Verlust
+
+(Herbert Groenemeyer)
+
+
+Hach ja, und dann die Musik dazu...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Wie Grimmborn der Atheist seine Naechte verbringt, Teil 2 (Grimmborn, 21. Mar 1996, 16:48:12):
+Tja, nach dem "Verlust" von Groenemeyer habe ich mich dann gestern in 
+allgemeinem Weltschmerz verloren. Was bei der Musik auch leicht passieren
+kann. Also hab ich dann Robert Long ausgepackt, weil die ganze Platte, auch
+wenn sie hier und da schnulzig ist, doch sehr melancholisch ist. Genau
+richtig um so richtig in duesteren Gefuehlen zu versumpfen...
+
+Jos
+---
+
+Und dann war Jos auf einmal tot
+Er wollte einfach nicht mehr weiterleben
+Er hat sich eines Tages aufgegeben
+Ich sah es kommen und stand bloss daneben
+Er hat nicht nur damit gedroht
+Nein, er stieg einfach aus dem Boot
+
+Man glaubt ja oft, dass man einen kennt
+nun ja, ich habe Jos ganz gut verstanden
+obwohl wir nicht gleich zueinander fanden
+er taute auf, als wir uns besser kannten
+dann ging ein Riss durch den Zement
+dann war er mir nicht mehr so fremd
+Wenn wir zu zweit an stillen Sommertagen
+im Abendrot am dunklen Wasser lagen
+konnte er mir auf einmal alles sagen
+Er hatte sich an mich gewoehnt
+und uns hat nicht mehr viel getrennt
+
+Er sah mir selten in's Gesicht - 
+auch als wir schon beinahe Freunde waren
+er hatte Angst sich ganz zu offenbaren
+er konnte stundenlang in's Leere starren
+Dann wusste ich, er moechte nicht
+dass man das Schweigen einfach bricht
+Er wollte eine harte Schale haben
+sich vor der ganzen Welt in sich vergraben
+ich sass dabei und zwang mich, nicht zu fragen
+denn irgendwie, da wusste ich
+dass er von ganz alleine spricht
+
+Und dann hat er von sich erzaehlt
+von Eltern, die sich immerzu nur streiten
+er hin- und hergerissen zwischen beiden
+und schliesslich lassen sie sich scheiden
+und wen von beiden er auch waehlt
+er fuehlt, dass ihm der andre fehlt
+Er scheint auf einmal ueberall zu stoeren
+zu keinem Menschen richtig zu gehoeren
+Und trotzig will er sich dagegen wehren
+Er moechte Liebe und erhaelt
+viel Schokolade und viel Geld -
+
+Man steckt ihn in ein Internat -
+Am Anfang moechte er vor Heimweh sterben
+Doch was er fuehlt, kann er bald gut verbergen
+Er lernt zu luegen um geliebt zu werden
+Er ist ein schlechter Kamerad
+kaum einer gibt sich mit ihm ab
+Und nach der Schule laesst er sich so treiben
+will nichts erreichen und will nirgends bleiben
+Nur weil er glaubt, ihn koenne keiner leiden
+vertraut er keinem guten Rat
+- und seine Wege sind nicht grad
+
+Das alles hat er mir gesagt
+Er konnte frueher nie darueber reden
+Doch mir erzaehlte er sein ganzes Leben
+Haett' ich ihm damals bloss die Hand gegeben
+und ihm gesagt dass ich ihn mag
+mein Gott, es war sein letzter Tag
+
+Den letzten Brief schrieb er an mich -
+und darin stand: "Auch Du hast mich belogen
+mit Deinem milden Laecheln mich betrogen
+und mich am Ende wieder abgeschoben
+Es denkt halt jeder nur an sich
+Und trotzdem hoffte ich auf Dich -
+Ich fuehlte mich ganz wohl in Deiner Naehe
+Du musst verzeihn, wenn ich so einfach gehe
+das ist nur, weil ich keinen Sinn mehr sehe
+Ich will nicht mehr
+Leb wohl - dein Jos"
+
+(Robert Long)
+
+
+Ja, was soll man da noch gross zu sagen?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Wie Grimmborn der Atheist seine Naechte verbringt, Teil 3 (Grimmborn, 21. Mar 1996, 16:48:31):
+Nach der Vorbereitung durch Groenemeyer und Long bin ich dann ueber einige
+Bluesplatten (wo die Texte nicht mit drin stehen, die Musik aber beein-
+druckend ist) letztendlich bei meinem geliebten Tom Waits versackt. Diese
+wahnsinnige, traurige und oft absurde Musik zusammen mit ebensolchen Texten
+gewinnt bei jedem neuen Hoeren und passt hervorragend zum Ausklang eines
+Weltschmerzabends. Tom Waits hats einfach drauf, nochmal bedeutend besser
+als seine diversen Nachahmer wie Nick Cave zum Beispiel. ;-)
+
+
+Tango till they're sore
+-----------------------
+
+Will ya play that Tarantella
+All the hounds they start to roar
+And the boys all go to hell
+Then the Cubans hit the floor
+And they drive along the pipeline
+They tango till they're sore
+They take apart their nightmares
+And they leave them by the door
+
+Let me fall out of the window
+With confetti in my hair
+Deal out jacks or better
+On a blanket by the stairs
+I'll tell you all my secrets 
+But I lie about my past
+So send me off to bed forever more
+
+Make sure they play my theme song
+I guess daisies will have to do
+Just get me to New Orleans
+And paint shadows on the pews
+Turn the spit on that pig
+Kick the drum and let me down
+Put my clarinet beneath your bed
+Till I get back in town
+
+Let me fall out of the window
+With confetti in my hair
+Deal out jacks or better
+On a blanket by the stairs
+I'll tell you all my secrets 
+But I lie about my past
+So send me off to bed forever more
+
+Just make sure she's all in calico
+And the colour of a doll
+Wave that flag on cadillac day
+And a skillet on the wall
+Cut me a switch or hold your breath
+Till the sun goes down
+Write my name on the board
+Send me off to another town
+
+And then just let me fall out of the window
+With confetti in my hair
+Deal out jacks or better
+On a blanket by the stairs
+I'll tell you all my secrets 
+But I lie about my past
+So send me off to bed forever more
+
+(Tom Waits)
+
+
+Ja, und damit bin ich dann schlafen gegangen. Sechs Stunden Blues machen
+muede, vor allem wenn man das als Nichtneger nicht gewohnt ist...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wie Grimmborn der Atheist seine Naechte verbringt, Teil 3 (Grimmborn, 21. Mar 1996, 16:53:19):
+~#! rn=Grimmborn rt=827423311
+~#! tid=827423311
+
+So, wer sich die Zeiten ansieht, zu dneen ich die letzten drei Artikel
+gepostet habe darf mich zu meiner Fingerfertigkeitt beglueckwuenschen...
+
+Grimmborn der Attheist und Mogler
+
+-----------------------------------------------------------------------------
+
+
+
+Liedtext gesucht (Yendi, 21. Mar 1996, 17:06:14):
+
+Kennt jemand den Text zu "(All it ever does is) Rain" von Johnny Winter?
+
+Da geht die zweite Strophe so ungefaehr
+
+"I got a photograph in living colours,
+ You'd almost think it was alive,
+ It <hmm hmm hmm hmm hmmmm hmm> morning,
+ It <hmm hmm> every night at five.
+ There's a copy of it in my pocket
+ And another on my bedroom wall,
+ There's a hundred that I've torn to pieces
+ But I could never get rid of them all..."
+
+
+Ach ja... Ich glaube, ich muss meinem Bruder mal wieder ein paar Platten
+abluchsen...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wie Grimmborn der Atheist seine Naechte verbringt, Teil 2 (Acrimon, 21. Mar 1996, 18:17:25):
+~#! rn=Grimmborn rt=827423292
+~#! tid=827423292
+Mal ein richtig guter Liedtext in dieser Rubrik :-O
+
+Acrimon der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hate (Schrumpfi, 22. Mar 1996, 22:12:32):
+~#! rn=Grimmborn rt=827155596
+~#! tid=827155596
+Unter den Namen Boing, Jof und Rumata ;-)
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Einen hab ich noch... (Schrumpfi, 22. Mar 1996, 22:16:23):
+~#! rn=Oetti rt=827228145
+~#! tid=827228145
+SCHMILZ!
+Weiter, weiter, weiter, Oetti!! *huepf*
+Schrumpfi steht TOTAL auf 'Deine Lakeien'
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Teetasse (Schrumpfi, 22. Mar 1996, 22:19:53):
+~#! rn=Grimmborn rt=827329959
+~#! tid=827329959
+  :-)
+
+Schrumpfi, die mit den Einzeilern (aua, nicht schlagen, Cat*, ich tus nie
+wieder!)
+
+-----------------------------------------------------------------------------
+
+
+
+Ich auch will! (Schrumpfi, 22. Mar 1996, 22:46:18):
+Hier kommt ein Liedtext von den guten, alten Ton Steine Scherben. Ich glaub
+da fehlt ne ganze Ecke vom Text aber ich kriegs auch nicht mehr so ganz hin,
+is schon zu lange her :)
+
+
+Ich hab getraeumt der Krieg ist vorbei, Du bist hier und wir sind frei
+und die Morgensonne schien.
+Alle Tueren waren offen, die Gefaengnisse leer,
+es gab keine Waffen und keine Kriege mehr,
+das war das Paradies.
+
+Ich hab getraeumt der Winter ist vorbei,
+Du bist hier und wir sind frei
+und die Morgensonne schien.
+Es gab keine Angst und nichts zu verliern,
+es war Friede bei den Menschen und unter den Tieren,
+das war das Paradies.
+
+Der Traum ist aus!
+Der Traum ist aus!
+Aber ich werde alles geben,
+dass er Wirklichkeit wird!
+Aber ich werde alles geben,
+dass er Wirklichkeit wird!
+
+Gibt es ein Land auf der Erde,
+wo der Traum Wirklichkeit ist?
+Ich weiss es wirklich nicht.
+Ich weiss nur eines und da bin ich sicher!
+Dieses Land ist es nicht! Dieses Land ist es nicht!
+
+Der Traum ist ein Traum zu dieser Zeit
+doch nicht mehr lange, mach Dich bereit,
+fuer den Kampf um's Paradies.
+
+Wir haben nicht zu verlieren, ausser unsere Angst,
+es ist unsere Zukunft, unser Land,
+gib mir Deine Liebe, gib mir Deine Hand.
+
+Der Traum ist aus!
+Der Traum ist aus!
+Aber ich werde alles geben,
+dass er Wirklichkeit wird!
+Aber ich werde alles geben,
+dass er Wirklichkeit wird!
+
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Mal ein Liebeslied meiner Art. (Schrumpfi, 22. Mar 1996, 22:49:54):
+So, hier kommt mal ein Liebeslied von mir. Als Gegenstueck zu Heribert
+Grohelemeier sozusagen :)
+
+Ich bin die umstuerzlerische Liebe.
+Der Gegensex.
+Jeder Tag kostet mich Wunden
+dabei bin ich schon jetzt
+zerschunden und voellig blutverschmiert.
+
+Meine Seele brennt!
+
+Du faengst im Taxi an zu heulen,
+bloss weil ich sage,
+dass ich bei dem Konsum
+in zwei Jahren tot bin.
+Alle Idole muessen sterben.
+Meine Seele brennt!
+
+Ich versteck mich, sitz in meinem Loch
+und warte auf die Traeume, die mich retten.
+Sie kommen nicht.
+Liebe ist ein Scheiterhaufen
+auf dem ich langsam aber sicher
+von innen her zum Rand verbrenne.
+
+Ich hab gekostet
+bin zu weit gegangen
+werd den Geschmack nicht los.
+Vielleicht ist nur entzuendet?
+Vielleicht ist nur entzuendet was da brennt?
+Anstelle meiner Seele
+An der Stelle meiner Seele.
+Meine Seele brennt!
+
+Das Lied ist von den Einstuerzenden Neubauten
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ein Liedchen (Schrumpfi, 22. Mar 1996, 22:54:10):
+GREEN DAY
+"Basket Case"
+
+
+
+Do you have the time
+To listen to me whine
+About nothing and everything
+All at once
+I am one of those
+Melodramatic fools
+Neurotic to the bone
+No doubt about it
+
+Sometimes I give myself the creeps
+Sometimes my mind plays tricks on me
+It all keeps adding up
+I think I'm cracking up
+Am I just paranoid?
+I'm just stoned!
+
+I went to a shrink
+To analyze my dreams
+She says it's lack of sex
+That's bringing me down
+I went to a whore
+He said my life's a bore
+And quit my whining cause
+It's bringing her down
+
+Grasping to control
+So you better hold on
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+und nochn Lied... (Flinx, 23. Mar 1996, 14:45:10):
+OLD LOVE
+
+
+I can feel your body
+When I`m lying in bed
+There's too much confusion
+Going around through my head
+And it makes me so angry
+To know that the flame still burns
+Why can't I get over?
+When will I ever learn
+
+Old love,leave me alone
+Old love, go on home
+
+I can see your face
+But I know that it's not real
+It's just an illusion
+Caused by how I used to feel
+And it makes me so angry
+To know that the flame will always burn
+I'll never get over
+I know now that I'll never learn
+
+Old love,leave me alone
+Old love,go on home
+
+E.Clapton, R. Cray, 1989
+
+
+Blues moegend,
+
+Flinx.
+
+-----------------------------------------------------------------------------
+
+
+
+liedtext in zeitung (Toeter, 24. Mar 1996, 20:12:14):
+So, hier mal einer meiner Favoriten:
+
+-Sick-
+
+I've been living for years in question   some obsession
+Was I less to live without answers as a life cried wolf
+I'm ashamed to mention my anguish but silence lies empty
+If I say it again can I kill it   will you lend me your ears
+
+Breathe in breathe out exhale   acting   sweating
+A broken smile provides them a view   projection is nothing new
+Just once I would like them to feel it   suffer in my skin
+For a moment stand in my shoes  filled with swelling blues
+
+I keep this room and this room keeps me chained to my organs
+I am quarantined to a place thats dark   staring at three walls
+The door is locked to them
+
+"Maybe now that they all know it   you'll find solace"
+As you're drowning in narcissism   or is it self-loathing
+"'Cause you fought it all in your head boy"   psychosomatic
+They used to humor you - now they pity you and nothings changed
+
+I keep this room and this room keeps me chained to my organs
+I am quarantined to a place thats dark   staring at three walls
+The door is locked behind me
+
+If I say it again can I kill it
+If I say it again can I kill it
+If I say it again can I kill it
+Because they are sick of my complaining and I am sick of being sick
+
+Maybe these will cure you completely   chemicals deeply
+Saviors until you're dependent   don't let them go to your head
+I'm ashamed to mention my anguish but silence lies empty
+Silence lies empty
+Silence lies empty
+Silence lies.
+
+-----------------------------------------------------------------------------
+
+
+
+Sittenverfall und Chaos! (Grimmborn, 25. Mar 1996, 16:30:52):
+
+Also, ich glaubs ja nicht. Kaum bin ich mal ein paar Tage nicht da geht hier
+der angelsaechsische Mob ab. Dank an dieser Stelle an Schrumpfi, die
+wenigstens hier und da einen gut deutschen Text eingeschoben hat. Koennt ihr
+mir mal sagen, was das soll? Das hier ist ein DEUTSCHSPRACHIGES mud, da hat
+die ganze NEgermusik nichts zu suchen. Gut, mir ist auch bewusst, dass die
+Deutschen ziemlich unfaehig sind, gute Texte zu schreiben, aber muss man das
+gleich so deutlich darstellen indem man den Eindruck erweckt "ja, ich wollt ja
+was schreiben, hab nur keinen guten deutschen Text gefunden, hab ich halt nen
+englischen genommen". Ist doch peinlich.
+
+Aber eigentlich wollte ich auch einen (natuerlich gut deutsch geschriebenen
+Text) anbringen. Nachdem mich der eine oder andere zum Thema "bisse nu auch rl
+Atheist oder nicht?" genervt hat und ueberhaupt dieses Thema einige sehr zu
+interessieren scheint, hier eine Diskussionshilfe. Manfred Siebald ist ein
+Saenger und Gittarist in enger Verbindung zur Missionsgemeinschaft der
+Fackeltraeger, der christliche Texte mit durchaus schoenen Melodien verbindet.
+Ausserdem ist er auch so ein netter Kerl.
+
+Ich wollte Dich verteidigen
+---------------------------
+
+Ich wollte Dich verteidigen, bei denen, die Dich uebergehn,
+Dich schmaehen, die beleidigen, weil sie Dich einfach nicht verstehn.
+Doch ploetzlich stand nur meine Ehre und nicht mehr Deine auf dem Spiel
+Und meine Weisheit, meine Lehre, weil ich mir nicht als Dein Narr gefiel.
+
+Herr, noch immer faellt es mir schwer,
+mit Dir zu leiden und still zu sein mit Dir.
+Herr, Du trugst ein Kreuz vor mir her.
+Hilf mir zu sehen. Ein leichteres liegt auf mir.
+
+Ich wollte fuer Dich kaempfen, Herr, wie damals Petrus fuer Dich stritt.
+Mich schmerzten Deine Wunden sehr, ich litt ein Stueck des Hasses mit.
+Doch Du hast mich nur angesehen, bis ich begriffen hab:
+Du laesst noch den im Segen gehn, der Dich verfluchte und Dir Schlaege gab.
+
+Herr, noch immer faellt es mir schwer,
+mit Dir zu leiden und still zu sein mit Dir.
+Herr, Du trugst ein Kreuz vor mir her.
+Hilf mir zu sehen. Ein leichteres liegt auf mir.
+
+Ich wollte fuer Dich geradestehn - sie waren wieder mal so weit,
+in Dir den Schuldigen zu sehn fuer Menschenhass und Menschenleid.
+Ich hab zu eifern angefangen und hoerte nicht heraus,
+dass in den Klagen Fragen schwammen, Fragen nach Dir und dem Weg nach Haus.
+
+Herr, Du hast schon lange gesiegt,
+lange bevor ich begann, fuer Dich zu streiten.
+Herr, zeige mir, dass es genuegt,
+andre in Liebe zu Dir zu begleiten.
+
+(Manfred Siebald)
+
+Na also, ein schoener Text, noch dazu in verstaendlicher Sprache. Ausserdem
+schreiben die Angelsachsen nicht bessere Texte, man versteht sie nur
+schlechter und merkt daher nicht gleich, was das fuer ein Schund ist...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sittenverfall und Chaos! (Yendi, 25. Mar 1996, 16:50:09):
+~#! rn=Grimmborn rt=827767852
+~#! tid=827767852
+
+
+Hey! Endlich einer, der Manfred Siebald kennt!
+Da muss ich doch gleich auch noch einen bringen:
+
+(Titel vergessen)
+
+Nur nicht aus der Ruhe bringen lassen,
+Nur nicht das Gesicht verlieren,
+Und am besten gar nicht ruehren,
+Gar nicht erst damit befassen,
+Nur nicht irre machen lassen!
+
+Sagte auch der Herr, dem man erklaerte,
+Dass sein Fahrschein zwar in Ordnung,
+Doch der Zug in dem er sass der Falsche sei,
+Und er hob mit vielen Argumenten
+Zu beweisen an,
+Dass man das nicht so sagen kann,
+Die Gegend sei doch angenehm
+Und auch sein Sitz sei sehr bequem...
+
+Nur nicht aus der Ruhe bringen lassen...
+
+Sagte auch die Dame im Orchester,
+Die voll Inbrunst Haydn geigte,
+Als man im Programm schon bei Vivaldi war,
+Und sie verwies recht aergerlich
+Auf ihren satten Bogenstrich
+Und meinte selbstbewusst und froh,
+Ihr Spiel, das laeg ja sowieso
+Auf einem hoeheren Niveau...
+
+Lass Dich doch mal aus der Ruhe bringen,
+Fang mal wieder an zu denken,
+hoer auf, von Dir abzulenken,
+Gott fragt Dich nach Deinem Leben
+Und Du sollst ihm Antwort geben.
+
+
+Das Ganze dann mit einer Ohrwurmmelodie... Huebsch.
+
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+PUNKROCK RULES! (Schrumpfi, 25. Mar 1996, 17:27:19):
+So, mal einen anstaendigen Songtext hier schreiben. Besonders fuer meinen
+ueber alles geliebten Daemonengatten Zardoz :-)
+
+WE'VE GOT A BIGGER PROBLEM NOW
+
+I am Emperor Ronald Reagan
+Born again with fascist cravings
+Still, you made me president
+
+Human rights will soon go 'way
+I am now your Slash today
+Now I command all of you
+Now you're gonna pray in school
+I'll make me sure they're christians too
+
+California ueber alles
+Ueber alles California
+
+Klu Klux Klan will control you
+Still you think it's natural
+Nigger knockin' for the master race
+Still you wear the happy face
+
+You closed your eyes, can't happen here
+Alexander Haig is near
+Vietnam won't come back you say
+Join in the army or you will pay
+
+California ueber alles
+Ueber alles California
+
+Welcome to 1984
+Are you ready for the Third World War?!?
+You too will meet the secret police
+They'll draft you and they'll jail your niece
+
+You'll quietly to boot camp
+They'll shoot you dead, make you a man
+Don't you worry, it's for a cause
+Feeding global corporations' claws
+
+Die on our brand new poison gas
+El Salvador or Afghanistan
+Making money for President Reagan
+And all the friends of President Reagan
+
+California ueber alles
+Ueber alles California
+
+Dead Kennedys (In God we trust, Inc)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: PUNKROCK RULES! (Schrumpfi, 25. Mar 1996, 18:03:08):
+~#! rn=Schrumpfi rt=827771239
+~#! tid=827771239
+Und weil wir ja so gluecklich verheiratet sind, widme ich Zardoz gleich noch
+eines. :-)
+
+CALIFORNIA UEBER ALLES
+
+I am Govener Jerry Brown
+My aura smiles
+and never frowns
+Soon I will be president....
+Carter power will soon go away
+I will be Fuehrer one day
+I will command all of you
+Your kids will meditate in school
+California ueber alles
+Ueber alles California
+Zen fascists will control you
+100% natural
+You will jog the master race
+And always wear the happy face
+Close your eyes, can't happen here
+Big Bro' on white horse is near
+The hippies won't come back you say
+Mellow out or you will pray
+California ueber alles
+Ueber alles California
+Now it's 1984
+Knoc knock at your front door
+It's the suede/denim secret police
+They have come for your uncool neice
+Come quietly to the camp
+You'd look nice as a drawstring lamp
+Don't you worry, it's only a shower
+For your clothes here's a pretty flower
+DIE on organic poison gas
+Serpent's egg's already hatched
+You will crack, you little clown
+When you mess with President Brown
+California ueber alles
+Ueber alles California
+
+Dead Kennedys (Fresh fruit for Rotting Vegetables)
+
+-----------------------------------------------------------------------------
+
+
+
+was passendes zu so spaeter Stunde# (Grimmborn, 25. Mar 1996, 20:02:50):
+
+Tja, wo ichs hier schon rumfliegen habe, was solls? Ist ein all-time
+Klassiker, also duerfte die Melodie den meisten bekannt sein. Off we go:
+
+Komm unter meine Decke
+----------------------
+
+Komm unter meine
+Komm unter meine 
+Komm unter meine Decke
+
+Der eine braucht nen Cadillac sonst beisst kein Maedchen an
+Der and're braucht dazu viel Alkohol
+Und einer mimt mit Bodybuilding einen starken Mann
+Und nimmt sich selbst als Einziger fuer voll
+Ein and'rer meint er koennt Dich haben mit nem Haufen Geld
+Nein, Maedchen, fall auf sowas nur nicht rein
+Im Notfall komm zu mir, ich werd Dich schuetzen vor der boesen Welt
+Ich habe einen Platz fuer uns allein
+
+Komm unter meine Decke
+Und da mach es Dir bequem
+Bis ich Dich dann wieder wecke
+Soll es Dir nicht schlecht ergeh'n
+Komm unter meine Decke 
+Du brauchst dazu nur etwas Mut
+Und wenn ich mich nach Dir recke und strecke
+Dann wirst Du seh'n wie gut Dir das tut
+
+Der eine hat ein Haartoupet und hoert nur Stereo
+Und hat 'ne Riesenvilla vor der Stadt
+Ich hab ein Zimmer nur mit Kofferradio
+Und fahre nur ein altes Motorrad
+Der eine macht auf ledig, doch er hat 'ne Frau zu Haus
+Und hat 'nen Doktortitel vorneweg
+Ein andrer der verspricht Dir eine Nacht in Saus und Braus
+Bei mir da gibt es Bohnen nur mit Speck
+
+Komm unter meine Decke
+Und da mach es Dir bequem
+Bis ich Dich dann wieder wecke
+Soll es Dir nicht schlecht ergeh'n
+Komm unter meine Decke 
+Du brauchst dazu nur etwas Mut
+Und wenn ich mich nach Dir recke und strecke
+Dann wirst Du seh'n wie gut Dir das tut
+
+Mein alter Ofen ist kaputt und draussen ist es kalt
+Und durch die Ritzen pfeift der Wind
+Erkaelt Dich nicht, ich halt Dich warm und schlafe ein in meinem Arm
+Schlaf ein mit mir, mein schoenes Kind (Schlafe, Prinzessin, schlaf ein)
+
+Komm unter meine Decke
+Und da mach es Dir bequem
+Bis ich Dich dann wieder wecke
+Soll es Dir nicht schlecht ergeh'n
+Komm unter meine Decke 
+Du brauchst dazu nur etwas Mut
+Und wenn ich mich nach Dir recke und strecke
+Dann wirst Du seh'n wie gut Dir das tut
+
+(Die Vielharmoniker)
+
+Ja, das war doch schoen...
+Und macht so richtig Lust, jetzt schlafen zu gehen.
+Die Vielharmoniker sind uebrigens ein Vokalensemble im Stile der Comedian
+Harmonists mit eher humoristischen Interpretationen. Unbekannt, aber sehr
+lohnend.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Genesungslieder (Yendi, 25. Mar 1996, 20:33:46):
+
+... oder, wie Lea (rymes with sea) Jones sie genannt hat:
+
+"Songs of Recovery"
+
+Da ist hinten auf der Cassette ein Lied versteckt, das lautet
+Something you want that much will make you crazy,
+Something you need that bad will make you pay.
+You drive around the block past her house when you know she's not home,
+And that's the ninth or tenth time today.
+
+Desperate allies in a dangerous game now,
+All the kids wanna do is to soften the pain.
+In just a couple of years, they'll be women and men,
+No words can tell it, it feels so insane
+
+So we're teaching these kids that they can't be alone now,
+Now they fill up the time with TV, drugs and sex,
+Talking 'bout parties and love when they're eleven years old.
+Pregnant teenagers, what the hell do you expect...
+Pretty little babies have'm babies, have'm babies
+
+Something you want that much will make you crazy,
+Something you need that bad will make you cry.
+Your baby is hungry and cold, your baby is crying and she won't go to sleep;
+You can't think about it now, you'd rather get high.
+
+So you're looking for someone new to make you happy
+ (gonna make you _happy_, baby),
+So you're looking for romance now to make you whole.
+And now it's you and your lover, sitting there in the cold.
+
+I know some people, they don't wanna know hunger (can't blame them),
+You know some people just as soon would not cry,
+So they fill in the blanks of their lives with some
+ pieces that just don't fit right;
+Maybe they get married, maybe they just keep getting high.
+
+Something you want that much will make you suffer (gonna make you suffer,
+baby),
+Something you need that bad will make you cry.
+You grab without tenderness, with a grip that'll surely break bones,
+You wind up alone again now and you don't know why.
+
+Something you want that much will make you crazy,
+Something you need that bad will make you pay.
+I drive around the block past your house when I know you're not home,
+And that's the fifteenth time today
+ (and that's the sixteenth time today).
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: was passendes zu so spaeter Stunde# (Baron, 25. Mar 1996, 21:17:33):
+~#! rn=Grimmborn rt=827780570
+~#! tid=827780570
+Ich sage nur: 'Kein Schwein ruft mich aaaann, keine Sau interessiert sich
+fuer miiiiich *traeller*
+Super!
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder ich... (Schrumpfi, 25. Mar 1996, 23:36:31):
+Hier kommt eines meiner Lieblingslieder, richtig schoen Depri-Sound. :-)
+
+Ein neuer Tag beginnt
+auf der Suche nach dem Sinn,
+dem Sinn in meinem Leben, doch ich kann ihn nicht finden.
+
+War's das schon? Kann das alles sein?
+Was kommt danach? Wann ist's vorbei?
+Wer kennt die Antwort auf diese Frage?
+
+Die Tage vergehn, nichts passiert,
+nichts ist geschehn und es rebelliert,
+in den Falten meines Hirns, in den Ecken meiner Seele.
+
+Wieder mal nen Tag verschenkt!
+Wieder mal nen Tag verschenkt!
+
+Die Tage vergehn, nichts passiert,
+nichts ist geschehn und es rebelliert,
+in den Falten meines Hirns in den Ecken meiner Seele.
+
+Ich hab naechtelang gezecht, mich ins Koma gesoffen,
+oft gezielt doch nie getroffen,
+ich weiss wie es ist der Arsch zu sein!
+
+Wieder mal nen Tag verschenkt!
+Wieder mal nen Tag verschenkt!
+
+
+
+
+Von wem das Lied ist, sag ich lieber nicht, weil ich die Band an und fuer
+sich nicht mag aber der Text von dem Lied gefaellt mir extrem gut. :-)
+*zwinker Yantro*
+
+-----------------------------------------------------------------------------
+
+
+
+Jetzt ich ! (Beelzebub, 26. Mar 1996, 14:12:51):
+Jawohl, auch ich habe Langeweile :)
+Hier sind ein paar meiner Lieblingstext:
+
+Der erste ist recht depressiv. Wenns dir nicht gefaellt - lesen brauchst
+du ihn ja nicht :)
+
+Two Winters Only
+----------------
+
+What is it you hope for, even though you are dying?
+And even though life is closing your tiny eyes
+Why did I leave them all?
+I should be with them to die in the same place
+The pain I think should go on forever. For always
+But no. Not mine. Not now. My life now begins
+
+Call me what you will, but I'll die for no man, at all
+My limbs and the life that spreads from them
+Cross my path and you'll suffer like no man before, at all
+What I hunger for, is the trial of God
+
+For just two Winters only did we live for
+My God. What have you become? Dear, dear lord
+
+We could have changed the world, had you been here with me.
+Right now
+Held you in my arms. In my arms, my love
+Jesus wept so man could live forever on earth. In peace
+But my tears. They fall for you. Only you
+
+(My Dying Bride)
+
+
+Hat mal jemand ein Taschentuch fuer mich? *sniff*
+Der Deifi
+
+-----------------------------------------------------------------------------
+
+
+
+Jetzt ich ! #2 (Beelzebub, 26. Mar 1996, 14:23:08):
+Weiter geht's! Jetzt etwas freundlicher :)
+
+Leaves
+------
+
+i close your eyes with my mouth
+now you don't see anything
+but you feel my breath all over
+i can feel you too
+
+although i don't really know you
+i don't really care
+
+cry with me, make my day
+tomorrow all will be gone
+all the sweetness and all the fun
+no, i don't wanna know...
+
+although i don't really know you
+i don't really care
+
+now that you're gone i don't know
+how to really feel inside
+baring the hope to see you again
+i guess i never wil
+
+now that i do really know you
+yes, i really care!
+
+(The Gathering)
+
+Das Beste an diesem Lied ist uebrigens die Saengerin.
+Keine traellert schoener!
+
+leise davonschwebend,
+der Deifi :)
+
+-----------------------------------------------------------------------------
+
+
+
+Jetzt ich ! #3 (Beelzebub, 26. Mar 1996, 14:35:39):
+Nun kommt einer meiner persoenlichen Favoriten.
+
+ACHTUNG: DER FOLGENDE TEXT KOENNTE DEINE RELIGIOESEN GEFUEHLE VERLETZEN.
+LIES ALSO NUR DANN WEITER, WENN DU DIR SICHER BIST, DASS DU KEINE HAST. :)
+
+Christian Woman
+---------------
+
+A cross upon her bedroom wall
+From grace she will fall
+An image burning in her mind
+And between her thighs
+
+A dying God-man full of pain
+When will you cum again?
+Before him beg to serve or please
+On your back or knees
+There's no forgiveness for her sins
+Prefers punishment?
+Would you suffer eternally
+Or internally?
+
+For her lust
+She'll burn in hell
+Her soul done medium well
+All through mass manual stimulation
+Salvation
+
+Body of Christ
+She needs
+The body of Christ
+
+She'd like to know God
+Ooh love God
+Feel her God
+Inside of her - deep inside of her
+
+Jesus Christ looks like me
+
+(Type 0 Negative)
+
+
+Sorry, aber ich find den koestlich :)
+
+der Deifi
+
+-----------------------------------------------------------------------------
+
+
+
+Jetzt ich ! #4 (Beelzebub, 26. Mar 1996, 14:49:51):
+Fuer alle, die meine drei vorherigen Texte gelesen haben:
+Hier kriegt ihr zum Dank dafuer noch ein paar Texte von den wohl
+groessten Dichtern und Philosophen unsere Zeit : MONTY PYTHON :-)
+
+Penis Song (The Not Noel Coward Song)
+-------------------------------------
+
+Isn't it awfully nice to have a penis,
+Isn't it frightfully good to have a dong?
+It's swell to have a stiffy,
+It's divine to own a dick,
+From the tiniest little tadger,
+To the world's biggest prick.
+
+So three cheers for your Willy or John Thomas,
+Hooray for your one-eyed trouser snake,
+Your peace of pork, your wife's best friend,
+Yoer Percy or your cock,
+You can wrap it up in ribbons,
+You can slip it in your sock,
+But don't take it out in public,
+Or they will stick you in the dock,
+And you won't come back.
+
+(Monty Python)
+
+der Deifi :)
+
+-----------------------------------------------------------------------------
+
+
+
+Jetzt ich ! #5 (Beelzebub, 26. Mar 1996, 15:03:21):
+And now to something completely different :
+
+Sit On My Face
+--------------
+
+Sit on my face and tell me that you love me
+I'll sit on your face and tell you I love you too
+I love to hear you o-ra-lise
+When I'm between your thighs
+You blow me away.
+
+Sit on my face and let my lips embrace you
+I'll sit on your face an then I'll love you truly
+Life can be fine if we both sixty nine
+If we sit on our faces
+In all sorts of places
+And play till we're blown away.
+
+(Monty Python)
+
+So, jetzt hab ich kein Bock mehr.
+Hat wahrscheinlich eh keinen interessiert. ;-)
+
+Beelze
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich mal ein Text oberhalb der Guertellinie... (Grimmborn, 29. Mar 1996, 18:22:02):
+
+Nachdem hier so viele Schlagertexte veroeffentlicht wurden hab ich mir 
+gedacht, dem muss man mal entgegenwirken. Und was ist der groesste Gegensatz 
+zum seichten Schlager den man so hat? Richtig, die ehrenwerte Nationalhymne. 
+Zu offiziellen Anlaessen soll ja nur die dritte Strophe gesungen werden (was 
+einen eklatanten Mangel an geschichtlichem Wissen und Sinn fuer Zusammen- 
+haenge der Verantwortlichen beweisst, aber seis drum), daher hab ich auch 
+nur diese hier abgeschrieben. Da sicher jeder die dritte Strophe sowieso 
+kennt und vielen die beiden anderen auch gelaeufig sind (und wiederum 
+einige auch das Horst Wessels Lied kennen duerften, das eigentlich an die 
+dritte Strophe anschliesst...) habe ich hier mal die Kanzlerversion genom- 
+men. Wird besonders gerne vor Fussballaenderspielen und aehnlichen Veran- 
+staltungen gesungen. 
+
+
+Nationalhymne
+-------------
+
+La la la la la la lahala
+La la la la la lahala
+La la la la la la lahala
+La la la la la lahala
+La la lahala la la lalala
+La la la la la laha la
+La la lahala la la lahala
+La laha laha la la la lahala
+
+(Helmut Kohl)
+
+
+Grimmborn der Atheist. Haelt die Fahnen hoch und die Reihen fest geschlossen.
+
+-----------------------------------------------------------------------------
+
+
+
+Morbide... (Grimmborn,  1. Apr 1996, 21:54:25):
+
+So, neue Woche, neuer Text. Erstaunlich, was man fgindet wenn man sucht.
+Folgendes hab ich gefunden, wenn auch (noch) nicht bei mir im Regal:
+
+Mit dem Wissen...
+-----------------
+
+Es ist nicht die Absicht meiner Tat 
+den Kindern ihre Freude zu rauben, 
+aber es wird besser sein sie zu toeten, 
+um sie vor dem Kommenden zu bewahren. 
+Ein sanfter Tod - unbemerkt - kann etwas sehr, sehr Schoenes sein. 
+
+Es ist nicht die Absicht meiner Tat 
+den Kindern ihre Traeume zu rauben, 
+aber es wird besser sein sie zu toeten, 
+denn ihre Traeume werden immer nur haesslich sein 
+und sich ueber ihren Schlaf wie ein dunkler Schatten legen. 
+
+Es ist nicht die Absicht meiner Tat 
+mit dem Tod der Kinder den Zyklus 
+des Lebens zu unterbrechen
+aber es wird besser sein sie zu toeten, 
+denn Erwachsene koennen sehr 
+Gefaehrlich sein 
+sehr gefaehrlich, denn sie vergassen ihre Jugend. 
+sehr gefaehrlich 
+
+Es ist die Absicht meiner Tat 
+allein zu sein 
+Als letzter zufrieden dem Ende des Tages beizuwohnen
+mit der Gewissheit der naechste wird 
+wieder friedlich sein...
+
+(Goethes Erben)
+
+
+Keine Ahnung, was die genommen haben um auf den Text zu kommen, aber ich
+glaube, davon will ich nichts. Im Moment...
+
+Grimmborn der Atheist
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Morbide... (Schrumpfi,  1. Apr 1996, 23:35:55):
+~#! rn=Grimmborn rt=828388465
+~#! tid=828388465
+Klingt gut!
+
+Schrumpfi mag's morbide
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Morbide... (Hate,  2. Apr 1996, 09:38:16):
+~#! rn=Schrumpfi rt=828394555
+~#! tid=828388465
+Der naechste der hier einen Text loslaesst wir verknackt diesen in die HTML
+FOrm zu bringen, wie sie auf der MG Seite Informationen/Kult/LIterarisches
+zu finden ist!
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel. Der Text ist nur zufaellig enthalten... (Grimmborn,  2. Apr 1996, 17:01:19):
+
+Und weiter gehts. Ich muss sagen, je oefter ich "Goethes Erben" hoere, desto 
+besser finde ich sie. Und ich fand sie schon zu Anfang nicht schlecht. Und 
+wenn ich sie schon gut finde, kann ich euch damit auch auf die Nerven fallen.
+Offensichtlich handelt es sich um zwei Leute, die eher Performances als Kon- 
+zerte zu machen scheinen. So kann man nicht eigentlich von "Gesang" reden, 
+der Vortrag der Texte ist auch ueberwiegend mit modulierter Sprechstimme. 
+"Goethes Erben" machen einen sehr schwarzen, morbiden Eindruck; okkulter Ein-
+fluss laesst sich aus dem Inlet, nicht jedoch unmittelbar aus den Texten 
+schliessen. Nun ja, "schliessen" kann man viel, aber wenn mans drauf anlegt 
+sind z.B. die "Eagles" auf den ersten Blick sicher deutlicher okkult ange- 
+haucht. Die Texte sind vornehmlich auf Wirkung und Inhalt ausgerichtet, die 
+Form tritt dahinter zurueck. Da aber meist keine durchgehende Melodie vor- 
+handen ist laesst sich das beim Vortrag kaschieren. Vorgetragen werden die 
+Stuecke mit einer sehr lebendigen, nuancierten Stimme (und mit deutlicher 
+Artikulation! Hurra!) die hin und wieder in den Wahnsinn abzudriften scheint.
+Was im Zusammenhang sicher als plus zu werten ist. Die Begleitung ist spar- 
+sam, eher als Hintergrundmusik denn als Begleitung zu sehen. Zu einer sehr 
+differenzierten Percussion kommen hier und da Keyboard-Spielereien, (angeb- 
+lich echte) Streicher, Saxophone, akustische Gitarre. Aber immer im Vorder- 
+grund steht das Wort. Der erzielte Effekt erinnert ein wenig an eine "Tanz- 
+theater"-Atmosphaere. Ach ja, getanzt wurde bei dem Konzert wohl auch, aber 
+das ist auf der CD nicht so doll zu erkennen. Man kann nicht alles haben. So,
+jetzt aber endlich noch ein Text von "Goethes Erben". Diesmal gehts nicht 
+darum, Kinder umzubringen...
+
+
+So sei es!
+----------
+
+NEEEEEEEEIIIIIIIIIINNN!!!
+
+Sei es das Verlangen den sanften Kuss auf der 
+weissen Haut zu spueren.
+Gemeinsam die Minuten
+auszukosten, die geblieben sind, 
+unbefleckt von all der Schmach
+welcher auserkoren durch
+zerfressene Zungen
+Verborgenes entkleidet
+Der Unschuld der Ahnungslosigkeit beraubt, 
+Gezerrt ans Licht der Gaffer. 
+So sei es!
+
+Doch mein Geist sehnt sich nach dem Dialog
+Dem Spiel der Worte
+Mit ihm erstrahlt die Eleganz dieser Ebene 
+Weder die Tat noch das Wort zaehlt 
+Viel mehr wiegt das was unterlassen blieb
+Das Wort - das nur gedacht 
+Die Tat - die nur geplant
+Alle Zuege - die nur auf dem 
+Schachbrett der Phantasie 
+zu schemenhaftem Dasein thronten.
+Die allumfassende Macht der 
+Sehnsucht, nach Waerme 
+Das Gefuehl ihr allein ergeben zu sein.
+So sei es! 
+
+Auch wenn das Feuer schmerzt 
+Die Glut das Ebenmass zerstoert 
+Ein diffuses Gefuehl entfacht 
+Schmerz und Lust verbindet 
+Unloeschbar bleibt die Sehnsucht..... 
+So sei es!
+
+Auch wenn ihr anders denkt 
+Diese Waerme spendet euch sicher 
+keine Waerme.
+
+(Goethes Erben)
+
+
+Also, wenn ihr was von denen in die Finger bekommt: Reinhoeren! Allerdings 
+moechte ich warnen, ich empfehle das intensive Anhoeren nur in einer "mental 
+stable condition", sonst laeuft man Gefahr, mehr als nur ein paar ep zu ver- 
+lieren... In so einem Fall sollte man sich darauf konzentrieren, die ganze 
+Sache laecherlich zu finden. Das geht (wie ueberhaupt wenn Pathos im Spiel 
+ist) recht leicht, unterstuetzt durch formale Ungereimtheiten und hier und 
+da ein Bild, das nicht ganz so elegant gewaehlt ist. Wenn man sich aber in 
+den Vortrag (die Musik?) fallen laesst faellt das nicht so ins Gewicht. Dann 
+ist die Wirkung enorm. Oder vielmehr fuerchterlich. Auf jeden Fall etwas be- 
+sonderes.
+Aber: Untersucht vorher nochmal eure Lebensversicherung auf eine Selbstmord- 
+klausel...
+
+Grimmborn der Atheist. Haelt sich nach 73:08 "Goethes Erben - Leben im 
+                       Niemandsland" fuer einen Experten. 
+
+P.S. Hmm, mitt den Teilen duerfte ich endgueltig Oetti ausgebootet haben...
+P.P.S. In HTML-Form bringen? Logo, kein Problem, wird erledigt. ASAP. *grins*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Artikel. Der Text ist nur zufaellig enthalten... (Schrumpfi,  3. Apr 1996, 13:27:02):
+~#! rn=Grimmborn rt=828457279
+~#! tid=828457279
+Hmm, wenn ich bei den Texten schon Selbstmordgedanken kriege, dann muesste
+ich mich schon laengst umgebracht haben. Aber kannst ruhig mehr davon posten!
+Wenn Du grade dabei bist, kannste ja auch mal ein paar Texte vom Murder Album
+posten :-)
+Wenn ich schlecht drauf bin, dann muss ich mir Depri-Sound anhoeren, dann
+gehts mir wieder besser. Ja, ich bin verrrueckt, morbide, suicidgefaehrdet,
+Gruftie usw usf
+
+Schrumpfi steht auf Joy Division, Einstuerzende Neubauten, The Cure, Nick
+Cave und den ganzen Depri-Sound
+
+-----------------------------------------------------------------------------
+
+
+
+Intellektuelle Scheisse ! (Oetti,  4. Apr 1996, 12:35:19):
+Alles Muell Grimmborn !
+
+Die echten Wahrheiten sind viel einfacher.
+Also wieder mal ein Text von den Lakeien:
+
+My Winter searches
+My coldness needs
+My sun shines
+My night lies
+My spring will come
+
+My winter is searching you
+My coldness needs you
+My sun is shining
+My night is lying
+My spring will come
+
+My winter is searching you now that you're gone
+My coldness doesn't need you anymore
+My suns don't shine for long
+My night lies in snow and frost
+My spring will come
+My spring will come
+will become
+come your winter
+
+Yeah, yeah, passt auch zur Jahreszeit...
+
+Oettl.
+
+-----------------------------------------------------------------------------
+
+
+
+Tiefes Lila (Yendi,  4. Apr 1996, 15:13:14):
+
+Wo wir alle gerade bei den Jahreszeiten sind (tippt noch jemand die Partitur
+von Verdis "Fruehling" ab? Danke!), hier "Blind" von Deep Purple:
+
+
+I see reflections on the water,
+Autumn colours, summers daughter.
+And as the year is growing older,
+I see winter on my shoulder.
+I stand in the haze, watchin stone made ripples grow,
+On my own...
+Never knew you were needed,
+Till I found myself standing here alone.
+
+And in the water, such a sad face,
+Slowly drowning, such a sad face.
+If only I could change the seasons,
+like a poet, I'd my reasons.
+It started to snow in the middle of july,
+wonder why...
+I never did understand you
+my sorrow is hanging in the gray sky.
+
+
+In the summer days, we flew to the sun
+On melting wings,
+But the seasons changed so fast,
+They'd leave us all behind,
+Blind.
+
+
+
+
+Tjajaaa...
+
+So, den Rest muss ich nochmal ordentlich raushoeren, da bin ich mir bei
+einigen Textstellen nicht ganz sicher.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Intellektuelle Scheisse ! (Schrumpfi, 11. Apr 1996, 21:47:55):
+~#! rn=Oetti rt=828614119
+~#! tid=828614119
+Schick mir all Deine Lakeien Texte!!
+Schrumpfi heute mit Befehlston ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Lakaien - Texte (Laila, 12. Apr 1996, 10:01:37):
+Lakaien - Texte ????
+Schon unter http://www.heim8.tu-clausthal.de/misc/Deine.Lakaien/dl.html
+nachgeschaut ? Dort findest du alle Texte + eine menge Info ueber Lakaien.
+
+Und hier noch die offizielle Site vom Label :
+http://www.netville.de/music/labels/gymnastic/lak.html
+
+So , das wars
+
+Laila
+
+-----------------------------------------------------------------------------
+
+
+
+Herzschmerz und so... (Grimmborn, 12. Apr 1996, 17:01:28):
+Damit das hier nicht einschlaeft oder langweilig wird hab ich wieder mal
+einen Text mitgebracht. Zur Abwechslung sag ich nicht von wem der ist (nein,
+der ist nicht von mir!), ihr koennt ja raten. Loesungsvorschlaege bitte an
+Bloodgore mailen. Hab doch keine Lust, mich mit sowas rumzuaergern, das soll
+mal ruhig Bloody machen...
+Hier also der Text, deutsch und duester, wie sich das gehoert: 
+
+Sieben nach 12
+--------------
+
+Es klingt banal, was ich hier niederschreibe
+So wie ein dummer Schlager 
+Jedes Wort so leer
+Ich geb mir Muehe, dass ich sachlich bleibe
+Doch das ist schwer
+Dort an der Turmuhr kann ich sehn
+Sieben Minuten schon nach zehn 
+
+Zwei Stunden Zeit hab ich mir noch gegeben 
+Fuer diesen Brief, damit Du mich verstehst
+Ich hab versucht, auch ohne Dich zu leben
+Nur dass die Kraft mich jetzt verlaesst
+
+Wie eine Ewigkeit ist jeder Tag gewesen 
+Seitdem Du von mir fortgegangen bist
+Da tut man alles: ausgehn, saufen, lesen
+Dass man vergisst
+Doch das war alles ohne Sinn
+So dass ich heut am Ende bin
+
+Die Zeit laeuft ab, das Leben geht ja weiter 
+Und Deines auch, es faengt ja grad erst an 
+Doch mir erscheint es durchaus nicht mehr heiter 
+Und darum ist es mir zu lang 
+
+Der Brief hier soll so eine Art von Lebewohl sein 
+Such nicht nach einem Vorwurf irgendwo 
+Vielleicht wird Dir wenn Du ihn liest nicht wohl sein 
+Ich meins nicht so
+Wir werden uns nicht wiedersehn 
+Fuer mich wird es jetzt Zeit zu gehn
+
+Wenn man mich morgen finden wird
+Denk dran dass Liebe niemals stirbt
+
+
+
+Ach ja, als kleiner Tip: Das hier ist nicht der erste Text, den ich von
+diesem Interpreten hier poste. Und es ist nicht Groenemeyer.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+null ouvert (Toeter, 18. Apr 1996, 12:49:22):
+Ein kurzes Gedicht:
+
+Gespielt wird: null ouvert
+Gewinn geht an Verlierer
+
+Selbstzufriedbetruegenheit
+...nie mehr zweite Liga.
+
+null null schneider schwarz tim toeter
+
+-----------------------------------------------------------------------------
+
+
+
+Noch'n Gedicht... (Oetti, 18. Apr 1996, 12:54:56):
+Los lueg mich an, los lueg mich an
+Sag nur was ich ertragen kann
+Los lueg mich an, los lueg mich voll
+Die Wahrheit, Scheisse, Supertoll
+Los lueg mich an, nuch mach doch schon
+Ich bins gewohnt, das ist der Lohn.
+
+
+Dummdoof Oetti
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lakaien - Texte (Schrumpfi, 19. Apr 1996, 13:38:09):
+~#! rn=Laila rt=829296097
+~#! tid=829296097
+Hmm, danke. Gibt es zufaellig ne Nick Cave Seite auch?
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Lied, zwo, drei! (Grimmborn, 23. Apr 1996, 10:18:15):
+
+Also, weil das hier gerade bischen einschlaeft und mit Oetti eh nichts
+anstaendiges anzufangen ist ergreife ich die Initiative. Ich hab da ein
+wunderschoenes Fruehlingslied gefunden, passend zur Jahreszeit, in der sich
+das Leben erneuert, die Saefte spriessen und das Glueck ueber alle Menschen
+weht.
+
+
+Der Weg
+-------
+
+Feuchtigkeit mit Angst vermengt
+Mein Koerper folgt
+Die Zeit geht nur vorwaerts, nie zurueck noch bleibt sie stehen
+Haltlos rinnen die Sandkoerner durch die Ritzen meiner Haende
+Sie koennen nicht ein Korn bremsen
+Mit geschlossenen Augen sah ich das Damals
+Die Traenen der Mutter
+Die Feuchtigkeit der Kaelte
+Den Schuldspruch - ohne Worte
+In Angst geboren
+
+Die Hand wird sauber - aber rein?
+Nur scheinbar
+Ich sehe wie das Blut, laengst abgewaschen -
+Die Tat verwest und doch geschehen
+Fahl faellt das Licht ein, vom Stahl getrennt
+Die Ordnung der Koerner umzusetzen
+Wie gerne moechte ich im Sandkasten spielen
+Das Tempo der Zeit bestimmt den Tod
+Wird eins mit den Schritten der Woerter
+
+Sie kommen
+Langsam faellt auch das letzte Korn der Hoffnung
+Das Schloss -
+Die Tuer geht auf - dort wartet nicht die Freiheit!
+Ein Mann in Schwarz spricht seinen Trost
+Was nuetzt der?
+Der Gang ist gelb
+Neonlicht erhellt kalt die Szene
+Meine Kindheit begegnet mir
+Meine tote Mutter wuenscht gute Reise
+Sie sieht gut aus, so jung
+Da liegt die Leiche, ich sehe das weinende Gesicht
+Betaeubt vom Leben setze ich mich auf diesen Stuhl
+Die Gurte werden angelegt
+Die Arme, Beine festgebunden
+Meine Freunde lachten, als ich in den Bach fiel
+Damals, es war ja Winter, die Zeit der Angst
+Ja, die Zeit der Angst
+Die Zeit der Angst
+Eine Haube wird mir aufgesetzt
+Ich werde verkabelt
+Die Stimmen werden leiser
+Ich bin allein
+
+Die letzten Koerner fallen
+Die letzten Koerner fallen
+
+Die Zeit der Angst zersetzt mein Gehirn
+Die Zeit der Angst zersetzt mein Gehirn
+
+(Goethes Erben)
+
+
+Ich empfehle in diesem Zusammenhang den Film "Dead Man Walking", wenn irgend
+moeglich im Original (meinetwegen auch mit Untertiteln).
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Auf Oettis ausdruecklichen Wunsch (Grimmborn, 24. Apr 1996, 12:56:50):
+
+Leider sind Oetti die Texte ausgegangen, aber immerhin hat er sich bei mir
+einen Text gewuenscht. Zufaelligerweise von Goethes Erben,a ber das seid ihr
+ja nun wohl schon gewohnt. Wieterhin gilt: Eure Kritik oder Kommentare
+interessieren mich nicht... ;-)
+
+
+Ich liebe Schmerzen
+-------------------
+
+Seit Tagen liege ich im warmen Wasser
+Ich fuehle mich wohl warm und leicht
+Meine Haut loest sich ganz leicht vom Fleisch
+Ich geniesse den Schmerz er tut gut
+
+Ich liebe Schmerzen
+Warum nicht?
+
+Das Wasser ist tiefrot
+Das Rubinauge beobachtet mich
+Kleine Blutgerinnsel treiben in meinem Saft
+Der Schmerz ist fast unertraeglich
+Aber ich will mehr noch mehr Schmerzen spueren
+
+Ich liebe Schmerzen
+Warum nicht?
+
+Inzwischen kann ich nicht mehr sitzen
+Meine Muskeln liegen frei
+Zitternd bebt mein Koerper brennend
+Neben der Wanne tuermt sich die Haut
+Streifen um Streifen mehren sich meine Schmerzen
+
+Ich liebe Schmerzen
+Warum nicht?
+
+Das rohe Leben liegt huellenlos frei
+schutzlos dem Schmerz ausgeliefert
+
+Meine Liebe zum Schmerz wird mich irgendwann das Leben kosten aber...
+
+Ich liebe Schmerzen
+Warum nicht?
+
+(Goethes Erben)
+
+
+
+Dieses war Teil zwei des Liederzyklus' anlaesslich der Jahreszeit...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auf Oettis ausdruecklichen Wunsch (Hardil, 24. Apr 1996, 13:14:30):
+~#! rn=Grimmborn rt=830343410
+~#! tid=830343410
+
+Also dafuer brauchst DU keinen Goethe oder seine Erben heranzuzeihen,
+Grimmborn, das geht jedem, der auf einem Ascheplatz FUssball spielt, hinterher
+in der Badewanne so.
+Man knibbelt sich die Narbenkruste runter, fragt sich, warum das Wasser rot
+ist, warum man so einen Scheiss-Sport ueberhaupt betreibt, abbaissokee.
+
+-Hardil. Heute mal ganz unkulturell.
+
+-----------------------------------------------------------------------------
+
+
+
+Hitchhiker's guide to the galaxy (Guldukat, 26. Apr 1996, 14:40:38):
+
+Hitchhiker's Guide kommt naechstes Wochenende (Samstag und Sonntag)
+im Fernsehen, (RTL 2, zur Mittagszeit, in zwei Teilen)
+Gul Dukat
+
+-----------------------------------------------------------------------------
+
+
+
+lie society (Toeter, 26. Apr 1996, 15:09:50):
+Fuer ihre Information ist hier ein Gedicht zufoerderlichst gedruckt.
+
+-join the lie group-
+Vereitelt und verfluechtigt
+Das Gefuehl der Gefaelligkeit
+In Deiner Luegenalgebra
+ist Dabeisein alles
+
+Flache Wasser sind tief
+
+-----------------------------------------------------------------------------
+
+
+
+Fatasie-Buecher (Alboin, 26. Apr 1996, 21:20:25):
+Nur wer es noch nicht weiss:
+Der klett-Cotta-Verlag hat ein paar seiner Buecher als Jubilaeumsausgabe in
+Taschenbuchformat herausgebracht.Darunter ist z.B. Nachrichten aus Mittelerde
+von J.R.Tolkien und Der Stein von Duncton (Autor faellt mir nicht mehr ein).
+Jedes Taschenbuch kostet fast 25 DM, ich denke dass muesste wesentlich
+billiger sein als die sonstigen deutschen Ausgaben.
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fatasie-Buecher (Anatol, 26. Apr 1996, 21:48:19):
+~#! rn=Alboin rt=830546425
+~#! tid=830546425
+
+Der Stein von Duncton (William Horwood ;-) ) ist auch sonst als Taschenbuch
+erhaeltlich, zumindest hab ich so eine Ausgabe damals von Tryfan zugeschickt
+bekommen.
+
+Nichtsdestotrotz ist das Buch einfach klasse und waere auch ein Hardcover
+wert. Allemal!
+
+Anatol mag Rebekka aeh den Stein aeh das Buch
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fatasie-Buecher (Caradhras, 27. Apr 1996, 13:32:13):
+~#! rn=Alboin rt=830546425
+~#! tid=830546425
+Ich habe die Nachrichten aus ME auch als Paperback. Und zwar schon
+seit mehreren Jahren.
+
+         Caradhras - hoechster Berg von Moria
+
+-----------------------------------------------------------------------------
+
+
+
+Intelektuelle Scheisse ! (Oetti, 27. Apr 1996, 18:51:19):
+Lass meine Mitte Deine Achse sein
+Um die Dein Leib sich windet
+Lass meine Mitte Deine Achse sein
+Um die Dein Leib sich windet
+Lass mich zwischen Deinen Saeulen wandeln
+Deinen Saeulengang entlang
+Lass mich nicht zoegern noch zieren
+Lustwandeln verlustieren
+In Dir verlieren
+
+Nur sie wird das Licht als erste sehen
+
+Lass mich Dein Delta durchschwimmen
+geneigten Hauptes durchqueren
+Lass mich kosten das wahre Salz der Welt
+Zungenfisch in Deinem See sein
+Den Gang der Welt auf allen Vieren
+Als Karnales Schauspiel inszenieren
+Den Fruehling zelebrieren
+
+Nun sieh ! Die Polkappen schmelzen
+Der Huegel nicht erfroren
+
+Die Axt ist lange schon angelegt
+Den Garten zu deflorieren
+etwas wichtiges zu exhumieren
+Saliva und Honig in einem Mund addieren
+Deine Seele zu exhumieren
+
+Nun zieh mich Dir nach
+Der Winter ist vorbei. Schneeschmelze !
+
+Ich komme
+Aus Irrtum,
+aus Siechtum
+aus dem Fuerstentum
+derer von Sinnen Dich zu freien
+Fuer immer zu befreien
+
+Nur sie wird das Licht als erste sehen
+
+
+
+
+
+Einstuerzende Neubauten
+
+
+Oetti & Klonki (Babes)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hitchhiker's guide to the galaxy (Cauno, 27. Apr 1996, 22:05:21):
+~#! rn=Guldukat rt=830522438
+~#! tid=830522438
+
+Hat man schon gesehen. Aber ich hab die 6 Teile seit ein paar Jahren auf
+Video - vom WDR (ohne &%$&@@@ Werbung.
+Trotzdem ist der HInweis gut, wer findet sich heute noch in der
+Fernsehzeitung zurecht?
+
+					C. No
+					No Panic!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ein Lied, zwo, drei! (Schrumpfi, 28. Apr 1996, 17:58:00):
+~#! rn=Grimmborn rt=830247495
+~#! tid=830247495
+Huch, ich hab Dich wohl mit den Deprisounds angesteckt :-)
+Ich glaub ich muss mir dann wohl mal Goethes Erben besorgen :)
+
+Schrumpfi-hin und hergerissen
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer Guybrush (Caradhras, 28. Apr 1996, 18:53:37):
+         Das Volk ist dumm, das macht der Kohl
+         er blaeht nur unterm Schurze.
+         Den Kopf hingegen laesst er hohl
+         ich sags 'zum Wohl'
+         politisches Gefurze.
+
+         Heinrich Heine
+
+-----------------------------------------------------------------------------
+
+
+
+Alles neu macht der Mai! (Grimmborn, 30. Apr 1996, 19:23:23):
+
+Zum Fruehlingssymbol schlechthin, dem ersten Mai, hab ich was passendes
+gefunden. Bekanntlich ist der Fruehling die Zeit, in der das Leben spriesst
+und alles, was so lange tot schien wieder erwacht. Und zu diesem schoenen
+Thema hab ich also was gefunden:
+
+Rote Traenen
+------------
+
+Es macht mir eigentlich keine Freude
+In meine eigene Hand
+zu schneiden, 
+rote Traenen zu beobachten,
+die einen kleinen Rinnsal bildend mich verlassen.
+Die einzige Moeglichkeit mich an mir zu raechen
+Zu suehnen fuer das was ich sprach und tat.
+Ohne bewusst gehandelt zu haben.
+Es kommt mir vor als haette ich 
+nie gelacht
+nie geweint,
+gelacht
+geweint
+
+Die Bilanz zeigt aufwaerts
+Doch verliert sich die schwarze Linie 
+am Horizont der brennt.
+Mit steigender Tendenz Richtung Unendlichkeit
+Weit entfernt von so etwas wie Gefuehlen.
+
+Ich spuere nicht das Stueck Fleisch,
+dass anstatt meiner rote Traenen weint.
+Im Moment noch wenige
+Und jeder Schritt abseits der Linie wird bestraft
+mit fluesternden Worten die mehr rote Traenen fordern.
+Hoert nur wie sie 
+fluestern und wispern
+schimpfen und geifern
+stechen und bohren
+zerren und beissen
+fordern: rote Traenen zu weinen
+und schliesslich darum betteln
+
+Endlich rote Traenen zu weinen
+Endlich rote Traenen zu weinen
+... rote Traenen zu weinen
+... Traenen zu weinen
+... zu weinen
+... weinen.
+
+(Goethes Erben)
+
+
+Wie heisst es doch so schoen? Gegensaetze ziehen sich an. Also passt der
+Text, schawoll.
+
+Grimmborn der Atheist. Geht gleich Maibaeume setzen.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Gedicht! (Jariel, 30. Apr 1996, 23:50:46):
+
+Freie Wahl mit guten Vorsaetzen
+-------------------------------
+
+                     am Beispiel ueste
+
+ Die ueste hat die freie Wahl:
+ Wenn sie ein W waehlt bleibt sie kahl
+ Wenn sie ein K waehlt wird sie nass -
+ Die freie Wahl macht keinen Spass
+
+
+                           (Erich Fried)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Der alten Linde Sang (Acrimon,  1. Mai 1996, 17:54:37):
+
+Hier nun ein Lied, das Anfang des 19. Jahrhunderts
+der uralten Linde zu Staffelberg zugeschrieben wurde.
+Es wendet sich an einen Teil der in Mitteleuropa wohnenden Leute
+und beschreibt aus lokaler Sicht, was die Linde sah und sieht
+und strickt weiter, was die Linde moeglicherweise noch sehen wird.
+Sie singt von den Irrtuemern des Hasses, der Hochmut und der
+Fremdenfeindlichkeit, von den Freveln speziell des deutschen Volkes,
+von den zerstoererischen Maechten des Luegens und Betruegens,
+von den schrecklichen Fruechten der Umweltzerstoerung,
+von der himmelschreienden Hoffnungslosigkeit nach den Tagen,
+und wie aus dem unsagbaren Leid schliesslich die Erkenntnis erwaechst,
+dass nur echte Liebe und Friede mit allen Menschen der Welt
+eine glueckliche Welt ohne jegliches Leid schaffen kann.
+
+
+
+Der alten Linde Sang
+====================
+
+Alte Linde bei der heiligen Klamm,
+Ehrfurchtsvoll betast' ich deinen Stamm,
+Karl den Grossen hast du schon gesehn,
+Wenn der Groesste kommt, wirst du noch stehn.
+
+Dreissig Ellen misst dein grauer Stamm,
+Aller deutschen Lande aelt'ster Baum,
+Kriege, Hunger schautest, Seuchennot,
+Neues Leben wieder, neuen Tod.
+
+Schon seit langer Zeit dein Stamm ist hohl,
+Ross und Reiter bargest einst du wohl,
+Bis die Kluft dir sacht mit milder Hand
+Breiten Reif um deine Stirne wand.
+
+Bild und Buch nicht schildern deine Kron',
+Alle Aeste hast verloren schon
+Bis zum letzten Paar, das maechtig zweigt,
+Blaetter freudig in die Luefte steigt.
+
+Alte Linde, die du alles weisst,
+Teil uns guetig mit von deinem Geist,
+Send ins Werden deinen Seherblick,
+Kuende Deutschlands und der Welt Geschick!
+
+Grosser Kaiser Karl, in Rom geweiht,
+Eckstein sollst du bleiben deutscher Zeit,
+Hundertsechzig, sieben Jahre Frist,
+Deutschland bis ins Mark getroffen ist.
+
+Fremden Voelkern front dein Sohn als Knecht,
+Tut und laesst, was ihren Sklaven recht,
+Grausam hat zerrissen Feindeshand
+Eines Blutes, einer Sprache Band.
+
+Zehre, Magen, zehr vom deutschen Saft,
+Bis mit einmal endet deine Kraft,
+Krankt das Herz, siecht ganzer Koerper hin,
+Deutschlands Elend ist der Welt Ruin.
+
+Ernten schwinden, doch die Kriege nicht,
+Und der Bruder gegen Bruder ficht,
+Mit der Sens' und Schaufel sich bewehrt,
+Wenn verloren Flint' und Schwert.
+
+Arme werden reich des Geldes rasch,
+Doch der rasche Reichtum wird zu Asch',
+Aermer alle mit dem groessern Schatz.
+Minder Menschen, enger noch der Platz.
+
+Da die Herrscherthrone abgeschafft,
+Wird das Herrschen Spiel und Leidenschaft,
+Bis der Tag kommt, wo sich glaubt verdammt,
+Wer berufen wird zu einem Amt.
+
+Bauer heuert (keifert), bis zum Wendetag,
+All sein Mueh'n ins Wasser nur ein Schlag,
+Mahnwort faellt auf Wuestensand,
+Hoerer findet nur der Unverstand.
+
+Wer die meisten Suenden hat,
+Fuehlt als Richter sich und hoechster Rat,
+Raucht das Blut, wird wilder nur das Tier,
+Raub zur Arbeit wird und Mord zur Gier.
+
+Rom zerhaut wie Vieh die Priesterschar,
+Schonet nicht den Greis im Silberhaar,
+Ueber Leichen muSilberhaar, der Hoechste fliehn
+Und verfolgt von Ort zu Orte ziehn.
+
+Gottverlassen scheint er, ist es nicht,
+Felsenfest im Glauben, treu der Pflicht,
+Leistet auch in Not er nicht Verzicht,
+Bringt den Gottesstreit vors nah' Gericht.
+
+Winter kommt, drei Tage Finsternis,
+Blitz und Donner und der Erde Riss,
+Bet' daheim, verlasse nicht das Haus!
+Auch am Fenster schaue nicht den Graus!
+
+Eine Kerze gibt die ganze Zeit allein,
+Wofern sie brennen will, dir Schein.
+Gift'ger Odem dringt aus Staubesnacht,
+Schwarze Seuche, schlimmste Menschenschlacht.
+
+Gleiches allen Erdgebor'nen droht,
+Doch die Guten sterben sel'gen Tod.
+Viel Getreue bleiben wunderbar
+Frei von Atemkrampf und Pestgefahr.
+
+Eine grosse Stadt der Schlamm verschlingt,
+Eine andre mit dem Feuer ringt,
+Alle Staedte werden totenstill,
+Auf dem Wiener Stephansplatz waechst Dill.
+
+Zaehlst du alle Menschen auf der Welt,
+Wirst du finden, dass ein Drittel fehlt,
+Was noch uebrig, schau in jedes Land,
+Hat zur Haelft' verloren den Verstand.
+
+Wie im Sturm ein steuerloses Schiff,
+Preisgegeben einem jeden Riff,
+Schwankt herum der Eintags-Herrscherschwarm,
+Macht die Buerger aermer noch als arm.
+
+Denn des Elends einz'ger Hoffnungsstern
+Eines bessern Tags ist endlos fern.
+"Heiland, sende den du senden musst!"
+Toent es angstvoll aus der Menschen Brust.
+
+Nimmt die Erde ploetzlich andern Lauf,
+Steigt ein neuer Hoffnungsstern herauf?
+"Alles ist verloren!" hier's noch klingt,
+"Alles ist gerettet", Wien schon singt.
+
+Ja, von Osten kommt der starke Held,
+Ordnung bringend der verwirrten Welt.
+Weisse Blumen um das Herz des Herrn,
+Seinem Rufe folgt der Wackre gern.
+
+Alle Stoerer er zu Paaren treibt,
+Deutschem Reiche deutsches Recht er schreibt,
+Bunter Fremdling, unwillkommner Gast,
+Flieh die Flur, die du gepfluegt nicht hast.
+
+Gottes Held, ein unzertrennlich Band
+Schmiedest du um alles deutsche Land.
+Den Verbannten fuehrest du nach Rom,
+Grosse Kaiserweihe schaut ein Dom.
+
+Preis dem einundzwanzigsten Konzil,
+Das den Voelkern weist ihr hoechstes Ziel,
+Und durch strengen Lebenssatz verbuergt,
+Dass nun reich und arm sich nicht mehr wuergt.
+
+Deutscher Nam', du littest schwer,
+Wieder glaenzt um dich die alte Ehr',
+Waechst um den verschlung'nen Doppelast,
+Dessen Schatten sucht gar mancher Gast.
+
+Dantes und Cervantes welscher Laut
+Schon dem deutschen Kinde ist vertraut,
+Und am Tiber- wie am Ebrostrand
+Liegt der braune Freund von Hermannsland.
+
+Wenn der engelgleiche Voelkerhirt'
+Wie Antonius zum Wandrer wird,
+Den Verirrten barfuss Predigt haelt,
+Neuer Fruehling lacht der ganzen Welt.
+
+Alle Kirchen einig und vereint,
+Einer Herde einz'ger Hirt' erscheint.
+Halbmond maehlich weicht dem Kreuze ganz,
+Schwarzes Land erstrahlt im Glaubensglanz.
+
+Reiche Ernten schau' ich jedes Jahr,
+Weiser Maenner eine grosse Schar,
+Seuch' und Kriegen ist die Welt entrueckt,
+Wer die Zeit erlebt, ist hochbeglueckt.
+
+Dieses kuendet deutschem Mann und Kind
+Leidend mit dem Land die alte Lind',
+Dass der Hochmut mach' das Mass nicht voll,
+Der Gerechte nicht verzweifeln soll!
+
+
+
+Verfasser unbekannt.
+
+
+
+
+PS: In schrecklicher Weise hat der Nationalsozialismus Anfang unseres
+Jahrhunderts bewiesen, welchen Irrweg man gehen kann.
+Es scheint so, als habe man daraus gelernt, jedoch haben sich weder
+Hasz noch Betrug auf der Welt gelindert, geschweige denn ganz gelegt.
+Es stehen uns wohl noch viele Bemuehungen bevor.
+(Das war die Moral von der Geschicht' von Acrimon, dem Roten Ritter.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der alten Linde Sang (Grimmborn,  2. Mai 1996, 14:07:54):
+~#! rn=Acrimon rt=830966077
+~#! tid=830966077
+
+Huch, was gibt denn das? Einen Wettbewerb "Wer kann das laengste Gedicht
+posten"? Da sollt ich langsam mal anfangen, "The Hunting of the Snark" zu
+suchen. Wenn der Wettbewerb allerdings lautet "Wer kann das langatmigste
+Gedicht posten" erklaere ich mich geschlagen. Da komm ich nicht mal in die
+Naehe...
+
+Grimmborn der Atheist baut sorgfaeltig ein neues Feindbild auf.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Intelektuelle Scheisse ! (Schrumpfi,  3. Mai 1996, 02:59:29):
+~#! rn=Oetti rt=830623879
+~#! tid=830623879
+Ich bin die umstuerzlerische Liebe.
+Der Gegensex.
+Jeder Tag kostet mich Wunden
+dabei bin ich schon jetzt
+zerschunden und voellig blutverschmiert.
+
+Meine Seele brennt!
+
+Du faengst im Taxi an zu heulen,
+bloss weil ich sage,
+dass ich bei dem Konsum
+in zwei Jahren tot bin.
+Alle Idole muessen sterben.
+
+Meine Seele brennt!
+
+Ich versteck mich, sitz in meinem Loch
+und warte auf die Traeume, die mich retten.
+Sie kommen nicht.
+Liebe ist ein Scheiterhaufen
+auf dem ich langsam aber sicher
+von innen her zum Rand verbrenne.
+
+Ich hab gekostet
+bin zu weit gegangen
+werd den Geschmack nicht los.
+Vielleicht ist nur entzuendet?
+Vielleicht ist nur entzuendet was da brennt?
+Anstelle meiner Seele
+An der Stelle meiner Seele.
+Meine Seele brennt!
+
+Einstuerzende Neubauten
+
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Lied tirilii (Schrumpfi,  3. Mai 1996, 18:35:08):
+A Forest
+
+Come closer and see
+See into the trees
+Find the girl
+While you can
+See into the dark
+Just follow your eyes
+Just follow your eyes
+
+I hera her voice
+Calling my name
+The sound is deep
+In the dark
+I hear her voice
+And start to run
+Into the trees
+Into the trees
+
+Suddenly I stop
+But I knows it's too late
+I'm lost in a forest
+All alone
+The girl was never there
+It's allways the same
+I'm running towards nothing
+Again and again and again
+
+The Cure
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ein Lied tirilii (Schrumpfi,  3. Mai 1996, 20:14:45):
+THE HANGING GARDEN
+
+Creatures kissing in the rain
+Shapeless in the dark again
+In the hanging garden
+Please don't speak
+In the hanging garden
+No one sleeps
+
+Catching haloes on the moon
+Gives my hands the shapes of angels
+In the heat of the night
+The animals scream
+In the heat of the night
+Walking into a dream...
+
+Fall fall fall fall
+Into the walls
+Jump jump out of time
+Fall fall fall fall
+Out of the sky
+Cove my face as the animal cry
+
+Creatures kissing in the rain
+Shapeless in the dark again
+In a hanging garden
+Change the past
+In a hanging garden
+Wearing furs
+And masks
+
+Fall fall fall fall
+Into the walls
+Jump jump out of time
+Fall fall fall fall
+Out of the sky
+Cover my face as the animals die
+In the hanging garden
+
+The Cure
+
+-----------------------------------------------------------------------------
+
+
+
+Warnung !! Nix fuer sensibelchen (oder Moralapostel) (Inskipp,  6. Mai 1996, 19:39:24):
+Hi,
+Also nachdems hier "intellektuelle scheisse'
+depri-suelz und schnulz kram nur so hagelt, muss ich mal
+eben meine finsteren Freunde aus den Chaoswelten befragen,
+ob sie mal nix da haetten, was ein wenich kontrast bietet.
+Siehe da erhoert haben mich "Rigor Mortis"
+(zu deutsch "Leichenstarre"), mit ihrem song
+"Bodily Dismemberment" (neee das koennt Ihr selber nachschlagen)
+
+Bereit ? Ich will danach kein gejammer ueber solche geschmacklose (!!),
+nivaeulose (vermutlich) sonstwie verabscheungswuerdige (garantiert)
+Gewaltverherrlichung hoeren !
+Flames wenn dann per mail und nicht in die MPA.
+
+Wer mit diesen Bedinugen nicht einverstanden is, soll jetzt nicht
+weiterlesen!
+
+
+Bodily Dismemberment
+
+Sum and smile, you my dear,
+I see you are tied.
+Thou really never heard
+my fetish is a crime.
+There's no need to worry, bitch,
+just lay there and relax,
+as  you reach your climax, I'll be reaching for my axe.
+
+With five easy slices , you're in six lovely pieces
+Bodily Dismemberment, let's passion increases.
+
+So, you wanna play games, do ya ?
+How just could you think, you fucking win ?
+See, I do anything the hard way.
+Yes, I've been through hell and back
+
+I feel my time has come, and so why you're here ?
+See the weapon  in my hand and you know your death is near.
+
+I tied your hands and beat
+you thought i was excited
+now you cannot stop
+what is destinated.
+
+With five easy slices, you're in six lovely pieces.
+Bodily Dismemberment, lets passion increases.
+
+Whos laughing now, you whore ?
+Oh you has your chance, that's it !
+Expect no mercy from this maniac.
+You're fucking history bitch.
+
+First I slice your tiny legs off,
+just above the thighs.
+Then I remove your slimy arms,
+my passion raging high.
+Last I will decapitate
+your pretty little head.
+Rests a piece of bleeding flesh
+like sitting on my bed.
+
+With five easy slices, you're in six lovely pieces.
+Bodily Dismemberment, let the lust for you increases.
+
+Why do you make me do these things?
+Would you know, I never wanted to hurt you.
+Laughing hell, you wouldn't listen, would you ?
+What a stupid fuck, look at you now!
+
+(Rigor Mortis)
+
+P.S.: achja der komische Satzbau liegt entweder an meiner Unfaehigkeit
+die message aus den hoellenabgruenden zu verstehen, oder einfach daran,
+dass die Typen kein englisch koennen ;-))
+
+Enjoy,
+ Der schwarze Inskipp !!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch ein Lied tirilii (Hardil,  7. Mai 1996, 14:35:00):
+~#! rn=Schrumpfi rt=831147285
+~#! tid=831147285
+
+Also Schrumpi, mach so weiter, am besten veroeffentlichst DU auch noch "Lemon
+Tree' von Fools Garden :-)
+
+pruuuuuustend,
+
+			Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Blood for the Blood god (Puma,  8. Mai 1996, 17:01:24):
+
+Ein wahrer Juenger des Chaos geht nicht in die Schlacht ohne den
+einzig wahren Song an den Chaos Gott Khorne (direkt aus WD 96):
+
+BLOOD FOR THE BLOOD GOD
+
+1. The Nightmare Begins
+
+Once the mighty cities now crumbled and turned to sand
+Here dwelt the Old Slann (the Masters)
+Infinite wisdom (a god given right)
+To these genetic scientists forming new life
+Yet these powerful beings could never have known
+Their seeds of destruction were already sown
+
+See how the void gates that held back the Chaos foe
+Shudder and shatter an entropy overload
+Spweing forth creatures - obscene machinations
+Malicious entities warping creation
+Then shrouded in darkness they silently wait
+Counting the days till the 'Blood god' awakes
+
+Armed with fury - cloaked by night
+Mutations spawned by warpstone might
+Shall now go forth - profilerate
+To slay and conquer - dominate
+
+From their holes and caverns creep
+Ten million Orc and Goblin feet
+With hungry hearts and sharpened knives
+They come to take your worthless lives
+
+'Blood for the Blood God!'
+'Blood for the Blood God!'
+
+
+Die - Chaos claims thee!
+Chaos takes thy soul!
+
+
+2. Let Battle Commence
+
+Flee now in terror as darkness descends
+An the forces of nature relentlessly bend
+Spreading the cancer - perverse permutations
+Chaotic entropy - warped malformations
+Till where once was beauty is Chaos and War
+And that which was lawful is lawful no more
+
+Armed with fury - cloaked by night
+Mutations spawned by warpstone might
+Shall now go forth - profilerate
+To slay and conquer - dominate
+
+Underneath this sleeping city
+Red eyes filled with rage, not pity
+Stalk our dreams with tooth and claw
+And crave for human flesh to gnaw
+
+'Blood for the Blood God!'
+'Blood for the Blood God!'
+
+In tattered shreds our broken ranks
+Are swept before this flood
+Of Chaos creatures come to rend our flesh and spill our blood
+
+Where are the heroes in this hour of need
+Stout hearted and brave men who'll never concede - 
+To the forces of Chaos - hold back their might
+Who dares stand proud when the Warhammer strikes?
+
+
+
+
+Der Song stammt von einer unbedeutenden Death Metal Gruppe namens
+Sabbat und verursacht spaetestens nach der ersten Strophe absolute
+Genickstarre.
+
+  Gruessings,
+
+      Puma!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Danzig (Beelzebub,  9. Mai 1996, 19:53:23):
+Ich hab in meiner Cd-Sammlumg zwei Texte gefunden, die auch in der 
+Etikette oder im (noch) imaginaeren Religion-Kanal stehen koennten.
+Tun sie aber nicht...
+
+Bringer of death
+----------------
+
+see the devil kiss the hand of god
+see the devil crying tears of flame
+see the devil bite the hand of christ
+and know the devil is the work of god
+
+and all the devils do the work of god
+in this season of the world's demise
+upon the wings of the fallen dreams
+i hear the sound of a bleeding mind
+bringer of death
+bringer of death
+
+the angels smile is a smile of shame
+they bring the tortures that infest the earth
+see the warlords of a heavenly rank
+and know that war is the will of god
+bringer of death
+bringer of death
+
+(Danzig)
+
+
+Kampfzweg Glenn Danzig hat zwar auch schon bessere Songs geschrieben,
+aber der passt grad so gut :)
+
+Beelzebub (muss ja irgendwie seinem Namen gerecht werden)
+
+-----------------------------------------------------------------------------
+
+
+
+Iced Earth (Beelzebub,  9. Mai 1996, 20:09:29):
+Und noch einer, weils grad Spass macht :
+
+Brainwashed
+-----------
+
+and so we begin with another sin
+the earth's enslaved with hypocrites
+they lay their heads to rest at night
+say a little prayer and all is right
+
+Christ it's nothing personal
+You've got to see
+they twist and turn your words
+for their own needs
+they're brainwashed puppets
+the almighty crutch
+cowards of reality
+and their dying love
+
+living life in total lies
+judging others
+believe what i say or burn in hell
+bow down your head
+you won't feel so bad
+do as I say or burn in hell
+
+close your eyes, look deep inside
+master of the ignorant
+master of the lies
+judgment day is close at hand
+generate that blasphemy
+master of the damned
+
+lies
+
+now behind your reflection 
+lies the one who knows the truth
+your conscience will condemn you
+on judgement day you'll lose
+
+it seems very odd to me
+how you sin and feel so free
+and all you have to do is say
+forgive me... I believe
+
+lies, foolish lies
+behind your brainwashed eyes
+lies, foolish lies
+behind your brainwashed eyes
+
+judge me not my shallow friend
+lest ye be judged yourself
+you abuse the words you preach
+you mold them for yourself
+brainwashed hypocrisy
+justifies the life you lead
+forgive me father I have sinned
+lay my head to rest again
+
+living life in total lies 
+judging others
+believe what I say or burn in hell
+trust in me, say yes I believe 
+do it now or burn in hell
+
+(Iced Earth)
+
+So, nun ist aber gut...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Blood for the Blood god (Khorne, 10. Mai 1996, 08:02:10):
+~#! rn=Puma rt=831567684
+~#! tid=831567684
+Naja, so unbedeutend ist Sabbat nun auch nicht, und als Death-Metal wuerde
+ich ihre Musik auch nicht unbedingt bezeichnen, eher so 
+Thrashcanfusiondingsgedoehns. Diese Leute haben auch zufaellig ein Album 
+herausgebracht, das sich mit dem in jeder Hinsicht empfehlenswerten Buch "The 
+Way of Wyrd" (Dem auch Teile meiner Insel entstammen, copy region) beschaef-
+tigt. Daher (genauer gesagt aus dem Lied "Mythistory") stammt auch der fol-
+gende Textauszug, der die Naturbezogenheit der angelsaechsischen Mystik (jaja 
+ich weiss, Lug, in Wirklichkeit war alles ganz anders ;) herausstellt: 
+
+ 'Corn is the gold that 
+  will shine in the Summertime
+  Leaves are the emeralds 
+  you find in the Spring.
+
+  At Autumn they turn and
+  as copper they burn.
+  Then fall like the diamonds
+  that bleak Winter brings.'
+
+Drawn to the spirits like moths to the flame - 
+when there is no risk then there can be no gain 
+  Toeter
+
+-----------------------------------------------------------------------------
+
+
+
+Zork (Guldukat, 10. Mai 1996, 16:50:19):
+Hi, Activision bietet jetzt das Kult spiel
+
+    Zork  (eins, the great underground empire)
+
+zum downloaden an (fuer PC und Mac)
+sag auf der ernie?
+ops, rufzeichen vergessen ;)
+
+ach ja, die URL:
+
+  http://www.activision.com/zorknem/zorkdownload.html
+
+GD
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Blood for the Blood god (Lug, 10. Mai 1996, 19:28:28):
+~#! rn=Khorne rt=831708130
+~#! tid=831567684
+a) Tja, das gute Sabbat Teil gab es in einer White Dwarf in Labber-Vinyl. Erst
+spaeter dann als Bonustrack auf CD gepresst. Und natuerlich hast Du Recht
+Toeter. Es war anders. Bloss wie ist die Frage ;)
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer Trekkies und andere irre ... (Jimdigriz, 12. Mai 1996, 18:32:58):
+Hiho,
+
+mal was abgespacetes fuer verrueckte und
+faszinierte. Trekkies kommen auch auf ihre kosten. 
+Der folgende Text des Lieds "Ghost Town" stammt
+vom Album "Black Science" von Steve Coleman & Five Elements,
+welches all denen gewidmet ist, die mutig genug waren es
+zu kaufen (wie ich ;-)). Wer verrueckten Jazz mag und
+Steve Coleman nicht kennt, dem sei dass hiermit empfohlen.
+..
+aeh also ein s weniger (nicht hauen Acrimon ;-))
+
+ok hier kommt der Text, schoen brav lesen nicht einfach
+3x enter druecken. Wer den refrain kennt muss ihn beim 2. und 3.
+
+mal nicht nochmal lesen ;-))
+
+Ghost Town
+-----------
+
+Dispossessed in their minds
+Struggling in staccato time
+shoulders hangers
+for confetti clothes
+they got a hunger
+no au gratin potatoes.
+They like the sticky needle
+juice for the people.
+
+His woman is addicted 
+to this bloody rhythm,
+needs a nother hiiiigh note
+on her vein flute.
+Melody in her arm,
+out of tune and mute.
+She wants to forget her face
+to abort her soul
+from this accidental pace
+She is just marking time
+with a needle and death
+looking for next fix
+until her last breath.
+
+Her man tested positive.
+A new meaning in his bloodstream!
+I ask what time is it,
+he checks his Longines.
+But this the kind of time
+that ain't caged in a clock,
+this the kind of time
+that's beyond tick .... or tock.
+
+Ghost Town!
+Absent and around!
+Urban eyes alibis
+think you up,
+when you're down.
+Ghost Town!
+Gunshots are a safe sound.
+Vacant hearts deal the cards
+in this Hades, where you're bound.
+
+He beamed up to Scotty,
+payed the greedy D.J. 
+who always likes to party,
+as long as you pay ,
+to worship the pipe.
+
+Five minutes of prayer
+at least twice a night.
+He won't need to care
+he lies like a road
+leading to no place.
+He's worse than a Gemini
+with a second face.
+He sold out for a pipe dream,
+sitting on a nude roof,
+where for Scotty he beams.
+
+Freebase !
+The best smoke last year.
+We are the vestiges 
+of the starship getting high.
+Our five year addiction
+to explore strange new worlds,
+to seek new pipes
+and new inhalations.
+To boldly go where no high has gone before.
+Crackhead's Log, 
+Stardate: A week ago last Tuesday.
+
+
+Ghost Town!
+Absent and around!
+Urban eyes alibis
+think you up,
+when you're down.
+Ghost Town!
+Gunshots are a safe sound.
+Vacant hearts deal the cards
+in this Hades, where you're bound.
+
+
+It's a slight of the rhymes.
+Life between the lines.
+Where dope takes the rent
+and the days are just numbers.
+Hours sneak by
+and fools never wonder.
+
+The drug is your destiny,
+protecting you from the shame
+of looking at your life's mirror.
+It's junkyard remains
+but either you get by
+until you're so low
+or you slap the dawn
+seeking other ways to go.
+
+We got enough zombies 
+to fill endless graves.
+But here's your last rites.
+Are you ready for change ??
+
+Ghost Town!
+Absent and around!
+Urban eyes alibis
+think you up,
+when you're down.
+Ghost Town!
+Gunshots are a safe sound.
+Vacant hearts deal the cards
+in this Hades, where you're bound.
+
+
+James Bolivar diGriz.
+
+-----------------------------------------------------------------------------
+
+
+
+wieder mal ein schoener Text (Alboin, 12. Mai 1996, 21:53:33):
+Weil ich mich freue, dass Grimmborn dazu beitraegt deutsches Lied- und Textgut
+zu verbreiten, in einer Zeit wo ja fast alles amerikanisiert oder anglisiert
+ist, will ich dem nicht nachstehen und veroeffentlich an dieser Stelle auch
+mal einen schoenen Text.Das Lied stammt vom Liedermacher Gerhard Schoene, der
+leider in den alten Bundeslaendern noch nicht so populaer ist, was vielleicht
+auch daran liegt, dass er die breite Oeffentlichkeit meidet und mehr in
+kleinen Kulturhaeusern oder kirchlichen Einrichtungen auftritt.(Fuer Zueri:
+Achtung, dieser Mann will Dich missionieren!;-) )
+Also los geht es:
+
+Die Liebe des Fischers
+
+Fische huschten unter Steine,
+Wolken zogen bang,
+als der junge Fischer Erik
+heimkam mit Gesang.
+
+Vor dem Tor im schwarzen Mantel
+wartete ein Mann.
+'s war der Richter von dem Festland,
+der sprach Erik an:
+
+'Deine Frau Luise brachte 
+man mir frueh.
+Sie brach die Ehe mit 'nem Fremden.
+Schande ueber sie!
+
+Nach dem Brauch der Insel wird beim
+ersten Sonnenschein
+deine Frau vom Fels gestossen 
+in den Tod hinein.'
+
+Erik sah dem Ungluecksboten 
+nach im Daemmerlicht.
+'Gott im Himmel, sei uns gnaedig!
+Herz, zerspring mir nicht!'
+
+Als die Doerfler schliefen, stieg er
+in die Felsenwand.
+UNd hat mutig uebern Abgrund 
+Seil um Seil gespannt.
+
+Hat mit Reisig, Stroh und Farnen
+alles dicht gemacht.
+Hat am Ende noch als Polster
+Heu hinaufgebracht.
+
+Als die ersten Haehne schrien,
+stiessen sie sogleich
+seine Frau vom Fels hinunter.
+Himmel, fiel sie weich!
+
+In das Netz der Liebe fiel sie,
+die nicht Strafe will.
+Fische spielten unter Steinen.
+Wolken zogen still.
+
+
+(Nach einer Parabel von Werner Bergengruen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wieder mal ein schoener Text (Caradhras, 15. Mai 1996, 20:51:47):
+~#! rn=Alboin rt=831930813
+~#! tid=831930813
+Sehr schoen, Alboin, der schoenste Artikel hier seit langem
+seit keine Kochrezepte mehr hier drin stehen.
+
+       Golddrachenberg Caradhras *ohne Ironie*
+
+-----------------------------------------------------------------------------
+
+
+
+Bedingung (Jariel, 16. Mai 1996, 02:18:39):
+
+       Wenn es Sinn haette
+       zu leben
+       haette es Sinn
+       zu leben
+
+       Wenn es Sinn haette
+       noch zu hoffen
+       haette es Sinn
+       noch zu hoffen
+
+       Wenn es Sinn haette
+       sterben zu wollen
+       haette es Sinn
+       sterben zu wollen
+
+       fast alles haette Sinn
+      wenn es Sinn haette
+
+                                        (Erich Fried)
+
+-----------------------------------------------------------------------------
+
+
+
+SF (Zardoz, 20. Mai 1996, 13:32:07):
+Ich hab nen netten Kommentar zur Science Fiction gefunden, den ich nur
+bestaetigen kann :)
+
+Die Autoren der pseudowissenschaftlichen Maerchen bieten dem Publikum das, was
+es selber haben will: Banalitaeten, Binsenweisheiten, Klischees, entsprechend
+verpackt und bizarr aufgemacht, so dass sich der Verbraucher einen harmlosen
+Staunen hingeben und zugleich unbehelligt bei seiner Lebensphilosophie bleiben
+kann. Wenn es in der Kultur einen Fortschritt gibt, dann vor allem einen
+begrifflichen, und den tastet die Literatur, besonders die phantastische,
+nicht an.
+
+Professor Peter E. Hogarth
+
+Ciao Zardoz 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SF (Cauno, 20. Mai 1996, 13:40:00):
+~#! rn=Zardoz rt=832591927
+~#! tid=832591927
+
+Aeh. Wann schickst du die Uebersetzung davon ins Netz?
+
+C. No dachte, er kennt sich mit SF aus...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SF (Wurzel, 20. Mai 1996, 21:33:08):
+~#! rn=Zardoz rt=832591927
+~#! tid=832591927
+hmm, hogarth hat offensichtlich nicht allzu viel gelesen, er bietet keine
+argumentation, sondern praesentiert nur seine vorurteile.
+es stimmt, es gibt viel muell, gerade bei sf. aber alles pauschal ueber einen
+kamm zu scheren, ist wohl doch etwas aermlich. im letzten satz bezieht er
+sich auf "die literatur", hat also den rundumschlag doch erheblich erweitert.
+er outet sich damit selbst als literaturfeind, dem es bei sf nur darum geht,
+einen leicht zugaenglichen aufhaenger zu finden.
+dass ich selbst heute keine sf mehr lese, liegt im wesentlichen daran, dass
+ich nach meinem physik-studium den regelmaessig anzutreffenden pseudo-
+wissenschaftlichen quatsch nicht mehr ertragen habe. trotzdem lese ich
+ueberwiegend phantastische literatur, weil die moeglichkeiten, die der
+autor/die autorin hat, befreit von den zwaengen der realitaet ein gedankliches
+weltbild aufzubauen, meiner meinung nach die nachteile der schwierigen
+uebertragbarkeit mehr als aufwiegt. klar, auch da gibt es viel muell, aber wer
+will schon immer hohe literatur lesen (die es in der fantasy mit sicherheit
+gibt)? manchmal moechte ich einfach nur traeumen...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SF (Cauno, 21. Mai 1996, 12:39:07):
+~#! rn=Wurzel rt=832620788
+~#! tid=832591927
+
+Also, ich lese weiterhin SF, gerade nach meinem Studium kann ich zwischen
+dem pseudowissenschaftlichen Quatsch und den sozialkritischen Elementen
+(zum Bleistift) umso besser entscheiden, da ich weiss, dass es in guter SF
+weniger um die Technik als mehr um die Menschen, die mit dieser Technik
+umgehen muessen, geht.
+
+Ob der Autor nun Ahnung von der Wissenschaft hat, oder nicht, erkennt man
+meistens erst, wenn man das Zeug selbst studiert hat. Leider passiert es
+einigen Autoren, dass sie zuviel Ahnung haben, und die Personen in ihrer
+Welt vernachlaessigen. Dadurch kommt dann der ganze Schrott zusammen, der
+die SF manchmal in Verruf bringt.
+
+Meine Lieblingsromane verwenden ein Minimum an Technik, dafuer sind die
+Personen dann besonders gut charakterisiert.
+
+C. No
+sieht die SF nicht als Vorhersagemittel der Zukunft,
+sondern als Spiegel der Gegenwart.
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich, vor Aurora... (Flora, 25. Jun 1996, 13:06:02):
+Hallo, hier mal wieder etwas fuer alle Unterwasserfreunde.
+
+"Vineta"
+(von Wilhelm Mueller)
+
+Aus des Meeres tiefem, tiefem Grunde,
+Klingen Abendglocken, dumpf und matt,
+Uns zu geben wunderbare Kunde
+Von der schoenen alten Wunderstadt.
+
+In der Fluten Schoss hinabgesunken,
+Blieben unten ihre Truemmer stehn.
+Ihre Zinnen lassen goldne Funken
+Wiederscheinend auf dem Spiegel sehn.
+
+Und der Schiffer, der den Zauberschimmer
+Einmal sah im hellen Abendrot,
+Nach derselben Stelle schifft er immer,
+Ob auch ringsumher die Klippe droht.
+
+Aus des Herzens tiefem, tiefem Grunde
+Klingt es mir wie Glocken dumpf und matt.
+Ach, sie geben wunderbare Kunde
+Von der Liebe, die geliebt es hat.
+
+Eine schoene Welt ist da versunken,
+Ihre Truemmer blieben unten stehn;
+Lassen sich als goldne Himmelsfunken
+Oft im Spiegel meiner Traeume sehn.
+
+Und dann moecht' ich tauchen in die Tiefen,
+Mich versenken in den Wunderschein,
+Und mir ist, als ob mich Engel riefen
+In die alte Wunderstadt herein.
+
+
+Noch schoener ist's natuerlich mit der Vertonung von J. Brahms (davon gibt's
+ne Wahnsinnsaufnahme mit dem Monteverdi Choir (IMHO dem besten Kammerchor den
+es zur Zeit gibt) unter J.E. Gardiner)
+
+Bis denne,
+Flora
+(ueberlegt sich, ob sie diesen Artikel in d.inseln crossposten soll)
+
+-----------------------------------------------------------------------------
+
+
+
+Midkemia (Li, 27. Jun 1996, 10:28:57):
+Buchempfehlung: Die Midkemia-Saga von Raymond Feist
+
+"Wenn es einen Autor gibt, der im Fantasy-Himmel zur Rechten von J.R.R.
+Tolkien 
+sitzen wird, dann ist es Raymond Feist". Dieser Kommentar eines Kritikers
+steht 
+auf den Buechern. Normalerweise ist ein Vergleich mit Tolkien immer nur ein 
+schlechter Witz, aber hier stimmt es. Wieso? Weil man nach dem Lesen der
+ersten 
+Seiten nicht mehr von den Buechern los kommt. Zu klar werden die Charaktere 
+beschrieben, zu klar entsteht die Welt Midkemia vor den Augen des Lesers. Nun 
+ist Midkemia nicht so ausgefeilt wie Mittelerde an Sagen und Geschichte, aber 
+wie beim Lesen von Tolkiens Werke ist man bei Feist sehr bald gefangen: Nicht 
+nur von der spannenden, interessanten Handlung, sondern auch von den Personen 
+und der Welt.
+Es treten keine Ueberhelden wie Conan auf, nein "ganz normale" Menschen
+spielen 
+die Hauptrollen. Die auftretenden Figuren sind glaubhaft, toll
+charakterisiert, 
+"realistisch".
+Zur Handlung moechte ich nicht allzu viel verraten. Die ersten beiden Baende, 
+Der Lehrling des Magiers und Der verwaiste Thron, behandeln den Spaltkrieg,
+und 
+die Geschichte von zwei heranwachsenden Jungs, Pug und Tomas. Aufgewachsen im 
+weit entfernten Aussenposten des Koenigreichs der Inseln, entdecken sie eines 
+ueste gestrandet ist. Damit beginnt Tages ein seltsames Schiff, das an der K
+ueber neun Jahre hinzieht, und in der beide "Einiges" eine Handlung, die sich 
+erleben: Begegnungen mit Elben, Dunkelelben, Drachen, maechtigen Relikten der 
+Vergangenheit, maechtigen Magiern, einem wahnsinnigen Koenig und vieles mehr.
+Was Feist gross anzurechnen ist: Er versucht nicht, Tolkien irgendwie zu 
+kopieren. Er hat es auch gar nicht noetig, denn seine Charaktere "leben" auch 
+ohne Anlehnung an Tolkien.
+Die Elben sind anders , aber ebenso glaubwuerdig, die Drachen ebenfalls und
+die  
+"Bruderschaft des dunklen Pfades" ,also die Dunkelelben? Nun, sie
+unterscheidet 
+von ihren Vettern nur sehr wenig: Ihr streben nach Macht. Die Dunkelelben bei 
+Feist leben nicht wie DrizztDoUrden unter der Erde, sie sind nicht von Natur 
+aus grausam, pervertiert oder sonstwie anders. Allerding laesst sie ihr 
+Machtstreben natuerlich auch ueber Leichen gehen, denn ihnen ist meistens fast
+jedes Mittel recht.
+Band Drei und Vier, die Gilde des Todes und Dunkel ueber Sethanon, berichtet 
+von der ungewohnlichen Freundschaft zwischen einem Strassendieb und einem 
+Prinzen, die sich waehrend des Spaltkrieges kurz begegnet sind. Jimmy die Hand
+rettet Prinz Arutha das Leben, in dem er einen Mordanschlag eines 
+Meuchelmoerders verhindert. Ein unbekannter Gegner, der keine Gande kennt und 
+auch vor dunkler Magie nicht zurueckschreckt, laesst Prinz Arutha und seine 
+Gefaehrten nicht zur Ruhe kommen.
+Faszinierend an diesen Baenden ist nicht nur die ungewoehnliche Freundschaft, 
+sondern vor allen die unheimliche Atmosphaere, die der Gegner im Hintergrund 
+hervorruft. Und dann die Nachtgreifer, Meuchelmoerder, die nach ihrem Tod als 
+Untote weiterhin versuchen, ihren Auftrag durchzufuehren. zombies, aber 
+"realistisch" geschildert. Kein Kanonenfutter, sondern Monster, die mit
+normalen
+Waffen nicht zu vernichten sind.
+Waren die Baende um den Spaltkrieg schon spannend, so endet der vierte Band in
+einem furiosen Hoehepunkt: Der Schlacht um Sethanon. 
+Band 5, Gefaehrten des Blutes, spielt 20 Jahre nach dem Spaltkrieg. Borric und
+Erland, die Soehne Aruthas, bekommen ihren ersten Raepresentationsauftrag und 
+muessen ins Kaiserreich Kesh reisen, das uralte, benachbarte Reich. Dort
+geraten 
+sie in Gefahren und Intrigen, die bei einer Geburtstagsfeier zur Ehren der 
+Kaiserin eigentlich nicht zu erwarten waren... :-)
+Der sechste und letzte Band wiederum berichtet vom juengsten Sohn Aruthas, der
+auf einer Seereise an die Gestade eines fremden Kontinentes verschlagen wird.
+Wenn es jetzt auch nicht so klingt, so handeln doch alle Baende in lockerer 
+Reihenfolge hintereinander, wobei eins und zwei, sowie drei und vier 
+zusamenhaengen. Altbekannte Personen tauchen immer wieder auf: Pug, Arutha, 
+Jimmy, sind auch in den Baenden fuenf und sechs nicht nur Statisten, um die 
+Geschichte weiterzufuehren. Gerade Jimmy, inzwischen zum Baron aufgestiegen, 
+ist die ideale Hilfe fuer die Prinzen am Hofe, versteht doch kaum einer so
+viel 
+von Hinterlist und "um die Ecke denken", wie der ehemalige Meisterdieb. Und 
+selbst der Humor kommr nicht zu kurz. Kein lautes Gelaechter, aber zum 
+Schmunzeln reicht es alle Male, kein Wunder, tauchen doch manchmal etwas sehr 
+seltsame Gestalten auf...
+Abschliessend noch ein Zitat vom Buchruecken. Normalerweise sollte man 
+bombastischen Worten nicht trauen, aber hier stimmen sie einfach:
+ Raymond Feists Midkemia Saga - eine unerreichte Fantasy von Liebe und Krieg,
+ Freundschaft und Verrat, Magie und Erloesung.
+
+
+zieht's Euch rein - Es lohnt sich
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Midkemia (Li, 27. Jun 1996, 10:30:25):
+~#! rn=Li rt=835864137
+~#! tid=835864137
+Sorry fuer das schlechte Layout! Seltsam bei Cut&Paste und Begrenzung auf 75
+Zeichen duerfte soetwas eigentlich nicht vorkommen.
+Naja egal
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Midkemia (Grimmborn, 27. Jun 1996, 10:51:05):
+~#! rn=Li rt=835864225
+~#! tid=835864137
+
+Hee, Li, DU BIST MAGIER!
+Schreib den Kram in ein file, fang den Artikel hier an und lies ihn dann mit
+"~i dateiname" ein.
+Das ist allemal sicherer als (D)ein c&p...
+
+GdA verteilt Gratis-Tips.
+
+-----------------------------------------------------------------------------
+
+
+
+Abschied (Summerwind, 27. Jun 1996, 16:47:14):
+
+Abschied im Morgengrauen
+
+
+Vom nebelueberhangenen Fluss
+bei den taufeuchten Wiesen im Morgenlicht
+habe ich meine Geschichte gehoert.
+Kuehles glaenzendes Wasser und
+die sanfte Beruehrung des Windes waren bei mir,
+sprachen zu mir in der alten Sprache,
+sangen zu mir und lachten mit mir,
+versuchten mich zu halten
+als mein suchender Fuss schon
+die Ufer des Lethe betrat, als
+meine Hand schon vom Wasser
+des Vergessens schoepfte, zitternd,
+mit einem Blick zurueck zu den Waeldern
+wo fuer einen Herzschlag
+die Zeit den Atem anhielt
+ob meiner Entscheidung,
+und ihre Liebe draengte mich
+von zwei Wegen den einen zu waehlen,
+aber ich ...
+
+Die Wasser sprachen zu mir wie in jeder Nacht,
+wenn die silbernen Strahlen des vollen Mondes
+das Land verzauberten mit ihrer Magie, in Naechten
+da Liebende fallen und Seelen steigen und
+die Herzen der Menschen den Weg nach Hause finden im Traum,
+wenn Nebel die Herzen umarmt, deren Kummer zu schwer wiegt
+um sie in dieser Welt zu halten, und sie fallen;
+aber der wachsame Mond sendet seine Boten
+und auf den silbernen Wassern treiben sie den Lethe entlang
+hinueber ins Reich der Toten, obgleich sie leben.
+Blind wie Traeumer gleiten sie hinueber zu denen,
+die gingen und nichts hinterliessen als Leid,
+um noch einmal im Traum ihre Liebe zu spueren,
+die Hoffnung sie blieben nicht zurueck, wenn Freunde gehen,
+und fuer diese Nacht sind sie wieder eins
+mit der Erinnerung an bessere Zeiten und der Umarmung
+die sie erfahren durch die Fernen, die nie wiederkehren.
+Bis der Morgen daemmert und der Zauber verfliegt
+und die brennende Zerbrechlichkeit des letzten Atemzuges
+im Reich, wo gefallene Liebe lebt, in Schoenheit
+zerbricht.
+
+In dieser Nacht sprachen die Wasser zu mir.
+Der Weg durch den Mitternachtswald war gesaeumt von Augen,
+deren samtener Blick fuer mich sah und mich fuehrte,
+das seidene Bluetengras umspuelte meine Schritte
+und leitete mich hinunter zum Fluss. Ich spuerte Tiere
+im Schattengruen der Nacht, die sich nicht fuerchteten
+vor meinem zaghaften Schritt
+da ich kam um Abschied zu nehmen trotz all meines Wissens,
+der Furcht und Verzweiflung vor dem Morgen,
+und die Geschichte meines Flusses mit mir nahm
+wie ein Wanderer seine schwere Buerde tragen mag.
+Die Wurzeln umfingen mich mit Sanftmut,
+gedankenlose Haende ins Nachtgras verflochten,
+aber die Wasser tasteten nach mir und beruehrten mich
+als wollten sie mich halten und nicht gehenlassen
+auf diesem falschen Weg, aber ich...
+
+Ich lehnte meinen mueden Kopf an die Rinde der Weide
+und lauschte den sanften Wellen. Auf den Silberkaemmen
+der Wasser trieben die verlorenen Seelen dem Land ihrer Liebe zu,
+und wie gern haetten die Wasser mich getragen, aber
+es wartet keine Liebe auf mich im Land der Toten
+es wartet keine Liebe auf mich im Land der Lebenden
+und so kann ich mit den Wellen nicht treiben
+sondern muss meinen Weg suchen ueber die staubige Erde.
+Die Wasser aber erzaehlten mir meine Geschichte
+und die alte Weide weinte mit mir,
+denn am Ende des gewaehlten Weges wartet Dunkelheit,
+und die Zeichen, geschrieben in Staub,
+verkuenden Leid.
+Die Wasser baten mich zu bleiben, Weidenfinger streiften mein Haar;
+Nachtgras schlang sich um meine Finger
+und der Wind sang von den Zaubern meines Waldes
+aber ich
+durfte der Stimme meines Herzens nicht mehr lauschen,
+war doch der Weg fuer mich gewaehlt ohne zurueck.
+Geh nicht, sagte der Fluss, geh nicht
+und der Wind verlieh dem Wald eine Stimme
+als weinten die Tiere und Blumen um mein Gehen,
+als schlage mein Schritt Wunden ins Herz der Baeume,
+aber ich
+verbarg meine Augen vor den Augen der Nacht.
+
+Du laesst zurueck was Du bist, so sagten die Wasser,
+fuer immer getrennt von den Inseln der Ruhe inmitten des Sturms,
+von den geheimnisvollen Orten der Nacht,
+wo Einhoerner streifen unter Sternenhimmeln,
+wo spielerische Seide Dich fluechtig beruehrt
+wenn Geschoepfe der Magie Deinen Weg kreuzen, ungesehen,
+hier im Herzen Deiner Seele,
+im Herzen Deines Traums,
+wenn aber die harte Hand der Menschen diese Welt beruehrt
+hast Du sie verloren fuer alle Zeit;
+Deine Naechte werden leer und farblos sein
+Und Du kannst nicht mehr zurueck ins Land Deines Sterns.
+die glaesernen Bruecken der Traeume werden zerspringen
+und der Waechter am Tor wird Dich nicht kennen,
+Du kannst das Buendel Deines Leides nicht in seinen Armen lassen
+behuetet wie ein Kind, wenn Du die goldenen Pfade betrittst.
+Magie wird fliehen aus Deiner Welt
+und nichts wird bleiben als fluechtige Erinnerung
+wie an einen vergessenen Traum.
+Trage nicht Dein Herz zu den Haenden der Menschen,
+die Dein Vertrauen brechen, gedankenlos...
+
+Und flehentlich erhobene Haende faechelten Wind in den Baeumen,
+der Schrei eines Wolfes, der weiss er sieht den letzten Mond,
+das Lied eines Schwans, der in Liebe stirbt,
+der Tanz des Einhorns vor den Haeschern der Nacht,
+aber ich
+ich schlief auf den alten Wurzeln ein letztes Mal
+und der traurige Gesang des Windes leitete mich in den Morgen,
+ein goldener Himmel weinte Traenen aus Licht,
+und der letzte Stern der Nacht verblasste nicht
+sondern fiel...
+Aber ich sah nicht, wie meine Sterne fielen,
+sah nicht meine Blueten welken
+noch die Blaetter der Baeume, beraubt ihres Gruens,
+sah nicht meine Traeume zu Asche zerfallen und verwehen,
+sah nicht die Regenwolken am Horizont.
+Denn als ich erwachte, lag ich in Deiner Hand
+und Deine Finger
+schlossen sich
+sacht
+
+
+___________________________________________________________________
+
+Friends part forever   
+    wild geese lost in clouds
+
+Ich werde euch nie vergessen...
+                                               Summerwind
+
+-----------------------------------------------------------------------------
+
+
+
+Moorcock (Elric, 27. Jun 1996, 16:52:50):
+Also, wenn irgendwer zur rechten des Vaters (JRRT) im Fantasy-Himmel zu sitzen
+kommen sollte, dann ist das ja wohl Michael J. Moorcock. Der war naemlich
+wirklich mal innovativ (wenn seine beste Zeit auch wohl eher in den 50er/60er
+Jahren anzusiedeln ist.
+Raymond E. Feist habe ich mal angelesen, fand ihn damals nicht so
+faszinierend, weil in seiner Welt die Unterscheidung zwischen "gut" und
+"boese" etwas zu leicht faellt. Ist aber schon laenger her; vielleich sehe ich
+das ja jetzt anders. 
+Als persoenliche Empfehlung moechte ich den Namen Steven Karl Zoltan Brust
+nennen, der (fuer mich) momentan beste Schreiberling. Bei ihm einsteigen kann
+man am besten mit der Vlad Taltos Serie, bestehend aus den Buechern: Jhereg,
+Yendi, Teckla, Taltos,
+Phoenix, Athyra und Orca. Protagonist der Reihe ist der "sorcerer, assassin
+and some-time witch" Vladimir Taltos, ein "Easterner", der in einem Reich
+lebt, das von - rein physiologisch gesehen - Elben-aehnlichen Wesen, genannt
+"humans" bevoelkert wird. 
+"Dragaerans have always been confused about who the humans are..."
+Vlads Vater hat die Ersparnisse seines Lebens dafuer aufgewendet, die Familie
+in das "Adelshaus" Jhereg einzukaufen (diese Haeuser sind normalerweise eine
+menschliche - sprich, dragaerische - Angelegenheit, nur das Haus Jhereg, mehr
+oder weniger identisch
+mit Mafia + Angehoerige, verkauft seine Titel. Vlad hasst Dragaerer und ist
+Meuchelmoerder geworden, damit er sich wenigstens dafuer bezahlen lassen kann,
+wenn er sie umbringt.
+Die Welt ist ausgesprochen klasse beschrieben, mit viel Geschichte,
+Gebraeuchen und kulturspezifischen Witzen (die dann auch wirklich lustig
+sind!!). Die Frage "was sind Goetter" kreuzt auf (und wird nicht beantwortet),
+auch nicht, als Vlad irgendwann von
+seiner Schutzgoettin Verra einen Mordauftrag erhaelt ("say, how did you come
+to be called Demon-Goddess anyway..."), den diese hinterher bereut, als Vlad
+sich, ziemlich zornig, aber auch ziemlich veraengstigt (klasse beschrieben in
+Phoenix) vor ihrem Thro
+n stehend ueber die Konsequenzen des Mordes beschwert.
+Alles in allem eine hervorragende Serie mit klasse Geschichten in einer sehr
+weit und tief durchueberlegten Welt (die Welt ist in einer Rollenspielrunde
+entstanden).
+Auch die anderen Buecher von Brust lohnen sich sehr, es wuerde aber die
+ohnehin schon arg strapazierte Geduld der werten LeserInnen uebermaessig
+beanspruchen, diese auch noch aufzufuehren. Erwaehnen moechte ich lediglich
+"To Reign in Hell", was den Krieg
+der Engel aus soziologisch-psychologischer Perspektive neu erzaehlt und einige
+Luegen und Halbwahrheiten in der Bibel (die Geschichte schreiben immer die
+Sieger) aufdeckt - abgefahrenst - und Agyar, welches einem recht ausgenudelten
+Genre wieder Leben ein
+haucht - ebenfalls sehr seltsam. Gemeinsam ist allen Buechern Brusts eine
+gewisse Ironie, Liebe zur Sprache, Detailversessenheit und eine hervorragende
+Beschreibung von Ritualmagie. 
+All seine Schriften sind bisher nur in englischer Sprache erschienen, die
+meisten sind allerdings problemfrei im Buchhandel zu beziehen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Moorcock (Elric, 27. Jun 1996, 16:57:39):
+~#! rn=Elric rt=835887170
+~#! tid=835887170
+hmm, vielleicht sollte ich Klammern auch mal wieder schliessen...
+Fuer einen idiotensicheren Editor in der MPA!
+Elric.
+++
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Midkemia (Moppi, 27. Jun 1996, 18:10:30):
+~#! rn=Li rt=835864137
+~#! tid=835864137
+Hallole, ichoechte hierzu noch bemerken, dass es ein prima Spiel zu diesem
+Buch gibt.Es heisst 'Betrayal at Krondor' und ist ein wirklich gutes
+Rollenspiel.Naja vielleicht wird etwas zuviel gemetzelt, aber  dadurch geht
+der Adventure_charakter des Spiels noch lange nicht verloren.
+
+Moppi, der Gruesse von Schnatterinchen und Pittiplatsch sendet
+
+-----------------------------------------------------------------------------
+
+
+
+Knuddelmausbichtip (Semira, 27. Jun 1996, 18:46:35):
+Also mein momentaner Favorit besteht aus 4 Teilen (wovon jeder um die 900
+Seiten guten Lesestoff umfasst):
+
+Tad Williams
+- Der Drachenbeinthron
+- Der Abschiedsstein
+- Die Nornenkoenigin
+- Der Engelsturm
+
+Mag gar nichts ueber den Inhalt verraten, denn wo sollt ich anfangen, wo
+aufhoeren...aber lest einfach mal rein und lasst Euch fesseln und fangen und
+in eine andere Welt entfuehren. Jedenfalls ist alles dabei, was das Herz des
+Fantasy-Freundes begehrt :))))
+
+*begeistertweiterles*
+
+Semira
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Midkemia (Wurzel, 27. Jun 1996, 21:33:25):
+~#! rn=Li rt=835864137
+~#! tid=835864137
+ok, feist schreibt recht nett. der vergleich mit tolkien hinkt trotzdem.
+jeder autor, der von seinem verlag ordentlich gepusht werden soll, wird mit
+tolkien verglichen (klar nur fantasy-autoren), und der vergleich hinkt bei
+allen. und zwar auf allen vorhandenen fuessen.
+das besondere ist bei tolkien der hintergrund, z.b. die ausgearbeitete
+sprache. und dass keiner sich die sechzig jahre abmuehen moechte, kann man
+natuerlich auch verstehen.... :)
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Midkemia (Dhojakt, 28. Jun 1996, 00:33:40):
+~#! rn=Li rt=835864225
+~#! tid=835864137
+Fuer tf-benutzer geht das auch mit /quote -S -dsend '<file>
+Nur mal so angemerkt, Khidar.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knuddelmausbichtip (Ancalagon, 28. Jun 1996, 13:47:12):
+~#! rn=Semira rt=835893995
+~#! tid=835893995
+Moin erstmal!
+Also, ich muss semira recht geben, die serie ist prima. ich hab sie auf
+englisch gelesen und konnte gar nicht mehr aufhoeren. Nur das Ende ist etwas
+enttaeuschend.... sorry semira, aber ich musste meinen senf einfach
+dazugeben....
+Herzlichst knudelnd,
+                                                   Ancalagon
+                                           Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Knuddelmausbichtip (Boing, 28. Jun 1996, 13:50:21):
+~#! rn=Ancalagon rt=835962432
+~#! tid=835893995
+Das Ende ist aber nur enttaeuschend, weil es das Ende ist ... haette ruhig
+noch ein paar Baende weitergehen koennen. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Knuddelmausbichtip (Ancalagon, 28. Jun 1996, 14:00:06):
+~#! rn=Boing rt=835962621
+~#! tid=835893995
+moin wieder!
+Boing du hast recht! es hat den Anschein als haette ihm jemand auf die Finger
+getreten und gesagt: " Noch 100 Seiten, und dann ist Schluss!" :)
+Allerdings hab ich irgendwo gehoert, dass Williams selber eigentlich nur ne
+trilogie schreiben wollte, und bei Band 3b :) dann endgueltig abgwuergt 
+hat.....
+Was eigentlicxh schade war....
+Nochmals knuddelnd,
+                                            Ancalagon
+                                  Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Moorcock (Wurzel, 28. Jun 1996, 20:43:10):
+~#! rn=Elric rt=835887170
+~#! tid=835887170
+in bezug auf moorcock, okay, habe ich auch genossen und verschlungen.
+was mich vielmehr inspiriert, ist diese sache mit wie heisst der mensch?
+brust? mal vormerken, kenne ich nicht. noch nicht.
+ich freue mich ueber diesen aktuellen tip, feist ist ja auch schon etwas
+laenger her (ok, in deutsch glaube ich erst kurze zeit erhaeltlich).
+noch was zu englisch: fantasy wird in deutschland per definitionem als
+trivialliteratur (und damit minderwertig) angesehen, ergo kommen normal nicht
+die faehigsten uebersetzer zum einsatz. dementsprechend mies ist dann oft
+auch das ergebnis (besonders uebel z.b. bei Stephen Donaldson, meinem
+immer noch-lieblingsautor). wer auch nur annaehernd englisch kann, sollte
+mal versuchen die originale zu lesen. ein bemerkenswertes erlebnis, wenn
+auch nur manchmal.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abschied (Woody, 29. Jun 1996, 00:23:15):
+~#! rn=Summerwind rt=835886834
+~#! tid=835886834
+
+"Adieu", sagte er...
+"Adieu", sagte der Fuchs. "Hier ist mein Geheimnis. Es ist ganz
+einfach: man sieht nur mit dem Herzen gut. Das Wesentliche ist fuer
+die Augen unsichtbar."
+   "Das Wesentliche ist fuer die Augen unsichtbar", wiederholte der
+kleine Prinz, um es sich zu merken.
+   "Die Zeit, die du fuer deine Rose verloren hast, sie macht deine
+Rose so wichtig."
+   "Die Zeit, die ich fuer meine Rose verloren habe...", sagte der
+kleine Prinz, um es sich zu merken.
+   "Die Menschen haben die Wahrheit vergessen", sagte der Fuchs. "Aber
+Du darfst sie nicht vergessen. Du bist zeitlebens fuer das verant-
+wortlich, was du dir vertraut gemacht hast. Du bist fuer deine Rose
+verantwortlich..."
+   "Ich bin fuer meine Rose verantwortlich...", wiederholte der
+kleine Prinz, um es sich zu merken.
+-----
+
+Summy... Ich werde nie aufhoeren, Dich zu sehen.
+
+
+Dein kgF...
+         Woody
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Moorcock (Li,  1. Jul 1996, 12:25:42):
+~#! rn=Elric rt=835887170
+~#! tid=835887170
+Okok, dann sitzt eben Moorcock rechts, und Feist zu Tolkiens Fuessen. Was die
+Unterscheidung zwischen Gut und Boese angeht, stimme ich dir zu, da hat man es
+nicht schwer. Aber muss Fantasy deswegen schlecht sein, nur weil von Anfang an
+festeht, wer die guten und wer die Boesen sind? 
+War ja bei Tolkien auch nicht anders...
+Li (kennt kaum Fantasy, in der Gut und Boese verwischt/nicht zu erkennen sind)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Midkemia (Li,  1. Jul 1996, 12:33:11):
+~#! rn=Moppi rt=835891830
+~#! tid=835864137
+Oh, wirklich eins der Besten Fantasy-Computerspiele, die ich gespilet habe.
+Eins der wenigen, in denen man seine Handlungen fast voellig FREI bestimmen
+kann.
+tolle Athmospaere, und ich welchem Computerfantasyspiel wird nicht gemetzelt?
+Das Spiel, wie ein Buch in Kapitel unterteilt, spielt ueberigens nach Band 4.
+Drehbuch des Spieles: R. Feist!
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Midkemia (Li,  1. Jul 1996, 12:36:13):
+~#! rn=Wurzel rt=835904005
+~#! tid=835864137
+Der Vergleich mit Tolkien hinkt immer, hab ich doch in meinem Artikel auch
+gesagt, oder nicht? Jedenfalls ist bei feist der vergleich mit tolkien nicht
+ganz so laecherlich, als wenn man Hohlbein mit Tolkien vergleichen wuerde.
+(oder David Eddings, dessen Auge Aldurs Spitze war, aber der Rest???)
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Moorcock (Li,  1. Jul 1996, 12:52:39):
+~#! rn=Wurzel rt=835987390
+~#! tid=835887170
+Wow, ich hab Mordants Not von Donaldson auf Deutsch  VERSCHLUNGEN, kann mich
+deshalb gar nicht daran erinnern, dass die Uebersetzung so schlecht war?!? 
+Oder galt das mehr fuer Covenant, das war wirklich nicht besonders toll
+uebersetzt.
+IMHO ist Mordants Not mit das Beste, was auf Deutsch an Fantasy erschienen ist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Moorcock (Elric,  1. Jul 1996, 13:37:04):
+~#! rn=Li rt=836216742
+~#! tid=835887170
+Muss Fantasy schlecht sein, nur weil von Anfang an feststeht, wer die Guten
+und wer die Boesen sind?
+Eine wahrhaft philosophische Frage. Nun, meine Einstellung dazu ist, dass eine
+Geschichte im Prinzip darunter leidet, enn "Gut" und "Boese" von vornherein
+feststehen, weil solche Kategorien, wenn Personen zugeordnet, diese
+entmenschlichen.
+Das Gegenargument dazu ist, dass es sich ja um eine Fantasy-Gesschichte
+handelt, und dass in einer Fantasywelt die Wesessn verdammt noch mal nicht
+menschlich sein muessen. Dazu wiederum sage ich, dass der Autor aber
+menschlich ist, und dass es eine
+ziemlich grosse Leistung ist, Konzepte wie Gut und Boese, die mit menschlicher
+Natur nicht viel zu tun haben (hoehoe), ueberzeugend 'rueberzubringen. Tolkien
+schafft's, was auch daran liegt, dass seine Buecher ziemlich maerchenartig
+sind 
+(die normalmensschlichsten Charaktere im LotR sind die Hobbits und nicht
+irgendwelche Menschen). Feist schafft's meiner Meinung nach nicht. Brust
+umgeht das Problem, indem er zwar un-menschliche Charaktere beschreibt, aber
+darin keinen Grund sieht, diesen
+gleich irgendwelche Wertungen aufzudruecken. Oft tritt bei ihm der Charakter
+von Personen dadurch zutage, wie besagte Person auf eine bestimmt Situation
+RE-agiert (nicht: "ich bin machtgierig und boese, deshalb will ich die Welt
+entweder besitzen oder
+vernichten" sondern eher "wenn mein Gegner zuerst zuschlaegt, koennte alles
+vorbei sein, also muss ich schneller sein, auch wenn ich nicht ganz sicher
+bin, ob er ueberhaupt zuschlagen will"). Dadurch schukeln sich Konflikte hoch,
+in denen man Gut und 
+Boese vergeblich sucht (bis auf eine gewisse Sympathie mit dem ich-Erzaehler,
+den es in vielen von Brusts Buechern gibt). 
+Auch der gute Moorcock kriegt's nicht ganz gebacken: Er behauptet zwar immer,
+dass Chaos und Ordnung nichts mit Gut und Boese zu tun haben, aber kann diese
+Behauptung in seinen Geschichten nicht ganz umsetzen. Chaos ist, wenn nicht
+immer haesslich
+und feindselig, dann doch immer irgendwie sinister. Seine Eternal Champions
+nieten reihenweise Chaoswesen um und selbst Elric, der ja Chaot ist
+(eigentlich), wendet sich gegen das Chaos und bekaempft es mit seinen eigenen
+Mitteln (Sturmbringer,die Drachen
+Als Fazit: je unwirklicher die Geschichte ist, je weniger man sich mit den
+Charakteren identifiziert, desto mehr Gut-und-Boese vertraegt sie. Genauer: je
+mehr ssich der/die Lesende mit einem Charakter identifizieren soll, desto
+schwieriger ist es, diesem 
+ohne komplette Verflachung unmensschliche Qualitaeten glaubhaft zuzuordnen. 
+U.A.W.G.,
+Elric.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Moorcock (Wurzel,  1. Jul 1996, 19:52:47):
+~#! rn=Li rt=836216742
+~#! tid=835887170
+fantasy, wo gut und boese nicht so eindeutig festgelegt sind?
+da koennte ich beispielsweise tanith lee empfehlen... ist aber sicher eher
+die ausnahme.
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Moorcock (Lug,  2. Jul 1996, 02:45:30):
+~#! rn=Li rt=836218359
+~#! tid=835887170
+Moin,
+
+zu Donaldson: Trotz der so amuesanten wie vernichtenden Kritik von D.
+Langford, halte ich die beiden Weissgold-Zyklen fuer grandiose Fantasy. Aber
+die Mordand Reihe ging mir nur noch auf die Nerven. Diese "heldin" ist doch
+wohl das unwahrscheinlichste seit dem Omo-Knoten. Wenn sie einmal mit ihrem
+gehirn anstelle ihres Unterleibes denken wuerde, waere sie ja vielleicht noch
+glaubhaft. Aber sowas? WUERG!
+
+Persoenliche Meinung
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Moorcock (Yendi,  2. Jul 1996, 12:56:54):
+~#! rn=Li rt=836216742
+~#! tid=835887170
+
+Bei Tolkien steht von Anfang an fest, wer die Guten und wer die Boesen sind?
+Naja, bei Hobbits und Ringgeistern mag das stimmen, die sind recht einfach
+gehalten. Aber verrat mir doch mal, ob Boromir gut oder boese ist? 
+Oder Gollum? Oder Denethor? Oder der kleine Orkscout, der bei der Verfolgung
+der Hobbits seinen grossen Soldatenkollegen umbringt?
+War Grima Schlangenzunge am Ende des letzen Bandes boese, als er Saruman
+toetet?
+
+Nicht zu vergessen, dass Aragorn stellenweise abweisend und herrisch wirkt,
+mal ganz davon abgesehen, dass mir nicht wohl ist bei der Bemerkung, dass
+die Blutlinie der Numenorer verwaessert wurde und die Nachkommen nur noch
+wenig laenger als gewoehnliche Menschen lebten... 
+
+War Frodo immer noch edel und gut, als er den Ring nicht vernichten wollte?
+
+Ja, die Sympathien sind bei Tolkien klar verteilt, aber die Rollen lassen
+einiges an Grautoenen zu, sodass die Unterscheidung gut/boese m.E.n. nicht
+immer eindeutig zu faellen ist.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Moorcock (Li,  3. Jul 1996, 10:15:19):
+~#! rn=Yendi rt=836305014
+~#! tid=835887170
+Meiner Meinug doch: boromir war eindeutig "gut" (muessen wir jetzt erstmal gut
+definieren?), das gleiche gilt fuer Denethor. Beide wurden zwar durch Stolz
+verfuehrt(wie uebrigens viele Dunedain). Frodo war ebenfalls ganz klar gut,
+denn sonst haette er den Ring gleich nach Bruchtal, als er die ganze
+Geschichte kannte, fuer sich beansprucht! Er wurde halt nur durch den(ganz
+klar boesen) Ring korrumpiert und verlor zum SChluss seinen frein Willen. Das
+ganze gilt natuerloich noch mehr fuer Gollum, der auch gut war! Gollum wurde
+zwar durch nicht kontrolierbares Verlangen nach dem Ring geleitet, aber selbst
+nach so langer Zeit konnte der Ring Gollum nicht vollstaendig in seine Gewalt
+bringen(Ich erinnere an das "streitgespraech" zwischen smeagol und Gollum, das
+Sam belauschte). Ausserdem verleiht der ring ganz eindeutig seinem Traeger
+Faehigkeiten nach seinen Anlagen. Gut, Gollum hat Deagol umgebracht, seine
+Familie ausspioniert, aber war das wirklich Gollum oder der Wille oder die
+Faszination des Rings?
+Orks, als von Morgoth pervertiert gezuechtete Wesen, sind natuerlich boese, da
+er sie in seinem sinne gezuechtet hat.
+Grima ist boese. Man muss ja immer das ganze Leben sehen, und Grima hat sein
+ganzes Leben lang fuer seinen eigenen vorteil gelogen, betrogen, spioniert,.
+Der Mord an Saruman war ja wohl eher eine Verzweiflungstat.
+Was die Verwaesserung des Numenorblutes angeht, so haben wir Deutsche
+(Schweizer, Oesterreicher) sicherlich eine etwas andere Reaktion als
+Englaender, das erinnert immer an die Rassenlehre der Nazis.
+Aber bei Tolkien ist das Fakt: die Numenorer haben als Belohnung fuer ihre
+Taten u.a. ein laengeres Leben bekommen, und Nachkommen mit kurzlebigen
+Menschen werden halt nicht so alt wie ihr numenorisches Elternteil. (Aber was
+hat das mit gut und boese zu tun?).
+Und das Aragorn herrisch und abweisend wirkt, hat doch nichts damit zu tun,
+dass er gut oder boese ist. Gut oder boese definiert sich nach den Taten,
+nicht wie einer aussieht.
+Naja, vieleicht sollten wir das Thema hier mal beenden, vieleicht mailst du
+mir ja mal, wenn du noch weiter darueber diskutieren moechtest?
+Li
+P.S. Uebrignes, die Vorgehensweise hier im MUD: Wenn man boese monster toetet,
+wird man gut, lehne ich im RL(und auch in der Fantasyliteratur) aufs
+allerschaerfte ab. Wer jemenden toete, weil er schlecht, boese, ein Verbrecher
+oder was auch immer ist, wird nicht gut, sondern stellt sich langsam auf eine
+Stufe mit dnen, die er verurteilt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Moorcock (Acrimon,  3. Jul 1996, 11:44:26):
+~#! rn=Li rt=836381719
+~#! tid=835887170
+
+Das ist richtig - wer Moerder toetet, stellt sich auf eine Stufe mit diesen.
+Man musz andere Wege finden, um Moerder von ihren Taten abzuhalten.
+
+Im Uebrigen kann Fantasyliterataur, die nicht zwischen Boese und Gut
+unterscheidet, gar nicht lesenswert sein.
+Denn der Mensch ist in seinem innersten Wesen doch gut - und das ist immer so,
+auch wenn der Mensch sein Innerstes unterdrueckt und im unbemerkten
+Widerstreit mit dem Innersten der Seele boese Taten und Gedanken fuehrt.
+Der Mensch identifiziert sich also mit dem Guten, und wenn der Gute eine
+kraeftige Portion an Idealismus aufbringt - umso besser.
+(PS: Der wahre Idealismus ist hier gemeint: Nicht der, der sich ein Ziel
+festsetzt, sondern der, der nach dem Ziel sucht.)
+In einem Buch, in dem das Gute des Helden verwaessert ist und der Held
+manchmal gute Taten vollbringt und manchmal Schlechte, ohne sie zu bereuen,
+kann man sich nur teilweise mit dem Helden identifizieren.
+Ueberwiegen gar die schlechten Taten, dann hofft der Leser auf einen Sieg der
+"Gegner".
+
+Klar ist es nicht realistisch, aber wollen wir das etwa?
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Moorcock (Wurzel,  3. Jul 1996, 19:17:13):
+~#! rn=Acrimon rt=836387066
+~#! tid=835887170
+nein, ich fange jetzt nicht schon wieder einen glaubenskrieg mit acrimon an.
+auch wenn es in den fingern juckt... :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Li,  4. Jul 1996, 08:54:35):
+~#! rn=Wurzel rt=836414233
+~#! tid=835887170
+*kicher* Genaus das gleiche hab ich auch gedacht! :-)
+Aber dennoch: Ich behaupte, dass der Mensch im Innersten weder gut noch boese
+ist, sondern "neutral" und das sich jeder entscheiden kann, was und wie er
+wird
+Aber so einfach ist es nicht: nicht jeder, der einen anderen Menschen toete,
+ist deshalb gleich boese, und nicht jeder, der "gute Taten" begeht, ist auch
+gut.
+Li (ist schon gespannt auf Acrimons Antwort zum Thema toeten)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Moorcock (Pampers,  4. Jul 1996, 11:45:53):
+~#! rn=Acrimon rt=836387066
+~#! tid=835887170
+Ohje, Acrimon!
+
+> Im Uebrigen kann Fantasyliterataur, die nicht zwischen Boese und Gut
+>unterscheidet, gar nicht lesenswert sein.
+Wer entscheidet das? Du?
+Meine Lieblingsfantasyfigur ist KANE von Karl Edward Wagner...
+Richtig schoen boese, fies und gemein... und ungeheuer lesenswert.... 
+>Denn der Mensch ist in seinem innersten Wesen doch gut
+Oh Mann... Deinen Glauben moecht ich haben...
+Oder besser doch nicht.... :-)
+Wer sagt, dass das so ist? 
+Und wer definiert "gut"???
+>Ueberwiegen gar die schlechten Taten, dann hofft der Leser auf einen Sieg der
+>"Gegner"
+Acrimon, du wirst irgendwann lernen muessen, zwischen Wahrheiten und
+individueller Wahrheit zu unterscheiden.... Ich bin dieser "Leser", von dem Du
+schreibst, naemlich nicht. Bloss weil es Dir so geht, heisst das nicht, dass
+es allen so gehen muss....
+
+Ehrlich gesagt, mir sind die meisten Fantasyhelden viel zu suess... kriegt man
+ja Karies von... BAEH!
+Gruss,
+ Pampers. Gemein. Hinterhaeltig. Arrogant.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Highlander,  4. Jul 1996, 12:28:29):
+~#! rn=Pampers rt=836473553
+~#! tid=835887170
+Pampers:
+> Acrimon:
+>> Im Uebrigen kann Fantasyliterataur, die nicht zwischen Boese und Gut
+>> unterscheidet, gar nicht lesenswert sein.
+>Meine Lieblingsfantasyfigur ist KANE von Karl Edward Wagner...
+> Richtig schoen boese, fies und gemein... und ungeheuer lesenswert.... 
+
+Aeh, Pampers, Du widers[richst ihm gar nicht. Und das wolltest Du doch, oder?
+*grins*
+Aber boese Charaktere koennen wirklich sehr interessant sein - bei Dragonlance
+ist auch Raistlin der interessanteste Charakter, finde ich. Oder Dalamar,
+dessen Aktionen wegen der Situation eher gut sind, der aber auch black robe
+ist.
+Raistlin ist bestimmt _nicht_ zu suess :>
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Moorcock (Elric,  4. Jul 1996, 17:29:30):
+~#! rn=Acrimon rt=836387066
+~#! tid=835887170
+Oh Mann, Acrimon... 
+Ich bin schwer versucht, das, was Du da geschrieben hast, einfach stumpf als
+Provokation einzuordnen. Wenn der Artikel von mir waere, waere es Satire,
+allerdings waere mir beim zweiten Lesen der gedanke gekommen, das zu einer
+guten Satire ein wenig Subtilitaet gehoert, und die vermisse ich bei Deinem
+Artikel voellig.
+Ich werde mir also Muehe geben, den Artikel so Ernst wie moeglich zu nehmen.
+*Selbstbeherrschung an*
+Ich nehme an, dass der Autor des Bezugsartikels ein Anhaenger der sog. "High
+Fantasy" ist, repraesentiert in den oberen Klassen durch Titel von J.R.R.
+Tolkien, in den unteren durch Produkte wie Terry Brook's "Shannara-Zyklus" 
+(eines der uebelsten Machwerke seit Drachenlanze) und der gesamte Auswurf von
+Wolfgang Hohlbein. Der erstgenannte war klasse (ist r immer noch), und zwar
+wegen 
+des bisher in vergleichbarer Literatur bisher unerreichten Detailreichtums und
+der Verknuepfung der Geschichten mit einer Weltgeschichte, die hervorragend
+aufgebaut ist, und zwar gerade deswegen, weil hinter der Kreation dieser
+Weltgeschichte nicht die
+Absicht steckte, einen Roman zu schreiben, sondern weil diese Geschichte
+vorerst in muehevoller Kleinarbeit als Selbstzweck konzipiert wurde. 
+In einer solchen Welt faellt es sehr schwer, Konzepte, die nicht
+High-Fantasy-kompatibel sind, unterzubringen; und es wuerde sicherlich auch
+keine besonders gute Geschichte dabei herauskommen.
+Wenn der/die geneigte LeserIn jedoch einmal den Blick auf das Gros der
+Identifikationsfiguren - und vor allem der feindbilder!! - im High
+Fantasy-Subgenre wirft, wird hoffentlich klar, wie jaemmerlich flach sowohl
+Protagonisten als auch Antagonisten 
+geraten sind. Als Protagonisten haben wir haeufig a) einen Frodo-Verschnitt
+(das mag ein Zauberlehrling, ein junger Ritter, jede (noch) relativ machtarme
+Figur sein) b) eine Vaterfigur a la Gandalf (bei Terry Brooks ist es der
+unertraeglich perfekte 
+Druide Allanon, in dem sich saemtliche Faehigkeiten der Istari uns die der
+Waldlaeufer des Nordens vereinen, kombiniert mit der moralischen Integritaet
+Franz von Assisis) c) einen leicht unterlegenen Freund des Hauptprotagonisten
+a la Sam Gamgee.
+Dazu kommen diverse Freunde und Helfer.
+Die Feindbilder sind ebenfalls sehr einfach. Wichtigstes Element ist immer ein
+boeser Zauberer, der seine Armeen von blutruenstigen Schergen losschickt, um
+sich die Welt untertan zu machen. 
+*gaehn*
+Als ich zwoelf war, konnte ich mich auch noch mit Hohlbeins Protagonisten
+identifizieren; aber mit dem Abklingen der Pubertaet hat meine Faszination
+fuer strahlende Helden ziemlich schnell nachgelassen. 
+
+Ob das jetzt aggressiv genug war?
+Hoffentlich.
+ICH WILL FLAMES!!!
+Elric. Im Ernst.
+++
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Grimmborn,  4. Jul 1996, 18:38:34):
+~#! rn=Elric rt=836494170
+~#! tid=835887170
+
+Ihr habt alle das Prinzip nicht verstanden. Wenn man ernsthaft und erfolgreich
+mit anderen diskutieren will muss man das in einem konstanten System tun. Es
+hat keinen Zweck einen blauen Apfel dazu bringen zu wollen rot zu werden indem
+man ihm von roten Rosen erzaehlt. 
+Daher, was das "gut-sein" des Menschen betrifft, das kann man systemimmanent
+leicht widerlegen: Im alten Testament (1. Mose, oder fuer die Katholen:
+Genesis) steht "Das Trachten des Menschen ist boese von Jugend an", hab meine
+Bibel nicht dabei, daher kann ich die Stelle nicht angeben, aber das sagt der
+HERR im Anschluss an die Sintflut.
+So, und wer behauptet jetzt noch, dass der Mensch "eigentlich" gut ist?
+
+Nebenbei, mich langweilen "platte" Seiten immer, das Leben ist kaum schwarz
+oder weiss, es ist fast ausschliesslich grau. Und ihr irrt, wenn ihr sagt, bei
+Tolkien seien die Seiten klar und eindeutig den Figuren zugeordnet, eigentlich
+jeder "gute" Charakter muss kaempfen, und nicht alles was die "Boesen"
+anfangen ist schlecht und verderblich (Smeagol). Aber ich gerate ins
+plaudern...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Lug,  4. Jul 1996, 18:53:07):
+~#! rn=Pampers rt=836473553
+~#! tid=835887170
+Moin,
+
+Kane? Ist der in Deutschland endlich mal vollstaendig aufgelegt? Bisher musste
+man sich die zensierte Stelle, ja immer in einem vergriffenen Heyne Sammelband
+suchen.
+
+Das englische Original empfehlend
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Wurzel,  4. Jul 1996, 20:11:36):
+~#! rn=Elric rt=836494170
+~#! tid=835887170
+als beispiel fuer eine relativ gut gelungene hauptfigur, die so gar nicht
+dem klischee, das elric angesprochen hat, empfehle ich thomas covenant,
+genannt "the unbeliever". entspricht uebrigens auch dem klischee von acrimon
+nicht :)
+fuer diejenigen, die die buecher von donaldson nicht kennen, ganz kurz:
+thomas covenant ist leprakrank. in einem leprosorium lernt er muehevoll,
+mit seiner krankheit umzugehen, die seine nerven absterben laesst. von
+seiner umwelt erntet er nur ablehnung. durch ein anfangs auch fuer ihn
+undurchschaubares geschehen gelangt er in eine ihm fremde welt, in der
+er als der prophezeite held und retter der menschheit begruesst wird.
+das unmoegliche geschieht: seine lepra bzw. die auswirkungen der krankheit
+gehen zurueck. was macht er draus? etwas fuer das genre eher untypisches:
+die junge frau, die ihn begruesst hat und ihm die ersten schritte in der
+welt zeigt, wird von ihm vergewaltigt. das fantasy-sprengende daran ist in
+meinen augen, dass er nach wie vor der erwartete held sein soll, und es ihm
+niemand so richtig uebel nimmt (ausser er sich selbst).
+genug davon, wie es weitergeht, kann jeder in den sechs baenden selbst
+lesen. auf jeden fall ist thomas covenant einer der ungewoehnlichsten helden,
+den die fantasy bis heute hervorgebracht hat. und ich habe bis heute kein
+klischee und keine schublade gefunden, wo er reinpasst.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Moorcock (Li,  8. Jul 1996, 08:41:46):
+~#! rn=Elric rt=836494170
+~#! tid=835887170
+Flames auf so einen Artikel? nicht von mir!
+Li (reagiert auf das Wort hohlbein wie ein Stier auf einen Torero mit
+wedelnder Capa)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Moorcock (Li,  8. Jul 1996, 08:47:32):
+~#! rn=Wurzel rt=836503896
+~#! tid=835887170
+Hmm, die vergewaltigung nimmt ihn keiner uebel? Das hab ich zwar anders in
+Erinnerung, aber naja. Was du noch erwaehnen solltest, ist, das Covenant nicht
+an die Realitaet der Welt glaubt, in die er versetzt wird. (Deshalb auch die
+Vergewaltigung aus Wut, das Zulassen der Zerstoerung einer ganzen
+Waldsieldung: Ist ja eh nicht echt).
+Also zumindestens im ersten Band ist(bzw. verhaelt sich) Covenant wie ein
+richtiges Arschloch, und ist damit ein wirklich ungewohnlicher "Held".
+
+-----------------------------------------------------------------------------
+
+
+
+Meine Lebensgeschichte (Toeter, 10. Jul 1996, 12:46:34):
+Hi,
+in Zeiten wo die Helden der Jugend ihre Wechseltage bekommen und die Rebellen
+von einst staatlich gesicherte Rente beziehen waechst das Verlangen nach
+tradiertem und althergebrachtem aus der Zeit des Sturm und Dranges. Nach lang-
+jaehriger Entwicklungshilfe einer gewissen Person - nennen wir sie Svalois
+Schmittelgruber - sind Fragmente dessen gefunden worden, was in Uebereinstim-
+mung mit den alten Schriften gemeinhin als 'Das Hydratoeterlied' bezeichnet 
+wird. Der Bestimmung nach entstammt dieses von einigen mit dem Pur-Porc-Zyklus
+(auch bekannt als die Wurstmastersage) in Verbindung gebrachte Schriftstueck 
+den Ruinen einer blau-weissen Lebensmittelkette. Ein Blick auf die Kulturseite
+des WWW, Literarische Texte::Gedichte mag dies belegen.
+   Toeter
+PS: Alles ohne Sinn :)
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich, im Internet... (Yendi, 24. Jul 1996, 13:00:59):
+
+
+(vielleicht sollte das eher nach schmarrn oder witze)
+
+Aus de.rec.buecher, von stefan.schiller@rphc1.physik.uni-regensburg.de
+ 
+ 
+Und wo ich schon mal beim Schreiben bin, hier noch schnell, was ich 
+grad beim Durchblaettern vom 'Fussballkrieg' wiederentdeckt hab - 
+sozusagen als Signaturequoteersatz :
+ 
+-------------------------------------------------------------------
+ 
+Gebet von Koq, Fuehrer des Stammes der Grikuas, vor der 
+Schlacht mit den Afrikaandern im Jahre 1876:
+ 
+ 
+                        Gott!
+           Trotz zahlreicher Gebete an Dich
+         verlieren wir staendig unsere Kriege.
+  Morgen werden wir neuerlich in eine Schlacht ziehen,
+         die man in der Tat gross nennen kann.
+       Wir benoetigen ganz dringend Deine Hilfe,
+       und daher will ich Dir etwas anvertrauen:
+  Diese morgige Schlacht wird keine leichte Sache sein,
+     in der wird man Kinder nicht brauchen koennen.
+          Daher habe ich eine Bitte an Dich:
+         Sende uns nicht Deinen Sohn zu Hilfe.
+                     Komm selber.
+ 
+
+
+Nett, nicht? Ja, da kommt man ins Gruebeln...
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Made! (Cauno,  5. Aug 1996, 10:50:04):
+~#! rn=Catweazle rt=838723955
+~#! tid=838723955
+[Verlegt von anzeigen, Cauno,  5. Aug 1996, 10:49:27]:
+
+Habs gefunden.
+
+Hinter eines Baumes Rinde
+wohnt die Made mit dem Kinde.
+
+Sie ist Witwe, denn der Gatte,
+den sie hatte, fiel vom Blatte.
+Diente so auf diese Weise
+einer Ameise als Speise.
+
+Eines Morgens sprach die Made:
+"Liebes Kind, ich sehe grade,
+drueben gibt es frischen Kohl,
+den ich hol. So leb denn wohl!
+Halt, noch eins! Denk, was geschah,
+geh nicht aus, denk an Papa!
+
+Also sprach sie und entwich. -
+MAde junior aber schlich
+hinterdrein; und das war schlecht!
+Denn schon kam ein bunter Specht
+und verschlang die kleine fade
+Made ohne Gnade. Schade!
+
+Hinter eines Baumes Rinde
+ruft die Made nach dem Kinde ...
+
+
+gefunden in Das grosse Heiz Erhart Buch,    C. No
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich, in der UNIcum: (Yendi, 12. Aug 1996, 14:23:10):
+
+Ein schoener Aphorismus von Thomas Romanus Boekelmann:
+
+"Nicht jeder, der in der Tinte sitzt,
+ sollte auch zur Feder greifen."
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neulich, in der UNIcum: (Cauno, 12. Aug 1996, 14:24:10):
+~#! rn=Yendi rt=839852590
+~#! tid=839852590
+
+Erinnert mich an so einen T-Shirt-Spruch:
+
+"Das Leben ist Scheisse,
+ aber manchmal muss man sich durchbeissen."
+
+
+-----------------------------------------------------------------------------
+
+
+
+Tod einer Stadt von Frank Herbert (Muadib, 12. Aug 1996, 19:21:09):
+halloechen,
+
+wer die twilight-zone storys liebte fuer den hab 
+ich einen tip:
+  Tod einer Stadt von FRank Herbert *ja der von DUNE*
+  erschienen im Heyne-Verlag *neuerscheinung*
+das buch enthaelt 30 short-storys, alle angesiedelt
+im bereich des fantastischen scifis
+geschrieben wurden die storys von 1952 bis 1985 fuer 
+die allbekannten heftchen wie astounding stories
+oder 
+startling stories, amazing etc
+die stories sind groesstenteils lesenswert obwohl auch 
+einige sehr schwache dabei sind
+sondertip die story Froesche und Forscher ;)
+
+empfehlung:  lesen
+
+bis zum naechsten buch
+
+ muadib *marcel fuer arme*
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zeit der Graeber von Bjoern Jagnow (Muadib, 12. Aug 1996, 19:21:57):
+Lange habe ich mit mir gerungen, ob ich berichten sollte
+ueber das Buch "Die Zeit der Graeber" von Bjoern Jagnow.
+Nun habe ich mich dazu entschlossen, die Rolle Hiobs wahrzunehmen
+fuer alle Buecherliebhaber und Kenner der Welt des Rollenspiels "Das
+Schwarze Auge".
+Denn eben in dieser Welt spielt das im Heyne-Verlag erschienene "Buch".
+Kurz zum Inhalt:
+ Am Ende des aventurischen Jahres herrscht an fuenf Tagen der Namenlose
+ Gott, Widersacher der Zwoelfgoetter, in Aventurien.
+ Zu dieser Zeit bleiben die Aventurier zuhause und beten.
+ Doch Narena und Wulfen gehen gerade zu dieser Zeit auf einen heiligen
+ Boronsanger, einen Friedhof fuer nicht DSA-Kenner.
+ Und dort nimmt das Unheil seinen Lauf.
+
+Nun sollte eigentlich die Inhaltsangabe das Unheil beschreiben, doch ist
+das eine geringe Aufgabe im Vergleich zum literarischen Unheil das der
+Autor verbreitet.
+Seine Charactere sind so schwach gestaltet, dass sie an eine duenne
+Fischblase erinnern, durchsichtig, unangenehm riechend und nur zum 
+wegschmeissen geeignet.
+Dies trifft auf das gesamte Werk zu.
+Irgendwo hat der Autor wohl mal aufgeschnappt, dass das Durchbrechen der
+Einheit von Zeit und Raum ein beeindruckendes Stilmittel sind, und ebenjenes
+versucht.
+Jedoch ist Bjoern Jagnow kein Joyce, nicht mal annaehernd.
+Sein Versuch stilgemaess zu glaenzen endet mit einem unsinnigen Debakel
+verworrener Handlungsstraenge, der ohnehin duerftigen Handlung.
+Auch das Mittel des Gedankenfluss verwendet der Autor sporadisch und
+verursacht damit das, was eigentlich die Handlung schaffen sollte:
+Entsetzen und Grauen.
+
+Insgesamt lohnt es sich auf keinen Fall dieses Buch zu kaufen,
+ist es doch zu dick um als Tuerstopper zu dienen, zu leicht fuer 
+einen Briefbeschwerer und die Blaetter sind zu hart als Toilettenpapier.
+Lesen sollte man es auf gar keinen Fall, ausser man empfindet eine
+kranke Freude daran, wertvolle Minuten seines Lebens zu vergeuden
+und sich die Laune zu verderben.
+
+Nun sind es ja doch ein paar Zeilen geworden, welche Verschwendung
+laesst sich doch der Inhalt dieser Besprechung einfach zusammenfassen:
+
+
+  VORSICHT VOR DEM BUCHE !! 
+
+-----------------------------------------------------------------------------
+
+
+
+Das Silmarillion von J.R.R. Tolkien (Muadib, 12. Aug 1996, 19:23:02):
+> Eru war da, der Eine, der in Arda Illuvatar heisst; und er
+ schuf erstens die Ainur, die Heiligen, Sproesslinge seiner
+ Gedanken; und sie waren bei ihm, bevor irgend andres
+ erschaffen war. Und er sprach zu ihnen, sie Melodien lehrend,
+ und sie sangen vor ihm, und er war froh. Lange aber sangen sie 
+ nur jeder fuer sich allein oder zu wenigen, waehrend die anderen
+ lauschten, denn jeder verstand von Illuvatars Gedanken nur
+ jenen, aus dem er selber stammte, und nur langsam lernten sie
+ auch ihre Brueder verstehen. Doch indem sie hoerten, verstanden
+ sie besser, und es wuchsen Einklang und Harmonie. <
+
+Doch lange bleibt sie nicht erhalten, die Harmonie, die am Anfang
+des Silmarillions steht.
+Denn John Ronald Reuel Tolkien entfuehrt den Leser schnell in die
+Geschichte des Ersten Zeitalters der Welt.
+Er weiss zu berichten von den Elben, den Menschen und den Naughrim,
+den Zwergen, im gemeinsamen doch uneigem Kampf gegen Morgoth, den Dunkeln 
+Herrscher, der die Schar der Ainur im Zorn verliess und fortan das Boese 
+ueber die Welt bringt.
+Doch nicht nur gegen Morgoth und sein Gezuecht, den Drachen, Orks und
+Balrogs, kaempfen die Kinder der Welt sondern auch gegen sich selbst und
+ihre Schwaeche.
+Leidenschaft, Wahnsinn, Stolz, Treue,  all diese Eigenschaften bestimmen
+die Geschichte der Welt, die von Tolkien akribisch genau, doch auch mit
+ungestuemer poetischer Kraft beschrieben wird.
+Der Leser wird mit gerissen in die Geschicke der Welt, er bedauert den
+Stolz Feanors, fasziniert beobachtet er die Entstehung von Sonne und
+Mond, voll Ruehrung beobachtet er die Geschicke von Beren und Luthien
+und hilflos muss er schliesslich zusehen wie Morgoth und sein erster Diener 
+Sauron mit dem Untergang Gondolins auch das Ende des ersten Zeitalters 
+besiegelt.
+
+Das Buch 'Das Silmarillion' behinhaltet jedoch nicht nur die 'Quenta
+Silmarillion' sondern auch die kleineren Lieder 'Ainulindale', 
+'Valaquenta', 'Akallabeth' und die Geschichte von den Ringen der
+Macht und dem Anfang des Dritten Zeitalters.
+
+Die Sprache Tolkiens ist in diesem Werk von besonderer epischer Kraft
+kombiniert mit milder Poesie, die den Lesegenuss noch weiter hebt als
+Tolkiens bekanntestes Werk "Der Herr der Ringe", das Rote Buch der Westmark.
+
+Es empfiehlt sich direkt nach dem Silmarillion das Buch ueber den 
+Ringtraeger zu lesen, ist der Leser dann doch eingeweiht und erfuellt von 
+den Mythen und Legenden, auf denen Tolkiens Welt fusst und die auch das 
+Verstaendnis fuer "Der Herr der Ringe" entscheidend verbessert.
+
+Kurz "Das Silmarillion" ist eine absolut lesenswerte, packende
+und ja sogar traumhafte Lektuere, ein Lichtblick im Alltag,
+und mitunter unangenehme Selbsterkenntnis.
+
+Das mir vorliegende Exemplar ist erschienen in der Reihe "Greif-Buecher"
+des Klett-Cotta Verlages und besitzt die ISBN-Nummer: 3-608-958041.
+Der Preis ist mir nicht gelaeufig, aber er ist es wert.
+
+  
+
+-----------------------------------------------------------------------------
+
+
+
+mr. stitch  ein film (Muadib, 12. Aug 1996, 19:23:51):
+hallo liebe mitmenschen,
+
+mister stitch ist zwar kein kinofilm, sondern
+eine videoproduktion, die mir in die haende fiel aber denoch ...
+seid gewarnt !
+
+die hauprollen in diesem film der MEGABOOM PRODUCTION (jaha der
+name ist programm, aber seid wann bedeutet BOOM SCH..... ?)
+spielen rutger hauer (mein gott was wurde aus dem bladerunner-star)
+und wil weasle wheaton bekannt aus startrek und der newsgroup
+alt.wesley-crusher.die.die.die ( ehemals lesenswert)
+nun zur story: doktor wankirgendwas versaut seine volkshochschul-
+patchworkhausaufgabe und naeht statt eines kissens ein superstarkes,
+superintelligentes juengelchen zusammen (tja pech rutger)
+der bengel ist ziemlich perfekt bis auf die tatsache dass er aus
+flicken von 88 menschen besteht und keine genitalien hat (gottseidank)
+nun beginnt der knabe sich an die tode seiner bestandteile zu erinnern
+und just in diesem moment erfaehrt der zuschauer, dass das flickwerk
+ein superkillerprodukt eines durchgeknallten militaers ist
+begleitet von einer minilovestory entflieht der bursche, kommt wieder
+zurueck und ermordet sich, seine schoepfer und seinen nachfolger sowie
+alle daten mit nervengas   die WELT ist gerettet ....
+die regie fuehrt ein herr avaray ( nicht tex avery )
+
+der film hat, um ihn wenigstens ein bischen zu loben, einige schwaechen
+der rest ist einfach nur mist, den selbst ein ed wood abgelehnt haette.
+rutger hauer in der rolle des doktors erinnert an dr. dr. best nur nicht
+ganz so lebendig un wil wheaton als monster ... nun ... naja er 
+kann sich freuen, dass  man ihn durch die maske eigentlich nur durch
+das verraeterische doppelkinn erkennt, so hat er vielleicht nochmal
+eine chance eine rolle zu bekommen ( ich wuerd ihn gern mal als
+ronald mcdonald sehen)
+mein tip: lieber texas docsnyder sehen, das ist noch feingeistig gegen
+diese zelluloidverschwendung
+
+
+muadib *kennt aber auch gute filme und buecher*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Silmarillion von J.R.R. Tolkien (Caradhras, 17. Aug 1996, 07:23:02):
+~#! rn=Muadib rt=839870582
+~#! tid=839870582
+               Guggs ihr Nichtfroesche
+
+Da muss ich doch auch gleich mein Tuempelwasser dazu schreiben. :-)
+Teilweise muss ich Muadib Recht geben, teilweise auch ziemlich
+unrecht. 
+Recht geben muss ich ihm insoweit, dass das Silmarillion absolut
+lesenswert ist. Nicht ganz zustimmen kann ich ihm in seinem
+verallgemeinertem Lob des Silmarillions. Eigentlich handelt es
+sich dabei nur um eine Sammlung von Aufsaetzen, die von Christopher
+Tolkien ( J.R.R.Ts Sohn) in Zusammenarbeit mit Guy Gavriel Kaye
+bearbeitet wurden, um der grossen Nachfrage nach mehr Hintergrund-
+geschichten der Altvorderenzeit gerecht zu werden.
+Sicher ist es empfehlenswert, sogar sehr empfehlenswert, den Herrn
+der Ringe vor dem Silmarillion zu lesen, aber wenn ihr euch durch
+die ersten 100 Seiten des HDR durchkaempfen musstet, wenn euch nur
+an reiner Action etwas liegt, wenn euch Zusammenhaenge der Geschichte
+Mittelerdes, der background der Welt Tolkiens, nicht interessiert,
+dann ist wohl das Silmarillion nichts, aber auch gar nichts fuer
+euch. Dort tauchen sehr viele Namen auf und es ist wirklich nicht
+leicht zu lesen und vor allem sich nicht leicht zu merken. Lange
+nicht in der Breite des HDR angelegt, dafuer eher in der Tiefe
+der Zeiten, dient es vielmehr der Klarstellung vieler Fragen der
+Vergangenheit, der Verdeutlichung mancher 'Evolutions'prozesse
+in Mittelerde und auch maerchenhaften Geschichten ueber Leid,
+Trauer und Glueck, wie zB die Geschichte von Beren und Luthien
+Tinuviel, von Tuor und Idril oder die Geschichte der Kinder Hurins,
+narn i hin hurin.
+
+Alles in allem sehr empfehlenswert fuer alle, die sich fuer
+Maerchen, Geschichten, Hintergrund und Geschichtchen interessieren,
+aber nichts fuer Leute die auf reine, immerwaehrende Spannung
+waehrend des Lesens bestehen.
+
+      tschuess     
+    Caradhras Barazinbar - das Rothorn aus Mittelerde
+       zur Zeit in Geheimmission als Goldfrosch unterwegs
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zeit der Graeber von Bjoern Jagnow (Li, 19. Aug 1996, 11:00:05):
+~#! rn=Muadib rt=839870517
+~#! tid=839870517
+Hmm, klingt wie eine Hohlbein-Rezension...
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Hilfe zu den Lemmingen gesucht! (Engywuck, 19. Aug 1996, 19:03:55):
+Hallo Leute!
+Ich sitze zur Zeit an den Lemmingen. Und zwar nicht denen von Aurora, sondern
+an diesem Computerspiel. Und zwar sogar noch der ersten Ausgabe davon...
+Das Problem ist, dass ich nun bei einem Level angekommen bin, wo ich nicht
+mehr weiterweiss. Vielleicht findet sich ja hier ein gewiefter Spieler, der
+sich etwas auskennt?
+Also, das fragliche Level hat den Code: GMONLNHIHN (Level 28, Rate Taxing)
+
+Falls da jemand Tips zu hat: Nur her damit!
+
+Engy, langsam am verzweifeln...
+
+-----------------------------------------------------------------------------
+
+
+
+In Gedenken an Rio Reiser (Schrumpfi, 23. Aug 1996, 22:32:15):
+Land in Sicht, singt der Wind in mein Herz die lange Reise ist vorbei
+Morgenlicht weckt meine Seele auf, ich lebe wieder und bin frei
+Und die Traenen von gestern wird die Sonne trocknen
+und die Spuren der Verzweiflung wird der Wind verwehn
+und die durstigen Lippen wird der Regen troesten
+und die laengst verloren geglaubten, werden von den toten auferstehn.
+
+Schrumpfi trauert um Rio Reiser
+
+-----------------------------------------------------------------------------
+
+
+
+Re: In Gedenken an Rio Reiser (Schrumpfi, 26. Aug 1996, 02:11:55):
+~#! rn=Schrumpfi rt=840832335
+~#! tid=840832335
+Weil ich immer wieder gefragt werde: Rio Reiser ist am Dienstag den 21.08
+gestorben. Angeblich an Herz-Kreislaufversagen. Genaueres weiss ich aber
+leider auch nicht.
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: In Gedenken an Rio Reiser (Snuggle, 28. Aug 1996, 09:49:58):
+~#! rn=Schrumpfi rt=840832335
+~#! tid=840832335
+schoeoeoen
+
+Snuggle, wartet drauf, dass Rio und Tamara wiederkommen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: In Gedenken an Rio Reiser (Har, 28. Aug 1996, 10:12:54):
+~#! rn=Snuggle rt=841218598
+~#! tid=840832335
+Was hat denn Tamara mit Rio Reiser zu tun???
+
+Har (sich wundernd)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: In Gedenken an Rio Reiser (Snuggle, 31. Aug 1996, 21:46:53):
+~#! rn=Har rt=841219974
+~#! tid=840832335
+Danz, nicht die hiesige.
+
+alles klar?
+
+Snuggle :-)
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Buchkritik (Guybrush,  1. Sep 1996, 16:19:38):
+Jetzt will ich auch mal wieder ein Buch vorstellen. Und: Es ist WEDER ein
+Fantasybuch, NOCH ein SF-Buch.
+Dies nur dazu angemerkt, falls es Euch wieder ueberkommen sollte, Eure
+spezielle Meinung zu diesem Stueck Liteartur bekannt zu geben: Vielleicht
+waere es sinnvoll anstelle diverser geschmacklicher Vorzuege ueber bestimmte
+Autoren einfach einen vorzustellen, der Euch besser gefaellt ;)
+
+Das Buch, viele von Euch werden es schon kennen und leider habe ich es auch
+nicht in der englischen Originalfassung, welche besser sein soll, heisst:
+
+Die Letzten ihrer Art
+von Douglas Adams und Mark Carwardine
+
+Den ersten Autor kennt Ihr ja sicher, der zweite gibt dem Buch eigentlich nur
+den Hintergrund ;)
+
+Es geht um aussterbende Tierarten und wer Douglas Adams kennt, kann sich
+vorstellen, dass es durchaus kein langweiliges Buch ist. Durch seinen eigenen
+Stil versteht er es aber, so meine Ansicht, dem Leser zu veranschaulichen,
+warum es um mehr geht, als nur ein bestimmtes kleines oder groesseres Tierchen
+irgendwo auf einer einsamen Insel zu retten, von welchem vorher ohnehin keiner
+etwas gehoert hat. Im Gegensatz zu vielen Greenpeace- oder BUND
+Veroeffentlichungen macht er dies aber nicht auf dem Weg des "Betroffenseins",
+sondern baut unterschwellig eine Beziehung des Lesers zu dem jeweiligen Tier
+auf, indem er es oft genug mit seinen menschlichen Beobachtern vergleicht.
+Aber ich will hier anstelle von noch mehr Geschwafel einfach mal zwei Stellen
+zitieren, welche meiner Meinung nach ganz gut charakterisieren, was das Buch
+lesenswert macht.
+
+"Man kann sich also vorstellen, was passiert, wenn eine Festlandsart auf eine
+Insel eingeschleppt wird. Das ist, als wuerde man Al Capone, Dschingis-Khan
+und Rupert Murdock auf der Isle of Wight einschleppen - die Einheimischen
+haetten keine Chance."
+
+".....
+Bis zu diesem Moment hatten die Menschen nicht wirklich auf die reihe
+bekommen, dass ein Tier einfach aufhoeren konnte zu existieren. Es war, als
+haetten wir bis dahin nicht begriffen, dass etwas, das man toetet, einfach
+nicht mehr da sein wuerde. Endgueltig. Nachher, in diesem Fall nach dem
+Aussterben des Dodo, ist man trauriger und klueger."
+
+hoffentlich
+
+
+Tja, das sind zwei Textstellen, die mir aufgefallen sind. Es gibt sicher noch
+viele weitere. 
+Es gibt auch sicher sonst noch viel zu dem Buch zu sagen, aber ich war schon
+in der Schule nicht der grosse Literaturkritiker und wer eine andere Meinung
+hat, darf sie gerne fuer sich behalten ;)
+Hm, ich kann nur sagen: Lest das Buch, es ist es wert, auch wenn's kein SF-
+oder Fantasybuch ist ;)
+
+Guybrush, versucht sich mal kulturell
+
+P.S.: Erspart mir bitte Verbesserungen an meiner Kritik in der MPA, wenn's
+Euch nicht passt: ne mail tut's :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchkritik (Bendeigid,  2. Sep 1996, 12:08:53):
+~#! rn=Guybrush rt=841587578
+~#! tid=841587578
+Ich kann Guy nur zustimmen: Ein hervorragends, eindringliches Sachbuch, das
+gar kein Sachbuch ist, sondern sich mehr wie ein lustiger Roman liesst.
+
+Meine Lieblingsstelle in dem Buch:
+
+(Es geht um einen Giftschlangenexperten in Australien, der zum Thema "was tun
+bei Schlangenbissen?" interwiewt wird. Er hasst schlangen :) )
+
+"Gibt es eigentlich irgendein giftiges Tier, dass sie moegen?"
+"Gab's mal. Aber sie hat mich verlassen!"
+
+:))
+Z'par Servu,
+         Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchkritik (Ancalagon,  4. Sep 1996, 17:53:45):
+~#! rn=Guybrush rt=841587578
+~#! tid=841587578
+Moin erstmal
+Also, ich kann Guy's empfehlung nur voll unterstuetzen. Ein echt klasse Buch.
+KNuddels,
+                                                 Ancalagon
+                                            Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchkritik (Semira,  9. Sep 1996, 21:56:15):
+~#! rn=Ancalagon rt=841852425
+~#! tid=841587578
+und ich unterstuetz mal gleich mitz, auich wenn ich die stelle ueber diese
+komisch voegel am liebsten hab, bei denen es mit den lockrufen net so recht
+klappt...
+Sie: komm und hol mich!
+Er: wo bist Du?
+Sie: komm und hol mich!
+Er: wo bist Du?
+Sie: komm und hol mich!
+Er: wo bist Du?
+Sie: komm und hol mich!
+Er: ach fick dich doch ins knie...
+
+opder so aehnlich...jedenfalls ist dieses Buch einfach nur ein muss
+
+Semira
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchkritik (Caradhras,  9. Sep 1996, 22:06:40):
+~#! rn=Semira rt=842298975
+~#! tid=841587578
+Aha, der Buchausschnitt hoert sich aber sehr interessant an.
+
+Opppps, wo hab ich nur die Ironie her? :)
+
+             Rothorn Caradhras
+PS: Also ein Buch, das ich nie lesen werde, wenn das weite
+   Strecken so geht
+
+-----------------------------------------------------------------------------
+
+
+
+ein Gedicht (Jariel, 10. Sep 1996, 01:18:38):
+
+TREUE           (Erich Fried)
+
+Es heisst:
+Ein gebrochenes Versprechen
+ist ein gesprochenes 
+Verbrechen
+
+Aber kann nicht
+ein ungebrochenes Versprechen
+ein ungesprochenes
+Verbrechen sein?
+
+
+Dazu wuerde mich mal Eure Meinung interessieren.
+
+Jariel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ein Gedicht (Acrimon, 10. Sep 1996, 13:41:11):
+~#! rn=Jariel rt=842311118
+~#! tid=842311118
+> Ein gebrochenes Versprechen
+> ist ein gesprochenes Verbrechen
+
+Ja, das ist eindeutig.
+
+> Aber kann nicht
+> ein ungebrochenes Versprechen
+> ein ungesprochenes Verbrechen sein?
+
+hmm, ein ungebrochenes Versprechen kann sein: ein gehaltenes Versprechen, oder
+ein noch zu haltendes Versprechen (zeitbedingt).
+Ich wuerde sagen, das hat nichts zu sagen, ob mit dem Versprechen ein
+Verbrechen begangen wird; das haengt von etwas Anderem ab, aber nicht davon,
+ob man sein Versprechen gebrochen hat.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ein Gedicht (Grimmborn, 10. Sep 1996, 14:12:09):
+~#! rn=Acrimon rt=842355671
+~#! tid=842311118
+
+Acrimon, versuch mal zu lesen: es geht um ein ungeSProchenes Verbrechen, nicht
+um ein ungeBrochenes.
+
+Ein ungesprochenes Verbrechen (unausgesprochenes Verbrechen?) ist ipso eo ein
+tatsaechliches Verbrechen, es ist lediglich nicht gesprochen. Anders
+ausgedrueckt, es scheint sich um etwas negativ besetztes ("Verbrechen") zu
+handeln.
+Demgegenueber steht das ungebrochene Versprechen, allgemein gilt es als
+Tugend, ein Versprechen zu halten. Demnach handelt es sich um einen
+Widerspruch.
+Wie aber ist dieser Widerspruch zu loesen? Es gibt zwei Moeglichkeiten: einmal
+nach einem negativ besetzten gehaltenen Versprechen zu suchen oder aber ein
+positives Verbrechen auszumachen. Kann also ein gehaltenes Versprechen negativ
+sein? Im allgemeinen ist das in unserem Kulturkreis nicht der Fall. Ein
+Versprechen mag noch so toericht und riskant sein, es zu brechen gilt als
+ehrlos. Sicher ist eine Situation vorstellbar, in der es besser ist, ein
+gegebenes Versprechen nicht zu halten, aber ein Geschmack der Ehrlosigkeit
+bleibt, die dann lediglich durch den Mut, sich dieser Ehrlosigkeit
+auszusetzen, ausgeglichen wird. Zusammenfassend scheint also dieser Weg zu
+keiner Loesung zu fuehren.
+Nun also die zweite Moeglichkeit: Kann es ein "positives" Verbrechen geben?
+Die Frage ist so alt wie die menschliche Morallehren, meist werden Verbrechen
+fuer eine im jeweiligen System "gute" Sache positiv, d.h. nicht als Verbrechen
+dargestellt. Nun kann man sich fragen, inwieweit die Tat dann noch ein
+Verbrechen ist. Ueberhaupt ist der Verbrechensbegriff schwierig, ich neige
+dazu, den Begriff "Verbrechen" systemimmanent zu sehen, eine Tat, die also mit
+den Regeln des Systems uebereinstimmt ist kein Verbrechen (und daher gut),
+wenn sie nicht mit den Regeln uebereinstimmt (also ein Verbrechen ist), ist
+sie per se nicht gut. Damit fuehrt auch dieser Weg zu keiner Loesung des
+Widerspruchs.
+
+Damit kann ich die in dem Gedicht (Spruch?) gestellte Frage klar mit "nein"
+beantworten.
+Ich hoffe, damit die Mehrheit der Leute hier von Seelenqualen befreit gekonnt
+zu haben.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: ein Gedicht (Acrimon, 10. Sep 1996, 14:27:26):
+~#! rn=Grimmborn rt=842357529
+~#! tid=842311118
+Du hast schon recht, Grimmborn.
+
+Jedoch bedenke: Eine Tat gilt im einen System als unrelevant, in einem anderen
+System als Wohltat, und in wieder einem anderen System als Verbrechen.
+Meistens jedoch gleichen sich die unterschiedlichen Systeme ein wenig
+aneinander an, und was vom einen System als Verbrechen gesehen wird, hat doch
+eine gewisse Wahrscheinlichkeit, auch von einem anderen System eher als
+Verbrechen denn als Wohltat gesehen zu werden.
+Dies liegt aber nicht an der Abhaengigkeit der Systeme voneinander (die es,
+wenn ueberhaupt, nur im geringen Masze gibt), sondern eher daran, dasz alle
+Systeme versuchen, das "beste" System zu sein, sich der Wahrheit und dem Sinn
+moeglichst anzunaehern.
+Da jedes System die Wahrheit aus einer anderen Blickrichtung betrachtet,
+erkennt auch jedes System die Wahrheit anders, stellen sich entsprechend
+unterschiedliche Ziele vor, die sie erreichen wollen.
+Da Systeme nicht das Ultimative (im eigenen Sinne) sind, weil sie sich alle
+nur auf dem Weg zu ihrem Ziel (und nicht AN ihrem Ziel) befinden, gibt es in
+jedem System Luecken (und seien sie auch noch so klein).
+Daher ist eine Tat, die mit den Regeln des Systems uebereinstimmt, noch nicht
+unbedingt "gut" - nicht unbedingt im eigenen System, als auch erst recht nicht
+in anderen Systemen.
+Also ist eine Tat, die man im guten Sinne begeht, noch nicht unbedingt eine
+Wohltat - es kann auch ein unerkanntes oder ungesprochenes Verbrechen sein.
+
+Es gibt trotzdem einen Trost:
+Bei Gott zaehlt der gute Wille mehr als der tatsaechliche Erfolg.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: ein Gedicht (Anatol, 10. Sep 1996, 14:40:57):
+~#! rn=Acrimon rt=842358446
+~#! tid=842311118
+
+Interessant finde ich diesbezueglich, was passiert, wenn ein System ein
+anderes uebernimmt und Taten, die zur Zeit des alten Systems vollbracht
+wurden, der neuen Bewertung unterwirft.
+
+Froh, dass er nie dienstlich schiessen musste,
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Intelektuelle Scheisse... (Rantanplan, 10. Sep 1996, 14:51:32):
+Oki ich gebs zu, der Titel war unabdingbar...
+
+Also zusammen mit der ueberschrift Treue bei dem Gedicht, 
+verstehe ich es so, dass der zweite Vers besagen will,
+Das der Treuebruch schon vor dessen Aussprache, sozusagen
+im Kopf beginnen kann, und das Verbrechen (hier die Untreue),
+nicht ausgeprochen (ausgeuebt) werden muss, um als solches
+bereits potentiell existent zu sein.
+
+Aber gefallen haben mir die Verse ueberhaupt gar nie nicht,
+ich fands ziemlich schlecht...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: ein Gedicht (Fyt, 10. Sep 1996, 18:19:22):
+~#! rn=Anatol rt=842359257
+~#! tid=842311118
+
+Sehr interessanter Gesichtspunkt. Dummerweise ist das hierzulande
+schon so normal, dass man das fuer normal haelt.
+
+Fyt, auch froh aus dem gleichen Grund.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: ein Gedicht (Spindel, 10. Sep 1996, 19:44:01):
+~#! rn=Anatol rt=842359257
+~#! tid=842311118
+Du hast natuerlich recht, wenn Du sagst, dass hier Taten in einem alten
+System neuen Bewertungen unterworfen werden. Niemand wurde zur Zeiten
+der DDR wegen Schuessen an der Grenze verurteilt. Aber die heute verur-
+teilten haben das Pech(?), dass der Schiessbefehl niemals Einzug in die
+Gesetzte der DDR gefunden hat. Das konnte er auch gar nicht, da er damit
+im eklatanten Widerspruch zur Menschenrechtserklaerung gestanden haette, mit
+der sich auch die DDR einverstanden erklaert hat. Aber genau wegen Ver-
+stosses gegen diese Erklaerung wurden heute hochrangige DDR-Offiziere zu
+langjaehrigen Freiheitsstrafen verurteilt. Und wenn ich ehrlich bin, dann
+bin ich doch recht froh, dass es mal LEute getroffen hat, die zwar fuer
+die Befehle zustaendig waren aber nicht am Abzug standen.  
+Letztendlich ist alles eine Frage der Politik, und die Verurteilten haben 
+schon recht, wenn sie das Urteil politisch nennen.
+Letztendlich hbe ich aber auch keine Ahnung von der Sache, da ich kein Jurist
+bin und mein Wissen nur aus der Presse habe.
+  Spindel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: ein Gedicht (Li, 11. Sep 1996, 10:40:41):
+~#! rn=Acrimon rt=842358446
+~#! tid=842311118
+Hmm ,wie waere es mit einer Philosophen-Gilde?
+Li (kichert)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ein Gedicht (Stahldorn, 11. Sep 1996, 12:06:41):
+~#! rn=Jariel rt=842311118
+~#! tid=842311118
+Hmm. Mal ganz banal.
+Wenn ein Mord ein Verbrechen ist, und ich verspreche jemandem, dessen
+unliebsamen Feind zu ermorden, und tu das dann auch, dann habe ich mein
+Versprechen nicht gebrochen (also ungebrochenes Versprechen) und ich hab ein
+Verbrechen begangen (und zwa ein ungesprochenes, schliesslich hab ich das
+Opfer nicht zu Tode geredet).
+Lieg ich da falsch? :)
+
+STAHL.
+
+-----------------------------------------------------------------------------
+
+
+
+Doug Adams (Hobo, 11. Sep 1996, 14:28:30):
+Uebrigens heisst das Buch: "Die Letzten ihrer Art" auf englisch "Last chance
+to see".
+
+Nur mal so .... aehm, gut isses wirklich :)
+
+    HOBO
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Doug Adams (Hate, 12. Sep 1996, 08:42:41):
+~#! rn=Hobo rt=842444910
+~#! tid=842444910
+Gut ist es nur in der Originalfassung, da in der Deutschen so einige Fotos
+fehlen.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: ein Gedicht (Acrimon, 12. Sep 1996, 14:54:51):
+~#! rn=Li rt=842431241
+~#! tid=842311118
+Sehr gute Idee!
+Bin ich dafuer!
+Wer schreibt die Philosophengilde?
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Gedicht (Alboin,  3. Okt 1996, 22:10:10):
+weils so schoen und traurig ist, mal wieder ein Gedicht von mir:
+
+   Christiane
+
+Es stand ein Sternlein am Himmel,
+Ein Sternlein guter Art;
+das taet so lieblich scheinen
+So lieb und so zart!
+
+Ich wusste seine Stelle
+Am Himmel, wo es stand;
+Trat abends vor die Schwelle
+Und suchte, bis ich's fand;
+
+Und blieb dann lange stehen,
+Hatt' grosse Freud' in mir,
+Das Sternlein anzusehen;
+Und dankte Gott dafuer.
+
+Das Sternlein ist verschwunden
+Ich suche hin und her,
+wo ich es sonst gefunden,
+Und find' es nun nicht mehr.
+
+   Matthias Claudius (seiner Tochter gewidmet, die sehr jung verstarb)
+
+-----------------------------------------------------------------------------
+
+
+
+Wenn - (Bronwyn,  6. Okt 1996, 21:48:10):
+Wenn du den Kopf behalten kannst, waehrend alle um dich her den ihren
+verlieren und es auf dich schieben,
+wenn du dir vertrauen kannst, waehrend alle an dir zweifeln und du dabei auch
+ihre Zweifel verstehst;
+wenn du warten kannst und nicht vom Warten ermuedest, oder belogen wirst und
+nicht zur Luege greifst,
+gehasst wirst, ohne dich dem Hass hinzugeben, dabie nicht zu milde
+dreinblickst noch zu klug redest:
+
+Wenn du traeumen kannst - ohne Traeume zu deinem Herren zu machen:
+Wenn du denken kannst - ohne Gedanken zu deinem Ziel zu machen;
+wenn du Triumph und Katastrophe begegnen kannst und diese beiden Hochstapler
+gleich behandelst:
+wenn du es ertragen kannst, die Wahrheit, die du gesagt hhast, von Schuften
+verdreht zu hoeren, um eine Falle fuer Toren daraus zu machen,
+oder die Dinge zerbrochen zu sehen, denen du dein Leben gegeben hast,
+und dich zu buecken und sie mit abgenutzem Werkzeug wieder aufzubauen:
+
+Wenn du einen Stapel aus deinen Gewinnen machen und sie auf ein Mal, alles
+oder nichts, riskieren kannst,
+und verlieren und wiedre beim Anfang anfangen und nie auch nur ein Wort ueber
+deinen Verlust sagst;
+wenn du dein Herz, Nerv und Sehne zwingen kannst, dir zu gehorchen, wenn es
+sie langst nicht merh gibt 
+und so durchzuhalten, wenn nichts mehr in dir ist ausser dem 
+Willen, der ihnen sagt:"Haltet durch!"
+Wen du mit Menschenmengen reden kannst, ohne die Tugend zu verlieren oder
+neben Koenigen gehen kannst - doch den "common touch" nicht verlierst,
+wenn dich weder Feinde noch liebevolle Freunde verletzen koennen, wenn alle
+auf dich zaehlen, aber keiner zu sehr;
+wenn du die erbarmungslose Minute fuellen kannst mit sechzig vollen Sekunden
+eines Langstreckenlaufs,
+gehoert dir die Erde und alles, was darauf ist und - was mehr ist - du wirst
+ein Man sein, mein Sohn!
+
+Rudyard Kipling
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wenn - (Bronwyn,  6. Okt 1996, 21:53:08):
+~#! rn=Bronwyn rt=844631290
+~#! tid=844631290
+sorry for Typos und dass ich das ganze nicht nur auf 
+Maenner bezogen wissen will, versteht sich wohl von selbst.
+
+-----------------------------------------------------------------------------
+
+
+
+Ich stand auf der Strasse (Engywuck,  8. Okt 1996, 17:34:16):
+
+Ich stand auf der Strasse, und ich war allein,
+da sah ich dich, ich wollte bei dir sein.
+
+Doch du gingst vorueber, und ich hatte kein Glueck,
+und ich hoffte, vielleicht kommt sie zurueck.
+
+Und da geschah das Wunder, ein Blick von ihr zurueck,
+Augen voller Sehnsucht, sie suchten das Glueck.
+                                                    
+Noch am gleichen Abend war ich nicht mehr allein,
+und die Frau, die vorbeiging, wollte bei mir sein.
+
+Doch als ich ihre Hand nahm, fiel es mir gleich ein,
+ein Ring an ihrem Finger, sie muss verheiratet sein.
+
+F|r mich war sie tabu, ich wollte ehrlich sein.
+Ich sagte es ihr, doch sie war ganz allein.
+                                                
+Warum muss es so sein, sie kuesste mich,
+und wir umarmten uns, Gefuehle mussten raus.
+
+Der Tanz auf dem Vulkan, ich weiss, es ist verboten.
+Der Tanz auf dem Vulkan, Liebe die verbrennt.
+
+Der Tanz auf dem Vulkan, dem Himmelszelt entgegen.
+Eine Wolke aus Sehnsucht fliegt ueber das Tal.
+                                                       
+Und der Vogel schweigt, seine Fluegel sind leer.
+Und der Vogel fliegt - weit |ber das Meer.
+
+Auf dem Vulkan - sind wir zwei allein.
+Er ist nicht dabei, das ist uns ganz egal.
+
+Kleiner Vogel, flieg, flieg durch die Welt.
+Kleiner Vogel, kleiner Vogel, kleiner Vogel, flieg.
+Kleiner Vogel, flieg.
+                                         
+Kleiner Vogel, flieg, flieg durch die Welt.
+Kleiner Vogel, kleiner Vogel, kleiner Vogel, flieg, flieg, flieg.
+
+Grosser Vogel auch, grosser Vogel auch.
+Kleiner Vogel, mittlerer Vogel, groauch.er Vogel, alle Vgel.
+
+Vogel, Vogel, flieg.
+Kleiner Vogel flieg, flieg, flieg, flieg, flieg, flieg.
+                                                        
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht (Asmodis,  8. Okt 1996, 18:57:19):
+Dieses Gedicht nenne ich 'Die Grosse Leere':
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ende.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht (Anatol,  8. Okt 1996, 19:04:47):
+~#! rn=Asmodis rt=844793839
+~#! tid=844793839
+
+
+Also das Versmass um Zeile 12-14 laesst stark zu wuenschen uebrig...
+Am besten, Du ueberarbeitest es nochmal, oder? ;-)
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gedicht (Caradhras,  8. Okt 1996, 19:05:57):
+~#! rn=Anatol rt=844794287
+~#! tid=844793839
+Also ich fand das 'Ende' am besten, so transzendental und trotzdem
+willensfest in seiner Aussage.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Gedicht (Engywuck,  8. Okt 1996, 20:57:11):
+~#! rn=Caradhras rt=844794357
+~#! tid=844793839
+
+Also sowas ist schon uuuuuuuuuuuralt.
+Kennt jemand das 4'33'' von John Cage?
+
+Engy*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Gedicht (Asmodis,  8. Okt 1996, 20:58:29):
+~#! rn=Engywuck rt=844801031
+~#! tid=844793839
+Hmm, nee, kannte ich nicht, aber alles ist schon irgendwie
+mal dagewesen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Gedicht (Rantanplan,  9. Okt 1996, 09:44:04):
+~#! rn=Asmodis rt=844801109
+~#! tid=844793839
+Yep Engy hat recht, 4'33'' Stille, na ja, wems gefaellt ;-))
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Gedicht (Grimmborn,  9. Okt 1996, 13:35:16):
+~#! rn=Rantanplan rt=844847044
+~#! tid=844793839
+
+Es gibt (auch von John Cage) das Stueck 'Silence', das etwa aehnlich ist (der
+Pianist raucht glaub ich zwei Zigaretten) und rund eine halbe Stunde dauert.
+Bei der Urauffuehrung ist der Pianist fast gelyncht worden...
+Das waren noch Zeiten (50er Jahre), als man das Publikum noch aus der Reserve
+locken konnte. *seufz*
+
+Grimmborn der Atheist
+
+
+-----------------------------------------------------------------------------
+
+
+
+Spruch des Monats (Hate,  9. Okt 1996, 13:37:34):
+"Seien wir realistisch, versuchen wir das Unmoegliche."
+                                 Der Praesident der Kubanischen Nationalbank
+                                 1959-64
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Gedicht (Asmodis,  9. Okt 1996, 13:59:39):
+~#! rn=Rantanplan rt=844847044
+~#! tid=844793839
+Hmm, na gut, ich kenne das aus einer Star Trek - Folge, da hat Data
+so ein Gedicht geschrieben :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gedicht (Stahldorn,  9. Okt 1996, 14:56:24):
+~#! rn=Anatol rt=844794287
+~#! tid=844793839
+
+Das reimt sich aber schoen!
+
+STAHL.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Gedicht (Jariel,  9. Okt 1996, 21:30:06):
+~#! rn=Grimmborn rt=844860916
+~#! tid=844793839
+Erinnert mich an das Gedicht der Glocke im luftleeren Raum.
+
+Da ja der Schall nicht fortgeleitet wird, ergibt sich eine neuartige
+Gedichtsform des spannungsgeladenen Schweigens, die durch ihre
+schnoerkellose Kuerze und leichte Einpraegsamkeit besonders im
+Schulunterricht rasch neue Freunde gewonnen hat.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Imaginaerer Lebenslauf (Torfdueng, 11. Okt 1996, 22:39:01):
+Erst eine Kindheit, grenzenlos und ohne
+Verzicht auf Ziel. O unbewusste Lust.
+Auf einmal Schrecken, Schranke, Schule, Frohne
+und Absturz in Versuchung und Verlust.
+
+Trotz. Der Gebogene wird selber Bieger
+und raecht an andern, dass er erlag.
+Geliebt, gefuerchtet, Retter, Ringer, Sieger
+und Ueberwinder, Schlag auf Schlag.
+
+Und dann allein im Weiten, Leichten, Kalten.
+Doch tief in der errichteten Gestalt
+ein Atemholen nach dem Ersten, Alten...
+
+Da stuerzt Gott aus seinem Hinterhalt...
+
+Rilke
+
+-----------------------------------------------------------------------------
+
+
+
+Tom Reamy (Lyserg, 14. Okt 1996, 16:36:34):
+Neulich gelesen in "San Diego Lightfoot Sue", einer Kurzgeschichte von Tom
+Reamy:
+
+This all began about ten years ago in a house at the top of a flight of
+rickety wooden stairs in Laurel Canyon. It might be said there were two
+beginnings, though the casual sorcery in Laurel Canyon may have been the cause
+and the other merely the effect 
+if you believe in that sort of thing.
+
+-----------------------------------------------------------------------------
+
+
+
+The state of decay ! (Rantanplan, 15. Okt 1996, 16:14:49):
+THE STATE OF DECAY !
+
+Ein Drama in null Akten.
+
+(Aehnlichkeiten mit lebenden oder verwesten Personen sind volle
+Absicht.) 
+
+Die Hauptdarsteller:
+
+R.-Ein dummer Hund
+K.-Ein Tigerenten herstellender Magier
+G.-Ein haupsaechlich leidender Magier
+E.-Ein mudbekannter Paedophiler
+A.-Eine mudbekannte Nymphomanin
+T.-Ein dunkler Typ
+B.-Ein zuckersuesser Spiesser
+D.-Ein saudummer Mudder von besonderer Qualitaet
+P.-Ein schlecht riechender Magier
+N.-Eine Kroete
+*.-Irgendein Erzmagier
+R1 + R2- Ein supercooles Mudderseherpaar
+
+
+An einem beliebigen Tage im Mud MG.
+
+
+
+[Allgemein:E.] Ein ganz toller Spruch zur Begruessung, weil man hebt 
+[Allgemein:E.] sich ja von der Masse ab.
+[Allgemein:B.] Das ist aber mein ganz toller Spruch zur Begruessung !!!
+[Allgemein:G.] Is das oeeeede hier.
+[Allgemein:D.] Ich hab ein Hydrahorn !
+[Allgemein:A.] Ohhh zeig mal...
+[Allgemein:D.] Jajaja gerne, darfst auch mal anfassen.
+[Allgemein:E.] Ich hab auch eins
+[Allgemein:Diverse andere Mudder] ICH AUCH !!!
+[Allgemein:K.] MUDDER...
+[Allgemein:R. singt eine Textzeile aus einem Lied das ehh kein Schwein kennt.]
+[Allgemein:T.] DOCH !
+[Allgemein:K.] DOCH !
+[Allgemein:R.] Ooops ausser den beiden.
+[Allgemein:D.] Ohhh N. ich will Dich gerne RL mal anfassen, weil 
+[Allgemein:D.] ich bekomme ehh keine ab, egal wie plump ich es versuche,
+[Allgemein:D.] dabei bin ich echt ein ganz netter Mensch.
+[Allgemein:R.] AU !
+[Allgemein:N.] RUHE D.
+[Allgemein:D.] Ich ignoriere alles und bagger dumm weiter, R. hat uebrigens
+[Allgemein:D.] verkuemmerte Genitalien, diverse Geschlechtskrankheiten 
+[Allgemein:D.] (Tausende weitere "Beleidigungen" auf diesem niveau)
+[Allgemein:E.] Nivea ! (Scherz am Rande) (haha)
+[Allgemein:*.] Wir haben ein Problem mit dem GD, wir muessen mal eben
+[Allgemein:*.] Rebooten...
+[Allgemein:N-Mudder] NEIN !
+[Allgemein:M-Mudder] JA !
+(n + m) irgendwelche ganzzahligen Werte.
+[Allgemein:P.] FRESSEN FICKEN FERNSEHEN !
+[Allgemein:R.] Sowieso !
+[Allgemein:G. hat keinen GV.]
+[Allgemein:D. haette gerne welchen tut aber mal so als ob er der Hengst ist]
+[Allgemein:A.] Mein Ehemann (Ich hab auch mal einen Abbekommen) findet mich zu
+[Allgemein:A.] (dumm/dick/frigide/oder irgendwas halt)
+[Allgemein:E.] Ich nicht, komm zu mir !
+R1 ruft: RRRRRRRRR222222222222222222222222222222222222 !
+R2 ruft: RRRRRRRRR111111111111111111111111111111111111 !
+R1 ruft: RRRRRRRRR222222222222222222222222222222222222 !
+R2 ruft: RRRRRRRRR111111111111111111111111111111111111 !
+[Allgemein:R1.] RRRRRRRRR222222222222222222222222222222222222 !
+[Allgemein:R2.] RRRRRRRRR111111111111111111111111111111111111 !
+[Allgemein:R1 hatte heute supertollen supercoolen Sex mit R1]
+[Allgemein:R2 grinst supertoll und supercool]
+[Allgemein:Alle anderen sind total neidisch und bewundern R1 und R2 !]
+[Allgemein:P.] R2 ist ein schwuler Analstricher !
+[Allgemein:R. lacht.]
+[Allgemein:K. nickt.]
+[Allgemein:G. seufzt.]
+[Allgemein:N. macht auch irgendwas.]
+[Allgemein:B. fummelt irgendwie an N. rum]
+[Allgemein:D. + E. machen gleich mit.]
+
+Undsoweiter undsofort so geht es tagaus, tagein...
+
+Neveeeeeer endiiiing stoooooory...
+
+Ran*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: The state of decay ! (Fyt, 15. Okt 1996, 16:21:52):
+~#! rn=Rantanplan rt=845388889
+~#! tid=845388889
+
+R. ist in dem Stueck aber entschieden zu gut weggekommen.
+
+F.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: The state of decay ! (Schrumpfi, 16. Okt 1996, 04:02:03):
+~#! rn=Fyt rt=845389312
+~#! tid=845388889
+Naja R ist ja auch der superueberblickende Antimudder der jederzeit aufhoeren
+kann.
+Oder?
+
+Therapie fuer R: spielpause mindestenszweiwochenohnediversezweities
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Werbung mal anders (Yantro, 24. Okt 1996, 19:23:37):
+
+[6] Was verbirgt sich hinter Kelly-Songs? - von Ulrich Stamm
+
+Musik, was verbirgt sich
+hinter den Zeilen?
+
+am Beispiel der "Kelly Family"
+
+In unserer beliebten Reihe : "Musik, was verbirgt sich hinter den Zeilen?"
+nehmen wir heute die Kelly Family mit ihrem HIT
+"An Angel" unter die Lupe.
+
+Sicher haben sie sich auch schon gefragt, WAS um Himmels Willen dieser kleine
+blonde Junge da singt. Es ist sicherlich f|r Kinder schwer,
+wenn sie zweisprachig aufwachsen und sich in smtlichen Umstnden des Lebens f|r
+eine von beiden Sprachen entscheiden m|ssen, schwerer
+ist es, wenn der junge Blondling aber im schwersten Stimmbruch ist und
+Unverstndliches krchzt.
+
+Nach langen Recherchen und 1.000 fachem Hren des Songs "An Angel", sowie dem
+Herausfiltern |berfl|ssiger Nebengerusche wie Musik
+und Background-Chor, ist es uns gelungen, die eigentlichen Textzeilen zu
+restaurieren:
+
+An einem morgen wach ich auf
+und ich stehe auf dem Schlauch,
+denke nach, was fllt mir ein?
+Ich wollt so gern ein Engel sein....
+
+Whrend durch den Wald ich geh,
+tut mir mein rechter Fuss so weh,
+da komm ich an eine Schlucht
+und denke "springen wr' ne Wucht"
+
+Sometimes I wish I were an angel,
+sometimes I wish I could fly,
+sometimes I wish I were an angel,
+dann wr's mit mir noch nicht vorbei.
+
+Whrend ich hinunterfall,
+und ein letztes Liedchen lall,
+schau ich wehm|tig hinauf
+und dann schlag ich auch schon auf..
+
+Sometimes I wish I were an angel,
+sometimes I wish I could fly,
+sometimes I wish I were an angel,
+dann wr's mit mir noch nicht vorbei....
+
+Ulrich Stamm
+
+
+Dieses und noch viel mehr zu finden unter:
+
+http://ernie.mi.uni-koeln.de/ZYN!/
+
+dem Besten, was es je gegeben hat...
+
+Yantro
+
+uuuuuuuuunnnd nicht vergessen: 
+
+RiesenMegaSuperGeilerTraditionsStammtisch in Koeln am 
+
+                    3. Januar 1997 !!!!
+
+Anmelden bei mir per Mail an mich! Siehe dazu auch meine eigens geschaffene
+Prollseite:
+
+       http://www.uni-koeln.de/~ari03/gelage.html
+
+Denn nix ist schoener als Feiern in bester Gesellschaft !!!
+
+-----------------------------------------------------------------------------
+
+
+
+Wieder mal nen Tag verschenkt (Schrumpfi, 25. Okt 1996, 23:25:23):
+Ein neuer Tag beginnt, auf der Suche nach dem Sinn, dem Sinn in meinem Leben
+doch ich kann ihn nicht finden.
+Wars das schon, kann das alles sein? Was kommt danach, wann ists vorbei?
+Wer kennt die Antwort auf diese Frage?
+Die Tage vergehn, nichts passiert, nichts ist geschehn und es rebelliert in
+den Falten meines Hirns in den Ecken meiner Seele.
+Wieder mal nen Tag verschenkt, wieder mal nen Tag verschenkt.
+Die Tage vergehn, nicht passiert, nichts ist geschehn und es rebelliert in den
+Falten meines Hirns, in den Ecken meiner Seele.
+Ich hab naechtelang gezecht mich ins Koma gesoffen, oft gezielt, doch nie
+getroffen, ich weiss wie es ist der Arsch zu sein.
+Wieder mal nen Tag verschenkt...
+
+Vom wem das Lied ist sag ich besser nicht, aber ich fuehl mich grad so.
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wieder mal nen Tag verschenkt (Yantro, 28. Okt 1996, 14:05:13):
+~#! rn=Schrumpfi rt=846278723
+~#! tid=846278723
+Schrumpfi, dass ist feige, wenn man nihct dazu steht, dass man die Boesen
+Onkelz mag :) Also ich steh dazu!
+
+Yantro
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wieder mal nen Tag verschenkt (Schrumpfi, 28. Okt 1996, 21:23:13):
+~#! rn=Yantro rt=846507913
+~#! tid=846278723
+ich mag sie ja nicht. Ich find nur das eine oder andere Lied ganz nett.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wieder mal nen Tag verschenkt (Jasper, 29. Okt 1996, 12:01:41):
+~#! rn=Schrumpfi rt=846534193
+~#! tid=846278723
+aber einige lieder sind ganz nett
+'...und wenn wir einmal engel sind, dann fick ich dich im fliegen...'
+
+Jasper, summend wenn er es koennte.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Umbenennung des deutschen Volkes (Grimmborn,  4. Nov 1996, 00:03:39):
+[Verlegt von allgemeines, Boni,  3. Nov 1996, 14:44:56]:
+
+
+Das deutsche Volk wird umbenannt
+noch vor den naechsten Wahlen
+bis dahin ist es abgebrannt
+vom staendigen Bezahlen.
+
+Getreulich zahlt der kleine Mann
+die Steuern und die Miete
+und zahlt, solang er zahlen kann,
+die Schulden und Kredite.
+
+Er zahlt dei Telekom und Post,
+fuers Parken, fuers Bestatten,
+fuer Aufschwung West, fuer Abschwung Ost,
+demnaechst auch fuers Begatten.
+
+Die Preise steigen eklatant,
+die Preise - nicht die Loehne.
+Das deutsche Volk wird umbenannt
+in Zahlemann und Soehne.
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Finger Weg ! (Beelzebub,  6. Nov 1996, 19:39:04):
+Mahlzeit !
+Dies ist eine Warnung an alle, die wie ich die ersten 4 Danzig-CDs besitzen
+und diesen Gesang, der irgendwo zwischen Elvis und Satan liegt, einfach
+lieb(t)en.
+Lasst die Finger vom 5. Teil !!!
+Glenn macht naemlich, seitdem er seine alte Belegschaft gefeuert hat, einen
+auf
+Industrial, womit ich nicht sagen will, dass ich Industrial nicht mag -
+Nine Inch Nails und vor allem Die Krupps sind ja schliesslich saugeil.
+Auf Backaciddevil - so heisst der 5. Teil - sind nicht nur die Gitarren so
+dermassen
+verstimmt, so dass man glaubt Nirvana sind am Ende ihres Konzerts und
+zerkloppen grad
+die Instrumente, sogar der Gesang ist groesstenteil bis zur Unkenntlichkeit
+verzerrt,
+womit der eigentliche Grund, sich ne Danzig-CD zu kaufen dahin is.
+Lediglich die Single-Auskopplung "Sacrifice" kann einigermassen ueberzeugen,
+der Rest duempelt Drucklos und langweilig vor sich hin.
+Somit ist Danzig fuer mich DER Absteiger des Jahres - sogar vor Metallica :)
+
+Beelzebub trauert Songs wie "How the Gods kill" oder - *seufz* - "Sistinas"
+hinterher
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Finger Weg ! (Zardoz,  7. Nov 1996, 08:41:36):
+~#! rn=Beelzebub rt=847305544
+~#! tid=847305544
+Danzig war eh nur gut, als er noch Saeger der Misfits war :)
+
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Finger Weg ! (Engywuck,  7. Nov 1996, 12:15:51):
+~#! rn=Zardoz rt=847352496
+~#! tid=847305544
+Danzig ist Zardoz-Musik? Damit hat der Titel dieses Artikels seine vollste
+Berechtigung ;)
+
+Engy* - weiss schon mal, welche Musik er NICHT kauft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Finger Weg ! (Acrimon,  7. Nov 1996, 14:35:51):
+~#! rn=Engywuck rt=847365351
+~#! tid=847305544
+Zardoz wohnt doch gar nicht in Danzig (sondern in Koeln).
+Oder ... wohnt er doch in Danzig, aber studiert in Koeln?
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht (Acrimon, 11. Nov 1996, 20:55:51):
+
+Dies ist ein Gedicht
+mehr auch nicht.
+
+Dieses ist die zweite Strophe,
+leider eine ziemlich doofe.
+
+Und dies ist der Schlusz
+von dem ganzen Stusz.
+
+
+(Naja, -> schmarrn)
+Acrimon
+
+-----------------------------------------------------------------------------
+
+
+
+More Than Words (Tryfan, 18. Nov 1996, 10:55:03):
+        Saying 'I Love You'
+        Is not the words I want to hear from you
+        It's not that I want you
+        not to say, but if you only knew
+
+        How easy it would be
+        To show me how you feel
+        More than words
+        Is all you have to do to make it real
+        Then you wouldn'thave to say
+        That you love me, 'cos I'd already know
+
+        What would you do
+        If my heard was torn in two
+        More than words to show you feel
+        That your love for me is real
+
+        What would you say
+        If I took those words away
+        Then you couldn't make things new
+        Just by saying 'I Love You'
+
+        Now that I've tried to
+        Talk to you and make you understand
+        All you have to do
+        Is close your eyes and just reach out your hands
+
+        And touch me, hold me close
+        Don't ever let me go
+        More than words
+        Is all I ever needed you to show        Is all I ever needed you to
+show
+        Then you wouldn't have to say
+        That you love me, 'cos I'd already know
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: More Than Words (Torfdueng, 19. Nov 1996, 19:18:26):
+~#! rn=Tryfan rt=848310903
+~#! tid=848310903
+Pfff.. das ist nicht von Tryfan , sonder von EXTREAM (argh, schrei, kreisch)
+
+Allso Extream die alten Sesselpuper konnt ich noch nie ab, und so richtig
+Extream sind die auch nich...
+
+Aber zugegeben , netter Text und Musi :)
+
+TD
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: More Than Words (Tryfan, 19. Nov 1996, 20:14:53):
+~#! rn=Torfdueng rt=848427506
+~#! tid=848310903
+Jau Torfdueng hat Recht. Der Text ist von Extreme 1990 auf ihrem 
+Pornographity -oder so aehnlich- Album erschienen.
+Das Extreme bei ihnen ist wohl ihre Bandbreite, da sie auf einer
+CD von amerikanischen Schlagerschnultzen ueber caribische Einfluesse bis
+hin zu krachenden Hardrocksongs alles vertreten haben. Der Song 
+'More than Words' ist ein wirklich schoenes Gitarrenstueck mit 
+wohlgemerkt akustischer Gitarrenbegleitung. Bekannt aus MTV u.ae.
+duerfte wohl das Stueck '(If you don't like it) get the Funk out'
+sein, ein Hardrockstueck mit funkygen Blaesereinlagen.
+Pornographity waere beinahe wegen anruchigr Texte auf dem Index
+gelandet. In Amerika musste die Scheibe mit einem Warnaufkleber 
+verkauft werden, soviel ich weiss. Kann man das glauben bei dem
+Text von 'More than Words'? Egal, mir ging es nur um den Text,
+um nichts anderers. Deshalb verzeiht mir bitte, dass ich niht angegeben
+habe, woher ich ihn hatte.
+   Tryfan
+
+-----------------------------------------------------------------------------
+
+
+
+Re: More Than Words (Lug, 20. Nov 1996, 02:27:37):
+~#! rn=Tryfan rt=848310903
+~#! tid=848310903
+Soso,
+
+Lug troestet Tryfan.
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsmann (Xeeran, 27. Nov 1996, 16:40:19):
+
+Gibt es den Weihnachtsmann?
+
+
+1.  Keine bekannte spezielle Gattung Rentier kann fliegen.
+Aber es gibt 300.000 Spezies von lebenden Organismen, die
+noch klassifiziert werden muessen, und obwohl es sich dabei
+hauptsaechlich um Insekten und Bakterien handelt,schliesst
+dies nicht mit letzter Sicherheit fliegende Rentiere aus.
+(Die nur der Weihnachtsmann bisher gesehen hat.)
+
+
+2.  Es gibt zwei Milliarden Kinder (Menschen unter 18) auf
+der Welt. Da aber der Weihnachtsmann (anscheinend) keine
+Moslems, Hindu, Juden und Buddhisten beliefert, reduziert
+sich seine Arbeit auf etwa 15 Prozent der Gesamtzahl - das
+sind 378 Millionen Kinder (lt. Volkszaehlungsbuero). Bei
+einer durchschnittlichen Kinderzahl von 3.5 pro Haushalt
+ergibt das 91.8 Millionen Haeuser. Wir nehmen an, dass in
+jedem Haus mindestens ein braves Kind lebt.
+
+
+3.  Der Weihnachtsmann hat einen 31-Stunden-Weihnachtstag,
+bedingt durch die verschiedenen Zeitzonen, wenn er von
+Osten nach Westen reist (was logisch erscheint). Damit
+ergeben sich 822.6 Besuche pro Sekunde. Somit hat der
+Weihnachtsmann fuer jeden christlichen Haushalt mit braven 
+Kindern 1/1000 Sekunde Zeit fuer seine Arbeit: Parken, 
+aus dem Schlitten springen, den Schonstein runterklettern,
+die Socken fuellen, die uebrigen Geschenke unter dem 
+Weihnachtsbaum verteilen, alle uebriggebliebenen Reste
+vom Weihnachtsessen vertilgen, den Schonstein wieder rauf-
+klettern und zum naechsten Haus fliegen. 
+
+Angenommen, dass all diese 91.8 Millionen Stops gleich-
+maessig auf der Erde verteilt sind (was natuerlich, wie
+wir wissen, nicht stimmt, aber als Berechnungsgrundlage 
+koennen wir dies akzeptieren), erhalten wir nunmehr 1.3 km 
+Entfernung von Haushalt zu Haushalt, eine Gesamtentfernung von
+120.8 Millionen km, nicht mitgerechnet die Unterbrechnungen
+fuer jene Dinge, die jeder von uns (mindestens) einmal am
+Tag erledigen muss, zuzueglich Essen usw. Das bedeutet, dass
+der SChlitten des Weihnachtsmannes mit 1040 km pro Sekunde
+fliegt, also der 3000fachen Schallgeschwindigkeit. Zum
+Vergleich: Das schnellste von Menschen gebaute Fahrzeug
+auf der Erde, der Ullysses Space Probe, faehrt mit
+laecherlichen 43.8 km pro Sekunde. Ein gewoehnliches
+Rentier schafft hoechstens 23 km pro _Stunde_.
+
+
+4.  Die Ladung des Schlittens fuehrt zu einem weiteren
+hoechst interessanten Effekt. Angenommen, jedes Kind
+bekommt nicht mehr als ein mittelgrosses Lego-Set (ca. 1 kg),
+dann hat der Schlitten ein Gewicht von 378.000 Tonnen
+geladen, nicht mitgerechnet den Weihnachtsmann selbst, der
+uebereinstimmend als uebergewichtig beschrieben wird. 
+
+Ein gewoehnliches Renntier kann nicht mehr als 175 kg ziehen.
+Selbst bei der Annahme, dass ein _fliegendes Rentier_
+(siehe Punkt 1) das Zehnfache des normalen Gewichts ziehen
+kann, braucht man fuer den Schlitten nicht acht oder gar
+zwoelf Rentiere - man braucht 216.000 Rentiere. Das erhoeht
+das Gewicht - den Schlitten selbst nicht einmal eingerechnet -
+auf 410.000 Tonnen. Nochmals zum Vergleich: Das ist mehr als
+das vierfache Gewicht der Queen Elizabeth.(*)
+
+(*) Die hier angesprochene Queen Elizabeth ist nicht die 
+Monarchin des Empire, Schwiegermutter von Lady Di, sondern
+der legendaere Luxusdampfer.
+
+
+5.  410.000 Tonnen bei einer Geschwindigkeit von 1040 km/s
+erzeugen einen ungeheuren Luftwiderstand - dadurch werden
+die Rentiere aufgeheizt, genauso wie ein Raumschiff, das
+wieder in die Erdatmosphaere eintritt. Das vorderste Paar
+Rentiere muss dadurch eine Mende Energie von 16,6 Trillionen
+Joule absorbieren. Pro Sekunde! Jedes!
+
+Anders ausgedrueckt: Sie werden augenblicklich in Flammen
+aufgehen, das naechste Paar Rentiere wird dem Luftwiderstand
+preisgegeben, und es wird ein ohrenbetaeubender Knall erzeugt.
+
+Das gesamte Team von Rentieren wird innerhalb von 5/1000 Se-
+kunden vaporisiert. Der Weihnachtsmann wird waehrenddessen
+einer Beschleunigung von der Groesse des 17.500fachen Erdbe-
+schleunigung ausgesetzt. Ein 120 kg schwerer Weihnachtsmann
+(was der Beschreibung nach laecherlich wenig sein muss) wuerde
+an das Ende seines Schlittens genagelt - mit einer Kraft von
+20.6 Millionen Newton.
+
+
+6.  Damit kommen wir zum Schluss: Wenn es den Weihnachtsmann
+irgendwann einmal gegeben hat, so muss er, bevor er die
+ersten Geschenke gebracht hat, tot gewesen sein.
+
+
+(Aus "TIP - Das Berlin Magazin 25/96")
+
+In diesem Sinne: Einen schoenen 1. Advent .... vergesst Weihnachten! ;)
+
+Jariel (laesst Weihnachten dieses Jahr ausfallen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsmann (Qitess, 27. Nov 1996, 18:22:21):
+~#! rn=Xeeran rt=849109219
+~#! tid=849109219
+
+die frage und den text von TIP - Das blafasel
+
+gibt es schon ewig und ich habe ihn mindestens 5 mal als email geschickt
+bekommen. :)
+
+QI   WEISS dass es den weihnachtsmann gibt.
+
+*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsmann (Zardoz, 28. Nov 1996, 08:42:33):
+~#! rn=Xeeran rt=849109219
+~#! tid=849109219
+ARGL! Bitte nicht jedes Jahr den gleichen Weihnachtsmannartikel!!!!
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmann (Yantro, 28. Nov 1996, 08:43:00):
+~#! rn=Qitess rt=849115341
+~#! tid=849109219
+
+So wie das Christkind jedes Jahr meint, dass es uns belaestgen soll, so
+scheint es, muss ich jeden November diesen Artikel lesen... uebelst, sag ich
+nur :(
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmann (Har, 28. Nov 1996, 10:28:00):
+~#! rn=Zardoz rt=849166953
+~#! tid=849109219
+ARGL! Nicht jedes Jahr das "Nicht jedes Jahr den selben
+Weihnachtsartikel"-Geschreie!
+
+Har (grinsend)
+
+-----------------------------------------------------------------------------
+
+
+
+re weihnachtsmann (Hefe, 28. Nov 1996, 12:45:41):
+Also, ich kannte den artikel noch nicht und fand ihn wirklich koestlich !!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weihnachtsmann (Boing, 28. Nov 1996, 14:02:52):
+~#! rn=Yantro rt=849166980
+~#! tid=849109219
+Neenee ... Du musst ihn gar nicht lesen! :) Da Du diesen Artikel sehr
+genau zu kennen scheinst, haette Dir schon bei den ersten paar Zeilen
+auffallen koennen, dass Du ihn nicht mehr sehen willst. Danach weiterzu-
+lesen ist reiner Masochismus. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weihnachtsmann (Cauno, 28. Nov 1996, 14:04:13):
+~#! rn=Boing rt=849186172
+~#! tid=849109219
+Immerhin hatte ich jetzt endlich die Gelegenheit, ihn mir rauszupasten, damit
+ich endlich auch andere damit nerven kann.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weihnachtsmann (Anatol, 28. Nov 1996, 14:11:08):
+~#! rn=Yantro rt=849166980
+~#! tid=849109219
+
+Ich empfinde das alljaehrliche Auftreten eines Artikels als weit 
+weniger belaestigend als beispielsweise so manchen beleidigenden Artikel eines
+gewissen Koelner Magiers oder mein arrogantes Geschreibsel.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsmann (Asmodis, 28. Nov 1996, 19:41:10):
+~#! rn=Xeeran rt=849109219
+~#! tid=849109219
+Hmm, du hast dabei nicht bedacht, dass der Weihnachtsmann nicht allein
+arbeitet, sondern Hilfe von seinen Bruedern und Vettern erhaelt.
+(seine eigentlichen Mitarbeiter, die Elfen, fertigen zusammen mit
+Mama Claus (die Mutter von Santa Claus), ja nur die Geschenke an)
+
+Und er hat viiiiiele Geschwister und Vettern ... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmann (Hardil, 29. Nov 1996, 08:24:54):
+~#! rn=Asmodis rt=849206470
+~#! tid=849109219
+
+Asmodis schrieb:
+
+>Und er hat viiiiiele Geschwister und Vettern ... :)
+
+
+Heisst das nicht 'Zweities' ?
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weihnachtsmann (Yantro, 29. Nov 1996, 08:25:18):
+~#! rn=Anatol rt=849186668
+~#! tid=849109219
+Stuemmt... ich mag Bendeigids Artikel auch nicht, Anatol :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachtsmann (Tasha, 29. Nov 1996, 18:25:31):
+~#! rn=Asmodis rt=849206470
+~#! tid=849109219
+
+Mama Claus? Ist die ein Fake oder woher der seltsame Name?
+
+Tasha im roten Maentelchen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weihnachtsmann (Asmodis, 29. Nov 1996, 20:43:34):
+~#! rn=Tasha rt=849288331
+~#! tid=849109219
+Der Weihnachtsmann heisst Santa Claus, also ist Claus der Nachname und
+die Mutter vom Weihnachtsmann heisst Mama Claus.
+
+Alles Kloar ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weihnachtsmann (Grimmborn, 29. Nov 1996, 20:44:32):
+~#! rn=Asmodis rt=849296614
+~#! tid=849109219
+
+...und die Gattin von Santa Claus heisst Mary Christmas.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Weihnachtsmann (Asmodis, 29. Nov 1996, 20:45:38):
+~#! rn=Grimmborn rt=849296672
+~#! tid=849109219
+Noe, der ist nicht verheiratet. Wer haelt es auch mit jemandem aus, der
+so dick ist, grade mal eine Woche im Jahr arbeitet und sooo nen Bart
+hat ??? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Ode an das Morgengrauen (Sunflower,  4. Dez 1996, 13:59:35):
+
+hier mal ein kleiner Gedichtsversuch von mir, der etwas anders ist, als die
+hirnlosen Dinger von frueher.
+
+1989 habe ich mein Vaterland verloren,
+stand da ohne Ziel,
+verlor all meine Traeume, all mein Gefuehl,
+doch dann ward ich wiedergeboren.
+
+MorgenGrauen hiess das Zauberwort,
+da fand ich neue Freunde und einen Sinn,
+auch Liebe und so manch anderes Ding,
+ein wahrlich schoener Ort.
+
+Doch meine Zeit schien gekommen,
+viele Feinde schuf ich mir,
+durch mein Generve ward ich schlimmer als ein Tier,
+all meine Traeume schienen zerronnen.
+
+Aber dieser Ort, er gefiel mir sehr,
+all die Abenteuer, all die Leute,
+all die Regionen, all die Freunde,
+wirklich, ohne MorgenGrauen war mein Leben leer.
+
+Ich fasste einen Entschluss und ward wieder da,
+ohne Zaubertraenke, ohne Geld,
+doch ich fand neue Freunde in dieser Welt,
+denn ich war lieb und unscheinbar.
+
+Und nun programmiere ich hier,
+in einem lustigen Gespann,
+es regiert Witzigkeit und Fun,
+und das gefaellt mir.
+
+Viele gehen einen zur Hand,
+kein hass mehr, kein gernerve mehr,
+denn es gefaellt mir hier zu sehr,
+und so sag ich stolz: MorgenGrauen neues Vaterland.
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ode an das Morgengrauen (Patryn,  4. Dez 1996, 14:06:19):
+~#! rn=Sunflower rt=849704375
+~#! tid=849704375
+na wenn das nix ist, eine lobeshymne aufs MG...weiter so ;)
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ode an das Morgengrauen (Hardil,  5. Dez 1996, 14:29:11):
+~#! rn=Patryn rt=849704779
+~#! tid=849704375
+
+Also ich finde das etwas extrem gewagt. Jedenfalls die These, dass einem eine
+virtuelle Welt ein 'Vaterland', was auch immer das sei, ersetzen kann.
+Putzig hingegen ist Sunflowers indirekte These, die BRD sei fuer ihn nur die
+Uebergangsstufe von der DDR zum MG gewesen.
+Hihi. Weiter so, Deutschland! :)
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ode an das Morgengrauen (Fyt,  5. Dez 1996, 20:47:56):
+~#! rn=Hardil rt=849792551
+~#! tid=849704375
+War es nicht irgendwie so?
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+ACHTUNG..... WENN SIE NICHT 18 SIND, DANN KLICKEN SIE "q" !!! (Yantro,  5. Dez 1996, 20:54:13):
+Halloele, 
+
+hab ich in einer netten Newsgroup gefunden und ich find das einfach zum
+schreien komisch:
+
+WARNUNG, es ist nicht so gaaaanz harmlos... wer beim Lesen erotischer
+Stories schnell rot werden sollte, der sollte einfach "q" machen...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                     Die Vanillekaltschale
+                     =====================
+  Ernie und Bert lagen nebeneinander in ihren bekanntlich schmalen und
+separaten Betten. Der Nachbar warf einen Schuh. Ernie konnte nicht
+einschlafen.
+ 
+  Dann war die Sesamstrasse zuende.
+ 
+"Beeert?" quengelte Ernie in bekannter Manier, "Bert, die bloeden
+Kameraleute sind endlich weg."
+ Bevor Bert antworten konnte, war Ernie schon aufgestanden. Er ging ueber
+die quietschenden Bohlen zu Berts Bettchen hinueber. Quietsch, quietsch,
+quietsch.
+  Plumps. Ernie hatte sich schraeg ueber Bert fallen lassen; ein Bein noch
+auf dem Fussboden abgestuetzt, weil das Lotterlager nicht breit genug war
+und weil er so seine Geschlechtsteile besonders weit offenlegte. Wie diese
+Geschlechtsteile aussehen, sei an dieser Stelle noch nicht verraten; nur
+soviel sei gesagt, dass sie sich auch bei Muppets ungefaehr vorn zwischen den
+Beinen befinden.
+"Kuess mich" stoehnte Bert.
+Ernie versuchte es. Wie schon oft mussten die beiden Freunde feststellen,
+dass ihre breiten, festen Muender zum Kuessen sehr schlecht geeignet waren.
+Mehr als ein spitzes Bussi wurde es einfach nicht.
+Ernie liess von Berts gelbem Mund ab und begann, an seinem Ohr zu knabbern.
+"Mehr!" stoehnte Bert; Schauer liefen an seinem Rueckgrat aus glasfaser-
+verstaerktem Polyester auf und ab. Mit seiner zarten roten Filzzunge
+versuchte Ernie, in Berts Ohr einzudringen. Es gelang nicht, und wer schon
+einmal gesehen hat, wie die Ohren von Ernie und Bert geformt sind, weiss auch
+warum. "Haetten die uns nicht ein bisschen sexier konstruieren koennen?",
+dachte Ernie noch, bevor er endlich die Wirkung davon spuerte, dass er sich
+mit seinem ganzen Gewicht an Bert drueckte: Ein Teil seines immer noch im
+Unklaren liegenden Geschlechts hatte sich mit einem Plopp aufgerichtet.
+"Chchchchchchr" kicherte Ernie, wie es uns aus vielen Sesamstrassenfolgen
+bekannt ist, nur diesmal aus schierer Lust.
+  Er sog noch staerker an Berts Ohr. Bert bog sich vor Geilheit so nach
+oben, dass sein schmaler Hintern zehn Zentimeter ueber der Matratze in der
+Luft herumzitterte.
+ "Hmmmmm!" "Oooooooh!" "Aaaaaahhhhh" "Chchchchchchr"
+ 
+  RATSCH.
+ 
+  "Scheisse," sagte Ernie, "schon wieder abgegangen."
+  Er spuckte Berts Ohr neben das Bett.
+  "Macht nichts, Ernie-Schatz," sagte Bert, "du weisst doch, dass sie dieses
+mit Klettband angebracht haben fuer die Folgen, in denen es abgeht. Nimm das
+andere, aber bitte, bitte schnell!" Auch bei Bert ragte der entsprechende
+Teil der Anatomie inzwischen steil auf.
+ 
+  Die Ohren sind naemlich bei Muppets besonders erogene Zonen.
+ 
+  Waehrend Ernie und Bert weiter schmusen, saugen und stoehnen, wollen wir
+einstweilen das Geheimnis ihrer Geschlechtsteile lueften.
+  Ernie und Bert sind Zwitter. Jeder von ihnen hat einen wunderschoenen
+samtigen Schniebel und eine Venusmuschel, die zwar nicht feucht wird, um
+die Hand der PuppenspielerIn nicht zu beschlabbern, aber statt dessen
+hinreissend gleitend-seidig ist.
+  Als Jim Henson damals Ernie und Bert entwarf, dachte er daran, nach
+USA-Sitte auch eine parallele Serie fuer Erwachsene daraus zu machen. Das
+scheiterte aber daran, dass den Erwachsenen Ernies Gekicher zu sehr auf den
+Keks ging. Die geilen Riesenschniebel sind den beiden Freunden von dieser
+Planung geblieben. Venusmuscheln haben alle Handpuppen sowieso.
+ 
+  Ernie lag inzwischen immer noch mit Absicht so ueber Bert, dass er sein
+eigenes Geschlecht, gross und geil wie das eines Ebers und eines Schweins im
+Weltall zusammen, an Berts Huefte machtvoll auf und ab reiben konnte ---
+aber Berts zuckender, zartgelber Schniebel und seine vor Erregung hellgruen
+anlaufende Liebesmuschel kriegten nichts ab.  Ernie war ein bisschen sado,
+was wir natuerlich schon laengst alle daher wissen, wie er tagsueber mit
+Bert umgeht.
+ 
+  "AAAAAAAHHHHHHRRRRGGGGGG!" roechelte Ernie, als er kam und Bert von oben
+bis unten vollspritzte. Ihr koennt euch das Gefuehl nicht vorstellen,
+gleichzeitig einen Orgasmus zu haben, der in Wellen durch den ganzen Bauch
+zieht wie bei einer Frau (berichtigt mich, wenn ich mich irre), und einen,
+der ganz auf wenige samtige Zentimeter konzentriert ist wie bei einem Mann.
+ 
+  "Typisch," dachte Bert, als Ernie von ihm herunterrutschte und hechelnd
+mit einem Krach auf dem Fussboden landete, "und was ist mit mir?"
+ 
+  "Bitte, Ernie," stoehnte er, liess sich seinerseits auf den Fussboden
+fallen und draengte sich an seinen Freund.
+  Ernie ruehrte sich nicht. Sein Keuchen wurde ein bisschen langsamer.
+ 
+  "Warum mussten sie mir bloss so einen gemeinen Kerl an die Seite stellen,"
+dachte Bert, "da muss ich wohl doch gleich den Doppelstecker-Super-Kombi-
+Saugvibrator rauskramen, den mir Schlemihl letztens verkauft hat. ---
+Verdammt, morgen wird die Garderobistin wieder schimpfen, weil sie denkt,
+ich haette mir eine ganze Schuessel Vanillekaltschale ueber den Bauch
+gekippt. "
+ 
+  KEUCH. Keuch. keuch. Atem. atem. SCHNARCH.
+  Mist. Jetzt war Ernie auch noch eingeschlafen. Verliebt, aber frustriert
+drueckte Bert sich an ihn. Er liebte das Gefuehl von Ernies weichem, filzig
+lauwarmem Bauch auf seinem. Aber warum konnte der Kerl nicht anstaendig mit
+ihm schlafen?
+ 
+  "Ach Bert, du bist der beste Bert der Welt," fluesterte Ernie, der auf
+einmal zu schnarchen aufhoerte, "ich wollte deine Liebe nur ein bisschen
+auf die Probe stellen. Komm her, Schatz, jetzt lassen wir die Puppen richtig
+tanzen. Hier auf dem Fussboden, der ist gross genug."
+Dann holten sie zwei Latex-Kondome aus dem Nachtschraenkchen, konvertierten
+sie nach Postscript, damit sie laenger wurden, rollten sie genuesslich ueber
+ihre Schniebel und steckten sich in einer Weise ineinander, die uns fuer
+immer verborgen bleiben wird.
+ 
+Ihre vierfacher Orgasmus ueberflutete sie genau in dem Moment, in dem der
+Nachbar endlich den zweiten Schuh warf.
+ 
+======== Abschlussmusik: "Der die das, wer wie was..." ===============
+
+Yantro
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachten (Grimmborn, 19. Dez 1996, 19:00:06):
+Eine kleine Geschichte zur Weihnacht
+
+Die achtjaehrige Virginia O'Hanlon aus New York wollte es ganz genau wissen. 
+Darum schrieb sie an die Tageszeitung "Sun" einen Brief:
+
+"Ich bin acht Jahre alt. Einige von meinen Freunden sagen, es gibt keinen
+Weihnachtsmann. Papa sagt, was in der 'Sun' steht ist immer wahr. Bitte sagen
+Sie mir: Gibt es einen Weihnachtsmann? - Virginia O'Hanlon"
+
+Die Sache war dem Chefredakteur Francis P. Church so wichtig, dass er selber
+antwortete - auf der Titelseite der "Sun":
+
+"Virginia,
+Deine kleinen Freunde haben nicht recht. Sie glauben nur, was sie sehen; sie
+glauben, dass es nicht geben kann, was sie mit ihrem kleinen Geist nicht
+erfassen koennen. Aller Menschengeist ist klein; ob er nun einem Erwachsenen
+oder einem Kind gehoert. Im Weltall verliert er sich wie ein winziges Insekt.
+Solcher Ameisenverstand reicht nicht aus, die ganze Wahrheit zu erfassen und
+zu begreifen.
+Ja, Virginia, es gibt einen Weihnachtsmann. Es gibt ihn so gewiss wie Liebe
+und Grossherzigkeit und Treue. Weil es all das gibt, kann unser Leben schoen
+und heiter sein. Wie dunkel waere die Welt, wenn es keinen Weihnachtsmann
+gaebe! Es gaebe dann auch keine Virginia, keinen Glauben, keine Poesie - gar
+nichts, was das Leben erst ertraeglich machte. Ein Flackerrest an sichtbarem
+Schoenen bliebe uebrig. Aber das Licht der Kindheit, das die Welt ausstrahlt,
+muesste verloeschen.
+Es gibt einen Weihnachtsmann. Sonst koenntest Du auch den Maerchen nicht
+glauben. Gewiss, Du koenntest Deinen Papa bitten, er solle am Heiligen Abend
+Leute ausschicken, den Weihnachtsmann zu fangen. Und keiner bekaeme ihn zu
+Gesicht - was wuerde das beweisen? Kein Mensch sieht ihn einfach so. Das
+beweist gar nichts. Die wichtigen Dinge bleiben meistens unsichtbar. Die
+Elfen, zum Beispiel, wenn sie auf Mondwiesen tanzen. Trotzdem gibt es sie. All
+die Wunder zu denken - geschweige denn sie zu sehen, das vermag nicht der
+Kluegste auf der Welt. Was Du auch siehst, Du siehst nie alles.
+Du kannst ein Kaleidoskop aufbrechen und nach den schoenen Farbfiguren suchen.
+Du wirst einige bunte Scherben finden, nichts weiter. Warum? Weil es einen
+Schleier gibt, der die wahre Welt verhuellt, einen Schleier, den nicht einmal
+alle Gewalt auf der Welt zerreissen kann. Nur Glaube und Poesie und Liebe
+koennen ihn lueften. Dann wird die Schoenheit und Herrlichkeit dahinter auf
+einmal zu erkennen sein. 
+'Ist das denn auch wahr?' kannst Du fragen. Virginia, nichts auf der ganzen
+Welt ist wahrer und nichts bestaendiger. Der Weihnachtsmann lebt, und ewig
+wird er leben. Sogar in zehnmal zehntausend Jahren wird er da sein, um Kinder
+wie Dich und jedes offene Herz mit Freude zu erfuellen. Frohe Weihnacht,
+Virginia.
+Dein Francis P. Church"
+
+(Der Briefwechsel zwischen Virginia O'Hanlon und Francis P. Church stammt aus
+dem Jahr 1897. Er wurde ueber ein halbes Jahrhundert bis zur Einstellung der
+"Sun" im Jahre 1950 alle Jahre wieder zur Weihnachtszeit auf der ersten Seite
+der Zeitung abgedruckt.)
+
+
+Euch allen ein frohes und schoenes Weihnachtsfest!
+
+Grimmborn der Atheist
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachten (Guybrush, 19. Dez 1996, 19:02:43):
+~#! rn=Grimmborn rt=851018406 rg=kultur
+~#! tid=851018406
+Hm, wenn ich Dich nicht kennen wuerde Grimm_i_, wuerd ich Dich jetzt glatt
+gern haben und knuddeln ;)
+
+Guybrush, glaubt wieder an den Weihnachtsmann :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Wurzel, 19. Dez 1996, 19:06:12):
+~#! rn=Guybrush rt=851018563 rg=kultur
+~#! tid=851018406
+grimmi hat sich geoutet - er ist gar kein atheist!
+
+wurzel glaubt an keinen weihnachtsmann.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Frauen ... (Methedras,  2. Jan 1997, 18:25:29):
+~#! rn=Methedras rt=852225752 rg=kultur
+~#! tid=852225752
+Wer weiss, woher der Text des vorherigen Artikels stammt?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Frauen ... (Asmodis,  2. Jan 1997, 18:27:13):
+~#! rn=Methedras rt=852225929 rg=kultur
+~#! tid=852225752
+Aus deiner Feder ? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Die Frauen ... (Cauno,  2. Jan 1997, 18:27:44):
+~#! rn=Asmodis rt=852226033 rg=kultur
+~#! tid=852225752
+Aus deinem Keyboard, meintest du wohl ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Die Frauen ... (Caradhras,  2. Jan 1997, 18:29:41):
+~#! rn=Cauno rt=852226064 rg=kultur
+~#! tid=852225752
+Nein, nicht aus meiner Feder, kleiner Tip:
+Ist nur die Uebersetzung eines ziemlich alten und fast allen hier
+bekannten Liedes.
+                            Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Nur noch partiell Frauen ... (Caradhras,  2. Jan 1997, 21:09:35):
+Lasst uns aus den Bechern der Freude trinken,
+die von Schoenheit umkraenzt sind,
+und die fluechtige Zeit
+berausche sich an der Lust.
+Lasst uns von dem suessen Rausch trinken,
+den die Liebe beschert,
+denn dieses Auge
+herrscht allmaechtig ueber das Herz...
+Lasst und trinken, der Liebe werden beim Trinken
+noch heissere Kuesse zuteil.
+
+Mit euch kann ich meine Zeit
+gelassen verbringen,
+alles auf Erden ist sinnlos,
+was nicht Genuss ist.
+Lasst uns geniessen, vergaenglich und fluechtig
+sind die Freuden der Liebe;
+sie sind eine Blume, die erblueht und verwelkt,
+derer man laenger sich nicht erfreuen kann.
+Lasst uns geniessen, uns laedt ein feuriges und
+schmeichlerisches Wort dazu ein!
+
+                   Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nur noch partiell Frauen ... (Ronda,  3. Jan 1997, 11:00:00):
+~#! rn=Caradhras rt=852235775 rg=kultur
+~#! tid=852235775
+Hmm, koennte Bellmann sein? - obwohl der eigentlich deftigeres hatte =;)
+
+Ronda... denkt an nette Sauflieder ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nur noch partiell Frauen ... (Jimdigriz,  3. Jan 1997, 12:35:44):
+~#! rn=Caradhras rt=852235775 rg=kultur
+~#! tid=852235775
+
+Is das Gebirge verliebt ?? ;)
+
+Die Edelstahlratte
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nur noch partiell Frauen ... (Caradhras,  3. Jan 1997, 14:22:24):
+~#! rn=Jimdigriz rt=852291344 rg=kultur
+~#! tid=852235775
+Nein.
+Nur Musikverliebt. Music was my first love...
+
+Aufloesung: Der Text von 'Nur noch partiell...' stammt aus La Traviata,
+erster Akt (Verdi)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Frauen ... (Qitess,  3. Jan 1997, 17:41:40):
+~#! rn=Methedras rt=852225752 rg=kultur
+~#! tid=852225752
+
+
+La donna e mobile
+mal pium al ve-hento
+muta d'accento
+e di pensier
+
+-GROEHL- :)
+
+QI singt fast so gut wie lutschi :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Erinnerung (Wanderer,  5. Jan 1997, 18:07:30):
+Etwas fragmentarisch, wie Erinnerung oftmals ist:
+
+Auf dem Platz, an dem Bunnen,
+Wo das Wasser so klar,
+Ward ich einst eines Hauches
+Ihrer Schoenheit gewahr.
+
+Auf dem Platz, an dem Bunnen
+Gab sie mir ihren Rat,
+Gab mir Kraft fuer den Weg,
+Dem entgegen ich trat.
+
+Jener Platz, jener Brunnen
+Hat sie lang nicht geseh'n,
+Doch der Hauch Ihrer Schoenheit dort,
+Er wird nicht vergeh'n.
+
+Auf dem Platz, an dem Bunnen
+In Erinnrung so klar,
+Bin ich stets eines Hauches
+Ihrer Schoenheit gewahr.
+
+-----------------------------------------------------------------------------
+
+
+
+Zwei Koenigskinder (Acrimon,  5. Jan 1997, 19:28:48):
+
+Es waren zwei Koenigskinder,
+die hatten einander so lieb.
+Sie konnten zusammen nicht kommen,
+das Wasser war viel zu tief,
+das Wasser war viel zu tief.
+
+"Ach Liebster, koenntest du schwimmen,
+so schwimm doch herueber zu mir!
+Drei Kerzen will ich anzuenden,
+und die sollen leuchten zu dir,
+und die sollen leuchten zu dir."
+
+Das hoert eine falsche Nixe,
+die taet, als wenn sie schlief:
+sie taet die Kerzlein ausloeschen,
+der Juengling ertrank so tief,
+der Juengling ertrank so tief.
+
+Es war an eim Sonntag-Morgen,
+die Leut waren alle so froh;
+nicht so die Koenigstochter,
+die Augen saszen ihr zu,
+die Augen saszen ihr zu.
+
+"Ach Mutter, herzliebste Mutter,
+mein Kopf tut mir so weh!
+Darf ich nicht gehn spazieren
+an dem Strand von der rauschenden See,
+an dem Strand von der rauschenden See?"
+
+Die Mutter ging nach der Kirche,
+die Tochter hielt ihren Gang;
+sie ging so lang spazieren,
+bis sie einen Fischer fand,
+bis sie einen Fischer fand.
+
+"Ach Fischer, liebster Fischer,
+willst du verdienen grosz Lohn,
+so wirf dein Netz ins Wasser
+und fisch mir den Koenigssohn,
+und fisch mir den Koenigssohn!"
+
+Er warf das Netz ins Wasser,
+es ging bis auf den Grund,
+er fischte und fischte so lange
+bis er den Koenigssohn fand,
+bis er den Koenigssohn fand.
+
+Sie schlosz ihn in ihre Arme
+und kueszt seinen bleichen Mund:
+"Ach Muendlein, koenntest du sprechen,
+so waer mein jung Herze gesund,
+so waer mein jung Herze gesund!"
+
+Was nahm sie von ihrem Haupte?
+Eine goldene Koenigskron:
+"Sieh da, du wohledler Fischer,
+hast dein verdienten Lohn,
+hast dein verdienten Lohn!"
+
+Sie schwang sich um ihren Mantel
+und sprang wohl in den See:
+"Gut Nacht, mein Vater und Mutter,
+ihr seht mich nimmermehr,
+ihr seht mich nimmermehr!"
+
+Da hoert man Glocken laeuten,
+da hoert man Jammer und Not:
+hier liegen zwei Koenigskinder,
+die sind alle beide tot,
+die sind alle beide tot!
+
+
+(Volksmund aus dem 15. Jahrhundert)
+
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+De potzik Mann ! (Qitess,  6. Jan 1997, 10:58:55):
+
+Hier nun etwas fuer unsere Friesen und alle, die es werden wollen: 
+ 
+ 
+ 
+De potzik Mann
+
+Dear lewwet nons en Mann ip Lunn,
+De taalt de heele Dai.
+He stinn - deaet kiid keen Mensk verstunn -
+Tu taalen uun lung Wai.
+He taalt ark Karkfink, de dear kuemm,
+Met jaan, tau, tree, schtjuur, fiuw.
+En kuemm dear nons en Diuw verbid,
+Dann taalt he uk de Diuw.
+He taalt uk alle Stoetter dear
+Van Rott en Hinn en Katt,
+So dat he innemens sletten wear
+En roelleket as man watt.
+De froagerst, wearom taalt he dann
+Alle Dai uun Koll en Hett ?
+Miin Kinn, he wear en potzik Mann !
+Deaet's alles, wat ik wett !
+
+
+
+uut : Miin Urgrossvaddern un ik   (James Kruess)
+
+
+
+
+
+
+
+
+
+
+
+Und hier nun die (hoffentlich richtige) Uebersetzung :
+
+
+Der putzige Mann
+
+Es lebte einst ein Mann auf der Insel,
+Der zaehlte den ganzen Tag.
+Er stand - das konnte kein Mensch verstehn - 
+Zaehlend in der Langen Strasse.
+Er zaehlte jeden Kirchenfinken, der da kam,
+Mit eins, zwei drei, vier, fuenf.
+Und kaeme einst der Teufel vorbei,
+Dann zaehlte er auch den Teufel.
+Er zaehlte auch alle [Stoetter] da
+Von rechts und hinten und [oben ?],
+So dass er irgendwann zittrig war
+Und abgekaempft wie nur was.
+Du fragst, warum zaehlte er denn
+Alle Tage in Kaelte und Hitze ?
+Mein Kind, er war ein putziger Mann !
+Das ist alles, was ich weiss !     
+      
+      
+Es gibt auch noch eine Uebertragung ins Hochdeutsche, die sich reimt :
+
+
+Der komische Alte
+
+
+Es war einmal ein alter Mann,
+Der zaehlte ohne Ruh,
+Er zaehlte dies, er zaehlte das,
+Er zaehlte immerzu.
+Er zaehlte Kaefer, Spatz und Wurm,
+So eins, zwei, drei und vier.
+Und trottete ein Stier vorbei,
+Dann zaehlte er den Stier.
+Er zaehlte auf der Wiese gar
+Die Blumen und das Gras,
+So dass er abends zittrig war
+Und muede wie nur was.
+Du fragst mich, warum zaehlte er
+Bei Regen, Sonn' und Wind ?
+Weil er ein bisschen komisch war.
+Mehr weiss ich nicht, mein Kind !
+
+
+
+QI - ist heute auf dem Kultur-trip gen Norddeutschland !      
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Frauen ... (Caradhras,  6. Jan 1997, 12:28:46):
+~#! rn=Qitess rt=852309700 rg=kultur
+~#! tid=852225752
+Sehr gut, La donne e mobile... Aus Rigoletto (auch Verdi)
+
+Woher ihr die Melodie kennt? Ganz einfach: Wer ab und zu Werbung kuckt und
+mal die Schoko-Crossies dabei gesehen hat ("Ach wie verfuehrerisch sind
+Schokocrossies..." (oder so)), datt is datt Lied.
+
+            Caradhras - hollereidulljoe
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Frauen ... (Yendi,  6. Jan 1997, 13:21:32):
+~#! rn=Qitess rt=852309700 rg=kultur
+~#! tid=852225752
+
+Hmpf!
+
+Ich kann ja kein Italienisch, aber das muesste trotzdem "La donna" mit "a"
+heissen, weil's sonst ja auch "sono mobile" waere...
+Eventuell ist das "a" verschluckt, also "La donn'e mobile".
+Mal sehen, ob ich den text noch auf die Reihe kriege:
+
+ La donna e mobile, qual' piume al vento,
+ muta d'accento e di pensiero,
+ sempre una amabile, leggiadro viso,
+ in pianto e riso e mensogniero.
+ La donna e mobil', qual piume al vento,
+ muta d'accento e di pensier'.
+
+ E sempre misero chi a lei s'affida,
+ chi la confida mal cauto il core.
+ Pur mai non sentesi felice apieno,
+ chi su quel seno non liba amore.
+ La donne e mobil', qual piume al vento,
+ muta d'acceeeeeeeeeeento, e di pensier'.
+
+Hmmm... da fehlen natuerlich die Akzentzeichen. Egal, ist vermutlich sowieso
+gespickt mit Rechtschreibfehlern. Irgendein Italiener anwesend?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Frauen (Aergerlich,  7. Jan 1997, 14:46:13):
+Aeh also ich halts da eher mit JBO:
+"Ka Alde ka G'schrei"
+...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Die Frauen ... (Caradhras,  7. Jan 1997, 18:09:26):
+~#! rn=Yendi rt=852553292 rg=kultur
+~#! tid=852225752
+Klar, hast recht, Yendi, war ein Tippsfehler... aber da gibts ja
+andere, die auch genug machen. *grins*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Nur noch partiell Frauen ... (Highlander,  8. Jan 1997, 11:13:14):
+~#! rn=Caradhras rt=852297744 rg=kultur
+~#! tid=852235775
+... and it will be my last!
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frauen (Highlander,  8. Jan 1997, 11:15:37):
+~#! rn=Aergerlich rt=852644773 rg=kultur
+~#! tid=852644773
+He, kommst Du aus Erlangen oder Umgegend? :>  Kannst am
+Donnerstag zum Stammtisch kommen :>
+   HrT (sich fragend, woher Aergerlich sonst JBO kennen wuerde)
+
+-----------------------------------------------------------------------------
+
+
+
+ JBO (Aergerlich,  8. Jan 1997, 14:17:55):
+ALso ICH komme, wie man schnell sieht, wer den Befehl finger benutzt, aus dem
+schoenen Halle/S.
+ICH kenne JBO, weil ich ein Indie- Fan bin, unddiverse andere Sachen hoere,
+als den TECHNO- Scheiss, der heutzutage die Hitparaden bestimmt.
+Aergerlich, sich auch als "Sterne- Fan " outend :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re:  JBO (Qitess,  9. Jan 1997, 09:04:40):
+~#! rn=Aergerlich rt=852729475 rg=kultur
+~#! tid=852729475
+man hoert kein techno in den hitparaden. das was man da hoert ist ein
+widerliches gemisch aus diversen musik-stilen.
+
+QI - die gerne auch mal *puren* tekkno hoert.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwei Koenigskinder (Li,  9. Jan 1997, 09:42:50):
+~#! rn=Acrimon rt=852488928 rg=kultur
+~#! tid=852488928
+Gut, das es die Rechtschreibreform gibt, danach wird das "ss/sz" nach einem
+kurzen Vokal "s" geschrieben, so das (!) der Streit, ob man nud Dass oder Dasz
+schreibt, wegfaellt...
+
+-----------------------------------------------------------------------------
+
+
+
+Lummerland ! (Qitess,  9. Jan 1997, 09:56:53):
+
+Eine Insel mit zwei Bergen
+
+Eine Insel mit zwei Bergen
+           und dem tiefen weiten Meer
+Mit viel Tunnels und Geleisen
+           und dem Eisenbahnverkehr
+Nun, wie mag die Insel heissen ?
+           Ringsherum ist schoener Strand.
+Jeder sollte einmal reisen
+           in das schoene Lummerland !                    
+           
+
+Eine Insel mit zwei Bergen
+           und dem Photoatelier.
+In dem letzten macht man Bilder,
+           auf dem ersten 'dullijoeh!'.
+Diese Breiten, diese Tiefen,
+           diese Hoehen sind bekannt
+Und man spricht von den Motiven 
+           auf dem schoenen Lummerland !
+ 
+ 
+Eine Insel mit zwei Bergen
+           und dem Fernsprechtelephon.
+Waehlt man nur die richtige Nummer,
+           klappt auch die Verbindung schon.
+"Hallo, hier ist falsch verbunden!"
+           "Wollen Sie sich jetzt beschwer'n?"
+"Nein, warum? Das kann passieren!"
+           "Also dann, auf Wiederhoer'n!"
+
+
+Eine Insel mit zwei Bergen
+           und der Laden von Frau Waas.
+Hustenbonbons, Alleskleber,
+           Regenschirme, Leberkaas,
+Koerbe, Huete, Lampen, Wuerste,
+           Blumenkohl und Fensterglas,
+Lederhosen, Kuckucksuhren,
+           und noch dies und dann noch das.
+
+
+
+( erster Teil gesungen von Lukas dem Lokomotivfuehrer)
+(zweiter Teil gesungen von Herrn Aermel, Untertan)(?)
+(dritter Teil gesungen von Koenig Alfons, dem Viertel-vor-Zwoelften)
+(vierter Teil gesungen von Frau Waas)
+
+
+
+
+
+QI
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer Qitess... und wer sonst noch drauf steht :-) (Yantro,  9. Jan 1997, 10:04:15):
+
+Hi, 
+
+ich hab mal ein altes Werk ausgegraben, was ich eigentlich schon fuer
+verschollen gehalten habe... und wer kann nicht behaupten, dass er das
+Original in der Schule gehasst hat? :-)
+
+
+Dae Oelkuenning
+(Wie dae Kuennings Pitter Wuerm foer sing Oel soek)
+
+Wae krueff su spaet en der Naach oem de Tuerm?
+Et ess dae Pitter, hae soek noh Wuerm.
+Hae haelt e Emmerche ungerm Aerm
+Un secher haelt singe Klein dae Scherm.
+
+"Sach, Jung, wat steiht Dir de Angs im Geseech?"-
+"Suehs do dae Schutzmann hinge em Leech?
+Dae Schutzmann, Vatter, dae schriev uns op"!
+"Jeck,  Jung, dar ess en Moeschepopp!"
+
+"Leev Kaelche, kumm met en de Blech!
+Do wors de letzte Zigg ze frech.
+Maench Rutaug haess de gefange em Rhing
+Un keimol hatt's de ne Angelsching!"
+
+"Och Vatter, mi Vatter, do hoeoesch et doch och, 
+Dae Schutzmann, dae schnapp mich un braengk mich en't Loch!"-
+"Bliev raeuhig, raeaech dich floeck widder av!
+Do falle bloss welke Blaedder erav."
+
+"Na, Klein, wells do net met mer gon?
+Ming Fraulueck jetz allt om Doerpel ston, 
+Ming Doeoechter, glaeuv et, sin all e As.
+Se schrieve de Knoellcher! Et freut sich de Kass!"
+
+"Och Vatter, mi Vatter, jo suehs do dann net
+De Politesse, en ganz grosse Schwitt?"-
+"Jo, Jung, bess stell, ich ben doch net schael.
+Dat sin e paar Nuettcher met enem Kaeael!"
+
+"Ich schnappe dich, mich reiz dingem Ahl sie Gehalt, 
+Un kuess de net wellich, dann maach ich dich kalt!"- 
+"Och Vatter, mi Vatter, jetz han mer genog, 
+Ich han bal fuffzig Wuermcher em Doch!"
+
+Dae Vatter schoett sich, hae laeuf wie der Wind.
+Hae draegt singe Emmer, dae Scherm un dat Kind.
+Gloecklich doheim, verhaeut hae dae Krott.
+E Loch wor em Emmer, de Wuerm wore fott!
+
+
+Yantro
+
+-----------------------------------------------------------------------------
+
+
+
+Noch mehr Wuermer (Qitess,  9. Jan 1997, 10:13:25):
+
+Is'n Waermsche
+               mid'm Schaermsche
+                                 unner'm Aermsche
+                                                  uff'm Taermsche.
+
+Kommt'n Staermsche -
+
+Waerft des Waermsche 
+                     mid'm Schaermsche 
+                                       unner'm Aermsche
+                                                        vom Taermsche.    
+
+QI - kann des verschtehn :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwei Koenigskinder (Asmodis,  9. Jan 1997, 14:18:29):
+~#! rn=Li rt=852799370 rg=kultur
+~#! tid=852488928
+Was fuer ein Streit? Es war doch immer eindeutig, wann man das, und wann 
+man dass schreiben muss. Ich hatte damit nie Probleme!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwei Koenigskinder (Acrimon,  9. Jan 1997, 15:10:00):
+~#! rn=Li rt=852799370 rg=kultur
+~#! tid=852488928
+Gluecklicherweise macht die Rechtschreibreform keine solche Verschlechterung,
+wie Du sie anscheinend verstanden haben willst.
+So leid es mir fuer dich tut - aber auch in Zukunft wird die deutsche Sprache
+noch halbwegs verstaendlich bleiben!
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Hmpf (Sunflower,  9. Jan 1997, 16:13:20):
+Was ist nur mit der guten alten Musik los ? Damals als noch die Beatles
+spielten, aber die kennt ja keiner mehr. Nein heute nur noch Techno und alles
+scheint
+auch noch auf der Queen Welle zu reiten. Nehmen wir Dune oder diese (Die
+meinen Namen gelaut hat) Bluemchen. 
+
+Ich lege mir lieber die alten Vinyl Platten auf und hoere Beatles oder Queen
+und auch paar alte Hosen oder Aerzte Lieder.
+
+Bluemchen, fuer die Bommerlunder immer noch der Megahit ist
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+note MUSI (Gralkor,  9. Jan 1997, 17:03:28):
+Ja da muss ich mich der Blume anschliessen!
+Obwohl sich Dune ja viel Muehe gegeben haben, der Song ist oki, aber die 
+anderen Songs, da wuerde sich Freddy im Grab umdrehen!
+
+Ansonsten, Beatles sind nicht mein Geschmack, aber wuerde ich jedem
+Technoschrott vorziehen.
+Ansonsten Die Aerzte sind saugut, auch wenn die neue haarige Platte zK ist.
+Dafuer hat die Terrorgruppe ne Spitzenscheibe abgeliefert.
+(Gruss an die Kelly- Fans)
+Ansonsten :"Forever JBO"
+Bye ICH :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: note MUSI (Sunflower,  9. Jan 1997, 17:05:39):
+~#! rn=Gralkor rt=852825808 rg=kultur
+~#! tid=852825808
+ja die neuen Platten von DAE und DTH sind scheisse :)
+
+Der Song ueber die KF von TG steht leider auf den Index :(
+
+
+Sunflower, die in Koeln vergessen hat: SCHIFFE VERSENKEN zu spielen
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: note MUSI (Yantro,  9. Jan 1997, 17:11:25):
+~#! rn=Gralkor rt=852825808 rg=kultur
+~#! tid=852825808
+
+ich weiss nicht, wie man behaupten kann, dass das Dune-Cover von 'who wants to
+life forever' ok ist.... es ist billig und die stimme ist kraftlos und
+gelangweilt. Das schlimmste ist aber, dass Dune dem song mit dem wegfall der
+Zeile 'who dares to love forever, when love must die!' die KERNAUSSAGE
+genommen haben. Man koennte auch sagen, dass sie den Song nihct gerallt haben,
+aber das ist von solch primitiven Technohirnen auch nicht zu erwarten.
+
+Das ganze QueenDanceTraxx-album ist zum kotzen, wenn man die originale liebt
+und ich wart auf den tag, an dem ich zB mal DJBoBo begegne... ich bin naemlich
+immer bewaffnet ;-)
+
+Nur um zu zeigen, dass ich kein reiner Technohasser bin will ich bemerken,
+dass das Coveralbum 'dragon attack', auf dem sich diverse Hardrocker bei Queen
+bedienen, auch schrott ist... einzig Lemmy roulez, aber der Mann ist ja auch
+selber ein Kult. 
+
+Yantro
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: note MUSI (Sunflower,  9. Jan 1997, 17:16:24):
+~#! rn=Yantro rt=852826285 rg=kultur
+~#! tid=852825808
+JA, ich habe mir heute das Video von Bluemchen angesehen. Das sowas ueberhaupt
+noich gespielt wird..., ausserdem fand ich die Verkleidung als Freddy M. mehr
+als geschmacklos. 
+
+Das einzigste was ich mir von diesem ganzen Dune-Bluemchen Zeugs reinziehe
+(bei mir heisst das schlichtweg Babyrave (dieser Miles gehoert auch dazu)) ist
+Marc Snow und seine Musik, ist ja wahrlich KULT.
+
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: note MUSI (Gralkor,  9. Jan 1997, 17:31:39):
+~#! rn=Sunflower rt=852826584 rg=kultur
+~#! tid=852825808
+Also ich bin der Meinung, dass man NIEMALS Originale covern sollte, schon
+garnicht
+Sachen, die einer total anderen Musikrichtung angehoeren, denn das klingt
+nicht,
+obwohl mir wie gesagt das Stueck von DUNE ganz gut gefaellt.
+Noch was anderes. Der Rhein ist tot steht auffm Index????
+Ich habe die Single zu Hause.
+Der Song ins musiktechnisch Mist, aber der Text ist gut ( und ausserdem gabs n
+T- Shirt dazu)
+Deshalb: Toetet die Kellyfamily!!!!!!!!
+Gralkor, die NDW- Cover hassend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: note MUSI (Gralkor,  9. Jan 1997, 17:33:44):
+~#! rn=Sunflower rt=852826584 rg=kultur
+~#! tid=852825808
+Robert Miles ist ja auch S*******!!!! 
+Aber sein Vater  hat super gute Sachen gemacht:
+z B: "Music was my first love"
+Musikfan Gralkor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: note MUSI (Sunflower,  9. Jan 1997, 17:34:28):
+~#! rn=Gralkor rt=852827499 rg=kultur
+~#! tid=852825808
+ja, soweit ich weiss ist das Ding bei Erscheinen auf dem Index gelandet.
+
+Naja, ich vermute trotzdem das die BundesPruefstelle das Lied auch dauernd
+hoert :)
+
+MUDDER aller Laender vereinigt euch gegen die Kelly Family !!
+
+Sunflower die erstmal ein Spendenpaket mit Shampoo und Haarscheren pakt und es
+dann nach Koeln schickt.
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: note MUSI (Acrimon,  9. Jan 1997, 18:30:23):
+~#! rn=Yantro rt=852826285 rg=kultur
+~#! tid=852825808
+'who wants to life forever'
+'who dares to love forever, when love must die!'
+...
+Bloede Doppeldeutigkeiten mit Gefuehlstendenzen zum Pessimismus und
+Vorspiegelung falscher Tatsachen!
+
+Grausig!
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: note MUSI (Anatol,  9. Jan 1997, 18:31:56):
+~#! rn=Acrimon rt=852831023 rg=kultur
+~#! tid=852825808
+
+Halleluja.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: note MUSI (Wurzel,  9. Jan 1997, 18:51:13):
+~#! rn=Anatol rt=852831116 rg=kultur
+~#! tid=852825808
+ich weiss nicht was ihr fuer probleme habt...
+in den siebziger jahren wurde aufgehoert, gute musik zu machen. danach kamen
+hoechstens noch vereinzelte ausnahmen, aber die grosse masse ist schrott.
+merkt man u.a. daran, dass heute pausenlos gecovert wird, auf eigene ideen
+kommt wohl keiner mehr... jimi hendrix ist tot, janis joplin ist tot, jim
+morrison ist tot, und mir ist auch schon ganz schlecht...
+
+wurzel legt jetzt muddy waters auf :) (der ist leider auch schon tot :( )
+
+p.s. man koennte denken, nur tote musiker sind gute musiker, aber da gibt es
+     ja noch clapton...
+
+-----------------------------------------------------------------------------
+
+
+
+Zwei Koenigskinder (Hefe,  9. Jan 1997, 20:37:56):
+War das nicht so :
+
+Es waren zwei Koenigskinder,
+die hatten einander so lieb.
+Sie konnten zusammen nicht kommen,
+denn er kam immer zu frueh !
+:-)
+Hefe
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwei Koenigskinder (Dieder,  9. Jan 1997, 21:37:52):
+~#! rn=Hefe rt=852838676 rg=kultur
+~#! tid=852838676
+Korrektur:
+
+Es waren zwei Koenigskinder,
+die hatte in der Liebe Mueh,
+sie konnten zueinander nicht kommen,
+denn er kam immer zu frueh.
+
+;))
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Gourmet (Dieder,  9. Jan 1997, 21:40:21):
+Und noch ein Verslein von der EAV:
+
+Der Gourmet gern Trueffel speist,
+und nachher wie ein Bueffel sch... *zensiert, piep*
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zwei Koenigskinder (Li, 10. Jan 1997, 08:24:28):
+~#! rn=Acrimon rt=852819000 rg=kultur
+~#! tid=852488928
+Auch wenn du es nicht glauben willst: Dass bzw. dasz hinter einem komma wird
+zu das!
+Troeste Dich, mir gefaellt es auch nicht...
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hmpf (Li, 10. Jan 1997, 08:30:40):
+~#! rn=Sunflower rt=852822800 rg=kultur
+~#! tid=852822800
+*Nostalgie an*
+Ach ja, waren das noch Zeiten als es noch Leute wie Led Zeppelin, Golden
+Earring, New Model Army, Police, Fisher-Z und Sisters of Mercy gab...
+*Nostalie off*
+Aber im Ernst, grade in der TEKKKNo-Welle (zumindestens das, was man so im
+Radio hoert) scheint alles nur noch gecovert zu werden, faellt den Leuten
+nichts eigenens mehr ein?
+Dazu faellt mir ein, das heute anscheinend in allen musikrichtungen nur noch
+gecovert wird, als nichts fuer ungut, Tekkno Fans..
+Li (Erinnert sich mit Grausen an die Cover Versionen von "Because the night"
+und "Who want's to live forever" )
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hmpf (Har, 10. Jan 1997, 09:52:00):
+~#! rn=Li rt=852881440 rg=kultur
+~#! tid=852822800
+Mann seid ihr alle edel, gebildet und ihr habt auch alle einen soooo tollen
+Geschmack! Und das koennt ihr alle auch noch so raushaengen lassen. Das
+Gefasel hier erinnert  mich an die Restaurantkritiken eines Edelgourmets der
+seine Ueberheblichkeiten im Zeitmagazin verbreitet - 80% aller Weine sollten
+sowieso in den Abfluss geschuettet werden und 99% aller Musik gleich
+hinterher...und Pommes-Sosse-Majo gibt es in Zukunft genauso wenig wie
+schlechte Remixes, dann wird die Welt sicherlich besser und 
+schoener fuer alle!
+
+Har
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Hmpf (Qitess, 10. Jan 1997, 09:56:20):
+~#! rn=Li rt=852881440 rg=kultur
+~#! tid=852822800
+ich kann mich hars meinung nur anschliessen.
+
+als ich angefangen habe, diese diskussion zu lesen, ist es mir bald
+hochgekommen.
+
+aber was solls. jedem das seine, und har und mir die einsicht ;)
+
+qi :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hmpf (Sunflower, 10. Jan 1997, 11:52:17):
+~#! rn=Qitess rt=852886580 rg=kultur
+~#! tid=852822800
+Neulich, sprich heute habe ich mir mal wieder Geschwisterliebe und Jenseits
+von Eden (die Aertze-Version reingezogen) sowie paar alte Elvis Schnulzen und
+die
+Dinger sind weit aus besser als irgendso ein Tekkno geleier, wo einen ehh nach
+2 Minuten die Ohren schmerzen. 
+
+Hmm Qitess dir ist was hochgekommen ? du hast doch nicht etwa die 80% der
+Weine getrunken die man wegschuetten kann ?
+
+Sunflower
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Rechtschreibreform (Ringor, 10. Jan 1997, 14:36:48):
+~#! rn=Li rt=852881068 rg=kultur
+~#! tid=852488928
+Soweit ich das verstanden habe, wird es zwar nach der Reform kein dasz mehr
+geben. Aber eine Unterscheidung zwischen das und dass bleibt
+selbstverstaendlich noch.
+
+Nur eben als dass und nicht dasz. Was das nun bringen soll, ist allerdings
+eine andere Frage ...
+
+Ringor. Ist gegen die Reform.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rechtschreibreform (Oetti, 10. Jan 1997, 19:32:48):
+~#! rn=Ringor rt=852903408 rg=kultur
+~#! tid=852488928
+Soso !
+
+Raider heist jetst Twichs, zonszt aentert sich nichs.
+
+DEr obige Satz war zwar entgegen aller Rechtschreibregeln, aber die
+Aussage an sich sollte ruebergekommen sein, so what ?
+
+Will sagen puristet ihr nur Deutschtuemelnd rum, ich kann mich mit der
+Reform zwar ueberhaupt nicht anfreunden, aber im Prinzip, solange ich
+nich Buecher lesen kann, isses mir egal, ausserdem les ich ehh lieber
+in Englisch...
+
+Zur Musik...
+
+ICh perseonlich finde Aerzte und Hosen aehlich Kommerzialisiert wie Kellys
+oder
+Bed & Breakfast. Und ich mag keine Pauschalverdammnis fuer eine Stilrichtung,
+es
+gibt im Bereich, House-Techno genauso gelegentliche Highlights wie im
+Deutschen
+Schlager (FREMMMMMMMMMMMMDEEEEEEEEEEEE ODER FREUUUUUUUUUUUNDE)
+
+Wer Musik nach dem Namen oder Aussehen der Interpreten einordnet hat meiner
+unbescheidenen Meinung nach nicht viel dsavon verstanden.
+Mozart oder Beethoven haben genauso Scheisse produziert wie Dieter Bohlen oder
+Queen. Jeder hat mal nen kreativ guten oder schlechten Tag nur manche halten
+nen konstant hohen Level, und das ist dann auch noch Geschmackssache.
+
+Und ueberhaupt, innovative Musik gab es doch seit jeher mehr oder minder
+nur auf den kleinen Labels und nicht den majors...
+
+GRuss
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rechtschreibreform (Acrimon, 10. Jan 1997, 19:36:44):
+~#! rn=Oetti rt=852921168 rg=kultur
+~#! tid=852488928
+Wenn Du nicht selbst gemeint haettest, man haette keine Muehe mit Lesen ohne
+Rechtschreibregeln, dann haettest Du in Deinem Artikel sicherlich nicht wieder
+zur Rechtschreibung zurueckgewechselt, Oetti :-)
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: note MUSI (Schrumpfi, 12. Jan 1997, 11:03:34):
+~#! rn=Wurzel rt=852832273 rg=kultur
+~#! tid=852825808
+Iiiiieh Clapton *wuerg*
+Also die achtziger Jaehrchen waren mit der Mukke auch ganz ok. Jimi Hendrix
+pah! Janis Joplin pah! Alles Hippieschrott ;-)
+Schrumpfi steht da eher mehr auf die haertere Abteilung der siebziger Jahre.
+(Nein, nicht die Sex Pistols!)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Hmpf (Li, 13. Jan 1997, 10:08:23):
+~#! rn=Har rt=852886320 rg=kultur
+~#! tid=852822800
+Meine Guete!
+Muss man tatsaechlichg jedesmal *ironie on* *off* dabei schreiben, damit auch
+jeder kapiert, wies gemeint ist?
+
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Hmpf (Acrimon, 13. Jan 1997, 15:04:15):
+~#! rn=Li rt=853146503 rg=kultur
+~#! tid=852822800
+Woher soll man denn bitteschoen wissen, ob Du das, was Du geschrieben hast,
+nicht ernst meinst?
+
+Acrimon, der Rote Ritter wundert sich ueber notorische Luegner.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hmpf (Hardil, 13. Jan 1997, 16:42:50):
+~#! rn=Sunflower rt=852822800 rg=kultur
+~#! tid=852822800
+
+
+Aaaaah! Argl!
+Queen, das sind doch Faschos!
+Darwinistische Moechtegernmusiker!
+
+Uuuups, da stand ja Milam^H^H^H^H^HBluemchen als Absender drunter.
+
+Vergesst es.
+
+-Hardil. Braucht keine Perlen vor die Saeue zu streuen.
+
+-----------------------------------------------------------------------------
+
+
+
+Rechtschreibreform die zwote (Aranya, 14. Jan 1997, 16:19:14):
+Also. Als erstes: Die Rechtschreibreform betrifft nur das offizielle
+Geschreibsel.
+Wie ihr schreibt, ist voellig egal.
+
+Das dass nach dem Komma wenn es NICHT durch welches ersetzt werden kann,
+wird statt mit Esszet nun mit Doppel-S geschrieben.
+Das hat den einfachen Grund, dass ein Esszet in Zukunft nach 
+einem kurzen Vokal als Doppel-S geschrieben wird.
+
+Ansonsten aendert die Reform ungefaehr 0.5% der Regeln, was IMHO zu wenig ist.
+Ja, ich liebe die deutsche Sprache auch und wuerde mich als Sprachpurist 
+bezeichnen. Aber ihr schreibt ja auch nicht mehr Brod und Thuer. Das wurde
+1901 abgeschafft.
+Ansonsten: Wendet Euch vertrauensvoll an Euer Kultusministerium. Die schicken
+Euch die Unterlagen zur Rechtschreibreform.
+
+Aranya
+      hat die Nase voll von diesen quengelnden konservativen Intellektuellen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rechtschreibreform die zwote (Oetti, 14. Jan 1997, 16:22:36):
+~#! rn=Aranya rt=853255154 rg=kultur
+~#! tid=853255154
+Ich bin fuer eine Radikalreform der REchtschreibung, dergestalt, dass man
+das Alphabet auf einen Buchstaben reduziert, obeiger Text saehe dann so aus:
+
+rrr rrr rrrrr, rrrr rrr rrr rrrrr rrrrrrrr rrr rrrrr rrrrrrrrrr rrrrrrrrr.
+Rrrrr rrrr rrrrr rrrr rr rrr.
+
+Ist doch praktisch, damit bekamen die meissten Texte viel mehr Sinn, als
+vorher (I bet), und es gaeb keine misseverstaendnisse und Kriege mehr.
+
+Ich bin dafuer !
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rechtschreibreform die zwote (Cauno, 14. Jan 1997, 16:39:28):
+~#! rn=Oetti rt=853255356 rg=kultur
+~#! tid=853255154
+Rrr rrrrrrrrrrrr rrr Rrrrrr.
+
+Heisst: Ich unterstuetze den Antrag.
+
+C. No ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rechtschreibreform die zwote (Engywuck, 14. Jan 1997, 16:46:10):
+~#! rn=Oetti rt=853255356 rg=kultur
+~#! tid=853255154
+Also Moment... Wenn ich das richtig sehe, haettest Du in dem Fall auch noch
+gravierende Kommaregelaenderungen durchgefuehrt! Das geht nun wirklich zu
+weit.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rechtschreibreform die zwote (Acrimon, 14. Jan 1997, 17:40:01):
+~#! rn=Oetti rt=853255356 rg=kultur
+~#! tid=853255154
+Rrrrr rrrrrrrrr rrrrr rr Rrrrr!
+
+Rrrrrrr, rrr Rrrr Rrrrrr
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Rechtschreibreform die zwote (Schlips, 14. Jan 1997, 18:21:45):
+~#! rn=Cauno rt=853256368 rg=kultur
+~#! tid=853255154
+
+Iii iiii.
+
+Iiiiii ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Rechtschreibreform die zwote (Asmodis, 14. Jan 1997, 19:14:08):
+~#! rn=Schlips rt=853262505 rg=kultur
+~#! tid=853255154
+Mmmm mmmm mmmmmm mmm
+
+-----------------------------------------------------------------------------
+
+
+
+Mal so... (Grimmborn, 14. Jan 1997, 20:47:10):
+Also, das, was mich am meisten bei der Rechtschreibereform stoert sind die
+Diskussionen darueber von Leuten, denen man beim ersten Satz schon anmerkt,
+dass sie keine Ahnung haben, worueber sie diskutieren.
+Man muss sich bewusst machen, was Sprache und Schrift eigentlich sind bzw.
+sein sollen: Mittel zur Kommunikation. Und in einer Zeit, in der man durchaus
+zu recht von "Globalisierung" und "Internationalisierung" sprechen kann ist
+durchaus auch ein Kriterium die Erlernbarkeit durch Fremde. Nein, ich bin kein
+Espandrillo (oder wie die Leute aus Sperantesien heissen), aber ein wenig
+Konsequenz in der Sprache schadet nicht. Und erst recht nicht in der Schrift
+(um die es ja geht). Es ist ziemlich billig mit Einzelbeispielen zu
+polemisieren, weil dann jeder sofort "gewohnt" mit "gut" verwechselt. Ich bin
+voellig fuer die Reform, was dann allgemein als unsinnig empfunden wird setzt
+sich eh nicht durch, immerhin gab es auch mal die Schreibweise "Kautsch".
+
+Was die Musik angeht, das ist doch die gleiche Diskussion wie die ueber die
+unterschiedlichen Computerbetriebssysteme (naja, fast zumindest): "Meine
+Sandfoermchen sind aber schoener und bunter als Deine." Mir doch egal was
+andere Leute hoeren und gut finden solange ich bei mir hoeren kann was ich
+will...
+Nur zu Oetti muss ich noch kommentieren, dass natuerlich Beethoven schlechte
+Sachen geschrieben hat. Unglaublich schlechte sogar. Ein Paradebeispiel fuer
+schlechte, ungemein populaere Musik ist die "Overtuere 1812". Und dennoch, die
+beste Musik, die meiner Meinung nach je geschrieben wurde ist das
+Violinkonzert von Beethoven. Die Nachwelt misst letztlich an den Highlights,
+nicht an den Schatten. Irgendwie auch troestlich...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal so... (Sushi, 14. Jan 1997, 21:18:44):
+~#! rn=Grimmborn rt=853271230 rg=kultur
+~#! tid=853271230
+Neeee, Herr Grimmborn, 
+so nun aber nicht... "Kommunikation" setzt gegenseitiges Verstehen voraus. Das
+kann aber durch gewisse Zweideutigkeiten gestoert werden, wie sie m.E.
+beispielsweise die neue Kommaregelung erzeugen kann.
+
+Dass Du die Reform unterstuetzt ist ja sehr lobenswert im Sinne einer
+staatstragenden allgemeinen geistigen Gesundheit Deinerseits, aber die Gruende
+dafuer wuerde ich schon gerne erfahren. In langen Jahren als Lehrer an eine
+"privaten Foerderschule" (vulgo: Nachhilfe) bin ich einer erklecklichen Anzahl
+offensiver Analphabeten begegnet. Denen wird es auch nichts helfen, dass man
+da/3 jetzt mit ss schreibt, weil sie das zugrundeliegende Prinzip immer noch
+nicht verstehen. Ergo: Warum genau befuerwortest Du die Reform? Bloss, weil
+"Reform" sprechsprachlich mit Fortschritt gleichgesetzt wird? Um Deine Liebe
+zum Kalauer zu befriedigen: "Fortschritt heisst, dass Schlechtes sich
+schneller durchsetzt".
+
+Und zur Musik/OS-Debatte: LinuX ist besser als Beethoven und alle Win95-Power
+User sind Schafficker. Jawohl! 
+
+Oder war es umgekehrt?
+
+Sushi - $.02end.
+
+-----------------------------------------------------------------------------
+
+
+
+Stralsund - oh du Schoene... (Flinx, 15. Jan 1997, 09:35:12):
+
+
+Es gibt gute und schlechte Orte zum Leben und zum Studieren. Und es gibt
+Stralsund.
+
+
+Sonntag in Stralsund                                   12.01.97
+
+
+Sonntag in Stralsund.
+  Die Worte allein sind Verderben.
+  Sonntag in Stralsund.
+  La solche Worte von einer Klippe fallen, und sie erreichen nie 
+Boden. Sie stuerzen nur durch die Leere auf fuenf Uhr am grauen
+Nachmittag zu.
+  Sonntag in Stralsund. Wie man ihn auf irgendeine Weise ueber-
+steht.
+  La die Gabglocken laeuten. Zieh Dir die Bettdecke ueber die 
+Ohren. Hoer das Zischen der verrottenden Buesche vor deinem 
+Fenster, wenn der traege Wind sie durchfaehrt. Lausch den leeren 
+Straen vor deinem Haus, die darauf warten dich zu verschlingen,
+wenn du dich vor Mittag hinauswagst. Spuer, wie der Nebel seine 
+nasse Flanellzunge unter die Fensterbruestung schiebt, Ziegeldaecher 
+beleckt, waehrend seine Massigkeit vor Langeweile tropft.
+  Sonntag, dachte ich. Stralsund. Die Kneipen am Nachmittag fest
+verschlossen. Die Filme im schaebigen Kino uralt und laengst gesehen.
+Nichts zu tun, als vieleicht die Wildkatzen im Stadtzoo anstarren, die
+Geier, die aussehen, als waeren sie, mit Leim bedeckt, in die Kiste 
+des Lumpensammlers gefallen. Am Sund entlanglaufen, das nebel-
+graue Wasser betrachten. Durch die alten Gassen wandern, den
+sund-farbenen Himmel sehen.
+  Nein, dachte ich wild, bleib im Bett, weckt mich bei Sonnen-
+untergang, gebt mir Abendbrot, steckt mich wieder ins Bett, gute
+Nacht, alle zusammen !
+  Aber ich wankte hoch, ein Held, unter den vernichtenden Hieb
+des Sonntags, rasierte mich und betrachtete zu Mittag in leichter
+Panik den bevorstehenden Tag aus dem Augenwinkel.
+Da lag er, ein verlassender Korridor voller Stunden, gefaerbt wie 
+die Oberseite meiner Zunge an einem trueben Morgen.
+Selbst Gott mute von solchen tagen, in noerdlichen Landen,
+gelangweilt sein. 
+Stralsund ! Du groes totes Ungetuem von einer Stadt ! dachte 
+ich, als ich von meinem Fenster aus auf die beschneite, berute
+Leiche blickte. Hier ist eine Muenze fuer deinen Mund !
+  Dann oeffnete ich die Tuer und trat hinaus in den ganzen verbrech-
+erischen Sonntag, der mich erwartete.
+
+
+Flinx, nach einer Kurzgeschichte von Ray Bradbury
+
+-----------------------------------------------------------------------------
+
+
+
+Re:Stralsund (Flinx, 15. Jan 1997, 09:37:24):
+
+Hiermit reiche ich ne handvoll "ss" bzw "sz"(ganz nach belieben) nach.
+
+Flinx
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stralsund - oh du Schoene... (Dune, 15. Jan 1997, 13:57:59):
+~#! rn=Flinx rt=853317312 rg=kultur
+~#! tid=853317312
+Moin!
+Wer hat eigentlich hier den Kurs angeboten "Gedichte schreiben leicht
+gemacht"? Oder woher kommt es, dass hier ploetzlich so viele meinen Gedichte
+zum Niederknien schreiben zu muessen.
+BITTE AUFHOEREN
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stralsund - oh du Schoene... (Qitess, 15. Jan 1997, 14:16:18):
+~#! rn=Dune rt=853333079 rg=kultur
+~#! tid=853317312
+wozu gibt es denn sonst den kultur-kanal?
+sollen wir immer nur ueber bereits geschriebene jahrhundertwerke unserer
+begnadeten schriftsteller diskutieren ?
+
+qi liest gerne gedichte.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stralsund - oh du Schoene... (Acrimon, 15. Jan 1997, 14:28:30):
+~#! rn=Dune rt=853333079 rg=kultur
+~#! tid=853317312
+Die Kultur-Rubrik ist doch zum Gedichteschreiben da, und ich lese sie gerne
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stralsund - oh du Schoene... (Methedras, 15. Jan 1997, 17:21:27):
+~#! rn=Dune rt=853333079 rg=kultur
+~#! tid=853317312
+Tja, Dune, dafuer gibt es den wunderschoenen Befehl:
+'bestelle kultur ab' oder 'unsubscribe kultur'.
+
+Wenn Du dem, was hier geschrieben wird, nicht das kleinste abgewinnen
+kannst oder dir wenigstens denken kannst, dass es einigen hier
+ziemlich bis noch viel mehr gefaellt, dann hast Du hier sowieso
+nichts verloren.
+
+              tschuess        
+        Caradhras - dem fast alles hier gefaellt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal so... (Schrumpfi, 16. Jan 1997, 01:42:32):
+~#! rn=Grimmborn rt=853271230 rg=kultur
+~#! tid=853271230
+Hab ich Dir nicht verboten Dich ueber Musik und Politik zu aeussern? ;-)
+Haste ja sowieso keine Ahnung von. ;)
+Schrumpfi kriegt Spontanakne wenn sie nur an Schillers gute Freunde denkt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mal so... (Anatol, 16. Jan 1997, 01:47:03):
+~#! rn=Schrumpfi rt=853375352 rg=kultur
+~#! tid=853271230
+
+Also die Akne hat sich bei mir eher bei der Musik gebildet, mit der er
+besonders hartnaeckig-verschlafene Faelle zu wecken pfegt *jodel*.
+
+Anatol (war SEHR schnell wach) ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Mal so... (Schrumpfi, 16. Jan 1997, 02:03:24):
+~#! rn=Anatol rt=853375623 rg=kultur
+~#! tid=853271230
+Oh, oh, Du aermster, ich kenn das. Vor allem dann, wenn ich um 5:00 Morgens
+mit ungefaehr 9 Promille heim komm und der gute Grimmborn weckt mich um 11:00
+liebevoll mit Musik auf. Aber ich hab Rache geschworen, eines Tages fessel und
+knebel ich ihn und dann spiel ich ihm 5 Stunden Nick Cave vor! Ha! Die
+Jodelmusik kenn ich auch zur Genuege, ich Depp hab ihm erzaehlt, dass meine
+Mutter mich immer mit Oesterreichischer Volksmusik geweckt hat. Kann ich
+ahnen, dass er sowas hat?? Haetts mir allerding denken koennen :)
+Schrumpfi sinnt auf Rache.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Mal so... (Oetti, 16. Jan 1997, 12:25:05):
+~#! rn=Schrumpfi rt=853376604 rg=kultur
+~#! tid=853271230
+Solange Grimmborn, "Goethes Erben" nicht einlegt ist mir auch
+sein Jazzaltsaxophontenorsopranfloetenorchester recht...;-))
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Mal so... (Grimmborn, 16. Jan 1997, 15:12:42):
+~#! rn=Oetti rt=853413905 rg=kultur
+~#! tid=853271230
+Interessant wie ich hier geoutet werde und versuchsweise der Laecherlichkeit
+preisgegeben werden soll. :-)
+Ja, ich hab eine CD "In der Heimat", die hat schon diverse gute Dienste
+geleistet. Kann ich dafuer wenn Schrumpfi so fertig ist dass sie nichtmal
+Groenemeyer wecken kann? Dann muss man halt groessere Kaliber auffahren.
+Ausserde ist nichts so schoen wie jemanden, der voellig verschlafen ist, zu
+wecken, wenn man selber putzmunter ist. Und, meine allerliebste Schrumpfi,
+fuer Nick Cave musst Du mich ncht fesseln, das solltest Du wissen. Auch nicht
+fuer den Rest von dem, was Du gerne hoerst, vorrausgesetzt es ist nicht zu
+laut. Naja, vielleicht mache ich eine Ausnahme fuer einen gewissen Herrn L.,
+den ich aus Ruecksicht auf Deinen Ruf hier nicht naeher spezifizieren will.
+Goethes Erben sind klasse, aber ich kann natuerlich nicht von jedem, der
+Punkrock fuer die Krone der musikgeschichtlichen Entwicklung haelt Geschmack
+erwarten. Und "Jazzaltsaxophontenorsopranfloetenorchester"? Sollte ich
+tatsaechlich Oetti mal die Koelner Saxophonmaffia vorgespielt haben? Mutig von
+mir, haette ich mir gar nicht zugetraut...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Mal so... (Schrumpfi, 16. Jan 1997, 15:38:36):
+~#! rn=Grimmborn rt=853423962 rg=kultur
+~#! tid=853271230
+
+Wer haelt hier Punkrock fuer die Krone der musikgeschichtlichen Entwicklung?
+Ich bestimmt nicht. Ich hoer gern Punkrock aber fuer die Krone der
+musikgeschichtlichen Entwicklung halte ich noch immer Dark Wave. Kannst ruhig
+schreiben wer der gewisse Herr mit L ist. ich steh zu meiner Limahl-Phase,
+jawoll! :-)
+Immer noch besser als Groelemeyer.
+Schrumpfi gibt sogar zu, dass ihr Rod Steward immer noch gefaellt. *out*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Mal so... (Oetti, 16. Jan 1997, 15:39:57):
+~#! rn=Schrumpfi rt=853425516 rg=kultur
+~#! tid=853271230
+Ich schliesse mich dem Dark-Wave an...
+
+Punk ist zu laut auffe dauer, und ausserdem, alles was Punk ist ist sowieso
+von den Sex Pistols ;-))))
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Mal so... (Schrumpfi, 16. Jan 1997, 16:06:33):
+~#! rn=Oetti rt=853425597 rg=kultur
+~#! tid=853271230
+AAAAAAAAAAAAH! Oetti Du bist doof und stinkst! 
+Schrumpfi kann die Sex Pistols nicht ab. Naja, fast nicht.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Mal so... (Raecher, 16. Jan 1997, 16:07:59):
+~#! rn=Schrumpfi rt=853427193 rg=kultur
+~#! tid=853271230
+Punkrock ist doch tot. Die letzte Reste wurde 79' zu Grabe getragen.
+
+Raecher
+
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht :) (Sunflower, 16. Jan 1997, 16:08:04):
+Ein Gedicht ueber einige Zustaende:
+
+Ihr habt kein Brot,
+Kein Arbeitsplatz, kein Leben.
+Ihr denkt Auslaender sind Schuld an der Not,
+und denen wollt ihr es jetzt geben.
+
+Ihr wollt Deutsche sein,
+euch gehoert das Land.
+Ihr lasst keine Auslaender rein,
+steckt Asylantenhaeuser in Brand.
+
+Ein Deutsches Reich wollt Ihr,
+Und euren Fuehrer wollt Ihr wiederhaben.
+Doch eurer Fuehrer ist nicht hier,
+der ist laengst begraben.
+
+So waehlt Ihr einen neuen,
+damit er fuer euch denkt.
+Ihr fuehlt euch als seine Getreuen,
+denen er seine Aufmerksamkeit schenkt.
+
+So zieht Ihr durch die Lande,
+zuendet Haeuser an und macht Krach.
+Fuehlt euch wunderbar stark in eurer Bande,
+doch alleine seid Ihr schwach.
+
+Deutschland den Deutschen das wollt Ihr,
+um das zu erreichen wollt Ihr nicht ruhn, sondern bleibt alle wach
+wollt keine Auslaender hier,
+ach Leute, denkt doch einmal N A C H.
+
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Mal so... (Har, 16. Jan 1997, 16:08:32):
+~#! rn=Schrumpfi rt=853427193 rg=kultur
+~#! tid=853271230
+Ich finde Darkwave scheisse, deshlab seid ihr alle doof und ich kann euch
+nicht leiden!
+
+Har (mag Vibrators und zwar nicht die mit denen candy.jpg spielt)
+
+-----------------------------------------------------------------------------
+
+
+
+Noch'n Gedicht (Oetti, 16. Jan 1997, 16:11:47):
+
+Endzeitanglophile Homozygoten terrorisieren 
+Tranquillizer-geschaedigte Hausfrauen durch
+dauernders degeneriertes Kopulieren.
+
+Dumm das, denken diverse Dichter, doch es Reimt sich.
+
+Na dann ist ja alles klar !
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Mal so... (Grimmborn, 16. Jan 1997, 18:02:36):
+~#! rn=Har rt=853427312 rg=kultur
+~#! tid=853271230
+Interessant, und was machst Du mit den Vibratoren? Anal, oder gibts da noch
+Moeglichkeiten, von denen meine Spiesservorstellung nicht mal traeumen kann?
+;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Mal so... (Schrumpfi, 18. Jan 1997, 16:41:09):
+~#! rn=Raecher rt=853427279 rg=kultur
+~#! tid=853271230
+Bloedsinn. Es gibt genug gute Punkrockbands die erst in den 80zigern oder gar
+in den 90zigern gegruendet wurden. Ich denke da nur an OI POLLOI oder SLIME
+oder RAZZIA oder CONFLICT ect ect.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Mal so... (Schrumpfi, 18. Jan 1997, 16:52:41):
+~#! rn=Har rt=853427312 rg=kultur
+~#! tid=853271230
+Ich kann Dich auch nicht leiden, obwohl ich Deine Musik ganz gut find, aber
+das geb ich nicht zu ;-)
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Mal so... (Wurzel, 18. Jan 1997, 16:56:26):
+~#! rn=Schrumpfi rt=853602069 rg=kultur
+~#! tid=853271230
+guter punkrock? ist das nicht eine contradictio in adiectio ? (oder so
+aehnlich, mein latein ist schon was laenger her :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Mal so... (Sushi, 18. Jan 1997, 17:20:29):
+~#! rn=Wurzel rt=853602986 rg=kultur
+~#! tid=853271230
+Das ist doch relativ... Wenn man The Exploited und The Offspring vergleicht
+oder auch Skrewdriver und Sham 69, dann gibt es schon "guten" und "schlechten"
+Punkrock... 
+
+Sushi - muskalisch senfend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht :) (Yendi, 20. Jan 1997, 10:09:35):
+~#! rn=Sunflower rt=853427284 rg=kultur
+~#! tid=853427284
+
+*seufz*
+Dieser penetrant triviale Aufruf zu Eigenverantwortung, Toleranz und
+Naziresistenz gewinnt leider nicht durch die kunstlose aeussere Form.
+
+Bluemchen, wenn Du uns schon soziale Binsenweisheiten mit dem Holzhammer
+einpruegeln willst, nimm wenigstens einen huebscheren Hammer, ja?
+
+YTY,
+    empfiehlt die Lektuere des Werner-Schneyder-Interviews im FAZ-Magazin.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht :) (Li, 20. Jan 1997, 10:13:06):
+~#! rn=Sunflower rt=853427284 rg=kultur
+~#! tid=853427284
+netter Appell, aber gewisse Leute wollen oder koennen nicht denken.
+Li (weiss nicht, ob sie nicht wollen, oder nicht koennen)
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzgeschichte (Yantro, 24. Jan 1997, 10:29:40):
+
+Hi, wieder mal hab ich was nettes gefunden, was ich nicht verschweigen
+will....
+
+(Arcimon, wenn ich schon wieder eine christliche Mail von Dir kriegen sollte,
+dann bist Du tot!)
+
+
+WIE MAN EINEN AAL TOETET
+==========================
+
+Der 12 jaehrige Jonny war fuer sein Alter sehr neugierig. Von seinen Klassen-
+kameraden hat er mal was von einem Jungen gehoert, der einem Maedchen den
+Hof machte. Nun fragte er sich, wie man sowas anfaengt. Deshalb fragte er
+seine Mutter.
+
+Anstatt es ihm richtig zu erklaeren, schlug sie ihm vor, sich hinter dem
+Vorhang zu verstecken, da seine Schwester Nancy Besuch von ihrem Freund
+Mike erwartete. Am naechsten Morgen fragte ihn die Mutter, was er denn
+gelernt hatte. Zur Antwort bekam sie folgendes :
+
+"Nancy und Mike haben eine ganze Weile da gesessen und geplaudert. Aber
+dann hat Mike fast das ganze Licht ausgemacht, und die Beiden fingen an
+sich zu umarmen und zu kuessen. Ich glaube Nancy ist schlecht geworden,
+denn er fuhr ihr mit der Hand unter ihre Bluse, um nach ihrem Herzen zu
+fuehlen, genauso, wie es der Onkel Doktor immer macht. Er war aber nicht
+sogut wie der Onkel Doktor, denn er hatte Schwierigkeiten das Herz zu
+finden und fummelte eine ganze Weile herum.
+Ich glaube, dann ist ihm auch schlecht geworden, denn beide fingen
+ploetzlich furchtbar an zu stoehnen und zu seufzen. Da sie nicht laenger
+sitzen konnten, legten sie sich auf das Sofa. Dann bekam sie Fieber, Ich
+weiss es genau, denn sie sagte sie waere unheimlich heiss --- und dann fand
+ich heraus, warum den Beiden so schlecht war : Ein grosser Aal muss in
+Mike's Hose gekrochen sein. Er sprang heraus und stand fast senkrecht in
+die Hoehe. Er war mindestens 20 cm lang ! Ehrlich ! Jedenfalls hatte Mike
+ihn gepackt, damit er nicht fort konnte. Als Nancy den Aal sah, bekam
+sie Angst. Ihre Augen wurden ganz gross, ihr Mund stand weit offen, und
+sie rief den lieben Gott. Sie sagte, dass dies der groesste sei, den sie je
+gesehen haette. Wenn sie wuesste, dass unten im See noch viel groessere sind !
+Jedenfalls war Nancy sehr mutig, und versuchte den Aal zu toeten, indem
+sie ihm in den Kopf biss. Ploetzlich machte Nancy ein komisches Geraeusch
+und liess ihn gehen. Ich glaube, dass der Aal zurueck gebissen hatte. Dann
+schnappte Nancy ihn und hielt ihn ganz fest, waehrend Mike eine Art
+Muschel aus der Tasche holte. Diese stuelpte er dem Aal ueber den Kopf,
+damit er nicht beissen konnte. Nancy legt sich auf den Ruecken und
+spreizte die Beine. Mike legt sich auf sie. Anscheinend wollten sie den
+Aal zwischen sich zerquetschen, aber der Aal kaempfte wie ein Verrueckter,
+und Mike und Nancy aechzten und stoehnten. Sie kaempften so hart, dass
+beinahe das ganze Sofa ungefallen waere. Nach einiger Zeit lagen dann
+beide still auf dem Sofa.
+Mike stand auf, und siehe da, der Aal war tot. Ich weiss das ganz genau,
+denn er hing so lasch da, und die Innereien hingen heraus. Nancy und
+Mike waren zwar sehr muede, aber sie kuessten und umarmten sich trotzdem.
+Und dann kam der grosse Schock ! Der Aal war gar nicht tot; er lebte
+noch ! Er sprang hoch, und fing wieder an zu kaempfen. Ich glaube Aale
+sind wie Katzen - sie haben 9 Leben.
+
+Diesmal sprang Nancy auf und versuchte ihn zu toeten, indem sie sich auf
+ihn setzte. Nach einem 15 minuetigen Kampf war er endlich tot, denn Mike
+zog ihm das Fell ueber die Ohren, und spuelte es im Klo herunter."
+__________________________
+
+Also viel Spass beim Aale toeten :-)
+
+
+Yantro :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kurzgeschichte (Sunflower, 24. Jan 1997, 12:17:13):
+~#! rn=Yantro rt=854098180 rg=kultur
+~#! tid=854098180
+*grins*
+
+
+Mich taete jetzt nur interessieren was die Mutter zu Ihrem Sohne sagt :)
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kurzgeschichte (Acrimon, 24. Jan 1997, 15:54:16):
+~#! rn=Yantro rt=854098180 rg=kultur
+~#! tid=854098180
+Hab ich Dir schon jemals eine christliche Mail geschrieben, Yantro?
+
+Im Uebrigen fand ich die Geschichte ganz gelungen.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kurzgeschichte (Beelzebub, 24. Jan 1997, 16:08:36):
+~#! rn=Acrimon rt=854117656 rg=kultur
+~#! tid=854098180
+Eine christliche Mail ? Mir auch eine bitte :)
+
+Beelzebub ist nach Humor ]:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kurzgeschichte (Atoz, 24. Jan 1997, 18:51:42):
+~#! rn=Acrimon rt=854117656 rg=kultur
+~#! tid=854098180
+Hey Acrimon droh ihm doch nicht so ;)
+
+Atoz
+
+-----------------------------------------------------------------------------
+
+
+
+Goethes Faust (Sunflower, 27. Jan 1997, 11:55:25):
+Also als ich mal neulich meine alten Schulsachen durchstoeberte, stiess
+ich auf folgende Arbeit ueber den Osterspaziergang (vielleicht kapieren
+jetzt die Leute wie bloed ich bin :) )
+
+Aufgabe: Aeussern Sie sich zum Inhalt und zur Form des Osterspaziergangs.
+
+Antwort:
+
+Er ist von Goethe, und Faust macht diesen Spaziergang nach einer langen und
+harten Nacht.
+Es ist nicht real, denn es wuerde keiner freiwillig, bei einen
+Osterspaziergang oder wenn er zur Schule geht, usw., ein Gedicht aufsagen und
+dann auch noch so ein langes) Faust erfreut sich der Natur, er sieht den
+Fruehling, dass sich der Winter zurueckzieht und ueberall das Leben erwacht:
+"Aus dem hohlen, finsteren Tor Dringt ein buntes Gewimmel hervor"
+
+Goethe will mit diesem Gedicht, die Leser aufmuntern zu lernen ( wer aber
+liest schon freiwillig so ein Gedicht ?)
+
+Merke: Faust ist sehr schlau, denn er merkst, dass die Wiese gruen ist, aber
+noch keine Blumen wachsen. Goethe will erreichen, dass die Menschen wieder zur
+Kirche gehen und sich dieser anvertrauen. "Aus der Kirche ehrwuerdiger Nacht.
+Sind sie alle ans Licht gebracht."
+
+Form: Es reimt sich, ist in der Szene "vor dem Tor" hineingebracht wurden. Das
+Gedicht ist sehr, sehr lang und ist von Goethe
+
+--- Auf die Aufgabe gabs 10 Punkte und ich habe sogar 2 bekommen :)
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Goethes Faust (Wurzel, 27. Jan 1997, 18:52:35):
+~#! rn=Sunflower rt=854362525 rg=kultur
+~#! tid=854362525
+einen dafuer, dass es aus goethes faust ist, aber wofuer den anderen?
+
+-----------------------------------------------------------------------------
+
+
+
+Unvollendet (Sunflower, 28. Jan 1997, 14:16:03):
+
+Ich frage mich warum ich bin,
+was ich hier mache,
+wo liegt in meinen Leben der Sinn,
+und warum ich lache.
+
+Ich weiss es nicht,
+ich will es auch nicht wissen,
+ich bin nur ein kleiner wicht.
+und keiner wird mich je vermissen.
+
+Sollte es wirklich so einfach gehen,
+der Welt den Ruecken zuwenden,
+nie mehr zuruecksehen,
+auf einer einsamen Insel mein Leben beenden.
+
+In Ruhe das Leben geniessen,
+fern von Gewalt, fern von Krach, 
+liegend auf gruenen Wiesen,
+an einem gurgelnden Bach.
+
+Im gruenen grase traeumen,
+von einer neuen Welt,
+von besseren Menschen, von besseren Leuten,
+in der es mir gefaellt.
+
+                    Unvollendet
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+kultur oder witze? (Li, 30. Jan 1997, 11:38:50):
+Da ich nicht weiss, ob ich Gedichte von H.E. lieber hier oder in Witze
+veroeffentlichen soll, versuche ich es mal hier:
+
+Zwei Balladen
+
+I
+Es war einmal ein altes Sch1oss.
+Und Kunibert, so hiess der Boss.
+Er hatte Maegde, hatte Knechte
+und eine Frau - das war das Schlechte!
+
+Ihr Mund war breit, ihr Hals war lang,
+und es klang schrecklich, wenn sie sang.
+Da zielte er mir Korn und Kimme
+und Wut auf sie - das war das Schlimme!
+
+Es machte bumm ! - (natuerlich laurer!) -
+dann fiel sie um. - Zum Himmel schaut er
+und spricht, das Auge voll Gewaesser.
+"Vielleicht singt sie dort oben besser? "
+
+
+2
+Es war einmal ein stolzer Ritter,
+der wurde beim Turnier bloss Dritter.
+Das ging dem Armen derart nah,
+dass man ihn lebend nicht mehr sah.
+
+Er starb am siebenzehnten Maien -
+an einem warmen Tag - im Freien.
+Er wollte niemand bei sich haben,
+so musste er sichselbst begraben. -
+
+
+Li (schiebt noch ein Leerzeichen zwischen sich und selbst)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kultur oder witze? (Ancalagon, 31. Jan 1997, 11:47:37):
+~#! rn=Li rt=854620730 rg=kultur
+~#! tid=854620730
+Knuddels!
+Also, Ich finde, dass die Werke von heinz Erhardt nur in vorgetragener Form
+ihren ganzen Wert darbieten koennen!!!
+Jawoll!
+                       Ancalagon
+
+P.S.: Bin gern beriet einige dieser wereke in karlsruhe vorzutragen. *grins*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: kultur oder witze? (Grimmborn, 31. Jan 1997, 11:49:05):
+~#! rn=Ancalagon rt=854707657 rg=kultur
+~#! tid=854620730
+Nein, Du faengst bitte nicht an, hier .wav-Dateien mit vorgelesenen Gedichten
+zu posten... ;-)
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: kultur oder witze? (Ancalagon, 31. Jan 1997, 12:03:44):
+~#! rn=Grimmborn rt=854707745 rg=kultur
+~#! tid=854620730
+Knuddels!
+Hmmm, Grimmi, keine schlechte Idee.....
+Wie macht man das? :)
+Und in Karlruhe kann ja jeder der will, weghoeren...... :)
+Bis denne,
+                                     Ancalagon
+                              Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: kultur oder witze? (Fyt, 31. Jan 1997, 17:38:45):
+~#! rn=Grimmborn rt=854707745 rg=kultur
+~#! tid=854620730
+
+Hm, haette aber was ;-)
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Boehse Onkelz: E.I.N.S (Sunflower,  6. Feb 1997, 15:32:28):
+Nachdem ich mir das Album reingezogen habe (danke annihilator) muss
+ich sagen die Scheibe ist genial. Nicht das was man von den Onkelz gewoehnt
+ist in Bezug auf Heilige Lieder (musikalischer Stil) sondern genial.
+Musik pur. Die Instrumentals sind spitze und die Gitarrenriffs, 1 A fuer
+die Ohren. 
+Und die Texte wie die gegen "Hosen" und gegen die Kirche, spiegeln auch
+zur Zeit die Meinungen wieder.
+
+Mein Tip reinhoeren oder noch besser: KAUFEN
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Boehse Onkelz: E.I.N.S (Yantro,  6. Feb 1997, 15:35:26):
+~#! rn=Sunflower rt=855239548 rg=kultur
+~#! tid=855239548
+
+Sorry, wenn ich das so hart sagen muss, aber die Onkelz sind gegenueber
+frueher richtige komerzielle Weicheier geworden... Nichts geht ueber die
+Altwerke wie "Wir ham noch lange nicht genug", usw.... 
+
+Ich meine nicht die URaltwerke... Tuerkenfotze war mir vor allem musikalisch
+zu unausgefeilt :) (Look, there's ironie)
+
+Yantro
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Boehse Onkelz: E.I.N.S (Sunflower,  6. Feb 1997, 15:37:40):
+~#! rn=Yantro rt=855239726 rg=kultur
+~#! tid=855239548
+Mag sein Yantro, aber so einen Kommerziellen scheiss fuer die neuen Aerzte und
+Hosen Alben ist es noch lange nicht.
+
+Und ein Schmaus fuer die Ohren ist die neue allemal.
+
+Sunflower, kennt auch: hee du kleiner scheisser, hoer mal zu, wir sind die
+Onkelz und wer bist du.
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:25:20):
+~#! rn=Sunflower rt=855239860 rg=kultur
+~#! tid=855239548
+Die Hosen haben sich schon immer eher als kommerziell verkauft, nur sind soe
+es nicht. Wenn ich mir die Texte reinziehe, grade auf der neuen, dann haben
+die schon Sinn. Sie sind auch politisch nicht so unausgreift wie zum Beispiel
+Sascha.
+Nix gegen die Hosen.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:29:29):
+~#! rn=Schrumpfi rt=855282320 rg=kultur
+~#! tid=855239548
+hi suese (schwester) sascha ist politisch ? Hosen waren fuer mich zu zeiten
+von "Wort zum Sonntag", 1000 Gurende und Alex (achja und Bommerlunder) gut,
+aber heute sind sie scheisse
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:34:23):
+~#! rn=Sunflower rt=855282569 rg=kultur
+~#! tid=855239548
+Wieso sind sie Scheisse? Damals zu Zeiten von Rote Rosen und Unter Falsche
+Flagge waren sie typisch funpunk und so. Jetzt sind sie
+gesellschaftskritischer als je zuvor (Wobei sie das schon vorher waren) und
+die Musik hat sich auch gebessert. Aber die urwerk Orange Platte ist auch ganz
+nett.
+Schrumpfi die olle Duesseldorferin ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:38:06):
+~#! rn=Schrumpfi rt=855282863 rg=kultur
+~#! tid=855239548
+rote rosen waen aber fans von DTH :-)
+
+ich habe auch nix gegendie alten scheiben, aber die Opium fuers Volk, ich
+weiss nicht, die Texte und die Musik reissst mich nicht vom Hocker. (wenn ich
+da an Poizei SA-SS oder Deutschland muss sterben von Slime denke..achja das
+waren eziten)
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:38:13):
+~#! rn=Schrumpfi rt=855282863 rg=kultur
+~#! tid=855239548
+Achso ja, zu den Onkelz wollt ich ja auch noch was senfen: Die schauen nur was
+sich besser verkauft, frueher war halt Tuerkenfotze und Skinhead, Skinhead
+besser verkauft und jetzt die unpolitische Masche aber dabei noch
+Gesellschaftkritisch. Ich muss gestehen, ich hoer sie auch gerne und find auch
+die neue Platte gut aber wenns geht, sollte man denen kein Geld geben, denn
+das sind Oportunisten.
+Ausserdem sind sie hoch Frauenfeindlich.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:40:37):
+~#! rn=Schrumpfi rt=855283093 rg=kultur
+~#! tid=855239548
+ich bin auch frauenfeindlich :-))
+
+na und brieftauben waren auch mal extrem rechts, es haben halt nich alle ne
+weisse weste wie Aerzte und Hosen..
+
+Sunflower hat ja nicht mal ne weise weste.
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:40:53):
+~#! rn=Sunflower rt=855283086 rg=kultur
+~#! tid=855239548
+Kannst doch Slime nicht mit den Hosen vergleichen. :)
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:41:48):
+~#! rn=Schrumpfi rt=855283253 rg=kultur
+~#! tid=855239548
+ok HOsen sind gegenueber Slime totale weicheier....
+
+
+Sunflower, hasst die Leute die bei Jaegermeister anzufangen mitzussingen
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:41:54):
+~#! rn=Sunflower rt=855283237 rg=kultur
+~#! tid=855239548
+Brieftauben sind eh Scheisse und die Aerzte ne billige Kopie von den Hosen ;-)
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:43:50):
+~#! rn=Schrumpfi rt=855283314 rg=kultur
+~#! tid=855239548
+hmpf: jedenfalls haben die Aerzte uns gesagt wie Spock mit Vornamen heisst und
+leider wie Teenagerliebe und Ich weiss nicht ob es liebe ist haetten die Hosen
+nicht mitbekommen.
+
+Aber ich steh nunmal auf Hosen und Aerzte(bis vor Opium fuersd VColk/Planet
+Punk) und auf Slime undauf Onkelz, brieftauben, terrorgrupope
+
+
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:44:41):
+~#! rn=Sunflower rt=855283308 rg=kultur
+~#! tid=855239548
+*pruust*
+Ein kleiner Jaegermeister war nicht gern allein, drum lud er sich zum
+Weihnachtsfest, 10 andere Jaegermeister ein.
+9 kleine Jaegermeister wollten gerne erben, damit es was zu erben gab, musste
+einer sterben.
+8 kleine Jaegermeister fuhren gerne schnell, 7 furhn nach Duesseldorf und
+einer fuhr nach Koeln.
+....
+Hoehoe, aber warum die damit die goldene gemacht haben, versteh ich auch
+nicht.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:45:47):
+~#! rn=Schrumpfi rt=855283481 rg=kultur
+~#! tid=855239548
+Campino versteht es uebrigens auch nicht. 
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:46:14):
+~#! rn=Schrumpfi rt=855283481 rg=kultur
+~#! tid=855239548
+/kick * schrumpfi aehh xcall schrumpfi->disconnect
+
+ich kann dieses bloede und kommerzielle lied nicht mehr hoeren, wie alles von
+der Opium fuers Volk..naja die pseudo punker/inen hoeren nun mal sowas, es ist
+ja von en Hosen und Hosen gleich Punker...tstst
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Boehse Onkelz: E.I.N.S (Schrumpfi,  7. Feb 1997, 03:48:23):
+~#! rn=Sunflower rt=855283574 rg=kultur
+~#! tid=855239548
+Die Hosen sind Punker! :-)
+Klar haben die Hosen viel Pseudo-Publimum aber das sind dann halt die Leute
+die eh nur beim Bommerlunder, Jaegermeister und Und die Jahre ziehen ins Land
+(Wie heisst eigentlich das lied? :) )
+mitsingen, bzw mitgroehlen.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Onkelz: E.I.N.S (Sunflower,  7. Feb 1997, 03:50:28):
+~#! rn=Schrumpfi rt=855283703 rg=kultur
+~#! tid=855239548
+ich groehle auch bei Boimmerlunder mit und bei alles nur aus liebe (eine
+bestimme muddrin anschau die mich ignoriert, nein nicht du huepfer) bist zur
+Kauf mich gingen die Hosen noch aber dann ? und die Onkel haben eigentlich mit
+mehren alben beweiesen das sie besser als aerzte und Hosen sind, mag sein das
+Onkelz mit eins kommerzieller geworden sind , aber so wie Hosen und Aerzte
+glaub ich nicht !!!
+
+Und brieftauben sind geill :-)
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Boehse Onkelz: E.I.N.S (Lug,  7. Feb 1997, 03:50:42):
+~#! rn=Sunflower rt=855239548 rg=kultur
+~#! tid=855239548
+Moin,
+
+sehe ich ueberhaupt nicht so. Die Lyrics sind weinerlich bis zum Anschlag, und
+wo sind die tollen Riffs? Alles ziemlich billig. Tip: Nicht kaufen.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Boehse Onkelz: E.I.N.S (Li,  7. Feb 1997, 08:31:39):
+~#! rn=Sunflower rt=855239860 rg=kultur
+~#! tid=855239548
+Also ich muss immer grinsen, wenn jemand sagt: Derundder ist nicht
+kommerziell...
+Leute seht der Wahrheit ins Gesicht: Jeder, der ne Platte/CD ist kommerziell!
+Oder glaubt ihr etwa, das es Leute/Bands gibt, die eine CD NUR aufnehmen, weil
+sie etwas haben, dass sie UNBEDINGT der Menschheit mitteilen muessen?
+Wohl kaum!
+Also Die alten Onkelz, die alten hosen, U2 als sie noch keiner kannte, auch
+BAP (kennt noch jemand das grosse Schubidu?) waren und sind immer kommerziel
+gewesen.
+Li (grinst sich eins, wenn Bands und/oder Fans (besonders in der  Indie-Ecke)
+auf nichtkommerzialitaet pochen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Boehse Onkelz: E.I.N.S (Grimmborn,  7. Feb 1997, 10:48:35):
+~#! rn=Sunflower rt=855283574 rg=kultur
+~#! tid=855239548
+Fass meine Schrumpfi an und Du faengst Dir eine...
+Ausserdem sind die Hosen Punk, das kann man an der bunten Hose vom Campino
+sehen, und an der Frisur, jawohl. Ausserdem kommen sie aus Duesseldorf, da
+kommt alles Schlechte her, und Punk ist schlecht. Genauso wie Alt"bier". Nur
+Schrumpfi ist nicht schlecht, sondern suess, aber sie stammt ja auch aus
+Mettmann und wohnt jetzt ein Oesterreich, selbst das ist noch ein Aufstieg.
+Und ueberhaupt, es gibt keine suessere, echte Punkerin als Schrumpfi, auch
+wenn sie Nick Cave mag, der naemlich kein Punker ist. Dafuer ist seine Musik
+gelegentlich wirklich ein Ohrenschmaus, was man von Punk keinesfalls behaupten
+kann. Man mag Punk gut oder schlecht finden, aber "Ohrenschmaus" ist was
+voellig anderes, und ich glaube, Punkmusiker waeren ziemlich sauer, wenn Du
+ihre Musik als solchen bezeichnest.
+Ohrenschmaus ist beispielsweise Astor Piazolla, aber wer kennt den schon?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Onkelz: E.I.N.S (Yantro,  7. Feb 1997, 10:57:23):
+~#! rn=Grimmborn rt=855308915 rg=kultur
+~#! tid=855239548
+
+Hmm ich will ja nicht unken, aber ich kann mich sehr gut an ein Interview
+erinner, was Campino mal nach dem (inzwischen vorletzten) Livealbum gegeben
+hat und da sagte er deutlichst: "Wir machen keinen Punk und werden nie welchen
+machen!!! Wir machen HappyMetal...." :-)
+
+Yantro.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Boehse Onkelz: E.I.N.S (Zorro,  7. Feb 1997, 11:05:19):
+~#! rn=Sunflower rt=855239548 rg=kultur
+~#! tid=855239548
+Jau Sunflower ich hab immer gewusst, dass du keine "Rote Socke" bist :) 
+Gib es zu Du stehst natuerlich nur auf die alten Onkelz Songs ... wie
+Fussball und Gewalt ... Frankreich '84 ... Mexico ...
+
+Gruss Z*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Onkelz: E.I.N.S (Gralkor,  7. Feb 1997, 11:42:28):
+~#! rn=Schrumpfi rt=855283703 rg=kultur
+~#! tid=855239548
+Hi!
+Au die Frage von Schrumpi zurueckzukommen:) "Bis zum bitteren Ende"
+Ich finde die Jaegermeister auch doof, wer ordentliche Sauflieder hoeren will,
+sollte sich mal die Platte von Tom Angelripper reinziehen( ein guter Tag oder
+so aehnlich hiess die)
+Ich fand die Opium fuers Volk eigentlich ganz toll( besser als die Kauf mich
+auf jeden FalL!)
+Die beste Platte wahr wirklich bis zum bitteren Ende (die Live)
+Ansonsten, die Onkelz finde ich irgendwie doof!
+Sonst habt ihr Recht!!!
+
+GRUESSINGS 
+Gralkor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Boehse Nazis: E.I.N.S (Hardil,  7. Feb 1997, 11:47:51):
+
+Ich finde es sehr seltsam, wie schnell Nazis hier wieder per Persilschein
+gesellschaftsfaehig gemacht werden. Es kann sein, dass diese Gruppe
+musikalisch nettes Material hat, aber sie bietet sich den Alt- und Neunazis
+als Identifikationsmittel an, und sollte deswegen ausserhalb jeglicher
+Diskussion stehen.
+Diverse medienwirksame Beteuerungen, man wolle vom Fascho-Image weg, und
+Veranstaltungen zusammen mit Buendnisgruenen sollen doch nur erreichen, den
+Boykott, den die meisten guten Plattenlaeden durchfuehren, wieder
+wegzubekommen.
+
+Und fuer mich ist jeder, der solche Worthuelsen nachplappert oder ernsthaft
+behauptet, die Onkelz haetten nichts mehr mit Rechtsfanatismus und Faschos zu
+tun, ein _typischer Deutscher_. Tut mir leid.
+
+-Hardil.
+******************************************
+Meine Freunde sagen mir, ich soll mit ihnen gehn.
+Sie schlagen die Faschisten und ficken das System (Aeronauten)
+******************************************
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Boehse Nazis: E.I.N.S (Zorro,  7. Feb 1997, 11:54:00):
+~#! rn=Hardil rt=855312471 rg=kultur
+~#! tid=855312471
+Aber wieso interessiert dich denn die einstellung der leute ...
+Es geht doch um die Musik und da hat sich ihre Einstellung deutlich 
+geaendert ...
+
+Gruss Z*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Boehse Nazis: E.I.N.S (Sunflower,  7. Feb 1997, 12:37:24):
+~#! rn=Zorro rt=855312840 rg=kultur
+~#! tid=855312471
+Har: Onkelz waren rechts, na und, die Briefttauben waren es auch. Wenn
+ich mir von alten Onkelz Platten die Lieder anhoere, erkenne ich zwar nur
+wenig Nationalismus, aber von der Musik her die sie machten, ist doch klar das
+irgendwelche Idioten (mit so einem Sonnenrad aufn Hemd oder sonstwo) dazu
+rum"huepfen" muessen, aber ich bin der Meinung seit Heilige Lieder haben sich
+die Onkelz enorm verbessert. Und wer Ihre Lieder anhoert, kann auch ein wenig
+Deutschlandverarschung raushoeren.
+
+Grimmborn: Warum darf ich nicht die susse Schrumpfi anfassen. Ich behaupte ja
+nicht das Duesseldorf schlecht sei, ich trinke ja auch Alt, es ist immer noch
+besser als dieses Koelsch. Aber Schrumpfi wohnt ja nun in Oesterreich und
+versuesst die Umgegebung. Aber es ist ja im Punk so aufgebaut: ein kleiner
+Mitlaeufer faengt mit den Aerzten/Hosen an (gerade jetzt wo ehh die neuen nur
+im Radio laufen). Und wenn er denn haerter hoeren will kauft er sich halt ne
+SLIME Scheibe. Und dann gehoert er dazu, es ist ja in gegen das System zu
+sein. Aber Onkelz ist ein teil fuer sich, ok die Lieder sind nicht so suess
+wie Schrumpfi, aber immerhin find ich die neue EINS besser, als die Letzten
+Hosen und Aerzte Scheiben (obwohl ich ein Aerzte Fan bin) aber das ist nur
+meine suesse bescheidene Meinung. Und wir haben ja noch Meinungsfreiheit,
+solange kein hate da ist, oder haben wir sie dann auch noch ? naja gehoert ja
+nicht hierher
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Nazis: E.I.N.S (Grimmborn,  7. Feb 1997, 13:08:24):
+~#! rn=Sunflower rt=855315444 rg=kultur
+~#! tid=855312471
+Das ist ganz einfach: Weil Du meine suesse Schrumpfi nicht anfassen darfst,
+das darf ausser mir eh nur Zardoz, und auch das nur, weil sie mit ihm
+verheiratet ist. Wo kaemen wir denn da hin, wenn jeder nach eigenem Gutduenken
+meiner suessen Schrumpfi... also wirklich, das geht nicht, definitiv.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Looking for Richard (Grimmborn,  7. Feb 1997, 13:21:16):
+Hmm, ich hab gestern "Looking for Richard" gesehen (im Original). Lasst euch
+warnen und die Finger von dem Film. Al Pacino sagt gleich zu Beginn, dass
+amerikanische Schauspieler nicht Shakespeare spielen koennen, und der Rest des
+Filmes dient eigentlich nur noch dazu, dieses statement zu untermauern. Da
+gibt es sehr viel bessere, shakespearebezogene Filme.
+
+Grimmborn der Atheist hat deswegen auch noch die Stunksitzung im TV verpasst.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Looking for Richard (Wurzel,  7. Feb 1997, 18:43:36):
+~#! rn=Grimmborn rt=855318076 rg=kultur
+~#! tid=855318076
+ich werde mir ihn trotzdem anschauen... ich habe schon viele gute und 
+schlechte shakespearefilme gesehen, aber noch nicht richard III (traut sich
+da keiner dran?). und da es anscheinend in deutschen theatern immer mehr aus
+der mode kommt, klassiker zu spielen... immer nur rsc ist auf die dauer arg
+teuer :)
+
+wurzel frisst alles, was nach shakespeare riecht :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Onkelz: E.I.N.S (Har,  7. Feb 1997, 19:44:01):
+~#! rn=Grimmborn rt=855308915 rg=kultur
+~#! tid=855239548
+Grimmborn Grimmborn, das ich Dir einmal zustimme - Piazolla ist wirklich ein
+Ohrenschmaus :)
+
+Har (Punkrockend)
+
+P.S.: No Ironie!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Boehse Nazis: E.I.N.S (Acrimon,  8. Feb 1997, 18:26:38):
+~#! rn=Hardil rt=855312471 rg=kultur
+~#! tid=855312471
+Ich kenne die Onkelz nicht und kann daher weder etwas Positives noch etwas
+Negatives darueber behaupten.
+Auch ueber ihre politische Einstellung kann ich daher nichts behaupten.
+Aber mir scheint, Du bezeichnest jeden, der sich mit Rechtsfanatikern und
+Faschisten identifiziert,
+als "typischen Deutschen".
+Nunja, typisch bin ich zwar nicht, aber deutsch, und froh darum, und ich wehre
+mich zutiefst gegen die Behauptung, Deutschsein habe _irgendetwas_ mit
+Rechtsfanatikern und Faschisten gemeinsam!
+
+Acrimon, der Rote Ritter (deutsch).
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Boehse Nazis: E.I.N.S (Wurzel,  8. Feb 1997, 18:30:49):
+~#! rn=Acrimon rt=855422798 rg=kultur
+~#! tid=855312471
+hm.
+die aussage, dass du froh darum bist, deutsch zu sein, entlarvt dich.
+warum bist du froh darum? doch nur, weil du das fuer etwas besseres haeltst
+als das "nichtdeutsche"... und das ist genau, was einen nationalisten
+kennzeichnet. natuerlich gehoert noch was anderes dazu, aber das ist doch
+der kern.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Nazis: E.I.N.S (Acrimon,  8. Feb 1997, 18:56:10):
+~#! rn=Wurzel rt=855423049 rg=kultur
+~#! tid=855312471
+Nun, mir geht es hier gut, warum sollte ich also nicht froh sein?
+Wenn ich ehrlich bin, will ich nicht in Uganda oder Afghanistan oder einem
+anderen Buergerkriegsland oder hocharmem Land oder in einem Land mit solcher
+eigennuetziger Regierung, die man mancherorts sieht, geboren worden sein.
+Du kannst Dir sicher denken, dasz mir diese Leute leid tun und ich die dortige
+Situation gerne besser saehe und daher auch oefter an Hilfsorganisationen
+spendiere.
+Dasz ich in Deutschland geboren worden bin, dafuer kann ich nichts, und das
+macht mich auch nicht besser, aber gerade darum bin froh darum, denn hier geht
+es mir gut, und ich kann Beduerftigere daran teilhaben lassen, und ich kann
+versuchen, gewisse Ungerechtigkeiten und Unterschiede aus der Welt zu
+schaffen. (Was bestimmt schwierig wird, da ich kein Politiker bin, aber einen
+gewissen Teil kann ich doch dazu beitragen.)
+
+Acrimon, der Rote Ritter glaubt, dasz die Menschheit es schaffen kann, ohne
+Kriege zusammen zu leben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Nazis: E.I.N.S (Mahatmu,  8. Feb 1997, 20:41:06):
+~#! rn=Wurzel rt=855423049 rg=kultur
+~#! tid=855312471
+Neee - einfach weil da ein gewisser Nationalstolz reinspielt.
+D.h. man fuehlt sich besser als Deutscher,
+weil man meint, das es einem in anderen Staaten nicht so
+gut ginge oder man nicht diese Vergangenheit (die ist ja
+nun nicht NUR schattenbehaftet) hat etc.
+Das hat dann aber nix damit zu tun, das man 'besser' ist.
+
+Aber ich kann ja auch mal pauschalisieren, hm ? Die
+Oesterreicher, denen ich begegnet bin, waren ja auch was
+besseres als die Deutschen, denn sie waren nur arme Opfer.
+Gluecklicherweise bin ich der Meinung, dass die zwei Exemplare
+eher die Ausnahme waren.
+
+kleiner Bruder is watching you
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Onkelz: E.I.N.S (Schrumpfi,  8. Feb 1997, 22:30:08):
+~#! rn=Li rt=855300699 rg=kultur
+~#! tid=855239548
+Da fallen mir einige Bands ein, die nicht kommerziell sind. OI POLLOI zB.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Boehse Onkelz: E.I.N.S (Schrumpfi,  8. Feb 1997, 22:31:52):
+~#! rn=Yantro rt=855309443 rg=kultur
+~#! tid=855239548
+HA! Er hat Dich reingelegt! ;-)
+Schrumpfi die olle Punkrockerin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Boehse Nazis: E.I.N.S (Schrumpfi,  8. Feb 1997, 22:34:02):
+~#! rn=Hardil rt=855312471 rg=kultur
+~#! tid=855312471
+*applaudier* Sag ich doch. Alles nur ein Werbegag.
+Schrumpfi traut den Onkelz nicht ueber den Weg.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Nazis: E.I.N.S (Schrumpfi,  8. Feb 1997, 22:37:07):
+~#! rn=Sunflower rt=855315444 rg=kultur
+~#! tid=855312471
+Baeh Altbier. Huch, hab das ich gesagt? *erbleich*
+Hmm, Grimmborn, Zardoz und Yantro haben mich wohl bekehrt. ;-)
+Schrumpfi outet sich als Koelschtrinkerin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Boehse Nazis: E.I.N.S (Schrumpfi,  8. Feb 1997, 22:39:27):
+~#! rn=Acrimon rt=855422798 rg=kultur
+~#! tid=855312471
+das war ja klar, dass DU ne gute Diskussion ueber Musik wieder mal mit Deinem
+Mist versauen musst.
+Schrumpfi (earth)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Boehse Nazis: E.I.N.S (Sushi,  9. Feb 1997, 11:05:43):
+~#! rn=Schrumpfi rt=855437967 rg=kultur
+~#! tid=855312471
+Kinners, wie waere es, wenn Ihr dem Thread mal einen anderen Namen gebt? Als
+ich die Boehsen Onkelz gehoert habe, hoerte "man" die sicher nicht wegen der
+Texte und die standen im Plattenschrank neben White Noise, Skrewdriver, den 4
+Skins oder Sham69 -- und da gehoeren sie auch hin.
+Was ein Haufen nie der Pubertaet entwachsener Spinner allerdings mit einer
+Diskussion ueber Nation, Stolz und Chauvinismus zu tun haben sollen, wissen
+wohl nur Wurzel und Acrimon.
+
+Was fuer ein eigenartiger Morgen.
+
+Sushi - Ex-Scooterboy
+
+-----------------------------------------------------------------------------
+
+
+
+Piazolla (Socrate,  9. Feb 1997, 16:20:34):
+Tach zusammen!
+   Ich bin einerseits ein wenig erstaunt, dass es hier wirklich auch Leute
+gibt die Astor Piazolla hoeren; aber natuerlich auch erfreut. Aber ich denke,
+dass ueber Piazolla zu sprechen indem man seine Musik einen "Ohrenschmaus"
+nennt, ihm nicht gerecht wird. Gute Musik (wozu P. selbstredend gehoert)
+sollte gerade nicht leicht eingaengig sein, sondern Aufmerksamkeit erfordern.
+Diesen Anspruch hat Piazolla ja auch selber gehabt. Schliesslicht hat ja
+absichtlich Tango gespielt der nicht tanzbar ist, wofuer er
+er ja auch hinreichend kritisiert wurde.
+Und ich haette auch gedacht, dass Piazollas Musik eine gewisse Gelassenheit
+erzeugt, die dafuer sorgt, sich nicht gleich ueber mehr oder weniger
+Kleinigkeiten aufzuregen (oder Grimmborn?).
+Gruss
+Socrate
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Boehse Nazis: E.I.N.S (Anatol,  9. Feb 1997, 22:54:39):
+~#! rn=Mahatmu rt=855430866 rg=kultur
+~#! tid=855312471
+
+Ich schliesse mich Acrimon frech an, ich bin auch froh, ein Deutscher zu
+sein... und froh darueber, dass ich nicht ganz unter den Bruecken geboren
+wuerde. Ich kann hier studieren, geniesse gewissen Rechtsschutz, muss beim
+Arzt derzeit nichts bezahlen (... bis die Kronen drankommen) - dieses 'Glueck'
+geniesst nur eine Minderheit der Erdenbevoelkerung.
+
+Das hat mit Nationalstolz oder -bewusstsein absolut nichts zu tun.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Boehse Nazis: E.I.N.S (Schrumpfi,  9. Feb 1997, 22:56:15):
+~#! rn=Anatol rt=855525279 rg=kultur
+~#! tid=855312471
+Ich waer aber lieber ne Hollaenderin. Die geniessen mehr Sozialstaat als
+Deutschland und Oesterreich zusammen.
+Schrumpfi weder stolz noch froh eine Deutsche zu sein.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Boehse Nazis: E.I.N.S (Wurzel,  9. Feb 1997, 22:57:04):
+~#! rn=Schrumpfi rt=855525375 rg=kultur
+~#! tid=855312471
+und sie duerfen ungestraft kiffen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Boehse Nazis: E.I.N.S (Schrumpfi,  9. Feb 1997, 22:58:17):
+~#! rn=Wurzel rt=855525424 rg=kultur
+~#! tid=855312471
+Naja, das darf man in manchen Bundeslaendern der Bundesrepublik auch. Im
+Gegensatz zu Oesterreich wo man noch wegen ein paar Gramm eingeknastet wird :(
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Boehse Nazis: E.I.N.S (Oetti, 10. Feb 1997, 15:07:45):
+~#! rn=Schrumpfi rt=855525497 rg=kultur
+~#! tid=855312471
+Habt ihr jetzt alle nen Knall, es ist mir scheissegal, welcher Nationalitaet
+ich angehoere,
+Ich bin ich, und zufaellig Deutscher, na ja irgendwer hat irgendwann 
+mal ne Grenze gezogen und gesagt hier ist Deutschland, und wer hier
+geboren wird gehoert dazu, sozusagen Gruppenzwang oder 
+Sippenhaft...
+
+Aber Stolz und Froh, Glueck gehabt halt, und wenn ich dann lesen muss
+die armen armen schwarzen Neger in der dritten Welt, aber ich
+spende ja, weil denen soll es auch mal so gut gehen wie mir,
+dann kommt mir die Galle hoch...
+
+Bigott ist Bigott belibt Bigott...
+
+Ich bin stolz ein Bergheimer zu sein !!!!!!!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Boehse Nazis: E.I.N.S (Sidolin, 10. Feb 1997, 15:28:24):
+~#! rn=Oetti rt=855583665 rg=kultur
+~#! tid=855312471
+Ich bin froh ein kleines, widerliches, asoziales Arschloch zu sein. 
+
+Wenigstens wirft mir keiner vor, ich sei ein netter Kerl. ;-)
+
+Sidolin. Froh, dass er ein dach ueber dem Kopf hat und ein kaltes Pils im
+Kuehlschrank. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Boehse Nazis: E.I.N.S (Beelzebub, 10. Feb 1997, 19:31:50):
+~#! rn=Acrimon rt=855424570 rg=kultur
+~#! tid=855312471
+Ich weiss garnicht, was ihr gegen diese Meinung habt... 
+Acrimon schreibt doch, er ist FROH, in diesem (vergleichsweise) freiem Land
+leben zu duerfen
+und nicht, daeszet er STOLZ darueber ist...
+Stolz kann man naemlich nur ueber etwas sein, was man selber geleistet hat,
+und damit wuerde er sich ueber unsere auslaendischen Mitbuerger stellen. Tut
+er aber nicht...
+
+Huch, ich bin ja Acrimons Meinung ! Da muss ich aber nochmal schell mecker
+]:-)
+Wer wirklich glaubt, daeszet die Menschheit in Frieden leben kann muss extrem
+naiv (oder gottesglaeubig (oder beides)) sein.
+Die Menschen sind von Natur aus doof... 
+
+Dieser Senf wurde produziert vom Ueberoberteufel Beelzebub
+*asmodiszungerausstreck*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Boehse Nazis: E.I.N.S (Grimmborn, 10. Feb 1997, 20:50:59):
+~#! rn=Sidolin rt=855584904 rg=kultur
+~#! tid=855312471
+Ich moechte dann noch mein (ebenso schwachsinniges) Scherflein zu der
+Diskussion beitragen. Ich bekenne hiermit, dass ich STOLZ bin, ein SCHWEDE zu
+sein. Kein europaeisches Land hat eine Gegend, die auch nur ansatzweise mit
+der Schoenheit Lapplands zu vergleichen ist. Kein anderes Land hat eine
+Monarchie, die so beliebt und anerkannt ist, dass nicht einmal die
+Kommunisten, die zwar allgemein gegen die Monarchie sind, gegen die
+Koenigsfamilie sind (nagut, die Daenen, aber die haben auch keine Kommunisten.
+Keine nennenswerten jedenfalls). Kein anderes Land hat eine so schoene
+Sprache, kein anderes Land so schoene Waelder, Seen und Berge. Kein anderes
+Land hat so schoene kollektive Besaeufnisse, kein anderes Land... *schnueff*
+*Fernweh hab*...
+
+Das musste mal gesagt werden.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Nazis: E.I.N.S (Wurzel, 10. Feb 1997, 20:53:14):
+~#! rn=Grimmborn rt=855604259 rg=kultur
+~#! tid=855312471
+ich war zwar nie da, aber wenn ich mich recht erinnere, hat es in der schule
+geheissen, dass lappland irgendwo im noerdlichen finnland zu suchen ist...
+oder ist das doch schon zu lange her?
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Piazolla (Grimmborn, 10. Feb 1997, 20:54:15):
+~#! rn=Socrate rt=855501634 rg=kultur
+~#! tid=855501634
+Tststs, ich finde, "Ohrenschmaus" ist durchaus flexibel in der Bedeutung. Fuer
+mich ist auch Ligeti, Reimann, Kagel... Ohrenschmaus, zum Teil zumindest.
+Piazolla hab ich erwaehnt, weil er zu der Zeit, als ich den Artikel
+geschrieben habe, gerade im CD-player war. Also eher zufaellig.
+Ich stimme voellig zu, dass Piazollas Musik... eine gewisse Gelassenheit
+erzeugt. Du solltest mich mal ohne diese Gelassenheit erleben... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Boehse Nazis: E.I.N.S (Grimmborn, 10. Feb 1997, 20:56:38):
+~#! rn=Wurzel rt=855604394 rg=kultur
+~#! tid=855312471
+Scheinbar. Lappland erstreckt sich ueber Finnland, Norwegen und Schweden
+(noerdliche Teile). Es gibt eine schwedische Provinz(? ich weiss nicht, wie
+man das auf deutsch bezeichnet), die Lappland heisst. Lappen (d.h. die Samen)
+kommen auch ausserhalb Lapplands vor, in Schweden suedlich bis etwa
+Haerjedalen. Aber Experte bin ich da auch nicht, die Landschaft ist jedenfalls
+einmalig.
+
+Grimmborn der Schwede
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Onkelz: E.I.N.S (Qitess, 11. Feb 1997, 10:48:16):
+~#! rn=Schrumpfi rt=855283703 rg=kultur
+~#! tid=855239548
+Ich haette mal 'ne Frage :
+
+Hat von Euch schonmal jemand das Wort MUSIK gehoert ? 
+
+Und dann noch eine :
+
+Wer von Euch kennt Ella Fitzgerald ?
+
+QI** - schluchzend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Boehse Onkelz: E.I.N.S (Li, 11. Feb 1997, 11:00:14):
+~#! rn=Schrumpfi rt=855437408 rg=kultur
+~#! tid=855239548
+suesse S.!
+du hast meine These nicht verstanden...
+Jeder, der Musik fuer andere macht, ist kommerziell...
+Li (Kann daher sowohl Oasis als auch Tasmin Archer geniessen)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Boehse Onkelz: E.I.N.S (Har, 11. Feb 1997, 13:00:35):
+~#! rn=Li rt=855655214 rg=kultur
+~#! tid=855239548
+Hmm, ich mach manchmal acuh
+Hmm, ich mache manchmal auch Musik fuer andere, wenn ich dann einen ganzen Tag
+unterwegs binn, die ganzen Ploerren uas unserem Proberaum im dritten Stock hin
+und her geschleppt habe und dann auf die Gage schaue, weiss ich, wie wenig
+kommerziell das ist!
+
+Har (weinerlich)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Boehse Onkelz: E.I.N.S (Har, 11. Feb 1997, 13:01:09):
+~#! rn=Har rt=855662435 rg=kultur
+~#! tid=855239548
+argl - Fick-Terminal hier!
+
+-----------------------------------------------------------------------------
+
+
+
+Lalala ! (Oetti, 11. Feb 1997, 16:36:05):
+Loblied Auf Die Zweisamkeit :
+
+                               Und das ist die Einsamkeit
+                                  Die mich geboren hat
+                                Versucht ihr zu entkommen
+                             Hab ich meine Hoffnung verloren
+                          Ich schrie nach Liebe mich zu wrmen
+                         Verlor ich meine Stimme und blieb stumm
+                                   Ruhelos verurteilt
+                                Trumte ich die Wahrheit
+                                 Ergriff ich die Flucht
+                                    Und fiel zu Boden
+
+                                  Ich spre kein Glck
+                                  Ich spre kein Glck
+                                Kein Leben wchst in mir
+                                  Ich spre kein Glck
+                                      Ich bin mde
+                                      Ich bin mde
+                                      Ich bin mde
+
+                               Verstrickt im Netz der Angs
+                              Habe ich mich selbst erkannt
+                                  Unfhig zu existieren
+                       Bin ich nicht bereit mich selbst zu tragen
+                         Lieg ich im Dreck der Gleichgltigkeit
+                           Und lebe den Tod der Vergessenheit
+                         Bin ich nur eine Kreatur der Langweile
+                    Nur ein schlechter Witz in einem leeren Wartesaal
+
+                               Ich trumte einst vom Leben
+                               Und trumte einst von Liebe
+                             Doch aus dem Leben wurde Flucht
+                            Und aus Liebe wuchs die Angst...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Boehse Nazis: E.I.N.S (Lug, 11. Feb 1997, 20:28:56):
+~#! rn=Grimmborn rt=855604259 rg=kultur
+~#! tid=855312471
+Moin,
+
+also Grimmborn: Unfug!
+Oldenburg ist viel besser!
+
+Bis denn
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lalala ! (Fyt, 12. Feb 1997, 00:23:02):
+~#! rn=Oetti rt=855675365 rg=kultur
+~#! tid=855675365
+
+Hm, und die Frage heisst: 'wieviele Umlaute fehlen?' oder wie oder was?
+
+Fyt. *seufz*
+
+-----------------------------------------------------------------------------
+
+
+
+Wieder mal ne Storie (Yantro, 12. Feb 1997, 10:59:25):
+
+
+Wieder mal so ein Stueck aus dem Netz... :) Viel Spass beim Lesen.
+
+Betreff    : Die Geschichte des Sex
+AutorIn    :
+----------------------------------------------------------------------
+
+ VORWORT
+
+ Nie  hat Sex eine so grosse Rolle gespielt wie heute, nie zuvor haben
+ sich  die  Menschen  so  sehr damit befasst.  Aber so schoen Sex sein
+ kann  -  er  kann auch eine ganze Menge Probleme verursachen!  Es ist
+ daher wichtig, durch Erziehung und Aufklaerung solche Schwierigkeiten
+ zu  verhindern.   Wie?   Indem moeglichst viel ueber Sex geschrieben,
+ gelesen und geredet wird.  Denn je mehr Menschen ueber Sex schreiben,
+ lesen  oder  reden,  desto  weniger  Zeit  haben sie, sich mit Sex zu
+ befassen.  Und dann haben sie auch keine Probleme!
+ Wo  nahm  der        Sex seinen Anfang?  Was sind seine Geheimnisse?
+ Wie hat er sich entwickelt?   Welche  Auswirkungen  hat  er  auf  die
+ Gesellschaft  von  heute?   -  Keine  Ahnung!   Jetzt  wird  sich der
+ geneigte Leser natuerlich Fragen, wozu wurde dieser Artikel verfasst?
+ Ganz einfach:  Damit ihr ihn lest - und somit wenigstens zehn Minuten
+ lang keine Probleme habt! -
+
+
+ >>>   DIE GESCHICHTE DES SEX   <<<
+
+
+ 1. KAPITEL - WIE ALLES BEGANN
+
+ Am  Anfang  schuf  der  Liebe  Gott Himmel und Erde, das Land und das
+ Wasser,  und  die  Tiere.  Und dann schuf ER den Menschen nach seinem
+ Ebenbild und nannte ihn Adam.
+ Froehlich  hopste  Adam  durch den Garten Eden.  Tagelang.  Bis ihm
+ langweilig  wurde.   "Lieber Gott", sagte er, "gibt es nichts anderes
+ zu  tun  als  Froesche zu fangen und an Grashalmen zu kauen?  Gibt es
+ keine Abwechslung?
+ "Hm", meinte der Liebe Gott.  "Abwechslung?"
+ Und  dann  entnahm  er  Adam  eine  Rippe  und  formte  daraus eine
+ Gefaehrtin.  "Weisst du, was das ist?" fragte der Liebe Gott.
+ "Lass    mich  raten", sagte Adam.  "Ah, ich weiss!  Etwas zum Essen!
+ Das erste Rippenstueck der Welt!"
+ Da  gab  ihm  der  Liebe  Gott  einen Stoss in die Seite und sagte:
+ "Nein,  du  Schnoesel,  das  ist  ein Maedchen!  Ich nenne sie Sarah.
+ Adam und Sarah - klingt das nicht gut?"
+ "Ein bisschen zu juedisch", sagte Adam.
+ "Na  und?"  meinte  der Liebe Gott.  "Ich habe die Araber doch noch
+ gar nicht erschaffen!"
+ Da ER aber nicht so sein wollte, taufte der Liebe Gott Sarah um und
+ nannte sie fortan Eva.
+ "So",        sagte ER dann, "jetzt lasse ich euch beide allein.  Tut euch
+ keinen Zwang an.  Macht, was die Natur euch befiehlt!"
+ Am naechsten Morgen fragte ER Adam:  "Na, was habt ihr gestern gemacht?"
+ "Dumme  Frage",  sagte Adam.  "Was sollen wir schon gemacht haben -
+ ein Mann und eine Frau, die nackt durch den Wald liefen?"
+ "Ihr habt ...", sagte der Liebe Gott.
+ "Richtig", sagte Adam, "Wir haben Froesche gejagt und an Grashalmen
+ gekaut.  Und zwar gemeinsam!"
+ Wieder  gab der Liebe Gott Adam einen Stoss in die Seite.  Und dann
+ klaerte  ER  ihn  auf.  Ueber das Wunder des Lebens, ueber die Bienen
+ und die Schmetterlinge ...
+ Und  am  naechsten  Morgen  fragte  ER abermals, wie die vergangene
+ Nacht verlaufen sei.
+ "Oh, es war herrlich" sagte Adam.
+ Der Liebe Gott laechelte.  "Erzaehl mir alles!"
+ "Die Nacht war mild", berichtete Adam, "der Mond schien, wir sassen
+ im Gras, und dann ..."
+ "Na, komm schon, rede", sagte der Liebe Gott ungeduldig.
+ "Dann jagten wir Bienen und kauten an Schmetterlingen!" sagte Adam stolz.
+ "Jetzt  hoer  mal  gut  zu", sagte der Liebe Gott leicht irritiert,
+ "der  Mensch  braucht Erfuellung.  Er braucht ein Verlangen, womit er
+ jede  Minute seines Bewusstseins ausfuellen kann, er braucht Spannung
+ und  Abwechslung.   Mit  anderern  Worten:  er braucht etwas, was das
+ Leben lebenswert macht!"
+ "Hast  du  gehoert,  Eva!" rief Adam erfreut.   "Der Liebe Gott will
+ das Fernsehen erschaffen!"
+ Aber  statt  dessen  erschuf  der  Liebe  Gott  den  Sex, der ueber
+ tausende Jahre hinweg die Menschheit abends im Banne hielt.
+ (Bis 1948, als der Liebe Gott dann doch das Fernsehen erschuf.) -
+
+
+ 2. KAPITEL - SEX IN DER STEINZEIT
+
+ (Siehe "Die Sextechnik der deutschen Hausfrau")
+
+
+ 3. KAPITEL - SEX IM HEILIGEN LAND
+
+ Spater,  unter den Nachkommen von Adam und Eva, erfreute sich der Sex
+ groesster  Beliebtheit.  Die Leute hatten viel Spass dran, eine Menge
+ Babys  wurden  geboren, die Menschheit wuchs und vermehrte sich.  Sex
+ war  eine  Sache  fuer  jedermann  - fuer arm und reich, fuer alt und
+ jung,  fuer gross und klein.  Sex war einfach zu lernen, machte immer
+ wieder  Freude  und  bot  vielfaeltige  Moeglichkeiten.   Mit anderen
+ Worten:  Die Menschheit war gluecklich.
+ Bis  eines  Tages  ein Typ namens Moses vom Berg herunterkletterte,
+ zwei  Steinplatten  mitbrachte  -  und  allen  gruendlich  den  Spass
+ verdarb.
+
+
+ 4. KAPITEL - SEX IM ALTEN ROM
+
+ Waehrend  Sex  im heiligen Land einen boesen Rueckschlag erlebte, war
+ im  Alten  Rom  das  Gegenteil der Fall.  Nicht nur fand der Sex eine
+ Bluetezeit,  er  wurde  auch  um  viele  neue  Ideen bereichert.  Die
+ bekannteste  davon  war  der sogenannte "Gruppensex", der sich bis in
+ die  heutigen  Jahre  erhalten  hat (siehe auch:  "Spiel und Spass im
+ 20.Jahrhundert").
+ Ausserdem wurde im Alten Rom erstmals eine erfolgreiche Methode der
+ Geburtenkontrolle  angewandt.  Man nannte sie "Zirkusspiele", und sie
+ verringerte    vor   allem   die   Bevoelkerungszahl   der   Christen
+ betraechtlich.   Die  Methode  war  todsicher,  allgemein beliebt und
+ hatte nur eine einzige Nebenwirkung:  Fette Loewen.
+
+
+ 5. KAPITEL - SEX IM MITTELALTER
+
+ Im  Mittelalter war nicht sonderlich viel los, was Sex betrifft.  Die
+ Parole  lautete:   Einmal im Monat, moeglichst im Dunkeln.  Daher der
+ Name:  "Das finstere Mittelalter".
+ Vorbei  waren    die wilden, ausschweifenden Zeiten der Alten Roemer.
+ An ihre Stelle waren die Alten Ritter getreten, edle Helden, die ihre
+ Herzdamen  mit  Hoeflichkeit, Respekt und Zurueckhaltung behandelten.
+ Das   nannte   man   "Ritterlichkeit".    Manche   nannten   es  auch
+ "Interesselosigkeit".
+ Sex  war im Mittelalter ebenso poetisch wie kompliziert und verlief
+ ganz  anders,  als  wir es heute gewohnt sind.  In der Hochzeitsnacht
+ nahm der Ritter seine Dame an die Hand, fluesterte ihr Minneworte ins
+ Ohr,  kuesste ihren Schuh - und stuerzte dann in Aufwallung hoechster
+ Leidenschaft hinaus, um einen Drachen zu toeten.
+ Das  durften  natuerlich  nur    die  Verheirateten Ritter.  Verlobte
+ Ritter  mussten  sich  sehr  zurueckhalten, da Sex vor der Ehe damals
+ streng  verboten  war,  und durften den Drachen hoechstens verwunden.
+ Noch strenger waren die Braeuche fuer die jungen Teenager-Ritter, die
+ hoechstens  mal einen Drachen aus der Ferne beschimpfen durften, wenn
+ sie Lust auf Sex verspuerten.
+ Freilich  gab    es  auch  damals  schon  Ritter,  die das Toeten von
+ Drachen  gar  nicht  als  sexy empfanden, sondern als unsportlich und
+ grausam.   Sie fanden bald einen Ausweg:  Die sogenannten Kreuzzuege,
+ wo sie statt der immer seltener werdenden Drachen lieber Tausende von
+ Heiden toeten konnten.
+
+
+ 6. KAPITEL - SEX IN DER NEUEN WELT
+
+ Im 17.Jahrhundert bestiegen etliche Pilger, die in ihrer Heimat wegen
+ ihrer  religioesen  Ueberzeugung  verfolgt  wurden, ein Schiff namens
+ "Mayflower",  und  segelten  in  die  neue  Welt,  auf der Suche nach
+ Freiheit.   Da  es  eine  rauhe Ueberfahrt war, wurde der Sex an Bord
+ fuer  die Pilger zu einem schlimmen Erlebnis.  Ihnen wurde uebel, sie
+ uebergaben  sich  und  waren  wochenlang krank.  Aber das stoerte sie
+ nicht  weiter,  da Sex an Land fuer sie genau dieselben Folgen gehabt
+ hatte.
+ Einmal  in  der  neuen  Welt  angekommen,  waren  die     Pilger sehr
+ gluecklich.   Sie  konnten  jetzt glauben, was sie wollten und wurden
+ nicht  mehr  wegen  ihrer  religioesen  Ueberzeugung verfolgt.  Statt
+ dessen  hatten  sie endlich selber Gelegenheit, andere Menschen wegen
+ ihrer  religioesen  Ueberzeugung  zu  verfolgen.  Es gab Hexenjagden,
+ Teufelsaustreibungen  und  Geheimbuende  -  mit  anderen Worten:  Sie
+ gruendetetn die Demokratie.
+ Was  den  Sex    betrifft,  so hatten die Pilger davon eine aehnliche
+ Auffasung  wie  die Ritter - nur mit dem Unterschied, dass die Pilger
+ keine  Drachen toeteten, sondern Indianer.  Im uebrigen richtete sich
+ ihr  Sexualleben  streng  nach den Geboten der Bibel.  Das Haus eines
+ Nachbarn  mit  dessen Frau zu entehren war undenkbar.  Dazu gab es ja
+ schliesslich die Scheune.
+
+
+ 7. KAPITEL - SEX IM ROKOKO
+
+ Im  Rokoko  fand  der  Sex seine groesste Bluete.  Die Menschen waren
+ lebensfroh  und verspielt, neue Formen des Sex wurden entwickelt, wie
+ zum Beispiel das "Schaeferspiel" (siehe "Sex in Wald und Wiese"), und
+ die  Kaiser  und Koenige gingen mit gutem Beispiel voran.  Den Rekord
+ stellte  Kaiserin Maria Theresia auf, die 16 Kinder hatte.  Mit Recht
+ nannte   man   sie   die   "Landesmutter".    Es   ist   jedoch   ein
+ weitverbreiteter  Irrtum, ihren Gemahl Kaiser Franz als "Landesvater"
+ zu  bezeichnen.   Dieser  Titel gebuehrt vielmehr einem italienischen
+ Gastarbeiter namens G.G.Casanova.
+
+
+
+ 8. KAPITEL - SEX IN DER VIKTORIANISCHEN ZEIT
+
+ In der viktorianischen Zeit gab es keinen Sex.
+
+
+
+ 9. KAPITEL - SEX HEUTE
+
+ Adam, der inzwischen in den Himmel gekommen war, stand am Fenster und
+ beobachtete die Erde.  "Oh du lieber Gott!" sagte er.
+ "Ja?", sagte der Liebe Gott, "hast du mich gerufen?"
+ "Nein",  erwiderte Adam, "ich habe nur geseufzt.  Siehst du, was da
+ unten vor sich geht?  Oh du lieber Gott."
+ Der Liebe Gott sah hinab und seufzte ebenfalls.  "Oh ich!"
+ "Schau  mal,  was die da treiben!" fuhr Adam fort.  "Die luesternen
+ Maenner!   Und  die  verworfenen  Frauen, die ihren Koerper zu Markte
+ tragen!  - Wie heissen sie doch gleich ...  ?"
+ "Gruene Witwen", sagte der Liebe Gott.
+ "Und diese Buecher und Filme ..."
+ "Ich  weiss,  ich weiss", nickte der Liebe Gott traurig.  "Oh Adam,
+ ich  hatte  mir  das  alles ganz anders vorgestellt.  Ich glaube, ich
+ muss denen da unten wieder mal eine Lehre erteilen!"
+ "Das glaube ich auch", meinte Adam.  "Vielleicht so eine wie damals
+ in  Aegypten!  Da hast du in jedem Heim den erstgeborenen Sohn zu dir
+ genommen!"
+ "Nein,  das  waere  keine  Strafe",  sagte  der  Liebe  Gott.     "Im
+ Gegenteil  - die meisten Familien wuerden sich freuen, wenn ich ihnen
+ ihre missratenen Baelger wegnehmen wuerde."
+ "Dann     schicke  eine  deiner  beruehmten  Plagen  ueber sie herab",
+ schlug Adam vor.  "In Aegypten haben sie Wunder gewirkt!"
+ "Habe    ich  schon  versucht.      Letzten  Mittwoch  habe  ich einen
+ Heuschreckenschwarm   losgejagt.   Und  was  ist  passiert?  Die armen
+ Tiere sind an der giftigen Industrieluft eingegangen!"
+ Da  stiess  Adam  dem    Lieben   Gott  in die Seite.  "He, ich hab's!
+ Mach's   doch   wie   damals   mit   der  Arche  Noah!   Trommle  die
+ anstaendigsten  und  besten  Menschen zusammen und verfrachte sie auf
+ ein  Schiff.   Und dann lass es vierzig Tage regnen und ertraenke den
+ Rest der Menschheit ..."
+ "Hm",     gruebelte der Liebe Gott, doch dann schuettelte er den Kopf.
+ "Nein,  das  funktioniert  nicht.  So viele Menschen dicht aneinander
+ gedraengt  auf einem Schiff - und das vierzig Tage lang!  Denk an die
+ Kreuzfahrten im Mittelmeer.  Der Liebe Gott allein weiss, was sich da
+ alles tut.  Und ich weiss!  Also hat es keinen Sinn.
+ "Dann bleibt uns wohl nichts anderes uebrig als zu beten", sagte Adam.
+ "Du hast leicht reden", sagte der Liebe Gott ...
+
+
+ 10. KAPITEL - SEX HEUTE ABEND
+
+ Nein. Bitte heute abend nicht. Ich habe solche Kopfschmerzen ...
+
+(Ende)
+
+_______________________
+
+Yantro :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Boehse Nazis: E.I.N.S (Sunflower, 13. Feb 1997, 09:09:21):
+~#! rn=Lug rt=855689336 rg=kultur
+~#! tid=855312471
+Liebe Leute, Freunde, Landsleute, FeindInnen und die die es werden wollen.
+
+Ich habe den ganzen Quatsch gelesen den Ihr hier verbochen habt und moechte
+hier nun meine Meinung kundtun:
+
+Einfach so ueber die Onkelz zu urteilen ohne sich das Album anzuhoeren
+find ich laecherlich. Nur weil irgendwer irgendwann gesagt hat: Die Onkelz
+sind rechts. Das sind Faschos..... Mag sein das sie es frueher waren.
+Aber Leute hoert euch doch erstmal was von den Onkelz an und urteilt spaeter
+(schrumpfi und noch einige andere, ich weiss das ihr das album euch mal
+reingezogen habt, aber ihr seid ja nur ein paar wenige)
+
+Zu eurem Nationalstolz:
+
+Seit wann haben den die Deutschen einen Nationalstolz ? Deutschland gibt es
+seit ca 1880. Davor waren es doch nur kleine Fuerstentuemer und jeder
+war stolz ein Buerger seines Fuerstentums zu sein. Und auch nach 1880 war
+es doch nicht besser. Und dann kam ein Herr Schinkelgruber und sagte
+ich bin euer Fuehrer nun wird alles besser. Wir hatten ein Deutsches Reich.
+Na toll. Und was war im Deutschen Reich ? Nur weil einige nen anderen Glauben
+hatten oder nicht aus Deutschland kamen, wurden sie gejagt, gefoltert
+und vergast. Und das nennt Ihr Nationalstolz ? *paaahhh* das ich nicht lache.
+Der einzige Grund auf dieses Land stolz zu sein, ist tot: Ludwig Erhardt, das
+war der einzige (vielleicht neben Adenauer) der was fuer das Deutsche Volh
+aehh Volk getan hat. Und ich bin nicht stolz ein Deutscher zu sein,
+durch das was bis 1945 hier andauerter und das was unser hochgeschaetzter Herr
+Kohl und seine Mannen heute machen.
+Das ist meine bescheidene Meinung. nicht mehr und auch nicht weniger
+
+Sunflower, sieht auf die Uhr und denkt . o O (16 Tage)
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Boehse Nazis: E.I.N.S (Grimmborn, 13. Feb 1997, 15:01:18):
+~#! rn=Sunflower rt=855821361 rg=kultur
+~#! tid=855312471
+Es gibt Deutschland, ein deutsches Nationalgefuehl, erst seit 1880? Mein
+lieber Junge, da hast Du aber in Geschichte ganz gewaltig nicht aufgepasst.
+Natuerlich gab es die sprichwoertliche deutsche Kleinstaaterei, aber dennoch
+haben sich die Leute primaer (halt gegen Auslaender) als Deutsche gesehen.
+Klar, einem Duesseldorfer gegenueber sage ich, ich bin Koelner, einem Ami
+dagegen, ich bin Deutscher. Deutschland hatte seine groesste Ausdehnung um
+1245(!), bis runter nach Sizilien. Die Bewegung des Vormaerz, die in die
+Revolution 1848 muendete, war eine massiv nationalistische Bewegung. Und, und,
+und. Weiteres siehe Geschichtsbuecher, ich bin da nun wirklich keine
+Koryphaee.
+
+Grimmborn der Atheist ist sowieso Schwede...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Boehse Nazis: E.I.N.S (Fyt, 13. Feb 1997, 18:19:10):
+~#! rn=Grimmborn rt=855842478 rg=kultur
+~#! tid=855312471
+
+Hm, kleine Berichtigung, Deutschlands groesste Ausdehnung faellt m.E.
+sehr wohl in die Zeit nach 1880 *hust*
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: Boehse Nazis: E.I.N.S (Grimmborn, 13. Feb 1997, 18:43:56):
+~#! rn=Fyt rt=855854350 rg=kultur
+~#! tid=855312471
+Wovon auch immer Du redest, aber die Ausdehnung von 1942 war wohl kleiner als
+die von 1245 (und da war das Reichsgebiet, nicht lediglich besetzt). Aber wie
+auch immer: Sizilien ist doch eine viel lohnendere Gegend als der russische
+Schlamm, oder? ;-)
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: Boehse Nazis: E.I.N.S (Fyt, 13. Feb 1997, 19:24:33):
+~#! rn=Grimmborn rt=855855836 rg=kultur
+~#! tid=855312471
+
+Wovon auch immer ich rede: ein vorsichtiger Blick in meinen Atlas suggeriert
+mir, das die besetzten Gebiete groesser als das Heilige Roemische Reich
+deutscher Nation waren, und zwar um einiges... egal, nicht dass ich dem
+Verdacht ausgesetzt werde, dass mir an den Grenzen von 42 was laege...
+
+Fyt.
+
+PS: Es gibt uebrigens auch in Russland *wunderschoene* Gegenden.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: Boehse Nazis: E.I.N.S (Grimmborn, 13. Feb 1997, 20:09:48):
+~#! rn=Fyt rt=855858273 rg=kultur
+~#! tid=855312471
+Ich werd den Teufel tun mich ueber Geographie zu streiten, ich habe Erdkunde
+nach der 10 abgewaehlt... Mir hat jemand das mit 1245 erzaehlt und ich habs
+nachgeplappert, ich weiss ja nichtmal wirklich, ob Sizilien auch dazu
+gehoerte. Wenn ich Grossmachtphantasien haben will denke ich an Schweden, zu
+der Zeit, als die Ostsee ein schwedisches Binnenmeer war. ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^19: Boehse Nazis: E.I.N.S (Wurzel, 14. Feb 1997, 21:18:16):
+~#! rn=Grimmborn rt=855860988 rg=kultur
+~#! tid=855312471
+das war die zeit, als schwedische soeldner brandschatzend, pluendernd und
+vergewaltigend durch die lande gezogen sind und dabei neue foltermethoden
+ausprobiert haben (z.b. den beruechtigten "schwedentrunk"). nicht unbedingt
+etwas, worauf man stolz sein muesste...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: Boehse Nazis: E.I.N.S (Lug, 15. Feb 1997, 01:01:52):
+~#! rn=Wurzel rt=855951496 rg=kultur
+~#! tid=855312471
+Moin,
+
+naja. So fand das braune Gold des Emslandes erstmalig Anwendung. Und damit
+foltern und vergiften die bis heute.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: Boehse Nazis: E.I.N.S (Grimmborn, 17. Feb 1997, 16:28:01):
+~#! rn=Wurzel rt=855951496 rg=kultur
+~#! tid=855312471
+Och, das kann man doch so nicht sehen... Das war halt der Zeitgeist, und die
+schwedischen Soldarten haben ja nur Befehle befolgt und ihre Pflicht getan,
+nicht wahr? Und die anderen Leute jener Zeit waren auch nicht viel besser, nur
+unkreativer, aber sie haben dann ja von den Schweden gelernt...
+
+Aber in einem solltest Du mir zustimmen: Darauf "muesste" man ebenso stolz
+sein wie man auf den Rest stolz sein "muesste", der in dieser Rubrik zum
+stolzsein angeboten wurde.
+
+Grimmborn der stolze Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: Boehse Nazis: E.I.N.S (Wurzel, 17. Feb 1997, 18:20:32):
+~#! rn=Grimmborn rt=856193281 rg=kultur
+~#! tid=855312471
+ok, grimmborn, dem kann ich zustimmen, mit den implikationen :)
+stolz bin ich auf das, was ich selbst geleistet habe. nicht mein vater oder
+meine mutter, auch nicht eine ganze menge von leuten, von denen ich die
+meisten sowieso nicht kenne (das sogenannte volk).
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+23:20 h (Qitess, 19. Feb 1997, 11:53:47):
+  23:20 h
+
+
+       Die Nacht
+       
+       ... Nacht ...
+       
+       dunkle Zeit
+       
+       umschlingst
+       verschlingst
+       behuetest
+       wachst
+       
+       sternklar
+       wolkenverhangen
+       neblig
+       
+       weisser Laternenpunkt
+       
+       Mondsichel
+       
+       kugelmondbeschienene Szenarien
+       
+       lauschst
+       rauschst
+       stoehnst
+       und verhoehnst
+       spuckst Tiere aus
+       und Menschen
+       ... verschlingst sie wieder
+       
+       Auto faehrt vorueber
+       Menschen lacht vorbei
+       
+       wo ?
+       
+       oben ?
+       unten ?
+       
+       Himmel
+       Wasser
+       Nacht
+       Regen
+       
+       Nachtregen
+       
+       Nebeltropfen
+       
+       - ich habe kalte Fuesse -
+       
+       kurzer Blick
+       Augenblick
+       
+       Ferne ?
+       Naehe ?
+       
+       Nacht
+       Die Nacht
+       dunkle Zeit
+       
+       mondbeschienen
+       Sternenstunden
+       Einsamkeit
+       
+       
+       
+                                      QI**
+                                      
+                                           Mai '95       
+                       
+                
+
+-----------------------------------------------------------------------------
+
+
+
+Hyperion (Jimdigriz, 19. Feb 1997, 20:11:17):
+Hallo,
+
+hier mal ein Buchtip von mir:
+ Hyperion & Das Ende von Hyperion
+ von Dan Simmons, Heyne-Verlach
+
+Ein Cyberpunk-Roman, eine Weltraumschlachten-Story, eine Heldengeschichte, ein
+Horror-Buch,
+eine Hommage an den Dichter John Keats, und und und
+
+und vor allem trotzdem genial, nicht wirr, spannend, faszinierend,
+voll origineller Ideen, technisch und logisch nicht unglaubwuerdig
+(sagen wir fast)
+
+Der erste Teil ist noch relativ harmlos, und deutet auf einen
+Abschluss am Ende des Buches hin, doch dann wird kaum
+eine Frage geloest und im zweiten Teil kommt alles
+ganz ganz anders. 
+
+Viel Spass,
+ Jim DiGriz
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hyperion (Highlander, 20. Feb 1997, 11:19:15):
+~#! rn=Jimdigriz rt=856379477 rg=kultur
+~#! tid=856379477
+Hm. Meinungssache :>
+Vielleicht war ich ja nur nicht in der richtigen Stimmung, als ich es
+gelesen hab, aber ich fand's relativ langweilig und verwirrend.
+Allerdings hab ich Lord Fouls Fluch damals auch bei der Haelfte abge-
+brochen, weil's mir langweilig erschien - und den Rest dann am
+Stueck verschlungen :>
+Nein, Hyperion und den Nachfolger hab ich beide
+ganz gelesen.  Aber: Nicht zuviel auf meine Meinung geben - selber mal
+reinschauen :>
+  HrT, der grade {Daughter,Servant,Mistress} of the Empire durchhat :>
+
+-----------------------------------------------------------------------------
+
+
+
+mal wieder ein Buchtip von mir (Alboin, 21. Feb 1997, 15:27:24):
+Wer mich kennt, weiss eigentlich, dass ich mich nicht gerne an Dingen
+orientiere, die kommerziell ausgeschlachtet werden. Trotzdem kann ich das Buch
+'Fraeulein Smillas Gespuer fuer den Schnee', dessen Verfilmung gerade in den
+Kinos laeuft, aber bestimmt niemals so gut wie das Buch ist, waermstens
+empfehlen.
+Im Buch geht es kurz gesagt um die Aufklaerung eines Mordfalles, dessen Spur
+uns bis nach Groenland fuehrt. Waehrend die Geschichte von Anfang bis Ende
+spannend bleibt, ist das buch nicht auch zuletzt wegen des brillianten
+Erzaehlstills Peter Hoegs interessant. So geht es in diesem Buch auch um
+unkonventionelle Lebenseinstellungen, Liebe und ist ausserdem mit
+wissenschaftlich-philosphischen Intermezzos gewuerzt. Also am besten ihr
+schaut selbst mal rein, ich kam jedenfalls von dem Buch schlecht los und hatte
+es in zwei tagen ausgelesen.
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hyperion (Yendi, 24. Feb 1997, 13:06:49):
+~#! rn=Jimdigriz rt=856379477 rg=kultur
+~#! tid=856379477
+
+"Hyperion" und "The Fall of Hyperion" sind brilliant. Eine phantastische
+Geschichte (oder im ersten Teil eher eine Sammlung von Schicksalen), die
+ueberzeugend, mitreissend und wortgewaltig erzaehlt wird.
+Hach, allein die Stelle, wo ein Offizier in der Ausbildung die Schlacht bei
+Agincourt miterlebt, bei der ein paar hundert vollgepanzerte Franzosen auf die
+britischen Bogenschuetzen zugallopierten und zerrieben wurden:
+"Horses went down and screamed, riders were thrown and screamed, and Khassad 
+ was out and screamed, swinging his mallet like a madman", oder so aehnlich;
+ich hab das Buch gerade nicht zur Hand.
+
+Simmons kann sowohl wunderbar trocken und lakonisch sein, als auch sprachlich
+aus dem Vollen schoepfen: Einer meiner Lieblingsautoren, und diese beiden
+Buecher wuerden sicher einen Platz in meiner "Buecher fuer die Insel"-Kiste
+erhalten.  Zumindest sollte man sie mal gelesen haben.
+
+Hat irgendjemand Hyperion auf deutsch _und_ englisch gelesen, und kann ein
+Urteil ueber die Uebersetzung abgeben?
+
+
+Yendi,
+       faehrt jetzt nach Haus und schmoekert ein wenig.
+
+-----------------------------------------------------------------------------
+
+
+
+bore (Jasper,  6. Mar 1997, 03:14:39):
+finger grim
+Grim Reaper the Dwarf Texas Ranger
+Level: 86  Age: 147d 11h 11m 40s
+He leads the dwarf race.
+He leads the ranger guild.
+Last on: Wed Mar  5 17:08:56 1997 ( 11h 4m 11s ago)
+Arena score: 1573
+Best kill: A Red Dragon - 369905 xp (solo)
+           4th circle samurai Tokata rest here - 2280879 xp (party)
+Plan:
+
+        ULTRA VIOLENT
+
+        I'll smash your fucking face,
+        It's such a fuckin' disgrace.
+
+        I'll kick it fuckin' in,
+        It's such a fuckin' sin.
+
+        I'll gouge your fuckin' eyes,
+        I'll make you fuckin' die.
+
+        I'll make you fuckin' silent,
+        I'm fuckin' ultra violent.
+
+        I'll kick your fuckin' head,
+        'Til you're fuckin' dead.
+
+        I'll make you fuckin' cry,
+        Make you fuckin' die.
+
+        I'll crack your fuckin' face,
+        Hit it with a fuckin' mace.
+
+        I'll make you fuckin' silent,
+        I'm fuckin' ultra violent.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Weils so schoen zu meinem Namen passt. (Sidolin, 12. Mar 1997, 10:57:00):
+          Ein schoener Tag...
+          -------------------
+
+          Persil Megaperls
+          Bube, Dame, Hoerig
+          Schlagerparade auf WDR 4
+          der Nachbar, mit dem es mit sauberen Glaesern klappt
+
+          Warsteiner Pils
+          Nullnull - und in Bad und WC ist alles ok
+          die Produkte von Schneekoppe
+          Lucky Strike Lights
+
+          Vita Buerlecithin
+          Klosterfrau Melissengeist
+          BRAVO TV
+          Zaubertraum Barbie
+
+          Mountain Bikes
+          24teilige Steckschluesselsaetze
+          jetzt noch weisser
+          und natuerlich alles sauber und diskret.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weils so schoen zu meinem Namen passt. (Yendi, 12. Mar 1997, 15:17:25):
+~#! rn=Sidolin rt=858160620 rg=kultur
+~#! tid=858160620
+
+Werbesprueche sind sehr flexibel einsetzbar.
+Wer kennt das Brettspiel "Civilization" von Avalon Hill, auf deutsch von WDS?
+
+Wir haben letztens zu dritt gehirnstuermt, um einem Civi-Fanatiker einen
+schoenen T-Shirt-Spruch zu schenken. Auf dem T-Shirt sind vorne die
+Farbvergroesserungen der drei Zivilisationskarten
+"Metallverarbeitung (gibt einen Bonus bei Gefechten)",
+"Weben (Schiffe duerfen ein Feld weiter fahren)" und
+"Astronomie (erlaubt Seefahrt ueber das offene Meer)".
+
+Drueber steht "Von fuehrenden Kretern empfohlen:", und drunter
+"...dann klappts auch mit dem Nachbarn!"
+
+Auf der Rueckseite steht "Vertrauen ist gut, <Metallverarbeitung> ist
+besser!Damit sie auch morgen noch kraftvoll zuschlagen koennen!"
+
+Weitere in die engere Wahl gekommene Werbesprueche waren
+"Wir machen den Weg frei."
+"Wir geben ihrer Zukunft ein Zuhause"
+"Vorsprung durch Technik"
+etc. pp.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weils so schoen zu meinem Namen passt. (Hardil, 13. Mar 1997, 13:36:48):
+~#! rn=Yendi rt=858176245 rg=kultur
+~#! tid=858160620
+
+Jau. Civi als Brettspiel ist auch was schoenes. Obwohl wir ja meistens mit dem
+deutschen Brett und den englischen COuntern spielen, denn die WDS-Counter sind
+ja echt nicht das gelbe vom Ei.
+
+Aber 1830 ist noch besser, gell Sido ?
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+This savage freedom (Sushi, 19. Mar 1997, 16:16:49):
+It's the age of CVs
+Contract to contract
+And my stress levels rise
+This is a job for life
+(There are no jobs for life)
+I am forced to a decision
+I am forced to the other side
+I can see a way out of here
+
+Placards of prophets
+And great leaders of men
+Personality cults
+All over again
+
+(But) we'll build shrines for our
+Loved ones
+We'll burn fires and lights
+And we'll talk of the old ways
+To find new ways that might ...
+... They just might
+
+In the villages and hills
+On the tundra and ice
+To the forests of Kauai
+In the paddies of rice
+By the lakes on the plains
+To the great mountain range
+Love the land and its people
+I can see a way out
+
+With the hours that we kill
+And the dreams that we hide
+Of alternative life styles
+This savage freedom I love
+
+
+-----------------------------------------------------------------------------
+
+
+
+money is not our god (Sushi, 19. Mar 1997, 16:17:22):
+Money is not our God
+
+Nine-tenths of a law that is sick is possession
+Life expressed in matter is a blasphemy
+Success defined by acquisition stinks
+So busy trying to make a living we forget about living
+So busy trying to make a living I forget about life
+
+The best thing I found in life are my birthrights
+The green fields mean more to me than a brand-new car
+Will you swap your hi-fi for a clear blue sky?
+Will you part with your shares for God's clean air?
+Is your answer yes or no to these painful truths?
+I said is your answer yes or no to these painful truths?
+
+Do you grovel to your master?
+Do you like to be a dog?
+First things first - repeat to yourself -
+Money!
+Money is not our God
+
+(It's mine)
+The best things in life are free! (Mine)
+I own the beach and the blazing sunset! (Mine)
+I own the waves and the fresh air! (Mine)
+I drink the milk of the stars and this beautiful moment
+Say to yourself - all these things are mine!
+
+Money Money Money
+Money is not our God
+
+
+Sushi
+
+-----------------------------------------------------------------------------
+
+
+
+ST sind die Besten (Yantro, 27. Mar 1997, 15:59:14):
+		"JUST ANOTHER LOVE SONG"
+         (lyrics by Mike Muir and Rocky George)
+
+
+  Well I just had to turn off the radio
+  But not before I heard thirteen songs about love in a row
+  Well I don't know what the next song's gonna be
+  But I know how the words are gonna go
+  They'll be singing "Oh baby, baby, baby, baby, baby, baby I love you so"
+  So won't everybody sing along cause her comes just another love song
+
+  I need you like I need a hole in my head
+  I need someone to steal my money and wish I were dead
+  I need someone to always put me down
+  And everywhere I go she wants to hang around
+
+  Do you really even think dreams come true
+  Do you really even think you'll find something wonderful and new
+  Do you really even think someone's waiting for you
+  Do you really even thiink that love is near
+  Do you really even think it's me dear
+  Do you really even think I want to hear-but I still say
+  I won't fall in love today
+
+  I need a chick who's got expensive taste
+  Who's not afraid of whose money she wastes
+  You expect me to buy you a diamond ring!
+  Well I suspect I'll buy you not a thing!
+
+  Well I could tell you you're the only one I love
+  And how your eyes sparkle like the stars above
+  And that I carry a picture of you in my heart
+  And as long as we live we'll never be apart
+  And that you're the most important person in my life
+  But I can't handle a girlfriend, how am I gonna handle a wife
+
+  Love-hate love-hate love-hate love-hate love-hate love-hate love-hate love-hate
+  I love, love, love to hate you but I'd hate, hate, hate to love you
+
+  I could promise all my love to you
+  But that would take me only a second or two
+  And if you're waiting to be my one and only
+  You're gonna find out what it's like to be awfully lonely
+  Your song was alright for awhile-But now your tune's gone out of style
+
+  You want to cuddle and hug all night
+  But I'm going out with my friends tonight
+  And I don't need someone to act like my mother
+  I already have one-I don't need another
+
+  But she sure looks fine
+  After a bottle of wine
+  And she's out of sight
+  When my mind's not right
+  And I'll promise you anything dear
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Sidolin,  3. Apr 1997, 17:05:05):
+Ein Buchtip von mir:
+
+James HAWES: A white Merc with Fins.
+
+Ein SEHR geniales Buch ueber einen
+vor-dem-dreissigsten-Geburtstag-schisshabenden Typen, der sich seinen
+Jugentraum erfuellt und eine Bank knackt.
+
+Fuer alle Leute zwischen 25 und 30 absolut wichtig. :-)
+
+Sidolin. Lacht heute noch ueber das Buch. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip (Wurzel,  3. Apr 1997, 19:43:57):
+~#! rn=Sidolin rt=860079905 rg=kultur
+~#! tid=860079905
+darf ich das dann nicht mehr lesen, wenn ich schon ueber 40 bin? oder was?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchtip (Sidolin,  4. Apr 1997, 10:48:30):
+~#! rn=Wurzel rt=860089437 rg=kultur
+~#! tid=860079905
+Selbstverstaendlich darfst Du. Es ist IMHO noch kein Gesetz in der BR
+Deutschland gueltig, dass gewisse Lektuere AB einem bestimmten Alter
+verbietet.
+Das gibts nur umgekehrt. :-)
+
+Sidolin.
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Cerebus,  6. Apr 1997, 21:48:11):
+Ein Buchtip fuer die Zeit, wenn mal nicht gemuddet wird:
+
+Microserfs
+
+von D. Coupland
+
+Keine Ahnung, ob es das schon in deutsch gibt, ich habe es mir in den staaten
+auf englisch gekauft. Handelt von einer Gruppe von Microsoft-Programmierern,
+die eine eigene kleine Firma aufmachen - und nebenher entdecken, dass sie im
+Grunde kein Leben haben.. Sehr gut geschrieben, viele kleine und grosse
+Anspielungen auf die Nerd- und Geek-Welt, einige tiefschuerfende
+philosophische Gedanken.. Gute Ferienlektuere!!!
+Ich bin uebrigens auch an Kommentaren interessiert, wenn es jemand schon
+gelesen haben sollte..
+
+cerebus
+
+-----------------------------------------------------------------------------
+
+
+
+First Vision of Yaghestan (Achakzai,  8. Apr 1997, 10:50:49):
+First Vision of Yaghestan
+
+Where no autobahn leads to
+and Normalia's noise is unheard,
+beyond the sands of ignorance
+an ancient land survived on Earth
+Majestic mountains guard your peace,
+keeping away a restless world
+that spins 'round faster everyday,
+you show this age another way
+
+Refrain: Across the miles, through concrete and steel,
+         your call has reached me now, I feel,
+         Your light invades my teenages days
+         to guide me out of this dull
+place[A[D[D[D[[[C[C[C[Cday[D[D[D[D[C[C[C[Cs[B
+
+Once Vitalteanian praised your splendour,
+wearing freedom in their hair,
+travelling towards timeless wisdom
+beneath your skies so clear and fair
+To follow them in my own way,
+this now will lead me day by day,
+to fly beyond philistine bore
+and find the beauty I adore
+
+Refrain: Across the miles...
+
+Barren mountains, verdant valleys,
+morning dew in fairy light,
+rustic figures dignifiedly moving,
+all in all a magic sight
+And somewhere by a highland stream,
+wthin fields of flourishing green,
+your wild son waits as I arrive
+and we'll ascend to Other Life
+
+Refrain: Across the miles...
+
+(c) 1994 by Yadgar Hafiz Achakzai
+
+-----------------------------------------------------------------------------
+
+
+
+The Journey (Achakzai,  8. Apr 1997, 11:04:46):
+The Journey
+
+1. Wake up, my friend, the time has come
+   to ride our dream towards the sun
+   Resignation grows stronger and stronger,
+   come with me, don't wait any longer
+   The bikes are waiting packed in the backyard,
+   get up and let us start!
+
+   Starry February night,
+   the Eastern light not yet in sight,
+   but[A[A[C[C[C[C[C[Cloudy[B[B[D[Din the mild and tender air
+   a hunch of springtime everywhere
+
+Refrain: That change of heart has meant to me
+         the end of all nostalgic sorrow,
+         we'll plant a tree of mankind's hope
+         in the country of tomorrow!
+
+2. Dawn sees us far out of town
+   travelling kings without a crown
+   Lands and cities pass our view,
+   there is no time for us to stay,
+   the gentle humming of the wheels
+   will be with us day by day
+
+Refrain: That change of heart...
+
+3. And there will be the veterans,
+   grieving for old long-haired time,
+   asking us to where we're going
+   and what vision we've in mind;
+   Utopia's flame is passed on now,
+   if you're open, why don't you join?
+   The measure's not your generation,
+   the White Bird, she will fly again!
+
+Refrain: That change of heart...
+
+4. 4000 miles of pain and fun,
+   now sweating under desert sun,
+    in the plain ahead we see
+   the custom house, of adobe
+   Beyond the turnpike future waits
+   and a lifetime's work to be done;
+   one day the country's name's a sign
+    for a better world to come
+
+Refrain: That change of heart...
+
+(c) 1990 by Yadgar Hafiz Achakzai
+
+-----------------------------------------------------------------------------
+
+
+
+Fluss (Achakzai,  8. Apr 1997, 11:14:53):
+1. Fluss, du fliesst in alter Weise
+   durch dein programmiertes Tal
+   in zeitloser Deutschlandreise
+   so schoen und ueberregional
+
+Refrain: Toene fliessen wie ein Strom den Fluss hinauf,
+         Stroeme steuern diesen neuen Tonverlauf...
+
+2. Du kennst Burgen und Ruinen,
+   Spiegelglas und Edelstahl,
+   Wir, wir bauen auf Platinen
+     und wir denken digital
+
+Refrain: Toene fliessen wie ein Strom...
+
+3. Fluss, man lebt an deinen Seiten
+   und macht dich zum Wechselstrom
+   Du erzaehlst von alten Zeiten,
+   Wellen spiegeln sich in Chrom
+
+Refrain: Toene fliessen wie ein Strom...
+
+4. Fluss, du fliesst in alter Weise
+   durch dein programmiertes Tal
+   in zeitloser Deutschlandreise,
+   so schoen, und ueberregional
+
+(c) 1980 by Rheingold
+
+-----------------------------------------------------------------------------
+
+
+
+Fluss 2 (Achakzai,  8. Apr 1997, 11:19:23):
+Alternativ-Strophe zu "Fluss":
+
+Du kennst Tadschiks und Paschtunen,
+Salzseewind und Gletscherschnee,
+Wir, wir hausen in Kommunen
+und wir schlucken LSD!
+
+Kultig, wa??
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Magnus, 18. Apr 1997, 11:11:39):
+Auch ich moechte ein schoenes Buch empfhelen, besonders fuer diejenieresse an
+Indien und dem asiatischen Raum allgemein haben.
+
+Vikram Seth, Eine gute Partie, erschienen bei Heyne als Tb.
+
+Es handelt sich um eine Familiensaga aus dem Indien der spaeten 40er
+Jahre, sehr detailreich und weitschweifig geschrieben, aber sehr
+lesenswert.
+
+ca 1600 Seiten
+
+Have fun
+
+-----------------------------------------------------------------------------
+
+
+
+filmkritik (Wurzel, 18. Apr 1997, 19:36:27):
+romeo und julia
+
+eine mit wenigen ausnahmen sehr gute adaption. die story ist ins ausgehende
+20. jahrhundert uebertragen, und man spuert shakespeares zeitlosigkeit an
+allen ecken und enden. die "montague boys" rauschen mit ihrem schlitten
+durch die gegend und treffen an einer tanke auf die capulets (genial: tybalt
+mit schmalzlocke, silberbeschlagenen westernstiefeln und nach django-manier
+bewaffnet gegen die kurzgeschorenen montagues mit hawaiihemden...) 
+ein lichtblick auch mercutio, der interessanter weise von einem schwarzen
+gespielt wird, auf der anderen seite nur logisch, denn als verwandter des
+prinzen, der hier "captain prince", der schwarze polizeichef ist, muss das
+wohl so sein...
+die story ist natuerlich vorgegeben, aber die bilder dazu sind genial. etwas
+unpassend fand ich die unflexible handhabung der sprache. wenn jemand mit
+einer 44er magnum in der hand von seinem schwert spricht, empfinde ich das
+als eher unpassend. ganz im sinne von shakespeare haette man daraus "waffe"
+machen koennen, und es waere dadurch nichts verloren gegangen. solche stellen
+gab es einige, die meisten fielen aber nicht weiter auf.
+resumee: fuer fans ein muss (aber die waren eh schon drin), fuer alle anderen
+sehr sehenswert. ausser fuer puristen natuerlich...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Romeo & Juliet (Cerebus, 18. Apr 1997, 20:30:26):
+Noch ein Nachtrag zu Romeo&Juliet:
+In der Tat ein sehr netter, schneller, cooler Film. Der Soundtrack ist imho
+ebenfalls sehr zu empfehlen, eine tolle Mischung aus allen moeglichen
+Richtungen (Pop, Disco, Indie, etc.). Hat mir so manche Autofahrt ueber
+Ami-Highways versuesst...:-))
+
+cerebus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Romeo & Juliet (Cauno, 21. Apr 1997, 12:37:23):
+~#! rn=Cerebus rt=861388226 rg=kultur
+~#! tid=861388226
+Meine Schweste war auch bereits drin und hat sich die CD geholt.
+Die enthaelt sogar eine Spur mit CD-ROM, nur haben die idioten, die das
+geschrieben haben, einen Fehler im Setup gelassen.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Frontbericht (Yantro, 22. Apr 1997, 20:38:29):
+ Halloele, 
+eigentlich ist das jetzt mehr ein Bericht zum Thema "Was passiert, wenn man
+neugierig ist", aber naja....
+
+Angefangen hat das alles damit, dass ich heute Karten fuer SW 3 bestellt habe
+im einem Koelner Grosskino. Da herauskommend denk ich an nichts boeses und
+schaue mich um. Nebenan ist das Gebaeude von EinsLive (ehemals WDR1, ein
+Radiosender) und ich denk mir, was ist das denn fuer ein Auflauf da vor der
+Tuer und schleiche mich mal rueber... 
+Angekommen merke ich, dass ich mich wohl nicht unter Erwachsenen aufhalte,
+denn ich kann immer noch alles sehen. Ich frag also mal dumm und hoere mit
+Staunen "Caught in the Act ist doch da"..... naja... erstmal meine Taschen
+durchwuehlt und was gesucht, was ich in einer geballten Hassaktion dieser
+BoyGroup an den Schaedel schmettern kann, aber nix dabei. Beim Gedanken an
+meine anderen Plaene fuer den Nachmittag macht sich langeweile breit und so
+bleib ich mal da und schau mir das Theater an.
+
+Beim Eintreffen der 2 Luxusautos hab ich mich dann mal an die Absperrung
+gemischt, denn da wars schoen warm und eng und da in jedem von uns ja auch ein
+kleiner Belgier steckt, dacht ich mir, dass ich mich mal was bedraengen lasse
+;). Der Spass war aber nur kurz, wenn ich auch schon nach 2 Minuten von
+weinenden Maedels umgeben war, die alle Trost suchten (und sich gegenseitig
+fanden, entzueckend). Dann begann die Warterei. Irgendwann sollten die da auch
+wieder rauskommen. Nach ner Stunde wurde es dann doch was doof und ich trinke
+mal nen Kaffee im Kino. Nach dem Kaffee heisst es, dass die Jungs immer noch
+in dem Gebaeude sind, aber ich Wolfsschlau denk, das kann nicht sein und mit
+poeser Elternmine zu einem der Securitymenschen. Der grinst mich an und
+meinte, dass es da so einen Unterirdischen Gang zu VIVA gaebe, ich also mal da
+rueber und mir einen gegrinst, denn keiner kam mit. 
+
+Leider war die Freude was zu frueh, denn bei VIVA wars voller als beim Radio.
+Ich also mich wieder in ne Ecke gesetzt und die Histerie genossen, mit der
+sich diese Huehner ohne Grund, aber voller Motivation an die Absperrung
+draengen.
+Schliesslich und endlich heisst es, dass die Sendung zuende ist und ich denk
+mir, da, wo die Nobelautos stehen, da muessen auch Stars sein und bin runter
+in die Garage. Die Idee hatte ich nicht alleine und das war alles andere als
+zu Freuden des alleine da postierten Waechters. Der holte sich erstmal Hilfe
+und haengte mehrere Ketten quer. Irgendwann war der Zeitpunkt erreicht, als
+die zeite Reihe nichts mehr von der ersten sah und da erlebte ich das totale
+Chaos. Im Liefereingang des Hauses geht eine Tuer auf und INSTINKTIV reissen
+sich 50 Arme hoch, alle mit Fotoapparaten und Album und CD und Plueschtier in
+EINER Hand (komische Haende haben BoyGroupFans schon) und ein
+Blitzlichtgewitter brandet los... innerhalb von einer Minute wird ein ganzer
+Film verheizt! Maedchen fallen sich weinend in die Arme oder groehlen
+Liebesschwuere. Der Pfoertner, der aus der Tuer kam, wird sicher noch seinen
+Enkeln davon erzaehlen :)
+
+Die Massen draengen sich schliesslich immer enger und die inzwischen auch
+eingetroffene Polizeistreife grinst breiter als Catweazle beim Loeschen
+stoerender Charaktere. Wieder geht die Tuer auf, wieder werden Bilder wie wild
+verschossenund wieder gibt es einen gluecklichen Chauffeur mehr auf dieser
+Welt. Bei dieser Aktion kommt es dann in der ersten Reihe auch zum ersten
+Astmaanfall und zu 2 weiteren Kreislauffreudespruengen, aber alles kein
+Problem... der Securityman hat schliesslich ahnung und da er weiss, dass VIVA
+keinen Sani hat, zuckt er nur mal mit der Schulter und dreht ab :)
+
+Schliesslich kommt dann doch ein RW und der hatauch alle Hand zu tun. Die Boys
+sind endlich angekommen und das Chaos bricht aus... heisse feuchte Koerper
+schmeissen sich vor und auf Autos und scheiben werden fast eingeschlagen...
+Plueschtiere werden geworfen, um dann ueberfahren zu werden, genauso wie der
+linke Fuss eines Maedels (was stellt die den auch da hin). Direkt neben mir
+sackt auch eine zusammen und ich ueberlege mir, ob ich sie beatmen soll ( ;)
+), oder ob ich mit einem gezielten Tritt den IQ in Deutschland etwas anhebe.
+
+Fazit der ganzen Sache... Keine hat die Jungs richtig gesehen, 8
+Kreislaufzusammenbrueche, ein Dicker Fuss, eine Astmaleiche und ein Meer von
+Traenen..... Ach wie schoen ist doch die Welt.
+
+Yantro von der Front.
+
+-----------------------------------------------------------------------------
+
+
+
+Gene Roddenberrys Asche (Grimmborn, 23. Apr 1997, 18:00:27):
+~#! on=Yendi ot=861706878 og=schmarrn
+
+
+Sacht maaal...
+
+... Gene Roddenberry will sich doch jetzt im All begraben lassen. 
+(Oder sagt man "beraumen"?) Hab ich gelesen, steht angeblich im Testament. 
+Seine Asche, oder jedenfalls ein Teil davon, soll also eingedost und von 
+einer Rakete in die Umlaufbahn geschossen werden. War ja letztens so ein 
+Unternehmertyp in der Zeitung mit nem Bild von so einer Mini-Urne, 
+lippenstiftgross, das Teil. Vielleicht war die Asche ja auch schon in 
+dieser spanischen Flugzeugrakete drin, ich hab da nicht so aufgepasst.
+
+Jedenfalls, ich bin da so ins Gruebeln gekommen...
+Gene Roddenberry war ja der Erschaffer von "Raumschiff Enterprise".
+Tolle Serie, hat ja Generationen von Fernsehern, also Fersehzuschauern,
+also uns halt, fuer die Raumfahrt begeistert. Unendliche Weiten, und so.
+Wahrscheinlich haben die meisten Astronauten schon seit fruehester Kindheit
+davon getraeumt.
+
+So, und jetz stellt euch mal vor: Da schraubt irgend so ein amerikanischer
+Weltraumheld an einem dummen Satellitensonnensegel rum, und dann geht ihm
+mit einem Mal die Asche von Gene Roddenberry durch den Kopp, mit so ungefaehr
+500 Kilometern pro Sekunde.
+Das hinterlaesst schon einen bleibenden Eindruck, so eine Begegnung mit dem 
+Idol der Kindertage...
+
+Da muesste sich der gute Gene eigentlich im Grab umdrehen.
+Wenn er denn eins haette.
+
+
+Naja.
+War ja nur so ne Idee von mir.
+Ich geh dann jetz StarTrek gucken...
+
+
+   Yendi
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gene Roddenberrys Asche (Lacrimosa, 23. Apr 1997, 19:01:54):
+~#! rn=Grimmborn rt=861811227 rg=kultur
+~#! tid=861811227
+Ja die urne schwebt dort oben jetzt rum, und landet im Gehirn von dem Ami
+und der schreibt das Drehbuch zu Star Trek - The next Deep Voyager Generation
+oder so. Wer weiss das schon.
+
+Lacrimosa, der 'classic' (tos) am besten findet.
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Mal ne Frage... (Engywuck, 26. Apr 1997, 19:33:15):
+...kennt sich hier jemand mit dem Spiel "Evocation" aus? Bisher bin ich ueber
+das erste Bild noch nicht hinausgekommen. Fuer nen kleinen Tip waere ich doch
+echt dankbar...
+
+Bye, Engy*
+
+-----------------------------------------------------------------------------
+
+
+
+ebend gelesen (Lacrimosa, 28. Apr 1997, 11:24:26):
+
+Dies irae, dies illa
+Solvet saeclum in favilla
+Teste David cum Sybilla
+
+Quantus tremor est futurus
+Quando iudex est venturus
+Cuncta stricte discussurus...
+
+-----------------------------------------------------------------------------
+
+
+
+Runrig vor Aufloesung? (Lug, 16. Mai 1997, 22:20:20):
+Moin,
+
+da ich weiss, dass einige Runrgi Fans hier sind: Donnie Munro steigt nach 22
+Jahren aus. Es soll 3 Abschiedskonzerte in Schottland im Sommer geben. Ob das
+die Band aufloest, war nicht in Erfahrung zu bhringen. Quelle: The New
+Scotsman.
+
+Schnueff
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ebend gelesen (Anthea, 17. Mai 1997, 00:44:11):
+~#! rn=Lacrimosa rt=862219466 rg=kultur
+~#! tid=862219466
+klingt irgendwie nach Carmina Burana.... gruebel... wo habe ich denn den
+kompletten text? soll ich den posten? :)
+
+-----------------------------------------------------------------------------
+
+
+
+Black Metal (Lug,  7. Jun 1997, 02:07:27):
+
+Moin,
+
+fuer die Freunde haertere Toene (wer das nicht fuer Kultur haelt, hat selber
+Schuld) hier 2 Anspieltips:
+
+1) Die neue Emperor "Anthems to the Welkin at Dusk". Perfekter norwegischer
+Krach. Wer gedacht hat, dass sich "Tales of the Nightside Eclipse" nicht mehr
+steigern liesse, darf sich positiv getaeuscht sehen. Zu komplett ueberladenen
+Stuecken gesellt sich nun noch Struktur. Ueberrraschend ruhige Klaenge stehen
+im Wechsel zur Emperor-typischen Raserei. Grandios.
+
+2) Dimmu Borgir "Enthrone Darkness Triumphant". Wer Emperor mag wird auch von
+diesen Norwegern begeistert sein. Glasklare Kompositionen, die Haerte, Stille,
+Laerm und Gefuehl vereinen. Anhoeren.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Horst Horstmann (Lug, 15. Jun 1997, 05:49:40):
+Moin,
+
+heute ein Zitat eines grossen deutschen Dichters:
+
+"Tage sind eigentlich wie Naechte. Nur nicht so spaet!"
+             Onkel Hotte
+
+Gruss
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Horst Horstmann (Caradhras, 16. Jun 1997, 17:05:27):
+~#! rn=Lug rt=866346580 rg=kultur
+~#! tid=866346580
+Is' das derjenige, welcher auch immer in der Deutsche Bundesbahn-
+Werbung auftaucht? 'Hotte? Du in Hamburg??'
+
+                Bergchen Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Horst Horstmann (Grimmborn, 16. Jun 1997, 18:54:20):
+~#! rn=Caradhras rt=866473527 rg=kultur
+~#! tid=866346580
+Nein, das ist was sexistisches. Du weisst schon, "Holz vor der Hotte haben"...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Horst Horstmann (Lug, 16. Jun 1997, 19:36:03):
+~#! rn=Caradhras rt=866473527 rg=kultur
+~#! tid=866346580
+
+Lieber Cara,
+
+da Du in der suedlichen Finsternis haust, kannst Du nicht wissen, dass es sich
+um Onkel Hotte handelt (alias Oliver Kalkhofe). Das hat nix mit der *#!-DB AG
+zu tun ;)
+
+Gruss
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Horst Horstmann (Hobo, 17. Jun 1997, 13:04:14):
+~#! rn=Lug rt=866482563 rg=kultur
+~#! tid=866346580
+Kalkofe hat ueberigens auf Premiere ne Sendung, nennt sich Kalkofes
+Mattscheibe, tut das, was Kalke immer macht (ueber andere herziehen) und
+laeuft unverschluesselt (!) um 20:00 am Sonntag plus Wiederholung am Montag
+oder Dienstag.
+
+Falls es jemand noch nicht wusste.....
+
+Aehm, ja, und ist ueberigens sehenswert.
+Vince, Mua, wann ist die naechste Kalke-Nacht?
+
+Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Horst Horstmann (Stahldorn, 17. Jun 1997, 13:15:10):
+~#! rn=Hobo rt=866545454 rg=kultur
+~#! tid=866346580
+Aehm... ich wusste nicht dass der noch was anderes macht, als die Mattscheibe?
+
+STAHL.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Horst Horstmann (Boing, 17. Jun 1997, 13:16:48):
+~#! rn=Stahldorn rt=866546110 rg=kultur
+~#! tid=866346580
+Er ist im Radio taetig, unter anderem als 'Onkel Hotte' beim Berliner
+Radiosender Fritz. Ausserdem hat er noch ein paar CDs als Onkel Hotte
+rausgebracht.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Horst Horstmann (Taz, 17. Jun 1997, 13:19:00):
+~#! rn=Boing rt=866546208 rg=kultur
+~#! tid=866346580
+Jupp, jeden Sonntag von 1200-1400 auf Fritz (kommt auch ueber Satellit).
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Horst Horstmann (Hobo, 17. Jun 1997, 13:22:20):
+~#! rn=Taz rt=866546340 rg=kultur
+~#! tid=866346580
+Ausserdem ist er mit dem Fruehstyxradio auf Tour dieses Jahr....
+
+Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Horst Horstmann (Rantanplan, 17. Jun 1997, 13:24:21):
+~#! rn=Hobo rt=866546540 rg=kultur
+~#! tid=866346580
+Ueber Satellit aber nur wenn man nen ADR (Astra-Digital-Radio) tauglichen
+empfaenger hat fuer Fritz.
+
+Und zusaetzlich macht der noch "Kalkofes letzte Worte" in der TV-Spielfilm,
+die kann man aber auch auf der
+WWW-Seite von TV-Spielfim (http://www.tvspielfilm.de) lesen.
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Horst Horstmann (Lug, 17. Jun 1997, 17:47:48):
+~#! rn=Rantanplan rt=866546661 rg=kultur
+~#! tid=866346580
+
+Aehem,
+
+Kalkofe ist unter anderm: Onkel Hotte, Guergen der Ferkelwaemser, Himself in
+der Mattscheibe und vieles mehr. Wo? Natuerlich im Fruehstyxradio von FFN
+(Niedersachsen). Sorry Leute, aber Radio Fritz ist nur Zweitververter, auch
+wenn jetzt einige geschockt sein moegen. Darum gibts auch nen kostenlosen
+Katalog mit dem Programm des Fruehstyxradios bei:
+Fruehstyradio
+Mailorder
+Postfach 15 02 91
+28092 Bremen
+Fax: 0421-380 80 70
+
+Da gibts neben Onkel Hotte CD's auch noch die Kalk und Welk CD (mit mehreren
+Figuren aus dem Schaffen von Oliver kalkhofe und Oliver Welke, u.a. auch
+Mattscheibe), dazu noch Niedersaechsische Spezialitaeten, wie Guenther der
+Treckerfahrer, Frieda und Annelise, DIe Arschkrampen etc. von Dieter
+Wischmeyer, dem Gruender des Fruehstyxradios. Kalki kam erst spaeter als
+Praktikant hinzu. Wenn die Gerschichte interessiert, der sollte das Booklet
+der 3-CD Droehnung lesen, der letzten Sonntagmorgensendung. Das erklaert warum
+es in bayern Aufstaende gab als nur eine einzige Episode gesendet wurde, ein
+Intendant ueber die Sendung stolperte, wer es machte und wie es zustande kam.
+Pech fuer die Vertreter der radio Fritz Theorie. Aber Ihr hattet eh Pech, habt
+naemlich nie das Ganze Fruehstyxradio zu hoeren gekriegt, ich glaube den
+kleinen Tierfreund ham sie Euch noch gegoennt, oder? Das ist uebrigends
+Wischmeyer.
+
+Soooosiehdas aus! *Goebel*
+Lug.
+
+-----------------------------------------------------------------------------
+
+
+
+Computerfreaks Teil 1 (Dhojakt, 18. Jun 1997, 01:33:55):
+So, ich hab mal nen alten Artikel aus der MC ausgegraben, weil der aber etwas
+laenger ist, hab ich ihn dreigeteilt.
+Khidar.
+
+***** Computerfreaks - nach Johannes Leckenbusch *****
+Dass sie was im Kopf haben, die Computerleute, wird jeder zugestehen. Ob
+aber einer, der naechtelang am Bildschirm hockt, statt ins Wirtshaus oder
+zum Tanzen zu gehen, da oben ganz richtig ist, wird von den lieben
+Mitmenschen gern bezweifelt. Fachkollegen bezeichnen manche Mitbrueder als
+Hacker, die mangels Kontaktfaehigkeit den Umgang mit dem elektronischen
+Gegenueber anderen Menschen vorziehen. Sie sind aber sehr wohl gesellig, und
+am Computerstammtisch wird auch alljaehrlich gefragt, wer mit wem zum
+Skifahren verreist. MC beleuchtet ihr naechtliches Treiben.
+"Unermesslich vielfaeltig sind die Arten der Erdenwesen. Daraus aber ragt
+der Mensch hervor, der die Sprache erfunden hat, die so vielseitig ist, dass
+man keine zwei findet, welche ein und dieselbe sprechen." - Prof. Ungruen.
+Hier will ich von den Spezies der Computerfreaks berichten, deren Sitten
+sehr eigenartig sind (mit Erlaeuterung aller belangvollen Fremdworte). Wer
+von den Computerfreaks kein eigenes System laufen hat, wer nicht tief in der
+Hardware wuehlt, gilt bei ihnen wenig (So ist auch meine Situation unter
+ihnen sonderbar, weil ich meinen Computer nicht selbst gebaut habe). Sie
+werden beherrscht von dem Gedanken, jedes technische Problem loesen zu
+koennen, und das mit Leichtigkeit und in kurzer Zeit. (Ein System ist alles,
+was keines hat, Hardware das, was beim runterfallen klappert, und Software
+das, wovon man logisch erklaeren kann, warum es nicht funktioniert. Nicht zu
+verwechseln mit dem Problem, herauszufinden, warum man sie nicht zum
+Funktionieren bringt, diese Frage ist ungeloest.) Sie sammeln (meist
+abgekupferte, in Ausdruck, den ich hier nicht naeher erlaeutern will)
+Software, aber den Meisten bedeutet die hoehere Software wenig. Ihre Domaene
+sind die Bits und Bytes, die Controller und schnellen RAM's. Viele wollen
+grosse Geschaefte machen, wozu sie sich persoenlich ausersehen fuehlen. In
+der Regel sind sie Einzelkaempfer, wiewohl sie auf eine gewisse Art
+zusammenhalten. (Bits und Bytes sind das, was zwischen Soft- und Hardware
+steht, Controller und RAM's unterscheiden sich nicht: schwarze Kaefer mit
+einer geradzahligen Anzahl in Doppelreihe angeordneter spitzer
+Drahtfuesschen).
+
+***** Familienleben und Stammtisch *****
+Manchmal haben sie puritanische Neigungen, zum Beispiel hinsichtlich
+hoechstqualitativer Disketten, deren Label (Etikett) sie, wenn ueberhaupt,
+nur zart in jungfraeulicher Bleistiftschrift entweihen (wodurch ich schon
+mal eine mir ueberlassene Diskette irrtuemlich geloescht habe - aber das ist
+eine andere Story). (Ich nehme an, sie wissen, was ein Bleistift ist.
+Disketten sind schwarze Scheiben, auf denen angeblich etwas in magnetischer
+Schrift geschrieben ist, was aber unsichtbar und manchmal aus unbekannten
+Gruenden auch mit dem Computer nicht zu lesen ist. Wenn man sie knickt, auf
+Magnete oder in die Sonne legt, wird man ohne Kommentar umgebracht.)
+Die Beziehung der Computerfreaks zum anderen Geschlecht wirft einige Fragen
+auf, vergleichbare gibt es hoechstens bei HIFI-Enthusiasten, die um
+groessere Boxen kaempfen, und das Recht, sie nicht hinter dem Vorhang
+verstecken zu muessen. Doch es ist anders, sie breiten ungehindert ihre
+Platinen und IC's in der Wohnung aus - weiss der Teufel, warum Eva das
+zulaesst. Verstehen tut sie nichts davon. Vielleicht aber gerade deshalb,
+denn die Frauen klagen die Maenner wegen allerlei unvernuenftiger Dinge an,
+zum Beispiel weil sie Kriege fuehren, verhindern tun sie doch nur, was sie
+verstehen. Jedenfalls sind Leute, die solche Annoncen aufgeben: "Wegen
+Heirat Computersystem zu verkaufen", keine ganzen Maenner. Wenn
+Computerfreaks zusammenkommen, dann nicht ohne meterlange, gefaltete
+Listings (das sind Papierfahnen, die von einem graesslich ratternden
+sogenannten Drucker ausgespieen werden, welche am Computer haengen. Das ist
+uebrigens der Grund, warum der Rest der Familie nachts nicht schlafen kann
+und diese dunklen Ringe unter den Augen hat - abgesehen davon, dass
+Computerfreaks zwischen 23 und 2 Uhr morgens auffallend viele Telefonanrufe
+oder Besuche erhalten, falls sie nicht um dieselbe Zeit beim Stammtisch
+sind). Sie haben auch grosse Kisten bei sich, in denen sie sich Buecher,
+Geraete oder irgendwelche Platinen mitbringen. Sie lieben es
+ausserordentlich, sich etwas Gedrucktes mitzubringen. (Platinen sind so
+Brettla (schwaebisch: fuer gedruckte Schaltung, Platine) mit Leiterbahnen
+darauf, auf ihnen befinden sich die schon beschriebenen Kaefer, wobei es vor
+allem wichtig ist, wie duenn und eng die Leiterbahnen (die silbrigen
+Striche) sind, das nennt man Packungsdichte und es ist sehr wesentlich, weil
+der Computer daraus besteht.) Dabei wechseln innerhalb eines Clubs oder
+Stammtisches die Standards - frueher fachsimpelte man ueber
+Kasetteninterfaces (da hoerte man es sehr schrill zirpen, wie von einer
+Grille, die die Schallmauer durchbricht), dann ueber grosse, spaeter ueber
+kleine Diskettenlaufwerke. (Sie muessen sich die Masze 8 und 5 1/4 Zoll
+merken, wenn sie mitreden wollen. In die Laufwerke schiebt man die genannten
+schwarzen Scheiben und sucht die Ursache dafuer, dass man sie nicht lesen
+kann.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Computerfreaks Teil 2 (Dhojakt, 18. Jun 1997, 01:34:31):
+***** Das treibt sie an *****
+Typischerweise werden grosse Projekte ins Auge gefasst, die nie realisiert
+werden (sowas duerfen sie aber nicht laut sagen!), dennoch gibt es einen
+eindeutigen und ueberraschenden Fortschritt, denn diese Projekte bauen ja
+auf den frueheren Projekten auf. Man kann das nicht verstehen, wenn man
+nicht einsieht, dass in der Computerei vor Allem der abstrakte Entwurf
+zaehlt. Die Philosophie des Computerfreaks ist in gewisser Weise durch Prof.
+Ungruens Satz zu charakterisieren: "Nichts ist langweiliger als ein
+Programm, dass endlich fehlerfrei laeuft". Das muss wohl auch auf die
+Hardware zutreffen. Sie haben ein sehr grosses Talent, diesen traurigen
+Zustand nie eintreten zu lassen, aber sie glauben, dass sie permanent mit
+aller Kraft versuchen, diese Situation zu ueberwinden. Sie unterhalten sich
+in einer Weise, dass ein gewoehnlicher Sterblicher bei jedem zweiten Wort
+nicht weiss, wo er nachschlagen koennte - es ist ja auch nicht sicher, dass
+sie sich gegenseitig verstehen. Wenn drei sich unterhalten, kann mindestens
+einer nicht ganz folgen, weil er sich mit einem anderen Spezialgebiet
+befasst. Mit grosser Leidenschaft diskutieren si ueber Programmiersprachen,
+deren Compiler sie sammeln (und auswendig wissen, wie schnell dieselben
+uebersetzen), aber man kann davon ausgehen, dass sie keine einzige dieser
+Sprachen wirklich beherrschen (wenn doch, handelt es sich gewiss um BASIC
+oder FORTRAN), ausgenommen natuerlich die Assemblersprache ihres Prozessors
+(sie gruppieren sich immer um Prozessoren). (So viele Begriffe - also
+Compiler sind Programme, die Programmiersprachen in andere
+Programmiersprachen uebersetzen, was ungeheuer nuetzlich ist, vor allem,
+weil man ja auch die Compiler in irgend einer Sprache schreiben muss - aber
+das ist vielleicht zu hoch. Mit Assemblern (die auch uebersetzen) macht man
+Programme fuer den Menschen unleserlich, woraus die Computerfreaks eine
+ausgedehnte Freizeitbeschaeftigung schoepfen. Sie versuchen vor allem, die
+Programme aus der Maschinensprache wieder rueckzuuebersetzen, um bequemer zu
+sehen, wie miserabel sie geschrieben sind und sie anschliessend grundlegend
+zu verbessern (manchmal tun sie das auch, ohne die Programme
+rueckzuuebersetzen, sie denken also direkt in der Logik der Maschine, was
+grosse Askese erfordert, von ihnen aber lustvoll erlebt wird). Ein Prozessor
+ist das, was eigentlich die ganze Arbeit tut, falls der Computer doch mal
+funktionieren sollte.)
+
+***** Das sind ihre Sprachen *****
+Bei den Programmiersprachen gibt es Modestroemungen, die ungefaehr mit den
+Jahreszeiten wechseln. Man bevorzugt esoterisches wie "C" oder "LISP" bzw
+handfestes (FORTRAN, COBOL), aber eigentlich gibt es fuer jede Sprache
+(PL/1, FORTH) jemanden, der alles uebrige als Quatsch abtut. Was sich gemein
+und wichtig macht, wie ADA, ist schon nicht mehr interessant. Und PASCAL -
+also wenn sie mich fragen, es wird viel zu wenig verstanden... Uebrigens
+gibt es innerhalb einer Programmiersprache mehr Dialekte als zwischen Zella
+Mehlis und der Hauptstadt, woran man die kulturelle Vielfalt dieser Seite
+unserer Zivilisation ablesen kann. Bisweilen kommt es vor, dass sie ueber
+geheimnisvolle Dinge in homerisches Gelaechter ausbrechen (nicht mitzulachen
+ist ein Zeichen mangelnder Intelligenz), zum Beispiel ueber einige
+Assemblerstatements oder die Schaltung eines Datenseparators - ihre Zunft
+scheint eine neue Art von Komik zu kreieren. (Hier muss ich passen - Witze
+kann man nicht erklaeren, auch nicht Computerwitze - man versteht's halt
+oder eben nicht!) So ist ihr Gebiet alles andere als trocken, es lebt,
+System und Software, die nicht laufen wollen, sind eine spannendere
+Herausforderung als ein Dschungelabenteuer. Es waere auch voellig verfehlt,
+sie als Fachidioten oder einseitige Tueftler anzusehen... Ihre Interessen
+scheinen so vielfaeltig, ihre Vorlieben so unterschiedlich zu sein wie die
+Sitten verschiedener Voelker.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Computerfreaks Teil 3 (Dhojakt, 18. Jun 1997, 01:35:01):
+***** Ordnung: Chaos mit System *****
+Haeufig haben sie auch sonst einen ausgefallenen, gehobenen Geschmack, was
+Kunst, Musik, Literatur betrifft, eine Neigung zum Surrealismus oder
+Kubismus (vor allem bei den Gehaeusen) ist nicht selten, dagegen findet man
+kaum Gartenzwerge. Auffaellig ist die in hoeherem Sinne bestehende
+Aehnlichkeit ihrer Wohnungen und Zimmer. Diese sind niemals unpersoenlich,
+wie vielleicht bei Technokraten oder bei Angestellten. Manche sammeln
+Antiquitaeten, zum Beispiel Volksempfaenger oder Kernspeicher. Im Umfeld
+findet man LASER-Freaks. Natuerlich herrscht im engeren Aufenthaltsbereich
+die Technik vor: Man sieht in jedem Fall einen oder mehrere Bildschirme
+(eventuell auch alte Fernseher), diverse Tastaturen und aeltere Essensreste
+herumliegen. Vorzugsweise stecken irgendwo Platinen. Je nach Temperament ist
+alles Drahtige hinter Frontpaneels verborgen (die anderen Frontplattenfreaks
+sind die HIFI-Enthusiasten) oder es schlingen sich lianengleich
+Kabelpipelines durchs ganze Zimmer. Die Regale an den Waenden reichen
+grundsaetzlich nicht aus, um die Ordner mit Disketten und Handbuechern zu
+fassen, auf dem Tisch und am Boden sieht man weitere Stapel, dazu Platinen
+(mit oder ohne Kaefer, haeufig offenbar nur teilweise besetzt), Vorraete an
+Draht und Papier, Loetkolben, Oszilloskope und, daran kann man sie eindeutig
+von den Radiobastlern und Amateurfunkern unterscheiden: Drucker.
+Irgendwelche geoeffneten, demontierten oder aber im Aufbau (oder in beiden
+Stadien gleichzeitig) befindlichen Geraete sind angezeigt. In extremen
+Faellen gleicht das Gelaende einem Kampfgruppenuebungsplatz im Endstadium,
+es tuermen sich mehrere Monatsschichten Zeitschriften, Buecher,
+Schraubenzieher, Unterhosen, Bohrmaschinen, Feilen, Gehaeusebauteile,
+Einkaufsbeutel und Geraete nicht unter der 1000-M-Klasse zu einem Dschungel,
+in dem staendig etwas gesucht wird (vorzugsweise banales Werkzeug wie
+Schraubenzieher, dessen Verlust die Arbeit stundenlang aufhaelt).
+
+***** Ringen um Perfektion *****
+Es ist fuer den Unverstaendigen schwer zu begreifen, woran sie eigentlich
+arbeiten. Befragt man sie, so erhaelt man uebrigens detaillierte und
+geduldige Auskunft darueber, dass sie an etwas arbeiten, was die
+unabdingbare Voraussetzung fuer ein anderes Vorhaben ist, das vielleicht
+seinerseits nur Mittel (zu welchem???) Zweck ist. Nie findet man sie mit
+etwas Endgueltigem beschaeftigt, ja es scheint die Essenz ihres gesamten
+Strebens zu sein, dass sich alles im Fluss befindet. Vielleicht hat ihr
+Hobby ueberhaupt keinen Zweck, und ist somit das Edelste ueberhaupt, sie
+arbeiten unermuedlich fuer etwas, das sie nie erreichen, dem sie nicht
+einmal nahekommen, ein Zustand endloser Glueckseligkeit! Ihr Wissen ist
+immens, sie beherrschen unzaehlige Kniffe, deren Sinn einem Uneingeweihten
+verschlossen bleibt, vor allem aber veraendern und verbessern sie
+Betriebssysteme und Geraete. (Betriebssysteme sind das, worueber sich Laien
+am Computer am Meisten aergern, weil es sie hindert, zu erreichen, was sie
+eigentlichg wollen, als sie sich an die Tastatur setzten.) Staendig kaempfen
+sie gegen den Mangel an Perfektion, die sie doch nie erreichen. Scheinbare
+Perfektion vertuscht den Umstand, dass alles in der Computerwelt
+unvollkommenes Menschenwerk ist. Was dem Normalbuerger an seiner
+Stromrechnung als boeser Auswuchs der Computerei erscheint, ist ja nur die
+Unfaehigkeit beamteter Programmierer - aber das versteht die Oeffentlichkeit
+nicht, dass der Computer ein reines, unschuldiges Werkzeug ist, dem wir nur
+nicht gewachsen sind, weil wir nicht praezise genug denken koennen, um ihn
+anzuweisen. Es ist ueberhaupt kein Problem, in einer Zehntelsekunde durch
+einen unbedachten Tastendruck das Werk von Stunden, Tagen oder gar Monaten
+zunichte zu machen. Es erstaunt, dass oft Computer und Programme fuer teures
+Geld verkauft werden, die niemals vollstaendig funktionieren. Immer gibt es
+Spezifikationen, die unerfuellt bleiben, die Anzahl nichterfuellter
+Eigenschaften ist groesser als das menschliche Vorstellungsvermoegen. Man
+fragt sich, was geschaehe, waere all das vollkommen. Vielleicht darf dieser
+Zustand einfach nicht eintreten, weil es dann nichts mehr zu gruebeln
+gaebe...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Computerfreaks Teil 3 (Murkes, 20. Jun 1997, 09:43:50):
+~#! rn=Dhojakt rt=866590501 rg=kultur
+~#! tid=866590501
+Ich hasse ellenlange dreiseitige Artikel!
+Grimmborn, walte deines Amtes
+Nein nicht die Artikel davor, sondern meinen...
+. Murkes
+
+-----------------------------------------------------------------------------
+
+
+
+Liedtext (Grimmborn, 20. Jun 1997, 13:19:09):
+Hier mal ein Beispiel fuer das Niveau von... ja, was ist es? Fun Punk? Schwer
+zu sagen. Die typos sind original, nicht von mir.
+
+Julia und die Raeuber
+---------------------
+
+Blut Blut Reuber Saufen Blut
+Raub und Mort und
+Ueberfal sind gut Hoch
+fom galgen klingtes fom
+galgen klingtes Raub
+und Mort und Uber
+fal sint gut
+(Subway to Sally)
+
+Grimmborn der Atheist
+P.S. Ja, Zardoz, Du bekommst die Platte wieder...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Liedtext (Kartoffel, 21. Jun 1997, 12:04:40):
+~#! rn=Grimmborn rt=866805549 rg=kultur
+~#! tid=866805549
+
+Hmm Grim*, schau doch mal ,was bei dem Lied zu dem Thema (Text/Musik) steht,
+da wirst Du dann feststellen, dass da 'trad.' steht :)
+Und zu den Typos: Ich find die passen ziemlich gut zum Alter der Saengerin des
+Liedes (sehr viel aelter als 7 duerfte die der Stimme nach nicht sein).
+
+Kartoffel - findet das Lied absolut genial (und nicht nur das)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Liedtext (Wurzel, 22. Jun 1997, 02:54:15):
+~#! rn=Kartoffel rt=866887480 rg=kultur
+~#! tid=866805549
+und alt ist das auch... das mit dem "trad." stimmt wohl, ich kenn das noch
+als kinderlied, und das war lange bevor jemand was mit dem wort punk 
+anfangen konnte :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Fruehstyxradio (Lug, 25. Jun 1997, 02:58:08):
+
+Gerade erinnert mich Grauwolf an einen Dialog zwischen Guergen und Kurt:
+
+Guergen: "Aeh, deine Hose ist auf und da haengt was raus."
+
+Kurt: " Kopp zu Totgeburt! Das ist der Wurm. Er will frei sein, er will
+atmen!"
+
+Blubbernd
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer einen gelangweilten Caradhras (Lug, 26. Jun 1997, 01:57:52):
+
+Besitz stirbt,
+Sippen sterben,
+du selbst stirbst wie sie;
+doch Nachruhm
+stirbt nimmermehr,
+den der Wackre gewinnt.
+
+Besitz stirbt,
+Sippen sterben,
+du selbst stirbst wie sie;
+eins weiss ich,
+das ewig lebt:
+Des Toten Tatenruhm.
+
+Aus den Havamal (Lieder des Hohen = wohl Odin gemeint?) in der Genzmer
+"Nachdichtung". Uebersetzung kann man das nicht nennen, aber schoen.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Nun fuer Caradhras (Lug, 26. Jun 1997, 02:11:56):
+
+Uebersetzungen nordischer Literatur:
+
+Snorra-Edda:
+
+G. Neckel, Die juengere Edda (Duesseldorf 1966).
+->Naja, recht veraltet
+Snorri Sturluson. Prosa-Edda. Altislaendische Goetterdichtung. Uebersetzung
+und KOmmentar von A. Haeny (zuerich 1990).
+-> Modern, aber der Uebersetzer hat ein paar sehr eigenwillige Ansichten.
+
+Lieder-Edda
+
+F. Genzmer, Die Edda (5. Aufl., 1984 Koeln).
+-> Nachdichtung. Sprachlich sehr schoen, aber keine genaue Uebersetzung.
+
+A. Haeny, Die Edda (Zuerich 1987).
+_> Siehe oben.
+
+Und:
+
+Snorri Sturluson, Gylfaginning. Texte. Uebersetzung, Kommentar von G. Lorenz
+(Darmstadt 1984).
+-> Die mythologisch besonders wichtigen "Taeuschungen Gylfi's", einem Teil der
+Snorra-Edda, in einer hervorrangen Ausgabe. Ein grosser Fundus an
+weiterfuehrender Literatur. Waermstens empfohlen.
+
+P.S.: Es gibt noch von mir eine Einfuehrung in die Nordische Mythologie von
+mir. Naja.
+
+Gruss
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Und nochwas (Lug, 26. Jun 1997, 02:16:30):
+
+Fuer Uebersetzungen von nordischer Saga-Literatur, empfiehlt sich nach wie vor
+ein Blick in die (recht alte) Sammlung Thule. Hoechste zeit fuer eine
+Neubearbeitung und Uebersetzung des Materials (ich nicht ;).
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und nochwas (Caradhras, 26. Jun 1997, 02:23:53):
+~#! rn=Lug rt=867284190 rg=kultur
+~#! tid=867284190
+*huepf* *traeller* Mal suchen gehen...
+Dafuer wird mein naechstes Rezept fuer Fischsuppe a la Andi aeeeeeh
+Caradhras dann Dir gewidmet werden... perfekt ist sie noch nicht,
+also die Fischsuppe... vor allem die Knoblauchmayonaisse will noch
+nicht so gelingen wie sie soll.
+
+        Bergchen Caradhras *huepf*     
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Und nochwas (Har, 26. Jun 1997, 09:46:49):
+~#! rn=Caradhras rt=867284633 rg=kultur
+~#! tid=867284190
+Kknoblauchmayonnaise....ganz einfach mit einem elektrischen Kuechenhilfsmitte,
+dasss ich fuer DM 28.- im Mediamarkt (stark!) erworben habe...bei Fragen ->
+Mail
+
+
+Har
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und nochwas (Grimmborn, 26. Jun 1997, 15:46:04):
+~#! rn=Lug rt=867284190 rg=kultur
+~#! tid=867284190
+Zitat Lug:
+P.S.: Es gibt noch von mir eine Einfuehrung in die Nordische Mythologie von
+mir. Naja.
+
+Naja, fuer eine Einfuehrung in deutsche Sprache und Satzbau hats dannn
+offensichtlich nicht gereicht. :-)
+
+Grimmborn der Atheist ist fast 1500 Jahre weiter, bestaunt allerdings immer
+wieder, was Linguisten alles rauskriegen. Man muesste mehr Zeit haben...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Und nochwas (Lug, 26. Jun 1997, 19:17:17):
+~#! rn=Grimmborn rt=867332764 rg=kultur
+~#! tid=867284190
+Na und?
+
+Die Einfuehrung ist orthographisch korrekt. Was hier steht ist egal.
+
+ZUck
+Lug LUg lUg luG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Und nochwas (Grimmborn, 26. Jun 1997, 19:39:21):
+~#! rn=Lug rt=867345437 rg=kultur
+~#! tid=867284190
+Jepp, besser haette ich das auch nicht ausfuehren koennen:
+Was von Lug hier steht ist egal.
+
+Grinsend,
+          Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Und nochwas (Lug, 26. Jun 1997, 20:35:14):
+~#! rn=Grimmborn rt=867346761 rg=kultur
+~#! tid=867284190
+
+Also ich wuerde sogar sagen:
+
+Scheiss die Wand an! Das ist mir doch egal. Sowas von egal ist das sogar ;)
+
+Kurt zitierend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Jam Seite (Wulfere, 28. Jun 1997, 06:03:03):
+Na hier ist eine Traumseite, aber dafuer brauchst du
+'RealAudio'
+
+*  http://eyes.jeffdell.com/real.html
+
+Hippiefreak Wulfere
+
+-----------------------------------------------------------------------------
+
+
+
+Picket Fences (Guldukat,  1. Jul 1997, 18:16:40):
+
+Hallo Picket Fences Fans!
+
+Picket Fences laeuft wieder auf schrott 1 und zwar hat schrott 1 kurzfristig
+pacific drive abgesetzt (werktags 1600) und zeigt stattdessen jetzt die 4.
+staffel (alles neue folgen)
+GD
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Picket Fences (Asmodis,  1. Jul 1997, 21:39:11):
+~#! rn=Guldukat rt=867773800 rg=kultur
+~#! tid=867773800
+Find ich gut, pazific drive war ja das Letzte, Picket Fences kann
+man sich wenigstens anschauen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Hmm... (Grimmborn,  2. Jul 1997, 10:49:11):
+After a while you learn the subtle difference
+Between holding a hand and chaining a soul,
+And you learn that love doesn't mean security,
+And you begin to learn that kisses aren't contracts
+And presents aren't promises
+And you begin to accept your defeats
+With your head up and your eyes open,
+With the grace of a woman, not the grief of a child,
+And you learn to build all your roads
+On today because tomorrow's ground
+Is too uncertain.  And futures have
+A way of falling down in midflight,
+After a while you learn that even sunshine burns if you get too much.
+So you plant your own garden and decorate your own soul, instead of waiting
+For someone to bring you flowers.
+And you learn that you really can endure...
+That you really are strong,
+And you really do have worth
+And you learn and learn
+With every goodbye you learn.
+                -- Veronic Shoffstall, "Comes the Dawn"
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Picket Fences (Cauno,  2. Jul 1997, 13:41:35):
+~#! rn=Asmodis rt=867785951 rg=kultur
+~#! tid=867773800
+Nur leider nicht um die Zeit. Ich hab die Serie sehr gemocht.
+Aber wenn Sch*.1 denkt, jeder guckt anscheinend nur ihren Sender und kriegt
+somit jede Programmaenderung gleich mit, dann koennen sie mich mal.
+Ich nehms ihnen immer noch uebel, was sie mit Star Trek anstellen.
+
+Davon abgesehen zeigen die sowieso erst noch die drei Folgen, die sie bisher
+verschlampt hatten. Dann kommt die 4. Staffel.
+
+Schade um die Serie, aber ohne mich.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Picket Fences (Catweazle,  2. Jul 1997, 19:51:14):
+~#! rn=Guldukat rt=867773800 rg=kultur
+~#! tid=867773800
+Cool, Picket Fences war Klasse.
+hast Du ne Idee, _warum_ PD abgesetzt wurde (hab nie ne Folge gesehen).
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Picket Fences (Guldukat,  2. Jul 1997, 23:18:09):
+~#! rn=Catweazle rt=867865874 rg=kultur
+~#! tid=867773800
+Noe, keine ahnung, aber wahrscheinlich waren die quoten zu schlecht, mal
+schauen was die so hatten. ich hab auch nie ne episode gesehen, sondern
+gestern beim zappen auf picket fences gestossen und war von schrott 1 genauso
+enttaeuscht, dass das so ploetzlich ins programm genommen wurde (dadurch hab
+ich die erste haelfte der neuen episode verpasst).
+nun, die gestrige episode war jedenfalls wieder einfach nur sahne, zach hat
+gewissensbisse wegen des getoeteten schwans und geht in die kriche zum beten,
+da fangen seine haende an zu bluten, die priester denken, es waere ein stigma,
+und zach denkt er waere jesus und beginnt andere leute zu segnen, die kids des
+dorfs laufen ihm hinterher (wie bei leben des prian)
+einfach cool! ;)
+naja, die senden jetzt einen monat lang die 4 staffel (und wie cauno schon
+gesagt hat, die letzten 3 episoden der 3. staffel,die auch noch nicht in
+deutschland gezeigt wurden.)
+
+scheiss schrott 1!!!!!
+GD
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Picket Fences (Conall,  3. Jul 1997, 01:31:18):
+~#! rn=Guldukat rt=867878289 rg=kultur
+~#! tid=867773800
+Huhu,
+
+eigentlich bin ich ja auch Fan von Picket Fences. Fuer amerikanische Serien
+mit ungewoehnlich liberalen Tendenzen versehen. Allerdings beim Theismus und
+der ghrundsaetzlich negativen Darstellung des Atheismus, kommt mir doch die
+Galle hoch ;)
+
+Gruss
+Conall
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Picket Fences (Guldukat,  3. Jul 1997, 12:59:08):
+~#! rn=Conall rt=867886278 rg=kultur
+~#! tid=867773800
+dann haettest du die dienstagsepisode schauen muessen. in anbetracht der
+moeglichkeit, dass zach jesus ist, wird dem sheriff naemlich erstmalig klar,
+dass er in wirklichkeit die frage nach dem glauben immer verdraengt hat und in
+wirklichkeit atheist ist!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Picket Fences (Cauno,  3. Jul 1997, 13:00:39):
+~#! rn=Conall rt=867886278 rg=kultur
+~#! tid=867773800
+Na, so positiv stellen die den Theismus aber auch nicht dar.
+Wenn ich daran denke, wie sich die beiden Dorfpfaffen immer die Schaedel
+einschlagen - es sei denn es geht wirklich darum, die Kirche zu beschuetzen
+...
+Und gerade diese Extremfaelle zeigen, wie bescheuert die Amis sein muessen -
+wenn die wirklich so sind, was ich fast schon glaube.
+
+Was Pacific Drive angeht: Ich hab mal versehentlich fuenf Minuten von der
+Serie gesehen. Ich kann mir also denken, warum sie jetzt nicht mehr laeuft.
+Nach einer Einleitung, die man schon von diversen Seifenopern kennt, kam dann
+ein Vorspann, der ein paarmal das Serienloge abbildete. Danach konnte man
+eindeutig sehen, das die Serie komplett im Studio entstanden sein musste - und
+wohl mit einer Videokamera gefilmt war. Dementsprechend sah das Meterial aus
+...
+
+Mir hats gereicht, um weiterzuflippern.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Picket Fences (Conall,  4. Jul 1997, 01:45:58):
+~#! rn=Cauno rt=867927639 rg=kultur
+~#! tid=867773800
+Hm,
+
+pruegelnde Priester ja, aber sieh Dir die vermittelten Werte in der Familie
+an, bisher jedenfalls. Die Tochter hatte Zweifel, aber die Begruendung war
+arm. Sie war zornig auf ihren Gott, aber nicht wirklich atheistisch. Schade
+Gul, das ich keinen Videorekorder hab und um 16.00 Uhr nicht vorm Fernseher
+sitzen kann. Die Dienstag Folge haette mich maechtig interessiert ;) Der
+Sheriff ein Atheist? Endlich mal Format ;)
+Zaunige Gruesse
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Picket Fences (Guldukat,  7. Jul 1997, 20:14:50):
+~#! rn=Guldukat rt=867878289 rg=kultur
+~#! tid=867773800
+quoten
+
+in d.r.tv.misc hat jemand mal die quoten gepostet:
+
+> Pazific Drive    0,38           4,7%        (Montag,    30.6.)
+> Picket Fences    0,56           7,1%        (Dienstag,   1.7.)
+> Picket Fences    0,55           7,9%        (Mittwoch,   2.7.)
+> Picket Fences    0,65           8,6%        (Donnerstag, 3.7.)
+> Picket Fences    0,84          10,8%        (Freitag,    4.7.)
+
+nun pazific drive war wohl wiklich ziemlich mies ...
+gd
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Picket Fences (Lug,  8. Jul 1997, 01:30:59):
+~#! rn=Guldukat rt=868299290 rg=kultur
+~#! tid=867773800
+Moin,
+
+und wenn die P.F. rechtzeitig angekuendigt haetten, dann waere die Quote wohl
+noch besser. S.HI.T 1 angrummelnd.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Picket Fences (Li,  8. Jul 1997, 10:23:01):
+~#! rn=Lug rt=868318259 rg=kultur
+~#! tid=867773800
+Rechteitige Ankuendigungen auf den Privaten?
+Das glaubst du doch wohl nicht oder? Die Mischen und wechseln ihr Programm
+doch so, wie sie grade Lust haben. Ich habe einmal eine Folge Roseanne
+gesehen, da wurde die ganze Famlie von einen Tag auf den anderen 5 Jahre
+juenger, weil ploetzlich, voellig ohne Ankuendigungen, wieder die alten Folgen
+liefen...
+Li 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Picket Fences (Grimmborn,  8. Jul 1997, 10:54:12):
+~#! rn=Guldukat rt=868299290 rg=kultur
+~#! tid=867773800
+Quote=Qualitaet?
+Da solltest Du aber lieber nochmal drueber nachdenken...
+
+Grimmborn der Atheist hat einen s/w-Fernseher. Ohne Kabel, ohne Schuessel.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Picket Fences (Lug,  9. Jul 1997, 02:00:57):
+~#! rn=Grimmborn rt=868352052 rg=kultur
+~#! tid=867773800
+
+Also im Vergleich zu Tits-on-bikes (oderwieauchimmerderQuatschhiess) ist
+Picket Fences ein Serienmeisterwerk. Nagut, auch im Vergleich mit anderen
+Serien.
+
+Eine Pulle Old Smuggler schwenkend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Picket Fences (Cauno,  9. Jul 1997, 12:36:22):
+~#! rn=Li rt=868350181 rg=kultur
+~#! tid=867773800
+Diese Kreiswiederholungen kennt man ja schon von M.A.S.H. auf PRO7 (frueher
+mal) und Kabel 1 (jetzt) - Die neueste Staffel ist zu Ende, also zeigt man
+wieder die ersten Folgen. Grade bei den Comedyserien hat sich das inzwischen
+eingebuergert.
+
+Was mich bisher am meisten angestunken hat, war eine Aktion von Kabel 1:
+Die wiederholten naemlich Donnerstags abends den fuenfteiler von James
+Micheners "Space". Die ersten beiden hab ich gesehen, als ich den dritten
+gucken wollte, kam auf einmal eine boese Ueberraschung: Da lief auf einmal ein
+so grottenschlechter Abenteuer/Horrorfilm, dass sogar der
+Hardcore-Trashfilmfan das Kotzen gekriegt haette (nicht wegen der Szenen,
+sondern wegen der Handlung).
+Am naechsten Tag (man geht ja wie ueblich in die Uni) erfahre ich von meiner
+Mom, dass am Morgen in der eigentlich en Wiederholung wieder "Space" gesendet
+wurde!. Und trotz Videorecorder konnte ich mir die Teile in den Wind
+schreiben.
+
+Ein Erklaerung hierfuer haben wir immer noch nicht gefunden. Und Kabel 1 zu
+fragen ist sicher nicht gerade aufschlussreich.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Aus dem Irischen: (Lug, 11. Jul 1997, 01:19:14):
+
+Edward Lysaght (1763-1810), Kate of Garnavilla
+
+Have you ever been in Garnavilla, or have you seen in
+Garnavilla the gay young girl of the golden locks, my
+sweetheart, Kate of Garnavilla?
+
+She's whiter than the swan on the pool, or the snow on the
+crest of the bending bough; her kiss is sweeter than the dew
+on the rose, my sweetheart, Kate of Garnavilla.
+
+Her song is more tuneful than the blackbird or thrush, or
+the nightingale on the willow bough; like a ship in sail on
+the mistless wave I see my sweet in Garnavilla...
+
+Echt uebel. Schuld ist Dancer, der die Fernsteuerung kontrolliert!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Was kymrisches (d.h. aus Wales): (Lug, 11. Jul 1997, 01:26:11):
+Aus dem kymrischen Epos Goddoddin, dem Dichter Aneirin (ca. 7 Jh.)
+zugeschrieben, in der Uebersetzung von K. H. Jackson:
+
+The warriors arose together, together they met, together
+they attacked, with single purpose; short were their lives,
+long the mourning left to their kinsmen. Seven times as
+many English they slew; in fight they made women widows,
+and many a mother with tears at her eyelids...
+
+Jaja, nehmt Euch das zu Herzen, Trves!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Zephyr gewidmet! (Lug, 11. Jul 1997, 01:41:28):
+Wie man Raumbeschreibungen anders gestalten koennte, demonstriert Tadhg Dall O
+hUiginn (1550-91), einem der besten klassisch-irischen Dichter:
+
+The Praise of Fermanagh
+
+The paradise of Ireland is Fermanagh, the peaceful fruitful
+plain, the land of bright dry smooth fields, in form like the
+shores of Heaven.
+
+The cry of her waves is heavenly music, golden flowers on
+her land, a honeyed vision is the sweetness of her streams,
+and the tresses of her wood bowed down.
+
+Smooth glens above tilled plains, blue brooks above the
+glens; a wood of yellow nuts beyond the flowers, a golden
+plumage of leaves enfolding it.
+
+It is enough to take all fever from a man - the brownness
+of her branches, the blue of her waters, the redness of her
+leafage, the brightness of her clouds; heavenly is her soil
+and her sky.
+
+Like the songs of Paradise through the plaintive sweet blue-
+welled land is the sound of her pure sandy streams mingles
+with the angelic voice of her birds.
+
+Indeed, no tongue can tell half her beauty, the land of
+tender curly crops, of shallow brooks; what is it but the
+true paradise of Ireland? ...
+
+Auch von Kenneth H. Jackson uebersetzt. Typisch uebrigends die Darstellung des
+Landes als Frau. In Irland auch heute noch eine gelaeufige Konvention.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Wichtel in der Nacht (Lug, 11. Jul 1997, 23:37:02):
+
+Lamyra wollte diesen Text ja verhindern. Frauen eben. Darum sei dieses Werk
+Horst Horstmanns, welches den deutschen Schlager revolutionierte, ihr
+gewidmet:
+
+Wichtel in der Nacht (Nach der Melodie Strangers in the Night)
+
+Wichtel in der Nacht
+Einsame Seelen, tun sich in zu enge Hose quaelen
+Wichtel in der Nacht
+Sind klein und so allein
+Wichtel in der Nacht
+Ham rote Muetzen, ertrinken oft sogar in Regenpfuetzen
+Oder man tritt drauf, weil man sie gar nicht sieht
+Wichtel in der Nacht
+Sie wollen Frauen, tun sich allerdings dann doch nicht trauen
+Fragen sie halt nie, gehen ihnen bis zum Knie
+Bleiben dann allein die Nacht von Schnauzbarttraegern ausgelacht
+Wichtel in der Nacht
+Sind zwar gescheiter, brauchen an der Bar aber 'ne Leiter
+Tun erst furchtbar cool und kippen dann vom Stuhl
+Wichtel in der Nacht
+Sind klein und mickrig, geben nie ein' aus
+Sind aeusserst knickrig
+Kaufen sauren Wein und kippen Suesstoff rein
+Wichtel in der Nacht
+Mit langen Baerten, kacken ohne Scham in Vorstadtgaerten
+Wichtel sind so klein und manchmal auch gemein
+Wenn sie sich schon nicht sofort erhaengen
+Wollen wenigstens sie sich den Kopf zusengen
+Saufen und sind froh, enden auf dem Klo
+Kotzen sich die Seele raus und gehen dann allein nach Haus
+Wichtel in der Nacht
+Ham kurze Beine, die Welt is' aber gross voll dummer Schweine
+Drum bleiben sie im Wald und werden einsam alt
+
+Naja, so ist das nuneinmal
+
+[Grunzlaute und Rotztoene von Onkel Hotte]
+
+Soooosihddas aus
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Gedicht, zwo, drei! (Yendi, 14. Jul 1997, 10:07:15):
+
+
+Hans Georg Stengel
+
+   Extempore
+
+   Wo man hobelt, kraeht kein Hahn,
+   grober Klotz ist halb gewonnen.
+   Was sich neckt, ist alt getan,
+   wie gebettet, so zerronnen.
+
+   Blindes Huhn sieht mehr als zwei,
+   steter Tropfen kommt von oben,
+   Aug um Aug verdirbt den Brei,
+   Ende gut ist aufgeschoben.
+
+   Gottes Muehlen beissen nicht,
+   keine Rose hat zwei Seiten,
+   wenn sie auch die Wahrheit spricht.
+   Guter Rat kruemmt sich beizeiten.
+
+   Frisch gewagt, faellt selbst hinein,
+   unrecht Gut will Weile haben.
+   Morgenstunde hoehlt den Stein,
+   wer zuletzt lacht, liegt begraben.
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Und noch eins! (Yendi, 14. Jul 1997, 11:19:52):
+
+
+
+Ingrid Kuehn
+  
+      Kanalisation
+
+      Wenn er auch sonst sich nicht mehr findet -
+      der zwischenmenschlich gute Ton,
+      ist eines doch, was noch verbindet -
+      naemlich die Kanalisation.
+
+      Was muehvoll sucht man zu gestalten,
+      in all den Kommunalregionen,
+      kann subterrarisch sich entfalten,
+      weil starke Kraefte in ihr wohnen!
+
+      Die sanitaere Reinlichkeit
+      laesst leichter sich wohl klaeren
+      als aller Leut Parteienstreit
+      und andres Volksbegehren.
+     
+      Hier laufen die Ideen zusammen
+      von unterschied(t)lichster Natur,
+      gleich welchem Hirne sie entstammen
+      sie fliessen auf derselben Spur!
+
+
+Also: Das naextemal, wenn man sich ueber die Umgangsformen im MUD aergert:
+Scheiss drauf, das verbindet!   :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bier bleibt Bier (Dieder, 15. Jul 1997, 23:27:33):
+Bauchige b|rgerliche bayrische Bier-Brauer brauen bestdndig bestens bekanntes
+bayrisches Bier,
+besonders beliebtes billiges Bed|rfnis br|derlichen Beisammenseins
+bierfreundlicher Bajuwaren.
+Blo_ bvswillige Banausen behaupten bekanntlich, berauschendes Bier beherrsche
+Bayern, bereits
+begreiflicherweise bodenlose Besdufnisse, begr|ndete Bier-Bduche, beraube
+barmherzige Br|der
+bitter benvtigter Brotnahrung, bringe bvses Blut. Besagte Beleidigung
+bestreiten biedere
+Besserwisser. Belebendes Bier bereitet berauschende, begl|ckende,
+bacchantische Belustigung,
+bewerkstelligt breites B|ndnis bierfreudiger Bevvlkerung, beschafft
+Bier-Brauern bleibende
+Beschdftigung bis bedauernswerter baldiger Beerdigung. Bevor brauchbare
+Beweise bekannte
+beleidigende Behauptungen bestdtigen, bleibt bayrische Bevvlkerung bravourvs
+beim beseligenden
+Becher besten bayrischen Bieres.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bier bleibt Bier (Dieder, 15. Jul 1997, 23:28:03):
+~#! rn=Dieder rt=869002053 rg=kultur
+~#! tid=869002053
+sorry fuer Umlaute und Formatierung... cut&paste versagt :(
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bier bleibt Bier (Gralkor, 16. Jul 1997, 10:37:40):
+~#! rn=Dieder rt=869002053 rg=kultur
+~#! tid=869002053
+Ne, Bayern sind DOOF und stinken, ausserdem (MEIST) unsympatisch, und BIER
+koennen die NICHT brauen.
+
+Gralkor, etwas gegen Leute, die suedlich des Weisswurstaequators leben, habend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bier bleibt Bier (Grimmborn, 16. Jul 1997, 11:34:36):
+~#! rn=Gralkor rt=869042260 rg=kultur
+~#! tid=869002053
+Du hast was gegen diese Leute?
+Cool, gib mir doch mal nen Tip. Ich suche schon ewig nach einem geeigneten
+Gegenmittel...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+CD (Cerebus, 16. Jul 1997, 16:15:16):
+Nur mal so am Rande:
+
+Es gibt eine sehr geniale CD mit allen Remixen des Lieds "Themenlaeden" von
+den Sternen. Unbedingt mal anhoeren!
+
+Cerebus
+
+-----------------------------------------------------------------------------
+
+
+
+Weil Dancer was dagegen hat: (Lug, 18. Jul 1997, 01:06:47):
+
+Partet Lovers
+
+There is a youth comes wooing me; oh King of Kings,
+may he succeed! would he were stretched upon my breast,
+with his body against my skin.
+
+If every thing were as I wish it, never should we be far
+divided, though the hint is all too little, since he does not
+see how the case is.
+
+It cannot be, till his ship comes home, a thing most pitiful
+for us both; he in the east and I in the west, so that our
+desires are not fulfilled again.
+
+K. H. Jackson, der es aus dem Gaelischen uebersetzt hat, weisst das gedicht
+Isobel, Graefin von Argyll zu (15. Jh.). Baeh eine Campbell oder was?
+
+;)
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht (Sunflower, 18. Jul 1997, 01:09:21):
+War schonmal da, aber fuer die neueren:
+Ein Gedicht ueber einige Zustaende:
+
+Ihr habt kein Brot,
+Kein Arbeitsplatz, kein Leben.
+Ihr denkt Auslaender sind Schuld an der Not,
+und denen wollt ihr es jetzt geben.
+
+Ihr wollt Deutsche sein,
+euch gehoert das Land.
+Ihr lasst keine Auslaender rein,
+steckt Asylantenhaeuser in Brand.
+
+Ein Deutsches Reich wollt Ihr,
+Und euren Fuehrer wollt Ihr wiederhaben.
+Doch eurer Fuehrer ist nicht hier,
+der ist laengst begraben.
+
+So waehlt Ihr einen neuen,
+damit er fuer euch denkt.
+Ihr fuehlt euch als seine Getreuen,
+denen er seine Aufmerksamkeit schenkt.
+
+So zieht Ihr durch die Lande,
+zuendet Haeuser an und macht Krach.
+Fuehlt euch wunderbar stark in eurer Bande,
+doch alleine seid Ihr schwach.
+
+Deutschland den Deutschen das wollt Ihr,
+um das zu erreichen wollt Ihr nicht ruhn, sondern bleibt alle wach
+wollt keine Auslaender hier,
+ach Leute, denkt doch einmal N A C H.
+
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Buch (Lug, 18. Jul 1997, 01:12:14):
+
+Kenneth Hurlstone Jackson, A Celtic Miscellany. Penguin Classics. ISBN 0 1 4
+044.247 2
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bier bleibt Bier (Caradhras, 18. Jul 1997, 08:59:55):
+~#! rn=Grimmborn rt=869045676 rg=kultur
+~#! tid=869002053
+Ey, Teefrosch, was hast Du gegen mich??
+Ich weiss, wohl nix effizientes. :)
+
+         Caradhras - im tiiiiefsten Bayern suedlich der Donau
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gedicht (Pampers, 18. Jul 1997, 10:08:00):
+~#! rn=Sunflower rt=869180961 rg=kultur
+~#! tid=869180961
+Ach Sunflower.
+Musst Du Deine Pseudobetroffenheit wirklich jedem auch noch ein zweites Mal
+einhaemmern?
+Muss wirklich alle 5 Minuten gesagt werden, wass eh jeder weiss?
+Musst Du wirklich immer was sagen, auch wenn Du nichts zu sagen hast?
+Kannst Du nicht einfach wenigstens von Zeit zu Zeit mal fuer kurze Zeit die
+KLappe halten?
+
+Pampers. ignoriere Sunflower. ignoriere sunflower.news. /gag *Sunflower*
+
+-----------------------------------------------------------------------------
+
+
+
+mal wieder ein gedicht (Sunflower, 18. Jul 1997, 14:10:22):
+Ich liege hier in einer Gasse,
+neben mir noch eine Flasche Bier,
+oh wie ich dieses Land hasse,
+ich bleib nicht laenger hier.
+
+Ich bring mich um,
+dann hab ich keine Sorgen mehr,
+keiner noergelt mehr an mir rum,
+oh wie wuensche ich mir das so sehr.
+
+Endlich bei Satan sein,
+alles hinter mir lassen,
+dann fuehl ich mich auch nicht mehr so klein,
+kaum hab ich's gedacht, beginnt er schon meine Hand zu fassen.
+
+Er fuehrt mich fort von hier,
+weit weit entfernt von diesem Ort,
+so reisen wir,
+von hier fort.
+
+Ich seh alles genau vor mir,
+die vielen Stunde auf Jobsuche,
+meinen Freund das Bier,
+und das eine Tolkien Buche.
+
+Dann seh ich sie - die Frau die ich mochte,
+sie hat mich verlassen,
+oh wie mein Herz damals pochte,
+von da an begann ich mich selbst zu hassen.
+
+Doch das alles ist nicht mehr,
+Nie wieder Alk - nie wieder Omas Kartoffelbrei,
+seh nie wieder das schoene blaue Meer,
+es ist alles vorbei.
+
+
+Dann kommen wir schon an,
+in der Hoelle - meinen kleinem Reich,
+hier unten verspuere ich soetwas wie Fun,
+meine Knie sind auch nicht mehr so weich.
+
+Hier habe ich meine Ruhe und geniesse das Dasein,
+Hier hab ich alles was ich brauche,
+bin nie wieder allein,
+und sinniere ueber mein Leben waehrend ich eine rauche.
+
+(c) 1997 Sunflower
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re: mal wieder ein gedicht (Hardil, 18. Jul 1997, 14:26:50):
+~#! rn=Sunflower rt=869227822 rg=kultur
+~#! tid=869227822
+Grimmborn,
+
+such Dir aus, ob Du das Gedicht nach Schmarrn oder Muell verlegst.
+Aber verleg es, denn nach Kultur gehoert sowas ja wohl nicht. Da revoltieren
+ja saemtliche Geschmacksnerven.
+
+-Hardil. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: mal wieder ein gedicht (Amaryllis, 18. Jul 1997, 14:30:42):
+~#! rn=Sunflower rt=869227822 rg=kultur
+~#! tid=869227822
+waaaaaaah
+
+kannst du ned mal den 2. Vers in die Realitaet umsetzen?
+
+Ama*, extrem genervt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: mal wieder ein gedicht (Gast2, 18. Jul 1997, 17:16:29):
+~#! rn=Amaryllis rt=869229042 rg=kultur
+~#! tid=869227822
+Wenn Euch sein Schmarrn stoert, dann bestellt doch Kultur ab.
+Ist doch wohl ziemliche Geschmackssache, was in so ein paar
+Knittelversen drinstehen soll oder nicht.
+
+Gloin ... der von Pampers im Dummsabbeln locker ausgestochen wird.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: mal wieder ein gedicht (Chaodyn, 20. Jul 1997, 20:38:44):
+~#! rn=Sunflower rt=869227822 rg=kultur
+~#! tid=869227822
+irgendwie bedauerndswert, dieser mensch
+
+------
+patryn, mitfuehlend, bedauernd, bemitleidend, beleidigend
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal n Gedicht. (Alete, 21. Jul 1997, 09:31:37):
+
+If love's a sweet passion, why does it torment?
+If a bitter, oh tell me, whence comes my content?
+Since I suffer with pleasure, why should I complain
+Or grieve at my fate when I know 'tis in vain?
+Yet so pleasing the pain is, so soft is the dart
+That at once it both wounds me and tickles my heart.
+
+(wahrscheinlich von Thomas Betterton)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: mal wieder ein gedicht (Grimmborn, 21. Jul 1997, 10:02:52):
+~#! rn=Hardil rt=869228810 rg=kultur
+~#! tid=869227822
+Im Prinzip juckts mich schon deutlich in den Fingern, aber ich sehe mich nicht
+als kompetent an, zu entscheiden, wes Kultur ist und was nicht. Solange ich es
+fuer moeglich halte, dass Leute existieren, die sowas wirklich fuer Kultur
+halten, verlege ich das nicht.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: mal wieder ein gedicht (Yendi, 22. Jul 1997, 14:18:15):
+~#! rn=Sunflower rt=869227822 rg=kultur
+~#! tid=869227822
+
+ 
+    Oh would sae pow'r the giftie gi'e us
+    To see oursels as others see us,
+    It would frae mony a blunder free us
+    And foolish notion.
+ 
+(Aeh -- Thomas Burnes? *gruebel*)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zitate (Yendi, 24. Jul 1997, 16:25:20):
+
+Also nochmal, fuer die Windeltraeger unter uns...
+
+Isaac Asimoc, "Foundation"-Trilogie:
+"Violence is the last resort of the incompetent."
+ 
+Jerry Pournelle:
+"Because only the incompetent wait until the last before using it."
+ 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitate (Lug, 24. Jul 1997, 23:59:32):
+~#! rn=Yendi rt=869754320 rg=kultur
+~#! tid=869754320
+
+Tja Yendi,
+
+der Unterschied liegt darin, das Asimov Intelligenz besitzt. Pournelle dafuer
+ein ultrarechter ist.
+
+Tjae
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: mal wieder ein gedicht (Gralkor, 25. Jul 1997, 11:26:51):
+~#! rn=Grimmborn rt=869472172 rg=kultur
+~#! tid=869227822
+IHR habt doch ALLE nen Hack weg.
+Wer meint, das ist Kulur, soll das Ding lesen, und gut finden, wer nicht,
+solls lesen, und ruhig sein, wer meint, seinen Kommentar dazu ablssen zu
+muessen, soll das auch tun, aber wer meint, die Zeitung VOLLMUELLEN zu
+muessen, soll DAS bitte SEIN lassen !!!
+
+Gralkor, genervt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: mal wieder ein gedicht (Pampers, 25. Jul 1997, 11:31:16):
+~#! rn=Gralkor rt=869822811 rg=kultur
+~#! tid=869227822
+> Aber wer meint, die Zeitung VOLLMUELLEN zu muessen, soll DAS bitte SEIN
+lassen !!!
+
+Kennst Du das Sprichwort mit dem Glashaus?
+
+Pampers. Steinewerfer.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: mal wieder ein gedicht (Hardil, 25. Jul 1997, 13:56:32):
+~#! rn=Pampers rt=869823076 rg=kultur
+~#! tid=869227822
+
+Heisst das nicht: 
+
+Wer im Hoersaal sitzt, sollte nicht nach Schweinen werfen?
+
+Pampers. Sag mal was.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: mal wieder ein gedicht (Engywuck, 25. Jul 1997, 18:33:37):
+~#! rn=Hardil rt=869831792 rg=kultur
+~#! tid=869227822
+Nein nein nein.
+
+Wer im Hoersaal sitzt, soll nicht mit Scheinen werfen.
+
+Wer im Schlachthaus sitzt, soll nicht mit Schweinen werfen.
+
+So ist das, 
+      Engy*
+
+-----------------------------------------------------------------------------
+
+
+
+Alamannenausstellung (Lug, 25. Jul 1997, 22:10:03):
+
+Moin,
+
+
+nach dem heutigen Besuch der Alamannenausstellung in Stuttgart kann ich die
+dortige Ausstellung durchaus empfehlen. Sie ist definitiv nicht so ueberladen,
+wie die FRankenausstellung. Ein paar mehr erklaerende Tafeln, wuerden sicher
+auch dem Laien helfen, aber wer archaeologisch interessiert ist, sollte
+reinsehen und mind. 3-4 h Geduld mitbringen.
+
+Gruss
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Alamannenausstellung (Lug, 25. Jul 1997, 22:12:06):
+~#! rn=Lug rt=869861403 rg=kultur
+~#! tid=869861403
+
+Aeh,
+
+ignoriert die Typos! Ich hatte wenig Schlaf ;)
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: mal wieder ein gedicht (Rantanplan, 28. Jul 1997, 22:40:23):
+~#! rn=Engywuck rt=869848417 rg=kultur
+~#! tid=869227822
+Was jetzt kommt ist sicher keine Kultur ;-)))
+
+Weil ich so betroffen sein tu
+schreib ich ein Gedichtelein
+Einzig was ich brauch dazu
+Ist ein irre schlechter Reim
+
+So schreib ich ach wie schlecht die Welt
+wie garstig doch mein Seelenleid
+dann fuehl ich mich gleich wie ein Held
+und zeig mental bescheidenheit
+
+Oe*
+
+P.S.: Stimmt es eigentlich, dass NAzis rechts sind, hab ich letztens in den
+St. Pauli Nachrichten gelesen...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: mal wieder ein gedicht (Lug, 29. Jul 1997, 00:53:57):
+~#! rn=Rantanplan rt=870122423 rg=kultur
+~#! tid=869227822
+
+St.Pauli Nachrichten? Ist das wie die FAZ nur aus Hamburg?
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: mal wieder ein gedicht (Cauno, 30. Jul 1997, 11:15:23):
+~#! rn=Engywuck rt=869848417 rg=kultur
+~#! tid=869227822
+Das heisst:
+Populanten von Domizilen mit transparenter fragiler Aussenstruktur sollten
+sich von der Umfunktionierung von gegen Deformation resistenter Materie zu
+Wurfprojektilen distanzieren.
+
+Auch nach der neuen (nun doch gecancelten) Rechtschreibung.
+
+C. No
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: mal wieder ein gedicht (Acrimon, 30. Jul 1997, 14:13:04):
+~#! rn=Cauno rt=870254123 rg=kultur
+~#! tid=869227822
+Kleiner Hinweis: Bei den Nachrichten genauer zuhoeren!
+Die Rechtschreibung ist nicht gecancelt, sondern lediglich in nur *einem*
+Bundesland ein wenig *aufgeschoben*.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+kulturgut (Sunflower, 31. Jul 1997, 01:43:09):
+Auferstanden aus Ruinen (Nationalhymne der DDR)
+
+Auferstanden aus Ruinen
+Und der Zukunft zugewandt,
+La  uns dir zum Guten dienen,
+Deutschland, einig Vaterland.
+Alte Not gilt es zu zwingen,
+Und wir zwingen sie vereint,
+Denn es mu  uns doch gelingen,
+Da  die Sonne sch/n wie nie
+ ber Deutschland scheint,
+ ber Deutschland scheint.
+
+Gl^nck und Frieden sei beschieden
+Deutschland, unserm Vaterland.
+Alle Welt sehnt sich nach Frieden,
+Reicht den V/lkern eure Hand.
+Wenn wir br^nderlich uns einen,
+Schlagen wird des Volkes Feind!
+La t das Licht des Friedens scheinen,
+Da  nie eine Mutter mehr
+Ihren Sohn beweint,
+Ihren Sohn beweint.
+
+La t uns Pfl^ngen, la t uns bauen,
+Lernt und schafft wie nie zuvor,
+Und der eignen Kraft vertrauend,
+Steigt ein frei Geschlecht empor.
+Deutsche Jugend, bestes Streben,
+Unsres Volks in dir vereint,
+Wirst Du Deutschland neues Leben,
+Und die Sonne sch/n wie nie
+ ber Deutschland scheint,
+ ber Deutschland scheint.
+
+
+
+                    --=== bluemchen ===--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: mal wieder ein gedicht (Lug, 31. Jul 1997, 01:43:39):
+~#! rn=Acrimon rt=870264784 rg=kultur
+~#! tid=869227822
+
+Tja Acrimon,
+
+warum sollte einer diese Nachricht genau lesen? Die Reform kennt ja auch kaum
+einer. Ich zitiere nochmal diesen F.D.P. Abgeordneten:
+
+"Ich bin gegen die reform, weil ich Schiffahrt weiterhin mit drei f schreiben
+will."
+
+Alles klar?
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: mal wieder ein gedicht (Cauno, 31. Jul 1997, 10:48:48):
+~#! rn=Lug rt=870306219 rg=kultur
+~#! tid=869227822
+Ausserdem hiess es in den Nachrichten wirklich, die Rechtschreibreform sei
+gestorben. Genauso wie die Steuerreform. Wobei man da immer noch auf irgendwas
+hoffen soll ... Ich frag mich langsam, wozu die Typen eigentlich ihr Geld
+kriegen ...
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: mal wieder ein gedicht (Lug,  1. Aug 1997, 16:03:35):
+~#! rn=Cauno rt=870338928 rg=kultur
+~#! tid=869227822
+Moin,
+
+spes saepe fallit, aber die Finanzminister werden den Abgeordneten wohl mal
+dringend die Kosen fuer einen Stopp der Rechtschreibreform mitteilen muessen.
+Das kaeme naemlich schweineteuer. Ausserdem ensteht dann das Problem, wie man
+die dringend benoetigten Veraenderungen dann durchsetzt. Stueckchenweise? Na
+toll.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: mal wieder ein gedicht (Fyt,  4. Aug 1997, 13:50:06):
+~#! rn=Lug rt=870444215 rg=kultur
+~#! tid=869227822
+
+Dringend benoetigte Veraenderungen? Sorry, Lug, dass ich Dir nicht ganz
+folgen kann, es sei denn, Du meintest 'dringend notwendige Veraenderungen
+im Bildungssystem, das nicht mehr in der Lage ist, den Kindern Grundlagen
+im Lesen, Schreiben (und Rechnen) beizubringen'.
+
+Nur *dazu* braucht man keine Rechtschreibreform nach dem Motto: Ach was,
+unsere Kinder koennen 8*12=96 nicht mehr ausrechnen, dann definieren wir
+Muplika... ach was... 'Mal-nehmen' einfach als was, wo vorne zwei Sachen
+reinkommen und hinten eine raus und haben bei der Gelegenheit auch noch die
+Biologie der Wirbeltiere mit erschlagen...
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: mal wieder ein gedicht (Hardil,  5. Aug 1997, 11:29:47):
+~#! rn=Fyt rt=870695406 rg=kultur
+~#! tid=869227822
+Recht so, Fyt.
+Und die Sache mit den Kosten sehe ich auch nicht so. Auch wenn die Verlage
+gross 
+herumjammern, weil sie seit 1996 bereits auf die "neue" Schlechtschreibung 
+umstellen - dafuer haben sie einen guten Reibach gemacht, weil sich viele
+Deppen neue Lexika und aehnliches gekauft haben.
+Was spricht denn dagegen, wenn die Verlage einfach fuer die umgestellten
+Buecher wieder die alten Druckfilme herausholen? Wenig. Und das Geld, dass sie
+in ihre Lektoren gesteckt haben, die die Buecher umgestellt haben:
+Vielleicht gibts ja rueckwirkend ABM-Gelder. :-)
+
+-Hardil. Froh, dass Hessen mal zu etwas zu gebrauchen sind.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: mal wieder ein gedicht (Murkes,  9. Aug 1997, 09:46:05):
+~#! rn=Hardil rt=869831792 rg=kultur
+~#! tid=869227822
+Das heisst richtig:
+wer im Hoersaal sitzt soll nicht mit Scheinen werfen --  sondern sie fangen!
+
+Murkes, verbessert Pampers.
+
+-----------------------------------------------------------------------------
+
+
+
+nochn film (Wurzel, 11. Aug 1997, 20:03:54):
+wieder mal im kino gewesen...
+
+hamlet von und mit kenneth branagh ist ein film speziell fuer freunde von
+shakespeare. im gegensatz zur sonst ueblichen verstuemmelung des werks hat
+kenneth branagh das komplette werk verfilmt, was sich in der laenge von
+vier stunden niederschlaegt. dabei wird das ganze doch etwas dialog- bzw.
+monologlastig, ist also trotz mord und totschlag kein actionstreifen :)
+dafuer aber wunderschoen fotografiert. das ganze ist angesiedelt in einem
+fiktiven daenemark des letzten jahrhunderts, wenn man den kostuemen glaubt.
+der text ist aber unverfaelscht, wie es sich gehoert.
+den hamlet spielt branagh selbst (natuerlich), und er hat das ganze zu einer
+grandiosen selbstdarstellung gemacht. an manchen stellen erschien es mir zu
+sehr aufgetragen, als habe er sich ein denkmal setzen wollen; an den stellen
+waere etwas weniger sicherlich mehr gewesen. so aber bleibt der film hinter
+branaghs meisterwerk henry v. zurueck, ist aber trotzdem ausgesprochen
+sehenswert. leider war es trotz anderslautender ankuendigung eine deutsch
+synchronisierte kopie, und so fiel die diskrepanz zwischen mundbewegungen
+und gehoertem wort doch teilweise deutlich auf, jedenfalls bei der stark
+ausgepraegten mimik von kenneth branagh. wir sind ja alle eher nuschelnde
+us-schauspieler gewoehnt, wo das kaum eine rolle spielt...
+in (kleinen) nebenrollen waren wieder eine menge von stars aufgeboten:
+charlton heston, gerard depardieu, robin williams, richard attenborough, und
+noch mehr, deren namen mir jetzt nicht mehr einfallen. die wichtigeren
+nebenrollen waren natuerlich mit "richtigen" schauspielern besetzt, die kein
+aas kennt :)
+fazit: geschmackssache. mir hat der film sehr gut gefallen, aber das kann
+durchaus an meinem verdrehten geschmack liegen :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: nochn film (Grimmborn, 11. Aug 1997, 20:43:00):
+~#! rn=Wurzel rt=871322634 rg=kultur
+~#! tid=871322634
+Langsam wirds mir wirklich peinlich, ich gebe immer Wurzel contra...
+
+Also, ich hab Hamlet auch gesehen, gleich nachdem er angelaufen ist. Im
+Original (angekuendigt und ausgefuehrt). Sprachlich und inhaltlich kann man
+nicht meckern, aber das ist man bei Shakespeare ja nicht anders gewohnt. Und
+die Bilder waren auch schoen bis schwuelstig-ueberladen, Geschmackssache, aber
+mir hats durchaus gefallen.
+Aber.
+Wir leben im ausgehenden 20. Jahrhundert, mit einer riesigen Menge
+Arbeitsloser. Ich kann mir einfach nicht vorstellen, dass es da nicht etliche
+gaebe, die in der Lage sind, eine halbwegs anstaendige Filmmusik zu basteln.
+Was Hamlet da bietet ist eine echte Zumutung, erst recht ueber diese Laenge.
+Und das ist keine Geschmackssache. Wenn ich sage, den Soundtrack wuerden sich
+nur Masochisten holen, ist das keine Polemik. So dermassen nichtssagend und
+platt, das habe ich noch bei keinem B-Film erlebt. Wenn man den dann noch
+synchronisiert sieht wuerde ich empfehlen: Oropax reinstecken, Story kennt man
+eh, und man ist die deutsche Sprache (die trotz guter Uebersetzungen nie an
+das schoene Shakespearean english rankommt) und vor allem die Musik los.
+Sicher sind die ganzen Stars beeindruckend, aber das hat auch eine negative
+Seite. Da das Niveau so unterschiedlich ist, fallen Leistungen, die man
+woanders nicht bemerkt oder sogar gelobt haette, negativ auf, weil sie zu sehr
+nach unten abstechen
+Fazit: Brannaghs schlechtester Film bisher, wobei mein Favorit (mit Abstand)
+"Much ado about nothing" ist. Und ich sicher nicht alle seiner Filme kenne.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: nochn film (Wurzel, 11. Aug 1997, 20:51:36):
+~#! rn=Grimmborn rt=871324980 rg=kultur
+~#! tid=871322634
+tja, ich sach ja geschmackssache...
+filmmusik mag ja in nichtssagenden streifen sinnvoll sein. in einem film, der
+vom wort lebt, hat sie eigentlich nichts zu suchen. mich hat sie nicht nur
+nicht gestoert, ich habe sie gar nicht gehoert... vielleicht war das ja ein
+"feature" der deutschen fassung.
+natuerlich bin ich mir nicht ganz sicher, alle filme von branagh zu kennen,
+glaube aber schon mal einen gesehen zu haben, der mir weniger gefallen hat.
+und selbst sein schlechtester film steht meiner meinung nach deutlich ueber
+dem, was man normalerweise im kino geboten bekommt. normalerweise gibt es nur
+wenige filme, die wenigstens schon im titel zum ausdruck bringen, was einen
+erwartet: dumm und duemmer...
+soll nicht heissen, es gaebe keine anderen schoenen filme. aber der schnitt
+liegt doch arg weit unten.
+
+wurzel
+
+p.s. wenn grimmborn mir nicht widerspricht, habe ich immer irgendwie das
+gefuehl, was falsch ausgedrueckt zu haben :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: nochn film (Grimmborn, 11. Aug 1997, 20:56:58):
+~#! rn=Wurzel rt=871325496 rg=kultur
+~#! tid=871322634
+Ja, vielleicht bin ich bei Musik nur empfindlich, das kann sicher sein...
+Aber wenn eine Filmmusik nicht mehr nicht auffaellt, sondern massiv stoert
+(und mit der Meinung war ich nach der Vorstellung nicht ganz alleine), dann
+ist das sehr schlecht. Und auch ein "Wortfilm" kann durch Musik gewinnen, im
+Extremfall kann man da Opern nennen (Wagner waere ohne Musik deutlich
+schlechter. Oder noch weniger ertraeglich, wie man will). Ich weiss nicht, was
+man sonst im Kino geboten bekomt, ich gehe i.a. sehr selektiv ins Kino. Aber
+ich sage ja, wenn die Musik nicht so nerven wuerde waere das ein sehr
+passabler Film, dass der eine oder andere Schauspieler nicht so ideal spielt,
+ist meist ein Thema fuer hinterher und faellt zumindest bei kleineren Rollen
+nicht unmittelbar stoerend ins Gewicht.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: nochn film (Patryn, 11. Aug 1997, 21:00:28):
+~#! rn=Wurzel rt=871325496 rg=kultur
+~#! tid=871322634
+also meine letzten 2 filme waren einmal:
+ haudrauf mit jacki chan und
+ schlemmermal fuer dinos II
+nein: ich brauchte nicht nachdenken, wirklich empfehlenswert :)
+
+------
+patryn, fuer kultur
+
+PS: schlemmermaHl, ich weiss :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: nochn film (Wurzel, 11. Aug 1997, 21:02:12):
+~#! rn=Patryn rt=871326028 rg=kultur
+~#! tid=871322634
+auch eine art kultur... hab ich auch mal gesehen. waren zwar nicht die
+gleichen titel, aber irgendwie doch die gleichen filme.
+
+einmal reicht.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: nochn film (Murkes, 12. Aug 1997, 11:25:11):
+~#! rn=Patryn rt=871326028 rg=kultur
+~#! tid=871322634
+Das nehme ich Dir glatt ab, Patryn :)
+Passt irgendwie zu Dir...
+Murkes, sich mal wieder meldend, damit Patryn sich nicht unbeachtet vorkommt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: nochn film (Patryn, 12. Aug 1997, 11:46:43):
+~#! rn=Murkes rt=871377911 rg=kultur
+~#! tid=871322634
+unbeobachtung? biste etwa vom verfassungsschutz? *argl*
+
+------
+patryn, unter verfolgungswahn leidend
+
+PS: ach ja, anaconda ist auch schon, noch weniger nachdenken, noch mehr
+    spannung...ideal fuer leute wie mich und dich....oder dich und mich?
+    wie sagt man das nur? da gabs doch son spruch mit nennen und esel
+     *gruebel* hach herje, denken strengt halt doch zu sehr an :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: nochn film (Grimmborn, 12. Aug 1997, 12:14:25):
+~#! rn=Patryn rt=871379203 rg=kultur
+~#! tid=871322634
+Nein, Schrumpfi war vom Verfassungsschutz. Deswegen ist sie jetzt ja auch
+geloescht und gebanished...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: nochn film (Murkes, 12. Aug 1997, 13:42:21):
+~#! rn=Patryn rt=871379203 rg=kultur
+~#! tid=871322634
+Naja, vielleicht heisst es auch: Fuer Leute wie Dich und nicht fuer mich?
+Ach ja, ich unterscheide zwischen 'beachtet' und 'beobachtet'
+Murkes (grinst Patryn an, werden wir je auf einen Nenner kommen...)
+
+-----------------------------------------------------------------------------
+
+
+
+Familiengeschichte revisited (Highlander, 26. Aug 1997, 12:39:12):
+                       I.  Wie alles begann
+
+"Tja, da sass ich nun. Hatte bei dieser Flut das Kaetzchen gefunden.
+Konnte noch nicht mal richtig fauchen und sass da auf dem Inselchen,
+mutterseelenallein. Offensichtlich war es auf dem Baumstamm angetrieben,
+der da zwischen der Marke des hoechsten Wasserstandes und dem derzeitigen
+Wasserpegel lag. Der Hoechststand war schon zwei Tage her, und so
+jammerte das Kleine hungrig vor sich hin. Und ich wusste nicht, was tun.
+
+Naja, so ging das nicht weiter. Ich musste das Kaetzchen wohl mitnehmen
+und fuettern. Was mir gleich das naechste Problem brachte. Wie transpor-
+tiert man ein kleines Kaetzchen, wenn man nur zwei Loewentatzen (absolut
+nicht zum Festhalten geeignet), zwei "Haende" mit Adlerklauen und einen
+Raubvogelschnabel (nur bedingt zum Festhalten geeignet, da spitz und/oder
+scharf) hat? Gruebelnd kratzte ich mich erst mal am Kopf.
+
+In meinen Taschen hatte ich auch nichts geeignetes dabei, also flog ich
+erst mal zu meinem Horst und holte ein paar breite Leinenstreifen. Die
+waren eigentlich fuer einen Sonnenschutz gedacht, aber in Abwesenheit
+meines Transportkorbes, der grad bei dem Haendler stand, wo ich immer
+wieder mal Sachen einkaufte, die man in der Wildnis nicht bekommt, hielt
+ich diese Stoffstreifen fuer das beste, um das Kleine zu tragen. Wenn sich
+jetzt jemand wundert - nun, ich mag zum Beispiel sehr gerne suesses Gebaeck,
+und so was ist nur schwer zu erjagen. Magie hilft einem halt auch nicht
+immer.
+
+Aber sie kann einem schon helfen, wenn man keine Haende hat wie diese
+bodengebundenen Rassen. Das zeigte sich, als ich wieder an der temporaeren
+Insel ankam. Ein simpler Zauber zum Bewegen von Objekten und etwas Uebung,
+schon kann man einen Knoten in einen Stoffstreifen machen. Nachdem ich das
+Kaetzchen sicherheitshalber in Schlaf versetzt hatte, schob ich es in die
+dadurch entstandene Haengematte, nahm den Knoten vorsichtig in den Schnabel,
+weil ich lieber die Klauen frei habe beim Flug, und machte mich auf den
+Heimweg.
+
+Was mich wieder an den Anfang meiner Geschichte bringt. Da sass ich nun in
+meinem Horst, das Kaetzchen vor mir liegend. Eltern hatte es wohl keine
+mehr, und wenn, dann wusste ich nicht, wie ich sie finden sollte. Ach ja,
+das Kaetzchen war uebrigens ein Tigerjunges, genauer gesagt ein Tigerjunge.
+Ich verglich es mit kleinen Greifen und schaetzte mal, dass es schon Fleisch
+fressen konnte, was mich doch ziemlich erleichterte. Das Problem war schon
+mal geloest. Hm, aber Tiger sind Bodenlebewesen. Das vertraegt sich nicht
+mit einem Greifenhorst, der hoch im Gebirge ist. Zum einen brauchte der
+Kleine Platz zum Laufen und trainieren, zum anderen war er bestimmt nicht
+so trittsicher wie eine Gemse oder so. Seufz. Das bedeutete einen Umzug,
+zumindest zeitweise. Und ich hasse Umzuege. Aber ich fuehlte mich dazu
+verpflichtet, den Kleinen aufzuziehen. Kam wohl davon, dass ich selber nicht
+von meinen Eltern aufgezogen wurde, sondern von einem Drachen. Wenn ich mal
+Zeit habe, erzaehle ich euch die Geschichte, aber es ist eine Geschichte
+fuer eine andere Zeit, nicht fuer heute abend.
+
+Langsam wurde das Kaetzchen wieder wach. Es rappelte sich auf (das ist gar
+nicht so einfach, wenn man den Boden eines Greifenhorstes nicht gewohnt ist)
+und ging ein paar Schritte. Allerdings tanzte es mehr hin und her und kam
+dabei langsam vorwaerts - noch recht tapsig, was nach dem Schlafzauber
+kaum anders zu erwarten war. Das brachte mich auf eine Idee. Schliesslich
+brauchte der Kleine noch einen Namen. Fuer die Wahl eines Namen gibt es ja
+viele verschiedene Gebraeuche. Da gibt's zum Beispiel einen Menschenstamm,
+da waehlen die Leute ihren Namen selber, wenn sie alt genug sind, und ab
+und an, wenn sie sich sehr aendern, aendern sie ihren Namen auch mal.
+Andere wieder kriegen von ihren Eltern den Namen irgendeines beruehmten
+Mitglieds ihrer Rasse. Bei uns Greifen liefert meistens eine Eigenschaft
+oder ein Verhalten den Namen - unter Greifen heisse ich zum Beispiel GrayWing,
+also GrauFluegel, weil eben meine Fluegelfedern grau sind, was selten genug
+ist, um deswegen einen Namen vergeben zu koennen. Die Menschen nennen mich
+anders. Fragt mich nicht, wieso sie nicht meinen Greifennamen nehmen, ich
+weiss es nicht. Bei ihnen heisse ich, weil ich so weit oben im Gebirge
+wohne, Highlander - Der aus dem Hohen Land. Na, immer noch besser als
+FumbleClaw, wie eine Greifin heisst, die ich kenne. Sie hatte das Pech,
+als sie noch klein war, oefter mal auf dem Boden ueber ihre eigenen Klauen
+zu stolpern. Aber was rede ich da - ich wollte euch doch sagen, wie ich
+den kleinen Tiger nennen wollte. Nun, seine tanzartigen, wenn auch
+schwankenden, Schritte gaben mir den entsprechenden Hinweis. Wie sich
+herausstellte, war es eine gute Wahl - er bewegt sich noch heute mit einer
+taenzerischen Grazie, wie sie selbst bei Tigern selten ist. Ich beschloss,
+den Kleinen Dancer, also Taenzer, zu nennen.
+
+Oh, ich sehe, es ist schon spaet. Entschuldigt mich bitte, eine das Wasser
+liebende Freundin hat mich zum Tee eingeladen. Zum Glueck kennt sie da
+eine praktische Magie, die es mir moeglich macht, mich unter Wasser zu
+bewegen und zu atmen wie ueber dem Wasser. Praktisch, wenn man als
+Meerjungfrau Besuch von Lebewesen aus dem trockenen Reich bekommt. Ja,
+wie gesagt, ich muss weg. Wenn ihr wollt, erzaehle ich euch gerne mal
+mehr. Also, macht es gut, und einen schoenen Abend noch."
+
+Der Greif, der seinen Kopf beim Erzaehlen auf die Vorderlaeufe gelegt
+hatte, stand auf, streckte seine breiten Fluegel nacheinander aus und
+schuettelte sich einmal kraeftig. Bevor er davonflog, drehte er sich
+noch einmal um und grinste seine Zuhoerer auf Greifenart mit halboffenem
+Schnabel an.
+
+"He, und seid nicht so hart zu den Abenteurern, ja?"
+
+Dann machte er einen Satz in den dunklen Abendhimmel und flog mit
+gemaechlichen Fluegelschlaegen davon.
+
+Ein Hobbitjunge warf ein grosses Holzscheit auf das Feuer und meinte: "Er 
+weiss doch, dass die immer anfangen." Dann zog er einen Brotlaib aus dem
+neben dem Feuer liegenden Rucksack, der selbst fuer einen ausgewachsenen
+Hobbit viel zu gross war. "Noch jemand ein Stueck?"
+
+
+-----------------------------------------------------------------------------
+
+
+
+Liedwunsch (Yendi, 27. Aug 1997, 15:26:59):
+
+
+
+Wohlan, auf vielfachen Wunsch zweier Herren,
+zu singen auf die Melodie von "Lady in Black"
+(ihr wisst schon: "She came to me one morning..."),
+
+
+DAS MARZIPAN-LIED 
+von Norbert & die Feiglinge.
+============================
+
+Ich ess so gerne Marzipan, 
+es geht nichts ueber Marzipan,
+ich denk den ganzen Tag daran, 
+nur dafuer schlaegt mein Herz.
+
+Ich ass grad einen Pelikan 
+aus allerfeinstem Marzipan,
+da ploetzlich durchfuhr meinen Zahn 
+ein fuerchterlicher Schmerz:
+
+Aaaaah....
+
+Verdammt, da war ein Loch im Zahn, 
+das kommt von zuviel Marzipan!
+Ich rief sofort den Doktor an 
+und sprach von meinem Leid.
+
+Der Doktor war ein weiser Mann, 
+man sah's ihm an der Brille an.
+Er sagte nur:       "Na dann, 
+machen sie den Mund mal auf und sagen sie mal
+
+'Aaaaaaah...'"
+
+Er murmelte "Mein lieber Schwan"
+und irgendwas von "Schlendrian",
+dann fing er gleich zu bohren an
+mit furchtbarem Radau.
+
+(im Hintergrund Bohrersirren)
+
+Es tat zuerst fast gar nicht weh,
+ich dachte "Kerl, was bist Du zaeh
+und tapfer!", doch dann traf er einen 
+Nerv und zwar genau...
+
+AAAAAAAAAHH...
+
+Oh bitte, Doktor, sei human,
+ich hab doch keinem was getan!
+Ich sage auch dem Marzipan
+fuer alle Zeit Adee!
+
+Er fuellte ihn mit Amalgam,
+den Rest von meinem Backenzahn,
+dann sagte er: "Na, junger Mann,
+wo tut's denn jetzt noch weh?"
+
+"Daaaaa..."  "Hier?"  "JAAAAAA!"
+
+"Den muessen wir wohl ziehn, den Zahn.
+ Ham wir noch 'nen Termin im Plan?
+ Brigitte, klaeren sie das doch bitte
+ mit dem jungen Herrn mal ab."
+
+Das war die Zahnarzthelferin;
+sie war so schoen, ich war ganz hin
+und weg. Sie fragte zaertlich,
+welche Blutgruppe ich hab.
+
+"A..." "Und die Krankenkassen?" "AOK"
+
+Das war ja fast wie im Roman!
+Verliebt bin ich nach Haus gefahrn:
+Sie hatte sich fuer meine 
+Krankenkasse interessiert!
+
+Seitdem verlier ich Zahn um Zahn,
+ich ess noch vielmehr Marzipan,
+weil jedes kleine Loch ein 
+Wiedersehen garantiert.
+
+Und wenn ich jetzt hier sitz und schrei,
+dann ist das voellig einerlei,
+ich leide gern, mein Leid ist
+durch die Liebe motiviert!
+
+Aaaaah...
+
+
+Fuer die korrekte Wiedergabe des Texte wird keine Garantie gegeben, da ich
+dieses Machwerk bisher noch nie im Original, sondern immer nur in der Version
+eines Bekannten gehoert habe...
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+3 Ravens (Yendi,  4. Sep 1997, 20:27:05):
+
+Kennt jemand ein mittelalterliches Lied namens "The three Ravens"?
+Es soll angeblich von diversen Folksaengern ausgegraben worden sein.
+
+Der Text beginnt mit
+
+"There were three ravens sat on a tree,
+ lalilalalalila,
+ they were as black as they might be
+ with a lalalalala,
+ and one of them said to his mate
+ 'And where shall we our break-fast take?'
+ With a lalalalalalalalalala.
+
+ Behold the lass in yon great field,
+ lalilalalalila,
+ where lies a knight slain und'r his shield
+ with a lalalalala,
+ and at his feet his faithful hound,
+ the master guarding can be found...
+
+
+Kann irgendwer mir den Text komplett zuschicken?
+
+Danke!
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Computer poetry (Highlander, 12. Sep 1997, 13:09:46):
+~#! on=Highlander ot=874062454 og=witze
+If a packet hits a pocket on a socket on a port, and the bus is
+interrupted as a very last resort, and the address of the memory
+makes your floppy disk abort, then the socket packet pocket has an
+error to report.
+
+
+If your cursor finds a menu item followed by a dash, and the
+double-clicking icon puts your window in the trash, and your data is
+corrupted 'cause the index doesn't hash, then your situation's
+hopeless and your system's gonna crash!
+
+-----------------------------------------------------------------------------
+
+
+
+More computer poetry (Highlander, 12. Sep 1997, 13:25:27):
+If the label on the cable on the table at your house, says the
+network is connected to the button on your mouse, but your packets
+want to tunnel on another protocol, that's repeatedly rejected by the
+printer down the hall, and your screen is all distorted by the side
+effects of gauss, so your icons in the window are as wavy as a souse,
+then you may as well reboot and go out with a bang, 'cause as sure as
+I'm a poet, the sucker's gonna hang!
+
+
+When the copy of your floppy's getting sloppy on the disk, and the
+microcode instructions cause unnecessary risk, then you have to flash
+your memory and you'll want to RAM your ROM. Quickly turn off the
+omputer and be sure to tell your mom.
+
+
+Nein, mehr habe ich auch nicht.
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Babylon 5 (Guldukat, 22. Sep 1997, 22:35:10):
+Die Videothek Atlantis in Recklinghausen hat jetzt babylon 5 auf englisch, die
+ersten 2 1/2 staffeln
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Babylon 5 (Cauno, 23. Sep 1997, 13:08:22):
+~#! rn=Guldukat rt=874960510 rg=kultur
+~#! tid=874960510
+Jetzt erst? Hier in Koeln gabs den Pilotfilm bereits ein Jahr vor der
+Erstsendung auf Pro 7, und kaufen kannst du fast saemtliche Serien im
+Original, wenn du weisst, in welchem Geschaeft ...
+Naja, vielleicht gibt es hier etwas mehr Konkurrenz auf dem Gebiet als
+anderswo.
+
+C. No
+
+(Nein, ich hetze nicht gegen Recklinghausen!!!)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Babylon 5 (Lug, 23. Sep 1997, 13:09:01):
+~#! rn=Cauno rt=875012902 rg=kultur
+~#! tid=874960510
+Aeh,
+
+was hat Recklinghausen denn mit Kultur zu tun?
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Babylon 5 (Guldukat, 23. Sep 1997, 19:09:36):
+~#! rn=Cauno rt=875012902 rg=kultur
+~#! tid=874960510
+es geht ja gerade um das _nicht_ kaufen zu muessen, sondern fuer einen
+laecherlichen betrag von DM 3 die cassetten _auszuleihen_, denn das ist es,
+was eine videothek macht! ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Babylon 5 (Li, 24. Sep 1997, 09:40:51):
+~#! rn=Cauno rt=875012902 rg=kultur
+~#! tid=874960510
+Kann man auch schon die 4.Staffel von B5 kaufen?
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Babylon 5 (Guldukat, 24. Sep 1997, 18:25:00):
+~#! rn=Li rt=875086851 rg=kultur
+~#! tid=874960510
+Leider nein, die englischen kaufcasseten gehen bis mitte dritter staffel
+(messages from earth ist die letzte episode) und kommen monatlich mit einer
+cassette weiter raus (2 episoden).
+geruechteweise sendet pro7 ab mitte oktober die ersten 3 staffeln als
+wiederholung und im anschluss daran die 4.staffel (also januar)
+gd
+
+-----------------------------------------------------------------------------
+
+
+
+der held (Wurzel, 29. Nov 1997, 13:33:40):
+der held
+
+intro: melodie vom deutschlandlied (punkversion)
+
+du kommst dir furchtbar gut vor und ueber andere ziehst du her
+nur weil du springerstiefel hast bist du noch lange nicht mehr
+
+du traegst dein herz am rechten fleck, rechts ist dein gebot
+braun sind deine gedanken, denn scheisse ist nicht rot
+deine fahne weht stolz im wind, dein gegroehle ist laut
+du siehst dich gern als grosser held doch bis jetzt hast du nur mist gebaut
+
+oh du mein grosser held, der kleine kinder schlaegt und quaelt
+der sich nur wie ein arschloch geben kann, bald bist du dran
+
+und brennt ein asylantenheim verlierst du keine zeit
+den scheiterhaufen zu entfachen das ist fuer dich ne kleinigkeit
+und im schutz der dunkelheit da bist du ohne rast
+da sieht man nicht dein arschgesicht und dass du keine haare hast
+
+oh du mein grosser held...
+
+dein kahler kopf ist voll mit dreck du bist manipuliert
+dass du ein bloedes herdentier bist hast du noch nie kapiert
+fuer den rest deines lebens bleibst du ein mieses schwein
+dass du dumm und daemlich bist passt nicht in deinen kopf hinein
+
+oh du mein grosser held...
+
+die verlorenen soehne
+
+
+-----------------------------------------------------------------------------
+
+
+
+ich bin nicht du (Wurzel, 29. Nov 1997, 13:44:41):
+ich bin nicht du
+
+ihr denkt ihr koennt mich lenken in eure welt
+aber wisst ihr wofuer ich lebe, wisst ihr was fuer mich zaehlt
+ich hab nicht eure werte und ihr nicht mein gefuehl
+ihr wisst nicht was ich brauche und ihr wisst nicht was ich will
+
+du wirst mich nicht veraendern, nicht in tausend jahren
+du wirst mich nicht veraendern, nicht mal im leichenwagen
+du willst mich nicht verstehen, du hoerst mir nicht mal zu
+ich bin nicht dein spiegel, ich bin nicht du
+
+ihr werdet nichts erreichen wenn ihr mich kritisiert
+ich entscheide fuer mich selbst und ich weiss was mit mir passiert
+ich kaempf fuer meine welt, fuer gedankenideale
+fuer die freiheit meiner lieder und fuer alles was ich sage
+
+du wirst mich nicht veraendern...
+
+die verlorenen soehne
+
+-----------------------------------------------------------------------------
+
+
+
+ZWERGENLIEDER (Qitess,  1. Dez 1997, 13:21:54):
+
+Poch, poch, poch, mein Haemmerlein, 
+Such mir Silber im Gestein!
+Ob ich heut' noch etwas find' ?
+Draussen weht der Abendwind
+                              uebers weiche Moos.
+
+Kleiner Troll vom hohen Wald,
+Komm aus Deinem Felsenspalt!
+Willst Du nicht die Elfen sehn,
+Die im Sternenschimmer gehn
+                               uebers weiche Moos?
+
+Komm hervor und zeige dich
+freundlich und verneige dich.
+Ihre Elfenmelodie
+Klingt so lieblich wie noch nie
+                                  uebers weiche Moos.
+
+Sollst von Herzen froehlich sein,
+Tanz mit ihnen Ringelreih'n,
+Aber folge ihrer Spur
+Bis zur zwoelften Stunde nur
+                               uebers weiche Moos!
+
+Kleiner Troll vom hohen Wald,
+Komm aus deinem Felsenspalt!
+Willst Du nicht die Elfen sehn,
+Die im Sternenschimmer gehn
+                              uebers weiche Moos?
+
+QI** 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ZWERGENLIEDER (Posco,  2. Dez 1997, 19:37:34):
+~#! rn=Qitess rt=880978914 rg=kultur
+~#! tid=880978914
+Zwergenkrieger - los zackzack,
+Hau dem ELf die Ruebe ab,
+und du kicherst immer noch,
+wenn du buddelst ihm ein Loch,
+                              in dem weichen Moos.
+
+Nichts fuer ungut, Dein Lied ist wirklich schoen,
+aber ich konnte nicht widerstehen...
+
+Posco (Knurt)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ZWERGENLIEDER (Bottom,  3. Dez 1997, 18:32:06):
+~#! rn=Posco rt=881087854 rg=kultur
+~#! tid=880978914
+
+
+ Schlachten habe ich viele geschlagen,
+ Brauchte dazu nicht erst Muttern zu fragen!
+ Den Weiberroecken war ich nicht abgeneigt,
+ Habe es Feinden und Maegden gezeigt
+                              hinter dem weichen Moos. 
+
+ Komm, schoenes Maedchen, und folge mir,
+ Heute will ich alles von dir!
+ Zier dich nicht und lass mich ran, 
+ Will zeigen Dir, was ich alles kann
+                              auf dem weichen Moos.
+
+ Wir wollen mehr als nur Lachen und Lustigsein, 
+ Voellern und Zechen nur vom besten Wein!
+ Ein lauschiges Plaetzchen lass uns suchen, 
+ Brauchen keine grosse Reise zu buchen, 
+                              uebers weiche Moos.
+
+ So war es frueher, in meinen jungen Jahren,
+ Zog die Maedels ab an gueldenen Haaren. 
+ Heute bin ich alt und grau,
+ Wenn ich in des Weihers silbernen Spiegel schau
+                              inmitten des weichen Moos.
+
+ Kommt in das Alter, in dem man sich zur Ruhe setzt,
+ Der Sensenmann unerbittlich seine grosse Sichel wetzt,
+ Ueber meine Rede moegt ihr Lachen oder Weinen,
+ Bald gehoert auch ihr zu den Seinen
+                              untern dem weichen Moos.
+
+Bottom ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ZWERGENLIEDER (Qitess,  6. Dez 1997, 00:23:33):
+~#! rn=Posco rt=881087854 rg=kultur
+~#! tid=880978914
+da kann ich nur eines sagen : 
+
+K O E S T L I C H !!!
+
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: ZWERGENLIEDER (Qitess,  6. Dez 1997, 00:25:09):
+~#! rn=Bottom rt=881170326 rg=kultur
+~#! tid=880978914
+und Bottom :
+DAS is doof.
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+schweisser (Wurzel,  7. Dez 1997, 11:33:25):
+etwas sonntagmorgen-musik, geeignet saemtliche nachbarn in zorn zu versetzen,
+kommt von der band "schweisser"...
+
+warum machst du es dir so schwer 
+schau dir doch die anderen an
+mach dir keine hoffnungen denn irgendwann kriegen wir dich
+irgendwann brichst du zusammen 
+lange haeltst du das nicht durch
+
+du wehrst dich, du leidest, du zappelst - wie lang noch
+komm zu uns, vertrau mir und lass dich gehn
+und nimm ein maul voll - tu's
+na komm friss scheisse
+beim ersten mal tuts noch weh doch bald gefaellt es dir
+
+friss
+
+wir zerbrechen deinen willen
+wir zerstoeren deinen stolz
+du bist nur ein einzelner
+wir sind ein millionenheer
+
+du wehrst dich...
+
+schluck alles was wir sagen
+schluck alles was wir tun
+schlucke unsere exkremente
+druecke dein gesicht hinein
+
+du wehrst dich, du leidest, du zappelst - wie lang noch
+komm zu uns, vertrau mir, komm zu uns - friss scheisse
+
+friss
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: schweisser (Yendi,  8. Dez 1997, 11:32:59):
+~#! rn=Wurzel rt=881490805 rg=kultur
+~#! tid=881490805
+
+Aeh -- heissen die "Schweisser" oder "Scheisser"?
+Nur so zur Sicherheit...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: schweisser (Wurzel,  8. Dez 1997, 18:38:26):
+~#! rn=Yendi rt=881577179 rg=kultur
+~#! tid=881490805
+schweisser mit w :) aktuelle cd: heiland, darauf ist auch das lied zu hoeren.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+ Famous last words (Rantanplan,  9. Dez 1997, 23:00:06):
+
+Yo !
+
+Oetti wollte noch irtgendwas pathetisches loswerden:
+
+You breaK MY back
+You won'tbreak me
+All is black
+But I still see
+Shut me down
+Knock me to the floor
+Shoot me up
+Fuck me like a whore
+
+Trapped under ice
+comfortably cold
+I've gone as low as you can go
+Feel no remorse
+No sense of shame
+Tinme's gonna wash away all pain
+
+I made a god out of blood
+not superiority
+I killed the king of deceit
+now I sleep in anarchy
+
+Sacrifice to the cause
+turn your code into law
+compensate to validate the loss
+take a thief
+and nail him to a corss
+
+Gosel of rage
+Faction of hate
+Deviate from the absolute
+Born of revenge
+Raised on cement
+Chaos create a government
+
+Boah ehhh voll die Message (In case anyone gets it)
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+scheisser (Magnus, 10. Dez 1997, 18:55:24):
+was hat das mit ultur zu tun?
+
+-----------------------------------------------------------------------------
+
+
+
+Re:  Famous last words (Helva, 12. Dez 1997, 21:15:08):
+~#! rn=Rantanplan rt=881704806 rg=kultur
+~#! tid=881704806
+Ich bin ja so ungebildet... von wem ist denn der text?
+Oder waren das oe** famous last words ;)
+Helva heute mal wieder neugierig ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Text des Monats (Yantro, 15. Dez 1997, 14:54:22):
+
+Oh the snowflakes fell in silence
+Over Belleau Wood that night
+For a Christmas truce had been declared
+By both sides of the fight
+As we lay there in our trenches
+The silence broke in two
+By a German soldier singing
+A song that we all knew
+
+Though I did not know the language
+The song was "Silent Night"
+Then I heard my buddy wisper, 
+"All is calm and all is bright"
+Then the fear and doubt surrounded me
+'Cause I'd die if I was wrong
+But I stood up in my trench
+And I begin to sing along
+
+Then across the frozen battlefield
+Another's voice joined in
+Until one by one each man became
+A singer of the Hymn
+
+Then I thought that I was dreaming
+For right there in my sight
+Stood the German soldier
+'Neath the falling flakes of white
+And he raised his hand and smiled at me
+As if he seemed to say
+Here's hoping we both live
+To see us find a better way
+
+Then the devils's clock struck midnight
+And the sky lit up again
+And the battlefield where heaven stood
+Was blown to hell again
+
+But for just one fleeting moment
+The answer seemed so clear
+Heaven's not beyond the clouds
+It's just beyond the fear
+
+No heaven`s not beyond the clouds
+It's for us to find it here.
+
+("Belleau Wood" v. Garth Brooks)
+
+
+Allen eine stille Weihnacht ohne Sorgen.
+
+Yantro, immer noch weinend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Text des Monats (Qitess, 15. Dez 1997, 15:13:33):
+~#! rn=Yantro rt=882194062 rg=kultur
+~#! tid=882194062
+...(wenn ich koennte, muesste ich jetzt in halbsogrossen lettern
+schreiben/fluestern)
+
+und wenn ich nicht im cip-pool saesse, wuerde ich auch flennen.
+
+QI** findet sowas schoen.
+
+P.S.: um mal wieder auf den boden der tatsachen zurueckzukehren, finde ich es
+eigentlich armselig von der menschheit, also auch von mir, ich will und kann
+mich da nicht ausklammern, dass der gedanke an fremdes leid und fremde not
+fast immer nur und da vermehrt zu weihnachten aufkommt. sollte man nicht
+lieber auch mal mitten im schoensten 'un-besinnlichen' sommer daran denken,
+dass es leute gibt, an die man denken sollte? ich finde es natuerlich schoen
+und gut, dass im advent viel gespendet wird, aber die aktionen laufen auch den
+rest des jahres. 
+
+und jetzt entschuldigung, dass mein P.S. laenger als der artikel war.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Around the Corner (Nomina, 17. Dez 1997, 19:47:56):
+Around the Corner (by Henson Towne)
+
+Around the corner I have a friend.
+In this great city that has no end,
+Yet the days go by and weeks rush on,
+And before I know it, a year is gone.
+And I never see my old friends face,
+For life is a swift and terrible race,
+He knows I like him just as well,
+As in the days when I ran his bell.
+And he rang mine if, we were younger then,
+And now we are busy, tired men.
+Tired of playing a foolish game,
+Tired of trying to make a name.
+<<Tomorrow>> I say <<I will call on Fred>>
+<<Just to show that I'm thinking of him.>>
+But tomorrow comes and tomorrow goes,
+And distance between us grows and grows.
+Around the corner! - yet miles away,
+<<Here's a telegram, Sir>>
+<<Fred died today.>>
+And that's what we get and deserve in the end.
+Around the corner, a vanished friend.
+
+Nomina, immer noch ganz nachdenklich.
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht (Freund,  3. Feb 1998, 15:38:02):
+~#! on=Claymore ot=886516219 og=allgemeines
+Traeume des Vergessen wollens streifen mein Gehirm
+Windung um Windung wird abgegrast
+Keine will ausgelassen sein
+Die kosequenz ist der Tod des Denkens
+
+Jungfraeuliche Blicke huschen durch den Raum
+
+Eigentlich bin ich noch zu Nuechtern um zu schreiben
+
+Die Soccerspieler mit ihrem unmelodischem Geknalle
+Stehen im krassen Gegensatz zur Musik
+Doch keiner beschwert sich
+Der Fluch des Individualismuses
+Kommentarlos kann man stoeren
+
+Wieviele Menschen werden noch gemordet
+Ehe Mann erkennt das Krieg scheisse ist
+
+Eigentlich sollte die Melodie meinen Verstand einlullen
+Eigentlich sollte ich mit einer Dame hier sein
+
+Wenn die Vorstellung nicht der Wahrheit entspricht tanzt auch keiner mehr
+
+Man beluegt sich doch das ganze Leben lang nur um nicht einer Veraenderung
+ausgesetzt zu sein die durch das echte Leben indizirt wird
+
+Gewandet muss man weniger zahlen, aber was wenn das Geld zum Gewande fehlt
+
+Inzwischen sind die Aufspielenden auf die Tanzflaeche gegangen, weil diese
+immernoch vor leere Gaehnt!
+
+Ich wuerde gerne tanzen , aber es wird wohl nicht gern` gesehen, oder?Wenn ich
+tanze ist das Volk in meinem Ruecken, ich sehe es nicht
+Sieht deswegen der Koenig sein Volke nicht??
+
+Flaue Gespraeche ueber nichts wabern an mir vorueber
+Nicht einmal die Lust aufzustehen ist vorhanden. Nichts, Gar nichts!
+
+Ich war grad pissen, bei Aussentemperatur (-7C), ich denke ich muss auch
+kacken, aber bei der Kaelte?
+
+Alle stehen rum zucken ihre Leiber doch im Takt
+Fehlt es dieser Welt an Mut?
+
+Zaeh fliessen die Woerter aus meiner Feder
+Will ich ueberhaupt noch schreiben
+Das wo ich doch nicht mal weiss was ich morgen machen soll!!!
+
+Ich sauf' jetzt fast jeden Tag, nichts zu tun, zu viel zu tun
+Alles fuer'n Arsch, alles fuer die Katz,
+Ich hab nie geglaubt das mich eine Frau so mit energie fuellen kann
+
+Liege morgens wach und denke wieder so ein fuck Tag , der sich nur mit der
+Illusion eines Computerspiels herum bringen laesst, weil ich nicht gleich
+morgen anfangen will zu saufen
+
+Noch eine Ziegarette, noch etwas Wein, was soll es sein??
+
+Wenn ich mich umbringen wuerde, dann morgen, dann wuerde ich wenigstens
+gluecklich mit 'ner Latte sterben
+
+So gerne wuerde ich 20 Biere trinken, aber ich will nicht bei dieser Kaelte
+pissen gehen. Fuck!
+
+Zum glueck werden alle langsam besoffen, ich nicht
+
+Ich denke nicht!!!!!
+
+Tauschhandel, fuer einen Zug am Joind gibt man seinen Wein
+
+Alle wollen in einen andere Welt, aber keiner schafft sie sich
+
+Gluecklich ist der Glueckliche
+Ungluecklich der Unglueckliche
+Ich glaube es ist umgekehrt
+
+Wie soll man denn die Welt veraendern wenn sie nicht zuhoert
+Hoert ihr die Erde weinen?
+
+Ist es der Lohn der arbeit saufen zu koennen um die arbeit zu vergessen
+
+Irgent so ein scheiss hund bellt hier rum und mir traenen die augen vor rauch
+
+Eigentlich muessten die Deutschen die Auslaender doch lieben
+Sie brauchen sich nicht, sie koennen sich nicht mal mit ihnen unterhalten
+
+Wenn du nur theoretisch leben willst, warum willst du dann real saufen?
+Ist der alkohol die Missgeburt des denkens?
+
+Irgentwann wird man den gehalt eines Buches nur an seiner Wortzahl messen!
+
+Wird durch das Geld ein Bankier wertvoller als ein Kind?
+
+Ich glaube ich bin betrunken genug um mich zu unterhalten
+
+
+26.01.1998, im Acud (Mittelalterkonzert)   Claymore
+
+-----------------------------------------------------------------------------
+
+
+
+nachtrag (Freund,  3. Feb 1998, 15:38:17):
+~#! on=Claymore ot=886516587 og=allgemeines
+cih musste mich mal profilieren!! :)
+nein ich , ach es musste einfach raus / ich wusste nicht das es eine rubrik
+kultur gibt also sorry 
+naechst mal dort , ihr werdet nicht mehr belaesstigt!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: nachtrag (Hardil,  4. Feb 1998, 12:53:33):
+~#! rn=Freund rt=886516697 rg=kultur
+~#! tid=886516697
+
+... aber schreib naechstens Zigarette ohne 'ie', dann kommt die Stimmung auch
+besser rueber. :-)
+
+-Konrad Duden
+
+-----------------------------------------------------------------------------
+
+
+
+nachtrag 2 (Claymore,  4. Feb 1998, 13:06:46):
+tnx ich werd es beruecksichtigen 
+haha duden!
+
+endlich ein feld auf dem ich mich auslassen kann!!
+bis denne
+
+-----------------------------------------------------------------------------
+
+
+
+ Schon etwas verstaubt.. (Zephyr, 12. Feb 1998, 23:24:11):
+Auf Bitten eines vereinzelten Magiers ein schon etwas angestaubtes Stueck,
+das fuer eine Boygroup geschrieben wurde, die sich irgendwie dann doch
+nie zu singen getraut hat.
+(Melodie: Lady in black)
+
+
+Hydra in Black..
+
+Sie senkte sich ins Tal herab,
+der Startpunkt lag am Heldengrab,
+die Koepfe schwirrten um sie rum, man konnte sie kaum sehn.
+Ein Zaubrer sagt' mir wo sie stand
+und dort ich sie auch wirklich fand.
+Sie zischelte mich furchtbar an und zwang mich umzudrehn.
+
+Ref.: Hyyyyyhyyyyyyhyyyyhyyyyyyhyyydraaaa,
+hyyyyyhyyyhyyhyyyyyyhyyhyyydraaaaa..
+
+Die Friedhofskneipe war nicht weit,
+ich schaffte den Weg in kurzer Zeit,
+Der Totengraeber starrte mich an - ein sehnsuechtiger Blick.
+Das Knoblauchwasser tat mir gut,
+ich schoepfte wieder neuen Mut.
+Ich startete mein Wegescript und lief ins Tal zurueck.
+
+Ref.: Hyyyyyhyyyyyyhyyyyhyyyyyyhyyydraaaa,
+hyyyyyhyyyhyyhyyyyyyhyyhyyydraaaaa..
+
+Dort traf ich dann den ersten Kopf,
+nahm die Gelegenheit beim Schopf
+und zueckte den Vollstrecker, haute tuechtig auf ihn ein.
+Als er dann umfiel, mausetot,
+mein Baumstamm gluehte dunkelrot.
+Ich sprang kurz nach Nordwesten und brannt' den Stumpf ganz kurz und klein.
+
+Ref.: Hyyyyyhyyyyyyhyyyyhyyyyyyhyyydraaaa,
+hyyyyyhyyyhyyhyyyyyyhyyhyyydraaaaa..
+
+Mit knapper Not kam ich davon,
+3 Lebenspunkte - welch ein Hohn!
+Doch liess ich mich nicht schrecken, sondern tankte wieder voll.
+Zehn Koepfe noch, dann waers vorbei,
+Ich hau den einen grad zu Brei.
+Das Brennen klappte besser diesmal, ich fuehlte mich wirklich toll.
+
+Ref.: Hyyyyyhyyyyyyhyyyyhyyyyyyhyyydraaaa,
+hyyyyyhyyyhyyhyyyyyyhyyhyyydraaaaa..
+
+Der letzte Kopf war endlich weg,
+jetzt gings der Hydra an den Speck,
+Ich pruegelte wild auf ihr rum doch Treffer waren rar.
+Ein Kratzer hier, ein Kitzeln dort,
+und ab und zu ein boeses Wort.
+Doch irgendwann war es so weit, sie war dem Tode nah.
+Ein letztes "zisch", dann fiel sie um.
+Ich sprang vergnuegt um sie herum,
+Die Ruestung zog ich sofort an, sie passte wunderbar.
+
+Ref.: Hyyyyyhyyyyyyhyyyyhyyyyyyhyyydraaaa,
+hyyyyyhyyyhyyhyyyyyyhyyhyyydraaaaa..
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re:  Schon etwas verstaubt.. (Murkes, 13. Feb 1998, 20:46:44):
+~#! rn=Zephyr rt=887322251 rg=kultur
+~#! tid=887322251
+Wirklich gelungen!
+Die Hydra gab's zwar zu meinen Spielerzeiten noch nicht, aber diese Hymnde hat
+mir gefallen.
+
+Murkes
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re:  Schon etwas verstaubt.. (Key, 14. Feb 1998, 18:30:13):
+~#! rn=Murkes rt=887399204 rg=kultur
+~#! tid=887322251
+Hmm haetten diese gewissen Boygroup sie doch singen sollen?
+
+Danke Dir fuer die Arbeit daran C4, und sorry wenn die Maenner immer nen
+Rueckzieher im letzten mom machen muessen :)
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3:  Schon etwas verstaubt.. (Lug, 14. Feb 1998, 20:08:49):
+~#! rn=Key rt=887477413 rg=kultur
+~#! tid=887322251
+Aeh Key?
+
+Coitus Interuptus?
+
+zweifelnd
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Ein kleines Gedicht (Asmodis, 14. Feb 1998, 21:04:53):
+  MORGENGRAUEN
+Wiederum ein Tag verklang,
+lautlos naht die Nacht,
+mueder Sonnenuntergang
+glueht in roter Pracht.
+Dann kriecht Dunkel, schwarz und schwer,
+ueber Feld und Wald,
+und aus weiter Ferne her
+Wolfsgeheul erschallt.
+
+Hoch der Mond am Himmel zieht,
+gross und rund und bleich;
+Eine Kreatur entflieht
+aus dem Totenreich
+in das Leben dieser Nacht,
+das so leer und schal.
+Hat bisher nur eingebracht
+Gier nach Blut - und Qual...
+
+Etwas durch das Dunkel schleicht
+und verbreitet Angst.
+Ist es ein Vampir vielleicht?
+Fragst du. Und du bangst.
+
+Horch! Ein Ton, so wild und weh,
+fordert, draengt und lockt.
+Jeder Widerstand wird jaeh
+gaenzlich abgeblockt.
+Und in deiner Seele tief
+streitet Schmerz mit Lust.
+Was in dir so lange schlief,
+wird sich jetzt bewusst...
+
+Fahl und ohne Morgenrot
+graut ein neuer Tag,
+steigt empor aus Grab und Tod,
+lichtet Feld und Hag;
+laesst den Nebel sich verzieh'n,
+der das Land vermummt.
+Alle Schattenwesen flieh'n,
+Und der Wolf verstummt.
+
+Aber du, der gestern als
+Mensch gefuehlt,gedacht,
+bist ab heute ebenfalls
+ein Geschoepf der nacht.
+
+-----------------------------------------------------------------------------
+
+
+
+Sabbat - Dreamweaver - the Fairest of them All! (Lug, 17. Feb 1998, 01:32:42):
+
+...
+
+Corn is the gold that
+will shine in summertime,
+leaves are the emeralds
+you find in the spring.
+At autumn they turn and
+as copper the burn,
+then fall like the diamonds
+that bleak winter brings.
+
+Martin Walkyier nach Brian Bates 'The Way of Wyrd'
+
+-----------------------------------------------------------------------------
+
+
+
+buecher (Wurzel, 21. Feb 1998, 16:11:04):
+buchkritik - zwei schinken aus usa
+
+eddings, polgara the sorceress
+
+wer sich nur schwer von der welt belgaraths und seiner gefaehrten hat
+trennen koennen, hat hier wieder etwas futter. wer belgarath nicht kennt,
+braucht mit diesem buch nicht anzufangen. es ist im prinzip ein buch, um
+die letzten luecken zu fuellen, die in den vorangegangenen 11 baenden noch
+offengeblieben sind. von der aufmachung her im stil des vorletzten buches
+(belgarath the sorceror), beantwortet es offen gebliebene fragen. nicht
+dass vieles offen geblieben waere, aber man kann es ja mal versuchen, ob
+sich nicht noch schnell ein paar dollar verdienen lassen... so kommen dann
+allerdings doch ziemliche laengen zustande, denn eigentlich weiss man ja
+doch schon lange alles wesentliche, und die geschichte wird nur noch mal
+aus einer leicht veraenderten perspektive erzaehlt.
+der echte fan liest das buch sowieso, alle anderen koennen sich eigentlich
+das geld sparen. 
+
+jordan/patterson, the world of robert jordan's the wheel of time
+
+wem die zeit zu lang wird beim warten auf band 8, fuer den ist hier noch
+mal kurz dargestellt, um was es eigentlich geht. nichts neues wird erzaehlt,
+keine perspektiven aufgezeigt, nur bekanntes wiederholt. mit bildern in
+einer - vorsichtig ausgedrueckt - kindlichen qualitaet versehen und inhaltlich
+wohl nicht immer ganz dem in den buechern dargelegten entsprechend, war das
+offensichtlich ein versuch, die gequaelt wartenden leser in der weihnachtszeit
+von ueberfluessigen dollars zu trennen, ohne einen allzu grossen invest damit
+zu verbinden. ich habe mir nicht die muehe gemacht, die bekannten karten der
+bekannten welt zu zaehlen, die in dem band abgedruckt sind, teilweise kam es
+mir vor als wenn auf jeder dritten seite eine solche karte gedruckt waere.
+das teil war in usa schon sehr umstritten, deswegen erscheint mir fraglich,
+ob es je in deutschland veroeffentlicht wird. wenn nicht, um so besser.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Matt Ruff liest (Bensonmam, 24. Feb 1998, 13:26:52):
+Fuer alle diejenigen Matt-Ruff-Fans (von denen es hier ja doch (zumindest
+wenn man sich die Namen einiger MG-Charaktere ansieht) mehrere zu geben
+scheint), die vielleicht noch nicht selbst darauf aufmerksam geworden sind:
+Matt Ruff tourt in Kuerze durch D/CH/A und stellt in Lesungen sein neues
+Buch "G.A.S. - Die Trilogie der Stadtwerke" ("Sewer, Gas, Electric - The
+Public Works Trilogy") vor.
+
+Die Termine:
+
+ 1.3. Muenchen 
+ 3.3. Flensburg
+ 4.3. Kiel
+ 5.3. Braunschweig
+ 6.3. Bonn
+ 9.3. Aachen
+11.3. Mannheim
+12.3. Koeln
+16.3. Bern
+17.3. Freiburg
+18.3. Stuttgart
+19.3. Wien
+20.3. Winterthur
+
+J. Bensonmam
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Matt Ruff liest (Wurzel, 24. Feb 1998, 19:47:40):
+~#! rn=Bensonmam rt=888323212 rg=kultur
+~#! tid=888323212
+aeh, nur mal interessehalber... wer ist das?
+
+-----------------------------------------------------------------------------
+
+
+
+Deutsche Autoren (Yendi, 24. Mar 1998, 15:06:51):
+
+
+Salvete!
+
+Ich habe ein kleines Problem:
+Vor ca. einem Jahrzehnt bin ich fuer ein Jahr
+in die USA gefahren und habe dort angefangen,
+englische Buecher zu lesen. Zuerst die Klassiker
+wie Tolkien oder Shakespeare, spaeter alles, 
+was irgendwie interessant aussah (und das war
+hauptsaechlich SF & Fantasy).
+Dabei entdeckte ich solche Autoren wie Steven
+Brust, Douglas Adams, Roger Zelazny, Terry
+Pratchett, Iain M Banks, Dan Simmons, Ray
+Bradbury, Guy Gavriel Kay, Ursula K LeGuin etc.
+
+Ihnen allen ist gemein, dass sie 
+a) spannende Geschichten erzaehlen, die von
+einem soliden Spannungsbogen getragen werden, 
+b) plastische und interessante Protagonisten 
+ins Feld fuehren, 
+c) mich mit ihrer Sprachgewalt, ihrem Wortwitz,
+generell ihrer Liebe fuer Sprache faszinieren
+und
+d) dumme logische Fehler vermeiden, die mich
+sofort aus der Geschichte reissen und denken
+lassen "Herrgott nochmal, da weiss er _wirklich_
+nicht, wovon er schreibt! Er haette bloss
+_einmal_ einen Mediziner/Botaniker/Physiker/
+Linguisten/Schuhmacher/Reiter/Piloten/wasauchimmer
+fragen muessen..."
+
+Nun fragte mich vor kurzem eine amerikanische
+Studentin, was ich ihr fuer deutsche Autoren
+empfehlen koenne; sie wolle ihr Deutsch ueben
+und sei sei die schlechten Uebersetzungen 
+englischer Originale leid -- woraufhin ich zu
+meiner Schande gestehen musste, dass ich vor
+Jahren auf englischsprachige Autoren gestossen
+bin und seitdem nur noch englische Originale lese.
+
+Hier also meine Frage: Gibt es neben den schlaffen
+Wortwichsern, den intellektuellen Weltschmerzlern,
+den blutarmen Phrasendreschern a la Handke auch 
+noch deutsche Literaten (ob modern oder seit 300 
+Jahren tot sei egal), die mich mit einer Geschichte 
+und deren Erzaehlung begeistern koennen?
+Es muss nicht SF&F sein, aber es muss _gut_ sein!
+
+*seufz*
+
+Ich seh's schon kommen: ich werde selber zur Feder
+greifen muessen...  ;)
+
+
+Ratlos,
+          Yendi
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Deutsche Autoren (Zorya, 24. Mar 1998, 19:43:59):
+~#! rn=Yendi rt=890748411 rg=kultur
+~#! tid=890748411
+Also aus dem SF & F Bereich kenn ich niemanden, da bin ich auch auf
+Englische Originale angewiesen... Aber sonst gibts schon nen paar
+gute. Bei den 'Klassikern' Goethe, Schiller, Lessing... wird sich
+sicher was finden. Ansonsten waeren da noch Duerrenmatt, Mann...
+
+Ach ja, doch, einen guten Fantasy-Roman (wenn mans denn so nennen mag)
+gibts in der Tat. Einen der besten ueberhaupt: Krabat (von Preussler)
+Bin mir zwar nicht 100% sicher, dass der original in deutsch geschrieben
+wurde, aber definitiv nicht in englisch und die deutsche Version ist
+grosse Klasse!
+
+Ansonsten fiele mir noch Michael Ende ein, speziell Momo oder seine
+Rattenfaenger-Bearbeitung... Hm, mehr komt so spontan nicht...
+
+   Zorya
+
+PS: Doch ich hab noch was:
+Suesskind - Der Kontrabass
+Suesskind - Das Parfuem
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Deutsche Autoren (Gloinson, 24. Mar 1998, 21:33:14):
+~#! rn=Zorya rt=890765039 rg=kultur
+~#! tid=890748411
+Die Klassiker sind immer nett. Nimm einfach das Std.-Zeug aus dem Abitur,
+bei dem die Leute auch nur kotzen, weil sie es lesen _muessen_.
+Faust 1, Duerrenmatt "Der Richter und sein Henker" (welchiges bis zum
+Ende spannend), den Grass, wenn mans 'wirrer' mag, Gerstaecker fuer
+Abenteuer; ein paar Buecher von Holbein fuer Fantasy; Szameit, Steinmueller
+fuer Kinder-SF ... och, soll doch selbst gucken:
+
+http://gutenberg.aol.de/aut-li.htm := deutsche Klassiker
+http://www.phil.uni-erlangen.de/~p2gerlw/ressourc/liste.html :=
+  eine _riesige_ Liste von Links.
+
+Have fun, Gloin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Deutsche Autoren (Qitess, 25. Mar 1998, 15:11:06):
+~#! rn=Yendi rt=890748411 rg=kultur
+~#! tid=890748411
+nun, Michael Ende ist toll, James Kruess, nicht zu vergessen Erich Kaestner,
+dann ahetten wir da noch das uebliche wie Goethe, Schiller, Heine, Mann;
+Guenther Grass wuesste ich jetzt nicht, ob das so Bingo is,... wen haetten wir
+denn noch ??? Gustav Freytag, den guten ollen Kafka (Kicher), habe gehoert,
+dass es einen Sf-autor namens Andreas Eschenbach oder so geben soll, ach ja -
+Karl May haetten wir da noch, Anna Seghers waere mal n weiblicher Autor,
+Theodor Fontane schreibt meines Erachtens auf deutsch, und ein weiterer
+klassiker namens Schiller (haett ich doch fast vergessen), Max Frisch, Dieter
+Thoma - nee, wie heisst denn der ??? jedenfalls Thoma stimmt, noch ne Frau :
+Anette von Droste-Huelshoff (nach der benennt man sogar strassen, mit dem
+GESAMTEN namen), Ernst von (oder nich von?) Moericke, Heinrich von Kleist,
+(dieser fette da ... wie hiess der ... ) Duerrenmatt - Friedrich, Weber,
+Hermann Hesse, Martin Walser, Christian Andersen faellt mir noch ein, Heinrich
+Hoffmann von Fallersleben, Christian Morgenstern, Ibsen.. nee, der war nich
+deutsch..., Immanuel Kant war nich so hauptberuflioch schriftsteller oder ?,
+Hermann Loens, Theodor Storm,
+... so langsam gehen mir die ideen aus ...
+naja, was solls, reicht fuers erste... aber mal ehrlich, wenn ich mir so die
+liste ansehe, dann gibt's da nicht soviel zu lesen bei, gibt es eigentlich
+junge autoren, die keine 'schwere' literatur machen tun ? :) muss ja nicht
+gleich n drei-groschen... da faellt mir ein : Baertholt bricht ...
+
+QI** stoppt sich jetzt lieber selber - ES REICHT !
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Deutsche Autoren (Alboin, 26. Mar 1998, 15:17:45):
+~#! rn=Qitess rt=890835066 rg=kultur
+~#! tid=890748411
+aehm heikles Thema. Deutschland gilt nun mal als Land der Dichter und Denker
+und
+nicht als Land der Fantasie. 
+Wenn Du was in der richtung Spannung/Spass/Fantasie bei Deutschen Autoren
+suchst, faellt mir neben den schon genannten Duerrenmatt, Ende, Kaestner noch
+Ulrich Plenzdorf (Die leiden des Jungen W. - erinnert mich an den Faenger im
+Roggen) und Gerd Prokop (Wer stiehlt schon Unterschenkel, Der Samenbankraub -
+beides Detektivgeschichten aus dem 21.Jahrhundert)
+Den Herrn Holbein wuerde ich wiederrum nicht emphelen, aber die Diskussion
+hatten wir schon mal.. und Qitess: Hans Christian Andersen ist Daene.
+
+Alboin
+P.S. kein Tag ohne Typos - ich weiss
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Deutsche Autoren (Calum, 27. Mar 1998, 14:34:40):
+~#! rn=Zorya rt=890765039 rg=kultur
+~#! tid=890748411
+> Ach ja, doch, einen guten Fantasy-Roman (wenn mans denn so nennen mag)
+> gibts in der Tat. Einen der besten ueberhaupt: Krabat (von Preussler)
+> Bin mir zwar nicht 100% sicher, dass der original in deutsch geschrieben
+> wurde, aber definitiv nicht in englisch und die deutsche Version ist
+> grosse Klasse!
+
+Soweit ich weiss ist der Krabat von Preussler nur eine Nacherzaehlung;
+das Original stamm von einem Tschechen (?), Karel irgendwas (Karel
+Czapek wars nicht). Allerdings finde ich die Version von Preussler
+wsentlich besser, habe sie auch schon x-mal gelesen.
+
+Hmm, noch einen Tip: Das eine oder andere Buch von Hohlbein (aua,
+nicht schlagen!) koennte ich noch empfehlen. Mein Favorit ist
+"Midgard" (eigentlich ein Jugendbuch, inspiriert an der Edda),
+und von den neueren Buechern ist "Das Netz" ganz gut (wenn man mal
+davon absieht, dass der Verlag sich entbloeden musste, die Rueckseite
+der Taschenbuchausgabe mit einer schwachsinnigen "Inhalts"angabe
+zu verzieren, in der nicht einmal der Name der Hauptperson stimmt(!)).
+Dann vielleicht noch "Die Rueckkehr der Zauberer" - ist von den
+Dialogen her ganz gut gemacht. Der Rest von Hohlbein ist
+bekanntlichermassen arge Geschmackssache...
+
+ - Calum, hat sich jetzt als Hohlbein-Fan geoutet :-) -
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Deutsche Autoren (Jimdigriz, 30. Mar 1998, 12:22:56):
+~#! rn=Calum rt=891005680 rg=kultur
+~#! tid=890748411
+Uahhh,
+
+Gloin und Calum haben den boesen
+Ungenannten W.H. genannt. 
+ \/ \/ \/
+ /\ /\ /\
+(Drei Kreuze)
+
+Ich halt mich dan den Irren Weltraumproleten
+(scheint ja leider eingestellt worden zu sein *schnueff*)
+
+Aber ich kann auch was empfehlen:
+Keinen Deutschen, aber einen Schweizer:
+ Friedrich Glauser, ziemlich wahnsinnig wie er 
+ schreibt. Buchtip: "Matto regiert"
+
+Jim DiGriz
+
+-----------------------------------------------------------------------------
+
+
+
+Buecher (Murkes, 31. Mar 1998, 13:55:42):
+Max Frisch (auch Schweizer) koennte ich noch empfehlen. Stiller, Homo Faber
+oder Mein name sei Gantenbein sind ganz gut (wenn man sowas halt mag. Dann
+fand ich Infanta von Bodo Kirchoff sehr gut -- ganz im Gegensatz zu seinen
+anderen werken. Von kaestner sollte man Fabian lesen, welches wohl sein bester
+Roman ist. Dannn habe ich gestern noch Kurzgeschichten von einem jungen Autor
+namens Krauser gelesen, die ich sehr gut fand. Er hat auch einen Roman "Fette
+Welt" geschrieben, der vielleicht  ebensogut ist? 
+Ohje, alles voller Typos, ich hoer jetzt wohl besser auf. 
+Murkes
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Deutsche Autoren (Bensonmam, 31. Mar 1998, 16:35:10):
+~#! rn=Yendi rt=890748411 rg=kultur
+~#! tid=890748411
+Also, ich bin ganz bestimmt kein Experte auf dem Gebiet SF, aber ich
+hab trotzdem mal meine kleine Bibliothek nach Buechern deutschsprachiger
+SF-Autoren hin untersucht, und das Ergebnis ist in der Tat SEHR mager:
+Am staerksten vertreten waren noch Herbert Franke und Carl Amery; beide
+sind auch ganz nett zu lesen; vor allem Frankes Geschichten sind meiner  
+Ansicht nach sehr gut durchdacht.
+Daneben hab ich noch eine Kurzgeschichtensammlung eines Michael
+Morgenthal, dessen Titelgeschichte ("Garten zwischen Lebensbaeumen")
+eine der romantischsten SF-Geschichten ist, die ich je gelesen habe.
+
+Und sonst? Nix. Irgendwie scheint es mit der deutschsprachigen SF             
+tatsaechlich nicht so rosig bestellt zu sein...
+
+J. Bensonmam
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Deutsche Autoren (Gloinson, 31. Mar 1998, 16:47:57):
+~#! rn=Bensonmam rt=891354910 rg=kultur
+~#! tid=890748411
+Das netteste an hoeherer deutscher SF sind noch die Steinmuellers ge-
+wesen, aber Ostliteratur wurde in diesen Sparten von der Wende platt-
+gemacht. -> 'Windschiefe Geraden'
+
+Gloin
+
+PS: Hssss. Jetzt muessen wir nur noch die passende Bibliothek aufmachen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Deutsche Autoren (Highlander,  1. Apr 1998, 14:17:48):
+~#! rn=Bensonmam rt=891354910 rg=kultur
+~#! tid=890748411
+Du vergisst die alten - K.H.Scheer und so, allerdings ist der Stil der SF
+halt inzwischen doch leicht anders. Ach ja, Dominik heisst der, der mir
+bis grad nicht einfiel.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Weit in der Nacht (Puma,  2. Apr 1998, 01:17:41):
+
+
+
+[Kultur:Novastorm] Stille ?
+[Kultur:Therin]    Mein Schrei dringt durch die Stille der Nacht,
+[Kultur:Puma]      "Orpheus, warte!"
+[Kultur:Kadabra]   wr hat denn da wen umgebracht ??
+[Kultur:Kadabra]   hoerst du wies schauriggrauslich lacht ??
+[Kultur:Novastorm] Die Eulen da am Wegesrand,
+[Kultur:Puma]      Blaetter knistern zwischen den Fingern
+[Kultur:Kadabra]   nasser nebel wallt aus dem laube
+[Kultur:Puma]      sonne faerbt blau
+[Kultur:Novastorm] Verdammnis macht sich breit im Herzen,
+[Kultur:Kadabra]   duesternis kriecht ins hirn
+[Kultur:Novastorm] Die Finsternis verschlingt die Seele,
+[Kultur:Kadabra]   dunkel drohet die erde mit erzen
+[Kultur:Puma]      Die Biegung liegt fern
+[Kultur:Novastorm] Die Kreuzung scheint nah,
+[Kultur:Kadabra]   der weg verlor dich schon laengst
+[Kultur:Novastorm] und doch... es leuchtet am Horizont.
+[Kultur:Kadabra]   feurige roete
+[Kultur:Puma]      der ruf des morgens
+[Kultur:Therin]    aus Zeichen der Angst werden Zeichen der Hoffnung
+[Kultur:Novastorm] aus Bildern des Grauens werden Skizzen des Guten,
+[Kultur:Puma]      der erste wind ist kalt
+[Kultur:Therin]    weht mir den kalten Schweiss vom Gesicht
+[Kultur:Novastorm] und doch, er waermt Dein Herz!
+[Kultur:Puma]      in erwartung des wunders
+[Kultur:Novastorm] werden die Zeichen der Hoffnung neu verteilt.
+[Kultur:Puma]      die zeit ueberholt mich
+[Kultur:Kadabra]   und die eulen flattern gen osten
+[Kultur:Novastorm] im Angesicht des Todes naehert sich die Wahrheit,
+[Kultur:Kadabra]   und geht vorbei
+[Kultur:Puma]      sehnsuechtig wende ich mich um
+[Kultur:Novastorm] und spuere doch das Los der Ewigkeit,
+[Kultur:Puma]      der aufgang ist jetzt nah
+[Kultur:Puma]      das wichtigste bleibt zurueck
+[Kultur:Novastorm] Im Innern jedoch bleibt das Gluehen,
+[Kultur:Kadabra]   unter der asche wer weiss ?
+[Kultur:Therin]    doch ich weiss, das Leben ist nur Uebergang
+[Kultur:Novastorm] Verbindung zwischen den beiden Ebenen,
+[Kultur:Therin]    der Tod die Erloesung, des Sterbens was bei der Geburt begann
+[Kultur:Kadabra]   gestern und morgen und heute vergangen
+[Kultur:Puma]      verbunden durch die erinnerung
+[Kultur:Novastorm] der Schmerzen und des Wohlgefuehls, der Liebe und des
+[Kultur:Novastorm] Hasses,
+[Kultur:Puma]      fort mit den blaettern
+[Kultur:Novastorm] hinweg mit dem Staube,
+[Kultur:Puma]      ich habe die eule verscheucht
+[Kultur:Novastorm] die jetzt hinter Dir fliegt,
+[Kultur:Puma]      doch das rot wird mich retten
+[Kultur:Novastorm] vor Frieden und Ruhe,
+[Kultur:Puma]      vor luegen und kaelte
+[Kultur:Novastorm] als Schutz vor dem Verderben,
+[Kultur:Therin]    und so verklingt mein letzter Schrei ungehoert in der Stille.
+[Kultur:Puma]      Stille
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weit in der Nacht (Yendi,  2. Apr 1998, 13:03:12):
+~#! rn=Puma rt=891472661 rg=kultur
+~#! tid=891472661
+Goil! 
+Da muss ich doch gleich nochmal Werbung machen fuer Poesiemeister;
+bei sovielen talentierten Hobby-Poeten werden sich doch wohl noch Mitspieler
+finden lassen koennen muessen...
+
+Voila: 
+
+
+
+******************************************************************
+**********      Poesie-Meister  (Runde 41/42)           **********
+**                                                              **
+**********      Einsendeschluss: 24 April 1998          **********
+******************************************************************
+
+Liebe Mitspieler,
+  
+     Wenn alle Strophen Wahrheit werden
+     die ihr gedichtet fuer dies Spiel
+     dann haben wir schon bald auf Erden
+     ein Uebermass an Gluecksgefuehl
+
+Mit anderen Worten: Wow! Das wird ja wieder eine tolle Runde.
+Eigentlich haetten es alle Fortsetzungen verdient, als Original zu
+gelten. Aber wie das Leben so spielt, nur eine ist es. 
+Also dann, auf ein erfolgreiches Analysieren! Es sind da einige
+interessante Varianten bezueglich der Weiterfuehrung des Themas
+dabei. Schwer fuer mich, mich nicht zu verplappern und indirekte
+Hinweise zu geben. Hm!? :-), na macht mal...
+
+In der naechsten Runde dreht es sich um die Probleme, die ein Kuenstler
+so hat, um Geld zu verdienen. Vielleicht hat der Weise da eine
+gute Idee.
+
+Viele clevere Ideen
+wuenscht Guenter
+
+BTW: Ich habe im Formular unten noch einen Punkt "Diskussionsliste"
+mit aufgenommen. Diese Idee geht auf einen Kommentar von Grablicht
+in der Auswertung der 40 Runde zurueck. Wer also Interesse hat,
+in einer Mailingliste ueber Poesiemeister zu diskutieren
+(Auswertungen, Kommentare, eventuell auch Vorstellung eigener Werke
+oder Infos zu Lyrik, etc...), der kann es mit anmerken.
+Wenn genug Interessenten zusammenkommen, so wuerde ich
+die technischen Fragen klaeren und wir koennten ueber unseren
+Listserver so etwas einrichten. Ich moechte dies jedoch von der
+Mailverteilung zu Poesie-Meister trennen, da in der poesie-l
+inzwischen bereits eine Menge "Mitleser" erfasst sind, die vermutlich 
+kein Interesse an weiterfuehrenden Diskussionen haben.
+(Es ist natuerlich jeder eingeladen, sich zu beteiligen.)
+
+******************************************************************
+**********      Poesie-Meister: Einsendungen Runde 41   **********
+******************************************************************
+
+Vorgabe:
+
+   Wenn Feigheit unser Tun nicht laehmte
+   kein Mensch sich seiner Schwaeche schaemte
+   wenn wir einander Waerme schenkten
+   und den, der anders ist, nicht kraenkten
+
+Fortsetzungen:
+
+(1)
+   dann koennten wir die Welt beleben
+   die Freude aus der Taufe heben
+   dann mit dem Feinde Freundschaft schliessen
+   den Frieden gar mit ihm geniessen
+
+(2)
+   dann lebten wir im Paradeis
+   denn jedermann, ob Kind, ob Greis
+   ertauschte gegen Agonie
+   Glueckseligkeit und Harmonie     
+
+(3)
+   Des Meisters Wort Gehoer dann faende
+   und in Gedichten stuend am Ende
+   nur noch eines: "Piep Piep Piep,
+   der Guildo hat Euch alle lieb!"
+
+(4)
+   Waer Liebe unser einzig Streben
+   dann koennten wir in Freundschaft leben
+   und dass die Welt ein Jammertal
+   waer' nicht mehr laenger unsre Qual
+
+(5)
+   Waer'n also alle so wie ich
+   stets froehlich, freundlich, bruederlich
+   dann waer das Wirtshaus niemals leer
+   und Polizei, die braeucht's nicht mehr 
+
+(6)
+   Welch selten angewandte Tugend
+   und stets ein Fremdwort fuer die Jugend,
+   die selber sich im Wege steht,
+   bis - mit dem Altern - sie vergeht.
+
+(7)
+   Wenn alle Menschen Baeume pflanzten
+   Kanonen, Panzer jetzt zertanzten
+   wenn's keine Armen gaeb, noch Reiche
+   und alle teilten wir das Gleiche
+
+(8)
+   wenn die, so saengen oder kuessten
+   mehr als die Tiefgelehrten wuessten
+   und nicht mehr Zahlen und Figuren
+   die Schluessel aller Kreaturen
+
+(9)
+   Wenn die, so singen oder kuessen
+   mehr als die Tiefgelehrten wissen
+   dann fliegt mit einem geheimen Wort
+   dies ganze verkehrte Wesen fort.		
+
+(10)
+   wenn dieses kleine Wort nicht waere
+   dann kaemen Tugenden zu Ehre
+   die jeder aus den Buechern kennt
+   ja wenn man tut und nicht nur denkt
+
+(11)
+   wenn die Vernunft das Tun bestimmte
+   und nicht, ob dann die Kasse stimmte
+   wenn jeder nur bescheiden waere
+   und Machtgier nur ein Fremdwort waere
+
+(12
+   Wenn Fernsehn uns den Blick nicht truegte
+   politisch nicht korrekt man luegte
+   wenn wir mit Frau und Kind nicht zankten
+   statt dessen uns auch mal bedankten
+
+(13)
+   Wenn Freundlichkeit kein Fremdwort waere
+   von Anfang an Respekt man lehre
+   wenn wir nicht so oft achtlos seien
+   und uns von Gier und Neid befreien
+
+(14)
+   wenn keiner nach der Macht nur strebte
+   ein jeder Mensch schoen massvoll lebte
+   wenn sich das nur erreichen liesse
+   dann wird die Welt zum Paradiese
+
+(15)
+   Wenn keine Seele Neid mehr spuerte
+   und Hass die Zunge nicht mehr fuehrte
+   wenn jeder liebte einen jeden
+   das waere Eden.
+
+(16)
+   wenn Liebe unsre Losung wuerde
+   und einer trueg des andern Buerde
+   zum Teilen und Verzeihn bereit
+   ja dann begaenn die NEUE Zeit.
+       
+(17)
+   wenn Naechstenliebe Beispiel machte
+   und man auch gegenseitig wachte
+   so wuerden wir in schweren Stunden
+   bestimmt Verbundenheit bekunden 
+
+(18)
+   Wenn Reiche dann die Armen stuetzten
+   wir besser die Natur beschuetzten
+   wenn Maechtige uns Arbeit goennten
+   wir auch in Frieden leben koennten!
+
+(19)
+   Wenn wir das Woertlein "Achtung" kennten
+   Und aufrecht uns're Schritte lenkten
+   Die Welt waer rund und Eins und gut,
+   Und uns fehlte nicht mehr der Mut.
+
+(20)
+   wenn wir aus scheuer Drangsal traeten
+   uns ungezwungen lieben taeten
+   anstatt zu wehren und zu streiten
+   was gaeb' uns das fuer Moeglichkeiten?  
+
+(21)
+   Wenn wir dem anderen vertrauten
+   und auf den guten Willen bauten
+   dann koennte heute schon geschehen
+   was wir so inniglich erflehen
+
+(22)
+   wenn wir den Leuten lauschen wuerden
+   statt ihnen Worte aufzubuerden
+   wenn endlich jeder jedem dankte
+   kaem's kaum mehr vor, dass jemand zankte
+
+(23)
+   Wenn wir den Schwachen unterstuetzten
+   dem Traurigen zur Freude nuetzten 	
+   wenn wir dem Naechsten niemals fehlten
+   und nicht den Lohn nach Talern zaehlten
+
+(24)
+   Wenn wir die Liebe wiederfaenden
+   die eignen Fehler eingestaenden
+   und  Worte waegten, die wir reden
+   waer unsre Welt ein Garten Eden
+
+(25)
+   Wenn wir es nun zuwege braechten
+   im Wortsinn evangelisch daechten
+   und handelten, dann koennt's was werden
+   dann waere Einigkeit auf Erden
+
+(26)
+   wenn wir nach unsrer Wahrheit strebten
+   und wuerdevoll im Frieden lebten
+   dann haetten wir auf alle Zeit
+   das Menschenrecht der Menschlichkeit
+
+(27)
+   wenn wir nur lernten, uns zu schaetzen
+   aufhoeren wuerden nur zu hetzen
+   wenn wir der Liebe Wahn verstuenden
+   dann koennten wir den Sinn ergruenden.
+
+(28)
+   Wenn wir von Neid und Hass uns trennten
+   uns in die Augen sehen koennten
+   wenn wir laechelten, von Zeit zu Zeit
+   dann hiessen wir erst "Menschen"-heit
+
+---------------------
+ausser Konkurrenz:
+
+   Wenn alle Fluesse aufwaerts floessen
+   in ihre Quellen sich ergoessen -
+   hier zeigt sich (leider, doch mit Klarheit)
+   der Unterschied von Wunsch zu Wahrheit
+
+******************************************************************
+**********      Poesie-Meister: Vorgabe Runde 42        **********
+******************************************************************
+
+Vorgabe:
+
+   Kuenstler, wollt ihr Geld verdienen -
+   Und wer wollte dieses nicht? -
+   Hoeret, was mir recht geschienen,
+   Hoeret, was der Weise spricht:
+
+Es sind diesmal 4 (VIER) Fortsetzungszeilen gefragt.
+
+------------------------ CUT HERE (BEGIN) ------------------------
+
+******************************************************************
+**********       Teilnahmeformular Poesie-Meister       **********
+******************************************************************
+Bitte bis zum  24. April 1998 einsenden an: 
+                                            gg@eris.in-chemnitz.de
+
+******************************************************************
+Name                : 
+Pseudonym (optional): 
+E-Mail              : 
+************ Poesie-Meister Runde 41 *****************************
+
+Ich tippe auf Fortsetzung Nr. ___
+
+Einen Sonderpunkt vergebe ich an Fortsetzung Nr. ___     (*)
+
+Meinungen und Kommentare:
+
+
+
+(*) die Vergabe von Sonderpunkten ist freiwillig, bei Verzicht
+    kann man jedoch auch selbst keinen Sonderpunkt erhalten
+
+Ich bin interessiert an einer offenen Diskussionsliste zum
+Poesiemeisterwettbewerb (ja/nein) : ___
+
+************ Poesie-Meister Runde 42 *****************************
+
+Vorgabe:
+
+   Kuenstler, wollt ihr Geld verdienen -
+   Und wer wollte dieses nicht? -
+   Hoeret, was mir recht geschienen,
+   Hoeret, was der Weise spricht:
+
+Meine Fortsetzung (4 Zeilen) lautet:
+
+...
+
+Bitte nehmt auch folgende Person(en) in den Verteiler fuer
+Poesie-Meister mit auf (jeweils Name + E-Mail):
+
+******************************************************************
+
+------------------------- CUT HERE (END) -------------------------
+
+-- 
+    _____________________________________________________________
+  /                     http: www.in-chemnitz.de/~gg/index.html
+ |  __                  Mail: gg@eris.in-chemnitz.de
+  \__/ uenter Gehl      Tel:  +49 37207 51361
+
+
+
+
+
+
+(Ooops, war doch laenger als erwartet... *hehe*)
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Deutsche Autoren (Wurzel,  4. Apr 1998, 00:21:29):
+~#! rn=Highlander rt=891433068 rg=kultur
+~#! tid=890748411
+good old handgranaten-herbert? nur was fuer hartgesottene vorgestern-freaks.
+oder leute, die noch etwas zeit bis zum beginn der pubertaet haben. nein,
+wenn es um sf oder fantasy geht, hab ich auf deutsch noch nichts tolles
+gefunden... aber ansonsten gibt es eine menge guter deutscher autoren, von
+denen nur kaum einer sowas schreibt. in deutschland hat sf/fantasy eben
+mehr oder weniger automatisch den stempel "trivial" aufgedrueckt, oft auch
+ohne betrachtung des inhalts.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Milli-Vanilli (Har,  5. Apr 1998, 12:55:21):
+Warum spielen die gerade anlaesslich des Todes eines der beiden Vanillis
+einen Song von denen, die haben doch eh nicht selbst gesungen *gruebel*
+
+har
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Deutsche Autoren (Highlander,  6. Apr 1998, 12:34:12):
+~#! rn=Wurzel rt=891642089 rg=kultur
+~#! tid=890748411
+Ja, ich kenne den Spitznamen von KHS. Und bei PR fand ich ihn am Ende auch
+unertraeglich, aber die zbV-Reihe war doch immerhin in sich schluessig und
+im gleichen Stil geschrieben. Der allerdings wie gesagt recht martialisch
+(nein, nicht marsianisch) ist.
+KHS und Dominik sind auch nicht unbedingt so toll, aber immerhin Klassiker.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Optima online (Ratz, 11. Apr 1998, 16:54:35):
+Hiho, hier einen aktuellen Artikel aus dem Spiegel.
+Einige der Probleme dieser virtuellen Welt kommen mir sehr bekannt vor.
+Viel Spass bei der Lektuere.
+
+;Blutmoos fuer den Bettler ;Im Internet sind 65000 Bewohner einer kuenstlichen
+Welt sich selbst ueberlassen - in einem Spiel, gemischt aus malerischem
+Mittelalter und mOerderischem Horror. ;Jeden Tag spaehen die WeltenschOepfer
+hinab auf das Gewimmel. Bunte Figuerchen hacken dort drunten mit Pickeln nach
+Erz, Kaninchen hoppeln ueber die Fluren, doch die Waelder, leider, sind voller
+zerstueckelter Leichen wie immer, und in den Staedten rufen die Leute schon
+wieder zu Protestmaerschen auf gegen die Obrigkeit. ;Das ist "Ultima Online",
+ein Inselreich im Internet, geschaffen von der texanischen Softwarefirma
+Origin. Tagein, tagaus kommen Spieler aus aller Welt, waehlen sich fuer ein
+paar Stunden ein und fuehren ihre kleinen Figuren spazieren. Viele leben hier
+schon fast ein Jahr. ;Begonnen hat die Geschichte als ein grosser Versuch:
+Kein Ziel, keine Aufgaben waren vorgegeben wie in anderen Spielen, nur eine
+Lebenswelt im Computer. Origin hat ein malerisches Mittelalter aufgebaut mit
+Staedten und Burgen, mit Tieren und prachtvollen Ungeheuern. ;Die Spieler
+steuern ihre Figuren mit der Maus durch die weitlaeufige Szenerie, und wenn
+einer auf die Idee kaeme, von einem Rand der Ultima-Welt zum andern zu laufen,
+waere er zehn Stunden unterwegs. ;Dafuer ist aber selten Zeit, von den
+Gefahren abgesehen. Jeder hat einen Beruf gewaehlt, und darin heisst es
+fleissig sein. Der Jaeger klickt auf die Armbrust und dann auf das Reh, und
+der Schneider klickt abwechselnd auf Nadeln, Ahlen und Lederflicken, bis er
+ein neues Wams fertig hat. ;So klicken sie sich geduldig voran, denn alles
+bringt Punkte. Die Software bucht sie nach komplexen Regeln auf verschiedene
+Konten. An deren Stand laesst sich ablesen, wie die Spielstaerke der Figur
+steigt. ;Inzwischen haben sich mehr als 60000 Siedler hier niedergelassen, und
+die Netzrechner, die das Treiben verwalten, aechzen unter dem Andrang. Zu
+Beginn genuegte eine Spielwelt fuer 4000 Bewohner. Nun sind es schon neun
+Parallelwelten, auf verschiedene Rechnergruppen in den USA verteilt, und n
+icht selten sind 12000 Spieler gleichzeitig zugeschaltet. ;Bei grossen
+Auflaeufen kann es geschehen, dass einige Figuren erstarren, weil die Rechner
+das Treiben nicht mehr bewaeltigen. Auch im Normalbetrieb machen sich immer
+wieder Programmfehler bemerkbar, was die Spieler zunehmend verdriesst.
+Immerhin zahlt jeder von ihnen zehn Dollar im Monat fuer den Zugang zu Ultima.
+;Eines Tages, es war Mitte Dezember, rotteten sich an die hundert Spieler in
+der Hauptstadt Britain zusammen. Die meisten waren zuvor in der Gastwirtschaft
+gewesen, wo sie tuechtig auf die Humpen geklickt hatten
+sie schwankten schon merklich. Auf einmal nestelten sich die ersten mit der
+Maus ihre Kleider vom Leib, andere taten es nach, und bald liefen alle
+entblOesst durcheinander, und wueste Sprechblasen erglimmten auf den
+Bildschirmen. ;Das war die erste Nacktdemo in der Geschichte des Internet, und
+seither kommt es immer wieder zu Ausschreitungen, nicht nur wegen der Technik.
+Auch die Oekonomie der Spielwelt ist nicht ganz ausgereift. Es gibt tausend
+Dinge zu kaufen, aber die Preise, die Origin willkuerlich festlegt, bringen
+oft den Markt durcheinander. Immobilien waren lange Zeit so billig, dass
+zuletzt kaum noch Flecken uebrigblieben, wo man ein Haus hinstellen konnte.
+;Deshalb musste die Firma nun ueber Nacht die Preise verdoppeln, was erst
+recht zu Unmut fuehrte. In der Zwischenzeit haben die Spieler aber bereits
+eine eigene Stadt gegruendet, fuer die sie nun auch gleich das Stadtrecht
+begehren, dazu die ueblichen Robotergarden, die bei GesetzesverstOessen
+vollautomatisch einschreiten. Und vor allem eine Bank, damit der Handel in
+Schwung kommt. Ohne Handel laeuft im Spiel wenig. Der Schneider kann seine
+Kleider an die Mitspieler verkaufen, die ihre Figuren gern wie Anziehpuppen
+ausstaffieren. Das Geld bringt er auf die Bank, wo es sicher verwahrt ist, und
+wenn er genug beisammenhat, darf er sich ein Haeuschen kaufen. ;Dem Baecker
+geht es nicht so gut. Weil die Programmierer, um das Fortkommen der Spieler zu
+erleichtern, viele Nahrungsmittel deponierten, ist die Nachfrage nach Brot
+bereits zusammengebrochen
+die letzten paar Baecker, die es noch gibt, stehen vor dem Ruin. ;Bevor die
+GOetter von Origin diese Welt aus dem Lehm der Programmiersprachen schufen,
+hatte sich niemand an ein so grosses Spielwerk herangewagt: 38000 Monitore
+muesste man aufeinandertuermen, um alle Einzelheiten des fiktiven
+Ultima-Reichs auf einen Blick zu erfassen. ;Schon 1979 hatte Richard Garriott,
+spaeterer Mitbegruender von Origin, ein Spiel dieses Namens herausgebracht,
+dessen Teilnehmer damals noch jeder fuer sich allein spielten. Es folgte eine
+ganze Serie
+gerade kommt die neunte Folge heraus. Garriott ist darueber so reich geworden,
+dass er sich gerade - in der Realitaet - eine Art Fabelschloss bauen laesst.
+;In Ultima Online residiert er als Lord British, und frueher erschien er
+gelegentlich vor den Volksmassen, um eine Rede zu halten. Heute kommt das kaum
+mehr vor, denn die Firma muss alle paar Tage bei laufendem Betrieb die
+Software reparieren, die Spielregeln anpassen und nebenher mOeglichst noch
+neue Attraktionen einbauen, schliesslich wollen die Spieler Abwechslung.
+;Langeweile ist das quaelendste Problem, vor dem sich die Teilnehmer
+aengstigen. Nach ein paar Monaten haben die Bewohner von Ultima in der Regel
+ein VermOegen angehaeuft und den Rang des Great Lord erreicht, hOeher geht es
+nicht. Dann ziehen sie als steinreiche Wuerdentraeger durchs Land und
+verfallen dem Truebsinn. Nicht wenige pfeifen auf die Gesinnungspunkte, die
+sie zuvor muehsam erwirtschaftet haben, und fangen an, ihre Mitspieler
+niederzumetzeln. ;Diese Gewohnheitskiller sind zu einer Plage geworden. Im
+unwegsamen Gelaende nordOestlich der Stadt Minoc haben sie eine eigene Kolonie
+gegruendet. Von dort aus fallen marodierende Horden ueber friedliche Siedler
+her
+wo sie gewuetet haben, bleiben Leichenfelder zurueck. ;Ruhe herrscht nur
+innerhalb der Stadtgrenzen, wo die Robotergarden jedes Vergehen, und sei es
+der Diebstahl einer Banane, mit der Hinrichtung der Spielfigur ahnden.
+"Faschismus in den Staedten und draussen Chaos", analysierte das amerikanische
+Magazin "Wired". Schon hat sich eine Buergerwehr zusammengetan, die
+gelegentlich in die Todeszone hinauszieht, um ein paar Killer zu lynchen. Das
+erbeutete Geld kommt einer Stiftung fuer die aermsten der Opfer zugute. In
+diesen wirren Zeiten erscheinen die seltsamsten Gestalten. Ein Buesser in
+Unterhose geht mit einer Kerze in der Hand durch die MonsterhOehlen und
+predigt Frieden. Und vor den Banken erscheinen Oefters Gestalten in haerenen
+Kutten, die dort Mahnwache halten. ;Nur wenige in dem Gewimmel sind noch so
+mit sich im reinen wie Erik Krumm, ein ranghoher Magier aus Hagen. Krumm
+wandelt unentwegt durch die Spielwelt, um Gutes zu tun. Sterbende heilt er
+fuer ein "vergelt's Gott", und den Bettlern, meist sind es mittellose
+Anfaenger, steckt er reichlich Goldstuecke zu oder etwas Blutmoos fuer eine
+hilfreiche Tinktur. ;Krumm, der gute Mensch von Ultima, ist ein
+mustergueltiger Rollenspieler. Menschen seines Schlages fuehlen sich in ihre
+Figur ein bis zur Selbstaufgabe. Monate hat er damit verbracht, seinen Magier
+nach und nach mit den nOetigen Faehigkeiten und Zauberspruechen auszuruesten.
+Er hat die unzaehligen Wertetabellen gewaelzt, nach denen Gesundheit, Ansehen
+und Spielstaerke berechnet werden, und er hat das pfundschwere Handbuch mit
+dem Regelwerk studiert, bis er es beherrschte. Die Telefonrechnung pendelte
+sich unterdessen bei rund 500 Mark im Monat ein, was unter deutschen
+Online-Spielern durchaus ueblich ist. ;Manchmal kehrt Frohsinn ein. Guido
+Kuester, ein Programmierer aus der Naehe von Detmold, hat erst kuerzlich in
+der fiktiven Welt geheiratet. An die hundert Gaeste waren zur Hochzeit
+erschienen, und Kuester, der im Spiel Lady Laurana heisst, zieht seither mit
+einem Lord Sandor herum, den er seinen Ga
+tten nennt. ;Solche Ehen kommen haeufig vor (obwohl sich die meisten Partner
+im wirklichen Leben nie gesehen haben). In Ermangelung von Frauen
+(geschaetzter Anteil: unter fuenf Prozent) heiraten die Maenner von Ultima
+Online sich tapfer gegenseitig, wenn es dabei auch oft etwas rauh zugeht.
+Kuesters Kumpane verlegten die Feier in eine MonsterhOehle. Waehrend der
+Festreden tauchten dort immer wieder funkenstiebende Unholde auf, die von den
+Gaesten routiniert abgeschlachtet wurden. ;Zu Kuesters Freunden zaehlt ein
+Englaender, ein Musikant, der gelegentlich bei solchen Gelagen aufgeigt. Die
+Musik hat im Ultima-Spiel die Macht, sogar Monster zu besaenftigen. Doch
+machen sie wenige zu ihrem Beruf, denn der Verdienst ist schlecht, und wer
+nicht fleissig uebt, indem er auf seine Instrumente klickt, bringt nur
+MisstOene hervor. Dann kann es geschehen, dass - entsprechend den
+programmierten Regeln - die eigenen Haustiere ueber den Barden herfallen.
+;Seit langem stehen sich auf Ultima Online zwei Lager gegenueber. Viele
+Rollenspieler waeren zufrieden, wenn man sie nur in ihrem historisierenden
+Jargon ("Heil Euch, edler Magier, mich deucht, Ihr kommet von Minoc her") nach
+Herzenslust palavern liesse. Die anderen sind auf Abenteuer und Krawall aus
+sie rauben und morden. ;Origin hat versprochen, stets neue Aufgaben zu
+erfinden, um auch diese den Leerlauf fuerchtende Kundschaft zu beschaeftigen,
+kommt aber offenbar kaum noch dazu. Notfalls stellt die Firma dann wieder
+irgendwo eine Hundertschaft Monster auf, und die Spieler duerfen sich ein
+Weilchen erfrischen an all den Drachen, Rattenmenschen und beisswuetigen
+Wasserspeiern. ;Ohne aufwendige Betreuung ist das digitale Gemeinwesen stets
+in Gefahr, in Lethargie und Gewalt zu verdaemmern. Die vielen Softwarefirmen,
+die derzeit Online-Spiele fuer jeweils Tausende von Teilnehmern entwickeln,
+werden mit dieser Widrigkeit zu kaempfen haben. ;Unterdessen kuendigt sich
+schon die naechste Generation von digitalen Spielwelten an: Im Sommer will die
+Firma Segasoft ein Online-Spiel namens Ten6 (gesprochen "ten six") erOeffnen,
+eine kriegerische Wirtschaftssimulation von gewaltigen Ausmassen. ;Die
+Konflikte, die jetzt bei Ultima Online auftreten, duerften sich dann wie
+Vorgeplaenkel ausnehmen: Ten6 hat Platz fuer eine Million Spieler. ;DER
+SPIEGEL 16/1998 - Vervielfaeltigung nur mit Genehmigung des SPIEGEL-Verlags 
+
+-----------------------------------------------------------------------------
+
+
+
+Spruch der 25. Woche 1994 (Anatol, 26. Apr 1998, 10:39:11):
+Das Lachen ist der Klang der Freiheit.
+
+
+-----------------------------------------------------------------------------
+
+
+
+es rauscht mal wieder im Blaetterwald .. (Alboin,  8. Mai 1998, 14:33:19):
+Jo was ich mal empfehlen wollte, es gibt mal wieder ein neues 
+satirsches Blaettchen fuer Leute die die zahnlose 'Titanic'
+schon lange satthaben und sich mal wieder nach einer Zeitung
+mit Biss und intellektuellem Stil a la Tucholsky sehnen:
+Sie heisst Simpliccisimus. Fuer Leute die Ahnung von 
+Geschichte haben werden wissen dass die Zeitung nun doch 
+so neu ist, sondern bereits Anfang des Jahrhunderts als
+Schrecken der Wilhelminischen Aera galt, aber im dritten 
+Reich wieder eingestellt wurde. 
+Und vieles der jetzigen Ausgabe erinnert auch an die damilige:
+die Schrift, die rote Buldogge als Maskottchen usw.
+Auch fuer die Oesis duerfte die Zeitung interessant sein, da ein 
+Teil der Redaktion in Wien ist und dementsprechend auch
+Themen aus Oesterreich zur Sprache kommen wie zB das Sissi-Jahr
+(Komm ins Sissi-Land - der Eintritt bringt Dich um den Verstand!)
+Ich kann nur jedem raten mal reinzuschauen, ich habe jedenfalls
+lange nicht mehr so geschmunzelt und gelacht. Auch die Kosten
+(4Maerker) sind meiner Meinung nach nicht zu hoch, denn geboten 
+bekommt man da ziemlich viel.
+
+Alboin
+P.S. ehm orthographisch korrekt heisst es natuerlich:
+Simplicissimus.
+Auch sonst gilt: kein Tag ohne Typos ;)
+
+-----------------------------------------------------------------------------
+
+
+
+APOCALYPTICA II (Lug,  9. Mai 1998, 01:51:49):
+
+Jaaaaaaa,
+
+sie ist da: die neue Apocalyptica "Inquisition Symphonie" (nach dem
+gleichnamigen Sepultura Song). Diesesmal nicht nur mit Metallica Songs,
+sondern auch Sepultura, Faith No More und Eigenkompositionen, darunter das von
+den Konzerten bekannte "Harmageddon". Was die vier Finnen da auf dem Cello
+zusammenschraddeln ist mal wieder feinste Sahne. Duerfte wiederum neben den
+Metallern den Klassikfreunden sehr gefallen. Dazu noch die wichtigsten
+Metallica-Balladen, damit duerfte sie diesesmal mehr als 300000 Einheiten
+absetzen.
+
+Gehet hinaus und hoerte hinein, so Ihr denn Ohren habt.
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+The day (Groo,  9. Mai 1998, 13:40:31):
+my friend sayed
+raise you head
+so hard to belife,
+that she is coming
+back to me
+
+-----------------------------------------------------------------------------
+
+
+
+Das Erste mal (Flinx, 12. Mai 1998, 12:43:42):
+Tach Ihrs.
+
+Morgen werde ich zum erstenmal in die Rocky-Horror-Show gehen...
+Dazu muesste ich wissen, ws ich nun alles mitnehmen muss und 
+wann was wie benutzt wird. Kann mir mal einer Tips geben ?
+
+Waere nett.
+
+Flinx
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Erste mal (Alboin, 12. Mai 1998, 13:09:04):
+~#! rn=Flinx rt=894969822 rg=kultur
+~#! tid=894969822
+also ne Wasserpsritze fuer den Regen muesste Pflicht sein und 
+wenn du mut hast dann zieh noch die reizwaesche Deiner Mutter/
+Schwester an, am besten Schwarze.
+Mehr faellt mir momentan nicht ein.
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Erste mal (Rantanplan, 12. Mai 1998, 13:49:16):
+~#! rn=Alboin rt=894971344 rg=kultur
+~#! tid=894969822
+
+Reiss latuernich, reis ist unabdingbar fuer die Rocky-Horror-Show.
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Erste mal (Rumata, 12. Mai 1998, 14:48:37):
+~#! rn=Rantanplan rt=894973756 rg=kultur
+~#! tid=894969822
+Klopapier!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Erste mal (Flinx, 12. Mai 1998, 15:08:43):
+~#! rn=Rumata rt=894977317 rg=kultur
+~#! tid=894969822
+WOZU brauch man zum Jof nochmal Klopapier ?!
+Erklaerung waere nett :o)
+
+Flinx. Verdutzt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Das Erste mal (Papiertiger, 12. Mai 1998, 15:22:03):
+~#! rn=Flinx rt=894978523 rg=kultur
+~#! tid=894969822
+Wenn Rocky ausgewickelt wird, dann.
+
+Papiertiger, heute einzeilig.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Das Erste mal (Murkes, 12. Mai 1998, 15:25:18):
+~#! rn=Papiertiger rt=894979323 rg=kultur
+~#! tid=894969822
+Feuerzeug oder Wunderkerzen gehoeren doch auch dazu, nicht?
+Ausserdem braucht man eine Zeitung (Als Regendach).
+
+Murkes
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Das Erste mal (Jimdigriz, 12. Mai 1998, 15:27:44):
+~#! rn=Flinx rt=894969822 rg=kultur
+~#! tid=894969822
+Hoi Flinx,
+
+Erstmal viel Spass.
+
+Wichtig ist: Regenschirm, Super Soaker/Wasserspritze, Reis
+Dann das Kostuem, folgende Optionen:
+ 1. Goldener Slip und viel klopapier, zuerst sich in das Klopapier
+   einwickeln lassen, du kriegst dann schon mit, wann Du Dich auswickeln
+   musst. Achja, die Haare muessen dann auch blond sein. 
+  => Rocky
+2. Strapse, Ledermieder, moeglichst in Rot-Schwarz Kombinationen
+  und moeglichst sexy (Frank, diverse)
+
+Aber die Koenigsverkleidung ist natuerlich:
+ - Weltraumuniform bestehend aus gold-beigem, Karo-gestepptem
+   Kunstleder(?)Kleid, kurz und aermellos. 
+ Es ist seitlich eigentlich offen und wird nur von einem
+ (schwarzen?) breitem Band/Guertel gehalten. An den Schultern
+ sitzen grosse, schwarze aufsaetze, schwer zu beschreiben.
+ Als Frisur muss man per Haargummi einen neckischen
+ Zopf basteln, der allerdings ganz oben am Kopf sein muss.
+ schliesslich besorgt man sich noch die Spitze einer
+ dreizinkigen Mistgaben, loetet in die mitte einen Korkenzieher, und
+ an das Ende einen Pistolengriff an, und verchromt das ganze.
+ 
+ Voila, alle werden ehrfuchrstvoll vor Riff-Raff in die Knie
+sinken. 
+
+
+Auch macht es grossen Eindruck wenn man die
+"original" ziemlich obszoenen Zwischenrufe beherscht,
+die vermutlich aus irgendeinem Skript stammen, im Film bzw. 
+auch im Theater nicht direkt vorkommen. (muessen also aus
+dem Publikum kommen), leider hab ich auch keine Quelle
+dafuer. 
+
+Ah doch grade entdeckt:
+ ftp://ftp.leo.org/pub/rec/music/vocal/lyrics/uwp/r/rocky.horror/script.gz
+
+Da ist auch ein Hinweis auf die Ausruestung.
+
+I see you shiver with antici ..... {"SAY IT!"} pation!
+
+Jim DiGriz.
+
+-----------------------------------------------------------------------------
+
+
+
+Rette sich, wer kann! (Yendi, 13. Mai 1998, 13:54:16):
+
+
+
+Die Wurst des Verderbens
+
+
+Es summen die Bienlein! Die Schnucke still aest!
+Suess saeuselt des Schaefers Schalmei!
+Doch horch! Da regt sich was! Hinter der Geest!
+Die Gruetzwurst! Die Gruetzwurst ist frei!
+
+
+Die Tiere ahnten's! Jetzt drehen sie durch!
+Der Henne entschluepfet ein Ei!
+Im Sumpfe ersaeufen sich Kroete und Lurch!
+Die Gruetzwurst! Die Gruetzwurst ist frei!
+
+
+Und brodelnd erscheint sie an Dorfes Rand!
+Mit blutigem, graesslichem Schrei!
+Ein Schatten von Uebelkeit faellt uebers Land!
+Die Gruetzwurst! Die Gruetzwurst ist frei!
+
+
+Schon stuerzt sie sich auf das Huenengrab!
+Schon bricht es krachend entzwei!
+Schon fetzt sie die ersten Daecher herab!
+Die Gruetzwurst! Die Gruetzwurst ist frei!
+
+
+Da kniet noch der Pfaff in der kleinen Kapell!
+Da toent noch die Litanei!
+Da wogt es und schwappt schon auf heiliger Schwell!
+Die Gruetzwurst! Die Gruetzwurst ist frei!
+
+
+Wie Feuersbrunst wuetet sie! Heult wie der Sturm!
+Wie broeckelt die Konditorei!
+Wie gnadenlos holt sie den Gloeckner vom Turm!
+Die Gruetzwurst! Die Gruetzwurst! - Jetzt ist sie vorbei!
+
+
+Berthold Bell
+
+aus:
+TITANIC, Jg. 1981, Bd. 8, S. 70 (= Ko-Li-Bri S. 2)
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Das Erste mal (Ronda, 13. Mai 1998, 20:33:59):
+~#! rn=Jimdigriz rt=894979664 rg=kultur
+~#! tid=894969822
+Und Toast nicht vergessen! Daran erkennt man wahre Freaks! Na, wer weiss, wo
+das vorkommt?
+
+Beim Verfuttern von (args... wie hiess er noch??? Meatloaf halt...) sagt Frank
+N Furter:A Toast, please!
+... und irgendwo haben sie bei uns im Theater auch noch ein Kartenspiel auf
+die buehne geworfen... 
+Viel Spass jedenfalls!
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Erste mal (Papiertiger, 13. Mai 1998, 22:20:36):
+~#! rn=Ronda rt=895084439 rg=kultur
+~#! tid=894969822
+Meatloaf heisst Eddie ("When Eddie said he didn't like his Teddy you knew he
+was a no good kid...")
+
+PdP
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Erste mal (Grimmborn, 13. Mai 1998, 23:09:04):
+~#! rn=Papiertiger rt=895090836 rg=kultur
+~#! tid=894969822
+Nein, Meatloaf heisst "Fleischklops".
+Und der Toast, wie lautet dieser unsterbliche Satz?
+"To absent friends!"
+
+Grimmborn der Atheist hat das seit Ewigkeiten als ali
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Das Erste mal (Jimdigriz, 15. Mai 1998, 16:26:24):
+~#! rn=Ronda rt=895084439 rg=kultur
+~#! tid=894969822
+
+Wenn ich mich recht erinnere sagt er
+sogar: "A toast... to absent friends", wobei
+ Eddie dann ja gar nicht so sehr absent war. :))
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Erste mal (Jimdigriz, 15. Mai 1998, 16:27:08):
+~#! rn=Jimdigriz rt=895242384 rg=kultur
+~#! tid=894969822
+
+Oops,
+ man sollte den Thread zuende lesen bevor
+man schreibt, Grimmborn war wohl schneller....
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Erste mal (Pake, 24. Mai 1998, 22:25:14):
+~#! rn=Papiertiger rt=895090836 rg=kultur
+~#! tid=894969822
+und auf _gar_ _keinen_ fall (!), solltest du irgendwas anziehen, was du auch
+spaeter noch mal tragen willst ;-)
+ich hatte den fehler beim ersten besuch gemacht, und die reinigung meiner
+sachen anschliessend war langwierig (und teuer...).
+
+pake
+(ps: mensch, wenn du das alles zum ersten mal erlebst, wird es echt spassig
+:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Das Erste mal (Jasonrigid, 25. Mai 1998, 12:20:29):
+~#! rn=Pake rt=896041514 rg=kultur
+~#! tid=894969822
+Das war vielleicht ein bisschen spaet, Pake, vermutlich musste der arme, ob
+seiner hohen Reinigungsrechnung schon Konkurs anmelden *grins*
+
+Jason Rigid
+
+-> Schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Das Erste mal (Qitess, 28. Mai 1998, 14:58:03):
+~#! rn=Jimdigriz rt=895242384 rg=kultur
+~#! tid=894969822
+Irgendwie seid Ihr krank...
+
+QI** muss sich doch echt wundern
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Das Erste mal (Atoz, 28. Mai 1998, 15:09:21):
+~#! rn=Qitess rt=896360283 rg=kultur
+~#! tid=894969822
+Na solange DU die einzige Gesunde bist, sei doch froh
+
+. o O (Einbildung ist auch eine Bildung, oder so...)
+Atoz - immer krank, aber dabei gluecklich!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Das Erste mal (Jehova, 29. Mai 1998, 20:43:04):
+~#! rn=Pake rt=896041514 rg=kultur
+~#! tid=894969822
+So schlimm ist die Reinigung auch nicht. Man muss diesen Mehl-Wasser-Mix nur
+trocknen lassen und dann ausklopfen. Ach ja, wozu war das Mehl nochmal da ? :)
+
+Bye, J*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Das Erste mal (Pake, 30. Mai 1998, 03:58:27):
+~#! rn=Jehova rt=896467384 rg=kultur
+~#! tid=894969822
+versuch das mit den abklopfen mal bei ner wild/rauh-lederjacke *sigh*
+
+pake (will jetzt bitte keine haemischen "selbst-schuld!" spottiraden hoeren
+;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Non-Specialization (Yendi,  3. Jun 1998, 21:35:37):
+
+A human being should be able to change a
+diaper, plan an invasion, butcher a hog, conn a
+ship, design a building, write a sonnet, balance
+accounts, build a wall, set a bone, comfort the
+dying, take orders, give orders, cooperate, act
+alone, solve equations, analyze a new
+problem, pitch manure, program a computer,
+cook a tasty meal, fight efficiently, die
+gallantly. Specialization is for insects. 
+
+Lazarus Long in Time Enough For Love.
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+In memoriam... (Caradhras,  5. Jul 1998, 13:10:59):
+In Erinnerung an alte Tage:
+
+-----------------------------------------------------------------------
+Absender: Fyt
+An: Anatol
+Cc: Kotzbrocken, Magicolli, Fels, Zephyr, Mars, Hardil, Keldorn, Monotoni
+Datum: Fre,  7. Apr 1995, 14:06:41
+Titel: Fw: MonsterEP V3
+Weitergesendete mail, urspruenglich von: fyt
+-----------------------------
+Hydra                   320000          (Bambulko)
+Vampir_(ohne_Ast)       80000           (Bernhard)
+Steinbeisser(komplett)  40000           (Zephyr)
+Eistitan                39248   38000   (Ryne)
+Lich                    35500           (Bibo)
+Balrog                  29359   29198   (Asmodis)
+Arena                   28000           (Zephyr)
+Ketos                   26040           (Asmodis)
+Kristalldrache          24000           (Bambulko)
+Eisgigant               23740   23195   (Caradhras)
+Kristalldrache          23331           (Ryne)
+Schlammdrache           23254           (Bambulko)
+Herrscher_Dunkeldaem.   23214           (Ryne)
+Vampir                  23000           (Bernhard)
+Etwas                   22000           (Anatol)
+Zerberus                21165           (Asmodis)
+Goblinhexer             20860   15000   (Ryne)
+Kretek                  20800           (Caradhras)
+Woglinde                20700           (Anatol)
+Glizermock              17653   17500   (Bambulko)
+Schleimdrache           16560           (Ryne)
+Hunnar_Rotbart          15500           (Bernhard)
+Eisdrache               15310           (Ryne)
+Goblindrache            14730           (Acrimon)
+Anne                    14600           (Anakin)
+Grabunhold              14500   9110    (Bibo)
+Eisriese                14300   14136   (Caradhras)
+Asmodis                 14230           (Bambulko)
+Sensenmann              14000           (Caradhras)
+Leibgardewaechter       13515           (Asmodis)
+Dunkelelfen_Wache       13260           (Magicolli4)
+Trollmops               13000   10891   (Bambulko)
+Dunkelelfenwaechter     13000           ?
+Leuchttroll             12150           (Ryne, Bambulko)
+Schleimdrache           12000           (Anakin)
+Goblinanfuehrer         11734 (?)       (Ryne)
+Sumpfdrache             11352           (Ryne)
+Gardewaechter           11000           (Fyt)
+Schneeriese             10800   10288   (Caradhras)
+Wuergertanne            10792           (Bambulko)
+Katze_(Muehle)          10000           (Zephyr)
+Sabberwarze             9876    9561    (Bambulko,Ryne)
+Schlabbermurks          9650    9200    (Caradhras)
+Erfahrene_Dunkeldaemon  9625            (Ryne)
+Putzteufel              9431            (Bambulko)
+Achtarmiger_Priester    9400            (Fyt)
+Stahldrache             9270    9075    (Ryne, Bambulko)
+Zwackelmann             9080            (Ardana)
+Tausendfuessler         9000    4500    (Fyt)
+Herkules                8630            (Snuggle)
+Untier                  8569            (Asmodis)
+Jaeger                  7776            (Magicolli)
+Frostbeule              7449            (Ryne)
+Orkhenker               7394            (Magicolli)
+Eisbaer                 6608    6407    (Bambulko, Ryne)
+Raudaemonen             6469            (Ryne)
+Johanna_von_Orleans     6356    6312    (Snuggle)
+Grosswesir_(Xanti)      6350    6170    (Fyt)
+Masseur                 6200            (Asmodi)
+Thorbold                6168            (Magicolli)
+Eber_(wild)             6002            (Magicolli)
+Hippe                   5937            (Fyt)
+Spinne_(Moron)          5834    5690    (Fyt)
+Rakorium                5800            (Anakin)
+Mammut                  5706    5400    (Asmodis)
+Eisbaer(Eiswueste)      5498            (Asmodis)
+Eisprinzessin           5166            (Asmodis)
+Entschleimer            5160            (Guybrush)
+Orkanfuehrer            5015            (Ryne)
+Riesennasenpopel        4788            (Guybrush)
+Hobgoblin               4746    4506    (Fyt)
+Dunkeldaemonen          4699            (Ryne)
+Orkwaechter_(Leibwache) 4500            ?
+Ork_(stark)             4500            (Anakin)
+Gaernerin               4429            (Asmodis)
+Haegar                  4343            (Snuggle)
+Eisdaemonen             4322            (Ryn)
+Steinbeiss_(mit&schw)   4240            (Asmodis)
+Weihnachtsmann          4160    4055    (Asmodis)
+Mime                    4160            (Asmodis)
+Tentakelmonster         3991            (Ryne)
+Steinbeisser(gef&schw)  3900            (Asmodis)
+Polarfuchs              3808            (Asmodis)
+Gletscherzunge          3785            (Asmodis)
+Yeti                    3784            (Asmodis)
+Wildsau                 3693            (Fyt)
+Troll                   3673            (Ryne)
+Fackelexperte           3656            (Magicolli)
+Echsenwaechter_(Moron)  3625            (Bernhard)
+Schattenfrau            3605(?) 2400    (Fyt)
+Troll                   3500            ?
+Goblin                  3496    3300    (Zephyr)
+Priester_(Xanti)        3450    3268    (Fyt)
+Elfenwaechter_(Glocken) 3358            (Fyt)
+Tischler                3317            (Magicolli)
+Orkpatrouille           3244            (Magicolli)
+Schachkoenig            3240    2440    (Asmodis)
+Daenischer_Koch         3160            (Bambulko)
+Ratte_(Casinokeller)    3000            ?
+Schneeball              2848            (Bambulko)
+Ork_(Eingang)           2806            (Ryn)
+Zwergenwaechter         2800            (Bambulko)
+Schneeball              2768            (Ryn)
+Uial_(Elfenkneipe)      2723            (Asmodis)
+Bettler                 2712    882     (Fyt)
+Kristallscherbenbeisser 2606            (Ryn)
+Mecki                   2600            (Anakin)
+Eisschlecker            2512            (Asmodis)
+Luchs                   2490            (Magicolli)
+Butler                  2460            (Magicolli)
+Schattenmann            2450    1624    (Fyt)
+Herr_Meier              2442            (Magicolli)
+Popeye                  2327            (Snuggle)
+Geier                   2243            (Magicolli)
+Wilhelmine              2222            (Magicolli)
+Charlie_Pinguin         2200            (Anakin)
+Akolythin               2330    2110    (Fyt)
+Killerpopel             2042    2004    (Caradhras)
+Schrat                  2000    1970    (Anakin)
+Luchs                   1930            (Asmodis)
+Steinbock               1900            (Asmodis)
+Rentier                 1879            (Asmodis)
+Kleopatra               1806            (Snuggle)
+Halbdunkeldaemonen      1740            (Ryne)
+Biber                   1733            (Biber)
+blubbernder_Loewenzahn  1720            (Magicolli)
+Lichtdaemon             1674            (Bambulko)
+Wirt_(Elfenkneipe)      1602            (Asmodis)
+Titanwalze              1602    1587    (Bambulko, Ryne)
+Tasmanischer_Teufel     1536            (Asmodis)
+Zigeuner                1522            (Magicolli)
+Orklager_(Drachenhort)  1518            (Fyt)
+Schlange_(riesig)       1500            (Fyt)
+Kareem_Fekesh           1466            (Fyt)
+Steinbeisser_(kl&schw)  1406            (Asmodis)
+Kuh                     1384            (Monotoni)
+Nebenteufel             1302            (Asmodis)
+Wolfsmensch             1208            (Fyt)
+Garon                   1147            (Anatol1)
+Eisschollenbeisser      1136            (Ryn)
+Conan_der_Barbar        1126    1046    (Snuggle)
+Wolpertingerin          1120            (Asmodis)
+Feuersalamander         1120            (Asmodis)
+Eisschollenbeisser      1113            (Bambulko)
+Minenarbeiter           1058            (Asmodis)
+Drachenbaby             1020            (Magicolli)
+Kaenguin                999             (Asmodis)
+Kampfblech              951             (Ryne)
+LAG                     949             (Asmodis)
+Schnabeltier            870             (Asmodis)
+Skorpion                856 ;Gift       (Anatol)
+Moewe                   856             (Magicolli4)
+Wegelagerer             850             (Warlord)
+Rennschnecke            802             (Asmodis)
+Helix_Pomata            800     783     (Caradhras)
+Kartoffelsalat          756             (Arty)
+Zigeunerin              752             (Magicolli)
+Chamaeleon              748             (Monotoni)
+Vrais_Freuend_Faux      676             (Asmodis)
+Nibelung                659             (Asmodis)
+Ork_(schwach)           650             (Anakin)
+Andy                    630     712     (Fyt)
+Zweihaupt               620             (Warlord)
+Architekt               600             (Anakin)
+Schlange_(klein)        534     506     (Fyt)
+Frosch_(suess_&_klein)  505             (Asmodis)
+Willy_Wuehlback         475             (Snuggle)
+Elster                  475     457     (Fyt)
+Orkkoch                 472             (Magicolli)
+Ente_(Nabla)            440             (Warlord)
+Rank_Xerox              438             (Anatol)
+Libelle                 385             (Asmodis)
+Baer                    342             (Anatol)
+Eichelhaeher            335     305     (Fyt)
+Hase                    330             (Anatol)
+Robin_der_Abklatsch     324             (Magicolli)
+Daemonenfliege          314             (Bambulko)
+Mittelspecht            303             (Magicolli)
+Kroete                  260     220     (Caradhras)
+Ren                     255             (Magicolli)
+Frosch                  255             (Anatol)
+Waldameise              250             (Fyt)
+Hase                    250     210     (Fyt)
+Rehbock                 235             (Fyt)
+Wolf                    233             (Caradhras)
+Versicherungsvertreter  225             (Magicolli)
+Einsiedler              180             (Arty)
+Schneehoernchen         175             (Magicolli)
+Schattenmaus            167             (Magicolli)
+Meise                   145     125     (Fyt)
+Zwerg_(fett)            143             (Magicolli)
+Fondil_Farin            138             (Asmodis)
+Blattlaus               125             (Anatol)
+Schneehuhn              116             (Magicolli)
+Kaninchen               110     26      (Anatol)
+Hornisse                104     103     (Anatol)
+Spinne                  102             (Anatol)
+Kakerlake               98      89      (Anatol)
+Reh                     72      106     (Fyt)
+Guybrush                69              (Guybrush)
+Weisskehlchen           62              (Magicolli)
+Ameise                  49      42      (Anatol)
+Wespe                   40      36      (Anatol)
+Schmetterling           23      18      (Anatol)
+Wuestenfloh             4               (Anatol)
+Schneewittchen          0 (?)           (Fyt)
+
+
+-----------------------------------------------------------------------
+
+      Gruss und Kuss *quak*
+
+                Bergfrosch Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Top1400 (Zarniya,  1. Sep 1998, 18:08:12):
+Hi, 
+
+fuer alle, die nicht genug kriegen koennen/wollen und sich auch bei der
+schwachsinnigsten TopListe selbstbefriedigen nun der ultimative Surftip:
+
+http://www.swr3.de/Start_ins_Wildall/countdown.html
+
+Viel ... aeh... Spassssss
+
+Zarniya
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Top1400 (Anatol,  1. Sep 1998, 18:20:45):
+~#! rn=Zarniya rt=904666092 rg=kultur
+~#! tid=904666092
+Peinlich daran ist nur, dass unter den Top 10 die Haelfte kurzlebiger
+Ausschuss ist. Baaaeeeeh! :-)
+
+Favorisiert #2, 
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Top1400 (Boing,  2. Sep 1998, 10:15:40):
+~#! rn=Anatol rt=904666845 rg=kultur
+~#! tid=904666092
+Mein Favorit kommt erst auf Platz 1372, und dazu ist der Titel noch
+falsch geschrieben ... sowas ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Top1400 (Hobo,  2. Sep 1998, 10:20:48):
+~#! rn=Boing rt=904724140 rg=kultur
+~#! tid=904666092
+Das Beste ist einwandfrei auf Platz 69!
+
+   Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Top1400 (Songoku,  4. Sep 1998, 12:39:54):
+~#! rn=Anatol rt=904666845 rg=kultur
+~#! tid=904666092
+Bei mir ist die untere haelfte der liste etwas verschoben.
+Beispiel This is hardcore von den Comedian Harmonists :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Top1400 (Jimdigriz,  4. Sep 1998, 17:30:28):
+~#! rn=Hobo rt=904724448 rg=kultur
+~#! tid=904666092
+Tag,
+
+neinein, Hobo, auf Platz 1151 :-))
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Top1400 (Siborit,  5. Sep 1998, 10:21:17):
+~#! rn=Jimdigriz rt=904923028 rg=kultur
+~#! tid=904666092
+Die erste 5 Minuten und die letzte 3 Minuten sind okay Jim, aber ansonsten ist
+1144 erheblich besser ;))
+
+Siborit.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Top1400 (Jimdigriz,  9. Sep 1998, 14:12:17):
+~#! rn=Siborit rt=904983677 rg=kultur
+~#! tid=904666092
+Hoi Sib,
+
+tja das ist wohl dann doch persoenclihe 
+Geschmacksachen.
+Ich wuerde noch 236 recht weit vorne bewerten,
+meine persoenliche Reihenfolge, der Titel waere:
+ 1151,236,419,33,5,954,491,1144,308
+
+Ciao,
+ JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Top1400 (Siborit,  9. Sep 1998, 22:58:18):
+~#! rn=Jimdigriz rt=905343137 rg=kultur
+~#! tid=904666092
+Hoi Jim,
+
+Meine Liste sieht sieht ein bisschen anderes aus. Hier kommt sie:
+
+852, 1144, 419, 236, 491, 954, 5, 1151, 33 und zum Schluss 308.
+
+Fuer die Vollstaendigkeit, auch nochmal einige andere Favoriten, die nicht in
+der Liste auftauchen, aber doch zu meinen persoenlichen favoriten gehoeren:
+
+- Shine on you craxy Diamond (part 2).
+- Dogs
+- Atom Heart Mother Suite
+- Several species of small furry animals gathered together in a cave and
+grooving with a pict (nur wegen den Titel eigentlich ;).
+
+
+Ciao, Siborit . o 0 (und gleich geht das ---> schmarrn los ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Sexual Relations (Dancer, 24. Sep 1998, 21:44:01):
+Hi zusammen :)
+
+Wer Lust hat, ein Preview des Dancefloor-Herbsthits "Sexual Relations" zu
+hoeren, der kann sich auf unserer Webseite gerne eine MP3-Version downloaden.
+Es geht in dem Lied um einen Staatsmann, der ein wenig vom Pfade der Tugend
+abgekommen zu sein scheint... bzw. das Pech hatte, dass es jemand anderen
+interessiert hat. :)
+
+Und bevor einer 'Schleichwerbung, Schleichwerbung' unkt... nein, der Song ist
+nicht von mir und ich bin auch nicht dran beteiligt. (Nein, und es geht in dem
+Song auch nicht um mich!) Die Adresse ist: http://www.section8.de
+
+Viel Spass,
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+fuer Acrimon #1 (Zarniya,  1. Okt 1998, 16:24:50):
+READ BETWEEN THE LIES 
+
+      Evangelist You Claim God Speaks Through You
+      Your Restless Mouth Full Of Lies Gains Popularity
+      You Care Not For The Old That Suffer
+      When Empty Pockets Cry From Hunger 
+
+      Penniless From Their Generosity
+      Sharing Their Money To Quench Your Greed
+      Searching For The Answer To Their Prayers
+      The Cry Their Last Wish Of Need
+      Save Me 
+
+      His Spirit Lives And Breathes In Me
+      The Almighty Transformed To Your Screen
+      The Meanings Lost In Its Translation
+      No Holy Words, Describe His Deception 
+
+      You Say You'll Help Us Find The Lord
+      Tell Me Preacher How Do You Know
+      A Simple Quest For A Visible Savior
+      To Lead Us Through Our Final Prayer
+      Save Me 
+
+      Send Your Donations
+      Contribute To The Cause
+      Luxuries
+      Your Righteous Reward? 
+
+      Praise The Lord, Praise God,
+      Is What You Wish To Sell
+      There Is No Heaven Without A Hell 
+
+      Lead - Hanneman 
+
+      In Your Minds Eye Could You Truly Believe
+      That By Giving You Can Save Your Soul
+      Could You Be So Naive!
+      You Heal The Sick, Raise The Dead
+      You Blind The Congregation
+      With The Things You Say 
+
+      Religious Blackmail A Deceit Of Trust
+      That Death Will Come And All Will Be Lost: 
+
+      Can You Hear The Serpents Call
+      Look Deep In Those Deceiving Eyes
+      Ignore The Writing On The Wall
+      You Should Read Between The Lies 
+
+      When Doubt Subsides His Honesty
+      An Inquiry, Is It Blasphemy?
+      Impure The Soul, Thats Made To Suffer
+      No Sermons Left To Hide Or Cover
+      An Empty Promise, Lie Unfulfilled
+      To Steal A Dram Or Get It Killed
+      They Claim Your Trip To Heavens Nearby
+      You May Believe It, But Satan Wouldn't Lie 
+
+
+Zarniya, Morgoth angrinsend
+
+-----------------------------------------------------------------------------
+
+
+
+fuer Acrimon #2 (Zarniya,  1. Okt 1998, 16:29:06):
+JESUS SAVES 
+
+      You Go To The Church, You Kiss The Cross
+      You Will Be Saved At Any Cost
+      You Have Your Own Reality
+      Christianity
+      You Spend Your Life Just Kissing Ass
+      A Trait That's Grown As Time Has Passed
+      You Think The World Will End Today
+      You Praise The Lord,
+      It's All You Say 
+
+      Jesus Saves, Listen To You Pray
+      You Think You'll See The Pearly Gates
+      When Death Takes You Away 
+
+      For All Respect You Cannot Lust
+      In An Invisible Man You Place Your Trust
+      Indirect Dependency
+      Eternal Attempt Of Amnesty
+      He Will Decide Who Lives And Who Dies
+      Depopulate Satanas Rise
+      You Will Be An Accessory
+      Irreverence And Blasphemy 
+
+      Lead - King 
+
+      Jesus Saves, No Need To Pray
+      The Gates Of Pearl Have Turned To Gold
+      It Seems You've Lost Your Way 
+
+      Lead - Hanneman 
+
+      Jesus Saves
+      No Words Of Praise
+      No Promised Land To Take You To
+      There Is No Other Way 
+
+Zarniya, immer noch Morgoth angrinsend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: fuer Acrimon #2 (Ark,  1. Okt 1998, 19:30:27):
+~#! rn=Zarniya rt=907252146 rg=kultur
+~#! tid=907252146
+Wo is da der Zusammenhang? Haeme oder so? Naja, jedenfalls toll, dass
+irgendwelche Grueppchen fuer uns denken ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Lie Metal (Acrimon,  1. Okt 1998, 19:43:38):
+Hoert sich nach Metal an ... 
+
+Hmm ... Satanisten, die sehen alles mit verdrehten Augen.
+"Satan wuerde nicht luegen".... naja.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lie Metal (Grimmborn,  2. Okt 1998, 11:09:35):
+~#! rn=Acrimon rt=907263818 rg=kultur
+~#! tid=907263818
+Hmm, gabs nicht einen Begriff fuer zitieren ohne Quellenangaben? Ich meine,
+ich haette da im Strafgesetzbuch mal sowas gelesen... ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Lie Metal (Urthona,  4. Okt 1998, 19:21:08):
+~#! rn=Acrimon rt=907263818 rg=kultur
+~#! tid=907263818
+Ich bin auch kein Metalfreund, aber hier geht es um den text; alles gleich in
+die Satanistenecke zu draengen ist genau das, was mich absolut ankotzt.
+
+Und da schreiben solche Leute noch, dass man nicht auf ihrem allerheiligsten
+rumtrampeln soll. Wieso denn nicht?
+
+Urthona.
+
+PS: Satan ist der Beste Freund der Kirche, ohne ihn waere das Geschaeft mit
+dem Seelenverbl^H^H^H^H^Hfang niemals so lukrativ.
+
+-----------------------------------------------------------------------------
+
+
+
+Pu Paputzis? (Qitess,  9. Okt 1998, 17:30:38):
+------------------------------------------------------------------------------
+-
+
+
+Die kluge Frau Januzis
+
+In einer Stadt in Griechenland,
+Da hinkte Frau Januzis
+Mit einem Absatz in der Hand
+Und fragte: "Puh papuzis?"
+Es war zur sechsten Abendstund'
+Und schon ein wenig duster.
+Sie fragte:"Puh papuzis?" Und
+Das heisst auf deutsch: Wo Schuster?
+
+Sie ging auf einem Absatz nur,
+Die arme Frau Januzis.
+Es wurde langsam sieben Uhr.
+Sie fragte:"Puh papuzis?"
+Sie fragte, wo ein Schuster waer',
+Zur Rechten oder Linken.
+Sie musste weiter kreuz und quer
+Die kleine Stadt durchhinken.
+
+Doch fand sich, ach, kein Schuster fuer
+Die arme Frau Januzis.
+Sie ging umsonst von Tuer zu Tuer
+Und fragte:"Puh papuzis?"
+Es wurde neun, es wurde zehn,
+Es wurde zappenduster.
+Doch nirgends war ein Schild zu sehn
+Von irgendeinem Schuster.
+
+Am Ende war sie schrecklich matt,
+Die arme Frau Januzis.
+Sie fragte in der kleinen Stadt
+Nicht weiter: Puh papuzis?
+Sie setzte sich auf eine Bank,
+Massierte sich die Beine,
+Besann sich zehn Minuten lang
+Und half sich dann alleine.
+
+Sie nahm den zweiten Schuh, schwipp-schwapp,
+Die kluge Frau Januzis,
+Und riss auch dessen Absatz ab,
+Als waer' sie ein papuzis.
+Sie ging auf Sohlen weiter fort.
+Und das verdenkt ihr keiner.
+Denn gar kein Absatz (auf mein Wort)
+Ist besser als nur einer !
+
+
+
+------------------------------------------------------------------------------
+--
+aus: Mein Urgrossvater und ich
+von James Kruess
+
+QI** faellt das so gerade mal ein, weil auf Kreta auch in Griechenland ist.
+
+P.S.: Pu heisst wirklich wo, paputzis aber eher S...Schuh ... ja.
+      paputzis heisst schuh (denke ich...und 'bloeder editor' denke ich auch)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ein paar gute Gruende, Mann zu sein (Groo,  9. Nov 1998, 23:04:15):
+Na was is
+Sei Froh ein Mann zu sein
+denn
+Gruende, warum es wunderbar ist, ein Mann zu sein
+>
+> Telefongespraeche dauern nur 30 Sekunden.
+>
+> Du hast fundierte Kenntnisse ueber Autos und Panzer.
+>
+> Fuer 5-Tage-Urlaube benoetigst Du nur einen Koffer.
+>
+> Du musst nicht das Sexualleben Deiner Freunde beraten.
+>
+> Die Menschen-Schlangen vor dem Klo sind um 80% kuerzer.
+>
+> Alten Freunden ist es egal, ob Du zu- oder abgenommen hast.
+--mehr--(24%) ANFANG
+>
+> Wenn Du durch TV-Programme zappst, brauchst Du nicht anhalten, wenn Du
+
+> jemanden weinen siehst.
+>
+> Deine Orgasmen sind nicht vorgetaeuscht.
+>
+> Ein Bierbauch macht Dich fuer das andere Geschlecht nicht unsichtbar.
+>
+> Du brauchst Dir nicht den Rock festzuhalten, wenn Du eine Treppe
+> hinaufgehst.
+>
+> Du musst nicht in einer Gruppe auf's Klo gehen.
+>
+> Du kannst morgens in 10 Minuten geduscht und fertig sein.
+>
+> Beim Sex mut Du  Dir keine Sorgen um Deinen Ruf machen.
+>
+> Deine Unterwaesche kostet DM 15,- im Dreierpack.
+>
+> Du brauchst Dich nicht halsabwaerts rasieren.
+>
+> Es macht niemandem etwas aus, wenn Du 34 Jahre alt und noch nicht
+> Wenn Du durch TV-Programme zappst, brauchst Du nicht anhalten, wenn Du
+
+> jemanden weinen siehst.
+>
+> Deine Orgasmen sind nicht vorgetaeuscht.
+>
+> Ein Bierbauch macht Dich fuer das andere Geschlecht nicht unsichtbar.
+>
+> Du brauchst Dir nicht den Rock festzuhalten, wenn Du eine Treppe
+> hinaufgehst.
+>
+> Du musst nicht in einer Gruppe auf's Klo gehen.
+>
+> Du kannst morgens in 10 Minuten geduscht und fertig sein.
+>
+> Beim Sex mut Du  Dir keine Sorgen um Deinen Ruf machen.
+>
+> Deine Unterwaesche kostet DM 15,- im Dreierpack.
+>
+> Du brauchst Dich nicht halsabwaerts rasieren.
+>
+> Es macht niemandem etwas aus, wenn Du 34 Jahre alt und noch nicht
+> verheiratet bist.
+>
+> Du kannst 90 % Deiner Zeit nach dem Aufstehen an Sex denken!!
+>
+> Dir sind drei Paar Schuhe mehr als genug.
+>
+> Du kannst Dein T-Shirt einfach ausziehen, wenn Dir heiss ist.
+>
+> Du brauchst Deine Wohnung nicht jedesmal zu putzen, wenn Besuch kommt.
+
+>
+> Die Mechaniker der Auto-Werkstatt beluegen Dich nicht.
+>
+> Du kannst mit einem Freund ohne ein Wort zu sagen stundenlang
+> fernsehen,ohne zu
+> denken "er ist sauer auf mich".
+>
+> Du kennst nur einen Gemuetszustand.
+>
+> Du kennst mindestens 30 Moeglichkeiten, eine Bierflasche zu oeffnen.
+>
+> Du kannst mit gespreizten Beinen sitzen, ohne darueber
+nachzudenken,was du
+> gerade anhast
+>
+> Du bekommst fuer die gleiche Arbeit mehr Geld.
+>
+> Es gibt immer einen TV-Kanal, auf dem Sport kommt.
+>
+> Die TV-Fernbedienung gehoert Dir alleine.
+>
+> Die Leute schauen Dir nicht in den Ausschnitt, wenn Du mit Ihnen
+sprichst.
+>
+> Du kannst einen Freund besuchen, ohne ihm ein Geschenk mitzubringen.
+>
+> Du kannst Kondome kaufen, ohne dass sich der Verkaeufer Dich nackt
+> vorstellt.
+>
+> Neue Schuhe tun Deinen Fuessen nichts an.
+>
+> Pornofilme sind fuer Dich gemacht.
+>
+> Dass Dir eine Person nicht sympathisch ist, heisst noch lange nicht,
+dass
+> du Dir Sex mit ihr nicht vorstellen kannst.
+> Mit 400 Millionen Spermien pro Schuss koenntest Du theoretisch die
+> Weltbevoelkerung verdoppeln.
+
+
+cu oetzi
+
+Na wenn das nicht ein paar Gruende sind :)
+Groo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stammtisch in Ddorf verlegen? (Rantanplan, 10. Nov 1998, 02:04:59):
+~#! rn=Cymonk rt=910652514 rg=treffen
+~#! tid=910386881
+Ich bestehe darauf, dass ich Orgasmen vortaeuschen kann !! ;-))
+Ich bestehe darauf, dass ich Orgasmen vortaeuschen kann !! ;-))
+Ich bestehe darauf, dass ich Orgasmen vortaeuschen kann !! ;-))
+
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Stammtisch in Ddorf verlegen? (Grimmborn, 10. Nov 1998, 11:13:30):
+~#! rn=Rantanplan rt=910663499 rg=kultur
+~#! tid=910386881
+"Wie taeuscht ein Schwuler einen Orgasmus vor?" "Er kippt warmen Joghurt ueber
+den Ruecken des anderen."
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Maenner-WG (Dieder, 10. Nov 1998, 12:27:44):
+~#! rn=Grimmborn rt=910697275 rg=kultur
+~#! tid=910697275
+Hmm, netter Text, nur - irgendjemand hat sich bei mir immer beschwert, wenn
+ich solche Texte einfach nur reingepastet habe, ohne die Umlaute und Scharf-S
+*grins Acrimon* umzuwandeln... *kicher*
+wer das wohl war??? :-)
+
+Dieder, grinsend.
+
+-----------------------------------------------------------------------------
+
+
+
+"gruebel" ich hab sie drin gelassen weil ich sie bei mir sehen konnte (zu meiner verwunderung zugegebenermassen). aber da eh nach witze sollte mach ichs halt neu. (Grimmborn, 10. Nov 1998, 12:35:29):
+~#! rn=Dieder rt=910700864 rg=kultur
+~#! tid=910697275
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+these days (Gorog,  2. Dez 1998, 00:34:06):
+Mal ne kleine Anmerkung, wer nette hausgemachte "Rock-Music" (wenn man das so
+nennen darf) mag. Der solle sich ne Karte oder mehrere fuer die aktuelle Fury
+Kneipen-Tour besorgen. Lohnt sich auf jedenfall, nicht nur wegen dem
+zusaetzlichen Streichquartett.
+
+Gorog war gerade da und wollte eigentlich gar nicht weg.
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachten (Grimmborn, 23. Dez 1998, 15:59:43):
+Und hier wieder, in einer zufaelligen Rubrik, die Weihnachtsgeschichte:
+
+Eine kleine Geschichte zur Weihnacht
+
+Die achtjaehrige Virginia O'Hanlon aus New York wollte es ganz genau wissen. 
+Darum schrieb sie an die Tageszeitung "Sun" einen Brief:
+
+"Ich bin acht Jahre alt. Einige von meinen Freunden sagen, es gibt keinen
+Weihnachtsmann. Papa sagt, was in der 'Sun' steht ist immer wahr. Bitte sagen
+Sie mir: Gibt es einen Weihnachtsmann? - Virginia O'Hanlon"
+
+Die Sache war dem Chefredakteur Francis P. Church so wichtig, dass er selber
+antwortete - auf der Titelseite der "Sun":
+
+"Virginia,
+Deine kleinen Freunde haben nicht recht. Sie glauben nur, was sie sehen; sie
+glauben, dass es nicht geben kann, was sie mit ihrem kleinen Geist nicht
+erfassen koennen. Aller Menschengeist ist klein; ob er nun einem Erwachsenen
+oder einem Kind gehoert. Im Weltall verliert er sich wie ein winziges Insekt.
+Solcher Ameisenverstand reicht nicht aus, die ganze Wahrheit zu erfassen und
+zu begreifen.
+Ja, Virginia, es gibt einen Weihnachtsmann. Es gibt ihn so gewiss wie Liebe
+und Grossherzigkeit und Treue. Weil es all das gibt, kann unser Leben schoen
+und heiter sein. Wie dunkel waere die Welt, wenn es keinen Weihnachtsmann
+gaebe! Es gaebe dann auch keine Virginia, keinen Glauben, keine Poesie - gar
+nichts, was das Leben erst ertraeglich machte. Ein Flackerrest an sichtbarem
+Schoenen bliebe uebrig. Aber das Licht der Kindheit, das die Welt ausstrahlt,
+muesste verloeschen.
+Es gibt einen Weihnachtsmann. Sonst koenntest Du auch den Maerchen nicht
+glauben. Gewiss, Du koenntest Deinen Papa bitten, er solle am Heiligen Abend
+Leute ausschicken, den Weihnachtsmann zu fangen. Und keiner bekaeme ihn zu
+Gesicht - was wuerde das beweisen? Kein Mensch sieht ihn einfach so. Das
+beweist gar nichts. Die wichtigen Dinge bleiben meistens unsichtbar. Die
+Elfen, zum Beispiel, wenn sie auf Mondwiesen tanzen. Trotzdem gibt es sie. All
+die Wunder zu denken - geschweige denn sie zu sehen, das vermag nicht der
+Kluegste auf der Welt. Was Du auch siehst, Du siehst nie alles.
+Du kannst ein Kaleidoskop aufbrechen und nach den schoenen Farbfiguren suchen.
+Du wirst einige bunte Scherben finden, nichts weiter. Warum? Weil es einen
+Schleier gibt, der die wahre Welt verhuellt, einen Schleier, den nicht einmal
+alle Gewalt auf der Welt zerreissen kann. Nur Glaube und Poesie und Liebe
+koennen ihn lueften. Dann wird die Schoenheit und Herrlichkeit dahinter auf
+einmal zu erkennen sein. 
+'Ist das denn auch wahr?' kannst Du fragen. Virginia, nichts auf der ganzen
+Welt ist wahrer und nichts bestaendiger. Der Weihnachtsmann lebt, und ewig
+wird er leben. Sogar in zehnmal zehntausend Jahren wird er da sein, um Kinder
+wie Dich und jedes offene Herz mit Freude zu erfuellen. Frohe Weihnacht,
+Virginia.
+Dein Francis P. Church"
+
+(Der Briefwechsel zwischen Virginia O'Hanlon und Francis P. Church stammt aus
+dem Jahr 1897. Er wurde ueber ein halbes Jahrhundert bis zur Einstellung der
+"Sun" im Jahre 1950 alle Jahre wieder zur Weihnachtszeit auf der ersten Seite
+der Zeitung abgedruckt.)
+
+
+Ich wuensche allen ein frohes und gesegnetes Weihnachtsfest!
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachten (Paltum, 23. Dez 1998, 18:01:41):
+~#! rn=Grimmborn rt=914428783 rg=kultur
+~#! tid=914428783
+und was beweist es, dass der chefredakteur von sun behauptet es gebe den
+weihnachtsmann ? => GAR NIX :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Grimmborn, 23. Dez 1998, 18:04:49):
+~#! rn=Paltum rt=914436101 rg=kultur
+~#! tid=914428783
+Immerhin ist die Zeitung 1950 eingestellt worden.
+Und ueber die gleichnamige Rechnerfirma decken wir zum Fest der Liebe und
+Versoehnung einen Mantel des Schweigens...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachten (Acrimon, 23. Dez 1998, 22:00:19):
+~#! rn=Grimmborn rt=914428783 rg=kultur
+~#! tid=914428783
+argh, wird dieser idiotische Mist denn jedes Jahr gepostet...
+Phantasie ist gut, aber
+- die Realitaet der Phantasie unterzuordnen, noch dazu wenn
+- diese "Phantasie" gar nicht die eigene Phantasie ist, sondern
+- eine von Werbefirmen willkuerliche Verballhornung im Kitsch-Stil ist,
+ist eine absolute Unverschaemtheit und ethisch nicht zu vertreten.
+
+Sich von auszen mit Phantasien anderer Leute zuschuetten zu lassen, hat nichts
+mit echter Phantasie zu tun. Denn Phantasie bedeutet: *SELBST* sich etwas
+ausdenken.
+Und Kindern Luegengeschichten zu erzaehlen, die auszerdem leicht durchschaubar
+sind, und ihnen noch dazu von "offizieller" Seite zu bestaetigen, dasz diese
+Luegengeschichten wahr waeren, halte ich fuer ein ethisches Verbrechen
+hoechsten Grades. Denn man programmiert dadurch die "Erkenntnis" vor, dasz
+alle Menschen fast immer luegen, und das fuehrt zu schlimmen Depressionen...
+Dasz es wahrheitsliebende Menschen gibt, glauben die naemlich nicht mehr.
+
+Hoffentlich kommt dieser Mist von dem Sun-Chefredaktuer nicht naechstes Jahr
+schon wieder.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Grimmborn, 23. Dez 1998, 23:32:02):
+~#! rn=Acrimon rt=914450419 rg=kultur
+~#! tid=914428783
+[ ] Du hast verstanden worum es in diesem Text geht.
+Naja, naechstes Jahr bekommst Du bestimmt wieder eine Chance...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Kellybundy, 28. Dez 1998, 02:40:10):
+~#! rn=Acrimon rt=914450419 rg=kultur
+~#! tid=914428783
+ 'Denn man programmiert dadurch die "Erkenntnis" vor, dasz alle Menschen fast
+immer luegen, und das fuehrt zu schlimmen Depressionen'
+
+Hihi. Da sprach der Experte! Gott ist also ein ethisches Verbrechen, sieh an
+]:)
+
+Dumpfbeutel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Daria, 29. Dez 1998, 15:34:45):
+~#! rn=Acrimon rt=914450419 rg=kultur
+~#! tid=914428783
+Ich muss dich leider korrigieren, Acrimon.
+Luegengeschichten hin oder her...
+Aber Kinder WOLLEN einfach bis zu nem bestimmten Alter an Christkind etc.
+glauben. Denn: 
+Mein Onkel fand auch, man koenne Kinder doch nicht anluegen. Also hat er
+meiner Kusine gesagt, der Nikolaus, den gaebs nicht, die Geschenke sind von
+den Eltern. (meine Kusine ist 5).
+Am 6.12. hat er ihr die Geschenke gegeben, und sie haben ein paar Lieder
+gesungen.
+Und als meine Kusine ins Bett musste hat sie noch gefragt 
+"Aber heute nacht kommt doch der richtige Nikolaus"?
+
+Auch entlarvte Kaufhausnikolaeuse koennen an diesem Glauben nicht ruetteln.
+ISt doch klar: Der Nikolaus hat nicht so viel Zeit, dass er in jedem Kaufhaus
+stehen kann. Da kommen Kinder von ganz allein drauf.
+
+Und wenn sie dann irgendwann rauskriegen, dass es doch keine Nikolaus gibt,
+sind sie Stolz, dass sie schon so "gross" sind, und sind nicht sauer auf die
+Eltern oder so ein Bloedsinn. 
+
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weihnachten (Acrimon, 29. Dez 1998, 17:23:09):
+~#! rn=Daria rt=914945685 rg=kultur
+~#! tid=914428783
+Bring bitte nicht alles durcheinander!
+Rate mal, was Weihnachten fuer ein Fest ist?
+Ohne Christkind geht da nix.
+Und das Christkind ist auch keine Luegengestalt.
+Der "Weihnachtsmann" dagegen sehr wohl.
+Geschenke sind zwar nett und schoen und auch ueblich, gehoeren aber nicht
+unbedingt zum Weihnachtsfest.
+Der "Weihnachtsmann" jedenfalls hat absolut NICHTS mit Gott, dem Christkind
+oder dem echten Weihnachten zu tun.
+
+Mir ist schon klar, dasz Atheisten sich da gerne selbst in Luegen verwickeln,
+obwohl sie wissen, dasz sie Luegen verbreiten ...
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weihnachten (Daria, 29. Dez 1998, 17:29:50):
+~#! rn=Acrimon rt=914952189 rg=kultur
+~#! tid=914428783
+Also meiner Meinung nach ist es kein grosser Unterschied ob man den Kindern
+erzaehlt, dass der Weihnachtsmann die Geschenke bringt oder das Christkind.
+Die Geschenke im allgemeinen haben nix mit Weihnachten und der Geburt Jesu zu
+tun, egal wer sie bringt.
+
+Im uebrigen ist der Weihnachtsmann eigentlich nur eine Abwandlung des Hlg.
+Nikolaus (im englischen Santa Claus, der heilige Nikolaus).
+
+Seien wir doch ehrlich: Auch das Christkind (*blinzel nach Nuernberg*) ist bei
+dem Kommerz zu einem Rauschgoldengelchen verkommen. Welches Baby koennte auch
+die ganzen Geschenke tragen?
+
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Weihnachten (Acrimon, 29. Dez 1998, 17:53:17):
+~#! rn=Daria rt=914952590 rg=kultur
+~#! tid=914428783
+Warum erzaehlt man nicht einfach die Wahrheit:
+Dasz die Menschen sich an Weihnachten untereinander Geschenke schenken, weil
+sie die Geburt Jesu (=Christkind) feiern wollen.
+Dann gibt es diesbezueglich keine Widersprueche mehr.
+Und Weihnachten soll ja wahrlich nicht das Fest der Luegen sein...
+
+Dasz Kommerz zum Kitsch und zum Taeuschen und Verfaelschen tendiert, ist ja
+nix Neues, und es ist nicht nur an Weihnachten so.
+Gibt es ueberhaupt noch eine Insel, wo man noch nicht vom Kommerz ueberrannt
+wird?
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Weihnachten (Jiddu, 29. Dez 1998, 22:57:07):
+~#! rn=Acrimon rt=914953997 rg=kultur
+~#! tid=914428783
+Wer schenkt denn an Weihnachten um die Geburt Jesu zu feiern?! Ich kenn nicht
+einen einzigen.
+Jiddu.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weihnachten (Qitess,  3. Jan 1999, 16:45:57):
+~#! rn=Acrimon rt=914450419 rg=kultur
+~#! tid=914428783
+seufz. der weihnachtsmann ist im uebrigen keine erfindung einer
+beruehmt-beruechtigten suessgetraenkeherstellers, sondern eine veraenderung
+einer sitte. von der rot/weissen firma kommt lediglich das rot/weisse outfit
+und der schoene lange rauschebart. bevor der ausschlaggebende werbefeldzug
+stattfand gab es durchaus den brauch weihnachten zu feiern, und es gab
+allerdings bereits den weihnachtsmann (den brauch des weihnachtsmanns). und
+der weihnachtsmann war einst sankt niklaus, ein heiliggesprochener, der den
+braven kindern ( bzw den armen kindern) zu seiner zeit nette kleinigkeiten wie
+aepfel nuesse etc geschenkt hat (heimlich). ihm zu ehren findet der brauch
+noch zum namenstag statt und zu weihnachten, der geburt von jesus, denn dort
+wurde auch mal geschenkt (heilige 3 koenige an jesus). im laufe der vielen
+jahre ist der weihnachtsmann entstanden, der eben zu weihnachten die geschenke
+brachte. nichtsdestotrotz ist der weihnachtsmann keine erfindung von
+coca-cola. von denen hat er nur sein rot-weisses outfit. aber das habe ich
+bereits gesagt.
+
+QI** hat grad leider keine moeglichkeit den bericht nochmal zu lesen und auch
+eventuelle rechtschreibfehler zu untersuchen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weihnachten (Qitess,  3. Jan 1999, 16:49:26):
+~#! rn=Qitess rt=915381957 rg=kultur
+~#! tid=914428783
+ja, was ich dann noch sagen wollte:
+ich finde es viel schlimmer zu sagen, dass das christkind die geschenke
+bringt. das ist naemlich tatsaechlich falsch. erstens ist das christkind, das
+angeblich die geschenke bringt immer als engeliges persoenchen dagestellt, und
+also kann es gar nicht das christkind (also jesus) sein, und zweitens ist das
+christkind jesus, und wurde selber beschenkt.
+naemlich
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Weihnachten (Anatol,  3. Jan 1999, 18:08:52):
+~#! rn=Acrimon rt=914953997 rg=kultur
+~#! tid=914428783
+Jemand, der sein Kind nie anluegt, Fragen unter Umstaenden oft mit "Das
+verstehst Du noch nicht." abhandelt, Jemand, der nicht weiss, wie wichtig
+Phantasie fuer Kinder ist, ... sollte die Erziehung dem Ehepartner ueber-
+lassen.
+
+So es denn einen gibt,
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+coke (Householder,  3. Jan 1999, 18:14:57):
+Waaaas ? Die Farbe kommt von coca cola ?? ich dachte immer die farbe kaeme
+daher, dass nikolaus ein bischof war und immer so klamotten anhatte naja
+wieder was dazugelernt 
+HH => blond
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Weihnachten (Wurzel,  4. Jan 1999, 20:11:07):
+~#! rn=Acrimon rt=914953997 rg=kultur
+~#! tid=914428783
+kaese, weihnachten hat mit jesus nix zu tun. die wintersonnenwende hat man
+schon lange vorher gefeiert, bevor man was von diesem orientalischen zeug
+gehoert hat. die christen haben das fest nur umgedeutet, um es vor ihren
+eigenen karren zu spannen.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Weihnachten (Acrimon,  5. Jan 1999, 22:02:34):
+~#! rn=Anatol rt=915386932 rg=kultur
+~#! tid=914428783
+> Jemand, der sein Kind nie anluegt,
+der respektiert das Kind, gibt ihm Sicherheit und Geborgenheit.
+> Fragen unter Umstaenden oft mit "Das verstehst Du noch nicht." abhandelt,
+das ist das genaue Gegenteil und genauso schlimm wie anluegen.
+Besser: entweder versuchen, eine richtige Erklaerung zu geben, oder sagen "Das
+weisz ich selbst nicht", oder vielleicht auch nur einen Teil erklaeren. Wenn
+das Kind mehr wissen will, fragt es schon.
+Aber auf keinen Fall luegen oder sagen "Du bist zu bloed".
+> Jemand, der nicht weiss, wie wichtig Phantasie fuer Kinder ist,
+der sollte die Erziehung dem Ehepartner ueberlassen.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re: coke (Acrimon,  5. Jan 1999, 22:03:56):
+~#! rn=Householder rt=915387297 rg=kultur
+~#! tid=915387297
+Schau dir mal einen Bischof an. Die sind *nicht* rot-weiss.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Weihnachten (Acrimon,  5. Jan 1999, 22:08:34):
+~#! rn=Wurzel rt=915480667 rg=kultur
+~#! tid=914428783
+"Weih-Nachten" wird zum Zeitpunkt der Wintersonnwende gefeiert, weil es
+aufkeimende Hoffnung nach der Geburt Christi symbolisiert.
+Schlichte Zeitpunkte ohne sonstige Hintergruende zu feiern finde ich reichlich
+doof.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Weihnachten (Anatol,  6. Jan 1999, 11:20:44):
+~#! rn=Acrimon rt=915574114 rg=kultur
+~#! tid=914428783
+Ich finde auch so manches, was sich der christliche Glaube alles erlaubt
+(voellig unabhaengig davon, ob roemlisch-katholisch, evangelisch-lutherisch,
+acrimon-fundamentalistisch oder sonstwas) auch reichlich doof. Getan wird
+es trotzdem. Na und?
+
+Anatol
+
+PS: Ach ja, Acrimon - wie definierst Du "luegen"? :o)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Weihnachten (Grimmborn,  6. Jan 1999, 11:40:37):
+~#! rn=Anatol rt=915621644 rg=kultur
+~#! tid=914428783
+Ich finde auch so manches, was sich allgemein erlaubt wird (voellig
+unabhaengig davon, ob religioes, politisch, kulturell oder sonstwo) auch
+reichlich doof. Getan wird es trotzdem. Na und?
+
+> PS: Ach ja, Acrimon - wie definierst Du "luegen"? :o)
+Argh, frag ihn nicht. Sonst sind wir ganz schnell wieder in einer
+Ironie-Diskussion.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: coke (Key,  6. Jan 1999, 16:36:38):
+~#! rn=Acrimon rt=915573836 rg=kultur
+~#! tid=915387297
+Also langsam reichts doch, oder? Wir haben alle diese "Feiertage" ueberstanden
+und fertig.
+
+Uebrigens wenn ich mich recht erinnere waren Rot, Lila und aehnliches die
+Farben der reichen, und damals haben sich wohl auch die lieben Bischoefe damit
+geschmueckt, um zu zeigen wie toll sie sind :)
+Naja und echtes weiss ... koennte man evtl als weisse Weste deuten ... oder
+auch als Zeichen von Reichtum, denn wieviele konnten sich damals schon Persil
+Color leisten?
+
+Key
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Weihnachten (Kellybundy,  6. Jan 1999, 17:39:48):
+~#! rn=Wurzel rt=915480667 rg=kultur
+~#! tid=914428783
+Meines Wissens war am 24. Dezember die Geburt des Mithras. Ist auch keine neue
+Taktik der christlichen Kirchen, heidnische Feiertage zu uebertuenchen... (zB
+Helloween/Allerheiligen ist nach dem keltischen Kalender Jahresende)
+
+Blondie, senfend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: coke (Kellybundy,  6. Jan 1999, 17:41:28):
+~#! rn=Acrimon rt=915573836 rg=kultur
+~#! tid=915387297
+Doch, mit Ke5tchup und mayo, schoen durchgegrillt.... *schmatz*
+
+Bloe^ndie
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Weihnachten (Catweazle,  7. Jan 1999, 09:00:22):
+~#! rn=Gast1 rt=915668935 rg=kultur
+~#! tid=914428783
+Aehm, woher hast Du dieses Wissen?
+Das klingt interessant und ich wuerd mir da gerne was zu ansehen.
+
+Anyway, ich stimme Euch natuerlich vollkommen zu, und zwar jedem von Euch :)
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Weihnachten (Kellybundy,  7. Jan 1999, 13:50:57):
+~#! rn=Gast1 rt=915668935 rg=kultur
+~#! tid=914428783
+Tach Lug :)
+
+Bloe^ndie
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Weihnachten (Grimmborn,  7. Jan 1999, 22:56:23):
+~#! rn=Kellybundy rt=915717057 rg=kultur
+~#! tid=914428783
+Ich erinnere nochmal dran, dass ich prinzipiell alle Artikel, die von Gaesten
+sind, unabhaengig vom Inhalt loesche. Auch wenn sie von Lug sind. Weils
+diesmal aber interessant war ist der Artikel in muell gelandet.
+
+Grimmborn der Zensist
+
+-----------------------------------------------------------------------------
+
+
+
+gibts hier Bratscher? (Kellybundy, 14. Jan 1999, 01:35:28):
+Ein Bekannter von mir sucht haenderingend Bratscher fuer 'sein' Orchester
+(A-Orchester).
+Ich weiss, dass das sehr schwammig ist (im Moment), aber ich moechte mal ganz
+dezent vorfuehlen.
+
+
+KellyBundy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: WICHTIG !!!!!!!!! (Kellybundy, 14. Jan 1999, 01:37:38):
+~#! rn=Kellybundy rt=916277360 rg=anzeigen
+~#! tid=916140896
+aerks ich meine natuerlich: Resonanz waere nett, und vielleicht waere das
+besser in Anzeigen aufgehoben...
+
+Blondie, einen Editor anargelnd
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: WICHTIG !!!!!!!!! (Grimmborn, 14. Jan 1999, 03:21:41):
+~#! rn=Kellybundy rt=916277858 rg=kultur
+~#! tid=916140896
+Nicht anzeigen. Das gehoert nach witze.
+Schliesslich gings um Bratscher...
+
+Warum heisst die Bratsche Bratsche? 
+Weil es "bratsch" macht wenn man drauftritt.
+
+Grimmborn der Atheist. Minibratschist. Oder so.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: WICHTIG !!!!!!!!! (Kellybundy, 14. Jan 1999, 13:08:34):
+~#! rn=Grimmborn rt=916284101 rg=kultur
+~#! tid=916140896
+Naja Bratscherwitze scheinste zu kennen, das qualifiziert Dich schon mal :)
+
+Naja das Problem ist, dass mein Bekannter vom Bratschen viel Ahnung hat, von
+Compis usw weniger, Er meint, wenn er pfeift, sind alle, die ne Bratsche ihr
+Eigen nennen online, so laeuft das natuerlich nicht... Deswegen weiss ich
+nicht was ich noch an Daten rueberschieben soll, er will selbst mit den
+Betreffenden (Betroffenen? :P) reden... 
+
+Bloe^Hndie, zumindest Intellenzmaessig fuer Bratsche qualifiziert und auf
+Resonanz hoffend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: WICHTIG !!!!!!!!! (Guildo, 14. Jan 1999, 14:17:08):
+~#! rn=Kellybundy rt=916319314 rg=kultur
+~#! tid=916140896
+>Bloe^Hndie, zumindest Intellenzmaessig fuer Bratsche qualifiziert und auf
+>Resonanz hoffend
+
+Auf Resonanz hoffen Bratscher i.a. vergeblich!
+
+Guildo (auch Bratscher)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: coke (Augra, 21. Jan 1999, 19:35:13):
+~#! rn=Acrimon rt=915573836 rg=kultur
+~#! tid=915387297
+richtig, ist ja auch keine pommes-schuessel.
+
+Augra, senft.
+
+-----------------------------------------------------------------------------
+
+
+
+23 Adler (Dieder, 29. Jan 1999, 16:07:44):
+23 Adler fliegen
+ueber einen dunklen Forst.
+23 Adler kehren
+muede heim zu ihrem Horst.
+
+23 Adler loeschen
+in der Kneipe ihren Dorst.
+23 Adler schwanken
+groehlend heim zu ihrem Horst.
+
+23 Adlern ist Sex
+mit dem andern Geschlecht worst.
+23 Adler kuscheln
+sich doch lieber in ihrn Horst.
+
+23 Adler blinzeln
+in den Blitz von Photo Porst.
+23 Adler haengen
+schoen gerahmt im Haus von Horst.
+
+23 Adler nehmen
+Kurs nach Sueden, Suedsuedorst
+23 Adler schreiben
+Afrikarten heim zum Horst.
+
+23 Adler spielen
+abends gerne Stille Porst
+und der letzte piekst beim Fluestern
+Loecher in das Ohr von Horst.
+
+23 Adler klopfen
+vom Betonstabstahl den Rorst
+23 betonieren
+den Jahr2000 Dauer-Horst.
+
+22 Adler segeln
+Nr. 23 morst
+"3 stop und stop 20 Adler"
+kehren heim zu ihrem Horst.
+
+Oh siehst du 23 Adler
+trampen, - sei kein Widerporst
+nimm sie mit in deinem Wagen
+weit ist noch der Weg zum ...
+
+
+Dieder
+(Autor unbekannt)
+
+-----------------------------------------------------------------------------
+
+
+
+23 Adler (Dieder, 16. Feb 1999, 15:55:25):
+23 Adler fliegen
+ueber einen dunklen Forst.
+23 Adler kehren
+muede heim zu ihrem Horst.
+
+23 Adler loeschen
+in der Kneipe ihren Dorst.
+23 Adler schwanken
+groehlend heim zu ihrem Horst.
+
+23 Adlern ist Sex
+mit dem andern Geschlecht worst.
+23 Adler kuscheln
+sich doch lieber in ihrn Horst.
+
+23 Adler blinzeln
+in den Blitz von Photo Porst.
+23 Adler haengen
+schoen gerahmt im Haus von Horst.
+
+23 Adler nehmen
+Kurs nach Sueden, Suedsuedorst
+23 Adler schreiben
+Afrikarten heim zum Horst.
+
+23 Adler spielen
+abends gerne Stille Porst
+und der letzte piekst beim Fluestern
+Loecher in das Ohr von Horst.
+
+23 Adler klopfen
+vom Betonstabstahl den Rorst
+23 betonieren
+den Jahr2000 Dauer-Horst.
+
+22 Adler segeln
+Nr. 23 morst
+"3 stop und stop 20 Adler"
+kehren heim zu ihrem Horst.
+
+
+Und nun die Moral
+(und ein kl. Gruss an verehrte Vorturner):
+
+Oh siehst du 23 Adler
+trampen, - sei kein Widerporst
+nimm sie mit in deinem Wagen
+weit ist noch der Weg zum ...
+
+Gefunden in den News.
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Dead Can Dance: Emmeleia (Yendi, 25. Feb 1999, 20:19:01):
+Hat irgendwer den Text von "Emmeleia" von Dead Can Dance?
+Kann mir wenigstens jemand einen Tip geben, was fuer eine _Sprache_ das ist?
+
+Ratlos,
+        Yendi
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dead Can Dance: Emmeleia (Anatol, 25. Feb 1999, 21:47:09):
+~#! rn=Yendi rt=919973941 rg=kultur
+~#! tid=919973941
+Im Booklet zu "Into the Labyrinth" ist der Text zu Emmeleia nicht
+abgedruckt. Duerfte schwer werden... Hinsichtlich Sprache koennte vielleicht
+Lug weiterhelfen, auch wenn sich das alles andere als keltisch anhoert :o).
+
+Hoert nicht viel, aber DCD ist dabei,
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dead Can Dance: Emmeleia (Yendi,  1. Mar 1999, 15:14:37):
+~#! rn=Anatol rt=919979229 rg=kultur
+~#! tid=919973941
+OK, auf die Idee, im CD-Heftchen nachzuschauen, bin ich denn _doch_ schon
+gekommen, Anatol. Vielen Dank auch.
+
+*grmpf*
+
+YTY
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dead Can Dance: Emmeleia (Anatol,  1. Mar 1999, 15:16:11):
+~#! rn=Yendi rt=920301277 rg=kultur
+~#! tid=919973941
+Weiss ich, dass Du die CD hast? :)
+
+No offense meant,
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bohemian Rapsodie (Songoku,  4. Mar 1999, 12:20:42):
+Hat jemand den text dieses doch sehr unbekannten liedes ?
+Sayonara.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bohemian Rapsodie (Zarniya,  4. Mar 1999, 12:23:55):
+~#! rn=Songoku rt=920550042 rg=kultur
+~#! tid=920550042
+ja... soll ich ihn pasten oder mailen?
+
+Zarniya
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bohemian Rapsodie (Muadib,  4. Mar 1999, 12:24:17):
+~#! rn=Songoku rt=920550042 rg=kultur
+~#! tid=920550042
+hi,
+
+haste mal unter http://www.lyrics.de nachgeschaut ? 
+
+gruss
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bohemian Rapsodie (Songoku,  9. Mar 1999, 12:12:00):
+~#! rn=Muadib rt=920550257 rg=kultur
+~#! tid=920550042
+tnx
+
+-----------------------------------------------------------------------------
+
+
+
+Cyber-Art-Projekt (Philou,  9. Mar 1999, 14:18:08):
+Hallo liebe Kunstfreunde !
+
+F|r ein Cyber-Art-Projekt suche ich noch Teilnehmer. Ihr koennt Euch
+auf der Homepage www.jogoart.bogw.de orientieren. Gern genommen werden
+Einsendungen zum Thema "Schilder aus aller Welt"
+
+Also wer von Euch was originelles in seiner Sammlung hat, bitte
+einschicken !!!
+
+Danke Euer Philou
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Cyber-Art-Projekt (Ronda,  9. Mar 1999, 20:42:26):
+~#! rn=Philou rt=920989088 rg=kultur
+~#! tid=920989088
+<werbung> Philou untertreibt ein wenig ;)
+
+a) hat er geniale Seiten mit wunderbaren Bildern!
+(wer sich also die Seiten nicht anschaut, ist selbst schuld :) )
+b) sind die Bilder im Original noch viiiiiiel besser!
+(wenn man sich zu nem Tee bei ihm zuhaus einlaedt :) )
+c) macht er mal eben ne Ausstellung - Eroeffnung ist am 17. April in Linnich
+(in der Naehe von Aachen)
+(deshalb sollte man sich mal http://www.jogoart.bogw.de/indexaus.html
+ansehen!)
+
+</werbung>
+
+Wer also ein klitzekleines bisschen Spass an schoenen Bildern hat - es waere
+supergenial, wenn noch ein paar mit nach Linnich kommen wuerden ;) *rotfl...
+Philou erschlaegt mich sicher, wenn er das liest...*
+Tschuess bis hoffentlich in Linnich,
+
+Ronda
+
+Ps: Danach futtern beim Spanischen Vereinsheim in Aachen, Philou?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dead Can Dance: Emmeleia (Rantanplan, 11. Mar 1999, 20:56:11):
+~#! rn=Yendi rt=919973941 rg=kultur
+~#! tid=919973941
+ICh schau mal nach Yendi...
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Cyber-Art-Projekt (Qitess, 15. Mar 1999, 17:10:44):
+~#! rn=Ronda rt=921012146 rg=kultur
+~#! tid=920989088
+superklasse *lach*
+ich hab mir mal die bilder angeschaut. besonders interessant fand ich ja die
+titel der bilder.
+und irgendwie musste ich an einen zoobewohner denken, der auch mal ne
+ausstellung bekommen hat :)
+*kicher*
+QI* erfreut sich immer wieder koeniglich an kunst :)
+
+-----------------------------------------------------------------------------
+
+
+
+Subway to Sally (Kartoffel,  9. Apr 1999, 01:17:52):
+
+Ich bin zur Zeit voellig dem Subway Fieber erlegen...
+Wer Metal kombiniert mit mittelalterliche Elementen mag muss sich die
+_unbedingt_ mal antun:
+
+Aktuelles Album: Hochzeit (derzeit auf Tour damit)
+
+Aeltere Alben: Album 94 (noch ganz anders...)
+               MCMXCV
+               Foppt den Daemon
+               Bannkreis
+
+'Toffel - war letzte Woche in Essen aufm Konzert und wird im Juni in Krefeld
+sein
+
+P.S.: http//www.subwaytosally.com
+
+-----------------------------------------------------------------------------
+
+
+
+Was Lyrisches (Asmodis,  9. Apr 1999, 06:41:00):
+Ode an Spot
+
+Felice Catus ist eine taxonomische Nomenklatur,
+ein endothermischer Vierfuessler, fleischfressend von Natur,
+Deine Seh-, Geruchs- und Gehoersinne sind umfassend,
+und zu deinem Jagdgeschick und deiner natuerlichen Verteidigung passend.
+
+ich bin fasziniert von deinem vielfaeltigen, schnurrenden Ton,
+eine einzigartige Entwicklung von Katzenkommunikation
+durch die du deine prinzipielle, hedonistische Vorliebe unterstreichst,
+wodurch du ein rythmisches Streicheln deines Felles aus Zuneigung erreichst.
+
+Ein Schwanz ist wesentlich fuer dein akrobatisches Talent,
+du waerst nicht so geschmeidig, fehle sein Gewicht am anderen End.
+Und nutzt du ihn nicht zur Fortbewegung unter gewissen Konditionen,
+so dient er dir haeufig zum Ausdruck deiner Emotionen.
+
+Oh Spot, die komplexen Verhaltensweisen, die man an dir sieht,
+suggerieren eine kognitive Vielfalt auf grossem Gebiet.
+
+Und aus wenn du nicht fuehlen kannst, Spot, und ein Streuner bist,
+sehe ich dich als meinen Gefaehrten an, der ein wahrer Freund ist.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Subway to Sally (Grimman,  9. Apr 1999, 19:02:02):
+~#! rn=Kartoffel rt=923613472 rg=kultur
+~#! tid=923613472
+ALSO,zu Subway muss ich sagen Thumbs up!
+waren schon immer geil,die Foppt Den Daemon ist meiner meinung nach mit die
+beste Scheibe von denen
+Wer interesse an solcher Musik hat , sollte auch mal Richthofen (haerter mit
+weniger dudelsack und Geigen)
+oder Letzte Instanz (sehr gut,Cello und Geige und aus Dresden)
+
+
+MBIMG,GrimMna
+MBIMG,GrimMan (uebt das mit dem Namen noch ...)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Was Lyrisches (Jimdigriz,  9. Apr 1999, 19:49:12):
+~#! rn=Asmodis rt=923632860 rg=kultur
+~#! tid=923632860
+Hija,
+
+Schon sehr schoen, was sich Data da ausgedacht hat,
+hier gleich mal die Originalversion (die Uebersetzung 
+ist ja gar nicht mal schlecht):
+
+Ode to Spot
+
+Felus Catus is your taxonomic nomenclature.
+An endothermic quadruped, carnivorous by nature.
+Your visual, olfactory, and auditory senses
+Contribute to your hunting skills and natural defenses.
+
+I find myself intrigued by your sub vocal oscillations.
+A singular development of cat communications.
+That obviates your basic hedonistic predilection
+For a rhythmic stroking of your fur to demonstrate affection.
+
+A tail is quite essential for your acrobatic talents.
+You would not be so agile if you lacked its counterbalance.
+And when not being utilized to aid in locomotion,
+It often serves to illustrate the state of your emotions.
+
+Oh Spot, the complex levels of behavior you display
+Connote a fairly well developed cognitive array.
+And though you are not sentient, Spot, and do not comprehend,
+I none the less consider you a true and valued friend.
+
+JdG.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausstellungseroeffnung (Ronda, 11. Apr 1999, 14:46:13):
+Hi,
+da sich Philou wahrscheinlich nicht trauen wird, Werbung in eigener Sache zu
+machen, mach' ichs halt ;)
+Am naechsten Samstag, 17. April findet in der Naehe von Aachen eine
+Ausstellungseroeffnung statt.
+*grins* Ich denk' mal, Ihr seid auch eingeladen - Philou malt wie ich finde
+klasse Bilder, auf seinen WWW-Seiten findet Ihr neben weiteren Infos zur
+Ausstellungseroeffnung auch viele Bilder:
+http://www.jogoart.bogw.de/indexaus.html
+Aber ich finde, die Bilder sehen in Originalgroesse und "live" noch wesentlich
+besser aus als im Web.
+Daher: wer Spass an Kunst hat - auf nach Linnich!
+Tschuess,
+
+Ronda
+
+Ps: Wer noch Fragen zur Ausstellung hat, schreibt einfach an Philou@MG oder an
+mich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Subway to Sally (Qitess, 13. Apr 1999, 14:45:15):
+~#! rn=Kartoffel rt=923613472 rg=kultur
+~#! tid=923613472
+ich empfehle fuer metal plus mittelalter eigentlich In Extremo.
+Auch ganz klasse.
+etwas schwerer sind dann auch noch haggard, die haben sich an ernste musik
+plus metal gewagt.
+
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Subway to Sally (Grimman, 13. Apr 1999, 14:48:33):
+~#! rn=Qitess rt=924007515 rg=kultur
+~#! tid=923613472
+Habe auch was neues gehoert :
+Dimmu Borgir , extrem schnelle Double-Base und harte Texte!
+Wer mehr Spass will und trotzdem nicht auf Geige und Floete verzichten
+will,dem kann ich nur Mutabor empfehlen
+Lustige Texte (deutsch,die Band ist aus Berlin)und gut zum abhopsen ...
+
+
+MBIMG ,GrimMan , mal wieder Musik hoerend ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Subway to Sally (Cymonk, 14. Apr 1999, 18:32:53):
+~#! rn=Grimman rt=924007713 rg=kultur
+~#! tid=923613472
+hiho,
+
+kurz nur als hinweis:
+
+bevor sich jemand an dimmu borgir oder haggard versucht:
+erstere haben eine art von 'kommerziellem' black metal etabliert
+und haggard merkt man black metal roots auch noch an.
+also vorsicht: nicht jedermans geschmack :)
+zum thema in extremo faellt mir noch ein:
+wer auf unplugged mittelalterliche musik steht, sollte
+corvus corax antesten...
+die haben auch noch ein nebenprojekt namens 'tanzwut'
+wer auf rammstein gesang mit aehnlich daemlichen texten
+und synthi arpeggios und drums, zusaetzlich aber mit
+dudelsack und schalmeien steht sollte die 'mal antesten.
+zu einigen songs kann man prima abzappeln
+vorrausgesetz: man ist allohol berauscht und achtet nicht
+so auf die texte :)
+
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Beelzebub, 15. Apr 1999, 16:07:55):
+~#! rn=Cymonk rt=924107573 rg=kultur
+~#! tid=923613472
+Mahlzeit ]:-)
+
+Also Haggard hat mit Black Metal ja nu garnix zu tun.
+Die erste EP (ja, die kenn ich auch) is naemlich Death Metal und recht
+unboese. Und was Haggard jetzt machen is ne Trilogie ueber Nostradamus.
+Und aus Muenchen kommen die auch noch ]:-) 
+
+Beelze* (ja, nennt mich Klugscheisser)
+
+P.S. Subway to Sally sind echt saugeil. Is wissenschaftlich bewiesen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Subway to Sally (Grimman, 15. Apr 1999, 17:54:48):
+~#! rn=Grimman rt=924007713 rg=kultur
+~#! tid=923613472
+Mehr oder genaueres ...
+Dimmu Borgir: Hab mir heute die 'Spiritual Black Dimensions' zugelegt ...
+HAAAAAAAMMER!! Mehr sag ich nicht ...
+
+MBIMG 
+GrimMan 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Angus, 15. Apr 1999, 18:49:59):
+~#! rn=Grimman rt=924191688 rg=kultur
+~#! tid=923613472
+
+Dimmu Borgir: Yeesss :) Da faellt eine Soundwand auf Dich nieder ;)
+Wer's 'lyrischer' mag, der sollte sich mal die neue
+Amorphis reintun... (einfach schoeeeen :))
+
+Fuer alle die dem Schwermetall was abgewinnen koennen und
+vielleicht mal nach HH kommen: Erste Adresse ist der
+Headbanger's Ballroom am Fischmarkt, da gibt's
+fuer jeden Geschmack mal was (Donnerstag ist uebrigens
+Black-Death-Gothic-Metal angesagt...)!
+Programm gibts unter www.monster-productions.com
+Mittelalter-Nacht (mit Met umsonst) war diesen Monat
+leider schon :)
+
+  - Angus (heute Abend mal wieder ein Bierchen im Bangers trinken)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Subway to Sally (Cymonk, 15. Apr 1999, 20:08:07):
+~#! rn=Beelzebub rt=924185275 rg=kultur
+~#! tid=923613472
+yep, beelze* hast ja recht ;)))
+hab' da was verwechselt...
+
+cy neigt sein haupt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Subway to Sally (Kartoffel, 15. Apr 1999, 23:42:57):
+~#! rn=Qitess rt=924007515 rg=kultur
+~#! tid=923613472
+Jupp, In Extremo sind auch ziemlich klasse!
+
+'Toffel - mag besonders Ai vis lo lop
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Subway to Sally (Grimmborn, 16. Apr 1999, 13:37:19):
+~#! rn=Kartoffel rt=924212577 rg=kultur
+~#! tid=923613472
+Ich gebe ja zu, dass StS ganz amuesant ist, aber muss es immer dieser
+Negerjazz sein? Ich empfehle da aktuell die "Laengste Single der Welt" von
+WOlfgang Petry. Und wer ueber diesen Kuenstler die Nase ruempft sollte sich
+mal dessen Verkaufszahlen angucken, da kann (in .de) weder Michael Jackson
+noch die Stones oder sonstwer mithalten.
+
+Grimmborn bricht eine Lanze fuer die Kultur
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Zarniya, 16. Apr 1999, 13:42:37):
+~#! rn=Grimmborn rt=924262639 rg=kultur
+~#! tid=923613472
+Falsch Grimmborn,\
+
+
+Garth Brooks verkauft mehr als alle anderen und ist, da er ja einen Cowboyhut
+traegt, nach Aussage eines Fachmenschens aus der Beratung Koeln eh ein
+Faschist und Rassist... 
+
+Fakten? Inzwischen ueber 90 Millionen CDs verkauft, vier mal diamant
+bekommen... nur die Beatles sind besser, aber die koennen sich nicht mehr
+wehren ;)
+
+Wer mehr wissen will? --> www.garthworld.de
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Grimman, 16. Apr 1999, 18:19:50):
+~#! rn=Grimmborn rt=924262639 rg=kultur
+~#! tid=923613472
+Wir waren aber eigentlich mehr so am diskutieren,was diese Musik (NEGERJAZZ??
+Wie kommst du da drauf??) angeht ... Wolfgang Petry und seine verkaufszahlen
+in Ehren,aber der passt nu wirklich nicht ins Gebiet Subway bis iIn Extremo
+und Dimmu Borgir , oder?
+
+MBIMG , GrimMan , hoert trotzdem Dimmu!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Subway to Sally (Grimmborn, 16. Apr 1999, 18:38:58):
+~#! rn=Grimman rt=924279590 rg=kultur
+~#! tid=923613472
+Es ging, soweit ich das sah, um gute Musik. Und da wollte ich laessig Wolfgang
+Petry ins Spiel bringen, als Beitrag zum Thema.
+
+Zum Begriff "Negerjazz" frage bitte Dein Geschichtsbuch. Das hier ist
+"kultur", nicht "kindergarten". ;-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Subway to Sally (Grimman, 16. Apr 1999, 19:13:24):
+~#! rn=Grimmborn rt=924280738 rg=kultur
+~#! tid=923613472
+Naja,fuer mich ist Negerjazz dann doch eher dieser HipHop/Rap-Kram ... daher
+die Frage ...
+
+GrimMan
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Subway to Sally (Amaryllis, 16. Apr 1999, 19:15:08):
+~#! rn=Grimman rt=924282804 rg=kultur
+~#! tid=923613472
+ich glaub du verwechselst das mit dem recht verunglimpfenden wort "Negerbeat"
+- der eigentlich NegerJAZZ hingegen ist vieeeeeel aelter , und meiner Meinung
+nacht echt genial :-)
+
+Das kleine Feechen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Subway to Sally (Grimman, 16. Apr 1999, 19:16:29):
+~#! rn=Amaryllis rt=924282908 rg=kultur
+~#! tid=923613472
+Na gut,ich geb mich geschlagen
+
+GrimMan , einzeilend und dazulernend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Subway to Sally (Hight, 16. Apr 1999, 19:34:16):
+~#! rn=Amaryllis rt=924282908 rg=kultur
+~#! tid=923613472
+wie du so richtig sagst gefaellt dir das *g* aber ueber geschmack laesst sich
+numal nicht streiten 
+
+hight
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Qitess, 20. Apr 1999, 15:12:48):
+~#! rn=Cymonk rt=924107573 rg=kultur
+~#! tid=923613472
+Also, ich glaube , bin mir aber net ganz sicher, dass In Extremo eintmals aus
+Corvux Corax hervorgegangen sind, bzw. dass sie sich lediglich umbenannt
+haben. Bitte um Aufklaerung dieses Umstandes.
+
+:)
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Subway to Sally (Qitess, 20. Apr 1999, 15:14:39):
+~#! rn=Grimmborn rt=924262639 rg=kultur
+~#! tid=923613472
+Grimmborn bricht eine Lanze fuer die Kultur.
+Soso. Fuer welche Kultur denn?
+QI**findet, dass Wolle Petri Heil nichts in diesem Thread zu suchen hat...:)
+*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Subway to Sally (Grimmborn, 20. Apr 1999, 23:55:34):
+~#! rn=Qitess rt=924614079 rg=kultur
+~#! tid=923613472
+Im Gegensatz zu mir solltest Du Dich wohl besser zum Thema Kultur nicht
+aeussern, gelle?
+
+Grimmborn der Atheist und Vertreter feiner Lebensart
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Subway to Sally (Engywuck, 22. Apr 1999, 00:23:14):
+~#! rn=Grimmborn rt=924645334 rg=kultur
+~#! tid=923613472
+Also, wem diese Radaumucke nich zusagt, dem empfehle ich hier mal ganz
+zwanglos einen Besuch auf
+http://www.netcologne.de/~nc-meyerpe2/tk/ownmidid.html
+
+Viel Spass...
+
+Engy*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Subway to Sally (Wurzel, 23. Apr 1999, 01:10:48):
+~#! rn=Kartoffel rt=923613472 rg=kultur
+~#! tid=923613472
+war diese woche in muenchen auf dem konzert, war genial... allerdings hat
+der tontechniker die ersten sechs lieder gebraucht, um halbwegs guten sound
+zu erreichen. danach war fast wie auf den platten, nur halt wesentlich
+lauter, eigentlich schade.
+
+die jungs (und frau schmitt) sind noch laenger unterwegs, wer
+die gelegenheit hat, sollte unbedingt reinhoeren. wer nicht halb taub
+ist und es auch nicht werden will, sollte ohrstoepsel mitnehmen, es hilft :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Subway to Sally (Kartoffel, 23. Apr 1999, 01:27:11):
+~#! rn=Wurzel rt=924822648 rg=kultur
+~#! tid=923613472
+Hmm, zu sagen, dass Subwy live is wie auf den Platten...
+Die Alben sind genial, aber live sind sie noch mal so gut.
+Und laut... naja, n bissl Ohrenpfeifen hatt ich auch, aber das war am
+naechsten Tg weg, nich wie bie Maiden letztes Jahr, wo ich noch drei Tage was
+davon hatte ;)
+
+'Toffel - freut sich auf den 17.6. (Subway in Krefeld in der KuFa)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Subway to Sally (Branwen, 28. Apr 1999, 15:27:10):
+~#! rn=Qitess rt=924613968 rg=kultur
+~#! tid=923613472
+HI ;)
+Etwas verspaetet, aber immerhin, muss ich jetzt auch mal was loswerden...
+Also, In Extremo haben mitnichten etwas mit Corvus Corax zu tun.
+Corvus Corax und Tanzwut sind das.
+Ich kann mich noch gut an Zeiten erinnern, als In Extremo in Frankfurt auf der
+Zeil spielten und um die paar Mark froh waren, die sie da bekommen haben. Zu
+dieser Zeit habe ich auch durch meine Schwester die Jungs persoenlich
+kennengelernt ;)
+
+Ja, ausserdem: Subway rulez!
+Als ich vor einigen Jahren(ja, ist auch schon ne ganze Weile her, so etwa 4
+Jahre, schaetz ich) zum ersten Mal ein Tape mit Subway-Sound in die Finger
+bekam, konnte ich kaum jemanden ueberreden, sich das mal ernsthaft
+anzuhoeren....
+Noch viel weniger war es moeglich, wen mit auf ein Konzert zu nehmen...
+Tja, irgendwann kam die Wende, das kann ich nicht genau nachvollziehen, aber
+auf einmal sind diese netten Potsdamer 'in', weiss der Henker, warum....
+Live sind Subway absolut obergenial und wer sie noch nicht gesehen hat, der
+Musik aber grundsaetzlich nicht abgeneigt ist, der sollte unbedingt auf ein
+Konzert gehen.
+Live sind sie wirklich absolut unschlagbar und nicht mit den CDs zu
+vergleichen. Die sind zwar auch prima, aber es gibt wohl kaum eine Band, die
+es schafft, live eine solche Stimmung zu entfachen!
+
+So, das Wichtigste hab ich jetzt mal von mir gegeben....
+
+Viele Gruesse an alle Juenger und solche, die es werden wollen!
+Branwen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Subway to Sally (Beelzebub, 29. Apr 1999, 13:46:12):
+~#! rn=Branwen rt=925306030 rg=kultur
+~#! tid=923613472
+Und uebrigens: wer S.t.S. live antesten will ohne dafuer zu blechen:
+am 9. oder 10. Mai (weiss nich mehr genau)spielen sie auf der Osnabruecker
+Maiwoche. Ebenfalls am 9. oder 10. (halt am andern Tag) spielen uebrigens
+J.B.O.
+(auch lustig)
+
+Beelze ]:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Subway to Sally (Beelzebub, 29. Apr 1999, 13:48:10):
+~#! rn=Beelzebub rt=925386372 rg=kultur
+~#! tid=923613472
+Parallel dazu findet am 9.5 natuerlich auch noch Kaffetrinken bei Mutti statt;
+man muss schon Prioritaeten setzen koennen ]:-)
+
+nochmal Beelze ]:-)
+
+-----------------------------------------------------------------------------
+
+
+
+William Horwood (Alboin, 14. Jun 1999, 20:12:16):
+Jo auf Empfehlung wollte ich mal wieder ein Fantasie-Buch lesen,
+und zwar William Horwood: Wolves of Time beide Baende
+
+Nu sehe ich hier gerade, dass es schon deutsche Ausgaben davon gibt.
+Deshalb meine Frage: ist man mit der Uebersetzung gut bedient oder sollte ich
+mir wirklich (mit meinen durchschnittlichen Englisch-Kenntnissen) das Original
+zulegen?
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: William Horwood (Hate, 14. Jun 1999, 20:40:24):
+~#! rn=Alboin rt=929383936 rg=kultur
+~#! tid=929383936
+Wenn Du was lernen willst, nimm das original. Die Uebersetzungen sind meistens
+eher schlecht als recht. Und wenn Du dann schon dabei bist, kauf dir die
+Buecher entweder bei buecher.de oder amazon.de. Dort bekommst Du sie im
+Original am guenstigsten.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: William Horwood (Wurzel, 14. Jun 1999, 22:02:52):
+~#! rn=Hate rt=929385624 rg=kultur
+~#! tid=929383936
+normalerweise ist es so, dass fantasy in deutschland unter trivialliteratur
+faellt und daher nur miese billiguebersetzer dran arbeiten. diese idee mit
+den einfachen schubladen, in die man sowas stecken kann, ist allerdings in
+den angelsaechsischen laendern nicht so verbreitet, deswegen gibt es gute
+bis sehr gute fantasy-literatur dort (natuerlich nicht alles, das meiste ist
+wirklich schrott). horwood kenne ich jetzt aktuell nicht, aber gerade dann
+wuerde ich es auf jeden fall im original lesen. durch die uebersetzung wird
+es naemlich bestimmt verhunzt.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: William Horwood (Caillean, 15. Jun 1999, 08:56:51):
+~#! rn=Alboin rt=929383936 rg=kultur
+~#! tid=929383936
+jedes buch solltest du im original lesen, v. a. fantasy
+deine englisch profitiert nur:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: William Horwood (Nevok, 15. Jun 1999, 08:59:53):
+~#! rn=Caillean rt=929429811 rg=kultur
+~#! tid=929383936
+deine englisch wirde bessere aber deine deutsch wirde anscheinende schlechtere
+*lacht*
+nix fuer ungut, Caillean ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: William Horwood (Caillean, 15. Jun 1999, 09:02:33):
+~#! rn=Nevok rt=929429993 rg=kultur
+~#! tid=929383936
+naja, klugschwaetzer, hier isses im gegensatz zu den USA grad 8.59 , nich
+bloss 2 uhr nachts, und ich hab noch net geschlafen....
+
+aber ich wollts immer schon mal schreiben: heul doch!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: William Horwood (Nevok, 15. Jun 1999, 09:05:29):
+~#! rn=Caillean rt=929430153 rg=kultur
+~#! tid=929383936
+s oeh hmmmmm beschwer ich mich? noe
+ich nehm dich eher auf den arm
+ausserdem isses hier schon 3.....aber das is wohl zu schwer zu rechnen....
+naja...kannste nix machen....etwas chaos braucht wohl jeder mensch...nu aber
+schluss, das is kultur und dort sollten schlussendlich auch  artikel
+drinstehen die diesem etikett gerecht werden..also die letzten 3 bitte nach
+schmarrn oder so ;)
+
+nevok, der seinen letzten deutschen kaffee trinkt und dann wohl auf
+amerikanische Mischungen umsteigen muss....ihgitt pfui baeh
+
+-----------------------------------------------------------------------------
+
+
+
+Re: William Horwood (Bendeigid, 15. Jun 1999, 11:12:57):
+~#! rn=Alboin rt=929383936 rg=kultur
+~#! tid=929383936
+Hi Alboin (und alle Interessierten),
+
+von Horwood ist unter anderem auch die "Duncton"-Serie, und ich hab sie in
+Englisch gelesen. Das liegt zum einen daran, dass die Uebersetzungen der
+meisten auslaendischen Fantasyliteraten grottenschlecht ist, in diesem Fall
+aber natuerlich schlicht auch daran, dass es sie nicht als deutsche
+Ubeersetzung gibt :)
+Ich kenne die Wolves of Time nicht, kann aber sagen, dass Horwood ein
+ausgefeiltes Englisch schreibt. Mit eher duerftigen Englischkenntnissen wird
+das sicher kein Spass. Wenn Du aber was lernen willst, dann tus Dir im
+Original an, es wird sich todsicher lohnen.
+
+Z'par Servu,
+               Bendeigid, der Horwood mal gefragt hat, warum es Duncton nicht
+fuer den Normalleser in Deutsch gaebe, worauf Horwood in grauenhafter
+Handschrift fragt: So, das gibts nicht in deutsch? wusste ich nicht... ;))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: William Horwood (Boing, 15. Jun 1999, 12:10:19):
+~#! rn=Bendeigid rt=929437977 rg=kultur
+~#! tid=929383936
+Den ersten Band der Duncton-Reihe gibt's auch auf Deutsch, und da kam
+mir die Uebersetzung recht gut vor. 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: William Horwood (Bendeigid, 15. Jun 1999, 16:38:05):
+~#! rn=Boing rt=929441419 rg=kultur
+~#! tid=929383936
+Jup, stimmt.
+Allerdings ist das auch der einzige, der von insgesamt 6 Baenden uebersetzt
+ist. Damals machte Klett-Kotta die neue "Abteilung" Fantasy auf, und im Zuge
+dessen haben sie u.a. auch den ersten Band (gut) uebersetzen lassen. Da wusste
+aber auch keiner, warum sie die Nachfolger nicht uebersetzen liessen.
+
+Z'par Servu,
+           Bendeigid, der gerne wuesste, wer da die Rechte dran hat...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: William Horwood (Acrimon, 15. Jun 1999, 19:03:21):
+~#! rn=Bendeigid rt=929457485 rg=kultur
+~#! tid=929383936
+Wenn im englischen Original viele Redewendungen verwendet werden, dann
+versteht man die mit mittelmaeszigen Englisch-Kenntnissen jedenfalls nicht. Da
+ist dann eine mittelmaeszige deutsche Uebersetzung besser...
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: William Horwood (Nevok, 15. Jun 1999, 19:04:11):
+~#! rn=Acrimon rt=929466201 rg=kultur
+~#! tid=929383936
+gerade dadurch, dass man selbige Redewendungen liest erweitert man seinen
+passiven und zum Teil auch aktiven Wortschatz ungemein...von daher...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: William Horwood (Householder, 15. Jun 1999, 19:19:48):
+~#! rn=Nevok rt=929466251 rg=kultur
+~#! tid=929383936
+durch das erraten von einigen redewendungen bekommt man erst das
+sprachgefuehl, um von seinem mittelmaessigen sprachkenntnisstand
+hinfochtzukommen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: William Horwood (Nevok, 15. Jun 1999, 19:22:17):
+~#! rn=Householder rt=929467188 rg=kultur
+~#! tid=929383936
+wobei da auch manchmal recht interessante sachen zum vorschein kommen
+Dumbass is kein bloedes hinterteil sondern ein dummer esel (vom lateinischen
+asinus=esel kommend)
+ob man sich nu beleidigt fuehlt weil man arsch oder esel genannt wurde bleibt
+einem selbst ueberlassen, kommt im extremfall aber aufs gleiche raus... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Subway in Krefeld (Kartoffel, 15. Jun 1999, 22:40:24):
+Fuer Kurzentschlossene:
+
+Am Donnerstag (18.6.) sind Subway to Sally in Krefeld in der Kulturfabrik,
+also nischt wie hin :))
+
+~Toffel 
+
+Blut, Blut, Raeuber saufen Blut
+Raub und Mord und Ueberfall sind gut
+Hoch vom Galgen klingt es
+Hoch vom Galgen klingt es
+Raub und Mord und Ueberfall sind gut
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: William Horwood (Bendeigid, 16. Jun 1999, 09:06:05):
+~#! rn=Acrimon rt=929466201 rg=kultur
+~#! tid=929383936
+Ueberszetzt mal einer diezsen Artikel fuer mizs?
+
+Bendeigid, der nichts von mittelmaessigen Uebersetzungen haelt. Wenn man in
+solchen "Uebersetzungen" noch Anglizismen findet, die man woertlich
+rueckuebersetzen muesste, dann aber voellig anderen Sinn erhaelt... pfui! Das
+nimmt mir den Spass an solchen Buechern, wenn auch der Inhalt noch so gut ist.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: William Horwood (Helva, 27. Jun 1999, 14:24:38):
+~#! rn=Hate rt=929385624 rg=kultur
+~#! tid=929383936
+Amazon.de hat auch den Vorteil, dass Du waehlen kannst, ob Du per Kreditkarte,
+per Bankeinzug oder per Euroscheck zahlen moechtest. Paranoid wie ich bin,
+habe ich letztens per Euroscheck bezahlt, und es hat voellig problemlos
+geklappt. Meine Buecher haetten im normalen Buchhandel 23 DM das Stueck
+gekostet, so habe ich kanpp 13 DM je Buch bezahlt.
+
+Helva
+
+-----------------------------------------------------------------------------
+
+
+
+Konzerttip (Kartoffel, 22. Jul 1999, 12:10:41):
+      F E U E R T A N Z F E S T I V A L
+in Duesseldorf im Stahlwerk (Ronsdorfer Strasse) am 8.8.99
+
+                      Mit:
+               Subway to Sally
+                  In Extremo
+             The Inchtabokatables
+
+
+Also: Ohren vorgluehen und nix wie hin!
+
+'Toffel -bekennende Sally-Juengerin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwangspause (Miezes Artikel) (Guildo, 22. Jul 1999, 14:18:32):
+Da ich in seher.urlaub nicht schreiben darf:
+Mich wuerde interessieren, was ihr denn da so singt (nicht dass ich Zeit
+haette mir das anzuhoeren, aber einfach interessehalber mal).
+
+Gruss,
+Guildo
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Konzerttip (Lug, 28. Jul 1999, 02:42:31):
+~#! rn=Kartoffel rt=932638241 rg=kultur
+~#! tid=932638241
+
+Ist ja ganz nett,
+
+aber in 2 Wochen ist WWWWWAAAAACCCCKKKKEEEENNNNNN!
+
+Das Metal Open Air schlechthin... und Subway und In Extremo sind auch da...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Konzerttip (Almdudler,  2. Aug 1999, 17:10:05):
+~#! rn=Lug rt=933122551 rg=kultur
+~#! tid=932638241
+antworte
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Konzerttip (Lug,  4. Aug 1999, 00:26:11):
+~#! rn=Almdudler rt=933606605 rg=kultur
+~#! tid=932638241
+
+worauf?
+
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Literaturtips gesucht! (Foobar,  4. Sep 1999, 12:36:52):
+Hallo Kameradinnen und Kameraden.
+
+Hat einer von Euch mal Empfehlungen fuer gute Fantasy-Buecher?
+
+Ich meine: Gibt es noch was anderes lesenswertes ausser Tolkien, Pratchett und
+Feist?
+
+U.A.w.g.
+
+Foobar (liest gerne, wenn er nicht gerade metzelt)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Sublime,  4. Sep 1999, 12:38:24):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Da gaebs noch was ;) Faellt zwar mehr in die Sparte Science Fiction
+aber hat durchaus was reizvolles. Ich meine, Frank Herbert's Dune und die
+5 folgenden Baende. Ist sehr interessant, gut zu lesen und gut durchdacht.
+
+Subl
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Wim,  4. Sep 1999, 12:41:12):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Stephen R. Donaldson - Lord Fouls Bane, The Illearth War, The Power That
+Preserves
+Dave Duncan - The Seventh Sword
+Guy Gavriel Kay - The Fionavar Tapestry
+Melanie Rawn - Dragon Prince, The Star Scroll, Sunrunner's Fire
+  - The Ruins of Ambrai, Mageborn Traitor
+Tad Williams - The Dragonbone Chair, Farewell Stone, To Green Angel Tower
+
+nur mal so, was mir auswendig einfaellt...
+
+Wim, mit den 1200 Fantasybuechern ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Foobar,  4. Sep 1999, 12:41:34):
+~#! rn=Sublime rt=936448704 rg=kultur
+~#! tid=936448612
+Ich schon wieder!
+
+Danke fuer den Tip, aber ich meinte dann doch eher die 'klassiche' Fantasy,
+wie sie auch in den von mir im ersten Artikel genannten Buechern vorherrscht.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Ark,  4. Sep 1999, 12:48:34):
+~#! rn=Foobar rt=936448894 rg=kultur
+~#! tid=936448612
+Also, was im Moment bei mir nicht zu uebertreffen ist, ist George Martin:
+A Game of Thrones und weiter A Clash of Kings
+
+Ist klassische Fantasy, sehr gute Charakterausarbeitung und eigentlich toller
+Plot, Intrigen, Politik, etc., alles eben was mir gefaellt.
+Wie sagen die Amikritiker? A MUST-Read!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Yaren,  4. Sep 1999, 12:59:55):
+~#! rn=Foobar rt=936448894 rg=kultur
+~#! tid=936448612
+pratchet is 'klassische fantasy'? *wunder*
+
+Yaren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Foobar,  4. Sep 1999, 13:29:04):
+~#! rn=Yaren rt=936449995 rg=kultur
+~#! tid=936448612
+Etwa nicht? ;o)
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Apsu,  4. Sep 1999, 14:01:40):
+~#! rn=Sublime rt=936448704 rg=kultur
+~#! tid=936448612
+Sehr gut aber ziemlich zaeh und langatmig manchmal. Sicher nicht jedermanns
+Geschmack.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Grimman,  4. Sep 1999, 17:09:36):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Ist zwar auch nicht klassisch, und nicht Fantasy im herkoemmlichen Sinne, aber
+ich kann die 'Hexer von Salem' Reihe von Hohlbein (baut auf dem Cthulhu-Mythos
+auf) empfehlen, ist zwar nur deutsch, aber dennoch gut (IMHO).
+
+GrimMan , sonst eher Shadowrun lesend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Grimmborn,  5. Sep 1999, 13:32:06):
+~#! rn=Grimman rt=936464976 rg=kultur
+~#! tid=936448612
+Argh, nicht schon wieder einen Holbeinhasser-thread...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Foobar,  5. Sep 1999, 13:53:08):
+~#! rn=Grimmborn rt=936538326 rg=kultur
+~#! tid=936448612
+Um den Thread zu vermeiden, kannst Du kurz den Argumentationsverlauf des
+letzten zusammenfassen?
+
+Foobar - neugierig
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Wurzel,  5. Sep 1999, 16:06:58):
+~#! rn=Foobar rt=936539588 rg=kultur
+~#! tid=936448612
+wer den cthulhu-mythos sucht, sollte h.p. lovecraft lesen.
+zu hohlbein faellt mir eigentlich nur eins ein: wer pro jahr zwanzig oder
+mehr buecher schreibt, kann eigentlich nur entweder ein sammelpseudonym sein
+oder herzlich wenig sorgfalt auf seine buecher verwenden.
+ansonsten: siehe die tips von wim, die ich noch ergaenzen moechte um david
+eddings, der sehr "klassische" fantasy schreibt, allerdings nicht so ganz
+bierernst ist dabei. derzeit neunzehn buecher wenn ich keins uebersehen habe.
+erwaehnenswert auch robert jordan, der eine sehr schoen ausgearbeitete welt
+hat (allerdings auch ein problem damit, endlich auf den punkt zu kommen).
+momentan acht buecher, noch immer kein ende in sicht.
+janny wurts' "curse of the mistwraith" kommt gerade als deutsche uebersetzung
+auf den markt, lesenswert auf jeden fall.
+
+ach, bei den buecherzahlen nicht verwirren lassen: seit die amerikanischen
+verlage die praxis aufgegeben haben, jedes buch gnadenlos auf 300 seiten
+zu kuerzen, sind die geschaeftstuechtigen deutschen verlage auf die tolle
+idee gekommen, ein amerikanisches original in zwei oder drei stuecken auf
+den markt zu werfen. frueher musste man fuer die originalausgabe in der regel
+mehr ausgeben als fuer die uebersetzung, heute kann man dagegen sogar daran
+sparen.
+
+wurzel
+
+p.s. wenn mehr lesetips gebraucht werden, kann ich mal anfangen zu stoebern.
+ich weiss zwar ohne zu zaehlen nicht, ob ich mehr oder weniger als wims 1200
+fantasybuecher habe, aber eine recht ordentliche sammlung ist es auf jeden
+fall :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Literaturtips gesucht! (Foobar,  5. Sep 1999, 16:29:30):
+~#! rn=Wurzel rt=936547618 rg=kultur
+~#! tid=936448612
+Hoi!
+
+Schon mal besten Dank fuer die Tips, das sollte fuers naechste Jahr reichen
+:o)
+
+BTW, was ist eigentlich von Terry Brooks zu halten? Ich kenn nur seine Star
+Wars Romane und fand die etwas flach in der Charakterauspraegung.
+
+Foobar - kauft Buecher
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Literaturtips gesucht! (Anatol,  5. Sep 1999, 16:50:34):
+~#! rn=Foobar rt=936548970 rg=kultur
+~#! tid=936448612
+Terry Brooks ist imho derjenige, der die Shannara-Saga verbrochen hat
+und ich teile (unabhaengig von etwaigen hier spielenden Namensvettern)
+Foobars Auffassung und wuerde sogar soweit gehen zu behaupten, dass
+nicht nur die Charaktere lieblos, sondern auch die Story ziemlich 
+unausgeschmueckt ist. Wer Tolkien wegen seiner Blumhaftigkeit nicht
+mochte, wird in Brooks' Shannara das absolute Gegenstueck finden - und
+vermutlich auch damit nicht gluecklich werden.
+
+half penny,
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Kartoffel,  5. Sep 1999, 19:40:47):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+
+L.E. Modesitt Jr. kann ich waermstens empfehlen, hat ne Reihe ueber Order-
+(mir faellt kein passendes deutsches Wort dafuer ein, Ordnung trifft es nicht
+richtig) und Chaosmagie geschrieben, sehr stimmig und gut konstruiert, gute
+Prise Humor dabei.
+
+1.Band: Magic of Recluce
+2. Band: Towers of Sunset
+3.Band: Magic Engineer
+4. Band: Order War
+5. Band: Death of Chaos
+6. Band: Fall of Angels
+7. Band: Chaos Balance
+Bis hier hab ich sie gelesen, es ist keine durchgehende Reihe in dem Sinn, es
+sind Zeitspruenge drin, aber im Zusammenhang wird halt nach und nach anhand
+von verschiedenen Charakteren die Geschichte dieser Welt abgehandelt.
+Danach weiss ich noch von 2 Baenden:
+8. Band: White Order
+9. Band: Colours of Chaos
+
+
+Dringende Pflichtlektuere ist natuerlich Robert JOrdan mit der Wheel of Time
+Reihe.
+
+Wers rasant mag: 
+Terry Goodkind mit der Reihe Sword of Truth, ich hatte beim Lesen teilweise
+das Beduerfnis immer schneller zu lesen, weil ich den Eindruck hatte, die
+Geschichte rennt mir davon. Ist anscheinend in einigen Teilen an Wheel of Time
+angelehnt. 
+
+Momentan les ich David Eddings mit der Belgariad- bzw. Malorean-Saga, wunder
+voll maerchenhaft geschrieben.
+
+Hmm, bei maerchenhaft faellt mir dann noch Tad Williams mit der
+Drachenbeinthron-Reihe ein.
+
+Hmm, ich glaube, das sollte erstmal reichen :))
+
+'Toffel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Yendi,  6. Sep 1999, 10:55:13):
+~#! rn=Kartoffel rt=936560447 rg=kultur
+~#! tid=936448612
+(NB:Modesitt klingt nach dem dritten Band immer gleich.)
+
+ANZURATEN:
+Zumindest der erste Band der "Wizard of Earthsea"-Tetralogie von
+
+   Ursula K LeGuin: The Wizard of Earthsea.
+
+Ferner: Fast alles von Steven Brust ist Fantasy, unter anderem seine 
+Vlad-Taltos-Serie und die beiden Hommagen (Hommages?) an Alexandre Dumas'
+Musketiere, "The Phoenix Guards" und "500 Years After". Bombastische Sprache.
+
+Ausserdem:
+   Guy Gavriel Kay: A Song For Arbonne   und
+                    The Lions of Al-Rassan
+Letzteres hat zwar keine Magie mehr, ist aber m.E.n. eines der besten Buecher,
+die ich je gelesen habe.
+
+   Mervin Peake: Gormenghast
+   Glen Cook: The Annals of the Black Company  (mit Einschraenkungen)
+   William Goldman: The Princess Bride
+   Roger Zelazny: The Amber Chronicles
+   Emma Bull: War for the Oaks
+
+Und wenn ich Dich fuer gute SF begeistern kann:
+
+   Iain M Banks: The Player of Games
+                 Use of Weapons
+   Dan Simmons: Hyperion
+   Orson Scott Card: Ender's Game
+                     Speaker for the Dead
+   Frank Herbert: Dune (nur den 1. Band!)
+   Douglas Adams: The Hitchhiker's Guide to the Galaxy
+
+
+
+So, mehr faellt mir jetzt auf leeren Magen nicht ein.
+Ich werde mal einen Blick in meinen Buecherschrank werfen und nachbessern.
+
+YTY
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Bendeigid,  6. Sep 1999, 13:44:12):
+~#! rn=Yendi rt=936615313 rg=kultur
+~#! tid=936448612
+uuuuh, Mervin Peakes "Gormenghast" kann ich nur empfehlen; ein selten gutes
+Buch (genaugenommen sinds 3)
+AAber: Man sollte wissen, dass das 3. unvollendet ist, und Peake im Irrenhaus
+gestorben ist, waehrend er daran schrieb. Ich meine, wer das liesst, der
+sollte sich ziemlich sicher ueber seine Gefuehlswelt sein, denn das ist
+zeitweise voellig abgedreht und nicht leichtverdaulich. Aber genial, da gibts
+nichts!
+
+Wer mehr auf klassische Sagenfantasy steht, dem sei Gillian Bradshaw
+empfohlen. Artussage mal wieder. 
+Brooks ist in der Tat nur seicht, und, um den "Hohlbein-Thread" aufzufrischen,
+der ist sogar noch seichter ;)
+
+Z'par Servu,
+          Bendeigid, hat keine 1200 Buecher :((
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Apsu,  6. Sep 1999, 17:37:57):
+~#! rn=Bendeigid rt=936625452 rg=kultur
+~#! tid=936448612
+Nein-kein Hohlbein-Thread! :) Einige ganz alte Sachen von Hohlbein fand ich
+prima (Enwor-Zyklus z.B.) 
+*rumsenf*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Ark,  6. Sep 1999, 18:56:37):
+~#! rn=Kartoffel rt=936560447 rg=kultur
+~#! tid=936448612
+Huch, Kartoffel hat recht, Tad Williams ist unbedingt zu empfehlen, diese
+Geschichte um die drei Schwerter hat echt was, auch wenn Tryfan meint, nach
+den ersten Kapiteln weiss man schon was passiert. Naja, nicht umsonst laufen
+hier viele mit den Namen herum, z. B. Padreic, Ineluki, Morgenes, um nur
+einige zu nennen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Streawkceur,  6. Sep 1999, 20:39:15):
+~#! rn=Ark rt=936644197 rg=kultur
+~#! tid=936448612
+Hm... wie waers mit Alan Deam Foster, dessen "Bannsaenger"-Zyklus sich in den
+Troy-Questen hier (z.B. Hexerquest) widerspiegelt, oder sein "Eissegler"
+(Icerigger), auf dem die Polarstadt Moulokin basiert? Nett sind auch seine
+Kurzgeschichten, z.B. der Band "Der Metrognom".
+Barbara Hambly (die Gefaehrtin des Lichts, und "Die Mutter des Winters") hat
+mir auch sehr gut gefallen - scheint selten gelesen zu werden, ich hab noch
+keinen Namen aus den Buechern hier im MUD gefunden...
+
+rr (outet sich hiermit als Leser von - shocking - deutschen Uebersetzungen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Grimman,  6. Sep 1999, 20:43:13):
+~#! rn=Streawkceur rt=936650355 rg=kultur
+~#! tid=936448612
+Hmmm .. ich hab da noch was, was ich immer sehr gerne im Bus lese, also auch
+eher trivial ;)
+Von David Ferring die Konrad-Trilogie, angesiedelt in der Warhammer-Welt und
+daher von der Welt her ziemlich ausgearbeitet.
+Mir hats gefallen ...
+
+GrimMan , scheinbar doch eher ein einfacher Kerl ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Muadib,  6. Sep 1999, 20:48:29):
+~#! rn=Streawkceur rt=936650355 rg=kultur
+~#! tid=936448612
+neben den den vielen tips pro einen kontra, um mein gewissen
+zu beruhigen: lest NICHTS von bjoern jagnow, dann doch lieber 
+buchstabensuppe kochen und sich auf die wesentlich anregendere 
+lektuere freuen
+
+gruss
+
+muadib (ja mit einem d und keinem apostroph - basta)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Ark,  6. Sep 1999, 20:48:35):
+~#! rn=Streawkceur rt=936650355 rg=kultur
+~#! tid=936448612
+Ok, war auch witzig, aber ich steuere noch etwas bei, Raymond Feist und
+Midkemia. Eigentlich alles, was so auf dem Markt von ihm dazu zu haben ist,
+ist lesenswert, besonders "die andere Sicht" des Spaltkriegs (ist das die
+deutsche Uebersetzung von Riftwar? klingt richtig) in den drei Buechern mit
+Janny Wurts. Fand ich spannend. Alle verschlungen. Auch hier viel Politik,
+Intrigen und Mord :-) Legenden, ein paar Drachen, Daemonen, etc.
+Was will man mehr ?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Literaturtips gesucht! (Ark,  6. Sep 1999, 20:50:56):
+~#! rn=Ark rt=936650915 rg=kultur
+~#! tid=936448612
+Okok, ich sehe, ich hab schon vergessen, was der erste Artikel enthielt, sorry
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Literaturtips gesucht! (Zarniya,  7. Sep 1999, 07:57:13):
+~#! rn=Ark rt=936651056 rg=kultur
+~#! tid=936448612
+Hmmm mich wundert, das Silvana noch nicht das kultige Weel of Time empfohlen
+hat, was in Fachkreisen ja als DER grosse Klassiker nach den Ringen gilt.
+Ansonsten wuerd ich Pratchet auch nicht als Klassisch bezeichnen, aber wenn
+man Fun-Fantasy mag, dann sollte man unbedingt auch mal einige Buecher aus der
+Xanth-Welt von Piers Anthony testen, oder aber Robert Asprins Daemonensaga. 
+Wer echte klassische Literatur kennt, der sollte man zu Tom Holt greifen, der
+einem einen vollkommen neuen Einblick in zB die Nibelungen gibt, oder aber in
+griechische Mythen. 
+Robert Rantkin (schreibt der sich so?) kenn ich nur aus gewaltigen Lobesreden
+von Zardoz, scheint ein wenig der Meister des running gags zu sein und ist
+wohl auch im Humor sehr skuril.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Literaturtips gesucht! (Boing,  7. Sep 1999, 10:21:26):
+~#! rn=Zarniya rt=936691033 rg=kultur
+~#! tid=936448612
+Robert Rankin ist tatsaechlich ziemlich skuril, allerdings kann man ihn
+wohl weniger zu Fantasy einordnen sondern mehr zu SF. Lesenswert ist
+er auf alle Faelle (wenn man auf Rosenkohl steht).
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Hobo,  7. Sep 1999, 12:55:57):
+~#! rn=Boing rt=936699686 rg=kultur
+~#! tid=936448612
+Wem Robert Rankin gefaellt, der schaut sich auch die Simpsons an *schuettel*
+
+  Hobo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Literaturtips gesucht! (Anatol,  7. Sep 1999, 13:06:30):
+~#! rn=Zarniya rt=936691033 rg=kultur
+~#! tid=936448612
+Das beruehmte Wheel of Time hat gewissermassen Achsbruch erlitten. Der
+siebte Band war teilweise schon etwas langatmig, mit wenig "Action" und
+viel zu sehr ausgeschmuecktem politischen Geplaenkel, der achte Band, 
+der vor kurzem herauskam und inzwischen als Paperback erhaeltlich ist,
+ist in meinen Augen ein weiterer Tiefstrekord - viel Blubb und Bla, die
+Kernhandlung wird - im ohnehin nicht gerade dicken Buch - vernachlaessigt.
+Entweder bereitet sich Jordan auf ein hypergeniales Finale in Band IX 
+oder X vor, oder er wird ganz einfach alt. Ich befuerchte letzteres.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Boing,  7. Sep 1999, 13:42:07):
+~#! rn=Anatol rt=936709590 rg=kultur
+~#! tid=936448612
+Band 9 oder 10? Ich habe gehoert die Reihe waere auf mindestens 13
+Baende ausgelegt, auf das hypergeniale Ende kann man also wohl noch
+ne Weile warten ... ;) Aber etwas steigern duerfte er sich tatsaechlich
+mal wieder.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Literaturtips gesucht! (Rumata,  7. Sep 1999, 14:01:49):
+~#! rn=Boing rt=936711727 rg=kultur
+~#! tid=936448612
+Gibts irgendwo 'ne FAQ zu dem thema?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Literaturtips gesucht! (Muadib,  7. Sep 1999, 14:21:32):
+~#! rn=Rumata rt=936712909 rg=kultur
+~#! tid=936448612
+um mal populistisch zu sein: RANKIN RULES
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Literaturtips gesucht! (Bendeigid,  7. Sep 1999, 14:22:48):
+~#! rn=Boing rt=936711727 rg=kultur
+~#! tid=936448612
+Hm, ich muss den Zorn der Goettergattin herausfordern, aber die Aussage kann
+man nicht stehenlassen. 
+Robert Rankin habe ich gelesen (in der Tat auf Empfehlung des Daemons), und
+ich hab mich schimmelig gelacht. In Englisch, wohlgemerkt, ich hab keine
+Ahnung, wie die Uebersetzungen vermurkst werden. Und NEIN, ich hab noch NIE
+Simpsons geguckt, bin aber sicher, dass ich es hassen wuerde.
+Tom Holt.... ich verstehe nicht, wieso der Klassisch sein soll. Er ist
+urkomisch, und ich wuerde ihn (fast) mit Pratchett gleichsetzen. Er schreibt
+ein wenig anderen Stil, auf jeden Fall mit Praedikat "sollte man gelesen
+haben".
+
+Z'par Servu,
+              Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Literaturtips gesucht! (Zarniya,  7. Sep 1999, 14:28:11):
+~#! rn=Bendeigid rt=936714168 rg=kultur
+~#! tid=936448612
+Hi nochmal, 
+
+ich sagte nicht, dass Holt klassisch ist, sondern, dass er klassische Themen
+verarbeitet. So gibt es von ihm Versionen des Fliegenden Hollaenders, vom
+NibelungenRing, von der Kreuzrittersaga und der Suche nach dem heilgen Gral
+und die Verarbeitung einiger griechischen Sagen. Wenn man die originale nicht
+kennt, dann ist natuerlich der Spass auch nicht ganz so gross.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Literaturtips gesucht! (Bendeigid,  7. Sep 1999, 14:36:25):
+~#! rn=Zarniya rt=936714491 rg=kultur
+~#! tid=936448612
+right! Zustimmung!
+
+Z'par Servu,
+           bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Literaturtips gesucht! (Apsu,  7. Sep 1999, 15:00:06):
+~#! rn=Hobo rt=936708957 rg=kultur
+~#! tid=936448612
+Nix gegen die Simpsons! *daumen hochhalt*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Angus,  7. Sep 1999, 15:59:56):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Meine Tips:
+Michael Moorcock - Elric von Melnibone / Corum
+Fred Saberhagen - Das Buch der Schwerter
+... vor allem letzteres ;) ... und das erste auch ... oder so.
+   Angus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Quengistu,  7. Sep 1999, 16:27:59):
+~#! rn=Angus rt=936719996 rg=kultur
+~#! tid=936448612
+Um auch mal einen anderen deutschen Autoren als Hohlbein (der mir im uebrigen
+auch nicht gefaellt) zu nennen:
+Hans Bemmann "Stein und Floete"
+
+Ich habe das Buch vor etwa 10 Jahren gelesen, und inzwischen ist es mit
+Sicherheit als Taschenbuch erschienen. Es ist keine richtige "Sword &
+Sorcery"-Fantasy, sondern eher ein Maerchen, dafuer ist der Hauptcharakter
+nicht so flach wie die meisten Fantasy-Helden.
+
+Gruss, Queng*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Literaturtips gesucht! (Ark,  7. Sep 1999, 18:32:44):
+~#! rn=Bendeigid rt=936714168 rg=kultur
+~#! tid=936448612
+Wieso, Homer rules, oder? :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Firehawk,  7. Sep 1999, 19:42:44):
+~#! rn=Quengistu rt=936721679 rg=kultur
+~#! tid=936448612
+Ich weiss nich, warum das bis jetzt nicht genannt wurde, aber der
+'Deathgate'-Zyklus von Margaret Weis und Tracy Hickman gehoert immer noch zu
+meinen Lieblingsbuechern, das Magiesystem und seine Aufspaltung ist sehr
+interessant und die einzelnen Buecher gehen gut ineinander ueber und bilden so
+eine grosse Geschichte.
+
+Firehawk
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Grimmborn,  7. Sep 1999, 21:12:40):
+~#! rn=Firehawk rt=936733364 rg=kultur
+~#! tid=936448612
+> ...und die einzelnen Buecher gehen gut ineinander ueber und bilden so
+> eine grosse Geschichte.
+
+aka "Bis Du endlich weist wie es ausgeht steht Dein Rechner im Pfandhaus."
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:19:54):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+
+Stephen R. Donaldson.
+
+Lug
+
+P.S.: Noe, ich les nicht die 39 anderen Artikel zuerst...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:21:14):
+~#! rn=Wim rt=936448872 rg=kultur
+~#! tid=936448612
+
+Hm,
+
+Wim? Wieso bei Kay nicht Tigana?
+HAEH?
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Sublime,  7. Sep 1999, 21:21:20):
+~#! rn=Lug rt=936739194 rg=kultur
+~#! tid=936448612
+Man, da hat Foobar aber wat' losgetreten ;)
+
+Subl, staunend ueber die angeballte Ladung von Papier.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Wurzel,  7. Sep 1999, 21:22:37):
+~#! rn=Sublime rt=936739280 rg=kultur
+~#! tid=936448612
+jeder, der mud spielt, haelt sich naturgemaess auch fuer einen fantasy-
+experten. ist also nicht weiter verwunderlich :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:23:41):
+~#! rn=Wurzel rt=936547618 rg=kultur
+~#! tid=936448612
+Hm Wurzel,
+
+zu Chtulhu sollte man NUR Lovecraft lesen...
+Seine Nachfolger allen voran dieser Brite sind SCHROTT.
+
+Lug
+
+P.S.: Shubb Niggurath the Goat with a thousand young...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:25:15):
+~#! rn=Anatol rt=936550234 rg=kultur
+~#! tid=936448612
+
+Zu Terry Brooks und aehnlichem Murks (z.B. Nancy "Kotz" Springer) empfehlen
+sich die wundervoolen David Langford Rezensionen in alten White Dwarf
+Ausgaben...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:29:16):
+~#! rn=Zarniya rt=936691033 rg=kultur
+~#! tid=936448612
+
+Wheel of Time? Welche ernstzunehmenden Fachkreise (nicht die Blurb Autoren)
+wuerden den wirklich mit tolkien vergleichen? Bei Robert Jordan faellt man
+unter das Gesetz der Serie, aber er ist sowohl eine stilisitsche als auch
+erzaehlerische Niete.
+
+Lug
+(Jaja, ich warte auch auf den naechsten Band)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Tarina,  7. Sep 1999, 21:34:00):
+~#! rn=Lug rt=936739194 rg=kultur
+~#! tid=936448612
+Donaldson wurde glaube ich auch noch nicht genannt. Aber er ist (m.E.)
+auch nicht uneingeschraenkt empfehlenswert.
+Ich habe seine Buecher zum Teil hintereinander gelesen und war doch ein wenig
+angenervt von den sich staendig wiederholenden Jammersequenzen darin.
+
+Tarina
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Lug,  7. Sep 1999, 21:36:48):
+~#! rn=Lug rt=936739756 rg=kultur
+~#! tid=936448612
+
+Hm,
+
+bisher hat niemanden Gene Wolfes Book of the New Sun erwaehnt. Der erste Band
+auf deutsch heisst unheilschwanger Der Schatten des Folterers (The Shadow of
+the Torturer). Ein wirklich ungewoehnliches Konzept (inklusive antropophagie)
+paart sich mit literarischer Kompetenz. Ein echter Stilist. Wer kann sollte
+das Original lesen...
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+SAGA (Lug,  7. Sep 1999, 21:44:00):
+
+So,
+
+da letztlich fast alle Geschichten schon erzaehlt wurden:
+Die wissenschaftliche Buchgesellschaft (etwas teurer auch bei Diederichs zu
+haben) legt derzeit diverse islaendische Sagas (Soegur) in neuer Uebersetzung
+vor. Damit wird die seit Jahrzehnten vergriffene Sammlung Thule endlich
+ersetzt. Fuer den Anfaenger empfehlen sich die "Islaendischen Vorzeitsagas",
+die "Grettis-Saga" und auch die "Laxdaela-Saga". Fortgeschrittenen koennen
+sich auch an Maerchen(Luegen)-Sagas oder Islaendischen Antiken Sagas
+ergoetzen. Bei den Vorzeitsagas befindet sich uebrigends eine KL fuer
+Nibelungen ;)
+
+Lug
+
+P.S.: Einer der Baende ist bei der WBG bereits vergriffen (wenn einer
+irgendwann mal die ganzen Meter Baende im Regal haben will). Falls einer der
+WBG beitreten moechte oder ueber mich bestellen -> Mail an mich ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SAGA (Nevok,  7. Sep 1999, 21:51:46):
+~#! rn=Lug rt=936740640 rg=kultur
+~#! tid=936740640
+Also mal ganz langsam Herr Lug, so von wegen Schuster bleib bei Deinen Leisten
+und so. Nordische Sachen, schoen und gut..aber lass Odin nen guten Mann sein
+und halte Dich an die richtigen Goetter und empfehl gefaelligst was
+gescheites.
+Irische Sagen sind blutig, nicht fuer Kinder und nett zu lesen. Man kriegt
+nette Waffen Ideen raus (Gibts schon ne Gae Bulga oder wie sich das Ding
+schreibt? ja das komische Ding das Xena versucht zu werfen). Ausserdem sind
+die Helden ganz nett, man denke nur an..CuChulainn respketive CuuChuulainn
+falls der Hausexperte mir richtig ueber die Mangelnden Zusatzzeichen
+hinweggeholfen hat...und natuerlich einen netten Gott names Lugh Lambasa...dem
+wir den Feiertag Lughnasad oder fuer die Christen unter uns Lichtmess zu
+verdanken haben...
+
+Just my two cents
+
+Nevok
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SAGA (Lug,  7. Sep 1999, 21:55:20):
+~#! rn=Nevok rt=936741106 rg=kultur
+~#! tid=936740640
+Fehlerkorrektur:
+Gae Bolga. Lug (Lugh ist Neuirisch (igitt)) Samildanach oder Lamfhada (wer
+kommt auf Lambada?), Lichtmess habt ihr Katholen als am 1. August?
+
+Sowas
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: SAGA (Lug,  7. Sep 1999, 21:56:56):
+~#! rn=Lug rt=936741320 rg=kultur
+~#! tid=936740640
+Aeh,
+
+ich hab da eben nen Typo produziert, in einem irischen Wort: Wer ihn findet
+kriegt nen Sonderdruck meines neuesten Opus ;)
+
+Drohend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: SAGA (Rani,  7. Sep 1999, 21:57:48):
+~#! rn=Lug rt=936741416 rg=kultur
+~#! tid=936740640
+seit wann ist also ein irisches wort?
+
+Rani
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: SAGA (Nevok,  7. Sep 1999, 21:58:12):
+~#! rn=Lug rt=936741320 rg=kultur
+~#! tid=936740640
+he jefe, kusch.......Du hast mich gezwungen das zu schreiben ich wollts Dir
+ueberlassen.....aber ne, man is n netter Kerl und schreibt den Schotter
+rein....und verhaspelt sich prompt. Is wie wenn man allein vorm Tor
+steht....der ball geht ueberall hin nur net ins Tor, passiert ;)
+Also Lugh wasweisichwer und der Feiertag stimmt....kann aber auch anders
+heissen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: SAGA (Lug,  7. Sep 1999, 21:58:56):
+~#! rn=Rani rt=936741468 rg=kultur
+~#! tid=936740640
+
+Das wars nicht Rani, das war einer von meinen Trademark Typos...
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Literaturtips gesucht! (Firehawk,  7. Sep 1999, 21:59:58):
+~#! rn=Grimmborn rt=936738760 rg=kultur
+~#! tid=936448612
+Pffft, bei 7 Buechern wird man noch nicht arm, ausserdem gefaellt mir das
+besser, als kurze Geschichten, die ewig durchhetzen.
+
+Firehawk
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: SAGA (Muadib,  7. Sep 1999, 22:50:48):
+~#! rn=Lug rt=936741320 rg=kultur
+~#! tid=936740640
+wars nich lamfada anstatt lamfhada ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: SAGA (Lug,  7. Sep 1999, 22:53:20):
+~#! rn=Muadib rt=936744648 rg=kultur
+~#! tid=936740640
+Fast. Das h muss schon nach dem m ran ;)
+Aber ich lass das mal gelten ;)
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SAGA (Cuchullin,  8. Sep 1999, 01:04:52):
+~#! rn=Nevok rt=936741106 rg=kultur
+~#! tid=936740640
+Ich bin mir durchaus bewusst, dass die Rechtschreibung meines Namens 
+etwas zu wuenschen uebrig laesst, aber so wird zumindest an EIN Buch
+von Hohlbein erinnert, das nicht ganz fuerchterlich schlecht ist...
+
+Cuchullin - an seinem Guertel zerrt das Gewicht eines Wurfeisens
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Literaturtips gesucht! (Grimman,  8. Sep 1999, 01:43:37):
+~#! rn=Lug rt=936739421 rg=kultur
+~#! tid=936448612
+Nur kurz : Hiess das nicht Shu'ubb Nigurath?
+
+GrimMan , ist sich allerdings nicht ganz sicher
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Apollonia,  8. Sep 1999, 09:08:26):
+~#! rn=Anatol rt=936709590 rg=kultur
+~#! tid=936448612
+Hmmm, kann es sein, dass Du da ein bisschen hinterherhinkst?? Mittlerweile
+sind mehr als 20 Baende erschienen (in der englischsprachigen Originalausgabe
+gibt's m.W. alle)... und meine ganz persoenliche Meinung: Ich find die klasse.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Apollonia,  8. Sep 1999, 09:12:10):
+~#! rn=Anatol rt=936709590 rg=kultur
+~#! tid=936448612
+Also, nur ums nochmal zu erwaehnen, ich bezog mich da natuerlich auf die
+deutschsprachigen Ausgaben (von wegen 20 Baende)... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Literaturtips gesucht! (Anatol,  8. Sep 1999, 09:30:56):
+~#! rn=Apollonia rt=936781930 rg=kultur
+~#! tid=936448612
+Tja, S"u/3e, das ist Dein Problem ;o). Ich bezog mich auf die englische
+Ausgabe - und dort ist man erst bei Band 8 und noch laengst nicht am
+Ende (wie bereits jemand geschrieben hat, ist das auf etwa 13 Baende
+(nicht nur 10, aber inzwischen halte ich das fuer nicht-so-toll)
+ausgelegt). Die Diskrepanz englisch-deutsch ruehrt wohl daher, dass
+irgendein schlauer Mensch merkte, dass man einen Originalband, 
+der selbst ueber Importeur fuer unter 25.- DM zu haben ist, uebersetzt
+viel gewinntraechtiger verkauft, wenn man 2 1/2 deutsche Baende (die
+einzeln natuerlich guenstiger sind als ein englischer Band ;)) daraus
+macht.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Wanderer,  8. Sep 1999, 11:10:01):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Ich vermiss bei dem ganzen noch den Namen Andrzej Sapkowski.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Literaturtips gesucht! (Pampers,  8. Sep 1999, 12:52:37):
+~#! rn=Anatol rt=936783056 rg=kultur
+~#! tid=936448612
+Suesse? Wieso Suesse? Ich dachte, Du schreibst an Apollonia?
+
+Pampers. Weiss was suess ist. Und was nicht.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Wurzel,  8. Sep 1999, 19:09:39):
+~#! rn=Lug rt=936739756 rg=kultur
+~#! tid=936448612
+au weia. weer bitteschoen sind hier die "ernstzunehmenden fachkreise"? wie
+qualifiziert man sich dafuer? gehoere ich schon dazu oder wim mit 1200
+buechern? wieviel muss man gelesen haben, oder geschrieben?
+wie heisst der reich-ranicki der fantasy, und wo wird seine fernsehshow
+ausgestrahlt?
+zur eigentlichen frage: man kann auch aepfel mit birnen vergleichen. man
+stellt eben unterschiede fest. tolkien hat insgesamt 60 jahre an seinen
+buechern geschrieben, das kann man von keinem anderen autor erwarten.
+robert jordan hat auf seine eigene art sehr vielversprechend angefangen, jetzt
+sind ihm aber offensichtlich die ideen ausgegangen. kann man ihm zum vorwurf
+machen, dass er mit seiner arbeit geld verdienen will? tolkien hatte das
+nicht noetig.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Literaturtips gesucht! (Cymonk,  9. Sep 1999, 01:43:23):
+~#! rn=Grimman rt=936755017 rg=kultur
+~#! tid=936448612
+
+weder noch, dieser aeussere gott heisst: shub niggurath
+
+btw: wer sich mit den buechern des mythos auseinandersetzt, wird
+darauf stossen, dass diese bezeichnung irrefuehrend ist, da die uebersetzung
+eigentlich 'dunkles junges' heisst.
+da hat sich so ein depp 'nen lapsus geleistet, als er das necronomicon
+aus dem arabischen uebersetzt hat.... :))
+
+cy
+
+das ist nicht tot, was ewig liegt, bis dass die zeit den tod besiegt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Nevok,  9. Sep 1999, 02:19:32):
+~#! rn=Cymonk rt=936841403 rg=kultur
+~#! tid=936448612
+voll aus dem Kontext raus.....
+da faellt mir nur n Famous Last Word ein.....
+This scroll is useless, it has 'Hastur, Hastur, Hastur' written all over
+it....
+
+
+Nevok, der findet dass das Unaussprechliche auch unaussprechlich bleiben
+sollte....
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Apsu, 10. Sep 1999, 15:07:46):
+~#! rn=Wurzel rt=936739357 rg=kultur
+~#! tid=936448612
+Noe ich nicht, aber SF-experte :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: SAGA (Apsu, 10. Sep 1999, 15:10:52):
+~#! rn=Nevok rt=936741106 rg=kultur
+~#! tid=936740640
+Nordische sagen sind nicht blutig? pfffffft!
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: SAGA (Nevok, 10. Sep 1999, 15:16:58):
+~#! rn=Apsu rt=936976252 rg=kultur
+~#! tid=936740640
+Im Vergleich zu den Irischen Sagen sind die Nordischen Kindergartenlektuere...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Literaturtips gesucht! (Helva, 12. Sep 1999, 15:36:01):
+~#! rn=Quengistu rt=936721679 rg=kultur
+~#! tid=936448612
+Aussserdem enthaelt Bemmanns "Stein und Floete" wohl eine der ergreifendsten
+und wunderschoensten Liebesgeschichten uberhaupt....
+Helva
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Literaturtips gesucht! (Helva, 12. Sep 1999, 16:42:25):
+~#! rn=Foobar rt=936448612 rg=kultur
+~#! tid=936448612
+Also, nach dem Kramen in meiner Raritaetenkiste ist mir noch ein Klassiker in
+die Haende gefallen:
+
+Leslie Barringer 
+mit seinem "Neustrischen Zyklus".
+Der dritte und schoensten (auch der letzte soweit ich weiss, "Die scheue
+Leopardin" ist zum ersten Mal 1948 veroeffentlicht worden.
+Ist wirklich wunderschoen allerdings-obwohl der Autor ebenfalls Brite
+ist-voellig anders als Tolkien.
+Ob das Buch noch erhaeltlich ist, weiss ich nicht, es wurde vor Jahren in der
+Fischer Bibliothek der klassischen Abenteuer (das waren diese blauen Buecher)
+herausgebracht.
+
+Als Orientierungshilfe noch meinen eigenen Geschmack : Die "Terrys" mag ich
+alle nicht, dafuer aber Tolkien (wer eigentlich nicht?), Robert Jordans erster
+Band zumindest (die anderen kenne ich nicht), ach so, an "ironischer Fantasy"
+bevorzuge ich die Artussage im Licht T.H. White.
+Helva
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Literaturtips gesucht! (Nevok, 12. Sep 1999, 17:09:36):
+~#! rn=Helva rt=937150561 rg=kultur
+~#! tid=936448612
+ergreifend? und wunderschoen?
+um da mal die comedy factory zu zitieren
+
+SIND WIR ETWA MAEDCHEN???
+
+Ne mal ganz im Ernst, also das waere nich unbedingt etwas womit ich ein Buch
+anpreisen wuerde, fuer sowas gibts ja die ganzen Cora, Julia und was weiss ich
+Buecher/Hefte/Druckmedien am Kiosk mit muskuloesen Maennern und
+leichtbekleideten Frauen...
+
+Nevok, der findet dass die schoenste Liebesgeschichte die ist, die man selber
+erlebt und wogegen alles andere nur konkurenzlos erblasst
+
+Grats an Boing uebrigens, geniesse Deine letzten Tage als Junggeselle :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Literaturtips gesucht! (Helva, 12. Sep 1999, 21:11:51):
+~#! rn=Nevok rt=937156176 rg=kultur
+~#! tid=936448612
+Als Tip, Nevok:
+Probier mal finger helva , vielleicht findest Du da die Antwort auf Deine
+Frage.
+Uebrigens sind mir die von Dir zitierten Heftchen voellig unbekannt, und mein
+vorurteilsbeladenes Hirn sagt mir, dass da gaaanz bestimmt keine richtigen
+Liebesgeschichten drinstehen...anders als bei "Stein und Flote" *G*
+Helva-heute Streiterin fuer Romantik ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Yendi, 13. Sep 1999, 11:20:58):
+~#! rn=Helva rt=937154545 rg=kultur
+~#! tid=936448612
+Jaaa! "The Once And Future King" von T H White!
+The Wart Rulez!
+Wie hiess das noch? "Rex Quondam RexQue Futuris"?
+Egal...
+
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Literaturtips gesucht! (Lug, 14. Sep 1999, 23:42:43):
+~#! rn=Cymonk rt=936841403 rg=kultur
+~#! tid=936448612
+Tjae,
+
+in der deutschen Uebersetzung von "lie" geht voellig die Doppeldeutigkeit
+floeten...
+
+Tssend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: SAGA (Lug, 14. Sep 1999, 23:43:43):
+~#! rn=Nevok rt=936976618 rg=kultur
+~#! tid=936740640
+Nevok?
+
+Du liest die falschen Sagas...
+
+Lug
+
+P.S.: Hm, ich sollte Elora nen Blutadler proggen lassen... oder will Tilly?
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Literaturtips gesucht! (Lug, 14. Sep 1999, 23:45:45):
+~#! rn=Helva rt=937154545 rg=kultur
+~#! tid=936448612
+
+Aeh?
+
+T. H. White ist "ironische Fantasy?"
+Oeh...
+
+Bah Humbug
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+subkultur, diesmal mit umlauten (Montanus, 27. Sep 1999, 22:16:43):
+Freitag abends im Stadion. Ein Erlebnisbericht.
+
+Nichts ist mehr so, wie es mal war. Die Frauen, die Autos, und vor allem der
+Fussball. Aber als Optimist gibt man ja die Hoffnung nie auf, und so machte
+ich mich mal wieder auf den Weg ins Bruchwegstadion. Seit dem Stadionumbau vor
+drei Jahren hat der Name ja nicht mehr volle Daseinsberechtigung, und
+inzwischen klopft der FSV Mainz 05 ja auch fast jede Saison mal an der Tuer
+ins Oberhaus an, um dann typischerweise meistens am letzten Spieltag gegen
+hergelaufene Teams aus Wolfsburg und anderen Staedten auf der falschen Seite
+des Rheins (sprich Westpolen) zu verkacken.
+In dieser Saison standen fuer den selbsternannten Aufstiegsgeheimfavoriten
+immerhin schon 3 Puenktchen nach 5 Spieltagen auf dem Konto, und die wurden
+durch schmeichelhafte Unentschieden gegen Weltmeistertruppen wie Offenbach"
+oder Chemnitz" erkaempft. In dieser Situation konnte nur eines retten: ein
+Heimspiel gegen Hannover 96.
+
+Exkurs: Es gibt Vereine, die graben sich metertief ein, wenn sie nur von
+weitem den Hannoveraner Teambus sehen. Fragt mal Uwe Mannherz, Volker Heiss
+oder mich, warum der VfL Bochum im Pokal kein Heimspiel haben will, solange 96
+noch im Lostopf ist.
+
+Schon auf dem Weg zum Stadion war klar: mehr als etwa 200 schwarz-weiss-gruene
+Fans hatten zum Glueck kein Einreisevisum bekommen. Oder wussten die meisten
+im Vorhinein, wie sich das Spiel entwickeln wuerde und hatten auf die weite
+Anreise verzichtet? Oder hat 96 gar nur so wenig Fans? Eigentlich war es egal,
+und die beiden netten jungen Herren, die sich in der Kassenschlange hinter mir
+verirrt hatten, bekamen doch noch (nachdem ich gewartet hatte, bis sie fast
+dran waren) von mir den guten Tip, dass die Kasse fuer Gaeste-karten direkt
+vor dem Gaesteblock sei. Das waren sie anscheinend nicht gewohnt. Wenn man
+sonst nur nach Herzlake, Salzgitter oder Schloss Neuhaus faehrt, koennen einen
+die Wunder der Grossstadt ja schon ueberwaeltigen.
+
+Zum Spiel gibt es nicht viel zu sagen. Statt mit schwarzen Perlen wie im
+letzten Jahr, als Ado, Asamoah und Babacar fuer die Zonis spielten, traten die
+Klappspatengesichter aus Schroederland dieses Jahr mit einer Balkanelf an.
+Ivankovic, Kobylanski, Milosanevic, Ballverstolperovic und Co.  das liess das
+Herz des Mainzer Fussballfans hoeher schlagen. 
+Dann gings los, schwache erste 45 Minuten mit einem Pfostentreffer fuer 96 und
+zwei ganz guten Chancen fuer Mainz, die Joerg der Held Sievers zunichte
+machte. Am meisten beschaeftigt: der Linienrichter auf Hannoveranischer Seite,
+der etwa 10mal den Arm samt Fahne wegen Abseits heben musste.
+Pause, Hupfdolls, Wiederanpfiff.
+Sirious Din-Mohammadi schnappt sich im Mittelfeld den Ball, schickt Gustav
+Policella steil, der ist schneller als alle und schiebt aus 20 Metern den Ball
+Sievers durch die Beine ins Tor. Ein Kullerball. Schoener gings nimmer, nach
+49 Minuten. Nur noch 41 Minuten warten. Denn viel kam nicht mehr. Mainz
+haemmerte noch einmal durch Hock gegen den Torpfosten, Svennie Demandt
+Fussballgott hatte auch noch gute Chanen, und Hannover blieb harmlos. Aber das
+war ja zu erwarten, besonders, nach dem Scooter" Blank, der einzige auch nur
+ansatzweise fussballspielende Trikottraeger der Gaeste, ausgewechselt wurde.
+
+Liebe Hannoveraner: ihr duerft wiederkommen. So oft ihr wollt. Am besten zu
+allen restlichen 14 Heimspielen von 05. Wie jedes Jahr wart ihr ein perfekter
+Aufbaugegner, ein Punkte-lieferant. Es ist halt doch manches noch so, wie es
+schon immer war.
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: subkultur, diesmal mit umlauten (Alboin, 28. Sep 1999, 08:02:39):
+~#! rn=Montanus rt=938470603 rg=kultur
+~#! tid=938470603
+lach* 
+Hupfdolls = cheerleaders, das muss ich mir merken :-)
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: subkultur, diesmal mit umlauten (Yendi, 28. Sep 1999, 11:23:26):
+~#! rn=Alboin rt=938505759 rg=kultur
+~#! tid=938470603
+"Schmidteinander" war vor Deiner Zeit, ja?
+
+*g*
+
+YTY
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: subkultur, diesmal mit umlauten (Alboin, 28. Sep 1999, 11:30:59):
+~#! rn=Yendi rt=938517806 rg=kultur
+~#! tid=938470603
+pah, ich bin auch ohne Glotze gluecklich!
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Nachruf auf MZB (Bendeigid, 28. Sep 1999, 15:11:57):
+Hallo liebe Fantasyfreunde, es gibt eine Traurige Nachricht:
+
+Marion Zimmer-Bradley, die Grande Dame der Fantasy, ist tot.
+
+Sie erlitt am Dienstag, 22.9. einen Herzinfarkt und starb an dessen Folgen am
+darauffolgenden Samstag.
+Marion Zimmer-Bradley begann ihre Karriere mit Geschichten ueber den Planeten
+der blutroten Sonne, Darkover, zu dem sie in den folgenden jJahren etliche
+Romane in nicht zwingend chronologischer Reihenfolge schrieb. Die grosse
+Fangemeinde nutzte diesen Hintergrund, um selber Geschichten und Episoden zu
+schreiben, die MZB in etlichen Sammlungen herausgab.
+Sie war besonders interessiert an der charakterlichen und emotioalen
+Entwicklung ihrer Charaktere, weniger an viel "Action". 
+Ihr bekanntestes Werk ist sicherlich "Die Nebel von Avalon", eine
+herausragende Nacherzaehlung der Artussage. Ebenso ihre Schilderung des
+Troianischen Krieges in "Die Feuer von Troja" duerften vielen bekannt sein.
+MZB schrieb jedoch auch Science-Fiction Romane ("Reise ohne Ende", "Die Jaeger
+des Roten Mondes" etc.), die allerdings ebenso weniger auf technische Bereich
+als vielmehr auf emotionale Entwicklungen zielen.
+
+Im Randbereich zwischen Science-Fiction und Fantasy siedelt der
+"Darkover-Zyklus", der sich besonders in Amerika, aber auch in Europa einer
+grossen Fangemeinde erfreut. 
+Sie war aufgrund einiger provozierender Handlungen in ihren Buechern
+("Trapez", "Der Verbotene Turm") ein wenig bei sogenannten strengen
+Moralaposteln verrufen und galt auch lange als "Vorzeigeemanze". In diese
+Rolle wollte sie sich jedoch niemals draengen lassen, sonder stand zu einer
+Gleichberechtigung der Geschlechter. Dies kommt in ihren Werken auch deutlich
+zm Ausdruck.
+
+
+
+Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nachruf auf MZB (Tarina, 28. Sep 1999, 16:21:35):
+~#! rn=Bendeigid rt=938531517 rg=kultur
+~#! tid=938531517
+
+Mein erstes Buch (der verbote Turm) von MZB hab ich 1981 gekauft. Und danach
+konnte ich nicht mehr aufhoeren, ihre Buecher zu kaufen. Als sie 'die Nebel
+von Avalon' herausbrachte, nannte ich schon mehr als 10 Buecher von ihr mein
+eigen.
+
+Auch hier im Mud hat sich ihre Spuren hinterlassen. Wer haette sich nicht
+schonmal ueber die Banshee geaergert (oder ist sogar an ihr gestorben).
+Auch Ya-Maenner, Katzenwesen und Kyrris stammen aus der Welt der MZB.
+Und ohne die Matrixen der Leronis waere das Morgengrauen zumindest meiner
+Meinung nach ein gutes Stueck aermer.
+
+Schade, dass sie nun keine weiteren Buecher mehr schreiben kann.
+
+Tarina
+
+-----------------------------------------------------------------------------
+
+
+
+ebm, industrial, techno ... (Cymonk, 28. Sep 1999, 20:16:39):
+hiho,
+
+wen es interessiert und wem ab und an oben genannte musik stile
+aus den speakern um die ohren droehnen:
+
+http://www.mp3.com/cymoteccyclone
+
+cy
+
+p.s. der naechste song wartet nur noch auf die instant play codierung 
+     kann sich also nur noch um wenige stunden handeln :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nachruf auf MZB (Lug, 28. Sep 1999, 23:31:52):
+~#! rn=Bendeigid rt=938531517 rg=kultur
+~#! tid=938531517
+
+Endlich eine gute Nachricht. Kein weiterer Schund mehr a la Darkover und den
+Mist von Avalon kann sie auch nciht mehr ausbauen. Hatte schon Sorge sie
+koennte noch mehr Sagenstoff verhunzen.
+
+Eine Riesin wird keine Traene fuer die Schachtel weinen. Mag Hel behalten, was
+Hel hat.
+
+Erfreut
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nachruf auf MZB (Rumata, 29. Sep 1999, 10:18:25):
+~#! rn=Lug rt=938561512 rg=kultur
+~#! tid=938531517
+Momentmal, die letzten Darkovers waren eh' nicht von ihr...
+Rumata
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Nachruf auf MZB (Bendeigid, 29. Sep 1999, 10:21:37):
+~#! rn=Rumata rt=938600305 rg=kultur
+~#! tid=938531517
+doch, waren sie.... es sei denn, du meinst die Anthologien, die sie nur
+herausgegeben hat..
+An den feuern von Hastur war von ihr, und Asharras Rueckkehr auch. 
+
+Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nachruf auf MZB (Yendi, 29. Sep 1999, 12:03:08):
+~#! rn=Tarina rt=938535695 rg=kultur
+~#! tid=938531517
+Nichts fuer ungut, aber Banshees gab es schon ein ganzes Weilchen _vor_ MZB...
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Nachruf auf MZB (Tarina, 29. Sep 1999, 16:43:00):
+~#! rn=Yendi rt=938606588 rg=kultur
+~#! tid=938531517
+mag sein, dass es banshees auch vorher gab. Aber die waeren sicherlich nicht
+Modell fuer die Banshee auf dem Pass vor Neskaya.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Nachruf auf MZB (Wurzel, 29. Sep 1999, 16:45:24):
+~#! rn=Tarina rt=938623380 rg=kultur
+~#! tid=938531517
+stimmt, der name ist natuerlich nicht geschuetzt.
+laut gary gygax ist eine banshee eine boesartige untote elfin, deren gesang
+allein schon reicht, um einen normalmenschen zu toeten...
+mzb hat wohl nur den namen geklaut, den rest dazu erfunden.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Nachruf auf MZB (Tarina, 29. Sep 1999, 16:47:04):
+~#! rn=Tarina rt=938623380 rg=kultur
+~#! tid=938531517
+mir war auch so, als wenn die 'urspruenglichen' banshees etwas anderes waren,
+als die von mzb... aber dummerweise hatte ich nix vernuenftiges zum
+nachschlagen da.
+
+tarina
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Nachruf auf MZB (Nevok, 29. Sep 1999, 17:07:36):
+~#! rn=Tarina rt=938623624 rg=kultur
+~#! tid=938531517
+fragt mal Lug nach Banshee
+Banshees gehoeren meines Wissens zur irischen/keltischen mythologie.....ich
+meine auch bei macbeth was von einer banshee gelesen zu haben, wer den ruf der
+banshee hoert wird bald sterben oder so......
+
+Nevok
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Nachruf auf MZB (Anatol, 29. Sep 1999, 17:20:55):
+~#! rn=Nevok rt=938624856 rg=kultur
+~#! tid=938531517
+Rein theoretisch treiben sich - nach Lug - im Kloster von Sula hier
+Banshees rum... weibliche Sidhe... :o) Allerdings tun die weder singen
+noch sind sie furchtbar toedlich.
+
+Anatol - hat MZB gern gelesen
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Nachruf auf MZB (Wurzel, 29. Sep 1999, 17:23:29):
+~#! rn=Nevok rt=938624856 rg=kultur
+~#! tid=938531517
+es gibt natuerlich noch andere (be-)deutungen. fuer die trekkies unter uns:
+www.ussbanshee.org :) dann gibt es fuer mopedfahrer noch die yamaha banshee,
+fuer militaristen das mcdonnell f2h banshee kampfflugzeug, fuer computeristen
+die banshee grafikkarte usw... aber was man immer wieder findet, ist der
+beruehmte "howl of the banshee", der das blut gefrieren laesst.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Nachruf auf MZB (Nevok, 29. Sep 1999, 17:42:50):
+~#! rn=Wurzel rt=938625809 rg=kultur
+~#! tid=938531517
+Also, um mal saemtliche Klarheiten zu beseitigen...MZB hat die Banshee NICHT
+erfunden, Gary Gygax auch nich. Hier mal die etwas ausfuehrlichere Erklaerung
+The bean-sidhe (woman of the fairy) may be an ancestral spirit appointed to
+forewarn members of certain ancient Irish families of their time of death.
+According to tradition, the banshee can only cry for five major Irish
+families: the O'Neills, the O'Briens, the O'Connors, the O'Gradys and the
+Kavanaghs. Intermarriage has since extended this select list. ;
+Whatever her origins, the banshee chiefly appears in one of three guises: a
+young woman, a stately matron or a raddled old hag. These represent the triple
+aspects of the Celtic goddess of war and death, namely Badhbh, Macha and
+Mor-Rioghain. She usually wears either a grey, hooded cloak or the winding
+sheet or grave robe of the unshriven dead. She may also appear as a
+washer-woman, and is seen apparently washing the blood stained clothes of
+those who are about to die. In this guise she is known as the bean-nighe
+(washing woman). 
+Although not always seen, her mourning call is heard, usually at night when
+someone is about to die. In 1437, King James I of Scotland was approached by
+an Irish seeress or banshee who foretold his murder at the instigation of the
+Earl of Atholl. This is an example of the banshee in human form. There are
+records of several human banshees or prophetesses attending the great houses
+of Ireland and the courts of local Irish kings. In some parts of Leinster, she
+is referred to as the bean chaointe (keening woman) whose wail can be so
+piercing that it shatters glass. In Kerry, the keen is experienced as a "low,
+pleasant singing"
+in Tyrone as "the sound of two boards being struck together"
+and on Rathlin Island as "a thin, screeching sound somewhere between the wail
+of a woman and the moan of an owl". 
+The banshee may also appear in a variety of other forms, such as that of a
+hooded crow, stoat, hare and weasel - animals associated in Ireland with
+witchcraft.
+
+Alles klar?
+
+Nevok
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Nachruf auf MZB (Highlander, 30. Sep 1999, 06:53:06):
+~#! rn=Bendeigid rt=938600497 rg=kultur
+~#! tid=938531517
+Ups. Weisst Du zufaellig die englischen Namen von denen? Koennten das
+Exile's Song und The Shadow Matrix sein?
+  HrT, mag "frei uebersetzten" (lies neu erfundenen) Buchtitel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Nachruf auf MZB (Bendeigid, 30. Sep 1999, 06:55:08):
+~#! rn=Nevok rt=938626970 rg=kultur
+~#! tid=938531517
+Super, Nevok!
+Da wir jetzt ueber den "richtigen" Ursprung der Banshee oder von mir aus auch
+des Begriffs Bean-Sidhe aufgeklaert sind, folgt hier der Folstaendigkeit
+halber die Erklaerung fuer die Banshee von MZB, deren Vertreterin hier im MG
+ihr (erfolgreiches :)) Unwesen treibt.
+Im Darkoverzyklus, den Lug bereits so zerrissen hat, landet ein Raumschiff mit
+irdischen Auswanderern auf Darkover. Genaugenommen ists eine Bruchlandung, und
+so ziemlich alle technischen Errungenschaften gehen dabei zum Teufel.
+Reparatur ist praktisch undmoeglich, da Darkover kaum Metalle besitzt. 
+Unter den an Bord befindlichen Auswanderen  befanden sich u.a. solche irischen
+Ursprungs, zum Teil wohl mit Ahnungen ihrer Sagenhostorie.
+Auf einigen hohen Gebirgspaessen Darkovers leben grosse, blinde, flugunfaehige
+vogelaehnliche Wesen, die mit Hilfe ihres Waermesinns und eines
+ohrenbetaeubenden Schreis jagen. Ihr Schrei ist so grausam anzuhoeren, dass
+"einem das Blut in den Adern gefriert". 
+Nun, da sowas u.a. den Bean-Sidhes der keltischen/irischen Mythologie
+nachgesagt wurde, lag die Entscheidung nahe, diesen namenlosen Viechern den
+Namen Banshee zu geben.
+Tja, und eine davon hat es mit verwandetn Eigenschaften halt auch in
+MorgenGrauen verschlagen, und da hockt sie nun auf dem Kilghardpass und jagt
+dumme Zauberer und hilflose Abenteurer. :)
+
+Z'par Servu,
+       Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+Mantikore (Yendi, 30. Sep 1999, 12:22:05):
+Um mal von MZB und Klageweibern wegzukommen:
+
+Hat irgendjemand Informationen, Literatur, Hinweise jedweder Art zu
+Mantikoren/Manticoras/... oder der Ethymologie dieses Namens?
+
+Dankend,
+         Yendi
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mantikore (Apsu, 30. Sep 1999, 13:22:12):
+~#! rn=Yendi rt=938694125 rg=kultur
+~#! tid=938694125
+http://www.pantheon.org ?
+
+-----------------------------------------------------------------------------
+
+
+
+Kann sein das dieser Buchtip schon mal kam... (Nevok,  2. Okt 1999, 20:42:01):
+Fuer Leute die den Film 'The Matrix' moegen ein Buch das zu diesem Film
+gehoert....
+
+Simulacra and Simulation (The Body, in Theory : Histories of Cultural
+Materialism) 
+von
+Jean Baudrillard, ist ins Englische von Sheila Faria Glaser uebersetzt worden
+der ganze Spass kostet als Paperback hier 15.95$ 
+
+es ist ein philosophisches Buch das von der Unterscheidung zwischen Realitaet
+und.....naja am besten eben 'Simulation and Simulacra' handelt.
+Ich hab bei einem Freund gelangweilt reingeschaut und war dann ne Stunde
+gefesselt und hab gleich darauf meine Bestellung bei Amazon aufgegeben, das
+Buch sollte Dienstag spaetestens da sein. Ich hoffe mal, dass der Rest nicht
+furchtbarer Schwachsinn ist und ich nen geldverschwendenden Tip abgegeben
+habe. Falls jemand aehnliche Buecher empfehlen kann, mail an mich ;)
+
+Nevok, der sein Regal mal wieder mit nicht-Uni-Buechern aufstocken muss.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Nachruf auf MZB (Helva,  3. Okt 1999, 19:21:52):
+~#! rn=Wurzel rt=938625809 rg=kultur
+~#! tid=938531517
+Fuer die etwas aelteren unter uns gab's da mal 
+"Siouxie&the Banshees".
+Mit wavigen Gruessen heute mal-helva-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Nachruf auf MZB (Wurzel,  4. Okt 1999, 19:00:03):
+~#! rn=Helva rt=938978512 rg=kultur
+~#! tid=938531517
+fuer die aelteren? hm, dafuer ist das noch viel zu neu :)
+
+wurzel aus der gruft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Nachruf auf MZB (Lug,  5. Okt 1999, 23:49:53):
+~#! rn=Nevok rt=938624856 rg=kultur
+~#! tid=938531517
+
+Nagut,
+
+zum 100sten Mal zum Thema Banshee:
+
+Woertlich heisst das Ban-sidhe = Frau-Sidhe(Elf). In der modernen irischen
+Folklore sind sie dann zu so einer Art Todes Faery mutiert. Die kuendigen mit
+ihrem Heulen den Tod eines Verwandten an.
+
+Die Schreibung Banshee ist eine Anglisierung, weil Englaender zu bloede sind
+um Irisch zu schreiben.
+
+Alles klar?
+Lug
+
+*GENERVT*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Nachruf auf MZB (Lug,  5. Okt 1999, 23:54:22):
+~#! rn=Nevok rt=938626970 rg=kultur
+~#! tid=938531517
+
+the triple aspects of the Celtic Goddess of War and Death?
+
+Bodb, Macha, Morrigain (altirische Schreibung)?
+
+Wer saugt sich so einen Quatsch aus denm Fingern? Aus drei Figuren mach eine,
+sehr plausibel, dachte nur Xsten machen sowas.
+
+
+Unfug schreiend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Ausstellungen (Lug,  6. Okt 1999, 00:16:21):
+
+Tachgen,
+
+ich moechte noch einmal auf 2 Ausstellungen hinweisen:
+
+1) Die Karolinger Ausstellung in Paderborn.
+
+Sehr empfehlenswert. Gut gemacht,  mischt historisches mit archaeologischem
+und versammelt einige nette Prunkstuecke, z.B. Ormside Bowl, Runenkaestchen,
+Kaestchen von Essen-Werden, diverse wichtige Handschriften, Fuerstengrab von
+Beckum etc. Um das Zeug zu sehen muss man sonst weit fahren.
+
+2) Ueber allen Fronten in Oldenburg
+
+Kleinere Ausstellung aber sehr gut gemacht (nein, ich wars nicht).
+Beschaeftigt sich mit den Fernkontakten des Nordwestens mit dem Sueden von den
+Roemern bis zu Karl dem Grossen (sogenannt). Versammelt ebenfalls interessante
+Stueck, wie die silberne Parademaske aus Kalkriese (dem Ort der
+Varusschlacht), diversen Graeberfeldern, den Weser Runenknochen mit dem Schiff
+etc.
+
+
+Wer naehere Infos braucht gehe ins Netz oder maile mir...
+
+Unglaeubigst
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ausstellungen (Daria,  6. Okt 1999, 14:47:07):
+~#! rn=Lug rt=939168981 rg=kultur
+~#! tid=939168981
+Du hast die wichtigsten Ausstellungsstuecke vergessen: Das Lorscher Evangeliar
+und der Proserpina Sarkopharg.
+
+Daria hat Fuehrungen durch die Ausstellung gemacht.
+(Mein Lieblingsstueck is die Gregortafel Lug)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ausstellungen (Cirdan,  6. Okt 1999, 21:29:22):
+~#! rn=Lug rt=939168981 rg=kultur
+~#! tid=939168981
+Tagix,
+
+was heisst hier Karl der Grosse (sogenannt)?
+Der war wirklich gross, ueber 1,80. Das war in der damaligen Zeit ne ganz
+schoene Schnitte (auch wenn er fuer mich ein dummes Arschloch war).
+Und Kalkriese steht zwar unter dem dringenden Verdacht, Ort der Varusklopperei
+zu sein, aber 100pro ist bisher noch *kein* Ort als Gebiet der Varusschlacht
+ausgemacht worden. Punkt.
+
+Cirdan, steht sowieso mehr auf Venus von Willendorf
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ausstellungen (Ronda,  8. Okt 1999, 14:28:11):
+~#! rn=Daria rt=939221227 rg=kultur
+~#! tid=939168981
+*grins*
+Dann koennen wir uns ja notfalls als Touristen-Fuehrer bewaehren, Daria...
+Wen's also nach Paderborn treibt - auch da gibts Mudder ;)
+
+Ronda *hat grad zwei Touries fuer die Ausstellung da...*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ausstellungen (Lug, 13. Okt 1999, 01:57:39):
+~#! rn=Daria rt=939221227 rg=kultur
+~#! tid=939168981
+
+Bah Humbug!
+
+Das kann man anders sehen
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ausstellungen (Lug, 13. Okt 1999, 01:58:35):
+~#! rn=Cirdan rt=939245362 rg=kultur
+~#! tid=939168981
+
+FALSCH
+
+Es ist Kalkriese. Da gibt es inzwischen NULL Zweifel.
+
+Mommsen hatte eben Recht.
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Barbar, Germane, Arier (Lug, 15. Okt 1999, 01:06:35):
+
+ist der Titel der gleichnamigen Aufsatzsammlung die der Germanist Klaus von
+See verfasst hat. Der Untertitel "Die Suche nach der Identitaet der Deutschen"
+weist dann die weitere Richtung. Jeder der sich mal mit Nationalkitsch oder
+Pseudoesoterikgermanenspinnern rumaergern musste, wird sich wohl angenehm bei
+der Lektuere unterhalten, denn von See ist der Aufraeumer...
+
+Um Medelssohn-Bartholdy zu zitieren:
+Zehntausend Teufel sollen doch alles Volksthum holen...
+
+In diesem Sinne
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Paderborn (Magnus, 15. Okt 1999, 18:01:52):
+Die Austellung ist ja gut bestueckt, aber voellig amateurhaft organisiert. Man
+denken nur an den Austellungsort des Evangeliars. Keine Hinweisschilder in der
+Stadt, sich widersprechende Landkarten, allein auf Effekthascherei
+ausgerichtete Praesentation.
+
+Alle in allem: Ein grosser Schlag .... knapp daneben
+
+Magnus.
+
+-----------------------------------------------------------------------------
+
+
+
+Phule wieder da? (Zarniya, 25. Okt 1999, 12:04:09):
+
+Hi, 
+
+ich hab gehoert, dass es endlich einen dritten Teil von Phules Companie geben
+soll... aber die Amazon-Kritiken sind grottenschlecht.... hat schon einer von
+euch das Buch?
+
+Nebenbei... Robert ist sicher ein alter Hase im Autorengeschaeft, aber ich
+denke, das ist was sehr alt:
+
+itel: Phules Company 3
+                       Autor: Asprin, Robert; 
+                       Erscheinungsjahr: 1900
+                       ISBN: 0-09-920171-2
+
+                       Preis: DM 27.32, OES 192.23, SFR 22.51,
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Chorkonzert (Alcina, 25. Okt 1999, 12:58:43):
+Hallo Freunde und Freundinnen des gepflegten Chorgesangs,
+
+am Samstag, dem 13.11.99 gibt der TASK (Thueringischer Akademischer Singkreis)
+in Dresden in der Frauenkirche ein Konzert. Das genaue Programm kenne ich
+leider noch nicht, aber vermutlich werden Werke von J.S. Bach, Ligeti, Nystet,
+G. Gabrieli, J. Rheinberger und Paleastrina gesungen. Ausserdem wird noch
+Johannes Unger (Leipzig) an der Orgel zu hoeren sein (das ist der Mensch, der
+national und international die Orgelpreise abraeumt). Alles in allem ein zu
+empfehlender Kulturtip. Und ich sing da auch im Chor - ich hoffe, das schreckt
+Euch jetzt nicht ab! :)
+
+Notiert Euch schonmal den 13.11.99 in Eurem Kalender!
+
+Gruss Alcina
+
+
+-----------------------------------------------------------------------------
+
+
+
+In Extremo (Kartoffel, 26. Okt 1999, 22:40:38):
+Hoi,
+
+In Extremo Fans schon mal den Videorekorder programmieren:
+Montag 1.11. 20.00 Uhr auf Viva2 (2Rock)
+Das letzte Einhorn im Interview und das neue Video gibts zu sehen.
+
+'Toffel singt: Eiris sazun idisi...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: In Extremo (Lug, 27. Okt 1999, 01:16:29):
+~#! rn=Kartoffel rt=940970438 rg=kultur
+~#! tid=940970438
+ Sabei faellt mir ein, Subway to Sally nehmen derzeit eine Livescheiblette
+auf. Wer zum Konzert geht, kann sich in eine Namensliste eintragen. Noe, ich
+habs nicht getan in Leer...
+
+Sazun hera duoder
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Chorkonzert (Ender, 27. Okt 1999, 15:41:28):
+~#! rn=Alcina rt=940849123 rg=kultur
+~#! tid=940849123
+Wie wird der Studentenpreis sein?
+Ich weiss, dass Frauenkirche, immer noch nen Aufschlag hat, so dass ein
+Student sich dass normalerweise nicht leisten kann.
+Was heisst nicht leisten kann, aber es schon immer etwas teuer dort.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Chorkonzert (Alcina, 27. Okt 1999, 19:06:45):
+~#! rn=Ender rt=941031688 rg=kultur
+~#! tid=940849123
+
+das kann ich nicht genau sagen, da die Vereinbarungen immer anders sind. Es
+kann sein, dass der Eintritt frei ist und eine Kollekte gesammelt wird, es
+kann aber auch sein, dass es KOnzertkarten gibt. Ich erkundeige mich nochmal.
+
+Gruss Alcina
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: In Extremo (Sublime, 31. Okt 1999, 00:23:15):
+~#! rn=Lug rt=940979789 rg=kultur
+~#! tid=940970438
+Vielleicht auch noch wichtig, dass Subway to Sally jetzt bei
+einem anderen Label unter Vertrag sind. Ich weiss aber leider
+grade nicht, wie das Teil heisst ;))) Ich blaetter morgen mal
+in der Visions rum, fuer alle die ihre Platten gerne bei den
+Firmen direkt ordern ;)
+
+Subl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Chorkonzert (Lug,  3. Nov 1999, 01:35:24):
+~#! rn=Alcina rt=941044005 rg=kultur
+~#! tid=940849123
+
+Kollekte? Der Eintritt liegt bei 1-3 Unterlegscheiben...
+
+
+Klerikal
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+literatur (Alboin, 23. Nov 1999, 11:00:48):
+Weils hier ziemlich oede aussieht, moechte ich Euch mal wieder etwas
+empfehlen. Die Anglistiker werden ihn sicher kennen als Vertreter der
+englischen Romantik. Die Rede ist von Samuel Taylor Coleridge. 
+Neulich hatte ich das Glueck in einem Antiquariat eine alte Ausgabe
+(eng./deutch) seine des Gedichtes  'The Rime of ancient mariner' zu erstehen.
+Es ist etwas zu lang um hier zu veroeffentlichen. Es geht um einen Seemann der
+aus Langeweile den einzigen Begleiter des Schiffes, einen Albatros schiesst.
+Die Reise, die zuvor unter gutem Vorzeichen stand, wird nun zum Alptraum. Der
+Dichter beschreibt das mit so plastischen Worten, das man die Handlung
+gespenstisch vor seinen Augen erlebt. Man kann kaum Glauben, das Coleridge vor
+dem Erscheinen des Gedichtes nie einen Schiffsreise unternommen hat. 
+Auch die anderen Gedichte von ihm sollen sehr schoen sein. Wie die Helden in
+seinen Werken, so hatte Coleridge ebenfalls ein tragisches Leben: 2
+Gescheiterte Beziehungen, Krankheit und Opiumsucht, die ihm nach anfaenglichem
+Zuwachs den Verlust seiner Phantasie brachte. 
+
+Alboin, der alle Leseratten gruesst
+
+-----------------------------------------------------------------------------
+
+
+
+Re: literatur (Yendi, 23. Nov 1999, 11:53:19):
+~#! rn=Alboin rt=943351248 rg=kultur
+~#! tid=943351248
+Wer jetzt nicht durch die Antiquariate tingeln will, um den "Ancient Mariner"
+preiswert aufzutreiber, der kann ja mal in Douglas Adams "Dirk Gently's
+Holistic Detective Agency" reinschauen, das ist naemlich eine kleine Hommage
+an dieses Werk und zitiert Auszuege.
+
+Yendi murmelt
+"In Xanadu did Khublai Khan
+ A stately pleasure dome decree,
+ Where Ankh, the sacred river ran
+ Through caverns, measureless to man,
+ Down to a sunless sea."
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: literatur (Wurzel, 23. Nov 1999, 22:10:09):
+~#! rn=Alboin rt=943351248 rg=kultur
+~#! tid=943351248
+gescheiterte beziehungen, krankheit und sucht ergeben fuer dich schon ein
+"tragisches leben"? dann frag mal rum, wieviele tragische gestalten das mud
+bevoelkern :) schaetze mal ueber die haelfte...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: literatur (Kadabra, 23. Nov 1999, 22:41:31):
+~#! rn=Alboin rt=943351248 rg=kultur
+~#! tid=943351248
+Weh mir Frevler, dass ich schoss
+den Unglcksvogel Albatros ...
+
+Donald Duck in der Uebersetzung von Frau Dr. Fuchs
+
+kadabra (grinsend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: literatur (Kadabra, 23. Nov 1999, 22:48:53):
+~#! rn=Yendi rt=943354399 rg=kultur
+~#! tid=943351248
+richtig, aber das ist nicht der ancient mariner, sondern eben Kubla Khan ;)
+kadabra (klugscheissend ;)))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: literatur (Lug, 24. Nov 1999, 01:07:31):
+~#! rn=Alboin rt=943351248 rg=kultur
+~#! tid=943351248
+
+Zu erwaehnen waere auch noch die ca. 20 min Vertonung von Iron Maiden auf der
+Powerslave LP. Fasst den Text n ett zusammen, wie Coleridges Randnotizen...
+
+
+Laermend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+ausstellung (Alboin, 24. Nov 1999, 18:00:46):
+Obwohl Chemnitz nicht gerade kulturell viel zu bieten hat, gibt es hin und
+wieder kuenstlerische Leckerbissen. Bis zum 20.02. 2000  laeuft hier noch die
+Edvard Munch Ausstellung in den Staedtischen Kunstsammlungen von Chemnitz
+(Adr. Theaterplatz 1, vom Bahnhof leicht zu finden). Der Eintritt kostet, so
+viel ich weiss, schlappe 4DM. Leider kam ich selbst noch gar nicht zum Besuch,
+aber es wurde mir gesagt, dass auch Werke dabei sind, die sonst nirgends oder
+nur sehr selten der Oeffentlichkeit zugaenglich gemacht werden. Wer daran
+interessiert ist und evtl. einen Schlafplatz sucht kann sich bei mir melden.
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+The Unam Choir (Anatol, 24. Nov 1999, 22:54:18):
+
+                    The University of Namibia
+                            presents
+                         The Unam Choir
+
+Wer wissen moechte, welche Sprachen in Namibia gesprochen werden oder
+sich dafuer interessiert, ob und wie ein namibianer Universitaetschor
+so klingen koennte, wenn er einen kleinen musikalischen Ausflug durch 
+die Folklore Namibias und Afrikas macht - oder ganz einfach wiedermal
+NICHT ins Kino moechte, kann dies tun, wenn auch nur in:
+
+             KOELN                     Freitag, 26.11.
+             BRAUNSCHWEIG              Sonntag, 28.11.
+             BREMEN                    Mittwoch, 1.12.
+
+Musikalisch bietet der Chor ein recht grosses musikalisches Spektrum:
+Vom Zulu-Regengesang bis zum Englisch/Deutschen Choral (auch DAS wird
+in Namibia gesprochen - kolonialisiert und so...) ist alles dabei. Da
+selbst das sonst recht traege Osnabruecker Auditorium ziemlich Regung
+zeigte, MUESSEN sie gut sein.
+
+Der,  dem die musikalischen Genuesse dann doch nicht  gefallen haben, 
+weiss dann zumindest, dass auch die  Toechter Namibias verdammt suess
+aussehen koennen. >:^)
+
+Hingehen lohnt sich,
+Amatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: The Unam Choir (Ronda, 25. Nov 1999, 08:32:46):
+~#! rn=Anatol rt=943480458 rg=kultur
+~#! tid=943480458
+... ja, ja, Anatol, und bei den suessen Namibischen Toechtern haste gleich an
+Amor gedacht und mit "Amotol" unterschrieben, gell?
+
+-> schmarrn!
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Mathematik zum anfassen (Salandrion, 25. Nov 1999, 19:40:32):
+Fuer alle die Zeit finden bis Sonntag Abend zur Uni-Gh Paderborn zu kommen,
+findet im Audimax die Ausstellung von Prof. Beutelsbacher von der Uni Giessen
+in Paderborn statt.
+
+Die Ausstellung soll jedermensch mathematische Inhalte ohne abschreckende
+Formalismen verstaendlich machen. Die Ausstellung soll uebrigens spaeter
+einmal ein MAthematikmuseum in Giessen werden.
+
+Wer mehr zur Ausstellung wissen moechte, findet Infos dazu unter
+http://www.die-fachschaft.de. Bzw. Infos zum Museum findet Ihr unter
+www.math.de .
+
+Gruesse Salandrion Funkenreiter
+
+-----------------------------------------------------------------------------
+
+
+
+klassik (Wurzel, 25. Nov 1999, 20:59:39):
+nicht jeder mag klassische musik. aber der trick ist wie mit fadem essen:
+manchmal wird es erst durch gewuerze geniessbar. habe heute zufaellig eine
+variante entdeckt, die mir auch gefaellt. das san francisco symphony
+orchestra spielt klassiker von metallica, zusammen mit der band :)
+recht neue live-scheibe, die gut abgeht. 2 cds, die man sich gut anhoeren
+kann. tip: reinhorchen :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: klassik (Boing, 26. Nov 1999, 08:34:31):
+~#! rn=Wurzel rt=943559979 rg=kultur
+~#! tid=943559979
+In diesem Zusammenhang gibt es auch das Konzert fuer Symphonieorchester
+unt Rockgruppe, irgendwann in den 70er jahren mit Deep Purple und dem
+Londoner Symphonieorchester (dieses koenigliche teil, weiss den genauen
+namen nicht mehr) in der Albert Hall eingespielt. Ist auch sehr nett. :)
+Das 'unt' oben ist natuerlich ein 'und', scheiss Untersuche-Wahn ...
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ausstellung (Alboin, 26. Nov 1999, 10:35:51):
+~#! rn=Alboin rt=943462846 rg=kultur
+~#! tid=943462846
+noch was wichtiges zur Ausstellung:
+sie ist ausser montags von 11-21 Uhr geoeffnet.
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: klassik (Lug, 28. Nov 1999, 02:44:56):
+~#! rn=Boing rt=943601671 rg=kultur
+~#! tid=943559979
+
+Vergiss Deep Purple. Nimm einfach eine der drei letzten Therion Scheiben.#
+
+
+Knapp
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Nordische Mythologie (Lug,  3. Dez 1999, 01:12:11):
+
+Nachdem ich durch Berge von Nazischeisse gewatet bin, fand sich sogar was
+sinnvolles, jedenfalls sieht es manierlich und serioes aus, auf den ersten
+Blick:
+
+http://www.pitt.edu/~dash/mythlinks.html
+
+Das geht nicht unter www. sondern hier hin, weils KUltur ist, Grimmi...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nordische Mythologie (Sublime,  3. Dez 1999, 18:51:09):
+~#! rn=Lug rt=944179931 rg=kultur
+~#! tid=944179931
+Hmm, das heisst wohl, das die meisten Infos ueber
+Nordische Mythologie nur Nazischeisse sind ? Waer
+irgendwie erschreckend, aber vielleicht gibt ja
+norwegen.de oder norway.com was her (ist ja ne
+Moeglichkeit) ;=)
+
+Kampf dem Faschismus
+Subl
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nordische Mythologie (Grimmborn,  3. Dez 1999, 18:56:48):
+~#! rn=Sublime rt=944243469 rg=kultur
+~#! tid=944179931
+Mir ist nicht ganz klar, wieso sich die Mythologie mehr auf Norwegen
+konzentrieren soll als beispielsweise auf Schweden, Daenemark oder (Kandidat
+#1, eigentlich) Island. Von Grossbritannien und diversen Inseln dazwischen
+ganz zu schweigen.
+
+Kampf den Radfahrern
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nordische Mythologie (Lug,  9. Dez 1999, 00:36:58):
+~#! rn=Sublime rt=944243469 rg=kultur
+~#! tid=944179931
+ Haengt von der Site ab.
+
+Dampf dem Dumpfismus
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: literatur (Rantanplan, 10. Dez 1999, 05:01:11):
+~#! rn=Yendi rt=943354399 rg=kultur
+~#! tid=943351248
+Falsch Yendi, 
+Es heist:
+In Xanadu did Kublai Khan
+pleasuer dome eeeeeeerrrrrrrrrrrrrrrrrrect
+moving at one million miles an hour usw...
+
+FGTH
+
+-----------------------------------------------------------------------------
+
+
+
+OT: industrial dance (Bendeigid, 23. Dez 1999, 08:34:33):
+~#! on=Cymonk ot=945905068 og=allgemeines
+hiho,
+
+just off-topic:
+
+es gibt einen neuen song von cymotec cyclone zum downloaden!
+
+wer also auf industrial dance steht, sollte 'mal reinhoeren,
+vielleicht gefaellt's!
+
+der neue track 'flucht' ist vom style her 'trance meets ebm'.
+
+wer also zum beispiel auf bands wie 'funker vogt' steht,
+der wird nicht enttaeuscht...
+
+gruss,
+      cy
+
+http://mp3.com/cymoteccyclone
+
+p.s. die wiederholung von 'wer also' ist bitte als rethorisches mittel
+     zu klassifizieren! :))
+
+-----------------------------------------------------------------------------
+
+
+
+Wieso sitzten eigentlich auf so vielen Weihnachtsbaeumen kleine Rauschegoldengel? (Nevok, 23. Dez 1999, 16:23:09):
+
+Es begab sich im Jahre des Herrn 1831, am 23. Tag des Monats Dezember. Der
+Weihnachtsmann hatte einen fuerchterlich schlechten Tag. Die Geschenke waren
+noch nicht fertig, die Elfen und Kobolde, die  eigentlich helfen sollten,
+hatten von einer neumodischen Einrichtung gehoert und probierten sie gerade
+aus. Die Englaender hatten sie erfunden, "strike" hie sie und nach zuschlagen
+war ihm auch gerade zumute. Von den neun Rentieren waren zwei krank, drei
+schwanger und der Rest unauffindbar. Als er sich eine Tasse Tee zur
+Entspannung genehmigen wollte, liess der Weihnachtsmann die Tasse fallen und
+hatte jetzt einen erklaerungsbeduerftigen Fleck auf seinen Beinkleidern, der
+noch dazu mittlerweile scheulich kalt war. Und genau in diesem Augenblick kam
+ein kleiner Engel zu ihm, einer, der in diesem Jahr zum ersten Mal dabei war
+und die Sache mit dem Streik irgendwie verpasst hatte. Hinter sich her zog
+dieser Engel einen voellig verkrueppelten und windschiefen Weihnachtsbaum und
+fragte mit quengeliger Stimme : "Du, Weihnachtsmann, sag mal, was soll ich
+denn jetzt mit diesem Baum machen??" ....;
+
+In diesem Sinne
+
+Bah Humbug!
+
+Nevok
+
+-----------------------------------------------------------------------------
+
+
+
+Liederabend mit Christoph Pregardien (Tenor) (Alcina,  9. Jan 2000, 23:07:51):
+
+Hi Leuts,
+
+morgen (Montag, 10.01.00) singt um 19.30 Uhr Christoph Pregardien, der dieses
+Wocenende einen Meisterkurs fuer Gesang in Halle a.d. Saale gegeben hat, einen
+Liederabend im Freylinghausensaal der Franckeschen Stiftungen in Halle - ein
+Konzertbesuch, der sich auf jeden Fall lohnt!
+
+Alcina - Pregardien-Fan
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Liederabend mit Christoph Pregardien (Tenor) (Alcina,  9. Jan 2000, 23:13:17):
+~#! rn=Alcina rt=947455671 rg=kultur
+~#! tid=947455671
+
+kleiner Nachtrag: 
+
+weitere Informationen (Konzerte u.v.a.m.) gibts unter der Adresse:
+
+http://www.pregardien.de
+
+Gruss Alcina - mag nicht mehr aussschliesslich tiefe Baesse :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Liederabend mit Christoph Pregardien (Tenor) (Perishan, 11. Jan 2000, 14:58:27):
+~#! rn=Alcina rt=947455997 rg=kultur
+~#! tid=947455671
+Nicht mehr nur Baesse?
+
+Mist.
+
+Perishan - tiefer Bass.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Liederabend mit Christoph Pregardien (Tenor) (Lug, 12. Jan 2000, 03:17:19):
+~#! rn=Alcina rt=947455997 rg=kultur
+~#! tid=947455671
+
+Hm?
+
+Kauf Dir die letzte Emperor CD, das hilft gegen sowas.
+
+LAERMEND
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Liederabend mit Christoph Pregardien (Tenor) (Alcina, 12. Jan 2000, 11:19:25):
+~#! rn=Lug rt=947643439 rg=kultur
+~#! tid=947455671
+
+Du Kulturbanane, Lug!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Liederabend mit Christoph Pregardien (Tenor) (Lug, 12. Jan 2000, 23:22:28):
+~#! rn=Alcina rt=947672365 rg=kultur
+~#! tid=947455671
+
+Hm?
+
+Teutsche kauft teutsche Bananen!
+
+Tsstsend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 13. Jan 2000, 01:04:25):
+~#! rn=Lug rt=947715748 rg=kultur
+~#! tid=947455671
+Jepp, aber erst wollen wir unsere Kolonieen wiederhaben. Und die
+Wiedervereinigung in den Grenzen von 1245.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Liederabend mit Christoph Pregardien (Tenor) (Lug, 13. Jan 2000, 02:11:23):
+~#! rn=Grimmborn rt=947721865 rg=kultur
+~#! tid=947455671
+Hm?
+
+Unfug, es lebe der Seperatismus!
+
+Viva la Revolucion
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Liederabend mit Christoph Pregardien (Tenor) (Bubba, 13. Jan 2000, 17:45:25):
+~#! rn=Lug rt=947725883 rg=kultur
+~#! tid=947455671
+Es heisst Separatismus!
+Es heisst "Viva la Junta"!
+Es heisst Klugscheisser!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Liederabend mit Christoph Pregardien (Tenor) (Lug, 16. Jan 2000, 03:28:06):
+~#! rn=Bubba rt=947781925 rg=kultur
+~#! tid=947455671
+
+Hihi,
+
+es kommt die gebuehrende Antwort:
+
+MIR DOCH EGAL!
+
+AidKG!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Liederabend mit Christoph Pregardien (Tenor) (Yendi, 17. Jan 2000, 17:09:14):
+~#! rn=Grimmborn rt=947721865 rg=kultur
+~#! tid=947455671
+"Fuer ein Doitschland in den Grenzen von 1248 -- Jerusalem bleibt unser!",
+ja?
+
+*grins*
+
+Yendi
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 17. Jan 2000, 19:14:47):
+~#! rn=Yendi rt=948125354 rg=kultur
+~#! tid=947455671
+Sizilien. Was will ich mit Jerusalem? Viel zuviel Aerger.
+
+GdA
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Liederabend mit Christoph Pregardien (Tenor) (Anatol, 17. Jan 2000, 19:18:09):
+~#! rn=Grimmborn rt=948132887 rg=kultur
+~#! tid=947455671
+Und mit der Mafia willst Du gluecklich werden? :) Pate Grimmborn... ;)
+
+Anatol - Wuuuuuuuuah ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 17. Jan 2000, 19:20:57):
+~#! rn=Anatol rt=948133089 rg=kultur
+~#! tid=947455671
+Hee, die Mafia krieg ich unter Kontrolle, mit der kann man reden, aber bei den
+fanatischen Arabern und Israeli? Da ist doch alles zu spaet...
+
+Grimmborn "will jemand noch den Kosovo?" der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Liederabend mit Christoph Pregardien (Tenor) (Anatol, 17. Jan 2000, 19:22:27):
+~#! rn=Grimmborn rt=948133257 rg=kultur
+~#! tid=947455671
+Aber Versprecher und Versprechen kosten Dich unter Umstaenden 
+so Dinge wie "kleiner Finger" oder so. Und wer tippt Dir dann q, a, y, 1 
+und die linken Sondertasten, wenn Dir der fehlt? :)
+
+Anatol ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 17. Jan 2000, 19:24:37):
+~#! rn=Anatol rt=948133347 rg=kultur
+~#! tid=947455671
+Das kann ich immer noch mit dem rechten kleinen Finger machen.
+Diese Moeglichkeit habe ich nicht, wenn ich mit einem Bus in die Luft geflogen
+bin.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Liederabend mit Christoph Pregardien (Tenor) (Anatol, 17. Jan 2000, 19:26:15):
+~#! rn=Grimmborn rt=948133477 rg=kultur
+~#! tid=947455671
+Unbestaetigten Geruechten zufolge sind zum Harfespielen dann wieder
+alle zehn Fingerchen da. Aber wie gesagt, unbestaetigt. Und ausserdem,
+Du als Grimmborn der Atheist... vergessen wir das ;)
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 17. Jan 2000, 19:30:15):
+~#! rn=Anatol rt=948133575 rg=kultur
+~#! tid=947455671
+Ich kann nicht Harfe spielen. Und wenn mir beim Geigenspiel der linke kleine
+Finger fehlt, hab ich vielleicht endlich mal genug Druck, die zweite Lage
+sicher zu lernen.
+
+Grimmborn "Paganini war ein Stuemper" der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Liederabend mit Christoph Pregardien (Tenor) (Ronda, 17. Jan 2000, 19:31:37):
+~#! rn=Grimmborn rt=948133815 rg=kultur
+~#! tid=947455671
+Du meinst also, Paganini waere viel besser geworden, wenn er sich mit der
+mafia angelegt haette?
+Coole These, findet
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Liederabend mit Christoph Pregardien (Tenor) (Anatol, 17. Jan 2000, 19:32:45):
+~#! rn=Grimmborn rt=948133815 rg=kultur
+~#! tid=947455671
+Du haettest Dir halt eine Bratsche kaufen sollen, da waere das nie
+aufgefallen...
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 17. Jan 2000, 19:34:27):
+~#! rn=Anatol rt=948133965 rg=kultur
+~#! tid=947455671
+Da wuerde auch das Fehlen eines Fingers nicht weiter ins Gewicht fallen. 
+
+KV550 faengt uebrigens mit einem halbtaktigen Bratschensolo an. Das live zu
+hoeren ist ziemlich lustig...
+
+Grimmborn der Atheist tut Butter aufs Brot, nicht auf die Geige
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: Liederabend mit Christoph Pregardien (Tenor) (Ender, 18. Jan 2000, 06:53:25):
+~#! rn=Grimmborn rt=948133815 rg=kultur
+~#! tid=947455671
+Die Zweite Lage kannst du nicht sicher?
+Stumeper
+
+Ender
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: Liederabend mit Christoph Pregardien (Tenor) (Guildo, 18. Jan 2000, 09:30:19):
+~#! rn=Grimmborn rt=948134067 rg=kultur
+~#! tid=947455671
+Ach was, der Anfang von KV550 ist so piano, dass da eh keiner die Sechzehntel
+in der Begleitung hoert. Andererseits, vielleicht ist das auch Vertauschung
+von Ursache und Wirkung, und man hat sich nur schon daran gewoehnt, sie nicht
+zu hoeren, weil sie eben in der Bratsche liegen, und Bratscher ja bekanntlich
+keine Sechzehntel spielen koennen!?
+Viel lustiger ist doch noch das Bratschensolo i n der Durchfuehrung vom 4.
+Satz der C-Dur-Sinfonie von Bizet; da hab ich schon Bratscher komplett
+aussteigen sehen. :)
+
+Gruss,
+GdB (Guildo der Bratscher)
+
+P.S. Erfreulich, dass wir in diesem Thread (nach Jerusalem und Mafia)
+wenigstens wieder halbwegs on topic sind.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 18. Jan 2000, 10:42:36):
+~#! rn=Ender rt=948174805 rg=kultur
+~#! tid=947455671
+Ich kenne keinen Geiger, der die zweite Geige wirklich mag. Und fast keinen,
+der sie nicht vermeidet wenn es geht und nichts ins Schleudern geraet, wenn er
+sie mal eben schnell vom Blatt spielen muss.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: Liederabend mit Christoph Pregardien (Tenor) (Grimmborn, 18. Jan 2000, 10:44:26):
+~#! rn=Guildo rt=948184219 rg=kultur
+~#! tid=947455671
+Jepp, ich hab das Bratschensolo in der "Henkel trocken" Sinfonie auch erst
+bemerkt, als ich es in der Partitur gefunden hatte...
+
+Und um Bratscher aussteigen zu sehen brauchts keinen Bizet. 
+Themenwechsel: Wenn Du drei Hoerner vierstimmig spielen hoeren willst (an
+einer unisono Stelle), empfehle ich die Koelner Oper, wenn Wagner gegeben
+wird.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: Liederabend mit Christoph Pregardien (Tenor) (Yendi, 18. Jan 2000, 14:57:09):
+~#! rn=Grimmborn rt=948188666 rg=kultur
+~#! tid=947455671
+Das Phaenomen kannst Du in jeder Grundschulmusikstunde am Beispiel von
+Blockfloeten verfolgen, und zwar fuer lau und umme, da brauchst Du nicht in
+die Koelner Oper zu gehen.
+Ausserdem klingen Waldhoerner meist derart schwammig, dass man sowieso nicht
+sagen kann, auf welchen Ton die jetzt gezielt haben.
+
+Yendi
+      duckt sich hinter seine Trompete
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: Liederabend mit Christoph Pregardien (Tenor) (Lug, 19. Jan 2000, 00:16:41):
+~#! rn=Guildo rt=948184219 rg=kultur
+~#! tid=947455671
+
+On Topic? Ist das ein Pizzabelag? Da faellt mir wieder die Mafia ein...
+
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: Liederabend mit Christoph Pregardien (Tenor) (Ender, 19. Jan 2000, 08:37:53):
+~#! rn=Grimmborn rt=948188556 rg=kultur
+~#! tid=947455671
+Ja, hmm, 2. Geige ist doch sowieso Blattspiel.
+Aber du meintest scher die 2. Lage.
+aber klar, ich hatte einen ;) vergessen in dem Artikel.
+Das die 2. Lage so unbeliebt ist, liegt wohl daran, dass an
+Hochschulabgaengern, die besten Solisten werden(haben kein Problem mit der 2.
+Lage) die naechsten Orchesterspieler, die anderen alle Kaffehausmusiker oder
+Lehrer. D.h. als Schueler bekommt man zu 90 prozent jemanden als Lehrer, der
+mit der 2. Lage nicht so vertraut war, wie seine besseren Komilitonen. Das
+vererbt sich auf die naechste Schuelergeneration.
+Uebrigens, habe ich beobachtet, dass diejenigen, die fuer Geige zu
+mittelmaessig waren, sich oft mit der Bratsche anfreunden und dann Bratsche
+studieren um zu studieren. Das ist kein Zufall.
+Ender
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: Liederabend mit Christoph Pregardien (Tenor) (Anatol, 19. Jan 2000, 10:00:19):
+~#! rn=Ender rt=948267473 rg=kultur
+~#! tid=947455671
+
+Gaebe es eine personifizierte Interpunktion, wuerde sie Dich
+wegen Vergewaltigung erfolgreich der Strafverfolgung aussetzen.
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: Liederabend mit Christoph Pregardien (Tenor) (Ender, 19. Jan 2000, 14:46:36):
+~#! rn=Anatol rt=948272419 rg=kultur
+~#! tid=947455671
+Oh, hmm, das versteh ich jetzt nicht, kannst du mir das erklaeren Komma?
+
+Ender
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: Liederabend mit Christoph Pregardien (Tenor) (Yendi, 19. Jan 2000, 16:06:10):
+~#! rn=Anatol rt=948272419 rg=kultur
+~#! tid=947455671
+JA!
+Das war wieder der Original-Anatol!
+
+*grins*
+
+Yendi
+
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal nen Spruch (Amaryllis, 26. Jan 2000, 01:45:05):
+Nimm mich einfach als einen von diesen Affen, die zur Drehleier tanzen.
+Wirf mir eine Muenze rueber.
+Meine einzige Richtung ist der Himmel, und die Erde ist mein Bett.
+Wir warten auf Dich, wie alle hier, solange, bis die Zeit uns erloest.
+
+Milla: "Ruby Lane"
+
+Amaryllis (aus aktuellem Anlass)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch mal nen Spruch (Bubba, 26. Jan 2000, 12:07:55):
+~#! rn=Amaryllis rt=948847505 rg=kultur
+~#! tid=948847505
+
+Versteh ich nicht.
+Erklaert mir den letzten Artikel jemand?
+
+Bubba - kulturinteressiert
+
+
+-----------------------------------------------------------------------------
+
+
+
+The letter (Amaryllis, 27. Jan 2000, 01:54:39):
+Ich habe gesucht.
+Lange gesucht. Das, was ich suche, ist an diesem Ort nicht zu finden. 
+Deswegen werde ich diesen Ort verlassen.
+Es wird zu viel fuer mich.
+Zu viel zu tragen, zu viel, um es weg zu stecken. 
+Weint mir nicht nach.
+Du auch nicht, Mutter. Wo mein Weg jetzt hinfuehrt, kann ich nicht sagen. Ich
+wollte nur sein und leben.
+
+Glaenzen vielleicht auch. Dieses Leben war Schmerz und Zwang. Jetzt bin ich
+frei. Wenn ich jetzt gehe, bin ich bereit dazu.
+
+Und ich kann mich an nichts erinnern, von all den Dingen, die ich ein Leben
+lang zu vergessen suchte. 
+
+PS: Bevor ich gehe, wuerde PS: Bevor ich gehe, wuerde ich Dich gerne noch
+einmal sehen. Ich werde das nicht tun, weil allein Dein Anblick es wert waere,
+zu bleiben. Aber ich seh' Dich spaeter. An einem anderen Ort. Einem besseren. 
+
+Macy Gray: Ausschnitt aus : " The Letter "
+
+Amaryllis . o O (wie recht diese Zeilen doch haben, insbesondere der Anfang)
+
+-----------------------------------------------------------------------------
+
+
+
+Der Magier, das arme Schwein... (Yendi, 28. Jan 2000, 12:34:30):
+
+
+Ein kleines Sonett fuer unsere Programmierknechte,
+frei nach dem "Zauberkuenstler" von Max-Hermann Neisse:
+
+
+Der Magier
+==========
+
+Er ist sehr traurig.  Alle Dinge laufen
+nach seinem Wunsch und Willen -- und dies ist
+doch nur ein sinnlos Spiel und eitel List
+und heisst, sein Kind- und Spieler-Sein verkaufen!
+
+Es kann ihn nie ein "Seltsam!" ueberraschen,
+denn alles haelt er stets in seiner Hand:
+Er hat die Hydra auf dem Freundschaftsband
+und holt sich Gold und Killstups aus den Taschen.
+
+Und bleibt sehr traurig: denn vor ihm steht ja
+das MUD als Code und  reizlos ungeschminkt,
+und ist fuer ihn nie mehr ein Raetsel da...
+
+Er weiss, wie alles luegenhaft sich baut,
+und nichts bleibt, wenn der Cursor nicht mehr blinkt,
+als ein Gehirn, dem vor dem  MorgenGraut.
+
+
+
+YTY
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Magier, das arme Schwein... (Ark, 28. Jan 2000, 14:42:50):
+~#! rn=Yendi rt=949059270 rg=kultur
+~#! tid=949059270
+
+Der Magier
+==========
+
+Er ist sehr fleissig, unermuedlich. Alles, was er schafft,
+ist schoen und gut. Was ihm fehlt ist die Spielerschaft,
+die sich lobend aeussert, auch kritisiert, doch gerecht ist,
+nicht meckert und pikiert ihn anmault und seine Muehe frisst.
+
+Was hat er nicht alles in seiner Hand: Monster, Kaefer, Knuddelband.
+Und ist doch willig zu zeugen vieles neu, auf dass der Spieler sagt:
+'Mainer Troy!'
+Es ist nicht einfach zu genuegen des Mobbes Lust, und oft ist es
+auch einfach sehr viel Frust.
+Doch eines ist es sicher nicht: ein Trauerjob mit wenig Licht.
+
+Der Code, der bleibt, so das Backup will. Das Lob, 's muss kommen,
+sonst haelt er inne, bleibt ganz still.
+Und wenn er einmal motzig ist, weil einer ihm auf die Schnauze haut,
+so helft ihm, auf dass er wiederkommt, sobald der MorgenGraut.
+
+Frei nach einem unbekannten "Kuenstler", der eh nicht dichten kann :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Chorkonzert in Goslar (Alcina,  4. Feb 2000, 15:19:24):
+
+Hi Leuts,
+
+
+morgen (Samstag, 5.2.00) gibt der Thueringische Akademische Singkreis (bloeder
+Name, aber guter Chor) in der Neuwerkkirche in Goslar um 20 Uhr ein
+Chorkonzert. Wer noch nichts vorhat und der klassischen Musik nicht ganz
+abgeneigt ist, wird den Konzertbesuch nicht bereuen.
+
+Am Sonntag (uebermorgen) ist der Kammerchor nocheinmal im Gottesdienst in der
+katholischen Jacobikirche um 10.30 Uhr zu hoeren.
+
+
+Alcina - packt schonmal die Bachmotetten ein.
+
+
+-----------------------------------------------------------------------------
+
+
+
+check this (Catweazle, 24. Feb 2000, 08:45:24):
+I have a spelling checker
+It came with my PC
+It plane lee marks four my revue
+Miss steaks aye can knot sea.
+Eye ran this poem threw it,
+Your sure reel glad two no.
+Its vary polished in it's weigh
+My checker tolled me sew.
+A checker is a bless sing,
+It freeze yew lodes of thyme.
+It helps me right awl stiles two reed,
+And aides me when aye rime.
+Each frays come posed up on my screen
+Eye trussed too bee a joule
+The checker pour o'er every word
+To cheque sum spelling rule.
+Be fore a veiling checkers
+Hour spelling mite decline,
+And if were lacks or have a laps,
+We wood be maid to wine.
+Butt now bee cause my spelling
+Is checked with such grate flare,
+Their are know faults with in my cite,
+Of non eye am a wear.
+Now spelling does knot phase me,
+It does knot bring a tier.
+My pay purrs awl due glad den
+With wrapped words fare as hear.
+To rite with care is quite a feet
+Of witch won should be proud.
+And wee mussed dew the best wee can,
+Sew flaws are knot aloud.
+Sow ewe can sea why aye dew prays
+Such soft ware four pea seas.
+And why I brake in two averse
+By righting want too pleas.
+---
+Unknown
+
+-----------------------------------------------------------------------------
+
+
+
+Hoerspiele (Catweazle,  1. Mar 2000, 14:21:06):
+Der kleine Hobbit:
+http://msnhomepages.talkcity.com/arcade/joe-hoerspiele/
+Herr der Ringe:
+http://home.talkcity.com/EaselSt/herrderringe/
+
+Und ne uebersicht ueber diverses:
+http://msnhomepages.talkcity.com/LyricLn/hoerspiele/download.html
+
+Have fun,
+
+  YTC
+
+-----------------------------------------------------------------------------
+
+
+
+A Grazing Mace (Yendi, 28. Mar 2000, 15:06:03):
+Sung to the tune of "Amazing Grace":
+
+A grazing mace, how sweet the sound
+that felled my foe for me!
+I bashed his head, he struck the ground,
+and thus came victory.
+
+My mace has taught my foes to fear,
+that mace my fear relieved.
+How precious did my mace appear, when
+I my mace received.
+
+Through many tourneys wars and fairs,
+I have already come,
+My mace has brought me safe thus far,
+my mace will bring me home.
+
+The King has promised good to me,
+his word my hope secures.
+I will his shield and weapon be,
+when he gives me my spurs.
+
+And when my mace my foeman nails,
+that mortal strife shall cease,
+And we'll possess within our pale,
+a life of joy and peace.
+
+A grazing mace, how sweet the sound
+that flattened a wretch like thee!
+Whose head is flat, that once was round,
+done in by my mace...and me!
+
+A grazing mace, how sweet the sound
+that smites a foe like thee.
+You're left there lying on the ground,
+you've left the field for me!
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Wacken Festival 2000 (Lug,  2. Apr 2000, 04:30:54):
+Moin,
+
+sind ja einige Mudder dabei und einige wollen vielleicht hin. Darum mal das
+aktuelle Programm:
+
+THIN LIZZY (UK/USA) 
+      feat.: John Sykes / Scott Gorham / Tommy Aldridge / Darren Wharton /
+Marco Mendoza
+
+    DORO (D/USA) - VENOM (UK) - einzige Show!
+
+    ICED EARTH (USA) - CRADLE OF FILTH (UK)
+
+         OVERKILL (USA) - TESTAMENT (USA)
+
+    ANNIHILATOR (CAN) - MORBID ANGEL (USA)
+
+  ZAKK WYLDE4S BLACK LABEL SOCIETY (USA)
+
+ 
+
+ANCIENT (N), ANGEL WITCH (UK), ARMORED SAINT (USA), ARTILLERY
+(DK), BLACK SWEDEN (S), BREAKER (USA), DARK AGE (D), DARK AT
+DAWN (D), DERANGED (S), ENGINE (USA), FREEDOM CALL (D), GAMMA
+RAY (D), GRIM REAPER (UK) - Reunion!, HADES (USA), HEIR APPARENT
+(USA) - einzige Show!, HYPOCRISY (S), IMMOLATION (USA), JACOB4S
+DREAM (USA), KNORKATOR (D), LABYRINTH (I), LATE NITE ROMEO (D),
+LIEGE LORD (USA) - Reunion!, LIZZY BORDEN (USA), LOCK UP (UK/S),
+MARDUK (S), NIGHTMARE (F), NIGHTWISH (FIN), OKTOBER 31 (USA), PAIN
+(S), PINK CREAM 69 (D), PRAYING MANTIS (UK), QUEEN CHANTAL /
+Sexhow (D), ROYAL HUNT (DK), SAMSON (UK), SAVAGE (UK),
+SENTENCED (FIN), SKEW SISKIN (D), SOLSTICE (UK), SQUEALER (D),
+STEEL ATTACK (S), TOM ANGELRIPPER (D), TWISTED TOWER DIRE
+(USA), UMBRA ET IMAGO (D), VADER (PL)
+
+
+Laerrrrmmm
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wacken Festival 2000 (Angus,  2. Apr 2000, 12:11:37):
+~#! rn=Lug rt=954642654 rg=kultur
+~#! tid=954642654
+Sieht so aus, als waer's mal wieder Pflicht...
+bei dem Billing!
+Hoffentlich klappts diesmal auch mit der
+Einhaltung des Ablaufplans ;-)
+
+See You in Wacken - Rain or Shine!
+- Angus denkt.oO( wo hab ich bloss die Regenkombi...)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wacken Festival 2000 (Bubba,  3. Apr 2000, 14:05:38):
+~#! rn=Angus rt=954670297 rg=kultur
+~#! tid=954642654
+
+---Nachtrag---
+
+Lug hat vergessen zu erwaehnen, dass dieses Jahr Wolle Petri als 'special
+guest' gewonnen werden konnte!
+
+Volle Droehnung
+Bubba
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wacken Festival 2000 (Lug,  4. Apr 2000, 01:48:42):
+~#! rn=Bubba rt=954763538 rg=kultur
+~#! tid=954642654
+
+Nee,
+
+ich hab vergessen zu erwaehnen, das die Verhandlungen mit SAVATAGE weit
+gediehen sind. Aus Bathory wird dieses Jahr leider nix, aber vielleicht
+naechstes Jahr.
+
+Updatend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wacken Festival 2000 (Rantanplan,  6. Apr 2000, 19:47:51):
+~#! rn=Lug rt=954642654 rg=kultur
+~#! tid=954642654
+Yo Lug, 
+Yo Lug, 
+Umbra et Imago haben eine sehenswerte Bhnenshow, die hngen gepiercte Mdels an
+den Brustwarzen auf
+das mag daran liegen, dass sie aus Karlsruhe sind...;)
+
+Oe*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wacken Festival 2000 (Anatol,  6. Apr 2000, 21:56:39):
+~#! rn=Rantanplan rt=955043271 rg=kultur
+~#! tid=954642654
+Oe> das mag daran liegen, dass sie aus Karlsruhe sind...;)
+
+Wer - Umbra et Imago oder die gepiercten Maedels? 
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wacken Festival 2000 (Nevok,  6. Apr 2000, 21:59:13):
+~#! rn=Anatol rt=955050999 rg=kultur
+~#! tid=954642654
+naja sagen wir's mal so........die Info ueber die Buehnenschau ist 'on need to
+know basis."
+
+Nevok who definitely DIDN'T need to know THAT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wacken Festival 2000 (Lug,  7. Apr 2000, 04:05:24):
+~#! rn=Rantanplan rt=955043271 rg=kultur
+~#! tid=954642654
+
+Umbra et Imago? Sind die dabei? Seh ich mir eh nicht an...
+
+Mir doch egal wer seine Geschlechtsteile wo hinhaengt...
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+WACKEN UPDATE (Lug, 15. Apr 2000, 03:14:26):
+
+WACKEN OPEN AIR (neueste Update):
+
+ACHTUNG: NEUES BAND UP-DATE !!!
+
+                                     
+
+                    THIN LIZZY (UK/USA) 
+      feat.: John Sykes / Scott Gorham / Tommy Aldridge / Darren Wharton /
+Marco Mendoza
+
+            DORO (D/USA) - VENOM (UK) - einzige Show!
+
+             ICED EARTH (USA) - STRATOVARIUS (FIN)
+
+       OVERKILL (USA) - TESTAMENT (USA) - RHAPSODY (I)
+
+            ANNIHILATOR (CAN) - MORBID ANGEL (USA)
+
+   GAMMA RAY (D) - NIGHTWISH (FIN) - SIX FEET UNDER (USA)
+
+           ZAKK WYLDE4S BLACK LABEL SOCIETY (USA)
+
+ 
+
+ 
+AGATHODAIMON (D), ANCIENT (N), ANGEL WITCH (UK), ARMORED SAINT (USA),
+ARTILLERY (DK), BLACK SWEDEN (S), BREAKER (USA), DARK AGE (D), DARK AT DAWN
+(D),
+DEMON (UK), DERANGED (S), DESPERADOS (D), ENGINE (USA), FREEDOM CALL (D),
+GASKIN (UK), GRIM REAPER (UK) - Reunion!, HADES (USA), HEIR APPARENT (USA) -
+einzige Show!, HYPOCRISY (S), IMMOLATION (USA), JACOB4S DREAM (USA), KNORKATOR
+(D), LABYRINTH (I), LATE NITE ROMEO (D), LIEGE LORD (USA) - Reunion!, LIZZY
+BORDEN
+(USA), LOCK UP (UK/S), MARDUK (S), MOB RULES (D),  NIGHTMARE (F),  OKTOBER 31
+(USA), PAIN (S), PINK CREAM 69 (D), PRAYING MANTIS (UK), QUEEN CHANTAL /
+Sexshow
+(D), RAISE HELL (S), ROYAL HUNT (DK), SAMSON (UK), SAVAGE (UK), SENTENCED
+(FIN),
+SKEW SISKIN (D), SOLSTICE (UK), SPIRITUAL BEGGARS (S), SQUEALER (D), STEEL
+ATTACK (S), TOM ANGELRIPPER (D), TWISTED TOWER DIRE (USA), UMBRA ET IMAGO (D),
+VADER (PL), VANISHING POINT (AUS)
+sowie der Gewinner des LOBO - Newcomer - Wettbewerb "FRDGG Band
+2000" vom DINO Verlag.
+
+
+See You in Wacken - Rain or ...
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Cisou,  7. Jul 2000, 20:33:49):
+
+Seit gestern ist in der Voelkerkundlichen Sammlung Marburg die Ausstellung:
+
+Nigeria in Form und Farbe - Alltag und Hardwerk
+
+zu besichtigen. Eine andere Ethnologin und ich haben sie mit ca. 20
+Studierenden konzipiert und realisiert und gestern abend mit viel Erfolg
+eroeffnet.
+Zu sehen sind Exponate, die in mehreren langjaehrigen Feldforschungen in ganz
+Nigeria von verschiedenen Ethnien erworben werden konnten.
+Eine Reise durch das Land der Hausa, Fulbe, Nupe und der Yoruba bietet einen
+Einblick in Handwerkstechniken und Erzeugnisse dieser Ethnien. Einige
+Kultgegenstaende der Maenner-Geheimbuende sind ebenfalls zu betrachten.
+
+Fuehrungen nach Vereinbarung unter der Tel-Nr. 06421-2823749 oder 2822199.
+Fuer weitere Auskuenfte stehe ich gerne zur Verfuegung und freue mich auf
+jeden einzelnen Besucher/Besucherin.
+
+Cisou
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Ronda,  7. Jul 2000, 21:24:11):
+~#! rn=Cisou rt=962994829 rg=kultur
+~#! tid=962994829
+Klasse - klingt spannend ;-)
+
+Nur vielleict solltest Du uns einen Tipp geben, nach wem wir am Telefon fragen
+sollen - oder weiss da jeder am anderen Ende, wer Cisou ist?
+
+Ronda
+
+Ps: Solln wir nicht einfach eine Spontanparty in Marburg machen und das
+Voelkerkundemuseum bevoelkern? ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Cisou,  8. Jul 2000, 11:31:02):
+~#! rn=Ronda rt=962997851 rg=kultur
+~#! tid=962994829
+Aehm, ja, Cisou kennt da tatsaechlich niemand, besser is das auch ;).
+
+Es reicht aber, nach der Zustaendigen fuer die Sammlung zu fragen, dann werd
+ich angepingt.
+Aber ich verrat einfach noch die Adresse: Kugelhaus/ Kugelgasse 10, 1. Stock,
+in den Raeumen des Fachgebietes Voelkerkunde.
+
+Auf BesucherInnen wartende Cisou
+
+PS Opsala, Ronda, Party in Maburg? Na wenn das nicht einen Sturm an Flames
+ausloest :-))).
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Atoz,  8. Jul 2000, 11:47:32):
+~#! rn=Cisou rt=963048662 rg=kultur
+~#! tid=962994829
+ach was, wir muessen die Staenkerer ja nicht einladen ;)
+Aber Party hoert sich gut an, da ich im Moment auch nur noch 3 statt 4
+Vollbeschaeftigungen habe ;)
+
+Gruss, Atoz 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Lug, 21. Jul 2000, 01:13:10):
+~#! rn=Atoz rt=963049652 rg=kultur
+~#! tid=962994829
+
+Nigeria interessiert mich wie tote Ameisen, aber zur Party kaem ich wohl...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Holz, 23. Jul 2000, 01:54:55):
+~#! rn=Lug rt=964134790 rg=kultur
+~#! tid=962994829
+Hallo lieber Lug,
+Es freut mich, dass Du dich fuer Ameisen interessierst, ich selbst habe
+das gleiche Hobby.
+Vielleicht koennten wir mal welche Tauschen ? Ich hab schon recht viele
+Praeparate, manche auch doppelt.
+
+mit formicidaphilen Gruessen,
+Holz
+
+-----------------------------------------------------------------------------
+
+
+
+Neulich auf #userfriendly (Catweazle,  3. Aug 2000, 15:21:22):
+<Srrilyan> Okay, that one was overconstructed. I'll do better next time.
+<Yohimbe> Sirilyan: you stretched, big time.
+<Yohimbe> Sirilyan: Leanne appalled's material in no way fits Ms Shocked's
+          fan base.
+<Sirilyan> Give her time. I'm sure that in a few years she'll be right up
+           there with people as admired as Joyce Astounded and Minnie
+           Devastated.
+<Yohimbe> Sirilyan: As Grrrrrl singers get ever more specialized, I think
+          back to the halcyon days of yester year with such mass appeal
+<Yohimbe> artists and Desiree Generic and Carolyn ChickSinger
+<Sirilyan> Man, I haven't heard someone talk about Desiree Generic for years.
+           I loved Debut Dance Single - it was probably the best song from
+           "Self-Titled First Album".
+<Yohimbe> Carolyn ChickSingers work was under appreciated. "Men Suck" was an
+          anthem for ..... minutes.
+<dayan> not to mention Debut Dance Single (Hip-Hop Remix) and Obligatory
+        Ballad (Desiree's Theme)
+<Sirilyan> I think Obligatory Ballad was the last waltz at all my high
+           school's dances.
+<dayan> heh.
+<Yohimbe> Sirilyan: that and Power Ballad by Hair Band.
+<dayan> followed shortly by Annual Tear-jerking Graduation Song?
+<Sirilyan> Yeah, but lately I'm getting back into the upbeat stuff. Anyone
+           have a mp3 of Catchy Dance Track by Goofy Urban Duo?
+<dayan> no, but i have Mysteriously Popular Eurotrash Single here.
+<Yohimbe> Sirilyan: I think I have Poorly Done Remake by Out of Original
+          Ideas
+<Sirilyan> No, you're confusing that with Poorly Done Remake (Club Remix) by
+           Misguidedly Think It's Retro.
+<dayan> not to mention the Poorly Done Remake cover by WASPy Teen Idol
+<Yohimbe> Sirilyan: Didn't WASPy Teen Idol also do Obligatory Ballad ?
+<Sirilyan> Which actually isn't bad, especially compared to Song About Beer
+           And Fscking by Ska Band.
+<dayan> or Anti-Establishment Anthem by Hardcore Punk Band.
+<Subucni> n.p. - ostentatiously morose, by brit-pop monolith
+<Yohimbe> If we are discussing that kind of stuff Genre Rehash by
+          Obstentatious Trend Follower needs to be mentioned.
+<dayan> my personal favorite, though, has to be Where The Fsck Are My Wife,
+        Dog, and Truck? by Obtuse Country Lunkhead.
+<Subucni> have we covered "looped female wailing" by anonymous house
+          conglomerate yet?
+<dayan> Subucni: i think that's the b-side to Mysteriously Popular Eurotrash
+        Single
+<Yohimbe> I dont think anyone has mentioned the classics like "Wailing About
+          things I can't Change" by John Folksinger yet
+<Sirilyan> Jay: Or Exact Same Song They've Been Doing For Years But Now It's
+           On MTV And Thus Sucks by Band That Had Hit Single.
+
+<Subucni> what about "irate and political" by rock/rap crossover act?
+<Subucni> "puzzling genre resurrection" by nine guys with no fashion sense
+          was also a contender
+<Yohimbe> or Fifteenth Redo of our Big Hit by 70's Rock Dinosaur
+<dayan> or Life In The Ghetto by Suburban White Boy Posse.
+<Subucni> oh, that's always a fave
+<Sirilyan> Theme To Movie (Movie's Theme) by Washed-Up Rock Band.
+<Subucni> and who could forget, "Violent Misogynist" by Random Rapper?
+<Yohimbe> Subucni: Random Rapper's other one "Completely Incoherent" was
+          better
+<Subucni> which always blends swimmingly with "what pot, officer?" by new-age
+          touring hippie attraction
+<dayan> Yohimbe: personally, i liked Random Rapper's hit single Love (Bitchez
+        And Hoez Ain't Nuthin But Shit).
+<Yohimbe> dayan: I found that one derivative of Random Other Rapper's
+          "Hate (Hoez and Bitches)"
+<Subucni> and who could forget, "you can't possibly comprehend my angst" by
+          that seminal goth act, hand*staple*forehead ?
+<Yohimbe> I've always liked Singer Who Would Like to Be Called a Diva's
+          version of "Wailing really high and complicated"
+<Yohimbe> I bet we could get all of these on a Television Schlock Music
+          Publishers Compilation album.
+<dayan> Yohimbe: called Golden Hits, no doubt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Cisou,  4. Aug 2000, 23:22:29):
+~#! rn=Lug rt=964134790 rg=kultur
+~#! tid=962994829
+Versteh ich, Lug, dass Dich Nigeria nich so interessiert.
+Da kaem doch eher Ghana in Frage, denn bei den Ashanti gibts noch heute ein
+sakrales Koenigtum.
+
+Die Elster - heut mal inspirativ
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Voelkerkundliche Ausstellung "Nigeria in Form und Farbe" (Grimmborn,  4. Aug 2000, 23:34:32):
+~#! rn=Cisou rt=965424149 rg=kultur
+~#! tid=962994829
+Dafuer muss er nicht so weit weg. Sowas hat letzten Endes der Vatikanstaat
+auch.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Cradle of Filth (Lug, 19. Sep 2000, 19:43:54):
+
+Moin,
+
+Cradle Fans angeschnallt, mit der neuen CD kommt ein echter Hammer auf Euch
+zu. Wollte ich nur schonmal ansagen ;)
+
+LAERM
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neue Cradle of Filth (Cymonk, 19. Sep 2000, 21:30:02):
+~#! rn=Lug rt=969385434 rg=kultur
+~#! tid=969385434
+yup,
+
+und ich harre erwartungsvoll des 28.11:
+cradle inner zeche bochum ...
+
+CyMosh :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neue Cradle of Filth (Zarniya, 20. Sep 2000, 14:36:41):
+~#! rn=Cymonk rt=969391802 rg=kultur
+~#! tid=969385434
+Sicher, dass das die neue Suicidal Tendencies schlaegt? DAS ist ein Hammer...
+ganz zu schweigen von der neuen Infectious Grooves.....
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neue Cradle of Filth (Lug, 23. Sep 2000, 04:03:06):
+~#! rn=Zarniya rt=969453401 rg=kultur
+~#! tid=969385434
+
+Die neue Suicidal ist ja ganz nett, kommt aber an Lights, Camera, Revolution
+wirklich nicht ran. Cradle ist auch kaum zu vergleichen, fuer mich aber
+deutlich besser.
+
+Antwortend
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Spruch der Woche (Dieder, 14. Okt 2000, 21:28:38):
+Huhu,
+
+schade, dass diese Rubrik leer ist - frueher schrieb doch Grimmi hier ab und
+an nen "Spruch der Woche" rein...
+
+Nagut, versuch ichs auch mal. Hier ein Zitat, das angeblich von Tschechov
+stammt:
+
+"Man(n) (? :-)) fuerchte den Bock von vorne, das Pferd von hinten, und das
+Weib von allen Seiten."
+
+Dieder, weise nickend.
+
+-----------------------------------------------------------------------------
+
+
+
+Heute mal ein Gemaelde ;-) (Vanion,  5. Nov 2000, 17:15:38):
+http://www.lostinspace.de/
+
+V* findet's nett.
+
+-----------------------------------------------------------------------------
+
+
+
+Animes bei VOX - morgen gehts los ;-) (Vanion,  5. Nov 2000, 17:39:02):
+So, heute bin ich mal in Sachen Kultur unterwegs ;-)
+
+Da es eine Rubrik TV nicht gibt, muss diese mal herhalten.
+
+Im Herbst zeigt VOX in Zusammenarbeit mit der dctp japanische Animationsfilme
+(Animes).
+
+Auftakt der Reihe macht am Montag, den 06.11.00 um 00:10 Uhr die dt.
+Erstausstrahlung des Films 'Bubblegum Crisis: Born to Kill' von Akiyama
+Katsuhito in der Originalfassung mit deutschen Untertiteln.
+
+Wie koennen uns im Laufe des Herbstes noch ueber Ausstrahlungen von 'Neon
+Genesis Evangelion' (Termin noch unbekannt), 'Tekken - die eiserne Faust'
+(verm. am 29.11.) und 'Macross' und 'Macross II' (verm. im Rahmen einer
+grossen Anime-Filmnacht am 1.12.) freuen.
+
+Ob noch andere Sendungen laufen, ist mir derzeit nicht bekannt.
+
+Also erzaehlt mir nicht, ihr haettet es nich gewusst *g*
+
+Viel Spass und seht nich die ganze Nacht fern *g*
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Animes bei VOX - morgen gehts los ;-) (Vanion,  5. Nov 2000, 17:43:06):
+~#! rn=Vanion rt=973442342 rg=kultur
+~#! tid=973442342
+zu NGE:
+Leider kenne ich den Termin nicht. Die Website der dctp (www.dctp.de) hat noch
+keinen Sendeplan fuer die 46. KW ausgegeben :(
+
+V*, wartet auch drauf (videokasettenauspackend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Animes bei VOX - morgen gehts los ;-) (Gorog,  5. Nov 2000, 17:46:12):
+~#! rn=Vanion rt=973442586 rg=kultur
+~#! tid=973442342
+Feine Sache dass. Beim letzen mal hab ich nur die schlechten mitbekommen....
+Aber ich denke Bubblegumcrisis und NGE werden das wieder wett machen. 
+Gorog hofft diesesmal wach zu bleiben...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Animes bei VOX - morgen gehts los ;-) (Sango,  5. Nov 2000, 17:48:08):
+~#! rn=Vanion rt=973442342 rg=kultur
+~#! tid=973442342
+
+Neon Genesis Evangelion kommt dirket im Anschluss an Bubblegum Crisis, also ab
+dem 27.11.2000. WEr sich naeher informieren will sollte mal bei
+http://www.vox.de/programm/anime.html vorbeischauen, da sind alle Termine
+drauf.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Animes bei VOX - morgen gehts los ;-) (Sango,  5. Nov 2000, 17:51:28):
+~#! rn=Sango rt=973442888 rg=kultur
+~#! tid=973442342
+Und dann nochmal ein kleiner Nachtrag zu Macross 2 und Kite (laeuft auch im
+Rahmen des Anime-Programms). Sowohl Macross 2 als auch Kite sind Deutsche
+Premieren, die gibt es bisher nicht mal auf Video oder DVD (bzw. gibt es sie
+dann wohl jetzt).
+
+Sango
+
+-----------------------------------------------------------------------------
+
+
+
+Kinotip (Montanus,  9. Nov 2000, 21:57:34):
+
+Naja, es ist nicht unbedingt ein Kinotip.
+Aber wer schon immer mal Padreic live auf der Kinoleinwand erleben wollte, dem
+sei der Streifen "Girls United" empfohlen.
+Er spielt da zwar nicht unter seinem echtebn Namen, sondern unter einem
+Kuenstlernamen mit, aber das Gesicht und das Benehmen, und vor allem die
+Pullover waren so unverwechselbar... :-)
+
+-Montanus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kinotip (Grimmborn, 10. Nov 2000, 00:17:54):
+~#! rn=Montanus rt=973803454 rg=kultur
+~#! tid=973803454
+Titelrolle?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kinotip (Lug, 10. Nov 2000, 02:37:38):
+~#! rn=Montanus rt=973803454 rg=kultur
+~#! tid=973803454
+
+Welcher Schwachkopp, sieht sich denn freiwillig so einen Scheiss an? Da reicht
+die Vorschau, um den film zu kennen...
+
+Irritiert
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kinotip (Montanus, 10. Nov 2000, 15:42:59):
+~#! rn=Grimmborn rt=973811874 rg=kultur
+~#! tid=973803454
+Na ja beinahe.
+Ich sag mal "Moechtegern-Hauptrolle", dann passt noch besser. ;-)
+
+MdK
+
+-----------------------------------------------------------------------------
+
+
+
+Hmmm.... (Humni, 11. Nov 2000, 02:07:33):
+ich weiss nicht, wer sich noch an den Musikgeschmack von gewissen Leuten
+in Briselang erinnert..
+
+aber seit Montag hat eine der dort gehoerten Bands ne neue CD draussen,
+naemlich JBO.
+
+Nur mal als Tip, ich find sie naemlich trotz fehlendem guten Tag zum sterben
+sehr gut.
+
+CU Humni
+(der gerade keine bessere Rubrik fand ;-) )
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hmmm.... (Vanion, 11. Nov 2000, 12:36:06):
+~#! rn=Humni rt=973904853 rg=kultur
+~#! tid=973904853
+a) Das 'Ein guter Tag zum Sterben' fehlt kann man verkraften, solange es das
+naechste mal wieder dabei is *g*
+Vielleicht dann mal 'Ein Hippiger Tag zum Sterben' *g* 
+
+b) Kultur is schon das richtige Wort (wenn man den einen oder anderen Track
+ausser Acht laesst *g*) dafuer
+
+V*, findet die CD echt jofig
+
+-----------------------------------------------------------------------------
+
+
+
+cd des monats (Gnome, 13. Nov 2000, 23:34:09):
+hi!
+
+da es wirklich viele CDs gibt und wirklich viel gutes darunter ist, moechte
+ich hier an dieser stelle jeden monat eine cd-empfehlung abgeben, die in
+meinen augen sehr gut ist und die es zumindest wert ist, dass man mal
+reinhoert... :)
+
+here we go:
+
+band/artist: 'no doubt'
+ name of cd: 'return of saturn'
+
+kurzbeschreibung: sehr flippig, new-pop-style, teilweise melancholisch,
+                  aber auch melodisch-schnell.
+
+anspieltips: 'ex-girlfriend', 'marry me', 'comforting lie', 'dark blue'
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: cd des monats (Linflas, 14. Nov 2000, 11:38:56):
+~#! rn=Gnome rt=974154849 rg=kultur
+~#! tid=974154849
+Och :( 
+Und ich dachte meine CD-Tips aus -a waeren die einzigen :(. Wie dem auch sei,
+drum schreib ich das nun auch in die mpa.
+Aus Erinnerungszwecken hier nochmal die vom Oktober:
+Radiohead - Kid A
+
+Und die CD des Monats November ist: *tadaaaaa*
+Bjork - Selmssongs (Soundtrack Dancer ...)
+
+Und wieso?
+
+Na, zugegeben, entweder man liebt sie oder man hasst sie, aber dieses (leider
+recht kurze) Album ist mehr als nur Bjork. Es ist genial :)
+Oder wem koennte man es sonst zutrauen typische Musical-Sounds mit
+elektronischem Jazz zu verbinden?
+Die Platte ist ein auf und ab der Emotionen, staendige welchsel des Rhytmus
+und Drehungen und Wendungen im Songbild verleiten zum konzentrierten hoeren.
+Und wenn man glaubt der Song sei vorbei, kommt noch ein Knaller hinterher :)
+Wunderbar!
+
+grinsend, Linf*
+
+-----------------------------------------------------------------------------
+
+
+
+www.sfhbs.com (Montanus, 15. Nov 2000, 17:05:44):
+
+Schaut selber mal rein:
+
+The World Famous Society for Future Husbands of Britney Spears
+
+kein weiterer Kommentar noetig. ;-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: www.sfhbs.com (Montanus, 15. Nov 2000, 17:11:38):
+~#! rn=Montanus rt=974304344 rg=kultur
+~#! tid=974304344
+
+Einen guten Kandidaten hab ich schon gefunden (in der Liste der Mitglieder):
+
+             Name & Email
+                                               Personal Stats
+              
+                 Michael
+                                                
+                                                   28 Years Old
+              
+                 minews@gmx.de
+                                                
+                                                   5 Feet 7 Inches Tall
+              
+                 Heidelberg / Germany
+                                                
+                                                   Not Specif Pounds
+
+             Qualifications
+
+              
+                 I wouldn't touch her, I just want her money
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: www.sfhbs.com (Gnome, 15. Nov 2000, 23:48:41):
+~#! rn=Montanus rt=974304698 rg=kultur
+~#! tid=974304344
+die 'hatemail of the week' ist aber auch gut:
+
+...more intelligent and definitely more beautiful women out there than
+this dumb, talentless, fake blonde.
+
+kann mich da nur anschliessen... hehe :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: www.sfhbs.com (Niete, 16. Nov 2000, 11:03:11):
+~#! rn=Montanus rt=974304344 rg=kultur
+~#! tid=974304344
+
+danke fuer die adresse! werd mich mal gleich eintragen...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Wenn jemand Interesse an Literatur im Cyberspace hat... (Zook, 16. Nov 2000, 23:02:08):
+... dann ist heute ein netter Artikel in der FAZ:
+
+  FAZ Nr. 267 vom 16. November 2000, S. 62:
+  Sebastian Domsch: Mit dem Bauchladen unterm Schwarzen Brett mitten in
+  Utzbach
+
+Ne ganze Reihe von Links mit Literatur im Internet. Wie gesagt,
+wer Interesse hat, kann es sich mal anschauen. Allerdings habe
+ich mich gefragt, ob es diese Seite nicht auch online geben
+sollte...
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: cd des monats (Lug, 17. Nov 2000, 02:50:24):
+~#! rn=Linflas rt=974198336 rg=kultur
+~#! tid=974154849
+
+CD des Monats?
+
+Da gibts soviel: Children of Bodom oder Cryptopsy waeren Anwaerter, aber ich
+empfehle: Cradle of Filth - Midian. Die perfekte Mischung aus Haerte,
+Atmosphaere und Boesartigkeit.
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: cd des monats (Cakey, 23. Nov 2000, 16:00:40):
+~#! rn=Lug rt=974425824 rg=kultur
+~#! tid=974154849
+
+Ich kann da Lug nur zustimmen, das Teil is echt klasse.
+
+Cakey
+
+-----------------------------------------------------------------------------
+
+
+
+Mal was auf Englisch, daher in der Rubrik Kultur (Montanus, 28. Nov 2000, 13:54:26):
+World news:  UN FOCUSES ON TURMOIL IN AMERIJKANISTAN
+
+      After two decades in which social and financial inequalities
+widened amidst unsustainable speculative development, the country of
+Amerijkanistan held presidential elections this week.
+      The two leading candidates were both drawn from a tiny elite, both
+spent vast sums on propaganda, and both have claimed victory. Experts on
+Amerijkanistan recall the history of violent revolution, civil war and
+more recent political violence and
+assassinations, resignations, impeachments, sexual scandals and
+corruption in this emergent republic, and recommend that the UN
+supervise its elections until the country stabilizes.
+      "It is struggling to emerge from years of political polarization
+and turmoil" said a World Trade Organization spokesperson, "and its
+long-suffering people deserve oursupport."
+     "One side of the country declared results before voting had
+finished in another part" he explained. Moreover, he went on to spell
+out that the southern province of 'Floridalandia,' in which the
+leadership struggle is being fought, is run by the brother of one of the
+candidates, whose father had previously ruled the entire country, having
+risen through his control of the nation's intelligence/security
+apparatus. Their family is based in a part of the country in which
+secessionist feelings have long run strong and which was only
+incorporated into Amerijkanistan after a border war.
+      Experts on Amerijkanistan argue that the UN should go in to run
+education programs, disarm the population, relieve the malnutrition and
+environmental problems caused by adherence to a staple diet of cheese
+and burgers, democratize the police forces and above all halt the
+further development of war machinery.
+   "This country has used dangerous weapons in the past and often
+threatened to do so again. But with our help, modernization, and a
+stress on human development, it may have a more stable future and join
+the ranks of the civilized international community" he said.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: cd des monats (Cymonk,  1. Dez 2000, 03:42:40):
+~#! rn=Cakey rt=974991640 rg=kultur
+~#! tid=974154849
+aber gegenueber dem vorgaenger zu straight ... *grunz*
+
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+CD des Monats? (Linflas,  4. Dez 2000, 02:25:55):
+Nunja, es ist Weihnachtszeit und die Plattenfirmen ueberspuelen den Markt mit
+Musik.
+Aber was davon kann sich sehen, oder besser hoeren lassen?
+
+Die Antwort ist so einfach wie erschuetternd:
+
+NICHTS!
+
+Also ist der Tip des Monats eine gute Scheibe aus diesem Jahr:
+Tourist von St Germain!
+Jazzmusik im modernen Anzug.
+
+Viel Spass :)
+
+Linf*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD des Monats? (Qitess,  4. Dez 2000, 10:52:22):
+~#! rn=Linflas rt=975893155 rg=kultur
+~#! tid=975893155
+tja, deswegen ist derartiges auf dem kanal...aeh nein, der rubrik 'kultur'
+jemand ist der meinung, dass alles, was jetzt gerade auf den markt gekommen
+ist, nicht hoerenswert sei.
+nunja, jeder hat doch seinen eigenen geschmack, oder nicht? ich fuer meinen
+teil finde ' jazzmusik im modernen anzug ' extrem wenig hoerenswert. dagegen
+bin ich durchaus gluecklich ueber die nummer-eins-scheibe von den beatles.
+
+ich liebe derartige kritiken...es gibt nichts gutes ausser meinen eigenen
+geschmack :)
+
+HERRLICHST!
+
+QI**   mag auch 'Die neue Rock-Weihnachts-CD' und 'Die schoensten
+Weihnachtsmelodien von Andre Rieu'. 
+
+HOCH LEBE DIE VIELFALT!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: CD des Monats? (Linflas,  5. Dez 2000, 14:13:29):
+~#! rn=Qitess rt=975923542 rg=kultur
+~#! tid=975893155
+
+Was ist Andre Rieu?
+
+Linflas, unwissend, voellig, sich diese Frage erlaubend.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: CD des Monats? (Daria,  5. Dez 2000, 14:16:19):
+~#! rn=Linflas rt=976022009 rg=kultur
+~#! tid=975893155
+Das is so ne Schmalzbacke mit Locken, der meint er koennte gut Geige spielen. 
+Quasi Richard Claydermann mit Geige. So in der Art.
+
+Daria schaemt sich nicht, den zu kennen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: CD des Monats? (Zarniya,  5. Dez 2000, 14:36:04):
+~#! rn=Daria rt=976022179 rg=kultur
+~#! tid=975893155
+Also da muss ich Claydermann mal in Schutz nehmen... er hat naemlich nie, im
+Gegensatz zu diesem mittelklassegeiger, behauptet, dass er auf Konzerten
+Wunderheilungen vollbracht hat... Rieu erzaehlt sowas!
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: CD des Monats? (Grimmborn,  5. Dez 2000, 21:01:29):
+~#! rn=Zarniya rt=976023364 rg=kultur
+~#! tid=975893155
+Ich hab nix gegen Rieu. Dass er vor rund zwei Jahren in Koeln eine Stradivari
+ersteigert hat hat einem zwar fast das Herz gebrochen, aber immerhin hat den
+Anstand besessen sie wieder zurueckzugeben...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: CD des Monats? (Wurzel,  5. Dez 2000, 21:54:26):
+~#! rn=Grimmborn rt=976046489 rg=kultur
+~#! tid=975893155
+muss ich mich jetzt outen, weil ich den typ nicht kenne?
+aber egal, cds des monats gibt es eh so viele wie es cd-kaeufer gibt...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: CD des Monats? (Montanus,  5. Dez 2000, 21:55:52):
+~#! rn=Wurzel rt=976049666 rg=kultur
+~#! tid=975893155
+
+nach Adam und Riese ist das falsch.
+Denn auf jeden CD-Kaeufer kommen pro Jahr 12 Monate.
+Also gibt es, davon ausgehend, dass auch in jedem Monat eine Cd des Monats
+bestimmt wird, pro Jahr 12mal soviele CDs des Monats als wie CD-Kaeufer.
+
+-PP
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: CD des Monats? (Linflas,  5. Dez 2000, 22:27:23):
+~#! rn=Montanus rt=976049752 rg=kultur
+~#! tid=975893155
+Also soweit sollte das nun wirklich nicht gehen....
+
+Und waehrend ihr hier weiterrechnet wie viele CD-Kaeufer und CD's des Monats
+und Zuschauer beim kaufen einer CD des Monats gibt, hoere ich weiter Musik :)
+
+Linflas, mit dem Fuss wippend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: CD des Monats? (Qitess,  5. Dez 2000, 22:29:05):
+~#! rn=Linflas rt=976051643 rg=kultur
+~#! tid=975893155
+...und ich bin jetzt gluecklich, dass doch noch wenigstens eine klitzekleine
+diskussion entstanden ist :)
+
+DooBiDoo....
+QI**
+
+-----------------------------------------------------------------------------
+
+
+
+WeihnachtsCD (Zarniya,  6. Dez 2000, 12:48:41):
+Hi, 
+
+mal was besinnliches, wenn auch amerikanisches... 
+
+Wer so ein richtig gutes amerikanisches Weihnachtsalbum haben oder verschenken
+will, der ist mit "Garth Brooks & the magic of Christmas" gut bedient. Es sind
+alle Klassiker drauf, aber eben in neuer Tonqualitaet und Garth hat wirklich
+eine hervorragende Stimme, was ich von 90% aller anderen Weihnachtsalben nicht
+behaupten kann.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WeihnachtsCD (Zarniya,  6. Dez 2000, 12:50:03):
+~#! rn=Zarniya rt=976103321 rg=kultur
+~#! tid=976103321
+achja... wer Weihnachten nicht so besinnlich haben will oder aber seine Oma
+vergraulen, dem empfehle ich mein persoenliches Album des Jahres, die neue
+Suicidal Tendencies.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: WeihnachtsCD (Foobar,  7. Dez 2000, 01:41:29):
+~#! rn=Zarniya rt=976103403 rg=kultur
+~#! tid=976103321
+Hey, meine Oma steht auf Suicidal Tendencies...
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+This is not A test... (Gnome,  8. Dez 2000, 00:26:12):
+...this is reality!
+
+unter diesem motto werfen wir mal den ganzen "weihnachts-gefuehls-dudel-
+einmal-im-jahr-muss-man-ja-was-schenken-kram" ueber bord, sehen von
+meinen linflas- und qitess-plagiaten ab und wenden uns der scheibe des
+monats zu, die ohne zweifel waere:
+
+group/artist: limp bizkit
+name of album: chocolate starfish and the hot dog flavored water
+
+kurzkritik: fred durst & co. haben mal wieder zugeschlagen! sehr gutes
+            crossover zwischen hip hop, metal und melodik. kommt aber
+            nicht ganz an den kult-vorgaenger "significant other"
+            heran. aber allein das intro ist nen hammer, wenn auch
+            etwas kurz.
+
+anspieltips: "livin' it up", "the one", "i'll be ok"
+
+interessantes: so wie das aktuelle album heisst, wollten sie sich zuerst
+               als gruppe nennen. der titelsong von MI:2 "take a look
+               around" ist natuerlich auch drauf.
+
+till next year!
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Tip des Tages (oder Nacht, wie man will) (Foobar, 10. Dez 2000, 02:42:47):
+telnet blekko.com
+
+Dann den Befehl "starwars" absetzen -> Episode IV als ASCII-Film - supergeil
+:o)
+
+Gruss,
+
+     Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tip des Tages (oder Nacht, wie man will) (Maystorm, 10. Dez 2000, 12:56:41):
+~#! rn=Foobar rt=976412567 rg=kultur
+~#! tid=976412567
+Wer macht sich _diese_ Arbeit?
+
+Aber gut gemacht und witzig ist es allemal!
+--
+Maystorm, der blutigste aller Anfaenger
+
+-----------------------------------------------------------------------------
+
+
+
+cymotec airplay (Cymonk, 10. Dez 2000, 23:22:20):
+hiho,
+
+wer auf electro/ebm im stil von ECO, :wumpsuct:, das ich steht und
+im raum essen zuhause ist, sollte am sonntag abend um 18.04 radio
+essen einschalten (102, 02 Mhz- Kabel: 92,15 Mhz).
+dort stelle ich in einem kurzen interview den gerade
+frisch erschienenen sampler 'counterbalance vol.1'
+(http://www.inception-records.com) und mein projekt
+'cymotec' vor.
+mein track 'flucht v.2', der opener der compilation,
+wird auch zu hoeren sein.
+
+gruss,
+cy
+
+p.s.
+achja, die sendung heisst 'gothic- radio'
+http://www.gothic-radio.de
+
+-----------------------------------------------------------------------------
+
+
+
+Re: cymotec airplay (Arath, 10. Dez 2000, 23:26:31):
+~#! rn=Cymonk rt=976486940 rg=kultur
+~#! tid=976486940
+aeh, nur eine Frage...
+
+den letzten Satz - kann man den auch auf Deutsch uebersetzen? Jedes zweite
+Wort is englisch :)
+
+scnr :)
+Arath, englisch koennend aber was gegen solche Saetze habend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tip des Tages (oder Nacht, wie man will) (Catweazle, 11. Dez 2000, 08:27:58):
+~#! rn=Foobar rt=976412567 rg=kultur
+~#! tid=976412567
+Hut, alt.
+http.//www.asciimation.co.nz
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Fussball ist auch Kultur (Montanus, 11. Dez 2000, 15:22:26):
+------------------------------------------------------------
+Kick It: Wozu brauchen Schwaben Fussball?
+------------------------------------------------------------
+
+Warum es bundesweit betrachtet durchaus gerecht zu nennen ist, wenn der VfB
+Stuttgart mal wieder in die Zweite Liga verschwinden wuerde. 
+
+ Von Katrin Weber-Kluever 
+
+Landsmannschaftlich betrachtet hat die Bundesliga Luecken. Es gibt keinen
+Holsteiner Verein, was schon deshalb tragisch ist, weil es niemals anders war
+und niemals anders sein wird. Noerdlich von Hamburg gedeihen nur so
+verschrobene Koerperertuechtigungen wie Handball. 
+
+Es gibt auch keinen saechsischen Verein in der Bundesliga, aber in Sachsen
+gibt es immerhin Fussballtradition und also auch Hoffnung. Gerade gibt es auch
+keinen fraenkischen Verein. Aber das wird sich garantiert bald aendern, was
+schoen fuer Nuernberger ist, weil sie ausser Fussball und
+Lebkuchen nicht viel haben, woran sie sich freuen koennen. 
+
+Im Ruhrgebiet gibt es gleich drei Bundesligavereine, was Sinn macht, weil es
+hilft, den Malochermythos am Leben zu halten und man sich schliesslich ueber
+irgendetwas ja definieren muss. Ein Verein in Berlin ist auch vernuenftig,
+denn jede Hauptstadt sollte einen haben. Aber: Wozu brauchen Schwaben
+Fussball? Sie haben eh alles im Ueberfluss und genug zu tun: Geld zaehlen,
+dicke Autos fahren, Haeuser
+bauen. Fussball und der VfB dienen da bestenfalls der Zerstreuung. 
+
+ Feist und fett auf der Haupttribuene 
+
+Natuerlich gibt es Schwaben, die Fussball sehr lieben, jene beispielsweise,
+die am Sonnabend im Parkstadion bitterlich in ihre roten Schals geweint haben
+wegen der Niederlage des VfB Stuttgart. Aber es gibt vor allem Schwaben, die
+sich feist und fett auf der Haupttribuene niederlassen, nur um von dort ihre
+eigene Mannschaft zu beleidigen. 
+
+Dieses griesgraemige, gelangweilte Haupttribuenenkeifen beherrschen Schwaben
+wie sonst nur Anhaenger von Bayer Uerdingen. Einstmals. Wie weit es mit dem
+kleinen Club aus Krefeld dann gekommen ist, weiss man ja. 
+
+Bei Uerdingen war die Angelegenheit allerdings immer ueberschaubar: Die
+blieben schoen zu Hause und meckerten unter sich. Bei den Schwaben zu Hause
+aber ist die Laune so runter, dass ihr Stadion immer halb leer ist. Kein
+anderes Bundesligastadion ist auch nur annaehernd so schlecht ausgelastet. 
+
+Keine Ironie, keine Zuneigung, keine Hoffnung 
+
+Also fallen die Schwaben andernorts ein, um schlechte Laune zu verbreiten. Das
+machen sie so gnadenlos, dass es einen am Sinn des Fussballs zweifeln laesst,
+am Guten im Menschen sowieso. 
+
+Schwaebische Fussballunterhaltung geht naemlich so: Drei Schwaben sitzen auf
+der Haupttribuene, gerade ist die zweite Halbzeit angepfiffen und der
+Ausgleich fuer den VfB gefallen. Da sind die Schwaben kurz baff und schweigen
+beleidigt. Dann kommt der vierte Schwabe vom Wuerstchenholen
+und fragt: "Was passiert?" Sagt einer: "Ausgleich geschossen." Fragt die
+Bratwurst: "Wer?" Sagt ein anderer: "Ganea." Sagt die Bratwurst: "Der Blinde."
+
+Das ist keine Spur ironisch, da steckt kein Hauch Zuneigung drin, von stillem
+Glueck oder einem Funken
+Hoffnung ganz zu schweigen. So sind Schwaben. Sie haetten sich einen Abstieg
+wirklich verdient.
+
+------------------------------------------------------------
+(C) SPIEGEL ONLINE - 10. Dezember 2000, 16:57
+
+Den Artikel erreichen Sie im Internet unter der URL
+http://www.spiegel.de/sport/fussball/0,1518,107154,00.html
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: cymotec airplay (Cymonk, 16. Dez 2000, 00:13:38):
+~#! rn=Arath rt=976487191 rg=kultur
+~#! tid=976486940
+hiho,
+
+was hast du gegen den satz 'achja, die heisst 'gothic-radio'' ???
+
+nun, genauso, wie im IT bereich gibt es im musikgeschaeft
+'fachausdruecke', die sich aus dem englischen im deutschen
+eingebuergert haben ... 
+
+wobei ich dir mit einschraenkungen zustimme: ich sage auch
+immer 'rechner' statt dieses neuomodischen wortes 'computer'! :)
+
+TERMINAENDERUNG:
+die sendung findet am mittwoch, dem 20.12.2000 um 20.00 statt!!!
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+gruss,
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: cymotec airplay (Arath, 16. Dez 2000, 17:38:47):
+~#! rn=Cymonk rt=976922018 rg=kultur
+~#! tid=976486940
+Sorry, ich meinte den letzten Satz vor dem PS:
+"mein track 'flucht v.2', der opener der compilation,
+wird auch zu hoeren sein."
+
+Also da schuettelts mich, sorry.
+Koennte man doch auch locker
+"Mein Stueck xyz, das erste (Eroeffnungsstueck, wie auch immer) dieser
+Zusammenstellung/bla/Platte/wieauchimmer, wird auch zu hoeren sein."
+
+Arath
+
+PS: Ja ich weiss, dass die deutschen Uebersetzungen in vielen Faellen nicht
+sehr geglueckt sind, und das mag auch hier teilweise zutreffen. Und ich weiss
+auch, dass das Englische in Fachsparten wie dieser Musik, IT-Branche o.ae.
+weit vertreten ist und seine Berechtigung hat. Aber es hat alles seine Grenzen
+und es geht auch anders :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: cymotec airplay (Wurzel, 16. Dez 2000, 18:34:48):
+~#! rn=Arath rt=976984727 rg=kultur
+~#! tid=976486940
+es ist schon immer so gewesen (und wird auch so bleiben), dass man
+sprache auch als mittel der differenzierung benutzt. jede wissenschaft -
+auch die, die ich eher als pseudowissenschaften bezeichnen wuerde - benutzt
+diesen mechanismus, um ihresgleichen zu identifizieren und sich gegenueber
+den nichtwissenden abzugrenzen. man kann so schoen unter sich bleiben.
+das faengt an mit dem medizinerlatein, aber auch betriebswirte, philosophen
+oder physiker bekommen das ganz gut hin. in der it-branche ist es eben
+vor allem englisch angehaucht, bei den musikern war es mir jetzt neu (aber
+nicht ueberraschend).
+
+wer sowas mal in ebenfalls krasser form erleben will, muss nur mal als
+unbedarfter auf einen mudstammtisch gehen. oder, da das vielen hier recht
+schwer fallen duerfte, jemanden mitbringen und sich hinterher anhoeren,
+dass da nur mord und totschlag ruebergekommen sind, der rest war bahnhof.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: cymotec airplay (Yendi, 20. Dez 2000, 17:15:15):
+~#! rn=Arath rt=976984727 rg=kultur
+~#! tid=976486940
+Tja, mit Mediziner-Latein hoert sich das wenigstens beeindruckend an.
+Ich sass mal in einer Kneipe und hoerte, dass sich der Mensch mit Gipsarm am
+Nebentisch "die Ulna fraktiert" hat... *grins*
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Dragon Magazine (Yendi, 22. Dez 2000, 15:20:33):
+Ich frage mich gerade, ob es das deutsche "Dragon"-Magazin von TSR noch gibt..
+Wer weiss mehr?
+
+YTY
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dragon Magazine (Panic, 22. Dez 2000, 16:02:55):
+~#! rn=Yendi rt=977494833 rg=kultur
+~#! tid=977494833
+jo im Bonner Comic-Laden gibts das noch
+
+-----------------------------------------------------------------------------
+
+
+
+cd des monats (Gnome,  6. Jan 2001, 17:28:58):
+moin!
+
+und natuerlich haben wir auch im neuen jahrtausend (ja, ich hoer ja schon
+auf :) eine cd des monats.
+diesmal haben wir etwas fuer freunde des old-school-hip-hop:
+de la soul is back!
+
+artist/band: de la soul
+name of album: art official intelligence: mosaic thump
+
+kurzbeschreibung: fette beats, einfallsreiche zum teil bekannte melodien,
+                  songs zum mitnicken... de la soul eben.
+
+anspieltips: "oooh", "set the mood", "copa (cabanga)", "foolin'"
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Gutes Buch gefaellig? (Ark, 17. Jan 2001, 19:50:58):
+Auch nach dem dritten Mal noch gut:
+
+"Der Meister des siebten Siegels" von Johannes K. Soyener und Wolfram zu
+Mondfeld
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gutes Buch gefaellig? (Vanion, 17. Jan 2001, 20:15:50):
+~#! rn=Ark rt=979757458 rg=kultur
+~#! tid=979757458
+Kannst du mal ein wenig mehr zu dem Buch sagen? Z. b. was dir daran so
+gefallen hat.
+
+V*, erwartet jetzt sowas wie 'Alles' ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gutes Buch gefaellig? (Atoz, 18. Jan 2001, 13:23:23):
+~#! rn=Vanion rt=979758950 rg=kultur
+~#! tid=979757458
+Ist das nicht dieser dicke  Schinken ueber einen Geschuetzmeister?
+
+Atoz - wuehlt mal in dem hohen Stapel mit Buechern, die er noch keine Zeit
+hatte zu lesen...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Gutes Buch gefaellig? (Ark, 18. Jan 2001, 21:11:49):
+~#! rn=Vanion rt=979758950 rg=kultur
+~#! tid=979757458
+Also im Zusammenfassen von Geschichten war ich schon immer schlecht, aber die
+Geschichte des Adam Dreyling war schon riesig interessant, auch die Sprache
+hat mir sehr gut gefallen, die Charakter, wie sie dargestellt und entwickelt
+werden, und natuerlich der Fortgang der Geschichte.
+Ueber den Inhalt erzaehle ich nichts, aber sicher gibt es fuer die, die noch
+zaudern, bei amazon ein paar Rezensionen. Was die natuerlich immer so
+hergeben, das kann sich jeder selbst ausmalen ;^)
+Fazit: losgehen und mir vertrauen *kicher*
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+artikel webradio (Thorak, 24. Jan 2001, 13:31:16):
+hallo!
+
+wer mal auf echt entspannende und gute musik lust hat, sollte mal in
+http://www.radioparadise.com
+reinhoeren. echt klasse!
+
+btw, der neue realplayer fuer linux macht jetzt auch die html-elemente.
+damit kann man wieder auf
+http://www.netradio.com zuhoeren. die bieten musik nach stilrichtung.
+
+viel spass!
+
+thorak
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Zwergenangriff (Yendi, 24. Jan 2001, 17:51:55):
+~#! rn=Anatol rt=980354608 rg=d.polar
+~#! tid=980092281
+Robert Gernhard:
+
+Gedichte find ich sowas von beschissen,
+so eng, rigide, irgendwie nicht gut.
+Es macht mich ehrlich richtig krank zu wissen,
+dass wer Gedichte schreibt, dass wer den Mut
+hat, heute noch so'n dumpfen Scheiss zu bauen.
+Allein der Fakt, dass so ein Typ das tut,
+kann mir in echt den ganzen Tag versauen.
+Ich hab da eine Sperre, und die Wut
+darueber, dass so'n abgefuckter Kacker
+mich mittels seiner Wichserein blockiert
+schafft in mir Aggressionen auf den Macker.
+Ich tick nicht, was das Arschloch motiviert!
+Ich tick's nicht und ich will's nicht wissen!
+
+Ich find Gedichte unheimlich beschissen.
+
+
+( Gedicht (c) Gernhard, Fehler (c) Yendi )
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Zwergenangriff (Solmyr, 24. Jan 2001, 18:57:18):
+~#! rn=Yendi rt=980355115 rg=kultur
+~#! tid=980092281
+So so, Kultur, ja? ;=) Klingt eher verdaechtig nach Gejammer...
+
+Solmyr,rubrikuebergreifend fahndend
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Ark, 27. Jan 2001, 16:14:33):
+Keine Belehrung ueber Rechtschreibung, sondern nur das folgende Buch:
+"Die Moewe Jonathan" von Richard Bach.
+Kann man bequem lesen, wenn der Flieger sich verspaetet. Nachdenken kann man
+dann im Flugzeug ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip (Linflas, 29. Jan 2001, 12:39:08):
+~#! rn=Ark rt=980608473 rg=kultur
+~#! tid=980608473
+Gibts Uebrigens fuer garnicht so teuer in nem schoenen Hardcover mit huebschen
+Fotos von Moewen beim Flug.
+Ich kann das Buch auch _sehr_ empfehlen!
+
+Linflas, mag Kuhe und Moewen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip (Mingo, 29. Jan 2001, 15:19:00):
+~#! rn=Grimmborn rt=980769711 rg=schmarrn
+~#! tid=980608473
+Apropos Phasen - die kindliche Phase lohnt durchaus nochmal. Ich
+empfehle "Harry Potter", allerdings kann ich nur was ueber das
+Original sagen und nichts ueber die deutsche Fassung. Dafuer, dass es
+ein Kinderbuch ist, kann man erstaunlich oft zum Woerterbuch greifen
+um etwas nachzuschlagen.
+Gestaltet werden sollen ja sieben der Baende, aber ich muss ehrlich
+sagen, dass selbst im dritten Band (den vierten gibt es noch nicht als
+Paperback bzw. erst ab Juni) noch keine "hm, da muss jetzt wieder ein
+Abenteurer bestanden werden"-Stimmung aufkommt. Im Gegensatz zu Hohlbein
+ist nicht immer alles gaaaaanz anders, aber der Moerder ist auch nicht
+immer der Gaertner.
+Spannend erzaehlt - und wie ich gehoert habe auch fuer neu-alte Gilden-
+vorstaende inspirierend :]
+
+Mingo
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchtip (Grimmborn, 29. Jan 2001, 15:23:04):
+~#! rn=Mingo rt=980777940 rg=kultur
+~#! tid=980608473
+Nur kurz zu Harry Potter: Die ersten drei Baende sind erstmal Vorgeplaenkel,
+ich hatte das Gefuehl "Aha, Hanni und Nanni auf zauberisch". Ganz gut, aber
+nichts wirklich aufregendes, was den Hype rechtfertigen wuerde. Und dann habe
+ich den vierten Band gelesen. Bis zu den ersten zwei Dritteln oder so habe ich
+diese Meinung noch aufrecht erhalten. Und dann geht so dermassen die Post
+ab...
+
+Grimmborn der Atheist. Kinderbuchreihe? Nicht wirklich...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchtip (Vanion, 29. Jan 2001, 15:41:13):
+~#! rn=Grimmborn rt=980778184 rg=kultur
+~#! tid=980608473
+Hmmm, eigentlich bin ich kein Main-Stream-Gegner. Ich hole mir auch mal die
+CD, die grad beworben wird und nehme auch gern mal wieder einen
+King/Williams/Prattchett/Folett in die Hand.
+
+Aber bei Harry Potter hats die Presse echt geschafft. Auf diesem Buch wurde
+dermassen rumgekaut, dass ich echt keine Lust habe, das Buch im Geschaeft auch
+nur naeher anzusehen.
+
+V*, glaubt, dass es noch genug andere lesenswerte Buecher in der Welt gibt.
+
+PS: Nicht weil es als Kinderbuch gilt, ich hab auch den kleinen Hobbit gelesen
+und (abgesehen von der manchmal sehr einfachen Sprache) gut gefunden, weil ich
+wissen wollte, worauf Tolkien aufbaut.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchtip (Solmyr, 29. Jan 2001, 15:45:21):
+~#! rn=Vanion rt=980779273 rg=kultur
+~#! tid=980608473
+Das ist das bewehrte Phaenomen, dass seit 'Independence Day'
+aufgetreten ist. Das war auch so, dass ich, als die ersten Infos
+darueber kamen, total hin und weg war. Schliesslich sah man nur 
+diese riesen Scheiben und ein paar Effekte. Also denkt man sich,
+wow ... was fuer ein geiler Film ;) Nunja, die Presse hat den dann
+so zu Schrott geschnitten und ueberall angepriesen, dass ich darauf
+keinen Bock mehr hatte.
+Bei Harry Potter kommt noch dazu das die Autorin, das Buch auch
+eher fuer Kiddies geschrieben hat, oder? Ich mein, jede zweite
+Zehnjaehrige bei meiner Schwester in der Schule redet ueber
+Harry Potter ...
+
+Solmyr
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchtip (Humni, 29. Jan 2001, 15:46:35):
+~#! rn=Vanion rt=980779273 rg=kultur
+~#! tid=980608473
+Ich hab mich auch erst mehrfach belabern lassen bis ichs in die Hand genommen
+habe. Ja, es ist vielleicht mainstreamig. Aber ich hab nicht eher geruht bis
+ich alle 4 Baende durch habe. Und das Ende vom vierten Teil ist wirklich
+gigantisch, wenngleich ich auch den Rest klasse fand.
+
+Aber sicher hast Du Recht, lesenswert ist noch ne Menge mehr. Nur dieses Buch
+tatsaechlich auch.
+
+Meinung von Humni
+PS: Buch->Buecher (zu faul zum editieren)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchtip (Humni, 29. Jan 2001, 15:52:53):
+~#! rn=Solmyr rt=980779521 rg=kultur
+~#! tid=980608473
+Tja, wenn Du Dich so beeinflussen laesst, dass Du allem abschwoerst, was die
+Presse anpreist oder zu oft erwaehnt, dann laesst du dich auch von der PResse
+beeinflussen.
+
+Humni. Hat Harry Potter gelesen und sich bei Independence Day koestlich
+amuesiert.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchtip (Solmyr, 29. Jan 2001, 15:55:19):
+~#! rn=Humni rt=980779973 rg=kultur
+~#! tid=980608473
+Tja, mich hat eher gestoert, dass mich alle darauf angesprochen
+haben, ob ich den schon gesehen habe. Immer wieder: Nein ;) Ich
+hab mir, waehrend der Film im Kino lief, das Buch durchgelesen
+und das war nicht mal schlecht...
+
+Solmyr
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchtip (Catweazle, 29. Jan 2001, 15:55:31):
+~#! rn=Vanion rt=980779273 rg=kultur
+~#! tid=980608473
+Ich empfehle Dir dringlichst in diesem Falle ueber Deinen Schatten zu
+springen.
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchtip (Vanion, 29. Jan 2001, 16:49:31):
+~#! rn=Catweazle rt=980780131 rg=kultur
+~#! tid=980608473
+Der Schatten is derzeit recht lang. In meinem Regal stehen noch 4 Buecher, die
+gelesen werden wollen, eins liegt auf dem Nachttisch und das Ausfuehren aller
+Vormerkungen auf meiner Amazon-Bestellliste wuerde mich in den sicheren Ruin
+treiben.
+
+Danach? Mal sehen.
+V*, fragt sich warum ein Tag nur 24 Stunden hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchtip (Thorak, 29. Jan 2001, 17:05:48):
+~#! rn=Vanion rt=980779273 rg=kultur
+~#! tid=980608473
+das dachte ich auch zuerst. aber es lohnt sich auf jeden fall. vor allem der
+vierte teil ist der... wie sagt man? der hammer :)
+
+thorak
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchtip (Wurzel, 29. Jan 2001, 20:44:19):
+~#! rn=Vanion rt=980783371 rg=kultur
+~#! tid=980608473
+du gluecklicher. bei mir stehen noch ca. 80 buecher ungelesen herum, und es
+werden staendig mehr... allerdings, harry potter habe ich vorgezogen in der
+queue und es nicht bereut.
+kinderbuch? ja, stimmt. das heisst in diesem fall allerdings nicht, dass es
+albern oder oede waere wie die meisten kinderbuecher. hier bedeutet es nur,
+dass auch kinder das lesen koennen. wobei man beim vierten band anfangen
+koennte abstriche zu machen, aber die kinder der mrs. rowling sind ja auch
+schon etwas aelter geworden...
+meistens sehe ich das auch so, dass etwas, was so stark gepusht wird, eher
+links liegen lasse. ein freund, der wesentlich kritischer ist als ich, hat
+es mir allerdings empfohlen, und das hat mich neugierig gemacht.
+nebenbei bemerkt, vor kurzem habe ich irgendwo gelesen, dass die auflage
+der harry potter buecher weltweit nur noch von der bibel uebertroffen
+wird. ob das stimmt, ist mir nicht klar. wenn es allerdings so waere, 
+liesse sich das nicht allein auf perfektes marketing zurueckfuehren.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Buchtip (Mingo, 30. Jan 2001, 00:05:35):
+~#! rn=Wurzel rt=980797459 rg=kultur
+~#! tid=980608473
+Entweder macht mir hier nicht weiter den Mund auf Band vier waessrig (ich hab
+so schon genug Hints aus der Presse gehabt) oder leiht mir den englischen
+Hardcover :)
+
+Mingo
+
+PS: Meine Schwester hatte das richtige Gespuer fuers Weihnachtsgeschenk.
+    (Wenn schon alle erzaehlen, wie sie eine Entschuldigung gefunden haben)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Buchtip (Zarniya, 30. Jan 2001, 09:46:30):
+~#! rn=Mingo rt=980809535 rg=kultur
+~#! tid=980608473
+Ich muss zugeben, dass ich die Potters noch nicht gelesen habe, weil es ja ein
+laengere Serie sein soll (7+x Teile). Ich habe beim Rama-Zyclus von A.C.Clarke
+fast 3 Jahre auf den letzten Teil warten muessen und das mit einem wirklich
+ueblen Cliffhanger mitten in der Handlung... auch bei Potter 4 soll es ja mehr
+oder weniger mitten in der Handlung aufhoeren... Ich lasse mich gerne
+unstimmen, wenn da die Geruechte falsch sind, aber ansonsten warte ich
+einfach, bis die Serie komplett ist. 
+
+Und weil es Spass macht, sich selbst zu widersprechen will ich hier noch
+nebenbei von Diana Gabaldon die Highland Saga empfehlen, die auch noch nicht
+abgeschlossen ist, die ich aber derzeit ziemlich verschlinge. 
+
+Gruss, 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Buchtip (Alboin, 30. Jan 2001, 11:38:54):
+~#! rn=Zarniya rt=980844390 rg=kultur
+~#! tid=980608473
+7+x Teile? Naja, ich weiss schon worauf Du anspielen willst, dass sich die
+Autorin nach den sieben beabsichtigten Teilen noch zu mehreren hinreissen
+laesst. Aber ich denke mal sie tut es nicht, sie sagte auch, dass es sowas wie
+Harry Potter in der Midlife-Crisis mit ihr nicht geben wird.
+Das HP 4 mitten in der Handlung abbricht, kann man so nicht sagen. Zum einen
+endet HP 4 wie jeder Teil, das naemlich die Schulferien beginnen. Zum anderen
+ist bei HP 4 etwas wesentliches passiert, wo man weiss das es auch die
+weiteren Teile betreffen wird.
+
+Al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchtip (Alboin, 30. Jan 2001, 11:55:00):
+~#! rn=Grimmborn rt=980778184 rg=kultur
+~#! tid=980608473
+Dass die ersten drei Baende Vorgeplaenkel sind halte ich fuer einseitig. Zwar
+sind sie vielleicht eine Einstimmung auf den grossen Einbruch in Band 4 aber
+dennoch haben sie alle schon eine Handlung und nicht nur das sondern sie
+bieten auch schon einiges an Weisheit.
+Mein lieblingsteil ist uebrigens der Zweite, weil dort fast in metaphysischer
+Weise zum Ausdruck kommt wie das Boese wirkt und worin das Gute besteht.
+Ueberhaupt habe wie auch beim Herrn der Ringe, den Eindruck das bei Harry
+Potter von einer Welt  die Rede ist die vielleicht realer ist als man denkt.
+Was mich uebrigens bisher am meisten erstaunt am 4 Band, das die Spannung aus
+Band 3 noch getoptt weppt werden wuerde.
+
+Al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchtip (Alboin, 30. Jan 2001, 11:58:22):
+~#! rn=Vanion rt=980779273 rg=kultur
+~#! tid=980608473
+Bei mir wars umgekehrt: ich bin eher Mainstream-Gegner, aber HP ist wirklich
+gut. Zudem fing ich mit HP an zu lesen als es die HP-Manie in Deutschland noch
+gar nicht gab. Ich wollte einfach mein Englisch verbessern und da schien mir
+das naechste englischsprachige Kinderbuch in der Buchhandlung am besten
+geeignet. Nagut ein wenig hatte ich schon aus England darueber erfahren, aber
+wirklich nur gaaanz wenig;-)
+
+Al
+
+-----------------------------------------------------------------------------
+
+
+
+und nochmal webradio (Thorak,  1. Feb 2001, 20:26:47):
+hallo!
+
+und gleich nochmal nen link zu nem ganz guten netzsender:
+http://www.dunklewelle.de
+ist bestimmt nicht jedermanns geschmack, aber es ist ja auch nicht jeder
+im britney fanclub *zwinker johnnyboss* :)
+
+thorak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: und nochmal webradio (Cymonk,  1. Feb 2001, 23:25:07):
+~#! rn=Thorak rt=981055607 rg=kultur
+~#! tid=981055607
+webradio?
+
+dann lieber:
+
+http://www.cyberage.cx
+
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchtip (Sarah,  6. Feb 2001, 16:58:40):
+~#! rn=Alboin rt=980852302 rg=kultur
+~#! tid=980608473
+Kennt eigentlich irgendjemand "The Books of Magic"? Das ist ein Comic der
+lange vor Harry Potter da war...und die Hauptperson, Timothy Hunter, sieht
+H.P. verdammt aehnlich.
+
+
+Sarah - hoffent das der erste MPA Artikel auch so ankommt, wie er soll
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchtip (Wurzel,  6. Feb 2001, 23:26:51):
+~#! rn=Sarah rt=981475120 rg=kultur
+~#! tid=980608473
+kenn ich nicht. aber harry potter sieht in jedem land anders aus, von
+daher kann das zufall sein.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Buchtip (Humni,  7. Feb 2001, 01:11:25):
+~#! rn=Wurzel rt=981498411 rg=kultur
+~#! tid=980608473
+Persoenliche Meinung dazu: Voellig egal wie er aussieht. Bisher hat sich noch
+niemand, den ich kenne, und der die Buecher gelesen hat, beschwert. Lest die
+Buecher und habt Spass.
+
+Meinung von Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Buchtip (Zephyr,  7. Feb 2001, 20:05:57):
+~#! rn=Humni rt=981504685 rg=kultur
+~#! tid=980608473
+
+Im Zusammenhang damit ist vielleicht noch die Klage interessant, die
+in den USA gegen Rowling laeuft. N.K.Stouffer hat bereits 1984 ein
+Buch mit dem Titel "The Legend of Rah and the Muggles" geschrieben, 
+deren Held Larry Potter heisst. Aktuelles gibbs bei www.realmuggles.com
+C4
+
+PS: Mir gefallen die HP-Buecher, ich fands nur/trotzdem interessant
+
+-----------------------------------------------------------------------------
+
+
+
+geklaut aber gut (Montanus,  8. Feb 2001, 17:56:49):
+
+Imagine if you will... the leader of the fifth invader force speaking to
+the commander in chief...
+
+"They're made out of meat."
+"Meat?"
+"Meat. They're made out of meat."
+"Meat?"
+"There's no doubt about it. We picked several from different parts of
+the planet, took them aboard our recon vessels, probed them all the way
+through. They're completely meat."
+"That's impossible. What about the radio signals? The messages to the
+stars."
+"They use the radio waves to talk, but the signals don't come from them.
+The signals come from machines."
+"So who made the machines? That's who we want to contact."
+"They made the machines. That's what I'm trying to tell you. Meat made
+the machines."
+"That's ridiculous. How can meat make a machine? You're asking me to
+believe in sentient meat."
+"I'm not asking you, I'm telling you. These creatures are the only
+sentient race in the sector and they're made out of meat."
+"Maybe they're like the Orfolei. You know, a carbon-based intelligence
+that goes through a meat stage."
+"Nope. They're born meat and they die meat. We studied them for several
+of their life spans, which didn't take too long. Do you have any idea
+the life span of meat?"
+"Spare me. Okay, maybe they're only part meat. You know, like the
+Weddilei.  A meat head with an electron plasma brain inside."
+"Nope. We thought of that, since they do have meat heads like the
+Weddilei.  But I told you, we probed them. They're meat all the way
+through."
+"No brain?"
+"Oh, there is a brain all right. It's just that the brain is made out of
+meat!"
+"So... what does the thinking?"
+"You're not understanding, are you? The brain does the thinking. The
+meat."
+"Thinking meat! You're asking me to believe in thinking meat!"
+"Yes, thinking meat! Conscious meat! Loving meat. Dreaming meat. The
+meat is the whole deal! Are you getting the picture?"
+"Omigod. You're serious then. They're made out of meat."
+"Finally, Yes. They are indeed made out meat. And they've been trying to
+get in touch with us for almost a hundred of their years."
+"So what does the meat have in mind?"
+"First it wants to talk to us. Then I imagine it wants to explore the
+universe, contact other sentients, swap ideas and information. The
+usual."
+"We're supposed to talk to meat?"
+"That's the idea. That's the message they're sending out by radio.
+'Hello. Anyone out there? Anyone home?' That sort of thing."
+"They actually do talk, then. They use words, ideas, concepts?"
+"Oh, yes. Except they do it with meat."
+"I thought you just told me they used radio."
+"They do, but what do you think is on the radio? Meat sounds. You know
+how  when you slap or flap meat it makes a noise? They talk by flapping
+their meat at each other. They can even sing by squirting air through
+their meat."
+"Omigod. Singing meat. This is altogether too much. So what do you
+advise?"
+"Officially or unofficially?"
+"Both."
+"Officially, we are required to contact, welcome, and log in any and all
+sentient races or multibeings in the quadrant, without prejudice, fear,
+or favor. Unofficially, I advise that we erase the records and forget
+the whole thing."
+"I was hoping you would say that."
+"It seems harsh, but there is a limit. Do we really want to make contact
+with meat?"
+"I agree one hundred percent. What's there to say?" `Hello, meat. How's
+it going?' But will this work? How many planets are we dealing with
+here?"
+"Just one. They can travel to other planets in special meat containers,
+but they can't live on them. And being meat, they only travel through C
+space. Which limits them to the speed of light and makes the possibility
+of their ever making contact pretty slim. Infinitesimal, in fact."
+"So we just pretend there's no one home in the universe."
+"That's it."
+"Cruel. But you said it yourself, who wants to meet meat? And the ones
+who have been aboard our vessels, the ones you have probed? You're sure
+they won't remember?"
+"They'll be considered crackpots if they do. We went into their heads
+and smoothed out their meat so that we're just a dream to them."
+"A dream to meat! How strangely appropriate, that we should be meat's
+dream."
+"And we can mark this sector unoccupied."
+"Good. Agreed, officially and unofficially. Case closed. Any others?
+Anyone interesting on that side of the galaxy?"
+"Yes, a rather shy but sweet hydrogen core cluster intelligence in a
+class nine star in G445 zone. Was in contact two galactic rotations ago,
+wants to be friendly again."
+"They always come around."
+"And why not? Imagine how unbearably, how unutterably cold the universe
+would be if one were all alone."
+
+
+-----------------------------------------------------------------------------
+
+
+
+CD des Monats (Linflas, 13. Feb 2001, 10:41:00):
+Linflas' kleiner CD-Tip fuer Februar:
+
+Fun Lovin Criminals - Loco
+
+Smoother Rock aus New York - Funk, Country und Sprechgesang und ein Beat, der
+gerne ins Tanzbein geht (und dabei Handmade :)
+
+Viel Spass!
+
+Linflas, sucht Kuhe.
+
+-----------------------------------------------------------------------------
+
+
+
+DER CD-Tip des Monats (Gnome, 13. Feb 2001, 23:52:19):
+ich habe einiges ueberlegt und auch viel angehoert... und schliesslich
+bin ich zu folgendem ergebnis gekommen:
+der kelch geht diesen monat an...
+
+artist/group: papa roach
+name of album: infest
+
+kurzbeschreibung: rock & gitarre gemischt mit hiphop-beats und netten
+                  melodien. haengen irgendwo zwischen metallica und
+                  limp bizkit.
+
+anspieltips: "infest", "last resort", "between angels and insects"
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: DER CD-Tip des Monats (Solmyr, 14. Feb 2001, 01:35:39):
+~#! rn=Gnome rt=982104739 rg=kultur
+~#! tid=982104739
+Das waere aber leider der CD Tip vom Dezember gewesen :) Aber danke,
+Du hast recht, Papa Roach sind ganz nett.
+
+Solmyr
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: DER CD-Tip des Monats (Montanus, 14. Feb 2001, 01:36:31):
+~#! rn=Solmyr rt=982110939 rg=kultur
+~#! tid=982104739
+Inzwischen ist der Kuechenschabenvater doch auf allen Kanaelen hoch und runter
+gedudelt worden, und jeder zweitklassige Karaoke-Mosher hat sich schon daran
+versucht. Also ich kann das Zeug echt nicht mehr hoeren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: DER CD-Tip des Monats (Solmyr, 14. Feb 2001, 01:39:27):
+~#! rn=Montanus rt=982110991 rg=kultur
+~#! tid=982104739
+Fuer alle die so was und mehr hoeren, ein paar kleine Tips. :) Sucht
+mal nach 'Boy sets Fire', 'Incubus', 'Ignite', 'Get Up Kids', 'Avail',
+Jimmy Eat World oder auch 'Heaven Shall Burn'. Da ist alles bei von
+Emo bis Hardcore, ueber Punk und Rock.
+
+Solmyr, Musikliebmoscher
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: DER CD-Tip des Monats (Cymonk, 14. Feb 2001, 01:42:57):
+~#! rn=Solmyr rt=982111167 rg=kultur
+~#! tid=982104739
+
+und wer gute elektronische musik hoeren will und nicht auf dieses
+hitparaden gehumpse steht, sollte 'mal
+
+flesh field, 'redemption EP', trisol 2000
+
+antesten.
+
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Huppsa! (Linflas, 20. Feb 2001, 00:26:24):
+Na da taucht ja ploetzlich wieder was neues, bemerkenswertes an mein Ohr:
+
+BS2000 mit dem Album: simply mortified
+
+Nun wollt ihr sicher wissen wieso das Ding bemerkenswert ist?
+Kann ich selbst nicht genau beantworten, hoert einfach mal rein. Napster hats
+;)
+
+Linflas, fragt sich was sein Kuh davon haelt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Huppsa! (Wurzel, 20. Feb 2001, 18:15:47):
+~#! rn=Linflas rt=982625184 rg=kultur
+~#! tid=982625184
+bs2000? dachte das gaeb es nur noch im museum... und mit musik hat das nun
+wahrlich nichts zu tun gehabt :) falls man nicht das gurgeln der
+wasserkuehlung
+als solche bezeichnen will...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+ALL YOUR BASE! (Montanus, 25. Feb 2001, 23:07:51):
+http://www.people.fas.harvard.edu/~pyang/base/allyourbase.swf
+
+Anschauen und geniessen.
+
+-Montanus.
+
+-----------------------------------------------------------------------------
+
+
+
+Lord of the Rings (Solmyr,  3. Mar 2001, 03:10:37):
+Viele kennen es wahrscheinlich schon, aber warum soll man nicht auch
+noch den Rest darueber aufklaeren. Auf www.tolkiens-welt.de gibt es um-
+fassende Informationen ueber den Film, unter anderem auch viele Bilder
+von den Sets in Neuseeland.
+
+Solmyr wuenscht viel Spass dabei
+
+-----------------------------------------------------------------------------
+
+
+
+Computer-Haikus (Montanus,  6. Mar 2001, 02:23:56):
+> If you have ever had any difficulty with your computer, you probably will
+> enjoy this. In Japan, they have replaced the impersonal and unhelpful
+> Microsoft error messages with their own Japanese haiku poetry, each only 17
+> syllables; 5 syllables in the first line, 7 in the second, five in the
+> third.
+> ------------------------
+> 
+> Your file was so big.
+> It might be very useful.
+> But now it is gone.
+> 
+> ------------------------
+> 
+> The Web site you seek
+> Can not be located but
+> Countless more exist.
+> 
+> ------------------------
+> 
+> Chaos reigns within.
+> Reflect, repent, and reboot.
+> Order shall return.
+> 
+> ------------------------
+> 
+> ABORTED effort:
+> Close all that you have worked on.
+> You ask far too much.
+> 
+> ------------------------
+> 
+> Windows NT crashed.
+> I am the Blue Screen of Death.
+> No one hears your screams.
+> 
+> ------------------------
+> 
+> Yesterday it worked.
+> Today it is not working.
+> Windows is like that.
+> 
+> ------------------------
+> 
+> First snow, then silence.
+> This thousand-dollar screen dies
+> So beautifully.
+> 
+> ------------------------
+> 
+> With searching comes loss
+> And the presence of absence:
+> "My Novel" not found.
+> 
+> ------------------------
+> 
+> The Tao that is seen
+> Is not the true Tao-until
+> You bring fresh toner.
+> 
+> ------------------------
+> 
+> Stay the patient course.
+> Of little worth is your ire.
+> The network is down.
+> 
+> ------------------------
+> 
+> A crash reduces
+> Your expensive computer
+> To a simple stone.
+> 
+> ------------------------
+> 
+> Three things are certain:
+> Death, taxes, and lost data.
+> Guess which has occurred.
+> 
+> ------------------------
+> 
+> You step in the stream,
+> But the water has moved on.
+> This page is not here.
+> 
+> ------------------------
+> 
+> Out of memory.
+> We wish to hold the whole sky,
+> But we never will.
+> 
+> ------------------------
+> 
+> Having been erased,
+> The document you're seeking
+> Must now be retyped.
+> 
+> ------------------------
+> 
+> Serious error.
+> All shortcuts have disappeared.
+> Screen. Mind. Both are blank..
+
+-----------------------------------------------------------------------------
+
+
+
+CD des Monats Mai 2001 (Zarniya,  6. Mar 2001, 11:32:36):
+Hi, 
+
+nur fuer die, die Kult moegen, der nie untergehen wird: Die neue CD von
+Depeche Mode "Exciter" ist der reine Wahnsinn... ihr werdet es lieben... 
+
+Achja... wer nicht warten kann, der Napstert sich halt einen...
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Gaelisch (Zarniya,  8. Mar 2001, 09:26:34):
+
+HI, 
+
+ich bin auch der Suche nach einer Moeglichkeit, mir Gaelisch ein wenig naeher
+zu bringen... hat da einer nen Tip? Dann bitte per Mail an mich (zarniya). Da
+ich gelesen habe, dass es sehr unterschiedliche Interpretationen in der
+Aussprache gibt, waere es gut, wenn einer was ueber einen Sprachkurs wuesste,
+denn es auch auf CD oder Tape gibt.... 
+
+Kleines Beispiel:
+
+"Fuer das aspirierte D, Dh, und das aspirierte G, Gh gibt es im Deutschen
+keine entsprechenden Laut. Versuchen Sie, ein gurgelndes Baby nachzuahmen. Ein
+anderer Muttersprachler beschreibt mir diesen Laut wie 'das Geraeusch, das
+jemand von sich gibt, der gerade barfuss auf eine fette Nacktschnecke getreten
+ist'"
+
+(aus "Der magische Steinkreis" von Diana Gabaldon)
+
+Dieser Ausschnitt macht mir klar, dass man eigentlich nur eine Chance hat,
+wenn man Soundbeispiele dabei hat.... Sollte uebrigens noch jemand hier andere
+nette Beschreibungen fuer aspirierte Ds und Gs haben, dann auch einfach mal
+melden...
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+CD des monats MAERZ (Gnome, 10. Mar 2001, 23:57:22):
+jetzt koennen meine plagiate nicht mal die monatsnamen in richtiger
+reihenfolge... ts ts.
+
+anyway, die folgende CD ist zwar schon bissel aelter, aber ich muss sie
+hier einfach mal vorstellen, weil sie mittlerweile schon fast kult ist.
+und das ein halbes jahr nach ihrem erscheinen.
+
+group/artist: "deftones"
+name of album: "white pony"
+
+kurzbeschreibung: knallhart und weich zugleich, einpraegsame rhythmen. und
+                  chino morenos hypnotisch-monotone stimme ist einfach
+                  genial (besonders in "change").
+
+anspieltips: "digital bath", "knife party", "change (in the house of flies)"
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD des monats MAERZ (Solmyr, 11. Mar 2001, 09:07:15):
+~#! rn=Gnome rt=984265042 rg=kultur
+~#! tid=984265042
+Hiermiet verweise ich noch auf die beiden Vorgaenger 'Adrenalien' und
+'Around the Fur', die sind noch ein Tick besser, aber auch etwas haerter,
+was nicht jedem in den Kram passen tut.
+
+Sol*, fuer Rechtschreibung und Ausdruck wird keine Haftung uebernommen,
+da ich grad von Arbeit komme :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gaelisch (Apsu, 11. Mar 2001, 13:49:03):
+~#! rn=Zarniya rt=984039994 rg=kultur
+~#! tid=984039994
+Oh je, da mutest Du Dir aber einiges zu.
+
+Apsu, frustrierter Ex-gaelisch-lernender
+
+-----------------------------------------------------------------------------
+
+
+
+Meine CD des Monats (Ark, 12. Mar 2001, 21:28:34):
+Vielleicht auch nur, weil sie mir jetzt erst ueber den Weg gelaufen ist:
+
+No Angel, von Dido.
+
+Anspieltips? CD anhoeren.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Meine CD des Monats (Noki, 13. Mar 2001, 01:19:46):
+~#! rn=Ark rt=984428914 rg=kultur
+~#! tid=984428914
+
+Ich darf auch mal... ;)
+
+Was immer man ueber elektronische Tanzflurmusik auch an Kommentaren verlieren
+mag, und wie total "in" es auch unter DJ-Nerds sein mag, den beiden
+Franzmannen Kommerzialitaet vorzuwerfen - diese Scheibe ist der legitime und
+G_R_O_S_S_E Nachfolger von "Homework":
+
+ ****Discovery**** von Daft - natuerlich- Punk
+
+Eine Offenbarung : Track 10 "Voyager" (am besten im Strandkorb mit der/dem
+Lieblingself(e) im Arm hoeren)
+
+noki, ganz versuselt und verzueckt
+
+-----------------------------------------------------------------------------
+
+
+
+Anatol? Bist Du das wirklich? ]:-> (Ahab, 16. Mar 2001, 17:26:40):
+gefunden in der WAZ Bochum vom 16.3.2001:
+
+-------------------------------------------------------
+Anatols Spuren
+- Beuys-Schueler arbeitet im Museum -
+
+Mit dem Einbaum fuhr Anatol seinen Meister Joseph Beuys ueber den Rhein, eine
+symbolische Heimholung, nachdem Landesminister Rau den Duesseldorfer
+Akademieprofessor geschasst hatte.
+  Von der historischen Ueberfahrt erzaehlt Anatol auch heute noch gern und
+ausfuehrlich. Dieser Elevendienst fuer den grossen Schamanen sollte den Blick
+auf das aktuelle Werk von Anatol nicht verstellen. Unter dem Titel "Spuren
+suchen - legen - lesen Anatol" wird eine Ausstellung des Kuenstlers am morgi-
+gen Samstag, 17 Uhr, im Museum Bochum eroeffnet.
+  Waehrend der Ausstellung, die bis zum 6. Mai zu sehen ist, will Anatol
+jeweils dienstags, mittwochs und donnerstags im Museum arbeiten.
+-------------------------------------------------------
+
+Ahab, erstaunt ueber Anatols unbekanntes Talent und vor allem
+      neugierig auf die Geschichte von der 'historischen Ueberfahrt'.
+      . o O (Plaudertasche...) *g*
+
+-----------------------------------------------------------------------------
+
+
+
+Buch-tip(p) (Gorog, 25. Mar 2001, 20:58:18):
+Moins
+Hier das Buch des Monats, zumindest meiner Meinung nach. Denn endlich ist der
+vierte und somit letzte Teil der Otherlandreihe erschienen (allerdings bisher
+nicht uebersetzt aber das interessiert wahrscheinlich eh keinen). 
+Wer die ersten drei Teile nicht gelesen hat sei gesagt, es handelt sich um
+eine sehr gelungene Mischung aus Science Fiction und Fantasy. Der Autor (Tad
+Williams) erzaehlt auch hier (genau wie im Drachenbeinthron) von glaubhaften
+Charakteren die man durch eine fesselnde Story verfolgt. Einfach prima und
+besser als der Drachenbeinthron, auch eine sehr gute Geschichte (so ganz
+nebenbei).
+Das Buch hat uebrigens den Titel "Sea of Silver Light" und zumindest der
+Anfang (allzuweit bin ich noch nicht) knuepft nahtlos an die Spannung des
+Vorgaengers "Mountain of Black Glass" an.
+
+So genug der Lobhudelei. Viel Spass beim Lesen.
+Gorog heute mal mehrzeilig.
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ein Buch-Tipp (Yendi, 27. Mar 2001, 12:32:43):
+Guy Gabriel Kay wird mit jedem Buch besser.
+Zuerst dachte ich, "The Lions of Al-Rassan" waere nicht mehr zu toppen
+(spielt in einem Pseudo-Spanien zur Zeit der Reconquista, nur ganz leichter
+ Fantasy-Einschlag),
+aber die neue Duologie von ihm ist wirklich _richtig_ toll...
+Also:
+"Sailing to Sarantium", gefolgt von
+"The Lord of Emperors" spielt in einer Art Byzanz zur Zeit Justinians, kurz
+vor dem Aufkommen des Islams. Faszinierende Charaktere, spannender Plot,
+ausgezeichnete geschichtliche Basis (aber Vorsicht: Eine Geschichtsstudentin
+war geschockt, als er sich dann an einer Stelle mit Knalleffekt von dem
+tatsaechlichen Ablauf der Geschichte loeste...) und generell jede Menge
+Lesespass.
+Das steckt jeden Medikus samt den Saeulen der Erde und Bruder Cadfael in die
+Tasche und hat fast noch Platz fuer den Namen der Rose.
+OK, letzteres vielleicht nicht.
+
+Hach, tolles Buch...
+
+
+-----------------------------------------------------------------------------
+
+
+
+...und noch'n Buch. (Schleicher, 27. Mar 2001, 14:20:48):
+Naja, ich schlag dann auch mal ein Buch vor, eines das ich persoenlich SO gut
+finde das ich es dauernd an Freunde verschenke, nein Fantasie ist es nicht
+aber  trotzdem witzig und gut! Frank Goosen - liegen lernen Ecihborn Verlag
+ISBN 3-8218-0854-3. Es ist eine Beschreibung des Lebens eines Mannes der in
+den 80ern pubertiert und von Beziehung zu Beziehung stolpert... hier ein
+kleiner Auszug:
+Im September 1998 stuerzte ein Mann fruehmorgens vornueber aus einer im
+Souterrain gelegenen Kreuzberberger Kneipe in eine Pfuetze brackigen
+Regenwassers und fuehlte sich nun bereit fuer einen abschliessenden Doener.
+Sein Leben als verantwortungsloses, bindungsunfaehiges, triebhaftes Arschloch
+war definitiv an einem Tiefpunkt angekommen.
+
+Viel Spass bei Lesen oder auch nicht
+
+Schleicher
+
+-----------------------------------------------------------------------------
+
+
+
+Kleiner CD-Tip (Linflas, 27. Mar 2001, 19:51:36):
+Tach!
+
+Mein kleiner CD-Tip fuer diesen Monat lautet:
+
+Mirwais - Production
+
+Extravanagnte Chice franzoesische Elektronische Musik, fuer Leute, denen Daft
+Punk zu billig ist.
+Mirwais hat auf Madonnas als Co-Produzent unter Beweis stellen koennen, was er
+kann und Madonna hat sich auf "Production" mit dem Traumhaften "Paradise - but
+not for me" bedankt. Musik, nicht von dieser Welt.
+Zu hoeren in eigentlich _jeder_ Gelegenheit. Das meine ich ernsthaft so.
+
+Linflas, zaehlt Kuhe aus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kleiner CD-Tip (Montanus, 27. Mar 2001, 21:12:37):
+~#! rn=Linflas rt=985715496 rg=kultur
+~#! tid=985715496
+
+Ihr wollt nette Bands hoeren, bevor der Mainstream sie erfasst?
+Probiert mal "New Found Glory" aus - bei amazon.com kann man in das Album
+reinhoeren. Lied 4 (Hit or miss) wird auf 107.7 the end relativ haeufig
+gespielt, und der Sender ist ja eigtnlich meistens ein barometer fuer nette
+Musik. ;-)
+Achja, Kategorie-Disclaimer: Fun-Punk. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+CD-Tip? (Anatol,  4. Apr 2001, 15:47:04):
+Nein, eigentlich nicht, nuechtern betrachtet wird das neue Album von
+"Subway to Sally" (S2S) nichts fuer den Normalhoerer sein. Aber fuer
+Szene-Fans ist "Herzblut" ein 'Muss', die positive Entwicklung der Band
+scheint noch weiter fortzuschreiten. 
+
+Die Tourdaten (14.4. - 06.05.) sind unter www.subwaytosally.de zu finden.
+Der Osnabruecker Hydepark ist am 26.4. dran, Karten im VVK 33.- DEM. :)
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ein CD-Tip (Grimmborn,  4. Apr 2001, 15:50:05):
+~#! rn=Anatol rt=986392024 rg=kultur
+~#! tid=986392024
+Wer kennt sie nicht, die Blauen Mannen aus der Intel P3/4 Werbung? Nun, es
+gibt sie wirklich, und sie machen mit PVC-Rohren, mit Glasfaserstaeben und
+weiteren Dingen Musik, die ueberraschend gut und eben ein bischen anders ist.
+Daher mein Tip:
+Blue Man Group - Audio
+Anhoertips: z.B. "Rods and Cones", "Drumbone"
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD-Tip? (Wurzel,  8. Apr 2001, 14:51:11):
+~#! rn=Anatol rt=986392024 rg=kultur
+~#! tid=986392024
+ueber "positive entwicklung" kann man da trefflich streiten. fuer mich das
+bisher schwaechste album von den jungs um frau schmidt. der trend geht klar
+in richtung seichte kommerzialisierung.
+etwas besser gefallen hat mir da rammsteins "mutter", aber fuer mich ist die
+scheibe des monats etwas, worueber ich da beim stoebern gestolpert bin.
+irgendwie hab ich da dreissig jahre drauf gewartet...
+wecker/wader, ein livemitschnitt von einer tour, die die beiden alten maenner
+der deutschen liedkunst im letzten jahr erstmals gemeinsam gemacht haben.
+einziger schwachpunkt: nach 74 minuten ist die cd am ende angekommen.
+mehr davon.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: CD-Tip? (Cymonk,  8. Apr 2001, 21:24:54):
+~#! rn=Wurzel rt=986734271 rg=kultur
+~#! tid=986392024
+hmmmja.... da kann ich wurzel nur zustimmen...
+hab' mir das teil gestern 'mal zugelegt...
+'nichts fuer den normalhoerer'?? ahem?
+was mich an der scheibe stoert ist, dass ecken und kanten im arrangement
+im vergleich zu den letzten outputs extrem abgeschliffen wurden...
+selbst die stimme klingt subjektiv 'normaler'...
+'entwicklung'? ja! aber eindeutig, wie wurzel schon sagte, richtung
+mainstream... schade eigentlich ... ich bezweifle nicht, dass s2s
+mit dem naechsten album die charts hitten werden (wenn nicht schon
+mit dem aktuellen) ... ich werde es mir jedenfalls nicht mehr
+ungehoert zulegen ...
+
+wenn es interessiert, was ich mir sonst noch so zugelegt habe:
+hocico, f/a/v, six feet under, snog, invincible spirit (fehlte mir noch als
+cd), dead kennedys dvd
+
+gruss,
+cy
+
+-----------------------------------------------------------------------------
+
+
+
+Nostalgie -> C64er (Solmyr, 11. Apr 2001, 13:44:43):
+Damit nicht nur die Leute im meist gehassten Thread des Muds hoeren :)
+www.c64games.de ist eine wahre Fundgrube, von der ich bisher noch nichts
+wusste :)
+
+Sol*, mal fuer Quali garantierend
+
+-----------------------------------------------------------------------------
+
+
+
+Anti-Filmtip (Montanus, 15. Apr 2001, 18:49:03):
+Ich hab mir gestern "Bridget Jones' Diary" angeschaut. Von vielen
+Schreiberlingen in eine Kategorie mit "4 Hochzeiten ueT" gestellt, kann man
+diesen Vergleich eigentlich nur daran aufrechterhalten, dass (a) Hugh Grant
+mitspielt und (b) ein englischer Akzent vorherrscht.
+Sonst war der Film einfach nur schlecht. Renee Zellweger sieht aus wie eine
+etwas mollige Steffi Graf ohne Tennisschlaeger (okee, die Nase ist ein klein
+wenig kleiner), und Hugh Grant ist einfach nur Hugh Grant. Dem Film fehlt es
+eigentlich an allem: Spritzigkeit, Ueberraschungen und schauspielerischer
+Leistung.
+Alles ist vorhersagbar, und nur wer die verschiedenen Gesichtsausdfruecke
+eines blonden Dummchens genauer studieren will, wird diesem Film etwas
+abgewinnen koennen.
+
+-----------------------------------------------------------------------------
+
+
+
+Otherland die Zweite (Gorog, 16. Apr 2001, 20:30:56):
+So bin nun durch. Und die grossen Erwartungen haben sich erfuellt. Also lesen,
+bald oder zumindest irgendwann (;
+
+Gorog denkt . o O ( Vielleicht haette wer dem Williams die Drogen wegnehmen
+sollen)
+
+.... MoreDread ....
+
+-----------------------------------------------------------------------------
+
+
+
+Weisheit des Tages (Foobar, 18. Apr 2001, 21:20:45):
+
+"Jede mathematische Formel in einem Buch halbiert die Verkaufszahl dieses
+Buches."
+
+     Stephen Hawking
+
+Quelle: http://www.metager.de, wurd beim Suchen eingeblendet ;o)
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weisheit des Tages (Croft, 18. Apr 2001, 22:03:10):
+~#! rn=Foobar rt=987621645 rg=kultur
+~#! tid=987621645
+Naja. Fast. Genaues Zitat:
+"Man hat mir gesagt, dass jede Gleichung im Buch die Verkaufszahlen
+halbiert.  Ich beschloss also, auf mathematische Formeln ganz zu
+verzichten.  Schliesslich habe ich doch eine Ausnahme gemacht:  Es handelt
+sich um die beruehmte Einsteinsche Formel E=mc^2.  Ich hoffe, dies wird
+nicht die Haelfte meiner potentiellen Leser verschrecken."
+Aus "Eine kurze Geschichte der Zeit"
+Gruss Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weisheit des Tages (Anatol, 18. Apr 2001, 22:40:32):
+~#! rn=Croft rt=987624190 rg=kultur
+~#! tid=987621645
+Das Repetitorium der hoeheren Mathematik, das hier herumsteht... ich bin
+vermutlich der einzige, der es hier gekauft hat? 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weisheit des Tages (Gnome, 18. Apr 2001, 22:42:56):
+~#! rn=Anatol rt=987626432 rg=kultur
+~#! tid=987621645
+hmm, formelsammlungen duerfte es dann rein theoretisch gar nicht geben ;-)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weisheit des Tages (Grimman, 18. Apr 2001, 22:43:37):
+~#! rn=Gnome rt=987626576 rg=kultur
+~#! tid=987621645
+Wer kauft die denn auch einfach als Lektuere?
+Fachliteratur hat da wohl doch nen Sonderstatus :)
+
+GrimMan
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Weisheit des Tages (Householder, 18. Apr 2001, 22:45:07):
+~#! rn=Grimman rt=987626617 rg=kultur
+~#! tid=987621645
+coool dann kann man aus jeder formelsammlung einen bestseller machen indem man
+einfach alle formeln rauswirft 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Weisheit des Tages (Ronda, 18. Apr 2001, 22:58:43):
+~#! rn=Householder rt=987626707 rg=kultur
+~#! tid=987621645
+Bloedsinn. Bestseller heisst, dass es haeufig verkauft wird. Aber wenn Du aus
+einem ca 59 DM guenstigen Mathelexikon (saubillige Edition) nur mal eben 200
+Formeln rauswirfst und auch nur ein Exemplar verkaufst, hast Du nie wieder
+Sorgen. Ausser, Du musstest dazu andere Mathebuecher kaufen...
+Ronda ** Ronda / Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weisheit des Tages (Daria, 19. Apr 2001, 13:33:54):
+~#! rn=Anatol rt=987626432 rg=kultur
+~#! tid=987621645
+Ich habs auch!
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Weisheit des Tages (Anatol, 19. Apr 2001, 13:55:59):
+~#! rn=Daria rt=987680034 rg=kultur
+~#! tid=987621645
+Merziger/Wirth?
+
+-----------------------------------------------------------------------------
+
+
+
+CD-Dingsda... (Linflas, 22. Apr 2001, 04:47:01):
+Ein kleines Sound-Schmankerl:
+
+Peace Orchestra heisst die Platte, produziert von Peace Orchestra. 
+
+Zwar von 1999, doch (leider) jetzt erst von mir entdeckt. Wer die Wiener
+Kruder und Dorfmeister kennt und schaetzt, wird sich sehr schnell mit diese
+Platte anfreunden koennen. Es handelt sich um das Solo-Projekt von Peter
+Kruder, der sich mit wunderbare, zeitlupenartigen Klaengen und einem gemsich
+aus Jazz und Klassik voellig uebertroffen hat. Ein Genuss, besonders wenn bei
+"Shining" Chilli Bukasas Stimme einsetzt. Ausprobieren!
+
+Uebrigens gibt es von Richard Dorfmeister auch ein Solo-Projekt in
+Zusammenarbeit mit Rupert Huber genannt Tosca. Die beiden haben letztes Jahr
+ihr zweites Album veroeffentlicht ("Suzuki"). Auch zu empfehlen.
+
+Linflas, zieht einen rein und denkt an Kuhe.
+
+-----------------------------------------------------------------------------
+
+
+
+subway (Wurzel, 26. Apr 2001, 10:17:37):
+das neue subway to sally-album "herzblut" ist zwar meiner meinung nach
+deutlich schwaecher als die vorhergehenden, aber live kommen
+die songs trotzdem gut...
+das versoehnt wieder etwas. stimmung war (in frankfurt) absolut genial, die
+musiker gut drauf und es war insgesamt eins der besten konzerte, die ich in
+den letzten jahren gesehen habe.
+wer gelegenheit dazu hat, sollte sich das nicht entgehen lassen.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: subway (Cymonk, 26. Apr 2001, 23:44:54):
+~#! rn=Wurzel rt=988273057 rg=kultur
+~#! tid=988273057
+
+in dem zusammenhang faellt mir ein: noch jemand auf dem WGT in leipzsch?
+
+gruss,
+cy
+
+p.s. 
+nope, kein cymotec gig! die blamage hebe ich mir fuer's naexte jahr
+auf, wenn's denn dann ueberhaupt jemand hoeren will ;))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: subway (Anatol, 27. Apr 2001, 02:13:57):
+~#! rn=Wurzel rt=988273057 rg=kultur
+~#! tid=988273057
+In Osnabrueck - also quasi gerade eben - waren sie auch grosse Klasse,
+sie machen einfach gute Show, muss man ihnen lassen. Fuer die Zukunft
+habe ich eigentlich nur einen wirklich grossen Wunsch, was diese Gruppe
+angeht:
+
+Bitte. Bitte. Bitte _einmal_ ein Konzert mit Subway to Sally auf dem
+das geneigte Auditorium NICHT "Blut, Blut, Raeuber saufen Blut..." 
+singt, bis die Band es endlich spielt... *seufz* Ich kann's nicht mehr
+hoeren. ;)
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Movie a minute (Vanion, 27. Apr 2001, 12:26:40):
+Christian Wederhake wrote:
+
+> Wollte man Dune (Nur das erste Buch) adequat verfilmen,
+> waere das ein 12-Stunden-Epos mit einem mindest-Budget von 100 Mio US-$.
+
+Ach was, man kann JEDEN Film auf 1 Minute kuerzen, Zweifler sehen sich
+bitte:
+
+http://rinkworks.com/movieaminute/
+
+an. Kleines Beispiel?
+
+The Empire Stikes back:
+
+Luke: I have to go to Dagobah.
+Yoda: You have to use the force.
+Luke: I have to go to Cloud City.
+Darth Vader: You have to go to the dark side.
+Luke: No I don't.
+Darth Vader: I'm your father.
+Luke: No you're not.
+Darth Vader: Fine, I'll cut off your hand.
+
+THE END
+
+--
+aus de.alt.netdigest
+V* meint, die erwaehnte Seite spart viele Stunden Kino
+
+-----------------------------------------------------------------------------
+
+
+
+OT (Cymonk, 28. Apr 2001, 02:21:34):
+
+wer schon immer 'mal wissen wollte wie cymotec klingt,
+aber nie bock hatte, sich bei mp3.com einen runter ...
+ahem... zuladen, dem sei jetzt das winzige looser
+flash auf http://www.cymotec.com ans herz gelegt!
+
+gruss,
+cy
+
+p.s. 
+achja, die hintergrundmusik ist die kaufhaus-mucke-seite
+des projekts ;))
+
+-----------------------------------------------------------------------------
+
+
+
+Kamikazeflieger (Sublime, 28. Apr 2001, 08:20:08):
+     Komm wir verbrennen uns die Finger
+   rennen uns die Koepfe ein
+     laufen blindlings gegen Mauern
+   und in offne Messer rein
+     Lieber bluten wir zusammen als ganz allein zu stehn
+   Wer will nicht lieber aus Liebe
+     als garnicht zu Grunde gehn
+   Kamikazefliege moecht ich sein
+     fuer Kamikazefliegen ist noch der Himmel zu klein
+   und ich weiss Du laesst mich nicht allein
+     darum sollst Du mein Kamikaze-Copilot sein.
+
+
+
+     Ich sage nicht: Hab keine Angst
+   Ich hab ein Seil, es kann uns garnichts passiern
+     Ich sage nur: nimm meine Hand
+   mir wird ganz flau und ich will's trotzdem probiern
+     die duenne Luft wird so schoen heiss unter den Kleidern
+   jedes Mal wenn man faellt
+     und wer weiss, es kann ja sein, dass dieser Fallschirm
+   uns auch diesmal noch haelt
+     Kamikazefliege moecht ich sein
+   fuer Kamikazefliegen ist noch der Himmel zu klein
+     und ich weiss Du laesst mich nicht allein
+   darum sollst Du mein Kamikaze-Copilot sein.
+
+Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Foobar, 29. Apr 2001, 20:53:00):
+Armitage - Cybermatrix
+Gun Smiths Cats: Neutral Zone
+Hotel Bitch
+Bubblegum Crisis: Mega Tokyo
+Riding Bean
+
+Quelle: TV Spielfilm, S. 263
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Firehawk, 29. Apr 2001, 21:35:24):
+~#! rn=Foobar rt=988570380 rg=kultur
+~#! tid=988570380
+Hmmm, ich dachte immer das Teil heisst Armitage Polymatrix :) Mal schaun,
+eigentlich hab ich den meissten Kram eh schon auf Video ...
+
+Firehawk
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Vanion, 29. Apr 2001, 23:29:47):
+~#! rn=Foobar rt=988570380 rg=kultur
+~#! tid=988570380
+Btw: Vor kurzem ist eine nette Kollektion mit 26 Folgen von Neon Genesis
+Evangelion auf 3 DVDs rausgebracht worden. Wens interessiert, kann ja mal bei
+Amazon (oder wo auch immer) suchen. Fuer einen Kauf so mal zwischendurch mit
+249,-DM reichlich teuer, aber vielleicht ja als Weihnachtsgeschenk (zumindest
+hab ich das fuer mich so geplant).
+
+Ansonsten kann man von der Manga-Front noch berichten, dass der Carlsen-Verlag
+in dieser Richtung seit dem letzen Jahr recht aktiv ist. Neon (Bd 1-5, 6 im
+Juni), X (Bd 1-5, 6+7 i.V.), Angel Sanctuary (Bd 1, seit April, weitere
+zweimonatlich), Vampire Princess Miyu (ab Mai, dann zweimonatlich) und noch
+einige andere sind in der deutschen Fassung rausgekommen. Mein Eindruck ist,
+das Carlsen sich viel muehe gegeben hat, bei Layout und Uebersetzung, und
+Aussagen von anderen Fans zufolge, sind die dt. Versionen oft besser und
+schoener als die englischen.
+
+So, das reich jetzt aber.
+
+V* arbeitet nicht fuer Carlsen, is auch blos Fan.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Trug, 29. Apr 2001, 23:30:25):
+~#! rn=Vanion rt=988579787 rg=kultur
+~#! tid=988570380
+Manga-Front? 
+
+Herrscht da Krieg?
+
+Trug, sich wundernd.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Hate, 30. Apr 2001, 14:39:03):
+~#! rn=Vanion rt=988579787 rg=kultur
+~#! tid=988570380
+Weiss jemand wo ich Mangas auf Japanisch bekomme?
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Anime-Nacht VOX, Fr. 18.5.01 ab 0:40 Uhr (Asuka, 30. Apr 2001, 14:55:00):
+~#! rn=Hate rt=988634343 rg=kultur
+~#! tid=988570380
+Originalausgaben sollte eigentlich jede japanische Buchhandlung
+auftreiben koennen.
+Erfahrungen hab ich bis jetzt nur mit dem OCS in Frankfurt gemacht
+
+OCS (Overseas Courier Service)
+Grosse Gallusstr. 1-7
+60311 Frankfurt/Main
+Tel.:  (069) 294047
+Fax.:  (069) 281198
+
+In Berlin gibts noch das Yamashina
+Pestalozzistrasse 67
+10627 Berlin
+Tel/Fax: (030) 323 78 82
+
+In Duesseldorf gibts auch ne eine japanische Buchhandlung, da hab
+ich aber keine Adresse, ist aber im Mitsukoshi-Gebaeude zu finden.
+
+Und als letzes waer da noch 
+http://jpqueen.com/bookmart/bm2001/bmeng/default.asp?LANG=E
+Die versenden gebrauchte Manga auch ins Ausland. Ich hab da
+allerdings noch keine Erfahrung mit diesem Laden gemacht.
+
+Asuka
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Was hoert Linflas im Monat Mai? (Linflas,  1. Mai 2001, 00:52:18):
+Jaja, schon wieder Downbeats.
+
+Jaffa mit der Platte Elevator.
+
+Wieso? Nun, der Produzent David Kakon ist mit Jaffa sozusagen im Cafe del Mar,
+schaut also sozusagen auf den Strand, loungt da, und hoert "Blue Lines" von
+Massive Attack. 
+So und kaum anders ist dieses Album zu hoeren: exzellenter, moderner Jazz.
+
+Im Uebrigen bin ich da auch auf ein paar Sampler gestossen: Bassic Instinct
+heisst die Reihe. Bewegt sich im aehnlichen Ambiente wie Jaffa, doch hoert man
+eher Kruder & Dorfmeisters Zuege. Als Folge dieses Albums habe ich mir mal die
+Scheibe "Come touch the sun" von Mo'Horizons angehoert und muss feststellen:
+auch hoerenswert.
+
+Also, viel Spass beim lauschen!
+
+Linflas.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3703: Hach... nu is was drin, inner MPA. (Montanus,  1. Mai 2001, 23:06:21):
+~#! on=Montanus ot=988674106 og=megaschmarrn
+~#! rn=Isi rt=988636030 rg=megaschmarrn
+~#! tid=982328278
+Was issen hier los? 10 Stunden lang kein Posting? Da bekomme ich doch glatt
+den Blues. Und fuer Anatol und alle anderen Pianokuenstler hier die 20 Regeln
+zum Blues...
+
+THE 20 RULES FOR THE BLUES
+
+1 - Most Blues begin, "Woke up this morning..."
+
+2 - "I got a good woman" is a bad way to begin the Blues, 'less you stick
+something nasty in the next line like, "I got a good woman, with the meanest
+face in town."
+
+3 - The Blues is simple. After you get the first line right, repeat it. Then
+find something that rhymes...sort of: "Got a good woman with the meanest face
+in town. Yes, I got a good woman with the meanest face in town. Got teeth like
+Margaret Thatcher, and she weigh 500 pounds."
+
+4 - The Blues is not about choice. "You stuck in a ditch, you stuck in a ditch
+and there ain't no way out".
+
+5 - Blues cars: Chevys, Fords, Cadillacs and broken-down trucks. Blues don't
+travel in Volvos, BMWs, or Sport Utility Vehicles. Most Blues transportation
+is a Greyhound bus or a southbound train. Jet aircraft an' state-sponsored
+motor pools ain't even in the running. Walkin' plays a major part in the blues
+lifestyle. So does fixin' to die.
+
+6 - Teenagers can't sing the Blues. They ain't fixin' to die yet. Adults sing
+the Blues. In Blues, "adulthood" means being old enough to get the electric
+chair if you shoot a man in Memphis.
+
+7 - Blues can take place in New York City but not in Hawaii or any place in
+Canada. Hard times in Minneapolis or Seattle is probably just clinical
+depression. Chicago, St. Louis, and Kansas City are still the best places to
+have the Blues. You cannot have the blues in any place that don't get rain.
+
+8 - A man with male pattern baldness ain't the blues. But a woman with male
+pattern baldness is. Breaking your leg cause you're skiing is not the blues.
+But breaking your leg 'cause a alligator be chomping on it is.
+
+9 - You can't have no Blues in a office or a shopping mall. The lighting is
+wrong. Go outside to the parking lot or sit by the dumpster.
+
+10 - Good places for the Blues:
+ a) highway, b) jailhouse, c) empty bed, d) bottom of a whiskey glass
+ Bad places:
+ a) Dillard's, b) gallery openings, c) Ivy League institutions, d) golf
+courses
+
+11 - No one will believe it's the Blues if you wear a suit, 'less you happen
+to be a old ethnic person, and you slept in it.
+
+12 - Do you have the right to sing the Blues?
+ Yes, if:
+ a) you are older than dirt, 
+ b) you are blind, 
+ c) you shot a man in Memphis, 
+ d) you can't be satisfied
+ No, if:
+ a) you have all your teeth,, 
+ b) you were once blind but now can see 
+ c) the man in Memphis lived
+ d) you have a 401K or trust fund
+
+13 - Blues is not a matter of color. It's a matter of bad luck. Tiger Woods
+cannot sing the blues. Sonny Liston could. Ugly white people also got a leg up
+on the blues.
+
+14 - If you ask for water and your darlin' give you gasoline, it's the Blues.
+ Other acceptable Blues beverages are:
+ a) cheap wine, b) whiskey or bourbon, c) muddy water, d) nasty black coffee
+ The following are NOT Blues beverages:
+ a) Perrier, b) Chardonnay, c) Snapple, d) Slim Fast
+
+15 - If death occurs in a cheap motel or a shotgun shack, it's a Blues death.
+Stabbed in the back by a jealous lover is another Blues way to die. So is the
+electric chair, substance abuse, and dying lonely on a broken down cot. You
+can't have a Blues death if you die during a tennis match or getting
+liposuction.
+
+16 - Some Blues names for women:
+ a) Sadie, b) Big Mama, c) Bessie, d) Fat River Dumpling
+
+17 - Some Blues names for men:
+ a) Joe, b) Willie, c) Little Willie, d) Big Willie
+
+18 - Persons with names like Michelle, Amber, Debbie, and Heather can't sing
+the Blues no matter how many men they shoot in Memphis.
+
+19 - Make your own Blues name Starter Kit:
+ a) name of physical infirmity (Blind, Cripple, Lame, etc.)
+ b) first name (see above) plus name of fruit (Lemon, Lime, Kiwi, etc.)
+ c) last name of President (Jefferson, Johnson, Fillmore, etc.)
+ For example: Blind Lime Jefferson, Jakeleg Lemon Johnson or Cripple Kiwi
+Fillmore, etc. (Well, maybe not Kiwi.")
+
+20 - I don't care how tragic your life: if you own a computer, you cannot sing
+the blues.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Konzert (Mupfel, 15. Mai 2001, 20:00:46):
+Am Donnerstag spielen die Inchtabokatables in Osnabrueck auf der Maiwoche  um
+200:30 auf der Goldrush-Buehne Herrenteichswall, Naehe Harmannsbrunnen).
+Wir werden da sein, ihr auch? ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Konzert (Daria, 15. Mai 2001, 20:01:14):
+~#! rn=Mupfel rt=989949646 rg=kultur
+~#! tid=989949646
+Nee, die kann man ja nichtaussprechen...
+;-)
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Konzert (Mupfel, 15. Mai 2001, 20:01:56):
+~#! rn=Mupfel rt=989949646 rg=kultur
+~#! tid=989949646
+Aeh 20:30 ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Konzert (Grimmborn, 15. Mai 2001, 20:02:06):
+~#! rn=Daria rt=989949674 rg=kultur
+~#! tid=989949646
+Von der Uhrzeit ganz zu schweigen. Ich meine, "Dreiviertel Elf" kann ich
+mittlerweile uebersetzen, aber fuer 200:30 brauche ich den Taschenrechner...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+SMURF (Montanus, 15. Mai 2001, 20:20:58):
+
+http://www.forgottenfords.org/allyoursmurf.swf
+
+-----------------------------------------------------------------------------
+
+
+
+Was hoert Linflas im Monat Juni? (Linflas,  3. Jun 2001, 21:52:52):
+Es wird warm und Sommer, die Laune steigt und die Lust mal wieder ein
+Wochenende damit zu verbringen durch die Clubs der geliebten Stadt zu ziehen.
+Fehlt nur noch musikalische Motivator fuer einen schoenen Einstieg in den
+Abend:
+
+Fusion CD heisst die Platte der beiden Muenchener Roland Appel und Christian
+Prommer alias "Fauna Flash".
+
+Wer jetzt wieder ruhige, jazzige Rythmen erwartet wird von einer ganzen
+Bandbreite verschiedenster Beats ueberrascht sein. Zwar laesst sich die Naehe
+zu Peter Kruder aus Wien nicht leugnen - zusammen haben sie das Projekt
+"Voom:Voom" gestartet - doch lebt "Fusion" von herzhaftem, huepfendem
+Drum'n'Bass, staendig im Wandel, treibend. Von Kraft und Intelligenz
+vergleichbar mit Ian Pooleys Out-of-this-World-Album "Since Then", beweisen
+Fauna Flash das Drum'n'Bass kein Monopol der Englaender ist.
+
+Absolut hoerenswert.
+
+Linflas
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Vanion, 13. Jun 2001, 22:32:45):
+
+Dave Duncan: Des Koenigs Klingen - Die vergoldete Klinge
+
+Kategorie: Fantasy
+
+Klappentext:
+Als unerwuenschte, aufmuepfige Knaben fanden sie in der strengen Schule von
+Eisenburg Zuflucht. Jahre spaeter verliessen sie den Ort als die besten
+Schwertkaempfer des Reiches - als Klingen des Koenigs. Und die bedeutendste
+Klinge von allen war Sir Durendal. Seine Mission: Die Jagd nach einem Schatz,
+der jegliche Vorstellung uebersteigt.
+
+Meine Meinung zu dem Buch:
+Duncan hat den Bogen echt raus. Das Buch erzaehlt feinsinnig und einfuehlsam
+die Lebensgeschichte des oben erwaehnten Sir Durendal, jedoch ohne dabei
+kitschig oder albern zu werden. Das beste Stueck Fantasy, dass mir in letzer
+Zeit untergekommen ist.
+
+Mehr will ich dazu garnich sagen. Lest es, oder lasst es halt :)
+V*, hofft auf Fortsetzungen.
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Vanion, 14. Jun 2001, 22:23:21):
+Was haltet ihr davon, ein paar eurer Lieblingsbuecher, bzw. kuerzlich
+gelesene, hier vorzustellen. Ich suche dringend Lesestoff :)
+
+V*, kulturell bemueht und ueberhaupt nicht eigennuetzig :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Grimmborn, 14. Jun 2001, 22:41:32):
+~#! rn=Vanion rt=992550201 rg=kultur
+~#! tid=992550201
+White Teeth, von Zadie Smith.
+Grossartige Geschichte ueber zwei (eher drei) Familien in London waehrend der
+letzten 25 Jahre. Fesselnde Geschichte, manchmal vielleicht etwas verwirrend,
+und ein furioses Finale. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Sand, 15. Jun 2001, 01:09:00):
+~#! rn=Vanion rt=992550201 rg=kultur
+~#! tid=992550201
+Also vor kurzem gelesen hab ich: "ExTension, the 20-Minute-a-Day, Yoga-Based
+Program to Relax, Release & Rejuvenate the Average Stressed-Out
+Over-35-Year-Old Body" von Sam Dworkis. War ganz interessant.
+Sand
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Foobar, 15. Jun 2001, 01:13:41):
+~#! rn=Sand rt=992560140 rg=kultur
+~#! tid=992550201
+ Moin.
+
+ In der Sparte Nicht-Fantasy halt ich die Krimis von James Ellroy fuer
+besonders lesenswert.
+
+ Besonders "Die schwarze Dahlie" sowie "Stadt der Engel" (bzw. nach der
+Verfilmung als "L.A. Confidential" verlegt) sind zu empfehlen.
+
+ Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchempfehlung (Sand, 15. Jun 2001, 01:22:05):
+~#! rn=Foobar rt=992560421 rg=kultur
+~#! tid=992550201
+Krimis: Ellroy kann ich auch empfehlen. Eventuell Andrew Vachss. Irgendwie
+grausliche aber gute Geschichten. Oder was ganz was anderes: Wolf Haas (nur
+nicht "Ausgebremst") ein oesterreichischer Autor. Vielleicht zuerst in so ein
+Buch reinschauen, ich weiss nicht, ob ein deutscher Leser sowas gut findet.
+Nicht-Fantasy: Da finde ich "sendmail" von Costales/Allman ganz lustig.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Humni, 15. Jun 2001, 03:07:10):
+~#! rn=Sand rt=992560925 rg=kultur
+~#! tid=992550201
+OK mal was aus der klassischen Fantasy-Ecke:
+
+R.A. Salvatores Daemonendaemmerung-Serie. Ob der neueste Roman auch so gut ist
+weiss ich noch nicht, das verrate ich, wenn ich ihn durch habe. Wer Drizzt mag
+wird sich mit dem bisherigen Kram sicherlich anfreunden koennen. Und wer ihn
+nicht kennt: Ich kenne niemanden, der Kampfbeschreibungen so lebensecht
+produzieren kann.
+
+Und das Magiesystem der Daemonendaemmerung-Serie ist einfach nett.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchempfehlung (Isi, 15. Jun 2001, 09:22:06):
+~#! rn=Humni rt=992567230 rg=kultur
+~#! tid=992550201
+mhm also wenn das der ist wo ich aus versehen den zweiten Band 
+gekauft hab - ich fand den so droege, dass ich mich richtig zwingen
+musste das Buch zu Ende zu lesen, das passiert mir bei SF/Fantasy sonst
+nie ;) 
+Ansonsten kann ich Tad Williams empfehlen (Memory, sorrow an thorn
+fuer eher fantasy und Otherland (bisher 3/4 baenden erschienen) 
+fuer eher SF
+Isi (buecherwerfend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchempfehlung (Boing, 15. Jun 2001, 09:31:27):
+~#! rn=Isi rt=992589726 rg=kultur
+~#! tid=992550201
+Muss Dich korrigieren: Von Otherland sind alle 4 Baender schon erschienen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchempfehlung (Isi, 15. Jun 2001, 09:33:35):
+~#! rn=Boing rt=992590287 rg=kultur
+~#! tid=992550201
+oha, danke fuer die info :)
+jetzt muss ich mich enscheiden ob ich das Teil als hardcover nehm
+oder das warten kann bis es als taschenbuch rauskommt ;)
+Hardcover nehmen soviel Platz weg... *regale anguck*
+isi (umzugskartonswerfend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Grimmborn, 15. Jun 2001, 10:49:53):
+~#! rn=Isi rt=992590415 rg=kultur
+~#! tid=992550201
+Als Taschenbuch seit vielen Jahren gibt es Solaris von Stanislaw Lem. Auch
+wenn ich sonst wirklich kein SF-Fan bin: dieses Buch ist einfach grossartig.
+Nicht zuletzt auch sprachlich. Wenn es je einen Literaturnobelpreis fuer einen
+SF-Autor geben sollte ist Lem vermutlich der einzige ernstzunehmende Kandidat.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Vanion, 15. Jun 2001, 14:42:50):
+~#! rn=Isi rt=992590415 rg=kultur
+~#! tid=992550201
+Ja, Otherland steht auch auf meiner Todo(bzw Toread)-Liste. Leider gibt es die
+Uebersetzung noch nich als Taschenbuch :( Und mein schlechtes Englisch wuerd
+mir den Spass am Original verderben - Ich hab immernoch Williams 'Child of an
+Ancient City' bei mir liegen. Und so richtig dick is das Buch eigentlich nicht
+...
+
+V*, meist zu geizig, 50,- fuer ein Hardcover auszugeben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Schlips, 15. Jun 2001, 22:54:42):
+~#! rn=Grimmborn rt=992551292 rg=kultur
+~#! tid=992550201
+Fae Myenne Ng: Bone
+Sven Lager: Phosphor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Liafar, 15. Jun 2001, 23:07:42):
+~#! rn=Vanion rt=992550201 rg=kultur
+~#! tid=992550201
+Kuerzlich gelesen:
+
+Robert Jordan: RDZ - Die Herrschaft der Seanchaner (Bd 25)
+Christopher Zimmer: Die Steine der Wandlung
+Paulo Coelho: Handbuch des Kriegers des Lichts
+Neal Stephenson: Snowcrash
+
+Liafar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Anatol, 15. Jun 2001, 23:54:07):
+~#! rn=Liafar rt=992639262 rg=kultur
+~#! tid=992550201
+Das "Rad der Zeit" empfiehlt sich uebrigens auch auf Englisch, nicht nur
+aus Kostengruenden - ist aber fuer Neueinsteiger nicht zu empfehlen. Die
+Wheel-of-Time-Fans beklagen sich haeufig ueber das "Ich muss Band 1 bis
+N nochmal lesen, weil Band N+1 herausgekommen ist"-Syndrom. Es ist doch
+eine arg komplexe Welt, Gut und Boese gleichermassen reich bestueckt
+und eine Grauzone gibt es auch ;).
+
+Da noch nichteinmal alle Boesewichte offen im Spiel sind, ist noch nicht
+auf ein Ende der Reihe zu hoffen. Im Englischen ist man grade bei Band
+IX (geniales Finish), es wird bei X nicht Schluss sein.
+
+
+Die Charaktere nicht ganz so detailliert beschreibend ist auch das 
+"Sword of Truth" schoene englischsprachige Fantasy, die sich, verglichen
+mit WoT, leichter lesen laesst, hinsichtlich Handlung staerker auf die
+Tube drueckt und, sehr zum Vorteil des Lesers, nach jedem Band mehr oder
+minder abgeschlossen. Den letzten Band (6?) habe ich noch nicht gelesen,
+die Reihe haette, von meinem Eindruck her, nach Band 4 beendet sein 
+koennen.... nunja. Auch Terry Goodkind muss von etwas leben.
+
+
+Wo wir schon bei Terry sind... Terry Brooks ("Shannara") ist uebrigens
+nicht so sehr zu empfehlen. Hat zumindest mir gar nicht gefallen.
+
+
+Eine leichte Kurve aus der Fantasy macht Barbara Hambly mit der Sage um
+Darwath (Time of the Dark, The Walls of Air, The Armies of Daylight), die
+sich auch im Deutschen sehr gut liest.
+
+
+Noch kurviger wirds mit Matt Ruff. Der Autor geht sehr sparsam mit Buechern
+um, er hat zwischen seinem Erstlingswerk ("Fool on the hill", heisst auch
+im Deutschen so) und seinem zweiten Buch mehrere Jahre verstreichen lassen.
+Was den "Fool" angeht, wurde er mal als Geheimtip gehandelt, aber ist 
+inzwischen doch recht bekannt. Auf jeden Fall lesenswert, wenn man nichts
+gegen ein munteres Gemisch aus Liebesgeschichte, Hundeleben, Elfenkriege
+und Studententum hat. Eines meiner Lieblingsbuecher. -- Auch "G.A.S.", das
+zweite Buch von Ruff, gefaellt mir. Es hat mit dem ersten nichts gemeinsam,
+gehoert eigentlich mehr ins SF-Genre, spielt aber in so naher Zukunft, dass
+es nicht auffaellt. Ist nur fuer Leute zu empfehlen, die mit abgedrehten
+Stories klarkommen... aber dann heiss ;). Im Englischen heisst dieses
+Buch "Sewers, Gas & Electric".
+
+Anatol, wirft einen Blick ins Buecherregal
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Gorog, 16. Jun 2001, 02:17:16):
+~#! rn=Isi rt=992590415 rg=kultur
+~#! tid=992550201
+Das Ding is gluecklicher Weise gleich als Paperback auf den Markt gekommen (;
+
+Gorog, das schon vor nem Monat oder zwei erwaehnt habend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Alboin, 16. Jun 2001, 23:46:04):
+~#! rn=Liafar rt=992639262 rg=kultur
+~#! tid=992550201
+wenn schon Paul Coelho dann auch DAS Buch von ihm:
+Der Alchemist 
+zu Grimmis Emfehlung: Solaris ist auch super, Tarkowskij hat es uebrigens
+verfilmt und ich will ihn mir demnaechst mal angucken.
+Meine ganz aktuelle persoenliche Empfehlung: Engel- eine kosmische Intelligenz
+Nein das ist nicht der gewoehnliche Esoterik schnick-schnack den man sonst
+geboten bekommt, sondern es sind Dialoge zwischen dem Biologen Ruppert
+Sheldrake und dem Theologen Matthew Fox. Anhand von Bibelstellen und neuesten
+wissenschaftlichen Erkenntnissen kommen sie zu der Ansicht das das
+Vorhandensein von Engeln vielleicht realistischer ist, als man heutzutage
+glaubt. Natuerlich hat das nichts mit den frueheren kitschigen Darstellungen
+kleiner dicklicher gefluegelter Wesen zu tun.
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchempfehlung (Foobar, 17. Jun 2001, 01:01:18):
+~#! rn=Alboin rt=992727964 rg=kultur
+~#! tid=992550201
+"kleine dickliche gefluegelte Wesen"
+
+So sehen doch Elfen aus ;o)
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Anacrion, 17. Jun 2001, 03:36:52):
+~#! rn=Foobar rt=992732478 rg=kultur
+~#! tid=992550201
+Vielleicht die Elfen in den Sagen der Zwerge ...
+
+... die Zwerge die die Sagen erfunden haben, wollten halt nicht zugeben, dass
+man nicht klein und dick sein MUSS wie die Zwerge es sind.
+
+Anac* - Elf, gutgebaut, intelligent, aber nicht ledig ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchempfehlung (Anatol, 17. Jun 2001, 03:54:12):
+~#! rn=Anacrion rt=992741812 rg=kultur
+~#! tid=992550201
+Andersherum, Anacrion. Zwerge, man hoere und staune, sind im Prinzip auch
+Elfen (im Sinne von "Elben"). 'Schwarzelben'. Die Bedeutung des Namens
+Alberich ist ja auch "Elbenkoenig", nicht "Zwergenbartzupfer".
+
+Das kommt davon, wenn man ins Germanische und nicht ins Tolkieneske Buch
+kuckt. Sollte man besser lassen. Als Elf zumindest. *schuettel*
+
+Ana*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchempfehlung (Anacrion, 17. Jun 2001, 03:55:26):
+~#! rn=Anatol rt=992742852 rg=kultur
+~#! tid=992550201
+Eben. 
+
+Anac* - hat das germanische Buch weit weg gelegt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchempfehlung (Solmyr, 17. Jun 2001, 08:29:26):
+~#! rn=Anacrion rt=992742926 rg=kultur
+~#! tid=992550201
+Ich empfehle mal 'Pipi Langstrumpf im Taka Tuka Land' und 'Mein allererstes
+Malbuch' :) Denke, dass laesst sich hier in der Reihe ganz gut unter-
+bringen, ne Anatol ?! :)
+
+Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+LotR-Uebersetzung (Liara, 17. Jun 2001, 17:22:28):
+Moins.
+
+Habe mal bei Amazon u. ae. gestoebert und zu meinem Erstaunen festgestellt,
+dass so einige Uebersetzungen vom Herrn der Ringe ins Deutsche im Handel sind.
+Sogar Klett-Cotta bietet 2 verschiedene an ...
+Hat da jemand Erfahrung mit? (Auch was die Ausstattung der Buecher betrifft?)
+
+Gruesse, Liara
+
+P. S.: Ja, ich weiss, das Original ist sicher das Beste, aber darum geht's
+grade nicht. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: LotR-Uebersetzung (Liara, 17. Jun 2001, 18:10:07):
+~#! rn=Liara rt=992791348 rg=kultur
+~#! tid=992791348
+Ok, wo ich grade dabei bin ... ;-)
+Wie sieht es mit den englischen Ausgaben aus? (Hardcover oder Paperback?)
+Welche sind empfehlenswert?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: LotR-Uebersetzung (Gorog, 17. Jun 2001, 18:17:38):
+~#! rn=Gorog rt=992794567 rg=kultur
+~#! tid=992791348
+Moins
+Zu den HdR-Buechern. Die KlettKotta sind eigentlich ganz gut und wohl auch die
+am weitesten verbreitesten. Das sind naemlich die nicht wirklich huebschen
+gruenen Dinger im Schuber. Der Anhang is dann auch nciht komplett dabei, aber
+der kann wenns gewuenscht ist gesondert erworben werden. Aber man sollte drauf
+achten die alte Uebersetzung zu bekommen, da die neue wohl ziemlich viele
+Schnitzer haben soll. (Umgangssprache aus der heutigen Ziet, Namensaenderungen
+etc.) Die gute Uebersetzung is uebrigens von Margarte Carroux. 
+Mit viel Glueck bekommst du noch die Jubilaeumsausgabe von KlettKotta. Schuber
+und gebunden, zum gleichen Preis wie die oben erwaehnten.
+
+Viel Spass beim Suchen.
+
+mfGorog
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Apsu, 17. Jun 2001, 19:18:23):
+~#! rn=Foobar rt=992732478 rg=kultur
+~#! tid=992550201
+oder kleine uebergewichtige kannibalische Feen :)
+Apsu, schielt zu Grellgen rueber *GG*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: LotR-Uebersetzung (Troy, 18. Jun 2001, 08:48:59):
+~#! rn=Liara rt=992794207 rg=kultur
+~#! tid=992791348
+Tja. Da sind die heutigen Baende leider alle etwas grottig. Im Original
+sprachen die Elfen noch ein Shakespearean (d. h. altes) Englisch schoen
+mit thou und thee gespickt. Das wurde aber schon zu Beginn der 1960er
+angepasst. Ansonsten gibts, was das Original angeht eh nur eine Adresse,
+da Christopher Tolkien (der Sohn von J.R.R. Tolkien) alle Rechte daran
+haelt und es auch selbst herausgibt. Daher sind die englischen Texte auch
+austauschbar, egal, welcher Verlag es tut. HarperCollins hat die
+schoensten Hardcover, aber wenns darauf nicht ankommt, kannste mal bei
+Bantam Del Rey schauen oder auch bei Houghton Mifflin Company. Die
+Hoerversion (9 CDs englisch; 10 CDs deutsch) gibts bei mir gegen 10
+700er Rohlinge auf Anfrage.
+
+Troy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Zarniya, 27. Jun 2001, 09:38:32):
+~#! rn=Solmyr rt=992759366 rg=kultur
+~#! tid=992550201
+Hi, 
+
+die Antwort auf diesen Artikel ist vollkommen willkuerlich,...
+
+Also wenn einer wirklich kraeftig abgrinsen will, dann kann ich nur Robert
+Rankin empfehlen... Es ist uebrigens von Vorteil, die Buecher dann in der
+richtigen Reihenfolge zu lesen, aber nicht zwingend... Wenn man es nicht tut,
+ueberliesst man halt nur 20% der Gags des Meister des Runnning Gags und das
+Anspielung... 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Buchempfehlung (Daria, 27. Jun 2001, 11:45:54):
+~#! rn=Zarniya rt=993627512 rg=kultur
+~#! tid=992550201
+Was ist denn die richtige Reihenfolge?
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Buchempfehlung (Zarniya, 27. Jun 2001, 11:49:26):
+~#! rn=Daria rt=993635154 rg=kultur
+~#! tid=992550201
+
+Hi, 
+
+1. Hugo Rune Zyclus
+2. Garten der unirdischen Gelueste
+3. Bentford Trilogie (in ca. 5 Teilen)
+4. Armageddon Trilogie (in hoffentlich 3 Teilen)
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Buchempfehlung (Boing, 27. Jun 2001, 11:55:51):
+~#! rn=Zarniya rt=993635366 rg=kultur
+~#! tid=992550201
+Und unbedingt die englische Version lesen ... die Deutsche ist durchzogen
+von unsaeglichen 'lustigen' Fussnoten des Uebersetzers und Lektors ... Haha
+sag ich da nur.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Buchempfehlung (Zarniya, 27. Jun 2001, 12:01:16):
+~#! rn=Boing rt=993635751 rg=kultur
+~#! tid=992550201
+
+Hi, 
+
+naja.. also nur im Bentford Teil sind diese Fussnoten wirklich extrem... auf
+der anderen Seite sind sie mit Rankin abgesprochen und man muss sie ja nicht
+wirklich lesen... Immerhin hat Rankin die beiden Fussnotenstreithaehne Merz
+und Bauer zur Strafe auch in einen der Romane als Figuren eingebaut. Im
+Kettenlaedenmassaker glaub ich kommen ein Tuersteher und ein irrer Arzt vor,
+die den Deppen entsprechen.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Buchempfehlung (Boing, 27. Jun 2001, 12:04:14):
+~#! rn=Zarniya rt=993636076 rg=kultur
+~#! tid=992550201
+Es hat noch einen Vorteil die Buecher auf englisch zu lesen: Man hat eine
+viel groessere Auswahl. Massig Buecher von ihm wurden noch gar nicht
+uebersetzt. Auch die Armageddon-Triologie die gerade ins Deutsche uebersetzt
+wird ist eigentlich schon uralt.
+Und wer moechte sich schon so schoene Buecher wie 'A Dog called Demolition'
+oder 'Nostradamus ate my Hamster' entgehen lassen ...? :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Buchempfehlung (Apsu,  1. Jul 2001, 12:07:10):
+~#! rn=Zarniya rt=993635366 rg=kultur
+~#! tid=992550201
+Seit wann hat ne trilogie 5 teile? *GG*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Buchempfehlung (Ringor,  1. Jul 2001, 12:07:32):
+~#! rn=Apsu rt=993982030 rg=kultur
+~#! tid=992550201
+Seit Douglas Adams.
+
+Ringor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Buchempfehlung (Catweazle,  2. Jul 2001, 08:58:46):
+~#! rn=Apsu rt=993982030 rg=kultur
+~#! tid=992550201
+Ich hasse zwar 'me, too'-Artikel, aber diesmal muss es echt sein. Hier also
+die Antwort:
+
+Seit Douglas Adams.
+
+Wenn Du das nicht weisst, hast du hier echt nix verloren ;-)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Buchempfehlung (Maximilian,  3. Jul 2001, 19:02:14):
+~#! rn=Catweazle rt=994057126 rg=kultur
+~#! tid=992550201
+In memoriam (jaja).
+
+
+Aber mein Tipp ist was gaaaanz altes:
+
+Der buchstaebliche "Erfinder" des Essays: Michel (de) Montaigne.
+Alles herrlich zu lesen.
+
+*winks*
+Maximilian
+
+-----------------------------------------------------------------------------
+
+
+
+Records of Lodoss War (Gorog,  4. Jul 2001, 15:03:00):
+Sodele, Vox bringt wieder Animes. Und zwar hauptsaechlich die im Titel
+genannten Fantasy-Anime. Is ne prima Sache und sollte man sich nciht entgehn
+lassen. Jeweils Montag kurz vor Mitternacht (4 Wochen in Folge). 
+
+mfG Gorog
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Ancalagon,  4. Jul 2001, 22:00:33):
+~#! rn=Solmyr rt=992759366 rg=kultur
+~#! tid=992550201
+Tagchenknuddels!
+Tagchenknuddels!
+IMHO sind fast alle Werke Astrid Lindgrens sehr lesenswert!!! :)
+Ancalagon
+OA(frischt gerade seine Kinderbuchkenntnisse wieder auf, umd fuer sein
+Kleinchen schon mal einen Grundstock anzulegen...) :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Records of Lodoss War (Strohalm,  4. Jul 2001, 23:43:05):
+~#! rn=Gorog rt=994251780 rg=kultur
+~#! tid=994251780
+Kann ich auch nur empfehlen.
+
+Haelmchen, schonmal Videorecorder programmierend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Buchempfehlung (Schwubbel,  6. Jul 2001, 23:23:29):
+~#! rn=Ancalagon rt=994276833 rg=kultur
+~#! tid=992550201
+Astrid Lindgren? Kann ich nur bestaetigen. Hab vor einiger Zeit erstmals Pippi
+Langstrumpf in Buchform gelesen. Gefiel mir ueberraschend gut, wenn ich
+dagegen an diese bescheuerten Inger-Nilsson-Filme denke, argh.
+Bloss mit Karlson vom Dach (das Bier?) kannste mich jagen. hab ich als Kind
+angefangen zu lesen, und nach 40 Seiten aufgehoert, weil mir der Kerl sowas
+von unsympathisch war...
+
+Schwubbel (nostalgisch)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Records of Lodoss War (Solmyr,  9. Jul 2001, 08:11:15):
+~#! rn=Gorog rt=994251780 rg=kultur
+~#! tid=994251780
+Hmm, ich habe grade 'Akira' gezogen :) Der ist recht gut gewesen.
+
+Gruss Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+Musiktip des Monats July (Sublime,  9. Jul 2001, 10:44:15):
+So, da wir schon seit etwas laengerer Zeit keinen "aktuellen"
+Musiktip mehr hatten, habe ich mich mal ans Werk gemacht und
+aus alten Deutschpunkbestaenden die besten und einpraegsamsten
+Werke herausgefiltert. Moege es Euch eine gute Einfuehrung
+oder auch Wiederkehr in die Welt des deutschen Aufstandes sein.
+
+Das Praedikat 'Besonders wertvoll' erhalten von mir 'Die
+Kassierer', sind sie doch Schoeper solch grossartiger Werke
+wie 'Ich toete meinen Nachbarn und verpruegle seine Leiche'
+oder 'Ich urinier in den kopflosen Rumpf von Uwe Sehler, wie
+auch 'Gleich reiss ich Dir den Sack ab!'.
+In der Kategorie 4 Sterne sind 'Die angefahrenen Schulkinder'
+zu nennen, Schoepfer solch melodioeser Baladen wie z.Bsp.
+Toetet Onkel Dittmeyer oder auch 'Trefft Euch doch zum
+(darf ichs nun sagen oder nicht)f*).
+3 Sterne bekommen bei mir die 'Abstuerzenden Brieftauben',
+Komponisten solch grandioser Operetten wie beispielsweise
+'Taubenvergiften im Park'.
+In die 2 Sterne Kategorie finden immerhin noch die Terror-
+gruppe Ihren Platz, mit Werken wie 'All Cops are Bastards' oder
+auch 'Omas malen Opas Pornobilder'.
+Die 1 Sterne Kategorie wird angefuehrt von Wizo, z.Teil. wegen
+einfallsloser Titelgestaltung a la 'Unemployed', 'Klebstoff'
+oder 'Ich hab mit Tocotronic Bier getrunken' (wer mag schon
+diese Hamburger Schule?), zum anderen Teil aber auch wegen
+dem ausgelutschten 'nicht'(jaja)kommerziellen Haltung der
+Band selber.
+
+edit
+Ich haette ficken nicht mit f* abkuerzen sollen, ueberlegt man
+sich einfach mal, wie oft amerikanische "Musiker" (das ist
+Definitionssache) das herrlichklingende Wort 'f*' :) in die
+Menge droehnen. Ach, und kommt mir nicht mit der Masche,
+so'n Scheiss hoer ich ja auch nicht, die ganzen rockigeren
+Bands nehmen 'fuck' :) noch viel oefter in den Mund.
+
+Mit den allerfreundlichsten Gruessen
+Solmyr
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Musiktip des Monats July (Humni,  9. Jul 2001, 11:11:45):
+~#! rn=Sublime rt=994668255 rg=kultur
+~#! tid=994668255
+He Sublime,
+
+Du solltest fair sein und erwaehnen, dass ,,Gleich reiss ich Dir den Sack ab''
+genauso wie ,,Morgen weide ich Deinen Vater aus'' Instrumentalstuecke sind.
+Die Leute sind sonst immer so enttaeuscht, wenn sie keinen Text zu solchen
+Titeln hoeren...
+
+Humni, war kuerzlich erst auf einem ihrer Konzerte.
+PS:Taubenvergiften im Park ist keineswegs von den Abstuerzenden Brieftauben.
+Oder die haben ein eigenes Lied geschrieben. Soweit ich weiss ist das von
+Georg Kreissler, korrigiert mich, wenn ich da falsch liegen sollte.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Musiktip des Monats July (Solmyr,  9. Jul 2001, 11:25:47):
+~#! rn=Humni rt=994669905 rg=kultur
+~#! tid=994668255
+Hu Humni,
+
+also 'der Song 'Taubenvergiften im Park' ist wirklich von 
+den Abstuerzenden Brieftauben. In diesem langen Artikel
+habe ich aber voelleig vergessen einen weiteren Song
+der Kassierer zu erwaehnen, 'Hans Meiser ist 'ne Pimmelfrau'
+ist auch recht anhoerlich.
+
+Gruss
+Solmyr
+
+Ps : Vielleicht covern die AB's ja? Doch koennte ich mir
+das nicht so recht vorstellen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Musiktip des Monats July (Grimmborn,  9. Jul 2001, 11:53:03):
+~#! rn=Solmyr rt=994670747 rg=kultur
+~#! tid=994668255
+Der Song "Tauben vergiften im Park" ist von Georg Kreisler, und zwar schon aus
+den 60ern. Es gibt eine nette englische Version von Tom Lehrer (kennt den
+jemand ausser mir? Vermutlich nicht) "Poisoning Pigeons in the Park". Und wenn
+die AB's das singen ist das entweder eine Coverversion oder ein unabhaengiges
+Lied das zufaellig denselben Titel hat.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Musiktip des Monats July (Montanus,  9. Jul 2001, 16:54:19):
+~#! rn=Sublime rt=994668255 rg=kultur
+~#! tid=994668255
+Solmyr,
+
+Du bekommst 5 Sterne deluxe als absolute Kulturbanause.
+Wer es hinbekommt, "Taubenvergiften im Park"  als Komposition einer
+pubertaeren Moechtegernpunkband wie den Brieftauben unterzuschieben, wo doch
+JEDER weiss, dass das einer der alten Klassiker von Georg kreisler ist... dem
+ist echt nicht mehr zu helfen.
+Sorry, aber sowas darf einem einfach nicht passieren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Musiktip des Monats July (Apsu,  9. Jul 2001, 17:18:00):
+~#! rn=Solmyr rt=994670747 rg=kultur
+~#! tid=994668255
+Mit dem Song 'Tauben vergiften im Park' hat Georg Kreissler schon angeeckt,
+als die abstuerzenden Brieftauben noch nicht mal in ihre Nietenlederwindeln
+pupten.
+
+Apsu, hat so ziemlich alles von Kreissler
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Records of Lodoss War (Strohalm,  9. Jul 2001, 20:48:40):
+~#! rn=Solmyr rt=994659075 rg=kultur
+~#! tid=994251780
+stecke alle Saeuremagiewesen im raum in geldboerse
+kobold aus
+Ungeschnittenes Original?
+
+stecke alle Saeuremagiewesen im raum in geldboerse
+kobold aus
+stecke alle Saeuremagiewesen im raum in geldboerse
+kobold aus
+Haelmchen, selbiges verzweifelnd suchend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Records of Lodoss War (Strohalm,  9. Jul 2001, 20:50:08):
+~#! rn=Strohalm rt=994704520 rg=kultur
+~#! tid=994251780
+mein tf war besoffen beim schreiben des artikels ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Records of Lodoss War (Ark,  9. Jul 2001, 21:12:10):
+~#! rn=Strohalm rt=994704608 rg=kultur
+~#! tid=994251780
+Selbst Verantwortung fuer Dein dubioses Treiben willst Du aber nicht
+uebernehmen, oder? Schlecht programmierte Monster, wenn sowas geht ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Musiktip des Monats July (Gnome,  9. Jul 2001, 23:09:43):
+~#! rn=Sublime rt=994668255 rg=kultur
+~#! tid=994668255
+die namen der lieder (lieder? haha...) lassen entweder auf eine kranke
+psyche oder auf ein vorpubertaeres gehabe schliessen. oder beides?
+vielleicht solltest du aber bei deinen 'tips' darauf achten, dass die
+mehrzahl der mudder schon ueber 15 ist. okok, zumindest physisch. :)
+
+damit ich hier nicht ganz offtopic gehe, noch schnell einen echten tip
+hinterhergeworfen: die neue scheibe von placebo 'black market music'
+ist zwar nicht mehr ganz so neu, dafuer aber umso hoerenswerter.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Musiktip des Monats July (Linflas,  9. Jul 2001, 23:48:18):
+~#! rn=Gnome rt=994712983 rg=kultur
+~#! tid=994668255
+Hmmmm, ein Glueck das Geschmaecker verschieden sind, aber das muss ja niemand
+Gnome auf die Nase binden ;-).
+Im Ubrigen frage ich mich wie man zu solch kuriosen Namen finden kann. Mich
+beschleicht das Gefuehl die leute lesen zu viel Max Goldt. Aber wenn wir schon
+dabei sind, frage ich mal in die Runde ob es die Titel: "Mein Aschenbecher
+quillt wieder mal ueber" und/oder "Die Butter im meinem Kuehlschrank schmeckt
+ranzig", respektive "Wieso muss ich in die Kueche gehen, um meinen Humpen
+fuellen zu muessen?" schon gibt, oder ob ich da jetzt Copyright drauf habe?!
+
+Linflas laesst seinen Tip noch folgen, wenn er Zeit hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Musiktip des Monats July (Solmyr, 10. Jul 2001, 00:27:23):
+~#! rn=Linflas rt=994715298 rg=kultur
+~#! tid=994668255
+So, meine kleine Anarchopunk-Zeit fuer heute ist vorbei, im
+Angebot staende noch die neue Cd von 'Weezer' (ohne Namen).
+Ich habe die mal wieder auf'm Hurricane Festival gesehen und
+kann nur sagen, angenehm rockig, etwas surflastig mit Indie
+Pop Inhalten.
+
+Gruss
+Solmyr, freuend, endlich mal wieder Leben in die Bude gebracht
+zu haben :)
+
+-----------------------------------------------------------------------------
+
+
+
+fuer Star Wars fans (Montanus, 13. Jul 2001, 19:08:46):
+nur ein Link, schaut selber nach ;-)
+
+http://www.ifilm.com/ifilm/product/film_info/0,3699,1404093,00.html
+
+Ich fands witzisch (c) Ark
+
+-----------------------------------------------------------------------------
+
+
+
+Kino (Liara, 15. Jul 2001, 01:23:56):
+Fuer 'Shrek'-Fans:
+
+http://www.bildschirmschoner.de/savers/content/DContent0354.html
+
+
+Gruesse,
+LSZZ
+
+-----------------------------------------------------------------------------
+
+
+
+gedanken, gedicht, oder so (Grimmborn, 23. Jul 2001, 21:26:47):
+~#! on=Roland ot=995915764 og=allgemeines
+Fuer Bille!
+
+Ich weis das du das nie lesen wirst, weil du nie im mud bist.
+Ich weis das du eigendlich garnicht im netz bist, aber tich muss dies jetzt
+doch schreiben ... egal was kommt.
+
+Alkohol :)
+
+Alkohol macht birne hohl.
+Alkohol macht birne frei.
+Alkohol macht fehler
+Alkohol macht unbezwungen.
+Alkohol hat es verursacht.
+Alkohol hat ich zu viel
+oehm du aber auch wie mir scheint.
+denn als ich am naechsten tag,
+deinen suessen koerper neben mir liegen sah,
+ich weis nicht ... es war um mich geschen,
+deine augen oefnetten sich langsam ... 
+und da geschah es... 
+Nuechtern .. und mich traf der Blitz.
+Nuchter ... und ich sah dich trafs auch.
+
+und dann ... was war gesehen ... was war ?
+ich wuste nix ... und du ?
+
+Ich weis nur eins ... 
+
+Damals! lang wars her ...
+Hab ich mich in dich verliebt ... 
+und weist du was... 
+es soll kein ende nehmen...
+und immer so weiter gehen wie heut ... 
+
+Auch wenn es ein komisch umstand war ... 
+egal ... 
+
+bist mein ... 
+fein
+
+
+
+Bille ... HdL ... Roland
+
+-----------------------------------------------------------------------------
+
+
+
+Re: gedanken, gedicht, oder so (Linflas, 23. Jul 2001, 21:51:21):
+~#! rn=Grimmborn rt=995916407 rg=kultur
+~#! tid=995916407
+Linflas fuegt hier jetzt einfach mal nichts hinzu ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: gedanken, gedicht, oder so (Wurzel, 23. Jul 2001, 21:59:34):
+~#! rn=Linflas rt=995917881 rg=kultur
+~#! tid=995916407
+noch nicht mal einen sinnfreien artikel?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: gedanken, gedicht, oder so (Linflas, 24. Jul 2001, 00:36:57):
+~#! rn=Wurzel rt=995918374 rg=kultur
+~#! tid=995916407
+Ja.
+
+-----------------------------------------------------------------------------
+
+
+
+Der Bundesdance (Solmyr,  2. Aug 2001, 23:14:03):
+Hi,
+
+soviel zum Thema : Ich liebe Deutschland und die 3 grossen Parteien :)
+ http://www.sueddeutsche.de/sz/kultur/bundesdance/start.html
+Ich habe wirklich herzlich gelacht, ... unbedingt mal  reinschaun.
+
+Gruss Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Bundesdance (Troy,  3. Aug 2001, 10:02:09):
+~#! rn=Solmyr rt=996786843 rg=kultur
+~#! tid=996786843
+Mittlerweile ist der aber schon recht alt (Der war hier schon mindestens
+einmal gepostet worden unter www (wo er eigentlich hingehoert).
+
+Troy
+
+-----------------------------------------------------------------------------
+
+
+
+Bildet euch! (Linflas,  4. Aug 2001, 13:55:07):
+Meine lieben belesenen Mudder,
+
+Ungewohnterweise gab es von mir seit langem keinen CD-Tip mehr. Gruende dafuer
+nenne ich keine moechte aber mal einen kleinen Buchtip angeben: "Buntspecht"
+von Tom Robbins.
+Der Klappentext:
+"Zerreiss das Cellophan.
+Geh meilenweit durch die Wueste des Aberwitzes.
+kletter auf die Pyramide.
+Heul den Mond an!"
+
+Dieses Buch offenbart den Widerspruch zwischen sozialem Engagement und
+individueller Romantik, die Frage nach dem Zweck des Mondes, den Unterschied
+zwischen einem "Outlaw" und einem Allerweltsbanditen, kurz: das Problem der
+Liebe am Ende des 20. Jahrhunderts. Dass es bei alldem auch um das Problem der
+Rothaarigen geht, sollte hier nicht vorenthalten werden.
+
+Linflas, hat kein rotes Haar.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bildet euch! (Wurzel,  4. Aug 2001, 13:56:28):
+~#! rn=Linflas rt=996926107 rg=kultur
+~#! tid=996926107
+die wueste des aberwitzes? ich dachte immer, das waere hier im morgengrauen..
+ist der autor ein mudder?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bildet euch! (Grimmborn,  4. Aug 2001, 14:02:33):
+~#! rn=Wurzel rt=996926188 rg=kultur
+~#! tid=996926107
+Nein, das was hier im MG ist ist die Wueste von Dancer. Bring das bitte nicht
+durcheinander.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bildet euch! (Linflas,  4. Aug 2001, 16:40:08):
+~#! rn=Grimmborn rt=996926553 rg=kultur
+~#! tid=996926107
+Na und Mudder ist der Autor meines Wissens nach nicht, wohnt aber in einem
+Baumhaus. Was auch genauso eigenartig ist, wie sich seine Zeit in einem
+Textbasierenden Computerrollenspiel zu vertreiben.
+Ausserdem beantwortet das Buch die Frage nach dem Sinn von Pyramiden _und_
+erklaert nebenher Douglas Adams Einleitung "Alles was passiert - passiert".
+Viel Spass damit :-)
+
+Linflas
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9004: Hach... nu is was drin, inner MPA. (Montanus, 15. Aug 2001, 19:19:32):
+~#! on=Montanus ot=997895896 og=megaschmarrn
+~#! rn=Perdita rt=997895679 rg=megaschmarrn
+~#! tid=982328278
+ottos mops
+
+                                                                            
+
+                                                     ottos mops trotzt
+
+                                                  otto: fort mops fort
+
+                                                ottos mops hopst fort
+
+                                                               otto: soso
+
+                                                                            
+
+                                                          otto holt koks
+
+                                                          otto holt obst
+
+                                                             otto horcht
+
+                                                      otto: mops mops
+
+                                                               otto hofft
+
+                                                                            
+
+                                                     ottos mops klopft
+
+                                            otto: komm mops komm
+
+                                                   ottos mops kommt
+
+                                                      ottos mops kotzt
+
+                                                        otto: ogottogot
+
+ 
+
+Ernst Jandl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9005: Hach... nu is was drin, inner MPA. (Zook, 15. Aug 2001, 19:25:41):
+~#! rn=Montanus rt=997895972 rg=kultur
+~#! tid=982328278
+Hey.... nun bekommen die unsere Kultur-Artikel schon frei Haus zu sehen?
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+www.nett (Montanus, 20. Aug 2001, 22:59:21):
+Ob das hierher, nach Balance, nach www, nach Gejammer oder Megaschmarrn
+gehoert, mag jeder selber entscheiden:
+
+http://www.killfrog.com/00/fluff.html
+
+Viel Spass. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: www.nett (Grimmborn, 20. Aug 2001, 23:01:22):
+~#! rn=Montanus rt=998341161 rg=kultur
+~#! tid=998341161
+Lustig, killt kommentarlos meinen Browser...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: www.nett (Montanus, 20. Aug 2001, 23:03:50):
+~#! rn=Grimmborn rt=998341282 rg=kultur
+~#! tid=998341161
+Oh, ich haette dazuschreiben sollen, dass das wahrscheinlich Netscape braucht
+und Mosaic *garantiert* zu alt ist. :-)
+
+-----------------------------------------------------------------------------
+
+
+
+CD des Monats (Linflas, 24. Aug 2001, 13:15:12):
+Bjoerk - Vespertine
+ 
+Du weisst nie, was Dich hinter der naechsten Ecke erwartet
+ 
+Bei Bjoerk scheiden sich seit ihrem Album "Debut" 1993 die Geister. Dennoch,
+oder eben darum, ist sie eine der talentiertesten Musikerinnen unserer Zeit.
+Und wie es seitdem schon ist, ueberrascht sie mit jedem neuen Album.
+"Vespertine" ist anders: klein, leise, minimal. Die Melodie ist verspielt,
+plaetschert gegen das Trommelfell wie ein warmer Sommerregen im Wald -
+ploetzlich verirrt sich ein Sonnenstrahl durch das Blattwerk.
+Bjoerk bewegt sich auf diesem Album zwischen choralen, musicalaehnlichen
+Gesaengen ("An Echo A Stain") und kleinen, treibenden, bei Drum'n'Bass
+angelehnten Stuecken ("Heirloom"), ihre Stimme stets im Vordergrund. Kleine
+Glockenspiele unterstuetzen die Melancholie ("Harm of will") und bei genauem
+hinhoeren laechelt sie auch ("Unison"). 
+Bjoerk ist wie immer: gewoehnungsbeduerftig und neu, nie klar zu definieren,
+immer ein emotionales Erlebnis. Ein kleines Zauberwerk fuer ruhige, versunkene
+Momente mit einem Silberstreif am Horizont.
+ 
+Label: Polydor
+
+Linflas, immer das neuste, immer das schoenste ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+die eigentliche CD des Monats (Zarniya, 27. Aug 2001, 08:03:58):
+
+Hi, 
+
+heute ist der Tag der deutschen Musik in den CD Laeden, und damit meine ich
+nciht die neue CD von PUR, die sich sicher wie deppert verkauft... NEIN, heute
+erscheint auch die neue CD von den WISE GUYS !!! Derzeit stehen diese Jungs
+oben auf der Erfolgswelle und das verdientermassen, haben sie doch als a
+capella gruppe 2 Songs in den Top100.
+
+Marc raet zum blinden Kauf.
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ein CD Tip (Linflas, 27. Aug 2001, 13:52:24):
+Und fuer die Freunde elekronischer UNterhlatungsmusik habe ich hier einen
+kleinen Tip gefunden:
+
+"Out of Focus" von Morphem.
+
+Morphem wird dem ein oder anderen geneigten Leser vielleicht als der
+PsyTrance-Akt schlechthin bekannt sein, dessen Singles wahrhaft goettliche
+Ektase hervorrufen koennen. Nun gibt es davon also ein ganzes Album und man
+kann den Kopf garnicht stillhalten. Wer gerne auf Festivals herumtanzt und
+sich ueber die Sonne freut, wird hiermit sicherlich einige schoene Stunden
+erleben koennen. Viel Spass!
+
+Linflas, wibbelt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: die eigentliche CD des Monats (Strohalm, 30. Aug 2001, 03:03:34):
+~#! rn=Zarniya rt=998892238 rg=kultur
+~#! tid=998892238
+Ausserdem sollte man sich definitiv ein Konzert der 5 Jungens ansehen, denn
+spaetestens dann wird man zum Fan. Termine gibts ausreichend auf
+www.wiseguys.de, und die Eintrittspreise sind sogar studentenfreundlich.
+
+Lord Haelmchen, fruehzeitige Kartenreservierung empfehlend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: die eigentliche CD des Monats (Ronda, 31. Aug 2001, 01:10:17):
+~#! rn=Strohalm rt=999133414 rg=kultur
+~#! tid=998892238
+... und ich hoer die CD grad niegelnaglneu... hab' schon alle CD's der
+WiseGuys...
+
+WARNUNG
+
+WiseGuys NIE nachts hoeren in Mietwohnungen! Mitsingen ist echt nie
+ausgeschlossen!
+
+Ronda *Machen wir nen MG-Sonderstammtisch zum WiseGuys-Konzert 2002 am
+Tanzbrunnen in Koeln?!*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: die eigentliche CD des Monats (Daria,  2. Sep 2001, 10:52:50):
+~#! rn=Ronda rt=999213017 rg=kultur
+~#! tid=998892238
+Vielleicht spielen die naechsten Jahr ja auch wieder in Pb!
+Daria hat Spione.
+
+-----------------------------------------------------------------------------
+
+
+
+Matt Ruff billig! (Alboin,  3. Sep 2001, 12:43:13):
+Wer schon immer mal Matt Ruf lesen wollte, sollte sich mal beim
+Zweitausendeins-Versand (http://www.zweitausendeins.de) umschauen. Die Buecher
+'Fool on the Hill' (gewisse Leute haben sich hier nach den Helden dieses
+Buches so benannt) und 'G.A.S.' gibt es dort in festem Einband zu je 16.95 DM.
+Wer beide zusammen bestellt kann noch mal sparen, und bezahlt nur 29,90 DM. 
+Um gewissen Nachfragen vorzubeugen: der Zweitausendeins-Versand ist nicht mein
+Sponsor!
+
+Achja, wer die 6.90 DM Versandkosten auch noch einsparen moechte: es gibt in
+allen groesseren Staedten Laeden dieses Versands
+(http://www.zweitausendeins.de/laeden.htm)
+
+Viel Spass beim Lesen wuenscht Alboin, der gerade sein frischausgepacktes
+'G.A.S.'-Exemplar auf dem Tisch zu liegen hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: erschuetternd... (Grimmborn, 24. Sep 2001, 10:32:43):
+~#! on=Ark ot=1001319242 og=allgemeines
+~#! rn=Dante rt=1001223303 rg=allgemeines
+~#! tid=1000247010
+Ich fordere,
+die grimborn koennen alle tot verlege (verlege nach tot)
+usw. .. aja, magier haben <zappe alle verfasser von atikl tot>
+noch Fragen?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: erschuetternd... (Grimmborn, 24. Sep 2001, 10:33:21):
+~#! rn=Grimmborn rt=1001320363 rg=kultur
+~#! tid=1000247010
+Schoene expressionistische Lyrik, ich bin beeindruckt.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Tribute-To-Heroes-Konzert (Liara, 24. Sep 2001, 19:35:18):
+Moin.
+
+Ich habe Ausschnitte aus dem Konzert gesehen. Dabei ist mir eine Frau
+aufgefallen, die am Fluegel sass und gesungen hat. Sie hat etwas mehr als
+schulterlange, dunkelblonde Haare. Ich weiss nicht, ob sie einen Titel von
+sich gesungen hat und habe leider sowieso kein Wort von den Lyrics verstanden.
+;-) 
+
+Ich wuerde mich freuen, wenn mir jemand sagen kann, wer das ist.
+
+Gruesse, Liara
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tribute-To-Heroes-Konzert (Alboin, 24. Sep 2001, 19:36:42):
+~#! rn=Liara rt=1001352918 rg=kultur
+~#! tid=1001352918
+sieht aus als ob Du einen Engek gesehen hast der nen Fluegel mit ner Harfe
+verwechselt hat...
+
+Al, mal unernst
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Liara, 24. Sep 2001, 19:38:18):
+~#! rn=Alboin rt=1001353002 rg=kultur
+~#! tid=1001352918
+Ich habe nur wenige der Kuenstler gesehen. Aber das Lied von der Frau und ihre
+Stimme haben mich umgehaun. Deshalb war das eine durchaus ernst gemeinte
+Anfrage.
+
+Danke, Liara
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Grimmborn, 24. Sep 2001, 19:41:11):
+~#! rn=Liara rt=1001353098 rg=kultur
+~#! tid=1001352918
+Und wo kann man sich den screenshot angucken, den Du hoffentlich gemacht hast?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tribute-To-Heroes-Konzert (Gnome, 24. Sep 2001, 21:53:35):
+~#! rn=Liara rt=1001352918 rg=kultur
+~#! tid=1001352918
+die frau duerfte alicia keys sein. vermute ich ganz stark.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Liara, 24. Sep 2001, 21:56:29):
+~#! rn=Gnome rt=1001361215 rg=kultur
+~#! tid=1001352918
+Leider sieht die wohl total anders aus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Gnome, 24. Sep 2001, 21:59:07):
+~#! rn=Liara rt=1001361389 rg=kultur
+~#! tid=1001352918
+dann guck mal unter tributetoheroes.org, vielleicht steht da nen line-up.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tribute-To-Heroes-Konzert (Anacrion, 24. Sep 2001, 22:00:28):
+~#! rn=Gnome rt=1001361547 rg=kultur
+~#! tid=1001352918
+Da ist nada.
+
+anac*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tribute-To-Heroes-Konzert (Liara, 24. Sep 2001, 22:01:12):
+~#! rn=Gnome rt=1001361547 rg=kultur
+~#! tid=1001352918
+Ich habe da nachgesehen. Und ich habe inzwischen alle Frauen, die teilgenommen
+haben, im Netz auf Bildchen angesehen. ;-) Das hat mich aber leider nicht viel
+weitergebracht. (Zumal die Liste der Teilnehmer an dem Konzert nicht unbedingt
+vollstaendig sein muss.)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tribute-To-Heroes-Konzert (Anacrion, 25. Sep 2001, 06:46:16):
+~#! rn=Liara rt=1001361672 rg=kultur
+~#! tid=1001352918
+Alicia Keys heisst sie.
+
+anac* - hilfsbereit wie immer
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Tribute-To-Heroes-Konzert (Catweazle, 25. Sep 2001, 09:02:33):
+~#! rn=Anacrion rt=1001393176 rg=kultur
+~#! tid=1001352918
+Alicia Keys hat leider keine dunkelblonden Haare.
+Ich glaub am WE wiederholt MTV das Konzert, Liara, Du solltest den Auftrag an
+alle erteilen, sich das anzusehen und dabei auf die Frau am Klavier mit der
+Bombenstimme zu achten :-)
+
+Ich bin aber immer noch nicht sicher, ob Du dich nicht vielleicht vertust,
+Klavier und Bombenstimme klingt arg nach Frau Keys...
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Tribute-To-Heroes-Konzert (Liara, 26. Sep 2001, 01:26:49):
+~#! rn=Catweazle rt=1001401353 rg=kultur
+~#! tid=1001352918
+Aber die sieht ganz anders aus. *schluchz* Mir waere es ja auch lieber, wenn
+sie das waere ... nachher war das Celine oder so ... dann graust es mir vor
+meinem eigenen Geschmack. ;-) (Nein, DIE war es wohl wirklich nicht. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tribute-To-Heroes-Konzert (Liara, 26. Sep 2001, 22:19:16):
+~#! rn=Liara rt=1001352918 rg=kultur
+~#! tid=1001352918
+Hm, ich habe mal an die SWR3-Musikrecherche geschrieben. Da hat mir auch promt
+jemand geantwortet. Und der meint auch es sei Alicia Keys. ;-)
+
+ZZLB, kann das kaum glauben ... (Die ist nicht blond und die sieht wirklich
+anders aus auf den Bildern im Netz.) Aber vielleicht mutieren ja alle
+(schreibt man das jetzt gross oder klein ;)  angesichts der Katastrophe. ;-) 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Grimmborn, 26. Sep 2001, 22:21:55):
+~#! rn=Liara rt=1001535556 rg=kultur
+~#! tid=1001352918
+Es wird Dich jetzt sicher schocken, also setz Dich stabil hin:
+Haare kann man faerben. Doch, echt wahr, kein Scheiss.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Gnome, 26. Sep 2001, 22:52:07):
+~#! rn=Liara rt=1001535556 rg=kultur
+~#! tid=1001352918
+also, imho gab es nur EINE frau am klavier. das war mrs. keys.
+die blonde hat am micro gestanden und sah auch besser aus als alicia.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Anacrion, 26. Sep 2001, 22:52:21):
+~#! rn=Gnome rt=1001537527 rg=kultur
+~#! tid=1001352918
+:grinst.
+
+anac*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Liara, 26. Sep 2001, 23:21:02):
+~#! rn=Gnome rt=1001537527 rg=kultur
+~#! tid=1001352918
+Es war ein Fluegel und ich bin NICHT farbenblind. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tribute-To-Heroes-Konzert (Grimmborn, 26. Sep 2001, 23:25:44):
+~#! rn=Liara rt=1001539262 rg=kultur
+~#! tid=1001352918
+Koennte vielleicht mal jemand eine URL zu einem Bild anbieten? Mich macht das
+kribbelig hier ueber Frauen zu diskutieren die ich noch nichtmal gesehen habe.
+
+GdA akzeptiert notfalls auch ein Foto mit Kleidern
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tribute-To-Heroes-Konzert (Karis, 26. Sep 2001, 23:27:12):
+~#! rn=Grimmborn rt=1001539544 rg=kultur
+~#! tid=1001352918
+Wozu braucht man ein Foto, um laestern zu koennen???
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tribute-To-Heroes-Konzert (Gnome, 26. Sep 2001, 23:30:30):
+~#! rn=Grimmborn rt=1001539544 rg=kultur
+~#! tid=1001352918
+dich mach schon eine harmlose diskussion ueber eine frau kibbelig?
+nein, ich sage jetzt nichts weiter dazu.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Liara, 26. Sep 2001, 23:45:34):
+~#! rn=Liara rt=1001535556 rg=kultur
+~#! tid=1001352918
+Hat jemand ne Aufnahme von dem Konzert? ;-(
+
+Das war definitiv NICHT Alicia Keys.
+
+ZZLB, brummelig
+
+-----------------------------------------------------------------------------
+
+
+
+kinotip (Alboin, 27. Sep 2001, 00:18:00):
+Fuer alle die nicht nur in Mainstreamkinos gehen: ich habe gestern 'Russische
+Hochzeit' gesehen. Der Film ist brilliant und vermittelt einen Einblick in das
+gegenwaertige russische Leben, was z.B. fuer eine Hochzeit so alles
+improvisiert werden muss, wenn kein Geld da ist. Aber auch wie wandelbar die
+Leute sind und trotz der nicht immer rosigen Lebensbedingungen, alle ihren
+Sinn fuer Humor behalten.
+Einziges Manko duerfte sein, dass der Film im Original mit Untertiteln gezeigt
+wurde, und da er viel Tempo hat, koennten weniger geuebter Untertitelgucker
+Schwierigkeiten haben hinterherzukommen.
+
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Zarniya, 27. Sep 2001, 08:45:53):
+~#! rn=Gnome rt=1001537527 rg=kultur
+~#! tid=1001352918
+Blonde Frau, die am Microfon gestanden hat? schwarzer Hosenanzug? eher
+kuerzere Haare? Gospelaehnlicher Gesang? Das war dann Faith Hill. Die kennt
+hier in Deutschland aber auch nicht jeder so, wie sie WIRKLICH ist... 
+
+Marc (Country Fan)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tribute-To-Heroes-Konzert (Gnome, 27. Sep 2001, 09:42:20):
+~#! rn=Zarniya rt=1001573153 rg=kultur
+~#! tid=1001352918
+ja, die war sehr nett anzusehen, obwohl sie blond war. >:)
+faith hill, mal merken, danke.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tribute-To-Heroes-Konzert (Liara, 27. Sep 2001, 12:21:38):
+~#! rn=Liara rt=1001535556 rg=kultur
+~#! tid=1001352918
+Hm, also Steffi Tuecking sagt, es waere Sheryl Crow. Damit gebe ich mich
+erstmal zufrieden. 
+
+ZZLB, leidet wohl unter Geschmacksverirrung und zieht sich lieber Alicia Keys
+rein ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tribute-To-Heroes-Konzert (Rind, 27. Sep 2001, 16:01:07):
+~#! rn=Liara rt=1001586098 rg=kultur
+~#! tid=1001352918
+sheryl crow is richtig
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tribute-To-Heroes-Konzert (Liara, 27. Sep 2001, 16:27:55):
+~#! rn=Rind rt=1001599267 rg=kultur
+~#! tid=1001352918
+Haetteste das nicht frueher sagen koennen? *g*
+
+-----------------------------------------------------------------------------
+
+
+
+Fernsehtip (Vanion,  5. Okt 2001, 20:01:14):
+Da ich mich selbst immer wieder darueber aergere, dass ich es verpasst hab,
+und das Programm diesmal besonders interessant werden koennte:
+
+Heute, 0:00 Uhr, MTV
+Celebrity Deathmatch
+
+Heute:
+Knetanimation mit deutschen Kampf Joschka Fischer gegen Gerhard
+Schroeder
+
+Anschliessend im ersten Vorkampf treten Leonardo DiCaprio und Jack Nicholson
+in den Ring. Im zweiten Act kaempfen Aretha Franklin und Barbara Streisand
+gegeneinander. Im Hauptkampf treffen Bill Gates und Michael Flatley
+aufeinander. 
+--
+V*, freut sich drauf und fragt sich, wer wohl ueberlebt ... *g*
+
+PS: Quelle: www.tvtv.de
+
+-----------------------------------------------------------------------------
+
+
+
+CD Tip(p) mal anders (Tangalur, 12. Okt 2001, 12:55:03):
+Gandalf: Visions 2001
+
+150 Minuten Gandalf auf zwei randvollen CDs.
+
+CD 1 
+wurde von Tolkiens Lord of the Rings inspiriert und trifft 
+die Stimmung recht gut ist aber nicht der Soundtrack zum Film. 
+
+CD 2 rare & precious pieces
+gibt eine Ueberblick ueber die letzten 20 Jahre Gandalf
+
+Mal sehen wer das im Plattenladen findet
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD Tip(p) mal anders (Grimmborn, 12. Okt 2001, 13:04:29):
+~#! rn=Tangalur rt=1002884103 rg=kultur
+~#! tid=1002884103
+Hmm, Gandalf hab ich mal gehoert... war das nicht so New Age Musik?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: CD Tip(p) mal anders (Tangalur, 12. Okt 2001, 13:08:07):
+~#! rn=Grimmborn rt=1002884669 rg=kultur
+~#! tid=1002884103
+ja in der Tat !
+dachte ist mal was anderes als die hier ueblichen Tip(p)s
+Passt aber wirklich wunderbar zum Herrn der Ringe
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: CD Tip(p) mal anders (Grimmborn, 12. Okt 2001, 13:49:18):
+~#! rn=Tangalur rt=1002884887 rg=kultur
+~#! tid=1002884103
+He, ich hab noch nichtmal gelaestert, obwohl ich mit New Age gar nuscht
+anfangen kann, weder literarisch, noch ideologisch, noch musikalisch. Aber die
+Geschmaecker sind eben verschieden. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: CD Tip(p) mal anders (Tangalur, 12. Okt 2001, 13:53:11):
+~#! rn=Grimmborn rt=1002887358 rg=kultur
+~#! tid=1002884103
+Noe so wars auch nicht gemeint !
+Einfach nur mal so als Anregung, weil es gut zum Fantasy
+und Rollenspielthema passt.
+
+-----------------------------------------------------------------------------
+
+
+
+Kino (Gorog, 27. Okt 2001, 16:07:51):
+So mal wieder Werbung in fremder Sache, verdien ja leider nix dran.
+
+Ich war gestern im Kino und hab mir Moulin Rouge angeschaut und ich muss
+sagen, Hut ab. Gemessen an dem was in diesem Jahr bereits in den Kinos
+gelaufen ist, und besonders an dem was momentan so laeuft, wuerde ich diesen
+Film mit Sicherheit unter den besten 5 platzieren. Zugegeben is ne Romanze und
+n Musikal (mehr oder weniger) aber eigentlich is das wenn man sich erstmal
+damit angefreundet hat ziemlich klasse. Und besonders die Musik ist echt
+genial (hab mir sofort den Soundtrack gekauft). Aber nicht nur das, wunderbare
+Bilder (obwohl zumindest am Anfang und Ende sehr bunt) eine gute wenn auch
+vorhersehbare Geschichte und eine Atmosphaere wie zumindest ich sie schon
+lange nicht mehr im Kino miterlebt habe.  
+Wer jetzt aber meint: Hat der regiseur nicht auch diesen miesen Romeo und
+Julia mit Leonardo diCapri gedreht? Dem sei gesagt dieser Film ist um Laengen
+besser, und geht mehr in die die Richtung von "striktly ballroom", von dem ich
+immer noch nicht weiss warum ich den mag. 
+
+Gorog sagt: Film des Monats (zum Glueck ist nicht Dezember) 
+
+p.s.: achja nicht erschrecken bei den zillionen Song-Zitaten, kann auch mal
+ganz spassig sein.
+
+-----------------------------------------------------------------------------
+
+
+
+Song gesucht. (Catweazle,  8. Nov 2001, 16:21:53):
+
+Hm, ich muss mich jetzt kurz outen, aber das isses mir dann doch wert. 
+
+Also ich gebe zu, das ich seit ein paar Folgen wieder Popstars gucke. Wenn die
+gerade nicht mal wieder alle rumheulen singen die restlichen Leute
+mittlerweile sogar ganz ordentlich.
+Nun, ich hab gestern die Folge vom Dienstag gesehen und am Ende dieser Folge
+setzt sich eines der Restmaedels relativ spontan ans Klavier und klimpert
+drauf los. Nun, als die dieses Lied traellerte hat sich bei mir innerhalb
+kuerzester Zeit eine wohlige Gaensehaut gebildet, so stark wie sie sonst
+seltenst vorkommt, und nun wuerde ich gerne wissen, welches Lied sie da
+gesungen hat. Ich wuerde als erstes auf Ina tippen, weiss es aber echt nicht
+genau.
+Ich bin fuer jeden Hinweis dankbar, ich verrat auch nicht weiter, dass das
+ausser mir noch jemand sieht :)
+Die Folge wird soweit ich weiss am Sonntag wiederholt. 
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Song gesucht. (Gnome,  8. Nov 2001, 16:42:40):
+~#! rn=Catweazle rt=1005232913 rg=kultur
+~#! tid=1005232913
+catty ist ein popstars-gucker! hehe :)=
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Song gesucht. (Liara,  8. Nov 2001, 18:34:03):
+~#! rn=Gnome rt=1005234160 rg=kultur
+~#! tid=1005232913
+Catty ist verliebt. ;-)
+
+ZZL, duckt sich
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Song gesucht. (Foobar,  8. Nov 2001, 18:59:41):
+~#! rn=Liara rt=1005240843 rg=kultur
+~#! tid=1005232913
+Du hast nicht zufaellig eine Textzeile oder zwei?
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Song gesucht. (Catweazle,  9. Nov 2001, 10:19:31):
+~#! rn=Liara rt=1005240843 rg=kultur
+~#! tid=1005232913
+Tatsaechlich. Sogar meistens. Waere sogar schrecklich wenn nicht :-)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+"Coverversion" (Grimmborn, 22. Nov 2001, 00:25:04):
+Ich hab gerade auf Emm Teh Fau eine "Coverversion" von "Wish you were here"
+von Pink Floyd gesehen, von irgendsoeinem Neger. Ich sag nur: Finger von
+lassen. Was auch immer der fuer Drogen genommen hat, es sind die falschen, und
+sie sind mit Pink Floyd inkompatibelst.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Coverversion" (Wurzel, 25. Nov 2001, 21:35:52):
+~#! rn=Grimmborn rt=1006385104 rg=kultur
+~#! tid=1006385104
+von coverversionen lass ich eh die finger. wenn es hoch kommt, ist eine von
+tausend akzeptabel, die meisten sind eh nur schrott.
+wuerde mich aber trotzdem interessieren, welche drogen mit pink floyd denn
+inkompatibel sind. alle die mir so einfallen standen auch bei denen mal auf
+dem speiseplan...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: "Coverversion" (Vanion, 25. Nov 2001, 21:40:49):
+~#! rn=Wurzel rt=1006720552 rg=kultur
+~#! tid=1006385104
+So, ihr seid schuld, dass ich meine Pink Floyd-CDs vorsuchen musste.
+
+V*, taub.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: "Coverversion" (Grimmborn, 25. Nov 2001, 21:41:05):
+~#! rn=Wurzel rt=1006720552 rg=kultur
+~#! tid=1006385104
+Ich halte es ja fuer vermessen zu sagen "wer etwas zuerst macht macht es in
+99.9% aller Faelle auch besser als es jeder andere koennte". Dennoch sind
+Coverversionen (auch 'hochwertige') erstaunlich oft schlecht, keine Frage.
+
+Nach Beschreibungen der Drogen, und meiner Kenntnis der Musik wuerde ich z.B.
+sowohl Extasy als auch Kokain fuer "Nicht Pink Floyd Drogen" halten. Alkohol
+passt da auch nicht so gut. Alles was laut und agressiv ist kommt deren Musik
+nicht entgegen.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: "Coverversion" (Croft, 25. Nov 2001, 22:28:25):
+~#! rn=Wurzel rt=1006720552 rg=kultur
+~#! tid=1006385104
+Kommt echt drauf an welche Bands man auf Coverversionen untersucht.
+Ace of Base 'All that she wants' -> WIZO
+George Michael 'Faith' -> Limp Bizkit
+...
+Da bekommt man schoen hartes auf die Ohren :o)
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: "Coverversion" (Zarniya, 28. Nov 2001, 10:31:30):
+~#! rn=Wurzel rt=1006720552 rg=kultur
+~#! tid=1006385104
+Viel schlimmer ist doch, dass heutzutage viele Coverversionen fuer Originale
+gehalten werden... Ist mir passiert, als ich jemandem "American Pie" in der
+Version von Garth Brooks vorgespielt habe und derjenige meinte "Hey, dass ist
+doch der Song von Madonna!".... da konnte ich nur noch weinen.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: "Coverversion" (Grimmborn, 28. Nov 2001, 10:32:54):
+~#! rn=Zarniya rt=1006939890 rg=kultur
+~#! tid=1006385104
+Wieso? Die Stimmlage ist doch in etwa aehnlich...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Hmmm, Kultur oder www.? (Linflas, 28. Nov 2001, 15:58:45):
+Lies das:
+
+www.hanfnet.org/aktuelles/hanfnews/nesovi.htm
+
+Den Namen Wolfgang Nescovic sollte man in Erinnerung behalten ;)
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: "Coverversion" (Wurzel, 28. Nov 2001, 22:32:26):
+~#! rn=Grimmborn rt=1006939974 rg=kultur
+~#! tid=1006385104
+aber nicht mit dem original uebereinstimmend. american pie ist eins der
+lieder, bei denen ich am heftigsten kotzen musste bei der coverversion.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: "Coverversion" (Mandragon, 28. Nov 2001, 22:32:44):
+~#! rn=Wurzel rt=1006983146 rg=kultur
+~#! tid=1006385104
+Welcher? Der von Madonna? Ich auch.
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: "Coverversion" (Mandragon, 28. Nov 2001, 22:33:42):
+~#! rn=Mandragon rt=1006983164 rg=kultur
+~#! tid=1006385104
+Btw. Sagte ich schon, dass der Soundtrack von 'Enemy of the State' geil ist
+als Hintergrundmusik beim Metzeln :o)
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: "Coverversion" (Mupfel, 28. Nov 2001, 22:34:54):
+~#! rn=Mandragon rt=1006983222 rg=kultur
+~#! tid=1006385104
+Heisst das nicht "Enema..." ?
+
+-mupfel-
+(gleich nochmal die blink cds waelzen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: "Coverversion" (Grimmborn, 28. Nov 2001, 22:37:52):
+~#! rn=Mandragon rt=1006983222 rg=kultur
+~#! tid=1006385104
+Hmm. Ich bin nun leider wirklich nicht so der Musikkenner, was diesen
+Negerjazz angeht. Und eigentlich mag ich Madonna auch nicht so sehr (auch wenn
+das momentan ja nicht mehr ganz so schick ist wie Britney Spears nicht zu
+moegen), aber ich glaube wirklich ihr verwechselt "erstmalig und gewohnt" mit
+"gut". Ist da nicht von Madonna auch eine Version von "all by myself", die
+ziemlich kongenial ist? Und die Metallica-Covers von Apocalyptica? Und ich
+habe hier eine CD mit den "Urversionen" einiger Abba-Stuecke, gespielt von
+Abba bevor sie so bekannt waren, hoert sich auch... komisch an, ist aber das
+Original.
+Naja, was solls...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+passwort: swordfish (Gnome, 28. Nov 2001, 22:39:22):
+hi,
+
+wenn ihr euch 10-15 mark sparen wollt, geht NICHT in diesen film.
+duerftige story, logische luecken im drehbuch und ein "computergenie",
+der innerhalb einer minute (!) auf einem laptop einen 64-bit-key knackt.
+
+das highlight ist eine 10-sek-zeitlupe a la matrix und eine
+nackte halle berry (ok, das entschaedigt wieder ein bisschen :).
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: passwort: swordfish (Mandragon, 28. Nov 2001, 22:40:06):
+~#! rn=Gnome rt=1006983562 rg=kultur
+~#! tid=1006983562
+War das net ein 128Bit-Key ?
+
+Ma* - hat nen DVDRip auf nem Server liegen, ffalls den wer will :o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: passwort: swordfish (Mandragon, 28. Nov 2001, 22:40:28):
+~#! rn=Mandragon rt=1006983606 rg=kultur
+~#! tid=1006983562
+Ja. Und er war bestenfalls duerftig, wenn man von HB absieht ;o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: passwort: swordfish (Patryn, 28. Nov 2001, 22:44:36):
+~#! rn=Gnome rt=1006983562 rg=kultur
+~#! tid=1006983562
+also eine nackte halle berry sollte das wert sein ;)
+ich finds nur lustig wie sehr sie das letztens in irgendeiner
+cinema-sendung rechtfertigte,
+da meinte sie, nur fuer die kunst wuerde sie es tun.
+da dachte ich mir auch....muss ja nen toller film sein,
+kuenstlerisch wertvoll klingt der titel eigentlich nicht ;)
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: "Coverversion" (Wurzel, 28. Nov 2001, 22:46:40):
+~#! rn=Grimmborn rt=1006983472 rg=kultur
+~#! tid=1006385104
+apocalyptica ist schon genial. besonders bei den eigenen stuecken, die sie
+neuerdings verstaerkt von sich geben. ansonsten gefaellt mir auch hier das
+original besser.
+abba und madonna kannst du gerne behalten. es gibt nur extrem wenige frauen,
+die ordentliche musik machen, und die beste von allen ist schon lange tot.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: passwort: swordfish (Wurzel, 28. Nov 2001, 22:48:43):
+~#! rn=Patryn rt=1006983876 rg=kultur
+~#! tid=1006983562
+uebrigens kann ich euch einen tip geben, wenn ihr nackte frauen sehen wollt:
+geht mal an einen fkk-strand. da gibts die reichlich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: "Coverversion" (Grimmborn, 28. Nov 2001, 22:49:43):
+~#! rn=Wurzel rt=1006984000 rg=kultur
+~#! tid=1006385104
+Stimmt, und von Clara gibts noch nichtmal Aufnahmen...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: passwort: swordfish (Patryn, 28. Nov 2001, 22:49:51):
+~#! rn=Wurzel rt=1006984123 rg=kultur
+~#! tid=1006983562
+ja, die kenn ich: wenn du die gesehen hast kannste eine
+woche lang keinen sex mehr geniessen ;)
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: "Coverversion" (Wurzel, 28. Nov 2001, 22:50:43):
+~#! rn=Grimmborn rt=1006984183 rg=kultur
+~#! tid=1006385104
+clara meinte ich auch nicht :) ein tip: gestorben 1970.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: "Coverversion" (Varlarion, 28. Nov 2001, 22:52:05):
+~#! rn=Wurzel rt=1006984243 rg=kultur
+~#! tid=1006385104
+Um 1970 rum sind viele Leute gestorben *grybel*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: "Coverversion" (Grimmborn, 28. Nov 2001, 22:52:21):
+~#! rn=Wurzel rt=1006984243 rg=kultur
+~#! tid=1006385104
+Hat die Callas wirklich so lange noch gelebt? Da schau einner guck...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: "Coverversion" (Wurzel, 28. Nov 2001, 22:56:39):
+~#! rn=Grimmborn rt=1006984341 rg=kultur
+~#! tid=1006385104
+voellig falsche faehrte. klassik und gute musik sind bei mir zwei paar schuhe.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: "Coverversion" (Mupfel, 28. Nov 2001, 22:57:58):
+~#! rn=Wurzel rt=1006984599 rg=kultur
+~#! tid=1006385104
+janis joplin?
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: "Coverversion" (Grimmborn, 28. Nov 2001, 22:58:22):
+~#! rn=Wurzel rt=1006984599 rg=kultur
+~#! tid=1006385104
+Also bitte, Frau Joplin ist ja nun wirklich nicht der Massstab. Dann schon
+lieber den Scott gleichen Namens.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: "Coverversion" (Wurzel, 28. Nov 2001, 22:58:58):
+~#! rn=Grimmborn rt=1006984702 rg=kultur
+~#! tid=1006385104
+trotzdem ist janis richtig. es ging um frauen, schon vergessen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: "Coverversion" (Grimmborn, 28. Nov 2001, 22:59:10):
+~#! rn=Wurzel rt=1006984738 rg=kultur
+~#! tid=1006385104
+Eben nicht vergessen.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: "Coverversion" (Karis, 28. Nov 2001, 23:52:14):
+~#! rn=Wurzel rt=1006984599 rg=kultur
+~#! tid=1006385104
+Von den beiden Paar Schuhen traegst Du maximal eins, oder?
+Karis, sucht gute Musik meistens im Klassik-Regal.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: "Coverversion" (Boing, 29. Nov 2001, 08:56:52):
+~#! rn=Wurzel rt=1006984738 rg=kultur
+~#! tid=1006385104
+Janis Joplin und gute Musik in einem Satz? Wuargh!
+Ich find uebrigens die American Pie Cover Version von Madonna recht gut. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: "Coverversion" (Apollonia, 29. Nov 2001, 08:59:05):
+~#! rn=Boing rt=1007020612 rg=kultur
+~#! tid=1006385104
+Richtig schlimm fand ich z.B. 'Rebel Yell' von Scooter... nicht, dass die von
+Billy Idol richtig gut gewesen waere, aber da hingen so viele
+Teenie-Erinnerungen dran... Ich hab mir geschworen, sollte mir dieser Scooter
+irgendwann mal begegnen, dann hau ich ihn dafuer.
+
+Apo*
+mag generell keine Coverversionen, die sollen sich gefaelligst was eigenes
+einfallen lassen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: "Coverversion" (Boing, 29. Nov 2001, 09:06:42):
+~#! rn=Apollonia rt=1007020745 rg=kultur
+~#! tid=1006385104
+Es gab da auch mal eine exzellente Cover Version von 'I will survive',
+das Rumgekreische im Original fand ich immer fuerchterlich.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: "Coverversion" (Apollonia, 29. Nov 2001, 09:08:22):
+~#! rn=Boing rt=1007021202 rg=kultur
+~#! tid=1006385104
+Die mit dem kleinen Maennchen, dem dann ne Bombe auf den Kopf faellt? ;o)
+
+Apo*
+grinsend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: "Coverversion" (Grimmborn, 29. Nov 2001, 09:08:53):
+~#! rn=Boing rt=1007021202 rg=kultur
+~#! tid=1006385104
+Du meinst nicht die mit dem tanzenden Alien? ;-)
+Und der amerikanische Kuchen von Madonna ist vor allem in Verbindung mit dem
+Video Gaensehautmaterial.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^19: "Coverversion" (Apollonia, 29. Nov 2001, 09:11:08):
+~#! rn=Apollonia rt=1007021302 rg=kultur
+~#! tid=1006385104
+Okay, okay, es war ne Glitzerkugel, keine Bombe. Danke Grimmborn *g*
+
+Apo*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: "Coverversion" (Boing, 29. Nov 2001, 09:12:16):
+~#! rn=Apollonia rt=1007021468 rg=kultur
+~#! tid=1006385104
+Nein, die meine ich nicht. :)
+Hat irgendein Typ gesungen, hab den Namen vergessen. War irgendwie
+gemuetlicher als das Original. Ist vielleicht 2-3 Jahre her.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Gute Saengerin (Zarniya, 29. Nov 2001, 09:14:31):
+
+Hi, 
+
+Ich denke, es sollten nicht wirklich Stiefel und Sandalen verglichen werden.
+Janis hatte was, Callas auch... Ich wuerde ja auch nie entscheiden wollen, ob
+Garth Brooks oder Freddie Mercury oder Dave Gahan oder Mike Muir die bessere
+Stimme haben... das ist alles ein anderer und nicht zu vergleichender Bereich.
+
+Wer uebrigens mal nen weiblichen Superstar aus den USA testhoeren will, der
+wirklich ne sehr gute Stimme hat, aber keine billige Popmusik macht, der hoere
+mal bei Trisha Yearwood rein. Fuer Filmfans: Hier lief in den Charts vor
+langer Zeit wochenlang "How Do I Live" von LeeAnn Rimes. Trisha sind die
+Originalversion, die in dem Film Con Air zu hoeren ist.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: "Coverversion" (Catweazle, 29. Nov 2001, 09:20:05):
+~#! rn=Boing rt=1007021202 rg=kultur
+~#! tid=1006385104
+Du meinst die von Cake. Ja, die ist wirklich sehr geil. Mal anmachen :-)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^19: "Coverversion" (Zarniya, 29. Nov 2001, 09:21:05):
+~#! rn=Catweazle rt=1007022005 rg=kultur
+~#! tid=1006385104
+also ich fand zB Whiskey in the Yar von Metallica um Klassen besser als alles,
+was ich von irishen Bands gehoert habe.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: "Coverversion" (Grimmborn, 29. Nov 2001, 09:28:17):
+~#! rn=Zarniya rt=1007022065 rg=kultur
+~#! tid=1006385104
+Und wo wir schon dabei sind: Die amerikanische Nationalhymne finde ich in der
+Version von Herrn Hendrix auch interessanter als im Original mit Blaskapelle.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: "Coverversion" (Troy, 29. Nov 2001, 09:34:46):
+~#! rn=Grimmborn rt=1007022497 rg=kultur
+~#! tid=1006385104
+ist das Original nicht ein Trio mit Sousaphon, Hotdog und Hamburger?
+
+Troy singt '...and the home of the slave'...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: "Coverversion" (Elbereth, 29. Nov 2001, 13:17:59):
+~#! rn=Troy rt=1007022886 rg=kultur
+~#! tid=1006385104
+die meisten Nationalhymnen sind doch im Original eben nicht fuer Blaskapelle
+geschrieben und hoeren sich entsprechend mit der Kapeele grauenhaft
+martialisch an ...
+
+Elberet (haette auch lieber bei nem Fussballspiel der deutschen
+Nationalmanschaft nen Streichquartett da sitzen ;) )
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: "Coverversion" (Yendi, 30. Nov 2001, 15:06:08):
+~#! rn=Boing rt=1007021536 rg=kultur
+~#! tid=1006385104
+Wo wir gerade bei schlechten Coverversionen sind:
+Bei "Nothing Compares 2 U" laeuft mir auch nach all den Jahren noch eine
+Gaensehaut den Ruecken runter -- aber neulich habe ich irgendsoein
+Piepse-Girly dieses Lied singen hoeren, mit halbem Synphonieorchester und
+~voellig ausdruckslos... wieder ein Lied totgecovert.
+
+YTY
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: "Coverversion" (Grimmborn, 30. Nov 2001, 16:44:25):
+~#! rn=Yendi rt=1007129168 rg=kultur
+~#! tid=1006385104
+"Can't live" von Mariah Carey ist hingegen eine ziemlich gelungene Version,
+wie immer man zu Frau Carey stehen mag.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: "Coverversion" (Zook, 30. Nov 2001, 16:45:11):
+~#! rn=Grimmborn rt=1007135065 rg=kultur
+~#! tid=1006385104
+Was genau ist eigentlich Sinn und Thema dieses Threads? Ich habe den
+Anfang nicht ganz mitbekommen, aber als die Bambis hochliefen, fing ich
+an, mich fuer ihn zu interessieren.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^24: "Coverversion" (Foobar, 30. Nov 2001, 17:00:24):
+~#! rn=Zook rt=1007135111 rg=kultur
+~#! tid=1006385104
+Was genau ist denn Sinn und Thema des Threads in megaschmarrn?
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^25: "Coverversion" (Grimmborn, 30. Nov 2001, 17:01:08):
+~#! rn=Foobar rt=1007136024 rg=kultur
+~#! tid=1006385104
+Moeglichst viele Rehe zu sammeln, was sonst?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: "Coverversion" (Jimdigriz,  4. Dez 2001, 16:25:22):
+~#! rn=Boing rt=1007021536 rg=kultur
+~#! tid=1006385104
+
+Die hiessen "Cake" fand ich auch super.
+
+Ebenso in dieser Reihe ist das Cover (oder Original?)
+von "Hit me Baby one more time", weiss nicht wers war
+(jedenfalls nicht Britney S.), da kam erst so richtig
+gut raus, was das eigentlich fuer ein Super-Lied
+war, welches da in den Charts so verheizt wurde.
+
+Irgendsowas hab ich noch im Kopf, was von "Trevis"
+glaub ich, aber es faellt mir nimmer ein...
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+"Zardoz for EM" (Jimdigriz,  4. Dez 2001, 17:09:56):
+Moin,
+
+Den im Subject zitierten Spruch hab ich letztens
+bei meinem Berlin-Besuch entdeckt.
+Und zwar auf dem Klo in einer Kneipe, ich denk
+Ecke Danziger/Dunckerstr. Namen weiss ich nicht mehr,
+aber die Schrift war so dunkelblau-leuchtend,
+und drinnen wars recht gross. Auf jeden Fall
+Nordseite der Danziger Strasse.
+
+Obs noch andere Magier zu aehnlicher ``Beruehmtheit''
+gebracht haben?
+
+In diesem Sinne: Zardoz for EM, wenigstens h.c. und
+in Abwesenheit, etc.pp.
+
+Ciao,
+ JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: "Coverversion" (Montanus,  4. Dez 2001, 17:24:30):
+~#! rn=Jimdigriz rt=1007479522 rg=kultur
+~#! tid=1006385104
+Dir Gruppe heisst TRAVIS und hat noch ne Menge eigener guter Musik
+vorzuweisen. Aber Du hast Recht- die Coverversion von Hmbomt ist schon prima. 
+Die kann man als Live-Version auf der Single "Driftwood" bekommen, als
+Bonus-Track.
+
+-Montanus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Zardoz for EM" (Varlarion,  4. Dez 2001, 22:44:30):
+~#! rn=Jimdigriz rt=1007482196 rg=kultur
+~#! tid=1007482196
+Mupfel sagt: Anakin wars.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: "Coverversion" (Zarniya,  5. Dez 2001, 08:39:14):
+~#! rn=Montanus rt=1007483070 rg=kultur
+~#! tid=1006385104
+Also die einzig wahre Version von "Hit me baby one more time" ist die von den
+eigentlichen Komponisten. Ist halt wenig bekannt, dass der Song urspruenglich
+in Deutsch geschrieben und auch inzwischen im Original aufgenommen worden ist.
+Naehere Informationen darueber koennt ihr uebrigens beim Management von
+Britney Spears erfragen unter: buero@wiseguys.de
+
+Marc (toternst)
+
+-----------------------------------------------------------------------------
+
+
+
+CD-Tip (Linflas,  8. Dez 2001, 11:55:00):
+Lang, lang ists her:
+
+Der Neue CD Tip heisst "Spoonface" und kommt vom briten Ben Christophers.
+Ruhige Musik, aus dem "New accoustic movement" Irgendwo zwischen Radiohead,
+Heather Nova und minimalistischem Elektro. Zu finden auf v2music.
+
+L.
+
+www.benchristophers.com
+
+-----------------------------------------------------------------------------
+
+
+
+Into the great wite open (Elizabeth,  8. Jan 2002, 19:23:43):
+Musiktipp :
+Into the great wite open von..aeh keine Ahnung.. :) aber ist gut ;)
+.s
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Into the great wite open (Croft,  8. Jan 2002, 19:25:30):
+~#! rn=Elizabeth rt=1010514223 rg=kultur
+~#! tid=1010514223
+Tom Petty, und es heisst 'wide' und nicht 'wite'.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Into the great wite open (Elizabeth,  8. Jan 2002, 19:25:48):
+~#! rn=Croft rt=1010514330 rg=kultur
+~#! tid=1010514223
+Kruemelkacker
+.s
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Into the great wite open (Foobar,  8. Jan 2002, 19:26:20):
+~#! rn=Elizabeth rt=1010514348 rg=kultur
+~#! tid=1010514223
+Warum heisst das eigentlich nicht "white"?
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Into the great wite open (Elizabeth,  8. Jan 2002, 19:26:46):
+~#! rn=Foobar rt=1010514380 rg=kultur
+~#! tid=1010514223
+:) Weil tom petty meinte, dass wide schoener klingt :) 
+.s
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Into the great wite open (Montanus,  9. Jan 2002, 17:43:32):
+~#! rn=Elizabeth rt=1010514406 rg=kultur
+~#! tid=1010514223
+Das mit "white" war Bing Crosby, und der traeumte.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Into the great wite open (Linflas, 10. Jan 2002, 14:46:10):
+~#! rn=Montanus rt=1010594612 rg=kultur
+~#! tid=1010514223
+Ja, aber von Wihnachten, und das ist vorbei, auch wenn Mariah Careys
+Weihnachtsgedudel immer noch im Radio zu hoeren ist.
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+urls (Elizabeth, 12. Jan 2002, 03:49:09):
+www.rasputin.de mal auf die christfront menschen gehen.. und dann auf die
+jugend seite hehe#
+www.satanisten.de  man kann seine seele verkaufen ..
+www.jesus.com man kann sich mit jesus verabreden und ihn beim baden sehen *g*
+.s
+.c
+
+-----------------------------------------------------------------------------
+
+
+
+Earth 2 (Vanion, 26. Jan 2002, 23:28:47):
+Naja, vielleicht nich Kultur, aber doch Kult.
+
+Morgen um 14:55 zeigt RTL den Pilot und dann jeweils sonntags gegen 15:00 eine
+einstuendige Episode. 
+
+V*, freut sich drauf.
+
+-----------------------------------------------------------------------------
+
+
+
+nettes zwischendurch (Elizabeth,  7. Feb 2002, 12:11:55):
+http://vchat.vaxbusters.org/rd :) eineige nette links 
+.x
+
+-----------------------------------------------------------------------------
+
+
+
+Laotse: Tao te king (Amaryllis, 12. Feb 2002, 16:56:58):
+Die Tuechtigen nicht bevorzugen,
+so macht man, dass das Volk nicht streitet.
+Kostbarkeiten nicht schaetzen,
+so macht man, dass das Volk nicht stiehlt.
+Nichts Begehrenswertes zeigen,
+so macht man, dass des Volkes Herz nicht wirr wird.
+
+Darum regiert der Berufene also:
+Er leert ihre Herzen und fuellt ihren Leib.
+Er schwaecht ihren Willen und staerkt ihre Knochen
+und macht, dass das Volk ohne Wissen
+und ohne Wuensche bleibt,
+und sorgt dafuer,
+dass jene Wissenden nicht zu handeln wagen.
+Er macht das Nichtmachen,
+so kommt alles in Ordnung.
+
+Ama*, weise nickend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Laotse: Tao te king (Elaine, 12. Feb 2002, 19:55:58):
+~#! rn=Amaryllis rt=1013529418 rg=kultur
+~#! tid=1013529418
+Siehe hierzu auch Brecht, 'Von der Entstehung des Buches Taoteking
+auf dem Wege des Laotsen in die Emigration':
+
+http://www.recmusic.org/lieder/b/brecht/s11.html
+
+Mehr als Lesenswert :-)
+
+Elaine.
+
+-----------------------------------------------------------------------------
+
+
+
+Spirit Corpse zerstoeren Dortmund (Beelzebub,  2. Apr 2002, 09:43:03):
+~#! on=Beelzebub ot=1017733341 og=allgemeines
+Metal !
+
+Ein Grund dafuer, warum ich in letzter Zeit nicht mehr so oft hier bin,
+ist weil, ich bin Bassist bei der Zombie-Metal Band Spirit Corpse.
+Und genau diese hat letztens einen Plattenvertrag bei STF-Records bekommen.
+Bevor in ca. einem Monat unsere erste CD "Love is a Grave" erscheint,
+habt ihr bereits am 12.4. im JZ Wellinghofen in Dortmund die Moeglichkeit,
+von Insania, Scarecroe und uns umgeblasen zu werden.
+Naeheres unter www.spirit-corpse.de
+
+Aber keine Sorge: zur Party am Samstag komme ich in friedlicherer Absicht :-)
+
+Beelze
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spirit Corpse zerstoeren Dortmund (Boing,  2. Apr 2002, 09:46:41):
+~#! rn=Beelzebub rt=1017733383 rg=kultur
+~#! tid=1017733383
+Wie definiert sich 'Zombie-Metal'? :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spirit Corpse zerstoeren Dortmund (Humni,  2. Apr 2002, 09:48:58):
+~#! rn=Boing rt=1017733601 rg=kultur
+~#! tid=1017733383
+Das wollte ich auch fragen.
+
+Und ich denke, dass ich zumindest die ,klassischen' Metall-Abarten kenne und
+auch durchaus schaetze - aber hier raecht sich wohl gerade, dass ich seit ca.
+6 Jahren keine Metal-Zeitungen mehr lese. Trash, Speed, Death, Black, Power...
+Metal kenn ich.. aber Zombie ist mir auch neu.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spirit Corpse zerstoeren Dortmund (Muaddib,  2. Apr 2002, 09:49:54):
+~#! rn=Humni rt=1017733738 rg=kultur
+~#! tid=1017733383
+Vielleicht wuenscht man sich dabei, tot zu sein.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spirit Corpse zerstoeren Dortmund (Grimmborn,  2. Apr 2002, 09:50:02):
+~#! rn=Humni rt=1017733738 rg=kultur
+~#! tid=1017733383
+Das ist sicher sowas wie Metallica. Metal von Leuten, die so alt sind dass sie
+quasi Zombies sind.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spirit Corpse zerstoeren Dortmund (Croft,  2. Apr 2002, 09:51:18):
+~#! rn=Humni rt=1017733738 rg=kultur
+~#! tid=1017733383
+Hm.  Evtl in Richtung White Zombie/Rob Zombie?  Das waer zumindest das ich
+spontan damit assoziieren wuerde.
+
+-----------------------------------------------------------------------------
+
+
+
+Stil-Definition (Beelzebub,  2. Apr 2002, 09:55:34):
+Mit Probe mp3-Files isses im Moment schlecht, aber wer am Samstag abend kommt,
+kann ja mal per Discman reinhoeren.
+Ansonsten mal ein Ausschnitt aus unserem Bandinfo:
+
+Spirit Corpse bezeichnen ihre Musik als Zombie-Metal, denn wie vor dem Tod
+alle gleich sind, so macht der Zombie-Metal keinen Unterschied zwischen den
+zahlreichen Musikstilen, die Anteil am Gesamterscheinungsbild dieser
+Musikrichtung haben.
+
+Groovige Rock?n?Roll Leads treffen auf kalte Stakkatoriffs, mal sphaerische,
+mal verspielte Keyboards, Doublebassattacken und eine gehoerige Portion
+Spielspass. Das Ergebnis sind atmosphaerische wie eingaengige Songs, in denen
+sich klassischer Rock?n?Roll, Doom-, Black- und traditionelle Metalstile das
+Zepter in die Hand geben.
+Durch mehrstimmige Lead- und Backvocals schaffen es Spirit Corpse jederzeit,
+den deutsch- und englischsprachigen Gesang an die Atmosphaere ihrer Musik
+anzupassen. Die Bandbreite geht von mehrstimmig clean ueber rockig-rotzig bis
+hin zu Growls und Screams.
+Auch die Buehenpraesenz der Spirit Corpse weiss zu ueberzeugen. Die -
+besonders fuer Untote - aktive Buehenshow sowie Publikumsnaehe und ein
+geradezu spruehender Spielspass machen sie zu einer echten Sehenswuerdigkeit.
+
+
+Naja, war jetzt ein grosser Ausschnitt. Is einigermassen klar jetzt ? Noe ?
+*grumpf*
+
+Beelzebub
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stil-Definition (Beelzebub,  2. Apr 2002, 10:00:33):
+~#! rn=Beelzebub rt=1017734134 rg=kultur
+~#! tid=1017734134
+Ach was soll der Geiz, hier noch der Anfang unseres Bandinfos:
+
+Wenn ein Mensch stirbt, so sagt man, teilt sich sein Wesen in Koerper und
+Geist. Der Koerper wird wieder zu Erde, denn aus der Erde ward er geschaffen,
+waehrend der Geist sich unberuehrt in andere Sphaeren begibt. Was aber
+passiert, wenn der Geist gefangen und wieder in seine sterbliche Huelle
+zurueckgesteckt wird?
+
+In einer alltaeglichen und scheintoten Welt erhoben sich beseelte Leichen, um
+zu verkuenden und zu erzaehlen, zu erwecken und zurueckzufuehren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Stil-Definition (Grimmborn,  2. Apr 2002, 10:53:50):
+~#! rn=Beelzebub rt=1017734433 rg=kultur
+~#! tid=1017734134
+Also kann man den Stil auch prosaischer beschreiben als "wir haben uns unsere
+Sachen ueberall zusammengeklaut, so dass man nicht mehr richtig erkennt was es
+mal gewesen ist"? Auf der Stufenfahrt nach Budapest und Wien hat der
+mitfahrende Kunstlehrer das architektonische Aequivalent immer "eklektischer
+Stil" genannt.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Stil-Definition (Beelzebub,  2. Apr 2002, 10:59:10):
+~#! rn=Grimmborn rt=1017737630 rg=kultur
+~#! tid=1017734134
+Hmmm, also geklaut wuerde ich nicht sagen. Sowas kommt halt dabei raus, wenn
+der Keyboarder Power Metal, der Schlagzeuger Black Metal, der Beaster
+Rock'n'Roll, der OCOund die anderen beiden halt Metal hoeren. 
+Von wegen geklaut: neu is heutzutage doch eh nix mehr. Es gibt halt nur
+endlich viele Akkorde. Man muss sie nur neu praesentieren...
+Eklektisch klingt aber trotzdem geil :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stil-Definition (Zook,  2. Apr 2002, 11:00:16):
+~#! rn=Beelzebub rt=1017737950 rg=kultur
+~#! tid=1017734134
+Hmm.... nun hab ich aber doch ein paar Fragen...
+
+Was ist ein Beaster? Was ist ein OCO? Und vor allem, was genau klingt
+an dem Wort "eklektisch" geil? ;)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Stil-Definition (Beelzebub,  2. Apr 2002, 11:02:21):
+~#! rn=Zook rt=1017738016 rg=kultur
+~#! tid=1017734134
+Also ein Beaster ist ein durchgeknallter Gitarrist und Saenger, ein OCO ein
+unter Windows-Telnet entstandener Tippfehler und eklektisch klingt so aehnlich
+wie erektisch oder so... aeh, ja.. *erroet*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stil-Definition (Amaryllis,  2. Apr 2002, 11:22:19):
+~#! rn=Beelzebub rt=1017737950 rg=kultur
+~#! tid=1017734134
+"Es gibt halt nur endlich viele Akkorde."
+
+Stimmt. Bei Metal meistens einer oder maximal zwei :-)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Stil-Definition (Maarg,  2. Apr 2002, 11:23:17):
+~#! rn=Amaryllis rt=1017739339 rg=kultur
+~#! tid=1017734134
+BTW, wieviele gibt's eigentlich?
+
+Maarg - neugierig
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Stil-Definition (Ark,  2. Apr 2002, 11:26:39):
+~#! rn=Beelzebub rt=1017737950 rg=kultur
+~#! tid=1017734134
+Na da lobe ich mir doch BBB & Co., da hoere ich zumindest immer wieder mal was
+Neues ;^) Gut, dass es in der Musik mehr als nur endlich viele Akkorde gibt
+*huestel*
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Stil-Definition (Seraphina,  2. Apr 2002, 16:52:44):
+~#! rn=Maarg rt=1017739397 rg=kultur
+~#! tid=1017734134
+Eine ganze Menge :)). Wobei Madonna und "Music" mit einem einzigen auskommen.
+Wobei das bei ihr ein Einzelfall ist, Modern Talking hat sich die Akkord-
+Sparsamkeit ja irgendwo als Virusinfektion geholt... ;))
+
+Sera
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Spirit Corpse zerstoeren Dortmund (Daria,  5. Apr 2002, 17:12:33):
+~#! rn=Muaddib rt=1017733794 rg=kultur
+~#! tid=1017733383
+Hm.
+Oder man war schon tot und fand das nicht so spannend... da lebendig nicht
+mehr moeglich ist, waehlt man untot...
+*zuck*
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+TV: RTL 2: Seifenopern statt Anime? (Vanion, 23. Jun 2002, 11:59:19):
+RTL 2 begraebt offenbar die Plaene fuer die Gruendung eines eigenen Kanals
+fuer japanische Animationsserien ("Animes").
+Wie die Sueddeutsche Zeitung berichtet, habe man erkannt, dass nach dem
+Massaker von Erfurt ein solcher Kanal, der die actiongeladenen
+Zeichentrickfilme zeigen sollte, zur Zeit "wenig erwuenscht sei".
+Stattdessen plane man nun einen eigenen Sender f|r "Telenovelas", also jenen
+endlosen Fortsetzungsserien von TV-Familiendramen, die in Lndern wie Brasilien
+und Mexiko grosei".en Erfolg haben.
+Noch aber haben die Gesellschafter (Bertelsmann, Disney, Filmhndler Kloiber,
+Bauer) dem Projekt aus Muenchen nicht zugestimmt.
+--
+Quelle: www.wunschliste.de
+
+Meine Meinung: Da koennte man im aktuellen Programm sicher noch mehr
+ausmisten. Ich glaube schon lange, das Tom & Jerry, Simpsons und co. alle erst
+ab 16 freigegeben werden sollten.
+
+V*, kann sich mal wieder ein mildes Laecheln nich verkneifen.
+
+-----------------------------------------------------------------------------
+
+
+
+Kollegialitaet unter Fernsehmoderatoren (Grimmborn, 15. Jul 2002, 00:03:17):
+Christine Westermann in Zimmer frei zur Frage was sie gerade ueber den
+geschaetzten Moderatorenkollegen Cherno Jobatay gesagt haette:
+"...Tschernobyl. Also hoer mal, das ist doch kein Moderator!"
+Recht hat sie, die Frau.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+MP3s (Beelzebub, 15. Jul 2002, 08:59:34):
+So, fuer alle interessierten gibt es jetzt unter www.spirit-corpse.de und dann
+Leichen musizieren 2 Minuten von jedem Song unserer Platte "Love is a grave"
+als Mp3.
+
+Und jetzt kaufen :-)ODO gehen :-)
+
+Beelzebub alias Struggler
+
+-----------------------------------------------------------------------------
+
+
+
+Monty Python's Flying Circus - OmU (Vanion, 20. Jul 2002, 21:15:41):
+Die Kult-Comedy "Monty Python's Flying Circus" kommt zurueck auf
+deutsche Bildschirme.
+
+Ab dem 28. August zeigt der hessische Rundfunk im Rahmen der "Late
+Lounge" alle 45 Folgen im englischen Originalton mit deutschen
+Untertiteln, und zwar in der originalen Reihenfolge.
+
+Quelle: http://www.wunschliste.de/news 
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Tad Williams - Otherland (Vanion, 25. Jul 2002, 19:18:24):
+Hi,
+
+Ich habe mir vor kurzem den ersten Band des oben erwaehnten Buches geleistet.
+Voller Vorfreude fing ich an, zu lesen. Mittlerweile hab ich den Vorspann und
+das erste Kapitel hinter mir. Irgendwie ist alles langweilig und
+enttaeuschend. 
+
+Da es sich um insgesamt 4 Baende mit insgesamt fast 4000 Seiten handelt
+ueberleg ich nun ernsthaft, wieder aufzuhoeren. Wenn das so einfach waere ...
+irgendwie mag ich keine halb gelesenen Buecher. 
+
+Deshalb hoff ich auf eure Mithilfe. Wer hat das Buch gelesen? Wird es
+spannender? Wie haarstraeubend werden Williams' technische Beschreibungen?
+
+Kurz: Habt ihr Gruende fuer mich das Buch wegzulegen oder gebt ihr mir ein
+kraeftiges "Halte Durch!"?
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tad Williams - Otherland (Montanus, 25. Jul 2002, 21:51:21):
+~#! rn=Vanion rt=1027617504 rg=kultur
+~#! tid=1027617504
+Lies den ersten Band. 
+Dann leih dir den dritten Band und lies die Zusammenfassung des zweiten Bands
+und gib das Buch wieder zurueck.
+Dann leih Dir den vierten Band und lies die Zusammenfassung des dritten Bands
+und freu dich, dass du dir die Buecher nicht gekauft hast.
+Irgendwie schafft es WIlliams nicht, die Faeden wieder zusammenzufuehren, er
+macht dafuer recht fleissig neue Handlungsstraenge auf. Vielleicht passiert ja
+noch was in Buch 5? 6? 7?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tad Williams - Otherland (Anthea, 26. Jul 2002, 09:05:04):
+~#! rn=Montanus rt=1027626681 rg=kultur
+~#! tid=1027617504
+Otherland gehoert zu den zwei oder drei Buechern, die ich nicht durchgelesen
+habe. Wobei ich an manch anderen Buechern (Zyklus "Memory, Sorrow and Thorn",
+Tailchaser's Song) von ihm durchaus Gefallen gefunden habe.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tad Williams - Otherland (Isi, 26. Jul 2002, 09:06:26):
+~#! rn=Anthea rt=1027667104 rg=kultur
+~#! tid=1027617504
+Also mir hats bis Band 3 einschliesslich gefallen.
+Band 4 wartet darauf dass gewissen andere Dinge fertig werden...
+isi (Moussewerfend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tad Williams - Otherland (Boing, 26. Jul 2002, 10:54:38):
+~#! rn=Isi rt=1027667186 rg=kultur
+~#! tid=1027617504
+Ich hab alle 4 Baende gelesen und fand sie klasse.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Tad Williams (Tangalur, 26. Jul 2002, 12:03:47):
+habe damals nur den Drachenbeithron gelesen und nach den ersten 150 recht
+langweiligen Seiten waren alle vier Baende sehr spannend. Wenn Otherland im
+gleichen Stil ist lohnt es sich bestimmt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tad Williams (Ark, 26. Jul 2002, 12:55:51):
+~#! rn=Tangalur rt=1027677827 rg=kultur
+~#! tid=1027677827
+Na, gebt dem Autor mal Zeit, die Charaktere zu entwickeln. War eine schoene
+Story, und nicht Explosionen, Drachen und Ueberfaelle auf jeder Seite :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tad Williams (Gorog, 26. Jul 2002, 13:52:04):
+~#! rn=Ark rt=1027680951 rg=kultur
+~#! tid=1027677827
+Hmm. Naja. Irgendwie is das wie mit vielen anderen Buechern auch... Den Hernn
+der Ringe hab ich auch 4 mal anfangen muessen bis ich das Ende gelesen hatte.
+Bei Otherland bin ich sofort bis zum Ende durch (abgesehn mal von nem halben
+jahr Wartezeit auf Band 4). Und ich muss sagen: Wirklich klasse, gelegentlich
+etwas zaeh aber das gibts doch fast immer... 
+Gorog liebt die Reihe und fragt sich welche Drogen der Williams waerend Band
+vier zusich genommen hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Robin of Sherwood - Complete Series 1 [UK IMPORT] (Vanion,  5. Aug 2002, 21:58:59):
+Hi,
+
+Vielleicht erinnert ihr euch noch an diese Serie. Sie lief vor gut 10
+Jahren mal im ZDF. Wem sie nix sagt, der braucht eigentlich nicht
+weiterlesen. :)
+
+Ich bin kuerzlich bei Amazon darueber gestolpert, und hab mir fest
+vorgenommen, das irgendwann zu kaufen. Nun haben die den Preis fuer
+die oben genannte DVD auf 30.99 Euro runtergesetzt.
+
+Das hier soll keine Werbung sein, ich bin weder im Film zu sehen, noch
+krieg ich irgendwie Geld hierfuer (hab deshalb auch keinen Link
+angegeben)
+
+Ich dachte nur, der eine oder andere wird sich auch freuen, Robin,
+Will Scarlett und die "Hooded Man" wiederzusehen. Und natuerlich auch
+einen unglaublich fiesen Sheriff of Nottingham.
+
+V*, hat die DVD noch nich in Haenden, erwartet aber sehnsuechtig Post. 
+
+-----------------------------------------------------------------------------
+
+
+
+Eminem - The Eminem Show (Zaphob,  6. Aug 2002, 20:00:30):
+Falls du dich mal informieren moechtest, warum diese Kiddies so auf Rapmusik
+abfahren, oder was daran interessant ist, dann lass dir diese Scheibe ans Herz
+legen. Ein sehr ehrliches Album, nicht annaehernd so mainstreamartig wie die
+Vorabsingle Without Me. Definitiv sehr interessant.
+You need to be able to listen to and understand English to enjoy the lyrics.
+
+Zaphob
+gibt ab sofort Musiktipps
+
+-----------------------------------------------------------------------------
+
+
+
+kultur (Weltfrieden, 31. Aug 2002, 22:47:58):
+gar kein Arikel in der Rubrik Kultur?
+na dass will ich dann mal aendern *g*
+Kultur-Preisfrage: Wieviel Aufsehen kann man wie erreichen? *g*
+und... wozu koennte sowas gut sein
+koennte sowas meinem Namen gut bekommen?
+soweitfuerheut
+ulli (verwirrungverfend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kultur (Grimmborn, 31. Aug 2002, 22:49:20):
+~#! rn=Weltfrieden rt=1030826878 rg=kultur
+~#! tid=1030826878
+Was auch immer Du rauchst: Du solltest damit aufhoeren, es bekommt Dir nicht.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: kultur (Vanion, 31. Aug 2002, 22:51:17):
+~#! rn=Grimmborn rt=1030826960 rg=kultur
+~#! tid=1030826878
+Um hier mal echte Kultur reinzubringen (und rauchen is in dem Fall nich so OT)
+
+   Bob Marley rulez!
+
+V*. (Chaos RULEZ. Natuerlich trotzdem. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: kultur (Weltfrieden, 31. Aug 2002, 22:51:21):
+~#! rn=Grimmborn rt=1030826960 rg=kultur
+~#! tid=1030826878
+Grimmborn, wie? Wie begruendest Du Dein so schnelles Urteil?
+Der momentane Zustand laesst nur bedingt auf andere Zustaende eines Objektes
+schliessen...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: kultur (Grimmborn, 31. Aug 2002, 22:54:49):
+~#! rn=Weltfrieden rt=1030827081 rg=kultur
+~#! tid=1030826878
+Wie soll ich das verstehen? Dass Du immer so bist, dass es also nichts hilft
+wenn Du aufhoerst komische Sachen zu rauchen? Das tut mir aber leid. Ich hoffe
+Du hast professionelle Hilfe zur Verfuegung?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Kulturrevolution (Weltfrieden, 31. Aug 2002, 22:55:44):
+Denkt Ihr sowas waere moeglich? Ueberhaupt schon mal drueber nachgedacht?
+Warum nicht?
+Meine These: Ohne sowas wie ein revolutionaerer Umschwung im kulturellen
+(er)leben ist Weltfrieden im Moment nicht machbar
+weiter: mit Hilfe einer virtuellen (real)Welt wird diese Kulturveraenderung
+allein moeglich sein.
+greetz
+ulli (hmmmwerfend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kulturrevolution (Linflas, 31. Aug 2002, 22:56:38):
+~#! rn=Weltfrieden rt=1030827344 rg=kultur
+~#! tid=1030827344
+*waelz*
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kulturrevolution (Grimmborn, 31. Aug 2002, 22:57:45):
+~#! rn=Linflas rt=1030827398 rg=kultur
+~#! tid=1030827344
+Ja, interessante Drogeneffekte zum Wochenende. Auch das ist Kultur, irgendwie.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Todesfuge (Grimmborn, 31. Aug 2002, 23:01:24):
+Damit hier auch mal ein wenig echte Kultur drin steht, eins der
+wirkungsvollsten Gedichte aller Zeiten:
+
+Paul Celan
+
+Todesfuge
+
+Schwarze Milch der Fruehe wir trinken sie abends
+wir trinken sie mittags und morgens wir trinken sie nachts
+wir trinken und trinken
+wir schaufeln ein Grab in den Lueften da liegt man nicht eng
+Ein Mann wohnt im Haus der spielt mit den Schlangen der schreibt
+der schreibt wenn es dunkelt nach Deutschland dein goldenes Haar Margarete
+er schreibt es und tritt vor das Haus es blitzen die Sterne er pfeift seine
+   Rueden herbei
+er pfeift seine Juden hervor laesst schaufeln ein Grab in der Erde
+er befiehlt uns spielt auf nun zum Tanz
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich morgens und mittags wir trinken dich abends
+wir trinken und trinken
+Ein Mann wohnt im Haus und spielt mit den Schlangen der schreibt
+der schreibt wenn es dunkelt nach Deutschland dein goldenes Haar Margarete
+Dein aschenes Haar Sulamith wir schaufeln ein Grab in den Lueften da liegt 
+   man nicht eng
+
+Er ruft stecht tiefer ins Erdreich ihr einen ihr andern singet und spielt
+er greift nach dem Eisen im Gurt er schwingts seine Augen sind blau
+stecht tiefer die Spaten ihr einen ihr andern spielt weiter zum Tanz auf
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich mittags und morgens wir trinken dich abends
+wir trinken und trinken
+ein Mann wohnt im Haus dein goldenes Haar Margarete
+dein aschenes Haar Sulamith er spielt mit den Schlangen
+
+Er ruft spielt suesser den Tod der Tod ist ein Meister aus Deutschland
+er ruft streicht dunkler die Geigen dann steigt ihr als Rauch in die Luft
+dann habt ihr ein Grab in den Wolken da liegt man nicht eng
+
+Schwarze Milch der Fruehe wir trinken dich nachts
+wir trinken dich mittags der Tod ist ein Meister aus Deutschland
+wir trinken dich abends und morgens wir trinken und trinken
+der Tod ist ein Meister aus Deutschland sein Auge ist blau
+er trifft dich mit bleierner Kugel er trifft dich genau
+ein Mann wohnt im Haus dein goldenes Haar Margarete
+er hetzt seine Rueden auf uns er schenkt uns ein Grab in der Luft
+er spielt mit den Schlangen und traeumet der Tod ist ein Meister aus 
+   Deutschland
+
+dein goldenes Haar Margarete
+dein aschenes Haar Sulamith
+
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kulturrevolution (Vanion, 31. Aug 2002, 23:02:24):
+~#! rn=Weltfrieden rt=1030827344 rg=kultur
+~#! tid=1030827344
+Bitte bitte bitte arbeite an Deiner Artikelformatierung. Ich krieg
+Kopfschmerzen beim lesen.
+
+V*, sonst eigentlich nich maekelig.
+
+-----------------------------------------------------------------------------
+
+
+
+ups (Weltfrieden, 31. Aug 2002, 23:07:11):
+naja, der artikel davor hatte wohl zu lange Zeilen...
+aber trotzdem um um mal fuer einen Moment auf den Punkt zu kommen:
+ja, ich bin grad bekifft *g* aber is Wochende und fuer mich ist das ok.
+ansonsten ist das keine Grund andere Thesen nur deshalb ohne jede weiter
+kein Grund irgendwelche meiner Thesen von vornherein zu verunglimpfen :-)
+These: Weltfrieden funktioniert!
+These Weltfrieden ist "relativ" leicht erreichbar.
+Ich koennte mehrere Vorraussetzungen nennen *g*
+erstmal eine, mit der der Threat sicher neue Spannung erhaelt... *fg*
+Wenn mir sagen wir mal 100 faehige Programmierer (verschieden Richtungen),
+fuer vielleicht weissichnichtwieviele Stunden sich meine Ideen erklaeren
+lassen wuerden
+und dann vielleicht ein Jahr Zeit und Freude daran haetten diese (zusammen mit
+eigenen Ergaenzungen) umzusetzen
+dann bin ich sicher, waere eine kultur- und friedens- und wirtschaftliche
+revolution moeglich,
+wie sich sich kaum einer auszumalen vermag *g*
+so - damit hab ich mich fuers erste hoffentlich ausreichend vorgestellt ;-)
+Peace!
+usw
+
+-----------------------------------------------------------------------------
+
+
+
+formatierung (Weltfrieden, 31. Aug 2002, 23:09:52):
+hm sorry wegen dem format
+sind erste Texte in dieser Zeitung
+nicht dran gewoehnt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: formatierung (Grimmborn, 31. Aug 2002, 23:12:09):
+~#! rn=Weltfrieden rt=1030828192 rg=kultur
+~#! tid=1030828192
+Ja, damit hast Du Dich hoffentlich ausreichend vorgestellt.
+Und wie genau sollen irgendwelche Programme die 70% der Weltbevoelkerung
+beeinflussen, die nichtmal theoretisch Zugang zu Computern haben?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+fute frage :) (Weltfrieden, 31. Aug 2002, 23:14:56):
+Wie kommst Du darauf, das 70% der Weltbevoelkerung fuer
+den Weltfrieden _entscheidend_ sind?
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich mal wieder was huebsches (Linflas, 31. Aug 2002, 23:15:24):
+Allen BerlinerInnen und BesucherInnen der Rei...aeh...Bundeshauptstadt mag es
+vielleicht von bekannt sein: Blinkenlights vom ccc. Nun hat sich Tim Pritlove
+im Rahmen des Nuit Blanche Kunst- und Kulturfestivals in Paris was neues
+einfallen lassen.
+
+Guckt mal rein unter:
+
+http://www.blinkenlights.de/arcade/
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: fute frage :) (Grimmborn, 31. Aug 2002, 23:16:44):
+~#! rn=Weltfrieden rt=1030828496 rg=kultur
+~#! tid=1030828496
+Ganz einfach: Du wirst Idioten nicht 100%ig ausrotten koennen, daher bist Du
+darauf angewiesen dass praktisch jeder in der Lage ist, sich selbstaendig
+gegen Idioten zu wehren. Der ungebildete Inder an sich ist harmlos, aber wenn
+er einen Deppen findet der ihn entsprechend indoktriniert, droht er auf einmal
+mit der Atombombe.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Software (Weltfrieden, 31. Aug 2002, 23:17:54):
+mit einer Software die ein paar bestimmte
+viele noch genau bestimmbare
+Anfordeungen erfuellt, wie z.B.
+weitgehend realistische Simulation der Realitaet
+dadurch (fast) moegliche ortsunabhaengige verstaendigung
+und natuerlich ein wenig mehr... :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Software (Grimmborn, 31. Aug 2002, 23:19:27):
+~#! rn=Weltfrieden rt=1030828674 rg=kultur
+~#! tid=1030828674
+Und wie stellst Du sicher, dass sich z.B. Saddam Hussein von der boesen,
+westlichen Software beeinflussen laesst?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Endlich mal wieder was huebsches (Weltfrieden, 31. Aug 2002, 23:22:03):
+~#! rn=Linflas rt=1030828524 rg=kultur
+~#! tid=1030828524
+schoenes Beispiel :-)
+Leider ist sowas oertlich noch viel zu begrenzt
+und mobile Geraete zuwenig verbreitet
+zu klein
+und noch nicht ausreichend vernetzt
+bzw. bezahhlbar
+
+-----------------------------------------------------------------------------
+
+
+
+Saddam (Weltfrieden, 31. Aug 2002, 23:24:59):
+Saddam wird im ersten Schritt nur indirekt
+von der Software beeinflusst
+durch neue Moeglichkeiten bei den Menschen,
+die Einfluss auf ihn haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Saddam (Bambi,  1. Sep 2002, 00:34:33):
+~#! rn=Weltfrieden rt=1030829099 rg=kultur
+~#! tid=1030829099
+Lies mal bitte GENAU "hilfe mpa".
+Achte auf den Abschnitt, in dem "antworte" erklaert wird.
+Danke.
+
+-----------------------------------------------------------------------------
+
+
+
+Neues JBO-Album (Humni, 15. Sep 2002, 10:48:53):
+Huhu,
+
+ich habs nur zufaellig rausgefunden, dass JBO seit 6 Tagen ein neues Album auf
+dem Markt haben. Es heisst ,,Rosa Armee Fraktion'' und mir persoenlich
+gefaellts noch ein wenig besser als Sex Sex Sex, auch wenn's wieder ohne
+,,guten Tag zum Sterben'' auskommen muss.
+
+Wer JBO kennt und mag wird's geniessen, wer mit deren Musik noch nie was
+anfangen konnte wird auch das Album nicht moegen - auch wenn im Anfangslied
+festgestellt wird, dass sich JBO auf Niveau reimt sprechen Zeilen wie ,,Was
+sagt mein Penis dazu?'' fuer sich...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kino kino v2.0 (Gorog, 25. Sep 2002, 02:05:00):
+Sodele, komme gerade aus ner Sneak, und irgendwie musste ich direkt mal ne
+Empfehlung fuer K-Pax aussprechen. Dabei handelt es sich um einen recht
+ruhigen, amuesanten und intelligenten Film, in dem Kevin Spacey und Jeff
+Bridges so richitg auf trumpfen. Wie auch immer.
+Kurzinhalt: Verwirrter Kerl (Spacey) wird in eine Psyhiatrie eingewiesen und
+behauptet er sei ein Ausserirdischer. Der ansaessige Psychiater (Bridges)
+versucht natuerlich ihn zu heilen. Und man fragt sich bis nach dem Ende, ob
+der Kerl nun wirklich ein Ausserirdischer ist, oder einfach nur ein
+astronomisch versierter Irrer." |Einfach genial der Film, und nicht nur weil
+Spacey mal wieder mindestens die Klasse seiner Rolle in "Die ueblichen
+Verdaechtigen" erreicht.  Also frei nach Herrn Schmidt: "Schaubefehl!" 
+| 
+mfGorog
+
+behobene Fehler: 1 (danke an Dotz)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kino kino v2.0 (Marcus, 25. Sep 2002, 08:52:40):
+~#! rn=Gorog rt=1032912300 rg=kultur
+~#! tid=1032912300
+Seltsam, K-PAX hab ich auf dem Flug von Amiland nach Deutschland im _Maerz_
+gesehen. Ohne Kopfhoerer, insofern weiss ich net worums ging.
+
+Nur seltsam, das er jetzt erst hier in die Kinos kommt ,)
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kino kino v2.0 (Zarniya, 25. Sep 2002, 09:40:40):
+~#! rn=Marcus rt=1032936760 rg=kultur
+~#! tid=1032912300
+wahrscheinlich ist es nicht so einfach, das interlektuelle Gelaber von Spacey
+so schnell zu uebersetzen... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kino kino v2.0 (Vincent, 25. Sep 2002, 10:56:09):
+~#! rn=Marcus rt=1032936760 rg=kultur
+~#! tid=1032912300
+So seltsam ist das nicht. Amerikanische filme laufen oft mit erheblicher
+Verzoegerung in deutschen und/oder europaeischen Kinos. Fluggesellschaften
+kriegen uebrigens manche Filme noch vor dem amerikanischen bzw. deutschen
+Kinostart ins Bordkino.
+
+Umgekehrt kommt das auch vor: Der Film "Das Experiment" laeuft jetzt erst
+in den amerikanischen Kinos an, obwohl er in Deutschland bereits auf
+Premiere gesendet wird. Den amerikanischen Trailer kann man auf apple.com
+in der Abteilung Quicktime anschauen. Ist schon interessant, wie die
+Amerikaner einen deutschen Film anteasern und vor allem wie die den
+Filmtitel aussprechen. ;-)
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Kino kino v2.0 (Maarg, 25. Sep 2002, 19:14:16):
+~#! rn=Vincent rt=1032944169 rg=kultur
+~#! tid=1032912300
+Der wird drueben nicht mit "The Experiment" oder so aehnlich uebersetzt?
+
+Kommt der ueberhaupt synchronisiert in die Kinos oder wird der untertitelt?
+Wie wird da generell mit auslaendischen Filmen verfahren?
+
+Gruss,
+
+   Maarg
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Kino kino v2.0 (Croft, 25. Sep 2002, 19:23:34):
+~#! rn=Maarg rt=1032974056 rg=kultur
+~#! tid=1032912300
+So wie ich Amis einschaetze muss ein Film synchronisiert sein, sonst
+schaut ihn sich keiner an ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Kino kino v2.0 (Phobos, 25. Sep 2002, 19:23:56):
+~#! rn=Maarg rt=1032974056 rg=kultur
+~#! tid=1032912300
+Wundert mich, dass ueberhaupt ein auslaendischer Film
+in die amerikanischen Kinos kommt. Machen die nicht
+normalerweise ein Remake?
+
+Phobos
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Kino kino v2.0 (Elberet, 25. Sep 2002, 19:26:27):
+~#! rn=Phobos rt=1032974636 rg=kultur
+~#! tid=1032912300
+also lola rennt war wohl nen grosser erfolg bei den amis
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Kino kino v2.0 (Maarg, 25. Sep 2002, 19:31:54):
+~#! rn=Elberet rt=1032974787 rg=kultur
+~#! tid=1032912300
+Und "Das Leben ist schoen" hat ja IIRC sogar den Oscar als Bester Film
+bekommen.
+
+Maarg
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Kino kino v2.0 (Gnome, 25. Sep 2002, 21:51:10):
+~#! rn=Croft rt=1032974614 rg=kultur
+~#! tid=1032912300
+falsch.
+"der bewegte mann" wurde mit untertiteln gezeigt und war ein
+ziemlicher erfolg. nur die lacher kamen immer etwas verzoegert... :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Kino kino v2.0 (Maarg, 25. Sep 2002, 21:52:12):
+~#! rn=Gnome rt=1032983470 rg=kultur
+~#! tid=1032912300
+Wie haben die Amis denn auf "Bull Power" reagiert? ;o)
+
+Maarg
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Kino kino v2.0 (Grimmborn, 25. Sep 2002, 23:47:14):
+~#! rn=Maarg rt=1032983532 rg=kultur
+~#! tid=1032912300
+Der _normale_ Weg fuer gute, auslaendische Filme in den USA (natuerlich gibt
+es Ausnahmen) ist, dass es ein amerikanisches Remake gibt, dass dann ein
+Erfolg wird, siehe den Kaefig voller Narren.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Kino kino v2.0 (Vincent, 26. Sep 2002, 00:11:30):
+~#! rn=Maarg rt=1032974056 rg=kultur
+~#! tid=1032912300
+Der Film heisst tatsaechlich auch in den USA "Das Experiment". Der Film ist
+synchronisiert. Da sind die Amis ganz wie wir Deutschen. Hierzulande gab es
+immer mal wieder Versuche Filme unsynchronisiert im OT und mit/ohne
+Untertitel zu zeigen, mit dem Ergebnis, dass die Mehrheit der Deutschen
+in solche Filme nicht "reingehen". Ganz im Gegenteil zu den Schweizern und
+Niederlaendern z.B. bei denen O-Ton mit Untertitel ueblich und akzeptiert ist.
+(Soweit ich mich erinnere jedenfalls).
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Kino kino v2.0 (Mandragon, 26. Sep 2002, 00:12:46):
+~#! rn=Vincent rt=1032991890 rg=kultur
+~#! tid=1032912300
+Also bei englischen Filmen ziehe ich ja OoU vor .... :-)
+
+Ma* (war laenger 'drueben')
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Kino kino v2.0 (Grimmborn, 26. Sep 2002, 00:15:58):
+~#! rn=Mandragon rt=1032991966 rg=kultur
+~#! tid=1032912300
+Ich auch, aber bei amerikanischen bin ich dann wieder ueber Untertitel
+gelegentlich recht froh. Da verstehe ich Train Spotting oder The Full Monty
+(beide OoU gesehen) besser als die ganzen amerikanischen Sachen. Und
+Braveheart auf schottisch mit australischem Akzent war auch ziemlich cool.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Kino kino v2.0 (Vincent, 26. Sep 2002, 00:21:07):
+~#! rn=Mandragon rt=1032991966 rg=kultur
+~#! tid=1032912300
+Kurz noch erwaehnt:
+
+Ich habe mal einen Ausschnitt aus einer Schweizer Version eines amerikanischen
+Filmes gesehen. Der war unten mit dt. Untertitel versehen und parallel oben
+mit franzoesischen Untertitel. Das ist dann schon nicht mehr so ganz
+uebersichtlich. ;-)
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Kino kino v2.0 (Mandragon, 26. Sep 2002, 00:23:17):
+~#! rn=Vincent rt=1032992467 rg=kultur
+~#! tid=1032912300
+Und rechts von oben nach unten italienisch und links raetoromanisch? ;-)
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Kino kino v2.0 (Cuchullin, 26. Sep 2002, 03:55:13):
+~#! rn=Mandragon rt=1032992597 rg=kultur
+~#! tid=1032912300
+Rechts von oben nach unten wohl eher japanisch. ;)
+
+Falsche Rubrik, Jungs.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Kino kino v2.0 (Householder, 26. Sep 2002, 09:09:56):
+~#! rn=Cuchullin rt=1033005313 rg=kultur
+~#! tid=1032912300
+hauptsache der film is nich auch noch auf schweizer-"doitsch" synchronisiert
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Kino kino v2.0 (Montanus, 26. Sep 2002, 18:51:39):
+~#! rn=Householder rt=1033024196 rg=kultur
+~#! tid=1032912300
+Schaut euch mal "Out of Rosenheim" im Original an. Das ist Bayerisch und
+Amerikanisch.
+Interessant uebrigens, dass der FIlm in der US-Version "Bagdad Cafe" heisst,
+und dass das trotz Saddam nicht geaendert wurde.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Kino kino v2.0 (Gast1, 29. Sep 2002, 02:18:39):
+~#! rn=Vincent rt=1032991890 rg=kultur
+~#! tid=1032912300
+In der Tat gibt es hier beides. Synchronisiert und O-Ton mit Untertitel.
+
+In Zuerich (City) selbst sind fast alle Filme ab 20:00 Uhr in Originalton.
+Ausserhalb (auf dem Lande, bez. nicht direkt in der Stadt) ist meistens
+synchronisiert. So kanns sich jeder aussuchen, und die Menge der Zuschauer
+zeigen doch, das es den meisten nicht wirklich drauf ankommt, und beim
+Grossteil der Beveolkerung beides akzeptiert wird.
+
+- Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Botanischer Garten in Karlsruhe (Vincent, 10. Okt 2002, 10:55:52):
+Der Botanische Garten in Karlsruhe soll bekanntermassen (zumindest bei den
+Karlsruhern ist das wahrscheinlich bekannt) eine Umstrukturierung erfahren.
+Um dies zu verhindern wurde eine Buergerinitiative ins Leben gerufen. Auf
+Wunsch unserer theoretischen Mudderin gebe ich hier nun folgendes
+bekannt:
+Heute Abend am 10.10.2002 um 20:00 gibt die Gruenderin der Initiative
+auf dem dritten Programm (SWR3) im TV ein Interview ueber die Thematik,
+Probleme, Infos etc.
+
+Dies den Interessierten zur Info.
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+Nov.18. Mannheim - Capitol (Germany) (Strohalm, 10. Okt 2002, 12:49:54):
+Dort spielen:
+
+BIOHAZARD +
+
+AGNOSTIC FRONT, HATEBREED, DISCIPLINE, ALL BORO KINGS, DEATH THREAT & BORN
+FROM PAIN
+
+Is wer dort?
+
+Haelmchen
+
+-----------------------------------------------------------------------------
+
+
+
+Spiel 2002 (Gorog, 12. Okt 2002, 19:11:17):
+Moins
+
+Da sich noch keiner dazu bereit erklaert hat die diesjaehrige Spiel2002
+anzukuendigen (uebrigens wieder mit grossem Comic-Teil) wered ich das mal tun.
+Also diese Woche 17. bis 19.10 kann man wieder Spiele testen und natuerlich
+auch kaufen bis der Arzt kommt. Ich werd wohl am 17. (Donnerstag) da sein,
+vielleicht sieht man sich.  
+
+mfGorog
+
+Ps: Nein ich bin kein Veranstallter und bekomme auch kein Geld von Schmid,
+Amigo, Queen oder sonst einem Austeller (;
+
+Oh bevor ichs vergesse, sie findet wie immer in Essen in den Messehallen
+statt.
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat des Tages (Amaryllis, 13. Okt 2002, 20:44:04):
+"Frauen, deren Rede plaetschert wie das Wasser der Quelle, rauben dem Mann die
+Ruhe."
+
+Quelle: Film "Winnetou II" mit Cleve Barker
+
+Ama*, weise nickend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitat des Tages (Grimmborn, 13. Okt 2002, 20:44:37):
+~#! rn=Amaryllis rt=1034534644 rg=kultur
+~#! tid=1034534644
+Da spricht der echte Kenner.
+Der Mann heisst "Lex Barker". Naja, kann ja mal passieren...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zitat des Tages (Foobar, 13. Okt 2002, 20:45:15):
+~#! rn=Grimmborn rt=1034534677 rg=kultur
+~#! tid=1034534644
+Und der andere Barker heisst "Clive".
+
+Gruss,
+
+   Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zitat des Tages (Amaryllis, 13. Okt 2002, 20:45:51):
+~#! rn=Grimmborn rt=1034534677 rg=kultur
+~#! tid=1034534644
+Ich wusste, dass mir da ein Lapsus unterlaeuft... schoen, dass es Leute gibt
+die sowas begierig aufnehmen :-)
+
+Ama*, gibt gerne Steilvorlagen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitat des Tages (Liara, 13. Okt 2002, 21:41:27):
+~#! rn=Amaryllis rt=1034534644 rg=kultur
+~#! tid=1034534644
+Ich empfehle dir mal
+
+John Gray: Maenner sind anders, Frauen auch. (Mosaik, 8.50 Euro)
+
+Liara
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zitat des Tages (Mupfel, 13. Okt 2002, 21:46:25):
+~#! rn=Liara rt=1034538087 rg=kultur
+~#! tid=1034534644
+Stehen da auch so nette Zitate? ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+damit das mg nicht ganz verkuemmert, ein Gedicht (Alboin, 26. Nov 2002, 22:09:17):
+Reitergedicht
+
+              Sag mal, Reiter! Ja was ist?
+              Wie kommts, da du alleine bist?
+              Wo ist dein Pferd?
+
+              Ja, das ist so... Verrat es nur!
+              Der Gaul macht grad das Abitur-
+              Auch nicht verkehrt.
+(Robert gernhardt)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: damit das mg nicht ganz verkuemmert, ein Gedicht (Humni, 26. Nov 2002, 22:25:12):
+~#! rn=Alboin rt=1038344957 rg=kultur
+~#! tid=1038344957
+Hehe, von dem kenn ich auch noch eins.
+
+Der See laedt ein zum Bade.
+Zugefroren
+Schade
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bowling for Columbine (Eldaron, 22. Dez 2002, 12:42:08):
+Auch wenn es schon ein bisschen spaet ist; Ich war gestern in dem Film
+'Bowling for Columbine'. Es ist nicht der uebliche Hollywood-Schinken, aber
+ein Film, der von mir dennoch, oder gerade deswegen das Praedikat 'Sehr gut'
+bekommt. Der Film ist eine Art Dokumentarfilm, der mit einem zynischen Humor
+die Waffenhandhabung der US-Amerikaner beleuchtet und dabei die Geschichte der
+USA auf eine Art und Weise aufrollt, wie sie wohl in keinem Geschichtsbuch zu
+finden ist.
+
+Wer mal wieder einen Film sehen will, ueber den man nachher noch stundenlang
+diskutieren kann, dem sei 'Bowling for Columbine' wirklich ans Herz gelegt.
+
+Eldaron
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung des Monats (Gorog,  5. Jan 2003, 20:24:08):
+Hmm naja, eigentlich Empfehlung fuer den Monat November, aber was solls hab
+das Buch erst zu Weihnachten in den Haenden halten koennen. 
+Es geht um "Night Watch" von Terry Pratchett, dummerweise gibts das Ding
+momentan nur gebunden, aber dieses Mal ist das Buch den Aufpreis wirklich wert
+(es sei denn man kann noch bis zum Paperback warten). Eigentlich hab ich mir
+ja mehr oder weniger geschworen keine gebundenen Pratchetts mehr zu kaufen,
+weil das Preis/Seiten/Inhalt-Verhaeltniss bisher absolut nicht gepasst hat.
+Aber naja bei Buechern in denen die NachtWache besonders deren Commander die
+Hauptrolle uebernimmt, der dann auch noch in das falsche Hosenbein der Zeit
+gelangt, kann ich einfach nicht widerstehen.
+
+Gorog sagt: Wunderbarer Vorfolger der Wachenreihe und dem "Thief of Time".
+
+-----------------------------------------------------------------------------
+
+
+
+Gangs of New York (Gorog,  3. Mar 2003, 01:35:05):
+Moins
+Ich machs mal kurz (der Film war naemlich ziemlich lang):
+Kann mir jemand (meinetwege auch Jemand) sagen was der teifere Sinn von Gangs
+of New York ist? Ich hab naemlich nicht wirklich einen gefunden. Aber da ichs
+mit anspruchsvollen Filmen nicht so habe, ist es gut moeglich, dass ich den
+uebersehn habe.
+
+Gorog fand den Film, obwohl einwenig lang, trotzdem recht gut.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gangs of New York (Sarkon,  3. Mar 2003, 11:07:01):
+~#! rn=Gorog rt=1046651705 rg=kultur
+~#! tid=1046651705
+Glaub der Film sollte die Entstehung und den Werdegang New Yorks
+verdeutlichen. New York entstand aus der Gosse, wurde gross durch eben die
+Gangs rund um die Five Points :) stay real! Vll eine Art Parallele zum
+american dream, vom Gangmitglied zu Sheriff, was weiss ich :) Scorses hat
+immerhin wieviel Jahre gebraucht? 40? Da kann man sein Ziel schonmal aus den
+Augen verlieren :)
+Sarkon
+
+-----------------------------------------------------------------------------
+
+
+
+Funstueck (Tangalur,  5. Mar 2003, 08:52:03):
+ZWILLINGE IN DER GEBAERMUTTER UNTERHALTEN SICH
+
+Glaubst du eigentlich an ein Leben nach der Geburt? Ja, das gibt es.
+Unser Leben hier ist nur dazu gedacht, dass wir wachsen und uns
+auf das Leben nach der Geburt vorbereiten, damit wir stark genug sind
+fuer das was uns erwartet.Bloedsinn, das gibt es doch nicht. Wie
+soll denn das ueberhaupt aussehen, ein Leben nach der Geburt? Das weiss
+ich auch nicht genau. Aber es wird sicher viel heller als hier sein.
+Und vielleicht werden wir herumlaufen und mit dem Mund essen? So ein
+Unsinn! Herumlaufen, das geht doch gar nicht. Und mit dem
+Mund essen, so eine komische Idee. Es gibt doch die Nabelschnur, die uns
+ernaehrt. Ausserdem geht das Herumlaufen gar nicht, die
+Nabelschnur ist ja jetzt schon viel zu kurz. Doch es geht ganz
+bestimmt. Es wird eben alles nur ein bisschen anders. Es ist noch nie
+einer zurueckgekommen von 'nach der Geburt'. Mit der Geburt ist das Leben
+zu Ende. Und das Leben ist eine Quaelerei und dunkel.. Auch
+wenn ich nicht so genau weiss, wie das Leben nach der Geburt aussieht,
+jedenfalls werden wir dann unsere Mutter sehen und sie wird fuer
+uns sorgen. Mutter? Du glaubst an eine Mutter? Wo ist sie denn bitte?
+Na hier, ueberall um uns herum. Wir sind und leben in ihr und
+durch sie. Ohne sie koennen wir gar nicht sein! Quatsch! Von einer
+Mutter habe ich noch nie etwas bemerkt, also gibt es sie auch nicht.
+
+Doch, manchmal, wenn wir ganz still sind, kannst du sie singen hoeren.
+Oder spueren, wenn sie unsere Welt streichelt....**
+
+-----------------------------------------------------------------------------
+
+
+
+Enterprise (Vanion, 11. Mar 2003, 20:35:07):
+Samstag, 15. Maerz, 20:15 Uhr, SAT.1
+
+Mehr sag ich nicht, wens interessiert, kann ja danach surfen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+2001 - Odyssee im Weltraum (Vanion, 20. Mar 2003, 19:37:24):
+kommt heute 20:45 auf Arte.
+
+1.) Wenn Du den Film liebst: Schau ihn.
+2.) Wenn Du den Film hasst:  Arme Sau.
+3.) Wenn Du den Film nicht kennst: Erst 2.) danach 1.)
+
+V*, 1.)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 2001 - Odyssee im Weltraum (Alkohol, 20. Mar 2003, 19:42:55):
+~#! rn=Vanion rt=1048185444 rg=kultur
+~#! tid=1048185444
+ich bin wohl ne arme Sau ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: 2001 - Odyssee im Weltraum (Boing, 21. Mar 2003, 09:44:11):
+~#! rn=Alkohol rt=1048185775 rg=kultur
+~#! tid=1048185444
+Als arme Sau wuerde ich mich nicht bezeichnen, da ich den Fil nicht
+hasse, ich finde ihn einfach nur zum gaehnen langweilig und wuerde
+ihn nie im Leben freiwillig ein zweites mal anschauen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: 2001 - Odyssee im Weltraum (Alkohol, 21. Mar 2003, 10:53:12):
+~#! rn=Boing rt=1048236251 rg=kultur
+~#! tid=1048185444
+ok hassen tu ich ihn auch nicht, aber gaehnend langweilig triffts ganz gut
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: 2001 - Odyssee im Weltraum (Bambi, 21. Mar 2003, 11:12:12):
+~#! rn=Boing rt=1048236251 rg=kultur
+~#! tid=1048185444
+Gaehnend langweilig als Synonym fuer einen Film habe ich bisher nur der mit
+dem Wolf tanzt vergeben, aber ich habe den nie ganz gesehen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: 2001 - Odyssee im Weltraum (Grimmborn, 21. Mar 2003, 11:13:59):
+~#! rn=Bambi rt=1048241532 rg=kultur
+~#! tid=1048185444
+Da hab ich Dir was voraus. Ich sass aufgrund einer Verkettung ungluecklicher
+Umstaende so zweite Reihe Mitte, das hat mich am Einschlafen gehindert.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: 2001 - Odyssee im Weltraum (Bambi, 21. Mar 2003, 11:17:26):
+~#! rn=Grimmborn rt=1048241639 rg=kultur
+~#! tid=1048185444
+Mir etwas voraus haben ist der falsche Ausdruck. Ich habe nicht vor, diesen
+Film komplett zu sehen, noch werde ich jemals in Frage stellen, ob das die
+richtige Einstellung zu dem Film ist.
+Ich masse mir nicht einmal an, Dich arme Sau zu nennen, weil Du den Film ganz
+gesehen hast. Mag sein, dass er anderen gefallen hat, ich fand den ersten Teil
+halt dermassen langweilig, dass ich auf den Rest verzichtet habe.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: 2001 - Odyssee im Weltraum (Boing, 21. Mar 2003, 11:19:45):
+~#! rn=Bambi rt=1048241846 rg=kultur
+~#! tid=1048185444
+Naja, Geschmaecker sind halt verschieden ... ;) Ich fand den Film nicht
+zu lang, nicht langweilig und ueberaus beeindruckend. Hab ihn kuerzlich 
+mal wieder komplett auf Premiere gesehen (also ohne Unterbrechungen), hat 
+mich wieder wirklich gefesselt.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: 2001 - Odyssee im Weltraum (Muadib, 21. Mar 2003, 11:21:39):
+~#! rn=Boing rt=1048241985 rg=kultur
+~#! tid=1048185444
+der mit dem wolf tanzt ist das beste einschlafmittel das ich je gesehen habe.
+aber das ist nur meine persoenliche meinung
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: 2001 - Odyssee im Weltraum (Grimmborn, 21. Mar 2003, 11:23:25):
+~#! rn=Muadib rt=1048242099 rg=kultur
+~#! tid=1048185444
+Meine Rede. Bedauerlicherweise haben die aeusseren Umstaende mir nicht erlaubt
+einzuschlafen. Es gibt bessere FIlme. Sogar von/mit Herrn Costner.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: 2001 - Odyssee im Weltraum (Croft, 21. Mar 2003, 11:24:05):
+~#! rn=Grimmborn rt=1048242205 rg=kultur
+~#! tid=1048185444
+Waterworld meinst du aber bestimmt nicht, oder?
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: 2001 - Odyssee im Weltraum (Grimmborn, 21. Mar 2003, 11:24:39):
+~#! rn=Croft rt=1048242245 rg=kultur
+~#! tid=1048185444
+Nur wenn ich meinen Hang zu anstaendigem Trash auslebe.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: 2001 - Odyssee im Weltraum (Boing, 21. Mar 2003, 11:25:21):
+~#! rn=Grimmborn rt=1048242279 rg=kultur
+~#! tid=1048185444
+Ein wirklich hervorragender Film mit Herrn Costner ist Silverado.
+Oder die Unbestechlichen ...
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: 2001 - Odyssee im Weltraum (Vincent, 21. Mar 2003, 16:31:27):
+~#! rn=Boing rt=1048242321 rg=kultur
+~#! tid=1048185444
+Vollkommen meine Meinung: "Die Unbestechlichen" ist ein genialer Film und 
+"Silverado" ein Western mit damaligem Jung-Star-Aufgebot und John Cleese als
+Sherrif.
+Gut find ich ausserdem noch "Tin Cup", ebenfalls mit Herrn Koschtner...mir
+ist aber klar, dass ich mit dieser Meinung weitestgehend alleine stehe. ;-)
+
+Gruss
+Vincent
+
+P.S.: Ist "Der Postmann" nicht auch mit Costner?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: 2001 - Odyssee im Weltraum (Montanus, 21. Mar 2003, 16:40:11):
+~#! rn=Vincent rt=1048260687 rg=kultur
+~#! tid=1048185444
+Och, Tin Cup ist noch einigermassen ertraeglich. White Trailer Trash als
+Helden eines Hollywoodstreifens, der nicht vorrangig in das genre Komoedie
+gepresst werden will, ist nicht ganz so haeufig.
+
+-----------------------------------------------------------------------------
+
+
+
+Enterprise ... (Vanion, 21. Mar 2003, 19:30:06):
+... heute 20:15.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Enterprise ... (Karis, 22. Mar 2003, 00:13:05):
+~#! rn=Vanion rt=1048271406 rg=kultur
+~#! tid=1048271406
+Die deutsche Synchronisation ist irgendwie sch..  sch ...
+schon fast afu dem richtigen Weg.
+
+Karis, steht auf Originale
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Enterprise ... (Vanion, 22. Mar 2003, 00:13:47):
+~#! rn=Karis rt=1048288385 rg=kultur
+~#! tid=1048271406
+Ich find die Originalstimmen auch passiger. 
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Enterprise ... (Firehawk, 22. Mar 2003, 00:25:06):
+~#! rn=Vanion rt=1048288427 rg=kultur
+~#! tid=1048271406
+Naja, das is ja nicht wirklich was neues, dass die Originale fuer gewoehnlich
+besser sind als die Syncros (und ohne Werbung macht das ganze gleich nochmal
+soviel Spass).
+
+Fire*, ebenfalls die Originale bevorzugend
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Enterprise ... (Vanion, 22. Mar 2003, 07:47:36):
+~#! rn=Firehawk rt=1048289106 rg=kultur
+~#! tid=1048271406
+Gibt durchaus Filme, wo die Syncro selbige erst sehenswert gemacht hat.
+"Beverly Hills Cop" lebt im Original nur durch die schauspielerischen Kuenste
+von Eddie Murphy. (Eine Bewertung ueberlass ich dem geneigten Leser).
+Die Syncro hingegen is ein Feuerwerk bloeder Sprueche und verbaler
+Tiefschlaege. Aus meiner Sicht eine klare Aufwertung.
+
+Mir faellt jetzt aber grad kein anderes Beispiel ein.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Enterprise ... (Grimmborn, 22. Mar 2003, 07:54:03):
+~#! rn=Vanion rt=1048315656 rg=kultur
+~#! tid=1048271406
+Das wirklich klassische Beispiel von etwas, das erst durch die Synchronisation
+wirklich gut geworden ist, sind "Die Zwei" mit Tony Curtis und Roger Moore.
+Wird aktuell mal wieder wiederholt, sonntags nachmittags auf Kabel1.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Enterprise ... (Vanion, 22. Mar 2003, 07:54:49):
+~#! rn=Grimmborn rt=1048316043 rg=kultur
+~#! tid=1048271406
+Ah, guter Tip. Und puenktlicher als meiner :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Hier kommt Bush (Vanion, 22. Mar 2003, 08:13:41):
+Ok, ob eine Sitcom Kultur ist, darueber kann man diskutieren. Aber ein paar
+witze auf seine Kappe kann ich schon vertragen.
+
+Ab So, 6.4. 20:15 auf RTL II
+
+Von den Machern von SouthPark.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Enterprise ... (Vincent, 25. Mar 2003, 00:16:42):
+~#! rn=Vanion rt=1048315656 rg=kultur
+~#! tid=1048271406
+ALF!
+
+Nach internationaler Meinung, war die deutsche Synchro durch Herrn Pieper die
+beste, die der Sendung jemals zu Teil wurde und schlug wohl auch das Orginal
+um Laengen.
+
+Und dann faellt mir noch ein "Die zwei". (orig Titel "The Specialists" bin mir
+da aber nicht ganz sicher). Hier lebte die ganze Serie nur von dem typischen
+deutschen Holzhammer-Humor mit den vorprogrammierten Tiefschlaegen und
+Flachheiten. Aber das Ganze in einer Konsequenz und Vielfaelitigkeit, wo das
+es einfach sehenswert ist. Beispiel gefaellig: Roger Moore beleidigt zu
+Tony Curtis: "Jaja, ich weiss. Der Moore hat seine Schuldigkeit getan, der
+Moore kann gehen! " Daraufhin Curtis: "Hab Dich nicht so. Immerhin gibst Du
+demnaechst den Bond!" ;-)
+Und legendaer ist Curtis' Cocktail-Bestellung im Pilotfilm: "Einen Martini,
+bitte. Aber mit zwei Oliven, die sich leicht beruehren!". ;-)))
+
+Gruss
+Vincent
+im Nostalgie-TV-Flash
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Enterprise ... (Humni, 25. Mar 2003, 11:01:35):
+~#! rn=Vincent rt=1048547802 rg=kultur
+~#! tid=1048271406
+Ich kenn auch noch ein Beispiel: Golden Girls. Die Dialoge sind wohl so
+ziemlich dieselben wie im Original, aber die Stimmen klingen im Original alle
+gleich. Und wer die Serie kennt, weiss, dass der Humor zum grossen Teil von
+der piepsigen Rose, der verfuehrerischen Blanche und der unglaublich
+mannweibischen Sophie lebt.
+
+Obs dadurch besser wurde weiss ich nicht, aber ein anderes Beispiel ist
+"Magnum": Im Original ist das wohl eine Aufarbeitung des Vietnam-Traumas. Da
+die Deutschen damit logischerweise nichts anfangen koennen haben sie eine
+reine Detektiv-Serie draus gemacht...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Enterprise ... (Gnome, 25. Mar 2003, 16:14:12):
+~#! rn=Humni rt=1048586495 rg=kultur
+~#! tid=1048271406
+in "married - with children" uebertrifft - lt. aussage der synchronisatoren -
+der wortwitz an manchen stellen das original. kann ich mir zumindest ganz
+gut vorstellen. und welche stimme wuerde besser zu al bundy passen als
+die deutsche synchron? :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Enterprise ... (Vincent, 25. Mar 2003, 17:38:13):
+~#! rn=Humni rt=1048586495 rg=kultur
+~#! tid=1048271406
+Stimmt. Fuer die erste Ausstrahlung im ZDF wurde jeder Bezug zu Vietnam
+entfernt. RTL hat die komplette Serie dann spaeter in der Originalfassung
+nocheinmal neu synchronisieren lassen und die Vietnam-Bezuege dringelassen.
+Auch soll die RTL-Synchronisation deutlich ernster sein, als die fruehe
+ZDF-Version.
+Was aber noch wichtiger ist: RTL hat die Originalreihenfolge der einzelnen
+Episoden beibehalten, waehrend das ZDF (oder war es die ARD? Hmmm. Weiss nicht
+mehr genau), sich da einige Freiheiten erlaubt hat. Aber das gehoert ja
+eigentlich gar nicht zu unserem Thema. *abschweifend*
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+3-Wort-Geschichte (Whitetiger, 25. Mar 2003, 18:52:39):
+Wie waers mal mit einer 3-Wort-Geschichte? Das bedeutet, dass jeder 3 Woerter
+hinzufuegt... so dass es (hoffentlich) eine lange, schoene, witzige,
+wasweissich Geschichte wird... Dann fangen wir mal ganz unspektakulaer an:
+
+Es war einmal ...
+
+-- WhiteTiger
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 3-Wort-Geschichte (Croft, 25. Mar 2003, 19:06:47):
+~#! rn=Whitetiger rt=1048614759 rg=kultur
+~#! tid=1048614759
+... ein Nazi namens ...
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: 3-Wort-Geschichte (Grimmborn, 25. Mar 2003, 19:20:53):
+~#! rn=Croft rt=1048615607 rg=kultur
+~#! tid=1048614759
+Tja, das ward dann wohl mit "lange Geschichte". Und was spielen wir jetzt?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: 3-Wort-Geschichte (Anatol, 25. Mar 2003, 19:23:30):
+~#! rn=Grimmborn rt=1048616453 rg=kultur
+~#! tid=1048614759
+Du kriegst drei Stichworte und musst eine Geschichte draus machen:
+
+Blumenkuebeluntersetzer
+Trockenstaubtangentialfeuerungsanlage
+Hitler
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: 3-Wort-Geschichte (Humni, 26. Mar 2003, 00:06:08):
+~#! rn=Anatol rt=1048616610 rg=kultur
+~#! tid=1048614759
+Es war ein heisser Tag, ein verdammt heisser sogar. Adolf Hitler zog seine
+braune Uniform an, doch dann merkte er, dass er bereits tot war und begrub
+sich (das war echt gut so). Danach bemerkte Harald Weissbruck, dass er das
+alles nur getraeumt hatte und stand auf. Er duschte sich, putzete sich die
+Zaehne mit einer Zahnpasta, von der die Leute in der Werbung behaupteten, sie
+sei lecker und wuerde weisse Zaehne machen, trank danach einen Zahnputzbecher
+voll Wasser (er war natuerlich ein wenig vergesslich, daher schluckte er die
+ganze Zahnpasta) und ging dann in die Kueche, wo er einen
+Blumenkuebeluntersetzer aus Versehen aus dem Fenster warf. Unten schlug dieser
+krachend auf und hinterliess in der Strasse ein 3 Meter tiefes Loch.
+
+Harald zuckte mit den Achseln und merkte, dass es in der Kueche recht kalt
+war. Er drehte die Heizung hoeher, die in Wirklichkeit eine
+Trockenstaubtangentialfeuerungsanlage war (also eine Anlage, die den Staub in
+der Wohnung trocknete, ihn dann tangential einsaugte und dan zwecks
+Energiegewinung und Waermeerezeugung verfeuerte, was in Haralds Wohnung echt
+gut funktionierte, da er nie staubsaugte, was wiederum an der Tatsache lag,
+dass er die Trockenstaubtangentialfeuerungsanlage hatte. Das Ganze ist
+beruehmt als der Teufelskreis der
+Trockenstaubtangentialfeuerungsanlagen-Besitzer) und trank seinen Kaffee aus. 
+
+Kurz danach wurde er mit schweren inneren Verbrennungen ins Krankenhaus
+eingeliefert, wo er verstarb, denn der Kaffee war zu heiss gewesen.
+
+Eine traurige Geschichte von
+Humni
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: 3-Wort-Geschichte (Vanion, 26. Mar 2003, 07:31:55):
+~#! rn=Humni rt=1048633568 rg=kultur
+~#! tid=1048614759
+Waren aber mehr als 3 Worte.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Dixie Chicks in den Charts (Zarniya, 26. Mar 2003, 11:30:08):
+
+Hiho,
+
+selten, dass ich hier mal Werbung fuer die Musik mache, die ich so sehr liebe,
+aber naechste Woche werden die Dixie Chicks auf Platz 11 der deutschen Album
+Charts stehen und das vollkommen verdient! Hoert mal rein und seht, das
+Country was anderes ist als die Absonderungen, die Tom Astor, Linda Feller und
+Truck Stop produzieren.
+
+Gruss, 
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dixie Chicks in den Charts (Croft, 26. Mar 2003, 11:31:49):
+~#! rn=Zarniya rt=1048674608 rg=kultur
+~#! tid=1048674608
+Huch. Jetzt wird man schon hier von den Huehnern verfolgt.  Der Schock
+beim Superbowl sitzt immer noch tief bei mir.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dixie Chicks in den Charts (Mauriko, 26. Mar 2003, 11:39:38):
+~#! rn=Croft rt=1048674709 rg=kultur
+~#! tid=1048674608
+Das einzig interessante an den Tucken ist wohl das sie erst ueber Bush
+geschimpft und sich dann entschuldigt haben und sie Musik machen muessen damit
+es ueberhaupt wen interessiert auf wen die schimpfen aber dass sich das
+County-Gejammere auch noch wer anhoeren soll ist ein bisschen viel verlangt.
+
+Mauriko, weiss auch mal was
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dixie Chicks in den Charts (Zarniya, 26. Mar 2003, 12:49:51):
+~#! rn=Mauriko rt=1048675178 rg=kultur
+~#! tid=1048674608
+da ist wieder mal einer sehr informiert... danke fuer den schwachsinnigen
+Beitrag.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dixie Chicks in den Charts (Bambi, 26. Mar 2003, 13:38:56):
+~#! rn=Zarniya rt=1048679391 rg=kultur
+~#! tid=1048674608
+Ein Artikel ala "Mir gefaellt weder die Musikrichtung im allgemeinen noch die
+Gruppe im Speziellen und ich finde die Gruppe dermassen schlecht, dass ich
+jedem davon abrate, sie sich auch nur probeweise anzuhoeren." waere vermutlich
+die Dir eher liegende Ausdrucksweise, jedoch halte ich den Artikel, wie er
+geschrieben wurde, fuer aussagekraeftiger.
+
+Da wirs grad von den laws hatten letztens. Anstatt nur "Dein Artikel ist
+schwachsinnig" zu schreiben, waers vielleicht angebracht gewesen, seinen
+"Schwachsinn" richtigzustellen. Dann haetten alle mehr davon, ausser einen
+oder zwei nichtssagende Artikel in diesem Thread.
+
+Bambi, die Gruppe nicht kennend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dixie Chicks in den Charts (Schleicher, 27. Mar 2003, 13:09:27):
+~#! rn=Zarniya rt=1048674608 rg=kultur
+~#! tid=1048674608
+Also wenn diese Huehner Country machen, was machen dann bitte so Leute wie
+Albert Lee und Jerry Donahue? Heavy Metal? Also son Popkram als Country zu
+bezeichen finde ich schon recht heftig... aber wenn Du sie schon in einem
+Atemzug mit diesen ganzen Deutschen Landeiern nennst finde ich das dass schon
+eine Berechtigung hat.
+Schoenen Tag noch und putz Dir mal die Ohren.
+Schleicher
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dixie Chicks in den Charts (Vanion, 27. Mar 2003, 19:22:07):
+~#! rn=Schleicher rt=1048766967 rg=kultur
+~#! tid=1048674608
+Wie man das nennt is doch egal. Hauptsache es is gut fuer die Ohren. Und das
+was hier landlaeufig als Country bezeichnet wird, ist oft nur Ohren-Aua.
+
+Was die Twain aber anstellt kann man recht gut hoeren, ohne aus den Ohren zu
+bluten.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dixie Chicks in den Charts (Zarniya, 28. Mar 2003, 10:06:36):
+~#! rn=Schleicher rt=1048766967 rg=kultur
+~#! tid=1048674608
+Hallo Schleicher, 
+
+ich weiss nicht, was Du fuer einen musikalischen Hintergrund hast, aber ich
+hab die DC hier einfach mal als Country bezeichnet, damit es einfacher ist.
+Was soll ich hier die Laien mit Feinheiten wie Classic-, Traditional-,
+New-Country, Bluegrass, Folk, usw. nerven? Wenn Du die Chicks als Pop
+bezeichnest, dann kennst du anscheinend keine ihrer CDs.
+
+Gruss, 
+Marc
+
+P.S.: Um mal Garth Brooks zu zitieren: Es gibt nur 2 Musikrichtungen: Gute und
+schlechte Musik. Und NIEMAND kann heutzutage schon sagen, was was ist. Erst in
+50 Jahren weiss man, was heute wirklich gut war, denn diese Sachen werden dann
+immer noch im Radio laufen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dixie Chicks in den Charts (Muadib, 31. Mar 2003, 10:24:38):
+~#! rn=Zarniya rt=1048842396 rg=kultur
+~#! tid=1048674608
+naja ich sag nur chirpychirpycheepcheep. sind zwar noch keine 50 jahre aber
+immerhin.
+wo passt eigentlich hillbilly rein?
+
+ach eigentlich ist das posting ueberfluessig und soll nur dazu dienen
+kundzugeben dass ich nichts aber auch gar nichts begeisterungswertes am
+liedgut der dixie chicks ausmachen konnte.
+das ist natuerlich nur meine auf meinem geschmack basierende meinung. jede
+andere meinung ist genausogut. insofern: enjoy
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Enterprise ... (Demonaz,  9. Apr 2003, 02:31:15):
+~#! rn=Gnome rt=1048605252 rg=kultur
+~#! tid=1048271406
+
+Les ich ja jetzt erst: married with Children ist im Original der deutschen
+Murkssynchronisation mit der daemlichen bandlache um erhebliche Laengen
+ueberlegen. Vergiss die deutshe version...
+
+Dreckssynchronisierereitypohintypoher...
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Enterprise ... (Gnome, 12. Apr 2003, 02:19:22):
+~#! rn=Demonaz rt=1049848275 rg=kultur
+~#! tid=1048271406
+ich habe nur aus einem tv-interview mit den synchronisatoren zitiert.
+und da die in dem fall _wirklich_ mehr ahnung haben als jeder anderen,
+glaube ich ihnen auch.
+
+ausserdem ging es auch eher um den wortwitz und/oder pointen, die im
+deutschen teilweise besser rueberkommen sollen, als um diese doofe
+lache vom band.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Enterprise ... (Demonaz, 12. Apr 2003, 04:03:01):
+~#! rn=Gnome rt=1050106762 rg=kultur
+~#! tid=1048271406
+
+Auch das mit den Pointen ist falsch. Die Serie auf Holland 2 im Original
+gesehen habend...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Enterprise ... (Elberet, 12. Apr 2003, 11:14:32):
+~#! rn=Demonaz rt=1050112981 rg=kultur
+~#! tid=1048271406
+ich hab die sowohl in deutsch als auch in englisch gesehen teilweise und ich
+muss sagen ich fand weder noch sonderlich witzig 
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+WoT (Pest, 13. Apr 2003, 04:47:34):
+
+Tja,
+
+der neueste WoT Band bringt gnadenlose Langeweile. Elaines
+Schwangerschaftsprobleme und aehnliche Trivialitaeten in epischer Laenge. Der
+Plott stagniert und Frust breitet sich aus.
+
+Nur als Warnung...
+Krankheit
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WoT (Patryn, 13. Apr 2003, 10:41:25):
+~#! rn=Pest rt=1050202054 rg=kultur
+~#! tid=1050202054
+Hab den schon vor Monaten gelesen und kann das nur bestaetigen, das Teil
+wird endgueltig ungeniessbar und der Schreiber wahrscheinlich senil.
+Wieder mal werden 10000 uninteressante Handlungsstraenge geoeffnet und
+10000 interessante Handlungsstraenge, auf die man mittels tausenden von
+Seiten vorbereitet wurde, verlaufen ploetzlich in /dev/null.
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WoT (Vanion, 13. Apr 2003, 12:24:32):
+~#! rn=Pest rt=1050202054 rg=kultur
+~#! tid=1050202054
+Auch auf die Gefahr hin mich als uebler WoT-Ignorant zu outen, aber: Was ist
+WoT?
+
+Deine Kurzfassung klingt irgendwie so, als ob Du ueber das neueste GZ/SZ-Buch
+(gibts sowas?) sprichst.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: WoT (Croft, 13. Apr 2003, 12:27:38):
+~#! rn=Vanion rt=1050229472 rg=kultur
+~#! tid=1050202054
+WoT == Wheel of Time.  Irgend so ein Fantasy-Zyklus ,-)
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: WoT (Anatol, 13. Apr 2003, 14:04:34):
+~#! rn=Croft rt=1050229658 rg=kultur
+~#! tid=1050202054
+"Irgend so ein" ist gut. Nach den ersten paar Baenden war ich der
+Ueberzeugung, dass es mit einer der besten ist, die gerade noch
+in der Mache sind (Song of Ice and Fire, Otherland und dergleichen,
+das Sword of Truth marschiert trotz Unterhaltungswertes und Lehren 
+fuer's Leben in der zweiten Reihe). Nach dem Einbruch in WoT/PoD und
+dem Aufbaeumen in WoT/WH hegte ich die Hoffnung, dass der Jordan 
+das Werk noch selbst beenden moechte und das in absehbarer Zeit auch
+tut.
+
+Naja, aus Sicht der Evolution ist die Zeit vermutlich in der Tat
+noch im "absehbaren" Bereich.
+
+A
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: WoT (Marcus, 13. Apr 2003, 16:01:19):
+~#! rn=Anatol rt=1050235474 rg=kultur
+~#! tid=1050202054
+Ja,
+
+Crossroads of Twilight is mal wieder ein Durchhaenger.
+
+Ansonsten bis jetzt nette 12000 Seiten zum Durchlesen oder so.
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: WoT (Grimmborn, 13. Apr 2003, 16:01:53):
+~#! rn=Marcus rt=1050242479 rg=kultur
+~#! tid=1050202054
+Naja, da fallen ja die 8000 Seiten Durchhaenger nicht so sonderlich auf...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: WoT (Catweazle, 14. Apr 2003, 07:57:49):
+~#! rn=Anatol rt=1050235474 rg=kultur
+~#! tid=1050202054
+Ich wuerde schaetzen, Jordan hat das Ende schon in Band fertig gehabt, aber
+der Verlag hat ihm 'geraten' vor Veroeffentlichung noch ein bisschen
+Fuellstoff fuer dazwischen zu schreiben.
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Geheime Botschaften (Ark, 14. Apr 2003, 10:41:42):
+Von Simon Singh. War ein Seitenblaetterer (oder wie die amerikanischen Freunde
+das nennen: Page Turner). Nicht zuviel Wissenschaft und Formeln, grade so,
+dass es ein E-Mail Benutzer wie ich eben noch verstehen kann. Achso, es geht
+um die Geschichte der Kryptographie.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Geheime Botschaften (Liafar, 14. Apr 2003, 11:34:38):
+~#! rn=Ark rt=1050309702 rg=kultur
+~#! tid=1050309702
+Thema: Kryptographie
+
+Autor: David Kahn
+Titel: The Codebreakers
+
+(1181 Seiten)
+
+Liafar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Geheime Botschaften (Ark, 14. Apr 2003, 15:33:03):
+~#! rn=Liafar rt=1050312878 rg=kultur
+~#! tid=1050309702
+Jo, wurde in Singhs Buch auch empfohlen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Geheime Botschaften (Gorog, 14. Apr 2003, 18:08:23):
+~#! rn=Ark rt=1050327183 rg=kultur
+~#! tid=1050309702
+
+Autor: Neil Stephenson
+Titel: Cryptonomicon
+Thema: Kryptograhphie damals und heute
+Art: Beletristik
+
+Ist zwar n ziemlicher Brocken aber doch ziemlich gut, zumindest bis zur
+Haelfte, was danach kommt weiss ich noch nicht (;
+
+mfGorog
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Geheime Botschaften (Liafar, 14. Apr 2003, 21:49:46):
+~#! rn=Gorog rt=1050336503 rg=kultur
+~#! tid=1050309702
+Bei Neal Stephenson faellt mir spontan "Snow Crash" ein...
+...uebrigens ein sehr empfehlenswertes Buch.
+
+Liafar
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Geheime Botschaften (Muadib, 15. Apr 2003, 00:38:01):
+~#! rn=Gorog rt=1050336503 rg=kultur
+~#! tid=1050309702
+wird immer besser gegen schluss
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Geheime Botschaften (Muadib, 15. Apr 2003, 00:38:57):
+~#! rn=Liafar rt=1050349786 rg=kultur
+~#! tid=1050309702
+diamond age sollte man unbedingt nachschieben
+
+-----------------------------------------------------------------------------
+
+
+
+So just what is FNORD? (Whitetiger, 18. Apr 2003, 21:03:40):
+Fnord?
+
+Fnord is evaporated herbal tea without the herbs.
+
+Fnord is that funny feeling you get when you reach for the
+  Snickers bar and come back holding a slurpee.
+
+Fnord is the 43 1/3rd state, next to Wyoming.
+Fnord is this really, really tall mountain.
+Fnord is the reason boxes of condoms carry twelve instead of ten.
+
+    Fnord is the blue stripes in the road that never get painted.
+    Fnord is place where those socks vanish off to in the laundry.
+    Fnord is an arcade game like Pacman without the little dots.
+    Fnord is a little pufflike cloud you see at 5pm.
+
+           Fnord is the tool the dentist uses on unruly patients.
+    Fnord is the blank paper that cassette labels are printed on.
+                          Fnord is where the buses hide at night.
+                 Fnord is the empty pages at the end of the book.
+
+    Fnord is the screw that falls from the car for no reason.
+      Fnord is why Burger King uses paper instead of foam.
+        Fnord is the little green pebble in your shoe.
+          Fnord is the orange print in the yellow pages.
+
+
+Fnord is a pickle without the bumps.             Fnord is why ducks eat trees.
+Fnord is toast without bread.     Fnord is a venetian blind without the slats.
+
+
+
+
+Fnord is the lint in the navel of the mites that eat
+        the lint in the navel of the mites that eat
+        the lint in Fnord's navel.
+
+Fnord is an apostrophe on drugs.
+Fnord is the bucket where they keep the unused serifs for H*lvetica.
+Fnord is the gunk that sticks to the inside of your car's fenders.
+Fnord is the source of all the zero bits in your computer.
+
+                      Fnord is the echo of silence.
+                    Fnord is the parsley on the plate of life.
+                  Fnord is the sales tax on happiness.
+                Fnord is the preposition at the end of sixpence.
+
+Fnord is the feeling in your brain when you hold your breath too long.
+Fnord is the reason latent homosexuals stay latent.
+
+                Fnord is the donut hole.
+                  Fnord is the whole donut.
+
+  Fnord is an annoying series of email messages.
+  Fnord is the color only blind people can see.
+
+Fnord is the serial number on a box of
+            cereal.
+
+                           Fnord is the Universe with decreasing entropy.
+                          Fnord is a naked woman with herpes simplex 428.
+                                           Fnord is the yin without yang.
+                        Fnord is a pyrotumescent retrograde onyx obelisk.
+
+Fnord is why lisp has so many parentheses.
+Fnord is the the four-leaf clover with a missing leaf.
+
+                          Fnord is double-jointed and has a cubic spline.
+                                                      Fnord never sleeps.
+                                      Fnord is the "een" in baleen whale.
+
+Fnord is neither a particle nor a wave.
+
+                 Fnord is the space in between the pixels on your screen.
+
+  Fnord is the guy that writes the Infiniti ads.
+ Fnord is the nut in peanut butter and jelly.
+Fnord is an antebellum flagellum fella.
+
+                Fnord is a sentient vacuum cleaner.
+
+Fnord is the smallest number greater than zero.
+Fnord lives in the empty space above a decimal point.
+
+
+Fnord is the odd-colored scale on a dragon's back.
+Fnord is the redundant coin slot on arcade games.
+Fnord was last seen in Omaha, Nebraska.
+
+     Fnord is the founding father of the phrase "founding father".
+       Fnord is the last bit of sand you can't get out of your shoe.
+     Fnord is Jesus's speech advisor.
+       Fnord keeps a spare eyebrow in his pocket.
+     Fnord invented the green hubcap.
+       Fnord is why doctors ask you to cough.
+
+Fnord is the "ooo" in varooom of race cars.
+Fnord uses two bathtubs at once.
+
+
+
+I cannot escape them
+No matter how I try
+They wait for me everywhere
+I cannot pass them by.
+
+Driving down the street
+I see "Jesus Is Lord"
+And then immediately after
+I hear the word "FNORD!"
+
+Innocuous sayings and parables
+And on the evening news
+I hear the word "FNORD!"
+And suddenly I'm confused
+
+I sit alone in my room
+And I'm feeling rather bored
+I turn on the tube and guess what
+I hear the word "FNORD!"
+
+"Don't see the fnords and they won't eat you"
+That's what I've heard the wisemen say
+But I can't get away from those beasties
+There's just no fucking way.
+
+
+I believe I found these on alt.discordia
+
+buxton@uiuc.edu 
+
+
+-- Original: http://www.fnord.org/occult/discordia/text/what.is.fnord
+
+-----------------------------------------------------------------------------
+
+
+
+Re: So just what is FNORD? (Grimmborn, 18. Apr 2003, 21:17:32):
+~#! rn=Whitetiger rt=1050692620 rg=kultur
+~#! tid=1050692620
+Darauf gibts natuerlich nur eine Antwort:
+ALL YOUR BASE ARE BELONG TO US. YOU ARE ON THE WAY TO DESTRUCTION.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: So just what is FNORD? (Whitetiger, 18. Apr 2003, 21:17:44):
+~#! rn=Grimmborn rt=1050693452 rg=kultur
+~#! tid=1050692620
+Sowas hab ich mir schon irgendwie gedacht...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: So just what is FNORD? (Grimmborn, 18. Apr 2003, 21:18:14):
+~#! rn=Whitetiger rt=1050693464 rg=kultur
+~#! tid=1050692620
+Man nennt das ein "deja-vu", und das deutet oft auf Fehler in der Matrix hin.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: So just what is FNORD? (Whitetiger, 18. Apr 2003, 21:18:34):
+~#! rn=Grimmborn rt=1050693494 rg=kultur
+~#! tid=1050692620
+Der Film kommt uebrigens heute.
+22:00 Uhr, RTL.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: So just what is FNORD? (Grimmborn, 18. Apr 2003, 21:19:12):
+~#! rn=Whitetiger rt=1050693514 rg=kultur
+~#! tid=1050692620
+Ich weiss, ich habe vor den parallel auf DVD zu sehen und zu gucken was alles
+rausgeschnitten sein wird...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: So just what is FNORD? (Whitetiger, 18. Apr 2003, 21:19:28):
+~#! rn=Grimmborn rt=1050693552 rg=kultur
+~#! tid=1050692620
+Wo rausgeschnitten? DVD oder RTL? ;o)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: So just what is FNORD? (Grimmborn, 18. Apr 2003, 21:21:02):
+~#! rn=Whitetiger rt=1050693568 rg=kultur
+~#! tid=1050692620
+Meine DVDs sind ungeschnitten. Das macht ein paar davon auch so...
+hochpreisig. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: So just what is FNORD? (Muadib, 19. Apr 2003, 16:05:31):
+~#! rn=Whitetiger rt=1050692620 rg=kultur
+~#! tid=1050692620
+uargs, fuer den text gab es doch schon den link, reicht das nicht?
+SPAMMER!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: So just what is FNORD? (Whitetiger, 19. Apr 2003, 16:06:01):
+~#! rn=Muadib rt=1050761131 rg=kultur
+~#! tid=1050692620
+Noe das reicht nicht :)
+Sonst haette ich den Link ja in www gepostet.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: So just what is FNORD? (Croft, 19. Apr 2003, 16:08:47):
+~#! rn=Whitetiger rt=1050761161 rg=kultur
+~#! tid=1050692620
+Das riecht nach Sperre.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: So just what is FNORD? (Elberet, 19. Apr 2003, 16:15:03):
+~#! rn=Whitetiger rt=1050761161 rg=kultur
+~#! tid=1050692620
+und was sollte uns dann der text zusaetzlich noch bringen? das sind eh alles
+hirngespinste
+
+Elbi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: So just what is FNORD? (Whitetiger, 19. Apr 2003, 16:16:04):
+~#! rn=Elberet rt=1050761703 rg=kultur
+~#! tid=1050692620
+Verschiebts doch einfach nach witze, schmarrn, muell, ...
+
+-----------------------------------------------------------------------------
+
+
+
+Buchtip (Humni, 30. Apr 2003, 23:45:15):
+Ja, ihr kennt es vermutlich alle. Oder ihr kennt den Titel. Ich schaeme mich
+auch, dass ich furchtbar alt werden musste, bevor ich das entdeckt habe. Nicht
+destso trotz: Mein persoenliches derzeitig absoluter Lieblingsbuchtip ist von
+Lewis Carroll und heisst ,,Alice im Wunderland'' - selten so etwas
+unglaubliches gelesen.
+
+Zum Auslachen freigegeben,
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip (Grimmborn, 30. Apr 2003, 23:50:44):
+~#! rn=Humni rt=1051739115 rg=kultur
+~#! tid=1051739115
+Nettes Buch, ja. Ich suche immer noch nach den Drogen die sowas verursachen,
+ich haette da eine groessere Bestellung aufzugeben...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchtip (Akasha, 30. Apr 2003, 23:51:06):
+~#! rn=Grimmborn rt=1051739444 rg=kultur
+~#! tid=1051739115
+Wenn du herausgefunden hast, welche Drogen das sind, gib mir Bescheid :)
+
+Akasha
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchtip (Jadawin,  1. Mai 2003, 02:13:21):
+~#! rn=Akasha rt=1051739466 rg=kultur
+~#! tid=1051739115
+Nee, das Zeug ist echt zu heftig.
+Jad*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip (Muadib,  1. Mai 2003, 17:15:21):
+~#! rn=Humni rt=1051739115 rg=kultur
+~#! tid=1051739115
+ist doch ein guter tip, in diesem rahmen deute ich auch mal auf einen anderen
+lesenswerten klassiker: moby dick
+
+-----------------------------------------------------------------------------
+
+
+
+Re^47360: Hach... nu is was drin, inner MPA. (Vanion,  1. Mai 2003, 17:52:16):
+~#! rn=Montanus rt=1051782966 rg=megaschmarrn
+~#! tid=982328278
+Also, wenn wir schon dabei sind. Ich habe vor einiger Zeit (nachdem ich schon
+einige Verfilmungen gesehen hatte), Les Miserables (Die Elenden) von Victor
+Hugo gelesen und war von den Socken.
+
+Hugo begleitet in seinem Buch das Leben des Ex-Gefangenen Jean Valjean, und
+begleitet ihn durch die Wirren der Franzoesischen Revolution. Immer wieder
+haelt sich Hugo an Nebenschauplaetzen auf und beschreibt das alltaegliche
+Leben des Frankreich dieser Zeit. 
+
+Ausdrucksstarke Bilder, detailverliebte Szenen, sympathische, aber auch
+unsympathische Protagonisten, die sehr detailreich ausgebaut sind, zeichnen
+das Lebenswerk Hugos aus. Wer sich noch aus der Schule an den kleinen Gavroche
+erinnert, kann seine Geschichte in diesem Buch endlich vollstaendig lesen. 
+
+Ich habe das Buch in der Uebersetzung von Edmund Th. Kauer, verlegt im Aufbau
+Verlag gelesen. ISBN: 3-7466-1700-6, 10 Euro.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Within Temptation News (Demonaz,  7. Mai 2003, 00:25:22):
+
+Also,
+
+hier stehen ja einige auf Nightwish, drum ist vielleicht folgendes relevant:
+
+Within Temptation veroeffentlichen endlich auch in Deutschland die Ice Queen
+Single. Benelux kommt dafuer exklusiv in den Genuss der Kate Bush Cover
+Version Running Up That Hill. Sehr eindrucksvoll, wie ein Live-Hoertest ergab.
+
+Cheers
+D.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchtip (Darklor, 13. Mai 2003, 17:21:27):
+~#! rn=Humni rt=1051739115 rg=kultur
+~#! tid=1051739115
+
+Haste dann auch 'Alice im Spiegelland' gelesen?
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Afrikanische Musik (Whitetiger, 16. Mai 2003, 16:46:16):
+Ich suche afrikanische Musik, moeglichst als Wav, MP3/Ogg geht aber auch,
+kennt jemand eine gute Seite dafuer?
+
+WhiteTiger.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Afrikanische Musik (Lug, 16. Mai 2003, 17:37:28):
+~#! rn=Whitetiger rt=1053096376 rg=kultur
+~#! tid=1053096376
+Hm,
+
+versuch mal ueber www.oeins.de mit dem Macher von der Sendung One Drop ins
+Gespraech zu kommen, oder hoer Dir seine Sendung an, der ist Spezialist fuer
+afrikanisches Dudeln.
+
+Schauder
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Emergenza (Strohalm, 28. Mai 2003, 16:34:21):
+Wer Lust hat auf 4h Geballer und wem der Weg nach Kaiserslautern nicht zu weit
+ist, dem empfehle ich am Samstag, 21.6.03, im Kaiserslauterner Kammgarn das
+sueddt. Finale vom Emergenza.
+
+Anzutreffen bin ich da definitiv, vielleicht kann man sich ja treffen ;)
+
+Achja, die Bandliste:
+ALL JOINES (Punk Rock)
+DSCHINNCHILLA (Jazz Funk)
+ENTER THE PHOENIX (New Rock)
+FROG FARM (Ska)
+FUGO (Punk Rock)
+GROOVETEASE (Rock Progressive)
+HIGH-FISH (Nu Metal)
+KING TSCHISA (Alternative)
+MELLOW (Emo Rock)
+SKA EINSATZ KOMMANDO (Ska)
+
+Immer brav fuer High-Fish und Enter the Phoenix stimmen ;)
+
+Naehere Infos gibts unter http://www.emergenza.de/
+
+Haelmchen, freut sich auf 4h abschaedeln
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Emergenza (Amazora, 28. Mai 2003, 16:35:54):
+~#! rn=Strohalm rt=1054132461 rg=kultur
+~#! tid=1054132461
+heissen die nicht FUEGO ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Emergenza (Strohalm, 28. Mai 2003, 16:37:02):
+~#! rn=Amazora rt=1054132554 rg=kultur
+~#! tid=1054132461
+keine Ahnung, ich kenn die Band net ;)
+
+Haelmchen, nur die saarlaendische Fraktion bejubelnd
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Emergenza (Amazora, 28. Mai 2003, 16:38:28):
+~#! rn=Strohalm rt=1054132622 rg=kultur
+~#! tid=1054132461
+es gibt eine punkrock band aus der schweiz die heissen FUEGO. ziemlich coole
+band sogar.
+
+-----------------------------------------------------------------------------
+
+
+
+Dann konter ich mal... (Humni, 28. Mai 2003, 16:38:45):
+OK, dann kontere ich mal fuer dieses Wochenende. Und zwar ist in Neuenburg
+(das ist hier bei Freiburg) am Samstag und Sonntag Regio-Jam. Meine
+persoenlichen Highlights sind Freitag BeachMeister (die kenn ich persoenlich)
+und am Samstag - tatatata! - JBO. Beide Tage kosten 16 Euro im Vorverkauf,
+eine Tageskarte 10 Euro (sprich: JBO fuer 10 Euro...)
+
+Naeheres unter www.regio-jam.de
+
+Humni, wohl auch da.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dann konter ich mal... (Amazora, 28. Mai 2003, 16:41:13):
+~#! rn=Humni rt=1054132725 rg=kultur
+~#! tid=1054132725
+na dann kann ich auch:
+morgen 29.05 underground vitaminepillen festival mit skin of tears, five days
+off und die unglaublich genialen SHANDON aus italien. natuerlich punkrock!
+shandon spielen eine mischung aus ska-punk-metal
+8 euro eintritt (oder 9)
+die ersten 100 besucher bekommen eine gratis cd vom label programm von
+vitaminepillen
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Emergenza (Strohalm, 28. Mai 2003, 16:41:19):
+~#! rn=Amazora rt=1054132708 rg=kultur
+~#! tid=1054132461
+Nein, die sind das definitiv nicht ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Dann konter ich mal... (Amazora, 28. Mai 2003, 16:42:33):
+~#! rn=Amazora rt=1054132873 rg=kultur
+~#! tid=1054132725
+vielleicht sollte ich noch dazu sagen, dass es sich da um das underground in
+koeln handelt ;-)
+underground, vogelsangerstr. 200, koeln
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Dann konter ich mal... (Mandragon, 28. Mai 2003, 17:02:58):
+~#! rn=Amazora rt=1054132953 rg=kultur
+~#! tid=1054132725
+Off-Topic: Ist am Freitag jemand ausser mir bei Groenemeyer in Ludwigshafen?
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Dann konter ich mal... (Anthea, 28. Mai 2003, 17:04:09):
+~#! rn=Mandragon rt=1054134178 rg=kultur
+~#! tid=1054132725
+Wahrscheinlich sehr viele Leute. Ich glaub nicht, dass Du da alleine bist.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dann konter ich mal... (Mandragon, 28. Mai 2003, 17:05:33):
+~#! rn=Anthea rt=1054134249 rg=kultur
+~#! tid=1054132725
+Naja. Also meine Freundin wird auch da sein ... ich dachte ja nur ...
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Dann konter ich mal... (Grimmborn, 28. Mai 2003, 17:05:55):
+~#! rn=Anthea rt=1054134249 rg=kultur
+~#! tid=1054132725
+Und wenn nicht: Herbert bringt meistens auch noch ein paar Kumpel mit und
+nennt sie "meine Band".
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Dann konter ich mal... (Boing, 28. Mai 2003, 17:13:55):
+~#! rn=Grimmborn rt=1054134355 rg=kultur
+~#! tid=1054132725
+Zwei Freunde von mir sind da ... also seid ihr mindestens zu viert 
+plus Band plus Groenemeyer.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Das Groenemeyer-Konzert ... (Mandragon,  1. Jun 2003, 17:28:52):
+
+... in Ludwigshafen war echt Extraklasse. Wenn man davon absieht, dass er erst
+    um 20:35 angefangen hat (so nach 3h rumstehen). Hat geschlagene 3h15m
+    gespielt und dabei viele alte Hits zum Besten gegeben.
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Animatrix (Foobar,  2. Jun 2003, 16:44:13):
+Moin,
+
+falls es jemand noch nicht wissen sollte: Heute abend um 23.45 laufen auf Pro7
+die Animatrix-Kurzfilme.
+
+Viel Spass,
+
+   Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+CD- und Live-Tipp: Maria Solheim (Ronda,  8. Jun 2003, 01:13:00):
+Nach einem genialen Konzert muss der Tip(p) einfach sein: Wer ein bisschen auf
+"Songwriter"-Texte steht, eine schoene Stimme a la Susanne Vega oder Heather
+Nova mag - oder sogar die Chance hat, sie live zu sehen:
+
+Maria Solheim - unbedingt mal anhoeren. Dank eines ungenannten Mudders der um
+seinen Ruf als boeser, harter Typ fuerchtet ins Konzert in Marburg ;-)
+verschleppt hat es mich voll erwischt: Maria ist zwar erst 18 Jahre alt, wird
+aber garantiert ihren Weg gehen: Schoene Texte, eingaengige Melodien - und
+live packt sie ihr Publikum so, dass nachher denkst Du, sie haette nur Dich
+selbst angeschaut und fuer Dich gesungen... Im Moment kommt man noch um die 10
+Euro in ihre Konzerte  - das wird garantiert bald teurer ;-)
+
+Ronda
+
+Ps: Einfach mal auf Amazon.de in "Behind Closed Doors" reinhoeren. Es lohnt
+sich!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD- und Live-Tipp: Maria Solheim (Montanus,  8. Jun 2003, 17:12:53):
+~#! rn=Ronda rt=1055027580 rg=kultur
+~#! tid=1055027580
+Meinst du mit dem ungenannten Mudder, der versucht, ein Pseudo-harter-Kerl zu
+sein, "Lug" ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CD- und Live-Tipp: Maria Solheim (Lug, 12. Jun 2003, 20:53:05):
+~#! rn=Ronda rt=1055027580 rg=kultur
+~#! tid=1055027580
+Pft,
+
+die ist besser als die nervensaegige Nova oder die oede Nova. Du Verraeter...
+L
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: CD- und Live-Tipp: Maria Solheim (Lug, 12. Jun 2003, 20:53:41):
+~#! rn=Montanus rt=1055085173 rg=kultur
+~#! tid=1055027580
+Nein,
+ich bin hart. Kann also nicht gemeint sein, Du Berg.
+L. in bestechender Logik
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: d.a.n. (Montanus, 19. Jun 2003, 10:26:39):
+~#! rn=Nonne rt=1056007778 rg=schmarrn
+~#! tid=1055961015
+Ich verschieb mal in die richtige Rubrik, und erwaehne noch Tom Robbins. Wenn
+hier selbst Billigkomiker wie Tom Sharpe genannt werden...
+Robbins kommt eher aus der Richtung von Ruff.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: d.a.n. (Vanion, 19. Jun 2003, 15:55:55):
+~#! rn=Montanus rt=1056011199 rg=kultur
+~#! tid=1055961015
+Ok, ich finde zwar Diskussionen wie "Wenn Du $MEIN_LIEBLINGSAUTHOR vergisst,
+bist Du Kulturbanause und doof und stinkst" bekloppt, mag aber grad trotzdem
+(voellig ohne platte Kommentare) einen Namen in die Runde werfen:
+
+ Eric Idle - The Road To Mars / Reise zum Mars 
+
+Wie ich finde, ein wirklich gelungenes Buch.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Stoner / Desert Rock (Lug, 20. Jun 2003, 00:58:36):
+Moin,
+
+also wenn jemand auf Stoner / Desert Rock der Marke Kyuss steht (Satan sei
+ihrer Seele gnaedig), dann kann ich die neue El Caco 'Solid Rest' nur
+waermstens, aeh wuestenheiss, empfehlen. Das Teil brennt...
+
+L.
+
+-----------------------------------------------------------------------------
+
+
+
+Spirited Away (Ark, 20. Jun 2003, 09:59:57):
+Weiss zwar noch nicht, wie die deutsche Synchronisation aussieht (Chihiro und
+die Reise ins Zauberland heisst das hier wohl), aber der Film, Story und
+Umsetzung waren auf Japanisch (mit englischen Untertiteln :-) ) echt genial.
+Two thumbs up.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spirited Away (Gorog, 20. Jun 2003, 10:46:41):
+~#! rn=Ark rt=1056095997 rg=kultur
+~#! tid=1056095997
+Da kann ich nur zustimmen, obwohl ich mich wirklich auf die deutsche Synchro
+freue. Japanisch liegt mir dummerweise nicht so sehr und dauernd auf die
+Untertitel zu schaun lenkt von den Bildern ab.
+
+Gorog
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spirited Away (Darklor, 20. Jun 2003, 21:02:10):
+~#! rn=Gorog rt=1056098801 rg=kultur
+~#! tid=1056095997
+Also ich fand sie ganz gut...
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Wacken (fuer die Abweichler) (Lug, 20. Jun 2003, 21:05:53):
+Liebe Metalheadz!
+
+"Wacken, wir kommen"! - das rufen momentan wohl immer mehr Headbanger weltweit
+fuer das groesste Heavy Metal-Spektakel des Jahres!
+ 
+Dazu hier der aktuelle Newsletter fuer den Monat Juni sowie extra Links zu den
+warm up parties.
+
+
+
+NIGHT TO REMEMBER am Donnerstag, den 31. July ab 18.00 h
+
+ANNIHILATOR + CIRCLE II CIRCLE + VICTORY (Reunion!) + RUNNING WILD
+
+Confirmed bands so far...
+
+ANCIENT RITES, ANNIHILATOR, ASSASSIN, BAI BANG, CALLENISH CIRCLE,
+CARPATHIAN FOREST, DARK AGE, DARK ANGEL, DARK FUNERAL, DARKANE,
+DEW-SCENTED, DIAMOND HEAD, DIE APOKALYPTISCHEN REITER, DISMEMBER,
+EIDOLON, EVIDENCE ONE, EXTREME NOISE TERROR, FREEDOM CALL, GAMMA RAY,
+GRAVEWORM, HEAVENSHALLBURN, HUMAN FORTRESS, ICED EARTH, IN FLAMES,
+KATAKLYSM, LORDI, LOTTO KING KARL, MALEVOLENT CREATION, MASTERPLAN,
+METALIUM, NILE, OBSCENITY, ONKEL TOM, ORATORY, PRIMAL FEAR, PSYCHOPUNCH,
+RAGE, RAISE HELL, RAUNCHY, ROTTING CHRIST, RUNNING WILD, SENTENCED,
+SEVENTH ONE, SINISTER, SINNER, SLAYER, SOILWORK, SONATA ARCTICA,
+STRATOVARIUS, SUBWAY TO SALLY, SYMPHORCE, TESTAMENT, THE ALMIGHTY PUNCHDRUNK,
+THE CROWN, THYRFING, TWISTED TOWER DIRE, V8 WANKERS, VADER,
+VICTIMS OF MADNESS & VICTORY.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Spirited Away (Karima, 20. Jun 2003, 21:19:24):
+~#! rn=Darklor rt=1056135730 rg=kultur
+~#! tid=1056095997
+Also ich find, man kann den Film auch mit Untertiteln schauen. Lohnt sich
+jedenfalls. Ist halt Gewoehnungssache, aber man lernt recht schnell auf
+Untertitel und Handlung zugleich zu achten...
+
+Karima
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Spirited Away (Darklor, 20. Jun 2003, 21:40:08):
+~#! rn=Karima rt=1056136764 rg=kultur
+~#! tid=1056095997
+Warum mit Untertitel ansehen, wenn es ihn auch als Synchro gibt? Hab sowas
+zwar auch schon gemacht aber eher gezwungenermassen... Und manche Untertitel
+sind einfach grauenhaft entweder man kann sie nich lesen, weil der Hintergrund
+zu hell is oder man hat das gefuehl, da dein einfach noch Text fehlt (Es soll
+sogar schon vorgekommen sein, das die Untertitel einfach grauenhaft uebersetzt
+wurden... (kann einer Synchro zwar auch passieren aber wenn sie auf englich is
+faellts (mir) nich so auf:))    
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+TTF Rudlostadt (Alboin, 20. Jun 2003, 23:07:36):
+Jo, naja Wacken ist nicht jedermanns Geschmack, deswegen mache ich gleich mal
+Wrbung fr  Rudolstadt 2003 - the german ethno roots fusion dance and Music
+Festival
+Nu hat Lou Reed leider abgesagt aber es sind dennoch genug interessante
+Interpreten dabei: Hubert von Goisern, Yggrdrasil, Blowzabella, 17 Hippes um
+nur einige zu nennen
+Beim Laenderspezial praesentieren sich diesmal Kanadische Bands, beim Focus
+Regional Berliner Bands.
+
+Das ganze findet vom 4.-6. Juli im thueringeschen Rudolstadt statt. Die
+Dauerkarte kostet 45 Euro im Vorverkauf allerdings geht der nur noch bis 21.6.
+per Post.
+Genauere Infos auf www.rudolstadt.de/tff
+
+Al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Spirited Away (Jadawin, 21. Jun 2003, 09:38:04):
+~#! rn=Darklor rt=1056138008 rg=kultur
+~#! tid=1056095997
+Also wenn ich so etwas wie 'Warum mit Untertitel ansehen, wenn es ihn auch als
+Synchro gibt?' schon lese...
+Jad* (schuettelt sich)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: TTF Rudlostadt (Jadawin, 21. Jun 2003, 09:39:07):
+~#! rn=Alboin rt=1056143256 rg=kultur
+~#! tid=1056143256
+17 Hippes? Weia... ;)
+Jad*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Spirited Away (Darklor, 21. Jun 2003, 10:41:51):
+~#! rn=Jadawin rt=1056181084 rg=kultur
+~#! tid=1056095997
+Wenn ich im Kino 'n Film sehe moecht ich ihn doch schon gern auch verstehen -
+ich zahl doch nich die teure Kinokarte, um dann nur die Haelfte vom Film
+mitzikriegen. - Bei ner DVD auf der beide Versionen drauf sind ists was anders
+- schliesslich kann man dabei direkt vergleichen welche Version besser is
+(oder einen mehr liegt) und wenn man die Zeit hat sich ihn mehrmals anzusehen,
+bis man alles verstanden hat ists doch ok...   
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Spirited Away (Muadib, 21. Jun 2003, 10:59:25):
+~#! rn=Jadawin rt=1056181084 rg=kultur
+~#! tid=1056095997
+naja wenn man kein japanisch kann ist das doch akzeptabel. die synchronisation
+kann schlecht sein. das gilt aber auch fuer die untertitel. wenn ich das nicht
+beurteilen kann nehm ich dann die synchronisation weil sie mir den mehrwert
+eines angenehmeren filmerlebnis bringt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Spirited Away (Grimmborn, 21. Jun 2003, 11:01:07):
+~#! rn=Muadib rt=1056185965 rg=kultur
+~#! tid=1056095997
+Sachtma, ist euch eigentlich mal aufgefallen dass gesprochene Sprache
+wesentlich mehr transportiert als nur Worte?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Spirited Away (Muadib, 21. Jun 2003, 11:03:52):
+~#! rn=Grimmborn rt=1056186067 rg=kultur
+~#! tid=1056095997
+dochdoch ist mir aufgefallen, aber wieviel macht das aus? was nutzt es mir
+wenn ich ein vor angst zitterndes stimmchen als zeichen von angst erkenne aber
+nicht verstehe was es sagt. desweiteren kann die information auch in der
+synchronisation drin sein, oder nicht?
+und gerade bei den untertiteln nuetzt mir diese mehrinformation nichts, weil
+ich nur raten kann bei welchem teil des untertitels sie gebracht wurde. das
+ist nicht immer offensichtlich
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Spirited Away (Grimmborn, 21. Jun 2003, 11:10:26):
+~#! rn=Muadib rt=1056186232 rg=kultur
+~#! tid=1056095997
+Das macht sehr viel aus, meiner Meinung nach bis ueber 50%, was mir neulich
+bei der deutschen Version von Maris Reloaded wieder aufgefallen ist (ist das
+echt noetig dass die ihren Text so runterleiern?). Die Information *kann* in
+der Synchronistation drin sein, muss aber nicht und erst recht nicht
+vollstaendig. 
+
+Ich gebe zu dass Untertitel Uebung erfordern. Die Zuordnung, mit der Du
+Probleme hast, ist reine Uebungssache. Selbst bei Sprachen, die ich nicht
+verstehe, klappt das nach einiger Zeit erstaunlich gut. Als vor Jahren
+fuenf(?) Teile des japanischen Evangelion auf VOX OmU kamen, hab ich am Ende
+beeindruckend viel verstehen koennen. Und gerade japanische Filme lassen sich
+offenbar nicht adaequat synchronisieren. Dann lieber ein Remake.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Spirited Away (Anatol, 21. Jun 2003, 11:30:09):
+~#! rn=Grimmborn rt=1056186626 rg=kultur
+~#! tid=1056095997
+Da stossen Kulturen aufeinander. Wer sagt denn, dass Du die japanische
+Gestik richtig interpretierst, die prosodische Information japanischer
+Rede richtig zu verstehen weisst, ueberhaupt einordnen kannst, was es
+heisst, wenn ein Japaner diese und keine andere Formel der Entschuldigung
+murmelt?
+
+Ich halte die These "Ich kuck Anime OmU, weil ich dann mehr verstehe" -
+und nichts anderes interpretiere ich da jetzt rein - zumindest partiell
+fuer gewagt.
+
+Das mag freilich fuer Englisch nicht gelten. Da kennen wir (d.h. ich
+kenne und was ich kann und kenne, koennen andere auch ;)) die Sprache
+gut genug, um mit Tonfall keinen Reinfall zu erleben.
+
+A
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Spirited Away (Grimmborn, 21. Jun 2003, 11:43:47):
+~#! rn=Anatol rt=1056187809 rg=kultur
+~#! tid=1056095997
+Deswegen sagte ich ja auch ich haette am Ende viel verstehen koennen. Der
+Anfang diente dann dazu Geschehen und Verhalten zu koordinieren. Dass ich
+natuerlich nicht alle Nuancen verstanden habe ist mir selbstverstaendlich
+klar. Aber im Zusammenhang mit den U doch deutlich mehr als aus den U alleine
+oder ich bei einer Synchronisation fuer moeglich halte.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Spirited Away (Muadib, 23. Jun 2003, 11:58:56):
+~#! rn=Grimmborn rt=1056188627 rg=kultur
+~#! tid=1056095997
+hmm, 
+woraus entnimmst Du dass mir diese Uebung fehlt? Ich habe einige japanische
+Animes im Original mit Untertiteln gesehen und hatte nicht den Eindruck etwas
+zu verstehen bis auf ein paar Wortfetzen.
+Aber ich bin halt beschraenkt
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: Spirited Away (Wurzel, 24. Jun 2003, 17:21:13):
+~#! rn=Muadib rt=1056362336 rg=kultur
+~#! tid=1056095997
+geht mir genauso. und ich bin auch ein bekennender ignorant: was bitteschoen
+ist "prosodische information"?
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wacken (fuer die Abweichler) (Strohalm, 10. Jul 2003, 15:29:09):
+~#! rn=Lug rt=1056135953 rg=kultur
+~#! tid=1056135953
+Da fehtlt noch Iced Earth in der Liste ;)
+
+Haelmchen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wacken (fuer die Abweichler) (Boing, 10. Jul 2003, 15:30:49):
+~#! rn=Strohalm rt=1057843749 rg=kultur
+~#! tid=1056135953
+Steht doch direkt hinter Human Fortress ...
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Radio (Lug, 13. Jul 2003, 21:48:17):
+www.oeins. de
+Donnerstag, 17.Juli, 20.05 Uhr
+Black Metal Art
+
+der Titel sagt alles...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nette Sprueche eines Presidenten (Terry, 20. Jul 2003, 18:27:26):
+ ... ein ganzes Buch voll!
+ "Voll daneben, Mr. President!" ISBN 3-499-61619-X  (6.00)
+
+Terry weiss nicht, ob er lachen oder weinen soll.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nette Sprueche eines Presidenten (Anatol, 22. Jul 2003, 15:31:02):
+~#! rn=Terry rt=1058718446 rg=kultur
+~#! tid=1058718446
+Ein vergleichbares Werk gibt es auch von J.F.K. - es verdeutlicht
+grade im Kontext mit dem aktuellen Mr. President den Zerfall der
+Vereinigten Staaten... ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hoert Hoert ... (Ark, 30. Jul 2003, 16:09:05):
+Apocalyptica, Reflections. Zumindest hoere ich das grad hoch und runter im
+Auto :-) Track 3, 6 und 10 sind besonders waermstens zu empfehlen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+FAZ von heute... (Zook,  5. Aug 2003, 09:48:05):
+In der FAZ von heute findet sich auf S. 40 ein putziger Bericht ueber
+das diesjaehrige Wacken-Festival. 
+
+Zook
+
+PS: Ich hab nur irgendwie das Gefuehl, so sonderlich viel anderes als im
+letzten Jahr hat der Autor nicht geschrieben---na, vll. ist das so wie mit
+der Neujahrsansprache des Bundeskanzlers.
+
+-----------------------------------------------------------------------------
+
+
+
+Filmtip "Liegen Lernen" (Sou,  9. Aug 2003, 11:40:37):
+Schoener Film ueber einen Mann Ende 20 - Anfang 30 und seine Frauengeschichten
+nach dem 18ten Lebensjahr. Leichte Kost.
+
+Sou
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filmtip "Liegen Lernen" (Zook,  9. Aug 2003, 11:49:23):
+~#! rn=Sou rt=1060422037 rg=kultur
+~#! tid=1060422037
+Note?
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Filmtip "Liegen Lernen" (Sou,  9. Aug 2003, 11:51:23):
+~#! rn=Zook rt=1060422563 rg=kultur
+~#! tid=1060422037
+Schulnote 2.
+
+Sou.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Filmtip "Liegen Lernen" (Maharet, 10. Aug 2003, 20:32:33):
+~#! rn=Sou rt=1060422683 rg=kultur
+~#! tid=1060422037
+Ich fand den Film auch ueberraschend witzig, locker und nicht problembehaftet
+fuer nen deutschen Film.
+
+Maha
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Filmtip "Liegen Lernen" (Seleven, 10. Aug 2003, 20:36:04):
+~#! rn=Maharet rt=1060540353 rg=kultur
+~#! tid=1060422037
+S11 nickt.
+
+-----------------------------------------------------------------------------
+
+
+
+film von Theodor Dreyer heute im TV (Alboin, 25. Aug 2003, 14:25:25):
+Der daenische Regisseur Carl Theodor Dreyer (1989 - 1968) gilt seit seinem
+Stummfilm "Die Passion der Jeanne d'Arc" (1928) als einer der bedeutendsten
+Filmemacher.
+Heute kommt von ihm auf 3Sat um 22.55 Uhr den Film "Gertrud", einer der
+wenigen Tonfilme von Dreyer. Es geht um die Geschichte einer Frau die sich aus
+den Zwaengen ihrer grossbuergerlichen Ehe zu befreien versucht.
+Eine halbe Stunde eher kommt uebrigens eine Dokumentation zu diesem Film.
+
+Al, der hier kulturell anspruchsvolle Beitraege vermisst
+
+-----------------------------------------------------------------------------
+
+
+
+Re: film von Theodor Dreyer heute im TV (Foobar, 25. Aug 2003, 14:50:23):
+~#! rn=Alboin rt=1061814325 rg=kultur
+~#! tid=1061814325
+Neulich lief uebrigens mal wieder "Starship Troopers" im TV, natuerlich
+uebelst geschnitten.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+superpunk und goldene zitronen (Amazora, 29. Aug 2003, 11:27:07):
+heute abend in koeln im underground: superpunk (hamburg) und die goldenen
+zitronen (hamburg)
+einlass 19:30
+beginn 20:00
+amazora freut sich schon 
+
+-----------------------------------------------------------------------------
+
+
+
+Durch Zufall entdeckt... (Apollonia, 30. Aug 2003, 07:55:14):
+... beim Zappen (c: Freitags kommt ab 21:10 Uhr auf Tele 5 - ich traute meinen
+Augen kaum:
+
+CAPTAIN FUTURE
+
+Der Held meiner Kindheit (c:
+
+Apo*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Durch Zufall entdeckt... (Maharet, 30. Aug 2003, 16:49:22):
+~#! rn=Apollonia rt=1062222914 rg=kultur
+~#! tid=1062222914
+Hach, in den war ich sooo verknallt, als ich 5 war!
+
+Maha, Spion und Giftmischer aD
+versinkt in Kindheitserinnerungen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Durch Zufall entdeckt... (Gnome, 30. Aug 2003, 19:35:58):
+~#! rn=Apollonia rt=1062222914 rg=kultur
+~#! tid=1062222914
+tele 5?
+war das nicht der sender, den es seit 10 jahren nicht mehr gibt?
+
+gnOme gruebelt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Durch Zufall entdeckt... (Apollonia, 30. Aug 2003, 19:41:56):
+~#! rn=Gnome rt=1062264958 rg=kultur
+~#! tid=1062222914
+Kann sein, dass es den zwischendurch mal nicht gegeben hat, aber wenn's denn
+selbst bei tvtoday gibt...
+
+Und Halluzinationen hab ich noch nich *g*
+
+Apo*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Durch Zufall entdeckt... (Vanion, 30. Aug 2003, 19:43:22):
+~#! rn=Gnome rt=1062264958 rg=kultur
+~#! tid=1062222914
+Jep, der is '95 oder so mal offline geganen. Frueher war das ein Sender der
+eigentlich hauptsaechlich durch Zeichentrick bekannt war. Irgendwann im
+letzten Jahr ging ein neuer Sender mit gleichem Logo und aehnlicher
+Philosophie wieder on air.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Durch Zufall entdeckt... (Muadib,  1. Sep 2003, 09:34:22):
+~#! rn=Vanion rt=1062265402 rg=kultur
+~#! tid=1062222914
+tele 5 war hauptsaechlich durch zeichentrick bekannt?
+nicht dadurch dass er als einziger sender die amerikanische
+grunzringervariante brachte? und das besonders ausgiebig?
+
+kamen da echt zeichentrickfilme?
+ich erinnere mich nicht wirklich dran, ausser du meinst solchen superschrott
+wie transformers und so
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Durch Zufall entdeckt... (Zarniya,  1. Sep 2003, 09:34:46):
+~#! rn=Vanion rt=1062265402 rg=kultur
+~#! tid=1062222914
+mal abgesehen, dass es Captain Future inzwischen auch komplett auf DVD gibt...
+ichhabs als VCD. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Durch Zufall entdeckt... (Del,  1. Sep 2003, 14:08:46):
+~#! rn=Maharet rt=1062254962 rg=kultur
+~#! tid=1062222914
+Aehm wie sooo verknallt?
+Das war doch der Mann meiner Traeume. ;-)
+Jetzt ist der Freitag Abend ja zukuenftig gerettet. *jubel*
+Schwaermerische Gruesse
+die NuDel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Durch Zufall entdeckt... (Rochus,  1. Sep 2003, 19:47:25):
+~#! rn=Muadib rt=1062401662 rg=kultur
+~#! tid=1062222914
+Na immerhin war es der einzige Sender,
+auf dem "Eat the Rich" zu sehen war :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Patryn, 10. Sep 2003, 15:52:44):
+Natuerlich moegen wir alle Fantasyliteratur ;)
+Deshalb trau ich mich auch unumwunden, hier solchige zu empfehlen *g*
+http://www.wilbursmithbooks.com/egyptian.html
+Hab Warlock schon gelesen und fand es gut, auf gut Glueck auch
+River God gekauft, und muss sagen, es ist das beste Buch was ich seit langem
+gelesen habe, und ich lese so einiges.
+Eingebettet ist das Ganze in das alte Aegypten, 2000 vor Christus etwa,
+und ich war da auch erst skeptisch, aber es ist wirklich toll!
+
+-----------------------------------------------------------------------------
+
+
+
+The Dark Tower (Vanion,  3. Okt 2003, 23:55:27):
+Hi,
+
+irgendwie komm ich nich mit Amazon zurecht. Ich wuerde mir gern die Baende vom
+Dark Tower zulegen. Als Paperback. In der englischen Ausgabe. Nun ist mein
+Problem, dass es scheinbar keinen Verlag gibt, der alle Baende im gleichen
+Layout liefert. Da ich aber schon daran denke, dass die mal spaeter in meinem
+Buecherregal stehen, faend ich das toll, wenn das ginge.
+
+Hat eine(r) von euch die Baende in gleichem Format und Stil? Wenn ja, von
+welchem Verlag und mit welcher ISBN?
+
+Danke fuer die Hilfe.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: The Dark Tower (Patryn,  6. Okt 2003, 19:11:14):
+~#! rn=Vanion rt=1065218127 rg=kultur
+~#! tid=1065218127
+So langsam werden Spiegel-Berichte unertraeglich, bei folgndem Artikel
+kann einem nur die Hutschnuere hochgehen.
+http://www.spiegel.de/politik/debatte/0,1518,268521,00.html
+
+-----------------------------------------------------------------------------
+
+
+
+ChinesischesEssen ... (Gloinson,  7. Okt 2003, 18:19:31):
+Der Preis fuer das Musical "Cats" ist im Monat Oktober auf fast staatsopernahe
+14(+2) Euro [unter der Woche] fuer die schlechtesten Raenge reduziert.
+Zumindest in Berlin, sicher auch anderswo.
+
+
+-----------------------------------------------------------------------------
+
+
+
+heute abend (Gnome, 12. Okt 2003, 20:11:02):
+gibt es auf VOX den spannendsten film, den ich kenne:
+22.05h, "Todesstille"
+
+wer nicole kidman, sam neill und 100% nervenkitzel mag: reinschauen!
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: heute abend (Vincent, 12. Okt 2003, 20:15:51):
+~#! rn=Gnome rt=1065982262 rg=kultur
+~#! tid=1065982262
+Ich unterstuetze Gnome hiermit in seiner Empfehlung: Der Film ist hochgradig
+spannend. Kidman und Neill spielen sehr gut. Und Billy Zane, als dritter
+im Bunde...klasse. Die drei liefern einen erstklassigen Thriller ab.
+
+Gruss
+Vincent
+
+-----------------------------------------------------------------------------
+
+
+
+ROTK (Foobar, 26. Nov 2003, 16:08:25):
+Moin,
+
+unter
+
+   http://tinyurl.com/wn7g
+
+findet sich der laut /. erste Review zum dritten Teil von HdR.
+
+Foobar
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ROTK (Catweazle, 26. Nov 2003, 16:13:50):
+~#! rn=Foobar rt=1069859305 rg=kultur
+~#! tid=1069859305
+Und jetzt will ich kein Wort mehr darueber hoeren, ist das klar?
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ROTK (Foobar, 26. Nov 2003, 16:16:15):
+~#! rn=Catweazle rt=1069859630 rg=kultur
+~#! tid=1069859305
+PS: Moeglicherweise sind Spoiler drin.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: ROTK (Montanus, 26. Nov 2003, 16:55:32):
+~#! rn=Foobar rt=1069859775 rg=kultur
+~#! tid=1069859305
+Sorry, Cat, ich verrate dir, wie es ausgeht.
+"9 Finger".
+
+-----------------------------------------------------------------------------
+
+
+
+Late Night (Liara, 31. Dez 2003, 00:30:29):
+Anke Engelke wird Nachfolgerin von Harald Schmidt. Koennte man jetzt nicht
+vielleicht auch noch Kristian Thees organisieren? ;>
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Late Night (Mupfel, 31. Dez 2003, 00:40:28):
+~#! rn=Liara rt=1072827029 rg=kultur
+~#! tid=1072827029
+Wen?
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Late Night (Grimmborn, 31. Dez 2003, 07:36:57):
+~#! rn=Mupfel rt=1072827628 rg=kultur
+~#! tid=1072827029
+Die andere Haelfte des C-Teams.
+
+GdA ist dafuer
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Late Night (Liara,  7. Jan 2004, 00:28:00):
+~#! rn=Grimmborn rt=1072852617 rg=kultur
+~#! tid=1072827029
+Weiss eigentlich jemand was Markus B. aus S. heutzutage macht?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Late Night (Liara, 12. Jan 2004, 19:11:53):
+~#! rn=Grimmborn rt=1072852617 rg=kultur
+~#! tid=1072827029
+Habe Kristian mal gemailt. Leider ist er in der Sendung bisher net vorgesehen.
+;) *schnief* Spasseshalber meinte er aber, dass er als Rettungsanker kommen
+koennte, falls die Quoten nicht stimmten. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Mer losse d' Dom in Koelle... *wuerg* (Maarg, 18. Feb 2004, 18:21:26):
+ Alaaf und Helau! 
+ Seid ihr bereit? 
+ Willkommen zur Beklopptenzeit!
+ Mer kenne des aus Akte X,
+ doch Mulder rufe hilft da nix,
+ des kommt durch Strahle aus dem All,
+ und ploetzlisch ist dann Karneval!
+
+ ( Tusch ) 
+
+ Uff einen Schlach werd'n alle daemlisch,
+ denn das befiehlt das Datum naemlisch!
+ Es ist die Zeit der tollen Tage,
+ so eine Art Idiotenplage,
+ eine Verschwoerung, bloed zu werden,
+ die jaehrlich um sich greift auf Erden.
+ Ei' wahre Ausgeburt der Hoelle,
+ und Ausgangspunkt davon ist Koelle!
+
+ ( Tusch ) 
+
+ Denn dort gibt's nisch nur RTL,
+ das Fernseh-Einheitsbrei-Kartell,
+ sondern aach jede Menge Jecken,
+ die sisch auf Nasen Pappe stecken,
+ in Teufelssekten sich gruppieren
+ danach zum Elferrat formieren
+ und dann muss selbst das duemmste Schwein
+ dort auf Kommando froehlisch sein.
+
+ ( Tusch ) 
+
+ Auf einmal tun in allen Laendern
+ die Leude sisch ganz schlimm veraendern
+ Sie geh'n sisch hemmungslos besaufe
+ und fremde Mensche Freibier kaufe
+ schmeisse sisch Bonbons an die Schaedel,
+ betatsche Jungens und aach Maedel
+ und tun eim jede, den sie sehen,
+ ganz fuschtbar uff de Eier gehen!
+ Sie tun nur noch in Reime spreche
+ und sind so witzisch, man koennt' breche,
+ bewege sisch in Polonaesen,
+ als truegen sie Gehirnprothesen,
+ man moeschte ihnen - im Vertrauen
+ - am liebsten in die Fresse hauen!
+
+ ( Tusch & Konfetti-Kanone )
+
+ Doch was soll man dagege mache?
+ Soll man vielleicht noch drueber lache?
+ Es hilft kein Schreie und kein Schimpfe,
+ man kann sisch nich mal gegen impfe,
+ die Macht der Doofen ist zu stark,
+ als dass man sisch zu wehr'n vermag!
+
+ ( kein Tusch ) 
+
+ Am besten ist, man bleibt zu Haus
+ und sperrt den Wahnsinn aanfach aus.
+ Man schliesst sich ein paar Tage ein
+ und laesst die Bloeden bloede sein!
+ Der Trick ist, dass man sich verpisst
+ bis wieder Aschermittwoch ist!
+
+ ( evtl. Tusch ) 
+
+ Und steht ein Zombie vor der Tuer,
+ mit so 'nem Pappnasengeschwuer,
+ und sagt statt "Hallo" "Helau",
+ dann dreh sie um, die dumme Sau,
+ und tritt ihr kraeftig in den Arsch
+ und ruf' dabei: Narrhalla-Marsch!!!
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mer losse d' Dom in Koelle... *wuerg* (Grimmborn, 18. Feb 2004, 19:35:03):
+~#! rn=Maarg rt=1077124886 rg=kultur
+~#! tid=1077124886
+Nee, is klar. Im hessischen Dialekt angeblich ueber den Koelner Karneval.
+Glaubwuerdig, echt. Vor allem auch der Teil mit dem "Helau".
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mer losse d' Dom in Koelle... *wuerg* (Anatol, 18. Feb 2004, 19:45:01):
+~#! rn=Grimmborn rt=1077129303 rg=kultur
+~#! tid=1077124886
+Die Meeenzer ticken auch schon aus. Staende mit Grundnahrungsmittel
+(Bier, Cola, Wuerstchen, ...) werden aufgebaut, Tribuenen (sic!) hochgezogen,
+etliche Buehnenanlagen installiert... Ich weiss noch nicht, ob ich mir das
+wirklich antun will... ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Mer losse d' Dom in Koelle... *wuerg* (Montanus, 19. Feb 2004, 08:55:31):
+~#! rn=Anatol rt=1077129901 rg=kultur
+~#! tid=1077124886
+Du willst, lieber Anatol, du willst. Du wirst einfach assimiliert.
+Und zu GdA: "Alaaf" reimt sich einfahcn icht auf "dumme Sau". Aber ich dichte
+das gerne fuer dich um:
+
+...
+und sagt er statt "Hallo" "Alaaf",
+dann es um, das dumme Schaf,
+un tritt ihm kraeftig in den Arsch
+und ruf' dabei: Narrhall-am-arsch!
+
+-----------------------------------------------------------------------------
+
+
+
+Paranoia (Maarg, 19. Feb 2004, 23:45:01):
+http://www.mongoosepublishing.com/phpBB2/viewtopic.php?t=1299
+
+-----------------------------------------------------------------------------
+
+
+
+DON'T PANIC! (Maarg, 23. Feb 2004, 23:16:12):
+http://www.imdb.com/title/tt0371724/
+
+Tja, ich weiss nicht ob ich mich freuen soll oder nicht... Immerhin schreibt
+DA selbst am Drehbuch mit und gehoert zu den ausfuehrenden Produzenten. Und
+Fran Walsh, die auch beim "Herr der Ringe" ihre Finger im Spiel hatte, ist
+auch wieder mit von der Partie.
+
+Maarg
+
+-----------------------------------------------------------------------------
+
+
+
+Re: DON'T PANIC! (Grimmborn, 23. Feb 2004, 23:18:10):
+~#! rn=Maarg rt=1077574572 rg=kultur
+~#! tid=1077574572
+Du hast Deine Zeiten nicht richtig. "DA" schreibt an gar nichts mehr mit.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: DON'T PANIC! (Maarg, 23. Feb 2004, 23:18:31):
+~#! rn=Grimmborn rt=1077574690 rg=kultur
+~#! tid=1077574572
+Mea culpa. Also wohl doch keine Freude.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: DON'T PANIC! (Liara, 24. Feb 2004, 19:14:59):
+~#! rn=Maarg rt=1077574711 rg=kultur
+~#! tid=1077574572
+First Screenplay ist First Screenplay oder nicht?
+
+-----------------------------------------------------------------------------
+
+
+
+Der Selbstmord der Lemminge (Liara,  3. Mar 2004, 20:57:10):
+Solchen und anderen Legenden geht ein Buch von Christoph Droesser nach. Es
+heisst 'Stimmt's? Moderne Legenden im Test' und ist bei Rowohlt erschienen.
+Ich bin in meinem Buchdiscount drauf gestossen, denn dort wird es zur Zeit als
+angebliches Maengelexemplar zum halben Preis verkauft (Originalpreis 7.90
+Euro).
+
+Es handelt sich um die Zusammenfassung einer ZEIT-Kolumne und behandelt
+Themen, ueber die man schon immer Bescheid wissen wollte:
+          Bier auf Wein, das lass sein
+          Der Loeffel in der Sektflasche
+          Nuetzt das Reiben von Muenzen am Automaten?
+          Das Aufwaermen von Pilzen und Spinat
+          Glatzen und Potenz
+und einige mehr.
+
+Viel Spass damit, Liara
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Selbstmord der Lemminge (Toe,  8. Mar 2004, 23:43:28):
+~#! rn=Liara rt=1078343830 rg=kultur
+~#! tid=1078343830
+lemminge... http://www.nichtlustig.de/shop/index.html
+
+-----------------------------------------------------------------------------
+
+
+
+artikel Konzert in Aachen (Elberet, 12. Mar 2004, 17:19:48):
+Also falls jemand in der Naehe ist und Lust hat.
+Samstag, 13, Maerz um 20 Uhr findet im Eurogress
+in Aachen ein Konzert des Jungen Sinfonieorchesters Aachen
+statt. Gespielt wird:
+
+    Winkelmann: In Itinere (Urauffuehrung)
+    Haydn: Trompetenkonzert Solist Yesemeh Adjei
+    Schubert: Symphonie in C-Dur (die lange :) )
+
+Also wer Lust und Zeit hat ...
+Elberet
+
+-----------------------------------------------------------------------------
+
+
+
+Firefly! (Catweazle, 27. Mar 2004, 20:54:40):
+Moin!
+
+Wer die Serien-Schmiede von Joss Whedon gut findet, am 19. April werden die
+bisher sichtbaren 14 Folgen von Firefly, einer schwer geilen
+Spae-Western-Serie mit viel Liebe zum Detail, auf DVD als US-Import
+veroeffentlicht.
+
+Die DVD soll bei Amazon zwar 55 Euro kosten, bei Amaozon.co.uk isses
+allerdings viel billiger, weil da zudem noch 30% Vorbestellungsrabatt
+hinzukommen. Die Empfehlung lautet also jetzt zu buchen :)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Zwielicht (Gnome, 28. Mar 2004, 18:16:51):
+hallo,
+
+heute mal wieder eine TV-empfehlung von mir.
+o.g. film kommt heute abend, 20:15 auf SAT1. die empfehlung erfolgt
+nicht wegen richard gere und auch nicht wegen der etwas klischeehaften
+story, sondern einzig und allein wegen edward nortons schauspielerischen
+glanzleistung.
+er hatte mit diesem film seinen durchbruch; wenn ihr ihn euch anschaut,
+wisst ihr, warum. :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Firefly! (Darklor,  9. Apr 2004, 00:13:34):
+~#! rn=Catweazle rt=1080417280 rg=kultur
+~#! tid=1080417280
+Auch mit nem brauchbaren Laendercode?
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Firefly! (Catweazle,  9. Apr 2004, 01:20:27):
+~#! rn=Darklor rt=1081462414 rg=kultur
+~#! tid=1080417280
+Ja, 2, UK-Reimport ....
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+memento (Gnome, 11. Apr 2004, 22:38:19):
+heute abend, 23:20 auf SAT1, gibts o.g. film.
+inhaltlich gut und technisch faszinierend umgesetzt verdient er meine
+empfehlung.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: memento (Ark, 11. Apr 2004, 22:44:15):
+~#! rn=Gnome rt=1081715899 rg=kultur
+~#! tid=1081715899
+Kannisch auch empfehlen, hab ihn allerdings nur im Originalton auf DVD
+gesehen, also nicht hauen, wenn er mies synchronisiert ist ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: memento (Muadib, 11. Apr 2004, 22:45:21):
+~#! rn=Ark rt=1081716255 rg=kultur
+~#! tid=1081715899
+was ist denn so ganz knapp angerissen der inhalt?
+welches genre wird bedient ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: memento (Gnome, 11. Apr 2004, 22:47:45):
+~#! rn=Muadib rt=1081716321 rg=kultur
+~#! tid=1081715899
+ein mann mit laediertem kurzzeitgedaechtnis versucht anhand selbstgemachter
+notizen und zaghaften erinnerungen den moerder seiner frau zu finden. an
+sich noch nichts spektakulaeres, wuerde man sich nicht durch die spezielle
+drehweise in diesen man hineinversetzt. wirklich klasse gemacht.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: memento (Seleven, 14. Apr 2004, 09:12:26):
+~#! rn=Gnome rt=1081716465 rg=kultur
+~#! tid=1081715899
+Klasse Film, auch wenn ich jedes mal ne halbe Stunde Verarbeitungszeit
+brauche. :)
+
+S11
+
+-----------------------------------------------------------------------------
+
+
+
+Picknick auf dem Mond gefaellig? (Vanion, 22. Apr 2004, 22:36:15):
+Hi,
+
+Da ich gestern noch etwas Zeit hatte, bin ich in Koblenz durch die Stadt
+geschlendert? Und wo landet ein technikbesessener Mudder frueher oder spaeter?
+
+Ja, auch in der Kneipe - aber vorher?
+
+Genau. Ich war im Saturn, bummeln, und mal gucken, was es denn da so an Musik
+gibt. (In Letzter Zeit kann man da ja die Charts quasi als Ignore-List
+benutzen.) Ok, zurueck zum Thema:
+
+Mir ist da die 'neue' CD von Mila Mar - "Picnic on the Moon" ueber den Weg
+gelaufen. 'Neu' in Anfuehrungsstrichen, weil die schon seit geraumer Zeit
+draussen ist, ich sie aber bisher nirgendwo gesehen hatte. Ich weiss zwar
+nicht, womit ich soviel Glueck verdient habe, aber es ist auch noch eine
+Spezialausgabe, in der eine zweite CD mit Remixes drinliegt.
+
+Ich finde, dass man deutlich einen Unterschied zu frueheren Alben Nova oder
+Elfensex hoert. Klar, die Stimme von Anke Hachfeld ist immer noch da, und
+macht den Mila Mar-Sound so unverwechselbar, dass Katrin Beischer und Soan
+Meyer die Band verlassen haben, hinterlaesst deutlich seine Spuren in der
+Instrumentkomposition, wie ich finde. Aber es wird beim Hoeren schnell klar:
+Hachfeld ist zusammen mit Maaf Kirchner noch immer Mila Mar.
+
+Wer die aelteren Alben von Mila Mar mochte, wird also mit Picnic on the Moon
+nicht ungluecklich werden, wer sie noch nicht kennt, sollte mal ein Ohr wagen.
+Sie machen sicher keine Musik, die Chart-tauglich ist, aber wie ich oben schon
+angedeutet hab, ist das fuer mich momentan eher ein Praedikat. Reinhoeren in
+das Album kann man bei Amazon (http://tinyurl.com/3f7vy), es gibt auch noch
+eine Fansite mit einigen Soundtracks unter http://tinyurl.com/37g5q.
+
+Falls jemand Musiktips hat, die in diese Richtung gehen, immer her damit :)
+
+V*, lauscht weiter seiner neuen Errungenschaft.
+
+-----------------------------------------------------------------------------
+
+
+
+Bastard-Lesung in Kiel (Vanion, 23. Apr 2004, 18:46:03):
+Hi, 
+
+etwas kurzfristig, aber trotzdem:
+
+Heute abend, gg 20:00 liest Florian Schiel uns der Uni Kiel etwas vor. Naehere
+Infos gibts hier: http://tinyurl.com/35y2q
+
+Auf der Seite gibts auch die Links fuer Life Streams, so dass jeder in den
+Genuss kommen kann, sich die Lesung anzu(sehen|hoeren).
+
+Viel Spass,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: memento (Anatol, 24. Apr 2004, 16:03:46):
+~#! rn=Gnome rt=1081716465 rg=kultur
+~#! tid=1081715899
+"laediertes Kurzzeitgedaechtnis"... jedesmal dasselbe. Der Knabe hat,
+wie auch "Dorie" in "Finding Nemo" ein durchaus funktionierendes
+Kurzzeitgedaechtnis, und das Langzeitgedaechtnis funktioniert auch
+ganz hervorragend. Sie koennen (beide) sogar noch lesen. Das ist nix,
+was ausschliesslich implizit erlernt wird.
+
+Was ihnen beiden ploetzlich fehlt, ist die Moeglichkeit, Wissen vom
+Kurzzeit- ins Langzeitgedaechtnis zu konsolidieren. DAS macht dann
+gewissen Aerger. Und es gibt sogar einen Namen dafuer (irgendeine
+bestimmte Amnesie), aber bestimmt nicht "laediertes Kurzzeitgedaechtnis".
+
+Anatol war auch mal Student ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: memento (Muadib, 24. Apr 2004, 16:11:00):
+~#! rn=Anatol rt=1082815426 rg=kultur
+~#! tid=1081715899
+weisst du das ist wie der terminus "die sonne geht auf", sachlich nicht gerade
+richtig aber jeder weiss was gemeint ist. 
+wohingegen ein hinweis darauf dass die sonne ja nicht auf geht sondern sich
+die erde und die sonne umlauftechnisch in einer bestimmten situation ist fuer
+die es auch irgendeinen fachbegriff gibt, wenig hilfrich ist :)
+
+mosermotzmotzkeif und so
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: memento (Anatol, 24. Apr 2004, 16:38:31):
+~#! rn=Muadib rt=1082815860 rg=kultur
+~#! tid=1081715899
+Ich bin auf dem "Die Sonne geht auf"-Niveau geblieben. Ich bin mit
+der Materie nicht mehr 100% vertraut, ist halt schon eine Weile her...
+
+Anatol, kann "Labiodentalfrikativfehler" noch immer aussprechen, hat
+bei "Parietalokzipitallappen" unter Muedigkeit aber Schwierigkeiten.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: memento (Muadib, 24. Apr 2004, 18:44:25):
+~#! rn=Anatol rt=1082817511 rg=kultur
+~#! tid=1081715899
+irgendwie fuehl ich mir nu nich geholfen getutet
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: memento (Anatol, 24. Apr 2004, 19:26:26):
+~#! rn=Muadib rt=1082825065 rg=kultur
+~#! tid=1081715899
+Dir ist ja auch nicht zu helfen.
+
+-----------------------------------------------------------------------------
+
+
+
+frequenzy (Gnome,  2. Mai 2004, 19:30:48):
+heute abend, 20.15, pro7 gibts o.g. film fuer leute mit einem faible fuer
+zeit-reisen-auswirkungs-konsistenz-geschichten. :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: frequenzy (Zarniya,  3. Mai 2004, 08:22:59):
+~#! rn=Gnome rt=1083519048 rg=kultur
+~#! tid=1083519048
+es waer auch ein sehr guter Film fuer Musikfreunde geworden, haetten die
+Deppen von Pro7 mal ein wenig mehr von dem Abspann gezeigt... wer Fragen zu
+dem Song am Ende des Films hat, der kann mir ja mailen.... 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Kulturtipp: Kneipenlesung am 29.5. in Muenster (Daria,  3. Mai 2004, 13:59:50):
+Hallo Ihr Lieben,
+am 29. 5. macht sich das Paderborner Kneipenlesungsteam auf ins ferne Muenster
+und veranstaltet eine Lesung im Peperoni. Ihr hoert (wie immer) spassige bis
+ersnte Texte (diesmal zum Thema "Kulinarisches"), umrahmt von Tafelmusik (oder
+so).
+Das ganze beginnt um 20:30 Uhr. Naehere Infos gibts unter www.kneipenlesung.de
+oder www.gemuesekultur.de .
+Daria liest auch mit.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kulturtipp: Kneipenlesung am 29.5. in Muenster (Daria,  3. Mai 2004, 14:00:10):
+~#! rn=Daria rt=1083585590 rg=kultur
+~#! tid=1083585590
+Daria vertauscht ein s und ein n.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kulturtipp: Kneipenlesung am 29.5. in Muenster (Foobar,  3. Mai 2004, 14:47:47):
+~#! rn=Daria rt=1083585590 rg=kultur
+~#! tid=1083585590
+Wollen wir mal hoffen, dass sich bis dahin keine Mudder da treffen, sonst
+macht der Laden vorher zu.
+
+-----------------------------------------------------------------------------
+
+
+
+Samstag, 8, Mai... (Foobar,  6. Mai 2004, 10:36:10):
+...im WDR, von 21.45 - 6.00 Uhr:
+
+   Die lange Schalke-Nacht
+
+(anlaesslich des hundertjaehrigen Bestehens des deutschen Traditionsclubs
+schlechthin)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Samstag, 8, Mai... (Montanus,  6. Mai 2004, 11:14:12):
+~#! rn=Foobar rt=1083832570 rg=kultur
+~#! tid=1083832570
+Traditionsclub? Werdet ihr erstmal 156, dann reden wir weiter.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: frequenzy (Boing,  6. Mai 2004, 16:00:28):
+~#! on=Marcus ot=1083566135 og=megaschmarrn
+~#! rn=Zarniya rt=1083565379 rg=kultur
+~#! tid=1083519048
+Es gibt manchmal bereits sogenannte 0-day exploits. Sei froh.
+
+Und es ist halt eine gute Freundin, da darf man Mitleid haben.
+
+Und mein letztes Windows ist bei der letzten Plattenformatier Aktion leider
+kaputt
+gegangen. Die Rescue CD habe ich noch, aber plane nicht, sie einzusetzen.
+
+Ciao, Marcus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Samstag, 8, Mai... (Alboin,  7. Mai 2004, 15:56:32):
+~#! rn=Foobar rt=1083832570 rg=kultur
+~#! tid=1083832570
+aehm feiern Zuhaelter eh nicht schon genug?
+
+Al *sich duckend*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Samstag, 8, Mai... (Kellybundy,  8. Mai 2004, 19:02:44):
+~#! rn=Alboin rt=1083938192 rg=kultur
+~#! tid=1083832570
+Nein. Vom vielen Eierabschneiden, Blueten drucken und widerspenstige Nutten
+verhaun sind die fertig genug. Auch Zuhaelterei ist Arbeit!
+
+Bloe^Hndchen
+
+-----------------------------------------------------------------------------
+
+
+
+Machenschaften der 'Bild' in der FAZ (Liara,  9. Mai 2004, 16:12:59):
+Netter, fuer die FAZ recht peppiger Artikel ueber die Methoden, mit der die
+'Bild' ihre Artikel zusammenbekommt:
+http://www.faz.net/s/Rub8A25A66CA9514B9892E0074EDE4E5AFA/Doc~E5206D13E24504EDC
+897718E61CCD6013~ATpl~Ecommon~Scontent.html
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Machenschaften der 'Bild' in der FAZ (Anatol,  9. Mai 2004, 16:22:27):
+~#! rn=Liara rt=1084111979 rg=kultur
+~#! tid=1084111979
+http://makeashorterlink.com/?Z17652048
+*grunz* Immer diese Roman-Links...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Machenschaften der 'Bild' in der FAZ (Liara,  9. Mai 2004, 16:23:19):
+~#! rn=Anatol rt=1084112547 rg=kultur
+~#! tid=1084111979
+Hachjaaa, wie bin ich doch doof! Ist echt schoen, dass es euch nette,
+freundliche Leute gibt! :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Machenschaften der 'Bild' in der FAZ (Whitetiger,  9. Mai 2004, 16:29:29):
+~#! rn=Liara rt=1084112599 rg=kultur
+~#! tid=1084111979
+Immer noch viel zu lang, finde ich.
+http://ln-s.net/e:
+
+Tiger
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Machenschaften der 'Bild' in der FAZ (Vanion,  9. Mai 2004, 16:56:20):
+~#! rn=Whitetiger rt=1084112969 rg=kultur
+~#! tid=1084111979
+Tiger, der Witz ist, den Link in eine Zeile zu bekommen, damit man ihn direkt
+in den Browser kopieren kann. makeashorterlink hat auch mal mit einem
+Buchstaben angefangen. :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Traellerelsen (Lug, 22. Mai 2004, 13:21:32):
+
+Fuer die zahlreichen Anhaenger von Nightwish, Within Temptation und Co.:
+
+Montag erscheint das neue Xandria-Album Ravenheart. Koennte was fuer Euch
+sein. Auf Viva Plus laeuft das Video Sonntag ab 21.00 zur jeden vollen Stunde,
+falls einer vorab testen moechte.
+
+CD-Tipp der weicheren Art
+Lugifer
+
+-----------------------------------------------------------------------------
+
+
+
+Uzala der Kirgise (Asuka, 24. Mai 2004, 16:03:46):
+Falls wer die Filme von Akira Kurosawa mag, heute nacht um 00:15
+laeuft auf Arte Uzala der Kirgise (Dersu Uzala). Allein schon wegen
+den Naturaufnahmen sollte man dieses Kurosawa-Werk nicht verpassen.
+
+Asuka
+
+-----------------------------------------------------------------------------
+
+
+
+Xandria-Video (Lug, 25. Mai 2004, 21:34:27):
+Bis Ende Mai, kann man uebrigends das Xandria-Video zu Ravenheart auf
+www.xandria.de runterladen...
+
+Fuer unsere Traellerelsen-Fans...
+
+Lugifer
+
+-----------------------------------------------------------------------------
+
+
+
+Uebermorgen ... (Vanion, 26. Mai 2004, 23:23:50):
+Hi,
+
+ich war grad in Roland Emerichs gleichnamigen neuen Film. 
+Und da die eigentlich zustaendige Rubrik mal wieder voll ist, muss ich wohl
+hier schreiben.
+
+Es handelt sich um einen recht gut gemachten Katastrophenfilm. Die Handlung
+ist nett, auch wenn der Held mal wieder zu sehr Held ist ... so is Hollywood
+halt. Am Ende kramen alle ihr bestes Colgate-Grinsen raus und freuen sich.
+
+Eine 8 auf der 10er-Skala. Mir war ein paar ziemlich kalt kalt :)
+
+Fazit: Wer Katastrophenfilme mag: Reingehen.
+       Wer keine Realo-SF mag   : Lieber nicht reingehen. 
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Uebermorgen ... (Gloinson, 27. Mai 2004, 23:30:24):
+~#! rn=Vanion rt=1085606630 rg=kultur
+~#! tid=1085606630
+Dito. Angenehmer Film. Fesselt nicht so sehr wie Troja, aber hat doch ein paar
+gut gemachte Erhabenheitsmomente. Ich musste nur immer wieder schmunzeln, dass
+Buecherverbrennszenen ausgerechnet in einer mit jeder Menge Holzpaneelen
+verkleideten Bibliothek gedreht wurden ...
+
+Bemerkenswert ist, dass Emmerich sich das Thema gleich so zu Herzen genommen
+hat, dass er mittels Spende an eine Aufforstungsfirma seinen Filmdreh
+bloekologisch korrekt CO2-neutralisiert hat.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Uebermorgen ... (Kellybundy, 28. Mai 2004, 20:14:19):
+~#! rn=Vanion rt=1085606630 rg=kultur
+~#! tid=1085606630
+Was bitteschoen verstehst Du unter realo-SF? entweder isses real oder Utopie
+oder SF. Wenn Du mich fragst, ist der film nur Kintopp, die paar realismen da
+drin kannste vergessen.
+
+Dumpfbacke
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Uebermorgen ... (Gloinson, 28. Mai 2004, 20:38:26):
+~#! rn=Kellybundy rt=1085768059 rg=kultur
+~#! tid=1085606630
+Das Ereignis ist SF, kann also stattfinden. Die Aussage: "wir wissen nicht,
+wann", ist real.
+Da gab es neulich einen schoenen Fernsehbeitrag auf VOX, sicherlich BBC. Die
+Aussage war: Wenn denn der Golfstrom durch die nachweislich gestiegenden
+Flusswassereintraege versuesswaessert werden sollten, gibt es zwei
+Moeglichkeiten: Entweder haelt es sich die Wage mit der Erwaermung, dann
+passiert fuer uns Europaeer ausser Niederschlagsaenderungen nichts. Oder der
+Golfstrom bricht schneller zusammen, woraufhin es empfindlich kalt wuerde. Die
+Kanalinsel haetten bis 10 Kelvin weniger Durchschnittstemperatur zu
+verzeichnen.
+Der Rest des Globus haette natuerlich auch was davon. Vor allem andere
+Niederschlaege rund um den Aequator. Naja, nettes Modell.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Unter... (Maarg, 29. Mai 2004, 16:01:51):
+http://hitchhikers.movies.go.com/hitchblog/interview.htm
+
+findet man ein Interview des Drehbuchautors zum Anhalter mit sich selbst.
+
+-----------------------------------------------------------------------------
+
+
+
+ASoIaF (Maarg, 19. Jun 2004, 20:11:35):
+Moin.
+
+Unter
+
+http://www.georgerrmartin.com/chapter.html
+
+ist ein neues Probekapitel erschienen.
+
+Nachdem wir schon das Vergnuegen mit einem Kapitel von Arya hatten, ist dieses
+Kapitel nun aus der Sicht von *trommelwirbel*
+
+Cersei Lannister
+
+geschrieben.
+
+Wer es lesen will, dem wuensche ich viel Spass :o)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+... wie ein Pfirsich auf dem Ast ... (Jenandra, 20. Jun 2004, 15:15:12):
+Vierzehn musikalische Liebeserklaerungen
+
+Junger Kammerchor Hannover, Leitung: Andreas Mattersteig
+Trio Bez Nazvy
+Geoffrey Bolt, Klavier
+
+20.06.2004 20:00h
+St.-Johannis-Kirche Hannover-Misburg
+Anderter Str. 42, 30629 Hannover
+
+03.07.2004 20:00h
+Friedenskirche Hannover-Zooviertel
+Schackstr. 4, 30175 Hannover
+
+Eintritt frei
+
+http://www.junger-kammerchor-hannover.de/
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ... wie ein Pfirsich auf dem Ast ... (Mupfel, 20. Jun 2004, 15:36:29):
+~#! rn=Jenandra rt=1087737312 rg=kultur
+~#! tid=1087737312
+Du soltest dabei schreiben, was diese Konzerte so besonders macht, Jen ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ... wie ein Pfirsich auf dem Ast ... (Darklor, 20. Jun 2004, 17:34:55):
+~#! rn=Mupfel rt=1087738589 rg=kultur
+~#! tid=1087737312
+Was?
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: ... wie ein Pfirsich auf dem Ast ... (Mupfel, 20. Jun 2004, 17:49:09):
+~#! rn=Darklor rt=1087745695 rg=kultur
+~#! tid=1087737312
+Das sie selbst mit singt ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: ... wie ein Pfirsich auf dem Ast ... (Darklor, 20. Jun 2004, 18:00:51):
+~#! rn=Mupfel rt=1087746549 rg=kultur
+~#! tid=1087737312
+Aha! ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ASoIaF (Lug, 24. Jun 2004, 13:39:30):
+~#! rn=Maarg rt=1087668695 rg=kultur
+~#! tid=1087668695
+Die dumme Sau...
+
+Lugifer
+
+-----------------------------------------------------------------------------
+
+
+
+Japanische Trommler - Yamato (Mesirii,  8. Jul 2004, 09:56:09):
+Maharet und ich waren gestern in der Leipziger Oper (schickes DDR-Interieur)
+bei Yamato. Das ist eine Trommlertruppe, die ziemlich genial zeigen was fuer
+Klangraeume man mit den Trommeln erzeugen kann. Von ganz kleinen bis zu 
+riesigen Instrumenten wird alles mit viel Enthusiasmus zum Klingen gebracht. 
+Sehr  beeindruckend spielen sie miteinander und mit dem Publikum und haben da 
+viel Spass daran.
+
+Ist wirklich ein Erlebnis nur schon nach 2 Stunden vorbei.
+
+Im Netz findet man einiges, Stationen sind: Leipzig, Stuttgart, Hannover, 
+Duesseldorf, Dortmund.
+
+Mesi, begeistert
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Japanische Trommler - Yamato (Rehakles,  8. Jul 2004, 10:38:23):
+~#! rn=Mesirii rt=1089273369 rg=kultur
+~#! tid=1089273369
+Und ich dachte, die Yamato liegt im Pazifik auf dem Meeresboden ...
+
+Rehakles (Koenig von Griechenland, Bundestrainer in spe)
+
+-----------------------------------------------------------------------------
+
+
+
+The Godsend (Ark, 11. Jul 2004, 00:12:45):
+Hm, da ich mit ein paar Kumpels nicht in The Punisher gehen konnte, da schon
+wieder abgesetzt (offenbar zum Glueck?!), mussten wir uns was anderes
+aussuchen. Und wurden nicht enttaeuscht, ein knuffiger Thriller ist
+rausgekommen, sehr gut gemacht, deshalb ... weiterempfohlen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Japanische Trommler - Yamato (Anatol, 11. Jul 2004, 10:59:16):
+~#! rn=Rehakles rt=1089275903 rg=kultur
+~#! tid=1089273369
+By the way, lohnt sich "STOMP" eigentlich?
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Japanische Trommler - Yamato (Croft, 11. Jul 2004, 11:02:50):
+~#! rn=Anatol rt=1089536356 rg=kultur
+~#! tid=1089273369
+Sehenswert ist es, nur die Tickets waren als sie hier in der Gegend waren
+uebertrieben teuer, d.h. ich habs beim Video anschauen belassen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Japanische Trommler - Yamato (Anatol, 11. Jul 2004, 11:18:09):
+~#! rn=Croft rt=1089536570 rg=kultur
+~#! tid=1089273369
+Jup, das Ticket kostet hier auch 50.- *seufz*
+
+
+-----------------------------------------------------------------------------
+
+
+
+kennt jemand .. (Alboin, 14. Jul 2004, 22:54:20):
+den Autor Kai Meyer? Ich bin neuerdings in der Sparte Mystery Thriller
+unterwegs und dabei tauchte oefter der name dieses Autors auf. Wer schon was
+von ihm gelesen hat kann mir gerne sein Urteil dazu geben.
+
+Gruesse Al
+
+-----------------------------------------------------------------------------
+
+
+
+Re: kennt jemand .. (Whitetiger, 15. Jul 2004, 13:56:59):
+~#! rn=Alboin rt=1089838460 rg=kultur
+~#! tid=1089838460
+Kai Meyer schreibt AFAIK hauptsaechlich Kinder- und Jugendbuecher, z.B. die
+Trilogien ueber "Die fliessende Koenigin" oder "Die Wasserlaeufer". Und
+hinsichtlich Mystery Thriller hat er die Jugendbuchreihe "Sieben Siegel"
+geschrieben. Die kenne ich nicht, aber die beiden oben genannten Trilogien
+sind beide echt super, gut geschrieben, spannend zu lesen. Kann ich nur
+empfehlen.
+
+Tiger
+
+-----------------------------------------------------------------------------
+
+
+
+Der Mann der vom Himmel viel ... (Vanion, 15. Jul 2004, 20:17:42):
+Heute abend 20:40 auf ARTE. Ein reichlich alter Bowie-Film :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der Mann der vom Himmel viel ... (Grimmborn, 15. Jul 2004, 20:22:29):
+~#! rn=Vanion rt=1089915462 rg=kultur
+~#! tid=1089915462
+Aha. Und wovon hat er vom Himmel so viel was?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+HIlfe gesucht (Zarniya, 18. Aug 2004, 10:05:31):
+Hallo, 
+
+ich muss mal an dieser Stelle ein wenig Werbung machen. Es gibt einen jungen
+genialen Gitarristen in den USA namens Keith Urban und der macht wirklich gute
+Musik. Nun soll der in Deutschland ein wenig gepushed werden, was nicht so
+einfach ist, denn Keith beherrscht u.a. die Country Charts der USA und ich
+muss hier keinem sagen, was fuer schwachsinns Vorurteile es in D ueber Country
+gibt, nur weil es sich noch keiner getraut hat, Deppen wie Tom Astor oder
+Truck Stop an die Wand zu stellen. Naja... auf alle Faelle ist die aktuelle
+Single von Keith Urban "Somebody Like You" derzeit hier ueberall an die Radios
+verschickt und ich haette gern, wenn ihr alle euren Radiosender ein wenig
+nervt, das Teil zu spielen.. egal, ob ihr den Song kennt oder moegt... tut es
+fuer mich, den lieben Yantro :)
+
+Scherz beiseite... wer nen Ausschnitt des Songs hoeren will, der kann das
+unter www.keithurban.net machen. 
+
+Konkrete Hilfe brauch ich fuer ein Voting. Bei www.berlin888.de unter 'Die
+Musik' und da unter 'Hey Music!' kann man fuer die Radiocharts des Senders
+abstimmen und ich bin euch fuer jeden Klick dankbar. 
+
+Gruss, 
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: HIlfe gesucht (Gloinson, 18. Aug 2004, 10:12:09):
+~#! rn=Zarniya rt=1092816331 rg=kultur
+~#! tid=1092816331
+:summt: "... jeder der gern Country hoert, hat ein kurzes Glied. Wer Country
+hoert ist Kommunist und treibt es gern mit Schweinen; aber weil er so feige
+ist, auch nur mit ganz kleinen ..."
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: HIlfe gesucht (Montanus, 18. Aug 2004, 10:15:11):
+~#! rn=Gloinson rt=1092816729 rg=kultur
+~#! tid=1092816331
+:summt: "mit dem Alter faengt man an
+sich fuer Countrymusik zu interessieren
+
+
+Ich leg die Platte auf
+und mir kommt zelten in den Sinn
+sie wengeln den Akkord
+in einem fort
+bis die Kuehe nach Hause kommen
+
+
+[A... und leise hoert man Johnny Cash in ihren Mittagspausen"
+
+-----------------------------------------------------------------------------
+
+
+
+Re: HIlfe gesucht (Alboin, 18. Aug 2004, 12:55:47):
+~#! rn=Zarniya rt=1092816331 rg=kultur
+~#! tid=1092816331
+was "hey Music!" gibts noch? Das war meine Musiksendung in meinen wilden
+Zeiten: stundenlang Musik von den Charts zum mitschneiden und dann musste ich
+noch aufpassen das im Internat keiner mitbekam das ich Westen hoerte ;-)
+
+Al in Nostalgie versunken
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: HIlfe gesucht (Gloinson, 18. Aug 2004, 12:58:29):
+~#! rn=Alboin rt=1092826547 rg=kultur
+~#! tid=1092816331
+Soso, scheint ja eine komische Truppe gewesen zu sein in eurem Internat. Die
+kleinen Offiziersanwaerter? Die einzigen, die nicht hoeren "durften", dass man
+Westen sah oder hoerte waren die Erwachsenen. Untereinander hat man sich doch
+ausfuehrlich ueber die letzte Serie unterhalten.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: HIlfe gesucht (Alboin, 18. Aug 2004, 13:05:26):
+~#! rn=Gloinson rt=1092826709 rg=kultur
+~#! tid=1092816331
+Offiziersanwaerter? Hahaha. Nein nach meinem Hoersturz duerfte ich an eine
+Schwerhoerigenschule und die war etwas vom Heimatort entfernt so das man mich
+ins Internat steckte.  Und ja wir mussten aufpassen, das die Erzieher, die
+natuerlich besser hoerten ;-) und auch zu jeder Zeit auf unser Zimmer duerften
+nicht mitbekamen das wir Westen hoerten oder sahen, weils per Hausordnung
+verboten war. Und leider haben wir uns auch verpfiffen, z.B. uebereifrige
+Parteinachwuchskader taten sowas. 
+Als ich vor ein paar Jahren wiedermal jenes Internat besuchte, konnte ich mir
+im Fernsehraum die Bemerkung "Aber jetzt darf man doch Westen gucken, oder?"
+nicht verkneifen;-)
+
+Al
+
+-----------------------------------------------------------------------------
+
+
+
+Re: HIlfe gesucht (Kellybundy, 18. Aug 2004, 16:59:37):
+~#! rn=Zarniya rt=1092816331 rg=kultur
+~#! tid=1092816331
+Wieviel bietest Du mir? Promotion ist nicht billig, und die
+mit-Handy-Anruferei bis man mal auch drankommt verschlingt Unsummen, und ja
+was soll ich noch sagen? Inflation, harte Zeiten....
+
+Kelly, gibt auf Wunsch gern ihre Bankverbindung durch
+
+-----------------------------------------------------------------------------
+
+
+
+JBO - United States of Bloedsinn (Humni, 25. Aug 2004, 15:09:40):
+So. Nun habe ich das neue JBO-Album, und so ganz sicher bin ich mir bei vielen
+Sachen noch nicht.
+
+Klare Pluspunkte sind Lieder wie Glaubensbekenntnis, Satan ist wieder da,
+Gaensebluemchen und JBO wird niemals sterben. Aber auch der Rest ist
+keineswegs durchwachsen... eher so, dass ich mit vielen Dingen nicht soviel
+anfangen kann. Der letzte regulaere Track heisst ,,Das vokuhilische Pendel''
+zum Beispiel ist ganz nett, muss aber nicht oefter als einmal angehoert
+werden, und mit ,,Voll im Arsch''muss ich auch noch warm werden (geschrieben
+und gesungen von Ralph Bach, dem neuen Bassisten, seltsamer Stil).
+
+Aber mit ,,The Kickers of Ass'' und ,,JBO wird niemals sterben'' kann das
+Album dennoch durch wahre Hymnen glaenzen. Insgesamt geb ich mal 9 von 10
+moeglichen Punkten - vielleicht kommt der zehnte beim nochmalhoeren.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+doppelpack (Gnome, 29. Aug 2004, 19:05:20):
+a) "The Abyss - DC" - 20:15, pro 7
+                      vergesst diesen reisserisch-schlechten deutschen
+                      untertitel. wer den film schon kennt, aber den DC
+                      nicht: unbedingt anschauen.
+                      wer ihn noch nicht kennt: mischung aus tiefsee-film
+                      und sci-fi.
+
+b) "Taxi Driver" - 23:55, kabel 1
+                   da brauch ich wohl nicht viel zu sagen :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+TV (Gloinson, 31. Aug 2004, 01:21:36):
+Wochenende mal wieder "Record of Lodoss War" auf Wichs-VOX.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Matis,  9. Sep 2004, 23:32:02):
+Bill Bryson: "Eine kurze Geschichte von fast allem"
+
+Diesmal kein Reisebuch, sondern ein Buch ueber die Naturwissenschaften, die
+Erde, das Universum, ja einfach alles. Der Guardian schreibt dazu: 'Truly
+impressive ... it's hard to imagine a better rough guide to science.'
+Absolut empfehlenswert!
+
+Matis
+
+PS Auch alles anderen Werke Brysons sind aeusserst unterhaltsam, insbesondere
+   "Notes from a Big Country".
+
+-----------------------------------------------------------------------------
+
+
+
+Garifin (Anthea, 14. Sep 2004, 10:21:41):
+Wer in Hamburg und Umgebung wohnt, am Mittwoch Zeit hat, und ausserdem noch
+irische Musik mag, fuer den ist folgende Info vielleicht interessant, die ich
+eben gekriegt habe. Fuer mich scheitert es leider schon an der ersten
+Bedingung...
+
+"Unser ehemaliger Geiger Serge ist fuer ein paar Tage nach Hamburg gekommen.
+Nun haben wir uns ueberlegt, ein kleines unplugged Konzert in Harburg in der
+alten Besetzung zu geben. Einfach nur zum Spass. Daher werden wir am Mittwoch
+den 15.09. ab ca. 20:30 Uhr im Old Dubliner Harburg (Laemmertwiete,
+www.olddubliner.de). Kein Eintritt, aber viel Spass. Ob wir unsere alten
+Stuecke noch spielen koennen, werden wir am Mittwoch sehen. Vielleicht bist Du
+ja auch da, wir freuen uns schon. Musiker sind zur Session danach herzlich
+willkommen..."
+
+-----------------------------------------------------------------------------
+
+
+
+Schon zum 3ten Mal gesehen ... (Ark, 21. Sep 2004, 21:43:03):
+... und immer noch wunderbar: Nomaden der Luefte.
+Ist geradezu theapeutisch, der Film, einfach mal an nem regnerischen
+Wochenende anschauen und schweigen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Gruende (Amynthor, 24. Sep 2004, 13:11:24):
+
+                                    GRUENDE
+                Bei Ausbrechen eines Brandes nicht zu loeschen:
+
+                             (Kreuzen Sie bitte das fuer Sie Zutreffende an!)
+
+ 1. Weil man noch nicht mit Sicherheit weiss, ob man ueberhaupt zu den
+    Betroffenen gehoert.
+ 2. Weil man sich fuer wichtigere Aufgaben bereit halten muss, zu denen man
+    moeglicherweise gerufen werden wird.
+ 3. Weil die Experten ueberhaupt noch nicht eindeutig bewiesen haben, dass es
+    tatsaechlich brennt.
+ 4. Weil man davon ueberzeugt ist, dass die dafuer zustaendigen Leute schon
+    laengst dabei sind zu loeschen.
+ 5. Weil man aus bestimmten Gruenden durchaus dafuer ist, dass alles
+    abbrennt.
+ 6. Weil man es vorzieht, sich nicht in Gefahr zu begeben.
+ 7. Weil man sich beim besten Willen nicht vorstellen kann, dass Gott so
+    etwas zulaesst.
+ 8. Weil man den anderen zeigen will, dass kein Grund zur Panik besteht.
+ 9. Weil es einem gleichgueltig ist.
+10. Weil man auf Anweisung von oben warten muss.
+11. Weil man zunaechst alle anderen vom Ausbruch des Brandes benachrichtigen
+    muss.
+12. Weil man nicht zur Brandstelle hinfinden kann.
+13. Weil man eingesperrt und an Haenden und Fuessen gefesselt ist.
+14. Weil es sowieso schon zu spaet ist und nicht mehr lohnt.
+15. Weil man erstmal sehen will, was die anderen jetzt wohl ohne einen
+    anfangen.
+16. Weil es in gewisser Weise schon oft gebrannt hat und man daran gewoehnt
+    ist, dass bisher auch immer alles gut ging.
+17. Weil man zunaechst mal eine Feuerwehrtruppe aufbauen und alles gruendlich
+    planen muss.
+18. Weil man trotz Flammen und Rauch zutiefst davon ueberzeugt ist, dass es
+    einfach nicht brennen *kann*.
+19. Weil man sich auf keinen Fall Angst machen lassen will.
+20. Weil schliesslich diejenigen loeschen sollen, die den Brand verursacht
+    haben, bitte sehr.
+21. Weil man den Brand gelegt hat und sich nicht verraten will.
+22. Weil man den Brand *nicht* gelegt hat, und Loeschen den Eindruck erwecken
+    koennte, man habe ein schlechtes Gewissen.
+23. Weil man den grandiosen Anblick der Feuerbrunst geniesst.
+24. .....
+25. ..... (weitere Gruende sind vom Leser selbst einzutragen)
+26. .....
+
+(aus: Michael Ende, Die Spielverderber oder Das Erbe der Narren)
+
+Amynthor.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Myst 4 - Revelation (Karima, 26. Sep 2004, 20:51:02):
+Eine amerikanische Spielezeitschrift hatte vor wenigen Tagen einen grossen
+Exklusivartikel, in Deutschland bleibt es weitgehend unbemerkt:
+Myst 4 - Revelation steht bald in den Regalen.
+Ich hab heute schon - dank meiner Spielezeitschrift - eine Demo gespielt und
+war ziemlich begeistert.
+Gewoehnungsbeduerftig fand ich zwar die frei drehbare 360 grad Ansicht.. Aber
+man gewoehnt sich sehr schnell dran.
+Auch wenn die Demo natuerlich keinen umfassenden Eindruck vermitteln kann,
+sieht es fuer mich nach einer gut gemachten Forsetzung aus.
+Nett fand ich die beiden Objekte, die mein Inventory beherbergte: Ein
+Photoapparat und eine Art Notiz-apparat, mit dessen Hilfe ich Notizen
+erstellen konnte, sogar zu den mit dem ersten Apparat aufgenommenen Bildern.
+Fuer mehr Informationen wohl:
+http://www.mystworlds.com/us/
+Ich freu mich jedenfalls drauf.
+Karima
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Myst 4 - Revelation (Darklor, 29. Sep 2004, 01:35:32):
+~#! rn=Karima rt=1096224662 rg=kultur
+~#! tid=1096224662
+War Myst nich dieses inhaltsleere Adventure mit der 'tollen Grafik' und den
+saulangweiligen Verschiebe- und Schalteraetseln?
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Myst 4 - Revelation (Karima, 29. Sep 2004, 15:08:05):
+~#! rn=Darklor rt=1096414532 rg=kultur
+~#! tid=1096224662
+Richtig. Das Spiel, bei dem man Nachdenken muss, was halt nicht jedem liegt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Myst 4 - Revelation (Darklor,  1. Okt 2004, 18:12:54):
+~#! rn=Karima rt=1096463285 rg=kultur
+~#! tid=1096224662
+Oh, da gib es schoenere - Monkey Island, Indiana Jones, ...
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Gaint Sand (Deepblue,  8. Okt 2004, 11:03:33):
+Ich war gestern abend mal wieder zu einem Gaint Sand-Konzert. Schade, wenn ein
+guter Musiker wie Howie Gelb zum Alkoholiker wird :-(
+
+-----------------------------------------------------------------------------
+
+
+
+Ellen Klinghammer (Zook,  8. Okt 2004, 12:13:00):
+Zufaellig bin ich auf eine junge Frankfurter Pianistin und Saengerin
+gestossen, deren Musik mir sehr gut gefallen hat, Ellen Klinghammer; scheinbar
+in der Frankfurter Musikszene als Nachwuchstalent gehandelt.
+
+Ihre Homepage, dort gibt es auch Hoerproben: http://www.ellen-klinghammer.de
+
+Wie man den Stil genau nennt, vermag ich nicht so recht zu sagen, hoert 
+einfach mal rein.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ellen Klinghammer (Muadib,  8. Okt 2004, 13:05:40):
+~#! rn=Zook rt=1097230380 rg=kultur
+~#! tid=1097230380
+ich hoffe du hast eine gute versicherung
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ellen Klinghammer (Gloinson,  8. Okt 2004, 13:07:49):
+~#! rn=Muadib rt=1097233540 rg=kultur
+~#! tid=1097230380
+Moechtest du Gehoerschaeden zur Geltung bringen? 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ellen Klinghammer (Muadib,  8. Okt 2004, 13:11:33):
+~#! rn=Gloinson rt=1097233669 rg=kultur
+~#! tid=1097230380
+nein
+aber das auf sie gestossen hoert sich so verkehrsunfallmaessig an
+
+-----------------------------------------------------------------------------
+
+
+
+Hui Buh (Liara, 17. Okt 2004, 22:34:45):
+Die Rat Pack Filmproduktion, eine Tochtergesellschaft der Constantin Film AG,
+wird den millionenfach verkauften Buch- und Hoerspielbestseller Hui Buh - Das
+Schlossgespenst verfilmen.
+
+Michael Bully Herbig wird die Rolle des Hui Buh in der gleichnamigen Rat Pack-
+/ Constantin Film Produktion spielen und sprechen. Produzent Christian Becker,
+der mit Kinoerfolgen wie Der Wixxer und Was nicht passt, wird passend gemacht
+zu den derzeit erfolgreichsten deutschen Kinoproduzenten gehoert, hat mit
+seiner Firma Rat Pack die
+Kinoverfilmung von Hui Buh - Das Schlossgespenst in den vergangenen drei
+Jahren entwickelt und hat von Hui Buh-Erfinder Eberhard Alexander-Burgh die
+Verfilmungsrechte erworben.
+
+Die weiteren Hauptrollen unter der Regie von Sebastian Niemann (Das Jesus
+Video) spielen Christoph Maria Herbst (Der Wixxer) als Koenig Julius und Rick
+Kavanian (Der Schuh des Manitu), ((T)Raumschiff Surprise) wird die Rolle des
+Charles uebernehmen.|Das Drehbuch wurde von Sebastian Niemann und Dirk Ahner
+(7 Days To Live) nach Ideen und Motiven der erfolgreichen
+Europa-Buch/Hoerspielreihe von Eberhard Alexander-Burgh geschrieben. Die
+Dreharbeiten werden im Februar 2005 beginnen.|Der deutsche Kinostart ist
+Anfang 2006 im Verleih der Constantin Film geplant.|Quelle: Constantin Film AG
+
+-----------------------------------------------------------------------------
+
+
+
+Filmtipp (Deepblue,  3. Nov 2004, 14:31:21):
+Ich hab gestern "Die Reise des jungen Che" gesehen - sehr zu empfehlen
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filmtipp (Maharet,  3. Nov 2004, 14:41:55):
+~#! rn=Deepblue rt=1099488681 rg=kultur
+~#! tid=1099488681
+Hm, kannste auch noch eine ausfuehrlichere Kritik liefern? Dieser Viertelsatz
+verfuehrt mich jetzt noch nicht zu einem Kinobesuch.
+
+Maha
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Filmtipp (Deepblue,  3. Nov 2004, 17:03:35):
+~#! rn=Maharet rt=1099489315 rg=kultur
+~#! tid=1099488681
+http://www.film.de/moviespecials.php/id/1737/
+
+-----------------------------------------------------------------------------
+
+
+
+Heute in der SZ ... (Liara,  5. Nov 2004, 17:02:10):
+Unter Blick in die Presse:
+Kommentar zur Wiederwahl von George W. Bush
+
+TAGES-ANZEIGER (Zuerich)
+
+"Jesus und die Wiedereinfuehrung des Schulgebets scheinen im ersten Jahrzehnt
+des neuen Jahrhunderts ungleich wichtiger zu sein als etwa eine
+Krankenversicherung."
+
+Hehe. Die Schweizer wieder ... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+ASoIaF (Foobar,  7. Nov 2004, 13:53:01):
+ I write this the day after the presidentia:l election.
+
+ A FEAST FOR CROWS is still not finished. Yes, I have written some more pages
+ since the June update. No, the book is not yet done. My August and September
+ schedule was full of conventions, travel, and speaking appearances, which
+ cut deeply into my writing time during those months. Yes, I could have made
+ more progress on the book if I had stayed at home chained to the desk, but I
+ make these commitments years in advance and I take them very seriously.
+
+ Also, some of the writing that I have done since June has actually been
+ rewriting. My goal, as I have said repeatedly in these updates, has always
+ been to produce a book that is a good as it can be, so when I suddenly
+ realize that one of my story threads can be made much more powerful and
+ dramatic with some restructuring, I restructure... even if that means going
+ back, tearing up finished chapters, and reworking them from start to finish.
+
+ That's done, anyway. A FEAST FOR CROWS will be much better for it, and now I
+ am back at work on new chapters once again... although not today, and maybe
+ not tomorrow, or next week. I am pretty good with words, usually, but no
+ words can express how miserable, angry, and depressed I am feeling this
+ morning over the results of yesterday's election. The exit polling makes it
+ clear: this was a victory for bigotry and fear, a mandate bought with lies.
+ I know from past experience that it is going to take me some time to shake
+ off this depression.
+
+ Losing myself in the world of Westeros would probably be the best medicine
+ for what ails me just now, I know full well. There is solace in work, and
+ books -- my own books, and those of others -- have always been a refuge for
+ me during dark times in my life. Today, however, the {fictional} travails of
+ my {fictional} Seven Kingdoms seem pretty unimportant compared to the very
+ real woes that the United States is facing, a future of war and isolation
+ abroad, and division and repression at home.
+
+ Winter is coming to Westeros, but it has already come to America.
+
+ George R.R. Martin, November 3, 2004
+
+http://georgerrmartin.com/nextbook.html
+
+-----------------------------------------------------------------------------
+
+
+
+Kokain auf fast allen Euro-Scheinen (Liara,  7. Nov 2004, 18:43:37):
+Ist zwar schon etwas aelter, aber trotzdem gut. ;)
+http://tinyurl.com/4ddo4
+
+-----------------------------------------------------------------------------
+
+
+
+Der geschmiedete Himmel (Cassandra,  8. Nov 2004, 14:02:12):
+Alle die sich fuer die Bronzezeit bzw. fruehe astrologische Erkenntnisse
+interessieren, sollten sich die Ausstellung in halle mal ansehen. 
+
+Zu sehen gibts die Himmelsscheibe von Nebra und den Sonnenwagen von Trundholm.
+
+dazu natuerlich auch weitere gegenstaende der Zeit nebst entsprechenden
+erklaerungen.
+Mir hat die Ausstellung sehr gut gefallen und ich hab auch richtig Zeit dort
+gelassen. Es lohnt sich.
+Mehr Infos: http://www.archlsa.de
+
+Cassy, von der Ausstellung begeistert
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Der geschmiedete Himmel (Zook,  8. Nov 2004, 14:28:19):
+~#! rn=Cassandra rt=1099918932 rg=kultur
+~#! tid=1099918932
+In irgendeiner meiner Zeitungen, die ich lese, war sie auch hochgelobt und
+ebenfalls im Heute-Journal des ZDF.
+
+Oder waren es die Tagesthemen der ARD? Ich glaub, in beiden gab es nen
+Bericht, den ich gesehen habe.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Filmkritik 'Darf ich bitten? (Liara, 10. Nov 2004, 22:55:58):
+Frauen sollten sich diesen Film ansehen, weil der Film waschechtes
+Hollywood-Schluchz- und Schmachtkino ist. Richard Gere als
+frustrierter Anwalt, dessen Lebensgeister durchs Tanzen wieder geweckt
+werden, das ist einfach wunderbar kitschig anzusehen, zumal der grau
+melierte Star auch wirklich schauspielern kann. Wenn er dann noch mit
+Jennifer Lopez nachts bei orangefarbener Zimmerbeleuchtung eine flotte
+Tanznummer aufs Parkett legt, Herzschmerz pur. Und dann die
+Schlussszene, in der er im feinen schwarzen Anzug mit einer roten Rose
+in der Hand zum Rendez-vous laedt: Da werden dann endlich die
+geheimsten Frauentraeume wahr. Ein Film mit ein bisschen Humor und ganz
+viel Romantik. Taschentuecher nicht vergessen!
+
+Maenner sollten diesen
+Film auf keinen Fall sehen, weil man sich nicht ernsthaft einen
+Film ansehen kann, in dem staendig Rumba, Paso Doble und Walzer getanzt
+wird und die Akteure so tun, als sei es das Allerschaerfste auf der
+Welt. Ausserdem ist auch Jennifer Lopez als dauertraurige Tanzmaus kaum
+ertraeglich. Sie verbreitet in diesem Film nur eines: schlechte Laune.
+J.Lo tanzt nur ganz selten, sondern steht die meiste Zeit wortkarg und
+miesepetrig in der Ecke, mit streng zurueckgekaemmten Haaren und
+finsterem Matronenblick. Man merkt ihr nur zu deutlich an, dass es
+beim Dreh mit Richard Gere oefter kraeftig gekracht hat. Der absolute
+Downer, wenn J.Lo einen furchtbaren Heulkrampf kriegt, so als ob die
+Erde unterginge, und es daran liegt, dass ihr uralter Wildledermantel
+Lasagne-Flecken abbekommen hat  ein Film zum Davonlaufen.
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtrag (Liara, 10. Nov 2004, 22:57:54):
+Das hatte ich gerade vom SWR3-Filmkritiker in der Mail. ;) Er gab dem Film 3
+von & Elchen. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filmkritik 'Darf ich bitten? (Patryn, 11. Nov 2004, 09:37:05):
+~#! rn=Liara rt=1100123758 rg=kultur
+~#! tid=1100123758
+Der Film ist schon deshalb schlecht, weil Maenner schon seit 10 Jahren
+fest davon ueberzeugt sind, dass Richard Gere oder aehnliche Opas von Nebenan
+als
+Maenner vor der Welt einfach nur noch albern sind.
+
+-----------------------------------------------------------------------------
+
+
+
+stephen donaldson (Wurzel, 17. Nov 2004, 12:10:15):
+mein lieblingsautor hat wieder zugeschlagen, und zwar in seinem besten
+themenkreis. "the runes of the earth" heisst der erste band der "last
+chronicles of thomas covenant", 20 jahre nach den letzten buechern der
+second chronicles. das ganze ist auf vier baende angelegt, der erste davon
+ist jetzt rausgekommen und liegt auf meinem tisch. habe nur die ersten
+seiten gelesen, aber es scheint schon jetzt klar, dass donaldson nichts
+verlernt hat.
+bis das ganze auf deutsch rauskommt, wird es wahrscheinlich noch jahre
+dauern, und dann wahrscheinlich - wie ueblich - in einer ausgesprochen
+maessigen uebersetzung. fantasy gehoert in deutschland eben per definitionem
+zur trivialliteratur, da nimmt man keinen guten (teuren) uebersetzer.
+wer halbwegs englisch kann, sollte deshalb das original lesen.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: stephen donaldson (Highlander, 17. Nov 2004, 12:27:58):
+~#! rn=Wurzel rt=1100689815 rg=kultur
+~#! tid=1100689815
+Mit der Originalfassung hast Du recht - ich lese seit Jahren fast
+nur noch die englischen Fassungen, die a) schneller zu haben sind,
+b) ueberhaupt zu haben sind (was wird schon alles uebersetzt?),
+c) nicht an der Uebersetzung leiden und d) oft auch noch billiger
+sind, vor allem, wenn aus einem englischen Buch zwei bis drei
+deutsche gemacht werden (zb Dragonlance).
+
+Donaldson bzw. Covenant wecken bei mir hingegen sehr zwiespaeltige
+Gefuehle. Beim ersten Mal hab ich das erste Buch nach hoechstens
+der Haelfte weggelegt und Jahre nicht mehr angeschaut. Und das
+ist etwas, was mir Buecherwurm sehr selten passiert. Beim zweiten
+Anlauf hab ich dann glaube ich alle Buecher ausleihen koennen
+und durchgelesen, aber was mir vor allem in Erinnerung geblieben
+ist, ist, dass sich die Buecher recht aehneln. Nicht dass es
+so sein muss, aber mein Eindruck war so.
+Wenn ich so drueber nachdenke - das mit dem Weglegen ist mir
+so noch nie passiert. Nicht mal bei den Chronicles of Morgaine,
+und die sind todlangweilig (Cherryhs SF-Buecher sind genial,
+aber Fantasy sollte sie bleibenlassen).
+
+Kann auch sein, dass mir das Setting auf den Keks gegangen ist,
+Covenant, der ewige Jammerer, der, soweit ich das in Erinnerung
+habe, ums Verrecken nicht die Welt und ihre 'Regeln' verstehen
+will, in der er da landet und das anscheinend vorhandene
+Schlimmer-geht-immer-Prinzip des Autors. Immer happy end mag
+bloed sein, aber Donaldson uebertreibt IMO in die andere
+Richtung.
+
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Kuehe und Geraeusche ... (Liara, 20. Nov 2004, 00:47:16):
+... Jenkins watete aus dem Wasser. Er wirkte nicht zornig. Er war ein Mann,
+der die Flammen des Zorns durchschritten und die friedliche Bucht hinter ihnen
+erreicht hatte. Mit zitterndem Zeigefinger deutete er auf das Schiff und
+sagte: 
+"Muh"? ...
+
+Terry Pratchett "Fliegende Fetzen"
+
+(Und ich dachte, wenigstens dieses Geraeusche haette sich jemand selber
+ausgedacht. ;) Alles abgekupfert ...)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kuehe und Geraeusche ... (Darklor, 20. Nov 2004, 19:05:48):
+~#! rn=Liara rt=1100908036 rg=kultur
+~#! tid=1100908036
+Ob Pratchett auch muddet? ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Buchkritik: Dave Duncan, "The King's Blades" (Vanion, 27. Nov 2004, 20:49:06):
+Es ist zwar schon eine Weile her, dass ich die Romane gelesen hab, aber weils
+grad auf -tv Thema war (wie kam ich eigentlich darauf?), moechte ich eine
+kurze Kritik zum Zyklus "The King's Blades" von Dave Duncan abgeben.
+
+Eigentlich sind es die ersten 3 Baende eines laengeren Zyklus, aber das hab
+ich eben erst bei der Recherche festgestellt (Mist, mein Buecher-Todo ist
+schon wieder gewachsen :)
+
+Die Baende heissen "The Gilded Chain", "Sky of Swords" und "Lord of The Fire
+Lands".
+ 
+Basis der Geschichte ist ein Orden von Rittern (The King's Blades/Die Klingen
+des Koenigs). Die Besonderheit einer Blade ist, dass sie mittels eines Rituals
+an ihren Herrn gebunden werden und danach nur noch leben, um ihren Herrn zu
+schuetzen. Normalerweise bindet der Koenig die Blades an sich, es kommt aber
+auch vor, dass die eine oder andere Klinge als Auszeichnung fuer geleistete
+Dienste verschenkt wird.
+
+**** Spoiler, aber nur gaaanz gaaanz wenig ****
+Die ersten drei Baende spielen alle im gleichen zeitlichen Kontext und
+erzaehlen somit die gleiche Geschichte, allerdings aus verschiedenen
+Perspektiven. So enthaelt der erste Band die Lebensgeschichte von Sir
+Durendal, von seiner Aufnahme in den Orden bis zu seinem Tod.
+
+Der zweite Band erzaehlt die Geschichte des jungen Wasp, der beim Koenig
+Ambrose in Ungnade faellt und zusammen mit seinem Freund Raider (ebenfalls
+eine Blade) eine lange Flucht antreten muss.
+
+Der dritte Band erzaehlt die Geschichte der Tochter von Koenig Ambrose,
+Prinzessin Malinda und fuehrt uns somit in die hohe Politik des Koenigreichs
+Chivial. 
+
+**** Fertiggespoilert ****
+
+Alle drei Baende kann man sehr gut eigenstaendig lesen, sie ergeben aber erst
+zusammen ein vollstaendiges Bild der Geschehnisse ab.
+
+Ich fand die Geschichten spannend, und aufgrund ueberraschender Wendungen und
+guter Einfaelle Duncans kam mir keiner der Baende langweilig vor. Im
+Gegenteil: Es war immer ein erlebnis zu sehen, wie Charaktere aus frueheren
+Baenden auftauchen und wie unterschiedlich sie doch von den Protagonisten
+wahrgenommen werden.
+
+Eine besondere Spezialitaet Duncans sind ausgefallene, aber unaufdringliche
+Magiesysteme. Das faellt zwar in anderen Buechern Duncans (The Great Game, The
+Cursed) deutlicher auf, aber auch in diesem Zyklus hat er eine schoene Balance
+gefunden und der Magie einen natuerlichen Platz in seiner Welt gegeben, und
+nicht dauernd unmotivierte Handlungsspruenge durch Magie erklaert. (Mir geht
+es immer auf den Geist, wenn die Situation des Protagonisten schlimmer und
+schlimmer wird, biss er sich in der aussichtslosesten aller aussichtslosen
+Lagen daran erinnert, dass er ja nur seine Hacken zusammenschlagen muss ...)
+
+Falls ihr Duncan noch nicht kennt und etwas Zeit habt, nur Mut! Falls ihr ihn
+schon kennt, habt ihr euch sicher schon eine eigene Meinung gebildet.
+
+Gruesse,
+V*
+
+PS: Die vergoldete Kette hab ich in deutscher Fassung und die beiden anderen
+    in englischer. Die Uebersetzung von Michael Krug scheint gut gelungen zu 
+    sein. (Ich bin da etwas kritisch, weil mir die Harry Potter-Uebersetzung 
+    die Fussnaegel hochrollen laesst). Ich kann die Baende bei Interesse gern
+    nach WiBu mitnehmen und verleihen (also ueber WiBu hinaus, das wird ja 
+    kein Lesewochenende :) 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchkritik: Dave Duncan, "The King's Blades" (Vanion, 27. Nov 2004, 21:00:02):
+~#! rn=Vanion rt=1101584946 rg=kultur
+~#! tid=1101584946
+http://www.daveduncan.com/books.html
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+schwarze magie (Wurzel, 29. Nov 2004, 10:00:24):
+grad fertiggelesen: the black magician trilogy von trudi canavan.
+moechte sagen: ein highlight der fantasy. natuerlich gibt es nicht allzu
+viele tolle neue ideen, das gibts in der fantasy seit tolkien nur noch sehr
+vereinzelt. das ist aber auch gar nicht noetig. trudi canavan hat eine sehr
+gute beobachtungsgabe, und sie charakterisiert ihre handelnden personen
+exzellent.
+es spielt in einer welt, in der die magie den reichen und adligen vorbehalten
+ist. die armen und unterprivilegierten werden alljaehrlich in einem "purge",
+einer grossangelegten reinigungsaktion, aus der stadt geworfen und duerfen
+in den ausserhalb gelegenen slums weiterexistieren. in einem jahr passiert
+aber etwas aussergewoehnliches: ein junges maedchen wirft wie viele andere,
+die aus der stadt geworfen werden, einen stein. und dieser stein durchdringt
+den magischen schutzschild, der die am purge beteiligten magier schuetzt.
+trudi canavan ist australierin, vielleicht hat es was damit zu tun, dass
+sich die romane wohltuend von der amerikanischen massenfabrikation abheben.
+es ist mir jedenfalls sehr schwer gefallen, die buecher aus der hand zu
+legen.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Im Urlaub schnell gelesen ... (Ark,  1. Dez 2004, 14:09:12):
+Und sogar ohne Sonnenbrand, ging also wirklich schnell, was bei der Sonne da
+unten was heissen will :-)
+
+Frank Schaetzing: Tod und Teufel
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Im Urlaub schnell gelesen ... (Anysidora,  1. Dez 2004, 14:38:28):
+~#! rn=Ark rt=1101906552 rg=kultur
+~#! tid=1101906552
+Oh, das hab ich gestern abend grad angefangen zu lesen :) 
+
+-----------------------------------------------------------------------------
+
+
+
+Der neunte Tag (Deepblue,  4. Dez 2004, 23:44:54):
+Also ich wollte Euch mal den Film "Der neunte Tag" empfehlen - ist allerdings
+recht schwere Kost.
+
+Es geht um den Luxemburger Pfarrer Henri Kremer (gespielt von Ulrich Matthes,
+u.a. Goebbels in "Der Untergang") aus dem Pfarrerblock des KZ Dachau, der neun
+Tage Heimaturlaub bekommt, um seinen Bischof zur Zusammenarbeit mit den Nazis
+zu bewegen. Hat er Erfolg, so ist er frei, ansonsten muss er ins KZ zurueck.
+Flieht er, stirbt der ganze Block...
+Regie fuehrte Volker Schloendorff (u.a. "Die Blechtrommel".
+
+Eine vollstaendige Kritik gibts unter http://tinyurl.com/5bh49.
+
+-----------------------------------------------------------------------------
+
+
+
+Die drei ??? (Liara, 10. Dez 2004, 11:55:10):
+Mitteilung vom Kosmos-Verlag:
+Ja, richtig gelesen! Die Lizenz fuer die Verwendung des Namens 'Alfred
+Hitchcock' laeuft leider aus und wurde nicht verlaengert. Wie auch in den USA,
+faellt der Name Hitchcock dadurch weg. Aber wir haben versucht, das Beste
+daraus zu machen. Und wenn wir das Cover schon anfassen, dann haben wir
+wenigstens auf der Rueckseite ein paar Verbesserungen umgesetzt, die uns schon
+lange am Herzen lagen: Die lieferbaren Titel sind in den Innenteil gewandert
+und die Seite ist jetzt insgesamt viel ansprechender. Wir hoffen, euch
+gefaellt es so.
+
+Sprich: Auf den Produkten faellt das Hitchcock-Logo weg. Wer erinnert sich
+nicht an den erhobenen Zeigefinger von Alfred in den fruehen Buechern. :)
+Ganz witzig ist aber sowieso, dass die nachwachsende Generation ???-Fans mit
+dem Kopf und dem Namen Hitchcock ohnehin nichts mehr anfangen konnte. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Aufsatzwettbewerb: Japan - Meine Sicht (Vanion, 15. Dez 2004, 17:50:38):
+Im kommenden Jahr findet in Japan das 'Deutsche Jahr' statt. Unter diesem
+Motto finden ueberall in Japan verschiedenste Veranstaltungen mit
+Deutschlandbezug statt.
+
+Im Rahmen dieses Programms veranstaltet das Landesspracheninstitut NRW in
+Zusammenarbeit mit dem DAAD und noch einigen anderen Organisationen einen
+Aufsatzwettbewerb mit dem Titel 'Japan - Meine Sicht'. Das konkrete Thema ist
+frei waehlbar.
+
+Teilnahmeberechtigt sind Studierende deutscher Hochschulen bis zum
+abgeschlossenen 28. Lebensjahr (Stichtag ist der 14. Januar 2005).
+
+Mitmachen lohnt sich nicht nur wegen der Erfahrung, die man hierbei sammelt,
+sondern auch da u.a. Stipendien des DAAD und des LSI winken.
+
+Da ich zu faul bin, jetzt alles abzuschreiben, kann der geneigte Leser sich
+gern unter http://www.jams.lsi-nrw.de/ weiter informieren.
+
+Viel Spass und Kreativitaet,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Suche Referat/Facharbeit zu Klaus Mann "Der Vulkan" (Apophis, 16. Dez 2004, 17:29:50):
+siehe Titel. Hat da jemand was? google etc. spuckt komischerweise mal nix
+brauchbares aus, ausser Link auf www.hausaufgaben.de, welches allerdings nicht
+kostenlos ist.
+Danke schonmal.
+Apo*
+
+-----------------------------------------------------------------------------
+
+
+
+Hamster ... (Gloinson, 16. Dez 2004, 21:54:17):
+
+... ich wusste gar nicht, dass dieses Lied SO viele Strophen hat:
+
+Timmy der Hamster
+
+
+Es war einmal ein Hamster, der hatte der Weiber vier
+Es war einmal ein Hamster, der hatte der Weiber vier
+
+Polygamie, Polygamo, Polygamiamiamo
+Polygamie, Polygamo, Polygamieamo
+
+Da kam ein heisser Sommer und nahm ihm der Weiber zwei
+Bigamie...
+
+Da kam ein strenger Winter und nahm ihm noch ein Weib
+Monogamie...
+
+Da kam ein fremder Hamster und nahm ihm das letzte Weib
+Onanie...
+
+Da kam ein schwuler Hamster und troestete den einen
+Homononie...
+
+Da kam ein schwedischer Hamster, der fotografierte die zwei
+Pornographie...
+
+Da kam ein Pflug gefahren und schnitt ihm ab das Ding
+Philosophie...
+
+Da kam ne Dampfwalze gefahren und fuhr den Hamster platt
+Philatelie...
+
+Da kam ne Studentenbrigade und las den Hamster auf
+Oekonomie...
+
+Da kam ein fleissger Koch und kochte den Hamster gar
+Gastronomie...
+
+
+-----------------------------------------------------------------------------
+
+
+
+'Facts of Life' von Lazyboy (Liara, 21. Dez 2004, 20:24:35):
+This is who we are, this is what we do, this is what it is
+- the bare facts of the life we live
+This is who we are, this is what we do, this is what it is
+These are the facts of the life that we live
+This is who we are
+Bare facts of the life we live
+This is who we are, this is what we do, this is who we are, are, are, are,
+are...
+- so help me god
+
+Did you know, that 1 out of 4 Americans has appeared on tv?
+Did you know, 61% of all hits on the internet are on sex-sites?
+Every day 21 newborn babies will be given to the wrong parents
+The average person swallows 8 spiders in a year
+Cannabis is the most widely abused drug in the world
+The average person laughs 13 times a day
+Elvis was originally blonde
+The average age of first intercourse is 15.3 years old
+The average erect penis is 5.2" long - and 4.2" circumcised
+Eskimoes use refrigerators to keep food from freezing
+41% of all people take people with curly hair less seriously
+20% of all females have had at least 1 homosexuall experience
+Did you know, that there is no such thing as an anti-wrinkle-creme?
+
+This is who we are, this is what we do, this is what it is
+- the bare facts of the life we live
+This is who we are, this is what we do, this is what it is
+These are the facts of the life that we live
+This is who we are
+Bare facts of the life we live
+This is who we are, this is what we do, this is who we are, are, are, are,
+are... 
+22% of the time, a pizza will arrive faster then an ambulance in Great Britian
+96% of all women have at one time in their life faked an orgasm
+3 people die every year, testing if a 9 volt battery works on their tongue
+The 'Guiness Book Of Records' holds the record for being the most stolen book
+in the public libraries
+Butterflies taste with their feet
+5% of the population is gay
+The worlds best known word is 'okay', the second most well-known word is
+'Coca-Cola'
+The giraffe can clean its ears with its tongue
+Charles Chaplin once won 3. price in a 'Charles Chaplin look-a-like contest'
+In 1995 a japanese trawler sank because a Russian cargo plane dropped a living
+cow from 30,000 feet
+Only one book has been printed in more copies than the bible - the
+IKEA-catalogue
+
+This is who we are, this is what we do, this is what it is
+- the bare facts of the life we live
+This is who we are, this is what we do, this is what it is
+These are the facts of the life that we live
+This is who we are
+The facts of the life we live
+This is who we are, this is what we do, this is who we are...
+
+1 cigarette takes away five minutes of a person's life
+In 1950 we were 3 billion people on the earth - today we are 6 billion people
+(time is ticking, ticking, yeah...)
+'Donald Duck' was banned in Finland, because he doesn't wear pants
+74% of all nudist-females are nudists, because their husbands are nudists
+More people die from a champagne cork popping, than from poison spiders
+21% of all traffic accidents happen because the driver falls asleep
+Did you know that originally a Danish guy invented the burglar alarm -
+unfortunately it got stolen
+
+This is who we are, this is what we do, this is what it is
+Yeah, yeah, yeah, yeah...
+This is who we are, this is what we do, this is what it is
+Yeah, yeah...
+This is who we are
+Bare facts of the live we live
+This is who we are, this is what we do
+This is who we are, this is what we do
+
+- so help me God 
+
+-----------------------------------------------------------------------------
+
+
+
+Zwielicht (Gnome, 11. Feb 2005, 13:57:35):
+heute abend, pro7, 20.15h
+
+ein alles ueberragender edward norton stellt mr. gere in den schatten.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat von Albert Camus (Liara, 28. Apr 2005, 00:01:56):
+Ich bin irgendwo im WWW ueber folgendes Zitat gestolpert:
+Die Phantasie troestet die Menschen ueber das hinweg, was sie nicht sein
+koennen, und der Humor ueber das, was sie tatsaechlich sind.
+
+Es wird allerdings zum Teil auch so wiedergegeben:
+Die Einbildung troestet die Menschen ueber das, was sie nicht sein koennen,
+und der Humor ueber das, was sie wirklich sind. 
+bzw.
+Die Phantasie ist dem Menschen als Entschaedigung fuer das mitgegeben, was er
+nicht ist, der Humor fuer das, was er ist.
+
+Kennt das jemand bzw. weiss jemand, aus welchem Text von Camus es stammt? Oder
+ist das nur muendlich ueberliefert? Und wie  ist es korrekt?
+
+-----------------------------------------------------------------------------
+
+
+
+lange graue haare (Wurzel,  7. Mai 2005, 16:23:49):
+ein konzert, wo die mehrheit der zuhoerer graue haare hat? klassik wohl.
+am dienstag war ich auch bei einem solchen klassiker: nach 37 jahren hat
+cream mal wieder ein konzert gegeben (eigentlich waren es vier konzerte,
+aber ich hab nur fuer eines davon karten bekommen).
+um es kurz zu machen: genial. ein konzert, wie es frueher war, musik statt
+buehnenshow. statt laenglicher ansagen und selbstbeweihraeucherung spielt
+man lieber einen song mehr. die royal albert hall hat zwar nicht die beste
+moegliche akustik, aber noch immer saugut. und die oma neben mir ist schier
+ausgerastet auf ihrem platz. lauter gute alte songs, kein krampfhafter
+versuch was neues zu machen, was sowieso niemand hoeren will. zwei stunden
+rock und blues vom feinsten, was es je gab. glueck gehabt, angeblich wurden
+die karten am ende zu preisen ueber 1000 pfund gehandelt.
+im herbst soll eine dvd rauskommen. mal sehen, vielleicht kaufe ich mir
+sogar endlich einen dvdplayer.
+
+-----------------------------------------------------------------------------
+
+
+
+tv-tip (Gabylon,  7. Mai 2005, 17:55:00):
+heute abend, 20:15, K1: "the hot spot"
+
+besonders gefaellt mir an dem film don johnson, wie er von zwei frauen,
+geldgier, moral und gewissen hin- und hergerissen wird.
+definitiv sein bester film.
+
+gab
+
+-----------------------------------------------------------------------------
+
+
+
+Re: tv-tip (Wurzel,  7. Mai 2005, 18:26:05):
+~#! rn=Gabylon rt=1115481300 rg=kultur
+~#! tid=1115481300
+fernsehen ist etwas fuer leute, die nicht lesen koennen. 
+heute abend lese ich weiter ian irvine "a shadow on the glass", das erste aus
+einer serie von insgesamt acht buechern. allerdings nicht sowas wie bei dem
+unsaeglichen robert jordan, hier gibt es alle vier baende einen klaren punkt.
+irvine schreibt, er wollte mal was anderes machen als die europaeisierte
+mittelalter-fantasy, und bis jetzt macht es einen hochinteressanten eindruck.
+fuer ein echtes urteil ist es nach 100 seiten noch zu frueh, aber gefaellt
+mir bis jetzt sehr gut. auch wenn ich die dramatischen abweichungen von dem
+medieval fantasy klischee noch nicht gefunden habe, ist doch die stimmung, 
+die ian irvine vermittelt, etwas anders. es gibt keine echten "helden", nur
+verschiedene leute mit den unterschiedlichsten problemen. irgendwie sehr real.
+zu gegebener zeit vielleicht mehr dazu.
+ach ja, ob und wann das auch mal auf deutsch rauskommt, weiss ich nicht.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: lange graue haare (Zarniya,  9. Mai 2005, 13:38:36):
+~#! rn=Wurzel rt=1115475829 rg=kultur
+~#! tid=1115475829
+Ok.. ich hab nicht Cream gesehen, aber vor 2 Wochen Queen in Dortmund und muss
+sagen, dass das auch ein komisches, also in Richtung seltsames Erlebnis war.
+Paul Rodgers ist sicher kein schlechter Saenger, aber irgendwie merkte man,
+dass eigentlich alle nur einer Stimme hinterher trauerten. Die Show war
+trotzdem wirklich erstaunlich gut, wenn man auch merkt, dass die Helden alter
+Zeiten seit 19 Jahren nicht mehr zusammen auf der Buehne waren. Sicher kann
+man sich darueber streiten, ob die Tour ueberhaupt noetig war... ich habs
+zumindest nicht bereut, mir Queen noch einmal anzusehen.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Theaterkarte fuer morgen uebrig (Mieze, 13. Mai 2005, 14:18:31):
+Hallo Mitmudder,
+
+wer hat Lust und Zeit, morgen mit ins Aaltotheater in Essen zu kommen? Es wird
+der Mitsommernachtstraum von Benjamin Britten gespielt. Eine Karte ist noch
+ueber.
+
+Gruesse
+Mieze 
+
+-----------------------------------------------------------------------------
+
+
+
+Moto-Razr-V3-TV-Handy-Werbung (Liara, 19. Mai 2005, 21:08:32):
+Falls jemand von dem Spot und der Musik genau so fasziniert ist wie ich:
+Der Song ist von Dabrye und heisst 'Hyped-Up Plus Tax'.
+Link zum Reinhoeren: http://www.ghostly.com/1.0/artists/dabrye/index.shtml
+
+Es ist die Werbung, wo alles um eine Frau zusammenklappt und sich in das Handy
+verwandelt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Theaterkarte fuer morgen uebrig (Wurzel, 23. Mai 2005, 09:20:40):
+~#! rn=Mieze rt=1115986711 rg=kultur
+~#! tid=1115986711
+mal abgesehen davon, dass "morgen" mittlerweile schon vorbei ist: war das
+nicht mal von shakespeare? handelt es sich am ende gar um eine musikalisch
+verunzierte version des stuecks *schuettel*?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Theaterkarte fuer morgen uebrig (Mieze, 24. Mai 2005, 16:45:20):
+~#! rn=Wurzel rt=1116832840 rg=kultur
+~#! tid=1115986711
+
+Also als verunziert habe ich das nicht empfunden.
+
+Mieze - hat das Theater richtig genossen :o)
+
+-----------------------------------------------------------------------------
+
+
+
+Gutes Buch (Ark,  7. Okt 2005, 23:56:40):
+Find ich zumindest, las sich flink und sehr angenehm:
+Das Urteil am Kreuzweg, von Iain Pears.
+Viermal die gleiche Begebenheit geschildert, aus verschiedenen Perspektiven,
+aber so, dass es alles andere als langweilig ist, auch wenn man 900 Seiten vor
+sich hat :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Wehe ... (Ark, 14. Nov 2005, 11:09:46):
+... einer schreibt hier was rein zum Inhalt von:
+Feast of Crows, von George Martin. Ich nenne das Hardcover seit heute mein
+Eigentum. Wer gegen die Geheimnisbewahrung verstoesst, wird mit Zwangsquesten
+nicht unter 1000 AP bestraft :-)
+
+Ist uebrigens (noch) keine Empfehlung, bei Amazon haben ja schon einige
+genoergelt. Nun, mal schauen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wehe ... (Muadib, 14. Nov 2005, 11:29:53):
+~#! rn=Ark rt=1131962986 rg=kultur
+~#! tid=1131962986
+ich wuenschte, meine ausgabe wuerde auch mal erscheinen :(
+bloss weil ich das passende cover will
+dummer verlag
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wehe ... (Ark, 14. Nov 2005, 11:39:08):
+~#! rn=Muadib rt=1131964193 rg=kultur
+~#! tid=1131962986
+Nuja, die Cover sind ja zum Teil auch sehr schoen, mir diesmal wurscht, da die
+ersten drei Baende auch immer groesser wurden, hab ich nun ein fettes
+Hardcover :-)
+Inhalt ist wichtiger.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wehe ... (Hobo, 14. Nov 2005, 15:29:32):
+~#! rn=Ark rt=1131964748 rg=kultur
+~#! tid=1131962986
+Ging mir genauso - und nun: *noergel*
+
+   Hobo hat Angst, dass GRRM sein doch schwaches Ende aus Fevre Dream bei
+Song of Ice and Fire wiederholt - auch wenn Fevre Dream ein ansonsten sehr
+schoenes Buch ist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wehe ... (Chagall, 14. Nov 2005, 16:52:50):
+~#! rn=Hobo rt=1131978572 rg=kultur
+~#! tid=1131962986
+Ich warte auch noch auf mein Hardcover. Waeh, will nicht mehr warten. :(
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wehe ... (Vanion, 14. Nov 2005, 20:03:55):
+~#! rn=Ark rt=1131962986 rg=kultur
+~#! tid=1131962986
+Ist es zuviel gespoiler, wenn ich andeute, dass ein Stark darin vorkommen
+wird?
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wehe ... (Gloinson, 14. Nov 2005, 20:13:33):
+~#! rn=Vanion rt=1131995035 rg=kultur
+~#! tid=1131962986
+Argh! Dann petze ich, dass Lannisters mitspielen!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wehe ... (Humni, 14. Nov 2005, 20:16:15):
+~#! rn=Gloinson rt=1131995613 rg=kultur
+~#! tid=1131962986
+Ok.
+
+Da ich noch nichtmal teil 1 durch habe weiss ich nun schon, dass mindestens
+ein Stark und mindestens zwei Lannisters ueberleben.. macht nur weiter so...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wehe ... (Gloinson, 14. Nov 2005, 20:16:55):
+~#! rn=Humni rt=1131995775 rg=kultur
+~#! tid=1131962986
+Warts ab, bis du von den Fusssoldaten erfaehrst.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wehe ... (Vanion, 14. Nov 2005, 20:22:46):
+~#! rn=Humni rt=1131995775 rg=kultur
+~#! tid=1131962986
+Da ich erst in der Haelfte von Band 3 bin, bin ich da nich so sicher Humni,
+bei dem Verbrauch an Hauptcharakteren, den Martin in einzelnen Kapiteln hat
+...
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Wehe ... (Gloinson, 14. Nov 2005, 20:23:20):
+~#! rn=Vanion rt=1131996166 rg=kultur
+~#! tid=1131962986
+Irgendwo spriesst immer noch ein Bruder oder ein Bastard.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Wehe ... (Lug, 14. Nov 2005, 23:53:09):
+~#! rn=Gloinson rt=1131996200 rg=kultur
+~#! tid=1131962986
+Und neuerdings kommen manche ja auch wieder... HAR HAR HAR...
+
+Eben WoT 11 durchgeackert... schon wieder besser
+
+Skal
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Wehe ... (Kellybundy, 15. Nov 2005, 15:30:40):
+~#! rn=Lug rt=1132008789 rg=kultur
+~#! tid=1131962986
+Hihi, Ihr poesen Purchen, ihr! 
+Kelly, wienert ein Zaptool und uebergibt es fies grinsend an Ark.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Wehe ... (Muadib, 15. Nov 2005, 18:37:53):
+~#! rn=Kellybundy rt=1132065040 rg=kultur
+~#! tid=1131962986
+hoert ihr vielleicht bald auf?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Wehe ... (Kellybundy, 15. Nov 2005, 18:39:01):
+~#! rn=Muadib rt=1132076273 rg=kultur
+~#! tid=1131962986
+Ich bin unschuldig. *unschuldig pfeif und Finger hinter dem Ruecken kreuz*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Wehe ... (Lug, 16. Nov 2005, 16:17:40):
+~#! rn=Kellybundy rt=1132076341 rg=kultur
+~#! tid=1131962986
+Womit? Man darf doch wohl noch Song of Fire and Ice und WoT diskutieren?
+
+-----------------------------------------------------------------------------
+
+
+
+Niedergang des Fanatsy in Deutschland (Zarniya, 17. Nov 2005, 08:42:17):
+Tja... bei all der Diskussion hier faellt mir ein, dass ich letzte Woche
+ziemlich boese mit Bastei telefoniert hab.... die haben, nach Piers Anthony
+vor einigen Jahren, nun auch ganz aktuell Robert Rankin keinen Vertrag mehr
+gemacht, weil es sich angeblich schlecht verkauft... 
+
+Meine Meinung ist einfach... wie soll sich Rankin verkaufen, wenn man kein
+anstaendiges Marketing macht? JA, ich bin sauer. Und nein, Boing, ich hab die
+Sachen nicht auf Englisch gelesen bis jetzt, weil zu meinem Haushalt auch
+Personen gehoeren, die nur schlecht Englisch koennen... leider werd ich wohl
+nun mit den fehlenden Baendern auf die Originale umsteigen muessen... 
+
+Shame on Germany.... Fuck Bastei/Luebbe!
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Niedergang des Fanatsy in Deutschland (Anthea, 17. Nov 2005, 10:20:14):
+~#! rn=Zarniya rt=1132213337 rg=kultur
+~#! tid=1132213337
+Jau. Genau darum bin ich vor etlichen Jahren dazu uebergegangen, eh alles auf
+Englisch zu lesen. Die Uebersetzungen dauern zu lange, oft geht einiges dabei
+verloren, und die Auswahl, die uebersetzt wird, ist auch manchmal fragwuerdig.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Niedergang des Fanatsy in Deutschland (Darklor, 17. Nov 2005, 12:58:03):
+~#! rn=Anthea rt=1132219214 rg=kultur
+~#! tid=1132213337
+Mach deinen eigenen Verlag auf...
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Niedergang des Fanatsy in Deutschland (Muadib, 17. Nov 2005, 14:36:30):
+~#! rn=Zarniya rt=1132213337 rg=kultur
+~#! tid=1132213337
+zeit fuer eine verlagsgruendung?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Niedergang des Fanatsy in Deutschland (Boing, 18. Nov 2005, 09:20:22):
+~#! rn=Muadib rt=1132234590 rg=kultur
+~#! tid=1132213337
+Bei den Rankin Uebersetzungen ist es aber auch nicht schade drum ...
+Es wundert mich nicht, dass die sich nicht verkaufen liessen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Niedergang des Fanatsy in Deutschland (Kellybundy, 21. Nov 2005, 21:50:05):
+~#! rn=Boing rt=1132302022 rg=kultur
+~#! tid=1132213337
+Der Niedergang der Fantasy wundert mich nicht in Deutschland. Wir haben nicht
+nur einen grauenhaften Musikgeschmack, auch der der Belletristik (zu der
+leider, typisch deutsch, auch sehr pauschalisierend Fantasy, SciFi, Horror
+gemantscht wird), laesst extrem zu wuenschen uebrig. Stattdessen verkauft sich
+z.B. Hohlbein wie warme Semmeln. und der dritte aufguss des dritten aufgusses
+vom buch zur Filmvorlage. Das ist leider, wenn man sich in anderen Laendern in
+der entsprechenden Szene mal umschaut, typisch deutsch... 
+Blondchen, seufzend und auch nur noch englisch ordernd
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Niedergang des Fanatsy in Deutschland (Bambi, 21. Nov 2005, 22:04:00):
+~#! rn=Kellybundy rt=1132606205 rg=kultur
+~#! tid=1132213337
+Wenn Du von "Wir" und "Musikgeschmack" redest, dann wirf bitte nich mich mit
+12jaehrigen Teenies in einen Topf.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Niedergang des Fanatsy in Deutschland (Kellybundy, 30. Nov 2005, 20:40:18):
+~#! rn=Bambi rt=1132607040 rg=kultur
+~#! tid=1132213337
+Wenns nur die 12-jaehrigen Teenies waeren. Schlechte Musik wird hierzulande
+schon biss laenger produziert, auch schon, als die heute 12jaehrigen noch
+nicht mal in Planung waren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Wehe ... (Zephyr,  5. Dez 2005, 21:31:56):
+~#! rn=Lug rt=1132154260 rg=kultur
+~#! tid=1131962986
+Falls sich noch wer von SoI&F anstecken lassen will:
+ebay Nr. 6992275491 verkauft die ersten drei Baende.
+Gruss, C4
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Wehe ... (Vanion,  5. Dez 2005, 21:52:11):
+~#! rn=Zephyr rt=1133814716 rg=kultur
+~#! tid=1131962986
+Ich hab Bd. 3 gerade abgeschlossen. Gemein.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Japanische Musikvideos... (Mupfel, 12. Jan 2006, 22:05:42):
+...fand ich auf www.youtube.com.
+
+Hier hamwer als erstes mal "Penicilin":
+http://www.youtube.com/?v=pIvgbuO4xvA  ("New Future")
+http://www.youtube.com/?v=y1kv6DXeAdQ  ("Romance")
+
+Und hier "Phantasmagoria":
+http://www.youtube.com/?v=fms80qmsbYk  ("Never Rebellion")
+http://www.youtube.com/?v=kLvdzmi9kVE  ("mikansei to guilt pv")
+
+Ein Tipp: erstmal auf "Pause" klicken, bis das Video geladen ist (hellgrauer
+Balken ganz rechts), dann auf "Play" klicken.
+
+Klingt doch irgendwie fremd :)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Japanische Musikvideos... (Jimdigriz, 12. Jan 2006, 22:49:02):
+~#! rn=Mupfel rt=1137099942 rg=kultur
+~#! tid=1137099942
+
+Finde nicht, dass das sehr fremd klingt
+(abgesehen davon dass man die Sprache nicht versteht).
+
+Fuer mich ist Penicilin ganz klar vorne,
+Phantasmagoria klingt doch eher unoriginell.
+
+Aber insgesamt definitiv cooler sound!
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+TV-warnung (Gnome, 22. Jan 2006, 15:53:02):
+diesmal moechte ich euch den heutigen abend retten. falls ihr heute abend
+mit dem gedanken gespielt habt, um 20.15 auf RTL den film "nur noch 60
+sekunden" zu schauen... vergesst es. schwachsinn hoch 3. nicolas cage
+schlechtester film. brauchte wohl gerade geld oder so.
+
+dann doch lieber zur gleichen zeit auf pro7 den film mit kate hudson.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: TV-warnung (Vector, 22. Jan 2006, 15:55:36):
+~#! rn=Gnome rt=1137941582 rg=kultur
+~#! tid=1137941582
+angelina jolie mal in blond und n paar jahre juenger. was will man mehr?
+wer bitte ist nicolas cage?:)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: TV-warnung (Mieze, 22. Jan 2006, 15:56:22):
+~#! rn=Vector rt=1137941736 rg=kultur
+~#! tid=1137941582
+
+Manchmal bin ich echt froh, dass ich keinen Fernseher habe ;o)
+
+Mieze 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: TV-warnung (Mieze, 22. Jan 2006, 15:59:02):
+~#! rn=Anatol rt=1137941910 rg=kultur
+~#! tid=1137941582
+
+Wenn ich wuesste wie sie aussieht ... Ich kann mir Gesichter eh nicht merken.
+
+Mieze
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: TV-warnung (Grimmborn, 22. Jan 2006, 16:09:00):
+~#! rn=Mieze rt=1137941942 rg=kultur
+~#! tid=1137941582
+Traditionell ist es bei Frau Jolie eher weniger das Gesicht, das man(n) sich
+merkt... 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: TV-warnung (Lug, 22. Jan 2006, 16:10:32):
+~#! rn=Grimmborn rt=1137942540 rg=kultur
+~#! tid=1137941582
+TIITTEN!
+
+Ist doch Kultur...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: TV-warnung (Muadib, 22. Jan 2006, 19:26:56):
+~#! rn=Lug rt=1137942632 rg=kultur
+~#! tid=1137941582
+deswegen wurde in der vorschau zu tomb raider auch so oft der name wiederholt
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: TV-warnung (Seleven, 23. Jan 2006, 10:54:59):
+~#! rn=Vector rt=1137941736 rg=kultur
+~#! tid=1137941582
+Nicolas Cage ist der von George Dabbljuh angeheuerte Schauspieler, der sich
+einen Bart hat wachsen lassen und immer wider Drohungen gegen die westliche
+Welt ausstoest. Seine ueberzeugendste Rolle bislang.
+Seleven mehr schmarrend als ernst.
+
+-----------------------------------------------------------------------------
+
+
+
+dvd's (Moppi, 17. Feb 2006, 17:48:31):
+Weil ich mal wieder vom Arbeitsamt gesponsort werde, komme ich zur Zeit
+dazu mir mal wieder DVD's auszuleihen. Hinzukommt das in miener Stadt gerade
+heftige Konkurrenz unter den Verleihern ausgebrochen ist, so das mich eine DVD
+nur 50 oder 80 Cent pro Tag kostet. Hier ein paar Tips fuer Leute die ratlos
+vor den Regalen stehen.
+
+der verbotene Schluessel: 
+interessanter Okkult-Thriller mit der bezaubernden Kate Hudson. In jedem Falle
+Spannend mit unverhofftem Ende(kein happy end!) das einem Schauer uber den
+Ruecken jagt. 8 von 10 Punkte
+
+Sieben:
+Thriller bei dem eine Serienmoerder seine Opfer nach den 7 Todsuenden
+fachgerecht bearbeitet. Duestere Bilder, uberraschende Wendungen. Film hat nur
+ein Manko: Brad Pit nimmt man die Rolle des Juniorkommissars von hinten bis
+vorne nicht ab. Er taugt allerhoechstens fuer Ken in einer Barbie-Filmreihe.
+(Aua nicht hauen) 8 von 10
+
+Requiem for a dream:
+Film mit interessanten Stil-Elementen des Regisseurs Darren Aronofsky ("Pi").
+Allerdings ein Film den man sich nur bei starkem Gemuet antuen sollte. Die
+Protagonisten des Films gleiten unaufoerlich in den Drogensumpf hinab obwohl
+sie nur im Sinn hatten sich einen Traum zu erfuellen. Manchmal mochte ich bei
+der Grausamkeit der Bilder gar nicht mehr hinschauen. Aber es ist echte
+Filmkunst. 9 von 10
+
+Wallace und Grommit: Auf der Jagd nach dem Riesenkaninchen:
+Hier braucht man gar nichts mehr sagen, die knetigen Figuren sind einfach
+Kult. Liebevolle Details die erst nach merhmaligem Anschauen entdeckt werden,
+gelungene Gags werden mich wohl dazu bringen mir die Scheibe gleich
+einzukaufen. 10 von 10
+
+Jungfrau(40) maennlich, sucht:
+Komoedie um einen 40 jaehrigen Mann der noch keinen Sex hatte. Die Kollegen
+des Mannes kriegen es raus und setzen alles daran es zu aendern. Zweifelos hat
+der Film seine Lacher und auch die Message des Films (Lass dich von niemandem
+von deinem weg abbringen)  kommt ordentlich rueber. Allerdings hat der Film
+ueberlaenge (2h) und die Dirty Talks der Kollegen sind mitunter nicht mehr
+witzig sondern unertraeglich.
+6 von 10 Punkten.
+
+Ok viel Spass dann!
+Mopperl
+
+P.S. Nein, ich werde nicht auf Megaschmarrn schreiben. ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: dvd's (Gnome, 17. Feb 2006, 22:21:37):
+~#! rn=Moppi rt=1140194911 rg=kultur
+~#! tid=1140194911
+der verbotene schluessel:
+warum nur 8 von 10, wenn er anscheinend kein manko hat? es ist ein
+wirklich toller film, atmosphaere ist zum greifen nah. das einzige
+problem: man erahnt am ende "der verbotene schluessel 2".
+deshalb 'nur' 9 von 10.
+
+sieben (warum rezensierst du 10 jahre alte filme?):
+perfekter film mit perfektem showdown. und brad pitt ist in dieser
+rolle voll und ganz ueberzeugend, besonders gegen ende. mit fight
+club und 12monkeys seine beste rolle. volle 10/10.
+
+die anderen kenne ich nicht.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: dvd's (Moppi, 17. Feb 2006, 23:18:12):
+~#! rn=Gnome rt=1140211297 rg=kultur
+~#! tid=1140194911
+muss ne enue Edition gewesen sein von dem Film, jedenfalls lag der ein den
+"Neuheiten"-Regalen. 
+Was Pit betrifft: der hat mich noch nie ueberzeugt genauso wie Leo ;-)
+Hauptsache Jake  Gyllenhaal kriegt den naechsten Oscar. Der ist wenigstens
+keine Pfeife.
+
+Mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: dvd's (Gnome, 18. Feb 2006, 00:13:23):
+~#! rn=Moppi rt=1140214692 rg=kultur
+~#! tid=1140194911
+du solltest von den entsprechenden schauspielern einfach mal die
+richtigen filme dir angucken. wenn man von leo nur titanic kennt,
+steckt man ihn natuerlich in eine der unteren schubladen.
+aber er kanns wirklich besser, VIEL besser.
+
+apropos schaupieler, hier meine Top10 mit den entsprechenden filmen
+dahinter in klammern, die man einfach gesehen haben muss, will man
+diese schauspieler in ihren herausragendsten rollen bestaunen.
+die reihenfolge soll keine wertung darstellen.
+
+ 1. Leonardo di Caprio (Gilbert Grape, Jim Carroll)
+ 2. Anthony Hopkins (Schweigen der Laemmer, Amistad, Meet Joe Black)
+ 3. Steve Buscemi (Fargo, The Big Lebowski)
+ 4. Harvey Keitel (Smoke, Pulp Fiction)
+ 5. Joaquin Phoenix (U-Turn, Walk the Line)
+ 6. Robert de Niro (Raging Bull, Cape Fear, Awakenings)
+ 7. Brad Pitt (Seven, 12Monkeys, Fight Club)
+ 8. Tim Robbins (The Player, Arlington Road)
+ 9. Sean Penn (Colors, U-Turn, The Game)
+10. Woody Harrelson (White Men Can't Jump, Larry Flint)
+
+ja, es gibt natuerlich noch mindestens 20 andere sehr gute schaupieler,
+aber das waere so meine auswahl der creme de la creme.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: dvd's (Gloinson, 18. Feb 2006, 00:14:11):
+~#! rn=Gnome rt=1140218003 rg=kultur
+~#! tid=1140194911
+Was, und bei Sean Penn vergisst du "Dead Man Walking"?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: dvd's (Gnome, 18. Feb 2006, 00:19:43):
+~#! rn=Gloinson rt=1140218051 rg=kultur
+~#! tid=1140194911
+ja, und bei woody hab ich Natural Born Killers vergessen. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: dvd's (Swotl, 18. Feb 2006, 00:26:15):
+~#! rn=Gnome rt=1140218383 rg=kultur
+~#! tid=1140194911
+
+/Ketzermode on
+
+Ich kann mich ruehmen, bisher mit voller Absicht keinen Film von Leonardo di
+Caprio gesehen zu haben. Der sah auf den Titanic-Plakaten so furchtbar aus,
+dass ich beschlossen habe, alle Filme mit ihm zu boykottieren. Und bisher hab
+ich mich dran gehalten.
+
+Ja. Ich bin da vermutlich ueberkonsequent, aber niemand hat ihn gezwungen,
+sich in einer derartigen Pose auf ein Plakat malen zu lassen.
+
+/Ketzermode off
+
+Und Steve Buscemi ist ohnehin einer der unterschaetztesten Schauspieler
+uebehaupt, sonst muesste er so ziemlich alle Nebendarsteller-Preise abraeumen,
+die es so gibt..
+
+Humni
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: dvd's (Gloinson, 18. Feb 2006, 00:27:05):
+~#! rn=Gnome rt=1140218383 rg=kultur
+~#! tid=1140194911
+Robert de Niro scheinst du nicht zu moegen (Wag the Dog, The Fan, Cop Land,
+Once upon a time in America). Jack Nicholson fehlt ja auch (As good as it gets
+(der Film, den ich am ehesten mag). Und deutsche Schauspieler gefallen dir
+gleich gar nicht (Goetz George (Der Totmacher), Joachim Krol (Wir koennen auch
+anders, Zugvoegel - ... einmal nach Inari).
+Deshalb waer ich nicht in der Lage eine Topliste aufzustellen ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Swotl, 18. Feb 2006, 00:30:30):
+~#! rn=Swotl rt=1140218775 rg=kultur
+~#! tid=1140194911
+Wobei mir gerade noch einfaellt, dass ich a) The big Lebowski fuer ein
+Meisterwerk halte, allerdings gerade in dem Film ich b) an Buscemis Leistung
+nichts auszusetzen habe, aber das jetzt nicht gerade fuer seine beste Rolle
+halte (er spielt toll, keine Frage, aber seine Staerken kann er da nicht
+ausspielen). Da wuerde ich eher Desperados nehmen.
+
+Humni
+PS: Oder wars Desperado? Naja, Teil 2 von der Mariachi-Saga halt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Gloinson, 18. Feb 2006, 00:34:00):
+~#! rn=Swotl rt=1140218775 rg=kultur
+~#! tid=1140194911
+Wir haben dir ja schon mal vergeblich versucht die "Romeo und
+Julia"-Interpretation schmackhaft zu machen. Prinzipiell finde ich sein
+Milchbubigesicht in den nichtjugendlichen Rollen eher unpassend.
+Geschmackssachen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: dvd's (Vanhelsing, 18. Feb 2006, 00:34:50):
+~#! rn=Gloinson rt=1140219240 rg=kultur
+~#! tid=1140194911
+Ich konnte Leonardi Di Caprio durch Titanic auch nicht gemocht, aber in "Catch
+Me If You Can" hat er mir wirklich sehr gut gefallen. Ich denke, er kann was,
+hatte aber den schlechtesten Start (Titanic), den man haben kann. Und JA ich
+weiss, dass er schon vorher Filme gedreht hat, aber ich bin erst durch Titanic
+auf den Namen gestossen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: dvd's (Swotl, 18. Feb 2006, 00:35:58):
+~#! rn=Vanhelsing rt=1140219290 rg=kultur
+~#! tid=1140194911
+Echt? Hilfe. Hoffentlich hab ich die nicht gesehen und werde mir jetzt selbst
+untreu..
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Gnome, 18. Feb 2006, 00:36:06):
+~#! rn=Gloinson rt=1140218825 rg=kultur
+~#! tid=1140194911
+de Niro, Nicholson und Edward Norton (Zwielicht, Fight Club) belegten
+bei mir die Plaetze 11, 12 und 13. dass ich sie nicht in den Top10
+drinhabe heisst nicht, dass ich sie nicht gut finde. aber eine liste
+ist halt irgendwann zu ende :)
+
+und deutsche schauspieler... hmmtja. goetz ist sicherlich nicht uebel,
+krol ganz passabel (fuer mich ist er immer noch der schwule aus "der
+bewegte mann" ;)). das problem ist nur: wann hat es mal einen film
+gegeben, in welchem ein deutscher schauspieler so gut gespielt hat,
+dass er _nicht_ die person gespielt hat, sondern die person WAR.
+mir faellt auf anhieb keiner ein...
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: dvd's (Gloinson, 18. Feb 2006, 00:37:10):
+~#! rn=Gnome rt=1140219366 rg=kultur
+~#! tid=1140194911
+Dann geniess mal den Totmacher, wenn er mal wieder in den Dritten kommt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: dvd's (Gnome, 18. Feb 2006, 00:40:32):
+~#! rn=Swotl rt=1140219358 rg=kultur
+~#! tid=1140194911
+wie gesagt: gilbert grape, jim carroll.
+leih sie dir aus und sitze mit staunendem gesicht vor dem TV. :)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: dvd's (Knurps, 18. Feb 2006, 04:39:13):
+~#! rn=Swotl rt=1140219030 rg=kultur
+~#! tid=1140194911
+The Big Lebowski ist ueberwertet, bloeder "piss mir nicht auf meinen
+Teppich"-Humor.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: dvd's (Gnome, 18. Feb 2006, 10:52:41):
+~#! rn=Knurps rt=1140233953 rg=kultur
+~#! tid=1140194911
+sicher, die story ist banal. aber um die geht es auch gar nicht so sehr.
+
+im vordergrund stehen eher die coolness eines jeff bridges, die loyalitaet
+zum dude und zum bowling eines durchgeknallten john goodman ("this ist not
+vietnam! this is bowling, there are rules!") und vergeblichen schlichtungs-
+bemuehungen eines wie immer grandios spielenden steve buscemi.
+
+wer den film also auf "ichpinkelaufdeinenteppich-humor" reduziert, hat
+die coens nicht verstanden oder mag die schauspieler schlichtweg nicht.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: dvd's (Vanhelsing, 18. Feb 2006, 10:55:17):
+~#! rn=Gnome rt=1140256361 rg=kultur
+~#! tid=1140194911
+Ich habe mir auch mehrmals versucht den Film anzusehen. Ich habe es aber nie
+geschafft, den ganzen zu sehen. Ich habe einfach keinen Zugang dazu bekommen.
+Das kann es auch geben. Er mag zwar gut sein, aber ich mag ihn nicht.
+Das wollte ich nur mal dazu sagen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: dvd's (Grimmborn, 18. Feb 2006, 11:00:55):
+~#! rn=Vanhelsing rt=1140256517 rg=kultur
+~#! tid=1140194911
+Nur damit ich das richtig verstehe: Ein Schauspieler ist nur dann gut, wenn er
+jemand anderen darstellt als er selber ist? Darf also keine Rolle annehmen,
+die an ihn als Person erinnert? Oder gilt das nur fuer deutsche Schauspieler?
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Vanion, 18. Feb 2006, 11:18:34):
+~#! rn=Swotl rt=1140218775 rg=kultur
+~#! tid=1140194911
+Schade eigentlich. Di Caprio hat einige wirklich schoene Filme gemacht. Er
+leidet moeglicherweise unter seinem Babyface. Aber auch das scheint sich in
+gewissem Rahmen ja auszuzahlen.
+
+Mein persoenlicher Favorit ist The Beach. Danach kommen die Gangs of New York.
+
+Beides Filme, bei denen ich mich wegen di Caprio entschlossen habe, nicht ins
+Kino zu gehen. Bei beiden hab ich mich spaeter (als ich sie in der Glotze
+gesehn hab) drueber geaergert.
+
+Und zu dem Filmplakat: Ich wuerd fast wetten, dass Herr DiCaprio (so, nu hab
+ich nachgesehen, wie der sich schreibt) selbst davon ueberrascht war. Ich
+glaube Plakatmaler haben einen ganz eigenen Sinn fuer Humor, gegen den
+Schauspieler nix machen koennen ...
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: dvd's (Gnome, 18. Feb 2006, 11:18:56):
+~#! rn=Grimmborn rt=1140256855 rg=kultur
+~#! tid=1140194911
+nein nicht ganz.
+schauspieler sind gut oder auch sehr gut, wenn sie ihre rolle spielen,
+die man ihnen abnimmt. dann sortiert man sie fuer sich in eine schublade
+und je nach sympathiegrad freut man sich, sie in ihrer naechsten rolle
+wiederzusehen. tom cruise waere so einer. man mag von ihm halten, was man
+will. aber er ist ein guter schauspieler, oft genug bewiesen hat er es.
+
+dann gibt es aber noch schauspieler, die ihre rolle nicht nur spielen,
+sondern sie mit leib und seele verkoerpern, in der rolle des anderen
+menschen aufgehen. gute beispiele sind leo in "gilbert grape" (ich
+dachte den ganzen film lang: 'was fuer arschloecher, engagieren einen
+behinderten!') oder ein cholerischer Joaquin Phoenix in "u-turn" oder
+auch dustin hoffmann in "rain man".
+
+es gibt halt viele sehr gute schauspieler, aber es gibt nur wenige
+wirklich geniale. das ist uebrigens unabhaengig von der nationalitaet.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: dvd's (Vanion, 18. Feb 2006, 11:36:05):
+~#! rn=Gnome rt=1140219366 rg=kultur
+~#! tid=1140194911
+> das problem ist nur: wann hat es mal einen film
+> gegeben, in welchem ein deutscher schauspieler so gut gespielt hat,
+> dass er _nicht_ die person gespielt hat, sondern die person WAR.
+
+Bruno Ganz. Kein Deutscher, aber deutscher Schauspieler in dem Sinne, dass er
+in Deutschland und in deutscher Sprache arbeitet.
+
+Achja, das muss man nicht am Untergang festmachen. Die paar Szenen die ich vom
+Expo-Faust gesehen habe reichen da auch. Er war Faust.
+
+Prochnow - im Boot, aber auch in Dune.
+
+Um auch juengere zu nennen: Daniel Bruehl (Die Fetten Jahre sind vorbei, Das
+weisse Rauschen), Max Riemelt (Napola), August Diehl (23, Tattoo), Matthias
+Schweighoefer (Baal, Schiller).
+
+Die tummeln sich nur meistens an Theatern rum, weil der deutsche Film oft
+Muell ist und sie das direkte Feedback des Publikums moegen.
+
+Herausragende Deutsche Schauspieler gibt es genug. Gute Produzenten und
+Drehbuchautoren scheinen eher Mangelware.
+
+Weder Schauspieler noch Filme sind in irgendeiner Reihenfolge, die meine
+Vorlieben darstellt. Ich halte sie alle fuer herausragend.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: dvd's (Muadib, 18. Feb 2006, 12:19:20):
+~#! rn=Vanion rt=1140258965 rg=kultur
+~#! tid=1140194911
+gerd froebe?
+klaus maria brandauer
+?
+prochnow?
+die dietrich?
+fischer?
+george?
+reinhardt?
+schell?
+leander?
+
+und da fehlen noch massig
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: dvd's (Gloinson, 18. Feb 2006, 12:39:47):
+~#! rn=Muadib rt=1140261560 rg=kultur
+~#! tid=1140194911
+Stimmt, Froebe, Prochnow und Bruehl unterschreib ich. Diehl finde ich zu
+komisch, zu arrogant im Film und aus zweiter Hand auch ausserhalb des Films.
+23 habe ich nicht wirklich genossen, zu ueberagiert, selbst fuer einen
+paranoiden Kokser.
+
+Wobei ich Froebe schon allein deshlab auf der Liste habe, weil ich ihn als
+Geiermeier gut fand :)
+
+Sach ja, Liste aufstellen wird schwierig. Nach Genren vielleicht.
+
+Sidekicks - ich find Oliver Korritke (zB Bang Boom Bang) ja Bruce Dern (zB
+Silent Running) ja unglaublich aehnlich.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: dvd's (Moppi, 18. Feb 2006, 18:39:27):
+~#! rn=Gloinson rt=1140262787 rg=kultur
+~#! tid=1140194911
+August Diehl ist super. Obwohl er so einen quark wie Tatoo mitgemacht hat.
+Er spielt nicht umsonst am Wiener Burgtheater.
+
+Moppi ist amuesiert wieder mal in Opposition zu Gloinson zu sein ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: dvd's (Bran, 18. Feb 2006, 21:32:23):
+~#! rn=Moppi rt=1140284367 rg=kultur
+~#! tid=1140194911
+Mir fehlt noch Gruendgens in der Sammlung.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: dvd's (Gloinson, 19. Feb 2006, 02:10:20):
+~#! rn=Moppi rt=1140284367 rg=kultur
+~#! tid=1140194911
+Ja, am Wiener Burgtheater spielten auch juengst mal die Toten Hosen. Ich werd
+sie trotzdem nicht kulturell heldenverehren. Viel Spass mit der Opposition.
+
+
+-----------------------------------------------------------------------------
+
+
+
+und weiter gehts (Moppi, 19. Feb 2006, 22:10:53):
+neuer DVD Tip
+
+Dear Frankie bzw. lieber Frankie
+
+Es geht um eine alleinerziehende Mutter die ein gehoerloses Kind hat. Der
+Vater ist angeblich auf See und der Sohn (Frankie) schreibt ihm regelmaessig
+Briefe. Die liest aber nicht etwa der Vater, sondern die Mutter und
+beantwortet sie auch wieder. Bis eines Tages die Nachricht kommt, das das
+Schiff vom Vater im Hafen liegt. Die Mutter engagiert nun einen Mann der die
+Rolle des Vaters uebernehmen soll. Aber es kommt natuerlich wieder alles
+anders ...
+
+Schoene eindrucksvolle Bilder sowie glaubwuerdige, brilliante Schauspieler
+machen das Film zu einem Meisterwerk. Am Ende Taschentuecher bereithalten.
+10 von 10 Punkten
+
+Mopperl
+
+P.S. Um nicht immer nur rumzunoelen habe ich mir auch mal wieder Leo
+angeschaut. Catch me if you can. Der Bursche ist besser als sonst, aber
+keinesfalls ueberragend.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: und weiter gehts (Bran, 19. Feb 2006, 22:14:55):
+~#! rn=Moppi rt=1140383453 rg=kultur
+~#! tid=1140383453
+
+Schau einfach mal Gilbert Grape. Wurde ja nun schon mehrfach empfohlen, ich
+schliesse mich bedingungslos an.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: und weiter gehts (Maharet, 19. Feb 2006, 22:19:32):
+~#! rn=Bran rt=1140383695 rg=kultur
+~#! tid=1140383453
+Das aendert aber nichts daran, dass er ein Jungengesicht hat und von der
+Presse und den Teenage-Girls als gutaussehend eingeordnet wird.  Und mir
+scheint, fuer manche ist das ausreichend, um ihn als schlechten Schauspieler
+einzuordnen.  Wer so aussieht, kann kein guter Schauspieler sein, der kann nur
+wegen seines Aussehens so erfolgreich sein.  Oder so aehnlich ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: und weiter gehts (Bran, 19. Feb 2006, 22:21:28):
+~#! rn=Maharet rt=1140383972 rg=kultur
+~#! tid=1140383453
+ant
+Das habe ich nach einem kurzen tm-Wechsel gerade eben wieder einsehen muessen
+:) Aendert nichts dran, dass DiCaprio was kann. Und zwar ne Menge, ich halte
+ihn fuer begnadet. Manchmal schade um seine Drehbuchauswahl, auf der er
+sicherlich mittlerweile auch durchaus Einfluss hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: und weiter gehts (Moppi, 19. Feb 2006, 22:21:46):
+~#! rn=Maharet rt=1140383972 rg=kultur
+~#! tid=1140383453
+och Mahaschatzi, Jake Gyllenhaal sieht auch gut aus, aber hat was auf dem
+Kasten. So eoinfach ist das.
+Und ja mein vorgestellter Film um den gings mir eher, aber das ist nun mal
+nicht aus Hollywood, sorry.
+                                                   r
+Mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: und weiter gehts (Bran, 19. Feb 2006, 22:22:36):
+~#! rn=Bran rt=1140384088 rg=kultur
+~#! tid=1140383453
+'auf der' -> 'auf die'
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: und weiter gehts (Bran, 19. Feb 2006, 22:23:18):
+~#! rn=Moppi rt=1140384106 rg=kultur
+~#! tid=1140383453
+Und das sagst du, nachdem du eben zugestanden hast, Gilbert Grape nie gesehen
+zu haben? Nu denn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: und weiter gehts (Humni, 19. Feb 2006, 22:40:51):
+~#! rn=Bran rt=1140384198 rg=kultur
+~#! tid=1140383453
+Ich vermute des Weiteren, dass Leonardo Di Caprio ein Kuenstlername ist. Ist
+aber nur eine Vermutung, verifizieren werde ich das nicht.
+
+Kuenstlernamen sagen etwas aus. Bud Spencer ist ein Haudrauf, um nur ein
+Beispiel zu nennen. Finde, der Name passt zu einem Haudrauf.
+
+Ich finde, der Name "Leonardo DiCaprio" sagt in etwa das aus, was ich auf
+Titanic-Plakaten gesehen habe.
+
+Das reicht mir, ihn in eine Ecke zu stellen, die er vielleicht nicht verdient
+hat. Ich meine dennoch, dass er sich selbst reingestellt hat. Musste er ja
+nicht tun.
+
+Humni
+PS: Antwort in megaschmarrn-Trad. auf den letzten Artikel.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: und weiter gehts (Bran, 19. Feb 2006, 22:41:35):
+~#! rn=Bran rt=1140384198 rg=kultur
+~#! tid=1140383453
+Was ist ueberhaupt mit den Englaendern? Auf den ersten Gedanken fallen mir da
+ein: Olivier, Day-Lewis, Fiennes, Branagh, Simon Russell Beale, Gielgud... hm,
+werden doch gerade zu viele :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: und weiter gehts (Bran, 19. Feb 2006, 22:43:03):
+~#! rn=Humni rt=1140385251 rg=kultur
+~#! tid=1140383453
+
+Es geht doch gerade drum, ob Dicaprio was kann. Nicht wie er sich vermarktet.
+Also schaut Gilbert Grape und urteilt dann :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: und weiter gehts (Humni, 19. Feb 2006, 22:43:35):
+~#! rn=Bran rt=1140385383 rg=kultur
+~#! tid=1140383453
+Nein. Aus genannten Gruenden. Verdammt. Ich will doch mal konsequent bleiben.
+
+Bei englischen Schauspielern denke ich an Cleese, Idle, Gilliam, Jones,
+Chapman... ;-)
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: und weiter gehts (Bran, 19. Feb 2006, 22:44:09):
+~#! rn=Humni rt=1140385415 rg=kultur
+~#! tid=1140383453
+antworte
+Ach ja, die vergass ich gerade, die ganz grossen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: und weiter gehts (Montanus, 19. Feb 2006, 22:46:13):
+~#! rn=Humni rt=1140385415 rg=kultur
+~#! tid=1140383453
+Du bist nicht konsequent und wirst es auch nie werden. Macht doch nix.
+Und wieso imemr das Gerede von Schauspielern? Ich fidne Schauspielerinnen VIEL
+interessanter. ;-)
+Sean Penn finde ich uebrigens absolut ueberbewertet. Da habe ich lieber einen
+Schauspieler wie Keanu Reeves, der zwar nur 2 Gesichtsausdruecke hat, das aber
+ueberzeugend rueberbringt, als einen alten verfetteten Pruegelprinzen, der nix
+mehr aussser Dackelblick kann.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: und weiter gehts (Bran, 19. Feb 2006, 22:47:17):
+~#! rn=Montanus rt=1140385573 rg=kultur
+~#! tid=1140383453
+ant
+Da faellt mir gerade passenderweise noch Maggie Smith ein.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: und weiter gehts (Grimmborn, 19. Feb 2006, 22:47:35):
+~#! rn=Montanus rt=1140385573 rg=kultur
+~#! tid=1140383453
+Du irrst. Keanu Reeves hat nur einen Gesichtsausdruck.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: und weiter gehts (Humni, 19. Feb 2006, 22:48:03):
+~#! rn=Grimmborn rt=1140385655 rg=kultur
+~#! tid=1140383453
+Mir faellt bei Monthy Python gerade ein, dass ich da der Definition "Super
+Schauspieler, wenn er die Rolle IST und nicht nur SPIELT" nicht so zutrifft.
+Ich finde, das sind tolle Schauspieler, dennoch habe ich irgendwie nie das
+Gefuehl gehabt, dass da der reale Artus rumlaeuft... ok, es laeuft der Artus
+rum, der rumlaufen soll... von daher passts doch wieder...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: und weiter gehts (Montanus, 19. Feb 2006, 22:52:27):
+~#! rn=Humni rt=1140385683 rg=kultur
+~#! tid=1140383453
+Auch wenn ich einen OBdUuBdW ungern wiederlegen will, aber in "The
+Replacements" ist Reeves sogar kurz vor einem dritten Gesichtsausdruck.
+Und zum Thema sueese Schauspielerinnen:
+Shannon Sossamyn, Keira Knightley, Susan Sarandon, Heidi Bruehl, Margarete
+Haagen, Molly Ringwald, und natuerlich Maxine Bahns.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: und weiter gehts (Moppi, 19. Feb 2006, 22:52:49):
+~#! rn=Humni rt=1140385683 rg=kultur
+~#! tid=1140383453
+ich weiss noch einen Englaender und auch einen lustigen : Petter Sellers 
+
+Mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: und weiter gehts (Montanus, 19. Feb 2006, 22:53:47):
+~#! rn=Moppi rt=1140385969 rg=kultur
+~#! tid=1140383453
+Schaender.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: und weiter gehts (Bran, 19. Feb 2006, 23:08:36):
+~#! rn=Montanus rt=1140385573 rg=kultur
+~#! tid=1140383453
+Diana Rigg nicht zu vergessen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: und weiter gehts (Ronda, 19. Feb 2006, 23:11:14):
+~#! rn=Bran rt=1140386916 rg=kultur
+~#! tid=1140383453
+DANKE. Diana Rigg rettet fuer mich den Thread!
+
+Ronda *schmunzelnd "The Avengers" schauend - ja, die ganze Box mit allen
+Folgen, in denen Diana Rigg mitgespielt hat...*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: und weiter gehts (Bran, 19. Feb 2006, 23:11:26):
+~#! rn=Montanus rt=1140385573 rg=kultur
+~#! tid=1140383453
+Oder Judy Dench.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: und weiter gehts (Ronda, 19. Feb 2006, 23:12:34):
+~#! rn=Bran rt=1140387086 rg=kultur
+~#! tid=1140383453
+Aehm. Ich such grad nach "Gilbert Grape" auf DVD - sagt mit bitte nicht, dass
+die billigste DVD, die man davon bekommen kann, 29,99 kostet?!
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: und weiter gehts (Moppi, 19. Feb 2006, 23:13:16):
+~#! rn=Ronda rt=1140387154 rg=kultur
+~#! tid=1140383453
+warum kaufen, ausleihen geht auch
+mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: und weiter gehts (Humni, 19. Feb 2006, 23:14:04):
+~#! rn=Moppi rt=1140387196 rg=kultur
+~#! tid=1140383453
+Wobei ich jetzt einfach mal Mira Furlan und natuerlich Claudia Christian
+einwerfen mus. Geht nicht anders.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: und weiter gehts (Ronda, 19. Feb 2006, 23:14:06):
+~#! rn=Moppi rt=1140387196 rg=kultur
+~#! tid=1140383453
+Ich bin so doof, ich kaufe DVD immer noch. Genauso wie ich CD kaufe. Wobei ich
+mich manchmal doch frage, wie doof das ist...
+
+Ronda
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: und weiter gehts (Humni, 19. Feb 2006, 23:14:56):
+~#! rn=Ronda rt=1140387246 rg=kultur
+~#! tid=1140383453
+Du kannst in Videotheken DVDs auch ganz legal ausleihen.
+
+Humni
+PS: Die heissen heute oft Mediatheken, da es ja kaum noch echte Videos gibt.
+Prinzip aber gleich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: und weiter gehts (Bran, 19. Feb 2006, 23:14:57):
+~#! rn=Humni rt=1140387244 rg=kultur
+~#! tid=1140383453
+ant
+Judi, nicht Judy. Falls jemand tatsaechlich danach suchen sollte.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: und weiter gehts (Muadib, 20. Feb 2006, 11:23:42):
+~#! rn=Bran rt=1140384198 rg=kultur
+~#! tid=1140383453
+ich hab gilbert grape  gesehen und fand ihn nicht sooo prickelnd
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: und weiter gehts (Bran, 20. Feb 2006, 11:25:10):
+~#! rn=Muadib rt=1140431022 rg=kultur
+~#! tid=1140383453
+Es ging nicht um den Film als solchen, sondern um die schauspielerische
+Leistung von Leonardo Dings.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: und weiter gehts (Muadib, 20. Feb 2006, 11:26:32):
+~#! rn=Bran rt=1140431110 rg=kultur
+~#! tid=1140383453
+nunja
+die fand ich auch nicht so toll
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: und weiter gehts (Highlander, 20. Feb 2006, 12:19:01):
+~#! rn=Muadib rt=1140431192 rg=kultur
+~#! tid=1140383453
+@Humni - 'Ivanova ist God.'? :)
+
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: dvd's (Anthea, 20. Feb 2006, 12:20:31):
+~#! rn=Moppi rt=1140194911 rg=kultur
+~#! tid=1140194911
+Hm... irgendwie huepfen hier ganz viele wildgewordene ' durch die Gegend, und
+das an Stellen, an denen sie nichts zu suchen haben. Und das auch noch in
+Kultur. Sachen gibts. Nur um mein Liebligsrechtschreibgelaester mal wieder
+loszuwerden.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: dvd's (Rumata, 20. Feb 2006, 12:21:51):
+~#! rn=Anthea rt=1140434431 rg=kultur
+~#! tid=1140194911
+Du darfst das Apostroph ruhig beim Namen nennen :-)
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: dvd's (Anthea, 20. Feb 2006, 12:22:49):
+~#! rn=Rumata rt=1140434511 rg=kultur
+~#! tid=1140194911
+Naja, aber ob auch jeder weiss, was ein Apostroph ist, da es ja seltenst
+richtig verwendet wird?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: dvd's (Bran, 20. Feb 2006, 12:26:35):
+~#! rn=Anthea rt=1140434569 rg=kultur
+~#! tid=1140194911
+antworte
+Eigentlich muesste es ja heissen '... viele wildgewordene 's...', bzw., fuer
+die '-Uebertreiber: '...''s...' - oder heisst es ''e'? Ach, macht doch, was
+ihr wollt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: dvd's (Zook, 20. Feb 2006, 14:48:04):
+~#! rn=Bran rt=1140434795 rg=kultur
+~#! tid=1140194911
+bietet doch nun wieder den einstieg fuer die konsequenz-kleinschreiber
+in eine ... worum ging es da noch? leerzeichen an der verkehrten stelle?
+diskussion einzusteigen.
+
+deutsch-bevormunder vor!
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: dvd's (Bran, 20. Feb 2006, 14:49:40):
+~#! rn=Zook rt=1140443284 rg=kultur
+~#! tid=1140194911
+
+genau !
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Humni, 20. Feb 2006, 16:01:58):
+~#! rn=Bran rt=1140443380 rg=kultur
+~#! tid=1140194911
+@HrT: Natuerlich meine ich "Ivanova is God" - woher kennt man Claudia
+Christian auch sonst ;-)
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: und weiter gehts (Gnome, 20. Feb 2006, 16:41:30):
+~#! rn=Montanus rt=1140385573 rg=kultur
+~#! tid=1140383453
+dackelblick hin oder her. sean penn in "u-turn" ist super, man leidet mit
+ihm foermlich mit (kennt "u-turn" eigentlich jemand? ein wirklich guter
+film, gehoert zu meinen top20. man kann dort einige schauspieler in
+hoechstform sehen. billi-bob thornton, jennifer lopez (ja, jlo), nick
+nolte (mal anders) und der schon erwaehnte joaquin phoenix, der einen
+herrlichen cholerischen eifersuechtigen spielt... nein, fast IST. ich
+weiss nicht, warum ich diesen film so mag... vielleicht wg. der schau-
+spielerauswahl, vielleicht wg. der wirklich genialen kamerafuehrung...
+wer weiss...).
+
+und sean penn in "the game" oder "colors"... super. einfach klasse!
+
+gnOme
+
+p.s. "gilbert grape" muss sich keiner kaufen. naechstes WE gibts den
+     im TV.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: dvd's (Muadib, 20. Feb 2006, 17:21:48):
+~#! rn=Zook rt=1140443284 rg=kultur
+~#! tid=1140194911
+zook, du schreibst klein
+kleinschreiber
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: dvd's (Zarniya, 23. Feb 2006, 05:28:26):
+~#! rn=Muadib rt=1140452508 rg=kultur
+~#! tid=1140194911
+hmmm ich hab mich durch den Thread gekaempft und bin ueber mich selbst
+erschrocken, denn bei mir wuerden bei den Schauspielern ziemlich weit oben die
+Namen Harrison Ford, Sean Connery und Mel Gibson stehen.... hab ich nun keine
+Ahnung von Kultur oder setzt ihr Kultur alle mit interlektuellen
+Geschwafelfilm gleich? Wobei... auch Robin Williams hab ich hier noch nicht
+gelesen... das sind fuer mich alles Namen, da kann man nen DiCaprio oder nen
+Joaquin "Cash war ein Saeufer, wieso nicht auch ich" Phoenix in die Tonne
+treten....
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: dvd's (Humni, 23. Feb 2006, 09:28:29):
+~#! rn=Zarniya rt=1140668906 rg=kultur
+~#! tid=1140194911
+Danke. Die Namen stehen auch bei mir weit oben. Puh, ich dachte schon, ich sei
+der einzige ;-)
+
+Humni, hat sich gestern noch "Payback" gekauft ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: dvd's (Moppi, 23. Feb 2006, 10:34:23):
+~#! rn=Humni rt=1140683309 rg=kultur
+~#! tid=1140194911
+Kauf gleich "Fletchers Visionen" hinterher. Selbst Julia Roberts ist da mal
+halbwegs zu ertragen. (Au nicht schon wieder hauen.)
+
+Mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: dvd's (Grimmborn, 23. Feb 2006, 11:40:19):
+~#! rn=Moppi rt=1140687263 rg=kultur
+~#! tid=1140194911
+Bei Schauspielerinnen darf natuerlich auch Monica Bellucci nicht fehlen.
+Soweit es um Schauspielkunst geht hat die Frau einfach grossartige Titten.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: dvd's (Knurps, 23. Feb 2006, 15:36:54):
+~#! rn=Grimmborn rt=1140691219 rg=kultur
+~#! tid=1140194911
+Gibt's eigentlich auch gute Filme mit ihr? Ich hab Irreversible und Matrix III
+gesehen, wo sie mitspielt. Irreversible ist ein grossartiger Auftakt fuer jede
+Diaet, da vergeht einem ziemlich sicher jeglicher Appetit. Und Matrix III,
+ohne Worte...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: dvd's (Grimmborn, 23. Feb 2006, 16:41:16):
+~#! rn=Knurps rt=1140705414 rg=kultur
+~#! tid=1140194911
+Klar, jeden Film wo sie mitspielt. Darfst Dir halt nicht die Szenen ohne sie
+anschauen, dann biste selber schuld...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+TV-Tips (Gnome, 26. Feb 2006, 16:57:14):
+heute abend wird es schwer. aber das sind wir von den sendern ja nicht
+anders gewohnt: wochenlang nur schrott im TV und dann gleich zwei oder
+gar drei gute filme auf einmal.
+
+der reihe nach:
+
+- fuer alle leo-kritiker ;) sei heute abend K1 empfohlen:
+  in "gilbert grape - irgendwo in iowa" spielt er die bisher beste
+  rolle seines schauspielerlebens.
+
+- wer den film kennt bzw. sowieso schon weiss, dass leo ein grossartiger
+  schauspieler sein _kann_, und heute abend vielleicht mehr auf fernost
+  von vor 2000 jahren steht, sei "hero" auf pro7 ans herz gelegt.
+  ueberwaeltigende bilder und eine packende story mit jet li in der
+  hauptrolle sind seine argumente
+
+- "8 mile" - mit eminem himself in der hauptrolle - handelt von einem
+  weissen rapper, der es in der schwarzen rapperszene chicagos sehr
+  schwer hat, zu zeigen, dass auch weisse rappen koennen. keine geniale
+  schauspielerische leistung aber insgesamt recht authentisch gemacht;
+  wer "boyz n the hood" mochte, wird auch hier auf seine kosten kommen.
+  sender ist rtl.
+
+alle filme starten um 20:15.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: TV-Tips (Darklor, 26. Feb 2006, 16:59:56):
+~#! rn=Gnome rt=1140969434 rg=kultur
+~#! tid=1140969434
+Unter "must see" stell ich mir was anderes vor...
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: TV-Tips (Gnome, 26. Feb 2006, 17:16:29):
+~#! rn=Darklor rt=1140969596 rg=kultur
+~#! tid=1140969434
+es sind tips. nicht mehr und nicht weniger.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: TV-Tips (Merkosh, 26. Feb 2006, 17:32:20):
+~#! rn=Gnome rt=1140970589 rg=kultur
+~#! tid=1140969434
+Hero wuerde ich aber wirklich ebenso einschaetzen, die Bilder sind einfach
+grandios. Mit der Story hat man als Westler evtl. Probleme - ist halt nicht
+08/15-Hollywood.
+
+Humni
+(Mit Zweitie postend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: TV-Tips (Gloinson, 26. Feb 2006, 18:46:51):
+~#! rn=Merkosh rt=1140971540 rg=kultur
+~#! tid=1140969434
+Ui, Ebene TV in Kultur verlegt. Dann also: "City of God" auf arte, 22:25
+http://www.imdb.com/title/tt0317248/
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat ... (Vanion, 26. Feb 2006, 19:41:22):
+Hi, beim Surfen in der Wikipedia habe ich ein Zitat zum Chasm City
+(http://tinyurl.com/rty6y) gefunden:
+
+"Chasm City is a thick book which was designed to be thick. It is a book which
+is full of onions. In the end, it's a joy."
+
+Mein erster Gedanke war, das Zitat zu uebersetzen und hinter das Originalzitat
+zu schreiben. Mein zweiter war: Verdammt.
+
+Ich kann dieses Zitat nicht angemessen uebersetzen, ich verstehe es so
+halbwegs, stolpere aber darueber, dass er ziemlich gut interpretierbar ist.
+
+Hat jemand mit besseren Englisch-Kenntnissen vielleicht einen Vorschlag?
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitat ... (Zook, 26. Feb 2006, 22:40:59):
+~#! rn=Vanion rt=1140979282 rg=kultur
+~#! tid=1140979282
+Habe die Rubrik erweitert. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zitat ... (Zarniya, 27. Feb 2006, 10:13:18):
+~#! rn=Vanion rt=1140979282 rg=kultur
+~#! tid=1140979282
+Das erinnert mich an den Film Shrek: Oger sind wie zwiebeln :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: TV-Tips (Moppi, 27. Feb 2006, 19:31:12):
+~#! rn=Gloinson rt=1140976011 rg=kultur
+~#! tid=1140969434
+City of God wollte ich erst neulich empfehlen.
+Zwar finde ich den Film etwas ueberbewertet, aber man kann ihn sich anschauen.
+Es geht um (Kinder-)Bandenkriege in den Slums von Rio. Faszinierend die Bilder
+aber auch die schonungslose Darstellung der Gewalt. Ich war selber ueberrascht
+das der Film gerade deswegen Faszination ausueben koennte.
+
+Mopperl
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: TV-Tips (Gloinson, 27. Feb 2006, 20:20:27):
+~#! rn=Moppi rt=1141065072 rg=kultur
+~#! tid=1140969434
+Die Darstellung hat deshalb ihren Reiz, weil es von Anfang an so lakonisch
+erzaehlt wird. Schonungslos wuerde ich nicht behaupten, jeder
+Metzelschnitzfilm zeigt beim Sterben mehr Details. Aber hier gehoert es gleich
+ganz natuerlich zur Geschichte, dass gewaltsam gestorben wird.
+
+
+-----------------------------------------------------------------------------
+
+
+
+semesterakte 06/07 (Gnome,  2. Mar 2006, 00:35:18):
+hi,
+
+unsere spowis haben sich fuer einen guten zweck ausgezogen. die ergebnisse
+kann man in der "semesterakte 06/07" bewundern.
+
+weitere infos und bestellungen unter www.taseo.de
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: semesterakte 06/07 (Boing,  2. Mar 2006, 09:35:11):
+~#! rn=Gnome rt=1141256118 rg=kultur
+~#! tid=1141256118
+Was sind spowis?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: semesterakte 06/07 (Vector,  2. Mar 2006, 09:36:21):
+~#! rn=Boing rt=1141288511 rg=kultur
+~#! tid=1141256118
+SPOrtWIssenschaftler? 
+falls das stimmt: was sind sportwissenschaftler?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: semesterakte 06/07 (Boing,  2. Mar 2006, 09:37:11):
+~#! rn=Vector rt=1141288581 rg=kultur
+~#! tid=1141256118
+Vielleicht Leute die beim Stammtisch die Aufstellung der Nationalmannschaft
+besprechen?
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: semesterakte 06/07 (Zook,  2. Mar 2006, 12:56:00):
+~#! rn=Boing rt=1141288631 rg=kultur
+~#! tid=1141256118
+und welches ist nun das bild, auf dem gnome abgebildet ist? ;)
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: semesterakte 06/07 (Gnome,  2. Mar 2006, 14:48:40):
+~#! rn=Vector rt=1141288581 rg=kultur
+~#! tid=1141256118
+puh, die frage kommt so ueberraschend, dass ich zunaechst mal gar nicht
+weiss, was ich darauf antworten sollte. ich versuchs trotzdem...
+
+die lange version: sportwissenschaftler sind diejenigen, die viel
+kenntnis von sporttheorie (biomechanik, motorik, trainingswissenschaft,
+medizin, sportpsychologie, ...) haben (sollten), ausreichend kenntnisse
+ueber die wichtigsten sportarten (fussball, handball, basketball,
+schwimmen, leichtathletik, turnen) besitzen (sollten), um dann in
+ihrem spaeteren beruf (trainer, dozent, vereinschef, personal trainer, ...)
+idealerweise theorie und praxis vereinen, um so in ihrem handlungsumfeld
+sportliche leistungssteigerung zu ermoeglichen.
+
+die kurze: die, die aus jeder sportart etwas, aber dafuer keine richtig
+koennen ;)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: semesterakte 06/07 (Ark,  2. Mar 2006, 14:49:50):
+~#! rn=Gnome rt=1141307320 rg=kultur
+~#! tid=1141256118
+Also Multi-Klassen-Charaktere :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: semesterakte 06/07 (Zook,  2. Mar 2006, 14:51:01):
+~#! rn=Gnome rt=1141307320 rg=kultur
+~#! tid=1141256118
+ha! sporttheore. also. wie war das mit dem wurfstern und dem braten?
+zook
+..
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: semesterakte 06/07 (Gnome,  2. Mar 2006, 14:52:12):
+~#! rn=Ark rt=1141307390 rg=kultur
+~#! tid=1141256118
+ja.
+ich bezeichne das sportstudium als echtes und einziges studium generale.
+kann ich nur jedem als erststudium empfehlen. zumindest jedem, dessen
+gesundheitszustand es zulaesst.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: semesterakte 06/07 (Zook,  2. Mar 2006, 14:53:25):
+~#! rn=Gnome rt=1141307532 rg=kultur
+~#! tid=1141256118
+wieso soll sportwissenschaft ein "studium generale" sein? 
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: semesterakte 06/07 (Gnome,  2. Mar 2006, 14:54:29):
+~#! rn=Zook rt=1141307605 rg=kultur
+~#! tid=1141256118
+wenn du unsere pflichtfaecher sehen wuerdest... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: semesterakte 06/07 (Zook,  2. Mar 2006, 14:55:51):
+~#! rn=Gnome rt=1141307669 rg=kultur
+~#! tid=1141256118
+ja, zeig mal. 
+
+zook.
+
+ps: wissenschaftstheorie war wohl nicht dabei, sonst haettest du dich 
+ja gleich an den grundsatz "wer behauptet, muss begruenden" gehalten. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: semesterakte 06/07 (Montanus,  2. Mar 2006, 14:59:07):
+~#! rn=Zook rt=1141307751 rg=kultur
+~#! tid=1141256118
+Ich hatte Sport ja nur als Nebenfach, aber das reichte schon aus, um einen
+guten Einblick zu bekommen. Die THese mit dm Studium generale trifft
+einigermassen. Sportwissenschaft ist ein Satellit vieler
+Substanzwissenschaften.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: semesterakte 06/07 (Gnome,  2. Mar 2006, 15:09:17):
+~#! rn=Zook rt=1141307751 rg=kultur
+~#! tid=1141256118
+theorie: biomechanik, sportmotorik, trainingswissenschaft, sportmedizin,
+         erste hilfe, sportgeschichte, paedagogik, psychologie, soziologie,
+         leistungssport, sport bei reha, methodik, anatomie, statistik,
+         didaktik, sportmanagement
+
+praxis: fussball, handball, basketball, volleyball, schwimmen, LA, turnen,
+        gymnastik & tanz,
+        hinzu kommen als WPK (auswahl): badminton, krafttraining, baseball,
+        aikido, eiskunstlauf, tischtennis, tauchen, frisbee, skisport,
+        beachvolleyball, ...
+
+die theorie ist mit jedem fach sowohl im grund-, als auch im hauptstudium
+mit teils unterschiedlicher gewichtung (je nach studienschwerpunkt)
+vertreten.
+von den pflichtsportarten gibt es je grundkurse und schwerpunktfaecher.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: semesterakte 06/07 (Humni,  2. Mar 2006, 15:10:27):
+~#! rn=Gnome rt=1141308557 rg=kultur
+~#! tid=1141256118
+Cool, LA ist Praxis. ;-) endlich sagt mal jemand die Wahrheit!
+
+Humni mag Vektorraeume und lineare Abbildungen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: semesterakte 06/07 (Montanus,  2. Mar 2006, 15:11:15):
+~#! rn=Humni rt=1141308627 rg=kultur
+~#! tid=1141256118
+Humni, du verwechselst das mit Geographie.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: semesterakte 06/07 (Croft,  2. Mar 2006, 15:14:41):
+~#! rn=Humni rt=1141308627 rg=kultur
+~#! tid=1141256118
+Hoer mir mit LA auf.  Bin froh dass ich das los bin.  Gerade so durch
+die muendliche Pruefung gekommen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: semesterakte 06/07 (Boing,  2. Mar 2006, 15:15:26):
+~#! rn=Croft rt=1141308881 rg=kultur
+~#! tid=1141256118
+Die muendliche Pruefung konnte ich vermeiden, hab LA im zweiten Anlauf
+schriftlich geschafft.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^13: semesterakte 06/07 (Montanus,  2. Mar 2006, 15:18:20):
+~#! rn=Boing rt=1141308926 rg=kultur
+~#! tid=1141256118
+Also ich finde LA ja viel interessanter als zB SF, und man istauch schneller
+in SD von dort aus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^14: semesterakte 06/07 (Muadib,  2. Mar 2006, 19:24:33):
+~#! rn=Montanus rt=1141309100 rg=kultur
+~#! tid=1141256118
+und was ist an der liste ein studium generale?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^15: semesterakte 06/07 (Zook,  3. Mar 2006, 14:51:30):
+~#! rn=Muadib rt=1141323873 rg=kultur
+~#! tid=1141256118
+hab ich mich auch gefragt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^16: semesterakte 06/07 (Gnome,  3. Mar 2006, 15:34:32):
+~#! rn=Zook rt=1141393890 rg=kultur
+~#! tid=1141256118
+naja, das kommt ganz darauf an, was man unter dem studium generale
+versteht. ich verstehe darunter ein moeglichst breitgefaechertes
+studienabgebot, welches das sekundaere ziel der allgemeinbildung
+hat. wie sonst koennte man das fach soziologie im studiengang sport
+erklaeren?
+
+wenn man unter studium generale nur die klassische definition versteht,
+also das erlernen von allgemeinbildung ohne erwerb eines akademischen
+grades, dann ist es das nicht so ganz.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^17: semesterakte 06/07 (Zook,  3. Mar 2006, 15:35:44):
+~#! rn=Gnome rt=1141396472 rg=kultur
+~#! tid=1141256118
+und warum sind die sportwissenschaften die einzigen, die ein solches
+"breitgefaechertes studienangebot" anbieten?
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^18: semesterakte 06/07 (Gnome,  3. Mar 2006, 15:37:18):
+~#! rn=Zook rt=1141396544 rg=kultur
+~#! tid=1141256118
+nenne mir eins, was breitgefaecherter ist. ausser dem klassischem
+studium generale natuerlich.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^19: semesterakte 06/07 (Zook,  3. Mar 2006, 15:38:16):
+~#! rn=Gnome rt=1141396638 rg=kultur
+~#! tid=1141256118
+halt. du hast behauptet, es sei das einzige, also musst du begruenden, dass
+das so ist. a la "ich behaupte was und zeig du mir das gegenteil" ist nicht
+so richtig redlich.
+
+was anderes: ist ein solches studium denn ueberhaupt wuenschenswert?
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: semesterakte 06/07 (Grimmborn,  3. Mar 2006, 15:49:37):
+~#! rn=Zook rt=1141396696 rg=kultur
+~#! tid=1141256118
+Mal abgesehen davon dass ich, wenn Du "Allgemeinbildung" anfuehrst, auf einer
+Definition derselben bestehe, ist z.B. ein Chemiestudium ziemlich allgemein
+und breit angelegt: Es gibt sowohl qualitative anorganische Analyse,
+quantitative anorganische Analyse, Roentgenkristallanalyse, Organische Chemie,
+Elektrochemie, Quantenchemie, Thermodynamik, Reaktionskinetik, Physik,
+Mathematik, als auch diverse Spezialisierungsfaecher. Irgendwie ist Chemie ein
+echtes studium generale. Und wuenschenswert, lieber Zook, weil die
+Chemieindustrie allgemein erheblich zu unserem BIP beitraegt. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^20: semesterakte 06/07 (Gnome,  3. Mar 2006, 15:50:01):
+~#! rn=Zook rt=1141396696 rg=kultur
+~#! tid=1141256118
+nun, sagen wir mal so: ich kenne keins, was breitgefaecherter ist. um das
+zu beweisen, muesste ich jeden studiengang in deutschland auf seine
+quantitaet hin ueberpruefen. ich glaube, das spare ich mir und lasse
+diese behauptung als gueltig stehen, solange niemand das gegenteil
+beweist. :)
+
+und ja: es ist wuenschenswert. zumindest als erststudium. man bekommt
+wirklich ganz gute einblicke in viele bereiche. als zweitstudium dann
+halt das, was man eigentlich dann studieren wollte. da sind wir dann
+aber wieder beim grundeinkommen angekommen. aber das ist wieder ein
+gaaaanz anderes thema. ;)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: semesterakte 06/07 (Whitetiger,  3. Mar 2006, 15:56:49):
+~#! rn=Gnome rt=1141397401 rg=kultur
+~#! tid=1141256118
+Wenn man weiss, was man eigentlich studieren will, warum dann erst so viele
+Jahre mit Sportwissenschaft ausfuellen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: semesterakte 06/07 (Zook,  3. Mar 2006, 15:59:59):
+~#! rn=Gnome rt=1141397401 rg=kultur
+~#! tid=1141256118
+wir halten etwas anderes fest: du behauptest die einzigartigkeit
+einer sache und der einzige beleg ist "ich kenne keins, was 
+breitgefaecherter ist". was das ueber die methodik deiner argumentation
+aussagt, mag sich jeder selbst denken. ich halte die aussage aufgrund
+des vorgetragenen fuer nicht "gueltig".
+
+ist es wuenschenswert?
+
+universitaet als hort der allgemeinbildung? ich glaube, ich habe bei
+von humboldt nicht so richtig aufgepasst.
+
+es hat schon einen sinn, warum die vermittlung von allgemeinwissen
+im traditionellen studium generale ohne erwerb eines akademischen
+grades einhergeht: man dilettiert, und das auf ziemlich vielen 
+gebieten. 
+
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: semesterakte 06/07 (Gnome,  3. Mar 2006, 16:00:15):
+~#! rn=Whitetiger rt=1141397809 rg=kultur
+~#! tid=1141256118
+hast du den thread eigentlich verfolgt?
+oder bist du erst beim letzten artikel in zeile 10 eingestiegen?
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Whitetiger,  3. Mar 2006, 16:04:41):
+~#! rn=Gnome rt=1141398015 rg=kultur
+~#! tid=1141256118
+Ersteres.
+Dafuer habe ich im Augenblick gerade noch genug Zeit.
+
+Zu Chemie sei noch angemerkt, dass zumindest die Vorlesung zu Allgemeiner &
+Anorganischer Chemie, die ich besuchen durfte, reichlich Voodoo enthielt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^24: semesterakte 06/07 (Grimmborn,  3. Mar 2006, 16:10:05):
+~#! rn=Whitetiger rt=1141398281 rg=kultur
+~#! tid=1141256118
+Mein lieber junger Freund, "Voodoo" heisst in der Chemie gemeinhin "Alchemie".
+Und das, was an ebensolcher in Anfaenger- und Fremdfaechlervorlesungen
+vorkommt, wird i.a. dann im weiteren Gang dieses ueberaus breitgefaecherten
+Studiums aufgeklaert und entmystifiziert. Was der Allgemeinbildung des
+Generalsstudenten ungemein foerderlich ist.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: semesterakte 06/07 (Ark,  3. Mar 2006, 16:19:54):
+~#! rn=Gnome rt=1141397401 rg=kultur
+~#! tid=1141256118
+Das klingt so, als waere ein breitgefaechertes Studium so toll. Ich behaupte
+mal (und warte auch auf Gegenbeweis :-)), dass mein Studium
+(Wirtschaftsingenieur Elektrotechnik) auch so eines ist.
+Betriebswirtschaftslehre (von Marketing, Buchhaltung, Logistik, etc. bis hin
+zu Produktionsmanagement und dem geschaetzten Human Resources Management),
+Volkswirtschaftslehre (Mikro-/Makrooekonomie, Wirtschaftspolitik und
+Aussenhandelslehre), Recht
+(Steuer-/Wirtschafts-/Privat-/Handels-/Aussenhandelsrecht, etc.) und den
+ganzen Elektrotechnischen Vertiefungsrichtungen, die ich nicht auch noch
+aufzaehlen mag, gibt sich alles ein buntes Stelldichein.
+Und was hat's gebracht? 20% Wissen hat so etwa ueberlebt, nicht, weil ich ein
+Turnbeutelverlierer bin (glaub ich), sondern weil man auch hier mal mehr,
+meist aber weniger im Beruf braucht.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: semesterakte 06/07 (Ark,  3. Mar 2006, 16:21:20):
+~#! rn=Ark rt=1141399194 rg=kultur
+~#! tid=1141256118
+Achso, ich vergass ... einen Ueberblick hab ich wirklich erhalten :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Zook,  3. Mar 2006, 16:26:06):
+~#! rn=Ark rt=1141399280 rg=kultur
+~#! tid=1141256118
+ich glaube, mit dem hinweis "da sind wir dann aber wieder beim 
+grundeinkommen angekommen" deutet sich schon an, dass es gnome
+nicht um berufsspezifisches wissen geht. zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Cassandra,  3. Mar 2006, 16:29:04):
+~#! rn=Ark rt=1141399280 rg=kultur
+~#! tid=1141256118
+Reply auf den letzten Artikel
+
+Ich hab zwar von Spowi keine Ahnung und das waer mir auch zu anstrengend.
+Aber ich bezweifel das es das eizige studium generale ist.
+
+Mir hat die kombination in der Powi auch gereicht,
+Powi (mitsammt seiner vertiefungen in deutscher politik, internationaler
+politik, theorien etc), sozi, geschichte, Philosophie, Jura, VWL.
+
+Statistik natuerlich auch, aber ansonsten fehlen ugegebenermaen die
+Naturwissenschaften.
+
+und wemms nicht reicht macht halt nen magister und kombiniert noch mit nem
+anderen netten Fach.
+
+Was den sinn eines Generalstudiums angeht, das ist zwar erstmal nett und gut
+fuer die allgemeinbildung, mag auch die moeglichkeiten bei der Jobsuche
+erweitern, doch geht es meistens zu lasten der Tiefe und ich gebe Ark rech das
+meiste braucht man spaeter nicht mehr und vergisst es auch wieder.
+
+Cassy, 
+
+P.S. grossbuchstaben duerfen behalten werden
+.#
+
+-----------------------------------------------------------------------------
+
+
+
+Re^24: semesterakte 06/07 (Maharet,  3. Mar 2006, 16:48:15):
+~#! rn=Cassandra rt=1141399744 rg=kultur
+~#! tid=1141256118
+Ich weiss jetzt allerdings immer noch nicht, was Sportwissenschaft ist.  Eine
+Zusammenfassung der Basics von vielen anderen Wissenschaften? Oder gibt es
+noch eine Sportwissenschaft an sich? Ich meine, sowas wie
+"Sportwissenschaft-Vorlesungen"?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^25: semesterakte 06/07 (Zook,  3. Mar 2006, 16:49:31):
+~#! rn=Maharet rt=1141400895 rg=kultur
+~#! tid=1141256118
+Sag bloss, nach Montanus "Satelitt vieler Substanzwissenschaften" sind
+Dir noch Fragen offen geblieben. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^26: semesterakte 06/07 (Maharet,  3. Mar 2006, 16:50:17):
+~#! rn=Zook rt=1141400971 rg=kultur
+~#! tid=1141256118
+Das hatte ich auch nicht verstanden, aber ich verstehe Mpntanus so oft nicht,
+dass ich da nicht mehr nachfrage.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^21: semesterakte 06/07 (Muadib,  3. Mar 2006, 18:53:06):
+~#! rn=Gnome rt=1141397401 rg=kultur
+~#! tid=1141256118
+naja
+ein erststudium sollte als ziel doch einen qualifizierten abschluss haben
+die eignung als orientierungsplatz fuer ein zweitstudium ist doch wirklich
+eher minder wichtig
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: semesterakte 06/07 (Gnome,  3. Mar 2006, 20:58:30):
+~#! rn=Zook rt=1141397999 rg=kultur
+~#! tid=1141256118
+so. man "dilettiert" also so vor sich hin. diese aeusserst kuehne
+behauptung haette ich dann doch mal gerne bewiesen gehabt.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Gloinson,  3. Mar 2006, 21:05:28):
+~#! rn=Gnome rt=1141415910 rg=kultur
+~#! tid=1141256118
+Ergibt sich zwangslaeufig aus deiner These, dass SpoWi keine Vertiefung hat
+und bei allem nur mal ein Semester an der Oberflaeche kratzt.
+
+Ist SpoWi nun die Kombination aus den genannten Fachrichtungen, vertieft also
+mittels der Kombination zu mehreren sinnvollen (konkret anwendbaren
+wissenschaftliche oder wirtschaftlichen) Profilen oder ist SpoWi wirklich nur
+"studium generale", also eine Art Hobbystudium in Sachen Allgemeinbildung.
+(Letzteres betreibe ich auch allzu gern, erwaehne aber hoechstens einige
+zweckdienliche Teile in meinen Bewerbungen.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: semesterakte 06/07 (Knurps,  3. Mar 2006, 21:38:32):
+~#! rn=Zook rt=1141397999 rg=kultur
+~#! tid=1141256118
+Zook, deine Methodik, die These in Frage zu stellen, wirkt auch ein wenig
+unbeholfen. Ich empfehle Schopenshauer eristische Dialektik, das ist wirklich
+erhellend und hilft einem auch im Alltag. Ist auch unter dem Titel "Die Kunst,
+Recht zu behalten" erschienen, gibt's regelmaessig fuer 1-2 EUR bei Ebay...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Kessa,  3. Mar 2006, 21:49:36):
+~#! rn=Knurps rt=1141418312 rg=kultur
+~#! tid=1141256118
+(Auch einfach auf den letzten Artikel geantwortet)
+
+Gnome - mal abgesehen davon, inwieweit das Sportstudium solche Anforderungen
+erfuellt: nach meinem Verstaendnis sollte ein studium generale in kurzer Zeit
+Ueberblick und Orientierung verschaffen. Danach entscheidet man, was man denn
+studieren will, und das sollte dann schon spezialisiert sein. Ein Studium, das
+den Charakter eines studium generale beibehaelt, ist m.E. doch eher eine
+fragwuerdige Angelegenheit...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Zook,  3. Mar 2006, 22:08:16):
+~#! rn=Gnome rt=1141415910 rg=kultur
+~#! tid=1141256118
+findest du das kuehn? 
+
+siehe beispielsweise: Schreiter, Carsten (1994), Evolution und
+Wettbewerb von Organisationsstrukturen, Vandenhoeck & Ruprecht,
+Goettingen, Kapitel IV.
+
+Da geht es um Arbeitsteilung, Wissensteilung und Koordination der
+Wissensnutzung. Man kann auch dann die dort angegebene Literatur
+einsehen. Besonders hervorzuheben ist
+
+von Hayek, Friedrich August von, Der Wettbewerb als Entdeckungs-
+verfahren, in den Freiburger Studien, Tuebingen, 1969.
+
+oder auch
+
+von Hayek, Friedrich August, Wirtschaftstheorie und Wissen, in 
+Individualismus und wirtschaftliche Ordnung, Zuerich, 1952.
+
+
+Ganz allgemein schlaegt eben auch beim Wissen und der Wissensnutzung
+die von Adam Smith gemacht Entdeckung von Arbeitsteilung und
+Spezialisierung zu. Vgl. dazu beispielsweise
+
+Smith, Adam, An Inquiry into the Nature and Causes of the 
+Wealth of Nations, London, Chapter I bis III, 1790. 
+
+
+Im uebrigen sind "Beweise" bei den Sozialwissenschaften so eine Sache,
+zumindest, wenn es sich um Aussagen um die echte Welt dreht. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^24: semesterakte 06/07 (Ark,  3. Mar 2006, 22:26:43):
+~#! rn=Zook rt=1141420096 rg=kultur
+~#! tid=1141256118
+Ihr seid mir alle zu unheimlich. Wer hat uebrigens schon Syriana gesehen? Ich
+will da Dienstag rein.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Zook,  7. Mar 2006, 12:39:39):
+~#! rn=Knurps rt=1141418312 rg=kultur
+~#! tid=1141256118
+Ich empfehle im Gegenzug den sehr lesenswerten Beitrag von 
+
+I.J. Good (1962), A Classification of Fallacious Arguments and 
+Interpretations, Technometrics, Vol. 4, No. 1, February, pp. 125-132.
+
+(zuerst abgedruckt in Methods, No. 42, Vol. XI, 1959)
+
+Bezogen auf Gnomes "Behauptung" wuerde ich mal aus der 
+Klassifikation prompt die Nummer 321.33 (Generalizing from too few
+special cases) in die Runde werfen. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^24: semesterakte 06/07 (Knurps,  7. Mar 2006, 13:41:27):
+~#! rn=Zook rt=1141731579 rg=kultur
+~#! tid=1141256118
+Insofern eine Bereicherung, als dass sich der Artikel mit dem Wahrheitsgehalt
+beschaeftigt, der bei der eristischen Dialektik voellig irrelevant ist. Ich
+hab den
+Text als PDF gefunden, hier der Link, fuer die, die es interessiert:
+http://www.amstat.org/misc/FallaciousArguments.pdf
+
+
+Zu 321.33 Generalzing from too few special cases: Wuerde das 'too' nicht
+vorkommen, waere es eine eine Induktion, die ebenso legitim wie gaengig sein
+kann. Das 'too' ist sehr leicht dahergesagt, aber vielleicht sind es ja
+ausreichend viele Spezialfaelle?
+
+Aber induziert Gnome wirklich?
+
+--- Gehen wir die Sache mal eristisch an. ---
+
+Obersatz: Es gibt kein Studium, das ein breitgefaecherter ist, als die
+Sportwissenschaften.
+
+Untersatz: Das Studium Generale ist ein moeglichst breitgeaechertes
+Studienangebot, welches das sekundaere Ziel der Allgemeinbildung hat.
+
+Schluss: "das sportstudium als echtes und einzges Studium generale."
+
+
+
+Gemaess Schopenhauer, gibt es zwei Modi und zwei Wege, eine These (Schluss) zu
+widerlegen.
+Modi:
+a) ad rem
+        Zur Sache, der objektiven Wahrheit der Dinge
+b) ad hominem
+        Zu subjektiven Wahrheiten oder Einraeumungen des Gegners
+
+Wege:
+a) direkte Widerlegung
+b) indirekte Widerlegung
+
+Direkte Widerlegung geht die Gruende an (XXX ist nicht wahr), die indirekte
+die Folgen (YYY kann nicht wahr sein).
+
+Bei der direkten Wiederlegung greift man meist die Gruende an. (nego majorem,
+nego minorem, ich bestreite den Obersatz, den Untersatz) oder man gibt die
+Gruende zu,
+ bestreitet aber die Schlussfolgerung (nego consequentiam), also die
+Konsequenz, die Form des Schlusses.
+
+Bei der indirekten Widerlegung nimmt man entweder die Apagoge oder die
+Instanz.
+a) Bei der Apagoge nehmen wir den Satz als wahr an, zeigen aber, dass etwas
+als wahr anerkanntes mit dem Satz von Gnome auf etwas schliessen laesst (die
+Saetze sind
+ dann Praemissen), das offenbar falsch ist, weil es gegen die Natur der Dinge
+(ad rem) verstoesst, oder einer Behauptung Gnomes (Ad Hominem) wiederspricht.
+(Erklaer
+ung: Aus wahren Praemissen koennen nur wahre Saetze folgen, aus falschen nicht
+immer wahre)
+
+b) Oder man nimmt die Instanz (exemplum in contrarium, Gegenbeispiel). Das
+direkte Nachweisen, dass es Faelle gibt, die unter der Aussage begriffen sind,
+von denen
+er jedoch nicht gilt. Wenn ein einziger Fall existiert, ist der Satz falsch.
+
+Gnome hat dich aufgefordert, seine These mittels einer Instanz zum Obersatz zu
+widerlegen ("nenne mir eins, was breitgefaecherter ist"). Das ist raffiniert
+und dial
+ektisch legitim, denn Zook blieb schuldig, ein solches Beispiel zu liefern.
+
+Man muss diese Aufforderung jedoch (um Recht vor der Masse zu behalten)
+parieren, indem man einen Ausfall wagt, und es beispielsweise als muessig
+erklaert, ueber irgendwelche Faecherung von Faechern zu reden, wenn Gnomes
+Verstaendnis des Studium Generale falsch ist. Man greift nicht den Teil an,
+den man angreifen soll, sondern den, der am schwaechsten aussieht.
+
+Selbst wenn der Obersatz und Untersatz stimmen, ist es immer noch ein
+leichtes, die Konsequenz anzugreifen. Ein "Du argumentierst falsch", mag zwar
+stimmen, hilft bei der Diskussion nicht weiter und hilft einem nicht, "Punkte"
+gegen den Gegner zu sammeln.
+
+------
+
+Das von Dir genannte Dokument beschaeftigt sich mit Probabilitaeten und Logik,
+was die andere herangehensweise ist. Du kannst aber noch so recht haben, und
+trotzdem sehr leicht eine Diskussion verlieren, auch wenn dein Gegenueber
+keine Ahnung von der Materie hat. Wer die Diskussion gewinnt, entscheidet das
+Publikum und nicht die Wahrheit.
+
+
+Knurps
+
+-----------------------------------------------------------------------------
+
+
+
+Re^25: semesterakte 06/07 (Darklor,  7. Mar 2006, 13:55:09):
+~#! rn=Knurps rt=1141735287 rg=kultur
+~#! tid=1141256118
+Zook hat verloren... ;)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re^25: semesterakte 06/07 (Zook,  7. Mar 2006, 14:26:11):
+~#! rn=Knurps rt=1141735287 rg=kultur
+~#! tid=1141256118
+1. Die Beispiele lieferte doch das Publikum, insofern hat das Publikum
+doch schon entschieden, wie gut es die Behauptung fand.
+
+2. Ich lege es nicht darauf an, irgendetwas "zu gewinnen". Da mag 
+allerdings jeder andere Praeferenzen haben.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^22: semesterakte 06/07 (Seleven, 18. Mar 2006, 19:53:24):
+~#! rn=Ark rt=1141399194 rg=kultur
+~#! tid=1141256118
+Antwort nicht auf Arks Artikel.
+Ich studiere Dolmetschen, es gibt kaum nichtsprachliche Pflichtfaecher
+(Geschichte, Kultur und zwei Ergaenzungsfaecher). Trotzdem muessen wir uns auf
+jeden (noch virtuellen) Einsatz neu vorbereiten und uns in verschiedenste
+Themata einarbeiten - nie so weit in die Materie dass wir in der Lage waeren
+ein Medikament auf den Markt zu werfen, oder den Bundeshalshalt zu sanieren,
+aber doch so viel, dass wir verstehen, was der Redner da unten erzaehlt. Zook
+hat in der Behauptung "man dilettiert, und das auf ziemlich vielen 
+gebieten." schon ziemlich recht. Das bezieht sich auf mein Studium - ob die
+SpoWis oder Chemiker tiefer in die Materie einsteigen muessen, kann nicht
+nicht beurteilen, nehms aber mal an.
+Quantitativ wuerd ich behaupten muss ich in mehr Fachgebiete reinschnuppern.
+Studium generale wuerde ich das aber nicht nennen :)
+
+S11 benebelnd.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^23: semesterakte 06/07 (Lug, 20. Mar 2006, 16:02:48):
+~#! rn=Seleven rt=1142708004 rg=kultur
+~#! tid=1141256118
+Wenn wir schon bei Empfehlungen sind:
+
+Ich rate Euch hiermit zu:
+
+FUCK YOU ALL!!! von Carpathian Forest
+
+Das offenkundig fehlende Bildungsbindeglied, wenn ich diese Diskussion so
+lese...
+
+Teuflisch
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+buchtipp (Alboin, 18. Apr 2006, 21:32:38):
+Ab und zu passiert es in der Kantini[23e des Opernhauses, das eine(r) eine
+Kiste mit aussortierten Buechern hinstellt und Mann/Frau dadurch nette Buecher
+umsonst bekommt.
+Das letzte Mal kam ich reichlich spaet dran (es waren nur noch zwei Buecher
+uebrig) dafuer erwischte ich doch ein gutes Buch: Louis Sachar "Holes" Es ist
+zwar ein Kinder/Jugendbuch, aber ein spannendes mit ueberraschenden Wendungen.
+Dazu ist es sehr einfach geschrieben so das jeder der etwas Englisch kann, es
+ruhig original lesen sollte.
+Worum gehts: Ein junger Bursche wird unschuldig in ein Jugendstraflager
+eingewiesen, wo er nichts anderes zu tun hat, als Loecher in einen
+ausgetrockneten See zu buddeln. Und das alles um seinen Charakter zu bessern.
+Er kommt aber schnell dahinter das das nicht der Grund fuer die Buddelei ist.
+Parallel dazu gibt es Handlungsstraenge aus der Vergangnheit der Familie des
+Protagonisten und der Vergangenheit des ausgetrockneten Sees, die den Kreis am
+Ende wieder schliessen lassen. Ich fand lediglich das Ende etwas zu gut
+geraten. Ansonsten: super Buch, 9 von 10 Punkten.
+
+Alboin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: buchtipp (Daria, 18. Apr 2006, 21:33:34):
+~#! rn=Alboin rt=1145388758 rg=kultur
+~#! tid=1145388758
+Das ganze gibt es m.E. auch als Film, Titel war auch "holes", deutschen Titel
+weiss ich nicht.
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Fantasybuch (Zarniya, 19. Apr 2006, 11:02:52):
+Hiho, 
+
+ich will an dieser Stelle mal ein wenig Werbung fuer ein neues Fantasybuch
+machen, was seit einer Woche auf dem Markt ist. Ich weiss, dass hier viele
+Fantasy lesen und hoffe, dass ich den ein oder anderen zu einem Experiment
+ueberreden kann, sich das Buch einfach zu bestellen. Es heisst "Die
+Weltenwandlerin" und ist geschrieben von Tanja Kummer, einer neuen Autorin,
+die nicht nur gut schreiben kann, sehr lieb ist, gut kocht (ich muss das hier
+sagen, bin schliesslich verlobt mit ihr), sondern die sich mit dem Buch einen
+Traum erfuellt hat, naemlich endlich eine ihrer Geschichten als Buch in der
+Hand haben zu koennen. 
+
+Zu sehr soll es hier gar nicht ins Detail gehen... das die ganze Sache kein
+Fake ist, das kann der ein oder andere alte  Spieler wie Grimmborn oder
+Tangalur bestaetigen, die beide Tanja auch schon kennengelernt haben. Wer
+weitere Infos zu dem Buch haben will, der schaue einfach mal unter
+www.tanjakummer.de rein... Gaestebucheintraege sind erwuenscht, Emails auch.
+Wer das Buch direkt ueber Tanja bestellt, der bekommt natuerlich ohne Aufpreis
+eine personalisierte Signatur hinzu... ihr koennt Euch auch aussuchen, ob mit
+Real oder Mudnamen... waere nur nett, wenn ihr in Eurer Email darauf hinweisen
+wuerdet, dass ihr MG-Spieler seid. 
+
+Klaro kann man das Buch auch direkt bei Kalidor-Verlag in Berlin oder bei
+Amazon.de bestellen, dann fehlt aber die Signatur... sollte man sich nicht
+entgehen lassen bei einem Erstlingswerk und der ersten Auflage, denn wer
+weiss, in 10 Jahren ist Tanja ganz gross und dann habt ihr eine echte Raritaet
+und koennt beweisen, dass ihr Fan der ersten Stunde seid.
+
+Also ran ans Werk... er ist nicht zu teuer (12,90) und auch nicht zu dick (gut
+400 Seiten), als dass es abschreckend waere.... ich zaehl auf euren Mut, mal
+etwas Neues zu testen... 
+
+Gruss, 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues Fantasybuch (Mesirii, 19. Apr 2006, 12:02:29):
+~#! rn=Zarniya rt=1145437372 rg=kultur
+~#! tid=1145437372
+Wo bleibt denn die Rezension von Grimmborn oder Tangalur? Damit sich nicht nur
+auf das Lob des Verlobten verlassen muss :)
+
+Mesi, interessiert
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues Fantasybuch (Darklor, 19. Apr 2006, 12:12:54):
+~#! rn=Mesirii rt=1145440949 rg=kultur
+~#! tid=1145437372
+Und wann wird es was passendes zum Buch im Mud geben? (Gebiet, Quest oder so?)
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neues Fantasybuch (Mesirii, 19. Apr 2006, 13:11:56):
+~#! rn=Mesirii rt=1145440949 rg=kultur
+~#! tid=1145437372
+Ausserdem waere es schoen, wenn die Leseproben online waeren?
+
+Mesi, Lesezwer
+g
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Neues Fantasybuch (Daria, 19. Apr 2006, 13:28:41):
+~#! rn=Mesirii rt=1145445116 rg=kultur
+~#! tid=1145437372
+Mir ist eben aufgefallen, dass Amazon es zwar in der Liste hat, man das Buch
+aber nicht bestellen kann.
+Daria
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Neues Fantasybuch (Grimmborn, 19. Apr 2006, 13:29:11):
+~#! rn=Daria rt=1145446121 rg=kultur
+~#! tid=1145437372
+Tja, die sind halt nicht ganz so schnell - offenbar ist es ja erst vorgestern
+rausgekommen. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Neues Fantasybuch (Zarniya, 19. Apr 2006, 21:59:35):
+~#! rn=Grimmborn rt=1145446151 rg=kultur
+~#! tid=1145437372
+genau... das Teil ist erst seit einer Woche aus der Druckerei.
+
+>Amazon hat eigentlich schon die Daten wie Cover, Preis und Lieferzeit, aber
+die haben auch |ber Ostern Urlaub gemacht und deswegen brauchen die was zum
+Einbau der Details. Mal abgesehen davon, wenn Du |ber Amazon bestellst, dann
+ist es definitiv nicht signiert. 
+
+Rezensionen von Grimmborn kann es erst geben, wenn er es auch gelesen hat... 
+
+Achja... Leseprobe ist schon fertig, wird bald als PDF online sein... ich
+denke in 1-2 Tagen... liegt beim Verlag.
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Neues Fantasybuch (Grimmborn, 19. Apr 2006, 22:01:05):
+~#! rn=Zarniya rt=1145476775 rg=kultur
+~#! tid=1145437372
+Jepp, ich warte nur noch auf ein Freiexemplar...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Neues Fantasybuch (Ark, 19. Apr 2006, 23:04:22):
+~#! rn=Grimmborn rt=1145476865 rg=kultur
+~#! tid=1145437372
+Mit der Einstellung war es dann auch schon das letzte veroeffentlichte Buch
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Neues Fantasybuch (Zarniya, 20. Apr 2006, 00:13:24):
+~#! rn=Ark rt=1145480662 rg=kultur
+~#! tid=1145437372
+Hiho, 
+
+inzwischen gibt es bei www.tanjakummer.de eine Leseprobe
+anzuschauen/runterzuladen, wenn ihr bei "Werke" klickt und dann den Link unter
+dem Cover nehmt. 
+
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal "Die Weltenwandlerin" (Zarniya, 23. Mai 2006, 19:41:27):
+Hiho, 
+
+einige wollten doch eine offizielle und unabhaengige Rezension des Buches
+lesen... das geht unter
+
+http://www.phantastik-news.de/modules.php?name=Reviews&rop=showcontent&id=892
+
+Wer will, kann das Buch dann auch als Debut des Jahres nominieren.... wie das
+geht, steht auf der Hauptseite der PhantasikNews... 
+
+Uebrigens haben aus dem MG das Buch bestellt und ich hoffe, es ist immer gut
+angekommen und hat gefallen.
+
+Gruss, 
+Marc
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin + Rembrandt (Gloinson,  4. Aug 2006, 10:03:10):
+http://www.spiegel.de/kultur/gesellschaft/0,1518,430005,00.html
+
+
+-----------------------------------------------------------------------------
+
+
+
+Piraten der Karibik II (Gloinson, 23. Aug 2006, 01:34:20):
+Zu viel. Zu viel. Man verlaesst den Film nicht mit dem Gefuehl amuesiert
+worden zu sein sondern beinahe zu Tode amuesiert worde zu sein. Eine Idee, ein
+Spass reicht nicht, es muessen mindestens immer zwei zuschlagen. 
+
+Also so ein bisschen erinnert mich der Film in Handlungsfuelle und Ende an
+Matrix II: zuviel, immer mehr offene Faeden, selbst die Musik erdrueckt,
+waaaah! Das Zuviel endete sogar darin, dass Martina waehrend einer allzu
+actionreichen Handlung (auch den Rum dazu) einschlief. Das Gute ist: wir haben
+soviel bezahlt wie er wert war - 3 Euro pP.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Piraten der Karibik II (Gnome, 23. Aug 2006, 16:09:15):
+~#! rn=Gloinson rt=1156289660 rg=kultur
+~#! tid=1156289660
+der film ist einfach klasse. wer bei DER action einschlaeft, schlaeft
+wahrscheinlich auch beim fussball-WM-endspiel ein.
+
+es sind viele offene faeden da, keine frage. aber da johnny wohl schon
+hat anklingen lassen, dass er sich vorstellen koennen, auch in teil
+IV - VI spielen zu koennen, sind es dafuer nicht viele offene faeden.
+jedenfalls nicht mehr als es in star wars gewesen sind.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Piraten der Karibik II (Zook, 23. Aug 2006, 16:13:35):
+~#! rn=Gnome rt=1156342155 rg=kultur
+~#! tid=1156289660
+also ein vergleich mit star wars fuehrt doch wohl dazu, dass ich mir den
+film nicht angucke ;) zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Piraten der Karibik II (Rumata, 23. Aug 2006, 16:23:03):
+~#! rn=Zook rt=1156342415 rg=kultur
+~#! tid=1156289660
+Ja, und bei Fussball WM Endspielen einzuschlafen ist wohl kein Problem.
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Piraten der Karibik II (Boing, 23. Aug 2006, 16:33:20):
+~#! rn=Rumata rt=1156342983 rg=kultur
+~#! tid=1156289660
+Zumindest beim letzten Fusball WM Endspiel war ich auch nah dran 
+auszuschalten. Wobei ich Fluch der Karibik 2 richtig klasse fand.
+Gute Unterhaltung, wer einen Film mit Tiefgang erwartet ist natuerlich
+falsch.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Piraten der Karibik II (Croft, 23. Aug 2006, 16:33:44):
+~#! rn=Boing rt=1156343600 rg=kultur
+~#! tid=1156289660
+Es werden keine Schiffe versenkt?  Schade.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Piraten der Karibik II (Boing, 23. Aug 2006, 16:38:52):
+~#! rn=Croft rt=1156343624 rg=kultur
+~#! tid=1156289660
+Ich habe beim Schreiben noch ueberlegt ob ich das mit dem Tiefgang
+noch weiter erlaeutern muss, habe mich dann aber leider dagegen
+entschieden.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Piraten der Karibik II (Bambi, 27. Aug 2006, 14:03:11):
+~#! rn=Boing rt=1156343932 rg=kultur
+~#! tid=1156289660
+Macht nix. Ich weiss noch, wie gewisse (Ex-)Karlsruher reagieren, wenn ich
+ihnen erklaere, was ich an einigen Filmen gut finde.
+
+-----------------------------------------------------------------------------
+
+
+
+Metzeln statt Questen an deutschen Schulen (Kessa, 29. Sep 2006, 14:15:50):
+Eine deutliche Stellungnahme diesbezueglich ist der Nacherzaehlung zu
+entnehmen, die mein Sohn heute stolz von der Schule zurueckbrachte:
+
+Es war einmal ein Prinz, der wollte auf gar keinen Fall eine verzauberte
+Prinzessin erloesen. Er bekam zwar jeden Tag Briefe von Prinzessinnen,doch er
+merkte sich nur,woher die Briefe kamen, und machte sich dann ein Kreuzchen auf
+seiner Weltkarte. Doch irgendwann machte er eine Reise, wie es jeder Prinz
+tut. Er suchte sich eine Route aus, die an kein Kreuzchen zu nahe herankam,
+denn er dachte, dass er nicht klug genug sei, um ein Raetsel zu loesen.
+
+Es wurde eine Zickzackfahrt, die der Prinz geplant hatte. Er ging zwar zu
+keiner Prinzessin, dafuer aber in jede Schlacht. Am besten war er in der
+Panzerabwehr. Er hatte immer ein paar Panzerfaeuste dabei, die er in einer
+Tragetasche aufbewahrte. Jede Panzerfaust, die er warf, traf. Dadurch wurde er
+beruehmt. Die Kirgisen baten ihn, ihnen zu helfen. Der Prinz kam und die
+Kirgisen erzaehlten ihm, dass sie mit den Burjaeten Krieg fuehrten und die
+Panzer der Burjaeten ihr Volk immer ueberfielen. Am gefaehrlichsten aber sei
+ihr Leitpanzer mit einem silbernen Streifen. Der Prinz freute sich darueber.
+Er wartet mit Soldaten an der Grenzstaette.
+
+Nach einiger Zeit rollten die Panzer der Feinde an, gefuehrt von dem Panzer
+mit dem silbernen Streifen. Nun feuerten die Soldaten mit ihren Kanonen aus
+allen Rohren. Der Prinz warf eine extra Panzerfaust mit silbernem Streifen auf
+den Leitpanzer. Die Faust traf, doch die Verwunderung war gross, als eine
+schoene Prinzessin mit einem silbernen Stirnband dort stand. Sie rannte auf
+den Prinz zu, umarmte ihn und erzaehlte, dass sie sieben Jahre lang in einen
+Panzer verwandelt war. Der Prinz war zwar veraergert, weil er ja keine
+Prinzessin erloesen wollte, aber er heiratete sie trotzdem und war gluecklich
+mit ihr. Er dachte: 'Zum Glueck musste ich keins von diesen bloeden Raetseln
+loesen!'
+Hrhr. Kessa.
+
+-----------------------------------------------------------------------------
+
+
+
+Klaus Renft gestorben (Alboin,  9. Okt 2006, 16:40:03):
+Ok hier als Nachruf auf den ostdeutschen Musiker, dessen Gruppe "Renft" 1975
+verboten wurde hier der Text von "Rockballade vom kleinen Otto"
+(IMHO ist es das Lied, fuer das sie verboten worden sind)
+
+Rockballade vom kleinen Otto
+----------------------------
+
+Seine Kinderjahre lagen ihm im Magen wie Steine,
+doch er weint nicht mehr.
+Manchmal sagte Otto, Leben ist wie Lotto,
+doch die Kreuze macht ein Funktionaer.
+ 
+Als er mal ein Foto sah vom grossen Otto,
+aus Hamburg an der Reeperbahn,
+schrieb dem Namensvetter -
+du bist mein Retter,
+der mir die Freiheit kaufen kann.
+ 
+Ob ich Norden, ob ich nach Norden,
+ob ich nach Norden flieh.
+ 
+Die Deutschen Mark, die Harten,
+liessen auf sich warten.
+Da ging er an die Autobahn
+und fuhr ungefaehrdet bis nach Wittenberge,
+dort sprang er auf `nen Elbekahn.
+ 
+Hol mich Norden, hol mich nach Norden,
+hol mich, oder ich flieh.
+ 
+Oh, nimm mich mit, oh Kapitaen - auf die Reise,
+Oh, nimm mich mit, oh Kapitaen - durch die Schleuse.
+ 
+Nach dem Tuetenkleben wollt er nicht mehr leben,
+er fuhr nach Wittenberge rauf,
+und ging in die Elbe, die Stelle war dieselbe,
+vielleicht taucht er in Hamburg wieder auf ...
+ 
+Hol mich Norden, hol mich nach Norden,
+hol mich, oder ich flieh ...
+
+-----------------------------------------------------------------------------
+
+
+
+Gedicht (Huraxprax, 14. Dez 2006, 23:41:39):
+Trotz des milden Wetters mal ein Gedicht zum Winteranfang:
+(ich hoffe vi hat mir alle Umlaute richtig ersetzt)
+
+Friedrich Nietzsche: Vereinsamt
+
+Die Kraehen schrein 
+Und ziehen schwirren Flugs zur Stadt: 
+Bald wird es schnein, - 
+Wohl dem, der jetzt noch - Heimat hat!
+Nun stehst du starr, 
+Schaust rueckwaerts, ach! wie lange schon! 
+Was bist du Narr 
+Vor Winters in die Welt entflohn?
+
+Die Welt - ein Tor 
+Zu tausend Wuesten stumm und kalt! 
+Wer das verlor, 
+Was du verlorst, macht nirgends Halt.
+
+Nun stehst du bleich, 
+Zur Winter-Wanderschaft verflucht, 
+Dem Rauche gleich, 
+Der stets nach kaeltern Himmeln sucht.
+
+Flieg, Vogel, schnarr 
+Dein Lied im Wuestenvogel-Ton! - 
+Versteck, du Narr, 
+Dein blutend Herz in Eis und Hohn!
+
+Die Kraehen schrein 
+Und ziehen schwirren Flugs zur Stadt: 
+Bald wird es schnein, - 
+Weh dem, der keine Heimat hat!
+
+
+hurax
+
+-----------------------------------------------------------------------------
+
+
+
+Singende Muellmaenner (Maharet,  9. Feb 2007, 18:12:16):
+Eine Perle der deutschen Muellmanngesangskultur:
+
+http://www.wdrmaus.de/lachgeschichten/muellmaennerlied
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Singende Muellmaenner (Amaryllis,  9. Feb 2007, 18:37:23):
+~#! rn=Maharet rt=1171041136 rg=kultur
+~#! tid=1171041136
+Realplayer? Jangmrfott...
+
+m8@joot,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Singende Muellmaenner (Maharet,  9. Feb 2007, 18:40:24):
+~#! rn=Amaryllis rt=1171042643 rg=kultur
+~#! tid=1171041136
+Ja, wir mussten auch erst nen anderen Computer dafuer starten. Also wir haben
+es fuer die Lieder an sich gestartet, Rana tanzt so suess dazu.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Singende Muellmaenner (Alboin,  9. Feb 2007, 18:42:18):
+~#! rn=Maharet rt=1171042824 rg=kultur
+~#! tid=1171041136
+isses vielleicht das hier?
+http://www.youtube.com/watch?v=HM_LyFukNo8
+
+al meidet auch realplayer, das olle spamzeuch
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Singende Muellmaenner (Maharet,  9. Feb 2007, 18:46:53):
+~#! rn=Alboin rt=1171042938 rg=kultur
+~#! tid=1171041136
+ah, ja. Prima.
+Danke.
+
+-----------------------------------------------------------------------------
+
+
+
+semesterakte 07/08 (Gnome,  1. Mar 2007, 12:11:11):
+auch dieses jahr gibt es wieder semesterakte. diesmal mit den studenten
+der sporthochschule in koeln.
+
+http://www.art-of-you.de/shop/index.php?list=KAT03
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Aufsatzwettbewerb der japanischen Botschaft. (Vanion,  2. Mai 2007, 11:25:47):
+Hallo Leute,
+
+das japanische Aussenministerium veranstaltet jaehrlich einen
+Aufsatzwettbewerb in verschiedenen Laendern. Die jeweiligen Sieger werden zu
+einer 10taegigen Studienreise nach Japan eingeladen.
+
+Thema des diesjaehrigen Aufsatzes:
+Wie koennen sich Japan und Deutschland gemeinsam fuer den globalen
+Umweltschutz einsetzen?
+
+Einsendeschluss: 26.05.07
+Teilnahmebedingungen:
+Alter am 01.06.: 18-35 Jahre
+Man darf noch nicht in Japan gewesen sein.
+Gutes Englisch (Wichtig fuer das Programm in Japan)
+
+Mehr Infos gibts unter:
+http://www.botschaft-japan.de/austausch/wett_aufsatz.html
+
+V*, hat da vor Jahren auch mal mitgemacht - es gab auch einen Trostpreis :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Aufsatzwettbewerb der japanischen Botschaft. (Ark,  2. Mai 2007, 12:07:17):
+~#! rn=Vanion rt=1178097947 rg=kultur
+~#! tid=1178097947
+Mist, zu alt und schon mehrfach in Japan gewesen ... ich werde diskriminiert!
+Damit verliert der Umweltschutz einen gluehenden Verfechter ... aehm ...
+jawohl!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Aufsatzwettbewerb der japanischen Botschaft. (Kellybundy, 23. Mai 2007, 08:40:40):
+~#! rn=Ark rt=1178100437 rg=kultur
+~#! tid=1178097947
+Japan und Umweltschutz. Das ist ein Oxymoron, falls es ausser mir sonst
+niemandem aufgefallen sein sollte...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Aufsatzwettbewerb der japanischen Botschaft. (Vanion, 23. Mai 2007, 18:26:41):
+~#! rn=Kellybundy rt=1179902440 rg=kultur
+~#! tid=1178097947
+Als ich das letzte mal in Osaka war, hatten die da zumindest ein
+personalintensives aber gut funktionierendes Wertstoff-Rueckfuehrungssystem.
+
+Junge (und weniger junge) aufstrebende Obdachlose rannten zu hunderten durch
+die Stadt um die niedlichen kleinen Muelltueten aufzuknoepfen, alles
+verwertbare herauszunehmen und die Tuetchen wieder zuzuknuepfen.
+
+Stimmt, die Japaner koennten in Sachen Umweltschutz noch einiges von uns
+lernen (und falls es jemandem entgangen sein sollte, dass jemand da von uns
+lernen kann ist auch zynisch in sich.)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Nightwish (Lug, 24. Mai 2007, 02:45:25):
+Due to a leak of the new NIGHTWISH single, "Eva", via an as-yet-undisclosed
+source in the United Kingdom, Finnish symphonic metal band NIGHTWISH will
+begin selling the Internet-only single "Eva" and reveal the name of the new
+singer earlier than previously planned.
+
+"Eva" will be released in Finland via NetAnttila on Friday, May 25. "Eva" will
+receive a Finnish radio premiere on Radio Rock and YleX Friday morning at 7:00
+a.m.
+
+The identity of the new NIGHTWISH singer will be revealed on Thursday, May 24
+at 5:00 p.m. Finnish time. First the news will appear on www.nightwish.com and
+soon after Spinefarm Records will send a bulletin to all media..
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nightwish (Darklor, 24. Mai 2007, 02:48:05):
+~#! rn=Lug rt=1179967525 rg=kultur
+~#! tid=1179967525
+Und gibts schon Geruechte, wer es sein koennte und wie sie klingt?
+
+Darklor
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nightwish (Lug, 25. Mai 2007, 22:53:22):
+~#! rn=Darklor rt=1179967685 rg=kultur
+~#! tid=1179967525
+Nun, es ist eine Ballade. Eine sehr schoene Ballade. Es gibt definitiv
+spannendere Songs auf dem naechsten Album. Aber ein guter Song ist es allemal.
+Natuerlich Geschmackssache, wer auf Balladen steht (Kleriker, Frauen) wird
+Extrapunkte vergeben...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Nightwish (Grimmborn, 25. Mai 2007, 22:55:01):
+~#! rn=Lug rt=1180126402 rg=kultur
+~#! tid=1179967525
+Jetzt red nicht drumrum, poste lieber die download-URL. 
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Nightwish (Lug, 25. Mai 2007, 22:56:17):
+~#! rn=Grimmborn rt=1180126501 rg=kultur
+~#! tid=1179967525
+Geh auf die Nuclear Blast Webseite...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Nightwish (Zesstra, 25. Mai 2007, 23:25:15):
+~#! rn=Lug rt=1180126577 rg=kultur
+~#! tid=1179967525
+Ok, habs mir gerade mal angehoert. Lug hat recht. Eine ziemlich melodische und
+'geschmeidige' Ballade, der Ecken und Kanten fehlen. ;-) Je nach Geschmack
+also in der Tat u.U. etwas gewoehnungsbeduerftig, wenn man es mit anderen
+Nightwish-Songs vergleicht. Allerdings mag ich zwischendurch durchaus mal
+solche Balladen hoeren und mich dabei zum Ausklang des Abends entspannen. Von
+daher gefaellts mir, ich werds aber mit beim Hoeren mit aelteren
+Nightwish-Songs mischen. ;-) Bin mal gespannt auch das naechste Album und
+darauf, wie vielseitig das 'neue' Nightwish sein wird.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Graspop (Lug, 15. Jun 2007, 21:27:42):
+Moin,
+
+allen Metallern unter uns, sei an dieser Stelle noch einmal das naechste Woche
+laufende Graspop Festival in Belgien ans Herz gelegt. Nah am Ruhrgebiet und
+hochkaraetiges Billing. Zu dem Preis kriegt Ihr die Bands nicht mehr auf einen
+Haufen...
+
+Staehlern
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Graspop (Humni, 16. Jun 2007, 18:48:10):
+~#! rn=Lug rt=1181935662 rg=kultur
+~#! tid=1181935662
+Waeh. Gerade sagt meine Geldboerse vermutlich nein dazu *snief*
+
+
+Andererseits... Ich werd mal sehen ob ichs irgendwie hinkrieg...
+
+Up the Irons!
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Graspop (Zesstra, 17. Jun 2007, 01:37:39):
+~#! rn=Lug rt=1181935662 rg=kultur
+~#! tid=1181935662
+Hmpf. Mift. Haette ich spontan Lust zu gehabt... nur... Ich bin in der Zeit
+nicht in der Naehe. Schade. Wobei ich meine Fahrt nach Kiel in der Zeit
+keinesfall bereue. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat des Tages (Alboin, 10. Sep 2007, 14:32:15):
+Jo ich moechte mal wieder einen alten Brauch ins Leben rufen, der mal vor
+langer langer Zeit hier ueblich war. Damals hatte unser lieber Atheist
+Grimmborn sogar so viel Zeit, dass er hier taeglich den Tagesspruch seines
+Kalenders abtippte. Wer also interessante Sprueche oder Anekdoten entdeckt der
+moege sie doch bitte hier verewigen. OK ich schiess gleich mal los:
+
+Leichtes Leben verdirbt die Sitten, aber die Tugendkomoedie verdirbt den
+ganzen Menschen. -- Theodor Fontane
+
+(gefunden in Maxeiner/Miersch: Das Mephistoprinzip)
+
+-----------------------------------------------------------------------------
+
+
+
+Einstuerzende Neubauten (Grumpf, 14. Sep 2007, 15:40:03):
+Moinsen,
+fuer alle die nicht nur Mainstream hoeren, am 17.10.2007 erscheint endlich ein
+neues Album der Neubauten!
+Das Werk wird "Alles wieder offen" heissen, Informationen und schonmal vorab
+die Texte gibt es auf:
+http://www.alles-wieder-offen.com/
+MfG
+Grumpf
+
+-----------------------------------------------------------------------------
+
+
+
+Terror in der Presse (Liara, 17. Sep 2007, 21:26:55):
+Ich hoere ganz gerne WDR5. In den Nachrichtensendungen haben die auch
+Pressestimmen. Neulich hatte ich ein Zitat gehoert, was gut zu diversen
+Fbanddiskussionen zu dem Thema passt. Freundlicherweise hat mir jemand vom NDR
+den Ausschnitt rausgesucht und gemailt:
+
+"Seit dem 11. September 2001 sind zehn Mal so viele Menschen in der Badewanne
+ertrunken wie durch Terror gestorben. Doch wir fuehren diesen Buergerkrieg
+fort, verstaerken die Nachrichtendienste, schraenken die demokratischen Rechte
+ein und ueberzeugen die Moslems davon, dass sie unser Feinde sind. Bislang
+haben wir diesen inneren Krieg gegen den Terrorismus ohne Terroristen
+gefuehrt. Doch das ist nur eine Frage der Zeit. Machen wir so weiter, schaffen
+wir diese selbst."
+
+Daenische Zeitung 'Politiken' am 8. September 2007
+
+Irgendwie sprach mir das aus der Seele.
+ZZL
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Terror in der Presse (Alboin, 17. Sep 2007, 23:30:14):
+~#! rn=Liara rt=1190057215 rg=kultur
+~#! tid=1190057215
+Ich finde das absolut nicht differenzierend:
+zum ersten kann es dem Staat egal sein, ob du in der badewanne ersaeufst. Aber
+nicht ob sich einer in die Luft mit anderen unschuldigen in die Luft jagt um
+seinem Traum von 72 Jungfrauen naeher zu kommen.
+Dann sind Muslime nicht unsere Feinde, sondern die Leute die Meinen Sharia
+steht ueber dem Grundgesetz.
+Ebenso Leute die meinen das Religion in die Politik gehoert. Du kannst auch
+gerne mal nach muslimischen Laendern suchen in dem auch nur annaehrnd
+Demokratie und Menschenrechte herrschen wie in westlichen Laendern.
+Religionsfreiheit gibt es nicht mal beim EU-Beitrittskandidat Tuerkei. Aber
+ich bin nach wievor der Meinung das Problem ist nicht der Islam sondern wir:
+das wir unfaehig sind von unseren sogenannten Kulturbereicherern unsere Werte
+einzufordern. So koennen sich zB Islamisten wie die Moslembruederschaft ihres
+Asyls hier sicher sein und weiter ihre Hasspredigen verbreiten und Anschlaege
+in ihren Heimatlaendern vorbereiten.
+Just my 2cents
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Terror in der Presse (Grimmborn, 17. Sep 2007, 23:54:46):
+~#! rn=Alboin rt=1190064614 rg=kultur
+~#! tid=1190057215
+Nimm halt statt der Badewannen Autos, da erwischts auch oft genug Unschuldige,
+wenn auch Jungfrauen damit nix zu tun haben (oder ist das ein wesentlicher
+Teil Deiner Argumentation?). Es geht um die Verhaeltnismaessigkeit. Wenn der
+Staat mich schuetzen will, dann macht er das effektiver wenn er mit kleinem
+Aufwand die grosse Bedrohung Auto aufs Korn nimmt.
+
+Nur weil Leute meinen irgendetwas staende ueber dem Grundgesetz macht sie
+das nicht zu Feinden. Das trifft auf fast die gesamte Weltbevoelkerung zu.
+Oder sind fuer Dich Amerikaner deswegen Feinde, weil sie ihre krude
+Verfassung ueber unser schoenes Grundgesetz stellen?
+
+Fuer Dich sind Leute Feinde die Religion ueber Politik stellen, deren
+religioese Ordnung keinen Raum fuer Demokratie laesst. Das beschreibt ziemlich
+genau die Verfassung z.B. des Vatikanstaates, auch wirst Du vermutlich kaum
+einen religiosen Fuehrer (Mullah, Papst, Dalai Lama, Patriarch - such Dir was
+aus) finden der behauptet dass eine Staatsverfassung ueber seinem Gott steht.
+Das macht sie nicht automatisch zu (Demokratie)Feinden.
+
+Ich sehe vor allem nicht dass wir unfaehig waeren unsere Werte einzufordern.
+Das geschieht taeglich und permanent. Es koennte natuerlich sein dass die
+eingeforderten Werte nicht das sind was Du Dir darunter wuenschst.
+So ist es z.B. ein sehr hoher Wert unserer Kultur politisch Verfolgten Asyl
+zu gewaehren, ebenso wie es unser Wert ist uns nicht in die Angelegenheiten
+anderer zu mischen solange sie nicht strafrechtlich relevant sind. Das mag Dir
+nicht gefallen, und Dir diese Einstellung zu lassen ist auch Teil "unserer
+Werte".
+
+Der "Islamist" sagt: "Die Unglaeubigen sind alles Hunde, die muesste man in
+die Luft sprengen" und Du willst ihm deswegen an den Kragen. Dass Dir so eine
+Einschraenkung der Meinungsfreiheit bei anderen gefaellt ist schlimm genug,
+aber gluecklicherweise nach wie vor in der Gesellschaft nicht konsensfaehig.
+Und wenn aus der Meinungsaeusserung mehr wird gibts nach wie vor
+Strafverfolgungsbehoerden die sich darum kuemmern. Natuerlich ist das "nur"
+reaktiv, nicht vorbeugend. Anders geht es aber nicht ohne Aufgabe wichtiger
+Rechtsgrundsaetze.
+
+So sehr ich Deine Fremden- bzw. Islamfeindlichkeit verstehe (und definitiv
+nicht teile): Du musst Dir schon ein wenig kohaerentere Argumentationen
+einfallen lassen.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Terror in der Presse (Ark, 18. Sep 2007, 00:04:28):
+~#! rn=Grimmborn rt=1190066086 rg=kultur
+~#! tid=1190057215
+Die Drahtzieher des Terrors verwechselt ihr aber jetzt nicht mit Islamisten,
+oder? Das sind imho kalte Machtpolitiker, die ihre Waffen in der Armut
+islamistischer Laender (oder mittlerweile auch aus orientierungslosen Fremden)
+heranzuechten. Religion als Grund fuer Kriege und Terror vorzuschieben ist ja
+schon ein Stil, der sich Jahrtausende bewaehrt hat.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Terror in der Presse (Gnome, 18. Sep 2007, 00:11:39):
+~#! rn=Grimmborn rt=1190066086 rg=kultur
+~#! tid=1190057215
+die wurzel allen uebels ist und bleibt die religion. da haue ich mit
+mr. dawkins gern in eine kerbe (Richard Dawkins: "Der Gotteswahn", Ullstein).
+
+"Religion ist irrational, fortschrittsfeindlich und zerstoerisch."
+recht hat er.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Terror in der Presse (Kessa, 18. Sep 2007, 00:16:51):
+~#! rn=Gnome rt=1190067099 rg=kultur
+~#! tid=1190057215
+Ist das nicht nun etwas billig, die Religion an sich verantwortlich zu machen
+und das noch mit nichts als derartigen Plattitueden zu unterstuetzen?
+Plattitueden hoeren wir von unseren Sicherheit-ueber-Grundrechte-wuetigen
+Politikern schon genug, ich denke nicht, dass es weiterbringt, auf gleichem
+Niveau dagegenzu...halten. Argumentieren kann man das wirklich nicht nennen. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Terror in der Presse (Ark, 18. Sep 2007, 00:17:27):
+~#! rn=Gnome rt=1190067099 rg=kultur
+~#! tid=1190057215
+Oh, Religion ist keinesfalls zerstoererisch, das besorgt der Mensch immer
+hoechst persoenlich. Und man sollte es sich nicht immer in seinem Weltbild
+gemuetlich einrichten, seit wann ist jeder Fortschritt gut? :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Terror in der Presse (Gnome, 18. Sep 2007, 00:31:02):
+~#! rn=Kessa rt=1190067411 rg=kultur
+~#! tid=1190057215
+aus seinem vorwort:
+"Man stelle sich eine Welt ohne Religion vor. Ohne Selbstmordattentter, ohne
+11. September, ohne 7. Juli, ohne Kreuzzuege, ohne Hexenverfolgungen,
+Gunpowder Plot, ohne Vertreibung der Indianer, ohne Nahostkonflikt, ohne
+Balkan-Massaker, ohne Verfolgung von Juden als Jesusmoerder, ohne
+Nordirland-Unruhen ..."
+
+ich behaupte, dass weit ueber 90% aller konflikte und kriege auf dieser
+welt aus religioesem grund geschehen bzw. gefuehrt werden. die religion
+dann zu verteufel ist dann nicht billig, sondern logisch.
+aber der gute mensch "braucht" ja was, an das er glauben kann, sonst
+waere die welt fuer ihn leer und das leben an sich nicht sinnvoll.
+und ich bin gespannt, wieviel kriege auf dieser welt noch alle im
+namen allahs gefuehrt werden.
+noch mehr gespannt bin ich, wieviele sinnlose milliarden von dollar und
+euro in die sicherheit gesteckt wird, die doch nicht sicherer wird.
+und am allermeisten gespannt bin ich, wann die menschheit an sich
+zur vernunft und zur erkenntnis kommt, dass religion eine illusion ist.
+aber zu diesem zeitpunkt werden wir wohl alle nicht mehr leben.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Terror in der Presse (Kessa, 18. Sep 2007, 00:32:06):
+~#! rn=Gnome rt=1190068262 rg=kultur
+~#! tid=1190057215
+Und du bist wirklich der Meinung, dass wenn es keine Religion gaebe, die
+Betreffenden nicht erfindungsreich genug waeren, sich einen anderen Vorwand zu
+suchen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Terror in der Presse (Kessa, 18. Sep 2007, 00:34:18):
+~#! rn=Gnome rt=1190068262 rg=kultur
+~#! tid=1190057215
+Und du bist wirklich der Meinung, dass wenn es keine Religion gaebe, die
+Betreffenden nicht erfindungsreich genug waeren, sich einen anderen Vorwand zu
+suchen?
+
+Deine persoenliche Einstellung zur Religion moechte ich dir damit nicht
+absprechen, die steht aber auf einem anderen Blatt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Terror in der Presse (Ark, 18. Sep 2007, 00:35:50):
+~#! rn=Kessa rt=1190068326 rg=kultur
+~#! tid=1190057215
+Duennes Eis ... Weltkrieg 1+2, Irakkrieg, Sowjetunion in Afghanistan, Vietnam,
+Korea ... glaub mir, der Mensch braucht keine Religion, um seinen Mitmenschen
+die Birne zu zermatschen, es ist nur einer von mehreren bequemen Grueneden,
+die nicht immer aufs neue herangezogen werden muessen. "Vom Feeling her hab
+ich da kein gutes Gefuehl." Allerdings wuerde ich so nicht argumentieren
+wollen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Terror in der Presse (Gnome, 18. Sep 2007, 00:37:49):
+~#! rn=Kessa rt=1190068326 rg=kultur
+~#! tid=1190057215
+vorwaende gibt es immer, und wenn es nur die nase ist, die dem einen
+nicht an dem anderen passt. aber vielleicht haben wir dann nicht
+mehr millionen von toten, sondern nur noch tausende von toten
+zu beklagen.
+allerdings... vom standpunkt der erde aus gesehen, sind viele kriege
+vielleicht doch gar nicht so schlecht. ueberbevoelkerung als stichwort.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Terror in der Presse (Kessa, 18. Sep 2007, 00:40:40):
+~#! rn=Gnome rt=1190068669 rg=kultur
+~#! tid=1190057215
+Da gebe ich dir insofern recht, als es ein Problem ist, wenn Religion und
+Politik sich untrennbar verwickeln. Das hat Alboin schon geschrieben, und es
+kann verheerende Folgen haben, keine Frage. Dennoch ist es keine Loesung, mit
+Gemeinplaetzen zu antworten, sondern gerade dann ist Differenzierung gefragt.
+
+Kessa verweist auf Grimmborns Artikel.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Terror in der Presse (Ark, 18. Sep 2007, 00:41:30):
+~#! rn=Gnome rt=1190068669 rg=kultur
+~#! tid=1190057215
+Hm, ich nehm das mal "satirisch"? Eben noch Religion als fortschrittsfeindlich
+bezeichnet/zitiert, nun die Loesung "Krieg" hoffaehig machen anstatt
+nachzudenken? Nerja ...
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Terror in der Presse (Ark, 18. Sep 2007, 00:43:17):
+~#! rn=Ark rt=1190068890 rg=kultur
+~#! tid=1190057215
+Selbstreply ... die "Erde" freut sich auch, wenn die Menschen auf so
+innovative Ideen kommen, Oelquellen abzufackeln, da koennte die monatelang
+zuschaun ... hat sie auch gemacht. <Polemik Ende> :)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Terror in der Presse (Gnome, 18. Sep 2007, 00:43:43):
+~#! rn=Ark rt=1190068890 rg=kultur
+~#! tid=1190057215
+ich schrieb: vom standpunkt der erde aus gesehen.
+denn von ihrem standpunkt aus gesehen sind wir das uebel, das bakterium,
+welches die erde krank macht. insofern kann es ihr nur recht und billig
+sein, wenn wir uns gegenseitig umbringen. und zwar gleich massenweise.
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Terror in der Presse (Ark, 18. Sep 2007, 00:45:11):
+~#! rn=Gnome rt=1190069023 rg=kultur
+~#! tid=1190057215
+Klingt, als muesste man sich ueber Krebs im Endstadium freuen, dass der auch
+mitstirbt. Nicht so trostreich.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Terror in der Presse (Crassus, 18. Sep 2007, 07:50:25):
+~#! rn=Gnome rt=1190068262 rg=kultur
+~#! tid=1190057215
+Religion fuer den Krieg, denke den Ami interessierte im Irak eher das Oel.
+Die Religion war nur der Vorwand.
+
+Wer glaubt, das Kriege wegen der Religion gefuehrt werden und nicht aus
+wirtschaftlichen erwaegungen aus.
+
+Den selbst der II. Weltkrieg wurde nicht, wegen der Religion begonnen.
+Man sollte erst ueberlegen, wem der Krieg nuetzt und dann urteilen.
+
+Fuer das Unheil auf der Erde, ist der Mensch immer noch selbst verantwortlich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Terror in der Presse (Rumata, 18. Sep 2007, 10:28:09):
+~#! rn=Ark rt=1190069111 rg=kultur
+~#! tid=1190057215
+Da faellt mir ein Witz zu ein:
+
+Treffen sich zwei Planeten.
+Frage der eine: Wie geht's?
+Der andere: Ach, schlecht - ich habe Menschen.
+Der eine: Nimms nicht so schwer, das geht vorbei.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Terror in der Presse (Esme, 18. Sep 2007, 11:20:44):
+~#! rn=Gnome rt=1190068262 rg=kultur
+~#! tid=1190057215
+Ich unterstelle jetzt ganz einfach Mal, dass hinter all den von Dir 
+erwaehnten Ereignissen (abgesehen vom Gunpowder Plot, da weiss ich nicht
+was das ist und vielleicht auch der persoenlichen Motivation von 
+Selbstmordattentaetern) ganz handfeste wirtschaftliche/machtpolitische 
+Interessen bzw. soziale Konflikte standen. Die Religion wurde in all
+diesen Faellen nur instrumentalisiert, sei es um die Schweinereine
+zu rechtfertigen oder grosse Massen von Menschen zu mobilisieren oder
+beides.
+Trotzdem finde ich, dass sich Religionen fuer eine derartige
+Instrumentalisierung
+leider anbieten, weswegen ich persoenlich dem skeptisch gegenueberstehe.
+
+Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Terror in der Presse (Esme, 18. Sep 2007, 11:27:27):
+~#! rn=Gnome rt=1190068669 rg=kultur
+~#! tid=1190057215
+Das Stirchwort Ueberbevoelkerung finde ich auch interessant, vorallem mit dem
+zumenhemden Druck, der hier in Deutschland auf Frauen ausgeuebt wird, endlich
+Kinder zu bekommen.
+Dieses Stichwort in politischem Zusammenhang fasst meiner Meinung nach nur
+alles an Unwilligkeit des Westens zusammen, seinen Reichtum nicht mit 
+den Menschen der dritten Welt zu teilen, sei es nun aus Rassismus oder anderen
+Gruenden.
+
+Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Terror in der Presse (Rumata, 18. Sep 2007, 11:28:49):
+~#! rn=Esme rt=1190107244 rg=kultur
+~#! tid=1190057215
+Ich moechte nebenbei bemerken, dass die Actung des Lebens oder das
+Konzept der Vergebung ohne Religion wohl nie eine Chance (gehabt) haetten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Terror in der Presse (Grimmborn, 18. Sep 2007, 12:35:23):
+~#! rn=Esme rt=1190107647 rg=kultur
+~#! tid=1190057215
+Ich muss Dir da widersprechen. Der Westen ist mitnichten unwillig seinen
+Reichtum nicht zu teilen. Er ist im Gegensatz dazu unwillig seinen Reichtum zu
+teilen.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Terror in der Presse (Esme, 18. Sep 2007, 13:12:14):
+~#! rn=Grimmborn rt=1190111723 rg=kultur
+~#! tid=1190057215
+Args, hin und wieder wuerde es sich auszahlen, etwas aufmerksamer hinzuschauen
+was
+man schreibt, danke fuer die Korrektur, so wars natuerlich gemeint.
+Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Terror in der Presse (Bambi, 23. Sep 2007, 14:20:35):
+~#! rn=Gnome rt=1190069023 rg=kultur
+~#! tid=1190057215
+Dass ausgerechnet jemand, der Atheismus fuer die richtige "Religion" haelt,
+der Erde ein Bewusstsein oder gar einen Standpunkt zuschreibt, finde ich
+aeusserst amuesant.
+
+-----------------------------------------------------------------------------
+
+
+
+Zitat des Tages (Alboin, 24. Sep 2007, 22:25:21):
+Der Mensch ist gut, aber die Leut' sind schlecht. Karl Valentin
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nightwish in Dortmund, 19.03.2008 (Zesstra,  3. Okt 2007, 00:12:44):
+Huhu,
+
+nachdem Nightwish mit dem neuen Album auch Daten fuer neue Konzerte in
+Deutschland veroeffentlicht hat (http://www.nightwish.com/de/band/tour),
+wollte ich mach fragen, ob wer plant, am 19.03.2008 das Konzert in Dortmund zu
+besuchen.
+Falls dem so ist, koennte man den Besuch gemeinsam organisieren und machen,
+wird dann bestimmt spassig.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nightwish in Dortmund, 19.03.2008 (Zesstra,  3. Okt 2007, 16:00:55):
+~#! rn=Zesstra rt=1191363164 rg=kultur
+~#! tid=1191363164
+Achso, falls jemand gemeinsam dahin will und noch keine Karte hat, kann ich
+eine mitbesorgen, wenn ich das in den naechsten Tagen weiss. (Ich weiss noch
+nicht, wann ich hier zum Ticketshop komme, am besten fragt ihr mal per tm/mail
+an.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Che Guevara (Liara, 11. Okt 2007, 22:46:53):
+Falls sich jemand mal _wirklich_ dafuer interessiert, was das fuer ein Mensch
+war, hier ein Link zu einem einigermassen kurzen, aber aussagekraeftigen
+Artikel:
+http://www.welt.de/print-welt/article683461/Che_Guevara_ist_nicht_cool.html
+
+Mir geht dieses ganze 'Vor 50 Jahren wurde Che ermordet'-Geheule naemlich
+langsam auf den Geist ...
+Manchmal sollte man doch vllt wissen, wessen Konterfei man da auf T-Shirts,
+Fahnen etc. mit sich rumtraegt.
+
+Gruesse, ZZL
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Che Guevara (Alboin, 11. Okt 2007, 22:52:32):
+~#! rn=Liara rt=1192135613 rg=kultur
+~#! tid=1192135613
+dazu auch:
+http://tinyurl.com/2acpma
+
+http://tinyurl.com/2mddr4
+
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Filmquiz (Grumpf, 18. Nov 2007, 09:45:51):
+Moinsen,
+ich nehme mal an das viele diese Seite schon kennen aber ich will sie trotzdem
+nochmal kurz erwaehnen, www.filmquiz.de
+Dort im Speziellen die Downloadkwizze, man braucht dafuer nur Excel (oder ein
+Programm das Excel Dateien oeffnen kann), Spass an Filmen und gute Nerven. :-)
+Die Suchtgefahr ist relativ gross und im dazugehoerigem Forum gibt es
+verschluesselte Hinweise. Wer Zaubertraenke findet kommt auch damit klar.
+Viel Spass beim Kwizzen!
+Grumpf
+
+-----------------------------------------------------------------------------
+
+
+
+Wirflich zu empkehlen: Der Foenig. (Ark, 17. Jan 2008, 22:00:31):
+Zur Einstimmung:
+http://www.kleines-arschloch.de/nf/foenig.stm
+Gesamter Text ist wirflich zum Wegwerken.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wirflich zu empkehlen: Der Foenig. (Alboin, 17. Jan 2008, 22:30:50):
+~#! rn=Ark rt=1200603631 rg=kultur
+~#! tid=1200603631
+Furzwellensender, das muss ich mir merken ;-)
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wirflich zu empkehlen: Der Foenig. (Gloinson, 18. Jan 2008, 01:01:16):
+~#! rn=Ark rt=1200603631 rg=kultur
+~#! tid=1200603631
+Das Ganze gibt es auch als Hoerspiel. Mit Dirk Bach.
+
+Doch, dann wird es richtig kultig. Danke nochmal an die Schenker ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wirflich zu empkehlen: Der Foenig. (Mesirii, 18. Jan 2008, 11:48:05):
+~#! rn=Gloinson rt=1200614476 rg=kultur
+~#! tid=1200603631
+Wann gibts die erste Foenig Improvisation von Ark im MG zum selbst erleben?
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wirflich zu empkehlen: Der Foenig. (Gwen, 18. Jan 2008, 13:18:12):
+~#! rn=Mesirii rt=1200653285 rg=kultur
+~#! tid=1200603631
+Du meinst ArF?
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Rocky Horror Picture Show, Sa. 02.02. in Berlin (Whitetiger, 28. Jan 2008, 18:54:44):
+Am Samstag, dem 02. Februar laeuft im Casablanca in Berlin die Rocky Horror
+Picture Show (in Originalfassung, engl. ohne UT).. Ich werd auf jedenfall
+hingehen, hat noch jemand lust, mitzukommen? :)
+www.casablanca-berlin.de
+
+tiger
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rocky Horror Picture Show, Sa. 02.02. in Berlin (Maharet, 28. Jan 2008, 21:06:56):
+~#! rn=Whitetiger rt=1201542884 rg=kultur
+~#! tid=1201542884
+Hach, das waren noch Zeiten, als man sich verkleidet hat und mit Reis und
+Toast zur Rocky Horror Picture Show oder Rocky Horror Show gegangen ist ...
+man, war ich da noch jung und unverdorben ...
+Viel Spass :)
+
+-----------------------------------------------------------------------------
+
+
+
+Klassisches Musikkabarett (Ennox, 31. Jan 2008, 08:07:42):
+Wer sich unter Kabarett mit und ueber klassische Musik nix vorstellen kann
+und mal jemanden sehen will, der seine Instrumete virtuous beherrscht, kann
+sich mal die Videos der Auftritte von Hans Liberg angucken. Wirklich gut
+gemacht: http://www.hansliberg.com/index-DL.htm
+Mesi, war da am Dienstag in Berlin bei ihm
+
+-----------------------------------------------------------------------------
+
+
+
+Suche Buecher (Vanion,  1. Feb 2008, 22:01:27):
+Hallo,
+
+ich bin auf der Suche nach zwei Buechern von Stephen Baxter:
+ Timelike Infinity
+ Raft
+
+Hat die jemand zufaellig im Fundus? Beide sind mittlerweile vergriffen und
+aufendig in englischen Antiquariaten zu bekommen. Wenn mir jemand eins von den
+beiden leihen kann oder sogar ganz ueber hat, waere ich sehr dankbar.
+
+Fuer Interessierte: Die beiden Buecher gehoeren zu dem sogenannten
+Xeelee-Zyklus von Baxter, einem Hard SF-Zyklus der Geschichten aus
+verschiedenen Phasen des Universums erzaehlt. Eine Premisse dieser Buecher
+ist, dass das Universum voll von Leben ist, nicht zwingend organisch, nicht
+zwingend biologisch, teilweise nicht mal barionisch. Wie gesagt, hartes SF,
+aber superspannend. Die Art, wie Baxter in Exultant die Geschichte der Xeelee
+beschreibt ... ein Hammer.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Suche Buecher (Vector,  1. Feb 2008, 22:11:27):
+~#! rn=Vanion rt=1201899687 rg=kultur
+~#! tid=1201899687
+
+http://www.fantasticfiction.co.uk/b/stephen-m-baxter/
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Suche Buecher (Ark,  1. Feb 2008, 22:32:37):
+~#! rn=Vector rt=1201900287 rg=kultur
+~#! tid=1201899687
+Wie, die bringen mich erst Juli 2009 raus?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Suche Buecher (Vanion,  1. Feb 2008, 23:02:40):
+~#! rn=Ark rt=1201901557 rg=kultur
+~#! tid=1201899687
+Ja aber solange kannste ja Redemption Ark von Alastair reynolds lesen:
+http://www.infinityplus.co.uk/nonfiction/redemptionark.htm
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Suche Buecher (Vanion,  1. Feb 2008, 23:05:04):
+~#! rn=Vanion rt=1201899687 rg=kultur
+~#! tid=1201899687
+Danke an Maharet fuer den Tip, http://us.bookbutler.com/ zu benutzen. Ich habe
+die beiden Buecher da sogar noch neu gefunden.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Suche Buecher (Grimmborn,  1. Feb 2008, 23:05:39):
+~#! rn=Vanion rt=1201903360 rg=kultur
+~#! tid=1201899687
+Und wenn Du Dich dann in den Buechern verloren hast schicken wir die Raiders
+of the lost Ark los.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Suche Buecher (Maharet,  1. Feb 2008, 23:07:15):
+~#! rn=Vanion rt=1201903504 rg=kultur
+~#! tid=1201899687
+Ich haette vielleicht de.bookbutler.com statt nur Bookbutler sagen sollen,
+aber wenn du ueber die US-Seite auch an eine geeignete Quelle gekommen bist,
+ist's ja auch gut :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Suche Buecher (Vanion,  1. Feb 2008, 23:08:21):
+~#! rn=Maharet rt=1201903635 rg=kultur
+~#! tid=1201899687
+Hab nur den ersten Hit bei Google genommen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Suche Buecher (Mesirii,  3. Feb 2008, 09:26:56):
+~#! rn=Vanion rt=1201903701 rg=kultur
+~#! tid=1201899687
+Weil, de.bookbutler.info berechnet auch gleich noch die Versandkosten nach
+D und den Umrechnungskurs in EUR ein, bei dem Preisvergleich.
+Fazit: Amazon.de is teuer bei englischen Buechern.
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Frisch erlebt ... (Ark, 26. Feb 2008, 00:47:38):
+So, komme grad vom Konzert in der Jahrhunderthalle, dachte, schreib ich gleich
+mal was dazu :-)
+
+Vorgruppen: Krieger (jojo) und Pain ... lassen wir es bei der Feststellung,
+dass es musikalische Blasenentzuendungen waren, Stimmungsekzeme, wie man
+unschwer an den unamused tippelnden Mitbesuchern ablesen konnte. Buaeh.
+
+Laengeres (25min?) Warten wurde dann aber absolut belohnt, als Nightwish
+endlich auftraten. Holla, bravo Anette, die sang wirklich klasse. Highlights:
+Sahara, Nemo (in der Tat!), Amaranth, 7 Days to the Wolves und Poet & the
+Pendulum.
+Nur eine Nummer fiel etwas ab, das war Wishmaster, da hat man gemerkt, das ist
+nicht ihre Welt, ansonsten wirklich tolle Stimme. Gut drauf waren alle, und
+Marco hat ebenfalls bewiesen, stimmlich eine perfekte Ergaenzung zu sein.
+Selten habe ich so einen gut abgestimmten Sound gehoert wie hier ... na gut,
+die Vorgaenger halfen auch sehr gut dabei, Nightwish entsprechend aussehen zu
+lassen. Optisch wurde auch fleissig eingeheizt mit rhythmischen
+Flammenbaellchen, Schnee und zum Schluss noch pyrotechnische Feuerwerke und
+kleine Flammenwalzen.
+Von den aelteren Platten wurde vor allem noch einiges von Once gebracht (Dark
+Chest of Wonders, und zum Abschluss noch Wish I had an Angel) und
+erfreulicherweise (fuer mich) noch Christabel und Slaying the Dreamer aus dem
+Century Child Album.
+Schade, dass incl. Zugaben nach 90 Minuten schon Schluss war. Fuer alle, die
+noch hingehen duerfen: Ohren vorgluehen und begeistert sein :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frisch erlebt ... (Humni, 26. Feb 2008, 12:02:41):
+~#! rn=Ark rt=1203983258 rg=kultur
+~#! tid=1203983258
+Ich war zwar nicht da, aber Ende Dezember beim "On a dark winters
+Night"-Festival, wo Nightwish Headliner waren, und kann mich nur anschliessen.
+Wer geglaubt hat, das wird ohne Tarja nix mehr, hat sich getaeuscht. Und man
+hat das Gefuehl, dass da "ein Team" auf der Buehne steht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Frisch erlebt ... (Marcus, 26. Feb 2008, 12:03:33):
+~#! rn=Humni rt=1204023761 rg=kultur
+~#! tid=1203983258
+Ich habe jetzt die Best Of von vor dem Wechsel und auch die neue, und beides
+klingt gleich ... ob gut oder schlecht kann ich mich aber noch net entscheiden
+;)
+
+Ciao, Marcus (erst neuer Nightwish Hoerer)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Frisch erlebt ... (Gloinson, 26. Feb 2008, 12:05:31):
+~#! rn=Marcus rt=1204023813 rg=kultur
+~#! tid=1203983258
+Wenn es gleich klingt ist's doch aber auch nicht gut? ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frisch erlebt ... (Lug, 26. Feb 2008, 13:33:30):
+~#! rn=Ark rt=1203983258 rg=kultur
+~#! tid=1203983258
+Da haste aber Glueck gehabt, Ark. denn "Slaying the Dreamerr" wurde erst in
+frankfurt auf die Setliste gehoben ;)
+
+Und sag noch was ggen Pain und ich schicke Dir ein paar Norweger...
+
+Cheers!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Frisch erlebt ... (Jimdigriz, 26. Feb 2008, 14:01:08):
+~#! rn=Lug rt=1204029210 rg=kultur
+~#! tid=1203983258
+Hmm hab mir nach gewissen Hinweisen (glaub sogar von hier),
+die highest hopes (wohl so ne best-of) gekauft.
+War leider ziemlich rausgeworfenes Geld, kam mir super
+langweilig vor. Nun die Frage an die Fans, ist die Scheibe
+characteristisch (also Nightwish einfach nur nicht mein Ding),
+oder gaebe es deutlich bessere reinhoer Tips?
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Frisch erlebt ... (Humni, 26. Feb 2008, 14:35:12):
+~#! rn=Marcus rt=1204023813 rg=kultur
+~#! tid=1203983258
+Hmm. Du bemerkst nicht, dass Tarja eher eine Opernstimme hat? Ist eigentlich
+kaum zu ueberhoeren, und war auch lange (eines) von Nightwishs Markenzeichen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Frisch erlebt ... (Ark, 26. Feb 2008, 18:12:32):
+~#! rn=Lug rt=1204029210 rg=kultur
+~#! tid=1203983258
+Och, ich steh dazu, Pain war selbiges in my ass. Bring on the Vikings, they
+cannot be more off track :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Frisch erlebt ... (Ark, 26. Feb 2008, 18:15:23):
+~#! rn=Humni rt=1204032912 rg=kultur
+~#! tid=1203983258
+Ja, Tarja hat Sopran Ausbildung (klassisch), Anette eher nicht. Hoert man, sie
+hat gestern bei Dark Chest of Wonders elegant nach unten abgebogen, aber ich
+sag mal, auch Tarja singt eine ganze Tour lang nicht so wie bei
+Studio-Aufnahmen, deshalb tut das nichts zur Sache. Opernstimme ... hm, was
+ist das denn genau? ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mudder beim Wacken Open Air 2008? (Zesstra, 12. Mar 2008, 19:31:35):
+Besucht von euch jemand dieses Jahr das WOA Festival? (31.7. - 02.08) Evtl.
+koennte man dann ja gemeinsam Zelte aufschlagen...
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+LOTR Musical (Mesirii, 14. Mar 2008, 00:27:27):
+Ich geh am Freitag Abend hier in London ins Herr der Ringe Musical. Bin
+ja mal gespannt, wie das so ist.
+Kostproben hier: www.lotr.com
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Nightwish in Dortmund (Zesstra, 20. Mar 2008, 00:12:15):
+Mhmm, also, ich berichte dann auch mal vom Nightwish-Konzert, diesmal das in
+Dortmund. (Alles rein subjektive Meinung und keine in irgendeiner Weise
+fachliche.)
+Also, die ersten Vorgruppe, Krieger, haette man sich einfach sparen koennen.
+Das beste Attribut war da IMHO noch "laut". Uebrigens war der Bassgitarrist
+recht amuesant, der sah aus, als ob er staendig den Mund voll haette. Chagall
+kommentierte das mit "Sieht aus, als ob er jeden Moment auf die Buehne kotzen
+wuerde."
+Pain war fuer mich jetzt ne positive Ueberraschung. Wird sicher nicht meine
+Lieblingsband, aber konnte man sich anhoeren. Sie haben auch mit dem Publikum
+interagiert und es kam das erste Mal Stimmung auf. Ingesamt haette man Krieger
+weglassen und Pain laenger spielen lassen koennen (wenn schon Nightwish nicht
+laenger spielt *g*).
+Ok, nach ca. 1.75h Vorgruppen und Umbau kam dann Nightwish... Also, grandiose
+Show, kamen auch sehr gut an. Ich kann da gerade meine Lieblingsstuecke nicht
+praezisieren, aber Poet and the Pendulum, Sahara, Bye Bye Beautiful, The
+Islander gehoeren dazu. Dark Chest of Wanders und Wish I had an Angel waren
+auch toll (letzteres war die letzte Zugabe). Nightwish war offenbar auch gut
+drauf und hatten anscheinend auch Spass an der Angelegenheit. ;-) Marco und
+Anette haben schoen mit dem Publikum interagiert und sich auch gut ergaenzt.
+BTW: Ich fand, sie singt im Konzert hoeher als auf der CD. Das empfand ich
+zuerst als etwas gewoehnungsbeduerftig. Ansonsten heizten div. Licht- und
+Pyroeffekte (im wahrsten Sinne des Wortes) die Stimmung mit an. Nightwish hat
+bei uns dann ca. 1.5h gespielt.
+Insgesamt: Fuer mich eine tolle Veranstaltung, die natuerlich (wie immer bei
+sowas) viel zu schnell vorueber war. Wer Nightwish mag, sollte sich das nicht
+entgehen lassen.
+(Schade, dass man nach den 6h Stehen insgesamt, doch so mued ist, aber
+trotzdem nicht schlafen kann.)
+Achja: Wann kommt bloss das naechste Album raus? ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nightwish in Dortmund (Chagall, 20. Mar 2008, 17:05:42):
+~#! rn=Zesstra rt=1205968335 rg=kultur
+~#! tid=1205968335
+Also ehrlich, die Fresse die der gezogen hat, da konnte man doch echt meinen,
+dass er gleich auf die Buehne reiert. Und der Drummer von Krieger hat zweimal
+in einem Lied einen seiner Sticks verloren, sich dabei aber nicht aus der Ruhe
+bringen lassen sondern er hat weitergespielt.
+
+Ueber Pain war ich positiv ueberrascht, die haetten wirklich ruhig ein wenig
+laenger spielen koennen.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Whisky (Ark, 10. Mai 2008, 23:46:04):
+
+A short summary of things I did in my vacation
+
+By Ark of Scotland
+
+Distilleries visited:
+
+Islay:
+Lagavulin
+Ardbeg
+Bowmore
+Bruichladdich
+
+West Coast:
+Oban
+
+Speyside:
+Cragganmore
+Dalwhinnie
+
+Distillery planned but not visited due to lack of time:
+Talisker ... todo list++;
+
+Whisky tasting:
+- peatiest whisky ... Ardbeg Uigeadail cask strength 54.2%
+- best whisky ... Cragganmore 14 years, "Friends Edition"
+- "smoothest whisky": Bruichladdich 12 years, directly from Sherry cask
+  (no bottles ever shipped!)
+
+Friendliest distillery:
+Cragganmore
+
+Smallest distillery:
+Oban
+
+Whisky "trophies":
+Oban 14 years
+Cragganmore, Distillers Edition, 14 years
+Caol Ila, 12 years
+Glenfiddich 12, 15, 18 50cl small bottles
+
+Facts that survived various tastings:
+Bowmore -> only distillery on Islay still malting the barley on site
+Tallest stills in all single malt distilleries -> Glenmorangie
+First single malt distillery in Scotland -> Glenfiddich
+Oban -> Only distillery that resides in a town ... a real town
+Most popular Scottish Single Malt Whisky -> Glenmorangie
+1.300 -> British Pounds for your personal cask at Bruichladdich ...
+"See it filled via webcam"
+3 years -> time the spirit must reside in a cask to be called "Whisky"
+8 -> number of distilleries on Islay:
+Laphroaig, Lagavulin, Ardbeg, Bowmore, Bruichladdich, Caol Ila,
+Bunnahabhain, Kilchoman (opened in 2005, no output yet :-))
+Port Ellen -> closed down distillery on Islay, today malting the barley
+for all Islay distilleries (except Bowmore)
+
+Resume:
+Stop reading ... go there! :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Whisky (Ark, 11. Mai 2008, 00:16:42):
+~#! rn=Ark rt=1210455964 rg=kultur
+~#! tid=1210455964
+Noch ein Tip ... mein Pass von den Friends of the Classic Malts (jaja, aus
+DiaGeo Sicht) war leider noch vor Reiseantritt nicht da, deshalb sehr zeitig
+anmelden, falls man die Distillen besuchen will (www.malts.com), gibt freien
+Eintritt, und (wichtiger) man bekommt Nachrichten (kein Spam) ueber exclusive
+Bottlings, die es sonst nirgendwo gibt. Marketing? Maybe, aber einiges, was
+wir probiert haben, war schon recht ueberzeugender Stoff :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Schandmaul: Stahlwerk Duesseldorf, 26.11.08 (Zesstra,  9. Jul 2008, 01:04:40):
+Huhu,
+
+nachdem ich jetzt am So einmal Schandmaul live gesehen hab, moechte ich mir
+die mal in einem 'normal-langen' Konzert anschauen und zwar am 26.11.08 in
+Duesseldorf (Support: Letzte Instanz).
+Mag jemand mitkommen? Falls ja, kann ich gerne bei kurzem Hinweis ne Karte
+mitbestellen/-kaufen (je 26,80EUR).
+
+Viele Gruesse,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Ark, 11. Aug 2008, 22:02:00):
+Jon Fasman
+Die Bibliothek des Alchemisten
+Heyne, Taschenbuch, Euro 8,95.
+Gefaellt, auch vor allem wegen des Einbaus der Ausstellungsstuecke und ihrer
+Einflechtung in die Story ... wird erst so nach und nach klar. Mir hat's
+gefallen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Ark, 11. Aug 2008, 22:29:25):
+~#! rn=Ark rt=1218484920 rg=kultur
+~#! tid=1218484920
+Und weil ich heute grosszuegig bin, gleich noch eins ... obwohl ich das
+vielleicht schonmal vor Uhrzeiten hier geschrieben hab, egal.
+
+Iain Pears
+Das Urteil am Kreuzweg
+Diana, Taschenbuch, Euro 10,00.
+Nette Story, durch vier verschiedene Personen erzaehlt, ohne schon fruehzeitig
+etwas zu verraten, man weiss wirklich erst nach 800 Seiten, was wirklich
+passierte. Es geht freilich um Mord, Mord in Oxfords New College im Jahr 1663.
+Macht Spass zu lesen, war in 3 Tagen durch.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Zesstra, 11. Aug 2008, 22:38:27):
+~#! rn=Ark rt=1218484920 rg=kultur
+~#! tid=1218484920
+Das hab ich letztes Jahr auch gelesen. Ist nicht zu meinen Lieblingsbuechern
+aufgestiegen, aber durchaus lesenswert.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Muahaha (Ark, 18. Sep 2008, 22:03:43):
+HottenTottenTanz 
+
+haetten hottentotten tueten
+taeten sie mit tuten toeten 
+
+wuerden loewen tragen brillen
+wuerden sie mit wuerde bruellen 
+
+strickend stieren sture stiere
+stoerend an vier wirbeltiere 
+
+schaffen am schafott die schlaechter
+schlafen schlaffe schafe schlechter 
+
+rangen fangen schlanke schlangen
+bang mit langen stangenzangen 
+
+schnaufend streicheln scheue schnecken
+schraeg umschleichend schlanke stecken 
+
+schall des falles eines balles:
+allenfalles ballt sich alles 
+
+grantig tanzen elefanten
+mit verbannten anverwandten 
+
+angebrannte elefanten
+tanzen mit verkannten tanten 
+
+kleine eimer fein zu leimen
+scheint sich beinah rein zu reimen 
+
+kuehne kuehe kuessen kuehler
+buehnenkuenstler fuehlen schwueler 
+
+schweinen, scheinbar weinend, reinlich
+scheinen kleine beine peinlich 
+
+ueber rasen rasen hasen
+blasend glas fuer glatte vasen.
+
+Gruesse an Humni.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Saltatio Mortis, 6.11. in Essen (Zesstra,  4. Okt 2008, 13:29:03):
+Huhu,
+
+hat jemand Lust mit zum Saltatio-Mortis-Konzert am 6.11. in die Zeche Carl in
+Essen gehen?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Saltatio Mortis, 6.11. in Essen (Zesstra,  4. Okt 2008, 13:48:16):
+~#! rn=Zesstra rt=1223119743 rg=kultur
+~#! tid=1223119743
+Ok. Ich ziehe die Frage zurueck. Das Konzert faellt aus, weil die Zeche Carl
+am 1.10. Insolvenz angemeldet hat. :-( Naechste Gelegenheit, sie im Ruhrgebiet
+zu sehen, waere dann wohl am 13.12. zusammen mit Doro Pesch in Duesseldorf.
+Ist aber sicherlich kuerzer.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Spielemesse (Zesstra,  6. Okt 2008, 00:33:38):
+Ist eigentlich irgendeiner von euch dieses Jahr auf der Spielemesse in Essen?
+Und hat Lust auf nen Treffen im Anschluss?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spielemesse (Humni,  6. Okt 2008, 01:35:39):
+~#! rn=Zesstra rt=1223246018 rg=kultur
+~#! tid=1223246018
+Ich werde wohl auch da sein. Welche Tage weiss ich noch nicht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Subway to Sally, 27.12., Bochum (Zesstra, 25. Okt 2008, 09:27:23):
+Am 27.12. treten Subway to Sally in Bochum im Ruhrkongress auf. Vorgruppe ist
+vorraussichtlich Delain.
+Ich denke, ich werde da mal hingehen, ist ne willkommene Abwechslung zum
+Weihnachtsmusikgedudel. ;-) Mag jemand mitkommen?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Subway to Sally, 27.12., Bochum (Gloinson, 25. Okt 2008, 11:11:01):
+~#! rn=Zesstra rt=1224919643 rg=kultur
+~#! tid=1224919643
+Was bitteschoen magst du denn an folgendem Klassiker nicht, dass du ihn nicht
+ungefaehr 274mal pro Woche hoeren kannst?
+
+Chorus: 
+Last Christmas, I gave you my heart
+But the very next day, You gave it away
+This year, to save me from tears
+I'll give it to someone special (2X)
+
+Once bitten and twice shy
+I keep my distance but you still catch my eye
+Tell me baby do you recognise me?
+Well it's been a year, it doesn't surprise me
+
+(Happy Christmas!) I wrapped it up and sent it
+With a note saying "I Love You" I meant it
+Now I know what a fool I've been
+But if you kissed me now I know you'd fool me again
+
+Chorus:
+
+(Oooh. Oooh Baby)
+
+A crowded room, friends with tired eyes
+I'm hiding from you and your soul of ice
+My God I thought you were someone to rely on
+Me? I guess I was a shoulder to cry on
+A face on a lover with a fire in his heart
+A man undercover but you tore me apart
+Oooh Oooh
+Now I've found a real love you'll never fool me again
+
+Chorus:
+
+A face on a lover with a fire in his heart
+(Gave you my heart)
+A man undercover but you tore me apart
+Next year
+I'll give it to someone, I'll give it to someone special
+special, someone, someone
+I'll give it to someone, I'll give it to someone special
+who'll give me something in return
+I'll give it to someone
+hold my heart and watch it burn
+I'll give it to someone, I'll give it to someone special
+I've got you here to stay
+I can love you for a day
+I thought you were someone special
+gave you my heart
+I'll give it to someone, I'll give it to someone
+last christmas I gave you my heart
+you gave it away
+I'll give it to someone, I'll give it to someone
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Subway to Sally, 27.12., Bochum (Gwen, 26. Okt 2008, 10:20:54):
+~#! rn=Gloinson rt=1224925861 rg=kultur
+~#! tid=1224919643
+...aeh?
+<Es fehlen die Worte.>
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Time Odyssey: Firstborn (Zesstra,  2. Nov 2008, 19:18:27):
+Ich hab jetzt 'Firstborn' von Clarke und Baxter gelesen, welches ihre 'Time
+Odyssey' Reihe abschliesst. Ich finde alle drei Buecher sehr lesenwert. Wer
+sich fuer Science Fiction abseits von StarTrek und StarWars interessiert,
+sollte wirklich mal reingucken. Es hat auch nix vom ueblichen
+"Zeitreise-Kitsch", wie man zuerst denken koennte. Zu schade, dass die Reihe
+jetzt endgueltig abgeschlossen ist (einerseits war das so geplant,
+andererseits ist Clarke inzwischen leider gestorben).
+Gewoehnungsbeduerftig (wie schon bei Time's Eye und Sunstorm) ist allerdings
+das Ende. Die Handlung wird zwar abgeschlossen, gleichzeitig ists aber auch
+nen Cliffhanger und die Hintergruende bleiben immer noch teilweise diffus. Bei
+den ersten beiden war das ja OK, beim letzten Band bleibt etwas das Gefuehl
+des Verlustes zurueck.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Interfilm (Whitetiger, 11. Nov 2008, 20:41:34):
+Letzte Woche war in Berlin das diesjaehrige Kurzfilmfestival Interfilm. Ich
+hab's immerhin zu drei Programmen geschafft, allerdings habe ich nur einige
+der "Filmgedichte" des "Zebra Poetry Film Awards" im Netz finden koennen. Zum
+kurzweiligen (und recht kurzen) Zeitvertreib:
+
+The Technical Hitch [06'10"]
+http://www.youtube.com/watch?v=Yq_i-swEK14
+
+Silencijum [10'04"]
+http://www.youtube.com/watch?v=knhj7Ums3qM
+
+Square Pears, Rare Bears [01'00"]
+http://www.commafilm.co.uk/films/squarebears
+
+The Present [01'30"]
+http://www.youtube.com/watch?v=fnYHdhsh804
+
+Procrastination [04'15"]
+http://www.jerwoodmovingimage.org/standaloneFinalistsPlayer.asp?id=14
+
+Ham [01'00"]
+http://www.commafilm.co.uk/films/ham
+
+Auch sehr schoene Filme, die ich im Netz leider nicht finden konnte:
+
+"Azul Hiel Lugubre Nectar" von Luis Felipe Hernandez Alanis
+"Bertram" von Lara Kristindottir et al.
+
+"Leccion relampago" von Alejandro Lubezki
+"Rebelion" von Alberto Mar
+
+"The Needful Head" ist auch schn, Trailer:
+http://www.theneedfulhead.com/NH_Trailer.mov
+
+Die ganzen Wettbewerbsfilme wie "Ripple" von Paul Gowers und "Fathom" von
+Vladimir Jedlicka gibt es leider nicht zum so schauen...
+
+Und als abschreckendes Beispiel den mit Abstand schlechtesten (und den
+einzigen, bei dem tatsaechlich eine Person gebuht hat...):
+Statement of the Art [03'00"]
+http://www.ericascourti.com/art_pages/statement_pf_the_art.html
+
+Viel Spass beim Anschauen!
+tiger
+
+-----------------------------------------------------------------------------
+
+
+
+Teil 6/3 (Gloinson, 15. Okt 2009, 12:25:50):
+... ist raus. Von Eoin Colfer. Wer Colfer gelesen hat, wird zumindest gespannt
+sein, was er aus der Anhalterwelt so macht, es kann nur abgedrehter werden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+A Wise Man's Fear ... (Wintersturm,  5. Nov 2009, 02:04:25):
+Haha, nach dem ersten Buch (schon recht gut geschrieben, auch wenn es dem
+einen oder anderen langatmig vorkommen mag - Geschmackssache) wartet hier ja
+jeder auf das zweite ... das hier hab ich dann gefunden, als ich schauen
+wollte, wann es kommt:
+http://www.patrickrothfuss.com/blog/2009/02/concerning-release-of-book-two.htm
+l
+
+Bloede Blogs :-)
+
+Wintersturm Eiskralle
+
+-----------------------------------------------------------------------------
+
+
+
+Avatar (Vanion, 19. Dez 2009, 16:28:29):
+Manchmal freut man sich ja irre auf ein Ereignis, dass noch in der Zukunft
+liegt. Dann geht es mir gelegentlich so, dass ich derartig hohe Erwartungen
+daran knuepfe, dass das eigentliche Ereignis kaum noch an die
+Erwartungshaltung anknuepfen kann. Bei Filmen geht es mir oft so ...
+
+Nach allem was ich im Voraus ueber Avatar von James Cameron gelesen hab, waren
+meine Erwartungen riesig, und ich hatte Sorge, dass selbige einen sonst
+eigentlich tollen Film(abend) versauen koennten. Um es auf den Punkt zu
+bringen: Dem war nicht so. Ich habe fast 3 Stunden staunend die Kinoleinwand
+betrachtet und mich wie ein kleines Kind gefuehlt. 
+
+Mein Fazit:
+Story:      8/10
+Handwerk:  10/10 (Sowohl Schauspieler als auch Dramatik, Kamerafuehrung etc.)
+3D:        Das sind nicht mehr die 3D-Spielereien wie in Spy Kids und co.
+
+Der Film hat meiner Meinung echtes Potenzial, ein Genre-Klassiker zu werden,
+und der 3D-Technik den Durchbruch zu bringen. Hier gibt es nicht, zwei, drei
+Ebenen, die aussehen wie eine Theaterkulisse, der Film ist plastisch. Und
+dieser Effekt wird wenig fuer Effekthascherei genutzt sondern unterstuetzt
+subtil das Erzaehlen einer Geschichte. In diesen Film geh ich noch mal.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+"Metropolis" auf arte (Gloinson, 12. Feb 2010, 14:40:06):
+Moin,
+
+heute gibt es die restaurierte Version von Metropolis auf arte.
+
+http://www.arte.tv/de/3055836.html#5
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hast du heute schon gehegemannt? (Gloinson, 17. Feb 2010, 00:01:08):
+http://preview.tinyurl.com/yglq4ot
+http://www.wissenslogs.de/wblogs/blog/sprachlog/sprachwandel/2010-02-13/die-sp
+iegelung-eines-plagiats-in-der-erschaffung-von-w-rtern
+
+
+-----------------------------------------------------------------------------
+
+
+
+Cyberwar ... (Gloinson,  5. Mar 2010, 15:36:49):
+Immer wenn mal wieder die Cyberwar-Sau durch das globale Netz getrieben wird
+muss ich an die Sotry von Doctorow denken:
+http://baens-universe.com/articles/When_Sysadmins_Ruled_the_Earth
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues... (Gabylon, 14. Apr 2010, 00:53:21):
+... aus der Anstalt.
+Die neueste Folge ist aeusserst sehenswert, Priol mal wieder ueberragend.
+Hier gibts die Wiederholungstermine auf einen Blick: tinyurl.com/5dyzsv
+
+gab
+
+-----------------------------------------------------------------------------
+
+
+
+Maverick (Gabylon, 26. Apr 2010, 19:55:07):
+Man kann ihn sich immer wieder anschauen. Mel Gibson in Hochform und in
+einem seiner besten Filme. Heute abend, Kabel 1, 20:15.
+
+-----------------------------------------------------------------------------
+
+
+
+Stillleben Ruhrschnellweg (Zesstra,  3. Jul 2010, 23:12:47):
+Huhu,
+
+am 18.7. ist das Stillleben Ruhrschnellweg. Bei diesem wird die A40 im
+Ruhrgebiet auf 60km gesperrt und dort soll zwischen 11:00 und 17:00 ne Art
+verteilte Party gefeiert werden.
+Falls sich jemand dafuer interessiert:
+http://www.ruhr2010.still-leben-ruhrschnellweg.de/
+
+Soweit ich weiss, gibt es am 18.7. auch einen Fruehstuecks-Stati im Mandragora
+in Bochum, d.h. da gibt es die Gelegenheit, beide Besuche zu verknuepfen...
+;-) Vom Mandra kommt man auch relativ guenstig mit OePNV sowohl nach Osten wie
+Westen von Bochum zur A40. (Allerdings sollte man dann ausnahmsweise nicht
+ewig lang im Mandra sitzen bleiben, da 17:00 Ende ist und ab 16:30 keiner mehr
+auf die A40 gelassen wird.)
+
+Wer an dem Tag per Auto durchs Ruhrgebiet muss: umfahren. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Starcraft 2 (Vanion, 16. Aug 2010, 21:22:53):
+Moin ihr Lieben,
+
+falls es hier Leute geben sollte, die abstreiten SC2 zu spielen, ich gehoere
+nicht dazu!
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Starcraft 2 (Zesstra, 16. Aug 2010, 21:23:33):
+~#! rn=Vanion rt=1281986573 rg=kultur
+~#! tid=1281986573
+:hat nichtmals Starcraft 1 gespielt und fuer SC2 erst recht keine Zeit. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Starcraft 2 (Vanion, 16. Aug 2010, 21:31:01):
+~#! rn=Zesstra rt=1281986613 rg=kultur
+~#! tid=1281986573
+Anyhow. Bin /manchmal/ unter Riyu.971 erreichbar. Bitte Mudnamen angeben.*
+
+V*
+* Bei meinen ersten Mudparty-Anmeldungen hab ich hier immer MorgenGrauen
+  angegeben und fand die Frage daemlich *huestel*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Starcraft 2 (Alboin, 16. Aug 2010, 22:11:44):
+~#! rn=Vanion rt=1281987061 rg=kultur
+~#! tid=1281986573
+Ich warte noch etwas die Entwicklung ab. Einerseits weil ich wohl erst wieder
+im Herbst/Winter zum zocken komme, andererseits weil ich hoffe das noch ein
+paar Restriktionen rausfliegen.
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Starcraft 2 (Croft, 16. Aug 2010, 22:15:44):
+~#! rn=Alboin rt=1281989504 rg=kultur
+~#! tid=1281986573
+Welche im speziellen?
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Starcraft 2 (Alboin, 16. Aug 2010, 22:18:47):
+~#! rn=Croft rt=1281989744 rg=kultur
+~#! tid=1281986573
+Wie ich hoerte gehen lanpartys nicht und als workaround kann man sich im
+battlenet auch nicht den gegner aussuchen.
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Starcraft 2 (Gloinson, 16. Aug 2010, 22:20:45):
+~#! rn=Alboin rt=1281989927 rg=kultur
+~#! tid=1281986573
+Ich las da einen Quickreview - fuer LANs gibt es irgendwelche Gastaccounts,
+geht sehr wohl.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Starcraft 2 (Gloinson, 16. Aug 2010, 22:25:56):
+~#! rn=Alboin rt=1281989927 rg=kultur
+~#! tid=1281986573
+http://www.golem.de/showhigh2.php?file=/1008/77087.html&wort[]=starcraft
+
+LAN-Parties gehen ohne Internet nicht. Ansonsten wie gehabt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Starcraft 2 (Croft, 16. Aug 2010, 22:30:37):
+~#! rn=Gloinson rt=1281990356 rg=kultur
+~#! tid=1281986573
+Fuer das Zusammenspiel kann man einfach eine Party aufmachen.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Starcraft 2 (Gloinson, 16. Aug 2010, 22:38:19):
+~#! rn=Croft rt=1281990637 rg=kultur
+~#! tid=1281986573
+Naja, die Beschwerden kommen letztlich aus der ueblichen Ecke der
+casual-cracked-gamer, die damit halt nicht mehr zum Spielen kommen. Unsere
+LANs sahen ja meist auch so aus ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Starcraft 2 (Croft, 16. Aug 2010, 22:51:04):
+~#! rn=Gloinson rt=1281991099 rg=kultur
+~#! tid=1281986573
+Jo, Kaufen und Inet Zugang ist wohl die Devise.  Wuerd mich wundern wenn
+sich da was aendert.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Starcraft 2 (Highlander, 17. Aug 2010, 10:08:56):
+~#! rn=Croft rt=1281991864 rg=kultur
+~#! tid=1281986573
+Ich beschwere mich auch darueber, und ich habe SC/BW im Original.
+Ist uebrigens ein wichtiger Grund, warum ich SC2 nicht habe.
+
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Starcraft 2 (Zook, 17. Aug 2010, 12:47:54):
+~#! rn=Vanion rt=1281986573 rg=kultur
+~#! tid=1281986573
+Wieso stehtn das in "kultur"? ;) Eine neue Kultur des Nichtabstreitens?
+Z
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Starcraft 2 (Vanion, 22. Aug 2010, 20:01:34):
+~#! rn=Zook rt=1282042074 rg=kultur
+~#! tid=1281986573
+Fand keine bessere Rubrik. Gaming ist aus meiner Sicht Kultur. Natuerlich ist
+es keine Hochkultur, aber wer will das schon sein.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Starcraft 2 (Vanion, 22. Aug 2010, 20:03:36):
+~#! rn=Vanion rt=1282500094 rg=kultur
+~#! tid=1281986573
+Muss ich in dem Kontext loswerden: Hab nie verstanden, warum "Die Lustige
+Witwe" ernste Musik ist und Bily Joels "Leningrad" nicht.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Filmtricks (Vanion, 22. Aug 2010, 22:35:16):
+Aus gegebenem Anlass: Ich finde, dass Zeitlupe gern gekoppelt mit dem
+Darstellen der Szene aus verschiedenen Perspektiven in Filmen ein ganz uebeler
+Trick ist und dem Regisseur sofortiges Arbeitsverbot einbringen sollte.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filmtricks (Zesstra, 22. Aug 2010, 22:36:02):
+~#! rn=Vanion rt=1282509316 rg=kultur
+~#! tid=1282509316
+Sonderlich gern mag ich sowas idR auch nicht.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Filmtricks (Ark, 22. Aug 2010, 22:39:09):
+~#! rn=Zesstra rt=1282509362 rg=kultur
+~#! tid=1282509316
+Dann habt ihr in dieser Rubrik eigentlich nix verloren, ab nach
+kultur.ahnungslose :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Filmtricks (Humni, 22. Aug 2010, 22:47:30):
+~#! rn=Ark rt=1282509549 rg=kultur
+~#! tid=1282509316
+Um welchen Film geht es?
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Filmtricks (Zook, 23. Aug 2010, 09:07:45):
+~#! rn=Vanion rt=1282509316 rg=kultur
+~#! tid=1282509316
+Was war der Anlass?
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Yehuda Moon (Gloinson, 24. Aug 2010, 13:17:37):
+Radfahrercomicstrip. Amuesant und ironisch. Auch als Buch verfuegbar, wie ich
+gerade sehe:
+
+http://www.yehudamoon.com/
+www.lulu.com/browse/search.php?fSearch="yehuda+moon"&fSearchData[lang_code]=al
+l
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Filmtricks (Vanion, 26. Aug 2010, 21:04:30):
+~#! rn=Zook rt=1282547265 rg=kultur
+~#! tid=1282509316
+Weiss ich gar nicht mehr. Ich reg mich immer auf, wenn Zeitlupen benutzt
+werden, um Schauspielern die nichtvorhandene Faehigkeit, Emotionen
+darzustellen, reinzutricksen. Noch mehr reg ich mich auf, wenn maessige
+Martial Arts Szenen durch SloMo-Wiederholungen aus verschiedenen Perspektiven
+verlaengert werden. Am schlimmsten ist das in an sonsten brauchbaren Filmen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Filmtricks (Alboin, 26. Aug 2010, 22:29:29):
+~#! rn=Vanion rt=1282849470 rg=kultur
+~#! tid=1282509316
+da habe ich eine gespaltenes Verhaeltnis dazu: einerseits kann man in einem
+Film wie Matrix imho ganz auf Action Szenen verzichten und hat danach eine
+nette philosophische  Plauderstunde. Andererseits habe ich mich bei manchen
+Actionszenen wieder gefragt, wie das technisch moeglich ist. Das war uebrigens
+am deutlichsten bei der bekannten slomo szene wo Neo zum ersten Mal den Kugeln
+der Smiths ausweicht.
+Was meint denn Herr Humni dazu? Ich koennte mir wieder vorstellen, das er
+genaudiese Effekte an den Filmen liebt.
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Filmtricks (Humni, 27. Aug 2010, 13:26:08):
+~#! rn=Alboin rt=1282854569 rg=kultur
+~#! tid=1282509316
+Bei Matrix fand ich es im ersten Teil noch toll, weil neu, und einfach toll
+aussehend. Danach, auch bei den weiteren Matrixteilen, wurde das abgedroschen.
+
+Beim HdR hat man drauf verzichtet, lieber eine "schnelle Schlacht" inszeniert.
+Eigentlich toll, nur das Problem ist, dass manche der Szenen so zu schnell
+werden, um ihnen zu folgen. Das war beim HdR am Rande der Schmerzgrenze,
+andere Filme danach haben das dann hemmungslos ueberzogen. Auch das ist nicht
+gut. 
+
+Keine Ahnung, was der Koenigsweg ist.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Filmtricks (Rumata, 27. Aug 2010, 13:47:51):
+~#! rn=Humni rt=1282908368 rg=kultur
+~#! tid=1282509316
+Bei HdR hab ich sehnsuechtig darauf gewartet, dass sich Gimli dieser
+nervtoetenden Blechlibelle annimt, die dauernd im Kreis um die 
+Helden herumflog.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Filmtricks (Zook, 27. Aug 2010, 14:36:23):
+~#! rn=Humni rt=1282908368 rg=kultur
+~#! tid=1282509316
+Am nervigsten fand ich es bei den Bond-Filmen mit Daniel Craig.
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Filmtricks (Ark, 27. Aug 2010, 15:09:17):
+~#! rn=Humni rt=1282908368 rg=kultur
+~#! tid=1282509316
+Ich weiss nicht, wo das Problem ist ... natuerlich kann man es uebertreiben,
+aber John Woo setzt das imho immer sehr schoen ein. U.a. auch in Animes
+(Appleseed), wo das gut kommt. Naja, vielleicht habt ihr andere Filme als ich
+im Hinterkopf, aber schrottige Filme sind nicht aufgrund der Filmsequenzen
+doof, sondern aufgrund ihres Inhalts :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Filmtricks (Vanion, 28. Aug 2010, 13:33:36):
+~#! rn=Ark rt=1282914557 rg=kultur
+~#! tid=1282509316
+Gerade in Animes wird es in Form von Wiederholungen in verschiedenen
+Vergroesserungen gern genommen um die Laenge des Films auf in D uebliche
+Formate aufzubohren. Bohring!
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Filmtricks (Ark, 30. Aug 2010, 11:33:07):
+~#! rn=Vanion rt=1282995216 rg=kultur
+~#! tid=1282509316
+Gerade in dem war es imo nicht so, grundsaetzlich magst Du recht haben, wobei
+mein Wissen nicht grad breit ist. Miyazaki Filme sind das aber bestimmt nicht
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Realitaet und Bilder (Gloinson,  9. Nov 2010, 10:47:14):
+Laengeres Video. "Myth and Infrastructure". Schattenspiele mit Bildern, sehr
+beeindruckend und schoen.
+
+http://gaurabc.com/glourious_visions
+
+
+-----------------------------------------------------------------------------
+
+
+
+Iz (Gloinson,  9. Nov 2010, 11:26:01):
+Hm. Ich war etwas ueberrascht, Iz' Titel ploetzlich als #1 in den deutsche
+Charts (in einem Flatterblatt) zu finden.
+
+www.zeit.de/gesellschaft/zeitgeschehen/2010-10/israel-kamakawiwoole-rainbow
+
+Ich bin da irgendwann durch eine Nutzung in Scrubs draufgekommen. Eigentlich
+nie diese hier: http://www.youtube.com/watch?v=zTWj7aLbEhI ... aber ich finde
+die Stelle nicht mehr auf Anhieb.
+
+Aus ER koennte man es wohl auch kennen:
+http://www.youtube.com/watch?v=3E4p6ivvMUc
+
+Aber das offizielle Video ist auch ganz nett. Inklusive Seebestattung gegen
+Ende: http://vimeo.com/8578344. Ging wohl auch mal durch megaschmarrn.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Todos Santos (Gloinson,  9. Nov 2010, 12:29:25):
+Ein paar Bilder vom hispanischen Allerheiligen. Ich fand das Fest, dass die
+daraus machen schon mal als Kind in einem Mexiko-Buch. In einem zweiten
+Crow-Teil wurde es auch ganz nett inszeniert:
+
+http://blogs.sacbee.com/photos/2010/11/day-of-the-dead-1.html
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Iz (Alboin,  9. Nov 2010, 22:27:56):
+~#! rn=Gloinson rt=1289298361 rg=kultur
+~#! tid=1289298361
+Mich hat es auch gewundert, das das Lied erst jetzt in D in den charts ist.
+Einer meiner besten Freunde hat es sich zu seiner Hochzeit von der
+musikalischen Familie eines weiteren Ex-Kommiltonen spielen lassen. Das war
+vor ueber einem Jahr. Hat also echt lange gedauert bis es sich rumgesprochen
+hat ;-)
+al
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Iz (Arathorn,  9. Nov 2010, 23:44:45):
+~#! rn=Gloinson rt=1289298361 rg=kultur
+~#! tid=1289298361
+Hatte das incl. der Story drumrum vor 1 oder 2 Jahren schonmal gefunden,
+glaube das war im Blog "Industrial Technology & Witchcraft" - die haben 
+den Titel wohl schon seit langem als eine Art "Hymne" eingefuehrt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Iz (Gloinson,  9. Nov 2010, 23:46:44):
+~#! rn=Arathorn rt=1289342685 rg=kultur
+~#! tid=1289298361
+Na der Titel ist ebenso kackalt wie der Mann tot ist. AFAIK war er wohl schon
+Teil der Musik in "Rendez vous mit Joe Black".
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Iz (Arathorn,  9. Nov 2010, 23:49:24):
+~#! rn=Gloinson rt=1289342804 rg=kultur
+~#! tid=1289298361
+Ja, dass der Titel an sich steinalt ist, weiss ich wohl. ;-) Ich wollte
+mich eigentlich auch mehr mit einem "kenn ich auch schon laenger" beteiligen.
+*g*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Iz (Gloinson,  9. Nov 2010, 23:58:08):
+~#! rn=Arathorn rt=1289342964 rg=kultur
+~#! tid=1289298361
+Ahok, wir sind ja auch schon steinalt. Zumindest in der Bimssteinklasse.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Iz (Vanion, 10. Nov 2010, 21:14:03):
+~#! rn=Gloinson rt=1289298361 rg=kultur
+~#! tid=1289298361
+Hab seine Musik vor Jahren fuer mich entdeckt. Das
+Somewhere-over-the-rainbow/Wonderful-World-Medley wurde in irgendeinem Film
+benutzt. Ich meine Finding Forrester wars. Damals war es uebel schwer an die
+CDs zu kommen. Is heute wohl einfacher, ich goenns ihm.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Iz (Vanion, 10. Nov 2010, 21:29:05):
+~#! rn=Gloinson rt=1289343488 rg=kultur
+~#! tid=1289298361
+Scrubs hat einen recht netten Soundtrack. Gibt echt viele Stuecke, die ich
+super gerne hoere: Good Time von Leroy, Overkill von Colin Hay, Eels sowieso
+(Fresh Feeling), Superman, und ueber allem Cohens Hallelujah in einer
+Hammer-Version von John Cale.
+
+Vielleicht werden die Polyphonic Spree ja auch der naechst Nr 1 Hit in D:
+http://www.youtube.com/watch?v=mUHgKBw994A
+
+Ueberrascht war ich, als am Ende der vorletzten Staffel dann sogar Peter
+Gabriel mit einer "The Book of Love", einem Magnetic Fields-Cover aus dem
+neuen Album zu Wort kam. Gabriels Version is uebrigens weit weniger langweilig
+als das Original. Und live war dieses Stueck eines der Highlights (im 1. Teil
+der Show, im 2. wurden aeltere Stuecke gespielt, da war meiner Meinung nach
+Mercy Street unuebertroffen).
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Iz (Darklor, 17. Nov 2010, 20:13:33):
+~#! rn=Gloinson rt=1289343488 rg=kultur
+~#! tid=1289298361
+is das Lied nich von 1940?
+
+Ich mag die Version aus E-mail fuer Dich...
+
+Darkor
+
+-----------------------------------------------------------------------------
+
+
+
+Alpha 0.7 (Gloinson, 22. Nov 2010, 00:33:40):
+http://tinyurl.com/34o7kns
+
+Am 29 Dezember im Ersten ab 23:50 en bloc. Dystopie.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Alpha 0.7 (Zesstra, 22. Nov 2010, 00:39:49):
+~#! rn=Gloinson rt=1290382420 rg=kultur
+~#! tid=1290382420
+Das klingt spannend. Ich weiss allerdings nicht, ob ich am 29.12. zum
+Fernsehen komme... Bin ja mit Freunden im Urlaub und hab bestimmt besseres zu
+tun.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Alpha 0.7 (Gloinson, 22. Nov 2010, 00:57:22):
+~#! rn=Zesstra rt=1290382789 rg=kultur
+~#! tid=1290382420
+Ich hab es aus Fefes Blog, der linkt auch auf die Mediathek. Ist eher ein
+Reminder fuer mich hier, ich werd da (hoffentlich) mal Zeit haben :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Alpha 0.7 (Gloinson, 22. Nov 2010, 00:59:01):
+~#! rn=Gloinson rt=1290383842 rg=kultur
+~#! tid=1290382420
+http://www.ardmediathek.de/ard/servlet/content/3517136?documentId=5817888
+
+6 Teile halt
+
+
+-----------------------------------------------------------------------------
+
+
+
+Daemon (Ark,  5. Feb 2011, 15:31:41):
+Von Daniel Suarez, ein sehr gut gemachter (erster Teil) Roman, bei dem wir
+Online Spiele Junkies mal mitfiebern koennen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Petition "Keine Aufnahme der deutschen Sprache ins Grundgesetz" (Gloinson,  7. Feb 2011, 09:24:39):
+Eine Gegenpetition zur Petition des "Vereins Deutscher Sprache" (bekannt fuer
+seine Anti-Anglizismen-Einstellungen).
+
+Petition:
+https://epetitionen.bundestag.de/index.php?action=petition;sa=details;petition
+=15840
+http://goo.gl/guB7e
+
+Argumentation:
+- im Forum des Petitionsausschusses
+und auf dem Blog des Verfassers: http://goo.gl/6DpYp
+
+
+-----------------------------------------------------------------------------
+
+
+
+Film ueber Gnome (Gloinson, 11. Feb 2011, 15:33:32):
+http://www.gnomeoundjulia-cards.de/
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Ark, 14. Mar 2011, 00:16:26):
+Falls mal wieder wer was Neues lesen will: "The lies of Locke Lamora" von
+Scott Lynch. Ebenso der naechste Teil einer 7teiligen Serie (hoffentlich nicht
+ala GRRM). Im Stil einer Raeuberepik mit origineller Umgebung und Ideen,
+interessant geschrieben und gegliedert. Den zweiten Band les ich grad ("Red
+Seas under Red Skies"), erinnert etwas an Ocean's 11. Wer solche Fantasy mag,
+ist gut bedient ... unbedingt auf Englisch lesen, toll geschrieben imho.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Romantisches Liedchen (Gloinson, 18. Mar 2011, 12:40:04):
+http://www.youtube.com/watch?v=LAzodf69rfk
+
+Maybe ... not ... so ...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Benefizkonzert am Do, 7.4. in DD (Gloinson, 30. Mar 2011, 18:57:08):
+http://www.gjf.de/files/Benefizkonzert-fuer
+Japan_Dresden_07.04.2011.pdf
+
+Falls schon wer dort ist.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Benefizkonzert am Do, 7.4. in DD (Gloinson, 30. Mar 2011, 19:06:46):
+http://www.gjf.de/files/Benefizkonzert_fuer_Japan_Dresden_07.04.2011.pdf
+
+Falls schon wer dort ist.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Electro for Japan (Vanion,  3. Apr 2011, 22:42:34):
+Vielleicht ist ja was fuer jemanden dabei:
+http://electroforjapan2011.bandcamp.com/album/electro-for-japan-2011
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+ASOIAF! (Ark,  5. Jun 2011, 20:07:28):
+Falls es wirklich einer noch nicht bemerkt haben sollte (==NOOB), GRRM hat ja
+schon seit laengerem das Erscheinungsdatum seines 5. Bands kundgetan, und ich
+habe gerade vorbestellt ... ich bin SO auf geregt ... wollte ich nur mal
+kundtun :-)
+Wer denkt "was faselt der Idiot da?", kann es getrost vergessen, denn er/sie
+wird keine Ahnung haben ... und sich wohl auch nicht anstecken lassen, oder?
+;^D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ASOIAF! (Humni,  5. Jun 2011, 20:18:13):
+~#! rn=Ark rt=1307297248 rg=kultur
+~#! tid=1307297248
+Hab Mitte Mai ausgerechnet, dass ich noch so viele Tage habe, um pro Tag 73
+Seiten zu lesen, wenn ich vorher die AGOT, ACOK, ASOS und AFFC nochmal
+durchbekommen moechte. Bin derzeit im Zeitplan, damit ich mich selbst
+puenktlich zum Erscheinen von ADWD nochmal aktualisiert auf den Stand bringe,
+den ich vergessen habe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ASOIAF! (Zook,  5. Jun 2011, 22:58:43):
+~#! rn=Humni rt=1307297893 rg=kultur
+~#! tid=1307297248
+eintscheidende passage war "den ich vergessen habe"? ;) 
+z
+
+-----------------------------------------------------------------------------
+
+
+
+JBO und Co (Gloinson,  6. Jun 2011, 18:30:13):
+http://www.thelonelyisland.com/album/turtleneck-chain
+
+Videos anklicken und irritiert zugucken.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: JBO und Co (Rumata,  6. Jun 2011, 20:31:14):
+~#! rn=Gloinson rt=1307377813 rg=kultur
+~#! tid=1307377813
+Ohren zuhalten nicht vergessen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: JBO und Co (Gloinson,  6. Jun 2011, 22:12:46):
+~#! rn=Rumata rt=1307385074 rg=kultur
+~#! tid=1307377813
+Ich finde das Stueck mit Bolton beeindruckend gut ;)
+
+Oder ist das mit Rihanna besser? :D
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtwanderung fuer Staedtebewohner (Zesstra, 10. Jun 2011, 21:21:36):
+Huhu,
+
+wer einigermassen gut zu Fuss ist und mal gerne eine Nachtwanderung zu den
+/ueber die Halden des Ruhrgebiets machen moechte, dem sei die Haldensaga am
+23.7. ans Herz gelegt.
+Hierbei macht man eine Wanderung vom Abend ueber den Sonnenuntergang bis zum
+Sonnenaufgang. Im Laufe der Wandertour erlebt man zwei Halden, eine bei
+Sonnenuntergang und eine bei Sonnenaufgang. Die Touren sind zwischen 14 und
+20km lang und haben unterschiedliche Schwierigkeitsstufen. Auf den Halden gibt
+es noch unterschiedliche kuenstlerische Darbietungen zu bewundern.
+
+Ich hab ueber das Projekt erst heute Abend gelesen, aber das erscheint mir
+durchaus spannend. Und wer nicht aus der Gegend stammt: das Ruhrgebiet
+erleuchtet bei Nacht von einer Halde betrachtet, ist schon nett. ;-)
+
+http://www.haldensaga.de/projekt/idee.html
+
+Achja: wer das mitmachen will und nicht aus der Gegend kommt, kann mich gerne
+ansprechen bzw. mich als Anlaufstelle nutzen - wohl eher weniger bzgl.
+Uebernachtung, aber vielleicht zum Ausschlafen/Schlafnachholen am naechsten
+Tag... ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: ASOIAF! (Hobo, 10. Jun 2011, 21:27:12):
+~#! rn=Zook rt=1307307523 rg=kultur
+~#! tid=1307297248
+Uebrigens gibt's da auch ne Verfilmung vom ersten Band (bzw. ne Serie) und
+zumindest die Trailer sahen richtig gut aus!
+
+  Hobo - wartet auch SEEEEHR gespannt, wer denn der 3. Drachenreiter wird ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: ASOIAF! (Ark, 14. Jun 2011, 09:52:32):
+~#! rn=Hobo rt=1307734032 rg=kultur
+~#! tid=1307297248
+Ja, Download fuer die dummen Europaer, bzw. mal schauen, wann irgendwann mal
+ein Sender sich hier die Rechte sichert ... wenn GRRM in x Jahren Band 6
+fertig hat? :)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+ASOIAF (Saray, 15. Jun 2011, 15:50:23):
+Oh toll, dass es hier noch mehr ASOIAF-Leser gibt. Ich freue mich auch schon
+wahnsinnig auf deas Erscheinen von ADWD, wobei ich mir Sorgen bezuegl. des
+Hoerbuchs mache. Amazon gibt da den 23.12.2012 oder so was an, das macht mir
+wirklich Angst. Denn normale Buecher lesen ist bei mir etwas uncool :-D.
+Weiss zufaellig jemand was Naeheres ueber das Hoerbuch?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ASOIAF (Gloinson, 15. Jun 2011, 15:56:44):
+~#! rn=Saray rt=1308145823 rg=kultur
+~#! tid=1308145823
+Komm nach Salem und ueberzeug Humni, dir das Buch vorzulesen. Er hat schon
+eine Radio-Stimme und das Buch dann einmal durch, da sollte das klappen ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Wine Tasting (Gloinson, 17. Jun 2011, 16:33:57):
+http://wulffmorgenthaler.com/img/strip/-WM_strip_DK_20110617.jpg
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ASOIAF (Saray, 26. Jun 2011, 20:49:44):
+~#! rn=Gloinson rt=1308146204 rg=kultur
+~#! tid=1308145823
+Eigentlich klingt das echt toll, aber vermutlich werd ichs nicht einrichten
+koennen. Hausarbeitsstress und der Urlaub meines Freundes ist ne Woche vorher
+rum :-(.
+Na, vll gibts ja auf der Homepage was Neues dazu, sonst schreib ich Herrn
+Martin einfach mal persoenlich ^^.
+
+-----------------------------------------------------------------------------
+
+
+
+Spruch der Woche (Gnome, 27. Jun 2011, 13:02:56):
+"Natuerlich schaue ich mir die Fussballweltmeisterschaft der Frauen an -
+ man guckt ja auch die Paralympics..."
+
+(c) Nico Rosberg, Formel-I-Fahrer
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spruch der Woche (Croft, 28. Jun 2011, 17:04:13):
+~#! rn=Gnome rt=1309172576 rg=kultur
+~#! tid=1309172576
+Richtig zitieren ist nicht einfach.
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spruch der Woche (Croft, 28. Jun 2011, 17:16:38):
+~#! rn=Croft rt=1309273453 rg=kultur
+~#! tid=1309172576
+http://www.nicorosberg.com/2011/06/nico-rosberg-hier-durch-bekommt-ihr-mal-ein
+en-eindruck-vom-haifisch-becken-formel-1/
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Glastonbury statt Wacken! ;) (Gloinson, 29. Jun 2011, 13:46:03):
+http://www.boston.com/bigpicture/2011/06/music_and_mud_glastonbury_fest.html
+
+Sieht doch aehnlich aus :D
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Glastonbury statt Wacken! ;) (Vanion, 29. Jun 2011, 21:42:36):
+~#! rn=Gloinson rt=1309347963 rg=kultur
+~#! tid=1309347963
+Hmm, ich hab Firefox, better privacy und noscript laufen. Trotzdem kommt bei
+dem Link eine Zeile "Google uebersetzer"(bewusst klein geschrieben das ue) und
+will mir den Text auf der Seite automatisch verhunzen. Die Yahoo und Google
+Toolbars sind ja beruechtigt dafuer, sich mal eben irgendwo huckepack zu
+installieren, aber ich seh kein Plugin, dass installiert ist. Ist da irgend
+ein daemliches FF5-Feature oder is die Seite Boston.com so nett und leitet all
+ihren Content ueber Google an mich?
+
+Ich finde, Google weiss schon mehr als genug ueber mich - bestimmt mehr als
+Facebook. Wenn es sich jetzt auch noch fuer Seiten interessiert, die ich schon
+direkt ansurfe, wirds mir unheimlich.
+
+Wie geht eigentlich die Exit-Strategie fuers Internet?
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Glastonbury statt Wacken! ;) (Vanion, 29. Jun 2011, 21:48:34):
+~#! rn=Vanion rt=1309376556 rg=kultur
+~#! tid=1309347963
+Ah, es handelt sich um einen Service, der per Java-Skript auf der Seite
+eingebunden wird. Da das Skript selbst ueber google.com und nicht ueber
+googleanalystics.com gehostet ist, kann man es nicht abschalten, ohne
+Google-Skripte generell (ausser auf google.com selbst) zu verbieten.
+
+Mistgoogle.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Glastonbury statt Wacken! ;) (Zook, 29. Jun 2011, 21:56:48):
+~#! rn=Vanion rt=1309376914 rg=kultur
+~#! tid=1309347963
+Ich hab noch RequestPolicy als Plugin, da faellt sowas glaube ich
+auch raus. 
+
+Kann aber manchmal nervig sein, wenn zB Ebay 100 von anderen Seiten
+ansteuern will und nicht kann. 
+
+Exit-Strategie?
+
+Hab neulich erste Leute gefunden, die ihr Mobiltelefon abgegeben haben.
+
+Z
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Glastonbury statt Wacken! ;) (Zesstra, 29. Jun 2011, 21:57:03):
+~#! rn=Vanion rt=1309376914 rg=kultur
+~#! tid=1309347963
+Ich persoenlich hab google.* nicht im Noscript freigeschaltet, Google geht
+auch prima ohne. Dementsprechend seh ich den Translate-Dienst auch nicht auf
+bostom.com, solange ich nicht div. Ausnahmen definiere.
+Achdoch, googleapis.com ist per default erlaubt, das benutzen jede Menge
+Seiten. Das ist halt der Nachteil von so Diensteanbietern.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Glastonbury statt Wacken! ;) (Zesstra, 29. Jun 2011, 21:58:18):
+~#! rn=Zook rt=1309377408 rg=kultur
+~#! tid=1309347963
+Stimmt Zook, dafuer ist Requestpolicy gut. Und wirklich nervig, wenn man x
+Ausnahmen fuer ne Seite definieren musst, bevor man das vernuenftig lesen kann
+- insb. wenn die wie bei mir alle nur temporaer sind. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Glastonbury statt Wacken! ;) (Zook, 29. Jun 2011, 21:59:38):
+~#! rn=Zesstra rt=1309377498 rg=kultur
+~#! tid=1309347963
+Aber man kann es halt fuer EBay oder so mal komplett ausschalten, surft
+ueber zB Ebay, loescht dann Browser-Cache, schaltet es wieder ein und 
+startet FF neu. So mach ich es meistens.
+
+Z
+
+-----------------------------------------------------------------------------
+
+
+
+Geschenke fuer Kinder (Gloinson, 10. Jul 2011, 21:05:03):
+http://www.tiffanyard.com/ohCOOL/hr.htm
+
+Hrhr.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Geschenke fuer Kinder (Maharet, 14. Jul 2011, 16:59:37):
+~#! rn=Gloinson rt=1310324703 rg=kultur
+~#! tid=1310324703
+Wie cool. Rana ist genau in dem richtigen Alter dafuer.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Geschenke fuer Kinder (Maharet, 14. Jul 2011, 17:03:33):
+~#! rn=Maharet rt=1310655577 rg=kultur
+~#! tid=1310324703
+Dazu, gerade eben von einer ehemaligen Klassenkameradin auf FB gepostet:
+http://www.youtube.com/watch?v=d0zION8xjbM
+
+Ich fand die They Might Be Giants ja schon immer klasse ;)
+
+-----------------------------------------------------------------------------
+
+
+
+DoD (nein, nicht das Pentagon) (Gloinson, 19. Jul 2011, 18:38:43):
+http://www.cad-comic.com/cad/20110718
+
+
+-----------------------------------------------------------------------------
+
+
+
+Papstrede (Gloinson, 22. Sep 2011, 22:52:11):
+... oder wie man (aehnlich den Enzyklika) von Atheismus/Nichtreligiositaet ...
+Positivismus zur Kulturlosigkeit und Verdammung ersterens kommt.
+
+>> Wo die positivistische Vernunft sich allein als die genuegende Kultur
+ansieht und alle anderen kulturellen Realitaeten in den Status der Subkultur
+verbannt, da verkleinert sie den Menschen, ja sie bedroht seine
+Menschlichkeit. Ich sage das gerade im Hinblick auf Europa, in dem weite
+Kreise versuchen, nur den Positivismus als gemeinsame Kultur und als
+gemeinsame Grundlage fuer die Rechtsbildung anzuerkennen, alle uebrigen
+Einsichten und Werte unserer Kultur in den Status einer Subkultur verwiesen
+und damit Europa gegenueber den anderen Kulturen der Welt in einen Status der
+Kulturlosigkeit gerueckt und zugleich extremistische und radikale Stroemungen
+herausgefordert werden. 
+
+Die sich exklusiv gebende positivistische Vernunft, die ueber das
+Funktionieren hinaus nichts wahrnehmen kann, gleicht den Betonbauten ohne
+Fenster, in denen wir uns Klima und Licht selber geben, beides nicht mehr aus
+der weiten Welt Gottes beziehen wollen. Und dabei koennen wir uns doch nicht
+verbergen, dass wir in dieser selbstgemachten Welt im stillen doch aus den
+Vorraeten Gottes ...<<
+
+http://www.spiegel.de/politik/deutschland/0,1518,787896,00.html
+
+Zu dem gesamten Gedankengang kann man eigentlich nur dann am Ende (das noch
+ein wenig mehr Text hin ist) applaudieren, weil man den Anfang vergesesn hat.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Papstrede (Zesstra, 22. Sep 2011, 22:54:53):
+~#! rn=Gloinson rt=1316724731 rg=kultur
+~#! tid=1316724731
+Kein Wunder, dass das im Spiegel steht. Wobei ich sowas in der Art neulich
+auch in der Zeit las.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Papstrede (Zesstra, 22. Sep 2011, 23:01:16):
+~#! rn=Zesstra rt=1316724893 rg=kultur
+~#! tid=1316724731
+Korrektur:
+Ich hatte das erst fehl verstanden und dachte, das sei ein Kommentar/Kolumne
+zum Papstbesuch, nicht ein Auszug aus der Rede selbst.
+Den Abdruck einer Rede vor dem Parlament sei natuerlich jedem
+Nachrichtenmagazin zugestanden. :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Papstrede (Gloinson, 22. Sep 2011, 23:12:51):
+~#! rn=Zesstra rt=1316725276 rg=kultur
+~#! tid=1316724731
+Ja. Auch die Rede sei ihm unbenommen, da ist er halt Chef eines Staates und
+irgend ein wichtiger Kerl (Lammert) hat ihn eingeladen.
+
+Unbenommen ist mir die leichte Uebelkeit beim Spielen mit Begriffen wie
+Oekologie, Okeologie des Menschen (sic!) und dem Heranziehen etwas zu alter
+Leute als Vorlage fuer eine Autoritaetsargumentation. Ja, begnadeter
+Rhetoriker, der Ratzi. Ja, ich haette sicher auch in dem Moment frenetisch
+Beifall gespendet.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Papstrede (Zook, 23. Sep 2011, 10:29:48):
+~#! rn=Gloinson rt=1316725971 rg=kultur
+~#! tid=1316724731
+Ich hab's ja nur so am Rande verfolgt, aber er schien sich 
+doch ganz gut geschlagen zu haben. Hat auch das alte 
+protestantische Sprichwort ueber Predigten beherzigt: "Du kannst
+ueber alles predigen, nur nicht ueber 20 Minuten." (okay, ist auch
+nen allgemeines sprichtwort fuer rhetorik, aber bei den pfarrern
+auch sehr beliebt.)
+
+und man kann doch gaeste mal was erzaehlen lassen, muss es ja nicht
+zwingend moegen oder zustimmen, um hinterher zu applaudieren. 
+
+z
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Papstrede (Rumata, 23. Sep 2011, 10:32:22):
+~#! rn=Zook rt=1316766588 rg=kultur
+~#! tid=1316724731
+Was meint ihr, wieviel % der Anwesenden mit dem Begriff "positivismus"
+etwas anfangen konnten?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Papstrede (Gloinson, 23. Sep 2011, 15:26:06):
+~#! rn=Rumata rt=1316766742 rg=kultur
+~#! tid=1316724731
+Sind nicht ein Gutteil der Leute da Anwaelte?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Papstrede (Zook, 23. Sep 2011, 15:26:53):
+~#! rn=Gloinson rt=1316784366 rg=kultur
+~#! tid=1316724731
+Da koennte nun Maharet ein paar Bonmots aus Buechern
+zum besten geben.
+Z
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Papstrede (Maharet, 23. Sep 2011, 15:30:24):
+~#! rn=Zook rt=1316784413 rg=kultur
+~#! tid=1316724731
+Du meinst, Familienrecht und Papst passen gut zusammen?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Papstrede (Zesstra, 23. Sep 2011, 15:30:49):
+~#! rn=Maharet rt=1316784624 rg=kultur
+~#! tid=1316724731
+Auf jeden Fall!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Anspielungen ... (Gloinson, 26. Sep 2011, 19:14:49):
+... die man erst Jahre spaeter kapiert.
+
+http://www.imdb.com/media/rm3875379456/tt0206634
+(Children of Men: Schwein ueber Battersea Power Station)
+
+http://www.spiegel.de/panorama/0,1518,788408,00.html
+(Pink Floyd ... vor 35 Jahren heute nach gestellt)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eternal Flame (Gloinson,  6. Okt 2011, 23:28:14):
+https://www.xkcd.com/961/
+
+Goettlich. Erinnert mich an die Abende, wenn im RZ das Netz down war und wir
+Sim City im Apple-Kabinett spielen gingen ...
+
+
+-----------------------------------------------------------------------------
+
+
+
+CDC - Warnungsblatt (Gloinson, 21. Okt 2011, 13:23:56):
+Ich fuerchte, unser Gesundheitsministerium ist nicht so gut vorbereitet.
+
+http://www.cdc.gov/phpr/documents/11_225700_A_Zombie_Final.pdf
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CDC - Warnungsblatt (Rumata, 21. Okt 2011, 13:40:21):
+~#! rn=Gloinson rt=1319196236 rg=kultur
+~#! tid=1319196236
+Joa, is den schon Haellowien?
+
+-----------------------------------------------------------------------------
+
+
+
+Unentartete Kunst (Gloinson, 24. Okt 2011, 10:07:43):
+http://www.gdk-research.de/
+
+Siehe auch
+http://www.welt.de/kultur/history/article13669404/Hitlers-Mythos-der-Nazi-Kuns
+t-freigeschaltet.html
+
+
+-----------------------------------------------------------------------------
+
+
+
+Terry Pratchett - Choosing to die (Gloinson, 11. Nov 2011, 21:22:18):
+http://vimeo.com/25239708
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Terry Pratchett - Choosing to die (Vanion, 13. Nov 2011, 22:10:04):
+~#! rn=Gloinson rt=1321042938 rg=kultur
+~#! tid=1321042938
+Starker Tobak. Danke fuer den Link.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Dr. Who fuer Dummies (Rumata, 23. Nov 2011, 10:30:49):
+Wenn man bei Dr. Who einsteigen will, welche Staffel empfiehlt sich
+da so?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dr. Who fuer Dummies (Humni, 23. Nov 2011, 20:10:20):
+~#! rn=Rumata rt=1322040649 rg=kultur
+~#! tid=1322040649
+Ich hab die erste der "neuen" Staffeln genommen. Kam man ganz gut rein. Das
+ist die mit Eccelstone, 9. Doktor. Ich gebe aber zu, weiter als diese Staffel
+hab ich noch nicht geschaut. Immerhin kriegt man da die Anfaenge von Torchwood
+mit. Was auch toll ist - die ersten beiden Staffeln, dann kommt das gruselige
+"Kinder der Erde", mit tollem Anfang und daemlichem Ende.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Calvin and Hobbes ... (Gloinson, 25. Nov 2011, 17:20:29):
+Keine Ahnung, ob das nicht nur eine Werbemasche ist: aber ueber Umweg Barnes
+and Noble ist bei Amazon momentan der Complete Calvin and Hobbes I-III fuer
+~60 Athener Eulen zu haben.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Calvin and Hobbes ... (Zesstra, 25. Nov 2011, 17:25:24):
+~#! rn=Gloinson rt=1322238029 rg=kultur
+~#! tid=1322238029
+Bis Anfang Dezember gibt es uebrigens auch 4 Wildcards-Buecher (George R.R.
+Martin und weitere) fuer 2.99$ bei div. ebook-Haendlern.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Calvin and Hobbes ... (Gloinson, 25. Nov 2011, 17:29:52):
+~#! rn=Zesstra rt=1322238324 rg=kultur
+~#! tid=1322238029
+Meh. Da brauch ich erst einen neuen Reader ... meinen hat eine Schwangere
+zerstoert - zu grosser Wendekreis ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fuer alle Schandmaul-Fans... (Zesstra, 22. Jan 2012, 20:29:16):
+http://www.15jahre-schandmaul.de/
+2-Tage Ende August 2013, am Tanzbrunnen in Koeln.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Miraka,  3. Feb 2012, 10:25:58):
+Replay ... von Ken Grimwood, laeuft unter Science Fiction, hat aber eigentlich
+keine in futuristischen Gewaendern herumlaufende Humanoide oder tiefgruendig
+technisches Bohei zu bieten, sondern behandelt ganz interessant das Thema
+Zeitreise/Wiedergeburt. Gut, kompakt geschrieben und aeusserst unterhaltsam.
+
+-----------------------------------------------------------------------------
+
+
+
+geistesblitz-gedicht (Tin,  6. Dez 2012, 21:03:45):
+Wenn die liebe die fluegel schwingt, leise die melodie erklingt, dann hoere
+nicht weg, nein hoere zu, denn diese liebe bekommst du. Irgendwann wird er vor
+dir stehen, dich ansehen, in den arm nehmen. Ihr werdet ausgehen, du wirst in
+seinen armen liegen, traeumen. Hoer auf die fantasie weg zu raeumen, Nimm sie
+aus der schublade, mache sie zur wirklichkeit, aber nur wenn du weisst du bist
+bereit. Lasse die fluegel der liebe schwingen, die melodie erklingen und die
+stimme deines gluecks dazu singen.
+
+... keine rechtschreibueberpruefung drueberlaufen lassen, geistesblitz einfach
+niedergeschrieben.
+Lg
+tin
+
+-----------------------------------------------------------------------------
+
+
+
+gedankenblitz: lebe und denke nicht an morgen (Malie, 11. Dez 2012, 13:49:39):
+Lass dein Haar im Winde flattern,
+Lass deinen Schluessel am Ringfinger klappern.
+Lauf gedankenlos durch die Welt,
+Tu einfach das was dir gefllt.
+Sei frei und hab keine Sorgen,
+Lebe und denke nicht an morgen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+ein link (Malie, 12. Dez 2012, 21:12:17):
+http://www.sevillana.de/weise-welt/frieden.htm
+
+eine schoene seite mit schoenen spruechen. die seite hat es mir echt angetan.
+
+-----------------------------------------------------------------------------
+
+
+
+klavierst|ck (Malie, 16. Dez 2012, 17:27:44):
+einfach traumhaft schn
+
+http://www.youtube.com/watch?v=fMmeLzhpkWw
+
+-----------------------------------------------------------------------------
+
+
+
+wir retten die welt ohne umlaute (Arson, 20. Dez 2012, 11:52:42):
+Und wenn ich die welt nun nicht mehr retten kann, dann will ich wenigstens
+mich mit den mir gegebenen mittel retten! Das ist zwar nicht sonderlich viel
+aber ich brauche auch nur meine haende und etwas aluminiumfolie.
+
+Die hier hinterlegten masnahmen dienen lediglich der abwehr von boesartigen
+strahlungen, auserirdischen, himmelskoerpern und duerfen einzig zu
+komerziellen zwecken eingesezt werden. Im optimalfall fuehren sie die hier
+beschriebenen praktiken zuhause aus, da dort alle materialien vorhanden sind
+und keine stoehrung durch aeualuminiumfolie.erliche einfluesse droht.
+Kindern unter drei jahren wird empfolen sich diesen text vorlesen zu lassen!
+
+Um der unmittelbar bevorstehenden gefahr, dem untergang der menschheit
+entgegen zu 
+wirken bin ich mir als experte einig helfen folgende punkte!
+
+1.2basteln sie fuer freunde, nachbarn, und haustiere muetzen aus
+luminiumfolie, beachten sie dabei das wichtige koerperteile wie ohren, nacken,
+stirn und die kniescheiben mit abgedeckt werden.
+2.397hoffen sie das ihnen auch jemand solch ein objeckt der begierde schenkt.
+3.7verteilen sie die von ihnen gebastelte schutzbekleidung
+4.Artikelnsetzen sie nun ihre muetze auf und legen sie diese hoehstens beim
+schuhe anziehen ab.
+5.4 statten sie sich mit einem topf fingerfarbe ihrer wahl aus und malen sie
+jedem der ihnen entgegen kommt das symbol ihrer bezieung auf die muetze. 
+Beispiele:
+Freund = abdruck vom Linkem zeigefinger
+Guter freund = abdruck vom rechten zeigefinger
+Sehr guter freund = abdruecke von beiden zeigefingern
+Schlechter bekannter = abdruck vom stinkefinger
+Sehr schlechter bekannter = abdruck vom ellenbogen
+Groellenbogene liebe = abdruck vom kussmund
+Kleine liebe = abdruck der unterlippe 
+
+6.1stellen sie sich morgen abend auf einen platz unter freiem himmel, so das
+sich ueber ihnen moeglichst keine wolken befinden und leuchten sie sich mit
+einer kerze oder taschenlampe gegen ihr schutzobjekt.
+
+DAMIT VERMITTELN SIE ALLEN DAS SIE SICH VON MEDIEN NATUERLICH GERNE WILD
+MACHEN LASSEN ABER NICHT VOR PANIK UND WENN ES EINEN GRUND ZUM FEIERN GIBT
+DANN WIRDS GEMACHT EGAL WIE TRAURIG DER ANLASS IST.
+
+Ich wuensche allen frohe feiertage und viel spass mit ihren familien und
+freunden!
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wir retten die welt ohne umlaute (Malie, 20. Dez 2012, 21:38:06):
+~#! rn=Arson rt=1356000762 rg=kultur
+~#! tid=1356000762
+*lach* mmensch wie geil ist das denn...
+
+-----------------------------------------------------------------------------
+
+
+
+die welt (Malie, 22. Dez 2012, 12:46:26):
+baaaam, wir leben noch!!!
+hoch lebe die welt
+anstossen auf den naechsten untergang
+
+gruss
+malie
+
+-----------------------------------------------------------------------------
+
+
+
+Re: die welt (Zesstra, 22. Dez 2012, 12:57:05):
+~#! rn=Malie rt=1356176786 rg=kultur
+~#! tid=1356176786
+Jep. Was ist denn der naechste, der angekuendigt ist?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: die welt (Malie, 22. Dez 2012, 12:57:58):
+~#! rn=Zesstra rt=1356177425 rg=kultur
+~#! tid=1356176786
+sage also ich sag jetzt mal hmm...
+
+die welt wird am 21.01.2013 untergehen.
+jeder darf mal einen weltuntergang bestimmen. lassen wir den einfach so.
+verschieben ihn auf januar^^ 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: die welt (Zesstra, 22. Dez 2012, 12:58:42):
+~#! rn=Malie rt=1356177478 rg=kultur
+~#! tid=1356176786
+Na, dann schauen wir mal, ob Du recht hast. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: die welt (Malie, 22. Dez 2012, 12:59:38):
+~#! rn=Zesstra rt=1356177522 rg=kultur
+~#! tid=1356176786
+neee, bis jetzt hatte noch keiner recht^^ 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: die welt (Gloinson, 22. Dez 2012, 20:54:24):
+~#! rn=Malie rt=1356177578 rg=kultur
+~#! tid=1356176786
+Die Welt wird untergehen, sobald wir und alle uns Bekannten und Verwandten
+zwei Minuten tot sind.
+
+Ist doch fair, oder?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: die welt (Miril, 22. Dez 2012, 21:42:50):
+~#! rn=Malie rt=1356177478 rg=kultur
+~#! tid=1356176786
+Davon halte ich ja gar nichts. Das ist ein Tag vor meinem Geburtstag. Ich will
+wenigstens noch die Geschenke haben :).
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: die welt (Malie, 22. Dez 2012, 21:54:44):
+~#! rn=Gloinson rt=1356206064 rg=kultur
+~#! tid=1356176786
+ok abgemacht^^ 
+
+-----------------------------------------------------------------------------
+
+
+
+Django Unchained (Ark, 12. Mar 2013, 01:14:09):
+Sagte ich schon, dass der Film absolut klasse ist? Nein? Dann hole ich es
+hiermit nach. Hab' mich kaputtgelacht, und Christoph Waltz ist wirklich
+wuerdiger Oscar Preistraeger. Nicht dass er das braucht, aber recht so. Wer
+noch eine Kostprobe noetig haette: Der Gott des Gemetzels (Carnage). Chapeau,
+Mr. Waltz.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Django Unchained (Zook, 15. Mar 2013, 14:25:23):
+~#! rn=Ark rt=1363047249 rg=kultur
+~#! tid=1363047249
+Hast Du Dir auch schon einen Wackelzahn bestellt?
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+wieder ein gedichtlein (Tin, 27. Apr 2013, 21:58:58):
+Meine kleinen Schritte,
+sich im allerkleinsten Kreise drehen.
+Sterne im Himmel leuchten,
+der Mond sie uebertrifft.
+Wir 2 alleine, im Mondschein,
+bitte lass diesen Moment doch einfach ewig sein.
+
+Leichte kuehle Brise,
+unsere Koerper leicht zum zittern bringt,
+da draussen auf der Wiese,
+ein Engel seine Fluegel schwingt.
+Wessen Engel das ist,
+deiner?
+meiner?
+oder wird er vermisst?
+
+Ein Blick in deine Augen,
+blicke in dein Gesicht,
+bringen mir auch beim genauen hinschauen nicht,
+was ich mir erhoffte,
+ein einfaches Ich liebe dich.
+Begriffen habe ich in dem Moment,
+das der Engel auf der Wiese nicht seine Fluegel schwingt,
+sondern um sein Leben rennt,
+Weil er nicht das sieht,
+was er sehen will.
+
+gruss tin:)
+
+-----------------------------------------------------------------------------
+
+
+
+BluRay Empfehlung (Ark,  3. Jun 2013, 23:01:43):
+Samsara ... sehr beeindruckende und bedrueckende Bilder, von den Regisseuren
+von Baraka. Einfach nur toll.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Geheime Botschaften (Ark,  5. Jun 2013, 01:18:26):
+von Simon Singh. Immer wieder angenehm zu lesen (from an amateur's point of
+view). Wer sich fuer Kryptographie ohne allzuviel Mathematik interessiert, ein
+lesenswertes Buch.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Musik aus Norwegen (Ark, 13. Jun 2013, 00:59:19):
+Da ich wieder in Stimmung bin, hier eine Empfehlung fuer die Gesamtaufnahme
+des Grieg'schen Klavierwerkes:
+Pianist ist Geir Henning Braaten, die 12 CDs sind bei Victora A/S erschienen
+... wahrscheinlich nicht in jedem Laden erhaeltlich, vielleicht vergriffen, da
+1993 aufgenommen, ich konnte sie auch nur ueber Amazon vervollstaendigen, aber
+sie sind das Geld wert. Auch wenig gehoerte Stuecke und seine klaviervertonten
+Orchesterstuecke sind zu hoeren. Two thumbs up!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlung (Ark, 27. Aug 2013, 22:17:12):
+Da hier sonst keiner Kultur zu haben scheint, hier ein Buchtipp von mir: Fevre
+Dream, von unserem guten alten George R.R. Martin. Nicht so 0815 "Biss zum
+Kotzkrampf" Vampirgeschichte, sondern mal ein wenig anderes. Mehr will ich mal
+nicht verraten. Mein erstes E-Book btw., ist nicht ganz so schlimm, wie ich
+erwartet hatte, aber den klassischen Buechern schwoere ich dennoch nicht ab
+:-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Buchempfehlung (Tin, 27. Aug 2013, 22:17:53):
+~#! rn=Ark rt=1377634632 rg=kultur
+~#! tid=1377634632
+buecher aus Papier sind die aller bessten
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Ark, 27. Aug 2013, 22:21:09):
+~#! rn=Tin rt=1377634673 rg=kultur
+~#! tid=1377634632
+Da musste ich grad wild lachen ... "Frueher war alles besser" von der neuen
+Saltatio Mortis -> Zitat "... frueher, da war'n die Buecher aus Papier ..."
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchempfehlung (Tin, 27. Aug 2013, 22:21:53):
+~#! rn=Ark rt=1377634869 rg=kultur
+~#! tid=1377634632
+lach, ja, das ist aber so:)
+wenigstens kann man das buch anfassen und blaettern
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Ark, 27. Aug 2013, 22:25:36):
+~#! rn=Tin rt=1377634913 rg=kultur
+~#! tid=1377634632
+Nun, das Lied geht anders weiter ... frueher war eben nicht alles besser, nur
+anders.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchempfehlung (Tin, 27. Aug 2013, 22:31:15):
+~#! rn=Ark rt=1377635136 rg=kultur
+~#! tid=1377634632
+jaja, heute ist alles besser weil die technick unser leben  in die hand
+nimmt...
+
+ich bleibe bei meinen papierbuechern:-D
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Buchempfehlung (Gloinson, 27. Aug 2013, 22:39:09):
+~#! rn=Tin rt=1377634673 rg=kultur
+~#! tid=1377634632
+Ich find die Story noch viel besser als das exakte Format. Neulich hab ich mir
+mal The Armageddon Rag von GRRM reingezogen, das war auch sehr unterhaltsam
+und melancholisch (spielt um 1969-83). Auf meinem boesen LCD-Geraet.
+
+PS: Natuerlich sucht man danach 'Froggy the Gremlin.' Macht man. Macht man.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Buchempfehlung (Ark, 27. Aug 2013, 23:17:07):
+~#! rn=Gloinson rt=1377635949 rg=kultur
+~#! tid=1377634632
+Na ich hab mir jetzt Tuf Voyaging geholt, die Kurzgeschichte in Dreamsongs hat
+mir schon ganz gut gefallen. Schaumerma.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Zesstra, 27. Aug 2013, 23:22:24):
+~#! rn=Ark rt=1377638227 rg=kultur
+~#! tid=1377634632
+Tuf Voyaging ist unterhaltsam. :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Buchempfehlung (Gloinson, 27. Aug 2013, 23:26:18):
+~#! rn=Ark rt=1377638227 rg=kultur
+~#! tid=1377634632
+Tuf Voyaging ist ein der besten SF, die ich je gelesen habe ... und ich hab
+die Kurzgeschichte in einer Sammlung um 90 das erste Mal gelesen (und erst
+sehr spaet den Link GRRM zwischen dieser Geschichte und dem Song of Ice and
+Fire gefunden). Was mir sehr daran gefaellt: die Vorgeschichte des
+Schiffes/der Menschheit, auf die immer wieder in seinen Buechern angespielt
+wird. Wo andere die Space Opera um den Aufstieg und Zerfall schreiben wuerden,
+ist das bei ihm gerade mal ein Rahmen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Buchempfehlung (Ark, 27. Aug 2013, 23:27:18):
+~#! rn=Gloinson rt=1377638778 rg=kultur
+~#! tid=1377634632
+Ey! Spoiler! :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Buchempfehlung (Gloinson, 27. Aug 2013, 23:28:01):
+~#! rn=Ark rt=1377638838 rg=kultur
+~#! tid=1377634632
+Noe. That's the point.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Buchempfehlung (Humni, 28. Aug 2013, 02:03:54):
+~#! rn=Gloinson rt=1377638881 rg=kultur
+~#! tid=1377634632
+Wollte nur betonen: Mir gings genauso wie Gloinson. Ich hab irgendwann (muss
+in den 80ern gewesen sein) von meinen Eltern einen SF-Sammelband bekommen.
+Unter anderem mit "Bestien fuer Norn", einer Tuf-Story. Damals war ich in dem
+Alter, in dem man alles in Toplisten einsortiert. Kuerzlich habe ich also mal
+festgestellt, dass ich mit Fueller den 1. Platz in dem Buch an diese Story
+vergeben habe. Ich war schon lange GRRM-Fan, bevor ich das wusste. ;-)
+
+Und ausserdem, hats noch keiner erwaehnt... A song for Lya. Gibts als
+Kurzgeschichtensammlung. Die Titelstory war sein erster Hugo, und wenn man sie
+liest, weiss man auch, warum er den damals bekommen hat.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Buchempfehlung (Gloinson, 28. Aug 2013, 02:53:11):
+~#! rn=Humni rt=1377648234 rg=kultur
+~#! tid=1377634632
+Das Buch hab ich tatsaechlich erst in Paris auf einem Troedelmarkt ergattern
+koennen. Manche Buecher sind einfach nicht (preiswert) zu haben, da schafft
+die schoene neue Digitalwelt hoffentlich auch auf lange Sicht hin konstant
+Abhilfe.
+
+... wie ich gerade sehe, ist das bei dem von mir seit ein paar Jahren
+gesuchten Buch aus der Star Trek Vanguard-Reihe nur teilweise der Fall. 22,40
+Euro neu aufgelegtes Taschenbuch, 11 Euro Kindle-Version. Hust.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Buchempfehlung (Saray, 29. Aug 2013, 19:39:47):
+~#! rn=Gloinson rt=1377651191 rg=kultur
+~#! tid=1377634632
+Fevre Dream ist eine tolle Geschichte und ein schoenes Beispiel wie
+Vampirromane sein sollten / koennten und ja durchaus auch mal waren, selbst
+wenn sich da heute keiner mehr dran erinnert...
+Tuf Voyaging gibts leider nicht als englisches Hoerbuch, zumindest hab ichs
+nicht gefunden und GRRM will ich eigentlich nicht auf deutsch lesen, wenn
+sichs vermeiden laesst.
+Dream Songs gabs dafuer widerum und dafuer bin ich sehr dankbar, aber toller
+waers natuerlich, wenns irgendwann mal alles gaebe, so auch z.B. die erwaehnte
+Sammlung von Humni. A Song For Lya ist eine grossartige Geschichte.
+
+-----------------------------------------------------------------------------
+
+
+
+Knorkator... (Zesstra, 29. Aug 2013, 23:16:59):
+Kennt einer noch diesen Auftritt von Stumpen und Alf Ator bei irgendeiner
+Talkshow vor gaaanz langer Zeit...? Ich glaube, Alf Ator ist da mit nem
+Hasenkostuem rumgelaufen. Gibt es das auf Youtube?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^10: Buchempfehlung (Ark, 29. Aug 2013, 23:35:44):
+~#! rn=Saray rt=1377797987 rg=kultur
+~#! tid=1377634632
+Sandkings ist mein Favorite aus "Dreamsongs". Wirklitsch cool :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Buchempfehlung (Zesstra, 29. Aug 2013, 23:40:22):
+~#! rn=Ark rt=1377812144 rg=kultur
+~#! tid=1377634632
+Sandkings ist total cool, ja. Wirklich gruslig.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Buchempfehlung (Gloinson, 30. Aug 2013, 00:39:19):
+~#! rn=Zesstra rt=1377812422 rg=kultur
+~#! tid=1377634632
+Sandkings ist die Vorlage fuer den Outer Limits-Teil, oder? Sehr cool.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^11: Buchempfehlung (Saray, 30. Aug 2013, 00:45:44):
+~#! rn=Ark rt=1377812144 rg=kultur
+~#! tid=1377634632
+Oooh ja, sandkings ist toll. Dicht gefolgt von Lya und der Werwolfstory
+
+-----------------------------------------------------------------------------
+
+
+
+Re^12: Buchempfehlung (Saray, 30. Aug 2013, 00:46:56):
+~#! rn=Saray rt=1377816344 rg=kultur
+~#! tid=1377634632
+Und ja, Sandkings ist die Outer Limits-Vorlage, wobei ich die noch nicht so
+richtig gesehen habe leider...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Knorkator... (Vanir,  4. Sep 2013, 17:37:30):
+~#! rn=Zesstra rt=1377811019 rg=kultur
+~#! tid=1377811019
+Meinst Du diesen Auftritt?
+http://www.myvideo.de/watch/5261949/Knorkator_bei_Oliver_Geissen_1999_part_1_v
+on_3
+Nun habe ich noch dies gefunden - das ist aber ohne Kostueme und wird nur
+erwaehnt um es erwaehnt zu haben.
+http://www.youtube.com/watch?v=rbh5JVPY_a0
+V.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Knorkator... (Zesstra,  4. Sep 2013, 18:41:19):
+~#! rn=Vanir rt=1378309050 rg=kultur
+~#! tid=1377811019
+Jaaaa! Genau den meine ich. Danke! :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder angesehen ... (Ark, 22. Okt 2013, 00:59:37):
+... und wieder fuer absolut sehenswert befunden:
+Spirited Away, Anime von Hayao Miyazaki (Studio Ghibli), Oscar 2003 (also
+schon etwas aelter, damals aber bahnbrechend, sozusagen). Inhalt erzaehl ich
+nix, muesst ihr selbst (wieder) rauskramen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal wieder angesehen ... (Rumata, 22. Okt 2013, 09:16:21):
+~#! rn=Ark rt=1382396377 rg=kultur
+~#! tid=1382396377
+Jap, sehr empfehlenswert. Wie eigentlich alles von Miyazaki.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mal wieder angesehen ... (Ark, 22. Okt 2013, 19:10:09):
+~#! rn=Rumata rt=1382426181 rg=kultur
+~#! tid=1382396377
+Achso, der nicht so gelungene deutsche Titel ist btw. "Chihiros Reise ins
+Zauberland".
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Mal wieder angesehen ... (Saray, 24. Okt 2013, 20:36:12):
+~#! rn=Ark rt=1382461809 rg=kultur
+~#! tid=1382396377
+Aaah, dann kenn ich den und so ziemlich alles Andere von ihm auch.
+Stimmt, kann ich nur unterschreiben. Tolle Animes sind das.
+Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Tuf Voyaging (Ark, 22. Mai 2014, 20:13:46):
+Empfehlung von mir hierfuer. Ok, ich geb zu, angesichts der Wartezeit fuer WoW
+hab ich es mir mal runtergeladen, aber es ist ein - typisch - guter Martin.
+Liest sich gut runter, interessanter Hauptcharakter, einige abgefahrene Ideen
+und ein durchlaufender Faden, der einen gewissen Bezug zu den Problemen
+unserer Zeit hat (aber dennoch Fiktion bleibt). Ergo: Two thumbs up.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Tuf Voyaging (Zesstra, 22. Mai 2014, 20:17:23):
+~#! rn=Ark rt=1400782426 rg=kultur
+~#! tid=1400782426
+Ohja, Tuf Voyaging hat mir auch gut gefallen und hat auch viele Fans.
+Wenn das mal verfilmt werden sollte, dann sollte uebrigens der Schauspieler
+von Varys den Job kriegen. ;-) Das fand GRRM himself auch schon sehr passend.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tuf Voyaging (Humni, 22. Mai 2014, 20:34:41):
+~#! rn=Zesstra rt=1400782643 rg=kultur
+~#! tid=1400782426
+Ja. Genau.
+
+Und wo wir gerade bei GRRM sind: Er und Gardner Dozois haben Anthologien
+rausgebracht, zu "Themen-Charakteren" (nicht zu einem Genre). Bisher gibt es
+"Warriors" und "Dangerous Women".
+
+Jede Menge Autoren aus verschiedenen Genres. Nicht jede Story fand ich jetzt
+Top of the Pops, aber es waren echte Perlen dabei (ok, die Women hab ich noch
+nicht durch, nur Warriors, dennoch). Um den Mund waessrig zu machen: Es gibt
+jedes Mal eine neue Martin-Westeros-Story (in Warriors eine Dunk and
+Egg-Story). In "Dangerous Women" gibt es z.B. eine Jim Butcher-Story im
+Universum von Harry Dresden, Starring Molly. In dem naechsten Band, "Rogues",
+wird es eine Patrick Rothfuss-Story ueber Bast geben. (Wem das nix sagt: Die
+Dresden Files bzw. The Name of the Wind von den genannten Autoren lesen.)
+
+Ach ja: "Ja. Genau." heisst: Tuf lesen! Und auch "A song for Lya." Damit kann
+man verdient einen Hugo gewinnen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tuf Voyaging (Gloinson, 22. Mai 2014, 20:42:09):
+~#! rn=Zesstra rt=1400782643 rg=kultur
+~#! tid=1400782426
+Stimmt, der Schauspieler passt da geistig wie die Faust aufs Auge :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Tuf Voyaging (Ark, 22. Mai 2014, 20:47:25):
+~#! rn=Zesstra rt=1400782643 rg=kultur
+~#! tid=1400782426
+Ja ... aber zulegen muss er schon noch ... im Gesicht ... und dem Rest :D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tuf Voyaging (Gloinson, 22. Mai 2014, 20:48:48):
+~#! rn=Ark rt=1400784445 rg=kultur
+~#! tid=1400782426
+Die Tuf-Diaet schafft das schon. "Wie man als Vegetarier fett wird."
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Tuf Voyaging (Ark, 22. Mai 2014, 20:49:42):
+~#! rn=Humni rt=1400783681 rg=kultur
+~#! tid=1400782426
+Jo, Rothfuss lese ich auch gern ... auch das selbe "Problem" wie Martin ...
+too long eval between installments ;^P
+Ach und jetzt widme ich mich "Republic of Thieves" von Scott Lynch, die ersten
+beiden Teile waren schon sehr stark.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Tuf Voyaging (Anatol, 26. Mai 2014, 08:28:50):
+~#! rn=Ark rt=1400784582 rg=kultur
+~#! tid=1400782426
+(1) Tuf ist doch schon deutlich aelter, oder? Will nicht sagen "Fruehwerk", 
+aber noch vor SoIaF. (2) Was Patrick angeht, bin ich in eine Nachtwind-
+Finte gefallen, der mir die Kingkiller Chronicle empfohlen hat und mir
+verschwieg, dass der dritte Band erst "in Vorbereitung" ist und der
+Bursche nicht der schnellste ist. Grrrr. :)
+
+(3) Und ich werfe, um George und Patrick abzurunden, einen weiteren Tad
+in die Runde: The Dirty Streets of Heaven (f.) las sich ueberaus ... ja, 
+unterhaltsam. Es ist nicht ganz so hard-boiled detective fiction wie es
+Jim Butcher schreiben wuerde, aber aus einer noch ungewoehnlicheren 
+Perspektive.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tuf Voyaging (Gloinson, 26. Mai 2014, 12:49:09):
+~#! rn=Anatol rt=1401085730 rg=kultur
+~#! tid=1400782426
+Ist halt noch SF. Schreibt GRRM seit circa 20 Jahren nicht mehr, weil es sich
+nicht verkauft. Irgendwo (in den Dreamsongs?) fuehrt er das aus.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Tuf Voyaging (Ark, 26. Mai 2014, 22:21:33):
+~#! rn=Anatol rt=1401085730 rg=kultur
+~#! tid=1400782426
+Also ich hab SoIaF 1998 angefangen, als ich auf den ersten Band stiess ... und
+dann immer brav die immer laenger waehrenden Intervalle zwischen den Baenden
+ueberwinterte :-D
+Danach bin ich ueber Dreamsongs so langsam auf die anderen Werke gestossen ...
+glaub ueber Fevre Dreams hab ich schon was geschrieben.
+Und bei Rothfuss droht nun aehnliches, macht aber auch nix. Inzwischen:
+Republic of Thieves von Scott Lynch.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+"Unbekanntes Afrika" (Ark,  6. Aug 2014, 23:09:33):
+Heute mal Tierdoku ... obiges Werk ist ... dolle. 5 Episoden ueber den
+Kontinent mit extrem coolen Bildern, Geschichten und ... ach, schauts euch an.
+Kalahari, Savanne, Kongo, Kap und Sahara, alle Klimazonen werden gezeigt. 1
+Jahr Duenenwanderung im Zeitraffer, Giraffenbullenkampf, Elefantenbaby stirbt
+(ok, das ist zugegebenermassen eher traurig), Krabbelschildkroetenbabies (da
+hilft ein grosser Bildschirm :D), zaertliche Nashoerner bei Nacht, kleine
+Echse beim Fliegenfang auf schlafenden Loewen, herumzischende Silberameisen
+bei ueber 50 Grad Hitze, ein unerforschter tiefer Hoehlensee in einer dunklen
+Erdspalte, und und und ... sie werden es nicht bereuen.
+Ach, und die Extras sind auch noch sehr interessant ... insbesondere der
+Aufwand, mit der alles in 4 Jahren gedreht wurde. Und natuerlich unbedingt den
+englischen Kommentar hoeren, David Attenborough ist da immer sehr klasse.
+So, wer jetzt entsetzt guckt, weil ich sowas empfehle, Pech gehabt, mir hat es
+mehr als gefallen, und ich hab noch mehr davon :-D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Unbekanntes Afrika" (Tin,  7. Aug 2014, 10:22:55):
+~#! rn=Ark rt=1407359373 rg=kultur
+~#! tid=1407359373
+Klingt gut.
+tin
+
+-----------------------------------------------------------------------------
+
+
+
+Besondere Muetter mit behinderten Kindern - von Erma Bombeck  (Tin, 12. Okt 2014, 04:03:16):
+Besondere Muetter mit behinderten Kindern - von Erma Bombeck 
+
+Die meisten Frauen werden durch Zufall Mutter. Manche freiwillig, einige unter
+gesellschaftlichem Druck, andere haben es lange geplant und erhofft, und ein
+paar werden Mutter aus reiner Gewohnheit. 
+
+Dieses Jahr werden mehr als 100.000 Frauen Muetter behinderter Kinder werden.
+Haben Sie sich schon einmal Gedanken darueber gemacht, nach welchen
+Gesichtspunkten die Muetter behinderter Kinder auserwaehlt werden? Ich stelle
+mir Gott vor, wie er auf die Erde sieht und sich die Werkzeuge der
+Arterhaltung mit groesster Sorgfalt und Ueberlegung aussucht. Er beobachtet
+genau und diktiert dann seinen Engeln Anweisungen ins riesige Hauptbuch.
+
+- "Maier, Irmgard: Einen Sohn. Schutzheiliger Matthias 
+- Foerster, Margot: Eine Tochter. Schutzheilige: Caecilie 
+- Ruester, Carola: Zwillinge. Schutzheiliger? Gebt ihr Gerhard, der ist es
+gewohnt, dass geflucht wird.
+
+Schliesslich nennt er einem Engel einen Namen und sagt laechelnd: Ihr gebe ich
+ein behindertes Kind. Der Engel ist neugierig: Warum gerade ihr, oh Herr? Sie
+ist doch so gluecklich. Eben deswegen sagt Gott laechelnd. 
+
+Kann ich einem behinderten Kind eine Mutter geben, die das Lachen nicht kennt?
+Das waere grausam. Aber hat sie denn die noetige Geduld ? fragt der Engel. Ich
+will nicht, dass sie zuviel Geduld hat, sonst ertrinkt sie in einem Meer von
+Selbstmitleid und Verzweiflung. Wenn der erste Schock und Zorn abgeklungen
+sind, wird sie es tadellos schaffen. Ich habe sie heute beobachtet. Sie hat
+den Sinn fuer Selbstaendigkeit und Unabhaengigkeit, der bei Muettern so selten
+und so notwendig ist. Verstehst du, das Kind, das ich ihr schenken werde, wird
+in seiner eigenen Welt leben. Und sie muss es dazu bringen, in der ihren zu
+leben. Das wird nicht leicht werden.
+
+Aber Herr, soviel ich weiss, ist ihr Glaube an dich nicht besonders stark,
+Gott laechelt. Das macht nichts, das bringe ich schon in Ordnung. Nein, sie
+ist hervorragend geeignet. Sie hat genuegend Egoismus. Der Engel ringt nach
+Luft. Egoismus ? Ist das denn eine Tugend ? Gott nickt. Wenn sie sich nicht
+gelegentlich von dem Kind trennen kann, wird sie das alles nicht ueberstehen.
+Diese Frau ist es, die ich mit einem nicht ganz volkommenen Kind beschenken
+werde. Sie weiss es zwar noch nicht, aber sie ist zu beneiden. 
+
+Nie wird sie ein gesprochenes Wort, als Selbstverstaendlichkeit hinnehmen. 
+Nie einen Schritt, als etwas Alltaegliches. Wenn ihr Kind zum erstenmal Mama
+sagt, wird ihr klar sein, dass sie ein Wunder erlebt. 
+
+Wenn sie ihrem Kind einen Baum, einen Sonnenuntergang schildert, wird sie ihn
+so sehen, wie nur wenige Menschen meine Schoepfung sehen. 
+
+Ich werde ihr erlauben, vieles deutlich zu erkennen, was auch ich erkenne ---
+Unwissenheit, Grausamkeit, Vorurteile --- und ich werde ihr erlauben, sich
+darueber zu erheben. Sie wird niemals allein sein. Ich werde bei ihr sein,
+jeden Tag ihres Lebens, jede einzelne Minute, weil sie ihre Arbeit ebenso
+sicher tut, als waere sie hier neben mir.
+
+Und was bekommt sie fuer einen Schutzheiligen ? fragt der Engel mit gezueckter
+Feder. Da laechelt Gott: Ein Spiegel wird genuegen.
+
+
+Tin
+
+-----------------------------------------------------------------------------
+
+
+
+Buchempfehlungen (Humni, 25. Okt 2014, 12:12:37):
+Huhu,
+
+hab gerade ein paar Buecher gelesen, die ich mal weiterempfehlen wollte:
+
+"Schwarze Traenen" von Tom Finn
+Faust meets Sagen meets Realitaet in unserer Zeit, sehr schoen und spannend
+umgesetzt, nette Twists.
+
+"Aquarius" von seligem
+Age of Aquarius mal wirklich, eher ein Mystery-Thriller, aber auch spannend
+geschrieben, ebenso mit schoenen Twists.
+
+"So finster, so kalt" von Diana Menschig
+Sehr interessante Umdeutung von "Haensel und Gretel" und anderen Maerchen. Die
+Klischees mal wild durcheinandergemischt.
+
+Ich waere sicher kein tauglicher Feuilletonist, da ich mit "Literaturkritik"
+nichts am Hut habe. Ich fange auch nicht an, Romane zu analysieren, ich schaue
+also nur, was interessiert, was nicht. Die drei haben mich interessiert und
+gut unterhalten. Allerdings gebe ich freimuetig zu, beide Autoren zu kennen
+(nicht so richtig gut, aber immerhin ein wenig), von daher sind meine
+Meinungen da sicher nicht komplett objektiv. (Waeren die Sachen aber so
+richtig schlecht, wuerde ich jetzt hier auch keine Werbung machen).
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Grade erhalten ... (Ark, 29. Okt 2014, 23:33:36):
+Wahrscheinlich etwas frueh, wenn man grad durch das Ding durchgeblaettert hat
+und einen Abschnitt gelesen hat, aber dennoch: ich bin schon jetzt von "The
+World of Ice and Fire" begeistert: Schoener Einband mit erhabendem Dragon
+Sigil, tolle Illustrationen und viele Details, so scheint es, auch einiges,
+was man aus den Buechern natuerlich noch nicht kennt. Mehr, wenn ich mal durch
+bin :-D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Doku ueber Kinder mit Behinderungen und deren Familien. (Tin, 19. Nov 2014, 19:14:13):
+Huhu,
+wie einige von euch wissen, habe ich ein Kind mit Behinderung, genauer gesagt
+mit schwerer Epilepsie und deren folgen, deshalb finde ich diese Doku
+interessant und wichtig. Die Doku kam am 17.11. im NDR und berichtet ueber 3
+familien und insgesammt 4 Kindern mit den verschiedensten Behinderungen.
+Schade finde ich, dass man mal wieder ein recht fites DS-Kind genommen hat
+fuer die Dreharbeiten. Ganz Allgemein ist die Doku aber sehr sehenswert.
+http://www.ndr.de/fernsehen/sendungen/45_min/video-podcast/Kinderleben-mit-Beh
+inderung,minuten1420.html
+
+Tin.
+
+-----------------------------------------------------------------------------
+
+
+
+Beim Leben meiner Schwester (Roman) Von Jodi Picoult (Tin, 30. Nov 2014, 00:00:40):
+Huhu,
+da is se wieder - Diesmal ein Buch... lese ich zum 10-mal ebenso habe ich den
+Film 10-mal angesehen...Das buch ist natuerlich viel besser... der Film ist
+teilweise einfach bescheuert... Ich suche immer wieder, nein, ich finde immer
+wieder die parallelen, zwischen dieser familie im Film/Buch und meiner... 
+
+fuer mich ein ethisches Problem, was sich hier auftut...:
+Beim Leben meiner Schwester (Roman) Von Jodi Picoult, das 2004 im Original und
+2007 auf deutsch erschienen ist, befasst sich mit einer Familie, welches auf
+grund einer Leukaemie erkrankung ihres Kindes ein genetisch massgeschneidertes
+Baby zeugen laesst, welches als lebendes Ersatzteillager dient. 2009 erschien
+der Film zu diesem Buch. Picoult beschreibt die Geschichte der Familie
+Fitzgerald. Das Glueck der Eltern Sara und Brian wird zerstoert, als ihr Kind
+Kate an Leukaemie erkrankt und kaum noch eine Chance hat. Verzweifelt suchen
+sie Rat und werden bei einem Doktor fuendig, der anbietet, ihnen eine
+genetisch massgeschneiderte Retortentochter als Ersatzteillager zu
+produzieren. Neun Monate spaeter wird Anna geboren und von der Geburt an als
+Spenderin von Stammzellen, Knochenmark und anderen lebenswichtigen Stoffen
+gebraucht. Mit 13 Jahren verklagt Anna ihre Eltern, da sie selbst bestimmen
+moechte, was sie Spendet und was nicht.
+
+. so, schon zu viel verraten.. Ist auf jeden fall lesenswert.. und diskutieren
+kann man darueber, seeehr lange.
+
+Tin
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender (Vanion,  6. Dez 2014, 22:34:29):
+Natuerlich ist der coolste Adventskalender der im MG. Das ist praktisch
+Allgemeinwissen. Direkt danach kommt aber der von Ronny Kraak, der unter dem
+Namen Kraftfuttermischwerk auflegt und auch ein gleichnamiges Blog betreibt.
+Seit einigen Jahren, veroeffentlicht er dort im Dezember jeden Tag einen ca.
+einstuendigen Mix aus ganz verschiedenen Genres. Die Hintergrundgeschichten
+und Tracklisten zum Kalender findet ihr in seinem Blog:
+http://www.kraftfuttermischwerk.de/blogg/category/adventskalender-2014/ die,
+Mixe stehen in diesem Jahr auch zum Download bei Soundcloud bereit:
+https://soundcloud.com/der-das-kfmw-ak
+
+Enjoy.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Die Schlafwandler (Gloinson,  7. Dez 2014, 01:43:10):
+Bisschen kontrovers. 1 WK. Kostenguenstig bei der Bundeszentrale Politische
+Bildung zu haben:
+http://www.bpb.de/shop/buecher/schriftenreihe/182111/die-schlafwandler
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Die Schlafwandler (Zook,  7. Dez 2014, 16:20:19):
+~#! rn=Gloinson rt=1417912990 rg=kultur
+~#! tid=1417912990
+Welche Kontroverse meinst Du?
+
+Hm, das Angebot kommt ein bisschen spaet fuer mich.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Die Schlafwandler (Gloinson,  7. Dez 2014, 16:54:39):
+~#! rn=Zook rt=1417965619 rg=kultur
+~#! tid=1417912990
+Ich hab noch vage im Kopf, dass ihm sogleich Revisionismus an der guten alten
+These der Hauptschuld Deutschlands vorgeworfen wurde.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Die Schlafwandler (Zook,  7. Dez 2014, 17:03:12):
+~#! rn=Gloinson rt=1417967679 rg=kultur
+~#! tid=1417912990
+Wobei diese These ja auch schon seit langem nicht mehr so en vogue ist. Also 
+zumindest nicht durchgaengig.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Game of Thrones (Gloinson, 22. Mar 2015, 23:29:19):
+Bei arte liegt uebrigens "Durch die Nacht mit ... GRRM/Sybel Kekilli" fuer ein
+paar Tage auf dem Server. Laeuft gerade, ist aber auch schon online.
+
+
+-----------------------------------------------------------------------------
+
+
+
+2 Filmtipps (Ark, 30. Mar 2015, 20:06:50):
+1. Gone Girl, mit Ben Affleck, sehr schoen erzaehlter Beziehungsthriller (hier
+und da vielleicht nichts fuer schwache Nerven :-)).
+
+2. A Walk Among the Tombstones, mit Liam Neeson, ein solide gemachter, gut
+erzaehlter Thriller um einen Ex Cop, der von einem Verbrecher angeheuert wird.
+
+Mehr sag ich nicht, ich fand beide sehenswert.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+37 Grad: Eltern auf Zeit (Tin,  2. Jun 2015, 19:48:14):
+Halb-stuendige Doku ueber Eltern in Bereitschaftspflege.
+Mehr als 42000 Kinder werden jaehrlich aus ihren Familien genommen, um sie vor
+Gewalt, welche von den Eltern ausgeht zu schuetzen.
+Die Eltern in Bereitschaftspflege haben die Aufgabe die Kinder zu betreuen.
+Zum 1. Mal in ihrem Leben erleben Kinder, welche aus ihren Familien genommen
+wurden, was es heisst liebe zu erfahren und Teil einer Familie zu sein.
+Oft bleiben die Kinder nicht lange. Sie werden in Dauer-Pflegefamilien oder
+aber auch in ihre Herkunftsfamilie Zurueckgefuehrt.
+http://www.zdf.de/37-grad/eltern-auf-zeit-wenn-fremde-kinder-hilfe-brauchen-38
+512716.html
+
+tin
+
+-----------------------------------------------------------------------------
+
+
+
+37 grad: Leben mit behinderten Geschwistern (Tin, 30. Jun 2015, 21:33:37):
+Geschwisterkinder sind in familien mit einem behinderten Kind oft die jenigen,
+die viel zurueckstecken muessen, viel Verantwortung tragen und die Eltern kaum
+fuer sich alleine haben:
+http://www.zdf.de/37-grad/wir-gehoeren-zusammen-leben-mit-meinem-behinderten-b
+ruder-38889366.html
+tin
+
+-----------------------------------------------------------------------------
+
+
+
+A Study In Scarlet (Ark,  4. Dez 2015, 23:21:53):
+Neulich wieder mal Sherlock Holmes gelesen ... Klassiker ... Englisch ein
+Genuss. Ok, Ansichtssache, aber ich hab grad wieder Gefallen gefunden :-D
+Next: The Hound of the Baskervilles ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: A Study In Scarlet (Gnome,  4. Dez 2015, 23:24:45):
+~#! rn=Ark rt=1449267713 rg=kultur
+~#! tid=1449267713
+Schau dir lieber die neun Filme mit Benedict Cumberbatch an. DAS ist ein
+Genuss. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: A Study In Scarlet (Ark,  4. Dez 2015, 23:27:01):
+~#! rn=Ark rt=1449267713 rg=kultur
+~#! tid=1449267713
+Ach, hab vergessen, vorher noch The Slow Regard Of Silent Things von Patrick
+Rothfuss fertig lesen ... ich gebe zu, ohne The Wise Man's Fear und The Name
+of the Wind ist das eher seltsame Kost. Liest man das Vorwort, ist man
+gewarnt. Mir hat es irgendwie gefallen, und es gibt wirklich eine schoene
+Beschreibung von Auri's Charakter ab. Bin zu 3/4 fertig :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: A Study In Scarlet (Ark,  4. Dez 2015, 23:28:03):
+~#! rn=Gnome rt=1449267885 rg=kultur
+~#! tid=1449267713
+Read the source, Luke :-)
+Immer besser als Film ... selten andersrum ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: A Study In Scarlet (Gnome,  4. Dez 2015, 23:37:11):
+~#! rn=Ark rt=1449268083 rg=kultur
+~#! tid=1449267713
+I read the source, bro... und kippte manchmal vor Langeweile spontan
+vom Stuhl, selbst auf Englisch. Benedict hievt Holmes in die Moderne,
+und zwar mehr als standesgemaess.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: A Study In Scarlet (Ark,  4. Dez 2015, 23:52:56):
+~#! rn=Gnome rt=1449268631 rg=kultur
+~#! tid=1449267713
+Some things are just perfect, olde they may be, but better than copy cats :D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: A Study In Scarlet (Croft,  5. Dez 2015, 00:00:39):
+~#! rn=Gnome rt=1449267885 rg=kultur
+~#! tid=1449267713
+Filme?  Du meinst die Fernsehproduktionen, oder?
+
+Croft
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: A Study In Scarlet (Gnome,  5. Dez 2015, 00:03:56):
+~#! rn=Croft rt=1449270039 rg=kultur
+~#! tid=1449267713
+Ja.
+
+-----------------------------------------------------------------------------
+
+
+
+Vorsicht, Leseprobe ... lang :-D (Ark,  5. Dez 2015, 00:06:41):
+
+                     Annabel Lee
+                     ~~~~~~~~~~~
+
+It was many and many a year ago,
+  In a kingdom by the sea,
+That a maiden there lived whom you may know
+  By the name of Annabel Lee;
+And this maide she lived with no other thought
+  Than to love and be loved by me.
+
+I was a child and she was a child,
+  In this kingdom by the sea:
+But we loved with a love that was more than love --
+  I and my Annabel Lee;
+With a love that the winged seraphs of heaven
+  Coveted her and me.
+
+And this was the reason that, long ago,
+  In this kingdom by the sea,
+A wind blew out of a cloud, chilling
+  My beautiful Annabel Lee;
+So that her high-born kinsman came
+  And bore her away from me,
+To shut her up in a sepulchre
+  In this kingdom by the sea.
+
+The angels, not half so happy in heaven,
+  Went envying her and me --
+Yes! - that was the reason (as all men know,
+  In this kingdom by the sea)
+That the wind came out of the cloud by night,
+  Chilling and killing my Annabel Lee.
+
+But our love it was stronger by far than the love
+  Of those who were older than we --
+  Of many far wiser than we --
+And neither the angels in heaven above,
+  Nor the demons down under the sea,
+Can ever dissever my soul from the soul
+  Of the beautiful Annabel Lee,
+For the moon never beams, without bringing me dreams
+  Of the beautiful Annabel Lee;
+And the stars never rise, but I feel the bright eyes
+  Of the beautiful Annabel Lee;
+And so, all the night-tide, I lie down by the side
+Of my darling - my darling - my life and my bride,
+  In the sepulchre there by the sea,
+  In her tomb by the sounding sea.
+
+
+  E.A.Poe
+
+(Toll, oder?)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorsicht, Leseprobe ... lang :-D (Saray,  5. Dez 2015, 01:04:47):
+~#! rn=Ark rt=1449270401 rg=kultur
+~#! tid=1449270401
+Immer wieder schoen! Danke fuers Ins-Gedaechtnis-Rufen, Ark.
+Ich muss wieder mal ausgiebig Poe lesen.
+Saray
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Vorsicht, Leseprobe ... lang :-D (Ark,  5. Dez 2015, 01:15:48):
+~#! rn=Ark rt=1449270401 rg=kultur
+~#! tid=1449270401
+Au weia ... das war die Schuld des Weins, in Zeile 5 muss es heissen:
+And this maiden she lived with no other thought
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Vorsicht, Leseprobe ... lang :-D (Anthea,  7. Dez 2015, 13:20:27):
+~#! rn=Ark rt=1449274548 rg=kultur
+~#! tid=1449270401
+Grmpf. Und jetzt surrt mir die Fiddler's-Green-Version davon im Kopf rum. Du
+bist schuld.
+
+-----------------------------------------------------------------------------
+
+
+
+Independence Day Resurgence (Gloinson, 14. Dez 2015, 12:03:09):
+https://www.youtube.com/watch?v=LbduDRH2m2M
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Independence Day Resurgence (Rumata, 14. Dez 2015, 13:10:35):
+~#! rn=Gloinson rt=1450090989 rg=kultur
+~#! tid=1450090989
+Anstatt in "kultur" waere das in "megaschmarrn" besser aufgehoben gewesen :)
+
+-----------------------------------------------------------------------------
+
+
+
+JA, VIRGINIA! - Die Antwort auf einen Leserbrief von 1897. (Tin, 24. Dez 2015, 16:32:12):
+Alle jahre wider.. lesne wi das...
+
+JA, VIRGINIA! - Die Antwort auf einen Leserbrief von 1897.
+
+Mit Freude beantworten wir sofort und damit auf herausragende Weise die
+folgende Mitteilung und geben gleichzeitig unserer grossen Freude Ausdruck,
+dass ihre gewissenhafte Autorin zu den Freunden der Sun zaehlt:
+
+Lieber Redakteur: Ich bin 8 Jahre alt.
+Einige meiner kleinen Freunde sagen, dass es keinen Weihnachtsmann gibt.
+Papa sagt: Wenn du es in der Sun siehst, ist es so.
+Bitte sagen Sie mir die Wahrheit: Gibt es einen Weihnachtsmann?
+Virginia OHanlon.
+115 West Ninety-fifth Street.
+
+Virginia, deine kleinen Freunde haben unrecht. Sie sind beeinflusst von der
+Skepsis eines skeptischen Zeitalters. Sie glauben an nichts, das sie nicht
+sehen. Sie glauben, dass nichts sein kann, was ihr kleiner Verstand nicht
+fassen kann. Der Verstand, Virginia, sei er nun von Erwachsenen oder Kindern,
+ist immer klein. In diesem, unserem grossen Universum ist der Mensch vom
+Intellekt her ein blosses Insekt, eine Ameise, verglichen mit der grenzenlosen
+Welt ueber ihm, gemessen an der Intelligenz, die zum Begreifen der Gesamtheit
+von Wahrheit und Wissen faehig ist.
+
+Ja, Virginia, es gibt einen Weihnachtsmann. Er existiert so zweifellos wie
+Liebe und Grosszuegigkeit und Zuneigung bestehen, und du weisst, dass sie
+reichlich vorhanden sind und deinem Leben seine hoechste Schoenheit und Freude
+geben. O weh! Wie oede waere die Welt, wenn es keinen Weihnachtsmann gaebe.
+Sie waere so oede, als wenn es dort keine Virginias gaebe. Es gaebe dann
+keinen kindlichen Glauben, keine Poesie, keine Romantik, die diese Existenz
+ertraeglich machen.
+Wir haetten keine Freude ausser durch die Sinne und den Anblick. Das ewige
+Licht, mit dem die Kindheit die Welt erfuellt, waere ausgeloescht.
+
+Nicht an den Weihnachtsmann glauben! Du koenntest ebenso gut nicht an Elfen
+glauben! Du koenntest deinen Papa veranlassen, Menschen anzustellen, die am
+Weihnachtsabend
+auf alle Kamine aufpassen, um den Weihnachtsmann zu fangen; aber selbst wenn
+sie den Weihnachtsmann nicht herunterkommen saehen, was wuerde das beweisen?
+Niemand sieht den Weihnachtsmann, aber das ist kein Zeichen dafuer, dass es
+den Weihnachtsmann nicht gibt. Die wirklichsten Dinge in der Welt sind jene,
+die weder Kinder noch Erwachsene sehen koennen.
+Sahst du jemals Elfen auf dem Rasen tanzen? Selbstverstaendlich nicht, aber
+das ist kein Beweis dafuer, dass sie nicht dort sind. Niemand kann die
+ungesehenen und unsichtbaren Wunder der Welt begreifen oder sie sich
+vorstellen.
+
+Du kannst die Babyrassel auseinanderreissen und nachsehen, was darin die
+Geraeusche erzeugt; aber die unsichtbare Welt ist von einem Schleier bedeckt,
+den nicht der staerkste Mann, noch nicht einmal die gemeinsame Staerke aller
+staerksten Maenner aller Zeiten, auseinanderreissen koennte. Nur Glaube,
+Phantasie, Poesie, Liebe, Romantik koennen diesen Vorhang beiseiteschieben und
+die uebernatuerliche Schoenheit und den Glanz dahinter betrachten und
+beschreiben. Ist das alles wahr? Ach, Virginia, in der ganzen Welt ist nichts
+sonst wahrer und bestaendiger.
+
+Kein Weihnachtsmann! Gott sei Dank! lebt er, und er lebt auf ewig. Noch in
+tausend Jahren, Virginia, nein, noch in zehnmal zehntausend Jahren wird er
+fortfahren,
+das Herz der Kindheit zu erfreuen.
+https://de.wikipedia.org/wiki/Gibt_es_einen_Weihnachtsmann%3F
+
+tin
+
+-----------------------------------------------------------------------------
+
+
+
+Studentin entwickelt Zoorundgang fuer sehgeschaedigte und blinde Kinder. (Tin, 22. Mai 2016, 17:57:00):
+Wenn Evamarie Laun davon spricht, alle Sinne des Menschen miteinzubeziehen,
+dann laesst sie einen meist aussen vor: den Sehsinn. Die 24-Jaehrige hat es
+sich zur Aufgabe gemacht, auch blinden und sehbehinderten Kindern das Erlebnis
+Zoo nahezubringen. Im Rahmen ihres Studiums der Sonderpaedagogik an der
+Paedagogischen Hochschule entwickelte Evamarie eine ganz besondere Idee: einen
+Zoorundgang, der sich an den speziellen Beduerfnissen dieser Kinder orientiert
+- und alle verfuegbaren Sinne miteinbezieht.
+Den ganzen Artikel findet man hier:
+http://www.rnz.de/nachrichten/heidelberg/campus_artikel,-Heidelberger-Studenti
+n-entwickelt-Zoorundgang-fuer-sehgeschaedigte-Kinder-_arid,192973.html
+Kurzer Link:
+http://tinyurl.com/j7ezwlk
+
+
+-----------------------------------------------------------------------------
+
+
+
+Rungholt Reihe (Ark,  6. Jun 2016, 00:47:39):
+Dieser Tage wieder mal durchgelesen, immer noch sehr gute Reihe, besonders die
+ersten beiden Baende:
+Rungholts Ehre
+Rungholts Suende
+Knochenwald
+Todfracht
+Flutgrab
+
+Danach hat der Autor Derek Meister sie leider enden lassen, dennoch Two Thumbs
+Up.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rungholt Reihe (Gnome,  9. Jun 2016, 17:15:13):
+~#! rn=Ark rt=1465166859 rg=kultur
+~#! tid=1465166859
+"Danach hat der Autor Derek Meister sie leider enden lassen..."
+
+Ja, ein 6. Band haette dann unter Wasser spielen muessen...
+
+-----------------------------------------------------------------------------
+
+
+
+Klett Kinderbuch: Klein (Taramar, 10. Jun 2016, 20:20:59):
+
+Dies ist die herzbeklemmende Geschichte von einem kleinen Wusel, genannt
+Klein. Es geht ihm nicht gut. Viel zu oft gibt es zu Hause Streit. An viel zu
+vielen Tagen hat Klein zu Hause Angst. Aber davon kann es keinem etwas sagen.
+Oder? Und wer hilft ihm, wer troestet es, wer bringt es ins Bett, wenn es
+wieder so ist? Keiner. Oder?  
+
+Es kommt ein Tag, an dem Klein einfach von seiner Not erzaehlt. Die Erzieherin
+in der Kita ist so lieb, da traut es sich. Und das aendert alles.
+
+...
+Fuer Kindergaerten oder schulen ist das ein tolles buch.
+http://www.klett-kinderbuch.de/index.php?id=468
+
+
+taramar
+
+-----------------------------------------------------------------------------
+
+
+
