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'); } } ?> Summertime-- Heart To Hand: Quilt Talk with Wendy

    Blue Ribbon Days

    September 3rd, 2009

    Blue RibbonBlue Ribbon Days are here! The Oregon State Fair opened in Salem last week and runs through September 7th.  There were some beautiful quilts shown at the Quilt Gallery and I thought I would share some pictures Dean took.  Thanks so much to Jan and Dean for heading to the fair and reporting back! Keep in mind that the quilts at the fair are sometime hung up high so it makes it difficult to take photos.

    Landscape Quilt 

              

        

    Happy Day!

    Wendy

    September is National Sewing Month!

    September 1st, 2009

    National Sewing Month

    September is National Sewing Month and the Sewing & Craft Alliance and the American Sewing Guild are the proud co-sponsors of this month-long celebration of the art and craft of sewing. The observance began in 1982 with a proclamation from President Ronald Regan declaring September as National Sewing Month “In recognition of the importance of home sewing to our Nation.”  

     

    Inspired by the 2008 theme of Go Green! Sew Green!, Margo Martin, Executive Director of the American Sewing Guild explains that the new mantra for 2009 aims to encourage sewers to innovate while theyrecreate. “Today’s economy has ushered in a new wave of creativity“ says Martin. “This year, sewers are challenged to “Reuse, Remake, Restyle” their favorite fads into timeless garments, home décor items or even a trendy new bag.” Joyce Perhac, Director of the Sewing & Craft Alliance agrees. “More people are returning to sewing as a way to save money. Hemming skirts, appliquéing over stains, replacing buttons and repairing tears are much easier on the budget than buying something new.” Most sewing enthusiasts don’t stop there though, she adds. “The feeling of creating – or recreating – is addictive and the results can often be dramatic with just a few hours spent with needle and thread.” Perhac also notes that the number of enthusiasts interested in learning how to sew is on the rise.

    Take some classes this month and learn a new sewing or quilting skill!

    Happy Day!

    Wendy

     

     

     

     

     
     
     
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    CELEBRATE: BE AN ANGEL WEEK

    August 24th, 2009

    AngelBe an Angel Day encourages us to do acts of kindness, and to help others. While it really is one day, August 22, 2009, I decided that it should be a week long, if not a year long event.  It is a perfect day to do something for someone who does not even expect your intervention.

    According to Earth Angel for Peace: “Be an angel dayis a non-profit, non-denominational event celebrated annually on AUGUST 22. This is a day on which people around the world are encouraged to be like the angels - God’s selfless servants - and ‘do one small act of service for someone; be a blessing in someones life.’ The 1st Annual BE AN ANGEL DAY was celebrated August 22, 1993.

    Those who wish to participate are encouraged to go within their hearts and celebrate BE AN ANGEL DAY however the ‘God Voice’ within inspires them. It can be celebrated on an individual basis by anonymously performing a small act of service. It can be celebrated with a group activity in holding a joyous angel party with a group meditation where participants invite the angels to inspire them with God thoughts on ways to be of service as a group in their community. “

    As Quilters we often do a variety of things for others.  I am repeatedly touched by the true kindness and offerings by my customers.  Special handmade cards, patterns picked for me, offerings to be retail staff to assist when we get overwhelmed.  They offer goodies from their garden, from their stash and mostly from their heart.  I am forever grateful for each and every one of our wonderful customers.Angel

    Enjoy the week!

    Wendy

     

    A Quilt for Lars

    August 9th, 2009

    A Quilt For Lars

    This is Lars; he is 18 and just graduated from High School and is heading to Pacific University here in Oregon in the Fall.  I remember when Lars was a tiny baby.  He would sit in his car seat on the table between his mom and me while we ate bowls of Hungarian Mushroom Soup and Salad bar at Old Wives tales restaurant.  Lars and his brother Noah came to the shop during this winter, because his Mom wanted to give him a quilt for his graduation.  Lars is a real scholar and musician and chose books as his theme and Thimbleberries fabric for his colors. We looked at several patterns and he pointed out the aspects of the patterns he liked.  I look all this information in and designed him a quilt.    Beth worked on his quilt here at the shop and then did custom long arm quilting. Here it is all finished.  Congratulations Lars!Another Lar's Quilt Photo

     

    Fabric Dyeing with Kool Aid

    August 3rd, 2009

    Kool-AidWell it is Summertime, and the weather is warm.  If you have kids, or even if you do not, you likely have made a pitcher or two of Kool-Aid or lemonade.  I received this great article in the mail today from Quilting Arts Embellishment Newsletter.  I knew when I read it, I just had to pass it on to you!

    “Linda Sharp, whose needle-felted plum quilt was chosen to depict November in the 2010 Quilting Arts calendar, shares her technique and enthusiasm for Kool-Aid dyeing, a perfect summer activity.

    Kool-Aid dyeing gives absolutely delicious colors to protein fibers,” says Linda. “This process is safe, inexpensive, and easy. The materials are readily available, it requires no special equipment, and it smells wonderful!

    Materials

    • Natural (protein) fibers such as wool, dog hair, alpaca, angora, silk, etc. (Loose fibers, like dog hair, can be stuffed into a loosely woven synthetic gift bag to keep them together while dyeing.)
    • Dish detergent
    • Packets of unsweetened Kool-Aid drink mix (Do not use the color-change flavors.)
    • Mask
    • A stainless steel or un-chipped enamel pot
    • Water
    • Wooden stirrers (such as chopsticks)

    Optional: Candy thermometer, rubber gloves

    Note: A good ratio to begin with is 1 package of Kool-Aid to 1 ounce of fiber. (Double this for the lemon flavor.) More Kool-Aid will give you stronger colors. You can mix colors if you’re feeling adventurous. Use unsweetened Kool-Aid and do not add sugar.

    Directions

    1. Gently wash your fiber with lukewarm water and a little dish detergent and rinse the soap out. Treat wool very gently or it will felt. Let your fiber soak in lukewarm water while you prepare the dye.
    2. Fill the pot with enough water to comfortably cover your fiber. Put on your mask before opening the Kool-Aid package(s) to avoid inhaling the powder. Stir the powder into the water with the wooden chopsticks until dissolved.
    3. Add the wet fiber to the pot and slowly heat to just below boiling (85°C or 185°F). You can use a candy thermometer, if you have one. Check periodically to see that the mixture is not boiling, to avoid felting the wool. The dyeing process is done when the water is clear. You can tell by dipping the chopsticks in the water. This process will probably take about half an hour.
    4. When the water is clear, move the pot off the heat and let it cool. Then gently rinse it with water that is the same temperature as the fiber. Hang to dry. The colors will be lightfast and colorfast; no heat-setting is required.

    This is a great way to get a bit of silk or wool the color you want, to overdye a batch of garish fibers, or to get matching colors. Dye many batches now, and you’ll have a cache of beautifully colored fibers that smell like summer all winter long.”

    Please send picture if you try this wonderful idea!

    Happy Day!

    Wendy

     

    Sisters 2009 Outdoor Quilt Show

    January 11th, 2009

    34th Annual Sisters Outdoor Quilt Show

    Saturday, July 11, 2009

    9:30 am to 5:00 pm

    Invite your friends & family to join us for the most vibrant day of the year in Sisters. Over 1200 quilts from around the world will cover the 1880’s-style town in rich texture and color.

    Quilt entry information for the 2009 Sisters Outdoor Quilt Show is now available to download on their website.  The brochure contains complete information about how to register quilts to enter in our show, this year’s Theme Contest and Quilt Block Contest and other Special Events planned for this year.  

    Happy Day!

    Wendy

     

     

     

    Quilts for Dogs and Cats

    August 20th, 2008

    My Little Weeble

    Weeble and I enjoyed some of the dog days of summer this past weekend as Oregon hit three consecutive days of over 100 degrees. Everyone knows that the “dog days of summer” occur during the hottest and muggiest part of the season. Webster defines “dog days” as… “The period between early July and early September when the hot sultry weather of summer usually occurs in the northern hemisphere.” If you are experiencing the dog days of summer in your area, here are a couple of wonderful projects to make for your loving pets.

    Cozy Quilted Pet Bed: Quilts aren’t just for people anymore! Check out this step-by-step guide to make a comfy bed for your pet.

    Dog Days of Quilting Block: From Simply Quilts an adorable pattern provided courtesy of quilt designer Amy Bradley.

    Puppy and Cats Quilt: This darling quilt features a puppy and his cat friends. Fish and bones create a playful atmosphere for these pals.

    Happy Cats Quilt: A project Linus quilt from Quiltmaker Magazine, you will love how this easily quilt works up. 
     
    Let Sleeping Cats Lie: We all know that “when’s the cat’s away the mice will play”, but what happens when the cat’s asleep? Pretty much the same, but the mice keep an eye out for any movement. 4 cats curled together form each of the blocks that make up this quilt and the lively little mice dance around their heads.  

     Saw Tooth Cats: We used paper foundation piecing in a sawtooth pattern for the curved backs & tails of the cats as well as the borders. Ideas for quilt layout & color planning are included along with quilting template patterns & a marking template for the cats’ embroidered faces.

    My Fury Friends: Two dogs and a cat sleep quietly under their nine-patch quilt. Select fabrics that match a favorite pet or add you own creative interpretation of each animal.

    Finally, be sure to take a look at our collection of cat and dog fabrics.  These are very popular and I always try to keep as many as possible in stock.  You can see that the cats are way out winning the dog fabrics, but, Weeble and I will do our best to change that!  Or to at least equal it a bit!

    Happy Day!

     

     

     

    County Fair Quilts

    August 13th, 2008

    It is county fair time.  I have not been to a lot of county fairs in my time, but when I go, I simply love them.  All the displays, crafts, treats, rides and oh yes, quilts!

    I have been talking with just SOME of our customers and teachers here at the shop and wanted to share with you some ribbon winners from county fairs in the Portland Vancouver area.

    Cruising Into The Sun

    Deb Carreno, who has taught some of our classes in the recent past, told me today that she won first place in the Clark County Fair for her version of my pattern “Cruising into the Sun”.  This was one of the row by rows I designed a couple of years ago and I asked Deb to make a sample of it for Quilt Market.  Here is a picture of it, I think you will agree that she did a fantastic job of choosing colors and making this quilt. 

    Baby Curves

    Beth Durand, shop staff, teacher and long arm quilter won a second this year in the Sandy Historical Society Quilt Show with her version of Baby Curves. Beth teaches a variety of classes at the shop here in Oregon City.

    Beth won first last year with her hand stitched and hand quilted Grandmothers Flower Garden. She will be teaching this technique English Paper Piecing in early September.

    Congratulations to both these wonderful women, who are truly such talented quilters! Be sure to send me pictures of your winners!  We will add them here to the Blog!

    Happy Day!

     

     

     

    Quilters Skill Building: Making Pillowcases

    August 6th, 2008

    Ruffled Decor Pillow

    Back to school time again.  If you have kids going out for the first time, to a dorm or their first apartment, you might consider making them some pillows to match that quilt you made for them to take along.  Betsy and some of the ladies in my First Saturday class were talking about how their children use pillowcases for a variety of things.  Betsy’s daughter just finished a hiking pilgrimage in Spain and Betsy made her daughter and her friend matching pillowcases to commemorate their adventure.  The girls carried everything on their back, and did not take pillows, but just took pillowcases and stuffed something in them every night to use as their pillow.  On laundry day they would use their pillowcase for laundry bags and they also used their pillowcase to carry their groceries back to their room. 

    I remember on year my friend Shelley and I made about 150 pillowcases for gifts for Christmas all in one weekend.  We did everything on the serger, and even machine embroidered the cuffs with names and funny sayings. Pillowcases are great first time sewing projects for kids and adults. So here are some links to fun and easy sewing pillowcases.Magic Pillowcase

    Basic Pillowcase in Regular, Queen and King Sizes

    Regular or Queen Size Pillowcase with decorative cuff and flange

    Ruffle Pillow pattern for décor pillows

    Pillowcase Kits

    So many great ideas for such a very easy project you can make quite a few of these easy projects before the school bell even rings. 

    Happy Day!

     

     

     

    Is your Child Ready to Sew?

    August 5th, 2008

     

    Teach Children to Sew!As sewers and quilters we have an obligation to pass on to our children and grandchildren the wonderful joys that sewing can bring. A lot of people wonder when their child is ready to sew.  Perhaps age is the least important of all criteria.  Other criteria such as socialization, reading, dexterity and curiosity are much more important.

     

    Age:  When we teach children, we ask that students be a minimum of eight years old.  However, I have taught younger, as they have met the following criteria

     

    Reading Skill: Students should be able to read a basic reading book like Dr. Seuss or the Bernstein Bears.

     

    Dexterity: Shoe-tying: can the student tie their shoes neatly and quickly? The bow should have even size loops; the tails should be mostly even, and the knot should be secure. Name-writing: can the student write their name in all the same size letters? All letters should be forward facing. Either all caps or the advanced caps/lower form is fine. Coloring: Can the student follow the lines and keep the colors where s/he wants them? Can the student outline a shape, and then color it in?

     

    All of the above signifies a completion of the cognitive loop between the eye, the hand, and the brain. This is the stage at which sewing can be learned and remembered. The student is able to see what the hand is doing and make a correction while the task is underway. This is more advanced and desirable in student than seeing what needs to be corrected after the task is finished. Or noticing that a correction does not need to be made at all!

     

    IS YOUR CHILD READY TO QUILT

     

    Your child should be able to meet the above criteria listed PLUS:

    1.  Be able to set up their sewing machine themselves, thread their sewing machine and wind the bobbin and change a needle.

    2. Sew the straight lines on binder paper without wobbling into the next line.

    3. Be trustworthy with scissors and pins.  If you do not want your student to use a rotary cutter in class I will be glad to give you the cutting directions BEFORE class starts. Just let me know in advance!

     

    FOR SMALLER CHILDREN

     

    Size has nothing to do with sewing.  However if your child cannot sit in a chair and have their feet touch the floor, then have them use a small pillow.  Then take a cardboard box and some duck tape or masking tape to attach the foot pedal to the box.

     

    Happy Day!

     

     

    « Previous Entries