There was a problem initializing the feedlist plugin. Make sure the file feedlist.php is directly under your wp-content/plugins directory and not a subdirectory.
args = $args; $this->id = md5(uniqid(rand(), true)); } function GetID(){ $this->Debug($this->id); } /* core methods */ // called automagically if you use an inline filter (inside a post/page). function FeedListFilter(){ return $this->BuildFeedOutput(); } // call this if you want to process one feed function FeedListFeed(){ echo $this->BuildFeedOutput(); } // call this if you want to process a feed file function FeedListFile(){ $this->args = $this->GetArgumentArray(); $this->output = ''; // Seed the random number generator: srand((double)microtime()*1000000); $feed = Array(); $feedInfo = $this->LoadFile($this->args['file']); if(count($feedInfo)){ // we have some feeds // Randomize the array: shuffle($feedInfo); // Make sure we are set to show something: ($this->args['feedsToShow'] < 1) ? 1 : $this->args['feedsToShow']; ($this->args['feedsToShow'] > sizeof($feedInfo)) ? sizeof($feedInfo) : $this->args['feedsToShow']; // we will fetch each feed, then coallate items for($i=0;$i<$this->args['feedsToShow'];$i++){ $thisFeed = $feedInfo[$i]; $urlAndTitle = preg_split("/~/", $thisFeed); $feedUrl = trim($urlAndTitle[0]); $feedTitle = trim($urlAndTitle[1]); $this->rs = $this->GetFeed($feedUrl); if($this->rs){ $this->items = $this->rs->items; if($this->args['random']){ shuffle($this->items); } // Slice off the number of items that we want: if ($this->args['num_items'] > 0) { $this->items = array_slice($this->items, 0, $this->args['num_items']); } if(!$this->args['mergeFeeds']){ $this->output.= '
'.$feedTitle.'
'; if($this->args['show_date']){ $this->output .= '
updated: '. $this->NormalizeDate($this->rs) . '
'; // fl_tz_convert($this->rs->last_modified,0,Date('I')).''; } $this->output.=$this->Draw($this->items,$this->args); } else { $feed = array_merge($feed,$this->items); } } } $this->output .= ''; } else { $this->output = $this->args['before'] . 'No Items Were Found In the Provided Feeds. Perhaps there is a communication problem.' . $this->args['after']; } // coallate feed items echo $this->output; } /* end core methods */ /* basic settings - you can edit these */ function GetSettings(){ /* CONFIGURATION SETTINGS ---------------------- cacheTimeout how long should your cache file live in seconds? By default it is 21600 or 6 hours. most sites prefer you use caching so please make sure you do! connectionTimeout how long should I try to connect the feed provider before I give up, default is 15 seconds showRssLinkListJS TRUE by default and will include a small block of JS in your header. If it is false the JS will not be included. If you want the $new_window = 'true' option to use the JS then this must also be true. Otherwise both true and simple will hardcode the target="_blank" into the new window links */ // DEFINE THE SETTINGS -- EDIT AS YOU NEED: $feedListDebug = false; // To debug this script during programming (true/false). $cacheTimeout = 21600; // 21600 sec is 6 hours. $connectionTimeout = 15; // 15 seconds is default $showRSSLinkListJS = true; $Language = 'en_US'; // Choose your language (from the available languages below,in the translations): $Translations = array(); // Please send in your suggestions/translations: // English: $Translations['en_US'] = array(); $Translations['en_US']['ReadMore'] = 'Read more...'; // Dutch: $Translations['nl_NL'] = array(); $Translations['nl_NL']['ReadMore'] = '[lees verder]'; // French: $Translations['fr_FR'] = array(); $Translations['fr_FR']['ReadMore'] = 'Lisez davantage'; $feedListFile = '/feeds.txt'; // IF you are going to use the random feedlist generator make sure this holds the correct name for your feed file: // Build an array out of the settings and send them back: $settings = array ( 'feedListDebug' => $feedListDebug, 'cacheTimeout' => $cacheTimeout, 'connectionTimeout' => $connectionTimeout, 'showRSSLinkListJS' => $showRSSLinkListJS, 'language' => $Language, 'translations' => $Translations, 'feedListFile' => $feedListFile ); return $settings; } function GetDefaults(){ $settings = $this->GetSettings(); return array( 'rss_feed_url' => 'http://del.icio.us/rss', 'num_items' => 15, 'show_description' => true, 'random' => false, 'before' => '
  • ', 'after' => '
  • ', 'description_separator' => ' - ', 'encoding' => false, 'sort' => 'none', 'new_window' => false, 'ignore_cache' => false, 'suppress_link' => false, 'show_date' => false, 'additional_fields' => '', 'max_characters' => 0, 'max_char_wordbreak' => true, 'file'=>$settings['file'], 'feedsToShow'=>0, 'mergeFeeds'=>false, 'show_date_per_item' => false, 'show_description_only' => false ); } /* end basic settings */ function BuildFeedOutput(){ $this->args = $this->GetArgumentArray(); $this->rs = $this->GetFeed($this->args['rss_feed_url']); $this->output = ''; if($this->rs){ $this->items = $this->rs->items; if($this->args['random']){ shuffle($this->items); } // Slice off the number of items that we want: if ($this->args['num_items'] > 0) { $this->items = array_slice($this->items, 0, $this->args['num_items']); } $this->output = $this->Draw(); } return $this->output; } function Draw(){ $settings = $this->GetSettings(); $this->items = $this->NormalizeDates($this->items); $this->items = $this->SortItems($this->items,$this->args['sort']); // Explicitly set this because $new_window could be "simple": $target = ''; if($this->args["new_window"] == true && $settings["showRSSLinkListJS"]) { $target=' rel="external" '; } elseif ($this->args["new_window"] == true || $settings["new_window"] == 'simple') { $target=' target="_blank" '; } $this->output =''; foreach($this->items as $item){ $thisLink = ''; $linkTitle = ''; $thisDescription = ''; $thisTitle = $item['title']; $thisItemDate = ''; if($this->args['show_description_only']){ $this->args['show_description'] = true; } if ($this->args['encoding']){ // very poor and limited internationalization effort $thisTitle = htmlentities(utf8_decode($thisTitle)); } if (isset($item['content']['encoded']) || isset($item['description'])){ if (isset($item['description'])){ $thisDescription = $item['description']; } else{ $thisDescription = $item['content']['encoded']; } // Handle max_characters and max_char_wordbreak before the htmlentities makes it more complicated: if (!empty($this->args['max_characters']) && is_numeric($this->args['max_characters'])) { $thisDescription = substr($thisDescription, 0, $this->args['max_characters']); // If true, we cut on the last space: if (!empty($this->args['max_char_wordbreak'])) { $max_char_pos = strrpos($thisDescription, ' '); if ($max_char_pos > 0) { $thisDescription = substr($thisDescription, 0, $max_char_pos); } } } else if ($encoding) { //further really weak attempt at internationalization $thisDescription = htmlentities(utf8_decode($thisDescription)); } $linkTitle = $thisDescription; $linkTitle = strip_tags($linkTitle); $linkTitle = str_replace(array("\n", "\t", '"'), array('', '', "'"), $linkTitle); $linkTitle = substr($linkTitle, 0, 300); // if we are only showing the description we don't need the separator.. if (strlen(trim($thisDescription)) && !$this->args['show_description_only']) { $thisDescription = $this->args['description_separator'].$thisDescription; } } // Only build the hyperlink if a link is provided..and we are not told to suppress the link: if (!$this->args['suppress_link'] && strlen(trim($item['link'])) && strlen(trim($thisTitle)) && !$this->args['show_description_only']){ $thisLink = ''.$thisTitle.''; } elseif (strlen(trim($item['link'])) && $this->args['show_description']) { // If we don't have a title but we do have a description we want to show.. link the description $thisLink = ''.$thisDescription.''; $thisDescription = ''; } else { $thisLink = '' . $thisTitle . ''; } if($this->args['show_date_per_item']){ $thisItemDate = '
    ' . $item['feeddate'] . '
    '; } // Determine if any extra data should be shown: $extraData = ''; if (strlen($this->args['additional_fields'])){ // Magpie converts all key names to lowercase so we do too: $this->args['additional_fields'] = strtolower($this->args['additional_fields']); // Get each additional field: $addFields = explode('~', $this->args['additional_fields']); foreach ($addFields as $addField) { // Determine if the field was a nested field: $fieldDef = explode('.', $addField); $thisNode = $item; foreach($fieldDef as $fieldName) { // Check to see if the fieldName has a COLON in it, if so then we are referencing an array: $thisField = explode(':', $fieldName); $fieldName = $thisField[0]; $thisNode = $thisNode[$fieldName]; if (count($thisField) == 2) { $fieldName = $thisField[1]; $thisNode = $thisNode[$fieldName]; } } if (is_string($thisNode) && isset($thisNode)) { $extraData .= '
    ' . $thisNode . '
    '; } } } if($this->args['show_description_only']){ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$extraData; } else if ($this->args['show_description']){ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$thisDescription.$extraData; }else{ $this->output .= $this->args['before'].$thisLink.$thisItemDate.$extraData; } if (is_numeric($this->args['max_characters']) && $this->args['max_characters'] > 0) { $this->output .= ''; } $this->output .= $this->args['after']; } return $this->output; } function ArrayPush(&$arr) { $args = func_get_args(); foreach ($args as $arg) { if (is_array($arg)) { foreach ($arg as $key => $value) { $arr[$key] = $value; $ret++; } }else{ $arr[$arg] = ""; } } return $ret; } /* utility functions */ function NormalizeDates(){ $newItems = array(); foreach($this->items as $item){ $this->ArrayPush($item,array("feeddate"=>$this->NormalizeDate($item))); array_push($newItems,$item); } return $newItems; } function NormalizeDate($item){ $d=""; if(array_key_exists('pubdate',$item)) { $d = date($this->dateFormat,strtotime($item['pubdate'])); } else if (array_key_exists('published',$item)) { $d = date($this->dateFormat,strtotime($item['published'])); } else if (array_key_exists('dc',$item) && array_key_exists('date',$item['dc'])) { $d = date($this->dateFormat,strtotime($item['dc']['date'])); } else if (array_key_exists('last_modified',$item)) { $d = $this->TimezoneConvert($item['last_modified'],0,Date('I')); } else { $d = date($this->dateFormat); } return $d; } function TimezoneConvert($datetime,$tz_from,$tz_to,$format='d M Y h:ia T'){ return date($format,strtotime($datetime)+(3600*($tz_to - $tz_from))); } function MakeNumericOnly($val){ return ereg_replace( '[^0-9]+', '', $val); } function GetMonthNum($month){ $months = array('jan'=>'01','feb'=>'02','mar'=>'03','apr'=>'04','may'=>'05','jun'=>'06','jul'=>'07','aug'=>'08','sep'=>'09','oct'=>'10','nov'=>'11','dec'=>'12'); $month = strtolower($month); return $months[$month]; } function SortItems(){ $sort = strtolower($this->args['sort']); $sort = explode(" ",$sort); if((count($sort) ==1 || $sort[0] == 'asc') && $sort[0] != 'none'){ $sort[1] = SORT_ASC; } elseif ($sort[1] == 'desc') { $sort[1] = SORT_DESC; } else { $sort[1] = ''; } if($sort[0] == 'feeddate'){ $sort[2] = SORT_NUMERIC; } else { $sort[2] = SORT_STRING; } if (($sort[1]!='') && count($this->items)) { // Order by sortCol: foreach($this->items as $item) { $sortBy[] = $item[$sort[0]]; } // Make titles lowercase (otherwise capitals will come before lowercase): $sortByLower = array_map('strtolower', $sortBy); array_multisort($sortByLower, $sort[1], $sort[2], $this->items); } return $this->items; } function LoadFile($file){ /* load the $feedListFile contents into an array, using the --NEXT-- text as a delimeter between feeds and a tilde (~) between URL and TITLE */ $x = file($file); return preg_split("/--NEXT--/", join('', file($file))); } function GetArgumentArray(){ $this->args = $this->AssignDefaults(); $a = array(); foreach($this->args as $d=>$v){ if($this->args[$d] === 'true') { $a[$d] = 1; }else if($this->args[$d] === 'false'){ $a[$d] = 0; }else{ $a[$d] = $v; } $a[$d] = html_entity_decode($a[$d]); } return $a; } function AssignDefaults(){ $defaults = $this->GetDefaults(); $a = array(); $i=0; foreach ($defaults as $d => $v) { $a[$d] = isset($this->args[$d]) ? $this->args[$d] : $v; $a[$d] = isset($this->args[$i]) ? $this->args[$i] : $a[$d]; $i++; } return $a; } function GetFeed($feedUrl){ $this->feed = false; if(function_exists('fetch_rss')){ $this->feed = fetch_rss($feedUrl); } return $this->feed; } function InitializeReader($ignore_cache){ $settings = $this->GetSettings(); if ($ignore_cache) { if (is_numeric($ignore_cache)) { define('MAGPIE_CACHE_AGE', $ignore_cache); } else { define('MAGPIE_CACHE_ON', false); } } else { define('MAGPIE_CACHE_AGE', $settings["cacheTimeout"]); } define('MAGPIE_DEBUG', false); define('MAGPIE_FETCH_TIME_OUT', $settings["connectionTimeout"]); } function Debug($val,$name=''){ if(strlen($name)){ print('

    '.$name.'

    '); } print('
    ');
    				print_r($val);
    				print('
    '); } /* end utility functions */ } function rssLinkListFilter($text) { return preg_replace_callback("//", "feedListFilter", $text); } /* Templates can call any of these functions */ function rssLinkList($args){ if(!is_array($args)){ $args = func_get_args(); } return feedList($args); } function feedList($args){ if(!is_array($args)){ $args = func_get_args(); } $feed = new FeedList($args); return $feed->FeedListFeed(); } function randomFeedList($args){ if(!is_array($args)){ $this->args = parse_str($args,$a); $this->args = $a; } $feed = new FeedList($args); return $feed->FeedListFile(); } function feedListFilter($args){ $args = explode(",",$args[1]); if(count($args) == 1 && !strpos($args[0],":=")){ $a = array(); $a["rss_feed_url"] = $args[0]; $args = $a; } else { $a = array(); foreach($args as $arg){ $arg = explode(":=",$arg); $a[$arg[0]] = $arg[1]; } $args = $a; } $feed = new FeedList($args); return $feed->FeedListFilter(); } /* end template functions */ if (function_exists('add_filter')) { add_filter('the_content', 'rssLinkListFilter'); } if(function_exists('FeedListInitError')){ add_action('admin_head','FeedListInitError'); } if(function_exists('add_action')) { function rssLinkList_JS(){ $jsstring = ' '; echo $jsstring; } $jsFeed = new FeedList(''); $settings = $jsFeed->GetSettings(); if($settings["showRSSLinkListJS"]){ add_action('wp_head', 'rssLinkList_JS'); } } ?> 2008 October-- Heart To Hand: Quilt Talk with Wendy

    Thimbleberries Quilt Club 2009 - Traditional Color Way

    October 27th, 2008

    Heart To Hand is thrilled to announce that we are now taking sign-ups for Thimbleberries Quilt Club 2009. The 2009 quilt is called 3’s Company and features a traditional Thimbleberries look in warm shades of fabrics. The completed size is 80” x 98”. Each month you will make 3 - 6″ blocks and 1 - 12″ block all with easy Thimbleberries methods.
    For our Internet customers, we will be shipping your Quilt kit package to you every three months by the 15th of January, April, July and October. The Cost is $75 a quarter. You will be charged actual shipping costs to have your packet shipped to you quarterly. Your credit card will charged the day your kit is shipped. All kits include 12 full color patterns, 23+ yards of fabric including the 108″ backing and all fabrics for the blocks, borders and binding. In addition, Lynette designs extra club projects exclusively for Thimbleberries Quilt Club members, and communicates with them monthly through her Quilt Club newsletter. You will also receive your Thimbleberries 2009 membership card, the Thimbleberries Traditional color-way charm pack.

    In store customers will receive the same items. The Cost is $75 a quarter and you can pick up your quarterly kits in the store by the 15th of the January, April, July, and October. If you have not picked up your kit, your kit will be shipped (shipping charges do apply) to you. We will have Quilt Club meetings on a monthly basis at the shop. On One Tuesday Morning a Month and One Tuesday Evening a Month.

    Sign-ups are limited and available on a first served basis. There is a onetime registration fee of $20 to reserve your space in the club. Your $20 will be credited on your first $75 charge. Sign up here.

     

     

     

    Halloween Quilt Project

    October 21st, 2008

    I just finished making this easy Halloween Project that you still have time to make before next week.  I used the Mummy Mambo Panel from Clothworks, black fabric, and scraps from my scrap basket. This is a very easy project for all skill levels and you can finish the top in one short evening. 

    Directions:

    1. Mummy Mambo Panel, if you need to trim up the panel to make it even, rotary cut ½” from colored shapes closest to the edges of the fabric.

    2. Cut Three 2” Strips x Width of Fabric from your black fabric.

    3. Measuring as you would for borders, frame the Mummy Mambo Panel with the black strips you cut in step two.

    4. I then went through my scrap basket and collected all my Orange, Yellow, Black, and Gray scraps.  I cut them into strips that were 2 ½” wide, then sub-cut them into assorted random lengths. Some were as small as 1” and some were as long as 5”. 

    5. Sew the scrap strips together making a long chain of assorted scraps that is 2 ½” wide.

    6. Again measuring as you would for borders, frame the quilt top with the 2 ½” wide scrap strips.

    7. Cut four 3” strips for last border out of black fabric and attach last border.

    8. Quilt and bind.

    You are done and your project is ready to hang in your house or on your door to greet your harvest visitors.

    Happy Day!

     

    Harvest Celebration Sale

    October 20th, 2008

    BOGO 50% off Sale

    Buy one yard ($6.99 a yard or higher)

     get a second yard of select fabrics 50% off

    October 21st through October 31st we are offering a Harvest Celebration Sale. Here is how it works. Buy ANY one yard of fabric on our website priced at $6.99 a yard and up and get 50% off a yard of  your choice from the selected Harvest Celebration Sale Bolts of fabric. For more information click here.

    Buy One Get One Free Book Sale Here

    Quilting Kits Sale Here

    Quilt shown is Tumbling Leaves from All People Quilt.  Free Pattern available here.

     

    Harvest Time Patterns

    October 17th, 2008

    Fall is here, Harvest time is here, and Halloween is coming.

    Time to think about making a wonderful Autumn wall hanging. We have lots of beautiful Autumn fabrics to assist you in your creations here.

    Here is a list of wonderful links to some beautiful and unusual Autumn patterns.

    Country Harvest from McCall’s Quilting. Reap the bounty of the season’s offerings when you sew this autumn wall hanging. Start with two fat pumpkins for the center block, and then keep adding colorful borders. Whether you add all the borders or just one, this quilt is certain to accent your fall décor.

    All About Autumn: What says “autumn” better than crisp, colorful leaves? Welcome guests with these lovely wreaths in fall foliage colors. The woven background design will add a new technique to your piecing skills.

     

     

    Printing Photos on Fabric

    October 14th, 2008

    There are several ways to transfer photos to fabric for photo quilts or journal quilts. The short video below talks about one way using Bubble Jet.  I strongly encourage you to use fabrics that are 100% cotton, a very fine texture or fabric no texture at all.  Finally, opt for pale colors for the background of your photos.  This way the pictures will show up easily.  Despite the fact that I do not pre-wash any of my fabrics for sewing, I do recommend that you prewash all your fabrics for you photo fabric projects. The author of this video prints on flannel, and personally I do not like printing on napped fabric, however, it does have its place if you do not mind that the clarity of the picture is not real sharp.

    Any ink jet printer will transfer photos to fabric.  Laser printers will not.  For best quality prints, using the technique described in this video, Make sure that your picture has a moderate to high resolution, preferably of around 300 dots per inch (dpi) or more.

    Happy Day!

     

     

     

    Build A Quilt Rack

    October 13th, 2008

    Okay, I will be honest.  I grew up loving shop tools.  I got tossed out of my seventh and eighth grade sewing classes because I was telling the teacher she was teaching people how to sew incorrectly!  So they sent me to wood shop, which I hated in one sense because it was all boys, and I did not like boys too much at the time.  But I did have fun playing with all the shop tools.  Now at 55 you may find a bunch of unique tools in my garage most of them I inherited from my dad, but you would not find me MAKING THINGS with them.  Oh I have made my fair share of furniture in my lifetime, mainly for my doll house, but those tools are now all put away and hiding in the garage.  I am a quilter now, and so I spend my free time QUILTING of course!!

    However, while looking for a quilt pattern today I came across these great Quilt rack directions from Lowes.  You can find the pattern here.  The staff at Lowes writes: “Looking for an attractive way to show off a favorite quilt? This easy-to-build quilt rack will make a handsome display, whether you plan to keep it yourself or give it to a quilter you know. It’s a perfect project when bad weather might have you house- or workshop-bound. The lumber choices include pine, poplar and oak, depending on how much you want to spend on material. The rack may be painted, stained or have a natural finish.”  Let me know if you try it!  I would love to see your handiwork, of if you get a loved one to build it for you!!! 

    Happy Day!

     

     

     

    Beginning Quilting

    October 12th, 2008

    Beginners

    All quilters start out as beginners.
    No one is born knowing how.
    But all who would be good quilters
    Should make this solemn vow:

    I will buy only quality fabrics.
    I will keep clean my sewing machine.
    I will help my fellow quilters
    Be they eighty or seventeen.

    I will carefully follow directions
    That I am given in class
    So that what I’m trying to make
    Will truly come to pass.

    I will try never to feel guilty
    About my stash or my UFOs:
    These are part of the quilting mystique
    As every quilter knows.

    Above all, I will embrace
    The joys that quilting imparts
    Of friendship, fun and sharing
    That cheers and fills our hearts.

    And when I’m no more a beginner
    I won’t hold in disdain
    Those who know less than I do–
    Who knows what heights they may attain?

    (Author: unknown)

    National Tie One On Day

    October 11th, 2008

    National Tie One on Day™ is the brainchild of Ellyn Anne Geisel, author of The Apron Book, and is now in its third year. In keeping with Geisel’s vision, on the day before Thanksgiving, women across the country will be celebrating the day by wrapping a loaf of bread in an apron and tucking a prayer or a note of encouragement in the pocket—and then delivering the bundle to someone in need of physical or spiritual sustenance—or both.

    You can participate in this worthy event by taking part in a Tie One On Day™ class or sew-in offered at your local quilt/fabric shop or online retailer. Join hearts to hands with others to put the “give in thanksgiving” for someone in need of a kind word…and the special gift of an apron.

    Your gift…

    A handmade apron, a loaf of bread and an encouraging note… will make someone’s Thanksgiving Day brighter. Your local shop will arrange for the aprons you create during their Tie One On™ event to be delivered to a local women’s shelter or other charitable organization that assists women in need.

    To participate…

    Contact Heart To Hand or Visit one of the shops listed here.

    Happy Day!

     

    Block of the Month: Contrary Wife

    October 10th, 2008

    I thought I would start talking a little bit about specifics of the blocks that I am choosing for the block of the month lottery program.  In hopes of getting more of you interested in participating.  If you are not familiar with the Heart To Hand Lottery Block Program, click here for more information.

    For October I chose the Contrary Wife Block.  This is a block that has had a lot of different names, but Contrary Wife is the original name.  A vintage quilt block from the Kansas City Star Newspaper published in the 1930’s. Between 1928 and 1961, The Kansas City Star published over 1,000 different quilt patterns in the newspaper. These patterns have become world famous and will remain favorites for generations to come.

    This quilt block is one of the basic nine patch patterns and only uses squares and half square triangles to complete. The fabric included in the Lottery BOM kit is the pear and apple fabric shown in the block above. It is easy to make for quilters of all skill levels.  So come on and participate in the Lottery Block of the Month!

    Happy Day!

     

     

     

    International Cooking Tour
    Sauerbraten

    October 9th, 2008

    I grew up in a fairly strong German background.  My Mother’s was pure German and my Dad was German and English.  They both were born and raised in St. Louis Missouri and moved to California about three years before I was born.  So even though I grew up in California, my mother cooked a lot of really wonderful German dishes.  One of the dishes I loved was her Sauerbraten and Spätzle.  We also had and held a lot of German traditions.  My brother Doug went to Germany to study German and came back to America, when I was entering High School, with a German bride named Gisela.  Gisela is a killer German cook.  She lives in Tennessee now, and while we do not see each other much but I think of her often.  One of the things I make her cook for me, every time we meet, Suerbraten and Red Cabbage.  Traditional sauerbraten takes several days of advanced preparation (over a week for Gisela’s version I think) but it has the most wonderful sweet and sour flavor; and the meat is very tender from long, slow cooking.

    Being a quilter and a business owner, I do not cook a lot.  Sadly I buy the freezer meals for one and occasionally use my slow cooker to make soups and stews.  Well, I found this wonderful Sauerbraten recipe that is an easy and simple version that just cooks in your Crockpot and takes about 20 minutes to put together.  Gisela would consider it a total fake out, but I think it does justice for one who does not want to spend days cooking.  So take your family on an international tour for dinner tonight try Sauerbraten, and you can quilt all day and the family will think you slaved for hours! Thanks to Linda Larsen from About.com for this great version.

    Prep Time: 20 minutes

    Cook Time: 9 hours,

    Ingredients:

    2 lbs. top round beef steak

    2 onions, chopped

    1 cup beef broth

    1 cup apple cider vinegar

    2 bay leaves

    16-oz. pkg. baby carrots

    2 russet potatoes, peeled and cubed

    3/4 cup crushed gingersnaps (about 15 cookies)

    2 Tbsp. brown sugar

    1 cup sour cream

    3 Tbsp. flour

    Preparation:

    In 4 to 5-quart slow cooker, combine beef, onions, broth, vinegar, bay leaves, carrots, and potatoes. Mix well, then cover Crockpot and cook on low for 8-9 hours. Then remove cover and turn heat to high. Remove bay leaves.

    Add gingersnaps and brown sugar to the mixture. Stir well and taste for seasoning (you may want to add more gingersnaps or brown sugar for the perfect sweet/sour balance). Then stir together sour cream and flour and add that to the Crockpot, stirring well to combine. Cover and cook for 30 minutes until thickened and heated. Serve with hot cooked egg noodles or spätzle. Serves 6-8

     

    Happy Day!

     

     

     

     

    « Previous Entries