Lammkoteletts mit Joghurtsauce (Jof, 13. Okt 1995, 12:20:25):
[Verlegt von kultur, Asmodis, 11. Okt 1995, 15:28:15]:

Zutaten:

  2 Lammkoteletts, je ca. 150 g mit Knochen
  20 g Margarine
  Pfeffer, frisch gemahlen
  1 Knoblauchzehe
  2 Scheiben Roggentoastbrot, je ca. 25 g
  1 EL Kraeuter der Provence, getrocknet
  1 Becher Magermilchjoghurt (150 g)
  Paprikapulver, edelsuess


Zubereitung:

 Fleisch vom fett befreien, Koteletts in der heissen Margarine 5 Minuten
 von jeder Seite braten, dann mit Pfeffer wuerzen. Das Fleisch in
 Alufolie heiss halten.
 Knoblauch pellen. Das Brot von beiden Seiten damit einreiben, dann
 toasten. Kraeuter in den Bratsud geben, Knoblauch dazupressen und
 mit Joghurt erhitzen.
 Die Sauce mit Pfeffer und Paprika wuerzen. Fleisch mit Toast und
 Sauce servieren.

Guten Appetit!


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



Borschtsch (Jof, 13. Okt 1995, 12:20:54):
[Verlegt von kultur, Asmodis, 11. Okt 1995, 16:05:54]:
Title: Borschtsch
Kategorie: Eintopf

Zutaten:

           750-1000 g hohe Rippe
           500 g Rindfleischknochen
           1 Bund Suppengruen
           1 1/2 l Salzwasser
           1 Knoblauchzehe
           4-5 Zwiebeln
           750 g Weisskohl
           430 g rote Bete (Glas)
           400 g Tomaten (Dose)
           2 gruene Paprikaschoten
           70 g Tomatenmark
           Salz, Pfeffer, Zucker, Essig
           Creme fraiche

Zubereitung:

  Fleisch und Knochen waschen, Suppengruen putzen, waschen, mit dem
  Fleisch und den Knochen in den Schnellkochtopf geben. Salzwasser
  hinzugiessen, zum Kochen bringen, abschaeumen, den Topf schliessen,
  etwa 35 Minuten kochen lassen. Das Fleisch aus der Bruehe nehmen, in
  Wuerfel schneiden und die Bruehe durch ein Sieb giessen. Knoblauch
  und Zwiebeln abziehen, halbieren und in Scheiben schneiden. Weisskohl
  vierteln, waschen und in duenne Streifen schneiden. Rote Bete und
  Tomaten abtropfen und den Saft auffangen. Rote Bete und Tomaten in
  Streifen schneiden. Paprika putzen und in Streifen schneiden. Das
  Gemuese mit Tomatensaft und -mark in die Bruehe geben, mit Salz und
  Pfeffer wuerzen, den Schnellkochtopf schliessen, das Gemuese in etwa
  7 Minuten garen lassen, den Saft der Roten Bete und das Fleisch
  hinzufuegen, miterhitzen, und den Borschtsch mit Gewuerzen pikant
  abschmecken. Creme fraiche getrennt dazu reichen.

    Beigabe: Stangenweissbrot oder ueberbackenes Kaesebrot.

    Ausreichend fuer 6 Personen.

  Kochzeit             etwa 45 Minuten

GUTEN APPETIT!


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



Re: Chili con Carne (Jof, 13. Okt 1995, 12:21:10):
#! rn=Asmodis rt=813424639
[Verlegt von kultur, Mateese, 11. Okt 1995, 16:42:45]:
Zwei Variationen:
 - 250g oder mehr Kaese
   Wenn alles fertig ist, geraspelten Kaese unterruehren, gibt dem ganzen
   ein weniger fluessige Konsistenz.
 - 1 Flasche Altbier
   Halbe Flasche in das Chili, andere Haelfte in den Koch.
 -- Mateese


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



Andalusische Tomatensuppe (Jof, 13. Okt 1995, 12:21:46):
[Verlegt von kultur, Asmodis, 13. Okt 1995, 01:17:55]:
Titel: Andalusische Tomatensuppe
Rubrik: Vegetarisch, Suppen

Zutaten:

 800 g reife Tomaten
 100 g Zwiebeln
 2 El. Sonnenblumenoel
 1 El. Wasser
 4 El. Hefeflocken
 100 g Wasser
 2 El. Rotwein
 1 Gemuesebruehwuerfel
 1 El. Butter
 10 gehackte Rosmarinnadeln
 1 El. feingehacktes Fenchelkraut oder Dill
 1 El. feingehackter Thymian
 1 El. feingehackter Zitronenthymian
 1 El. feingehacktes Basilikum
 1 Knoblauchzehe
 1/4 Tl. Selleriesalz
 1 Spur Picata
 100 g Zucchini oder Salatgurke
 4 El. Schlagsahne


Zubereitung:

  Zubereitungszeit: 30 Minuten

Die Tomaten kurz ins kochende Wasser tauchen, dann die Haut abziehen.
Die Zwiebeln schaelen und wuerfeln. In dem Oel mit 1 Essloeffel Wasser glasig
braten. Zum Schluss die Hefeflocken kurz mitroesten.
Den Topf vom Herd nehmen. 100 g Wasser und die Tomaten dazugeben und mit
dem Schneidestab des Handmixers puerieren. Den Rotwein, den Bruehwuerfel, die
Butter und alle Kraeuter hinzufuegen, ebenso die geschaelte durchgepresste
Knoblauchzehe.
Die Suppe erwaermen aber nicht kochen!
Mit dem Selleriesalz und dem Picata pikant abschmecken.
Die Zucchini oder das Gurkenstueck waschen und in Streifen schneiden. Die
Suppe in die Teller fuellen, die Zucchini- oder Gurkenstreifen darueber
verteilen und auf jede Portion 1 Essloeffel Schlagsahne setzen.
  Portionen: 4


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



Falafel (Jof, 13. Okt 1995, 12:21:52):
[Verlegt von kultur, Asmodis, 13. Okt 1995, 01:34:51]:
Titel: Falafel
Rubrik: Vegetarisch, Indisch

Zutaten fuer 4 Personen:

 500 g Kichererbsen,
 ueber Nacht eingeweicht,
 abgetropft und pueriert (Mixer)
 1 Tl. gemahlenen Koriander
 1 Knoblauchzehe, gehackt
 1 Tl. gemahlenen Kreuzkuemmel
 1/2 Tl. Cayennepfeffer
 Salz
 30 g Mehl
 Oel zum Fritieren


Zubereitung:

Das Kichererbsenpueree mit Koriander, Knoblauch, Kreuzkuemmel,
Cayennepfeffer und Salz vermischen. Das Mehl dazugeben und gut
vermengen. Aus dem Teig kleine Baellchen von etwa 3cm Durchmesser
formen (ein geuebter Falafelroller schafft sicher 20 Stueck in der
Minute) und in heissem Oel in etwa 2 bis 3 Minuten goldbraun fritieren.

GUTEN APPETIT!


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



Gemuese-Paella (Asmodis, 13. Okt 1995, 20:05:08):
Kategorie: Vegetarisches, Reisgerichte, Paella

Zutaten:

 250 g Naturreis (ungeschaelt)
 200 g Erbsen
 300 g Champignons
 3 Tomaten
 1 Aubergine
 3 grosse Karotten
 1 rote, 1 gruene Paprika
 1/4 l Gemuesebruehe
 1 Knoblauchzehe (nur eine)
 Salz
 Pfeffer
 Olivenoel
 ganz wenig Safran


Zubereitung:

Die Knoblauchzehe pressen und in eine hohe Pfanne mit ein paar
El kaltem Olivenoel geben, dann Erhitzen. Vorsicht, Olivenoel
darf nicht sehr heiss werden! Aus den Paprikas die Schoten
entfernen, die Dinger schoen klein schneiden und mit dem Rest
des Gemueses im inzwischen erhitztem Olivenoel duensten.
Gleichzeitig den Reis ebenfalls in Olivenoel ankochen und dann
Safran und Gemuesebruehe dazugeben.
  Den Reis (er muesste durch den Safran schoen roetlich geworden
sein) in eine Paellapfanne geben, das Gemuese und die Erbsen
dazutun und alles 20 min. garen lassen, fertig.
  Safran ist ziemlich teuer und kann - wenn's denn sein muss - auch
weggelassen werden. Wer mag (Wie z.B. ich) nimmt mehr Knoblauch.
Aber eigentlich gehoert an dieses Gericht wirklich nur ein Hauch
davon, das feine Aroma des Safran wird sonst naemlich foermlich
erschlagen.

GUTEN APPETIT!

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



Sushi (Wargon, 13. Okt 1995, 20:08:09):
[Verlegt von kultur, Asmodis, 11. Okt 1995, 16:43:10]:
Kategorie: Japanisch, Fisch
Titel: Sushi-Haeppchen(ca. 30 Stueck)

Zutaten:

  Fuer den Reis:
 3 Tassen Reis
 3-4 Tassen Wasser
 4 El Reis-Essig
 4 El Zucker
 2 Tl Salz

  Ausserdem:

 Wasabi (japanischer Meerrettich)
 500 g erstklassiges und
 taufrisches Fischfilet z.B.
 - roher Lachs
 - Forelle
 - Thunfisch
 - Seezunge
 - Seebarsch
 - oder auch duenne Scheiben Rinderfilet.


Zubereitung:
----------
Den Reis mit Wasser in einem Topf aufkochen. Nach 2 Minuten
sprudelndem Kochen auf ganz kleiner Hitze zurueckschalten,
zugedeckt 20 Minuten ausquellen lassen. Schliesslich weitere 10
Minuten neben dem Herd nachziehen lassen.
Den fertigen Reis in eine weite Schuessel umfuellen, dabei
ausbreiten und mit moeglichst viel Luft in Kontakt bringen,
damit der Reis rasch abkuehlt. Die Essigloesung hineintraeufeln,
dabei den Reis umwenden und mischen, damit alle Koerner von der
Essigloesung getraenkt werden. Immer zugedeckt halten, damit der
Reis nicht austrocknen kann.
Mit dem Sushi-Reis lassen sich die unterschiedlichsten Haeppchen
herstellen:
Zuerst jeweils ein essloeffelgrosses Reisbaellchen in laengliche
Form druecken. Auf die Oberseite etwas Wasabi streichen, obenauf
nunmehr ein Stueck exakt zugeschnittenes rohes Fischfilet (oder
Rinderfilet) betten, das so gross sein muss, dass das Reisbaellchen
darunter voellig verschwindet.
  Sushi-Roellchen
Dafuer braucht man Algenblaetter (Nori), die zuerst in der
trockenen Pfanne angeroestet werden, und Sushi-Reis (s.o.).
Die Algenblaetter einzeln auf einem Tuch (stilecht: Bambusmatte)
ausbreiten, jeweils 1 cm hoch mit Sushi-Reis bedecken (ein
Drittel der Noriflaeche muss frei bleiben). Darauf kommen nun
schmale Streifen von Gurke oder duennem Omelett, Avocadowuerfel,
zur Abwechslungauch rasch gebratenes Hackfleisch, das mit
Yakitorimarinade gewuerzt ist.
Die Algenblaetter mit Hilfe des Tuches aufrollen, dabei fest
wickeln. Die leere Seite hilft, die Rollen zusammenzuhalten. <BR>
Die Rollen jeweils quer in Stuecke schneiden; mit der
Schnittflaeche nach oben anrichten.
Zu diesen Sushi-Haeppchen und -Roellchen serviert man
eingelegten, rosa gefaerbten Ingwer (Beni Shoga), japanischen
Meerrettich (Wasabi) und natuerlich auch Sojasauce (Shoyu).

GUTEN APPETIT!


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



Eingelegtes Pfeffersteak (Asmodis, 13. Okt 1995, 20:18:00):

Kategorie: Fleischgerichte, Schweinesteaks

Zutaten fuer 4 Personen:

 600 bis 800 g Schweinenacken
 Rotwein
 Oel
 Senf
 Gartenkraeuter
 Pfeffer
 Salz


Zubereitung:

Das Fleisch 48 Stunden in einem Sud aus 1/4 l Rotwein, 1/4 l Oel, 1 El Senf
und den gehackten Gartenkraeutern einlegen.
Das Fleisch mit Kuechenpapier abtupfen und in heissem Fett von beiden Seiten
kurz braten, mit Salz und Pfefferkoernern wuerzen.
Dazu Roestkartoffeln und Salat.

(Von Kuechenchef Hans Schatzberger in Nettelbecks Restaurant)

GUTEN APPETIT!

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



schlanke Quarktorte (Asmodis, 23. Okt 1995, 10:53:43):

Hier mal ein Kuchenrezept fuer Aline ! :)

Kategorie: Kuchen, Gebaeck

Zutaten:

     200 g Mehl
     120 g Margarine
     70 g Zucker
     1 Eigelb
     etwas Mehl zum Ausrollen
     Margarine zum Einfetten der Backform

Fuellung:

     500 g Magerquark
     500 g Dosenpfirsich
     (Mandarinen, Kirschen o.ae. gehgehen auch)
     1/4 l Milch (1,5% Fett)
     8 Blatt weisse Gelatine
     2 Eigelb
     3 Eiweiss
     abgeriebene Zitronenschale
     Suessstoff


Zubereitung:

Aus den Zutaten einen geschmeidigen Teig kneten, an kuehlem Ort etwas ruhen
lassen.
Eine runde Platte (26cm) ausrollen, auf einem gefettetem Blech 12-15 Minuten
bei
200C (Umluft 180 C) backen.
Fuer die Fuellung Quark mit Milch, Eigelb, Suessstoff und Zitronenschale
glattruehren.
Gelatine nach Anweisung zubereiten und unter die Quarkmasse ruehren, diese an
einen
kuehlen Ort stellen.
Einen Tortenring um den erkalteten Tortenboden legen. Sobald die Quarkmasse
dicklich
geworden ist, das steifgeschlagene Eiweiss unterruehren und 1/3 davon auf den
Boden
verteilen. Das Obst auflegen und kurz mit fest werden lassen. Den Rest der
Quarkmasse
auffuellen, im Kuehlschrank fest werden lassen.



Guten Appetit!

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



Schweizer Plaetzchen (Asmodis, 23. Okt 1995, 11:26:27):
Name: Basler Brauns
Kathegorie: Gebaeck, Kuchen


Zutaten:

     3 Eier
     300 g Zucker
     1 Pk. Vanillezucker
     500 g Mandeln; abgezogen, gerieben
     1 Tl. Zimt
     125 g Schokolade; gerieben
     4 cl Kirsch
     1 Spur Salz
     Butter; zum Einfetten


Zubereitung:

Eier mit Zucker und Vanillezucker schaumig ruehren. Mandeln, Zimt,
Schokolade, Kirsch und Salz zugeben. Teig kneten und im Kuehlschrank
ruhen lassen. 1/2 cm dick ausrollen und mit Bogenfoermchen ausstechen.
Backblech einfetten und Plaetzchen drauflegen. In den auf 160 Grad
vorgeheizten Ofen schieben und 20 Minuten backen.
Die Basler Brauns sind in einer Blechdose gut verschlossen aufzubewahren.



Variante:

Basler Brunsli

Zutaten:

     250 g Zucker
     250 g Mandeln; gemahlen
     1 Prise Zimt
     2 El. Mehl
     2 Eiweiss; steif geschlagen
     100 g Bitterschokolade


Zubereitung:

Siehe auch Basler Brauns; diese Variante ist dadurch gekennzeichnet,
dass nur Eiweiss verwendet wird und dass die Schokolade fluessig
zugegeben wird. Zucker, Mandeln, Zimt und Mehl in eine Schuessel
geben und mischen. Eiweisse darunterziehen. Schokolade schmelzen,
beigeben und gut mischen. Teig auf Zucker 5 mm dick auswallen, mit
kleinen Foermchen ausstechen, auf mit Backpapier belegtem Blech
einige Stunden trocknen lassen. 5 Minuten bei guter Hitze (250 Grad)
in der Mitte des vorgeheizten Ofens backen.




Guten Appetit!

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



Zardoz kann auch ein bisserl kochen (Zardoz, 25. Okt 1995, 09:49:58):
                                  
Hier kommt mal mein Lieblingsgericht (es ist sogar vegetarisch):


Cannelloni mit zwei Saucen
250g Cannelloni
Salz, Cayennepfeffer
3 El Olivenoel
200g Zwiebeln
1 Ds Tomaten (800g)
2 Lorbeerblaetter, Honig
70g Butter
30g Mehl
1/4 l Schlagsahne
2 El Weisswein
100g Parmesan
500g Champignons
3 El Petersilie (gehackt)
Cannelloni in Salzwasser mit 1 El Oel 5 Minuten kochen und zum Abtropfen 
auf ein Tuch legen. Zwiebeln wuerfeln und im Oel glasig duensten. Tomaten 
grob hacken, mit Fuessigkeit und Lorbeer dazugeben und mit Honig (ein
Essloeffel reicht) und Cayenne (vorsichtig, wenn mans nicht zu scharf mag)
wuerzen. Einkochen lassen. 
40g Butter zerlassen, Mehl anschwitzen und mit Sahne loeschen. 10 min 
kochen lassen und mit Salz, Wein (ruhig was mehr :-)) und Parmesan 
wuerzen. Pilze wuerfeln und in Butter kurz braten, salzen und abtropfen 
lassen. Den Saft zur Sauce ruehren, die Pilze mit dem Kaese und der 
Petersilie vermengen und in die Cannelloni fuellen. 
3/4 der Tomatensauce in eine Gratinform geben, Cannelloni darauf legen und 
mit der Kaesesauce bedecken. Restliche Tomatensauce darueber verteilen 
und bei 200 C 30 Minuten im Umluftofen ueberbacken.  

Hmmmmm lecker :-)))


Ciao        Zardoz




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



Re: Sushi (Tarkin, 25. Okt 1995, 13:41:35):
#! rn=Wargon rt=813611289
Nettes rezept! Aber wo bekomme ich denn die ganzen exotischen Zutaten?
Schade, ich wuerde es gerne mal ausprobieren! hat jemand einen Tip wo man
derlei Ingredentien erstehen kann?           Schlemmermaul Tarkin**

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



Re: Adventskuchen (Toss, 25. Okt 1995, 20:04:48):
#! rn=Asmodis rt=814443328
Muss der Weihnachtsquatsch denn jetzt schon anfangen ?

Und ueberhaupt: Nett von Dir, ddass Du seitenweise Kochbuecher abschreibst.
Merke: Ein Asmodis im Mud spart die Kosten fuers Kochbuch.

Zum Glueck hat der Schmarrn jetzt ne eigene Rubrik.

Rzne. Kein Feinschmecker, wies scheint.

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



Re: Re: Sushi (Zuerileu, 25. Okt 1995, 20:59:37):
#! rn=Tarkin rt=814624895
Sali,
Hmm.. in einem Supermarkt ?

Tschuess Zuerileu

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



Kochen mit Hanf "Hanf-Balls" (Zuerileu, 26. Okt 1995, 00:30:11):

Zutaten:
80gr Hanfsamen
50gr Sesamsamen
3 Essloefel geriebene Manden
1/4 Teeloeffel Zimt
1/4 Teeloeffel Muskatbluete
1 Prise gemahlene Gewuerznelken
1/4 Teeloeffel geriebener Ingwer
1 Spitzer Rosen- oder Orangenbluetenwasser
1/4 Tasse feinen Honig
1 Essoeffel gesalzene Butter


Diese Balls werden oft auch benutzt, um sie mit Marijuana zu strecken und sie
somit zu "Spaceballs" umzufunktionieren. Ich moechte davon warnen, Marijuana
oder Haschisch in grossen Mengen zu sich zu nehmen, da gerade beim Essen das
Einsetzen der wirkung oft 1-2 Stunden dauert. Es besteht die Gefahr, aus
Ungeduld zuviel zu essen und sich so ueberzudosieren. Eine Ueberdisierung mit
THC ist am ehsten durch Essen moeglich. Deshalb ist in jedem Fall alles, wozu
auch THC-haltige Hanfprodukte verwendet wurden, mit entsprechender Vorsicht zu
geniessen (kleine Entwarnung: Es ist noch niemand daran gestorben, aber
Uebelkeit und Kreislaufprobleme sind nicht das, was man sich als "Nachtisch"
wuenscht).

Zubereitung:

Die Zubereitung dieser "Balls" ist mehr als einfach und bietet sich fuer
jedeN an, die/der Erfahrungen im Umgang mit Hanfsamen sammeln will.
Die Samen werden wie oben beschieben, in einer Pfanne geroestet. Dazu gibt
man die gemahlenen Mandeln und die Gewuerze. Das wird sorgfaeltig miteinander
vermengt und schliesslich der fluessige Honig zugefuegt. Gut vermischt laesst
man die Masse ein wenig abkuehlen und formt daraus walnussgrosse Baellchen,
die man anschliessend in Sesamsamen wendet. Im Kuehlschrank bekommen die
Baellchen den noetigen Halt und die Festigkeit. Sie sind lange haltbar, sehr
gesund und lecker.

Artikel aus dem Marijuana Magazin "Grow!" Oktober '95

Ich wuensch euch einen guten Appetit und viel spass beim Kochen...

euer Zuerileu (schrecken in der Unterwelt und in Kuechen)

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



Schollenfilet (Tarkin, 31. Okt 1995, 11:17:34):
Eine Kreation, die uns im Urlaub in der Bretagne ganz spontan einfiel und,
wie wir finden, sensationell lecker ist: Schollenfilet a la Plomagh (Bei
Concarneau)
Zutaten: Ein Schollenfilet pro Nase
vier dicke Moehren
sechs Tomaten
1 Becher Schmand
125ml trockener Weisswein
Beilagen, wie zum Beispiel Kartoffeln und Weissbrot

Zubereitung:
Moehren und Tomaten klein schneiden. Mit etwas Fett in einer Pfanne duenstIn
der Zwischenzeit Filets mit Zitronensaft betraeufeln. Wenn die Tomaten
zerfallen sind, die Schollenfilets drauf legen und auf der
Tomaten-Moehren-Pampe garen lassen. Danach herausnehmen, warm stellen. Das
Tomaten Moehren-Gemuese mit dem Schmand, dem Weisswein, etwas weissem Pfeffer,
etwas Salz und etwas Petersilie abschmecken. Fertig! Dazu wie gesagt
Kartoffeln und unbedingt Weissbrot!

		Bon appetit            Tarkin das Leckermaul**

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



Fortsetzung zu Putenragout auf Himbeer-Pfefferrahm (Tarkin, 31. Okt 1995, 11:47:56):
Eigentlich fehlt nur noch das Abschmecken mit weissem Pfeffer und etwas
gekoernter Bruehe. Dazu passt am besten weisser Burgunder und Basmatireis. Ich
hoffe euch schmeckts genauso gut wie mir!
Ciao       Tarkin das Leckermaul

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



Kekse fuer $250 (Troubadix, 12. Nov 1995, 22:46:45):

Hier eine amuesante Story (und ein gutes Keksrezept), die mir
heute von einer Bekannten forgewarded (geforwarded?) wurde.

>Subject: $250 Cookie Recipe
>
>>This message is sent to you with the hope you will forward it
>>to EVERYONE you have ever even seen the e-mail address
>>of. In the spirit of the originator, please feel free to post it
>>anywhere and everywhere.
>>
>>Okay, everyone....a true story of justice in the good old U.S.
>>of A. Thought y'all might enjoy this; if nothing else, it shows
>>Internet justice, if it can be called that.
>>
>>My daughter & I had just finished a salad at Niemann-Marcus
>>Cafe in Dallas & decided to have a small dessert.  Because
>>our family are such cookie lovers, we decided to try the
>>"Niemann-Marcus Cookie". It was so excellent that I asked if
>>they would give me the recipe and they said with a small
>>frown, "I'm afraid not."  Well, I said, would you let me buy the
>>recipe? With a cute smile, she said, "Yes."  I asked how
>>much, and she responded, "Two fifty." I said with approval,
>>"just add it to my tab."
>>
>>Thirty days later, I received my VISA statement from
>>Niemann-Marcus and it was $285.00.  I looked again and I
>>remembered I had only spent $9.95 for two salads and about
>>$20.00 for a scarf.  As I glanced at the bottom of the
>>statement, it said, "Cookie Recipe - $250.00."  Boy, was I
>>upset!!
>>
>>I called Niemann's Accounting Dept. and told them the
>>waitress said it was "two fifty,"and I did not realize she
>>meant $250.00 for a cookie recipe. I asked them to take
>>back the recipe and reduce my bill and they said they were
>>sorry, but because all the recipes were this expensive so not
>>just everyone could duplicate any of our bakery recipes....the
>>bill would stand.
>>
>>I waited, thinking of how I could get even or even try and get
>>any  of my money back.  I just said, "Okay, you folks got my
>>$250.00 and now I'm going to have $250.00 worth of fun." I
>>told her that I was going to see to it that every cookie lover
>>will have a $250.00 cookie recipe from Niemann-Marcus for
>>nothing. She replied, "I wish you wouldn't do this." I said, "I'm
>>sorry but this is the only way I feel I could get even," and I
>>will.
>>
>>So, here it is, and please pass it to someone else or run a
>>few copies.... I paid for it; now you can have it for free.
>>
>>(Recipe may be halved.):
>> 2  cups butter
>> 4  cups flour
>> 2 tsp. soda
>> 2  cups sugar
>> 5  cups blended oatmeal
>> 24 oz. chocolate chips
>> 2  cups brown sugar
>> 1  tsp. salt
>> 1  8 oz. Hershey Bar (grated)
>> 4  eggs
>> 2  tsp. baking powder
>> 3 cups chopped nuts (your choice)
>> 2  tsp. vanilla
>>
>>measure oatmeal and blend in a blender to a fine powder.
>>Cream the butter and both sugars. Add eggs and vanilla;
>>mix together with flour, oatmeal, salt, baking powder, and
>>soda. Add chocolate chips, Hershey Bar and nuts.  Roll into
>>balls and place two inches apart on a cookie sheet.  Bake
>>for 10 minutes at 375 degrees.  Makes 112 cookies.
>>
>>Have fun!!!  This is not a joke --- this is a true story..
>>
>>That's it. Please, pass it along to everyone you know, single
>>people, mailing lists, etc.....
>>
>>Ride free, citizen!

In diesem Sinne: Guten Appetit,
Troubadix.

P.S.: Niemann-Marcus ist uebrigens ein total vornehmer
Edeleinkaufsschuppen...

P.P.S.: Noch was zu den Zutaten: "Chocolate chips" bitte nicht mit den
gleichnamigen knusprigen Schokoflocken verwechseln, die in Deutschland
verkauft werden ("Doch was Du noch nicht weisst: Die gibt's jetzt auch in
weiss"); es handelt sich vielmehr um kleine Tropfen aus Schokolade, die in
Deutschland leider ziemlich schwer zu kriegen sind; ich habe einfach immer
eine Tafel Milka in kleine Stueckchen geschnitten.
Ferner: Hershey ist in den USA wahrscheinlich der fuehrende
Schokoladenhersteller (aber nur, weil es hier nichts Besseres gibt); einen
Hershey bar kann man mit gutem Gewissen durch Blockschokolade ersetzen...

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



Re^8: Laeden, Geld und Uptime (Asmodis, 16. Nov 1995, 17:35:11):
#! rn=Aranya rt=816434557
[Verlegt von allgemeines, Fyt, 15. Nov 1995, 23:25:19]:
Hm, die einzigen knackigen braungebrannten Jungs, die mich
interessieren, sind Zwerge auf dem Grill. Wozu brauch ich
da Freudenhaeuser?
:
Fyt, sich wundernd.


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



Re^9: Laeden, Geld und Uptime (Asmodis, 16. Nov 1995, 17:35:40):
#! rn=Fyt rt=816474319
[Verlegt von allgemeines, Baron, 16. Nov 1995, 01:16:02]:
Hm, Freudenhaeuser bereiten (im Idealfall) JEDER Person Freude. Fuer dich
waere also ein Zwergengrill (im wahrsten Sinne des Woretes) ein Freudenhaus.
Aranya hat da halt andere Vorlieben :).
Baron - Mensch - haelt argentinische Steaklaeden fuer Freudenhaeuser :)


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



Re^11: Laeden, Geld und Uptime (Asmodis, 16. Nov 1995, 17:36:16):
#! rn=Fyt rt=816481872
[Verlegt von allgemeines, Raffi, 16. Nov 1995, 11:15:08]:

Also Ich  bevorzuge Australische Steakhaeuser :)

Aber Fyts begeisterung fuer Zwerg am Grill kann ich nicht teilen  Wie waers
mit geschnetzeltem Fyt auf Efenbeintellern ?

Gruss
H.


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



Re^12: Laeden, Geld und Uptime (Asmodis, 16. Nov 1995, 17:36:34):
#! rn=Raffi rt=816516908
[Verlegt von allgemeines, Throin, 16. Nov 1995, 13:08:58]:
Ich finde Steak eigentlich grundsaetzlich nicht schlecht. Egal welcher
Nationalitaet. Und Fyt macht sich auch bestimmt gut am Spiess mit Apfel im
Maul und Petersilie hinter den Ohren :) Als Beilage empfehlen wir: Salat der
Saison mit geroesteten Elfenohrenspitzen. Dazu ein grosses Amboss-Bergbock.
Guten Appetit!
Throin (Braumeister und Hobbykoch)


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



re Re^12: Laeden, Geld und Uptime (Throin, 16. Nov 1995, 13:08:58): (Asmodis, 16. Nov 1995, 17:37:03):
[Verlegt von allgemeines, Roesti, 16. Nov 1995, 14:17:58]:
grROESTete elfenohren?demnaechst Elfenohren auf Roesti?Wieviel Gewicht nehmen
die mir weg?...schmeckt sowas?...

Roesti kommt aus dem Fragen nicht mehr raus


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



Toast Diabolo (Jimdigriz, 11. Dez 1995, 00:44:07):
Hallo,
mal was von mir:
Jim's Version von Toast Diabolo featuring die Universelle Sosse !

fuer 2 personen !

        2 putenschnitzel
        4 toast
        100 g Gouda
        1 grosse Zwiebel
        1 Knoblauchzehe
        etwas Salatoel
        2 streifen Speck
        1 Bruehwuerfel
        2-3 Pefferoni ausm Glas (nur die hoellenscharfen)
        1 Becher Sahne
        wer mag auch noch Champignons (frische, keine Dosenpilze)

Und los gehts:

Zwiebeln klein schneiden und in einen Topf geben, mit Salatoel
begiessen bis sie einigermassen bedeckt sind.
Anbrutzeln lassen, Speck sowie Pepperoni kleinschneiden und dazugeben,
den Knoblauch und die Pilze auch, weiterbrutzeln lassen, dann
Bruehwuerfel rein und immer schoen umruehren. Ein Becher Wasser dazu
geben und umruehren, dann die Sahne rein, weiter umruehren und koecheln
lassen, dann Kaese kleinschneiden und reingeben, ruehren und kucken
dass er sich aufloest, mit Salz, Paprika, Pfeffer und Chilli abschmecken.
Inzwischen die Putenschnitzel braten, Toast toasten.
Schnitzel auf Toast legen, Sosse drueber giessen.
Das ganze mit Salat und nem guten Bier geniessen. :)

Die Sosse is auch sehr gut fuer Nudeln.

Achtung das Rezept is nix fuer Luschis, sondern sauscharf
und darf nur so gekocht werden.

An guadn,
James Bolivar diGriz

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



Re: Toast Diabolo (Roesti, 11. Dez 1995, 19:54:34):
#! rn=Jimdigriz rt=818639047
Und nochmal die Frage ...
Wann gibt es endlich das Morgengrauen Kochbuch?

Roesti (hat am WE cookies nach MG-Rezept gemacht....grossartig:) )

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



Re: Re: Toast Diabolo (Hate, 12. Dez 1995, 00:45:01):
#! rn=Roesti rt=818708074
Ist schon in Arbeit.
Hate.

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



Cocktailparade (Engywuck, 16. Dez 1995, 10:36:51):
So.
Und damit ihr nicht immer nur was zu futtern habt, gibts jetzt die
Rezepte zu einigen selbst von mir hochpersoenlich entwickelten
Cocktails. Viel spass.

Engy



Apricot mjam!

       3 cl  Cointreau
       3 cl  Apricot Brandy
       3 cl  Kirschsaft
       5 cl  Orangensaft
       1 cl  Zitronensaft
       4 cl  Tonic Water
       Eiswuerfel
       Cocktailkirschen

Alkohol:        11%
Kategorie:      Longdrink
Menge:  19 cl

Die fluessigen Zutaten ausser Tonic Water in einen Shaker geben und mit
einigen Eiswuerfeln gut shaken. In ein Cocktailglas durch das Barsieb
auf ein paar Eiswuerfel giessen. Mit dem Tonic Water auffuellen. Einen
Stirrer ins Glas geben und mit einer Cocktailkirsche garnieren.




Cabaret

       5 cl  Maraschino
       1 cl  Rum (braun)
       5 cl  Ananassaft
       5 cl  Orangensaft
       1 cl  Zitronensaft
       1 cl  Limettensirup
       1 cl  Curacao Orange
       Eiswuerfel
       Orangen

Alkohol:        12%
Kategorie:      Cocktail
Menge:  19 cl

Die fluessigen Betandteile zusammen mit einigen Eiswuerfeln in einen
Shaker geben und kraeftig schuetteln. Jedoch vom Rum nur ein Teeloeffel
und NICHT 1cl verwenden. In ein Cocktailglas auf einige Eiswuerfel
giessen und mit einer Cocktailkirsche garnieren.




Engywuck

       1 cl  Maraschino
       5 cl  Ananassaft
       5 cl  Maracujasirup
       5 cl  Orangensaft
       1 cl  Limettensirup
       Eiswuerfel
       Cocktailkirschen

Alkohol:        2%
Kategorie:      Cocktail
Menge:  17 cl

Alles fluessigen Zutaten im Shaker mit ein paar Eiswuerfeln schuetteln.
In ein Cocktailglas auf ein paar  Eiswuerfel giessen und mit einer
Cocktailkirsche garnieren.


Bemerkungen:

Ein typischer Engywuck: Gut aber harmlos.





Fun Fan

       3 cl  Rum (weiss)
       2 cl  Cointreau
       5 cl  Ananassaft
       3 cl  Kirschsaft
       2 cl  Zitronensaft
       1 cl  Maracujasirup
       1 cl  Creme de Bananes
       Orangen
       Eiswuerfel

Alkohol:        13%
Kategorie:      Cocktail
Menge:  17 cl

Alle fluessigen Zutaten zusammen mit einigen Eiswuerfeln in den Shaker
geben und schuetteln. Achtung! Von der Creme des Bananes nur einen
Teeloeffel, nicht 1 cl verwenden! In ein  Longdrinkglas auf einige
Eiswuerfel geben. Mit einer eingeschnittenen Orangenscheibe am Glasrand
garnieren.





Gin Gently

       5 cl  Gin
       3 cl  Ananassaft
       1 cl  Kirschsaft
       1 cl  Orangensaft
       2 cl  Zitronensaft
       1 cl  Limettensirup
       7 cl  Bitter Lemon
       Cocktailkirschen
       Orangen

Alkohol:        10%
Kategorie:      Longdrink
Menge:  20 cl

Alle fluessigen Zutaten bis auf den Bitter Lemon in einen Shaker geben
und mit 2 Eiswuerfeln gut shaken. In ein Longdrinkglas auf 2 Eiswuerfel
giessen. In das Glas einen Stirrer geben und mit einer Orangenscheibe
und einer Cocktailkirsche garnieren.




Graue Maus

       1 cl  Blue Curacao
       1 cl  Apricot Brandy
       4 cl  Ananassaft
       4 cl  Kirschsaft
       4 cl  Orangensaft
       5 cl  Tonic Water
       1 cl  Limettensirup
       1 cl  Creme de Bananes
       Eiswuerfel
       Cocktailkirschen

Alkohol:        4%
Kategorie:      Longdrink
Menge:  21 cl

Alle fluessigen Zutaten bis auf das Tonic Water in einen Shaker geben
und mit ein paar Eiswuerfeln schuetteln. Achtung: Von der Creme des
Bananes NICHT 1 cl, sondern nur einen Teeloeffel verwenden!
Anschliessend mit Tonic Water auffuellen und auf Eiswuerfel in ein
Longdrinkglas giessen. Mit Cocktailkirsche garnieren.




Irgendwas

       3 cl  Apricot Brandy
       3 cl  Feigling
       1 cl  Gin
       1 cl  Gruene Banane
       7 cl  Orangensaft
       2 cl  Maracujasaft
       1 cl  Limettensirup
       2 cl  Tequila Gold
       Eiswuerfel
       Cocktailkirschen

Alkohol:        14%
Kategorie:      Cocktail
Menge:  20 cl

Alle fluessigen Zutaten im Shaker mit einigen Eiswuerfeln shaken und in
ein Longdrinkglas auf Eiswuerfel giessen. Mit Cocktailkirsche garnieren.




Maracuja tropic

       2 cl  Tequila Gold
       2 cl  Rum (braun)
       1 cl  Tequila (weiss)
       1 cl  Rum (weiss)
       7 cl  Maracujasaft
       6 cl  Ananassaft
       1 cl  Limettensirup
       Orangen
       Eiswuerfel

Alkohol:        12%
Kategorie:      Longdrink
Menge:  20 cl

Alle fluessigen Zutaten mit einigen Eiswuerfeln im Shaker gut schuetteln
und in ein Longdrinkglas auf einige Eiswuerfel giessen. Mit einer
eingeschnittenen Orangenscheibe garnieren und mit einem Stirrer im
Glas servieren.




Maeusetoeter

       4 cl  Tequila Gold
       3 cl  Rum (braun)
       2 cl  Maraschino
       7 cl  Orangensaft
       2 cl  Kirschsaft
       1 cl  Grenadinesirup
       1 cl  Zitronensaft
       Eiswuerfel
       Cocktailkirschen

Alkohol:        17%
Kategorie:      Cocktail
Menge:  20 cl

Alle fluessigen Zutaten mit einigen Eiswuerfeln in den Shaker geben und
shaken. In ein Cocktailglas auf einige Eiswuerfel giessen. Mit einer
Cocktailkirschengarnitur und einem Stirrer servieren.






Orange Mouse

       3 cl  Tequila Gold
       5 cl  Ananassaft
       5 cl  Orangensaft
       1 cl  Grenadinesirup
       4 cl  Tonic Water
       5 cl  Curacao Orange
       Eiswuerfel
       Cocktailkirschen

Alkohol:        12%
Kategorie:      Longdrink
Menge:  23 cl

Alle fluessigen Zutaten ausser dem Tonic Water mit einigen Eiswuerfeln in
einen Shaker geben und nicht zu sehr schuetteln (schaeumt!). Auf
Eiswuerfel in ein Longdrinkglas giessen und mit Tonic Water auffuellen.
Mit einer Cocktailkirsche garnieren.





Pink Dream

       8 cl  Kirschsaft
       5 cl  Ananassaft
       5 cl  Rum (weiss)
       2 cl  Zitronensaft
       1 cl  Limettensirup
       Eiswuerfel
       Cocktailkirschen

Alkohol:        9%
Kategorie:      Cocktail
Menge:  21 cl

Alle Zutaten in einen Shaker geben und zusammen ordentlich
durchschuetteln. Durch das Barsieb auf einige Eiswuerfel giessen. Mit
einer Cocktailkirsche garnieren.





Schlafender Loewe

       2 cl  Rum (hochprozentig)
       2 cl  Tequila Gold
       1 cl  Gruene Banane
       7 cl  Orangensaft
       3 cl  Ananassaft
       1 cl  Zitronensaft
       3 cl  Tonic Water
       1 cl  Curacao Orange
       Eiswuerfel
       Cocktailkirschen

Alkohol:        14%
Kategorie:      Cocktail
Menge:  20 cl

Alle fluessigen Zutaten ausser dem Tonic Water im Shaker mit einigen
Eiswuerfeln schuetteln. In ein Longdrinkglas auf einige Eiswuerfel
giessen und mit Tonic Water auffuellen. Mit einer Cocktailkirsche
garnieren.





Suesse Maus

       1 cl  Amaretto
       1 cl  Curacao Orange
       1 cl  Blue Curacao
       1 cl  Rum (braun)
       1 cl  Maracujasirup
       10 cl  Ananassaft
       2 cl  Kirschsaft
       Eiswuerfel
       Cocktailkirschen

Alkohol:        7%
Kategorie:      Longdrink
Menge:  17 cl

Alle fluessigen Zutaten mit einigen Eiswuerfeln im Shaker schuetteln und
auf Eiswuerfel giessen. Mit Cocktailkirsche garnieren.





Sweet Temptation

       3 cl  Gin
       2 cl  Cointreau
       5 cl  Kirschsaft
       2 cl  Ananassaft
       2 cl  Orangensaft
       3 cl  Zitronensaft
       1 cl  Maracujasirup
       1 cl  Limettensirup
       1 cl  Grenadinesirup
       Eiswuerfel

Alkohol:        10%
Kategorie:      Longdrink
Menge:  20 cl

Alle fluessigen Zutaten in den Shaker geben und mit einigen Eiwuerfeln
durchshaken. In ein Longdrinkglas fuellen und mit einer Cocktailkirsche
garnieren.


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



snowball (Caradhras, 18. Dez 1995, 19:04:23):
                Sodala

[Seher:Celebdil] 2 cl amaretto saronno, 2 cl sahne, 2 cl whisky :) schuetteln
[Seher:Celebdil] => snowball
[Seher:Celebdil] ach, mit Muskat natuerlich noch ueberstaeuben :)

Natuerlich auf Eis schuetteln und dann absieben

     Mjam mjam        Caradhras

      aeh, ach so, doch...     Als Whisky natuerlich mind. nen Scotch
PS: das richtige fuer kalte Tage im Warmen

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



Watt is ene Nachtisch!? (Caradhras, 14. Jan 1996, 16:35:22):
Guten Morgen liebe Schoeler und Schoelerinnen. Saetzen sae saech.
Heute stellen wir uns eine der fundamentalsten Frajen der Geschichte:
Watt is ene Nachtisch?

Tja, watt is ene Nachtisch? Da stelle mer uns mal janz dumm.
Und dann saje mer uns, datt es zwei Arten von Nachtischen gibt.
Einmal den janz normalen Nachtisch und einmal den unjenuejenden Nachtisch.
Den unjenuejenden Nachtisch krieje mer spaeter, der is nicht so verlockend.

Also, watt is ene Nachtisch? Ene Nachtisch is etwas zu futtern, wie ihr
Schoeler dieser neumodischen Zeit jetzt wohl sagen wuerdet. Wie
definieren wir nun den Nachtisch? Schoeler Jof, antworten sie.
Was, sie wissen es nicht? Wie sollen sae dann jemals in dieser Welt
Verantwortung uebernaehmen koennen? Setzen!

Also, ene Nachtisch ist etwas, was wir essen koennen, nachdem wir keinen
Hunger mehr haben. Maerken sie saech daese wichtigste aller Gleichungen:

        Nachtisch = rutscht * immer

Und dieses Theoraem wollen wir gleich beweisen. Wir konstruieren einen
janz normalen Nachtisch, der immer wegkommt. Also einen Beweis durch
Widerspruch:
Man nehme zur Konstruktion:
Eine feuerfeste Form
Pro Person einen Apfel, aber keinen von den neumodischen grossen,
sondern den muerben kleinen.
Sahne fluessich
Zimt
gestiftelte Mandeln

Das ganze simulieren wir nach guter alter Vaetersitte in einem
Backofen bei 160 Grad fuer 20 Minuten. Zuaerst schneiden wir von
oben den Kaern des Apfels heraus, wobei wir den Apfel ganz lassen.
Dann setzen wir die Aepfel mit einem der zwei Loecher nach unten,
fuellen die Loecher locker mit Mandelstiften fuellen und mit etwas
Sahne begiessen. (Aber nicht zu knapp, sonst wird das Theorem nicht
erfuellt.) Anschliessend mit Zimt bestaeuben und rinn in den Backofen.
Die Aepfel natuerlich MIT Schale machen. Anschliessend ausloeffeln
mit Teeloeffel.

Was gut dazu passt? Vanilleeis :)

          Setzen, 1     *:^)

     Caradhras - nach 5 Monaten erstmal wieder Rezepte ausprobierend
                 Traeger der weissen Kochmuetze, er will es mal bis
                  zur schwarzen Kochmuetze schaffen :))

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



essen (Groll, 15. Jan 1996, 17:07:20):
hier etwas fuer die kalorienbewuten:
man nehme 750 gr steinpilze, mind. 2 grosse zwiebeln ein bis zwei becher
sahne und jede menge kraeuter (oregano, petersilie, salz , pfeffer ...)
die pilze anbraten, die zwiebeln dazu und mitschmoren lassen . das ganze zum
schluss mit der sahne uebergiessen und nochund mit den kraeutern bestreuen und
nochmal kurz aufkochen.!
Das schmeckt hervorzueckend zu steaks und pellkartoffeln,den weisswein nicht
vergessen!
guten appetit  groll

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



Re: essen (Groll, 15. Jan 1996, 17:10:42):
~#! rn=Groll rt=821722040
~#! tid=821722040
ich verga: das ist natuerlich fuer mehrere personen gedacht. wenn ich mitesse
reichts meist nur fuer zwei aber normalerweise waer es fuer 4 gedacht
viel spass noch   groll

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



Re: essen (Caradhras, 16. Jan 1996, 04:48:37):
~#! rn=Groll rt=821722040
~#! tid=821722040
750 Gramm Steinpilze? Autsch! Das wird gut teuer wenn man sie kauft.
Hier habe ich naemlich in freier Natur noch keine gesehen. :)
Nur noch getrocknete habe ich zuhause, kann man glaube ich Faktor 1:10
rechnen, 1 Gramm getrocknete Steinpilze entsprechen 10 Gramm gesammelten.

Und als ich dann bei uns im grossen Supermarkt gekuckt habe, hat ein
Tuetchen mit 3! (ja, in Worten drei) Gramm getrockneten Steinpilzen
drei Deutsche Mark gekostet.
Die spinnen, die Passauer Suppenmaerkte!

       tschoe     Caradhras :)
  traeumt von Kartoffelsuppe mit Steinpilzen und Sahne drin

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



Re: Re: Watt is ene Nachtisch!? (Caradhras, 16. Jan 1996, 05:36:16):
~#! rn=Asmodis rt=821719262
~#! tid=821633722
Herr Asmodis, die alloholische Gaerung, *hicks* die Gaerung des Allloloo
*hicks* Ballllldriiiian... Herr Lehrer... *hicks* aeh Asmodiiiis....

        Ffaradhraf, mit 2 f vor dem dh und einem danach *hicks* :)

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



Naechstes Wochenende gibts.... (Caradhras, 21. Jan 1996, 03:12:35):
                    Moin Moin Kinners

So, wenn Kretek (rufe Kreeeeetiiiii) und Apa (rufe Apaaaaaa) und
Wind (rufe Wiiiiiiind) und ... mitspielen, gibts naechsten Sonntag
Gans. Und zwar fuer 4 bis 6 Personen. 4 gans aeeeeh ganz arg ver-
fressenen.
Dazu gibts Hefeknoedel und Rotkohl, aeh Blaukraut, oder wars
Rotkraut und Blaukohl? Na, ihr wisst schon.

Gans machen ist ziemlich einfach! Macht sich sozusagen selbst.
Dauert halt nur lange. Geeignete Gaense fangen ab 3.2 Kilo an,
fuer 6 Leute sollten es dann schon mind. 4 Kilo sein. Drei Stunden
sollte das liebe Tierchen schon im Backofen sein.
PS: uebrigens ist das ganze nichs fuer Schlankheitsbewusste *:^)
    (Haette ja sein koennen dass es jemand nicht weiss. *grins*)

So, auf an das Rezept fuer 6 Personen:

Gans:
Man braucht:
1 Gans (ach nee) tiefgefroren, ab 4 Kilo, am besten eine polnische
       Hafermastgans, keine Fruehmastgans, die haben weniger Fleisch!
       Und polnische sind auch besser als ungarische.
Salz
Wasser
Beifuss  (nicht unbedingt noetig)
Gefluegelschere (unbedingt noetig :)
und kein flaches Backblech, sondern ein etwas tieferes
Ein paar Aepfel, hm, 2 oder 3 groessere reichen
Ein paar Zwiebelsche, mind. mittelgross, mind. 3 Stueck
2 Birnen, nicht zu weich

Gans schon einen Tag vorher auftauen, aber bitte die Plastikfolie
aussenrum nicht erst wegnehmen wenn das Tier aufgetaut ist, sonst
gibts viiiele Salmonellen!! Und die schmecken nicht gut.
Halben Liter Wasser auf Backblech, darauf die aufgetaute Gans,
Plastiktuetchen mit Innereien natuerlich rausnehmen und dafuer
ein kleines Buendchen Beifuss reinstecken. Backofen auf 190 Grad
bis 200 Grad erhitzen. Gans etwas aussenrum einsalzen, dann mit
der Brust nach unten aufs Blech.
Nach einer Stunde umdrehen und nach nochmal einer Stunde again.
Zwischendrin immer mal wieder die Gans (etwa ab einer Stunde jede
halbe Stunde) mit der Fluessigkeit (dem Fett) begiessen, das
sich am Blechboden befindet.
Die Aepfel, Birnen und Zwiebeln schaelen, Aepfel und Birnen
entkernen, vierteln, Zwiebeln je nach Groesse halbieren oder
vierteln. Eine halbe bis eine dreiviertel Stunde bevor die
Gans rausgenommen wird duerfen die Aepfel, Birnen und Zwiebeln
mit aufs Backblech huepfen.
So, datt war die Gans. Nu zum Blaukraut.

Blaukraut:
etwas schwarzen Pfeffer, frisch gemahlen
1 Glas Rotessa oder so was, Blaukraut halt :)
etwas gerauchter Bauch, Rauchfleisch oder so
2 EL vom Gaensefett aus dem Backofen
etwas Rotwein, wenig, nur ein Schuss oder so, also
sagen wir mal 0.1 Liter (den Rest gibts zum Essen, also
was gescheites, Trollinger, leicht trocken wuerd ich mal
sagen *schleck* 6 bis 7 Mark die Literflasche)
2 Zwiebeln
2 Aepfel

Das Blaukraut kann man auch ohne Probleme einen Tag vorher
machen, dann schmeckt es eher besser. Aber dann hat man halt
das Gaensefett nicht direkt aus dem Backofen und muss
Sonnenblumenoel nehmen.
So, also wenn man es am selben Tag wie die Gans macht, reicht
es, wenn man 1.5 Stunden vorher damit anfaengt. Fett in einem
mittelgrossen Topf erhitzen, dann Rauchfleisch gewuerfelt kurz
ein bisschen anbraten, solange Zwiebeln schaelen, viertel wenn
mittelgross, achteln wenn ganz gross. Mit anbraten, solange
Aepfel schaelen, entkernen, kleinschneiden in hm, auch in Achtel
wuerde ich mal sagen. Auch mit rin in den Topf. Nach ein paar
Minuten (Neiiiiin, nicht schwarzwerden lassen! :) leicht pfeffern
und mit dem Rotwein abloeschen. Dann kann das Kraut dazu rein.
Das ganze jetzt eine Stunde auf kleinerer Stufe (vielleicht 1 von
3 oder 4 von 12) vor sich hinbruddeln lassen und dann isses auch
schon fertig.

Nu zu die Hefeknedeln. Argl, kann kaum mehr weiterschreiben, hab
Hungeeer. :)
Man braucht:
ein Ei
Salz
grossen! Kochtopf
Wasser
Mehl
1 Wuerfel Hefe
Bindfaden (nein, nicht zum mitessen!)

So, nun wird erstmal ein normaler Hefeteig zubereitet.
Aehm, fragt mich nicht wieviel man von allem nehmen soll,
schaetz ich jedesmal so Pi mal Daumen ab. Gleichviel Milch
wie Wasser wuerde ich sagen.
Also, zuerst nehmen wir mal 0.15 Liter Wasser und 0.15 Liter
Milch. Das aufwaermen auf dem Herd auf ca. handwarm. Maximal
40 Grad bitte, ueber 42 Grad fangen glaube ich die Aminosaeuren
an, kaputtzugehen. Drum ists auch rel. schlecht wenn man ueber
42 Grad Fieber hat. *huestel* Aber obs stimmt? Bin kein Chemiker,
fragt am besten einen solchen oder wir behandeln das in unserer
Sonderstunde: Fragen an Frau Doktor Engywueck.
Weiter am Text: Hefewuerfel zerbroeseln und in dem Wasser-/
Milchgemisch aufloesen. Und zwar vollstaendig bitte. Dann kurze
Zeit warmstellen (15 Min). Danach mitsamt einem Ei und gerade
so viel gesiebtem Mehl und ein bisschen Salz zu einem Teig
verarbeiten, dass er nicht mehr feucht ist. In einer Schuessel
eine halbe Stunde an einem ziemlich warmen Ort (zb einer warmen
Heizung) gehen lassen, dann sollte er etwa doppelt so gross
werden)
Der grosse Kopftopf mit 2/3 voll Wasser sollte schon bereitstehen
und das leicht gesalzene Wasser schon sieden. Teig teilen, ich
wuerde mal sagen in zwei Teile, und einen Kloss darauf formen.
Ja, genau, der wird zieeemlich gross. :) Muss halt noch in den
Topf passen. Ins Wasser legen, das Wasser weiterhin sieden lassen,
Deckel drauf und nach 10 Minuten umdrehen. Aus dem Wasser nehmen
und den naechsten rein. So, jetzt brauchen wir den Bindfaden bzw
ein 70 cm langes Stueck davon. Farbe egal. :)
Von dem Hefeknoedel Scheiben mit einem Messer oder so was aehn-
lichem waere naemlich schlimmer als Blasphemie, dabei quetscht
man naemlich die Knoedels! Brrr.
Also schnappt man sich nen Bindfaden und legt den unter den Knoedel,
so 2 cm vom einen Ende weg. Danach zieht man den Bindfaden ueber
dem Knoedel ueberkreuz zusammen und 'schneidet' so butterweich
durch den Knoedel. Leckere Scheiben!

So, jetzt ists auch Zeit, die Gans aus dem Backofen zu nehmen und
mit der Gefluegelschere zu zerlegen. Der Beifuss hat hiermit aus-
gedient. Das Fett vom Blech (mit den Zwiebeln, Aepfel, Birnen)
abgiessen in ein Schuesselchen und evtl. mit 1 EL angeruehrtem
Mondamin oder Mehl binden. Das dann auf den Esstisch auf einem
Stoefchen warmstellen. Gans und Blaukraut auch noch servieren
und dann noch aus schicken hochstieligen Weinglaesern den
Trollinger, Lemberger oder was auch sonst fuer einen Rotwein
dazu nuckeln.
So, und nun hoffe ich, dass sich jemand traut, das ganze
nachzumachen. :) Ich jedenfalls trau mich, arg viel kann man
nicht falschmachen. (hoechstens die Gans und das Blaukraut
auf dem Herd vergessen.)

Ich wuensche guten Appetit (und bringt viel Appetit mit)

   Caradhras - kennt sich in seinem Kochbuch besser aus als in MG

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



Re: Naechstes Wochenende gibts.... (Bobo, 22. Jan 1996, 09:34:17):
~#! rn=Caradhras rt=822190355
~#! tid=822190355
Hmmm, Caradhras,
das klingt gut, aber vor den schwierigsten Sachen hast Du Dich gedrueckt...
Was ist denn mit der Fuelle? Da hast Du doch sicher eine Idee?
Vielleicht hab' ich's auch ueberlesen, aber Deine Bemerkungen ueber die
Sosse waren bestimmt nicht allzu umfangreich....
Noch ein Tip fuer den Haushalt: zum Knoedelschneiden gibt es so ein
praktisches Geraet, das vom Aussehen her an einen ueberdimensionalen
Eierschneider erinnert und mit dessen Hilfe man das Herumhantieren mit dem
Bindfaden vermeiden kann, denn das braucht laenger und man verbrennt sich
die Finger... Ach so, apropos verbrennen: den meisten Fluegeltieren kann man
durchaus noch die eine oder andere Flaumfeder entfernen, wenn man ueber
einen Gasherd, einen Bunsenbrenner, ein Schweissgeraet oder einen
Flammenwerfer verfuegt... Am besten mal beim Goblinhexer nach den Kugeln
fragen... und dann gaaaanz behutsam... oder lieber doch nicht?
Bevor's brenzlig wird, verkriech ich mich lieber hinterm Herd,
ciao,
twBs.

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



Re: Naechstes Wochenende gibts.... (Grimmborn, 22. Jan 1996, 11:00:47):
~#! rn=Caradhras rt=822190355
~#! tid=822190355

Ohne die Kochkuenste von Caradhras anzweifeln zu wollen, wuerde ich gerne ein
paar Bemerkungen loslassen:
Eine Gans ohne Fuellung ist nur eine halbe Gans. Ich habe da gute Erfahrung
gemacht mit einer Fuellung aus Backpflaumen, geviertelten (kleinen) Aepfeln,
etwas Weissbrot (Toast) und natuerlich Maronen. Wenn man hat sollte man die
Haelfte dieser Fuellung mit der Leber durch den Fleischwolf drehen und dann
mit dem Rest mischen, ansonsten muss man sich mit dem Mixer behelfen (auch
hier Leber nicht vergessen, selbige aber vorher kleinhacken). Von einem Ei
rate ich ab, das hat mir mal die Bauchdecke der Gans gesprengt... ;-)
Auch empfehle ich, die Gans abzudecken, wer keinen hinreichend grossen
Roemertopf oder Braeter hat nimmt halt Alufolie, die dann die letzte halbe
Stunde eventuell entfernt wird. Zumindest bei meinem Ofen ist jeder Vogel, der
laenger als 30 min drin ist auf der Oberflaeche von schoener, gleichmaessiger
schwarzer Farbe. Und das waere doch schade... ;-)

Ach ja, zum Garen kann man auch noch dem Wasser etwas Weisswein zufuegen, vor
allem in einem Braeter/Roemertopf ist das alles andere als Verschwendung.

Grimmborn der Atheist

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



Re: Re: Naechstes Wochenende gibts.... (Caradhras, 23. Jan 1996, 08:31:07):
~#! rn=Grimmborn rt=822304847
~#! tid=822190355
*grins* Schoen, 2 Antworten. *freu*
Und zu der Fuellung: Ich habe dazu das Rezept nicht aufgeschrieben, da ich
noch keine Gans mit Fuellung selbst gemacht habe. Und schliesslich schreibe
ich eigentlich nur das auf, was ich schon selbst ausprobiert habe.
Selbst wenn es 'mehr' dazu geben koennte.
Alles klar? Mir ist eine Gans mit Fuelle genauso lieb wie eine ohne, aller-
dings ess ich immer so viel von den Hefeknoedeln, dass bei noch mehr,
zb mit Fuelle, irgendjemand Armes den Fussboden aufputzen muesste weil ich
geplatzt waere.

[Tod:] Eine zu kalorienreiche Gans hat gerade Caradhras umgebracht.

Und das kostet mir zuviel EP. :)
Gans abdecken habe ich auch noch nicht probiert, ich liebe aber etwas
knusprigere Haut. Und mit dem Bindfaden hab ich mir auch noch nicht
die Patschhaendchen verbrannt. Vielleicht muss man es koennen?
*grins Bobo frech*

      so, guten Abend....          Caradhras der ewige Berg aeh Prophet

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



Estragon-Poularde (Grimmborn, 23. Jan 1996, 15:00:33):
So, ich versuchs auch mal mit nem Rezept...

Man nehme:
Eine Poularde von rund 1,5 Kilo, ruhig auf gute Qualitaet achten!
30g(!) getrockneter Estragon oder 100g frischer
500ml Sahne
250g Creme fraiche
Was man sonst noch braucht: Salz, Pfeffer

Man nehme die Poularde (basically ein Haehnchen, aber besser und teurer),
teile sie in Viertel und reibe selbige gut mit Salz und Pfeffer ein. Dann
schmore man sie in 60g Butter (hab ich bei den Zutaten vergessen) leicht
goldbraun, aber schmoren, nicht braten!
Ich habe das nacheinander gemacht, fuer alle 4 Viertel war der Topf nicht
gross genug. Dann gebe man die Innereien, eine halbe Zwiebel (oder auch ganze
Schalotte wenn man hat) und den Estragon dazu und lasse es so 35-40 min bei
kleiner Flamme schmoren. Nach halber Zeit gebe man 200ml trockenen Wiesswein
dazu (ich habe Kerner genommen und empfehle daher Riesling. Darf ruhig guter
Wein sein, das Essen ist teuer genug, das muss man sich nicht wegen einem Glas
Wein verschlechtern...). Die Poulardenviertel werden entnommen und
warmgestellt. Wenn man sie in den Ofen mit Oberhitze stellt, wird der Vogel
knusprig, was sicher kein Fehler ist.
In den Topf gibt man jetzt die Sahne, kocht auf und laesst 10 min koecheln,
passiert durch ein Sieb (um die ausgelaugten Estragonblaetter zu entfernen)
und gibt die Creme fraiche zu. Wieder aufkochen, 4 min koecheln lassen und den
Vogel zugeben. An dem kleben noch ein paar Estragonblaetter, also keine Sorge,
man sieht schon, woher der Duft kommt!
3-4 min koecheln lassen damit sich die Aromen verbinden (schadet der
knusprigen Haut deutlich weniger als ich erwartet hatte) und mit Kartoffeln
servieren.

Estragon ist ein Gewuerz, dass sein Aroma erst durch die Hitze richtig
entfaltet. Man sollte also den Estragon immer frueh zu einem Gericht geben.
Estragon duldet keine anderen Gewuerze neben sich, hier lohnt es sich
schlichtweg nicht, zu experimentieren! In kleinen Mengen jedoch verfeinert
Estragon sehr viele Gewuerze, so ist z.B. Estragon Bestandteil der Kraeuter
der Provence.
Ich empfehle franzoesischen Estragon, der besser ist als der russische und
von feinerem Geschmack. Estragon ist zwar nicht billig, sollte aber in keiner
Kueche fehlen, die Wert auf Gewuerze legt.

Ach ja: Dieses Gericht reicht fuer rund 4 Personen, von der Kalorienzahl auch
fuer 8. ;-)
Ein Aufbewahren empfiehlt sich nicht, das Gericht gewinnt damit durchaus
nicht.

Grimmborn der Atheist. Hat mal ordentlich Geld ausgegeben.

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



Re: Estragon-Poularde (Engywuck, 23. Jan 1996, 15:03:27):
~#! rn=Grimmborn rt=822405633
~#! tid=822405633
So, und jetzt bring noch das rezept mit dem Wildschwein fuer 50 Mark ;)

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



Re: Re: Estragon-Poularde (Grimmborn, 23. Jan 1996, 15:49:36):
~#! rn=Engywuck rt=822405807
~#! tid=822405633

OK, Du hast es so gewollt. Bei dem lag hier ist eh nichts sinnvolles
moeglich...

Also, wie war das noch?
300g Wildschweinbraten
200g Leber (Rind, Schwein; sollte Entenleber sein, aber versucht mal sowas zu
kriegen..:)
2 Schalotten
Kognac und Portwein
Wacholderbeeren
Fetten Speck, 200g plus in Scheiben zum Auslegen der Form
Ja, und was mir noch so einfaellt...

Also, am Tag vorher werden 100g Wildschwein und die beiden feingehackten
Zwiebeln kraeftig gesalzen und gepfeffert und mit etwas Cognac und Portwein
eingelegt.
Am Tag selber nimmt man den Speck, das restliche Wildschwein und die 2/3 der
Leber und dreht sie durch den Fleischwolf, feine Scheibe. Den entstehenden
Matsch nennt man "Farce" und so siehts auch aus. :-)
Diese Farce also _kraeftig_ wuerzen mit Pfeffer und Salz, einen Essloeffel
gemoerserter Wacholderbeeren untermischen. Die Wuerzung ueberpruefen, indem
man etwas davon in kochendem Wasser garziehen laesst. Daran denken: Das
Endprodukt ist kalt und kaltes Fleisch muss immer kraeftiger gewuerzt sein als
Warmes!
Ich hatte noch ein paar Maronen in der Farce sowie Maronenstuecke in der
Marinade, standen nicht im Rezept, aber das Rezept ging eh ganz anders...
Nun nimmt man eine kleine Form, eckig, aus Gusseisen oder auch Oval, ist
nicht so wichtig. Die legt man mit den Speckscheiben aus und fuellt die
Haelfte der Farce darein. Dann kommen die eingelegten Wildschweinstuecke mit
dem Rest der Leber, ebenfalls gewuerfelt. Oben drauf dann wieder den Rest der
Farce. Man garniert mit 2 Lorbeerblaettern und einem Thymianzweig (den ich aus
getrocknetem Thymian gestreut hatte, man kann ja nicht alles im Haus haben...)
und legt die Speckscheiben drueber. Also vorher so auslegen, dass am Rand auch
noch Speck zum abdecken bleibt.
Nun kommt das alles in den Ofen, und zwar in ein Wasserbad. Also die Form in
ein flaches Backblech stellen das man mit Wasser gefuellt hat und zwar soweit,
dass die Form zu 2/3 im Wasser steht.
Wielange in den Ofen stellen und bei welcher Temperatur? Gute Fragen, ich hab
das vor laengerer Zeit gemacht und weiss es nicht mehr. Also, es hat gedauert
und war nicht zu warm, also sag ich mal so 2 Stunden bei 200 Grad, das muesste
hinkommen. Ich hab dne Verdacht, dass es auch nicht so drauf ankommt bei dem
Gericht.
Anschliessend rausnehmen und mit einem Brett bedecken, dass man mit rund 500g
belastet, sonst wird die Konsistenz zu leicht. Nicht mehr Gewicht, dann wirds
zu trocken. Wenns erkaltet ist gehoert es in den Kuehlschrank fuer 3 Tage zum
durchziehen, bevor man es isst.

Was ich alles vergass:
- In die Farce gehoert auch ein Ei
- Das Gericht heisst "Terrine" und ist eine der aufwendigsten
  Moeglichkeiten, Rohstoffe in Essen umzuwandeln (W. Siebeck)
- Es wurde inspiriert von W. Siebecks Weihnachtsmenue in der Zeit,
  allerdings gefiel das Hauptgericht nicht so und die Suppe war auch
  nicht so attraktiv, also habe ich nur die Terrine uebernommen
- "Original" ist das mit Wildentenbrust statt Wildschwein, und er bietet
  als Alternative Kaninchen an. Aber was ist schon original?

Grimmborn der Atheist. Warnt: Wildschweinbraten kostet 50DM/kg!

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



Re: Estragon-Poularde (Bendeigid, 23. Jan 1996, 15:57:23):
~#! rn=Grimmborn rt=822405633
~#! tid=822405633
Uebrigens laesst sich frischer Estragon auch problemlos in jedem
handelsueblichen Blumentopf auf dem Fensterbrett zuechten. Dann hat man das in
der Tat teure Zeug immer in geringen Mengen zur Hand. Auf diese Weise laesst
sich in einem mittelgrossen blumenkasten auch auf einer
Studentenbudenfensterbank ein kleines Kraeuterbett anpflanzen. geeignet und
duldsam sind dabei besonders Zitronenmelisse, Pefferminze und Salbei,
Estragon, Basilikum (ist kniffliger) und Petersilie sowie Schnittlacuh. Da
aber besonders Schnittlauch und Petersilie sehr oft benoetigt werden (Salate)
lohnt es sich hier, zwei oder drei Blumentoepfe zu haben, die man reihum
benutzt, damit sie nachwachsen koennen (die Pflanzen, nicht die Toepfe )

Bendeigid, Hobbygaertner mit Nordseite, wo das leider nicht klappt.

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



Re^3: Estragon-Poularde (Caradhras, 24. Jan 1996, 05:32:32):
~#! rn=Grimmborn rt=822408576
~#! tid=822405633
Grimmborn> Warnt: Wildschweinbraten kostet 50DM/kg!

Sehr nett, danke, Teefrosch! Das Poulaerdsche werd ich auf alle
Faelle mal probieren und dann auch hier kundgeben, wie es war.

Aber datt mit der armen Wildsau ueberleg ich mir noch, vor dem Essen ist
die Sau arm dran, nach dem Essen ich. *seufz*

          tschoe      Caradhras - hat jetzt schon wieder Spargelhunger

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



Garibaldis Lieblingsrezept (Asmodis, 24. Jan 1996, 14:41:55):
Quelle: de.rec.sf.babylon5
Art: Fondue

    Bagna Cauda (aus Jeff Smiths "The Frugal Gourmet")

    1/2 Tasse Olivenoel
    1/4 Pfund Butter (keine Margarine!)
    5 Knoblauchzehen, fein zerhackt
    6 zerdrueckte Anchovis
    Schwarzer Pfeffer

    Oel und Butter zusammen erhitzen, den Knoblauch in einem Teil dieses
    Oels kochen, bis er weich ist. Die Anchovis hinzufuegen und kochen,
    bis der Fisch zu einem Teig wird (ca. 5 min.). Diesen Teig mit dem
    Rest des heissen Oels und Butters verruehren.  In einen Fonduetopf
    giessen und warmhalten.


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



Re: Re: Naechstes Wochenende gibts.... (Kretek, 24. Jan 1996, 19:00:43):
~#! rn=Grimmborn rt=822304847
~#! tid=822190355
Also, solange Caradingsbums die Gans brutzelt, was ja auch den Tatsachen
entspricht, ist es mir ziemlich egal, ob gefuellt oder nicht, hauptsache,
ich kann ordentlich reinhauen!

Kretek
(bringt den Rotwein mit)

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



Re^3: Naechstes Wochenende gibts.... (Caradhras, 25. Jan 1996, 09:37:56):
~#! rn=Kretek rt=822506443
~#! tid=822190355
Nana, Du bringst nicht nur den Rotwein mit! Ich werd schon
was fuer Dich finden, sowas wie Zwiebeln schaelen oder Aepfel
entkernen oder auf_Blaukraut_aufpassen oder Caradhras unterhalten
oder...
Wobei letzteres das schwerste davon ist. :) Und vorletzteres
lassen wir ihn lieber nicht tun, sonst ist der Topf Blaukraut
vor dem Essen schon leer.

      Caradhras - kennt doch seine Pappenkretis *:^)
PS: und was machwer uebernaechste Woche? *smile*

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



Re: Re: Estragon-Poularde (Aranya, 25. Jan 1996, 15:39:21):
~#! rn=Bendeigid rt=822409043
~#! tid=822405633
Hmm, komisch, auf meiner Studentenbudenfensterbank hat - glaub ich - ein
Estragontopf keinen Platz mehr. Da wachsen so komische Pflanzen, die wie das
Adidas-Zeichen aussehen. Weiss jemand, was DAS wohl sein mag?
Uebrigens: Damit lassen sich auch nette Kekse backen!

Aranya
      froh, dass vor ihrem Fenster keine Polizisten vorbeikommen

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



Re^3: Estragon-Poularde (Raffi, 25. Jan 1996, 15:41:09):
~#! rn=Aranya rt=822580761
~#! tid=822405633

KEKSE ?

Wo kann man denn mal ne PProbepackung bestellen ?

>Gruss
H.

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



Re^4: Estragon-Poularde (Aranya, 25. Jan 1996, 16:21:28):
~#! rn=Raffi rt=822580869
~#! tid=822405633
Im Allgemeinen werden die in unserer WG sofort nach dem Backen verzehrt.
Da bleibt nix uebrig und kein Auge trocken.

Aranya
      sollte mal versuchen, Estragon zu rauchen... :]
NNN

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



Re^5: Estragon-Poularde (Raffi, 25. Jan 1996, 16:49:48):
~#! rn=Aranya rt=822583288
~#! tid=822405633

Dann sei doch so gut und sag mir wann ihr das naechste mal Backt! - ich komm
dann zum VORkosten :)

Gruss
H.

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



Re^4: Naechstes Wochenende gibts.... (Caradhras, 27. Jan 1996, 13:36:26):
~#! rn=Caradhras rt=822559076
~#! tid=822190355
                    Huhu

Ach, natuerlich hab ich doch glatt noch vergessen, den Nachtisch
zu erwaehnen zur Gans! Damit die Gans besser rutscht! (Jawohl!
wuerde Kretek jetzt sagen. :) Und zwar gibt es gans einfach ein
Vanilleeis (Schoeller manhattan french vanilla empfehle ich da) mit
einer selbstgemachten Schokosauce (barbarische Art ;-)

Und zwar jaaanz einfach Schokolade, zur Haelfte Nuss-Schoko
(wir nehmen eine Ritter Sport Vollnuss mal testweise) und
uuuunbedingt was bitteres, auch wenn man es nicht mag, aber es
MUSS sein. Da nehmen wir Sarotti Halbbitter. Das ganze zer-
broeckelt im Wasserbad mit etwas Sahne erhitzen uuuuuund...
vernaschen. :-) Was denn sonst.


Kretek ruft: ENTE!
Caradhras ruft: Noe, Gans!

          Hmmmmjam

          Caradhras - der verfressene Prophet
    (prophezeit dass ein Grossteil in seinem Magen laden wird)

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



Mal wieder was indisches und fleischloses (Engywuck, 24. Mar 1996, 18:45:37):
So, das Mittagessen heute war ganz vorzueglich! Und damit ihr auch in den
Genuss kommt, gibts hier auch das Rezept:


Mater Panir (Huettenkaese mit Erbsen)

So, den Panir (Huettenkaese) macht man selbst und setzt ihn am besten
einen Tag vorher an. Fuer dieses Gericht braucht man:

1,5 L Milch
80 ml warmes Wasser
30 ml Essig

Man bringt die Milch zum kochen, mischt dann Wasser und Essig und gibt
dann soviel Essigwasser langsam zur Milch, bis alle Milch geronnen ist.
Die geronnene Milch wird mit einem Schaumloeffel abgetrennt und in einem
Sieb abtropfen gelassen. Dann gibt man sie in ein Kaeseleinen oder ein
aehnliches Tuch und drueckt den Kaese so gut wie moeglich aus, bis er
moeglichst trocken ist. Zu einer Kugel oder so formen und ueber Nacht im
Kuehlschrank aufbewahren.

Dann braucht man noch eine Zwiebelmischung, die macht man so:

1 grosse Zwiebel
2 Tomaten
1.5 cm Ingwerwurzel
3 Knoblauchzehen
1 gruene Chilischote
1 TL Essig

Dies alles im Mixer zu einer glatten Paste verarbeiten.

So, jetzt gehts aber los mit dem eigentlichen Gericht:

6 EL Oel
250 g Panir (s.o) in Wuerfeln von 1 cm Kantenlaenge geschnitten
6 EL Zwiebelmischung (s.o)
1 TL Kurkuma, gemahlen
1/2 TL Chilipulver
1 TL Koriander, gemahlen
Salz zum abschmecken
Eine kleine Dose Erbsen (Abtropfgewicht so 250 g oder weniger)
200 ml Wasser
1 Schuss Sahne

1. Oel in einer Pfanne stark erhitzen und Panir braten, bis es goldbraun
ist. Herausnehmen und auf Kuechenpapier abtropfen lassen.

2. Zwiebelmischung mit dem restlichen Oel unter staendigem Ruehren 3 Min.
schmoren. Kurkuma, Chilipulver, und Koriander hineingeben und weitere 2-3
Min schmoren.

3. Erbsen hineingeben und gruendlich mischen. Wasser dazugiessen (ich hab
da z.T. das Erbsenwasser verwendet) und zum Kochen bringen. Zudecken,
Hitze reduzieren und 5 Min. koecheln lassen. Panirstuecke hineingeben und
weiter 10 Min koecheln lassen. Noch ein Schuss Sahne dazu - fertig!
Mit Salz abschmecken.

Guten Appetit wuenscht

Die kleine Engy

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



Re: Mal wieder was indisches und fleischloses (Semira, 24. Mar 1996, 18:46:43):
~#! rn=Engywuck rt=827689537
~#! tid=827689537
Nachtrag:

Ich kann das nur bestaetigen, dass das gut schmeckt...aber ACHTUNG mit dem
Chili!!! *feuerspuck*

*knuddels*

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



Szegediner Gulasch (Kretek, 25. Mar 1996, 13:55:49):
Halloechen!

Als alter Diplom-Ungar **grins** finde ich, hier gehoert auch mal was
aus dem Lande meiner Vaeter hin **schwelg**
Ergo: Szegediner Gulasch, oder auch: Gulasch, mal ganz anders.

Fuer 4 Personen:
750 - 1000 g (je nach Hunger) Schweinefleisch, am besten Hals oder
   Schulter; alternativ geht natuerlich auch Rind (wer will hier
   noch wahnsinniger werden?), oder Huehnchen/Pute
2 Zwiebeln
1 Paprikaschote
3 - 4 Tomaten
Sauerkraut (die mittelgrosse Dose, ca. 500 g)
1 Becher Sauerrahm
Paprikapulver (mild)
Bruehwuerfel


So, jetzt geht's los:
Fleisch klein wuerfeln (so, wie das Gulaschfleisch vom Metzger geschnitten
ist, ist's beispielsweise viel zu gross!). Zwiebeln ebenfalls wuerfeln,
und beides zusammen in einer Pfanne anbraten, bis der Fleischsaft ganz
verdampft ist und die Zwiebeln goldgelb sind. Das ganze dann mit
Paprikapulver bestaeuben und mit Wasser aufgiessen, so, dass das Fleisch
knapp bedeckt ist.
Dann leicht salzen, einen Bruehwuerfel dazu, und bei geschlossenem
Deckel (jetzt natuerlich in einem Topf, das haette ich vorher vielleicht
dazu sagen sollen...) etwa 15 Min. koecheln.
Danach so lange Gewuerze reinschuetten, bis die Sauce eben wie 'ne
Gulaschsauce schmeckt, sprich: Paprika (nicht vergessen: MILDEN!),
Pfeffer, Salz, Kuemmel.
Zwischenzeitlich das Kraut abwaschen (sonst ist es naemlich zu sauer!),
und mit ein bisschen Kuemmel so lange kochen, bis es noch etwas bissfest
ist. Danach abgiessen, am besten sogar etwas pressen (da sollte so wenig
Fluessigkeit wie moeglich dran sein, sonst wird die Sache verwaessert.)
Gleichzeitig die Paprikaschote wuerfeln, die Tomaten vierteln.
In der Zwischenzeit sollte das Fleisch insgesamt etwa 30 od. 35 Minuten
(immer bei geschlossenem Deckel) gekoechelt haben. Jetzt ist's an der
Zeit, die Paprikaschoten und die Tomaten sowie Knoblauch nach Belieben,
natuerlich gepresst, dazu zu geben. Bei Bedarf immer wieder mal ein
Schlueckchen Wasser aufgiessen, es sollte aber keine Suppe werden! :))
Nach ca. 45 - 50 Min. Gesamtkochzeit dann das Kraut dazu geben. Am besten
vorher mit einer Gabel oder so lockern, sonst hat man vielleicht einen
kompakten Krautklumpen im Gulasch, das waere nicht so ganz Sinn der Sache.
Weitere 5 Min spaeter (das Kraut wird naemlich eigentlich nur nochmal
aufgewaermt) die saure Sahne unterruehren. Jetzt sollte das Ganze
moeglichst nicht mehr aufkochen, sonst flockt die Sahne aus, und das
macht sich nicht gut!.
Tja, und nach einem kraeftigen Umruehrer kann jetzt auch schon gefuttert
werden! Dazu gibt's am besten Salzkartoffeln (wie man die macht, brauche
ich ja wohl kaum zu posten... oder?), schluerfenderweise macht sich ein
trockener Rotwein gut; wenn schon ungarisch, dan doch am besten
gleich 'nen "Egri Bikaver" (auch bekannt als "Erlauer Stierblut").

Und jetzt noch ein gar nicht unwichtiger Kommentar hinterher:
Wenn das Szegediner Gulasch bei Dir jetzt scharf geworden ist, dann hast
Du etwas grundlegend falsch gemacht! Entgegen Millionen anderslautender
Geruechte ist die ungarische Kueche naemlich NICHT SCHARF!!! Keine
Ahnung, welcher Daemlack das Geruecht vom "zweimal brennenden ungarischen
Gulasch" aufgebracht hat, aber dafuer gehoert er posthum noch auf den
Scheiterhaufen! Es werden zwar Unmengen von Paprika hergenommen, aber
der ist ausnahmslos mild! Wenn jemand im Urlaub ein scharfes Gulasch
serviert bekommt, dann weiss er wenigstens, dass er / sie in einer
Touristenfalle gelandet ist...



So, genug Landeskunde fuer heute!


Guten Appetit wuenscht

Massa Jemand :))


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



Re: Szegediner Gulasch (Sique, 26. Mar 1996, 23:50:15):
~#! rn=Kretek rt=827758549
~#! tid=827758549
Ich hab mal irgendwo gehoert, dieses Geruecht haette ein
ungarischer Schriftsteller aufgebracht, dessen Name mir
im Moment entfallen ist.
                                                  Sique

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



Re: Re: Szegediner Gulasch (Sique, 26. Mar 1996, 23:53:59):
~#! rn=Sique rt=827880615
~#! tid=827758549
Nochwas: Soweit mir bekannt, heisst Gulasch auf Ungarisch
Poerkoelt. "Gulas" (gesprochen Gulasch) wiederum heisst "Hirte",
als Speise meint es eine Suppe (manche kennen sie als "Kesselgulasch").

                                                    Sique

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



Re^3: Szegediner Gulasch (Kretek, 27. Mar 1996, 03:41:36):
~#! rn=Sique rt=827880839
~#! tid=827758549
Danke, Sique!

Du hast natuerlich voellig Recht: Das, was der Deutschsprachige so
gemeinhin als "Gulasch" (im Ungarischen uebrigens 'Gulyas' geschrieben)
bezeichnet, entspricht viel eher einer Gulaschsuppe. Das, was man bei
uns gemeinhin unter dem Begriff "Gulasch" versteht, waere dagegen, wie
Du richtig bemerkst, ein "Poerkoelt" (Mist, Akzente sind hier ja nicht
moeglich!). Insgesamt kennt der Ungar sogar vier verschiedene Varianten
des "Gulasch".

Kretek

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



Re^3: Szegediner Gulasch (Creative, 29. Mar 1996, 13:11:08):
~#! rn=Sique rt=827880839
~#! tid=827758549

nur schreiben tut mans 'Gulyas'. :)
-Crea-


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



Re^4: Szegediner Gulasch (Creative, 29. Mar 1996, 13:12:42):
~#! rn=Kretek rt=827894496
~#! tid=827758549

jaaaajaaa, ich bin mal wieder langsam. :)
-Crea-


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



Spargel! (Caradhras, 20. Apr 1996, 19:52:58):
So, das obligatorische Posting von letztem Fruehjahr nochmal, ist
schliesslich schon ein Jahr her. Leckerer Spargel mit Zutaten.

Und weil es wieder Zeit ist, das uebliche Spargelgericht. :)
Lecker. Mjam! Manch einer kennt es noch vom letzten Jahr.
Oder wars das vorletzte Jahr? Hm, ja, egal!

Also: Man nehme (nein, nicht Doktor Oetker) pro Person etwa
ein Pfund Spargel (Pfuesiker und sonstig komisches Zeugs
moegen mir verzeihen dass es eigentlich kein 'Pfund' mehr
als Gewichtsmass gibt in Deutschland), fuer ganz arg viel
Vielfrasse auch etwas mehr. Dann braucht man noch mittel-
grosse Kartoffeln, festkochend, keine Ahnung wieviel, soviel
wie man halt Hunger hat, dazu braucht man noch Petersilie
(so frisch wie moeglich, ein Bund reicht) und Butter.
Dann noch Schinken dazu, so 100 bis 200 gramm pro Person
reicht, der Vorderschinken fuer 2 DM von Aldi tuts da
uebrigens prima! Hm, jetzt noch fuer die Sauce... was
brauchen wir denn da? Also einmal eine Zitrone, dann noch
etwas Butter und Mehl, Spargelwasser, eine Sahne (Schlachsahne),
Salz, weisser Pfeffer, etwas Maggi oder Fondor oder Suppenwuerfel
und hm, hab ich noch was vergessen? Glaub nicht.

Ach so, den Nachtisch! Vanilleeis (Schoeller French Vanilla
Manhattan mit Schlagsahne und heissen Himbeeren) oder frische
Erdbeeren kleingeschnitten in fluessige Sahne mit Zucker oder
Vanilleeis mit heissen Erdbeeren ... ach, am besten alles. *:^)

So, wie mache ich was und nochmal: Was brauche ich alles:

Fuer 4 Personen (grob abgeschaetzt):

2 Kilo Spargel   (moeglichst dick, 4 Mark oder weniger pro
                  Pfund ist einigermassen ok wenn er gut ist)
Eine Butter
Ein Saeckchen Kartoffeln, hm, sind 2.5 Kilo oder so
                 (duerfte etwas zuviel sein)
Petersilie, ein Bund
Schinken, 3 Packs von Aldi
Mehl (recht wenig, vielleicht 100 oder 200 Gramm maximal)
Zitrone, nur eine
Schlagsahne, auch nur eine
Salz, weisser Pfeffer, Maggi oder Fondor (Geschmacksverstaerker)
Zucker, Sonnenblumenoel   ganz wenig

Wie geht es:
Grosser Topf mit Wasser erhitzen, Spargel schaelen, nicht zu
wenig abschaelen! Wie gesagt, je dicker die Stangen um so
besser, wenigstens wenn man von einer Spargel-Normalverteilung
ausgeht. Wasser sollte nicht ganz kochen, sondern sieden. Ich
mach es meist so dass ich das vordere Drittel der Spargel
abschneiden, der Kopf braucht nicht so lange wie der Rest (ist
auch der bessere Teil), Stangen etwa 25 Minuten bis 30 Minuten,
Kopf zwischen 15 und 20 Minuten. In das warm werdende Wasser
schon die Schalen reinschmeissen beim Schaelen, das Spargel-
wasser brauchen wir nachher noch. Aber bitte nachher die
Schalen nicht mitessen. So, ein bisschen Zucker noch in das
Wasser rein, wenn es siedet.

Kartoffeln schaelen und in ihren Topf mit etwas bis etwas mehr
Salz rein. Wie lange brauchen mittelgrosse Kartoffeln? Hm, so
30 Minuten denk ich, also die zuerst anmachen. Kartoffeln
duerfen ruhig auf den Spargel warten. Wenn fertiggekocht Wasser
abschuetten, Topf innen trocknen und 1/4 der Butter drin warm-
machen. Da die Kartoffeln dann noch etwas anbraten (am Stueck)
und kleingeschnittene Petersilie drueberstreuen.

Pfanne nehmen und 1 EL Butter und 1 EL Oel rein, wenn sie heiss
ist dann den Schinken aus der Packung nehmen, leicht zerrupfen
und in die Pfanne legen, knusprig anbraten.

Bei der Sauce dazu geht das ganze ganz einfach, 1/3 Butter bis
1/2 Butter nehmen und erhitzen (nicht zu heiss werden lassen
die Butter!!) und dann mit 2 bis 3 EL Mehl binden. Eben soviel
dass es nicht zu fest wird (mit Schneebesen) und langsam mit
dem Spargelwasser auffuellen (wird immer wieder etwas fester,
also gut umruehren) und mit Salz, weissem Pfeffer, dem Saft
von der Zitrone, etwas Sahne (halber Becher reicht wohl) und
einem Bruehwuerfel abschmecken.

Das wars... Wie man Eis isst und Himbeeren heissmacht mit etwas
Zucker, na das werdet ihr ja wohl selbst hinkriegen. Und Erd-
beeren kleinschneiden ist auch nicht so schwer.

         Guten Appetit, ich werde es diese Woche auch
         noch machen

            Caradhras der Golddrachenberg, knuddelt sein
                                           Kuscheli
Der Golddrachenberg Caradhras bruellt: SOOOOOOMMMMMMERRRR!
Oppps, falsches Mud, muss natuerlich heissen:
Caradhras ruft: SOOOOOOMMMMMMERRRR!

         :-))

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



Re: Spargel! (Kretek, 22. Apr 1996, 01:53:36):
~#! rn=Caradhras rt=830022778
~#! tid=830022778
Dazu faellt mir nur noch eins ein, Caradhras:
LABER NICHT RUM, SCHMEISS DEN OFEN AN, ICH STEHE BEI DIR AUF DER MATTE!!!

KreTEK
(Mittlerweile ein treuer Anhaenger der "Bergischen" Kueche!)

KreTEK denkt . o O (GANS!)

Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re: Re: Spargel! (Caradhras, 22. Apr 1996, 10:06:13):
~#! rn=Kretek rt=830130816
~#! tid=830022778
Na die Gans haette auch noch viiiieeeeeel besser gehen koennen.
Aber fuers erste Mal seit laengerem war sie schon gar nicht so
schlecht. :) In Zukunft hoffentlich wieder mehr Rezepte von mir
hier.

        Caradhras (V.S.O.M.)
-z au ja, Reboot :)
Opps,. falsche ecke :)
PS: was heisstn V.i.S.d.P. ?

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



Re: Re: Spargel! (Hardil, 22. Apr 1996, 10:06:47):
~#! rn=Kretek rt=830130816
~#! tid=830022778
Auja, Cara*, wenn Du die ganzen Spargel schaelst, komm ich auch. Aber muss es
gerade Passau sein? Bamberg war schon so weit...

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



Re^3: Spargel! (Anakin, 22. Apr 1996, 10:07:06):
~#! rn=Caradhras rt=830160373
~#! tid=830022778
V.i.S.d.P Verantwortlich im Sinne des Pressegesetztes.

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



Re^3: Spargel! (Caradhras, 22. Apr 1996, 10:31:10):
~#! rn=Hardil rt=830160407
~#! tid=830022778
Noe, dafuer hab ich meine 'Untergebenen' wie Kretek zB, ich bin nur
delegierendes und organisierendes Organ.

       Caradhras - grinst Sklave Kretek an

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



Re^4: Spargel! (Kretek, 22. Apr 1996, 16:15:28):
~#! rn=Caradhras rt=830161870
~#! tid=830022778
Dazu nur eins: GRUMMELBRUMMEL!
Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re: Spargel! (Kretek, 25. Apr 1996, 12:55:19):
~#! rn=Caradhras rt=830022778
~#! tid=830022778
So, natuerlich kann man ein solches Rezept nicht voellig unkommentiert
stehen lassen: Gestern (Mittwoch) wurde das Experiment RL ausgefuehrt.
Von vornherein lief irgendwas falsch: Caradhras erklaerte sich selber
zum "Kuechenmassa", fuer den armen kleinen Kretek (MASSA Kretek!) blieben
nur niedere Sklavendienste, wie Spargel schaelen, Kartoffel schaelen,
Petersilie hacken... Einem Magier eben voellig unangemessen! Aber man
beugt sich eben der rohen Gewalt...
Na ja. Vier Leute waren's dann, die sich nach geraumer Zeit heisshungrig
ueber zwei Kilo Spargel, leckeres Soesschen, Schinken,
Kartoffeln, und, als Nachtisch, Vanilleeis mit frischen Erdbeeren und
heissen Himbeeren hermachten (und alles RATZEPUTZ vertilgten!).
Urteil des Hauses:
Solltet Ihr mal zur Spargelzeit nach Passau kommen, ladet Euch einfach bei
Caradhras ein, der kann das! Aber: Es gilt einen Fehler zu vermeiden:
NIE erzaehlen, es waere zu wenig, die Kartoffeln waeren verkocht,
an der Sosse waere zuviel Pfeffer, das Eis waere schon fast zerlaufen...
Dann passiert naemlich folgendes:

> Ein Berg geht beleidigt in eine Ecke.
> Ein Berg schmollt.
> troeste berg
> Ein Berg schimpft: Und sowas lade ich auch noch zum Essen ein! Undankbares
> Ein Berg schimpft: Pack!
> troeste berg /ganz lieb
> Ein Berg sagt: grummel
> taetschel berg
> sag lieber berg, toller berg, kuechenberg... :))
> Ein Berg laechelt Dich freundlich an.
> Ein Berg huepft um Dich herum.
> Ein Berg singt: Warum bin ich so froehlich, so froehlich, so froehlich,
> Ein Berg singt: so ausgesprochen froehlich, so froehlich war ich niiiieeee!



rufe caradhras nach spargel!


Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re: Re: Spargel! (Caradhras, 25. Apr 1996, 17:25:13):
~#! rn=Kretek rt=830429719
~#! tid=830022778
Wah, hilllllllfe, wie?? 'Ladet euch bei Caradhras zum Spargel-
essen ein.' ????? Ich hab mich wohl verlesen... wer sich bei
mir 'einlaedt' oder von mir eingeladen wird bestimme immer noch
ich.

Uebrigens: Kretek macht ein sehr leckeres Chili con Carne,
garantiert mit BS... aeh ohne BSE. Ladet euch bei ihm ein,
Chili-Zeit ist jederzeit.

      Caradhras - ueberlegt sich schon das naechste Rezept
PS: Und wer hat natuerlich zu wenig Kartoffeln geschaelt???
     Kretek! Wer sonst.   *peitsche such fuers naechste Mal*

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



Re^3: Spargel! (Kretek, 26. Apr 1996, 16:19:04):
~#! rn=Caradhras rt=830445913
~#! tid=830022778
... Wozu man natuerlich sagen muss, dass ich AUSDRUECKLICH und auch
MEHRMALS gefragt habe: "Caradingens, brauchen wir noch mehr Kartoffeln?",
und jedesmal kam die ein-eindeutige Antwort "Noe, lass mal, das reicht
schon."
Ergo: Ich bin NICHT schuld! :))
Und noch was: Mein Chili ist absolut widerlich! Das von Knorrfix oder Maggi
schmeckt viieel besser... ;)

Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re^4: Spargel! (Caradhras, 27. Apr 1996, 13:29:42):
~#! rn=Kretek rt=830528344
~#! tid=830022778
Grummel! Dein Chili ist nicht widerlich und stinkt nicht mal!
Es ist absolut super, beinahe so gut wie mein Spargelessen.
Wieso machen wir nicht gleich ne Rubrik passau auf? :) Aber
hier nach Kochrezepte schreibt ja sonst beinahe keiner.

     Caradhras - taetschelt seinen Zweitie Kretek

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



Re^5: Spargel! (Hardil, 29. Apr 1996, 09:10:56):
~#! rn=Caradhras rt=830604582
~#! tid=830022778

rufe Grimmborn nach Kinder-Chili :-)


Hmmm, das kapiert jetzt ausser dem Zwerg, Locutus, GulDukat und Durian wieder
keiner. Aber ich woltle damit eh nur sagen - gutes Chili (real Chili) gibt es
auch ausserhalb Passaus. Und dazu ein lecker Zitronenbier...

-Hardil. Isst sogar oefters Chili zum Fruehstueck.

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



Re^6: Spargel! (Wurzel, 29. Apr 1996, 20:21:02):
~#! rn=Hardil rt=830761856
~#! tid=830022778
was meinst du mit "real chili"?
ich habe aus new mexico ein chili-kochbuch mitgebracht, ein ganzes buch voll
mit chili-rezepten :) dazu ein buch ueber die 200 gebraeuchlichsten sorten
chili-schoten...
ich koche aber immer meine eigene chili-variante, ist etwas feuriger als es
die buecher beschreiben :)

wurzel (kennt sich mit chili aus)

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



Re^5: Spargel! (Kretek, 29. Apr 1996, 23:38:09):
~#! rn=Caradhras rt=830604582
~#! tid=830022778
Dementi.
So. Mehr sag ich dazu nich.
Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Re^6: Spargel! (Caradhras, 29. Apr 1996, 23:42:02):
~#! rn=Kretek rt=830813889
~#! tid=830022778
Dementi? Ist das auch was zu essen? Wie kocht man das?

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



Re^7: Spargel! (Raffi,  2. Mai 1996, 12:25:46):
~#! rn=Caradhras rt=830814122
~#! tid=830022778
Dementi ?

Am besten kalt - dann weiss keiner mehr genau was da dementiert wurde :)

Gruss
H.

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



chili (Wurzel,  3. Mai 1996, 22:37:05):
also gut, hier ein rezept fuer chili con carne:

fuer ein gutes chili braucht man vor allem chili.
das hoert sich erstmal bloed an, aber stimmt trotzdem:
die auswahl der verwendeten schoten bestimmt nachhaltig
das ergebnis. stilecht wirds natuerlich nur, wenn man
die schoten aus mexiko nimmt. da bieten sich verschiedene
an, ganz nach geschmack:

wer nicht so sehr auf scharfe sachen geeicht ist, sollte
die finger von habaneros lassen. das ist so ziemlich das
schaerfste, was man bekommen kann. es empfiehlt sich dann,
z.b. chilcostle oder guajillo zu nehmen. generell sind die
etwas groesseren dunkleren chile milder als die kleinen
hellen, haben dafuer meist mehr eigengeschmack.
man rechnet mit 3-5 schoten pro person, dann wird es nur
mittelscharf (lasch wuerden die leute sagen, die mein chili
kennen :))

was braucht man sonst noch:

zeit. vor allem zeit. chili ist kein schnellgericht.
um ein wirklich gutes chili zu bekommen, laesst man es
24 stunden auf kleiner flamme ziehen.

fleisch. am besten (aber in deutschland schwer zu bekommen)
ist pferdefleisch. rindfleisch geht aber auch. wer angst vor
bse hat, sollte sich ueberlegen, was alles in schweinefleisch
drin ist, und dann vegetarier werden. ohne fleisch aber kein
chili. das fleisch sollte in ca. 1 cm grosse stuecke geschnitten
werden, hackfleisch nehme ich als ergaenzung.

bohnen. darueber existiert ein glaubenskrieg, ob die bohnen
in das chili kommen oder als beilage pueriert gereicht werden.
ich hab refried beans noch nie so hinbekommen wie in texas,
also tu ich die bohnen rein. mir persoenlich schmecken die
roten kidney-bohnen am besten, aber dunkle pinto-bohnen tun es
auch (finger weg von den sog. chili-bohnen! die versauen mit
ihrem ketchup-mix nur den geschmack).

tomaten. geschaelte tomaten, aber die passierten von aldi tuns
auch. dann tomatenmark, zum eindicken. es gibt nichts ekligeres
als ein waessriges chili, das eigentlich eher als missglueckte
bohnensuppe zu bezeichnen ist. leider bekommt man in den meisten
deutschen kneipen, die in der letzten zeit chili anbieten, nur
bohnensuppe.

ansonsten: zwiebeln, knoblauch, gewuerze: kumin, oregano,
basilikum, salz, KEIN pfeffer, etwas rosenpaprika, etc.
(etc. heisst: wurzels geheimkraeuter, kann man je nach geschmack
verfeinern :)). ausserdem: ein topf, ein herd, olivenoel...
das ueberall erhaeltliche chilipulver ist i.a. eine mischung aus
gemahlenen chile, oregano, kumin und knoblauch. kumin heisst auch
kreuzkuemmel, ist aber nicht mit dem normalen kuemmel zu
verwechseln (sieht nur genauso aus, schmeckt aber anders).

und schon koennen wir loslegen.
zwiebeln, chile und knoblauch zerkleinern, in dem oel anbraten.
das kleingeschnittene fleisch zufuegen, wenn es gebraeunt ist,
das hackfleisch dazu. alles zusammen braten lassen, ggf. mit
etwas tequila abloeschen. in der zwischenzeit aus den tomaten,
tomatenmark und gewuerzen eine tomatensauce anruehren, dann
in den topf damit. gut ruehren nicht vergessen.

wenn es zusammen eine viertelstunde gekoechelt hat, bohnen dazu.
hitze zuruecknehmen, koecheln lassen, gelegentlich ruehren...
wie gesagt, 24 stunden :) darauf achten, dass das chili nicht zu
fluessig ist. evtl noch etwas tomatenmark dazu geben.

nach zwei stunden sollte das chili soweit sein, dass man sich ans
abschmecken machen kann. vorher hats keinen sinn, weil das
capsaicin aus den schoten erstmal durchziehen muss :) wenns zu
scharf fuer den empfindlichen gaumen ist, kann man mit ein wenig
geriebenem kaese die brennwirkung etwas mildern, ohne das chili
geschmacklich zu verderben. dafuer kommt aber natuerlich nicht
jeder kaese in frage, sondern nur sorten mit nicht zu starkem
eigengeschmack, z.b. junger gouda.

dann darf es noch einige zeit ziehen, mit ruehren, versteht sich.
zartbeseitete geniesser essen dazu reis oder brot, hardcore-fans
nehmen tortillas.

wenns am tag nach dem essen nochmal brennt, war alles richtig :)

wurzel


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



Re: chili (Hardil,  7. Mai 1996, 14:32:20):
~#! rn=Wurzel rt=831155825
~#! tid=831155825

Hmmmtja Wurzel, Dein Rezept klingt ja wirklich ganz nett.
Aber wo sind die leckeren Jalapenos erwaehnt? Ohne Jalapenos kein richtiges
Chili... :)
Ich hatte mal Real Chili angesprochen. Das bezog sich natuerlich (uuuups,
Werbung im Internet) auf

Real Chili, East Wells Street, Milwaukee, Wisconsin, USA

(das istund bleibt immer noch mein Lieblingsrestaurant, was die
Chili-Zubereitung angeht: Real Chili - it's not just for breakfast anymore).

Leider bekommt man hier das trockene Weizengebaeck, dass gerne zum Abdaempfen
im Schuesselchen dazugestellt wird, hier nicht. Aber frag mal Grimmborn nach
Kinder-Chili :-)

-Hardil. Chili all day, all night.

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



Re: Re: chili (Wurzel,  7. Mai 1996, 19:42:35):
~#! rn=Hardil rt=831472340
~#! tid=831155825
jalapenos? in chili? das kann nur eine erfindung von leuten aus wisconsin
sein... in einem echten guten chili sind keine gruenen schoten.
nix gegen jalapenos, sind ansonsten sehr lecker (super z.b. fuer guacamole),
aber leider trotzdem gruen. wirst du in mexico oder texas nicht im chili
finden...

wurzel

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



Re^3: chili (Raffi,  8. Mai 1996, 21:17:23):
~#! rn=Wurzel rt=831490955
~#! tid=831155825

Tut mir leid Wurzel, aber ich hab in New Mexico (und das ist ja die gleiche
Gegend) bereits gruenzeug im Chili bekomen (mal abgesehen von dem  gruenen
Zeug auf dem Chili Cheaseburger, und auf den Chili Pommes - Das war toedlich!)

Uebr ich hab am WE dein Rezept (mit kleinen veraenderungen, da mein Eisschrank
trotz kraeftigem gegentreten nicht alles ausspucken wollte) ausprobiert - war
durchaus essbar :)

Gruss
H.

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



Re: chili (Yendi,  9. Mai 1996, 14:08:51):
~#! rn=Wurzel rt=831155825
~#! tid=831155825

Hmm... Was mach ich falsch?
Bei mir brennts meistens nicht einen Tag nach dem Essen nochmal, sondern
schon zwei Stunden spaeter... und zweieinhalb Stunden spaeter schon wieder...
und drei Stunden spaeter schon wieder...

Yendi
 (der mit den empfindlichen Eingeweiden)


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



Re: chili (Kretek, 10. Mai 1996, 18:23:45):
~#! rn=Wurzel rt=831155825
~#! tid=831155825
Habaneros sind besser! :))

Kretek

Flames, Replys und sonstigen Muell (ja, ok, von mir aus auch sinnvolle 
Antworten, wenn's denn sein muss...) an:

Massa Kretek (V.i.S.d.P.)

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



Man nehme... (Caradhras, 24. Jul 1996, 21:14:03):
Kuerzlich gemacht, dauert nur etwa 10 Minuten inclusive allem:

Pfanne heissmachen, 2 Putenschnitzel kleinschneiden, rinn in die
Pfanne. Dann noch eine mittelgrosse Zwiebel reinschneiden (kleine
Wuerfel) und ein paar Champignons.
Das ganze auf Stufe 2 von 3 5 Min lang anbraten lassen,
salzen und 2 EL Sambal Assem drueber, 1 Min mitbraten lassen
und dann mit etwas Pfeffer und 100 ml Schlagsahne abschmecken.

C'etait tout

  Goldfrosch Caradhras - isst sowas zum 2ten Abendessen 

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



Re: Man nehme... (Wurzel, 24. Jul 1996, 21:15:52):
~#! rn=Caradhras rt=838235643
~#! tid=838235643
hoert sich an, als ob es aus dem wok eher noch besser wuerde...

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



Re: Re: Man nehme... (Caradhras, 24. Jul 1996, 21:16:10):
~#! rn=Wurzel rt=838235752
~#! tid=838235643
Wenn man als armer Frosch sowas haette.... :)

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



Re^3: Man nehme... (Jasper, 14. Aug 1996, 06:29:22):
~#! rn=Caradhras rt=838235770
~#! tid=838235643
kann man statt der putenschnitzel auch froschschenkel nehmen ? :)

Jasper wartet auf seine zufallenden augen und liest solange noch
      magier.urlaub und kochrezepte :) *japs*

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



Re^4: Man nehme... (Caradhras, 16. Aug 1996, 14:08:09):
~#! rn=Jasper rt=839996962
~#! tid=838235643
MAUL! *grummel Jasper an*
Bonner sind alle doof und ...
(Ausnahmen nur die, die ich mag)

    Goldfrosch Caradhras - plaediert dafuer, Hamburger in Bonner umzu-
                          benennen, findet die auch doof 

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



ein fruehstueck zum wachmachen :) (Wurzel, 29. Aug 1996, 14:44:40):
ein fruehstueck, heute ausprobiert. man braucht fuer zwei personen:

zwei dicke zehen frischen knoblauch
zwei mittelgrosse frische chili (mittelscharfe fleischige sorte)
4-6 eier (je nach hunger)
etwas geriebenen kaese, nicht zu fett
einen spritzer olivenoel 
  ich nehme dafuer italienisches chilioel (olio e peperoncino der
  firma rebecchi), aber anderes geht auch
gewuerze: oregano, muskatnuss, cumin, salz

chili kleinschneiden, kerne entfernen. knoblauch zerkleinern.
in einer beschichteten pfanne (damit man nicht so viel fett braucht) 
den knoblauch und die chili mit dem oel bei kleiner hitze anschmoren.
in der zwischenzeit die eier in ein gefaess schlagen, mit oregano,
frisch geriebener muskatnuss, cumin und salz wuerzen und verruehren.
den kaese unterruehren, dann die mischung in die pfanne geben und fest
werden lassen.

als beilage eignet sich baguette (oder toast) mit picandou, einem
franzoesischen ziegenfrischkaese.

wenn man alles richtig gemacht hat, ist der partner hinterher hellwach :)

wurzel

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



kurz, schnell & lecker (Caradhras,  9. Sep 1996, 23:03:08):
                     Glucks! aeh Guggs

Ein kleines Rezept fuer den Abend:

Man braucht:
etwas Oel    (1 - 2 EL Sonnenblumenoel zB)
Champignons  (vielleicht 250 Gramm, keine Dosenpilze!)
Zwiebeln     (zwei mittelgrosse reichen)
Speck        (recht wenig, 50 - 100 Gramm reichen)
Schlagsahne  (reichen auch 50 ml)
Streichkaese (damit mein ich sowas wie Miree oder Le Tartare oder
              wie das Zeugs auch immer heisst, 50 bis 100 Gramm,
              vielleicht nennt man es ja auch)
TUC Salzgebaeck

Salz, Pfeffer, kleines bisschen Paprika(scharf), etwas Kraeuters
(zB Kraeuter der Provence, Thymian, Oregano, Rosmarin ...)
und am besten Petersilie (ein kleines bisschen)

Mittelgrosse Pfanne nehmen, Oel rein, Pilze kleinschneiden
(NEIN, KEINE PILZE AUS DER DOSE!!!), normalgrosse Pilze blaettrig
schneiden und dann nochmal dritteln. Auf Stufe 2 von 3 anbraten,
Zwiebeln halbieren, dann in Halbringe schneiden, mit anbraten,
desgleichen den Speck (den so klein wie moeglich schneiden)
und mit etwas Salz und etwas mehr Pfeffer und den restlichen
Gewuerzen (von allem eine kleine Prise) verkassematuckeln.
Kurz nochmal volle Kanne auf die Platte geben (so eine bis
zwei Minuten), dabei die Sahne rein und gut verruehren mit dem
Kaese, dabei abschalten und die Petersilie kleingeschnitten reintun. 
Noch n bisschen abkuehlen lassen und dann  auf TUC essen, also salzigen
Crackers in die Richtung, damit schmeckts am besten, passt bestimmt aber
auch klasse zu Chips u.ae.

      tschuessie       Goldd..urxs Rothorn Caradhras

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



Re: kurz, schnell & lecker (Wurzel,  9. Sep 1996, 23:07:14):
~#! rn=Caradhras rt=842302988
~#! tid=842302988
hm, fehlt da nicht ein wenig knoblauch? :)
wurzel 

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



Re: Re: kurz, schnell & lecker (Caradhras,  9. Sep 1996, 23:08:15):
~#! rn=Wurzel rt=842303234
~#! tid=842302988
Wie Du willst, kann natuerlich auch rein.

 Rothorn Caradhras - wird da unwillkuerlich an eine short story von
                Isaac Isamov erinnert (SF)

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



Re^3: kurz, schnell & lecker (Acrimon,  9. Sep 1996, 23:10:18):
~#! rn=Caradhras rt=842303295
~#! tid=842302988
Und etwas kleingeschnittene Ananas?

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



Re^4: kurz, schnell & lecker (Wurzel,  9. Sep 1996, 23:10:47):
~#! rn=Acrimon rt=842303418
~#! tid=842302988
ananas? um gottes brille...

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



Re^5: kurz, schnell & lecker (Caradhras,  9. Sep 1996, 23:13:03):
~#! rn=Wurzel rt=842303447
~#! tid=842302988
Igitt :) Ja nicht. :) Acrimon, das passt schon aus einem Grund nicht:
Ananas sind dann zu gross, um sie gut mit den Tuc futtern zu koennen.
Dann kannste ja gleich nen Pilzsalat draus machen, dann solltest du aber
vielleicht die Tuc weglassen.

        Rothorn Caradhras

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



Abendmalzeit (Gando,  9. Sep 1996, 23:16:42):
Es gibt da viel leichtere Sachen, die man kochen kann:
Dafuer benottigt man:
1 Kuehlschrank
1 scharfe kante
  (am besten Metall)
etwas Pappe als Unterleger
1 Glas
  entweder ein langes Duennes, oder eines mit einer mehr ovalen Form
  aber das ist egal.
Und das wichtigst, ozusagen das i-tuepfchen
1 Flasche Bier

Man legt die flasche bier in den Kuehlschrank und wartet erstma ne stunde
( in dieser Zeit koennte man z.Bsp ne Pizza bestellen:-)
wenn man keine Stunde Zeit hat, so kann man ds Bier auch in das Eisfach legen.
Wenn die Zeit um ist und das bier hoffentlich nicht im eisfach zerplatzt ist,
nimm man die flasche, setzt sie an der scharfen (metall) kante an und oeffnet
sie.
Das bier nun in das glas giessen und prost
Zu diesem Zeitpunkt muesste auch spaetestens die Pizza da sein
:-)
Gando

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



Re: Abendmalzeit (Caradhras, 10. Sep 1996, 00:36:59):
~#! rn=Gando rt=842303802
~#! tid=842303802
Pfffffh, ich bin fuer sofortige Einrichtung der Rubrik banause.gando.

Jawohl ja!        :)        Rothorn Caradhras

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



Re^3: kurz, schnell & lecker (Yendi, 10. Sep 1996, 13:46:27):
~#! rn=Caradhras rt=842303295
~#! tid=842302988

Hiess die Geschichte zufaellig "A Question of Taste", oder aehnlich?


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



Re^4: kurz, schnell & lecker (Caradhras, 10. Sep 1996, 14:13:36):
~#! rn=Yendi rt=842355987
~#! tid=842302988
Eine Frage des Geschmacks? Hm, koennte gut sein, ist schon ein
Jahrzehnt her dass ich die gelesen habe. Ging um was wohl? :-)

 Ein Wettkochen natuerlich! *grins*

        Rothorn Caradhras alias Hunga

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



Re: auf altar CREO VIM (Caradhras, 10. Sep 1996, 16:40:10):
~#! rn=Zorro rt=842366256
~#! tid=842366256
CREO VIM? Bestimmt auch lecker, wie kocht man denn das? :)

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



rosenkohl (Wurzel,  6. Okt 1996, 15:21:56):
die rosenkohlsaison geht wieder los...
hier einmal rosenkohl etwas anders.

wir brauchen fuer 2-4 personen (2 hungrige oder 4 normale esser):

1 kg rosenkohl,
500 g hackfleisch,
2-4 knoblauchzehen,
1 zwiebel,
4 kleine chilischoten (zerkleinert),
1 essloeffel thailaendische gelbe currypaste (aus dem asien-laden, die
  kann man ueberhaupt nicht selbst so gut machen),
geriebenen kaese zum bestreuen,
provence-kraeuter,
cumin,
tequila
und etwas olivenoel.

hackfleisch mit kleingehacktem knoblauch, zwiebeln und chili im oel anbraten,
salzen und mit etwas tequila abloeschen. mit der currypaste verruehren und
provencalische kraeuter und cumin dazugeben. etwas koecheln lassen.
in der zwischenzeit den rosenkohl putzen und in bruehe nicht zu weich kochen.
den gekochten rosenkohl dann in eine feuerfeste form geben, hackfleisch 
drueber und mit dem kaese bestreuen. das ganze dann im backofen ueberbacken, 
bis der kaese goldbraun ist.

dazu passt baguette oder fladenbrot.

wurzel

p.s. chili passt eigentlich ueberall dazu :)

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



kochbuch (Snuggle,  6. Okt 1996, 21:09:16):
Irgendwer hat doch mal versprochen, die gesammelten Werke dieser Rubrik
zusammenzufassen und irgendwo abzulegen.
Ist das eigentlich mal geschehen, wird es geschehen, ist es ueberhaupt noch
moeglich oder sind die ganze guten Sachen unwiederbringlich verloren?

hungrig,
Snuggle - hat damals auf diese Ankuendigung hin aufgehoert, die Rezepte 
mitzuloggen

n
(nein das war jetzt kein Skript, sondern fehlt weiter oben hinter ganze) :-)

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



Re: kochbuch (Paracelsus,  6. Okt 1996, 21:17:53):
~#! rn=Snuggle rt=844628956
~#! tid=844628956
Tja, so rein theorettich koennten die natuerlich in der Bibliothek von
Katzmandu veroeffentlicht werden (Falls ich da jeh fertig werde ;).
Irgend ein Freiwilliger, der die mal sammelt?

Paracelsus.

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



Kochrezepte (Grimmborn,  7. Okt 1996, 14:19:33):

Ich hab mal sowas angefangen, zumindest aeltere Rezepte sind erhalten, neuere
hab ich verloren und muesste sie aus den expireden Artikeln raussuchen. Sagen
wir, bis Ende des Monats hab ich das geschafft?

Grimmborn der Atheist


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



Re: rosenkohl (Har,  8. Okt 1996, 13:19:10):
~#! rn=Wurzel rt=844608116
~#! tid=844608116
Rosenkohl, Thai-paste, Provence-Kraueter - echt abgefahren, selten so ein
internationales Rezept gesehen, (ausser bei uns in der Mensa)

Har (staunt)

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



Re: Re: rosenkohl (Wurzel,  8. Okt 1996, 18:11:27):
~#! rn=Har rt=844773550
~#! tid=844608116
hm, ich gebs zu, hatte was von reste-kochen... aber war sehr lecker, und das
rezept findest du bestimmt in keinem kochbuch :)
wurzel

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



Gaensebraten fuer Doofe, also uns... (Methedras, 20. Dez 1996, 17:15:53):
                       Huhule

Hier mal wieder ein 'kleines' Rezept von gestern abend, SEHR einfach,
dafuer recht zeitintensiv. Es handelt sich um einen Gaensebraten
mit Blaukraut (Rotkohl, Rotkraut) und Semmelknoedeln (wenigstens
pseudomaessig), zum Nachtisch noch Vanilleeis mit heissen Beeren.

Wir waren 6 Personen, folgendes wird benoetigt:

Gans:      Ungarische oder Polnische Hafermastgans, 4.2 Kilogramm
           (ca. 7 DM bis 7.50 DM pro Kilo)
           Salz
           6 mittelgrosse Zwiebeln
           4 Aepfel
           2 Birnen

Blaukraut: 2 Glaeser Rotessa Blaukraut (gibt 8-10 Portionen)
           3 EL Sonnenblumenoel
           Salz, schwarzer Pfeffer
           Thymian, Rosmarin (nicht unbedingt notwendig)
           2 Lorbeerblaetter
           7 Nelken (nein, NICHT die Blumen)
           1/2 Liter Rotwein (von demjenigen, der spaeter auch
                              getrunken wird, siehe spaeter)
           1 Becher Schlagsahne
           3 mittelgrosse Zwiebeln
           3 Aepfel

Knoedel:   2-3 Fertigpackungen, eine Packung ist normal fuer 5 Knoedel
           Salz
           6 Scheiben Toastbrot
           20 Gramm Butter
           2 EL Sonnenblumenoel

Eis:       2 Liter Vanilleeis (bitte KEINES fuer 2 Mark das Kilo *grausel*)
           4 EL Zucker
           0.1 Liter Wasser
           1 Paeckchen tiefgefrorene Himbeeren (200 Gramm)
           1 Paeckchen tiefgefrorene gemischte Beeren (200 Gramm)


Ei, nu, nun mal die Vorgehensweise:

Backofen an, auf 180 Grad vorheizen, dann Gans MIT DER BRUST NACH 
UNTEN auf das Blech legen, schadet uebrigens auch nix wenn der Ofen
noch nicht heiss ist schon dann die Gans draufzulegen. (Na ja, das
war jetzt zwar kein Deutsch aber ihr versteht schon)
Ach so, ja, WICHTIG: Die Gans braucht mindestens 24 Stunden zum
auftauen, und GLEICH zu anfang des Auftauens die Plastikfolie
aussenrum und den Plastikbeutel innendrin mit den Innereien
rausnehmen!!
Die Gans vor dem Braten gut abwaschen und trockenlegen ;-)
und mit Salz einreiben, sowohl aussen als auch innen.
Zwei ganze geschaelte Zwiebeln und 2 Aepfel (so sie denn
reinpassen) ins Innere der Gans befoerdern.
Die Gans bleibt 2 Stunden auf dieser Seite liegen, alle 15 
Minuten was von dem Fett der Gans mit einem Loeffel oder einer
Kelle nehmen und sie uebergiessen.          
Nach zwei Stunden umdrehen und von der anderen Seite genauso
alle 15 Minuten mit dem Fett uebergiessen. Eine Stunde vor
Schluss die restlichen halbierten Zwiebeln und geviertelten
Aepfel aufs Blech dazu, genau wie die geachtelten Birnen.
(aber alles vorher schaelen)

Blaukraut: Oel in groesseren Topf, 2 Zwiebeln ziemlich
kleingewuerfelt gelb werden lassen und 2 Aepfel genauso...
Dann den Inhalt des ersten Glases rein inn' Topf und so
peu a peu mit dem Wein und der Sahne abschmecken. :)
Also ich hab mindestens 5 mal 'abgeschmeckt' :-))
Die 2 Lorbeerblaetter und die Nelken schon gleich am
Anfang dazugeben! Das Blaukraut darf ruhig 3 Stunden
lang vor sich hintuckern, das schadet gar nuescht.
Wenig Thymian (vielleicht 1/2 TL) und noch viel weniger
Rosmarin (vielleicht 1/4 TL) noch mit hineingeben und
ca. eine Stunde vor Schluss die letzte Zwiebel und den
letzten Apfel kleingewuerfelt (Zwiebel kleiner als Apfel,
die Apfelstuecke duerfen noch recht gross sein) dazugeben.

Kochstufe 1 ist empfehlenswert fuer die 3 Stunden, am
Anfang ein klein bisschen mehr. (1 von 3)
Ach so, Salz und Pfeffer natuerlich nicht vergessen,
darf schon ein bisschen mehr als eine Prise rein! :)


Knoedel: Toastbrot von Rand befreien, die Wuerfel in
Butter und Oel in der Pfanne etwas anroesten, dann mit
den Wuerfeln eines halbes Toasts im Inneren mit dem Inhalt
der Packungen schoene dicke Knoedel formen, in Salzwasser
zuerst 5 Min kochen lassen und dann noch 20 min ziehen
lassen. (oder Anweisung auf Packung befolgen, falls anders-
artig lautend)


Nachtisch: Gefrorene Beeren mit dem Zucker und dem Wasser
in einen kleinen Topf, langsam warm werden lassen und am
Schluss nochmals kraeftiger erhitzen... 


Dazu einen guten Rotwein trinken, so 1/2 Liter pro Person
reicht schon. :)) Empfehle Trollinger, Schwarzriesling,
so etwa 5 bis 7 Maak die Flasche.

Ach so, die Sosse.... Tja, wir mochten es alle fett, wir
haben direkt das Fett mit den Zwiebel-, Birnen- und 
Apfelstueckchen so hergenommen, das etwas mit Mondamin
gebunden wurde vorher.

Wie man es besser macht, berichte ich beim naechsten Mal
im Januar *grins KreteK*, wenn es wieder heisst:

VORSICHT VERFRESSENES PASSAU!

      Unnnnnnnnnnd tschuess + schoene Weihnacht!

                       Caradhras Doppelzentner
 

 






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



Re: Gaensebraten fuer Doofe, also uns... (Kretek, 20. Dez 1996, 17:21:15):
~#! rn=Methedras rt=851098553 rg=kochrezepte
~#! tid=851098553
... Ich als "Mitesser" (nein, mich kann man nicht Ausdruecken!) kann nur
sagen: Cara^H^H^H^HMethedras mag zwar ein lausiger BWLer sein **grins fies**
aber kochen kann der Kerl spitzenmaessig! Jedesmal, wenn der Kerl mich
durchfuettert, bin ich nachher so ca. 5 kg schwerer (OK, LEICHT uebertrieben),
genial!
Aber nicht, dass ihr jetzt glaubt, ihr koennt im Januar alle nach Passau
kommen und mir meine Gans wegessen! Finger weg, verfressenes Pack!


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

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



Re: Re: Gaensebraten fuer Doofe, also uns... (Methedras, 20. Dez 1996, 17:24:10):
~#! rn=Kretek rt=851098875 rg=kochrezepte
~#! tid=851098553
Pah, jetzt schleimt er wieder, nur weil er das naechste Mal schon
wieder was will. :-)
Aber ich vergass noch etwas:
20 Minuten, bevor die Gans fertig ist, sie mit kaltem Wasser
bespritzen und nochmals fuer 10 Min rein bei 200 Grad, dann
umdrehen und die andere Seite auch mit dem Wasser bespritzen,
und nochmals 10 Min in die Roehre. Das gibt eine knusprigere
Haut. *schleck* Sozusagen zum Gaensehaut kriegen, das ganse.
Aeeeeeeeeh ganze. ;-))

           Caradhras SuperBWLer!
                     - der erste Berg der kochen kann

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



Re^3: Gaensebraten fuer Doofe, also uns... (Kretek, 20. Dez 1996, 17:25:04):
~#! rn=Methedras rt=851099050 rg=kochrezepte
~#! tid=851098553
Fuer Gans schleim ich immer! Und Spargel machen wir '97 auch wieder tonnen-
weise, gell?


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

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



Re^4: Gaensebraten fuer Doofe, also uns... (Methedras, 20. Dez 1996, 17:26:10):
~#! rn=Kretek rt=851099104 rg=kochrezepte
~#! tid=851098553
Wenn Du beim schaelen usw. mithilfst gerne.

So, Schulz jetzt mit dem Passau-Replien

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



Re^5: Gaensebraten fuer Doofe, also uns... (Grimmborn, 24. Dez 1996, 09:29:24):
~#! rn=Methedras rt=851099170 rg=kochrezepte
~#! tid=851098553
Ja wie, eine Gans ganz ohne Fuellung?
Ich sag euch was, Jungs, da entgeht euch locker die Haelfte des Genusses. Und
des Spasses bei der Zubereitung. Das Hantieren mit einem Fleischwolf ist immer
wieder erheiternd...
Ausserdem moechte ich anmerken, dass nach meiner diesjaehrigen Erfahrung
unbedingt eine frische Gans vorzuziehen ist. Die kostet dann zwar rund
15DM/Kilo, aber man hat keine Auftauverluste und vom Geschmack her - kein
Vergleich.
Weiterhin kann man das aufgefangene Gaensefett direkt aus dem Kuehlschrank auf
Schwarzbrot tun und eine Priese Salz drauf, so gutes Gaenseschmalz bekommt man
nicht zu kaufen.

Grimmborn der Atheist geht erstmal einen Karpfen kaufen.

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



weihnachtsfruehstueck  (Wurzel, 25. Dez 1996, 15:17:12):
ein kleines "restefruehstueck" :)

beim kaninchen gestern waren die innereien dabei, darunter auch vier (!) 
nieren (ist ein biologe unter uns, der dazu was sagen kann?).

die nieren habe ich ueber nacht in milch eingelegt, um den feinen
uringeschmack
zu entfernen.

was braucht man noch?

feldsalat
bacon
eier
oel (am besten nussoel)
milden essig (balsamico)
pfeffer, salz (nein, ausnahmsweise kein chili :)

in einer beschichteten pfanne zwei streifen bacon erhitzen, bis etwas fett
austritt. dann die aufgeschnittenen nieren dazu geben und bei mittlerer
hitze braten. den geputzten und gewaschenen feldsalat mit etwas pfeffer
bestreuen und leicht oelen. dann in die pfanne geben und kurz anduensten.
herausnehmen, mit etwas balsamessig betraeufeln und mit gekochten eiern
garnieren.

leicht, schnell gemacht und sehr lecker :)

die kaninchennieren hat man sicher nicht allzu oft zur hand, aber gaense,
enten und sonstiges viechzeug, das zu dieser jahreszeit gerne auf den tisch
kommt, hat meistens auch innereien...

wurzel

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



Re: Gaensebraten fuer Doofe, also uns... (Asmodis, 28. Dez 1996, 17:15:45):
~#! rn=Methedras rt=851098553 rg=kochrezepte
~#! tid=851098553
Hmm, die Passauer kann man bestimmt gut den Berg runterrollen :)

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



Re: Re: Gaensebraten fuer Doofe, also uns... (Kretek, 29. Dez 1996, 23:28:42):
~#! rn=Asmodis rt=851789745 rg=kochrezepte
~#! tid=851098553
Jau. :-)

       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

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



Re^3: Gaensebraten fuer Doofe, also uns... (Caradhras, 31. Dez 1996, 23:45:17):
~#! rn=Kretek rt=851898522 rg=kochrezepte
~#! tid=851098553
Hee, moment, hab noch nich mal 100 Kilogramm erreicht. :)
Ausserdem, lieber Teefrosch, habe ich die Fuellung weggelassen, weil
sonst das Rezept noch umfangreicher gewesen waere... und das
erschreckt doch nur noch mehr Nachmacher...

Und echte Gans so ohne eingefroren, die kostet hier in Passau 20
DM das Kilo und zB in Nuernberg so 25 bis noch mehr Mark das Kilo.
Schon bei 20 Mark das Kilo lohnt sich der nur leicht bessere
Geschmack.
Aeh, der leicht bessere Geschmack durch den weitaus hoeheren
Preis nicht mehr.

     Mahlzeit, ich geh jetzt Feuerwerk guggen. :)

     31.12.1996    23:45    GUTEN RUTSCH!

               Caradhras

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



karniggel ???? (Qitess,  2. Jan 1997, 14:05:52):

Also, bi uns to huus gift dat juemmers n korniggelbroten to wiehnochten.

Ich kann karnickelbraten nicht ausstehen...

QI streichelt immer noch diese unappetitlich niedliche hasenpfote, die immer
da dran ist...


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



Re: karniggel ???? (Wurzel,  2. Jan 1997, 15:38:46):
~#! rn=Qitess rt=852210352 rg=kochrezepte
~#! tid=852210352
das muss an der zubereitungsart liegen... karnickel ist extrem lecker, wenn
man es richtig macht :)

wurzel (hatte karnickel zu weihnachten)

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



auf vielfache nachfrage... (Wurzel,  2. Jan 1997, 15:40:28):
der ominoese blumenkohl mit chilikruste, wie man ihn in wilhelmsburg gerne
isst (und nicht nur dort :)

wir brauchen:

1 mittelgrossen blumenkohl
0.25 l gemuesebruehe
1 bund koriander
4 kleine chilischoten
3 scheiben toastbrot
40 g parmesan
60 g butter
salz
cumin

koriander und chili hacken, toastbrot zerbroeseln, parmesan reiben. alles
mischen und unter die zerlassene butter ruehren, cumin dazu, salzen.

den blumenkohl putzen und in roeschen teilen, in der gemuesebruehe bissfest
anduensten (ca. 7-8 minuten), herausnehmen und abtropfen lassen.

den blumenkohl in eine gefettete ofenfeste form geben, etwas von der bruehe 
dazu und die chilimischung drueber verteilen.

das ganze im backofen bei 200 grad ca. 15 minuten backen, fertig.

sehr lecker, sehr vegetarisch und sehr gesund :)


wurzel

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



alte rezepte (Qitess,  3. Jan 1997, 17:51:30):

halloele. 

hat nicht noch jemand alte rezepte aus dieser leckeren rubrik von frueher ?

wenn ja bitte schickt sie mir doch per e-mail an B.Grohmann@tu-bs.de

merci vielmals

QI knurrt der Magen.


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



Re: Re: karniggel ???? (Kretek,  6. Jan 1997, 12:53:44):
~#! rn=Wurzel rt=852215926 rg=kochrezepte
~#! tid=852210352
Yeppyeppyepp!
Toter Karottenfresser RULEZ! Bei uns gibt's das auch jedes Jahr zu
Weichnachten
und Ostern (aber erst, nachdem die ganzen Nester mit den leckeren Eierlikoer-
Schokoladeneiern ausgeliefert sind!)


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

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



Wochenend' mit Sonnenschein... (Caradhras, 15. Jan 1997, 20:35:39):
                       Huhu Kinners

Mal wieder das Rezept vom letztem Wochenende:
Schaschlik mit Reis fuer Anfaenger
(ich weiss, dass andere Schaschlik anders machen, mit Leber und
Schweinefleisch und ..., aber das ist MEIN Rezept so, das wohl!)

Rezept ist fuer zwei Personen, davon einer Vielfrass (ich) und die
andere Recht-wenig-frass.

Man nehme:

Schaschlikspiesse (aus Holz, gipps fuer 4 Mark im Supermarkt 100 Stueck)
zwei Putenschnitzel
eine rote Paprika (gross)
eine gruene Paprika (gross)
Schweinebauch (bei Norma *Schleichwerbung* gibts zB 'nen Gelderlaender
               (300 Gramm) fuer 8 bis 9 Mark das Kilo, das reicht von
               der Menge her)
viele mittelgrosse bis etwas kleinere Zwiebeln (vielleicht 5)

etwas Oel (Sonnenblumen-, Keim- o.ae.) ca. 4 EL
500 ml passierte Tomaten
Salz, schwarzer Pfeffer, Paprikapulver (scharf)
50 ml suesse Sahne
etwas Ketchup
2 Tassen Reis (3.5 normale Portionen ;-)

einen Backofen und eine Pfanne (oder 2 Pfannen!) und einen kleinen Topf
einen Mithelfer (dann gehts exponentiell schneller)

Algorithmus:

(Bei Stufenangaben von Herdplatte beziehe ich mich immer auf Maximum
 3, bei Herd auf Maximum 10)

Pfanne heiss machen, Stufe 1.5, das Oel rein.
Putenschnitzel klopfen und schneiden, in ca. 2 auf 3 cm grosse Stuecke.
(die Stuecke, die viel zu klein sind, gleich noch kleinerschneiden und
 in die Pfanne hauen)
Speck genauso kleinschneiden, nur in etwa halb! so grosse Stuecke
Paprika etwas kleiner als das Fleisch kleinschneiden und die Zwiebeln
in Ringe schneiden (duenne, ganze Ringe).
Den 'Abfall', also die zu kleinen Teile, noch kleinerschneiden und
auch in die Pfanne rinn.

Dann schoen abwechselnd Speck, Paprika, Fleisch und Zwiebeln auf
die Spiesse stecken und leicht anbraten auf 'beiden' Seiten in der 
Pfanne, so zwei mal 5 Minuten. Es sollten so insgesamt etwa 10
Spiesse sein, grob geschaetzt, davon passen auf alle Faelle 5 in
eine grosse Pfanne. 
Backofen anmachen, 5 von 10 oder *gruebel* hm, 170 Grad, etwas von
den passierten Tomaten aufs Blech und die Spiesse dann auch drauf,
10 Min auf jeder Seite. Solange die restliche Tomaten in die Pfanne
tun, salzen, pfeffern, paprikaen, sahnen und ketchupen. Vorher etwas
von dem kleingeschnittenen angebratenen Zeugs mit etwas Oel in einen
kleinen Topf, Reis dazuschuetten und NICHT anbrennen lassen. :)
Kurz anroesten und dann mit 3 Tassen Wasser auffuellen, kurz aufkochen
lassen und auf Stufe 1 und spaeter 0.5 ziehen lassen. (noch 15 Minuten)
(kommt auf den Reis an)

5 Min, bevor der Reis feddich is, die Spiesse in die Sauce legen und
warmhalten. Mjammjam, und wer nur eine Pfanne hat, kann ja die
restlichen Spiessken noch etwas im Ofen lassen, 5 Tueck sind eeeh
schnell weg.

Dazu einen kraeftigen Rotwein.

      Guten Appetit wuenscht      Rothorn Caradhras

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



nudelsosse (Wurzel,  2. Feb 1997, 22:18:08):
nudelsosse einmal anders

ein kleines experiment von heute, fuer zwei leute mit hunger

fuer die sosse:

1 kleiner wirsing
1 packung "stueckige" tomaten (kann man aber auch selbst machen)
knoblauch-kaese (bevorzugt schafskaese vom tuerken um die ecke eingelegt :)
frischkaese (kann gern auch mit knoblauch sein)
sahne
bruehe
etwas armagnac oder aehnliches (optional :)
muskat, pfeffer, salz, provencalische kraeuter

sonst noch: nudeln, geriebener kaese (z.b. emmentaler)

den wirsing sehr klein schneiden. in einem topf etwas oel erhitzen und den
wirsing darin anduensten, mit etwas armagnac abloeschen und heisse bruehe
zugiessen, salzen, kochen lassen. tomaten dazugeben, weiter kochen lassen. 
restliche gewuerze dazugeben, sahne einruehren. etwas eindicken lassen, dann
den kleingebroeckelten kaese dazutun, weiter auf kleiner flamme koecheln
lassen, dabei gelegentlich umruehren. nach ca. einer halben stunde (nach
geschmack auch kuerzer oder laenger, je nachdem wie knackig der wirsing noch
sein soll) gesamtkochzeit sollte die sosse fertig sein.

anrichten mit nudeln, mit etwas geriebenem kaese bestreuen.

guten appetit.

wurzel

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



Blumenkohlsalat (Yendi,  3. Feb 1997, 11:18:45):

Ich habe auf der Party am Samstag einen interessanten Salat gefunden:
Roher Blumenkohl mit einer Bananensahnesauce mit Zimt.

(Ich haette den Blumenkohl allerdings leicht angeduenstet, der war naemlich
 doch ein wenig zu streng fuer meinen Geschmack...)

YTY


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



Sparchel aussm Glas.. (Methedras,  8. Mar 1997, 04:29:05):
     Und endlich mal was richtig ekelhaftes! (echt gewoehnungsbeduerftig,
     aber icke mags)

Man nehme:
1 Glas Spargel (GLAS! nicht Dose)
jungen Gouda
Salz, Pfeffer, etwas Paprika
Kraeuterquak
Miracle Whip oder sowas in die Ecke


Spargel der Laenge nach in 3 Teile schneiden, 4 EL Miracle Whip mit
etwas mehr Kraeuterquark und den Gewuerzen mischen. Kaese in kleine
mundgerechte Teile zerschneiden (also bei manchen etwas groesser
*grins KreteK*) und alles auf 'nen grossen Teller und auffuttern!

Die seltsame Mischung dabei als Dip verwenden, selbstverstaendlich
ist das ganze fast vollkommen ohne Kalorien!
Oh, Acrimon, ich glaube, den Satz haste jetzt falsch verstanden.
*grinsfrech & zwinker*

         tschoe           Bergchen Caradhras

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



Re: Sparchel aussm Glas.. (Methedras,  8. Mar 1997, 04:30:17):
~#! rn=Methedras rt=857791745 rg=kochrezepte
~#! tid=857791745
Es reicht uebrigens fuer 2 Portionen etwa. 

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



Re: Re: Sparchel aussm Glas.. (Wurzel,  8. Mar 1997, 15:41:38):
~#! rn=Methedras rt=857791817 rg=kochrezepte
~#! tid=857791745
ekelhaft, in der tat... und sowas kurz vor der richtigen spargelsaison, nein
danke. aber ich probier es vielleicht mal wenn es frischen spargel gibt :)

wurzel

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



Re^3: Sparchel aussm Glas.. (Methedras,  8. Mar 1997, 18:28:28):
~#! rn=Wurzel rt=857832098 rg=kochrezepte
~#! tid=857791745
Wenn es frischen Spargel gibt, liebe Mammi, dann gibt es ihn natuerlich
auf andere Art und Weise! Dazu ist der frische wirklich viiiiiiiel
zu schade.

Zum Beispiel als:
Spargel mit Kraeuterbuttersauce
Spargel mit Petersilienbutterkartoffeln und gebratenem Schinken
Spargel in Pfannkuchen eingerollt und mit Kaese uebernacken
Spargelragout
eingebackener Spargel
Fleischvariationen mit Spargel
oder sogar (ieeeeeeeeeh!) als Spargeleis *grausel*

  KreteK! Bei Fuss!! Spargelmachen & helfen! :)

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



Re^4: Sparchel aussm Glas.. (Kretek, 10. Mar 1997, 15:58:05):
~#! rn=Methedras rt=857842108 rg=kochrezepte
~#! tid=857791745
Spargel? Kochen? Machen? Futtern? 20 kg zunehmen? :-)
Bin dabei, altes Gebirge! ;-)


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

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



Spargel I (Caradhras,  1. Apr 1997, 16:35:16):
                          Huhu

Und mal wieder das Rezept vom Wochenende:
Pfannkuchen mit Spargel und Kaese ueberbacken:

Man braucht: (fuer etwa oemm... 10 Pfannkuchen = 2 Portionen bei MIR :))

500 ml Milch
250 g Mehl
3 Eier              fuer die Pfannkuchen
etwas Salz
ca. 50 ml Oel (Distel-, Sonnenblumen...)

500 Gramm Spargel (frischen! keine Dose oder Glas)
200 g Butter
ein Putenschnitzel
2 EL Oel
100 Gramm Champignons (nein, auch kein Glas oder Dose!)
200 ml Sahne
150 g Emmentaler
100 g Gouda
3 gehaeufte EL Mehl

Zuerst Putzenschnitzel klopfen! und in ziemlich kleine Stuecke schneiden,
so max. 1 cm^2. Die Champignons waschen und genauso kleinschneiden.
Pfanne erhitzen und (wenn heiss) Pilze und Schnitzel reinwerfen,
auf rel. hoher Hitze (2.5 von 3 oder 7 von 9) etwa 4 Min drinlassen,
von allen Seiten anbraten. Dann Pfanne vom Feuer nehmen.

In einem grossen Topf vielleicht hmmm, 1.5 Liter Wasser erhitzen,
nebenher Spargel schaelen (je dicker der Spargel ist, umso besser!)
und die Schalen ins gesalzene Wasser werfen. Schalen 5 Min leicht
koecheln lassen, dann herausnehmen (ach so, Spargel vorher waschen
waere auch nicht schlecht gewesen :) und den Spargel hinein, ca.
20 Min koecheln lassen, dann herausnehmen. Spargelwasser NICHT
weggiessen.

Restliche Butter in (schon wieder 'nem Topf!) erhitzen (nicht zu
stark), dann die 3 EL Mehl rein und gut kloppen mit dme Schneebesen,
sonst brennts an. Wenn es langsam Farbe annimmt, dann mit Spargel-
wasser peu a peu abloeschen, aber nicht zu fluessig machen!
Das ist dann die Mehlschwitze.

In einem kleinen Topf 120 g Butter erhitzen.

Milch, Mehl, die Eier und das Salz fuer die Pfannkuchen verquirlen,
Pfanne 2 EL Oel erhitzen und (wenn heiss) etwas davon in die Pfanne
giessen. Die Pfanne sollte moeglichst ohne Kratzer sein, sonst klebt
der Pfannkuchen gut fest. :-) Und Teflon-Beschichtung kann auch nix
schaden.

So, und nu immer einen Spargel in einen Pfannkuchen tun, ein kleines
bisschen von der Putenschnitzel-Pilz-Mischung, etwas zerlassene
Butter noch innen rein und etwas von der Mehlschwitze noch dazu,
dann in eine Kasserolle oder aehnlich feuerfeste Form, ein kleines
bisschen Sahne noch oben druebergiessen und den Kaese drueberstreuen.

Bei 160 Grad etwa 15 Minuten in den Backofen.

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

Wer noch Spargelcremesuppe will:
Den Rest der Mehlschwitze kurz aufkochen lassen mit der restlichen
Sahne, Saft einer halben Zitrone noch rein, etwas von dem
Spargelwasser (falls uebrig), etwas Muskatnuss gerieben drueberstaeuben
und etwas Geschmacksverstaerker (1/2 TL Gemuesesuppe-Instant oder
1/2 Bruehwuerfel etc. pp.). Wenn noch existent, restliche Spargelstangen
in 3 cm lange Stuecken in die Suppe mit rein!



        Guten Appetit                Rothorn  aeh Gruenfrosch Caradhras 

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



AL-Frikadellen (Methedras,  7. Apr 1997, 20:48:06):
                       Huhu :)

AL-Frikadellen:

1.5 Kilogramm Schweinehack
etwas Salz, Pfeffer
5 Eier
3 Semmeln/Weckle/Broetchen/Schrippen/wasweissich (trocken)
3/4 Kilo Zwiebeln
etwas Oel
100 ml Milch
100 ml Wasser

Weckle kleinschneiden und einweichen in Milch und Wasser.
Zwiebeln schaelen und ziemlich kleinschneiden in Wuerfel.
Hackfleisch in grosse Schuessel, Eier drueberhauen, leicht
salzen und pfeffern, die eingeweichten Broetchenstuecke drueber
und die Zwiebeln, dann alles gut vermischen. Und zwar mit den Haenden.
Also besser vorher waschen. :) Oel in Pfanne heissmachen und huebsche,
flache Frikadellen aus der Masse formen. Noch etwas nachsalzen und
nachpfeffern.

              tschoe          Hungerberg Caradhras

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



Senf-Knoblauchburger (Har,  7. Apr 1997, 20:58:13):

Vvon den Frikos inspiriert:
Senfburger fuer Gourmets

800 g feinstes Rinderhack ohne BSE
2 EL Senf
Salz, Pfeffer
2 Paprika (rot)
Salatgurke
Knoblauchbutter (am besten ohne Kraeuter)
4 Mega-Burgerbroetchen
Ketchup
evt. Salatblatt und feine Zwiebelringe

Paprika vierteln und unter dem Grill des Bakofens grillen, bis
sich die Haut loest, diese abschaelen.
Rinderhack mit Senf vermischen, leicht salzen und pfeffern und 4
duenne Burgerchen brutzeln.
Die Broetchen aufgeschnitten toasten, mit Knoblauchbutter bestreichen,
Gurkenscheiben
und Ketchup drauf, Frikadelle, gehaeuteten Parika und evt. Salat und Zwiebeln-
Fertig, schmeckt geil!


viel Spass,

har

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



Re: Senf-Knoblauchburger (Augra,  7. Apr 1997, 21:16:23):
~#! rn=Har rt=860439493 rg=kochrezepte
~#! tid=860439493
Fuer beide Rezepte mit Hack gilt die folgende Frage: 
Mein groesstes Prob mit dem Zeug ist immer das Garkriegen, denn son buerger
medium oder gar englisch ist ja wohl nicht das Gelbe. Koennten die veehrten
Herren Kuechenmeister sich also zu Angaben zur Garzeit herablassen?

Augra, isst immer noch tote Tiere..dabei sind Schweinchen so niedlich:)

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



Re: Re: Senf-Knoblauchburger (Wurzel,  7. Apr 1997, 22:00:40):
~#! rn=Augra rt=860440583 rg=kochrezepte
~#! tid=860439493
die garzeit haengt von der dicke des fleischklopses und der verwendeten hitze
ab, das kann man also nicht allgemein sagen. wenn du sie lieber ganz durch
magst, lieber beim e-herd nur auf stufe 2 (von 3) braten und kurz vor dem
verkohlen runternehmen (bis zu ca. 1,5 cm dicke klappt das ganz gut, dickere
schmecken eh meistens matschig :)

wurzel

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



Re^3: Senf-Knoblauchburger (Methedras,  7. Apr 1997, 22:57:30):
~#! rn=Wurzel rt=860443240 rg=kochrezepte
~#! tid=860439493
Jou, ganz genau, Wurzel... Am Anfang nehme ich auch nur 1.5 von 3 als
Einstellung, damit die Frikadelle etwas mehr an Festigkeit gewinnt beim
Umdrehen (da ja die Eierkomponente zu einer hoeheren 'festigkeit' der
frikadelle sorgt) und spaeter dann ein bisschen hoeher, mehr als 2
aber wohl nicht, hoechstens mal kurzzeitig (2 min) oder so auf 2.5 zum
anheizen. Mehr als 2 cm dick habe ich sie auch nicht gemacht bzw wenn,
dann nicht sehr lange, da sie einfach dann nicht so gut werden.

Lass Dir durchaus Zeit fuer die Frikadellen, so 20 Min pro Pfannen-
durchgang kann ueberhaupt nix schaden... richtig schoen dunkel halt
machen, aber keine Briketts, dann sind sie gut. :)

    Bergchen Methedras - gibt seiner Mammi Wurzel uneingeschrankt recht

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



Re: Re: Senf-Knoblauchburger (Har,  8. Apr 1997, 08:11:15):
~#! rn=Augra rt=860440583 rg=kochrezepte
~#! tid=860439493
Tja zum garkriegen:
Erst mal lege ich ja wert auf gutes Rindfleisch und wenn Du 1-2 Steaks selber
durch den Fleischwolf drehst, kannst Du sie ruhig medium essen :)
Des weiteren sei gesagt: Je flacher, desto schneller durch :-) Ansonsten kann
man fuer sowas keine Garzeiten angeben, wie es in den Rezeptheften von "meine
Familie und Ich"m immer gemacht wird. ICh mache das immer frei nach Schnauze

Har

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



Re: AL-Frikadellen (Gralkor,  8. Apr 1997, 13:29:10):
~#! rn=Methedras rt=860438886 rg=kochrezepte
~#! tid=860438886
DA fehlte SALZ!!!!!!!!!!!
Die schmeckten zu flau.

Gralkor, ebenfalls hungrig

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



Re: Re: AL-Frikadellen (Methedras,  8. Apr 1997, 18:32:06):
~#! rn=Gralkor rt=860498950 rg=kochrezepte
~#! tid=860438886
Salz ist ungesund, mein Kind. :) 
Weisst Du denn das noch nicht?

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



Re^3: AL-Frikadellen (Wurzel,  8. Apr 1997, 19:15:25):
~#! rn=Methedras rt=860517126 rg=kochrezepte
~#! tid=860438886
salz ist nicht nur ungesund, sondern auch lebensnotwendig... das ist jetzt
kein widerspruch :) allgemein gilt: wo salz dran gehoert, sollte man auch
salz drantun, egal obs im rezept steht oder nicht. wer sich genau an rezepte
haelt, wird eine enttaeuschung nach der anderen erleben. ein rezept ist
eigentlich immer nur eine idee, die noch der persoenlichen interpretation
bedarf, damit es gut wird :)

wurzel

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



Re^4: AL-Frikadellen (Engywuck,  8. Apr 1997, 19:18:34):
~#! rn=Wurzel rt=860519725 rg=kochrezepte
~#! tid=860438886
Was in der Praxis bedeutet, dass Chili ran muss? ;)

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



Re^5: AL-Frikadellen (Wurzel,  8. Apr 1997, 19:23:51):
~#! rn=Engywuck rt=860519914 rg=kochrezepte
~#! tid=860438886
nicht unbedingt :) aber kann durchaus sein...
nach grimmborns interessanter anregung bin ich gerade dabei, ein rezept zu
entwickeln, mit dem man chili und spargel miteinander vereinbaren kann. das
ist bei dem doch eher zarten geschmack von spargel kein allzu leichtes
unterfangen :) wenn es ein brauchbares resultat gibt, werd ich es natuerlich
hier veroeffentlichen.

wurzel

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



Re^6: AL-Frikadellen (Methedras,  8. Apr 1997, 19:53:31):
~#! rn=Wurzel rt=860520231 rg=kochrezepte
~#! tid=860438886
Da kann ich Dir nur eingeschraenkt recht geben, Wurzel:
Sicher ist Salz das 'Salz ;-) des Lebens' und auch lebensnotwendig, aber
fast alle Dinge, die lebensnotwenig sind, sind in zu hohen UND zu
niedrigen Massen aeh Maszen? *kicher* sehr ungesund. IMHO ist bei
normaler Ernaehrung ueberreichlich viel an Salz enthalten, wenn auch nicht
unbedingt an Jod. Wer natuerlich dann Jodelsalz naeme wenn er sonst keines
nimmt, fuer den sach ich nur: Hau rein, Hein! 

                  Bergchen Methedras

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



Brockohli in Aluminiumsosse (Engywuck,  8. Apr 1997, 20:15:20):
Huhu! 
Ich will auch mal zeigen, dass ich was vom Kochen verstehe. Folgendes Rezept
hab ich neulich ausprobiert:

Man braucht nichts weiter als einen schoenen Broccoli - den schneidet man in
kleine Roeschen, tut ihn mit etwas Wasser in einen Topf, und laesst das ganze
auf hoechster Heizstufe etwa 2-3 Stunden durchschmoren.
Ein wenig Schwierigkeiten macht es, die dem Topf entstammende Aluminiumsosse
auf den Teller zu bugsieren, und nicht auf den Linoleumfussboden - aber ihr
seid da sicher geschickter als ich.
Noch ein Vorteil: Das Aroma dieses koestlichen Gerichts haelt sich sicher ein
bis zwei Wochen in der ganzen Wohnung. Somit hat man recht lange was davon,
und das fuer so wenig aufwand! Kann ich echt nur empfehlen!

Engy*

P.S.: Ihr solltet unbedingt darauf achten, waehrend des Kochens den Deckel auf
dem Topf zu lassen, denn wir wollen den Broccoli ja schliesslich nicht
flambieren ?!

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



Re: Brockohli in Aluminiumsosse (Semira,  8. Apr 1997, 20:17:16):
~#! rn=Engywuck rt=860523320 rg=kochrezepte
~#! tid=860523320
ich sag ja jetzt nicht, wie meine kueche aussieht und riecht

*schauder*

Maenner und Kochen...das kann knifflich sein

*knuddels*

Semira

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



Re: Re: Brockohli in Aluminiumsosse (Methedras,  8. Apr 1997, 20:24:19):
~#! rn=Semira rt=860523436 rg=kochrezepte
~#! tid=860523320
So etwa wie Frauen und Autofahren? Manche koennens halt trotzdem. :)

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



Re^3: Spargel I (Wurzel, 27. Apr 1997, 20:58:46):
~#! rn=Grimmborn rt=859930971 rg=kochrezepte
~#! tid=859905316
spargel mit chili (auf anregung von grimmborn...)

spargel und chili passen eigentlich nicht zusammen, weil die wuerze von 
chili den zarten eigengeschmack von spargel zu erschlagen droht. aber
mit ein wenig phantasie geht es doch...

wir brauchen:

zuallererst viel zeit, und am besten noch einen helfer.

1 kg frischen spargel
1 kg frischen spinat
1 kleinen blumenkohl
500 g gnocchi (am einfachsten nimmt man vorgefertigte, sonst dauerts...)
8-10 kleine chilischoten
geriebenen kaese
eier
milch
butter
salz
cumin
6-8 frische knoblauchzehen

spargel schaelen, spinat putzen, dabei nicht die geduld verlieren :)
spargel FAST fertig kochen (garzeit haengt von der dicke ab), etwas von
dem spargelwasser abnehmen und in einen kleinen topf geben. in dem 
spargelwasser dann den spinat kurz aufkochen, bis er weich und labbrig
aussieht (wie der aus der packung halt). rausholen, abtropfen lassen.
in einem zweiten topf den in roeschen zerteilten blumenkohl kochen, danach
dann die gnocchi im selben wasser. in eine grosse feuerfeste form dann
zuerst den spinat, dann den spargel einschichten, blumenkohlroeschen und
gnocchi oben drauf verteilen.
knoblauch hacken, chili zerkleinern und zusammen mit der butter in den topf
mit dem aufgehobenen spargelwasser geben. kurz aufkochen, etwas geriebenen
kaese mit dazu zum andicken. wenn der kaese sich aufgeloest hat (ruehren!),
die mischung ueber die feuerfeste form verteilen. zwei eier mit milch ver-
ruehren und ebenfalls darueber geben. das ganze dann mit geriebenem kaese
bestreuen und im ofen bei 180 grad ca. 20 minuten ueberbacken, bis der kaese
gut zerlaufen und leicht gebraeunt ist.

dazu schmeckt ein trockener bergstraesser, und im hintergrund ein schoener
blues (z.b. die neueste von john lee hooker) kommt auch gut :)

wurzel (leckt sich immernoch die lippen)

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



Re^4: Spargel I (Wurzel, 27. Apr 1997, 21:01:43):
~#! rn=Wurzel rt=862167526 rg=kochrezepte
~#! tid=859905316
ach ich seh grad, ich hab ganz vergessen den cumin zu erwaehnen... der kommt
natuerlich dahin, wo auch die chilis hingehen. das salz braucht man haupt-
saechlich fuer das kochwasser :)

im spargelwasser macht sich uebrigens ein spritzer essig und eine prise
zucker nicht schlecht :)

wurzel

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



Re^5: Spargel I (Escubar, 27. Apr 1997, 21:09:31):
~#! rn=Wurzel rt=862167703 rg=kochrezepte
~#! tid=859905316
Auch wenn mich das jetzt als kochtechnisch unbegabt entlarvt, was bitte ist
Cumin???

Eisbaer Escubar, kann ein bisserl koschen, aber nur das was er kennt ;)

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



Re^6: Spargel I (Wurzel, 27. Apr 1997, 21:11:16):
~#! rn=Escubar rt=862168171 rg=kochrezepte
~#! tid=859905316
wird auch kreuzkuemmel genannt. sieht aus wie kuemmel, ist aber keiner und
schmeckt auch ganz anders. zu bekommen in guten exotic-laeden :)

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



Re^7: Spargel I (Augra, 27. Apr 1997, 21:15:00):
~#! rn=Wurzel rt=862168276 rg=kochrezepte
~#! tid=859905316

hm, ist das so aehnlich wie der unterschied zwischen anis und sternanis? 

Augra, hat das nie begriffen

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



Blaetterteigtaschen (Ronda,  5. Mai 1997, 20:56:34):
Die Dinger hatte ich auf ner fete bei Semira mit - und irgendwie loechern sie
mich jetzt alle, wie die Dinger gemacht werden... also gut! (So schwer ists
wirklich nicht - und besonders aufregend auch nicht - aber bitte! Bekommt doch
alle Hunger vom Lesen... ts =:) )

Blaetterteigtaschen a la Ronda
Fuer Creative weil er so drauf besteht, das Rezept zu bekommen, aber dafuer
hat er auch selbst Schuld, dass alle Masse und Mengen so vage sind...
Also alle Mengen je nach Gefuehl, reicht dann aber auch fuer eine x-beliebige
Anzahl munterer Esser :)

Grundrezept:
Im Prinzip gehts nur drum, Blaetterteig (fertig gekauft oder selbstgemacht)
schoen auszuwellen, in Dreiecke/Quadrate/Kreise zuschneiden und mit Fuellung
zu belegen (klar, rezepte fuer Fuellung kommen unter). Dann die Teigtaschen an
den Rendern mit Eigelb bestreichen und zusammendruecken. Dann das ganze von
aussen auch nochmal mit Eigelb oder Wasser bestreichen, wer mag, kann auch
Kaese draufstreuen.
Die Teigtaschen auf ein Backblech legen (moeglichst mit Backpapier, dann gibts
nicht so nen Sauerei...).
Dann das ganze bei 180 Grad in den Ofen, wenns mehrere Bleche sind moeglichst
mit Umluft und so lang backen, bis die Taschen schoen braun sind.
Moeglichst bald futtern, je nach Lust und Laune passt ein frischer Weisswein
oder ein Bier gut dazu.

So, und nun die Fuellungen:

Kaesefuellung;
Man nehme so ein halbes Paeckchen Butter und loese es in einem Topf auf.
Dahinein gibt man nen guten Kanten geriebenen Kaese (Gouda, naja... halt so
300-400 gr.) und loest den unter Ruehren auf. Dann nimmt man den Topf vom
Feuer und ruehrt noch ein Ei rein. Je nach Geschmack kann man noch Muskat,
Pfeffer, Salz, Gruenzeug (Schnittlauch, Petersilie etc.) oder nen Schuss
Zitrone rein tun.

Schinkenfuellung:
Kleine Zwiebelwuerfel in der Pfanne mit etwas Butter anbraten,
kleingeschnittenen gekochten Schinken reinruehren und mitbraten, damit der
Geschmack staerker wird. Abschmecken wieder je nach Geschmack mit Muskat,
Kuemmel, Gruenzeug, einem Schlag Schmand oder nem kraeftigen Schuss Sahne
(einkochen lassen).

Und Njala hat mich dran erinnert, dass ich fuer die Koelner Fete auch welche
mit Pilzfuellung gemacht hatte:
Kleine Zwiebelwuerfel in der Pfanne mit etwas Butter anbraten. Dann geputzte
Pilze (Champignons z.B.) je nach Groesse halbieren/vierteln und ebenfalls
anbraten. Die Wuerzerei geschieht wie oben - je nach Phantasie und Geschmack -
wenn keiner zuschaut, kann man auch gut mit Instantbruehe wuerzen, dann aber
noch einen Schuss Wasser dazu (nicht genau genug? Na, genau 121,231 ml Wasser
=:) ).

Also einfach Mut zur Luecke, die Dinger gelingen frei Schnauze" sowieso am
Besten, einfach mal probieren. Die Pilz- und die Schinkenfuellung eignen sich
mit etwas mehr Fluessigkeit uebrigens auch gut als Spaghettisauce.
Guten Appetit, denkt an mich (ich komm auch gern als Betatester vorbei) - und
gern natuerlich auch Verfeinerungen oder neue Ideen an mich zurueck =:)

                                         Ronda


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



Re: Blaetterteigtaschen (Wurzel,  5. Mai 1997, 21:01:16):
~#! rn=Ronda rt=862858594 rg=kochrezepte
~#! tid=862858594
also die kaesefuellung...
das ist wohl was fuer koerperliche schwerstarbeiter, bei studenten duerfte
das (in gewissen mengen) zur notwendigkeit weiter geschnittener jeans fuehren.
ist also zwar wohl lecker, aber insgeheim kostenintensiv :)

wurzel

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



Kaesebroetchen (Murkes,  6. Mai 1997, 10:38:22):
Hi Leute,

ich suche ein Rezept fuer Kaesebroetchen, also diese leckeren knusprigen mit
Kaese ueberbackenen Broetchen, die es hier bei uns ueberall in den Baeckereien
gibt. Ich hab' zwar ein paar ganz brauchbare Broetchenrezepte, aber so ein
echtes Kaesebroetchenrezept ist halt nicht dabei. Es reicht halt auch nicht
einfach nur Kaese draufzulegen.
Wer von Euch ist Baecker und kann mir helfen?

Murkes, dem seine Kaesebroetchen nicht gut genug schmecken :)

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



Re: Kaesebroetchen (Wurzel,  6. Mai 1997, 20:24:02):
~#! rn=Murkes rt=862907902 rg=kochrezepte
~#! tid=862907902
also, ich hatte mal gute erfolge damit, geriebenen kaese direkt in den teig
mit einzukneten.

wurzel

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



Re: Re: Kaesebroetchen (Asmodis,  6. Mai 1997, 22:47:05):
~#! rn=Wurzel rt=862943042 rg=kochrezepte
~#! tid=862907902
Scheinbar ernaehrt sich Wurzel nur von Chili und Kaese :)

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



Re^3: Kaesebroetchen (Methedras,  9. Mai 1997, 19:14:19):
~#! rn=Asmodis rt=862951625 rg=kochrezepte
~#! tid=862907902
Moment, Teufelchen, Du hast den restlichen Brotteig vergessen.

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



Spargelrisotto (Engywuck, 22. Mai 1997, 11:17:23):
Huhu!
Tja, da faehrt man doch einfach mal am Wochenende nach Berlin, stoebert 
in einem Buchladen und trifft ein kleines (wohlfeiles) Kochbuch. Das 
erste Rezept, dass ich daraus ausprobierte, moechte ich Euch natuerlich 
nicht vorenthalten, denn es hat doch eigentlich schon ein bisschen gut 
geschmeckt. Und los gehts...

Spargelrisotto mit gruenen Erbsen
=================================
(Mengenangaben fuer 2 Personen oder 1 Grimmborn)

500 g weisser Spargel
0.5 l (instant-)Gemuesebruehe
100 g TK-Erbsen
1 Schalotte (d.h. ne kleine Zwiebel ;)
1 EL Butter/Margarine
150 g Rundkorn- oder spezieller Risottoreis
100 g Sahne
50 g frisch geriebener Parmesan
Salz
frisch gemahlener Pfeffer

Der Spargel schaelen und in grobe Stuecke teilen. Die Gemuesebruehe 
aufkochen, die Spargelstuecke einlegen und in 10-15 min garen. 
Herausheben. Die Erbsen kurz in die heisse bruehe geben. Herausheben und 
mit dem Spargel beiseite stellen. Die Bruehe langsam wieder zum Kochen 
bringen.

Die Schalotte schaelen und in feine Wuerfel schneiden. Die Butter in 
einem Topf mit schwerem Boden oder einer tiefen Pfanne bei guter 
Mittelhitze zerlaufen lassen und die Schalotte darin anschwitzen. Den 
Reis zufuegen und unter Ruehren mitschwitzen, bis er ebenfalls leicht 
glasig und ganz mit Fett ueberzogen ist.

Einen Schoepfloeffel nach dem anderen von der heissen Bruehe zufuegen, 
dabei staendig ruehren. Erst wenn alle Fluessigkeit vom Reis aufgenommen 
ist, die naechste Menge zugiessen. 

Sobald der Reis fast gar ist, die Sahne zugeben und den Spargel mit den 
Erbsen unterheben. Nach kurzem Kochen den Kaese unterruehren, salzen, 
pfeffern und sofort anrichten.

Praedikat: Besonders empfehlenswert!


Guten Appetit und Z'par Servu

           YTEdA

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



Re: Spargelrisotto (Har, 22. Mai 1997, 15:21:51):
~#! rn=Engywuck rt=864292643 rg=kochrezepte
~#! tid=864292643
Mein Tip:
Sahne weglassen, so was hat in einem Risotto nichts zu suchen ,
dafuer aber viel viel mehr Parmesan

Har

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



Re: Re: Spargelrisotto (Asmodis, 22. Mai 1997, 15:54:54):
~#! rn=Har rt=864307311 rg=kochrezepte
~#! tid=864292643
Hmm, du hast wohl zuviel Alfredissimo geguckt, der Biolek macht auch
an fast alle seine Gerichte Parmesan :)

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



Re^3: Spargelrisotto (Har, 22. Mai 1997, 16:34:19):
~#! rn=Asmodis rt=864309294 rg=kochrezepte
~#! tid=864292643
Ich glaube ich bin fast so Parmesansuechtig wie der Biolek, habe aber noch
keine elektrische Parmesanreibe wie er (lleider). Im Uebrigen habe ich die
Erfahrung gemacht, dass ein leidlich guter parmesankaese am Stueck gekauft in
der Regel _billiger_ ist als diese geriebene Hartkaesepampe, die in Tuetchen
verpackt in der Nudeleck von Supermaerkten als Parmesankaese verkauft wird.

Har (findet nicht alles Kaese)

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



Re^4: Spargelrisotto (Aramos, 24. Mai 1997, 18:07:13):
~#! rn=Har rt=864311659 rg=kochrezepte
~#! tid=864292643
Also wenn hier so viele Leute Parmesan moegen:

Wer von euch hat denn schon mal Sbrinz probiert? :)

Tschau,
           Aramos (schleckt sich nach manchem Kaese die Finger)

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



pikantes Gefluegelgulasch (Garfield,  3. Jun 1997, 13:59:25):

Leckeres Gefluegelgulasch (fuer 3-4 Personen)

500g Haehnchenbrust/Putenschnitzel
3 Paprika
2 Zwiebeln
2 Zehen Knoblauch

200 ml Ketchup
120 ml Apfelsaft
je 1 TL Curry, Pfeffer, Thymian
80 g Rosinen
150 g Erdnuesse (Dose)
*****************************************************************

Ketchup, Apfelsaft und Gewuerze mischen.
Paprika in Streifen mit gehackten Zwiebeln und Knoblauch in Oel
anbraten und gut duensten. Gemuese aus der Pfanne nehmen und in Stuecke
geschnittenes Fleisch darin anbraten. (nur kurz)
Ketchupgemisch und Rosinen dazugeben, koecheln lassen.
Zum Schluss Gemuese und Erdnuesse unterheben und geniessen.
*************************************************************************

Schmeckt supergeil.

Testen!

Garfield
***


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



Spaghettisosse! (Caradhras, 29. Jun 1997, 00:19:36):
                 Huhu Kinnings

Anbei ein leckeres Spaghettirezept.
Wenn man lange Zeit hat zum koecheln lassen, schmeckt es besser, fuer
welche, die auf kurze Zeit planen (insgesamt 20 Minuten fuer alles)
stehen die Angaben in [].

Man nehme fuer 8 'kleine' Portionen, 6 normale (fuer mich) oder
4 grosse Portionen:

1 Kilogramm Spaghetti

6 EL Olivenoel
300 - 400 Gramm Kochschinken (reicht einer von Aldi/Norma...)
 (200 g fuer Wenig-Fleisch-Moeger)
2.5 Becher Schlachsahne (also 500 ml) [1.5 Becher]
1 Becher Creme fraiche (zu 200 ml)
Salz, Pfeffer
200 Gramm Schafskaese
150 - 200 Gramm Gorgonzola [100 Gramm] 
4 bis 8 Zehen Knoblauch

Optional 150 Gramm Champignons (sehr gut) oder 1 Putenschnitzel (fuer
Carnivore)


Grooooooooossen Topf mit viiiiiel Wasser aufsetzen (2.5 Liter mind.),
Wasser zum kochen bringen, salzen und 2 EL Olivenoel rein.
Waehrenddessen Schinken 2 mal quer durchschneiden und dann in Streifen
schneiden, im restlichen Oel 5 Minuten lang stark anbraten, Knoblauch ganz 
kleinschneiden oder auspressen und mit dem Schinken anbraten.

Schafskaese und Gorgonzola in Wuerfel schneiden, dazuwerfen und die Schlach-
sahne, die Creme fraiche dazukippen, herunterschalten auf 1 von 3 oder
3 von 10 stellen. Parallel muesste das Wasser kochen, Spaghetti rein und
nach 8 bis 10 Min (al dente) abgiessen und mit kaltem Wasser kurz abschrecken.
Nein, davorstellen reicht nicht zum abschrecken, obwohl ihr Mudder seid.

Mischung mit Salz und Pfeffer abschmecken.
Die Spaghettisosse 5 Min vor Ende auf 0.5 stellen von 3 oder 1-2 von 10.
Dazu passt gut ein Weisswein, aber ja kein suesser. :) Aber der Rotwein
vorhin dazu schmeckte auch nicht schlecht.

         Prost Mahlzeit!           Bergchen Rothorn Caradhras

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



Re: Spaghettisosse! (Atoz, 30. Jun 1997, 20:56:09):
~#! rn=Caradhras rt=867536376 rg=kochrezepte
~#! tid=867536376
Caralein ist ja ganz lecker Dein Rezept, aber ich habe das heute schon mal
irgendwo gelesen ;)))
tschau Atoz - nicht mehr wissend, in welchem Mud er gerade Zeitung liest

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



Re: Re: Spaghettisosse! (Caradhras,  1. Jul 1997, 11:10:17):
~#! rn=Atoz rt=867696969 rg=kochrezepte
~#! tid=867536376
Tja, wenn Du einmal im Jahrhundert auch in AnderLand bist. :)

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



Blaetterteich usw. (Caradhras,  6. Jul 1997, 16:39:52):
                   Guggug

Letzte Woche habe ich mal wieder Kneipenwirt im Wohnheim gemacht,
dabei gabs Blaetterteig gefuellt und Pastetchen (ragout fin), auch
gefuellt natuerlich.                  

Folgendes Rezept kam dabei (pi mal daeumle raus):

Gefrorener Blaettteig (ca. 400 g., reichen fuer 12 Probiererle)
Koeniginnen-Pastete (alias Ragout Fin, gibts fuer knapp 3 Maak 6 Stueck)  

Fuellungen fuer Blaetterteig:

Spinat: Gefrorenen Blattspinat auftauen, salzen, pfeffern, in einer
        Pfanne 1 kleingeschnittene Zehe Knoblauch anbraten mit 2
        gehackten Schalotten, Spinat dann mit erhitzen und mit etwas
        Sahne (wenige EL) umruehren, etwas Muskatnuss drueberstaeuben

Hackfleisch: Hackfleisch mit Zwiebeln und 1 Paprika anbraten, wuerzen
             mit etwas Cayenne, Chili, scharfem Paprika, Salz, Pfeffer

Schinken/Kaese: 300 Gramm Schinken (ca 12 Scheiben, Hinterkochschinken)
                und 300 Gramm Schafskaese

Scheiben Blaetterteig ausrollen, halbieren, 3 EL Fuellung drauf und 
einschlagen. Mit Eigelb bepinseln (Eigelb ist das Pattex des Kochens :)
und fuer 15 Min in den Backofen bei 180 Grad aufbacken.

Pastetenfuellung:
Suppenhuhn mit Salz und 1/2 kleingehackten Bund Petersilie fuer
2 Stunden kochen lassen (ganz bedeckt), rausnehmen, abkuehlen lassen,
Fleisch von Knochen loesen und etwa in 2 mal 2 cm grosse Stuecke
'rupfen'. Schalotten und Zwiebeln gelblich anbraten in Oel, klein-
geschnittene Champignons mit rein, genauso eine Packung tiefge-
kuehlter Erbsen (ca. 400 gramm), dann mit 1 Becher :) Sahne abloeschen
und 2 Becher Creme double, Creme fraiche rein, aufkochen lassen mit
dem Saft einer halben Zitrone und etwas Geschmacksverstaerker (Suppen-
wuerfel, gibts auch vegetarisch ohne Rind) und etwas Worcester-Sauce.
Hm, irgendwas hab ich doch noch vergessen. Ach so, salzen, pfeffern
natuerlich nicht vergessen, dann in die Pasteten einfuellen (Deckel
vorher rausmachen) und bei 150 Grad fuer 5 Min in den Backofen.

Wers mag: Die Fuellung mit 'nem Schuss Weisswein verfeinern, den
Rest in einen selbst fuellen. :)

Das Suppenhuhn-Wasser nicht wegschuetten, damit kann man noch eine
leckere Zwiebelsuppe machen mit Kaese ueberbacken. *lechz*

     *wink froehlich*

               Bergchen Caradhras


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



Re: Blaetterteich usw. (Lug,  7. Jul 1997, 01:32:54):
~#! rn=Caradhras rt=868199992 rg=kochrezepte
~#! tid=868199992
Und wo bleibt das mir gewidmete Rezept Cara? ;)
Nichts vergessend
Lug

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



Re: Re: Blaetterteich usw. (Grimmborn,  7. Jul 1997, 15:43:54):
~#! rn=Lug rt=868231974 rg=kochrezepte
~#! tid=868199992
Danke, lieber nicht, uns ist schon schlecht...

GdA

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



Re: Re: Blaetterteich usw. (Caradhras,  7. Jul 1997, 18:37:12):
~#! rn=Lug rt=868231974 rg=kochrezepte
~#! tid=868199992
Oeh, oh... hmmm. :) Stimmt... Muss ich dann nach der naechsten
Torte schreiben, Lugerl...
Die letzte Torte ist schon wieder wechgefuttert. *happs*

         Caradhras - der erste Berg, der backen kann (oder so)

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



Re^3: Blaetterteich usw. (Lug,  8. Jul 1997, 01:28:52):
~#! rn=Grimmborn rt=868283034 rg=kochrezepte
~#! tid=868199992
Hm Grimmi,

apropos schlecht, da haette ich noch einen Racke Rauchzart im Keller
vergraben, den koennte ich Dir ja mal kredenzen ;)

Hoe hoe
Lug

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



Re^4: Blaetterteich usw. (Grimmborn,  8. Jul 1997, 10:52:26):
~#! rn=Lug rt=868318132 rg=kochrezepte
~#! tid=868199992
Also, Antipathie schoen und gut, aber dass mir hier der blanke Hass entgegen
schlaegt macht mich ja schon irgendwie betroffen...

Grimmborn der Atheist hat tatsaechlich mal Racke Rauchzart probiert. Und wills
auch nie, nie, nie wieder tun.

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



Re^5: Blaetterteich usw. (Lug,  9. Jul 1997, 01:58:57):
~#! rn=Grimmborn rt=868351946 rg=kochrezepte
~#! tid=868199992
Moin,

na gut. Ich will nicht vor einem internationalem Tribunal angeklagt werden.
Darum werfe ich den Racke weg. Wie waers mit Old Smuggler?

Pervers kichernd
Lug

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



Re^5: Blaetterteich usw. (Kretek, 11. Jul 1997, 13:02:53):
~#! rn=Grimmborn rt=868351946 rg=kochrezepte
~#! tid=868199992
Auf die Gefahr hin, dass ich mich jetzt oute: Was ist "Rache Rauchzart"?

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



Re^6: Blaetterteich usw. (Grimmborn, 11. Jul 1997, 13:15:28):
~#! rn=Kretek rt=868618973 rg=kochrezepte
~#! tid=868199992
"Rache Rauchzart" triffts ziemlich gut...
"Racke Rauchzart" heisst ein alkoholisches Getraenk, dass sich selber als
Whisky bezeichnet. Es ist fast so schlimm, ekelhaft und unberechtigt wie
Bourbon (also Jack Daniels, Jim Beam und solche Giftwaesser...).

Nein ich will keinen "mein Whiskey ist besser als Deiner" - Krieg anfangen.
Zumal ich _weiss_, dass meine die besten sind.
Und Bourbons koennen ja an und fuer sich ein leckeres Gesoeff sein (ich waere
allerdings bereit, auch das zu bestreiten), mit einem gewissen edlen Schnaps
aus gemaelzter Gerste hat dieser Maisbrand aber auch gar nichts zu tun.

Grimmborn der Atheist

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



Quiche (Caradhras, 11. Jul 1997, 16:30:45):
Und hier das - gerade eben zugeschickte - Rezept an mich von einer
mitfuehlenden jungen Dame, ich moechte es euch nicht vorenthalten:

-----------------------------------------------------------------
hier ganz kurz und ohne Einzelheiten:

1. Muerbeteig (Sorte 1 zu 1, also 1 Teil Fett, 1 Teil Mehl, 1 Ei)

2. fetten Speck wuerfeln und auslassen. Lauch, Zwiebeln oder sonstiges
Gemuese waschen und schnibbeln. Im Fett des Specks duensten. Mit
Salz und Pfeffer abschmecken. Bei Zwiebelgerichten nie den Kuemmel
(alternativ Fenchel oder Thymian) vergessen, sonst pupsts! Nach dem
Duensten den Saft mit Kartoffelmehl binden (moeglicherweise in Weiss-
wein statt Wasser anloesen, schmeckt besser).

3. flache Auflaufform oder Tortenboden-Form mit dem Teig auslegen,
einen Rand formen und den Boden mit der Gabel einpieken.
4. Das Gemuese drauf, die Sauce dazu und (Umluft) bei 160 Grad C etwa
40 Min. backen, bis die Sauce stockt.

Ich hoffe, dass es schmeckt.
------------------------------------------------------------------

  Ich auch :)            Hungerbergchen Caradhras

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



Re^7: Blaetterteich usw. (Yendi, 14. Jul 1997, 11:44:05):
~#! rn=Grimmborn rt=868619728 rg=kochrezepte
~#! tid=868199992


Hmmmja, ich trinke auch ganz gerne einen alten Glen*, aber dabei fallen mir
immer die Gas-Chromatographien ein, die ich mal an einer Laborwand habe
haengen sehen:
Bei den Whisk(e)ies gab's jede Menge Fuseloel-Zacken, bei gutem Wodka (frag
mich jetzt nicht nach der Marke) im Prinzip nur einen Ethanol-Peak mit ein
paar Geschmacks-Huegelchen drumrum -> bessere Vertraeglichkeit.

(Jajaa, ich weiss, immer nur ein Glas, schoen gemaechlich, dann ist das mit
 der Vertraeglichkeit gar kein Problem -- ich mein' ja auch nur...)


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



Re^8: Blaetterteich usw. (Grimmborn, 14. Jul 1997, 12:01:33):
~#! rn=Yendi rt=868873445 rg=kochrezepte
~#! tid=868199992
Huch, wer hat denn was anderes behauptet? Whiskey, vor allem, wenn er aelter
als so 20 Jahre ist (altert nicht mehr, wenn er in der Flasche ist, es gilt
also nur die Lagerzeit im Fass!) enthaelt ziemlich viel, was nicht so gesund
ist, nicht zuletzt Ethanol. Wodka dagegen enthaelt idealerweise genau zwei
Stoffe: Wasser und Ethanol. Die Geschmackspeaks gehoeren da eigentlich schon
gar nicht rein, die sind eine Modeentscheidung.
Dafuer gibts dann jede Menge Leute, die sich an Wodka besaufen, waehrend der
Anteil der Leute, die sich an wirklich gutem Whiskey betrinken, eher gering
sein duerfte. Naja, und wer J.W. oder son Zeuch trinkt ist eh selber schuld,
der hat zu den ungesunden Inhaltsstoffen auch noch einen ungesunden Geschmack.

Ach so, ohne was verniedlichen zu wollen: Hast Du mal ein GC
(Gaschromatogramm) von normaler Innenstadtluft gesehen? Und ich persoenlich
nippe lieber an einem kleinen Glaeschen als dass ich eine Wanderung in der
Koelner City zur rushhour mache...

GdA

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



Re^9: Blaetterteich usw. (Lug, 14. Jul 1997, 19:18:46):
~#! rn=Grimmborn rt=868874493 rg=kochrezepte
~#! tid=868199992
HM,

also manchmal kann man auch zuviel Malt trinken. Ich denke da an die paar
Glaeschen Highland Park vom letzten WE.

;)
Lug

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



Re^9: Blaetterteich usw. (Jimdigriz, 14. Jul 1997, 22:55:02):
~#! rn=Grimmborn rt=868874493 rg=kochrezepte
~#! tid=868199992

Hi Grimmborn,
 Du hast Jehova gesagt ;-) :

>Huch, wer hat denn was anderes behauptet? Whiskey, vor allem, wenn er aelter
                                                ^^

und 
Anteil der Leute, die sich an wirklich gutem Whiskey betrinken, eher gering
                                                  ^^

Als Kenner solltest Du eigentlich wissen, dass sich Scotch
 "Whisky" schreibt (gaelisch fuer "Water of Life"),
 der "Whiskey" (mit e) ist naemlich Bourbon, ein Getraenk,
 dass ich persoenlich nicht in die Naehe von "Whisky"
 ruecken wuerde. (das ist nicht qualitativ gemeint, es ist einfach
 ein anderes Getraenk :-}).

grosse Steine, kleine Steine, flache Steine, spitze Steine ...,
 Jim DiGriz (mag auch Whisky, Tip des Tages: Benromach 17 Years, 
  Glenhaven independed botteling, 63% cask strength, jaja Angeber ich weiss)

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



Re^10: Blaetterteich usw. (Lug, 14. Jul 1997, 23:23:20):
~#! rn=Jimdigriz rt=868913702 rg=kochrezepte
~#! tid=868199992
Jau Angeber! ;)

Also, 

sie Schotten schreiben es ohne e, aber die Iren m.E. mit e. Ich trink zwar
lieber schottischen Malt, aber benutz die Schreibung mit e.

Whiskey ist nicht gaelisch, sondern Englisch. Es ist aber tatsaechlich ein
Lehnwort, von uisge beatha (ja nach Zeit und ort andere Schreibungen
moeglich), was eine Calque auf Aqua vitae sein koennte (wer was besseres
weiss, der sage es. ;)

Lug

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



Re^10: Blaetterteich usw. (Lug, 14. Jul 1997, 23:51:30):
~#! rn=Jimdigriz rt=868913702 rg=kochrezepte
~#! tid=868199992
Nochmal:

Also das DIL (Dictonary of the Irish Language) gibt:

uisce m. (io-Stamm) 'water' ... with defining adj., or gen.:

uisce betha(d) whiskey  [Man beachte das ir. -e- ;)]

und kann Accalam na senorach "Das Gespraech der Alten" zitieren: d.h. ca. 1200

So ;)
Lug

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



Re^11: Blaetterteich usw. (Pampers, 15. Jul 1997, 08:50:37):
~#! rn=Lug rt=868917090 rg=kochrezepte
~#! tid=868199992
Ich seid echt alle unglaublich toll gebildet.
Boah ey. 

Pampers. Intellektelle Scheisse.

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



Re^12: Blaetterteich usw. (Grimmborn, 15. Jul 1997, 09:07:04):
~#! rn=Pampers rt=868949437 rg=kochrezepte
~#! tid=868199992
Tststs, was der Bauer nicht kennt, verurteilt er.
Sieh mal, Pampers: Es gibt Leute, die wirklich klug und gebildet sind. Goenn
es ihnen und lass ihnen ihren Spass. Wir goennen Dir ja auch Deine
stumpfsinnige Borniertheit und lassen Dir Deinen Spass dabei. Watt dem einen
sing Uhl...

Grimmborn der Intellektuelle. Mit Brille!

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



Re^13: Blaetterteich usw. (Hardil, 15. Jul 1997, 13:45:49):
~#! rn=Grimmborn rt=868950424 rg=kochrezepte
~#! tid=868199992

Lieber Teefrosch,

nenn Pampers mal auf einem Stammtisch oder einem Mud-Treffen intellektuell.
Und Du wirst sehen, was dabei herauskommt.

In Erinnerungen schwelgend,

-Hardil. Will dann dabeisein. :)

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



Re^14: Blaetterteich usw. (Grimmborn, 15. Jul 1997, 13:49:11):
~#! rn=Hardil rt=868967149 rg=kochrezepte
~#! tid=868199992
Wieso sollte ich? Der hat doch gar keine Brille?

Grimmborn der Atheist kann genau unterscheiden, ob jemand intellektuell ist
oder nicht.

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



Re^15: Blaetterteich usw. (Wurzel, 16. Jul 1997, 20:01:56):
~#! rn=Grimmborn rt=868967351 rg=kochrezepte
~#! tid=868199992
leute, ihr verhunzt hier die einzige rubrik in die ich (selten genug) ernst
gemeinte artikel poste. nur so als hinweis, dafuer gibts doch ->schmarrn

wurzel

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



Longdrink a la Knuddeldrache (Hardil, 21. Jul 1997, 09:20:24):

Da befindet man sich ganz froehlich auf einer Geburtstagsfete in Bielefeld,
ahnt nichts schlimmes, und als man darueber nachdenkt, ob man Gast3 nicht ein
Wegescript zum Klo mitgeben sollte, outet sich ploetzlich der mir
gegenuebersitzende Gast6 als...
Ancalagon, der Knuddeldrache.
Sowas aber auch.
Es wurde dann noch ein netter Abend (zwei Wurstseher und ein Wurstmagier
(Throin war auch noch anwesend, wie ich dann erfuhr -> Gast9)), doch den
ruehmlichen Hoehpunkt muss ich noch schildern (damit auch die Rubrik richtig
bleibt):

Longdrink a la Knuddeldrache

Man nehme:

Eine kleine Flasche eines westfaelischen Biergetraenks (Marke nebensaechlich,
schmeckt eh nicht und ist laut Ancalagon nur zum Mischen geeignet), oeffne sie
und fuelle damit ein Longdrinkglas etwa bis zur Haelfte.
Dann nehme man dem naechsten herumlaufenden dreijaehrigen Seppel die Flasche
Fanta Pink Grapefruit weg, fuelle damit das Glas auf und schaue sich an, wie
das ganze eine extrem ungesunde Farbe annimmt.
Nicht geschuettelt, nicht geruehrt, direkt zu trinken.

Ancalagons freundliche Aufforderung, mal zu probieren, habe ich dann
abgelehnt. :)

-Hardil.

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



Re: Longdrink a la Knuddeldrache (Ancalagon, 25. Jul 1997, 15:54:35):
~#! rn=Hardil rt=869469624 rg=kochrezepte
~#! tid=869469624
Knuddels!
Naja, war'n Versuch wert.... Aber ich werde wohl auch beim Radler bleiben.
Sooo toll wars dann doch nicht..... :)
Knuddelndsterweise,
                                 Ancalagon

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



Magier am Spiess (Asmodis, 18. Aug 1997, 20:03:20):
Rechtzeitig zur MUd-Party hier das Rezept fuer Magier am Spiess:

Man Braucht:
             Einen MG-Magier (moeglichst unbeliebt),
             4 Knoblauchzehen,
             Oel (kein Babyoel),
             Zwiebeln,
             Tomaten,
             ein Apfel,
             Gewuerze

Zubereitung: - Erstmal muss man den Magier totschlagen, sonst gibt das
               Probleme beim grillen.
             - Dann streicht man ihn grosszuegig mit dem Oel ein,
               Die Knoblauchzehen, Zwiebeln und Tomaten werden 
               kleingewuerfelt, je nach Geschmack gewuerzt und in den 
               Rachen gestopft (die andere Seite ist vielleicht etwas 
               unappetitlich), zum Schluss wird der Mund mit dem Apfel 
               zugestopft.
             - Dann nur noch das Feuer anheizen, den Magier auf den Spiess 
               stecken und goldbraun grillen.

Guten Appetit!

P.S.: Dazu passt ein Gatsbyheimer Wirbelwind oder ein Boingischer
Steinbeissertropfen
 

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



Re: Magier am Spiess (Jimdigriz, 19. Aug 1997, 18:07:24):
~#! rn=Asmodis rt=871927400 rg=kochrezepte
~#! tid=871927400
Hi Asmodis,

Da kann ich nur sagen, Du hast was wichtiges vergessen,
oder *wuerg*

Man muss den Magier natuerlich vor dem Stopfen _ausnehmen_.
Dann ist das auch nicht mehr so unappetitlich mit der 
anderen Seite. 
Die Gedaerme kann man ja im Aasee aufloesen %-}
4 Knoblauchzehen sind natuerlich zu wenig fuer einen
ausgewachsenen Magier, 4 Knollen schon eher.
Und dann muss man natuerlich heute schon anfangen mit 
dem Grillen, wenn er am Samstag gar sein sollte.

Winke,
 Jim DiGriz

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



Gefuelltes Kamel (Yendi, 22. Aug 1997, 13:20:20):


Mal sehen, ob ich das noch auswendig auf die Reihe kriege...
Das Rezept stand vor ein paar Tagen in der TAZ.


Gefuelltes Kamel:
=================

Man braucht:
	400 Regenpfeifer-Eier
	400 (?) Datteln
	20 Karpfen
	4 Trappen
	2 Schafe
	1 grosses Kamel
	ein paar Kilo Gewuerze


Zuerst eine grosse Kochgrube ausheben und ein paar Kubikmeter Glut erzeugen.
Auf dem Riesenfeuer, was man dazu braucht, kann man schonmal die Regenpfeifer-
eier garen.
Karpfen ausnehmen & schuppen und mit gepellten Eiern und Datteln fuellen.
Trappen ausnehmen & rupfen und mit den gefuellten Karpfen fuellen.
Schafe ausnehmen & flaemmen und mit den gefuellten Trappen fuellen.
Kamel ausnehmen & flaemmen und mit den gefuellten Schafen fuellen.
Kamel in Palmblaetter einschlagen und in der abgedeckten Glut zwei Tage lang
garen.

Reicht fuer ca. 400 Personen.

Bon Appetit, comme disent les arabes...



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



Re: Gefuelltes Kamel (Asmodis, 22. Aug 1997, 14:09:52):
~#! rn=Yendi rt=872248820 rg=kochrezepte
~#! tid=872248820
Gibts das auf der MG-Party ?? Koennte grad so reichen :)

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



Kaninchen mal ohne Ohren... (Lug, 31. Aug 1997, 02:56:46):

Moin,

hier isses Grimmborn:

Geschmortes Kaninchen in Weisswein

1 kuechenfertiges Kaninchen (6 Teile + Innereien)
Salz
Grober Pfeffer
Oel
250g Zwiebeln
1 Knolle frischer (FRISCHER sagte ich!) Knoblauch
1 Bund Petersilie
1/2 l Weisswein (moeglichst guten, leckeren und trockenen)

Kaninchenteile abspuelen, trockentupfen und mit Salz und Pfeffer einreiben. In
eine geoelte ofenfeste Form oder auf die Fettpfanne des Backofen legen
(besser!). Zwiebelstuecke, Knoblauch und Petersilie (kann man weglassen - muss
man aber nicht) einfach dazulegen. Wein zugiessen und ab in den Ofen mit dem
Blech. Ofen auf 225 Grad - Gas Stufe 4 - Umluft 200 Grad schalten und etwa 1 h
backen. Den Sud mit Salz (Salz? Wozu Salz?) und Pfeffer abschmecken.
Fuer 3 Personen sind 2 Kaninchen besser.
Um das Ganze intensiver zu gestalten, kann man das Karnickel ueber Nacht in
Wein, Zwiebeln und Knoblauch einlegen. Mit Gefluegelteilen geht das Rezept
auch schmeckt aber lascher. Und wenn mans knuspriger mag, dreht man die Keulen
einfach mittendrin um. das geht wider Erwarten.

Viel Spass oder auch Spasz ;)

Lug

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



Champignon-Spargel-Pastete (Engywuck, 16. Nov 1997, 17:31:35):
Hallo!
Das Engywuck-Koch-Studio hat wieder zugeschlagen. Und zwar diesmal mit:

Champignon-Spargel-Pastete
==========================

Zutaten:
250 g Spargel
1/4 l Gemuesebruehe (Instant)
250 g Champignons
10 g Butter
20 g Mehl
125 g Schlagsahne
1 Eigelb
Salz, Pfeffer
1 EL Zitronensaft
6 Blaetterteigpasteten
gehackte Petersilie

Anleitung:
Den Spargel waschen, schaelen, das untere Ende abschneiden und das 
Gemuese bis zu den Koepfen in schraege Scheiben schneiden.
Die Gemuesebruehe aufkochen und den Spargel darin ca. 5 Min. garen. Das 
Gemuese in ein Sieb giessen und den Sud auffangen.
Die Champignons trocken abreiben oder kurz kalt abwaschen und gut 
trockentupfen. Die Pilze, bis auf 6 fuer die Garnitur, vierteln. Die 
Butter in einem Topf erhitzen und alle Champignons darin duensten. 
Anschliessend die ganzen Champignons herausnehmen und beiseite stellen.
Die Pilzviertel mit Mehl bestaeuben, kurz anschwitzen und die 
Gemuesebruehe unter Ruehren angiessen. Die Sahne bis auf 2 EL zufuegen 
und die Sosse 2 Min. kochen lassen, dann vom Herd nehmen. Das Eigelb mit 
der restlichen Sahne verschlagen und in die Sosse ruehren. Die 
Spargelstuecke zufuegen und in der heissen Sosse erwaermen. Das Ragout 
mit Salz, Pfeffer und Zitronensaft abschmecken.
Die Blaetterteigpasteten bei 200 Grad im vorgeheizten Backofen ca. 7 Min. 
backen. Das Ragout in die heissen Pasteten fuellen und mit den beiseite 
gestellten Champignons und der Petersilie garnieren.

Das Rezept ist fuer 2-3 Personen.


Guten Appetit!

Engy*

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



Re^3: Champignon-Spargel-Pastete (Engywuck, 17. Nov 1997, 18:35:48):
~#! rn=Wurzel rt=879714728 rg=kochrezepte
~#! tid=879697895
Bei dem Rezept ist es nicht sooooooo entscheidend, dass der Spargel frisch und
Deutsch ist, weil die Pilze dazu fuehren, dass der Spargelgeschmack etwas
nivelliert wird. und dafuer tuts auch auslaendischer. Also mir hats geschmeckt
;)
 Engy*

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



Re^4: Champignon-Spargel-Pastete (Acrimon, 20. Nov 1997, 17:45:42):
~#! rn=Engywuck rt=879788148 rg=kochrezepte
~#! tid=879697895
Auszerdem kann man statt Spargel auch Schwarzwurzel nehmen.
Schwarzwurzel schmeckt besser und ist gesuende als Spargel, auszerdem ist die
Schwarzwurzelzeit noch gar nicht so lange her.

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



Re^5: Champignon-Spargel-Pastete (Wurzel, 20. Nov 1997, 20:00:18):
~#! rn=Acrimon rt=880044342 rg=kochrezepte
~#! tid=879697895
wusste ich es doch, du hast einen verdrehten geschmack... schwarzwurzeln als
spargelersatz *schuettel* naja, vielleicht gibts in bayern ja keinen guten
spargel so wie bei uns, aber ich dachte immer caradhras wuesste wovon er
schreibt.

wurzel

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



Re^6: Champignon-Spargel-Pastete (Raffi, 20. Nov 1997, 20:45:03):
~#! rn=Wurzel rt=880052418 rg=kochrezepte
~#! tid=879697895
Hey, in Bayern gibts den Besten!

Gruss
H.
(Das mit der Schwarzwurzel ist wirklich Brrrr.)

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



Re^7: Champignon-Spargel-Pastete (Gloinson, 25. Nov 1997, 00:22:39):
~#! rn=Raffi rt=880055103 rg=kochrezepte
~#! tid=879697895
Schwarzwurzel ist lecker - aber nicht in dem Zusammenhang. Auf so
etwas koennen wirklich nur Bayern kommen. Und den besten Spargel
gibt es immer noch in Brandenburg.
Postet mal einer was zu Fisch, oder muss ich erst wieder meine
Mama fragen?

Gloin

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



Re^8: Champignon-Spargel-Pastete (Hobo, 25. Nov 1997, 08:28:21):
~#! rn=Gloinson rt=880413759 rg=kochrezepte
~#! tid=879697895
Fisch?

Frag mal Mieze, die hatte da so ein leckeres Rezept *schleck* *hmmmm*

Tschuessi

   Hobo

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



Re^8: Champignon-Spargel-Pastete (Lug, 27. Nov 1997, 19:23:24):
~#! rn=Gloinson rt=880413759 rg=kochrezepte
~#! tid=879697895
Tsss,

grober Unfug! Der beste Spargel kommt aus der Niedersaechsischen Tiefebene!

Banausen
Lug

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



Re^9: Champignon-Spargel-Pastete (Raffi, 27. Nov 1997, 19:57:19):
~#! rn=Lug rt=880655004 rg=kochrezepte
~#! tid=879697895
JaJa, und irgendwer hat mal gesagt der beste Spargel kommt aus der Dose ....
Das ist genauso wahrscheinlich wie Brandenburd, Niedersachsen oder Groenland.

Gruss
H.

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



Re^10: Champignon-Spargel-Pastete (Wurzel, 27. Nov 1997, 20:29:08):
~#! rn=Raffi rt=880657039 rg=kochrezepte
~#! tid=879697895
genau. brandenburg, niedersachsen, groenland, bayern oder sonstwo... den
richtigen spargel gibts nur im griesheimer sand.
irgendwie versteh ich diese diskussion nicht, schliesslich ist das eine
feststehende und allgemein anerkannte tatsache.

wurzel

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



Re^11: Champignon-Spargel-Pastete (Grimmborn, 28. Nov 1997, 09:58:27):
~#! rn=Wurzel rt=880658948 rg=kochrezepte
~#! tid=879697895
Naja, Dir sei verziehen. Offensichtlich kennst Du keinen Alfterer Spargel.

GdA

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



Re^11: Champignon-Spargel-Pastete (Hardil, 28. Nov 1997, 10:55:22):
~#! rn=Wurzel rt=880658948 rg=kochrezepte
~#! tid=879697895

Quatsch Greisheimer Sand. Echter guter Freilandspargel kommt aus den
wunderbaren Boeden Rheinhessens. Dort, wo auch der gute Wein und die
hervorragenden Kartoffeln herkommen.

-Hardil. Bekommt bei diesem Thread Hunger.

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



Re^12: Champignon-Spargel-Pastete (Grimmborn, 28. Nov 1997, 11:25:51):
~#! rn=Hardil rt=880710922 rg=kochrezepte
~#! tid=879697895
Rheinhessen? Guter Wein? Auf diesen Kartoffelaeckern mit leichter Nordneigung?
Du traeumst.

GdA

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



Re^13: Champignon-Spargel-Pastete (Hardil, 28. Nov 1997, 11:29:52):
~#! rn=Grimmborn rt=880712751 rg=kochrezepte
~#! tid=879697895

Junger Mann aus dem Land, wo es mehr Muecken als Schweden gibt!
Wo ein Nordhang ist, ist auch ein Suedhang. :)
Und ich traeume nicht vom Wein, ich trinke ihn.
Komm mal vorbei, dann zeig ich Dir, was ein guter Wein ist.

-Hardil. Lokalpatriot. Weinkenner.

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



Re^14: Champignon-Spargel-Pastete (Gloinson, 28. Nov 1997, 14:05:17):
~#! rn=Hardil rt=880712992 rg=kochrezepte
~#! tid=879697895
Grimmborn wird alt. Natuerlich kommt guter Wein aus Rheinhessen, aber
ein besserer Spargel als dort immer noch aus Brandenburg. Koennten
wir jetzt bitte noch anfangen, ueber die Herkunft der besten Champignons
zu streiten?

Gloin

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



Re^15: Champignon-Spargel-Pastete (Grimmborn, 28. Nov 1997, 14:07:59):
~#! rn=Gloinson rt=880722317 rg=kochrezepte
~#! tid=879697895
Sicher gibts auch guten Wein in Rheinhessen (wenn man mit der Masse a la
"Liebfrauenberg" vergleicht), aber unbestritten die besten deutschen Weine
kommen aus Mosel Saar Ruwer. 
Brandenburger Spargel kann dem aus Alfter nicht annaehernd das Wasser reichen,
so viele Tunnel koennen da gar nicht absaufen. Und die besten Champignons
kommen natuerlich vom Bauer Ewald seinem Prickingshof in Westfahlen. Da, wo
die Menschen so fahd^Hl sind wie die Pilze.

GdA

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



Re^16: Champignon-Spargel-Pastete (Gar, 28. Nov 1997, 14:52:05):
~#! rn=Grimmborn rt=880722479 rg=kochrezepte
~#! tid=879697895
Spargel aus Alfter????
Also ich geb zur Spargelzeit, dauert ja noch was, immer ne Sammelbestellung
mit Freunden ab, einer wird dann verdammt nach belgien zu fahren. da gibts den
besten und ist auch lange zeit preiswerter als hier in D.

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



Re^17: Champignon-Spargel-Pastete (Bambulko, 28. Nov 1997, 14:53:39):
~#! rn=Gar rt=880725125 rg=kochrezepte
~#! tid=879697895
Also der beste Spargel kommt immer noch aus Koeln-Nippes :-)))

Bambulko

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



Das Engywuck-Koch-Studio schlaegt zurueck (Engywuck, 28. Nov 1997, 18:08:31):
Herzlich willkommen im Engywuck-Koch-Studio. Heute haben wir fuer sie 
etwas ganz besonderes vorbereitet, naemlich

Spaghetti mit Zucchinisosse
===========================

Sie brauchen dazu:
250 g Vollkornspaghetti
Salz
1 kg Zucchini
4 EL Butter
3-4 Knoblauchzehen
2 EL gekoernte Gemuesebruehe (instant)
80 g Gorgonzola
4 EL saure Sahne
4 EL Basilikum, gehackt

Und wie wirds gemacht?
Die Spaghetti in kochendem Salzwasser bissfest garen. In der Zwischenzeit 
Zucchini putzen, waschen und in duenne Scheiben oder Stifte hobeln. Die 
Butter in einer Pfanne zerlassen und die Zucchini darin anduensten. Den 
Knoblauch schaelen, durch eine presse druecken und zu den Zucchini geben. 
Mit der Bruehe wuerzen und zugedeckt ca. 10 min. duensten.
Den Gorgonzola (fuer mich anderen wuerzigen Kaese, denn Gorgonzola 
schmeckt ja wirklich ekelhaft) kleinwuerfeln und zum Gemuese geben. Wenn 
der Kaese geschmolzen ist, die saure Sahne unterruehren und die Sosse 
puerieren. 
Die Nudeln abgiessen, in einem Sieb abtropfen lassen und kurz mit warmem 
Wasser abbrausen.
Die Spaghetti auf 4 vorgewaermte Teller verteilen, mit Zucchinisosse 
uebergiessen und mit Basilikum bestreut servieren.

So, wenn jetzt noch Acrimon schreibt, dass man Zucchini gut durch 
Auberginen ersetzen kann, waeren auch die naechsten 17 Replys auf dieses 
Rezept gesichert...

Guten Apetit, (das schreibt man sicher anders)
     Engywuck


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



Re^16: Champignon-Spargel-Pastete (Avalon, 28. Nov 1997, 19:03:08):
~#! rn=Grimmborn rt=880722479 rg=kochrezepte
~#! tid=879697895
Wein? Hm, ich hab so das Gefuehl, da sucht ihr in eurem Land nur
den Koenig unter den Einaeugigen *frechgrins*

ava, oesi :)

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



Re^17: Champignon-Spargel-Pastete (Engywuck, 28. Nov 1997, 19:04:15):
~#! rn=Avalon rt=880740188 rg=kochrezepte
~#! tid=879697895
Wenn ich Oesischen Wein haben will, geh ich ins Labor und hol mir was von dem
guten Dieethylenglykol.

Engy, Chemiker :)

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



Re: Das Engywuck-Koch-Studio schlaegt zurueck (Acrimon, 28. Nov 1997, 19:07:27):
~#! rn=Engywuck rt=880736911 rg=kochrezepte
~#! tid=880736911
Warum Auberginen?
Statt Zucchini kann man sehr gut Gaertnergurken nehmen.
Undwenn alles fertig ist, garniert man die Nudeln am besten mit ein paar
Orangenscheiben.
Ein wenig Zitrone zum Druebertraeufeln waere auch nicht schlecht ...

Acrimon, der Rote Ritter sichert heute mehr als 17 Replys.

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



Re^18: Champignon-Spargel-Pastete (Avalon, 28. Nov 1997, 19:07:38):
~#! rn=Engywuck rt=880740255 rg=kochrezepte
~#! tid=879697895
Sei froh, so erfriert Deine Gehirnzelle wenigstens nicht :)

ava:)

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



Re^12: Champignon-Spargel-Pastete (Wurzel, 28. Nov 1997, 20:56:09):
~#! rn=Hardil rt=880710922 rg=kochrezepte
~#! tid=879697895
wein aus rheinhessen? das erinnert mich immer daran, eines spaeten abends in
der weinstube, die auch wirklich eine war. also so eine, wo auch mal ein
echter winzer sitzt und sein glas hebt. ein solcher winzer war es, der zu
ziemlich vorgerueckter stunde die wahrheit rausgelassen hat: schwankend stand
er auf und murmelte etwas von "so, ich geh mal eben einen bechtheimer
pilgerpfad machen..." ah ja, dachte ich mir, so kommts raus.

wurzel

p.s. wenn ueberhaupt deutschen wein, dann bitte bergstraesser. ich weiss, den
kennt kein schwein, aber das liegt daran, dass wir den immer selbst trinken,
bevor er ausser landes geschafft werden kann :)

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



Re^15: Champignon-Spargel-Pastete (Lug, 29. Nov 1997, 01:40:26):
~#! rn=Gloinson rt=880722317 rg=kochrezepte
~#! tid=879697895
Unfug, 

der wirklich beste Spargel kommt aus den Sandboeden zwischen Doetlingen und
Wildeshausen.

Lug

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



Re^16: Champignon-Spargel-Pastete (Hate,  1. Dez 1997, 10:59:14):
~#! rn=Lug rt=880764026 rg=kochrezepte
~#! tid=879697895
Ihr habt Probleme...

Man importiere Sand aus den ganzen Gegenden, baue ein Gewaechshaus und 
schaffe die lokalen Klimaverhaeltnisse, baue Spargel an und wenn einer
unbedingt Spargel Y aus Gegend X haben will, dann hat man den gleich
nebenan.

Hate.

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



Re^17: Champignon-Spargel-Pastete (Raffi,  2. Dez 1997, 20:23:16):
~#! rn=Hate rt=880970354 rg=kochrezepte
~#! tid=879697895
AAAARGH ... und wo bleibt da das wahre Spargelgeniessergefuehl ?

Nee, auch wenn ichs nicht gerne sage, der Beste Spargel waechst noerdlich von
M ... da wo langsamm diese Leute mit dem unaussprechlich harten B leben.


Und ueberhaupt !

H.

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



spinatlasagne (Wurzel,  8. Dez 1997, 19:53:54):
eine leckere spinatlasagne, genau das richtige fuer die jahreszeit...

wir brauchen:

ein pfund hackfleisch
drei bis vier grosse zwiebeln
fuenf zehen knoblauch
ein kilo frischen blattspinat (eher mehr, das kriecht unglaublich zusammen)
butter
mehl
geriebenen kaese zum bestreuen
gruene lasagnenudeln (gelbe koennens auch sein, ist aber nicht stilecht :)
passierte tomaten (aus der packung)
gemuesebruehe
eine packung kraeuterfrischkaese (200 g)
creme fraiche
milch
olivenoel
gewuerze

zwiebeln und knoblauch fein hacken, im heissen oel anbraten und hackfleisch
dazugeben. ordentlich anbraten bis es kruemelig wird, wuerzen (ich nehme dazu,
wie sollte es anders sein, frisch gemahlenen cumin, chili und oregano, aber
das ist geschmackssache) und salzen. dann die passierten tomaten dazu,
aufkochen und dabei gut durchruehren. auf die seite stellen.

butter heissmachen, mehl darin anschwitzen bis es anfaengt zu braeunen, dann
mit milch und heisser bruehe abloeschen. dabei staendig ruehren, damit es
nicht ansetzt oder klumpt. frischkaese und creme fraiche unterruehren und
das ganze nochmal aufkochen lassen. von den mengen her so dimensionieren,
dass es nicht zu duennfluessig wird. mit weissem pfeffer, muskat und salz
wuerzen. auf die seite stellen.

spinat putzen und waschen. in einen grossen topf mit salzwasser geben und kurz
aufkochen. vorher ist normalerweise der topf zu klein, hinterher findet man
den spinat kaum wieder...

nudeln, hackfleisch, weisse sosse und spinat in schichten in eine auflaufform
fuellen, mit dem kaese bestreuen und das ganze ab in den backofen. bei 180
grad
(umluft) bzw. 200 grad (normaler ofen) ueberbacken. wenn der kaese gut
zerlaufen ist, rausholen und geniessen...

die menge reicht fuer vier normale esser oder zwei so wie mich :)

wurzel


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



Hmmm...lecker! (Bambulko, 13. Dez 1997, 15:32:58):
Hier mal ein paar auszuege aus dem Buch 'Die Suppe luegt." von Hans-Ulrich
Grimm (Verlag Klett-Cotta, Stuttgart 189 S.
36DM)[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[
D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[D[A
Es gaht darum, woraus Lebensmittel hergestellt werden:

Kunstkaviar aus Schlachtblutabfaellen
Fleischersatz aus Klaerschlamm
Muscheln aus Schweinefleisch
Pfirsichduft aus Rizinusoel
Pralinenfuellungen aus Erbsenbrei
Und wenn beim Erdbeerjoghurt "natuerliche Arome" draufsteht, heisst das, das
das Arome aus Saegespaenen gewonnen wurde.


Mahlzeit

Bambulko

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



Re: Hmmm...lecker! (Balion, 15. Dez 1997, 15:58:15):
~#! rn=Bambulko rt=882023578 rg=kochrezepte
~#! tid=882023578
Einen Teil der "Zutatan" kann ich ja noch glauben. 
Aber Klaerschlamm...
Als naechstes kommt einer und erzaehlt Schokoeis waere aus Radioaktivem
Restmuell 
(Weil die Leute in der Werbung immer so strahlen (oder so))

Balion

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



kohl (Wurzel, 22. Dez 1997, 17:36:27):
heute mal was ohne chili, verena hats gekocht...

kohl (nicht helmut, sondern weiss) a la verena

ein weisskohl
250g schinkenspeck
kartoffeln
etwas schweinepastete mit pfeffer (ein stueck leberwurst tuts auch)
100g saure sahne
200g kraeuterquark
eine zwiebel
eine grosse zehe knoblauch
kuemmel
provence-kraeuter
birnendicksaft
pfeffer, salz
etwas milch
100 ml bruehe

kartoffeln schaelen.
den kohl waschen, putzen und kleinschneiden. 
speck, zwiebel und knoblauch kleinschneiden und in etwas oel oder schmalz
anbraten. den kohl hinzufuegen und anduensten.
mit der bruehe abloeschen. kuemmel hinzugeben.
zugedeckt etwa 20 minuten koecheln lassen, wuerzen mit pfeffer und salz.
inzwischen kartoffeln kochen und zu puree verarbeiten (mit der milch und
etwas muskat, evtl. auch etwas butter).
quark, saure sahne, birnendicksaft und kraeuter (nach geschmack) zum kohl
geben. die pastete zerbroeseln und unterruehren.
noch ca. 5 minuten unter gelegentlichem ruehren ziehen lassen, fertig.

sehr lecker :)

wurzel

p.s. man kann fuer den geschmack auch noch kleingeschnittene karotten und
petersilie mitkochen. die pastete ist eh nur fuer den geschmack dabei, daher
eignet sich am besten franzoesische pfefferpastete mit gruenem pfeffer.

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



Kartoffeltorte (Kartoffel, 23. Dez 1997, 13:37:02):
Nein, keine Eigenkreation, die heisst wirklich so...
375g kalte, gepellte Kartoffeln
3 Eier
200g Zucker
100g Mehl
1 Messerspitze gemahlene Nelken
1 Tl Zimt
1 Tl Backpulver
125g gemahlene Haselnuesse
abgeriebene Schale einer Zitrone

1 halbes Glas Kirschkonfituere

200g Puderzucker
1EL Arrak
etwas Zitronensaft

Die Eier trennen und die Eigelb mit dem Zucker etwa 15 Minuten mit dem
Handruehrgeraet schaumig ruehren.
Mehl, BAckpulver, Zimt und Nelken mischen und ueber die Eimasse sieben.
Kartoffeln stampfen und mit den Haselnuessen und der Zitronenschale unter den
Teig mischen.
Eiweiss sehr steif schlagen und unter den Teg ziehen, in einer gefetteten, mit
Gries oder Semmelbroeseln ausgestreuten Springform bei 200 Grad C etwa 60
Minuten backen.

Aus der Form nehmen und abkuehlen lassen, dann in zwei Boeden teilen (geht
prima mit nem Bind faden, den man rundrum legt und dann zusammenzieht).
Den unteren Boden mit der Konfituere Bestreichen, oberen Boden wieder
aufsetzen.
Puderzucker mit Zitronensaft und Arrak anruehren und ueber den Kuchen
verteilen, der Guss sollte am Rand unregelmaessig runterfliessen.

Wer mag, kann noch 6 Marzipankartoffeln halbieren und auf den Rand des Kuchens
setzen.

Schmeckt zu dieser Jahreszeit am besten.

Guten Appetit,
Kartoffel

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



Rezeptsammlung  (Jimdigriz, 25. Dez 1997, 18:59:02):
Hallo,

gibt es die Kochrezepte eigentlich alle irgendwo
archiviert ? Hin und wieder erinnert man sich doch
an was leckeres und kanns nicht mehr finden :9
(Grimmborns Wildschweinterrine zB)

Ciao,
 Jim DiGriz

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



Re: Rezeptsammlung  (Key, 25. Dez 1997, 20:00:04):
~#! rn=Jimdigriz rt=883072742 rg=kochrezepte
~#! tid=883072742
Nette Frage :)
Interessiert mich auch .... und auch die die das Bergchen hier nicht
veroeffentlicht :)

Key

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



Re: Re: Rezeptsammlung  (Grimmborn, 27. Dez 1997, 02:31:14):
~#! rn=Key rt=883076404 rg=kochrezepte
~#! tid=883072742
Ich hab schon vor Jahren versprochen, die zu ordnen, gesammelt hab ich alles.
Nein, ich verspreche nicht, das ueber den Jahreswechsel zu machen, das klappt
eh nicht. Naechstes Jahr aber ganz bestimmt...

Grimmborn der Atheist

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



Re^3: Rezeptsammlung  (Jimdigriz, 27. Dez 1997, 10:04:00):
~#! rn=Grimmborn rt=883186274 rg=kochrezepte
~#! tid=883072742

Super! 

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



Re: Re: Rezeptsammlung  (Caradhras, 30. Dez 1997, 09:31:04):
~#! rn=Key rt=883076404 rg=kochrezepte
~#! tid=883072742
Fressack Sluezzeli. :-) Ich muss mich jetzt erst mal neu mit meinem
Weihnachtsgeschenk *grins KreteK* beschaeftigen, naemlich einem Wok.

  Bergchen Caradhras - schmeisst mit Kardamom, Putenschnitzeln, etc. um sich

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



Currywurst... (Har,  4. Mar 1998, 17:10:18):
Tach,
kann es sein, dass icih heute morgen eine Radio-Werbung fuer:
Knorr-Fix fuer Currywurst 
gehoert habe oder bin ich da einem Spuk aufgesessen?

Har (sieht sich mit dem Untergang der Zivisilation konfrontiert)

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



Re: Currywurst... (Yaren,  4. Mar 1998, 18:02:21):
~#! rn=Har rt=889027818 rg=kochrezepte
~#! tid=889027818
Yaren hats auch gehoert - oder verhoert? *gruebel*

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



Re: Re: Currywurst... (Wurzel,  5. Mar 1998, 19:27:15):
~#! rn=Yaren rt=889030941 rg=kochrezepte
~#! tid=889027818
untergang der zivilisation? man koennte drueber streiten, ob currywurst etwas
mit zivilisation zu tun hat, oder auch: wer currywurst isst, darf auch
knorrfix dafuer nehmen.
seit der imbiss an der ecke einem doenerfritzen gewichen ist, gibt es auf
dieser welt sowieso keine gute currywurst mehr.

wurzel

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



Happa Happa Hey! (Caradhras, 12. Jun 1998, 18:33:38):
                      Halloele!

Hier mal wieder ein 'kleines' Rezept vom letzten Kochen:
Natuerlich wie immer fast ohne Kalorien. *I*
Das ganze ist fuer sechs Personen grob gerechnet.
Diesmal Gang 1 und Gang 4.

X 1. Gang: Spargelcremesuppe 
2. Gang: Eisbergkaesesalat mit Sahnesauce
3. Gang: Omelette mit Lecco
X 4. Gang: Pfannkuchen mit Schinken/Spargelfuellung
5. Gang: Schweinemedallions in Wein/Sahnesauce
6. Gang: Vanilleeis mit Apricot Brandy/Eierlikoer/Schokosauce
7. Gang: Schokoladeneis mit (was sonst?) Schlagsahne!
8. Gang: Obst und Kaese
9. Gang: Kaffee mit aeeeeeehm... Sahne? :)

Abschluss: ein Pastis (unfranzoesisch) 

Wir benoetigen zusaetzlich: zwei Baguettes (nein, nicht von Aldi!)

Baguettes in 3 cm breite Stuecke aufschneiden, als Brotkoerbe auf
den Tisch. Als Getraenke passen am besten Weissweine, zB. Muskateller.

Wir brauchen: 

Fuer 1) und 4)

1 kg Spargel (moeglichst dick)
100 ml Sahne
etwas Mehl (4 EL)
75 g Butter
Salz
weisser Pfeffer
Natriumglutamat o.ae. Geschmacksverstaerker..., also 
Huehnerbruehenextrakt oder aehnliches
Saft einer halben Zitrone

1 Liter Milch
Salz
6 Eier
ca. 350 - 400 Gramm Mehl
Sonnenblumenoel oder Butaris (ca. 100 ml, Gramm)

2 Packungen Hinterkochschinken a 200 Gramm (darf ruhig Aldi sein)
etwas Butter
etwas Sahne
150 g Emmentaler
150 g Gouda
1/4 Bund Petersilie
1/4 Bund Schnittlauch

Milch mit den Eiern gut verquirlen, dann Mehl langsam hereinsieben
und weiter verquirlen, etwas salzen -> 'Teig' fuer Pfannkuchen

Mittleren Topf 3/4 mit Wasser fuellen, erhitzen,
grossen Topf 3/4 mit Wasser fuellen, erhitzen,
grosse Pfanne mit 3 EL Oel erhitzen, in der grossen Pfanne
jeweils einen Schoepfloeffel vom Teig einfuellen und hellbraune
Pfannkuchen backen.

Spargel waschen, schaelen, Schalen in den kleinen Topf und leicht
kochen lassen, ca. 20 Minuten lang.
Spargel in den grossen Topf, das Wasser sollte fast kochen, 20 bis
25 Minuten lang. 
Emmentaler und Gouda reiben, Backofen anheizen, 180 Grad

Wasser des kleinen Topfes abseihen, Topf trocknen und die 75 g Butter
heisswerden lassen. Nicht! dunkelbraun... sondern nur goldgelb.
Mit Ruehrbesen unter Ruehren Mehl (4 EL) zugeben und weiterruehren.
Wenn es dunkelgelb ist, abgeseihtes Spargelwasser zugeben, immer
0.2 Liter auf einmal und kraeftig weiterruehren beim aufkochen, bis
es die richtige Konsistenz angenommen hat. Den Schuss Sahne hinzugeben,
salzen, pfeffern und ca. 1 TL vom Geschmacksverstaerker dazu, den
Zitronensaft auch noch. Von den gekochten Spargeln die Spitzen
abschneiden und in die Suppe hinein. Servieren mit etwas Petersilie.

Pfannkuchen einzeln hernehmen, eine Scheibe Schinken hinein, etwas
von dem geriebenen Kaese darueber und zwei Stangen Spargel, dann
eng aufrollen. In eine feuerfeste Form hinein und mit dem restlichen
geriebenen Kaese und etwas Sahne und dem feingeschnittenen Schnittlauch
und der feingeschnittenen Petersilie bestreuen.

Ab in den Backofen fuer 15 Minuten.


           Fortsetzung folgt, viel Spass beim Abnehmen

                  Bergfrosch Rothorn Caradhras

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



Re: Happa Happa Hey! (Wurzel, 15. Jun 1998, 18:00:30):
~#! rn=Caradhras rt=897669218 rg=kochrezepte
~#! tid=897669218
was ist denn unfranzoesischer pastis?
sowas wie racke bei den whiskys?

wurzel schuettelt sich

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



Re: Re: Happa Happa Hey! (Caradhras, 17. Jun 1998, 18:11:42):
~#! rn=Wurzel rt=897926430 rg=kochrezepte
~#! tid=897669218
Nee, unfranzoesisch ist pur, franzoesisch ist mit Wasser.
Ich habe ihn mal auf auf die zweite Art versucht, aber da kann ich
gleich Anisgewuerz in Wasser schuetten.

   Rothorn Caradhras - liebt Alk erst mit >= 40 Vol %

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



Re: Happa Happa Hey! (Acrimon, 20. Jun 1998, 18:26:46):
~#! rn=Caradhras rt=897669218 rg=kochrezepte
~#! tid=897669218
Und wie fuege ich die fehlenden Kalorien bei?

Acrimon, der Rote Ritter vertraegt kalorienarmes Essen nicht so gut.

PS: Wer Geschmacksverstaerker benoetigt, ist ein EXTREM schlechter Koch.
Vor allem ist das alles andere als gesund.
Und bei Caradhras wundert es mich doppelt - man sagt, er koche gut, aber
offensichtlich ist das nicht so. Geschmacksverstaerker? Wie vulgaer und
aufdringlich!

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



Re: Re: Happa Happa Hey! (Grimmborn, 21. Jun 1998, 00:07:37):
~#! rn=Acrimon rt=898360006 rg=kochrezepte
~#! tid=897669218
Lass mich raten, Du weisst nicht was Geschmacksverstaerker ist?
Ein weit verbreiteter Geschmacksverstaerker ist beispielsweise Fett, oder was
glaubst Du wieso man Oel in den Salat und Sahne in die Sosse kippt?

Grimmborn der Atheist, Chemiker und Hobbykoch

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



Re^3: Happa Happa Hey! (Caradhras, 25. Jun 1998, 13:42:05):
~#! rn=Grimmborn rt=898380457 rg=kochrezepte
~#! tid=897669218
Richtig, Teefrosch, aber ich meinte wirklich so etwas wie Natrium-
glutamat... aber Sahne und Oel sind auch gute Beispiele fuer
Geschmacksverstaerker. :)
Ich kann gut kochen? Wer sagt das? Ich sage, dass ich aus billigen Dingen
schnell und einfach gute Sachen kochen kann... wer von mir Schroben-
hausener Spargel in zarter Buttersauce an wasweissich erwartet, ist
falsch gewickelt. Bei mir gibts Spargel aus Griechenland fuer 2.99
oder 1.99 das Pfund, und das so gut zubereitet, dass Ottonormalmudder
den Unterschied zu dem deutschen Spargel nicht merkt.
Das wohl, bei Swafnir!

Und falls Du die Ironie mit den Kalorien nicht verstanden hast, Acri...
dann lass Dir gesagt sein, dass meine Gerichte prinzipiell immer soviel
Kalorien haben, dass eine (meiner) Portion(en) fuer einen Tag reichen.
Auch wieder Ottonormalmuddern. Der Du ja nicht bist.

  In seinem Tuempel vor sich hinbruddelnd

      ein kleiner Bergfrosch namens Rothorn Caradhras

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



Chilli con Carne ala Therin (Therin, 25. Aug 1998, 19:27:12):
Auf mehrfachen Wunsch:

Die Daten beziehen sich auf 1 Pfund Gehacktes und 3 Dosen Kidneybohnen (rot)
mit "angemessen viel" Zwiebeln und Knoblauch.
Nachdem das Gehackte angebraten, die gewuerfelten und gegarten Zwiebeln und
die Bohnen dazugegeben wurden kommen folgende Zutaten dazu:

12 Gramm Maismehl
10 Gramm Cumin (Kreuzkuemmel, Mutterkuemmel)
5 Gramm Chillies, gemahlen
10 Gramm Glutamat
min. 140 Gramm Tomatenmark (bis die Farbe "stimmt")
2 Gramm Oregano
6 Gramm Paprika, edelsuess
10 Gramm Salz (nach Geschmack)
2 Gramm Roten Pfeffer (nach Geschmack)
20 Gramm Tabasco (nach Geschmack)
1 Paeckchen Sahne
Wein zum auffuellen der Fluessigkeit.

Abschmecken erfolgt mit Cumin und Chillies :)

So, das war jetzt so das Rezept wie ich es spontan und auswendig aufsagen
konnte. :)
T.

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



Re: Chilli con Carne ala Therin (Wurzel, 26. Aug 1998, 18:59:00):
~#! rn=Therin rt=904066032 rg=kochrezepte
~#! tid=904066032
zu wenig chillies. eindeutig. maismehl, glutamat (igitt) und sahne braucht
es auch nicht, und pfeffer ist nachgerade ein sakrileg...
paprika ist auch nichts anderes als eine chilisorte, genauso wie tabasco.
das ist also okay. aber das wichtigste hast du vergessen: ein gutes chili
koechelt 24 stunden auf kleiner flamme, damit es richtig durchzieht
und hinterher weniger fluessigkeit hat. das ist ja keine bohnensuppe.

wurzel

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



Re: Re: Chilli con Carne ala Therin (Therin, 26. Aug 1998, 22:29:00):
~#! rn=Wurzel rt=904150740 rg=kochrezepte
~#! tid=904066032
Es kommt schwer auf die Sorte an. Ich bevorzuge Chilis als Geschmackstraeger
und nicht als Schaerfetraeger. "Hier" in D findest Du halt selten frische
Schoten und das getrocknete Zeug ist meist mehr scharf als es schmeckt.
(Chilli muss scharf sein, aber dafuer braucht man ja nicht unbedingt die
Chilischoten.)
Sahne: Ich finde Sahne ist ein muss. Es rundet viele Gerichte einfach ab und
den Geschmackskontrast moechte ich nicht missen.
Maismehl: Ich benutze es erst seit kuerzerer Zeit, aber habe festgestellt, das
es sehr gut hinein passt.

Und dass Chilli keine Suppe ist, ist klar. zaehfluessig muss es sein :)

T.

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



Re^3: Chilli con Carne ala Therin (Raffi, 27. Aug 1998, 20:13:32):
~#! rn=Therin rt=904163340 rg=kochrezepte
~#! tid=904066032
Eine Zaehfluessige Suppe ? So wie Haferschleim ?

Grins
H.

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



Re^4: Chilli con Carne ala Therin (Therin, 27. Aug 1998, 20:13:52):
~#! rn=Raffi rt=904241612 rg=kochrezepte
~#! tid=904066032

BANAUSE!


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



Re^5: Chilli con Carne ala Therin (Wurzel, 28. Aug 1998, 09:06:33):
~#! rn=Therin rt=904241632 rg=kochrezepte
~#! tid=904066032
ein ordentliches chili kann man in eine tortilla einrollen und anheben,
ohne dass es tropft. versuch das mal mit dem zeug, das du in deutschen
kneipen als chili angedreht bekommst...

wurzel

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



Re^5: Chilli con Carne ala Therin (Raffi, 28. Aug 1998, 14:37:53):
~#! rn=Therin rt=904241632 rg=kochrezepte
~#! tid=904066032
Wiso banause ?
(noch dazu so laut ?)

Kannst ja mal an meinem Vitaminschrank schnuppern (Kuehlwasser gratis).

Gruss
H.

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



Re^6: Chilli con Carne ala Therin (Asmodis, 28. Aug 1998, 20:51:19):
~#! rn=Raffi rt=904307873 rg=kochrezepte
~#! tid=904066032
Warum gibts eigentlich keine Kochrezepte mehr von Cara*? Die waren besser ...
,

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



Re^7: Chilli con Carne ala Therin (Caradhras, 29. Aug 1998, 12:11:06):
~#! rn=Asmodis rt=904330279 rg=kochrezepte
~#! tid=904066032
Weil der kein MorgenGrauen nicht mehr spielt. Seit September 1995.
Dafuer hat er gestern nacht gross gekocht. Lecker wars!

  Lasst Maenner an den Herd! Die koennen besser kochen als Frauen. *grins*

          Der Golddrachenbergfrosch Caradhras

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



Re^8: Chilli con Carne ala Therin (Asmodis, 30. Aug 1998, 13:31:55):
~#! rn=Caradhras rt=904385466 rg=kochrezepte
~#! tid=904066032
Cara*, du musst doch hier nicht spielen, um der Nachwelt deine Kochrezepte zu
hinterlassen :-)
Ich spiele ja schliesslich hier auch nicht mehr ...

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



Re^9: Chilli con Carne ala Therin (Caradhras,  2. Sep 1998, 19:44:27):
~#! rn=Asmodis rt=904476715 rg=kochrezepte
~#! tid=904066032
                   Kuckuck :)

Was wie wo? Hat doch eh nie einer nachgekocht. :)
Aber was ganz ganz einfach ist, was ich letzten Freitag mit 
Toast, Weissbrot mit Tomaten-Ruehrei, gefuellten Tomaten auf zwei
verschiedenen Arten und zum Nachtisch gefuellte Honigmelonen mit
verschiedenen Fruechten und Vanilleeis mit fluessiger Nuss-
Schokolade gegessen habe: Kuemmelkartoffeln mit verschiedenen Dips.

Ganz einfach, habe ich schon auf dem MG-Treffen I in Muenster 
gemacht:
Kartoffeln schrubben, gut in Wasser liegen lassen, der Laenge nach
halbieren, Backofen 200 Grad vorheizen, nasse Kartoffeln mit der
Schale nach unten aufs Blech, mit 1 bis 2 EL Kuemmel bestreuen und
mit 4 bis 5 EL Olivenoel betraeufeln. 45 Min. backen.

Dip1: 1 Becher saurer Sahne mit 1 Becher Magermilchjoghurt gut! verruehren,
      Salz, Pfeffer und etwas Cayenne-Pfeffer rein. Feddisch.

Dip2: 1/8 Liter Schlachsahne, 1 TL Senf, Salz, Pfeffer mit viel kleinst-
      gehackten Kraeutern (Petersilie, Schnittlauch, Basilikum, Zitronen-
      melisse...) und einem Schuss Worcestersauce vermixen. Auch feddisch.

        Alles feddisch und schoen billich.

  *wink*     Ein Bergfrosch mit Kontostand < 0 GE

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



Re^10: Chilli con Carne ala Therin (Lug,  5. Sep 1998, 05:19:29):
~#! rn=Caradhras rt=904758267 rg=kochrezepte
~#! tid=904066032

Aeh Cara?

Du wolltest mir noch ein Rezepot widmen.

Grummel
Lug.

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



Re^11: Chilli con Carne ala Therin (Caradhras,  8. Sep 1998, 10:28:42):
~#! rn=Lug rt=904965569 rg=kochrezepte
~#! tid=904066032
Echt? Oeeeeeeeh, oh, ja. :) Ich sagte aber nicht, in welchem Jahrhundert.
*blush* Na gut, mein naechstes Rezept belongs to u.

     *winke froehlich aus dem Sumpf*

               der Bergfrosch aus Passau

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



Re^12: Chilli con Carne ala Therin (Lug,  8. Sep 1998, 23:28:03):
~#! rn=Caradhras rt=905243322 rg=kochrezepte
~#! tid=904066032

Wird aber zeit ;)

Sumpfbanause
Lug

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



Re^10: Chilli con Carne ala Therin (Acrimon, 14. Sep 1998, 15:26:25):
~#! rn=Caradhras rt=904758267 rg=kochrezepte
~#! tid=904066032
Hmm.
Olivenoel ist zwar das beste Oel, das es gibt, aber man darf es nicht erhitzen
(das vertraegt das Olivenoel nicht).
Zum Erhitzen nimmt man besser Fette, die die Hitze aushalten (z.B. diverse
Backfette).

Acrimon, der Rote Ritter

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



Re^11: Chilli con Carne ala Therin (Embe, 14. Sep 1998, 15:46:42):
~#! rn=Acrimon rt=905779585 rg=kochrezepte
~#! tid=904066032
nix da, das beste "ol das es gibt ist k"urkiskern"ol.
kein anderes "ol hat soviel aroma.
das k"urbiskern"ol schmeckt so gut, das ich manchmal einen l"offel voll
einfach so futtere....

gruss, eMBee.

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



Re^12: Chilli con Carne ala Therin (Yaren, 14. Sep 1998, 16:13:46):
~#! rn=Embe rt=905780802 rg=kochrezepte
~#! tid=904066032
Dann probier mal Sesamoel, von wenig keins hat soviel Aroma :-)
Das ist allerdings auch nur zum Wuerzen geeignet, fuer Gemuese verwende ich
auch meistens Olivenoel, wenns neutral sein soll dann Disteloel.

Yaren.

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



Re^13: Chilli con Carne ala Therin (Embe, 14. Sep 1998, 16:26:13):
~#! rn=Yaren rt=905782426 rg=kochrezepte
~#! tid=904066032
sesam"ol kenn ich auch, ja schmeckt nicht schlecht, kann mit dem
k"urbiskern"ol aber nicht konkurrieren... :-)

gruss, eMBee.

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



Re^12: Chilli con Carne ala Therin (Songoku,  9. Okt 1998, 14:33:57):
~#! rn=Embe rt=905780802 rg=kochrezepte
~#! tid=904066032
Traubenkernoel!!!!

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



Re^13: Chilli con Carne ala Therin (Embe,  9. Okt 1998, 18:01:56):
~#! rn=Songoku rt=907943637 rg=kochrezepte
~#! tid=904066032
das kenn ich noch nicht, wo gibts das?

gruss, eMBee.

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



Fuer Yendi: Mango-Lassi (Caradhras, 17. Feb 1999, 15:59:29):
                Kuckuck ihr Froesche und Nichtfroesche

Weil Yendi mich ansprach, mal wieder ein Rezept hier reinzuschreiben,
kommt nu' zwar kein neues Rezept, aber wenigstens ein gutes.
(Ist aus Indien, dann kanns ja nicht neu sein)

                   Mango-Lassi

Fuer 3 Liter nehme man:

2 Mangos
1.5 Liter Milch
800 ml Joghurt (Natur)
600 ml Wasser (Wasserhuhn)
Zucker nach Belieben
1 TL Rosenwasser (gibts in jeder Apofotheke)

Algorithmus:
Mangos schaelen, in kleine Stueckchen zerteilen (Vorsicht, grosser Kern!)
und im Mixer (Stabmixer etc.) sehr gut puerieren.
Puerierte Mangos mit Milch, Joghurt und dem Wasser, Rosenwasser, Zucker
aufmixen und sofort servieren. Ist 'ne Frage des eigenen Geschmacks, ob
man mehr Mango mag oder weniger. Kleiner Tip:

Reife Mangos verwenden, also zwei Wochen vorher einkaufen und zuhause
erst mal liegen lassen. Die Mangokonzentration kann auch durchaus das
zwei oder dreifache des oben beschriebenen sein. Just as you like it.

              *winke winke*      Bergchen Rothorn Caradhras
PS: Weiss jemand ein anstaendiges, geschmacksneutrales Gewuerz, das
    gelbe Farbe ergibt und moeglichst noch gesund ist? Und nicht 5 Mark
    pro Gramm kostet wie Safran.

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



Re: Fuer Yendi: Mango-Lassi (Caradhras, 17. Feb 1999, 16:09:09):
~#! rn=Caradhras rt=919267169 rg=kochrezepte
~#! tid=919267169
Man kann natuerlich auch andere Lassis machen, einfach mal 
ausprobieren. Ich werde es nachher gleich testen.
Und statt dem Wasser kann man auch wieder Milch hernehmen usw.
Einfach mal testen.

            Just try it!       Bergchen Caradhras
PS: Man kann Lassis auch salzig machen... 

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



Re: Fuer Yendi: Mango-Lassi (Acrimon, 18. Feb 1999, 09:21:07):
~#! rn=Caradhras rt=919267169 rg=kochrezepte
~#! tid=919267169
> Weiss jemand ein anstaendiges, geschmacksneutrales Gewuerz, das gelbe Farbe
> ergibt und moeglichst noch gesund ist? Und nicht 5 Mark pro Gramm kostet wie
> Safran.

Kurkuma natuerlich.
Faerbt sehr stark und ist ein relativ mildes Gewuerz, dazu noch billig und
relativ leicht erhaeltlich und sehr gesund.

Acrimon, der Rote Ritter

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



Re: Re: Fuer Yendi: Mango-Lassi (Caradhras, 18. Feb 1999, 17:06:08):
~#! rn=Acrimon rt=919329667 rg=kochrezepte
~#! tid=919267169
                Sorry Babe

Kurkuma naemlich genau nicht, denn schon das hat fuer eine Lassi,
in der jede Nuance des Geschmacks etwas ganz neues ergibt, zu
viel Eigengeschmack. Ich suche etwas mit noch viel weniger
Eigengeschmack. Und ich bin ziemlich sicher, dass ich es nicht
finden werde.

           *wink lieb*     Bergchen Caradhras

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



Re^3: Fuer Yendi: Mango-Lassi (Yendi, 18. Feb 1999, 19:19:42):
~#! rn=Caradhras rt=919357568 rg=kochrezepte
~#! tid=919267169
Speisefarbstoff?

YTY


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



Re: Fuer Yendi: Mango-Lassi (Jasper, 19. Feb 1999, 05:02:42):
~#! rn=Caradhras rt=919267169 rg=kochrezepte
~#! tid=919267169
nimm gelbe wasserfarbe aus nem malkasten :)

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



Re: Fuer Yendi: Mango-Lassi (Hobo, 19. Feb 1999, 08:50:10):
~#! rn=Caradhras rt=919267169 rg=kochrezepte
~#! tid=919267169
Ich dachte immer, die Begriffe "geschmacksneutral" und "Gewuerz" sind
komplementaer?
Naja, ausser man hat irgendwo 15 Jahre altes Curry rumstehen, aber damit
"wuerzt" man dann auch maximal noch einmal...

 Hobo

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



Re: Re: Fuer Yendi: Mango-Lassi (Caradhras, 19. Feb 1999, 21:32:59):
~#! rn=Hobo rt=919414210 rg=kochrezepte
~#! tid=919267169
Der Begriff geschmacksneutral kann auf zwei verschiedene
Arten verwendet werden, liebes Hexschen Hobo:
Einmal in deinem oben aufgefuehrten, naemlich die wirkliche
Neutralitaet des Geschmacks in Bezug auf 'keinen Geschmack'
und einmal die in meinem Sinne als 'den Geschmack nicht
veraendernd, sondern eher unterstuetzend und verstaerkend'.
Geschmacksneutral heisst bei mir also:
Bitte den Mangogeschmack nicht aendern, bei Dir dagegen:
Bitte bei angenommenem neutralen Geschmack den in diesem
Falle nicht aendernd.

       Hope that helps :)
   Bergchen Caradhras - nach Referenzgrossen suchend

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



Re^3: Fuer Yendi: Mango-Lassi (Yendi, 19. Feb 1999, 21:38:18):
~#! rn=Caradhras rt=919459979 rg=kochrezepte
~#! tid=919267169
Glutamat?

YTY


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



Re: Re: Fuer Yendi: Mango-Lassi (Asmodis, 19. Feb 1999, 21:57:28):
~#! rn=Jasper rt=919400562 rg=kochrezepte
~#! tid=919267169
Hmm, ich glaube, Wasserfarbe schmeckt nach Metall, also auch nicht
geschmacksneutral :-)

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



Re^3: Fuer Yendi: Mango-Lassi (Kadabra, 20. Feb 1999, 00:13:50):
~#! rn=Caradhras rt=919459979 rg=kochrezepte
~#! tid=919267169
Ueber Geschmack laest sich nicht streiten
Aeh sachma macht die mango dir das lassi (muss immer Wuff Wuff denken )
nich gelb genug ??
kadabra (in alten hexenrezepten wuehlend)

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



Re^4: Fuer Yendi: Mango-Lassi (Caradhras, 21. Feb 1999, 00:21:17):
~#! rn=Kadabra rt=919469630 rg=kochrezepte
~#! tid=919267169
Noe, machts leider nicht, Kadabra, hoechstens, wenn man die Konzentration
der Mangos ziemlich nach oben pusht, also 2 Mangos auf 1.5 Liter
nimmt. Aber selbst dann wirds nicht so schoen wie beim Inder...
so schoen gelb. *seufz*

           *wink*         der Mangoberg Caradhras

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



Re: Fuer Yendi: Mango-Lassi (Qitess, 23. Feb 1999, 16:44:43):
~#! rn=Caradhras rt=919267169 rg=kochrezepte
~#! tid=919267169
cara, wenn du 5 mark fuer ein gramm safran ausgibst, bist du wirklich bloed.. 
nee aehm, falsche zeit, wenn du es ausgeben wuerdest, warst du wirklich bloed.
so solltes heissen. wenn du jemanden kennst, der nach griechenland oder so
fliegt/faehrt/geht, dann lass dir von da welches mitbringen. gibt es auch
immer gleich in einem schicken, landestypischen tongefaess :)
ansonsten such eine sanfte curry-mischung, die is auch gelbwirksam :)
QI** hat zuhause auch ein ganzes toepfchen safran von kreta

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



Re^4: Fuer Yendi: Mango-Lassi (Acrimon, 23. Feb 1999, 17:25:12):
~#! rn=Yendi rt=919460298 rg=kochrezepte
~#! tid=919267169
Glutamat ist (mehr oder weniger) giftig.
Caradhras hat nach etwas Gesundem gesucht.
Und zur Info fuer die Anderen: Kurkuma ist der Grundstoff der
Curry-Wuerzmischungen, der die gelbe Farbe bietet, aber nicht die Schaerfe,
und ist auszerdem sehr gesund.
Was Besseres weisz ich jedenfalls nicht.

Irgendwo musz Caradhras Abstriche machen - entweder die Mango-Lassi ist von
zweifelhafter Gesundheits-Qualitaet und hat einen ueberzogenen Geschmack
(wegen Glutamat), oder sie hat einen Beigeschmack von Kurkuma, oder sie hat
eine unnatuerliche Farbe (Lebensmittelfarbe), wobei ich die Gesundheits-Werte
von Lebensmittelfarbe nicht kenne (soll ja nicht das Beste sein).
Oder faellt noch jemandem eine andere gesunde, gelb-faerbende Pflanze ein?

Acrimon, der Rote Ritter

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



Re^5: Fuer Yendi: Mango-Lassi (Wurzel, 23. Feb 1999, 20:02:26):
~#! rn=Acrimon rt=919790712 rg=kochrezepte
~#! tid=919267169
ich habe keine probleme mit safran. das zeug ist zwar nicht billig, aber
sehr sparsam, so dass der preis nicht so ins gewicht faellt.

wurzel

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



Fuer Key's Sammlung (Hreidmar,  2. Mar 1999, 15:30:41):
Damit Key das arme Bergchen nicht weiter anquengelt, hier ein sehr
wohlschmeckendes Kartoffelsuppenrezept:

Kartoffelcremesuppe mit Steinpilzen

Zutaten
2 Schalotten
300g Steinpilze
2 EL Butterschmalz
1 Bund Suppengruen
400g Kartoffeln
400ml Pilzfond (aus dem Glas)
100ml trockener Weisswein
Salz, weisser Pfeffer
100ml Sahne
etwas glatte Petersilie zum Garnieren

Zubereitung:

Die Schalotten schaelen und in feine Wuerfel schneiden. Die Steinpilze putzen
und in Scheiben schneiden. Die Schalotten und die Pilze dann in 1 EL heissem
Butterschmalz kurz anbraten.
Das Suppengruen putzen, waschen und kleinschneiden. Einige Porreestreifen
beiseite legen (fuer die Garnitur). Die Kartoffeln schaelen, waschen und in
kleine Wuerfel schneiden. Den Rest Butterschmalz in einem Topf erhitzen, die
Kartoffeln und das Suppengruen darin anduensten und mit weissem Pfeffer
wuerzen. Mit dem Weisswein und dem Pilzfond abloeschen und noch ca. 5 Minuten
duensten.
Das Gemuese und die Kartoffeln mit dem Mixstab fein puerieren und mit Salz und
Pfeffer abschmecken. Die Sahne steif schlagen und unterziehen. Pilze und
Schalotten hinzugeben. Die Suppe servieren und portionsweise mit Petersilie
und Porreestreifen garnieren.

Als Tip: man muss nicht unbedingt frische Pilze nehmen. In Wasser
aufgequollene getrocknete Steinpilze tun's auch.

Hreidmar wuenscht guten Appetit.

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



Re: Fuer Key's Sammlung (Caradhras,  3. Mar 1999, 20:27:32):
~#! rn=Hreidmar rt=920388641 rg=kochrezepte
~#! tid=920388641
Ja, die ist lecker, Hreidmar! Die habe ich mir frueher auch oefters
gemacht. Nur nicht mit so vielen Steinpilzen, wer will denn das
zahlen? Puh... und suchen geht grade so schlecht. :)
Aber falls ihr getrocknete Steinpilze nehmt: Bitte NICHT 300 Gramm.
*grins* Das ist naemlich eine grosse Tuete voll.

     *wink lieb voellig rezeptlos, da 14 h am Tag am lernen*

         Bergchen Caradhras (hat da wer Huegel gesagt??) *knurr*

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



Re^6: Fuer Yendi: Mango-Lassi (Mango, 15. Mar 1999, 19:17:12):
~#! rn=Wurzel rt=919800146 rg=kochrezepte
~#! tid=919267169
Wenn ihr nochmal in meiner abwesenheit so ueber mich herzieht, dann setzt es
was :(

Mango, nicht geschuettelt, nicht geruehrt und nich puerriert!


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



Chicoree-Curry-Suppe (Hreidmar, 16. Mar 1999, 11:45:56):
Da Caradhras in letzter Zeit so wenig hier schreibt, versuche ich mich
nochmal. Hier also das gestern getestet Rezept fuer Chicoree-Curry-Suppe:

Chicoree-Curry-Suppe

Zutaten:

3 Zwiebeln

50 g durchwachsener Speck (gewuerfelt)

1 EL Butter

4 TL Curry

1 kg Chicoree

1 EL Zitronensaft

2 EL Mehl

1 l Instantbruehe

Salz, Pfeffer, Zucker

2 EL Creme fraiche

100 g gekochter Schinken (ohne Fettrand)

1/2 Kaestchen Kresse


Zubereitung:

Zwiebeln schaelen und fein hacken. Die Speckwuerfel in einer Pfanne auslassen,
Butter dazugeben. Die Zwiebeln darin glasig duensten und den Curry
einruehren. Den Chicoree putzen, laengs halbieren, bittere Keile
entfernen. Die Stauden waschen, trockentupfen, in Streifen schneiden und zu
den Zwiebeln geben.

Den Zitronensaft ueber das Gemuese traeufeln und 5 Minuten weitergaren. Mit
dem Mehl bestaeuben und die Bruehe angiessen, ca. 5 Minuten bei milder Hitze
koecheln lassen.

Mit Salz, Pfeffer, Zucker und Creme fraiche abschmecken. Den
gekochten Schinken in feine Streifen schneiden, zufuegen und kurz
erhitzen. Die Suppe auf Teller verteilen. Kresse abschneiden und darueber
streuen. Dazu schmeckt frisches Baguette.

Tip: Die Zwiebeln mit 2 EL Sojasauce abloeschen, statt Zucker Honig verwenden.

Hreidmar wuenscht guten Appetit!

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



Re: Chicoree-Curry-Suppe (Caradhras, 16. Mar 1999, 17:26:46):
~#! rn=Hreidmar rt=921581156 rg=kochrezepte
~#! tid=921581156
Eiiin Kilo Chicoree? *hust* Soooo viel? Mamma mia.
Wenn Du mir ein Semester schenkst, koche ich Dir gerne lauter Rezepte
vor. :) 
         *winke winke*     Bergchen Caradhras

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



Re: Re: Chicoree-Curry-Suppe (Hreidmar, 17. Mar 1999, 10:32:30):
~#! rn=Caradhras rt=921601606 rg=kochrezepte
~#! tid=921581156
Ok, ich gebe ja zu, das 1kg Chicoree auch nicht zu den billigsten Artikeln
gehoert, aber ich habe dafuer auch nicht mehr als...gruebel...rund 7 DM
ausgegeben. Abgesehen davon, wenn schon so wenig totes Tier drin ist: nach
irgendwas muss es ja schmecken, oder? ;-)

Hreidmar

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



Re^3: Chicoree-Curry-Suppe (Key, 17. Mar 1999, 11:22:44):
~#! rn=Hreidmar rt=921663150 rg=kochrezepte
~#! tid=921581156
Also ich geb fuern gutes Essen auch gerne mal ne Mark mehr aus :)
Also ist der Preis fast egal ,) solange es gut schmeckt

Key schiebt Caradhras durchs Diplom(?) :)

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



Re^4: Chicoree-Curry-Suppe (Caradhras, 17. Mar 1999, 12:21:41):
~#! rn=Key rt=921666164 rg=kochrezepte
~#! tid=921581156
Richtich, Key, es ist nur ein Problem, wenn man staendig ne Mark
mehr ausgibt, weil es immer gut schmecken soll. Das gibt dann ein
paar hundert Mark mehr im Monat. Ich kenn das, schon ausprobiert. :)
Und schon arm geworden deshalb.

         datt arme Bergchen Caradhras

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



Re^5: Chicoree-Curry-Suppe (Hreidmar, 17. Mar 1999, 12:35:49):
~#! rn=Caradhras rt=921669701 rg=kochrezepte
~#! tid=921581156
Na gut. Dann halt mal was guenstigeres:

Tortellini in Speck-Sahne-Sauce

Zutaten:

Tortellini (am besten die nicht ganz trockenen)

2 fingerdicke Scheiben durchwachsener Speck 

4 grosse Zwiebeln

2 Knoblauchzehen

500ml Sahne

Salz, Pfeffer, Paprika

Kraeuter (z.B. eine Gewuerzmischung)


Zubereitung:

Den Speck in feine Wuerfel schneiden. Die Zwiebeln und die Knoblauchzehen
schaelen und ebenfalls fein wuerfeln. Die Speckwuerfel mit etwas Oel anbraten
und die Zwiebeln hinzugeben. Nachdem die Zwiebeln glasig geworden sind, mit
der Sahne abloeschen, mit Salz, Pfeffer, Knoblauch, Paprika und Kraeutern
abschmecken. Noch ungefaehr 15 Minuten einkochen lassen, bis die Sauce schon
saehmig ist. Fettich!

So besser? ;-)

Hreidmar

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



Re^6: Chicoree-Curry-Suppe (Caradhras, 17. Mar 1999, 13:05:41):
~#! rn=Hreidmar rt=921670549 rg=kochrezepte
~#! tid=921581156
Suppa. Jetzt fehlt nur noch jemand, der das Zeugs von gestern abend
bei mir abspuelt, ich bin naemlich um 3 ins Bett und nach 5 Stunden
wieder aufgestanden. Naechstes Rezept fuer Biertrinker:

Goassmoass:


1 Masskrug, dort eine Halbe Starkbier einfuellen, ein halber Liter
Cola drauf (Vorsicht, schaeumt :) und dann noch zwei Stamperl...
aeh, wie heisst das im Norden? Keine Ahnung, also 4 cl Kirschlikoer
dazu. Und sueffeln. :-) Schwer! lecker das ganze.

     Bergchen Caradhras - Biertrinker, Weintrinker, Milchtrinker,
                          Safttrinker, Allestrinker

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



Re^7: Chicoree-Curry-Suppe (Hreidmar, 17. Mar 1999, 13:56:16):
~#! rn=Caradhras rt=921672341 rg=kochrezepte
~#! tid=921581156
Hmm, also beim Spuelen kann ich dir leider nicht helfen, ausser es findet sich
noch ein faehiger Magier, der ein "remote-abspuelen" programmiert. ;-)

Und das Bierrezept hoert sich gefaehrlich an.

Hreidmar, etwas von "Wer Schnaps trinkt, zuendet auch Haeuser an." murmelnd.

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



Re^8: Chicoree-Curry-Suppe (Ronda, 17. Mar 1999, 21:22:41):
~#! rn=Hreidmar rt=921675376 rg=kochrezepte
~#! tid=921581156
Sorry, aber Dein Bierrezept klingt eher nach Spuelwasser :(

Ronda
*steht mehr auf Bier pur oder Cola pur - aber nicht mischen :(*

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



Re^7: Chicoree-Curry-Suppe (Asmodis, 18. Mar 1999, 04:56:27):
~#! rn=Caradhras rt=921672341 rg=kochrezepte
~#! tid=921581156
Erinnert mich an ein Bier-Cola-Whiskey-Mix, den ich mal zu mir genommen
habe. Nunja, man ueberlebt auch sowas ...

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



Re^8: Chicoree-Curry-Suppe (Caradhras, 18. Mar 1999, 12:05:26):
~#! rn=Asmodis rt=921729387 rg=kochrezepte
~#! tid=921581156
Pah, ihr wisst ja nicht, was gut ist. Ich haette auch gedacht:
So etwas graussliches, wie kann man das nur trinken, das sind 
ja perverse.
Aber seit ich es ein zweites Mal probiert habe... *schleck*
Lecker. Lechz. Naechste Woche gibts ein neues Rezept, und zwar
mit Garnelen und ... Mango. *grins Mango* Aus dem Wok und aus
... aeh oder aus der Pfanne.

          *wink lieb und herzig*    Bergchen Caradhras

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



Re^9: Chicoree-Curry-Suppe (Jimdigriz, 18. Mar 1999, 16:35:38):
~#! rn=Caradhras rt=921755126 rg=kochrezepte
~#! tid=921581156
Huhu,

Ich gehoere ja nun auch eher zu den Bierpuristen
und Cola-Hassern. Aber einer Goassn-Mass kann
selbst ich einiges abgewinnen, trotz Papp-Suess
und stark. 
Hat einfach auch was kultiges, und gibt
nen relaxten Rausch (und auch kein Kopfweh
zumindest bei mir ned ;-))

*prost*,
 Jim DiGriz

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



Re^9: Chicoree-Curry-Suppe (Asmodis, 22. Mar 1999, 00:33:22):
~#! rn=Caradhras rt=921755126 rg=kochrezepte
~#! tid=921581156
Hmm, wie passt Mango in die Pfanne ? vorher durch den Fleischwolf gedreht ?
:-)

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



bayrischer spargel (Wurzel,  8. Mai 1999, 22:14:28):
manch einer kann sich sicherlich noch an die spargeldiskussionen der
letzten jahre erinnern. ich habe jetzt mal die gelegenheit genutzt, einige
proben des bayrischen spargels zu untersuchen, wobei ich als methode der
untersuchung die einfachste gewaehlt habe: essen. mehr zur methode weiter
unten, vorab erstmal das zwischenergebnis: durchwachsen. es ist wohl mit
spargel so, dass er stark lagenabhaengig ist, vergleichbar mit wein etwa.
und siehe da, nach drei oder vier versuchen kann man herausfinden, dass es
durchaus essbaren bis sehr guten spargel in bayern gibt, der sogar mit
dem suedhessischen gewaechs verglichen werden kann.

genug gelabert, hier das rezept:

1 kg frischer spargel (aus poersbach oder so aehnlich)
400 g frische entenleber
200 g steinpilze (importiert, haben in deutschland wohl gerade nicht saison)
kartoffeln (habe ich nicht gewogen, je nach hunger)
butter, thymian, knoblauch, salz, pfeffer, butterschmalz

spargel schaelen, enden abschneiden (nicht die koepfe, das andere ende!).
kartoffeln schaelen. leber waschen und abtupfen, pfeffern. pilze waschen,
putzen und kleinschneiden.

spargel in einem topf mit salzwasser (mit einer kleinen prise zucker, das
rundet etwas geschmacklich ab) kochen. kartoffeln kochen (ohne zucker, mit
salz).
die entenleber in etwas butterschmalz anbraten bei kleiner hitze. pilze in
butter anbraten, pfeffern. butter mit dem thymian und knoblauch zerlassen.

das ergebnis auf teller haeufen, essen.

bei dem thema "leber" hoere ich oft, dass viele leute sie nicht moegen. wenn
man nachfragt, liegt es meistens daran, dass sie falsch zubereitet wird. wer
glaubt, dass man leber braten kann wie ein steak, braucht sich nicht zu
wundern, wenn das ergebnis mehr "leder" als "leber" ist... hier gilt eben:
in der ruhe liegt die kraft. langsam braten, bei geringer hitze. und wie
immer bei fleisch: erst hinterher salzen, sonst trocknet es aus.

die menge oben ist uebrigens fuer zwei hungrige oder drei bis vier normale
esser geeignet :)

wurzel                          

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



Re: bayrischer spargel (Grimman,  9. Mai 1999, 17:39:32):
~#! rn=Wurzel rt=926194468 rg=kochrezepte
~#! tid=926194468
Der einzig wahre Spargel aus Deutschland kommt aus Beelitz

GrimMan , weiss das halt

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



Re: Re: bayrischer spargel (Grimmborn,  9. Mai 1999, 18:54:43):
~#! rn=Grimman rt=926264372 rg=kochrezepte
~#! tid=926194468
Deine Kenntnisse von Geographie sind ziemlich peinlich.

Grimmborn der Atheist summt "von der Maas bis an die Memel..."

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



Re^3: bayrischer spargel (Grimman,  9. Mai 1999, 18:56:11):
~#! rn=Grimmborn rt=926268883 rg=kochrezepte
~#! tid=926194468
Nagut,trotzdem ist der Beelitzer Spargel besser als alle moechtegern
Bodenstangen aus Bayern!

GrimMan

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



Re^3: bayrischer spargel (Gnome,  9. Mai 1999, 20:34:57):
~#! rn=Grimmborn rt=926268883 rg=kochrezepte
~#! tid=926194468
nein, grimmi.
ueber deine mangelnden kenntnisse der feinen kueche wuerd ich mir eher
sorgen machen... sofern du da einen wert drauf legst.

der beste spargel kommt tatsaechlich aus beelitz und umland.

gnOme

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



Re^4: bayrischer spargel (Grimmborn, 10. Mai 1999, 00:06:05):
~#! rn=Gnome rt=926274897 rg=kochrezepte
~#! tid=926194468
Ist Dir nicht mal aufgefallen, dass jede Region ihr Gebiet hat, wo der "einzig
wahre Spargel" herkommt? Wenn ich jetzt sage, der einzig wahre Spargel kommt
aus Alfter im Vorgebirge, koenntest Du da sicher widersprechen weil Du
Alfterer und Beelitzer Spargel vergleichend gegessen hast? Ich denke nicht.
Insofern ist Deine Beurteilung nicht die Elektronen wert aus denen sie
besteht. Weil es naemlich Bullenscheisse ist, absolute Urteile ueber Dinge
abzugeben, die man nicht vollstaendig kennt.

Ach ja, und meine Kenntnisse von feiner Kueche (aktiv und passiv) sind so
schrecklich mangelnd auch wieder nicht.

Grimmborn der Atheist

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



Re^5: bayrischer spargel (Caradhras, 10. Mai 1999, 08:50:45):
~#! rn=Grimmborn rt=926287565 rg=kochrezepte
~#! tid=926194468
Hey, der beste Spargel kommt aus Griechenland! Von Aldi. Fuer 2 Mark 29.
Am besten naemlich fuer meinen Geldbeutel. Mehr kann er sich nicht
leisten. Heiss ja nich' Wurzel. *grins*

Bei der Definition von 'bestem' kommt es also immer noch auf die
persoenlichen Praeferenzen an, nicht vergessen.

    WirtschaftsBergchen Caradhras - mit grausamer Budgetrestriktion

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



Re^6: bayrischer spargel (Grimman, 10. Mai 1999, 15:56:20):
~#! rn=Caradhras rt=926319045 rg=kochrezepte
~#! tid=926194468
Hmmmmm ... GnOme:genau das sag ich doch ...
Besser so ?

GrimMan , hat auch nen Plan vom Futtern ;)

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



Re^6: bayrischer spargel (Wurzel, 10. Mai 1999, 21:26:43):
~#! rn=Caradhras rt=926319045 rg=kochrezepte
~#! tid=926194468
es gibt gewisse grenzen.
vor kurzem war ich zum spargelessen eingeladen, und dort gab es aldispargel
aus griechenland. sowas kann das ende einer freundschaft bedeuten... das
grenzt ja schon an koerperverletzung mit vorsatz.
these: wer mudden kann, hat auch genug geld fuer ordentlichen spargel. es
gibt ja auch schon fuer relativ wenig geld guten stoff. es muss nicht immer
der fuer 25 mark sein. und wenn es ganz schlimm kommt mit der geldboerse,
kann man immer noch selber stechen gehen (zur not auch nachts :)

wurzel (bei spargel keine kompromisse!)

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



Re^7: bayrischer spargel (Jasper, 11. Mai 1999, 04:50:52):
~#! rn=Wurzel rt=926364403 rg=kochrezepte
~#! tid=926194468
wenn man kochen kann, und vor allem ne ordentliche sosse, dann schmeckt
spargel, egal wo er herkommt. zumindest zur jetzigen jahreszeit.

jasper laesst sich den spargel aus belgien fuer 5dm/kilo mitbringen,
       was nicht heissen soll dass der dann besser als der spargel ausm
       aldi ist :)

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



Re^7: bayrischer spargel (Apsu, 11. Mai 1999, 09:49:51):
~#! rn=Wurzel rt=926364403 rg=kochrezepte
~#! tid=926194468
Oder man hat nen notorischen Schuldner mit Spargelfeld, der nicht blechen
will. Da kostets nur Taschenlampenbatterien 

Grins, Apsu

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



Re^6: bayrischer spargel (Kartoffel, 11. Mai 1999, 21:28:00):
~#! rn=Caradhras rt=926319045 rg=kochrezepte
~#! tid=926194468
Jo, der is voellig in Ordnung, gabs heut abend auch bei uns ...

'Toffel - laesst sich aber auch gerne von ihren Eltern "richtigen" deutschen
Spargel vom Bauern im Nachbarort mitbringen ;)

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



Kaesesuppe (Caradhras, 12. Mai 1999, 20:55:01):
                 Halloeli

Wer etwas einfaches, schnelles und kalorienreiches will,
kann folgendes mal versuchen:

         Unlust-Kaesesuppe      /* Unlust auf kochen */

Man braucht (fragt mich nicht fuer wieviel Portionen, duerfte
3/4 einer Tagesration fuer mich sein, also 8 Portionen):

zwei grosse Zwiebeln
zwei Knoblauchzehen
zwei kleine Paprika (rot und gruen ist huebsch)
400 g Champignons
400 g Hackfleisch (bei mir nur Schwein)
2 Paeckchen Schmelzkaese (Sahne, Schinken oder Kraeuter passt gut)
  a 150 Gramm
300 ml Sahne
Leitungswasser
Koernerbruehe (Gemuese-)
Salz
Pfeffer
etwas zum nachschaerfen (bisschen Tabasco, Cayennepfeffer, Chilis,
                         Daves Insanity Sauce...)
3 EL Olivenoel
20 Minuten Zeit

Zwiebeln einigermassen kleinschnippseln, in Oel anbraten, Pilze
in Scheiben schneiden (vorher waschen), auch rein, genauso mit
den Paprika. Nach 5 Minuten Hackfleisch zugeben, nochmal 5 Minuten
mit anbraten. Knoblauchzehen kleingeschnitten zugeben, mit Sahne
abloeschen und Schmelzkaese in einigermassen kleinen Portionen
hineinruehren. Mit Wasser aufgiessen (vielleicht 0.5 Liter oder
0.7 Liter) und fuer 500 ml Fluessigkeit Koernerbruehe zugeben.
Aufkochen lassen, salzen, pfeffern, anschaerfen.

Dazu passend: Baguette/Weissbrot mit:

200 Gramm Butter
1/2 Bund Petersilie
1/2 Bund Schnittlauch
Gewuerzsalz

Butter warm werden lassen, Petersilie und Schnittlauch sehr
fein schneiden und mit der Butter verruehren. Gut salzen.
Wieder fest werden lassen und auf Baguette schmieren.

       In einer Stunde esse ich das. :-)

            Mahlzeit!      Bergchen Caradhras

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



Re: Kaesesuppe (Kartoffel, 14. Mai 1999, 09:46:52):
~#! rn=Caradhras rt=926535301 rg=kochrezepte
~#! tid=926535301
So was aehnliches kenn ich auch, allerdings nehm ich Lauch anstelle des
Gemueses und der wird dann puerriert in der Suppe (das angebratene Hack dann
natuerlich erst _nach_ dem Puerieren drantun ;) )

'Toffel

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



coq au vin (Juan, 29. Mai 1999, 10:05:52):
Hilfe!!!!!!
ich suche dringend ein gescheites coq au vin rezept, so mit speck, pilzen etc.
Falls jemand von euch weiss wo man sowas kriegen kann, bzw ein ueber hat dann
bitte mailt es mir.
danke

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



juan (Teasel, 29. Mai 1999, 17:16:59):
Hi Juan....
Hi Juan....
Ich habs mal nach folgendem Rezept gekocht:
Ich habs mal nach folgendem Rezept gekocht:
2 Haehnchen
2 EL Oel
2 gewuerfelte zweibeln
4 moehren
3 EL Mehl
3/4 liter Rotwein
1 Petersilienblatt, geschn.
1 Lorbeerblatt
20-30 kleine Zwiebeln
1 EL Butter
1 EL Zucker
50 gr durchwachsener Speck
250 g Champignons
2 EL Petersilie gehackt
2 EL Petersilie gehackt
Haehnchen in Portionsstuecke teilen und in oel anbraten bis sich Bratensatz
gebildet hat
Zwiebeln und eine grob geschnittene Moehre dazugeben, 3 Min braun braten, mit
Mehl bestaeuben, Rotwein zugiessen.
Petersilienblatt, Lorbeer beigeben, mit salz wuerzen, 20 min bei mittl
Temperatur schmoren lassen
Mhren in stuecke schneiden, mit den kl. zwiebeln in Butter und oel auf
hoechster Stufe 2 Min anbraten, mit Zucker, salz und pfeffer wuerzen, mit 4 EL
Wasser 4 Min duensten
Speckwuerfel und Champignons anbraten (2 min)
Fleisch nach 20 Min herausnehmen, Sauce durch Sieb giessen, Gemuese mit
Loeffel zerdruecken, mit Salz und pfeffer wuerzen und wieder zu fleisch in
topf geben
alles andere darauf geben, ca 15 kochen bei mittl Hitze
alles andere darauf geben, ca 15 kochen bei mittl Hitze
Mit Petersilie bestreuen
Mit Petersilie bestreuen
Ich hoffe das hilft dir weiter, bei meinen Gaesten hats jedenfalls anklang
gefunden.
Ich hoffe das hilft dir weiter, bei meinen Gaesten hats jedenfalls anklang
gefunden.
Guten Appetit
Guten Appetit
Teasel

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



danke (Juan, 30. Mai 1999, 06:42:27):
Danke!!!!
hoert sich ganz nach dem rezept an, dass ich gesucht habe.
Gruss
Juan, der nun sich unverzueglich in die kueche begibt

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



fruehstueck (Wurzel,  8. Aug 1999, 10:10:46):
fruehstueck ist immer so eine sache. heute lag da so ein kuerbis, und ich
banause hab natuerlich keine ahnung, was man mit so einem teil anfaengt.
aber immer nur spiegeleier und speck sind auf die dauer auch langweilig...
also gut, mal was ausprobieren. das ergebnis vorweg: war sehr lecker :)

ein mittelgrosser kuerbis
vier eier
pfeffer, salz, thymian
olivenoel

den kuerbis schaelen, kerne entfernen, in stuecke schneiden.
in einer kuechenmaschine (geht bestimmt auch anders, wenn man keine hat)
fein zerkleinern, eier dazu und durchquirlen. pfeffer reinmahlen, salz und
thymian dazu, nochmal durchruehren.
in einer pfanne (am besten beschichtet) olivenoel erhitzen.
die kuerbis-eier-masse zu kleinen pfannkuchen backen (geht im prinzip genau
wie kartoffelpuffer: wenn der rand braun geworden ist, wenden. aber
vorsichtig,
das zeug ist recht weich).

vielleicht sollte man ahornsirup dazu tun, hatte ich aber nicht da. auf jeden
fall werd ich aber mal testen, was man mit kuerbissen noch so alles machen
kann... wenn es wieder ein positives ergebnis bringt, werdet ihr es hier
finden :)

wurzel

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



Re: fruehstueck (Wurzel,  8. Aug 1999, 11:47:50):
~#! rn=Wurzel rt=934107046 rg=kochrezepte
~#! tid=934107046
ach so, die menge reicht fuer zwei. falls sich jemand ueber die vier eier
wundert :) bei kleinen kuerbissen mag das anders sein, aber dann sollten es
auch weniger eier sein
probiert es einfach mal aus, lohnt sich.

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



Re: Re: fruehstueck (Gnome, 11. Aug 1999, 14:54:24):
~#! rn=Wurzel rt=934112870 rg=kochrezepte
~#! tid=934107046
kuerbissuppe, bzw. kuerbis-kartoffel-suppe schmeckt absolut himmlisch,
jedenfalls wenns meine mutter macht. :)
rezept leider nicht zur hand, aber demnaechst mal in dieser rubrik.

gnOme

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



Re^3: fruehstueck (Yaren, 12. Aug 1999, 13:23:40):
~#! rn=Gnome rt=934383264 rg=kochrezepte
~#! tid=934107046
kuerbissuppe ja, aber es muss eine scharfe sein, so mit sechuan-pfeffer und
chili-schoten *schleck* :-)

yaren

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



Re^4: fruehstueck (Wurzel, 12. Aug 1999, 17:30:36):
~#! rn=Yaren rt=934464220 rg=kochrezepte
~#! tid=934107046
hoert sich an, als waer das was fuer mich :)
wo ist das rezept? her damit ...

wurzel

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



Re^5: fruehstueck (Grimmborn, 12. Aug 1999, 22:14:50):
~#! rn=Wurzel rt=934479036 rg=kochrezepte
~#! tid=934107046
Du brauchst Kuerbis und Kartoffeln (etwa halbe-halbe) und etwas Wasser. Salz.
Kuerbis und Kartoffeln im Salzwasser kochen. Puerieren. Nach Geschmack Chilli
rein (ich hab da so puerierte Chillis aus dem Glas, aber das geht sicher auch
anders). Mit Sahne abloesc^Wabschmecken. Essen.

Kindereinfach und lecker.

Grimmborn der Atheist

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



Resteessen ;) (Mesirii, 12. Aug 1999, 22:20:36):
Noch was schnelles:

z.b. als Aufstrich fuer Fladenbrot (lecker)
oder als Sosse fuer Pasta

Zutaten:
Champis (frisch oder Dose)
1 Aubergine
1/2 Feta (kann auch nachgemachter sein)
2-3 Tomaten
Zwiebeln, Knoblauch
Salz, Pfeffer, Kraeuter d. Provence, Basilikum
1 Pfanne
1 Puerierstab

Zwiebeln, Knoblauch kleinmachen, in Pfanne anschwitzen
dann Champis dazu
in der Zwischenzeit Aubergine wuerfeln und dann auch dran

solange einkochen lassen bis die Fluessigkeit fast alle ist

Feta kleinschnippeln und rein, wuerzen

und dann alles mit dem Puerierstab zu Mus verarbeiten

fertig

ca. 20 Minuten

ist lecker und macht satt (Wurzel und Cara* die doppelte Menge ;)

Mesi

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



Zur Feier des Tages... (Caradhras, 12. Dez 1999, 21:24:36):
Huhu

Mal wieder ein kleines (natuerlich selbstprobiertes) Rezept:

Mandelparfait

Man benoetigt:
4 kleine Foermchen (ca. 100 ml je)
80 bis 100 g Zucker
40 bis 50 g gehackte, in Scheiben geschnittene oder wie auch immer
                      geartete Mandeln
3 Eigelb
10 ml Zitronensaft
1 TK-Paeckchen gemischte Beeren (salto oder so was)
200 g Schlachsahne

50 Gramm Zucker in Pfanne karamelisieren lassen (etwa auf Stufe
1 bis 1.5 von 3 ist das), dann die Mandeln noch etwas feiner
hacken, 3/4 davon mit in die Pfanne geben, wenn der Zucker
karamelisiert ist, unterruehren. Wenn es hellbraun ist, 
schnell! aus der Pfanne auf Backpapier geben, mit Loeffel
glattstreichen, abkuehlen lassen. 

3 Eigelb, restlichen Zucker und den Zitronensaft verruehren,
ueber Wasserbad zu einer Creme aufschlagen, dann kaltruehren.
Abgekuehltes Caramel zerbroeckeln (klein!), in die Eiercreme
geben, die Sahne schlagen, darunterheben.

Die Foermchen kurz mit kaltem Wasser ausspuelen, in die leicht
feuchten Foermchen die Creme verteilen und 4 Stunden in das
Tiefkuehlfach.

So lange die Beeren auftauen lassen, mit einem Stabmixer puerieren
und etwas Zucker dazugeben (1 bis 2 EL, je nachdem, ob ihr's sauer
moegt). In einer kleinen Pfanne etwas Butter (oh, vergessen im Rezept)
zerlaufen lassen (10 bis 15 Gramm reichen), darin die restlichen Mandeln
braeunen und dann die gestuerzten Foermchen (quatsch, der Inhalt derselben)
auf einem Teller mit der Beerensauce und etwas Mandeln servieren.

Mahlzeit. Und hat KAUM Kalorien. :)

          Bergchen Caradhras - wie immer hungrig
PS: Was macht ihr eigentlich mit dem Eiweiss, das uebrig ist?
    Jemand da noch ein paar Tipps?

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



Kekse (Groo, 12. Dez 1999, 23:00:42):
Schokoladenkekse
Teig: 140 g Butter mit 50 g Puderzucker verrhren. 20 g Kakao, 1/2 EL Espresso
und 20 g zartbitter
Raspelschokolade darunterrhren. Mit nassen Hnden haselnugroe Kugeln formen,
auf ein mit Backpapier
ausgelegtes Blech setzen und die Kugeln mit einer bemehlten Gabel flach
drcken. Bei 175 Grad 8-10
Minuten backen. Auskhlen lassen. Gu: 200 g kuvertre hacken und im Wasserbad
erhitzen. Pltzchen zur
Hlfte eintauchen. Trocknen lassen. (40 Stck.)
 
Zimtbllchen
3 Eiwei steif schlagen. 250 g Puderzucker und 1 Pckchen Vanillezucker
einrieseln lassen, dabei stndig
weiter rhren. Ca. 4 EL vom Eischnee beiseite stellen. Zimt  und 300 g gehackte
Haselnsse unter die
restliche Masseheben. Mit nassen Hnden walnussgroe Kugeln formen. Auf ein
Backblech setzen und mit
einem Holzlffelstiel eine Vertiefung in die mitte drcken. Bllchen mit
restlichem Eischnee bestreichen und
jeweils eine ganze Haslnuss daraufsetzen. Bei 125 Grad ca. 25 - 30 minuten
backen. (etwa 50 Stck.)

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



Re: Zur Feier des Tages... (Wurzel, 15. Dez 1999, 17:46:43):
~#! rn=Caradhras rt=945030276 rg=kochrezepte
~#! tid=945030276
kaum kalorien? wenn ich das lese, frage ich mich ob ausser kalorien noch was
anderes dran ist... 

wurzel

p.s. uebrig gebliebenes eiweiss werfe ich weg.

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



Re: Zur Feier des Tages... (Yendi, 16. Dez 1999, 15:06:43):
~#! rn=Caradhras rt=945030276 rg=kochrezepte
~#! tid=945030276
Aus uebriggebliebenem Eiweiss kann man wunderbar Kokosmakronen machen...

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



Re: Re: Zur Feier des Tages... (Jasper, 16. Dez 1999, 20:50:40):
~#! rn=Jasper rt=945367698 rg=kochrezepte
~#! tid=945030276
alternativ kannst du dir auch den hund anschaffen und ihm/ihr das eiweiss in
den futternapf kippen, was besseres faellt mir damit auch nie ein.
PS: wenn du das eiweiss an nen hund verfuetterst solltest du es vorher etwas
aufschlagen, sonst ziehen sich die faeden vom bart des hundes durch die ganze
wohnung 

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



Re: Kekse (Caradhras, 16. Dez 1999, 21:41:11):
~#! rn=Groo rt=945036042 rg=kochrezepte
~#! tid=945036042
Gute Idee mit den Plaetzchen.
Ganz vergessen, dass schon Weihnachten ist.

Jo, Wurzel, das hat wenich Kalorien, normalerweise hat, was ich
mache, mehr Kalorien. Jaja, ich weiss, ungesund, aber dafuer
gut. 
/ignoriere jesper :)

           Bergchen Caradhras - macht naechste Woche Plaetzle

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



spargel... (Wurzel, 28. Apr 2000, 22:09:14):
es gibt zwar schlimmeres als bayrischen spargel, aber so ganz ist er das
dann doch nicht. mit anderen worten: weiss jemand, wie man das zeug so
hinbekommt, wie richtiger spargel aus dem griesheimer sand schmeckt?

wurzel

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



Re: spargel... (Trance, 29. Apr 2000, 12:45:02):
~#! rn=Wurzel rt=956952554 rg=kochrezepte
~#! tid=956952554

Ahh, der alljaehrleiche Spargelflamewar!

So langsam muesste sich doch auch ins tiefste bayern rumgesprochen haben, das
der einzig wahre Spargel im Hanuaerland in der Ortenau waechst. Wers nicht
glauben mag, soll mal in die Blume in Auenheim gehn. Ich geh dann gern mit!

Gruss, Trance, keine Spargelfetischistin ;)

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



Re: Re: spargel... (Liara, 29. Apr 2000, 13:54:24):
~#! rn=Trance rt=957005102 rg=kochrezepte
~#! tid=956952554
Der einzig wahre Deutsche Spargel kommt natuerlich aus BORNHEIM.

Liara, Zwergenzauberine ... und wer Spargel nicht selber zubereitet, sondern
Essen geht, hat eh keine Ahnung ;-)

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



Re^3: spargel... (Ronda,  1. Mai 2000, 15:58:25):
~#! rn=Liara rt=957009264 rg=kochrezepte
~#! tid=956952554
Ok, ok, geht klar... wer macht mit?
Da sich da ja einige fuer die einzig wahren Spargel-Kocher halten: wer mag mit
Spargeltester machen und einmal quer durch (MG)-Deutschland fahren, um sich
bei all den Spitzenkoechen einmal durchzufre... oehm... durchzutesten?

Ronda *laeuft allein bei dem Gedanken schon das (Spargel)-Wasser im Mud
zusammen*

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



Re^4: spargel... (Leibniz,  1. Mai 2000, 19:06:12):
~#! rn=Ronda rt=957189505 rg=kochrezepte
~#! tid=956952554
ichichichich

leibi schmatzt schon

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



Re: Re: spargel... (Catweazle,  4. Mai 2000, 00:24:09):
~#! rn=Trance rt=957005102 rg=kochrezepte
~#! tid=956952554
Spargelflamewar? Alljaehrlich?

Faszinierend, was es so alles gibt. Koennt ich Euch nicht um ein paar
sinnvolle Dinge schlagen? Betriewbssysteme zum Beispiel. Oder Editoren. 

YTC

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



Re: Re: spargel... (Iscariat,  4. Mai 2000, 00:27:31):
~#! rn=Trance rt=957005102 rg=kochrezepte
~#! tid=956952554

Ich moechte freundlichst daraufhinweisen, das der einzig wahre Spargel von der
Wildeshauser Geest stammt.

Mit freundlichem Gruss
Iscariat

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



Re^3: spargel... (Yendi,  4. Mai 2000, 11:01:45):
~#! rn=Catweazle rt=957392649 rg=kochrezepte
~#! tid=956952554
Was gibt es ueber Betriebssysteme schon zu sagen?
WindowsXX ist Standard und Optimum.

Yendi


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



Re^4: spargel... (Zarniya,  4. Mai 2000, 11:02:27):
~#! rn=Yendi rt=957430905 rg=kochrezepte
~#! tid=956952554
du meinst Opium, oder?

Marc

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



Re^4: spargel... (Karis,  4. Mai 2000, 11:03:27):
~#! rn=Yendi rt=957430905 rg=kochrezepte
~#! tid=956952554
Das XWindows standard und Optimum ist, ist klar.
Bisher unbekannt war mir, dass das schon als Betriebssystem laeuft ;)

Karis, kennt sich da total aus ;)

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



Re^4: spargel... (Hobo,  4. Mai 2000, 11:05:35):
~#! rn=Yendi rt=957430905 rg=kochrezepte
~#! tid=956952554
Spargel, Spargel *mjam*

Mir aellt da grad so halbwegs ein Rezept ein, das wirklich lecker war.
Man nehme Spargel (weissen), ein halbes Brot (Ober- oder Unterseite, nicht
links/rechts), Sauce hollondaise mit Kerbel und einen Ofen.
Fuelle das ausgehoehlte Brot mit den Spargelstangen (sauber und gekocht),
uebergiesse das Ganze mit Sauce und lasse es im Backofen (angestellt!), bis
die Sauce leicht angebraeunt ist.

->*
schmatz
*

   Hobo

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



Re^4: spargel... (Apsu,  4. Mai 2000, 15:41:10):
~#! rn=Yendi rt=957430905 rg=kochrezepte
~#! tid=956952554
>WindowsXX ist Standard und Optimum.
                            ^^^^^^^

typo Optimum sollte wohl Opium heissen.

Apsu ;-)

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



Re^3: spargel... (Wurzel,  4. Mai 2000, 23:25:06):
~#! rn=Catweazle rt=957392649 rg=kochrezepte
~#! tid=956952554
betriebssysteme? editoren? quatsch. spargel hat wenigstens eine gewisse
wichtigkeit. und wer sich einmal wirklich die muehe gemacht hat, die
spargelregionen abzufressen, weiss dass die unterschiede relevant sind (und
deutlich groesser als beispielsweise zwischen windoof und linux). essen ist
kultur! und spargel wird es auch noch in hundert jahren geben, wenn kein
mensch mehr windoof kennt.

wurzel

p.s. kennt eigentlich noch jemand das einzige wirklich lustige betriebssystem?
     bevor jemand fragt: cp/m natuerlich :)

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



Re^4: spargel... (Liara, 14. Mai 2000, 14:07:40):
~#! rn=Wurzel rt=957475506 rg=kochrezepte
~#! tid=956952554
Ach ja, ganz vergessen ... *g*

Spargelschaeler und Spargelkochtoepfe sind was fuer Weicheier. ;-)

Liara, Zwergenzauberine

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



Re^5: spargel... (Trance, 14. Mai 2000, 19:21:31):
~#! rn=Liara rt=958306060 rg=kochrezepte
~#! tid=956952554
Genau. Ist "Spargelschaelerbenutzer" schon auf der Weicheier-Synonymliste?

Trance.

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



Re^6: spargel... (Wurzel, 14. Mai 2000, 23:19:44):
~#! rn=Trance rt=958324891 rg=kochrezepte
~#! tid=956952554
ist es, jedenfalls auf der liste die ich gesehen hab :)
trotzdem werden spargel in einem entsprechenden spargeltopf besser. und mit
einem spargelschaeler laesst sich auch schneller ein gutes ergebnis
erzielen.

wurzel duscht auch warm :)

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



Re^7: spargel... (Hobo, 15. Mai 2000, 08:31:22):
~#! rn=Wurzel rt=958339184 rg=kochrezepte
~#! tid=956952554
Es gibt uebrigens auch Spargelschaelmaschinen - mit lasergesteuerten Messern.

  Hobo - hat mal wieder fern gesehen

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



Re^8: spargel... (Wurzel, 15. Mai 2000, 21:12:08):
~#! rn=Hobo rt=958372282 rg=kochrezepte
~#! tid=956952554
hm, DAS ist nun wirklich dekadent :)
wo gibts die?

wurzel

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



Re^9: spargel... (Hobo, 16. Mai 2000, 08:38:25):
~#! rn=Wurzel rt=958417928 rg=kochrezepte
~#! tid=956952554
Hmm, bei so nem Pfaelzer (wo auch sonst) Bauern auf dem Hof.
Der verkauft seinen Spargel gleich im Laden und hat sich so ein Maschinchen
fuer 40 TDM (wenn ich's noch richtig weiss) hingestellt.
Also eher nix fuer die kleine Kueche ;)

   Hobo

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



Re^8: spargel... (Yendi, 16. Mai 2000, 10:54:57):
~#! rn=Hobo rt=958372282 rg=kochrezepte
~#! tid=956952554
Artikel in der heutigen TAZ: 50,- DM fuer ein huebsches kleines
Spargelschaelautomatchen mit freischwingenden, sich der Form der Stange
automagisch anpassenden Messern.
Soll sehr schnell, effizient und elegant arbeiten.
Weitere Ausbausaetze fuer Moehren, Gurgen etc. sind in Arbeit.


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



Re^9: spargel... (Wurzel, 16. Mai 2000, 22:13:18):
~#! rn=Yendi rt=958467297 rg=kochrezepte
~#! tid=956952554
ist das teil denn auch lasergesteuert? wenn schon dekadent, dann richtig :)

wurzel

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



Re^10: spargel... (Apsu, 17. Mai 2000, 19:58:02):
~#! rn=Wurzel rt=958507998 rg=kochrezepte
~#! tid=956952554
Und wo bleibt bei dem Lasergesteuerten Spargelschaeler der eingebaute
Whirlpool? 

Apsu, schwitzend

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



Tortillas ? (Njala, 16. Nov 2000, 13:57:35):
Heyla, 

Gibt es hier einen Gluecklichen, der ein Rezept dafuer hat, Tortillas selbst
herzustellen ? Moeglichst aus Maismehl. 
Mir ist schon klar, dass man die Dinger fertig kaufen kann, aber ich liebe die
Herausforderung. 

   Njala

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



Re: Tortillas ? (Sand, 16. Nov 2000, 21:37:05):
~#! rn=Njala rt=974379455 rg=kochrezepte
~#! tid=974379455
http://kochbuch.unix-ag.uni-kl.de/ Dann Stichwortsuche, dort nach
Tortillas suchen.
HTH, Sand

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



Re: Tortillas ? (Wurzel, 16. Nov 2000, 21:38:46):
~#! rn=Njala rt=974379455 rg=kochrezepte
~#! tid=974379455
ist recht einfach...

500 g masa harina (maismehl)
300 ml wasser
1 tl salz

zutaten zu einem teig vermischen und kneten. wenn es klebt, mehr masa harina
nehmen, wenn es staubt, mehr wasser. ordentlich durchkneten.
aus dem teig kleine portionen abnehmen, zu kugeln formen. wenn du eine
tortillapresse besitzt: jetzt ist der zeitpunkt dafuer :) wenn nicht, sonst
auf irgend eine art SEHR duenn machen, mit einem teigroller o.ae.
in eine schwere bratpfanne (gusseisen ist am besten) etwas schweineschmalz
geben, alternativ erdnussoel oder ein anderes oel, was sich stark 
erhitzen laesst. heiss machen, die tortillas von beiden seiten kurz braten,
bis sich die raender heben und die tortillas leicht gebraeunt sind. fertig.

wurzel

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



Re: Re: Tortillas ? (Wurzel, 16. Nov 2000, 21:41:03):
~#! rn=Wurzel rt=974407126 rg=kochrezepte
~#! tid=974379455
ganz vergessen... es gibt natuerlich auch varianten. sehr beliebt (bei mir
zumindestens :) ist die variante, gemahlene chilis in den teig zu mischen...

viel erfolg
wurzel

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



Re^3: Tortillas ? (Kartoffel, 16. Nov 2000, 23:32:31):
~#! rn=Wurzel rt=974407263 rg=kochrezepte
~#! tid=974379455
Hatte mich schon gewundert...

Ein Wurzel-REzept ganz ohne Chilis, das geht ja schliesslich nicht :)

'Toffel 

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



Re: Tortillas ? (Qitess, 20. Nov 2000, 21:50:22):
~#! rn=Njala rt=974379455 rg=kochrezepte
~#! tid=974379455
wasser, maismehl und eier i...aeh huch, ich seh nix mehr...
nochmal von vorne:
wasser, maismehl, eier und ein bisserl m,ilch zusammenmischen, bis ein netter
ziehmiger brei entsteht. in der pfanne mit wenig fett anbacken. fertig.
ja.
schmeckt. die zusammensetzung im genauen weiss ich aber auch nicht mehr, ich
habs mir nicht aufgeschrieben...
QI**

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



Re: Re: Tortillas ? (Liara, 20. Nov 2000, 22:11:09):
~#! rn=Qitess rt=974753422 rg=kochrezepte
~#! tid=974379455
Wieso muessen Leute eigentlich in (fast) alles Eier reintun. :-)

LZ

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



Re^3: Tortillas ? (Lug, 20. Nov 2000, 22:12:01):
~#! rn=Liara rt=974754669 rg=kochrezepte
~#! tid=974379455
In die Eier Satans heisst es:

Und KEINE Eier...
Lug

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



Re^4: Tortillas ? (Zarniya, 21. Nov 2000, 09:02:15):
~#! rn=Lug rt=974754721 rg=kochrezepte
~#! tid=974379455
Was schon fast Kultur ist, wenn Lug hier einen versteckten Hinweis auf das
supergeile Album von der Gruppe TOOL deutet, wo der Song zu finden ist...
Einfach nett, dieser Slowmotion Grunge gemischt mit den Instrumenten der
australischen Ureinwohner... 

Marc

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



Re^5: Tortillas ? (Yendi, 21. Nov 2000, 11:37:17):
~#! rn=Zarniya rt=974793735 rg=kochrezepte
~#! tid=974379455
Naja, der Akzent ist aber heftig.

YTY


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



Re^3: Tortillas ? (Qitess, 21. Nov 2000, 17:14:09):
~#! rn=Liara rt=974754669 rg=kochrezepte
~#! tid=974379455
du kannst sie auch weglassen, tut keinen abbruch, wenn du sie vorher aber -
vor allem das eiweiss - schoen schaumig schlaegst, bekommt das gebaeck einen
sehr fluffigen charakter.
qi**
      hat was gegen allergiker, die immer riummosern irgendetwasnicht zu
vertragen.

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



Re^4: Tortillas ? (Ancalagon, 23. Nov 2000, 22:00:34):
~#! rn=Qitess rt=974823249 rg=kochrezepte
~#! tid=974379455
Tagchen!
Hmm, Tortillas hatte ich eigentlich nicht als "fluffig" in erinnerung...... :)
Ancalagon plaediert fuer "Eier rauslassen"!

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



Re^5: Tortillas ? (Wurzel, 26. Nov 2000, 17:30:59):
~#! rn=Ancalagon rt=975013234 rg=kochrezepte
~#! tid=974379455
dem schliesse ich mich an. wer pfannkuchen macht, sollte sie nicht als
tortillas bezeichnen. auch nicht, wenn maismehl verwendet wird.
man kann tortillas uebrigens auch mit weizenmehl machen (natuerlich ohne
eier oder sowas).
wird auch in mexico gelegentlich gemacht, allerdings eher selten, da weizen
dort wohl teurer ist als mais. wenn man hierzulande zum mexikaner geht,
bekommt man fast ausschliesslich weizentortillas (wie immer, wird auch da
alles geschmacklich europaeisiert, gibt leider nur sehr wenige ausnahmen)

wurzel

p.s. ich kenne da einen inder, wenn man dort "scharf" bestellt, dann ist es
auch scharf... meist heisst "scharf" oder "sehr scharf" ja nur, dass es nicht
ganz so labberig schmeckt wie der rest. bei besagtem inder hagelt es denn
auch regelmaessig beschwerden, wenn der wagemutige deutsche familienvater
"scharf" bestellt und es hinterher nicht essen kann, weil seine zarten
schleimhaeute weggeaetzt werden... mal sehen, wie lange der inder das noch
durchhaelt.

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



Re^6: Tortillas ? (Alboin, 26. Nov 2000, 21:49:44):
~#! rn=Wurzel rt=975256259 rg=kochrezepte
~#! tid=974379455
kicher* das erinnert mich an so ein Festival wo ne mobile Bude mit indischem
Essen war. So naiv wie ich war dachte ich das Essen waere hoechstens
europaeisch scharf und zerkleinerte noch ein paar frische chillis ueber dem
Essen. Beim Essen war ich dann wohl eher mit dem Wegwischen der Traenen als
mit dem Kauen beschaeftigt ;-)

Alboin

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



fuer tower :) (Wurzel,  6. Jan 2001, 15:44:31):
hm, ein "westindischer pfeffertopf" ist nachgefragt worden...
und dann auch noch mit zutaten, die hierzulande leicht zu bekommen sind.

ich hab mal ein jambalaya-rezept genommen und leicht modifiziert. garantie
dafuer, dass es "original" schmeckt, kann ich allerdings nicht uebernehmen :)

man braucht:

200 g weisse bohnen
150 g reis
1 huehnerbrust
1 chorizo (hm, ein ersatz dafuer ist nicht einfach. evtl eine scharfe salami,
           wie es sie beim italiener als pepperoniwurst gibt)
1 packung shrimps (am besten tiefgekuehlte bereits geschaelte nehmen)
1 rote paprika
1 gelbe oder gruene paprika
1 frische jalapeno-chilischote, wenn zu bekommen, ansonsten 1 rote pepperoni
2 kleine zwiebeln
2-3 frische knoblauchzehen
1 tl chilipulver, mild
cayennepfeffer
1 prise zucker
etwas salz
oel oder schmalz zum anbraten
sonstige gewuerze: kurkuma, cumin, koriander

bohnen ueber nacht einweichen.
chorizo in scheiben schneiden und in einer pfanne scharf anbraten. zwiebeln
kleinschneiden und kurz mit anbraten. knoblauch in stuecke schneiden.
shrimps auftauen lassen, kurz mit kaltem wasser abspuelen und abtropfen
lassen.
paprika und chili kleinschneiden, kerne und trennwaende entfernen. wer will,
kann die teile vorher noch haeuten, aber vorsicht: das will gekonnt sein :)

bohnen im wasser zum kochen bringen. nach etwa 20 minuten den reis, die chili
und paprika sowie chorizo dazu geben. temperatur runterregeln. weitere 5-10 
minuten spaeter zwiebeln, knoblauch und die kleingeschnittene huehnerbrust 
dazu geben. unter haeufigem ruehren leicht koecheln lassen, ggf etwas 
fluessigkeit nachgiessen (am besten huehnerfond, geht aber auch ordinaeres 
wasser :) und wuerzen. es sollte nicht zu viel fluessigkeit werden, es ist
keine suppe...
nach 10 minuten shrimps dazu geben, nochmal kurz und heftig aufkochen (ruehren
nicht vergessen).

dazu wuerde ich ein weissbrot und einen leichten wein empfehlen.

viel spass

wurzel

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



Re: *wuerg**brech*kotz* (Gloinson, 24. Apr 2001, 18:45:19):
~#! rn=Solmyr rt=988130484 rg=schmarrn
~#! tid=988130484
Ich empfehle bei Magenverstimmung ungesuessten schwarzen Tee und Zwieback.
Kohlefrass ist zwar wirksam aber eben eklig. In der DDR gabs das als Pulver
zum Runterwuergen *oerks*.

Gloin(son) sagt: Los, weitere Tips!

PS: Auf die Pizza empfehle ich viel Kaese. Nein, noch mehr! :)

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



Re: Re: *wuerg**brech*kotz* (Solmyr, 24. Apr 2001, 18:46:25):
~#! rn=Gloinson rt=988130719 rg=kochrezepte
~#! tid=988130484
Kohle verabreicht man ja eigentlich auch nur bei nem TablettenIntox und davon
ist XXX ja hoffentlich meilenweit entfernt :)

Sol*

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



Truthahn mit Whisky (Karis, 17. Jun 2001, 23:01:37):
Sehr empfehlenswert. In den verschiedensten Faellen. Insbesondere, nachdem
die Spargelzeit ja nun wohl vorbei ist (war eh ein schlechtes Jahr...)
Aber kommen wir zu Potte:

Truthahn mit Whisky.

Man kaufe einen Truthahn von fuenf Kilo (fuer sechs Personen) und eine
Flasche Whisky.

Dazu Salz, Pfeffer, Olivenoel und Speckstreifen.

Truthahn mit Speckstreifen belegen, schnueren, salzen, pfeffern und etwas
Olivenoel dazugeben.

Ofen auf 200 grad einstellen.

Dann ein Glas Whisky einschenken und auf gutes Gelingen trinken.

Anschliessend den Truthahn auf einem Backblech in den Ofen schieben.

Nun schenke man sich zewi schnelle Glaeser Whisky ein und trinke wieder auf
gutes Gelingen.

Den Thermostat nach 20 min auf 250 Grad stellen, damit es ordentlich brummt.

Danach schenkt man sich drei weitere Whisky ein.

Nach halm Schdunde oeffnen, wenden und den Braten ueberwachen.

Die Fisskieflasche ergreiff unn sich eins hinner die Binde kipp.

Nach 'ner weitern albernen Schunnde langsam bis zzum Ofen hinschlendern und 
die Trute umwenden.

Drauf actn, sisch nitt die Hand zu Vabrennn an die Schaisss-Ohfnduer.

Sisch wadere ffuenff odda siehm Wixki innen Glas sisch unn dann unn so...

D Drute weehrent drrai Schunn'nt (iss auch egal) waiderbraan un all ssehn
Minud'n pinkeln.

Wenn uerntwi moeschlisch, ssum Trathuhn hinkrieschn unn den Ohwn aus'm Viech
ziehn.

Nommal ein Schlugg geneemign un anschliesnt wida fasuchen, das Biest
rauszukrign.

Den fadammt'n Vogel vom Bodn aufflaesen unn uff ner Bladde hinrichten.

Uffbasse, dass nitt Ausrutschn auff'm schaissffettichen Kuehnboden.

Wenn sisch drossdem nitt fameiden fasuhn wida
ufssuschichtnodersohahahaisallesjaeeeeehscheissegaaaaal!!!!!!!!!!!!

...

Ein wenig schlafen. Am naechsten Tag den Truthahn mit Mayonaise und
Aspirin kalt essen.

Generaelchen Karis.

PS. Fuer den ersten Teil kann man auch Whiskey nehmen. 

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



Re: Truthahn mit Whisky (Wurzel, 18. Jun 2001, 11:36:03):
~#! rn=Karis rt=992811697 rg=kochrezepte
~#! tid=992811697
bis auf den letzten teil ist das rezept ganz okay. aspirin stimmt auch noch,
aber einen truthahn, der mehrere stunden bei 250 grad gebraten hat, kann
man eigentlich nur noch als ersatz fuer streusalz im winter verwenden. und
mayonaise passt da auch nicht dazu.

wurzel

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



Mein Lieblingscocktail (Foobar,  9. Jul 2001, 15:00:27):
Moin.

Zwar wird bei meinem Lieblingscocktail nix gekocht, ich halte dies hier aber
fuer die passendste Rubrik.

Zutaten:
--------

2 cl guter Weizenkorn
1 Tuetchen Ahoi-Brause (Geschmacksrichtung egal, ich empfehle Waldmeister)

Zubereitung:
------------

Korn (bitte eiskalt) in ein Schnapsglas fuellen.
Brause-Tuetchen oeffnen.
Brause in den Mund schuetten.
Korn in den Mund schuetten.
Kurz aufschaeumen lassen und schliesslich herunterschlucken.

Prost!

Foobar

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



Re: Mein Lieblingscocktail (Foobar,  9. Jul 2001, 15:03:12):
~#! rn=Foobar rt=994683627 rg=kochrezepte
~#! tid=994683627
Oh, ich hab den Namen vergessen. Dieser Cocktail ist bei uns als "Korn Ahoi"
bekannt ;o)

Foobar

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



Kuchen ... (Liara, 13. Aug 2001, 22:38:32):
Wie verhindere ich das Durchweichen eines Kuchenbodens mit dem Saft des
Obstbelags?

LZZ, bittet um saemtliche Kuechenweisheiten von Oma und so ... ;-)

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



Re: Kuchen ... (Mupfel, 13. Aug 2001, 22:56:21):
~#! rn=Liara rt=997735112 rg=kochrezepte
~#! tid=997735112
Margarine drauf schmieren

-mupfel-
hilft gerne mit Omas Rezepten aus

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



Re: Kuchen ... (Linflas, 13. Aug 2001, 22:56:51):
~#! rn=Liara rt=997735112 rg=kochrezepte
~#! tid=997735112
Obst abtrocknen. Alternativ legst du was drunter. Alufolie soll da helfen,
aber nicht gut schmecken, ich empfehle eine Creme dazwischenzupacken.

LinflAS.

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



Re: Re: Kuchen ... (Morgoth, 13. Aug 2001, 22:56:57):
~#! rn=Mupfel rt=997736181 rg=kochrezepte
~#! tid=997735112
alufolie drunter legen soll auch helfen

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



Re^3: Kuchen ... (Grimmborn, 13. Aug 2001, 22:57:46):
~#! rn=Morgoth rt=997736217 rg=kochrezepte
~#! tid=997735112
Man sieht oft das Obst in so einem Gelatinegelee. Aber was die Backkunst
angeht bin ich ziemlich inkompetent...

GdA

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



Re: Kuchen ... (Liara, 13. Aug 2001, 22:58:25):
~#! rn=Liara rt=997735112 rg=kochrezepte
~#! tid=997735112
Hier uebrigens das passende Rezept dazu:

Johannisbeer-Pfirsich-Crumble

250 g rote Johannisbeeren
750 g Pfirsiche
Backpapier oder Fett fuer die Form
190 g Butter
150 g Zucker (100 g reichen)
2 Pck. Vanillinzucker
1 Prise Salz
1 Prise Zimt
150 g gehackte Haselnuesse (Mandeln ohne Schale sind noch besser)
270 g Mehl
Puderzucker zum Bestaeuben

- wenig Aufwand!, Vorbereitungszeit 20 Minuten, Backzeit 40 Minuten

Beeren waschen, trocknen, von den Rispen streifen; Pfirsiche waschen,
halbieren, entsteinen, je nach Groesse in 4 - 6 Spalten teilen;
Elektro-Ofen auf 175 Grad vorheizen, Boden einer Springform (26 cm
Durchmesser) mit Backpapier auslegen oder einfetten;
Butter mit Zucker, Vanillinzucker, Salz, Zimt, Nuessen und Mehl zu Streuseln
verarbeiten (Knethaken Mixer);
gut 3/4 der Streusel leicht auf den Boden der Form druecken (einen kleinen
Rand formen hilft schonmal, damit der Kuchen nicht sofort auslaeuft ;), Obst
darauf verteilen, mit den uebrigen Streuseln bestreuen;
Kuchen im Ofen auf der mittleren Schiene bei 175 Grad (Gas:Stufe 2) in etwa 40
Minuten goldbraun backen, mit Puderzucker ueberstaeuben;
vor dem Ueberfuehren auf eine Kuchenplatte besser abkuehlen lassen ;-)

Hab's getestet, schmeckt sensationell nach Streuseln und die Kombination der
suessen Pfirsiche mit den eher saeuerlichen Beeren ist Spitze! Macht praktisch
gar keine Arbeit ... habe halt nur das Durchweich-Problem. ;-)
Habe es schonmal mit Mandelblaettchen auf dem Boden versucht und helles
Tortenzeugs draufgestreut. Das ging ganz gut, aber schmeckte etwas durch.

LZZ

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



Re^3: Kuchen ... (Mupfel, 13. Aug 2001, 22:58:53):
~#! rn=Morgoth rt=997736217 rg=kochrezepte
~#! tid=997735112
Nee ehrlich. so mach ich das auch immer, vor allem zur erdbeerzeit: fertigen
boden kaufen, *duenne* schicht margarine drauf (eventuell da noch etwas
vanillepudding drauf) und dann die fruechte... gibt nix besseres

-mupfel-

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



Re: Re: Kuchen ... (Weatherwax, 13. Aug 2001, 22:59:25):
~#! rn=Linflas rt=997736211 rg=kochrezepte
~#! tid=997735112
Eine Tag- oder eine Nachtcreme?

Wx

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



Re^3: Kuchen ... (Kartoffel, 13. Aug 2001, 22:59:29):
~#! rn=Morgoth rt=997736217 rg=kochrezepte
~#! tid=997735112

hab mal gelesen, dass es helfen soll, ein Paeckchen Sahnesteif auf den Boden
zu streuen.#
Schwiegermutter macht gerne ne Schicht Marzipan zwischen Boden und Obst.

Gruss
`Toffel

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



Re^4: Kuchen ... (Linflas, 13. Aug 2001, 23:06:33):
~#! rn=Kartoffel rt=997736369 rg=kochrezepte
~#! tid=997735112
Ihr seid ja allesamt ekelhaft. Margarine auf den Tortenboden schm,eckt doch
Scheisse. Und es handelt sich weder um Tages-, noch nachtcreme, sondern um
reinste und feinste Sahnecreme, die man hoechstens zum Faeltchenwegdruecken in
der Nacht auf die blanke Haut schmieren sollte - oder halt um den Tortenboden
vom achsogeliebtenm Obst zu trennen um ein durchnaessen zu vermeiden.

Linflas, ohne Punkt, Komma, mit einem langen Satz und nervigem win2k-telnet.
\

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



Re^5: Kuchen ... (Linflas, 13. Aug 2001, 23:11:19):
~#! rn=Linflas rt=997736793 rg=kochrezepte
~#! tid=997735112
Da faellt mir aber auch noch was ein: Oblaten eignen sich sicherlich
hervorragend um das gesuchte Ergebnis zu erzielen, sollte man auf Sahne und
frische Eier aufgrund einer Salmonellengefahr nicht zurueckgreifen wollen.
ISonst favorisire ich immernoch Torten. Da hat man keinen Boden der
durchweicht, sie schmecken eh besser, viel sahniger und sowieso lecker. Nichts
geht ueber eine gute Schwarrzwaelderkirschtorte - obwohl das schon das einzige
aus dem Schwarzwald ist, was mich reizt. Hoechstens noch Kuckucksuhren. Aber
sonst gibtsa da ja nix mehr.

Linflas, zur Zeit im provinziellen Exil.

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



Re^6: Kuchen ... (Liara, 13. Aug 2001, 23:12:19):
~#! rn=Linflas rt=997737079 rg=kochrezepte
~#! tid=997735112
Dich reizen Schwarzwaelder Kirsch und Kuckucksuhren?

LZZ, wundert sich ueber gar nix mehr ;-)

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



Re^6: Kuchen ... (Amaryllis, 13. Aug 2001, 23:13:27):
~#! rn=Linflas rt=997737079 rg=kochrezepte
~#! tid=997735112
Aha. Man sieht deutlich, dass Du vom Schwarzwald _ueberhaupt_ keine Ahnung
hast.

Ama*, Sueddeutschel vom Fach und ueberhaupt, gerade erst vom Schwarzwald nach
Koelle gezogen, und einiges vermissend...

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



Wan Tan (Vanion, 13. Aug 2001, 23:13:31):
Hi,

Wenn wir grad mal dabei sind, diese Rubrik wieder zu befuellen: 

Hat jemand eine Nette Idee, was man in Wan Tan-Blaetter fuellen koennte?

V*, bittet um nicht allzu exotische Fuellungen (ich kenn euch doch)

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



Re: Wan Tan (Linflas, 13. Aug 2001, 23:14:23):
~#! rn=Vanion rt=997737211 rg=kochrezepte
~#! tid=997737211
Reis?

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



Re^7: Kuchen ... (Linflas, 13. Aug 2001, 23:16:46):
~#! rn=Amaryllis rt=997737207 rg=kochrezepte
~#! tid=997735112
Klar, Ama*, fuer mich gilt ja auch der Weisswurstaequator den ich bisher nur
einmal ueberquert habe um Muenchen eine Woche lang zu besuchen. Leider war es
dort schon nach zwei Stunden langweilig, wie soll es dann im Schwarzwald sein?
:-)

Linflas, Neu-Berliner aus Ueberzeugung.
.,

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



Re^8: Kuchen ... (Mupfel, 13. Aug 2001, 23:21:46):
~#! rn=Linflas rt=997737406 rg=kochrezepte
~#! tid=997735112
Im Schwarzwald ist zunaechst einmal Wald. Und Berge. Und im Winter erstaunlich
viel Schnee (frag mal Amaryllis *vorsichtig* danach ;) Und in den
Tourigebieten einigermassen aufgeschlossene Bewohner...

-mupfel-
,

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



Re^8: Kuchen ... (Grimmborn, 13. Aug 2001, 23:23:35):
~#! rn=Linflas rt=997737406 rg=kochrezepte
~#! tid=997735112
Muenchen ist kein Massstab, das ist das groesste Dorf Deutschlands (noch
groesser als Duesseldorf). 
Aber generell bin ich fuer klare Verhaeltnisse: Entweder ne richtige Stadt, so
wie Berlin oder Koeln, oder richtiges Land, so wie meinetwegen der
Schwarzwald, oder eben die Eifel (gut, Westfalen ist wieder was anderes...).
Aber so halbe Dinge wie Muenchen, neee...

Um beim Thema zu bleiben: Hat jemand ein Rezept fuer Artischockencremesuppe
parat? Ansonsten muesste ich mal experimentieren, bei einer Spargelcremesuppe
die Spargel gegen Artischockenboeden austauschen.

Grimmborn der Atheist

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



Re: Wan Tan (Troy, 14. Aug 2001, 08:57:10):
~#! rn=Vanion rt=997737211 rg=kochrezepte
~#! tid=997737211
Kuehe? Schweine? Pulloverschweine? Naja, was meinst DU mit "nicht
exotisch"? "Gut Buergerlich"? "Bodenstaendig Deutsch"? oder vielleicht
"europaeisch"?

Troy meint, dass Wan Tan mit Haifleisch genial schmecken...

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



Re: Re: Wan Tan (Vanion, 14. Aug 2001, 09:55:38):
~#! rn=Troy rt=997772230 rg=kochrezepte
~#! tid=997737211
Mit nicht zu exotisch meinte ich die eher kranken Ideen, die erfahrungsgemaess
immer dem Geiste irgendeines Mudders entspringen, sobald er solche Artikel
liesst. 

V* hat keine Lust, eine Hobbitfuellung zu machen.

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



Re: Kuchen ... (Unasai, 14. Aug 2001, 11:41:19):
~#! rn=Liara rt=997735112 rg=kochrezepte
~#! tid=997735112
Um das durchweichen des Bodens zu verhindern hat meine omi, entweder eine sehr
duenne schicht sahnesteif, backpulver, buttercreme oder vanille pudding
gestrichen. Je nach art des kuchens...sahnesteif und backpulver ist halt
relativ geschmacklos, bei sehr sauren beeren macht sich der pudding gut und
unter erdbeeren kam halt immer diebuttercreme :)

Una* *kuchenbaeckerin aus leidenschaft*

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



Re: Re: Kuchen ... (Denti, 14. Aug 2001, 11:42:47):
~#! rn=Unasai rt=997782079 rg=kochrezepte
~#! tid=997735112

Ich mach ganz gerne eine duenne Schicht Persipan/Marzipan drunter, das
verhindert das durchweichen recht recht zuverlaessig, wenns sein muss
auch ueber zwei bis drei Tage.

Denti, auch ein Kuchenbacker aus Leidenschaft :-))

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



Re: Kuchen ... (Nicktar, 14. Aug 2001, 11:44:11):
~#! rn=Liara rt=997735112 rg=kochrezepte
~#! tid=997735112
Enweder Du zuckerst den Boden, was bei sehr saftigen Fruechten wenig bis nix
bringt oder du streichst ihn duenn mit einer Masse aus Butter und viel Zucker
ein.

Nicktar

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



Re^3: Kuchen ... (Varlarion, 14. Aug 2001, 11:44:12):
~#! rn=Denti rt=997782167 rg=kochrezepte
~#! tid=997735112
Hey, wir machen das so: jeder von euch backt einen Kuchen, schickt ihn mir,
ich probier die dann und urteile ueber die beste Moeglichkeit, das
Durchweichen zu verhindern. (Aber bitte keine Erdbeerkuchen.)

Varl*, Kuchenesser aus Leidenschaft

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



Re^4: Kuchen ... (Ark, 14. Aug 2001, 11:45:53):
~#! rn=Varlarion rt=997782252 rg=kochrezepte
~#! tid=997735112
Richtig, die Erdbeerkuchen bitte an mich schicken.


              *** ARK * the * Magnificent ***


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



Re^5: Kuchen ... (Zarniya, 14. Aug 2001, 11:48:05):
~#! rn=Ark rt=997782353 rg=kochrezepte
~#! tid=997735112

Hi, 

ich will ja niemanden hier ernuechtern, aber damit es nicht durchweicht, nimmt
der Profi einfach Saftbinder... Das ist nix anderes als Speisestaerke, zB
Mondamin, nur feiner.

Marc (Mit Konditorin als Freundin... )

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



Re^4: Kuchen ... (Linflas, 14. Aug 2001, 22:23:06):
~#! rn=Varlarion rt=997782252 rg=kochrezepte
~#! tid=997735112
Ok, Varlarion, ich nehm Alufolie. Ich hoffe es schmeckt.

Linflas backt Kuchen.

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



salat mit tomaten und schafskaese (Whitetiger, 18. Aug 2001, 19:45:20):
salat mit tomaten und schafskaese

zutaten:
- olivenoel
- balsamico-essig
- suesser senf
- sahne
- salz
- zucker
- pfeffer
- salat
- tomaten
- schafskaese

zubereitung:
die zutaten bis auf den salat in einer schuessel miteinander vermengen und
dabei abschmecken bis es gut schmeckt. dann ein bisschen ziehen lassen und
schliesslich den salat dazutun und nochmal vermengen.

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



Re^27: Kuchen ... (Linflas, 20. Aug 2001, 02:45:35):
~#! on=Montanus ot=998237426 og=diskussion
~#! rn=Daria rt=998212135 rg=diskussion
~#! tid=997735112
Maultaschen:
ist nicht wirklich schwer. :-)
Machtse deinen Nudelteig (je nach Gusto mit oder ohne Eiern, auch die
Mehlsorte ist meist ein Glaubenskrieg) und rollste ihn flach aus.
Fuellung: ich empfehle ja frischen Spinat, gewuerzt mit etwas Salz, viel
Pfeffer und ganz viel Knboblauch, und dazu Pinienkerne. Andere packen da
lieber sio Hackmett rein, aber das versaut m.E. nachden Geschmack.
Mit Rollmesser Teig zerteilen, in die Mitte jeweils Haeufchen Fuellung,
zuklappen, mit Gabel die Raender festdruecken, und dann ab in die Suppe.
Tips: Vorsicht, die Fuellung darf nciht zu fluessig sein! Spinat sehr gut
entwaessern! Manche nehmen auch gerne etwas Frischkaese fuer die Fuellung
dazu, ist auch nciht schlecht.

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



Re^28: Kuchen ... (Linflas, 20. Aug 2001, 02:45:47):
~#! on=Linflas ot=998267721 og=diskussion
~#! rn=Montanus rt=998237426 rg=diskussion
~#! tid=997735112
Jaja, die Maultaschen, genau das richtige fuer Plaudertaschen:
Ein nettes kleines feines und leichtes Essen kalt und warm lecker auch mit und
ohne Suppe. 
Also Nudelteig ist klar, ich nehme dann immer eine Tasse um kleine Kreise
auszustechen, mache kleine Baellchen aus Fuellung, lege die auf die kleinen
Scheiben drauf und klappe das um. Fest ankleben - fertig.
Was die Fuellung angeht hat Montanus ja schon recht: Alles was schmeckt ist
gut. Meine kleinen Tips sind: Kaese, und zwar am besten weissen, lockeren,
wobei ich da nicht Frischkaese nehmen wuerde. Wer Kontakte nach Polen hat, der
sollte mal nach polnischem "weissen Kaese" fragen, der eignet sich
hervorragend. Man kocht ein paar Kartoffeln, stampft die ein und braet
Zwiebeln glasig, was dann mit dem Kaese vermischt wird. Gibt eine gute
Fuellung ab. Alternativ nimmt man auch pueriertes Sauerkraut, was in manchen
polnischen Familien etwas fuer Weihnachten ist.
Es eignen sich aber auch Johannisbeeren. Dann Pilze. Das sind so
Standartfuellungen, stets erweiterbar.
Noch ein Tip: Maultaschen sind eine sehr gute Beilage zu einem guten Fondue,
Raclette geht auch. Ich bevorzuge sie dann immer nach dem Kochen noch etwas in
der Pfanne anzubraten, damit sie auch huebsch kross werden.

Viel Spass...

Linflas wundert sich, wieso sein Magen knurrt.

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



Re^29: Kuchen ... (Helvetia, 20. Aug 2001, 21:38:02):
~#! rn=Linflas rt=998268347 rg=kochrezepte
~#! tid=997735112
Also Fondue oder Raclette, serrviert mit Maultschen, ist bestimmt keines mehr
von beidem. Na wems schmeckt ;-)

Helvetia

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



Huehnchen in Marsala-Sauce (Hreidmar, 20. Aug 2001, 21:38:10):
Erstmal eine kurze Zutatenliste:
4 Huehnerbrueste
1 kleine Zwiebel
ca. 300g Champignons
1 Glas Milch
1 Knoblauchzehe
Maismehl (normales Mehl tut es aber auch)
1 halbes Glas Marsala (den kriegt man in ziemlich jeden Supermarkt)
1 halber Becher Sahne
Salz, Estragon, Petersilie (getrocknet oder frisch), Pfeffer

Die Huehnerbrueste waschen, in nicht zu kleine Stuecke schneiden und im
Maismehl waelzen.
Die Zwiebel pellen und in Wuerfel schneiden. Den Knoblauch schaelen. Die
Champignons putzen (mit dem Pinsel reicht meistens) und in Scheiben schneiden.
In einer Pfanne Butterschmalz (oder eine Mischung aus Butter und Oel)
erhitzen. Herrjeh, da habe ich doch glatt den Butterschmalz in der
Zutatenliste vergessen. Zur Not tut es auch handelsuebliches Sonnenblumenoel,
das sollte eigentlich in jedem Haushalt zu finden sein.
Die Knoblauchzehe in dem heissen Fett anroesten und wenn sie gut gebraeunt
ist, wieder rausnehmen.
Die Champignons mit der Zwiebel in der Pfanne gut anbraten, die Hitze
reduzieren, mit der Milch abloeschen. Nun mit etwas Salz, einer Prise Estragon
und der Petersilie wuerzen. Alles bei kleiner Hitze einreduzieren.
In einer zweiten Pfanne Butterschmalz erhitzen, die Huehnerbrueste darin
kraeftig anbraten. Das Fleisch darf ruhig ein wenig braun werden, das ergibt
dann einen wunderbaren, fast schon nussigen Geschmack! Mit dem Marsala
abloeschen (Achtung, das kann ordentlich zischen) und die Sahne hinzugiessen.
Etwas salzen, ein bisschen einreduzieren. Die Hitze reduzieren, die
Champignons hinzugeben und alles noch ein wenig ziehen lassen. Nach Geschmack
mit Salz und Pfeffer abschmecken.
Dazu schmeckt Reis oder auch Baguette-Brot.

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



Re^5: Kuchen ... (Kellybundy, 26. Aug 2001, 20:22:53):
~#! rn=Linflas rt=997820586 rg=kochrezepte
~#! tid=997735112
Nimm Blattsilber oder Blattgold. Die Inder machen das auch so ;-)

Dumpfbacke

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



pflaumenmus (Gnome, 24. Sep 2001, 21:15:15):
hi,

aus aktuellem anlass hier mal was fuer den herbst und verregnete abende:

pflaumenmus selbstgemacht:
-------------------------

- pflaumen (ach...)
- zucker
- zimt
- nelken
- viel geduld

soviel pflaumen kaufen, wie in euern groessten kochtopf passt. in etwa so
3-5 kg. waschen, entkernen (viel spass dabei), rein in topf. zucker im
verhaeltnis 1:10 drauftun. ein paar nelken und 3-4 kleine zimtstangen dazu.
backofen auf 150 grad, rein damit und _keinen_ deckel drauf. saft muss
verdunsten. nun lassen wir das ganze 4-5h schmoren. alle halbe stunde
mal umruehren. wenn das ganze die konsistenz von pflaumenmus erreicht
hat, die zimtstangen rausfischen und in saubere (!) glaeser abfuellen.
die nelken findet man bei den braun-in-braun-toenen nur schwer,
spaetestens beim draufbeissen dann aber. :)
wer jetzt braunen kadiszucker aus dem topf holt, hat beim verhaeltnis
von pflaumen zu zucker was vertauscht ;-)
die effizienz liegt etwa bei 1:4.

wohl bekommt's!

gnOme

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



Re: pflaumenmus (Xenada, 25. Sep 2001, 11:05:26):
~#! rn=Gnome rt=1001358915 rg=kochrezepte
~#! tid=1001358915
Und man passe  danach gut darauf auf, das kein verfressener Zwerg in die
Naehe kommt :)

Xenada die Gnome vom Mus vertreibt weil auch was haben wollen :)

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



Re: Re: pflaumenmus (Gwendula, 25. Sep 2001, 11:09:28):
~#! rn=Xenada rt=1001408726 rg=kochrezepte
~#! tid=1001358915
dementi! ich bin nicht verfressen!
aber schliesslich muss der koch immer probieren, gell? :)

gnOme, macht bad schwartau konkurrenz...

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



Re^3: pflaumenmus (Xenada, 25. Sep 2001, 11:14:55):
~#! rn=Gwendula rt=1001408968 rg=kochrezepte
~#! tid=1001358915
tsss....du warst doch nur fuer hilfsarbeiten wies pfluecke zustaendig...
naechstes mal darfste alles machen ;)

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



Re: pflaumenmus (Grimmborn, 27. Sep 2001, 02:13:46):
~#! rn=Gnome rt=1001358915 rg=kochrezepte
~#! tid=1001358915
Also, Deine "4-5h" kannst Du ja wohl knicken, zumindest im Nichtumluftofen.
Meine sieben Pfund Pflaumen sind seit knapp 8h im Ofen und brauchen noch
einige Zeit bis das wirklich Mus gibt. Und ich habe die Temperatur vor einigen
Stunden schon auf 175 Grad erhoeht.

Grimmborn der Atheist

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



Re: Re: pflaumenmus (Gnome, 27. Sep 2001, 02:18:40):
~#! rn=Grimmborn rt=1001549626 rg=kochrezepte
~#! tid=1001358915
hmmm, stimmt. ich habs im umluftofen gemacht. aber ich haette nicht
gedacht, dass das SO einen grossen unterschied macht... :-/

evtl. auf dem herd vorher unter staendigem ruehren ne halbe stunde
einkochen?

gnOme

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



Re^3: pflaumenmus (Grimmborn, 27. Sep 2001, 02:20:52):
~#! rn=Gnome rt=1001549920 rg=kochrezepte
~#! tid=1001358915
Bischen spaet fuer den Tip. ;-)

GdA auf Nachtschicht

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



Re^4: pflaumenmus (Gnome, 27. Sep 2001, 02:24:51):
~#! rn=Grimmborn rt=1001550052 rg=kochrezepte
~#! tid=1001358915
haste wenigstens nen grund, alleys wiederholung zu gucken ;-)

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



Re^5: pflaumenmus (Grimmborn, 27. Sep 2001, 02:25:53):
~#! rn=Gnome rt=1001550291 rg=kochrezepte
~#! tid=1001358915
Die ist doch schon lange vorbei. Geguckt habe ich sie natuerlich trotzdem...

GdA, Ally-Fan aus Leidenschaft

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



Re^6: pflaumenmus (Wurzel, 27. Sep 2001, 20:24:57):
~#! rn=Grimmborn rt=1001550353 rg=kochrezepte
~#! tid=1001358915
umluftoefen haben die eigenschaft, sehr viel staerker zu trocknen. bei
manchen sachen ist das erwuenscht (wie offensichtlich bei pflaumenmus), bei
anderen eher verpoent. temperaturangaben von umluft sollte man fuer andere
oefen um 20-30 grad erhoehen.

wurzel

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



Re: pflaumenmus (Gnome, 27. Sep 2001, 20:51:10):
~#! rn=Gnome rt=1001358915 rg=kochrezepte
~#! tid=1001358915
zusatz:
wer sein mus noch etwas delikater gestalten moechte, kann versuchen,
ein glas rotwein den pflaumen zuzugeben. ich habe es nocht _nicht_
ausprobiert, aber ich koennte mir vorstellen, dass es noch mehr
mundet als jetzt eh schon.

guten mampf. :)

gnOme

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



Re: Re: pflaumenmus (Xenada, 27. Sep 2001, 21:45:06):
~#! rn=Gnome rt=1001616670 rg=kochrezepte
~#! tid=1001358915
kannste solche vorschlaege nicht eher brigen?
Xenada kocht dieses Jahr mit Sicherheit nich nochmal Plaumenmus.

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



Re^3: pflaumenmus (Gandur, 27. Sep 2001, 22:01:20):
~#! rn=Xenada rt=1001619906 rg=kochrezepte
~#! tid=1001358915
und naechstes jahr gibt es kein pflaumenmuss mit wein ... man muss
die kleine ja nicht schon so frueh an den allohol gewoehnen ;)

gruss, gandur

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



Re^4: pflaumenmus (Xenada, 27. Sep 2001, 22:03:53):
~#! rn=Gandur rt=1001620880 rg=kochrezepte
~#! tid=1001358915
wer sagt das wir ihr was abgeben? ;)

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



Gemuese - Curry - Pfanne (Elizabeth, 26. Nov 2001, 18:17:05):
Also, man braucht dazu Reis, Paprika, Zwiebeln, kidneybohnen und mais. 
(Gewuerze waeren natuerlich auch nicht schlecht ;) )
Man kocht zuerst den Reis und schnipselt in gleicher Zeit das ganze
Gemuesegelumpe klein und pappt es in eine Pfanne.
Dort wuerzt man das dann auch nochmal und gibt, wenn er fertig ist, den Reis
dazu. 
Noch ein bissel schmurgeln lassen und lecker. 

Guten Appetit. (kleine abweichungen sind natuerlich moeglich)

Ach nu haett ich fast Curry vergessen - Also natuerlich noch Curry drueber, 
aber erst am Schluss, sonst wirds so scharf :)

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



Re: Gemuese - Curry - Pfanne (Bambi, 26. Nov 2001, 18:18:05):
~#! rn=Elizabeth rt=1006795025 rg=kochrezepte
~#! tid=1006795025
Aeh, das ist vegetarisch, oder?

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



Re: Re: Gemuese - Curry - Pfanne (Elizabeth, 26. Nov 2001, 18:18:57):
~#! rn=Bambi rt=1006795085 rg=kochrezepte
~#! tid=1006795025
Na, wenn ich kein Fleisch aufgefuehrt habe ist es wohl so.
Zumal ich auch kein Fleisch esse... also.. guten Hunger.

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



Re^5: Gemuese - Curry - Pfanne (Montanus, 26. Nov 2001, 18:25:35):
~#! rn=Elizabeth rt=1006795340 rg=kochrezepte
~#! tid=1006795025
Naja, ich sage eher: die arme Gemuese-Pfanne.
Udn das arme Gemuese.
Probiers mal damit, das Gruenzeug nicht in die Pfanne zu pappen. Sondern erst
mal langsam die Zwiebeln und den Knoblauch (den du vergessen hast zu
erwaehnen) in Butter schmoren lassen. Dann die Paprika, die Zucchini, die
Aubergine (beide auch vergessen) und nur wirklich zur Not Dosengemuese
dazugeben und daempfen.
Mit Rotwein loeschen, wuerzen, udn dann kannste meintewegen auch den Reis
unterheben.
JMTC

-Montanus im Auftrag von Pizzapepe

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



Re^6: Gemuese - Curry - Pfanne (Humni, 26. Nov 2001, 18:45:22):
~#! rn=Montanus rt=1006795535 rg=kochrezepte
~#! tid=1006795025
Egal, ich bin stolzer neuer WOK-Besitzer und werde ihn heute abend
ausprobieren. Das wird sowas aehnliches werden wie das, was ihr da vorschlagt
- aber mit mehr und anderem Gruenzeug ;-)

Humni

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



Re^7: Gemuese - Curry - Pfanne (Montanus, 26. Nov 2001, 18:46:24):
~#! rn=Humni rt=1006796722 rg=kochrezepte
~#! tid=1006795025
Im Wok sehr gut zu machen sind saemtliche Kraut-Varianten. Es empfiehlt sich
dabei, die kleinen Chili-Schoten schoen vorher im Oel ziehen zu lassen und
auszukochen, dann brauch man nur noch wenig nachwuerzen. ;-)

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



Re^8: Gemuese - Curry - Pfanne (Elizabeth, 26. Nov 2001, 18:46:36):
~#! rn=Elberet rt=1006796748 rg=kochrezepte
~#! tid=1006795025
Also manche leute haben wirklich komische essgewohnheiten ;) .oO( wein im
essen, aubergine....)

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



Re^9: Gemuese - Curry - Pfanne (Elberet, 26. Nov 2001, 18:47:32):
~#! rn=Elizabeth rt=1006796796 rg=kochrezepte
~#! tid=1006795025
och, wein ist nicht so schlecht, man nehme einen zaehen Hahn. Also
vorzugsweise einen Mit Diensterfahrung auf dem Misthaufen. Den koche man 5 h
in Weinsosse. Gibt ein vorzuegliches Gericht.

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



Re^9: Gemuese - Curry - Pfanne (Montanus, 26. Nov 2001, 18:48:16):
~#! rn=Elizabeth rt=1006796796 rg=kochrezepte
~#! tid=1006795025
Sobald Du anfangen kannst, mitzureden, mit was fuer einem Wein man welches
Gericht abschmeckt oder loescht - dann koennen wir auch ueber das Woertchen
"komisch" reden. ;-)

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



experiment (Wurzel,  1. Jan 2002, 12:19:37):
es gibt leute, die koennen kochen, und es gibt leute, die kuchen backen.
natuerlich gibt es auch leute, die weder das eine noch das andere machen,
aber nur ganz selten findet man jemanden, der beides beherrscht. jedenfalls
gehoere ich nicht zu den kuchenbaeckern. nun fand ich beim stoebern in meinem
kuechenschrank eine kuchenbackform, weiss der geier wo die herkommt. so eine
runde form, wo man den rand abnehmen kann, wenn der kuchen fertig ist. fuer
kuchenleute sicher eine praktische sache, aber was fange ich damit an? ganz
klar: wir machen ein experiment.

einen hefeteig bekomme ich noch hin, immerhin braucht man sowas auch fuer
pizza. ansonsten mal schauen, was noch da ist... um das ergebnis vorweg zu
nehmen: ausgesprochen lecker (sonst wuerde ich hier auch den mantel des
schweigens darueber huellen :) nur wie ich es nennen soll, weiss ich nicht.

wir brauchen:
mehl
hefe
zucker
olivenoel
hackfleisch
getrocknete tomaten (gibts in olivenoel eingelegt zu kaufen, selber trocknen
habe ich noch nicht versucht)
tomatenmark
zwiebeln
knoblauch
frische pilze
kaese
pesto
oregano
chili
cumin
pfeffer
salz

hackfleisch mit zwiebeln und knoblauch anbraten, mit gemahlener chili, cumin,
salz und pfeffer wuerzen, mit etwas tomatenmark die fluessigkeit binden, 
abkuehlen lassen bei offenem topf (damit es trockener wird).

einen normalen hefeteig zubereiten mit kleiner variation: oregano direkt ins
mehl geben und mit durchkneten. es soll kein suesser teig werden, daher den
zucker sparsam dosieren (etwa 1 teeloeffel auf 400 g mehl).
der zucker ist wichtig fuer den teig, damit die hefe was zu fressen hat und
nicht die staerke aus dem mehl anknabbert. wenn man zuviel zucker verwendet,
wird der teig suess, wenn es zuwenig ist, schmeckt er irgendwie leer...

mit dem teig die kuchenform auskleiden, etwas teig uebriglassen. er darf also
nicht zu trocken sein, sonst klebt er nicht am rand der form :) auf den boden
eine lage geschnittene pilze legen, darueber eine lage vom inzwischen kuehlen
hackfleisch. das ganze decken wir ab mit einem teigdeckel, dafuer brauchen wir
das, was uebrig ist. auf diesen deckel kommen dann nochmal pilze, fleisch und
obendrauf die getrockneten tomaten und etwas pesto. mit geriebenem kaese
bedecken. im vorgeheizten backofen ca 30 minuten backen (am besten bei reiner
unterhitze, die oberhitze erst spaeter dazuschalten, sonst wird der kaese zu
schnell braun).

wenn das ganze fertig ist, kommt der trick der kuchenform: rand abnehmen, wie
einen kuchen schneiden :) dazu schmeckt beispielsweise ein feldsalat prima.

wurzel

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



Re: experiment (Gnome,  1. Jan 2002, 17:04:58):
~#! rn=Wurzel rt=1009883977 rg=kochrezepte
~#! tid=1009883977
dieses spezielle rezept ist bestimmt dein eigenes, die machart
desselben hat aber schon einen namen: 'quiche'
in dem fall wohl eine italienische quiche. :)

gnOme

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



Re: Re: experiment (Grimmborn,  1. Jan 2002, 17:27:01):
~#! rn=Gnome rt=1009901098 rg=kochrezepte
~#! tid=1009883977
Eine Quiche ist nicht gedeckt, iirc. Dann nennt man das Pie, und weil da noch
was auf dem Deckel ist ist das schon was eher ungewoehnlicheres. Aber das
Grundprinzip ist natuerlich nicht neu. Wobei es neue Grundprinzipien in der
Kueche vermutlich seit ein paar Jahrhunderten nicht mehr gegeben hat, die
Kunst liegt in der Variation.

GdA

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



Re^3: experiment (Wurzel,  1. Jan 2002, 22:50:59):
~#! rn=Grimmborn rt=1009902421 rg=kochrezepte
~#! tid=1009883977
habe letztens gelesen, dass pizza eine erfindung des 20. jahrhunderts sei.
weiss nicht ob das stimmt, aber das ist fuer mich schon ein grundprinzip :)

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



Re^4: experiment (Grimmborn,  1. Jan 2002, 23:00:27):
~#! rn=Wurzel rt=1009921859 rg=kochrezepte
~#! tid=1009883977
Ohne die Geschichte der Pizza zu kennen: Das Prinzip "Teig nehmen und Sachen
drauflegen, dann ab in den Ofen" ist vermutlich wesentlich aelter. Aber
vielleicht sehe ich da "Grundprinzip" ein bischen zu grundsaetzlich.

GdA

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



Re^5: experiment (Wurzel,  1. Jan 2002, 23:07:22):
~#! rn=Grimmborn rt=1009922427 rg=kochrezepte
~#! tid=1009883977
mag sein, wie es will: fuer mich ist pizza ein grundnahrungsmittel (ohne
pizzaservice waere ich im buero ziemlich aufgeschmissen, da nur eine absolut
ungeniessbare mensa in der naehe ist), das hat prinzipiellen charakter :)

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



Re^5: experiment (Gnome,  1. Jan 2002, 23:07:56):
~#! rn=Grimmborn rt=1009922427 rg=kochrezepte
~#! tid=1009883977
pizza war urspruenglich ein reste-essen der armen in italien.
geguckt, was noch da war, ab aufs/ins brot damit und dann in ofen.
so vor 200-300 jahren. teig, schnickschnack und co. kamen erst
sehr viel spaeter. aber wir schweifen ab.

gnOme

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



Re^6: experiment (Zarniya,  2. Jan 2002, 12:45:22):
~#! rn=Gnome rt=1009922876 rg=kochrezepte
~#! tid=1009883977
sowas wie eine Grundversion von Pizza gibt es auf JEDEM guten
Mittelalterlichen Markt oder Fest... die Idee ist sehr sehr alt.

Marc

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



Re^7: experiment (Gloinson,  2. Jan 2002, 14:58:50):
~#! rn=Zarniya rt=1009971922 rg=kochrezepte
~#! tid=1009883977
Nur weil es das auf einem heutigen mittelalterlichen Markt gibt zeigt das noch
nicht viel. IMHO ist das Prinzip des getrennten Ofens oder der vorsichtig
beheizbaren Brutzelplatte fuer die Zubereitung einer "Pizza" auch nicht
trivial und damit bis vor einiger Zeit den etwas betuchteren Leuten
vorbehalten.

Gloin(son)

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



Re^8: experiment (Anthea,  2. Jan 2002, 16:26:41):
~#! rn=Gloinson rt=1009979930 rg=kochrezepte
~#! tid=1009883977
So die "gut belegte und mit vielen Geschmacksvarianten versehene" Pizza ist
tatsaechlich eine sehr junge Erfindung und kommt scheinbar wirklich aus den
USA. Es gab in Deutschland schon massenweise Pizzerien mit diesem Zeuch bevor
die Italiener in Italien mitgekriegt hatten, was da so laeuft.

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



Re^9: experiment (Zarniya,  3. Jan 2002, 08:37:02):
~#! rn=Anthea rt=1009985201 rg=kochrezepte
~#! tid=1009883977
Was Amerikaner so unter Pizza verstehen, kann man an dieser leider sehr
verbreiten Kette mit den Huetten sehen, wo viele Deutsche immer noch denken,
dass es um Huete geht..... BAH!

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



Re^10: experiment (Grimmborn,  3. Jan 2002, 08:38:58):
~#! rn=Zarniya rt=1010043422 rg=kochrezepte
~#! tid=1009883977
Wieso? Geschmacklich gesehen halte ich es fuer ziemlich wahrscheinlich, dass
es dort um Huete geht...

GdA

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



Re^11: experiment (Schleicher,  3. Jan 2002, 13:23:30):
~#! rn=Grimmborn rt=1010043538 rg=kochrezepte
~#! tid=1009883977
Hmm, seit wann es Pizza gibt? Oder gebackenen Teig mit Belag? Sehr sehr lange
denke ich... ich schmeiss einfach mal die Begriffe Flammkuchen und
Zwiebelkuchen in die Runde wenn ich mich recht irre gibt es diese beiden
Gerichte schon seit dem Mittelalter...

Schleicher hungrig

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



Re^8: experiment (Qitess, 13. Jan 2002, 18:46:20):
~#! rn=Gloinson rt=1009979930 rg=kochrezepte
~#! tid=1009883977
quark. brot bzw pizza muss man nicht in einem geschlossenen ofen backen.
macht man das ganze auf einem geheizten stein ist es in etwa das gleiche.
packt man den teig (auch mit belag) in ton oder in aehnliche sache, dann hat
man einen quasi mini ofen.
und jetzt sag nicht, dass es den betuchten leuten vorbehalten war, mahlzeiten
in matsche einzuwickeln..
ausserdem kann man auch mit den simplen mitteln erdloch und kohlehaufen
_vorsichtig_ eine brutzelplatte beheizen.
QI**

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



Gebackenes Kamel (mit Fuellung) (Cuchullin, 17. Jan 2002, 20:50:48):

GEBACKENES KAMEL (MIT FUELLUNG)

Fuer ca. 400 Personen:
     4 Trappen, gereinigt und gerupft,
     2 Schafe
     1 grosses Kamel
   500 Datteln
   200 Regenpfeifereier
    20 Karpfen
       div. Gewuerze

Man grabe ein Feuerloch. Flammenmeer auf eine ca. 1m tiefe Lage
gluehender Kohlen hinunterbrennen lassen. Die Eier separat hart-
kochen. Die geschuppten Karpfen sodann mit geschaelten Eiern und
den Datteln fuellen. Die fein gewuerzten Trappen mit den gefuellten
Karpfen fuellen. Schafe mit den gefuellten Trappen fuellen, sodann
Kamel mit den gefuellten Schafen fuellen. Das Kamel kurz ansengen,
dann mit Doumpalmenblaettern umwickeln und in der Glut vergraben.
Zwei Tage lang backen, Als Beilage Reis servieren.

[Aus: T. Coraghessan Boyle, Wassermusik] 

Cuchullin (autsch ;))

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



Re: Gebackenes Kamel (mit Fuellung) (Montanus, 17. Jan 2002, 21:29:00):
~#! rn=Cuchullin rt=1011297048 rg=kochrezepte
~#! tid=1011297048
rufe Oetti nach Kamelherde! :-)

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



Re: Re: Gebackenes Kamel (mit Fuellung) (Wurzel, 19. Jan 2002, 00:54:58):
~#! rn=Montanus rt=1011299340 rg=kochrezepte
~#! tid=1011297048
kann man die karpfen nicht durch was anderes ersetzen? fisch kann man nicht
essen, sagt humni. da stimme ich ihm ausnahmsweise zu.

wurzel

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



Re: experiment (Rakal,  4. Feb 2002, 13:39:20):
~#! rn=Wurzel rt=1009883977 rg=kochrezepte
~#! tid=1009883977
Auch, wenn der Thread vermutlich laengst zu Ende ist, dieser um ein anderes
Thema ging und die meisten mit der Beschreibung der Kuchenform etwas
anzufangen wussten... Meine Mum nennt sowas 'Springform', da man deren Rand
nach dem Backen aufspringen laesst

Rakal.

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



Re: Re: experiment (Mupfel,  4. Feb 2002, 23:28:01):
~#! rn=Rakal rt=1012826360 rg=kochrezepte
~#! tid=1009883977
Hm ich glaub das ist tatsaechlich auch die technische Bezeichnung dafuer.

-mupfel-
btw: wieso heissen Springbroetchen Springbroetchen? Aufgesprungen sehense ja
eigentlich nicht aus...

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



Gemischtcurry (Grimmborn, 25. Feb 2002, 16:38:34):
Hier kommt das Curry"rezept", das ich vergangenes WE gekocht habe. Ob es mit
dem von Elisabeth zu tun hat oder nicht weiss ich nicht.

Ein Stueck tote Kuh nehmen (sehr indisch, ja. Aber der Braten, der im
Kuehlschrank war war eh ein bischen gross), in nicht zu grosse Wuerfel
schneiden. Anbraten, zwei gewuerfelte Zwiebeln zugeben. Ein gutes halbes
Glaeschen St. Michaels (das ist die Marke von Marks & Spencer) scharfe
Currypaste zugeben, mit rund nem halben Liter Wasser auffuellen. Vier
getrocknete Chillischoten zerkruemeln, dazugeben. Eine groessere
Suesskartoffel (die wog gut 400g) wuerfeln und ebenso wie eine in Stuecke
geschnittene rote Paprika dazugeben. Einen guten Schuss Tomatenmark zum Binden
der Sosse (haette ich mit anbraten sollen, habs aber vergessen). 15 min mit
Deckel koecheln lassen. Basmatireis waschen und aufsetzen, kochen, wenn er al
dente ist abgiessen, im Reiskochtopf Butter zerlassen, den Reis darin nochmal
anduensten. Behaupten dass das Essen fertig ist, auf den Teller haeufen,
essen.

Grimmborn der Atheist

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



Re: Gemischtcurry (Grimmborn, 25. Feb 2002, 16:40:10):
~#! rn=Grimmborn rt=1014651514 rg=kochrezepte
~#! tid=1014651514
Hmpf, das ist nicht eindeutig, also: Curry 15 min koecheln lassen. _Dann_ den
Reis vorbereiten. D.h. das Curry koechelt in der Summe dann knapp ne
Dreiviertelstunde oder so vor sich hin.

GdA

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



Epoisses-Soufflee (Grimmborn, 21. Jul 2002, 13:16:56):
Zutaten: 
Vier Eier, getrennt
300 ml Milch
2 Essloeffel Butter
60 ml Mehl
120g Epoisses (ein sehr guter, sehr aromatischer, sehr fliessender Kaese)
60 ml gehackte Walnuesse

Eiweiss steif schlagen. Eigelb mit 60 ml der Milch (in einem anderen Gefaess!)
verruehren. Butter in einem Topf schmelzen, Mehl hinzuruehren, mit dem Rest
der Milch auffuellen (eine Bechamelsosse, halt). Den Epoisses in kleinen
Stuecken hinzuruehren bis er schmilzt, mit Pfeffer, Salz und Muskat
abschmecken. Lecker.
Vom Herd nehmen und die Eigelb und die Walnuesse in die erstaunlich feste
Bechamelsosse (eher: Bechamelcreme) einruehren. Vorsichtig ein Viertel der
Eiweisse hinzuruehren, dann den Rest unterheben. In eine gebutterte und mit
Mehl ausgeklopfte Souffleeform geben, in den auf 190 Grad vorgeheizten Ofen
(keine Umluft!) auf die untere Schiene stellen. Jetzt eine gute Stunde lang
(ich sag mal 75 min, aber ich war vom Rezept irritiert und hab nach 45 min
reingeguckt, was ein Fehler war) drinnen lassen, nicht(!) die Tuer
zwischendurch oeffnen. Das Soufflee sollte sauber aufgehen und wird relativ
schnell goldbraun. Nicht nervoes werden, dunkler wirds erstmal nicht. Nach dne
75 min rausnehmen, sofort servieren und aufessen. 

Grimmborn der Atheist

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



Chocolate Chip Cookies (Rochus, 10. Aug 2002, 16:17:47):
CHOCOLATE CHIP COOKIES
 
Materials:
 
1.) 532.35 cm3 gluten
2.) 4.9 cm3 NaHCO3
3.) 4.9 cm3 refined halite
4.) 236.6 cm3 partially hydrogenated tallow triglyceride
5.) 177.45 cm3 crystalline C12H22O11
6.) 177.45 cm3 unrefined C12H22O11
7.) 4.9 cm3 methyl ether of protocatechuic aldehyde
8.) 2.0 CaCO3 encapsulated avian albumen-coated protein
9.) 473.2 cm3 theobroma cacoa
10.) 236.6 cm3 de-encapsulated juglans regia fruits (sieve size 10)
 
Procedure:
 
To a 2-L jacketed round reactor vessel (reactor #1) with an overall heat
transfer coefficient of about 100 Btu/F-ft2-hr, add ingredients (1), (2),
and (3) with consistent agitation. In a second 2-L reactor vessel (reactor #2)
with a radial flow impeller operating at 100 rpm, add ingredients (4), (5),
(6), and (7), processing until the mixture is homogeneous. Add to ingredients
in reactor #2, ingredient (8) and three volumetrically equal portions of
the homogeneous mixture in reactor #1, processing after each addition until
the mixture is again homogeneous.
 
Upon completion of the previous step, add ingredients (9) and (10), slowly
with constant agitation at an impeller rate of 50 rpm. Care must be taken
at this point in the reaction to control any temperature rise that may be
the result of an exothermic reaction.
 
Using a screw extrude attached to a #4 nodulizer, place 10.0 cm3 nodules of
the mixture in ordered ranks on a 316SS sheet (30.0 cm X 60.0 cm).
Heat in a 460 K oven for a period of time that is in agreement with
Frank & Johnson's first order rate expression (see JACOS, 21, 55), or until
golden brown.
 
Once the reaction is complete, place the sheet on a 297 K heat-transfer table,
allowing the product to come to thermal equilibrium with ambient
atmospheric temperature.                                                      

(Von slashdot.org)

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



Re: Chocolate Chip Cookies (Zarniya, 12. Aug 2002, 09:38:40):
~#! rn=Rochus rt=1028989067 rg=kochrezepte
~#! tid=1028989067
Nettes Rezept...

Bei dem Thema faellt mir ein, hat einer von Euch vielleicht den Text von dem
Song der WISEGUYS mit dem Rezept der Choclate Chips?

Marc

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



Kuerbissuppe (Kadabra,  5. Nov 2002, 20:08:55):
Man nehme einen schnuckeligen Muskatkuerbis, schleppe ihn
nach Hause, saege ihn auf und kratze Kerne und Fasern raus.
Den Deckel in feine Wuerfel schneiden, zwei gelbe Paprika
ebenfalls fein wuerfeln und ausserdem 4 Zwiebeln.
In 4 Essloeffeln Distel- oder Sojaoel erst die Zwiebeln anbraten,
dann die Paprika und zum Schluss die Haelfte der Kuerbiswuerfel.
Das Ganze dann mit Gemuese- oder Fleischbruehe aufgiessen,
eine halbe Stunde kochen lassen und anschliessend mit
dem Puerierstab puerieren. Mit Salz, frischgemahlenem Pfeffer und
etwas geriebenem Ingwer und Muskatnuss abschmecken, restliche
Kuerbiswuerfel hinzufuegen und nach 20 Min heiss servieren.
Dazu etwas Creme Fraiche reichen und gruene Kuerbiskerne.
Bon Appetit!

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



Schmorkuerbis (Kadabra,  5. Nov 2002, 20:15:25):
Oh - da war ja noch der Rest vom Muskatkuerbis :-)
125 gr. Butter schmelzen, mit 100 gr. braunem Zucker, einem
halben Teeloeffel Nelkenpulver, einem halben Teeloeffel Muskat
und einem halben Teeloeffel Zimt vermischen. Dieses Zeugs
innen auf den Kuerbis streichen, etwas Ahornsirup auf den
Rand streichen und anschliessend den Rand mit duennen
Speckscheiben belegen. Den Kuerbis auf ein tiefes Backblech
stellen, c.a. 3cm hoch kochendes Wasser angiessen und ab in 
den vorgeheizten Ofen bei 220 grad. Nach 1 Stunde mal mitm
Messerchen pieken - dann duerfte er durch sein. Die Sauce die sich
im inneren des Kuerbis' gesammelt hat in eine Schuessel geben und
zusammen mit dem Speck extra servieren. Aus dem Kuerbis Scheiben
schneiden und fertig :-) **

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



Schmorkuerbis Nachtrag (Kadabra,  5. Nov 2002, 20:21:17):
Aeh noch besser schmeckt es wenn man nicht vergisst in 
die Butter-Zuckerpampe noch einen halben Teeloeffel Salz zu
ruehren .... Ich bin soooo vergesslich :-)

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



Re: Kuerbissuppe (Gnome,  5. Nov 2002, 20:46:21):
~#! rn=Kadabra rt=1036523335 rg=kochrezepte
~#! tid=1036523335
mit disteloel braten? die kuerbissuppe mit (fleisch)bruehe versauen?
zwiebeln in kuerbissupee?

ohje.

kuerbissuppe:
------------

egal, welchen kuerbis man nimmt, man sollte nur relativ viel nehmen,
er schrumpft etwas beim kochen.
das kuerbisinnere (ohne kerne) in wuerfel schneiden und ab in den
topf damit. etwa zwei finger breit wasser dazugeben, deckel drauf,
warten. nach einiger zeit anfangen, den weichgewordenen kuerbis
entweder zu puerieren oder zu zerstampfen. wenn kuerbisstueckchen
ueberbleiben, ist das nicht weiter schlimm. salz und pfeffer nach
belieben dazugeben. ein teeloeffel muskat und VIEL frisch
im moerser zerstampften kardamon (das gibt erst den kick) sind ein muss.
optional, aber genial ists mit frischem, halbzerstampften rotem pfeffer.
ein ordentlicher schlag butter oder creme fraiche erledigen den rest.
beim servieren gruene kuerbiskerne oben drauf.
that's it.

gnOme

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



Re: Re: Kuerbissuppe (Grimmborn,  5. Nov 2002, 20:50:15):
~#! rn=Gnome rt=1036525581 rg=kochrezepte
~#! tid=1036523335
Also, ich lese diese Rezepte ja mit Interesse...
Richtige Kuerbissuppe allerdings geht so:
1/3 Kartoffeln, 2/3 Hokkaidokuerbis in Wuerfel schneiden, mit wenig Wasser,
Salz und Bruehe (ich hab Liebigs Fleischextrakt genommen, aber das ist
natuerlich kein Muss) aufsetzen, leicht vor sich hinkoecheln lassen. Etwas
Chili zugeben. Puerieren. Mit Chili abschmecken. Einen Schuss Sahne zugeben.
Wieder mit Chili abschmecken. Servieren. 

GdA

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



Re: Re: Kuerbissuppe (Gnome,  5. Nov 2002, 20:52:36):
~#! rn=Gnome rt=1036525581 rg=kochrezepte
~#! tid=1036523335
achja... wer meint, kuerbisse seien nicht essbar oder schmecken nicht
oder ueberhaupt, liegt absolut falsch.
ZIERkuerbisse schmecken nur begrenzt gut, das ist richtig.
und was den geschmack von normalen kuerbissen angeht: vergesst, was
ihr bisher ueber kuerbisse zu wissen glaubt und probiert es einfach
aus. mit diesem eklig eingelegte zeug, wo einem schon beim geruch
das wuergen kommt, hat kuerbissuppe nichts zu tun.
jedenfalls nicht, wenn man sie richtig macht. ;-)

gnOme

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



Re^3: Kuerbissuppe (Gnome,  5. Nov 2002, 20:54:40):
~#! rn=Grimmborn rt=1036525815 rg=kochrezepte
~#! tid=1036523335
gut, kartoffeln _kann_ man gelten lassen, das gibt der suppe eine
gewisse sehmigkeit, die aber nicht jedem behagt.
kuerbis pur reicht... und bitte lasst die bruehe weg. *schuettel*

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



Re^4: Kuerbissuppe (Grimmborn,  5. Nov 2002, 20:57:44):
~#! rn=Gnome rt=1036526080 rg=kochrezepte
~#! tid=1036523335
Kuerbis pur wird mir zu suesslich, aber ich habs bisher auch nur mit Hokkaido
versucht. Durch die Kartoffeln wird das ein bischen abgemildert.

GdA

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



Re^4: Kuerbissuppe (Amaryllis,  5. Nov 2002, 20:57:56):
~#! rn=Gnome rt=1036526080 rg=kochrezepte
~#! tid=1036523335
Kochrezepte sind genauso Geschmackssache wie die Tatsache, ob man Kuerbis mag
oder nicht. Wieso willst Du also Kadabra unbedingt absprechen, in _ihre_
Kuerbissuppe Bruehe zu geben?

Ich will mich ja nich einmischen, aber ich finds grad interessant,
verschiedene Rezepte zum gleichen "Thema" zu lesen und ggf. auch mal
auszuprobieren. Und was mir dann persoenlich am besten schmeckt, wird man
sehen - und wenns das mit Bruehe ist :-)

Ama*

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



Re^3: Kuerbissuppe (Gloinson,  5. Nov 2002, 21:58:35):
~#! rn=Gnome rt=1036525956 rg=kochrezepte
~#! tid=1036523335
Ich intperetiere das als Einladung zu einer Kuerbissuppe in naechster Zeit ;)

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



Re^4: Kuerbissuppe (Gnome,  5. Nov 2002, 21:59:59):
~#! rn=Gloinson rt=1036529915 rg=kochrezepte
~#! tid=1036523335
wenn DU den kuerbis organisierst, mache ich sogar eine in thale. :)

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



Re^5: Kuerbissuppe (Gloinson,  5. Nov 2002, 22:03:29):
~#! rn=Gnome rt=1036529999 rg=kochrezepte
~#! tid=1036523335
Schnell meine Eltern anrufen ob noch eine der grossen Kullern da ist :)

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



Re^6: Kuerbissuppe (Anthea,  6. Nov 2002, 09:24:48):
~#! rn=Gloinson rt=1036530209 rg=kochrezepte
~#! tid=1036523335
Ich hab am Wochenende einen Gruenen Kuerbis gegessen. Echt lecker das Dingen,
aber so gar nicht wie ein normaler Kuerbis. Das Fruchtfleisch war nicht so
faserig wie bei den meisten anderen, und im Geschmack kam es eher an Maroni
ran als an "normalen" Kuerbis. Echt gut mal so zur Abwechslung ;)

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



Re^7: Kuerbissuppe (Gloinson,  6. Nov 2002, 12:15:59):
~#! rn=Anthea rt=1036571088 rg=kochrezepte
~#! tid=1036523335
Leider haben meine Eltern die grossen gelben Kullern auch schon verwurstet.
Naja, ist eh zu kalt geworden um sie draussen zu lagern.

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



Re^8: Kuerbissuppe (Montanus,  6. Nov 2002, 19:59:22):
~#! rn=Gloinson rt=1036581359 rg=kochrezepte
~#! tid=1036523335
Wie, Kuerbisse verwursten? Das moechte ich nciht probieren.

Meine Rezeptvariation:
2 Pfund Hokkaido, ein Pfund Kartoffeln und etwas Gemuese der Saison:

eine halbe Zwiebel in Butter anduensten, dann nach und nach 2 Tomaten, eine
geraspelte Karotte, 100g frischen Ingwer, ein wenig Knofi und die
kleingewuerfelten Kartoffeln und Kuerbis dazugeben und mitduensten.
Ruhig 20 Min oder laenger duensten, dann mit 1,5 l Wasser aufgiessen,
aufkochen lassen und puerieren.
Mit Salz, Pfeffer, Muskat abschmecken, mit Saurer Sahne oder Kuerbisoel
servieren. Petersilie taugt als Dekoration, ebenso wie frisch angebackene
Croutons.

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



Re^9: Kuerbissuppe (Wurzel,  7. Nov 2002, 12:21:37):
~#! rn=Montanus rt=1036609162 rg=kochrezepte
~#! tid=1036523335
kuerbissuppe ist nicht wirklich meine spezialitaet, neige aber (mit wenigen
abwandlungen) zu grimmborns variante. wobei ich nicht unbedingt auf hokkaido
bestehen wuerde, es ist sowieso etwas vermessen zu behaupten das sei das
einzig wahre wenn man noch nichts anderes probiert hat. bruehe mach ich
lieber selbst, extrakte gefallen mir da nicht so gut. und mit gewuerzen ist
das eh geschmackssache.

wurzel hat eh keine zeit mehr zum kochen

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



Back(?)rezept (Qitess,  7. Nov 2002, 20:51:37):
Die Toffi-Fee-Torte, oder auch Die Torti-Fee:

Man benoetigt:
1 Tortenboden (selbstgemacht oder gekauft - is wurscht)
1 Pckg. Karamelpudding
1 kleines Toepfchen Pickerd (oder sonstwas) Kakao-Glasur
1 Pckg. klaren Tortenguss
1,5 - 2 Pckg. Toffi-Fees
2 EL Zucker
Schokostreusel

Auf den Tortenboden kommt zuerst die Schokocreme und zwar 'kariert' also immer
kreuzweise mit der creme Linien ziehen.
Den Karamelpudding nach Packungsangaben fertigstellen und erKALTen lassen.
die erste Schicht Pudding auf den Tortenboden mit dem Schokospurkaromuster
geben. wichtig ist, dass die Schokolade kalt und hart geworden ist
(Kuehlschrank).
Auf den Pudding wieder so ein Karomuster ziehen.
Wenn die Schokolade kalt und hart ist, wieder eine Schicht Pudding.
...Und immer so weiter bis Pudding und Schokoladenguss alle sind. Den Pudding
immer schoen duenn ausstreichen.

Ach, ich habe was vergessen:

Als allererstes wird ein Kranz aus aufrecht stehenden  Loeffelbiskuitdritteln
auf den Tortenboden gestellt (am Rand, damit mehr 'Pampe' auf den Boden
passt...)

Wenn Pudding und Schokocreme alle sind Torte mit Toffi-Fees und
Schokostreuseln frei nach Belieben garnieren.

Den Tortenguss nach Packungsangaben machen und ueber die Toffi-Fees geben.

Ein herrlich karamelig-schokoladiger Kuchen ist fertig.

Mahlzeit.

QI**

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



Re: Back(?)rezept (Zarniya,  8. Nov 2002, 10:09:01):
~#! rn=Qitess rt=1036698697 rg=kochrezepte
~#! tid=1036698697
Tortenguss auf Schokolade??????????? Du bist pervers! Meine Freundin
(Konditorin) hat das gelesen .... Kopfschuetteln ist da ne milde Beschreibung
der Reaktion! :-)

Marc

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



Re: Re: Back(?)rezept (Qitess,  8. Nov 2002, 12:17:39):
~#! rn=Zarniya rt=1036746541 rg=kochrezepte
~#! tid=1036698697
Tja, Konditoren sind eben auch bloss Handwerker, und die sind ja bekannt
dafuer, dass sie sehr selten mal was neues ausprobieren.
Ohne jetzt deiner freundin zu nahe treten zu wollen.
die torte ist optisch sehr gut angekommen, und sie hat erstklassig geschmeckt
und ist ratzefatz aufgegessen worden. und zwar im nullkommanichts und obwohl
einige der mitessenden eigentlich satt waren.

noch ein kleiner tip: zur verfeinerung des tortengusses kann man statt des
zuckers (den man von der packungsanleitung dranmachen soll) auch karamel- oder
vanille-backoel dranmachen.

QI**

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



Re^3: Back(?)rezept (Grimmborn,  8. Nov 2002, 12:22:09):
~#! rn=Qitess rt=1036754259 rg=kochrezepte
~#! tid=1036698697
Du machst Tortenguss also mit 100 ml Vanillebackoel statt 100g Zucker? Und das
geht/schmeckt?

GdA

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



Re^4: Back(?)rezept (Humni,  8. Nov 2002, 13:23:14):
~#! rn=Grimmborn rt=1036754529 rg=kochrezepte
~#! tid=1036698697
Also, ich denke Handwerker sollte man nicht unterschaetzen. Vor allem wenn es
um Erfindungsreichtum geht, und wenn ich die Kraetionen gerade von einem
Konditormeiter in einer Grossbaeckerei sehe wo ich mal gejobbt habe... also
das war wirklich ziemlich genial, und das ,,gemeine Volk'' hat die gekauft wie
doof, gerade die nicht Standardkuchenstuecke.

Nur meine Idee, aus den Nussecken durch eine andere Schoko-Umhuellung ,,Star
Trek Kommunikatoren'' zu machen stiess nicht auf Gegenliebe. Allerdings waren
das auch keine Konditoren, sondern meine dummen Kolleginnen, die das fuer
bescheuert hielten. Dem Konditormeister hab ich das gar nicht mehr gezeigt,
sondern lieber aufgegessen.

Humni

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



Re^4: Back(?)rezept (Qitess,  9. Nov 2002, 10:49:32):
~#! rn=Grimmborn rt=1036754529 rg=kochrezepte
~#! tid=1036698697

AAAARGH!

ich nehme statt 2 EL Zucker ein halbes (je nach Belieben auch ein ganzes)
Flaeschchen Backoel. Du Hampel! Und in den Flaeschchen sind ca.2 ml
Fluessigkeit drin, glaub ich.

Achja - und die Handwerker, die ich so kennengelernt habe sind eher unkreativ
gewesen ....

QI**

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



Re: Re: Kuerbissuppe (Gnome, 10. Nov 2002, 15:01:43):
~#! rn=Gnome rt=1036525581 rg=kochrezepte
~#! tid=1036523335
tja, also gleich 2 fehler in EINEM artikel sind wirklich selten,
passieren mir aber auch mal :)

zum ersten heisst es "kardamom" und zum zweiten wird es gar nicht
verwendet. es muss statt kardamom naemlich koriander rein. VIEL.
naja, faengt auch mit k an... *hust* *rausred*

wo ist die asche? (c) anatol

gnOme

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



Spargelzeit! (Bambulko, 14. Apr 2003, 19:26:13):
Die Spargelzeit faengt an, aber mir schmeckt der Spargel noch nicht so
richtig. Um den Spargel voll geniessen zu koennen muss ich vorher in der MPA
die alljaehrliche Diskussion "Wo-kommt-der-beste-Spargel-her?" lesen. Also
fangt mal an :-)

Bambulko

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



Pangalaktischer Donnergurgler (Whitetiger, 12. Jul 2003, 13:58:10):
Man nehme den Inhalt einer Flasche Alten Janx-Geist.
Man fuege ein Teil Wasser aus den Meeren von Santraginus V hinzu - Oh, dieses
santraginesische Meerwasser. Oh, diese santraginesischen Fische!!!
Man lasse drei Wuerfel arkturanischen Mega-Gin in der Mischung zergehen (sie
muss gut gefroren sein, sonst verfliegt das Benzin darin).
Nun lasse man vier Liter fallianisches Sumpfgas hindurchperlen - zur
Erinnerung an all die gluecklichen Anhalter, die vor Freude in den Suempfen
von Fallia starben.
Ueber einen umgedrehten Silberloeffel lasse man nun ein Teil qualaktinischen
Hyperminz-Extrakt troepfeln, der nach allen dunklen, zu Kopf steigenden
qualaktinischen Zonen duftet: zart, suess und mystisch.
Man werfe den Zahn eines algolianischen Sonnentigers hinein. Schau zu, wie er
sich aufloest und sich die Feuer der algolianischen Sonne tief im Herzen des
Drinks verteilen.
Ein Spritzer Zamphuor.
Zum Schluss eine Olive.
Trinken ... aber ... sehr vorsichtig ...


Quelle: "Per Anhalter durch die Galaxis" von Douglas Adams.

WhiteTiger

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



Chili con Carne (mittelscharf) (Rochus,  4. Aug 2003, 00:34:49):
Also, das zweite Brieselang-Chili enthielt:

Zutaten:
750 g Rindergehacktes
2 Dosen Kidney-Bohnen
1 Dose Chili-Bohnen
3 Paprika (Rot/Gruen/Gelb)
1 1/2 Dosen Mais
4 1/2 Packungen passierte Tomaten (a 500 ml)

1 Glas Jalapenos
4 scharfe Peperoni
7 kleine getrocknete Chilies (Thai-Chili)

Zum Wuerzen:
Salz
Pfeffer (wesentlich mehr weisser als schwarzer)
Paprika (edelsuees)
Cumin (aka. Kreuzkuemmel) in groesseren Mengen
Oregano, ebenfalls in grosser Menge
Zitronensaft (kraeftiger Schuss)
Majoran
Worcester-Sauce
Koriander
Basilikum
3 Lorbeer-Blaetter
Ach, bei den Hauptzutaten fehlen noch 5 mittlere Zwiebeln
und ne halbe Tube Tomatenmark :)

Zubereitung:
Zwiebeln und Paprika kleinschneiden.
Etwas mehr Oel erhitzen als reichen wuerde den Topfboden
zu bedecken, Zwiebeln hinzugeben, nach wenigen Minuten dann
(die Zwiebeln sollten nicht oder nur sehr leicht braun sein)
das Rindfeisch von allen Seiten anbraten, bis nichts rotes
mehr zu sehen ist.
Anschliessend wieder mit Tomatenmark rot faerben :)
Dann zuerst eine Packung passierte Tomaten hinzugeben,
kurz warten bis es kocht, danach die Dose Jalapenos
(Die Schaerfe soll ja fruehzeitig ins Fleisch ziehen :)
In einem Ruehrbecher dann eine halbe Packung passierte
Tomaten, die Peperoni und die (zuvor in warmen Wasser
eingeweichten) getrockneten Chilies mit einem Puerierstab
zermixen (Ihr wollt nicht auf groessere Stuecke der
getrockneten Chilies beissen :), in den Topf damit.

Nach und nach die anderen Zutaten hinzugeben (die Tomaten
am besten immer dann wenn es dickfluessig wird).
Bei den Kidney-Bohnen hab ich diesmal von einer Dose den
Saft abgegossen, von einer Dose nicht. Wer nicht ganz so
erfahren im Abschaetzen des Fluessigkeitsbedarfs ist
sollte etwas Gemuesebruehe (mit Bruehwuerfeln) vorbereiten
um im Bedarfsfall auffuellen zu koennen.

Gesamtkochzeit sollte etwa 1 Stunde sein, etwa 15 Minuten
vor Ende der Kochzeit wuerzen.
(Die Lorbeer-Blaetter sollten gleich nach dem Fleisch rein,
alle anderen Gewuerze am Ende)
Den groessten Teil am Geschmack machen Salz, Cumin,
Oregano, Worcester-Sauce und Zitronensaft aus.
Majoran, Koriander und Basilikum gehoert zur Feinabstimmung :)

Variationen:
Das MILDE Chili hatte keine Peperonis oder getrocknete Chilies.
NOCH milder wird es mit Kidney- statt Chili-Bohnen, die
Jalapeno-Menge sollte man nicht unter ein halbes Glas
auf 500g Fleisch sinken lassen.
Das milde Chili entsprach auch ungefaehr dem letzen in
Berlin, woran sich sogar ausgesprochene nicht-scharf-Esser
gewoehnen konnten, und die mildeste Variante dem in Halle.

Schaerfer als mit 12 Peperonis, 15 getrockneten Chilies
und 2 Dosen Chili-Bohnen (auf 600g Fleisch) habe ich noch
nicht probiert und moechte ich vor einer Indien-Reise
auch nicht empfehlen :) (Das entspricht dem letzten
scharfen Chili in meiner Wohnung - Humni konnte es
zwar ohne Brot essen, aber das ist schon mutig :)

Ach ja, hab bei den Zutaten ja noch was vergessen:
Mindestens 2 Fladenbrote zu dem mittelscharfen
servieren, sonst spucken die Gaeste Feuer :)
Fuer die schaerfste Variante rechnet mal ein
halbes Fladenbrot pro Teller...

PS:
Capsaicin ist nicht wasserloeslich, aber fettloeslich.
Das heisst, es wird bei Wasser-basierten Getraenken
nciht weggespuelt, da werden nur die Geschmacksknospen
freigespuelt und es wird NOCH schaerfer...
Deshalb hilft Milch/Joghurt oder aehnliches da besser.
Brot saugt die Schaerfe auch gut weg.
Also: Finger weg von Bier oder Cola (vor allem
von MEINER Cola! :)

  Rochus

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



rindfleischpfanne szechuan (Rochus,  6. Aug 2003, 12:08:06):
~p
Zutaten (fuer 6 Personen):
900g mageres Steakfleisch
Pflanzenoel
Sojasauce
3 Fruehlingszwiebeln
4 kleine getrocknete (Thai)-Chilies
Cayenne-Pfeffer
Salz
Cumin (aka. Kreuzkuemmel)
Koriander
Majoran

Fleisch gut durchkueheln, in duenne Streifen schneiden.
Ca. 3 EL Pflanzenoel und 2 EL Sojasauce mit sehr klein gehackten
Fruehlingszwiebeln gruendlich verruehren und unter das
Fleisch mischen, anschliessend mindestens 2 Stunden
zugedeckt zum Marinieren wegstellen.

Chilies zerstossen und mit etwa 1-2 TL Cayenne-Pfeffer mischen.
Etwas Oel im Wok erhitzen (grosse Pfanne tuts auch),
das Chili/Pfeffer-Gemisch etwa 30 Sekunden darin schwenken.
Das Fleisch hinzugeben, kurz braten bis es gar ist
(sollte nicht viel laenger als 5 Minuten dauern wenn die Streifen
duenn genug sind).
(Marinadenueberschuss mit hinzugeben)
Mit Salz, Cumin, Koriander und Majoran wuerzen.

Am besten serviert man das Fleisch auf Nudeln
(chinesische Glasnudeln, ersatzweise gehen auch lange Eiernudeln,
z.B. Bandnudeln)

Im Originalrezept sollte man noch 3 TL Sesamoel nach dem
braten unterruehren, das hatte ich aber nicht :)
Dafuer waren Koriander, Cumin und Majoran nicht im Originalrezept.

Viel Spass :-)

  Rochus

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



Re: rindfleischpfanne szechuan (Rochus,  6. Aug 2003, 12:10:00):
~#! rn=Rochus rt=1060164486 rg=kochrezepte
~#! tid=1060164486
Ach ja, und im Originalrezept waren Szechuanpfefferbeeren
statt dem Chili/Cayenne-Pfeffer-Gemisch :-)

  Rochus.

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



Re: Re: rindfleischpfanne szechuan (Croft,  6. Aug 2003, 12:20:26):
~#! rn=Rochus rt=1060164600 rg=kochrezepte
~#! tid=1060164486
Dann fehlen nur noch die Rezepte fuer die Muffins & den
Tomaten-Oliven-Feta-Nudelsalat.  Maharet? :o)

Croft

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



Muffins?!? (Apollonia,  6. Aug 2003, 12:21:23):
Also mit Muffinrezepten kann ich Dich totwerfen...

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



Re: Muffins?!? (Croft,  6. Aug 2003, 12:21:47):
~#! rn=Apollonia rt=1060165283 rg=kochrezepte
~#! tid=1060165283
Ich will nicht Muffinrezepte sondern _das_ Muffinrezept :-)


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



Re: Re: Muffins?!? (Maharet,  6. Aug 2003, 16:06:54):
~#! rn=Croft rt=1060165307 rg=kochrezepte
~#! tid=1060165283
Ok, zur Kenntnis genommen und in Arbeit.

:o) Maharet

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



Schoko-Muffins (Maharet,  6. Aug 2003, 16:18:55):
Schoko-Muffins 

190g Mehl, 
2 1/2 Tl Backpulver, 
3 El Kakao, 
75g Schokoladenstueckchen 
1 Ei 
120g Zucker, 
1 Paeckchen Vanillezucker, 
80ml Sonneblumenoel 
240 bis 300ml reine Buttermilch 

1. Die trockenen Zutaten in einer Schuessel mischen.
2. Die feuchten Zutaten in einer anderen Schuessel mischen (nur mit einem
Loeffel umruehren, nicht das Ei schaumig schlagen)
3. Wenn der Ofen vorgeheizt und die Muffinsform eingefettet ist, die trockenen
in die feuchten Zutaten geben und unterheben.  Nur mit einem Loeffel arbeiten,
bloss kein Handruehrgeraet benutzen, sonst werden sie nicht so schoen locker. 
Muffins sind eben gerade _keine_ kleinen Ruehrkuchen.
4. Bei ca 190  20-25 (eher 22 Minuten) backen.
5. 10 Minuten in der Form kuehlen lassen, dann rausnehmen (nicht eher, sonst
zerfallen sie nur) und auf einem Kuechenblech auskuehlen lassen.  
**r

Maha

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



Re: Schoko-Muffins (Apollonia,  6. Aug 2003, 16:19:57):
~#! rn=Maharet rt=1060179535 rg=kochrezepte
~#! tid=1060179535
Und die gehen ohne Natron auf, wenn Du Buttermilch nimmst? *wunder*

Apo*
die Muffinsbaeckerin in Person *g*

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



Re: Re: Schoko-Muffins (Maharet,  6. Aug 2003, 16:20:51):
~#! rn=Apollonia rt=1060179597 rg=kochrezepte
~#! tid=1060179535
Dafuer ist das Backpulver da. Das funktioniert :o)

Maha

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



Re: Schoko-Muffins (Croft,  6. Aug 2003, 16:21:29):
~#! rn=Maharet rt=1060179535 rg=kochrezepte
~#! tid=1060179535
Danke!  Nu fehlt nur noch das Nudelsalatrezept in einer sinnvollen
Portionierung :o)

Croft

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



Re^3: Schoko-Muffins (Apollonia,  6. Aug 2003, 16:21:47):
~#! rn=Maharet rt=1060179651 rg=kochrezepte
~#! tid=1060179535
Also ich hau da nen halben TL Natron noch rein und fette nicht das Blech ein,
sondern benutze Foermchen, das geht allerdings nicht mit jedem Teig. Aber ich
hasse es, wenn die Bleche hinterher so eingesaut sind *g*

Apo*

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



Re^4: Schoko-Muffins (Maharet,  6. Aug 2003, 16:23:14):
~#! rn=Apollonia rt=1060179707 rg=kochrezepte
~#! tid=1060179535
Also in dieses Rezept wuerd ich kein Natron tun, wie gesagt, dafuer ist das
Backpulver da.  Das enthaelt doch auch Natron, oder?
Das mit den Papierfoermchen ist Geschmackssache.  Fuers Backen sind die
angenehmer, ich hab samstag maechtig geflucht.  Aber zum Essen find ich es
schoener, wenn man nicht das Papier abziehen muss.

Maha

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



Re^4: Schoko-Muffins (Amazora,  6. Aug 2003, 16:23:28):
~#! rn=Apollonia rt=1060179707 rg=kochrezepte
~#! tid=1060179535
du bist nur zu faul zum spuelen, schwesterherz ;-)
amazora zeigt ihre spuelhaende
,

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



Re^5: Schoko-Muffins (Croft,  6. Aug 2003, 16:25:09):
~#! rn=Maharet rt=1060179794 rg=kochrezepte
~#! tid=1060179535
Imho halten sich die Muffins mit Foermchen auch besser, da sie nicht so
leicht austrocken :-)

Croft

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



Re^6: Schoko-Muffins (Maharet,  6. Aug 2003, 16:26:52):
~#! rn=Croft rt=1060179909 rg=kochrezepte
~#! tid=1060179535
So lange blieben bei mir noch nie Muffins uebrig, als dass ich dazu was sagen
koennte 
o)

Maha

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



Kirschmuffins (Maharet,  6. Aug 2003, 16:27:22):
Kirschmuffins

ca 200 g Sauerkirschen, entkernt (ich nehm die aus'm Glas, anderes Obst geht
auch)
110 g Zucker
280 g Mehl
1/2 TL Natron
1/2 TL Salz
50 g Butter, geschmolzen (oder 40 g Oel)
1 Ei
220-300 g saure Sahne
1 Pkt. Vanillezucker

Zubereitung wie die Schoko-Muffins (s.o.)

Maha

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



Re: Kirschmuffins (Maharet,  6. Aug 2003, 16:28:02):
~#! rn=Maharet rt=1060180042 rg=kochrezepte
~#! tid=1060180042
Bei Mandarinen-Muffins nehm ich statt Vanillezucker Zitronen- oder
Orangenzucker.

Maha

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



Mediterraner Nudelsalat (Maharet,  6. Aug 2003, 16:33:59):
Mediterraner Nudelsalat 

Zutaten fuer 4 Portionen, bei der Party war es die 20fache Menge:

250 g Nudeln, vorzugsweise Penne
250 g Kirschtomate(n), halbiert
125 g Feta, in kleine Wuerfel
100 g schwarze Oliven
1 Zwiebel, gewuerfelt
2 Zehen Knoblauch, zerdrueckt
2 EL Petersilie, gehackt
2 EL Basilikum, gehackt
1/8 Liter Gemuesebruehe
4 EL Essig (zB weissen Balsamico)
5 EL Olivenoel
1 Prise Zucker 
Salz und Pfeffer 

1. Nudeln al dente kochen (ruhig mit mehr Biss als fuers normale
Pastagericht), kalt abbrausen, dass sie schnell abkuehlen
2. Bruehe (kalt), Oel, Essig, Gewuerze und Kraeuter untermischen.
3. Restliche Zutaten unterheben.
4. Moeglichst ueber Nacht im Kuehlschrank ziehen lassen.  Die Fluessigkeit
wird dabei von den Nudeln vollkommen aufgenommen.  Daher am naechsten Tag ggf
nachwuerzen und nochmal Oel zugeben.


Maha

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



Re: Chili con Carne (mittelscharf) (Mupfel,  6. Aug 2003, 22:41:19):
~#! rn=Rochus rt=1059950089 rg=kochrezepte
~#! tid=1059950089
Naja wenn'de damit Grimmborn bewirten willst, nimmt der seine scharfen
Flaeschchen mit, damit "da etwas Schaerfe reinkommt" oder so ;)

-mupfel-

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



Re: Re: Chili con Carne (mittelscharf) (Apollonia,  6. Aug 2003, 22:43:37):
~#! rn=Mupfel rt=1060202479 rg=kochrezepte
~#! tid=1059950089
Mein Kommentar dazu war: Und wo is das jetzt scharf?

Apo*
isst auch nicht grad fuer Normalsterbliche

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



Re^3: Chili con Carne (mittelscharf) (Rochus,  7. Aug 2003, 19:36:16):
~#! rn=Apollonia rt=1060202617 rg=kochrezepte
~#! tid=1059950089
Na, nachdem Leute wie Arkana (die 15 Thai-Chilis im Chili vertraegt),
Orktoeter (Der sich Harissa auftischen laesst) und
Humni (der mein zweitschaerfstes Chili ohne Brot essen konnte)
das MILDE Chili schon etwas stark bei der Hitze fanden,
habe ich mich bei dem schaerferen doch SEHR zurueckgehalten...
Sonst haette ich das doppelte reingetan, nur das haetten
dann nur noch ich, Du und Pitfall essen koennen...
Und selbst mit Pitfall haetten wir nicht den ganzen Topf geschafft :-)

  Rochus

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



Re^4: Chili con Carne (mittelscharf) (Croft,  7. Aug 2003, 22:51:39):
~#! rn=Rochus rt=1060277776 rg=kochrezepte
~#! tid=1059950089
Du hast mich nicht gefragt...

Croft

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



Marinaden (Apollonia,  9. Aug 2003, 22:19:14):
~#! on=Apollonia ot=1060460316 og=www
Auf Wunsch meiner Grillgaeste hier die 3 Marinaden fuers Fleisch (fuer je ca.
1 - 1,5 kg Fleisch):

Die Scharfe

2 Zitronen
250 ml suesse Chilisosse
4 Thai Chilis (okay, bei mir waren's 8)
4 EL Honig
Salz
Pfeffer
2 Zehen Knoblauch

Zitronen auspressen und den Saft mit Honig und Chilisosse verruehren,
Knoblauch und Chilischoten kleinhacken, wuerzen.


Die Asiatische

6 EL Sojasosse
4 EL Honig
4 EL Hoisin-Sosse
4 EL Reisessig oder Weissweinessig
2 EL Reiswein oder trockener Sherry
2 TL Zucker
6 EL Huehnerbruehe

Einfach alles zusammenruehren (c:


Die Suesse

125 ml Ahornsirup
1 Zwiebel
50 ml Chilisosse
30 ml Apfelessig
15 ml Senf
5 ml Worcestersosse

Zwiebel so fein wie moeglich hacken und mit dem Rest zusammenmischen.


Bei den Marinaden mit Honig spielt natuerlich der Honig eine entscheidende
Rolle, ich nehme normalerweise Wildblueten- oder Waldhonig.

Apo*
4 kg Fleisch bei 8 Personen spricht irgendwie fuer sich *g*

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



Pulsnitzer Pfefferkuchen (Alboin, 29. Okt 2003, 22:59:28):
Leute, Leute die Rubriken sterben ja langsam aus, vor allen Dingen die, die
mehr mit Realitaet zu tun haben ;-)
Oki, da mir Pulsnitzer Pfefferkuchen von allen am besten schmecken, sie aber
auch sehr teuer sind und auch nicht immer zu haben sind, will ich Euch dieses
Rezept nicht vorenthalten.

Zutaten:
500g Honig
60g Butter
60g Kakao
15g Pfefferkuchengewuerz
625g Mehl
1 Ei
10g Hirschhornsalz
5g Pottasche
1/8L Wasser
70g gehackte Mandeln
3 geriebene Bittermandeln (wers nicht bekommt: ein halbes Roehrchen
Bittermandelaroma ist auch ok)
50g Zitronat
50g Orangeat

Verarbeitung:
Honig, Wasser, Butter erhitzen und abkuehlen lassen. Mehl, Kakao, Gewuerze, Ei
und aufgeloeste Triebmittel nach und nach zugeben. Mandeln, Zitronat und
Orangeat unterkneten. Teig ueber nacht kuehl stellen. Am naechsten Tag bei 175
Grad (Gas Stufe 1-2) Pfefferkuchen backen.

Ich selber mache natuerlich noch eine Kakaouglasur rauf und auch ist es
vielleicht ratsam das Zitronat und Orangeat ordentlich zu zerkleinern
(Puerierer oder so) da die Klumpen beim Mampfen irgendwie stoeren.

Alboin

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



Schottischer Cocktail (Anthea,  9. Dez 2003, 16:48:31):

Man nehme einen grossen Teil Scotch und mische ihn mit einem grossen Teil
Whisky.

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



Re: Schottischer Cocktail (Croft,  9. Dez 2003, 16:50:13):
~#! rn=Anthea rt=1070984911 rg=kochrezepte
~#! tid=1070984911
Blended heisst das dann, oder?

Croft

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



Re: Re: Schottischer Cocktail (Anthea,  9. Dez 2003, 16:50:37):
~#! rn=Croft rt=1070985013 rg=kochrezepte
~#! tid=1070984911
Kommt drauf an, was Du nimmst.

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



Re^3: Schottischer Cocktail (Grimmborn,  9. Dez 2003, 17:13:36):
~#! rn=Anthea rt=1070985037 rg=kochrezepte
~#! tid=1070984911
In meinen guten Malt lasse ich keinen Scotch. Wo kaemen wir denn da hin? Pfui!

GdA

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



Re^4: Schottischer Cocktail (Montanus,  9. Dez 2003, 22:07:57):
~#! rn=Grimmborn rt=1070986416 rg=kochrezepte
~#! tid=1070984911
Wo kommen wir da hin?
Tja, ein nicht naeher genannt sollender Mudder hat zur Verkostung am Freitag
eine Flasche Uhu-Whisky dabeigehabt, die dermassen nach Klebstoff roch udn
schmeckte, dass man auch beim Schnueffeln high werden haette koennen.
Dagegen muss ich hier nochmal M*t und ihren Ardbeg 15 loben.

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



Re^5: Schottischer Cocktail (Maharet,  9. Dez 2003, 23:34:26):
~#! rn=Montanus rt=1071004077 rg=kochrezepte
~#! tid=1070984911
Ardbeg 17

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



Moehren-Apfel-Suppe mit Curry (Morgoth, 11. Feb 2004, 21:03:26):

hier ist das Rezept fuer 4 Portionen:
2 TL Sonnenblumenoel
1 EL Currypulver
500g klein geschnittene Moehren
1 grosse Zwiebel (zerhackt)
1 saurer Kochapfel, klein geschnitten
750mL Huehnerbruehe
Salz, schwarzer Pfeffer
Naturjogurt + Moehrenschnitze zum garnieren

- Oel in einem Topf erhitzen und Curry 2-3 min. anbraten
- Moehren, Zwiebel + Apfel rein, umruehren bis alles mit Curry bedeckt ist
- bei schwacher Hitze ca. 15 min. braten, dabei Topf bewegen
- Puerieren und Bruehe hinzugeben, abschmecken
- Auf den Teller und mit Jogurt + Moehrenschnitzen garnieren
- ESSEN !!!

M* 

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



Re: Moehren-Apfel-Suppe mit Curry (Bran, 11. Feb 2004, 21:50:48):
~#! rn=Morgoth rt=1076529806 rg=kochrezepte
~#! tid=1076529806
Gekocht und fuer ausgesprochen lecker befunden. Wobei ich Creme Fraiche noch
feiner fand als Joghurt.

Bran, leckt grade den Teller aus.

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



penne a la gnome (Gnome, 12. Feb 2004, 15:23:50):
penne a la gnome per dos personas:
---------------------------------

- 500 g penne
- 1 grosse aubergine
- 5 grosse tomaten
- 1 knoblauchknolle
- kraeuter der provence
- getrocknete, gebrochene chili o. ae.
- sojasosse
- salz und pfeffer

penne al dente kochen. waehrenddessen aubergine mundgerecht kleinschnippeln
und bei viel(!) butter etwas anduensten. auberginen mit sojasosse abloeschen
und die tomaten schoen kleingeschnitten beigeben. kraeuter, chili und salz
je nach gusto oben drauf, verruehren, deckel drauf. nach 5 min viel(!)
knoblauch dazugeben (entweder geschnitten oder zerdrueckt oder beides).
wieder deckel drauf, ab und zu umruehren, und bei kleiner flamme warten
bis tomaten gut verkocht sind.
mit frisch gemahlenem pfeffer oben drauf und einem kuehlen bier
daneben servieren.

*mampf*

gnOme

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



Re: penne a la gnome (Gnome, 12. Feb 2004, 16:25:36):
~#! rn=Gnome rt=1076595830 rg=kochrezepte
~#! tid=1076595830
das wichtigste haett ich ja fast wieder vergessen:
ganz zum schluss einen ordentlichen batzen creme fraiche oder schmand
rein. sonst schmeckts nur halb so gut.

gnOme

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



Vanillebroetchen (Perdita, 14. Feb 2004, 14:03:27):
gerade von ner Kollegin bekommen, probiert, fuer lecker befunden und
nachgebacken.
Vanillebroetchen - einfach, schnell und lecker

75g Quark
3 EL Milch
3 EL Oel
40g Zucker
1 Pck. Vanillezucker
1 Pr. Salz
150g Mehl
2 gestr. TL Backpulver
1 Vanille-Sossenpulver

Backofen auf 200C stellen, alle Zutaten zusammenruehren, zu Broetchen formen
(sollen angeblich 8 Stueck werden), mit Dosenmilch bestreichen und 15 min.
backen.

Wie gesagt: einfach, schnell und lecker!

Perdita

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



Chili con Bulgur (Eisi, 15. Feb 2004, 10:04:33):
was fuer die Veggies:

Chili con Bulgur
f|r ca. 4 Personen.

(die Mengen sind alle geschaetzt, ich mach das immer nach Gefuehl :)

2 Zwiebeln
1-3 Knoblauchzehen (je nach Terminlage :)
1 kl. Stange Lauch
1 Karotte
2-3 Tomaten
1 rote Paprika
1 kl. Dose Mais
2 Dosen Kidney-Bohnen
200g Bulgur
3/4l Gemuesebruehe
Olivenoel
Salz
Pfeffer
rote Currypaste, falls vorhanden.
Kreuzkuemmel, Kardamom, falls keine Currypaste: Tabasco zum abschmecken.

Zubereitung
(ca. 40min)

Die Zwiebeln und den Knoblauch in etwas Olivenoel anduensten.
Den Bulgur spuelen und dazugeben und kurz mitduensten, mit Gemuesebruehe
auffuellen.
Gemuese kleinschnipseln und dazugeben: Karotte, Lauch, Paprika.
Etwa einen Teeloeffel Currypaste dazu, mit Salz, Pfeffer und den Gewuerzen
abschmecken.
Leicht koecheln lassen. Der Bulgur saugt viel Bruehe auf, also Gemuesebruehe
oder
Wasser entsprechend nachfuellen. Das braucht ca. 20 Minuten. Mais und
Kidneybohnen
dazu, Tomaten dazu. Noch ein bisschen koecheln lassen und dann auf Sparflamme.
Kann ein ganze Party lang aufm Herd stehen bleiben und warm gehalten werden,
ist aber vermutlich eh gleich alle :)

Dazu passt Baguette und ein Rotwein, z.B. ein Rioja. Oder Bier *g*

Guten Appetit!

- Bulgur ist Weizengruetze, gibts beim Tuerken um die Ecke
- Die Currypaste stammt aus der indischen Kueche, sollte es in entsprechenden
Laeden geben.
- Ich mach das gern bei Parties, daneben einen Topf Chili con Carne fuer die
Carnivoren.

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



Spaghetti mit Schafskaese (provenzalische Art) (Whitetiger, 18. Feb 2004, 11:57:31):
Zutaten:
  500 g Spaghetti (... oder andere lange duenne Nudeln...)
  Salzwasser
  6 EL Olivenoel
  1 in Scheiben geschnittene Knoblauchzehe (... oder auch zwei...)
  1 TL getrocknete Provence-Kraeuter
  1 EL eingelegte gruene Pfefferkoerner
  250 g fein zerbroeckelter Schafskaese

* Spaghetti in reichlich Salzwasser al dente kochen.
* Auf ein Sieb giessen und abtropfen lassen.
* Olivenoel in einem Topf (... grosse Pfanne passt eigentlich besser...)
leicht erhitzen.
* Knoblauch und Kraeuter darin kurz anduensten.
* Spaghetti und Pfefferkoerner dazugeben. Alles gut vermischen.
* Zum Schluss den Schafskaese unterziehen.

Aus "Spaghetti" von Bodo A. Schieren, gestern gekocht, sind eigentlich alles
prima Rezepte da drin...

Tiger

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



Bananenmilch (Mupfel, 31. Mar 2004, 21:46:11):
Man nehme:
1 Liter Milch
2-4 Bananen (je nach Groesse)
1 Schluck Sahne
1 Bisschen Vanillezucker

Die Bananen puerieren, dann Sahne und Vanillezucker mit untermixen. IMmer
schoen weitermixen, und sukzessive (hach ich liebe dieses Wort ;) die Milch
zugeben. 
Schon fertig! Je nach Jahreszeit kann man auch die eine oder andere Kugel
Vanilleeis mit untermixen.

-mupfel-

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



Re: Bananenmilch (Liara,  2. Apr 2004, 10:41:57):
~#! rn=Mupfel rt=1080762371 rg=kochrezepte
~#! tid=1080762371
Wieso muss eigentlich in allem, was man zu sich nimmt, Zucker enthalten sein?
:)

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



Re: Re: Bananenmilch (Boing,  2. Apr 2004, 10:42:35):
~#! rn=Liara rt=1080895317 rg=kochrezepte
~#! tid=1080762371
Lass ihn doch einfach weg ...
  Boing

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



Re^3: Bananenmilch (Croft,  2. Apr 2004, 10:52:17):
~#! rn=Boing rt=1080895355 rg=kochrezepte
~#! tid=1080762371
Ersetz den Vanillezucker durch Vanille.

Croft

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



Re^4: Bananenmilch (Mupfel,  2. Apr 2004, 10:53:28):
~#! rn=Croft rt=1080895937 rg=kochrezepte
~#! tid=1080762371
Btw die Bananen enthalten auch Zucker.

-mupfel-

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



Re^5: Bananenmilch (Liara,  2. Apr 2004, 10:55:50):
~#! rn=Mupfel rt=1080896008 rg=kochrezepte
~#! tid=1080762371
Ihr Schlaukoepfe! :>
Ich verstehe einfach nicht, wieso Bananensuesse nicht reicht. Wahrscheinlich
weiss heutzutage niemand mehr, wie Bananen eigentlich schmecken. *g* Immer
gleich Zucker in's Rezept ...

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



Re^6: Bananenmilch (Gloinson,  2. Apr 2004, 10:56:38):
~#! rn=Liara rt=1080896150 rg=kochrezepte
~#! tid=1080762371
Pack noch ein wenig keunstliches Vanille-Aroma dazu.


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



Re^6: Bananenmilch (Elberet,  2. Apr 2004, 10:57:18):
~#! rn=Liara rt=1080896150 rg=kochrezepte
~#! tid=1080762371
hast du mal reife (ich meine reife) Bananen gegessen? Dann weisst du, wie
Bananen schmecken.

Elbi

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



Re^7: Bananenmilch (Muadib,  2. Apr 2004, 10:59:29):
~#! rn=Elberet rt=1080896238 rg=kochrezepte
~#! tid=1080762371
bananen schmecken lecker, vor allem wenn man sie direkt im erzeugerland am
fruchtstand gereift geniessen kann anstatt die nachgereiften dinger hier

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



Re^8: Bananenmilch (Montanus,  2. Apr 2004, 11:02:17):
~#! rn=Muadib rt=1080896369 rg=kochrezepte
~#! tid=1080762371
Klar, ich flieg immer mal kurz nahc  Costa Rica, wenn ich Appetit auf Bananen
habe.

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



Re^8: Bananenmilch (Boing,  2. Apr 2004, 11:02:39):
~#! rn=Muadib rt=1080896369 rg=kochrezepte
~#! tid=1080762371
Das ist bei Ananas uebrigens genauso ... :)
  Boing

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



Re^9: Bananenmilch (Elberet,  2. Apr 2004, 11:03:13):
~#! rn=Boing rt=1080896559 rg=kochrezepte
~#! tid=1080762371
das ist mit jeder Frucht so, oder? :)
ich kenn das vor allem bei Melonen und Pfirsichen

Elbi

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



Re^10: Bananenmilch (Boing,  2. Apr 2004, 11:03:39):
~#! rn=Elberet rt=1080896593 rg=kochrezepte
~#! tid=1080762371
Anzunehmen ... aber bei Ananas weiss ich es aus eigener Erfahrung ... ;)
  Boing

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



Re^6: Bananenmilch (Mupfel,  2. Apr 2004, 11:03:41):
~#! rn=Liara rt=1080896150 rg=kochrezepte
~#! tid=1080762371
Gna! Also beim Vanillezucker gings mir primaer um das vanillearoma. Hab keine
"pure" Vanille im Haus, musses also der Zucker tun.
gez kla?

-mupfel-

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



Re^10: Bananenmilch (Montanus,  2. Apr 2004, 11:03:51):
~#! rn=Elberet rt=1080896593 rg=kochrezepte
~#! tid=1080762371
Das ist mit ziemlich vielen Dingen so. UndNachbars Kirschen schmecken auch
immer besser als die eigenen.

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



Re^11: Bananenmilch (Gloinson,  2. Apr 2004, 11:04:13):
~#! rn=Montanus rt=1080896631 rg=kochrezepte
~#! tid=1080762371
Klar, wenn die eigenen staendig ersaufen.


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



Re^11: Bananenmilch (Muadib,  2. Apr 2004, 11:04:31):
~#! rn=Montanus rt=1080896631 rg=kochrezepte
~#! tid=1080762371
irgendwie machst du einen leicht angeaetzten eindruck montanus, woran liegts
:)

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



Re^12: Bananenmilch (Maharet,  2. Apr 2004, 11:04:51):
~#! rn=Muadib rt=1080896671 rg=kochrezepte
~#! tid=1080762371
Zu wenig Zucker in der Bananenmilch?

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



Re^13: Bananenmilch (Muadib,  2. Apr 2004, 11:05:01):
~#! rn=Maharet rt=1080896691 rg=kochrezepte
~#! tid=1080762371
:wiehert

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



Re^12: Bananenmilch (Montanus,  2. Apr 2004, 11:05:09):
~#! rn=Muadib rt=1080896671 rg=kochrezepte
~#! tid=1080762371
Ich aerger mich nru drueber, dass der Thread in der falschen Rubrik gefuehrt
wird. ;-) Neee, sonst geht es mri gut.

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



Re^7: Bananenmilch (Liara,  2. Apr 2004, 11:18:42):
~#! rn=Mupfel rt=1080896621 rg=kochrezepte
~#! tid=1080762371
Der Geschmack von Vanille ist uebrigens eine reine Erfindung der
Lebensmittelaroma-Macher. Habe mal fuer ein Heidengeld ein Toepfchen Vanille
gekauft ... aber es hat nie nach Vanille geschmeckt, selbst wenn man alles
reingekippt hat und der Teig/Pudding etc. total schwarz war. ;)
P. S.: Ihr seid alle Angeber! *schnief* *auchmaloriginalobstessenmoechte*

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



Re^8: Bananenmilch (Boing,  2. Apr 2004, 11:19:35):
~#! rn=Liara rt=1080897522 rg=kochrezepte
~#! tid=1080762371
Pflueck Dir nen Apfel ... :)
  Boing

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



Re^9: Bananenmilch (Maharet,  2. Apr 2004, 11:19:49):
~#! rn=Boing rt=1080897575 rg=kochrezepte
~#! tid=1080762371
Im April?

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



Re^10: Bananenmilch (Boing,  2. Apr 2004, 11:20:27):
~#! rn=Maharet rt=1080897589 rg=kochrezepte
~#! tid=1080762371
Nein, man kann Liaras 'mal' durchaus etwas weitraeumiger interpretieren :)
  Boing

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



Re^9: Bananenmilch (Catweazle,  2. Apr 2004, 11:20:31):
~#! rn=Boing rt=1080897575 rg=kochrezepte
~#! tid=1080762371
Ich hatte mal Urlaub in Indonesien, ja.

Seitdem wuerde ich diese komischen gelben krummen Dinger die es hierzulande
gibt _nie_ wieder als Banane bezeichnen wollen. 

YTC

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



Re^10: Bananenmilch (Montanus,  2. Apr 2004, 11:23:00):
~#! rn=Catweazle rt=1080897631 rg=kochrezepte
~#! tid=1080762371
husch, husch, wieder zurueck in die richtige Rubrik!
;-)

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



Re^11: Bananenmilch (Liara,  2. Apr 2004, 11:32:43):
~#! rn=Montanus rt=1080897780 rg=kochrezepte
~#! tid=1080762371
Poeh, ihr schreibt meinen Thread woanders weiter?

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



Re^12: Bananenmilch (Montanus,  2. Apr 2004, 11:33:18):
~#! rn=Liara rt=1080898363 rg=kochrezepte
~#! tid=1080762371
Nicht wirklich. Aber Catty hat da auch noch andere Schreibverpflichtungen.

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



Re^8: Bananenmilch (Muadib,  2. Apr 2004, 11:42:42):
~#! rn=Liara rt=1080897522 rg=kochrezepte
~#! tid=1080762371
ein toepfchen?
warum nicht aus der schote gekratzt?

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



Re^8: Bananenmilch (Elberet,  2. Apr 2004, 11:43:52):
~#! rn=Liara rt=1080897522 rg=kochrezepte
~#! tid=1080762371
hmm wenn du Vanille reinsteckst schmeckt der auch nach Vanille, vielleicht
stellst du Dir unter Vanillegeschmack was falsches vor ;)

Elbi

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



Re^9: Bananenmilch (Liara,  2. Apr 2004, 11:44:44):
~#! rn=Muadib rt=1080898962 rg=kochrezepte
~#! tid=1080762371
Jo, das habe ich mir dann nachher auch gedacht. Aber ich brauchte da eine
ganze Menge ... Leider hat Schotengekratztes bei mir bisher auch nie nach
Vanille geschmeckt. ;<

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



Re^10: Bananenmilch (Muadib,  2. Apr 2004, 11:45:18):
~#! rn=Liara rt=1080899084 rg=kochrezepte
~#! tid=1080762371
das ist ... erstaunlich

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



Re^8: Bananenmilch (Kellybundy,  2. Apr 2004, 19:56:59):
~#! rn=Liara rt=1080897522 rg=kochrezepte
~#! tid=1080762371
Liegt vielleicht daran, dass Du ethyl-vanilin statt echten Vanilins erstanden
hast. Ethylvanilin ist zwar nicht guenstiger herzustellen, ist aber im Aroma
sehr viel kraeftiger und ergiebiger, leider auch ordinaerer. Wer nen guten
Gaumen und nen einigermassen funktionierenden Riechkolben hat, wird den
geschmacklichen/geruchlichen Unterschied nie vergessen.

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



Re^9: Bananenmilch (Kellybundy,  2. Apr 2004, 19:59:45):
~#! rn=Kellybundy rt=1080928619 rg=kochrezepte
~#! tid=1080762371
P.S.:Unverschaemterweise geht beides unter Vanillearoma, Ethylvanillin muss
also leider nicht extra gekennzeichnet werden. IMHO eine Sauerei.

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



Re^10: Bananenmilch (Montanus,  4. Apr 2004, 11:51:58):
~#! rn=Kellybundy rt=1080928785 rg=kochrezepte
~#! tid=1080762371
Bananenmilch a la Leibi sieht dann so aus:

Man nehme eine Mupfel, Martinis frisch gewonnenen Elektromixbecher, die
vorhandenen Utensilien fuer Bananenmilch und Bacardi.
Nachdem man Mupfel eine Bananenmilch hat erzeugen lassen, fuelle man in alle
Glaeser vorher schon mal einen guten Schluck Rum, und hinterher auch noch in
den gemixten Rest.
Prost...
Achja, und natuerlich geht es auch ohen Zucker und ohen Vanille. Ob es auch
ohne Mupfel geht, weis ich allerdings nicht. Und ohen den Mixer waere er
aufgeschmissen gewesen.

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



Re^11: Bananenmilch (Gloinson,  4. Apr 2004, 20:27:15):
~#! rn=Montanus rt=1081072318 rg=kochrezepte
~#! tid=1080762371
Die Bananen waren zu unreif. Gnarf. Und das meinem Mixer :)


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



Kuerbischutney (Whitetiger,  4. Apr 2004, 20:50:48):
K ue r b i s c h u t n e y

Zutaten:

1 kg Kuerbisfleisch
1 Apfelsine
2 gruene oder rote Paprika
125 g Korinthen
875 g Zucker
1 Teeloeffel Salz
1 Teeloeffel Curry
1 Messerspitze gemahlene Nelken
1 Messerspitze gemahlenen Pfeffer
1 1/2 Tassen Essig

Das Kuerbisfleisch in duenne Scheiben schneiden, Orange und Paprika wuerfeln,
mit Korinthen und 500 g Zucker weich kochen. Dann wuerzen und dicklich
einkochen lassen. Essig und Restzucker hinzufuegen und 5 Minuten aufkochen
lassen, anschliessend weitere 15 Minuten koecheln lassen und abfuellen. Guten
Appetit.

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



Re^10: Bananenmilch (Darklor,  9. Apr 2004, 00:11:36):
~#! rn=Liara rt=1080899084 rg=kochrezepte
~#! tid=1080762371
Sondern eher wie angebrannte Milch?

Darklor

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



artikel das ultimative Brot (Hixtine,  3. Mai 2004, 13:23:31):
das Das U L T I M A T I V E Brot

500 g Dinkel- oder Weizenvollkornmehl
25 g  Frischhefe
500 ml lauwarmes Wasser
2 TL  Salz
3 EL  Obstessig
je 80 g Leinsamen, Sonnenblumenkerne, Sesam

Zubereitung:
* Hefe in Wasser aufloesen
* Alles mit Knethaken des Mixers verruehren
* Teig in eine vorgefettete Kastenform fuellen
* bei 220 Grad ne stunde backen (Umluft 180)
* 24 Stunden Kuehlen lassen

;)

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



Re: artikel das ultimative Brot (Maharet,  3. Mai 2004, 13:24:13):
~#! rn=Hixtine rt=1083583411 rg=kochrezepte
~#! tid=1083583411
Und den Teig gar nicht gehen lassen vor dem Backen?

Maha, Spion und Giftmischer aD

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



Zusatz zum Brotrezept (Hixtine,  3. Mai 2004, 13:27:19):
Ich hab verUps, 

ich habe vergessen:
Bevor man den Teig in eine Kastenform zugibt muss der Teig viertel stunde
ruhen


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



Re: Zusatz zum Brotrezept (Croft,  3. Mai 2004, 13:43:42):
~#! rn=Hixtine rt=1083583639 rg=kochrezepte
~#! tid=1083583639
Den Vorteig spart man sich auch?

Croft

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



Re: Re: Zusatz zum Brotrezept (Maharet,  3. Mai 2004, 13:44:36):
~#! rn=Croft rt=1083584622 rg=kochrezepte
~#! tid=1083583639
Braucht man nicht unbedingt, wenn die Hefe gut ist.  Ich wuerd einen machen,
damit ich im Fall des Fehlschlags nicht so viel Mehl wegschmeissen muss.

Maha, Spion und Giftmischer aD

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



Re^3: Zusatz zum Brotrezept (Jameson,  3. Mai 2004, 13:46:28):
~#! rn=Maharet rt=1083584676 rg=kochrezepte
~#! tid=1083583639
Wenn wir fuer unser derzeit verwendetes Brotrezept ganz neu (Sauer)Teig
ansetzen, geht das in 3 Stufen, mit 2-3 Tagen Dauer...

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



Re^4: Zusatz zum Brotrezept (Maharet,  3. Mai 2004, 13:48:52):
~#! rn=Jameson rt=1083584788 rg=kochrezepte
~#! tid=1083583639
Sauerteig ist auch nicht gleich Hefeteig ;)

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



Re^5: Zusatz zum Brotrezept (Jameson,  3. Mai 2004, 13:54:20):
~#! rn=Maharet rt=1083584932 rg=kochrezepte
~#! tid=1083583639
Das ist richtig, war auch nur mal so'n Vergleich.

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



Re^6: Zusatz zum Brotrezept (Croft,  3. Mai 2004, 13:54:48):
~#! rn=Jameson rt=1083585260 rg=kochrezepte
~#! tid=1083583639
:reicht Jameson einen Apfel und eine Birne.

Croft

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



Re^7: Zusatz zum Brotrezept (Jameson,  3. Mai 2004, 13:55:38):
~#! rn=Croft rt=1083585288 rg=kochrezepte
~#! tid=1083583639
:isst die Birne und backt mit dem Apfel und ein paar seiner Kollegen ein
leckeres Apfelbrot.

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



Lasagne Bolognese (Matis,  4. Mai 2004, 22:38:34):
Da eben Teile sowieso schon auf -allgemein standen, hier das gesamte Rezept
(und ein bisschen Englischueben):

Lasagne Bolognese
=================

  Serves: 4
  Preparation Time: 40 min
  Cooking Time: 35 minutes


a)  Bolognese Sauce:
     - 2x 15ml spoon olive oil
     - 1 onion, finely chopped
     - 2 cloves garlic
     - 500g minced beef or chicken
     - 1 tbsp plain flour
     - 1x 400g can chopped tomatoes
     - 150ml water
     - pinch sugar
     - 2 tbsp tomato puree
     - 2 tsp died oregano
     - 2 tsp dried basil
     - salt & pepper

     Heat the oil in a pan and cook the onion and garlic until soft,
     not browned. Add the mince and stir until browned then add the
     flour and cook for 1 minute. Stir in the tomatoes, water, sugar,
     tomato puree, herbs and seasoning and simmer for 30 minutes.

b) Cheese Sauce:
    - 450ml milk
    - 40g butter
    - 40g plain flour
    - 125 mature cheddar cheese, grated
    - salt & pepper

    Place the milk, butter an flour in a pan and heat gently whilst
    whisking continously. Once thickened simmer the sauce for 5
    minutes, stirring occasionally. Add the seasoningg and the cheddar
    cheese.

c) Lasagne:
    - 9 sheets lasagne
    - 50g mature cheddar cheese, grated
    - 50g freshlt grated parmesan

    Layer three sheets of lasagne in the base of an ovenproof dish and
    cover with half the meat sauce, then one third of the cheese sauce.
    Top with more lasagne sheets, the remaining meat sauce, lasagne
    sheets and cheese sauce. Sprinkle with the cheddar cheese and
    parmesan. Cook in the centre of a preheated oven (200 degree) for
    3--35 minutes until golden brown.

Matis

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



Re: Lasagne Bolognese (Montanus,  5. Mai 2004, 00:08:35):
~#! rn=Matis rt=1083703114 rg=kochrezepte
~#! tid=1083703114
Wenn das ein echtes Rezewpt auf Englisch ist, dann musst du allerding dei
Gradzahl noch irgendwie korrigieren. Denn Celsius ist halt doch nicht die
beliebrtesteSkala bei unseren Nachbarn. fahrenheit aehltda doch viel mehr...
Irgendwo fehlte ein 'z'. Dies sei hiermit nachgereicht...

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



FUER KEKS (Lug,  5. Jun 2004, 00:17:21):

Mini Corndogs

1 c Flour
1/2 c Cornmeal
1 tb Sugar
1 1/2 ts Salt
2 tb Vegetable shortening
1 Egg, beaten slightly
3/4 c Milk
Oil
8 Frankfurters, cut into
-thirds

Combine flour, cornmeal, sugar, baking powder, and salt in a medium bowl.
With a pastry blender, cut vegetable shortening into flour mixture until
there are fine crumbs. Add egg and milk and blend well. Pour vegetable oil
to a 2 inch depth in a deep fryer or large saucepan. Heat to 375 degrees.
Pat frankfurter dry with paper towels. Insert a toothpick into the center
of each frankfurter. Dip each frankfurter into batter and then into hot oil
until golden brown. Drain on paper

Blach...

Lugifer

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



Marmelade mit Prozenten (Jameson,  3. Sep 2004, 10:50:37):
Ich habe ein Glas leckere Blaubeermarmelade geschenkt bekommen, bei dem der
Marmeladenkoch zum Konservieren (bzw. ich habe den Verdacht weil er drauf
steht ;-) ziemlich viel Alkohol hinzugefuegt hat. Laesst sich da noch was
retten? Ich wuerde das Glas ja nochmal erhitzen, dabei wuerde sich der Alkohol
sicher verfluechtigen, aber geht der Schnapsgeschmack auch weg?

jAmeson

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



Re: Marmelade mit Prozenten (Montanus,  3. Sep 2004, 10:52:22):
~#! rn=Jameson rt=1094201437 rg=kochrezepte
~#! tid=1094201437
Setz es bei Megaschmarrn aus - ich glaube, hochproentige Blaubaeren kaemen bei
den Meisten gan zgut an. *g*

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



Re: Re: Marmelade mit Prozenten (Maharet,  3. Sep 2004, 19:17:08):
~#! rn=Montanus rt=1094201542 rg=kochrezepte
~#! tid=1094201437
Der Geschmack sollte bleiben. Das ist ja das Prinzip von Weinsaucen zB - der
Geschmack des Weines soll ja drinbleiben, die Sauce aber (im Allgemeinen) auch
kindertauglich.
Was dir aber passieren kann, ist, dass die Marmalade danach nicht wieder fest
wird. Probier's aus und berichte :)

Maha

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



Re: Marmelade mit Prozenten (Kellybundy,  3. Sep 2004, 20:58:41):
~#! rn=Jameson rt=1094201437 rg=kochrezepte
~#! tid=1094201437
Wie hat der konserviert? Seine Leber durch kraeftiges Probieren des Fungizides
waehrend der Marmeladenproduktion? und ab und zu mal nen Schuss in den Sud
gegeben? oder hat er ein Zellophanhaeutchen in hochprozentigem eingelegt und
zuoberst auf der potentiellen Blaubeer-Drogen-Mischung postiert?

Blondchen

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



Re^3: Marmelade mit Prozenten (Jameson,  6. Sep 2004, 11:48:54):
~#! rn=Maharet rt=1094231828 rg=kochrezepte
~#! tid=1094201437
Ich werd's mal ausprobieren :) Fest werden braucht sie eigentlich auch gar
nicht, zumindest nicht so fest wie im Moment.
Wenn's uebrigens nur so mit Zellophan waer wie frueher bei Oma, waer es wohl
nicht so schlimm, das sinkt nicht so weit ein, wenn man's richtig macht. Noe,
nix wie rein mit dem Zeug vermute ich, ich bin nicht mal sicher ob nur
obendrauf oder gleich reingemischt (nach dem Kochen).

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



Re: Suche neuen Besitzer (Ronda, 13. Nov 2004, 21:39:20):
~#! rn=Hobo rt=1100378282 rg=suche-biete
~#! tid=1100378282
Hmm... wo wir grad beim Thema waeren... nur so theoretisch... wie viel
Sauerbraten und Salami kann man aus so nem durchschnittlichen Pferdchen
machen? Und weiss irgendwer irgendwelche Rezepte?

Ronda *geht vor Hobo grinsend in Deckung*

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



Re: Re: Suche neuen Besitzer (Wurzel, 14. Nov 2004, 12:52:06):
~#! rn=Ronda rt=1100378360 rg=kochrezepte
~#! tid=1100378282
zwar sind sauerbraten und salami ziemlich traditionelle rezepte fuer 
pferdefleisch, aber ich empfehle mal ein pferdesteak vom grill. es gibt
nichts besseres.

wurzel

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



Muadibs Kochtipps fuer blutige Anfaenger (Muadib, 15. Jan 2005, 18:28:09):
Auf Wunsch einzelner Mudder sei hier ein kleines Rezept untergebracht.

Rezept fuer heisses Wasser

Man nehme eine Kochgelegenheit, einen Topf und etwas Wasser (etwas weniger als
in den Topf hineingeht, und nicht allzu wenig)

Man fuelle das Wasser in den Topf. Am besten geht das wenn man die Oeffnung
oben hat.
Danach stellt man den Topf auf die Kochgelegenheit.
Man aktiviere die Kochgelegenheit auf einer hohen Stufe.
Man warte bis reichlich Dampf aufsteigt aber das Wasser noch keine Blasen
zeigt.
Nun ist das Wasser in etwa heiss.
Herzlichen Glueckwunsch.

Solltest Du mit diesem Rezept das gewuenschte Resultat erzielt haben und zwar
ohne Ungluecke, kannst Du zu einem fortgeschrittenen Level uebergehen:
KOCHENDES WASSER

Einfach heisses Wasser bereiten und es auf der aktivierten Kochgelegenheit
lassen bis das Wasser deutlich Blasen wirft. Dann kocht es.
Gratulation

So das sei es gewesen.

Naechste Folge: Was macht man nun mit dem kochenden Wasser?

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



Anatolischer Weisskohlauflauf (Perdita,  9. Mar 2005, 20:13:21):
In diesem Rezept kommt zwar entgegen der Ankuendigung im Titel kein Anatol
vor, aber schmecken tut's!

Wer es richtig echt tuerkisch will, sollte statt dem Rinderhack
Lammhackfleisch nehmen.

Fuer 4 Personen
1 Weisskohl (etwa 750 g) --- hm, meiner wog etwa 2 kg, aber vielleicht gibt es
ja auch kleine Weisskoehle
60 g Butter
Salz, schwarzer Pfeffer
scharfes Paprikapulver
200 ml Fleischbruehe
3 Zwiebeln
400 g Rinderhackfleisch
4 EL Tomatenmark
200 g Schafskaese
3 Eier
200 ml Milch
Butter fuer die Form

Den Kohl von den aeusseren Blaettern befreien und waschen. Vierteln, den
Strunk herausschneiden und die Viertel in feine Streifen schneiden oder
hobeln. Die Haelfte der Butter erhitzen und die Streifen unter Ruehren darin
anbraten. Mit Salz, Pfeffer und Paprika wuerzen. Knapp die Haelfte der Bruehe
angiessen und den Kohl zugedeckt 20 Minuten schmoren.

Die Zwiebeln schaelen und fein wuerfeln. Die restliche Butter in einer Pfanne
zerlassen und die Zwiebeln darin anbraten. Das Hackfleisch dazugeben und
kruemelig braten. Salzen, pfeffern und bei schwacher Hitze in etwa 10 Minuten
durchbraten.

Den Backofen auf 175C vorheizen. Eine Auflaufform mit Butter ausfetten. Die
restliche Bruehe mit dem Tomatenmark verruehren. Den Schafskaese grob
zerbroeckeln.

Den Kohl und das Hackfleisch in die Form geben. Die Fleischbruehe
daruebergiessen und den Kaese darauf verteilen. Die Eier mit der Milch
verquirlen, salzen, pfeffern und ueber den Auflauf giessen. Im Ofen (Gas 2;
Umluft 160C) auf unterer Schiene 30 Minuten backen.

Ich finde uebrigens, dass das Rezept eher fuer 6 als nur fuer 4 Leute reicht.
Als Serviertip wird im Rezept angegeben, Sesamringe oder Fladenbrot und einen
Salat aus Tomaten, Gurken und Zwiebeln sowie ein Schaelchen mit Oliven dazu zu
reichen.

Wie auch immer, es schmeckt lecker!

Perdita

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



Re: Anatolischer Weisskohlauflauf (Wurzel, 11. Mar 2005, 11:42:36):
~#! rn=Perdita rt=1110395601 rg=kochrezepte
~#! tid=1110395601
hm, etwas "tuerkischer" wird es nicht nur mit lammfleisch, sondern auch mit
olivenoel anstelle der butter. nebenbei bemerkt, auch etwas gesuender.
und ich finde, dass das rezept von den mengen her eher fuer zwei als fuer
sechs leute reicht. oder eben vier durchschnittsesser :)

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



Orkgulasch (Catweazle,  8. Apr 2005, 09:06:50):
~#! on=Cornholio ot=1112943403 og=entwicklung
Hat jemand ausgefallene Kochrezepte zum Thema MorgenGrauen?
Wenn die online gestellt werden, ist das eine Attraktion mehr
auf den Seiten. Vielleicht weckt das dann auch das Interesse
der Besucher, die danach gesucht haben (in 2 Monaten dann
die Webserverlogs auswerten), auch mal mitzuspielen.
Vor allem waeren es dann auch welche, die nicht nur aus der
IT-Ecke kommen (welche bei der Suche nach Java-Telnet-Clients
u.a. auf das MorgenGrauen stossen).

Beispiele:
Orkgulasch, Elfenbizet, Hobbitschokokekse...

Ein wenig Eigennutz ist da auch dabei :)

Cornholio, sich auf Kochrezepte freuend

PS.
Obwohl wir nicht die ersten waeren, die Telnet- und MUD-Clients
auf den Seiten erklaeren wuerden, haette es einen aehnlichen Effekt:
Irgendwann wuerden die Suchmaschinen auch diese Seite erspidern.

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



Re: Orkgulasch (Humni,  8. Apr 2005, 22:36:34):
~#! rn=Catweazle rt=1112944010 rg=kochrezepte
~#! tid=1112944010
Schau Dich mal bei meinen Hexen um.... ;-) da gibts ein Kochbuch. Ob das
online... ach egal.

Humni hat genug verraten.

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



Fisch in Honig-Orangensauce mit Reis (Maharet, 14. Dez 2006, 22:30:16):
4 Fischfilets (z.B. Lachs) 

Saft von 4 Orangen 

2 TL Honig 

2 Knoblauchzehen 

Salz 

1 Becher Creme fraiche 

1 EL Sojasauce 

Petersilie 

Reis 





Reis garen. Fischfilets in Orangensaft mit Honig, Knoblauch und einer Prise
Salz 10-15 min duensten. Creme fraiche, Sojasauce und Petersilie zufuegen,
weitere 5 min kochen lassen.

Das ergibt recht viel Sauce, was uns gut gepasst hat.  Die ist naemlich lecker
;) Und so konnte der geduenstete Brokkoli, den es dazu gab, auch gleich noch
be-sauce-t werden.

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



Re: Fisch in Honig-Orangensauce mit Reis (Humni, 15. Dez 2006, 17:31:10):
~#! rn=Maharet rt=1166131816 rg=kochrezepte
~#! tid=1166131816
Fisch kann man nicht essen, denn jeder Mensch, der schon einmal Fisch gegessen
hat, ist daran gestorben oder wird noch sterben.

Ich empfehle, den Fisch einfach wegzulassen und dafuer was anderes zu nehmen.
Dann schmeckt das vermutlich auch.

Bierfilets in Honig-Orangensauce mit Reis

4 Flaschen Bier (z.B. Veltins)


Saft von 4 Orangen

2 TL Honig

2 Knoblauchzehen

Salz

1 Becher Creme fraiche

1 EL Sojasauce

Petersilie

Reis





Reis garen. Bier in Orangensaft mit Honig, Knoblauch und einer Prise
Salz 10-15 min duensten. Creme fraiche, Sojasauce und Petersilie zufuegen,
weitere 5 min kochen lassen.


Man kann auch bedunsteten Broccoli dazu mit Sauce uebergiessen oder so.

Ich habs aber nicht probiert.

Humni

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



Re: Re: Fisch in Honig-Orangensauce mit Reis (Gloinson, 15. Dez 2006, 17:36:25):
~#! rn=Humni rt=1166200270 rg=kochrezepte
~#! tid=1166131816
Sushi schmeckt uebrigens auch am naechsten Tag noch toll. Fuer Sushi kann man
ja Fisch benutzen, also hat man im Kuehlschrank:

- Pilze, geschnitten
- Lachs, geschnitten
- Thunfisch, geschnitten

eventuell noch uebrig.

Das Ganze braet man in einer Pfanne, kippt Tomatenmark darueber, wuerzt nach
Geschmack und giesst es ueber ein paar Nudeln, die man noch von der
Einweihungsfete in einem Glas zu stehen hatte.

Ich nenne das ganze "Sushi - ungerollt".


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



Re: Re: Fisch in Honig-Orangensauce mit Reis (Maharet, 15. Dez 2006, 17:59:21):
~#! rn=Humni rt=1166200270 rg=kochrezepte
~#! tid=1166131816
Hehe, ok, kann man ja mal probieren, aber ob das Flaschenglas weich wird, wage
ich zu bezweifeln ;)

Ansonsten:  Ich kann mir gut vorstellen, dass das auch zB mit Huehnchen statt
Fisch gut schmeckt.  Waere einen Versuch wert.

Maha

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



Re^3: Fisch in Honig-Orangensauce mit Reis (Nedime, 15. Dez 2006, 18:00:13):
~#! rn=Maharet rt=1166201961 rg=kochrezepte
~#! tid=1166131816
Na, da wissen wir doch schon mal, was wir einen Tag im Urlaub kochen ;).

Nedime

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



Re^3: Fisch in Honig-Orangensauce mit Reis (Croft, 15. Dez 2006, 18:02:12):
~#! rn=Gloinson rt=1166200585 rg=kochrezepte
~#! tid=1166131816
Und wo ist da der Reis?

Croft

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



Quinoa-Mango-Salat mit Walnuessen (Maharet, 13. Mai 2007, 13:09:32):
Quinoa ist unser Lieblingsgetreide. Wer das noch nicht probiert hat: Quinoa
kaufen und in allen moeglichen Kombinationen ausprobieren!
Wer keine Idee hat, hier ein Vorschlag:

Quinoa-Mango-Salat mit Walnuessen

Dressing
    * 1 EL Ingwer
    * 80g Joghurt
    * Saft einer halben Limette
    * 1 TL Currypulver
    * 1/2 TL Salz
    * 1/2 TL schwarzer Pfeffer
    * 60ml Olivenoel 

Salat
    * 250g Quinoa
    * Salz
    * 1-2 reife Mangos
    * 1 rote Paprika
    * 1 Peperoni
    * eine Handvoll frische Pfefferminze
    * 100-125g Walnuesse 

Zubereitung:
   1. Ingwer schaelen, fein wuerfeln, mit den restlichen Dressingzutaten
verruehren.
   2. Quinoa im Reiskocher garen (Ich bin da recht pragmatisch veranlagt).
   3. Mangos schaelen, wuerfeln. Paprika und Peperoni entkernen und wuerfeln.
Pfefferminze klein schneiden.
   4. Walnuesse roesten.
   5. Alles miteinander verruehren, einige Zeit durchziehen lassen. 


Lecker!

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



Re: Quinoa-Mango-Salat mit Walnuessen (Alboin, 13. Mai 2007, 13:34:31):
~#! rn=Maharet rt=1179054572 rg=kochrezepte
~#! tid=1179054572
Auch wenn es meistens auf der Verpackung schon steht: Wichtig ist die Quinoa
vor dem Kochen mit heissem Wasser zu waschen, damit die Bitterstoffe entfernt
werden.

al

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



Re: Re: Quinoa-Mango-Salat mit Walnuessen (Mesirii, 13. Mai 2007, 13:37:17):
~#! rn=Alboin rt=1179056071 rg=kochrezepte
~#! tid=1179054572
Haben wir nie gemacht, Reiskocher reichte und Bitterstoffe waren da keine
Mesi

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



Re: Re: Quinoa-Mango-Salat mit Walnuessen (Maharet, 13. Mai 2007, 13:37:29):
~#! rn=Alboin rt=1179056071 rg=kochrezepte
~#! tid=1179054572
yep, und das gilt fuer alle Getreide.  Auch bei meinem anderen
Lieblingsgetreide, der Hirse ;)

Auch wenn ich mich da nicht immer diszipliniert dran halte und weder
geschmacklich noch gesundheitlich irgendwelche Beeintraechtigungen feststellen
konnte.

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



Kartoffel-Gurken-Salat mit Cranberries (Maharet, 13. Mai 2007, 13:51:56):
Den Quinoa-Salat gab's gestern, heute waren Kartoffeln angesagt:

Kartoffel-Gurken-Salat mit Cranberries
    
    * gut 500g festkochende Kartoffeln
    * 1 Gurke
    * Petersilie
    * evtl. Walnuesse 

fruf rer's Dressing:

    * 1 kleine Zwiebel
    * 4-5 EL getrocknete Cranberries
    * 1 unbehandelte Zitrone
    * 4 EL Apfelsaft
    * Salz, Pfeffer
    * 150-200g Joghurt
    * 2 EL Sonnenblumenoel
    * ggf. Basenkraeuter von Sonnentor (wenn man sie eh gerade da hat, extra
kaufen braucht man die nicht)
    

Zubereitung:

   1. Kartoffeln als Pellkartoffeln kochen, abschrecken, pellen, in Scheiben
schneiden.
   2. Gurke schaelen, vierteln, entkernen, in feine Scheiben schneiden.
   3. Zwiebel fein wuerfeln, Cranberries grob hacken, Zitronenschale
abreiben, Zitronensaft auspressen, mit Apfelsaft mischen und aufkochen lassen.
Abkuehlen lassen, Joghurt und Sonnenblumenoel unterruehren. Mit Salz und
Pfeffer (und Basenkraeutern) wuerzen.
   4. Walnuesse grob hacken und anroesten. Petersilie kleinschneiden (oder
gefrorenen nehmen).
   5. Alles locker miteinander vermengen und ein bisschen ziehen lassen. 
   
Foto gibt's hier:
http://www.maharet.org/wiki/index.php?n=Main.Kartoffel-Gurken-SalatMitCranberr
ies

Auch sehr lecker!  Allerdings bei uns heute ohne Walnuesse, die waren gestern
vollstaendig fuer den anderen Salat draufgegangen.  Ansonsten ist das ein
schoen leichter Kartoffelsalat, richtig sommerlich. War mag schon noch
Mayonnaisen-Pampe? ;)

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



Re: Kartoffel-Gurken-Salat mit Cranberries (Maharet, 13. Mai 2007, 13:52:40):
~#! rn=Maharet rt=1179057116 rg=kochrezepte
~#! tid=1179057116
ok, das "Fuer's Dressing" reparier ich jetzt nicht, ihr versteht mich da schon
;)

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



Re: Re: Kartoffel-Gurken-Salat mit Cranberries (Boing, 13. Mai 2007, 23:31:20):
~#! rn=Maharet rt=1179057160 rg=kochrezepte
~#! tid=1179057116
"cranberries" weckt bei mir ganz arg negative Assoziationen ...
  Boing

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



Moehrensuppe mit Cranberries (Maharet, 17. Mai 2007, 14:43:59):
   Heute gab es Suppe, denn heute Abend gehen wir zu einer Geburtstagsparty,
auf der es eh wieder viel zu viel zu essen geben wird.  Unter anderem unseren
Kartoffel-Gurken-Salat ;)
   Aber Cranberries fanden wir so lecker, da haben wir gleich noch was
anderes mit ausprobiert:
   
   Moehrensuppe mit Cranberries
   
    * 400g Karotten
    * 150g Kartoffeln
    * 1 kleine Petersilienwurzel, wenn vorhanden (Wir hatten heute keine, da
es die nur im 6er Pack gab.)
    * 1 groCe Zwiebel
    * 50g getrocknete Cranberries
    * 3 EL Butter
    * 1 TL Curry
    * 1 TL Kurkuma oder Sonnenkuss von Sonnentor
    * 750 ml Gemuesebruehe
    * 50g frische Cranberries
    * 200g Saure Sahne
    * Salz, Pfeffer, Zucker 

   1. Karotten, Kartoffeln, ggf. Petersilienwurzel und Zwiebel wuerfeln.
   2. Getrocknete Cranberries grob hacken.
   3. Zwiebel in 2 EL Butter mit Curry und Kurkuma/Sonnenkuss anduensten.
   4. Karotten, Kartoffeln, Petersilienwurzel und Cranberries dazugeben, kurz
mitduensten. Gemuesebruehe angieCen.
   5. Wenn das Gemuese weichgekocht ist, puerieren.
   6. Frische Cranberries in der restlichen Butter kurz anbraten, an die
Suppe geben.
   7. Saure Sahne unterruehren, mit Salz, Pfeffer und Zucker abschmecken. 
   
   Ich dachte, ich wuerde keine Moehrensuppe moegen, in der kein Ingwer drin
ist. Stimmt aber nicht :) Und die Saeure der Cranberries gibt der Suppe den
richtigen Pfiff.
   
   Ein Hobbit und ein Dunkelelf, die gerade zu Besuch sind, wollten
(unabhaengig voneinander) das Rezept haben. Hier ist es nun auch fuer alle
anderen Hobbits und Dunkelelfen. Und ausnahmsweise auch fuer die Anderen.
   ~r

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



Nudeln mit Sosse (Derin, 19. Jun 2007, 14:05:51):
Pasta mit Gorgonzola-Sosse

Nudeln (al Dente)

Sosse:
  1/3 Flasche trockenen Weisswein
  etwas mehr als 100 g Gorgonzola mit Mascapone
  1 kleines Stueck Parmesan
  1 Lage Parmaschinken
  1 kl. Zwiebel
  2 kl. Zehen Knoblauch
  knapp 1/4 Becher suesse Sahne
  Oel (zum Braten)

Zwiebel halbieren und in duenne Streifen schneiden. Knoblauch duenn
aufschneiden. Parmaschinken entweder in Streifen schneiden oder zer-
rupfen. Gorgonzola vorsichtig entrinden. Parmesan fein reiben.

Oel in der Pfanne erhitzen, Zwiebeln darin glasig anduensten. Knoblauch
dazugeben, Parmaschinken nur ganz kurz mitbraten. Dann mit Weisswein
abloeschen. Die Mischung sollte auf gar keinen Fall mehr kochen, aber
weiterhin Hitze bekommen. Jetzt Gorgonzola und Parmesan dazugeben, mit
einem Schneebesen den Kaese aufloesen. Zum Abschluss die Sahne dazu --
fertig.

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



Plaetzchenrezept (Derin, 22. Dez 2007, 18:35:33):
Knusperchen (Rezept von Oma)

  300 g Mehl
  200 g Zucker
  150 g Fett (Butter/Magarine)
  2 Messerspitzen Zimt
  2 Messerspitzen Salz
  4 Essl. Milch
  1/2 Backpulver

Alles gut durchkneten, ausrollen und ausstechen. Bei guter
Mittelhitze backen lassen und mit Eigelb und Zucker oder nur
mit Wasser oder Milch auf dem noch heissen Blech bestreichen.

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



Spass mit Spinat und Linsen ... (Vanion, 24. Jun 2008, 20:00:11):
... oder Wie ich mein Kind zum schreien bringe ... :)

Hi,

ich habe in letzter Zeit mal wieder einige Rezepte ausprobiert, die ich schon
lange auf dem Todo hatte. Da ich mit diesen Rezepten klarkomme, sind keine
Sternekoch-Kenntnisse noetig. Und die Rezepte bieten gute Moeglichkeiten,
rechts und links abzuweichen und eigenes zu probieren.

V*

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



Re: Spass mit Spinat und Linsen ... (Vanion, 24. Jun 2008, 20:02:12):
~#! rn=Vanion rt=1214330411 rg=kochrezepte
~#! tid=1214330411
Spinat mit Roten Linsen und Curry (fuer 4 Personen)

Zutaten:
600g frischen Spinat (ich benutzze aus Bequemlichkeit TK, dann
                      aber Blattspinat, nix Blubb oder so)
200g rote Linsen

1 Zwiebel
2 Knoblauchzehen
1 EL Oel 
1 Chilischote
Currypulver oder -Paste
1/2 Bund Koriander

600 ml Gemuesebruehe (z.B. instant oder wers Zeit hat, selbstgebastelt)
100g saure Sahne oder Joghurt

1 Bund Fruehlingszwiebeln (muss nicht dabei sein)
200g Dosenmais (muss nich dabei sein)

1. Bei frischem Spinat: Welke Blaetter aussortieren, dicke Stiele abknipsen, 
   und waschen.
   Bei TK-Spinat: Frostschrank auf, rausnehmen, fertig :)
   Knoblauch, Zwiebeln und Chili wuerfeln (wer es nicht so scharf mag, 
   entferne die Koerner der Chili, die haben's in sich.

2. Oel in einem Wok, eine Pfanne oder einen beschichteten Topf geben.
   Zwiebeln, Knoblauch, Chili und Curry in den Topf. Das ganze scharf 
   anbraten (Currypaste wird erst so richtig wuerzig (scharf), wenn man sie 
   anbraet, das riecht sehr intensiv, wenn man viel nimmt. Wirklich, sehr!)
   Die Linsen dazugeben und einmal gut durchruehren. Dass die Linsen dabei 
   warm werden macht nichts. Anschliessend kommt die Bruehe drauf, und das 
   ganze koechelt 15 Minuten bei schwacher Hitze.
   (In die Linsen kann man ganz prima etwas Thymian tun, wenn man welchen da 
    hat.) 

2a Kurz mal in die MPA schaun, obs was neues gibt.

3. Mais abtropfen (ich hab keinen benutzt) und mit dem Spinat unter die Linsen
   mischen. Eventuell etwas Salz dazu, das muss aber nicht, die Gemuesebruehe
   ist eh schon salzig. 
   Bei frischem Spinat so lange koecheln bis selbiger zusammengefallen ist, 
   bei TK-Spinat bis die Brocken (den gibt es in so Portionierbroeckchen) 
   aufgetaut sind und sich das ganze gut durchmischen laesst.

4. In der Zwischenzeit kann man den Koriander waschen und die Blaetter ab-
   zupfen. Fruehlingszwiebeln kleinschneiden. Beides wandert zusammen mit der
   sauren Sahne (oder dem Joghurt) in die Linsen.

5. Bei kleiner Flamme noch mal umruehren und kurz durchziehen lassen.

Dazu passt hervorragend Fladenbrot, ich kann mir aber auch Kartoffeln gut
vorstellen. Hmm, wenn man die (nicht zu weich) kocht, und anstatt des ekligen
Maises in die Linsen wirft, und gaaanz vorsichtig umruehrt, wird das sicher
lecker *fuers naechste mal aufschreib*)

Achja, Koriander ist eigen. Ich habe etwas zu viel benutzt, weil ich nicht
rechnen kann (die vierfache Menge *weia*). Den schmeckt man schnell raus. *eg*

V*

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



Marokkanischer Linsenauflauf (fuer 4 Personen) (Vanion, 24. Jun 2008, 20:21:01):
~#! rn=Vanion rt=1214331567 rg=kochrezepte
~#! tid=1214330411

300g Linsen
500g Spinat
600 ml Gemuesebruehe (instant)
200g Schafskaese (Feta, von mir aus auch Kuh-Feta)
2 Zwiebeln
2 Knoblauchzehen
2 TL Olivenoel
1 Dose Tomaten (zerkleinert, 400g)
2 Chilischoten
2 EL Tomatenmark
1 Lorbeerblatt
1 TL getr. Thymian (ich hab frischen auf dem Balkon, aetsch)
Salz, Pfeffer
Muskat (gerieben, 1 Messerspitze)
Fladenbrot

1. Linsen in einem Sieb abspuelen und dann zusammen mit der Bruehe zum kochen
bringen. Nach 10 Min. auf der Kochstelle garen, den Topf von der Flamme nehmen
und die Linsen in Ruhe quellen lassen. Die Haelfte des Schafskaeses
zerkleinern und unter die Linsen mischen.

2. Zwiebeln, Knoblauch und Chili zerkleinern die Haelfte Zwiebeln und
Knoblauch + die ganze Chili im Oel anbraten. Das ganze mit den Dosentomaten
abloeschen. Tomatenmark, Lorbeer, Thymian, Pfeffer und Salz dazu, das ganze
dann saemig einkochen (also etwas dickfluessiger werden lassen)

3. Ofen auf 200 Grad vorheizen. Spinat waschen. Restliche Zwiebeln und Knobi
mit etwas Oel in einem Topf, anbraten und den Spinat und das Muskat (nach
Geschmack) dazu (oder gleich TK-Spinat nehmen)

4. Ein Drittel der Linsenmasse auf dem Boden einer Auflaufform verteilen, die
Haelfte des Spinats darueber, dann die Tomatenpaste, dann wieder Spinat und
oben drauf die Linsen. Den restlichen Schafskaese drueberstreuen. Den Auflauf
40 Minuten auf mittlerer schiene bei 200 Grad backen. Wenn man am Ende noch
das Brot mit in den ofen legt, wird das auch schoen knusprig.

Guten Hunger.
V*

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



Drei-Gaenge-Drachenmenue (Humni,  7. Aug 2008, 22:05:54):
Zutaten:
1 Knoblauchzehe
1 Eichblattsalat
1 Putenschnitzel
2 EL Senfhonig
5 Eier
1 Spieler (m/w egal)
Salz
Pfeffer
1 Kinderhandvoll Sonnenblumenkerne
5 Walnusskerne
1 kleine Dose Mais
0,15l Milch
12 gelbe Cocktailtomaten
3 Scheiben Toastbrot
Rapsoel

Die Toastbrotscheiben entrinden, den Spieler mit Drachenfeuer ein wenig
anbraten (bis er leise wimmert). Das Putenschnitzel in Streifen schneiden.
Eine Pfanne heissmachen und Rapsoel reintun. Heiss werden lassen, dann die
Putenstreifen da reintun und ab und an wenden (nennt man Braten). Den Spieler
jetzt aufrichten und auf den Detz hauen, da das Gewimmer nervt.

Die Streifen, wenn sie einigermassen braun sind, rausnehmen. Den Salat putzen,
die Toastscheiben in Stueckchen schneiden und auch mit Rapsoel anbraten.

3 Eier trennen, das Eigelb in eine Schuessel tun (nennen wir sie Harald), das
Eiweiss in eine andere (nennen wir sie Sabine).

Knoblauch klein hacken oder pressen oder sowas, in Harald tun. Salz und
Pfeffer auch drauf. Den Senf auch in Harald. Dann Oel dazutun (da geht wohl
auch Olivenoel, wenn man Rapsoel zu geschmacklos findet), etwa 3 EL. Das ganze
Schlagen (mit einem Besen, nicht wie den Spieler).

Mais, Nuesse, Sonnenblumenkerne in Harald tun, ebenso den Salat. Den Spieler,
der dabei wieder aufwacht, nochmal ein wenig mit Drachenfeuer einheizen.

Die Cocktailtomaten kleinschneiden, auch in Harald tun, ebenso die
Putenstreifen. Dann alles mischen ("unterheben" sagt der Chef der Kusine dazu
oder so).

Die uebrigen Eier aufschlagen, in Sabine tun, ebenso die Milch in Sabine tun,
in der Pfanne unter Ruehren erhitzen. Vorher besser Pfeffer rein.

Die gebratenen Toastteilchen auf Harald obendrauftun (wer mag kann parmesan
drauftun, geht auch ohne, steht nicht bei den Zutaten).

Dann erst den Inhalt von Harald essen ("Drachensalat"), dann den Spieler
fressen (Hauptgang), dann das Ruehrei auffuttern.

Guten Hunger.

Humni
PS: Entstanden aus einem "Mens Health", den ich zum Geburtstag bekommen habe,
und dem darin befindlichen Rezept fuer "Caesarsalat". Eventuelle
Aehnlichkeiten sind nicht rein zufaellig. Naja, Anchovis sind leider nicht
essbar.
PPS: Ja, mein Rezept ist anders - es ist besser.

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



Videojug (Vanion, 24. Mar 2009, 13:03:10):
Hi,

kuerzlich war ich auf der Suche nach einem halbwegs authentischen American
Pancake-Rezept. Gefunden habe ich www.videojug.com/tag/food-and-drink

Da hat sich mittlerweile eine ziemlich aktive und internationale Community
angesammelt, die Rezepte mit einfachen Videos erklaert. Eine Menge leckerer
Sachen zum Nachkochen. Panncakes gabs auch :)

V*

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



Kartoffelgratin  (Tin, 20. Okt 2013, 19:48:21):
Huhu,

Damit diese Rubrik nicht verwahrlost hier in unserer tollen Zeitung liegen
muss, habe ich gedacht, ich stell mal ein Rezept rein, das ich ausprobiert
habe, das schnell geht und das schmeckt.
Ja, ich geh davon aus, dass man nach der Arbeit abends nicht noch stundenlang
schnibbeln will, aber sorry, hier ist doch ein bissi schnibbeln gefragt. Ist
was ganz leckeres: Kartoffelgratin
http://www.chefkoch.de/rezepte/837601188560864/Kartoffelgratin.html

Frohes ausprobieren und guten Hunger.
Wenn ihr moegt, kann ich euch auch mal ein Rezept aus dem Kochbuch von Daddy
abtippen.:)

gruss
tin

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



Re: Kartoffelgratin  (Croft, 20. Okt 2013, 23:44:15):
~#! rn=Tin rt=1382291301 rg=kochrezepte
~#! tid=1382291301
Ok. Und was isst man dazu? :D

Croft

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



Re: Re: Kartoffelgratin  (Tin, 20. Okt 2013, 23:48:09):
~#! rn=Croft rt=1382305455 rg=kochrezepte
~#! tid=1382291301
Frikadellen, Hackbraten, Schnitzel oder Bratwurst w|rde passen. 
... oh sollte ein wuerde werden. oder einfach einen gruenen salat

tin

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



Re: Kartoffelgratin  (Nok, 21. Okt 2013, 20:17:37):
~#! rn=Tin rt=1382291301 rg=kochrezepte
~#! tid=1382291301
Wenn ich mal meiner Mutter beim Kochen geholfen hab und sowas anstand, hab ich
die Kartoffeln mit nem Eierschneider in Scheiben zerlegt. Geht recht fix.
(Koennte sich aber auch auf bereits gekochte Kartoffeln bezogen haben, ist
schon ne Weile her.)

Nok.

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



Re: Re: Kartoffelgratin  (Tin, 21. Okt 2013, 20:20:20):
~#! rn=Nok rt=1382379457 rg=kochrezepte
~#! tid=1382291301
Hm,  benutz ich nicht, hab ich nicht. kann dazu nichts sagen.


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



Re^3: Kartoffelgratin  (Phage, 25. Okt 2013, 00:25:08):
~#! rn=Tin rt=1382379620 rg=kochrezepte
~#! tid=1382291301
Empfehle V-Hobel, ja das sind die Dinger aus der Fernsehwerbung/ShoppingTV.
Aber fuer Scheibchen schneide super geeignet. Mudda hat bestimmt noch sowas im
Schrank verbuddelt.


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



mal was suesses (Tin, 25. Okt 2013, 11:56:55):
Njaaaaammm
einmal klicken:-D

http://www.chefkoch.de/rezepte/2201591353018494/Amerikanische-Apfel-Zimt-Waffe
ln-mit-in-Butter-gebratenen-Aepfeln.html

gruss
tin

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



Wird gleich gekocht (Tin, 19. Feb 2014, 15:15:48):
http://www.chefkoch.de/rezepte/2161611346999588/Gnocchi-Auflauf-mit-Tomatensos
se-Gorgonzola-und-Blattspinat.html
Nur ohne Spinat.

tin

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



Re: Wird gleich gekocht (Croft, 19. Feb 2014, 15:22:53):
~#! rn=Tin rt=1392819348 rg=kochrezepte
~#! tid=1392819348
> Nur ohne Spinat.
D:

Croft

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



Re: Wird gleich gekocht (Ark, 19. Feb 2014, 18:56:01):
~#! rn=Tin rt=1392819348 rg=kochrezepte
~#! tid=1392819348
Warum ohne Spinat? Ohne ist doch ziemlich oed? :)


              *** ARK * the * Magnificent ***


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



Re: Re: Wird gleich gekocht (Tin, 19. Feb 2014, 20:10:34):
~#! rn=Ark rt=1392832561 rg=kochrezepte
~#! tid=1392819348
Weil der nicht schmeckt.

tin

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



Re^3: Wird gleich gekocht (Ark, 19. Feb 2014, 20:19:53):
~#! rn=Tin rt=1392837034 rg=kochrezepte
~#! tid=1392819348
Dann guten Spinat kaufen :-)


              *** ARK * the * Magnificent ***


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



Re^4: Wird gleich gekocht (Tin, 19. Feb 2014, 20:20:10):
~#! rn=Ark rt=1392837593 rg=kochrezepte
~#! tid=1392819348
den gibts nicht. mag ich nicht.

tin

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



Re^5: Wird gleich gekocht (Ark, 19. Feb 2014, 21:37:50):
~#! rn=Tin rt=1392837610 rg=kochrezepte
~#! tid=1392819348
Ja, als ich jung war, mochte ich den auch nicht. Das gibt sich, sei getroestet
:D


              *** ARK * the * Magnificent ***


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



Re^6: Wird gleich gekocht (Tin, 19. Feb 2014, 21:38:08):
~#! rn=Ark rt=1392842270 rg=kochrezepte
~#! tid=1392819348
mal sehen

tin

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



Re^7: Wird gleich gekocht (Vanion, 19. Feb 2014, 23:20:53):
~#! rn=Tin rt=1392842288 rg=kochrezepte
~#! tid=1392819348
Hmmm. Spinat. :) Gute Idee fuer morgen. Kartoffeln sind da...

V*

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



Re^8: Wird gleich gekocht (Tin, 19. Feb 2014, 23:23:03):
~#! rn=Vanion rt=1392848453 rg=kochrezepte
~#! tid=1392819348
guten hunger


tin

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



Re^9: Wird gleich gekocht (Vanion, 19. Feb 2014, 23:25:21):
~#! rn=Tin rt=1392848583 rg=kochrezepte
~#! tid=1392819348
Erst morgen. Oder Freitag. Morgen wird's vermutlich zu spaet zum kochen. Hab
Sportausschuss und danach selbst Sport :)

V*

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



Re^181694: Hach... nu is was drin, inner MPA. (Tin, 19. Feb 2014, 23:28:58):
~#! rn=Vanion rt=1392848678 rg=megaschmarrn
~#! tid=982328278
hm, ich weiss nicht, was stiefmama morgen kocht... Hoffendlich was gescheites.
Aber das heute hat gut geschmeckt:)

tin

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



Re^181695: Hach... nu is was drin, inner MPA. (Croft, 20. Feb 2014, 00:13:35):
~#! rn=Tin rt=1392848938 rg=kochrezepte
~#! tid=982328278
Mit Spinat hoffe ich!

Croft

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



Soetwas wie Chili con Carne con Lentaja (Deaddy, 31. Mai 2018, 20:48:02):
OK, ist mehr so ein Template und ich schredder da meist irgendein Gemuese
rein. Auch ohne Fleisch machbar, dann sind die Paprika imho nicht optional.
Grundgeschmack variiert sich hauptsaechlich nach Wahl des Gemueses, Moehrchen
und rote Paprika machen das ganze suesser, gruene Paprika machen das
schaerfer, Knoblauch macht was Knoblauch tut.

Weniger Fleisch geht natuerlich auch, dann aendert sich der Geschmack nicht so
doll, sondern nur die Makros und naja, die Menge des verwendeten Fleisches.
Denke unter 100 - 125g braucht man aber nicht mit Fleisch anfangen, dann
besser
direkt weglassen und einen insgesamt eher gemuesigeren und etwas schaerferen
Geschmack herauskriegen (imho daempft das Fleisch die Scoville um etwa nen
Faktor 10).

Portionen kann ich nicht abschaetzen, das ganze Grundrezept gibt etwa 4-5l (je
nach Fluessigkeitszugabe) zu 150g Protein (70 vom Fleisch), 110g Kohlenhydrate
(fragt mich nicht nach Ballaststoffen), etwa 30-70g Fett (kommt auf das Hack
an), insgesamt etwa 1500-1700kcal, davon wieder etwa die Haelfte vom Fleisch.

Dem geuebten Koch faellt auf, dass das eigentlich nen ganz normales
Eintopfrezept ist und die roten Linsen eigentlich gar nicht so im Zentrum
stehen (was auch gut ist *find*), aber ne guenstige und nahrhafte Andickung
darstellen.


Zutaten
-------
375g Schweinhackfleisch oder Mett
1 Dose Kidneybohnen
1 Dose weisse Bohnen (jeweils ca. 250g Abtropfgewicht)
1 Dose gestueckelte Tomaten
125g trockene rote Linsen
Tomatenmark
0 - 2 Paprika
0 - 1 Moehre
0 - 1 handvoll olle Kartoffeln
0 - 2 Zwiebeln
0 - 2 Zwiebelen
0 - 1 Knoblauchzehe
Chilis die Freude machen
Gewuerze wie Paprika, ggf. Salz, Pfeffer (wenn kein Mett benutzt wird), ggf.
Bruehe
fuer typischen Chiligeschmack Kreuzkuemmel/Cumin
Hitzebestaendiges Oel zum braten (bei vegetarischer Version reicht gutes Oel
wie natives Rapsoel)

Vorbereitung
------------
Wer nicht so fix mit dem Messer ist oder schnell mal aus der Ruhe geraet,
schnibbelt das Gemuese vorher klein und macht kleine Wuerfel aus allem, wobei
Knoblauch und Zwiebeln sehr sehr klein werden. Kartoffeln in Wasser liegen
lassen, alles andere kann man in eine Schuessel tun und dann gleichzeitig
reinwerfen. Die koennen auch gut sehr viel kleiner als ueblich, weil die
hauptsaechlich nur das ganze nachher zerkocht andicken.
Es scheint vorteilhaft zu sein die Linsen vorher mit kaltem Wasser wie Reis zu
waschen, bis das Wasser nicht mehr trueb ist.

Zubereitung
-----------
Oel auf hoher bis hoechster Stufe erhitzen, Fleisch darin anbraten. Sobald es
anfaengt Farbe zu kriegen, Gemuese der Klasse Zwiebeln/Paprika/Karotten
dazuwerfen, weiterbraten. Ggf. mit etwas Wasser zwischendurch abloeschen,
Hitze reduzieren und etwas schmoren, bis das Gemuese auch ein paar Roestaromen
entwickelt hat. In der vegetarischen Variante einfach das bessere Oel nicht
ganz so stark erhitzen und das Gemuese da drin duensten. Beim Duensten bzw.
schmoren ist ein guter Zeitpunkt die Chilis zuzugeben fuer maximale
Schaerfeentwicklung.

Mit Wasser und Tomatenmark abloeschen, wuerzen, Linsen und Kartoffeln
hinzufuegen, gestueckelte Tomaten und mit Wasser auffuellen, bis das genug
Fluessigkeit ist damit die Linsen gut kochen koennen. Auf niedriger Stufe
koecheln lassen, in den ersten 15 - 20 Minuten oft umruehren, damit die Linsen
nicht anpappen.  Koecheln bis das alles gut ist, je laenger, desto besser, ne
3/4 Stunde sollte es wenigstens sein.

Am Schluss Kidneybohnen waschen und hinzufuegen, weisse Bohnen je nach
Geschmack waschen oder mit diesem Bohnenwasserschleim den die haben
reinkippen und noch heiss werden lassen.

Varianten
---------
Keine Paprika, kein Knoblauch, viel Kartoffeln und ne echt dicke Moehre, am
Schluss noch gut Petersilie rein, Kidneybohnen durch weisse Bohnen ersetzen:
eher so deutsche Hausmannskost, man koennt noch Mettenden und nen fettes
Stueck Speck und Bockwurst reinwerfen

Keine weissen Bohnen, viel Cumin und Paprika, etwas Oregano und Basilikum,
vielleicht noch ne kleine Dose Mais am Ende: Klassisches Chili.

Viel Cayennepfeffer, Schuss Essig, ggf. nur weisse Bohnen, ggf.
Knoblauchwurst und Speck: Geht gut in Richtung serbische Bohnensuppe.

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



Nussecken (vegan) (Zesstra, 16. Sep 2018, 19:37:30):
Am Wochenende wollte jemand das Rezept fuer vegane Nussecken haben, daher
kommt das nun hier hinein.

Nussecken:
---------
Teig:
70 g Alsan (Bio)
70 g Rohrohrzucker
1 Pck. Vanillezucker
150 g Mehl
1 EL Sojamehl
2 EL Wasser

Belag:
100 g Rohrohrzucker
100 g Alsan
1 Pck. Vanillezucker
2 EL Wasser
200 g Haselnusse (gemahlen oder halb-halb gemahlen und gehackt)
100 g Zartbitterschokolade (milchfrei, optional fr Verzierung)
Aprikosenmarmelade

Teigzutaten verkneten, ausrollen und mit Marmelade dnn bestreichen
Belagzutaten vermengen und verkneten, zuerst trockene Zutaten, dann Alsan und
dann Wasser
Belag auf dem Teig verteilen
Bei 175C 20-30min backen
Auskhlen lassen und lauwarm in Dreiecke schneiden
Dreiecke mit Schokolade nach Wunsch verzieren

Quelle: https://www.tierbefreiungsoffensive-saar.de/rezepte/

Zesstra

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



Re: Nussecken (vegan) (Tizona, 16. Sep 2018, 23:33:06):
~#! rn=Zesstra rt=1537119450 rg=kochrezepte
~#! tid=1537119450
OK, fuer die nicht vegane Variante macht man nen normalen Muerbeteig, also
prinzipiell nur das Sojamehl durch ein Ei ersetzen (ich mach etwas weniger
Zucker und Margarine).

Fuer den Belag empfiehlt es sich, die Margarine in einem Topf zu erhitzen und
dort alles zu vermengen, das geht leichter von der Hand.

Ferner kann ich nur nahelegen, dass man fuer den Belag 400g gemahlene Nuesse
(Mandeln, Haselnuesse, Walnuesse, was man so halt hat) nimmt, 200g Margarine
und 100g Zucker, sowie 12g Vanillezucker und 4 EL Wasser, und dann den Boden
nicht auf ein, sondern auf zwei Bleche verteilt. Nicht nur den Ofen besser
ausgenutzt, sondern einfach nen viel besseres Nuesschen-Teig-Verhaeltnis.

Tizona, Hueterin des besten Nusseckenrezeptes

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



Apfel-Ingwer-Chutney (Vanir,  1. Okt 2018, 20:16:43):
Hier mein leckeres Chutney-Rezept

3,5 kg saeuerliche Aepfel (aber ohne Gehaeuse und Schale)
400g Ingwer
4 Habaneros (oder mehr, wie man will :)
1 kg Zucker
1kg Zwiebeln
1l Apfelessig
2 Priesen Salz
750g Sultaninen
3 gehaeufte EL Senfmehl
3 gehauefte EL Senfsaat (gelb)

Aepfel vorbereiten. Entschalungszauber wirken, Kerngehaeuse wegzaubern). Sei
gewarnt: Das sollten fuer den naechsten Schritt dann diese 3500 g ergeben!
Aepfel in kleine Stuecke schneiden.
Zwiebeln in etwas kleinere Stuecke als die Aepfel schneiden.
Ingwer in noch kleinere Stuecke (Staebchen oder Wuerfel)
Habaneros in ganz ganz klitzekleine Stueckchen schneiden

Alles (ausser Sultaninen) in grossem Topf (6 oder 8l) zum koecheln bringen,
wenn das ganze anfaengt einzudicken die Sultaninen hinzugeben, noch nen
bischen mitkochen lassen und dann ab in Glaeser fuellen (moeglichst heiss).
Glaeser umdrehen und auskuehlen lassen.

Guten Appetit.

Ich finde, dass das zu allem passt. Insbesondere zu indischem Zeugs, aber auch
so.

Achja: Das 'reift' im Glas nach. Also das kann ruhig etwas stehen.

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



Kohl-Eintopf, indisch (Vanir,  1. Okt 2018, 20:58:58):
Kohl-Tomaten-Eintopf aus den blauen Bergen
(Quelle: Das grosse vegetarische Indische Kochbuch von Julie Sahnie)

angeblich fuer 6-8 Personen (das stimmt aber nicht :)

1 Tasse gelbe Linsen (Toovar Dal) oder rote Linsen (Masar Dal)
3 Tassen Wasser
1/4 TL Kurkuma
3/4 Pfund Tomaten, geviertelt (ich nehme da einfach ne Dose stueckige)
8-12 Curryblaetter (Kari)
4 El leichtes Pflanzenoel (z.B. Rapsoel)
1,5 TL schwarze Senfkoerner
1/3 TL Bockshornkleesaat (davon nehme ich immer mehr, das mag ich. im original
steht: nach belieben)
1 El Sambaar-Pulver oder Currypulver (ich nehme das letztere, davon darf ruhig
reichlich dran)
1 mittelgrosse Zwiebel, geschaelt und in 2,5cm grosse Stuecke geschnitten
(also ich nehme davon auch eher mehr)
1,5 Pfund Kohl ohne Strunk und aeussere Blaetter, in 2,5 cm grosse Stuecke
geschnitten
grobes Salz nach belieben
3-4 EL gehackte Korianderblaetter (ich nehme meist getrocknete, weil
vorraetig)
3 El Usli-Ghee (bzw. Butterschmalz) oder Butter nach Belieben

1. Linsen gruendlich waschen (sehr empfehlenswert!) (und kauft Bio, die
anderen werden oft mit fiesen sachen von Mosanto zur schnelleren Reife
gebracht) Die Linsen in einem ca. 4l-Topf mit den 3 Tassen Wasser und dem
Kurkuma zum Kochen bringen. Bei mittlerer Hitze ca. 30 min Kochen (die roten
Linsen brauchen nicht so lange!)
2. Tomaten und Curryblaetter zugeben, gut vermischen und die Hitze wegnehmen.
Im Originalrezept wird die Haelfte pueriert, aber das mache ich nie, das ist
eh schon sehr zerfallen nach der Kochzeit. Wenn pueriert: zurueck in den Topf.
3. Gewuerze neben dem Herd bereitstellen! Das Oel in einer grossen, schweren
Pfanne sehr heiss werden lassen (kurz vor dem rauchen). Dann Senfsamen
hineingeben. Deckel oder Spritzschutz bereithalten, da die Samen hochspritzen.
Dazu gleich die Bockshornkleesamen geben und dunkelbraun anroesten. Dann das
Sambaar oder Currypulver hineingeben und einige Sekunden braten lassen. Danach
Kohl und Zwiebeln hinzufuegen. Gut vermischen. Das Gemuese 4-5 Minuten ohne
Deckel braten. (Es sollte anbraeunen, die Roestaromen will man :). Falls es zu
schnell braeunt: Hitze zuruecknehmen.
4. Linsenmischung zugeben, gut verruehren und das ganze zum Kochen bringen.
(Also ich kipp eher das Gebratene in de Topf mit Linsen, darum ruhig einen
grossen Topf fuer die Linsen nehmen.) Den Eintopf zugedeckt 20 min bei
mittlerer Hitze kochen bzw. bis das Gemuese gar, aber noch knackig ist. salz
und etwas frischen Koriander einruehren

Ich empfehle Gruenkohl zu nehmen (erste Wahl, aber mehr Arbeit). Alternativ
Spitzkohl (auch geil). Mit Weisskohl fanden wir das nicht so gut, naja, das
andere war halt leckerer.


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



Kuerbis-Jaggery (Vanir,  1. Okt 2018, 21:15:01):
Kuerbis-Jaggery
(Quelle: Das grosse vegetarische Indische Kochbuch von Julie Sahnie)

1 Kuerbis (ca. 1 3/4 - 2 Pfund)
3 EL leichtes Pflanzenoel
1/2 TL Bockshornkleesamen (ich nehme davon eher 1 EL)
1/2 TL gemahlenes Asafoetida (auf deutsch: Teufelsdreck)
1 EL gemahlener Koriander
1/2 TL Cayennepfeffer
grobes Salz nach Belieben
1TL Mangopulver (das ist sauer, weil aus unreifen Mangos hergestellt) ODER 
ODER 2 EL Zitronensaft (von ca. ner halben Zitrone) ODER
ODER 2 El Limettensaft (ca. von einer Limettte)
3 EL Palm- oder brauner Zucker

frufe rerbis halbieren, Stil entfernen, Kerne und Fasern rauskratzejn. Dann
der Laenge nach in 4cm breite Stuecke schneiden und die harte Schale entfernen
(Bei Hokaido kann die Schale dran bleiben). Fruchfleisch in 4cm grosse Stuecke
schneiden.
2. Oel in einer grossen Pfanne stark erhitzen. Bockshornkleesamen hineingeben
und dunkelbraum roesten (ca. 10s). Asafoetida, Koriander und Cayennepfeffer
zugeben, Einmal umruehren, dann Kuerbis hinzugeben, Kraeftig umruehren, um die
Gewuerze gut zu verteilen (3-4 Minuten). Salz drueberstreuen, umruehren. Hitze
runterschalten und den Kuerbis zugedeckt schmoren lassen, bis er gar ist, aber
noch nicht zerfaellt(ca. 10 Minuten). Deckel abhemhen und das Mangopulver
ueber den Kuerbis streuen. 2 Minuten weiterbraten, dabei staendig
weiterruehren. Palmzucker hinzufuegen und mitbraten, bis er geschmolzen und
das Gemuese davon ueberzogen ist (3-4 Minuten). Heiss, warm oder kalt
servieren

Das ist insgesamt ein eher trockenes Rezept, sollte sich zuviel Fluessigkeit
bilden, dann ohne Deckel braten.

V.

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



Zucchini als Nudeln (low carb) (Deaddy, 24. Nov 2018, 11:56:55):
Man nehme ein bis drei Zucchini und schaele sie mit dem Sparschaeler in sehr
duenne Streifchen. Diese Streifchen nennt man jetzt Nudeln und kann sie in
kochendem Salzwasser (gut Salz ran) in ein paar Minuten al dente bis gar
kochen und dann fuer die ueblichen Nudelsaucen, vor allem tomatige
Nudelsaucen, nutzen.
In duenne Scheiben geschnitten tun die Dinger auch als Lasagnenudelnersatz.

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



Re: Zucchini als Nudeln (low carb) (Zesstra, 25. Nov 2018, 10:07:22):
~#! rn=Deaddy rt=1543057015 rg=kochrezepte
~#! tid=1543057015
Kann ich auch sehr empfehlen. Mit einer gut gewuerzten Sosse.
Neben Zucchini kann man das auch noch mit Karotten machen (und Kartoffeln).

Zesstra

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



Re: Re: Zucchini als Nudeln (low carb) (Vanir, 25. Nov 2018, 13:48:33):
~#! rn=Zesstra rt=1543136842 rg=kochrezepte
~#! tid=1543057015
Ja. Das ist lecker und geht auch mit anderen Gemuesen. Ich empfehle einen
Julienne-Schaeler. Damit geht das ratzfatz und man hat dann direkt so lange
nudelartige Streifen.
V.
PS: Streifen ist wohl das falsche Wort. Das sind eher spaghetti-artige
'Streifen'

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



Kasselerstreifen mit Nudeln und Gemuese (Tizona, 11. Feb 2019, 22:58:36):
Ich habe gerade in der Not, Reste im Kuehlschrank zusammenzuwerfen,
ausversehen mein neues Lieblingsgericht (also zumindest in der Top20)
herausgefunden, und wunder mich, dass ich mein Leben lang immer Kartoffelbrei
mit Sauerkraut zu Kasseler machte.

Nudeln kochen
Kasseler (das Fleisch, nicht das Brot) in Streifen schneiden und anbraten
in einer anderen Pfanne Broccoli und Fruehlingszwiebeln etwas anbraeunen
Alles zusammenwerfen, bisschen Oregano, Petersilie, Basilikum oder wonach es
auch dem Herz geluestet mit einem Schluck Lieblingsoel oder Butter
unterruehren

Makros bei 125g Nudeln und 300g Kasselerlachs dann so ungefaehr 84g Protein,
89g Nudeln, 20g Fett, 900kcal.

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



Kanadische Holzfaellersuppe (Gast1,  7. Aug 2020, 23:53:47):
An der der kanadischen Holzfaellersuppe werden Sie viel Freude haben - selbst,
wenn Sie kein nordamerikanischer Waldarbeiter sind. Die herzhafte Suppe ist
einfach und schnell zubereitet, extrem lecker und haelt lange satt.
Diese Zutaten benoetigen Sie fuer 8 Portionen:

    1 kg Hackfleisch, gemischt oder vom Rind
    2 Dosen Kidneybohnen
    4 Dosen gebackene Bohnen
    2 Dosen Pizzatomaten
    2 EL Paprikapulver, edelsuess
    1 TL Salz
    1 TL Cayennepfeffer
    1 TL Zucker

Chili con Carne mal anders - so gelingt die leckere Holzfaellersuppe:

Etwas Oel in einer Pfanne geben. Hackfleisch dazugeben und wenden, bis es
braun ist. Groessere Stuecke immer wieder zerkleinern. Das Fleisch wuerzen.
Alles durchmengen und das fertig gebratene Hackfleisch vom Herd nehmen.

In einem grossen Topf die Bohnen und die Tomatensosse vermengen. Dann kommt
das Fleisch hinzu. Nochmals wuerzen und auch etwas Zucker hinzufuegen. Unter
Hitze alles gut umruehren und zum Koecheln bringen lassen. Guten Appetit!


(Quelle: FOCUS)

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



