text:
In order to keep our neighborhoods healthy and maintain a high quality of life for our residents, the City of Mission offers several outreach programs. To qualify, you must be a resident of Mission.
Community Rebate Program (Franchise Fee/Property Tax/Solid Waste Utility Rebates)
Income-eligible residents may apply to receive a full rebate of city telephone, electricity, or gas franchise fees for the year, a partial rebate of city property taxes, and a partial rebate of solid waste utility fees. Residents must meet income guidelines to qualify, which are displayed below. This program is administered on a first-come, first-served basis.
A copy of the application, including income eligibility criteria, is available here.
Mission PossibleThe Mission Possible program assists Mission homeowners with the removal of physical barriers, dilapidated structures, qualifying minor home repairs, house painting, and tree trimming. Funds are awarded based on the applicant's income, eligibility to receive Medicare/Social Security disability benefits, involvement in code case resolution, and other factors. The program strives to partner with all Mission residents who are interested in making improvements to their homes.
A copy of the Mission Possible application is available here.
A Brush With KindnessA "Brush with Kindness" is a partnership with Heartland Habitat for Humanity to help residents in need with a variety of household repairs. The City may refer interested Mission Possible applicants to Heartland Habitat for Humanity in order to coordinate minor exterior home repair and volunteer help.
The application is available here.
Neighborhood Grant ProgramThe City of Mission is committed to the preservation and renewal of neighborhoods. The Neighborhood Grant Program provides up to $500 to help resident-based groups build and preserve community through various programs and activities. Examples include starting neighborhood newsletters or email lists, sponsoring block parties, information workshops, or other community-building activities.
Grants are awarded on a first-come, first-served basis.
A copy of the Neighborhood Grant application is available here.
Stormwater Best Management Practices (BMP) Program
The City encourages individual homeowners and businesses to incorporate Stormwater Best Management Practices (BMPs) on their property to improve local and regional water quality. The program will reimburse applicants, up to 50% of eligible expenses, not to exceed a project reimbursement cap for the proper installation of the following best management practices:
Project Type Project Reimbursement Cap
Rain barrel $75.00 per barrel, up to two
Native tree planting $150.00 per tree, up to two
Rain garden $1,000
Native planting stream buffer/swale $1,000
Stormwater Best Management Practices Program Requirements
Stormwater Best Management Practices ApplicationContain The Rain JOCO
Johnson County Assistance Programs
Visit www.jocogov.org for information on services and opportunities provided through Johnson County including:
Housing Assistance
Senior Services
Johnson County Free Store offering a variety of free house products including cleaners, lawn and garden products, and recycled latex paint.


text:
JEFFERSON CITY (AP) � The company owned by Missouri Sen. Claire McCaskill's husband purchased an airplane that she could occasionally use, the federal lawmaker disclosed yesterday.
McCaskill's office said Joseph Shepard's company took possession of the single-engine Pilatus PC 12/47E a week ago and that it will be used primarily for his business. The plane also will be chartered for use by others by an independent charter company.
The Democratic senator previously faced criticism over another airplane for which she and Shepard had an ownership stake. The plane was sold in 2011, after McCaskill reimbursed the federal treasury $88,000 for taxpayer-funded travel on it and later paid St. Louis County about $320,000 in back property taxes, interest and penalties related to it. The plane was sold for about $1.9 million to Northeast Montana State Air Ambulance Cooperative.
McCaskill spokesman John LaBombard said yesterday that the senator was publicly and immediately disclosing the plane purchase.
"Any use of the plane by Claire will never be paid with taxpayer dollars, and Joseph has implemented strict safeguards to ensure every cost associated with the plane is paid fully and on time," LaBombard said.
Shepard's company is to file a personal property declaration for the airplane with the tax authority in St. Louis County on Jan. 2. An independent company will manage compliance and monitoring of tax and financial reporting and disclosures.

subset: commoncrawl


text:
- Library Overview
- Library User Information
- Collections Overview
- Library Catalog
- Programs & Services
- Research Resources
- Collections Online
- Rights & Reproductions
- Donations and Support
- Featured Collections
- Lord Baltimore Research Fellowship
- Baltimore Uprising Archive
- Schedule Now
- Historical Investigations Portal
- Onsite School Programs
- Virtual Field Trip
- Traveling Trunks
- Student Research Center
- Teacher Resources
- Homeschool Programs
- Scouting Programs
- National History Day
- Summer Teacher Institute
Did you know...
Augusta Adele Smith Collection - PP58
Collection finding aids of Photograph Collections in the Prints and Photographs Division of the Maryland Historical Society Library
Not dated and 1865-1902
Prints and Photographs Division, Maryland Historical Society201 W. Monument St.
Baltimore, MD 21201
Finding aids created by Katherine Cowan with funding from the Andrew W. Mellon Foundation, February 2000
Augusta Adele Smith (1865-1957) was the daughter of Lavinia Cooper Reip Smith (1845-1885) and Joseph Stewart Smith. Joseph Smith was a banker/broker who lived at 1911 Eutaw Place in Baltimore. In 1891, Adele Smith married Benjamin Bohen Jones (1863-1943), and they moved to a house which Benjamin, a carpenter, built near Lake Roland. Their daughter Marguerite Allston Jones was born in 1892, and a son William Newton Jones was born in 1895 but died in 1899.
Collection Origin
Gift of Elizabeth M. Lamdin (Mrs. C. Ridgely Lamdin), 1981 (76219).
Scope and Contents
The collection consists of 1 box containing 1 album with 34 photoprints, 2 ivorytypes and 1 tintype, and 1 folder with 5 photoprints, for a total of 42 photoprints. Subjects are portraits of Augusta Adele Smith Jones and her family members and friends, which are undated or from 1865-1901. Many of the portraits are unidentified; identified individuals include Lavinia Cooper Reip Smith, Benjamin Bohen Jones, Talbot and Helen Denmead, and Evans Rogers.
Note: Collection includes ephemera including an envelope with 3 valentines, several school certificates of Miss Adele A. Smith from the Academy at 27 Cathedral St., 1877-1879, a 1976 calendar of Historic Baltimore County, and a large format (43 x 33 cm) scrapbook stamped with "Meriden Britannia Company, Illustrated Price List, Ellectro Silver Plate" on cover, containing pictures of home furnishings and other items.
Note: Related materials are found in the Manuscripts Department of the Maryland Historical Society: MS. 2525, the Adele Smith Jones Collection; and MS. 2661, the Jones-Smith-Reip-Ramsey Papers.
The photographs remain in the album, or are placed in folders, but are not numbered or sorted by subject.
Container List
1 Box
Box 1: 2 Folders and 1 Album
Folder 1
Ivorytypes and tintype, n.d. and 1865. 3 items.
Augusta Adele Smith (as young girl), n.d. Ivorytype.
Lavinia Cooper Reip, n.d. Ivorytype.
Unidentified man, 1865.
Folder 2
Photographs from Album, n.d. and 1888-1898. 5 items.
Talbot Denmead, 1893.
Evans Rogers, 1888.
Benjamin Bohen Jones, n.d.
Helen Denmead, 1896.
Augusta, 1898 (age 18).
Album 1
29 x 24 cm., brown leather cover painted with flower blossoms, shamrocks stamped on spine, gold edged pages and gold-colored lock. Album is inscribed on first page, "To Adele, From GrandPa, December 25th 1886".
Contains 34 studio portraits, n.d. and 1877-1901. Most are dated but few are identified, on verso. Portraits include Marguerite Allston Jones at age 4 months and 12 days; Lavinia Cooper Reip, 1884; Laura Semmes Smith, 1895; C.W. Smith, 1882 (man in uniform); Anna Hoofer, 1896 (age 6 years); Arthur M., 1886; Adele, 1884; and unidentified women, men, and children. Also contains calling card of Marguerite Allston Jones of Benvenuta, Lake Roland, 1892. © 2001 Maryland Historical Society - ALL RIGHTS RESERVED
Internet Management - WEBNETT


text:
Dilliwallahs, Let's Take Errant Autowallahs to Task
This service has been on for quite a while in Delhi but seems that not too many people are aware of this.
The next time when an auto rickshaw driver or a taxi driver in Delhi overcharges or refuses (even misbehaves or harasses) you. Don't just argue and move away (as we usually do). Send an SMS to 56767 (Save the number to your phonebook. It'll come handy) and leave it to the Delhi Traffic Police to take action.
The SMS needs to be preferably sent in a specified format.
In case of:
Refusal (REF)
Type REF


text:
Thanks to its BSD lineage, MacOS X has a preemptive thread mechanism that is robust and scalable. In this article, I provide an introduction to the two key thread solutions on MacOS X going forward. I'll begin with a look at POSIX threads, then focus on the Cocoa class
NSThread. I'll demonstrate how to use these solutions to create and manage a thread task. And, of course, I'll compare these approaches, and review some key guidelines for designing a thread-safe task. I'm assuming a working knowledge of ANSI C and Objective-C.
Challenges of Threading
Memory management is more difficult with threads. The main application process gets its allocated memory from the host system. It can even ask for more memory to cover its growing needs. A thread, however, gets its memory share from the main process itself. This means its stack frame is smaller than the process' frame. The thread must dispose of any objects created by its tasks. It must avoid data structures too large to fit in its stack frame. It must know how to react to low-memory signals and to VM paging.
Some threads could take advantage of garbage collection. But the collection service adds extra overhead to the thread. And it can slightly degrade thread performance.
Sometimes, threads use the same resource, which leads to coordination problems. One thread might change the data in a resource while others are trying to read it. If both actions happen at the same time, the result is data corruption.
A thread might dispose of a shared resource, but not inform its fellow threads. When the other threads try to use the resource, they will fail and crash with an
EXC_BAD_ACCESS error. A thread might lock a resource for its use, but fail to clear the lock afterwards. This blocks other threads from using the resource, causing a deadlock.
Finally, a thread might fail to terminate. Instead, it stays in the background, hogging resources and processor cycles as it runs. The result is a runaway thread. It can be terminated only with a forced quit or with a hard system restart.
Thread Solutions on OS X
MacOS X offers four ways to create a threaded task. One way is with a POSIX thread (Pthread) library. Another is the Cocoa class
NSThread. Both solutions create threads that are preemptively scheduled and scalable to multiple processor cores.
Threads can also be created using the Carbon library Multiprocessor Services. This library has its roots in the Macintosh clone years. It was designed to support the DayStar clones, which sport multiple PowerPC processors. It too creates preemptive and scalable threads. But these threads cannot interact with view widgets.
Finally, threads can be created with the Carbon Thread Manager. This, however, creates threads that are scheduled cooperatively and are not scalable. Also, the last two options are deprecated on MacOS X 10.6 (Snow Leopard), and are likely obsolete on 10.7 (Lion) and later. So, I will focus exclusively on the first two approaches.
Threads with POSIX
The POSIX thread library provides methods and data types for creating and managing a pre-emptive thread. It is a standardized library, its behavior defined by the IEEE document 1003-1c-1995. It is platform-agnostic, and available on all POSIX-compliant systems such as Linux, BSD, and MacOS X. The library is also available on the Windows platform through third-party sources.
There are about 100 methods and data types in the current library. All their names have the prefix
pthread_. Many methods fall in one of three categories:
- Methods for managing a threaded task. Some create and start a thread, then dispose of it afterwards. Some collect the threads into a pool. Others alter the priority levels of each thread.
- Methods and data-types for managing mutex constructs. Mutexes are locks that enable threads to share resources by allowing only one thread to access a resource at a time. (This is referred to as mutual exclusion, a term from which the word mutex is derived.)
- Methods for handling interactaction among threads and with the main process.
Working with POSIX Threads
To compile the Xcode project against the Pthreads library, first add the header
pthreads.h into the appropriate source file using the
#import directive.
#import <pthreads.h>
#include directive can do the same task, but
#import prevents the header from being added twice.
To create a thread, use the library function
pthread_t *tID; int tErr; tErr = pthread_create( tID , NULL, doFoo, NULL);
This function takes four input arguments: the thread ID, attributes, a pointer to the task routine, and a pointer to the task argument. The ID is cast as type
pthread_t and passed as a pointer. Passing a
NULL for attributes sets up the thread with default values. The task argument may be a primitive or a data structure. It may be a
NULL for task routines that do not need input. The task routine, however, must not return an output result.
pthread_create() function returns three possible error states. An
EAGAIN state means there are not enough resources to create a thread. It can also mean the maximum number of active threads has been reached. An
EINVAL state means the specified attributes are incorrect. A value of zero means an active and running thread.
To terminate a thread, it is sufficient to let the routine return or exit. This will kill the thread and this approach is what Apple recommends. However, if you wan to force the process, you can use
pthread_exit(). It takes one argument, a generic pointer to a status variable, which points to the equivalent of the function's return value (for any threads waiting on the killed thread to return a value). Often that value is
Another way to terminate a thread is with the routine
pthread_cancel(). It takes one argument, a pointer to the thread's unique ID.
pthread_t *tID; pthread_cancel(tID);
The primary difference between the two methods is that
pthread_cancel() can kill a designated thread, whereas
pthread_exit() kills only the current thread.
Listing One implements a simple POSIX thread. The routine
DoTask is cast as generic pointer (line 19).
Listing One: Implementing a POSIX thread
#import <pthread.h> #import <stdlib.h> int main (int argc, const char * argv[]) { pthread_t *tID; int tErr, tArg; // prepare the test argument tArg = 5120; // create a pthread tErr = pthread_create(tID, NULL, DoTask, &tArg); // dispose all threads pthread_exit(NULL); } void *DoTask(int *anArg) { int tArg; // retrieve the thread argument tArg = *anArg; printf("DoTask:input:argument:%d\n", tArg); // // RUN THE REST OF THE TASK... // }
DoTask takes a single input argument
anArg, which is a pointer to an integer. The routine dereferences the argument and retrieves the integer value (line 24). It then outputs the value with
printf() and proceeds with the rest of the task code (not shown).


text:
Misc Clip Of The Week: The Strongest 4-Year-Old Kid in the World! (Lil Homie Gotta 8 Pack/ Hope They Aint Feedin This Kid Steriods)
Please click the "Report" button below if the video on this page is not working properly.
Comments will only be displayed by verified emails. No Spamming or Racism.


text:
* Speaking of curses: A lot of people, it seemed, were trying to make a big deal out of the fact that this year was the first time that the Red Sox had clinched a World Series AT HOME since 1918. Television made it seem like the overriding story of the Series. The "clinch at home" angle seemed to give everyone a chance to trot out all the old curse talk, rehash the Babe Ruth trade, chat up all the old Red Sox fans who have been coming to the park for decades and had never gotten the chance to see a World Series clincher.Boston has clinched five of their eight World Series titles in front of their home fans (1903, 1912, 1915, 1918, 2013). That's 63%.
Seriously – clinching a World Series at home is a thing now? It's not enough to just win two World Series in the previous eight years, not you have to win it at home for it to really count? I mean, look, it's great that a wonderful town like Boston got to win the World Series in a wonderful park like Fenway. Happy that it worked out that way. It was great to see Red Sox fans get to unleash their happiness.
But I believe, and my Red Sox friends seem agree — not winning a World Series AT HOME is not a thing. It's not a curse. It's not a drought. It's not anything. If you win a World Series you win a World Series, it doesn't matter where. The Chicago White Sox have not clinched a World Series at home since 1906. The Reds did not clinch either of the Big Red Machine World Series at home. Those poor Giants fans have never clinched a World Series in San Francisco. So what? The Red Sox don't have a losing tradition anymore. It's over, you can't just keep bringing it up like it's a storyline. The Red Sox have won three World Series in 10 years. It's time for everyone to just deal with being Boston being Goliath.
Of the Yankees' 27 World Series championships, only nine were clinched in New York (1927, 1938, 1947, 1950, 1951, 1977, 1996, 1999, 2009). That's a paltry 33%.


text:
Then Jeff found a recipe for breakfast cookies. I just used up the last jar of jelly today. I would guess 80% of our jam was used making this breakfast cookie recipe. We make it about every other week. The oats and wheat germ make them wholesome and the pecans and raisins bring lots of flavor to the table.
We tried lots of flavors of jelly: persimmons, blueberry, blackberry, and wild grape - all were tasty. The wild grape goes perfectly with the raisins. If you have peach or apricot jam, I could see adding chopped dried apricots instead of raisins. Anyone have a jar of apricot jam they want to give me?
At first I wasn't impressed with the breakfast cookies because although they look like cookies, they don't taste like cookies. They aren't sweet. They are more like a granola bar, but that still implies sweet. Breakfast biscuit? No, that sounds like it should be light and fluffy and these are definitely dense. I guess cookie is as good description as any. And who knows, perhaps calling these cookies will entice the reluctant breakfast eater.
Just serve them with a cup of coffee or a glass of milk and no one will care what they are called because they are nutty and delicious. Plus they are portable; perfect for eating on the way to school or work.
Happy Wholesome Breakfast Cookies
1 teaspoon vanilla
1/2 teaspoon salt
1 1/2 cups rolled oats


text:
Law students launch online movement for change
September 24, 2012
On August 29, second-year Lewis & Clark law students Mallorie Grehn and J.J. England were following a conversation with President Obama on Reddit when inspiration struck.
Now, less than a month later, Grehn and England are the masterminds behind the $3 Change for Change Challenge, which has already garnered coverage from the Huffington Post and Oregonian.
Moved by the president's comments on campaign finance reform, Grehn and England leapt into virtual action, posting on articles and blogs their idea to send $3 "money bombs" (donations within a narrow time frame) to individual candidates, both Democratic and Republican, who have voiced support for reform.
The public response was immediate and enthusiastic, prompting the pair to create a website, Facebook page, and Twitter feed. Their first action, on behalf of Wisconsin senate candidate Tammy Baldwin, launched last week with a goal of moving 100 people to contribute.


text:
Wednesday, December 29, 2010
Monday, December 27, 2010
Guess What I got for Christmas!!
VuPoint Magic Wand™ Portable Scanner
(I have always wanted a magic wand!)Now I can finally scan legal size documents! It will also come in handy when I go to the library and find precious genealogical materials that can't be checked out! Now I am really looking forward to a trip to an archive building (whenever that is)!
So here is my first attempt at using the scanner. Said magic wand doesn't have enough magic to ensure that I scan straight, however. (I guess I will have to practice)
The following document is Quit-claim Deed made between Oregon Short Line Railroad Company and James S. Poulsen (my great-grandfather) Jan 21, 1911. As always, click on images for larger view.
That is not the only genealogical gift that I got. I also got the money for a year membership with New England Historic Genealogical Society (now American Ancestors)! The check's in the mail and I can't wait to get full access to their database! I also look forward to receiving the journals in the mail. You just don't know how long I have wanted to own one of those NEHGS journals!
Posted by Leslie Ann at 5:18 PM
9 comments:
Saturday, December 25, 2010
History 101 - Calvin Buck Smedley
The following history is about my grandpa. I transcribed it from a Ditto copy that I believe was written by my grandmother even though it reads like he wrote it.
History of Calvin Buck Smedley
(Written by Grace Ellen Poulsen Smedley)
I was borned June 4, 1897 Paris, Idaho to Ida Buck and Thomas Joynes Smedley. My Father was a brick maker. He had come from England when a young man with his wife and settled in New Jersey, later he came to Paris, where his wife's sister lived. He raised a family of six children. After they were all married and his wife had died he returned to England to do some family research work.
There he met my mother, she was around 28 years old, the oldest of ten children. My father was around 65 years when he married my mother. He came back to Paris to make brick and start another young family which was very hard at his age. He worked hard and it seemed like so many people took advantage of him, he trusted people too much. At the time of his death, he still had a book of accounts that people had not paid for their brick. (never did) This made it very hard for my mother she struggled along the best she could, took in carpet weaving. There were six children myself, Lillian, Irva, Ella, Gertrude, and Arnold.
I was the oldest, when small my father would take me to the brick yard. But I never did much there, never was interested in brick making. When about 14 years of age, I started helping Heber Smedley my half brother, haying in the summer and feeding in the winter time.
My father was getting old, had a mortgage on the field, I had these five younger brothers and sisters. Mother wove carpet, and I did not go to school like I should, as I worked to help with the family expense, stayed out too much and got discouraged. Father was not well for several years, he had a slight stroke, which changed him very much. About a year after I was married he died with pneumonia.
While growin up I worked at many different jobs. I had a team of horses, did some construction work. The summer before I was married, I worked at the mine, also did some logging.
In Oct 7, 1920 I married Grace Ellen Poulsen, Bishop Poulsen's daughter from across the street. After about two months the mine closed down. So for a while, we never had much. I milked four cows and this was our income for a few months. At this time, we moved home and lived in one room of my mother's home. At this time we had one baby our oldest daughter Violet was about one year old.
Later we moved up the street and rented 2 rooms in the old Eborn home. We lived there a while, then we bought a little home log house on the corner, at present this is owned by Edna Law. Bur at that time there were just two rooms, this is where Cloree and Darrell were borned. While living here I worked off and on at the mine for a few years, they did hire a few men, and I was one of them. I got hurt a few times, was gassed once, got my leg and arm hurt another time.
Later we got a chance to buy the house across the street next to Grace's father. It was a little larger, this is where we lived for several years. James, Beverly, Garna, and Tom were borned while we lived here.
I still milked 3 or 4 cows, run the Smedley field. After Grace's father died, we bought his house and field from Aunt Lou. She bought a smaller house and we moved into hers, where we still live.
Calvin in front of the house that Grace's father built
When James was a few months old I took a job feeding cattle for J. Pugmire, this was during the depression years. That winter I fed cattle, for 40 dollars a month. Grace cooked for 3 or 4 men for our board. Some days I would go from 5 a.m. until mine or ten p.m. They fed some cattle in a feed lot, I would have to go up before breakfast, then again at night, besides I had cows to milk night and morning and haul hay the rest of the time. The children would walk two miles to Wardboro to school. Darrell started the first grade there. About ½ way was Camp Stewart, where th Humphrys lived. They had children too, so Sister Humphrys would have them come in and get warm on their way to school, which made it good for the children. In some ways it was plenty hard but we got by. Grace had to wash on the board, we had the four children when we first went down. We were there back and forth until Beverly was about three years old. We were blessed with good health those years we were there.
After we moved back, we got more cows. Later when we got the Poulsen field I had about all I could do. Darrell was good to help until he joined the Navy for four years.
By this time James was able to help some. During the haying season I changed work with George Hulme and others to get our hay up. Started building up a good bunch of milk cows, horse, etc. and farming. Although I had to do it the hard way.
In 1969 we were called to go on a mission to the North Carolina Virginia Mission. Had been asked two years before, but felt like I could not go. I had been as active as I should have been when the children were growing up. Anyway I thought maybe I would not pass the physical as I had some heart trouble, but I passed alright. I have always been thankful that we went was a wonderful experience for us. We had many interesting things happen to us. Grace kept a diary, which will tell all about it.
A few years after our return, we sold the Poulsen field place to him (Darrell) and Beverly. As I just could not do the work. Darrell also bought the stock. The Buck lot we sold to Tom hoping he could come back someday and build a home. So now all we have is our home here in Paris I am not able to do much work.
On the 16th of November we were driving to Franklin, got a ways up the canyon, when I hit some black ice and the truck rolled over. Other than bruises, and all ahook up, I was okay. But Grace got a fractured leg, broken pelvis and is still in a wheel chair. In time she will walk.
At present time we are here in Buena Park, California with Garna and Douglas, they have done so much for us. Our whole family have been good to us. Hope it won't be long before Grace can get around better.
We have also been guides in the summer time at the Tabernacle one day a week for the past twelve years.
Also in 1970, we had our golden wedding anniversary. The children gave us a party which was very nice. We are very thankful for our children, grandchildren, also great grand children. At present we have 16 grandchildren, 12 great grandchildren including Deby's.
The summer of 1928 had been a bad drought here in Bear Lake and very little hay was raised in the valley. The government had shipped in cottonseed cake to help feed the cattle the following winter.
That winter I went out to Proverty flat in the east hills to feed Pugmires cattle cottonseed cake and straw. This was the first winter I worked for them. I went out after Christmas, stayed a few weeks, then rode a horse in one night to go to a Relief Society party. I had decided unless I could take Grace back, I was not going to go back.
I made arrangements with her uncle George Price to bring her and the children with him, as he went out once a week to feed his horses, not too far from where I was.
Violet was in the 1st grade so got mother to keep her. Cloree was around 4 years old, Darrell 17 months younger. The day he brought them out there was a bad blizzard after they left Paris but George had lots of quilts hot rocks in the slay. The horses seem to know the way, and they got there to his house and stayed over night. The next day he took them up to where I was feeding. Was a beautiful cold clear morning. We were there about 7 or 8 weeks, then trailed the cattle in to Wardboro.
One night that winter it went to 50 degrees below zero, but we did have a good 2 room house, and coal to burn. We were blessed and kept well.
Leslie Ann
Posted by Leslie Ann at 12:00 PM
2 comments:
Labels: Bear Lake County, History 101, Smedley
Friday, December 24, 2010
Friend of Friends Friday - Rhode Island General Court of Trials 1677
The following transcriptions are from the book Rhode Island General Court of Trials 1671-1704, by Jane Fletcher Fiske.
At a Genrl Court of Tryalls held in his Majties
Name at Newport the 7th of May 1677
Whereas James Case was bound for the appeareance of Salvadore a Negro at this Court and the said Case haveinge brought into court the said Negro and desireinge to be Released of his Bonds: The Court doe see cause to Release the said Case, and doe com[m]itt the said Negro Salvadore to the keeper of the Jayle to be secured till cald for by the Court. (pg 53)
Upon an Indictment by the Genrl Aturny against Joseph a Negro, for that the said Negro was suspected to have a hand in burninge the wind-mill, and cutting the sayles from Thomas Goulds boate. The said Negro beinge a prisoner and brought into the court and his charge read unto him, and askt whither guilty or not guilty, pleads not Guilty. The Jurrys verdict not Guilty. Cleerd by proclamation in open court paying ffees. (pg 54)
Upon an Indictment by the Genrl Aturny against Salvadore a Negro ffor ffelloniously takeinge two bags or sacks, and cuttinge Thomas Goulds sayles and Burninge the windmill -- The said Negro beinge brought into the Court, and his charges read unto him, and he askt whither Guilty or not Guilty pleads not Guilty: The Jurrys verdict not Guilty -- cleerd by proclamation paying ffees. In this tryall John Woodman was on the jurry insteed of John Easton Junr (pg 54)
Posted by Leslie Ann at 6:47 AM
No comments:
Labels: Friend of Friends, Negro, Rhode Island
Wednesday, December 22, 2010
Wordless Wednesday - Santa's Lap
Posted by Leslie Ann at 11:51 AM
1 comment:
Sunday, December 19, 2010
Sunday's Obituary - Roy A. Ellison
|Courtesy of Virginia Monnich
Surnames: ELLISON WILLIS PEACOCK MCKAY
Ray is a first cousin 3 times removed of my children. Their common ancestors are James K "Baldy" and Katherine Madelyn Phillips Ellison.
Posted by Leslie Ann at 6:31 PM
No comments:
Labels: Ellison, Sunday's Obituary
Friday, December 17, 2010
Advent calendar of Christmas Day 17 - My Grab Bag of Memories
As I reach into my grab bag of Christmas memories I could pull out a favorite toy, an experience, or even an incident. Which ever it may be, it is without a label of date,time or order (that's how jumbled my memory is). What? It happens.
One of my earliest favorite Christmas toys was the Fisher Price circus ring.
And then there was the Sprirograph and Easy bake oven.
I remember one year my little brother got a Whirly Bird for Christmas. You know, the little helicopter hooked to a battery operated thingy by a foot long black plastic piece and you pushed a lever and it flew round and round in a circle. He and my dad sat on the kitchen floor and played with it. Mom's got a picture of it (dang, I wish she had a computer). I thought it was cool, dad sitting on the floor playing with toys. Come to think of it, Santa might have given that to dad.
I loved Christmas mornings! Not only because of the neat stuff that Santa brought, but the fact that we had breakfast together. Dad would make pancakes. A couple of Christmases he had to make potato pancakes. The second time he did it I thought to myself, please dad -- don't ruin Christmas by putting potatoes in my pancakes -- yuk!! But really, there is nothing better than Christmas pancakes.
Posted by Leslie Ann at 6:46 PM
2 comments:
Labels: Advent Calendar of Christmas
Wednesday, December 15, 2010
Monday, December 13, 2010
Blog Caroling 2010
Footnote Maven has invited us to go caroling! I am so excited! I haven't been caroling in years! As a matter of fact, it was 13 years ago in a small town called Inkom in Idaho.
So what do ya say? I am sure someone around here has a horse and wagon we can borrow, and I saw some hay bails down the street. You might want to bring your favorite Snuggie and don't forget your ear muffs; it's pretty windy out there. After we have caroled our hearts out, we can have the driver stop at Starbucks or the local pub for a hot toddy (majority rules). Who's with me?
Here's the song I want to sing:
Up On The Housetop
Up on the housetop reindeer pause
Out jumps good old Santa Claus
Down thru the chimney with lots of toys
All for the little ones
Christmas joys
Ho, ho, ho!
Who wouldn't go!
Ho, ho, ho!
Who wouldn't go!
Up on the housetop
Click, click, click
(this is where you snap your fingers)
Down thru the chimney with
Good Saint Nick
First comes the stocking
Of little Nell
Oh, dear Santa
Fill it well
Give her a dolly
That laughs and cries
One that will open
And shut her eyes
Repeat Chorus
Next comes the stocking
Of little Will
Oh, just see what
A glorious fill
Here is a hammer
And lots of tacks
Also a ball
And a whip that cracks
Repeat Chorus
Are you snapping your fingers?
Posted by Leslie Ann at 1:05 PM
1 comment:
Labels: blog caroling
Sunday, December 12, 2010
Sunday's Obituary - Clarence E Gray
|The Roanoke Times, Tuesday, November 2, 1971
Clarence E. Gray
Clarence E. Gray, 74, of
2721 Garden City Blvd., SE,
died Monday in a Roanoke
hospital. He was a retired
employee of Roanoke Electric
Steel Corp.
Surviving are his wife, An-
nie Brown Gray; three sons,
Marvin K. Gray, Clarence R.
Gray, Edward H. Gray, Roa-
noke; four sisters, Mrs. Berta
Tench, Mrs. Lena Turner, Ro-
anoke, Mrs. Mattie Reed,
Mrs. Mary Brook, Winston-Sa-
lem, N.C.; a brother, Walter
Gray, Hampton.
Oakey's Funeral Home, Ro-
anoke, is handling arrange-
Clarence Edward Gray is hubby's great-granduncle.
Posted by Leslie Ann at 12:25 PM
No comments:
Labels: Brook, Gray, Sunday's Obituary, Tench, Turner
Friday, December 10, 2010
Friend of Friends Friday - Rhode Island General Court of Trials 1673
Yesterday I finally received the book "Rhode Island General Court of Trials 1671-1704", transcribed by Jane Fletcher Fiske and published in 1998 that I had ordered through the Inter-Library Loan (ILL) department. While skimming through the book last night I found a few entries that would be fitting for for an AFoF post.
At the Generall Court of Tryalls Held for the Collony at Newport the: 12th of May 1673
Upon an Indictment by the Generall Solicetor against Jobba a Negro woman servant to Mr Caleb Carr for that the said Jobba about the latter end last had Carnall Copulation with James Gray - she being mandamassed and in court Cald apeared, pleads Not Guilty and Referrs her selfe for Tryall to the Cuntry: The Jurry sent forth on the case: The Jurrys Verdict Not Guilty. The Verdict accepted by the Court: The Court order she be cleerd by proclamation payinge ffees. (page 20)
Upon Indictment by the Genrl Solicetor against George a Negroe servant (belonging to Mrs Sarah Davis) for com[m]ittinge ffornication with Maria Negro servant to Mr ffrancis Brinley, the said Negroe being Mandamassed and in Court Cald apeard: his charge beinge Read and he askt whether Guilty or not Guilty - Ownes: Guilty. The Court doe centance him to be whipt with fifteene stripes.(page 21)
Upon Indictment by the Generall Solicetor against Maria a Negro woman (servant to Mr ffran. Brinley) ffor com[m]itting ffornication with George a Negro servant to Mrs Sarah Davis, the said Negro beinge mandamassed, and in Court Cald apeard, and beinge askt whether Guilty or not Guilty owned Guilty. The Court doe centance her to be forthwith whipt with fifteene stripes.(page 22)
Upon Indictment by the Solicetor against Hope a Negro woman (servant to Mr William Coddington) for com[m]ittinge the act of ffornication with James Parr. The said Negro beinge Mandamassed and in Court Cald apeard, and her charge read, and she askt whether Guilty or not Guilty. Ownes Guilty.
The centance of the Court is That the said Negro be forthwith whipt with fifteene stripes or pay fforty shillings to the Generall Treasury. (page 22)
For those unfamiliar with legal terms (like me):
Mandamassed [i.e. served with a writ of mandamus]
A writ of mandamus (which means "we command" in Latin), or sometimes mandate, is the name of one of the prerogative writs in the common law, and is "issued by a superior court to compel a lower court or a government officer to perform mandatory or purely ministerial duties correctly"
Posted by Leslie Ann at 10:31 AM
4 comments:
Labels: Friend of Friends, Rhode Island
Wednesday, December 8, 2010
Advent Calendar December 8 - Christmas Cookies
Christmas cookies - I remember those! How I miss making them with mom. We used to make raisin filled and iced cookies.
Mom would sprinkle flour on the kitchen table and we would throw a big blob of cookie dough on the flour and roll it with the (Tupperware)rolling pin. Us kids would use the Santa, Christmas tree, and gingerbread man cookie cutters from Tupperware and mom would use a glass to make round shapes (I don't know why she just couldn't use the cookie cutters).
She would spoon the raisin filling on the cut dough (mostly the round ones)and cover them with a matching one. We would cover the other ones with frosting after they cooled off.
It has been ages since I have had a raisin filled cookie! I may just have to make some this year. As a matter of fact, I just got off the phone with mom and she gave me the recipe. Oh, do you want to make some too? I guess I could share it with you.
Raisin filled cookies
1 cup sugar
1/2 cup butter
3 1/2 cups flour
2 tsp baking powder
1 tsp soda
1 tsp vanilla
1/2 tsp salt
1 egg & 1/2 cup sour milk creamed together
1/2 cup sugar
1/2 cup water
1 tbs flour
1 cup of ground raisins
Combine filling ingredients and heat on stove until it begins to boil. Remove from heat and set aside.
Roll out dough, cut with cookie cutters or top of a drinking glass. Put desired amount of filling on cut dough and top with another, pressing sides to seal. Bake at 375 degrees until golden brown.
Mmm.....I can taste them now.
Posted by Leslie Ann at 4:21 PM
1 comment:
Labels: Advent Calendar of Christmas, recipe
Wednesday, December 1, 2010
Subscribe to: Posts (Atom)


text:
The US national team squad Jurgen Klinsmann will field to face Venezuela on Jan. 21 in Arizona likely comprise a good deal of domestic-based faces, as is customary following January camp.
As it turns out, the other guys are taking the same route. The Venezuelan federation on Monday released the names of the traveling squad La Vinotinto will take north to face the US near Phoenix and then Mexico in Houston four days later, and 20 of the 24 players summoned ply their trade in the Venezuelan Primera División.
But two of those foreign-based players are no strangers to MLS fans: Chivas USA's Alejandro Moreno and Columbus' Emilio Rentería. Both strikers made the list for the pair of friendlies and both have been regular calls by manager César Farías. Moreno (above) was part of the Venezuela team that made a stunning run to the semifinals of last summer's Copa América.
One of the other foreign-based players is defender Gabriel Cichero of French Ligue 2 side RC Lense, on loan from Caracas FC. MLS fans may remember Cichero from his brief loan to the New York Red Bulls in 2008 under Juan Carlos Osorio.
Venezuela will meet the USMNT at The University of Phoenix Stadium on Jan. 21 (9 pm ET, ESPN3.com, Galavisión), then will face El Tri at Houston's Reliant Stadium on Jan. 25 (9 pm ET).
Goalkeepers (2): José Leonardo Morales (Deportivo Anzoátegui/Venezuela), Alan Liebeskind (CD Lara/Venezuela)
Defenders (5): Gabriel Cichero (RC Lens/France), Carlos Salazar (Deportivo Anzoátegui/Venezuela) Carlos Rivero (Deportivo Anzoátegui/Venezuela), José Manuel Velásquez (Mineros/Venezuela), Andrés Rouga (Deportivo Táchira/Venezuela)
Midfielders (11): Francisco Flores (Deportivo Anzoátegui/Venezuela), Joel Casseres (CD Lara/Venezuela), Miguel Mea Vitali (CD Lara/Venezuela), Edgar Pérez Greco (CD Lara/Venezuela), Rubert Quijada (Monagas/Venezuela), Agnel Flores (Mineros/Venezuela), Alejandro Guerra (Mineros/Venezuela), Javier González (Deportivo Petare/Venezuela), Diomar Díaz (Deportivo Petare/Venezuela), Diego Guerrero (Deportivo Táchira/Venezuela), Ángel Chourio (Deportivo Táchira/Venezuela)
Forwards (6): Richard Blanco (Deportivo Petare/Venezuela), Emilio Rentería (Columbus Crew), Alejandro Moreno (Chivas USA), Hermes Palomino (Chernomorets/Bulgaria), José Reyes (Deportivo Anzoátegui/Venezuela), Darwis Machís (Mineros/Venezuela).


text:
Buster Olney of ESPN.Com has just posted a very good piece about a story I first heard a week ago, one that could shatter the concepts of the American and National Leagues as we know them.
As I heard it, the Bud Selig-driven committee investigating realignment was spending most of its time discussing moving one team from the National League into the American League to create two 15-team leagues. The obvious implication of those odd numbers is that from the first day of the season to the last, there would always be at least one inter-league game being played, every day – from the first celebratory week, to the final climactic days of the pennant race.
What a bunch of crap. …
The current amount of interleague play is more than enough.


text:
This is our Clairborne II move-in ready home by Stock Signature Homes. This luxurious home is in the Lake View Estates neighborhood of the magnificent fully gated village of The Lake Club in Lakewood Ranch. Beautifully appointed with exquisite options and upgrades. The expansive outdoor living space includes an outdoor kitchen and custom pool/spa package and pool bath. Floor plan includes an exercise room and bonus room! The newly renovated Grande Clubhouse provides residents with dining and lifestyle opportunities for everyday enjoyment. Come see all The Lake Club has to offer you! Exterior photo is a rendering.
Bradenton/Lakewood Ranch/Lakewood Rch
Lake View Estates At The Lake Club
BB/HS Internet Available, Cable Available, Electricity Connected, Underground Utilities, Natural Gas Connected
Clubhouse, Fitness Center, Gated, Park, Playground, Pool, Recreation Facilities, Deed Restrictions, Fitness, Gated Community, Golf Carts OK, Sidewalk, Tennis Courts
Under Building Parking, , 4 Car Garage
Sidewalk, Street Paved, Water View
Gunite, Heated, In Ground, Screen Enclosure
Coffered Ceiling(s), Crown Molding, High Ceiling(s), Master Bedroom Downstairs, Open Floorplan, Solid Wood Cabinets, Thermostat, Tray Ceiling(s), Walk-In Closet(s)
Built-In Oven, Cooktop, Dishwasher, Disposal, Dryer, Gas Water Heater, Microwave, Range Hood, Refrigerator
French Doors, Irrigation System, Outdoor Kitchen, Rain Gutters, Sidewalk, Sliding Doors, Patio/Porch Covered, Patio/Porch Screened
Breed Restrictions may apply - HOA Docs - inquire with Sales Associate
24-Hour Guard, Recreational Facilities
Stock Realty Llc.
All listing information is deemed reliable but not guaranteed and should be independently verified through personal inspection by appropriate professionals. Listings displayed on this website may be subject to prior sale or removal from sale; availability of any listing should always be independently verified.
Listing information is provided for consumer personal, non-commercial use, solely to identify potential properties for potential purchase; all other use is strictly prohibited and may violate relevant federal and state law.
Listing data comes from My Florida Regional MLS DBA Stellar MLS.
Listing information last updated on July 15th, 2020 at 6:30am EDT.


text:
Two Silicon Valley founders and chief executives made the Time 100 list of most influential people in the world. Google's Larry Page and Facebook's Mark Zuckerberg were included in the list with Oprah Winfrey, U.S. Air Force commander Major General Margaret Woodward and virologist Nathan Wolfe.
Page's profile included a short essay by a former professor from Stanford, Terry Winograd. "As Larry returns to his leadership role as Google's CEO, he will surely keep taking risks," he writes in Time. "He will continue to push Google to innovate. I expect him always to be a bit quirky, to raise hackles and to pursue things that seem unreasonable and unreachable — until the very moment they become a reality."
Zuckerberg's short essay was penned by April Capone, the mayor of East Haven, Conn. who donated a kidney to person who sent out a Facebook plea. "Every year nearly 7,000 people in the U.S. die while awaiting a transplant," she writes. "I know of at least one person who survived, thanks to Mark Zuckerberg, 26, and his little idea called Facebook."
While Page's profile gave some insight into the actual person, I felt Capone's essay was schmaltzy and read like an infomercial. Yes, organ donation is an important cause and I don't denigrate that, but we're supposed to be writing about why Zuckerberg is influential. Unless he started an organ match app on Facebook it's not really appropriate. (Also check out the sketch of Page which is highly unflattering.)
Perhaps I'm taking this too seriously. How great is a 100 most influential list that includes "Gossip Girl" actress Blake Lively and Justin Bieber?


text:
A Sandwich a Day: French Dip at Iris Take Away
A new sandwich every day.
In this great city of ours, one could eat a different sandwich every day of the year—so that's what we'll do. Here's A Sandwich a Day, our daily look at sandwiches around New York. Got a sandwich we should check out? Let us know. —The Mgmt.
The components of the French Dip ($12) at Iris Takeaway don't quite take off until you dress them in jus, but once you do, you're on your way to a satisfying sandwich. The baguette, a little more chewy than crusty, softens and soaks up the sweet, meaty juice like a sponge, and the rare, mineral-rich beef gets the jolt of moisture it needs.
There are some unusual elements to this dip. That jus, for starters, is made with coffee, but the sweet roastiness of it works surprisingly well with the beef. And there's that buttery dijon-blue-brie-mayo, cool and mildly funky against the hot dip, that elevates this sandwich into something pretty interesting. For the price I'd like something a little larger, but for an intriguing take on the usual dip, I'll take it.
Iris Take Away
16 Columbia Place, Brooklyn, NY 11201 (map)
All products linked here have been independently selected by our editors. We may earn a commission on purchases, as described in our affiliate policy.


text:
A pro-life activist was gunned down in front of a Michigan high school early Friday, and the alleged killer is also a suspect in another slaying.
Jim Pouillon, 63, who was killed in front of Owosso High School, in Owosso, Mich., at around 7:30 a.m., was killed while protesting abortion, as he was known to do around the area. The shooting came after most students were off the buses and safely inside the building, an official said. Students were kept inside onlockdown
Michigan state police said a suspect was arrested at his home about 45 minutes later. Police said the suspect admitted killing another man, gravel pit owner Mike Fuoss, earlier in the day.
U.S. & World
Witnesses said there was a portable oxygen tank lying in a front yard next to a large sign bearing the image of a baby and the word "Life." Students said he was a fixture outside the school and often held up graphic photos of aborted fetuses.
Get more: MSNBC, NBC25, Flint Journal


text:
0 Members and 1 Guest are viewing this topic.
Gonna be theatrically appropriate and make the gunslinger chick captain for us all:Safe to say that we are gonna be pirates...
STR 9, DEX 15, CON 15, INT 14, WIS 14, CHA 17 Might switch Int and Cha for alchemist.... Not too sure at this point.
She's a mad bomber and cook. Try her gunpowder gumbo
Can we get a quick rundown on what everyone is going with?
"Captain, is the schoolgirl skirt really necessary?"
I thought ruby's char was going to be the captain, I also thought Nicci already had a char, Also when was it decided we were going to be evil or pirates? I'm kinda confused over what's going on.Also I'm making a skill monkey (swashbuckler) it will be up later tonight.
Page created in 0.025 seconds with 27 queries.


text:
SealSmart Color Bands - Blue
SealSmart color bands provide a simple cable management solution when installing video and audio cable compression connectors. Slide the color band onto your cable prior to stripping. After termination, slide the band over the rear of the connector for easy cable to port identification. Will not stretch or slip.
Bulk CCTV Store
41W195 Railroad Street, Unit A
Pingree Grove, IL 60140


text:
My favorite historical subject is, of course, America's fight for independence, so I generally root for movies about the Revolutionary War.
Since I've been obsessed with dinosaurs, whales, giant squid, and other particularly large and fearsome creatures from the time I was a wee lad, I also generally root for movies about sea monsters.
I've yet to make up my mind about movies that combine the two.
Brian Helgeland has been hired to write "Here There Be Monsters," a movie about Revolutionary War naval hero John Paul Jones — except with sea monsters, individuals close to the project confirmed.
Producers of the Warner Bros./Legendary project are in talks with Robert Zemeckis to direct.
"Here There Be Monsters" is based on an concept by Legendary Pictures CEO Thomas Tull.
Tull is producing along with Legendary's Jon Jashni and Mandeville's Todd Lieberman and David Hoberman.
Helgeland, who won the Academy Award for 1997's "L.A. Confidential," also wrote the 2003 "Mystic River," the 2010 "Green Zone" and 2010's "Robin Hood."
Zemeckis directed a string of 1980s hits, including "Romancing the Stone," "Back to the Future" and "Who Framed Roger Rabbit," as well as 1994's "Forrest Gump."
This is one of those occasions when I can sympathize with the Apostle Paul, torn as he was between his two natures. The mature, academic part of me that went to grad school is really, really nervous. The behemoth-loving part of me that squeals with delight when I watch the Kraken sequences from Clash of the Titans is thinking this could be one of the Best. Things. Ever.
Don't settle for the 2010 remake, by the way. The only true Clash of the Titans is the 1981 Clash of the Titans.


text:
For our November selection, we visit beer from Canada and cheese from Italy. The beer, Unibroue's Blanche de Chambly, is a Belgian-style witbier, which Unibroue claims was the first bottle-fermented white ale crafted in North America (in 1992, if you're wondering). The cheese, Caseificio dell'Alta Langa La Tur, is a cheese made of cow, sheep, and goat's milk that the cheesemaker describes as "delicate and harmonious, fine and tasty". The cheese is produced northwestern Italy - Bosia - in a modern facility, using antibiotic-free milks, and using old world recipes.
If you're a member of the Beer and Cheese Club at Goose the Market, your November installment is likely ready for you to pick up right now. If you're not a member, the club is $99 for 4 months. This month's selection includes four bottles of Blanche de Chambly in addition to a small wheel of cheese that the three of us managed to accidentally eat all at once. Either of these items would be great experiences on their own, but we feel they are even better when consumed together.
Blanche de Chambly from Unibroue is a witbier with the kind of effervescence that shoots right up into your brain. Strong and spicy nose with a lighter body and finish.
La Tur - This comes from a wine region in Italy and is often paired with a bit of bubbly, or a bubbly witbier in this case. This cheese was butter soft and arrived in a paper cup inside a plastic tub. The outside was pretty near a liquid consistency, but the middle was a bit more firm. One website said the cheese was like "ice cream served from a warm scoop," and that description is perfect. The cheese had a funky, musty aroma that carried through to taste. It had a huge farmy, grassy-like flavor that I couldn't decide if I liked or didn't.
The pairing was a harmony of both, neither overpowering the other. The bright flavor of the beer cut through the earthiness of the cheese. It subdued both of the more intense flavors and let through more subtle counterparts.
Thanks again to Goose for another great offering in the club.
Blanche de Chambly - nose is light fruit, apple, lightly tart, light body, finishes chewy/tart
La Tur - Creamy up front, funky in the back, savory in the middle. Very farmy, grassy. The cheese starts off sweet, almost like an icing, and then after a couple seconds.. wait for it... an explosion of grassy yet not overwhelming funk.
The combination of the two functions as the fizziness of the beer wipes the palate clean - not really a meld in the middle, though the flavors don't clash; rather they sit together nicely, in an apple tart sort of way.
In any case, the cheese was ridiculously delicious.
This is my first time reviewing a Goose the Market beer and cheese club offering, but I'm not stranger to pairing beer and cheese. I love washing down my nachos with a lager. And the beer and cheese crocks found at pubs are fantastic too. But the Goose beer and cheese pairing is not your standard stadium or sports bar fare. Of course, the Goose's basement bar Enoteca is not your standard bar. I can tell you that the "Red Beer Salumi Cheese" is a fun beer concoction (beer and Hoosier Mama's Bloody Mary Mix served on ice with meat and cheese; chorizo and provolone were the offerings this time) and the steak tartare was lovely.
But the main reason for my attendance was to try the La Tur formaggio affinato with Unibroue's Blanche de Chambly. Velveeta and Budweiser this is not. The soft white cheese is at times creamy and gooey and other times slightly dry. I could taste the grass that the cows, goat, and sheep consumed. It has a nice earthy aroma. And if finished with a dry, buttery mouth feel. It was really nicely spread on a baguette.
The yeasty Blanche de Chambly ale on lees played well with the cheese. The bubbly, golden beer pops with flavors, and it is the citrus flavor in the beer that really worked well with the grassy notes of the cheese. A nice pairing to have as we head into winter, together they remind one of a bright spring day. I'll have to remember that in February, when winter seems never ending.
To join the Beer and Cheese Club at Goose the Market (in conjunction with Hoosier Beer Geek), check out this PDF and then either call Goose the Market at 317-924-4944 or stop in the shop at 2503 N. Delaware St.


text:
Tim Tebow was in LA for Oscar weekend. On Friday he hit up a party and met Taylor Swift. On Sunday he went to Vanity Fair and had his picture taken with just about everyone, including, as attached, Jon Hamm and Kate Upton.
But even the excitement of all his new celebrity fangirls couldn't diminish the effect that Swifty must have had on him because the next evening Tebow met up with her for dinner. At the end of the meal, like a proper gentleman, he walked her out before heading back inside to rejoin their table where two companions remained, believed to be their respective agents.
So...they were chaperoned?
That totally means they're getting married.
But only after a long respectable courtship. That's why Swifty's now off for Australia. Good girls have supervised dinners and talk on the phone for a couple of weeks before agreeing to the next date. Unless of course it's John Mayer on the other end.
Taylor Swift is not unlike Anne Hathaway in this regard. She wants to do the right thing on paper. But sometimes it's too hard to resist the boys that should be reisted.
If you believe their press releases, there is no one more suited to Taylor Swift than Tim Tebow. And no one more suited to Tim Tebow than Taylor Swift. Tim and Taylor. Taylor and Tim. Just a simple "T" or better a simple "t" for their wedding invitations and their place settings. And the wedding album soon to follow.
February 29, 2012 at 1:16 PM
Three Weeks


text:
- News
- Business
- Sports
- Entertainment
- Lifestyle
- Health
- Travel
- Technology
MCADAM, N.B. - It's been said that the unmistakable sound of a steam locomotive's whistle can still be heard in this sleepy New Brunswick village, though it's been decades since one of Canadian Pacific Railway's passenger trains thundered down its tracks.
The golden age of train travel may be long gone, but a significant piece of Canada's railway legacy remains open for visitors here at the historic station in McAdam, a blink-and-you-miss-it hamlet near the Maine border.
Once a vital hub for passengers riding the rails, the chateau-style railway station and its attached five-star hotel are now being lovingly and painstakingly restored to their former glory.
In its heyday, some 16 trains — each one carrying as many as 300 passengers — came to a screeching halt at the grand station every day, sending plumes of coal dust into the air.
Soldiers, celebrities and politicians alike would stream through the doors of the imposing stone building with its pitched red roof destined for places like New York, Boston and Halifax.
At nighttime, the tracks were silent. But during the day, the station was a flurry of activity: men, women and children disembarking, others waiting for their connecting trains, and the occasional train-hopper caught by the railway's police.
"It was known to be a train always at the station," says Frank Carroll, treasurer of the McAdam Historical Restoration Commission, which has been working to revitalize the century-old station, now a provincial and federal historic site and designated heritage railway station.
"It was always bustling. There were so many people around the train station, coming and going."
The railway ordered construction of the station, standing two-1/2 storeys tall, at the turn of the 20th century. Renovations some 10 years later saw the addition of two wings for dining facilities and extra baggage storage. A man-made lake adjacent to the station was used for a water supply.
Like its other landmark railway stations, Canadian Pacific wanted the McAdam station constructed in the chateau style of architecture with a pointed spire and gabled dormers.
Today, visitors can tour the station, which also includes: a dingy, single-cell jail; a small mail room; refurbished waiting areas; a 50s-style cafeteria with a large, M-shaped counter; and a restored dining room that once hosted Marilyn Monroe. As the story goes, the Hollywood bombshell was bound for Miramichi, N.B., for a fishing trip with a few men when she stopped in McAdam.
Carroll, who is also the village's longtime mayor, says he recalls peering through the windows of the station's dining room as a young boy in the 1940s.
"That was always exciting to me because you saw all these — what I would interpret as — rich and famous people eating very elegant meals in this room that I was never privy to go into."
In the old ticket room, a Canadian Pacific conductor's hat hangs from a coat rack — ideal for photo ops. A telegraph machine sits atop a beat-up wooden desk.
In another refurbished room with dark wood floors and wall panelling is a photograph of William Van Horne, the former Canadian Pacific baron whose sprawling summer estate on Ministers Island, N.B., remains a tourist attraction nearly 97 years after his death.
On the left-hand side of the room is a door marked "hotel," which opens up to a staircase leading to the former 20-room inn. Numbered skeleton keys still hang near the staircase.
Upstairs, light filters in through the open doors on either side of a long, narrow hallway, illuminating the crackled green paint on the walls where the biggest restoration work has yet to be done.
Most rooms are empty, having long been abandoned by their guests. In one room, a small bed has been made up with linens featuring a Canadian Pacific Railway logo.
"These rooms were used for short periods of time by people that were connecting by trains and wanted to have their privacy, and have a chance to look good when they got on the next train," says Carroll.
"Those who travelled in those days wanted to travel well."
Carroll says the hotel and dining room shut down in the late 1950s when the popularity of train travel began to decline. Over the coming decades, Canadian Pacific Railway would pull out and federal Crown corporation VIA Rail would take over passenger service.
VIA's service to McAdam gradually dwindled before it was cancelled altogether in 1994, a couple of years before the commission stepped in to salvage the shuttered station.
Today, the station hosts conferences and dinners. It's also a museum and acts as the village's official visitors' centre during the summer months.
On Sundays, visitors looking for a taste of tradition can sample a slice of railroad pie — a throwback to the homemade cream- and fruit-filled pastry the station dished out to travellers during its golden years.
The hope is to eventually refurbish the hotel, welcome guests and recapture some of the magic from a bygone era. It will be an impressive feat costing an estimated $10 million, and involving tearing out walls and ceilings, upgrading electricity and plumbing.
Carroll concedes that day is a long way down the track, but he says the commission is very pleased with what has already been accomplished.
"We took the building for granted," says Carroll. "It was always here, it was just a station. We didn't see the value or the importance of it until it became empty.
"And now we see it coming back."
If you go ...
- McAdam Railway Station, 146 Saunders Rd., McAdam, N.B. Tours are offered daily from mid-June through October starting at 10 a.m., for $5. On the Web: www.mcadamstation.ca
- Ministers Island (Van Horne estate), Bar Road, St. Andrew's, N.B. Tours for adults are $15. There are discounted rates for students, seniors and families, and tours are free for children under the age of eight. Visitors are advised to check ahead for tour schedules. On the Web: www.ministersisland.net


text:
by Walter Fox
Lucille Wheeler, 104, formerly of Germantown, a retired social worker and a longtime civil rights activist, died Jan. 28 at Ivy Hill Rehabilitation and Nursing Center, where she had been a resident since 2009.
Ms. Wheeler had worked with foster children for 20 years with the Bureau of Child Care in Philadelphia, but she was probably better known for her lifetime commitment to civil rights.
In an interview published in the Chestnut Hill Local in 2003, Ms Wheeler recalled that in 1946 – nine years before Rosa Parks sparked the Montgomery, Ala., bus boycott by refusing to move to the back of the bus – she took a similar stand on a bus in Atlanta, Ga. The difference was that the white passenger who might have taken Ms. Wheeler's seat never complained, and Ms. Wheeler was never arrested.
A year earlier, when she and a friend went to lunch at a well known café in Denver, they were told that they could not eat inside but could take out their lunch in brown paper bags.
"Brown paper bags?" Ms. Wheeler asked. "You will have a legal suit on your hands before I take my lunch out in a brown paper bag."
Although she and her friend did not have lunch in the café, Ms. Wheeler sued, and the café settled out of court.
"And they did stop the discrimination," she said. "That's what really counts."
Ms. Wheeler was born in Washington, D.C., the eldest of nine children in what she described as a "close-knit family." Her father operated a small moving business using a horse and wagon.
As a teenager delivering baskets of homegrown food to the poor in that wagon, she said she "saw such poverty."
"I wanted to do something in my life to help people," she added.
She graduated from St. Augustine's High School in Washington and received a bachelor's degree in social work after working her way through Howard University. Among her teachers at Howard was Ralph Bunche, a former U.S. representative to the United Nations and Nobel Peace Prize recipient.
"You could see even then that he was going to be something special," she recalled.
Graduating in 1930 during the Depression, Ms. Wheeler went to work for the Works Projects Administration (WPA), which was established by President Roosevelt to provide work for the unemployed. Her assignments included annotating the papers of Frederick Douglass and compiling a bibliography on Catholicism at the Library of Congress.
She saved enough money to enter graduate school at Atlanta University and, after busing dishes to pay for her food, received a master's degree in medical social work.
She did her fieldwork at Freedman's Hospital (now Howard University Hospital), becoming the first student to do so. After graduation she accepted a position as a childcare worker with the Bureau for Colored Children in Philadelphia (later to become the Bureau of Child Care).
Ms. Wheeler was known for her close relationship with the children who were her clients, and the boy who was her first case gave her a surprise party and a $100 check on her 90th birthday, saying "I want you to know what a difference you made in my world – remember the times you went out of your way for me."
She remained active in interracial affairs until the 1980s and sang in the choir at St. Madeleine Sophie Church in Mt. Airy, where she was a member.
She is survived by a sister, Cecilia Saunders, 92, of Washington, D.C.
A funeral Mass was celebrated Feb. 5 at St. Madeleine Sophie Church with interment in Washington, D.C.


text:
← Back to the Alcohol.law Digest
Alcoholic beverage products typically are sold in glass or plastic bottles or in aluminum cans. There are a few alternative packaging options, such as bag-in-box and Tetra-packs, but the beer and wine section at the grocery store is mostly full of bottles and cans. Suppliers distinguish their products from competitors' products by creating unique brand names and label designs, both of which can be protected as trademarks. But what about the package itself? Can you register your bottle shape as a trademark? The answer is yes, if the design is distinctive and not merely functional.
U.S. trademark law (15 USC § 1052(e)(5)) provides that a proposed trademark cannot be registered if it "comprises any matter that, as a whole, is functional." This applies to colors, sounds and also to package designs. The U.S. Patent & Trademark Office ("USPTO") will not grant trademark registration, and the exclusivity that trademark registration provides, if it would foreclose competitors from using a design that is functional. A four-factor test was established to determine whether a container design is functional: 1) whether a utility patent exists that discloses the utilitarian advantages of the design sought to be registered; 2) whether applicant's advertising touts the utilitarian advantages of the design; 3) whether alternative designs are available that serve the same utilitarian purpose; and, 4) whether the design results from a comparatively simple or inexpensive method of manufacture. Package designs commonly fail the functionality test based on at least one of the above factors because packages are inherently intended to be functional. But it is possible to incorporate design features into an otherwise functional package that are purely for aesthetics, such as the shape of the iconic Coca-Cola bottle, which has been a registered trademark for decades. However, designs that are functional, such as bottle designs that offer efficient stacking or pouring methods, might be subject to refusal based on the test detailed above.
The USPTO may also refuse to register a package design if it lacks inherent distinctiveness. Several factors must be considered in evaluating a design's distinctiveness, including whether it: 1) is a "common" basic shape or design; 2) is unique or unusual in a particular field; 3) is a mere refinement of a commonly-adopted and well-known form of ornamentation for a particular class of goods; or 4) is capable of creating a commercial impression distinct from the accompanying words.
A recent opinion issued by the Trademark Trial and Appeal Board in In re Mars is a good illustration of the application of the above factors to a package design – a pet food container in that case. The pet food package was an inverted cylindrical container. The registration in that case was denied based on the factors discussed above, but many package designs have been successfully registered as trademarks, so if your package has a unique element or design, you may wish to consider protecting it as a trademark.
Contact one of the attorneys at Strike Kerr & Johns if you have questions about trademark registrations.
Alcohol.law Digest is published for general informational purposes only and is not intended as legal advice. Copyright © 2013 · All Rights Reserved ·
Browse all tags:


text:
A picture from the International Space Station, provided Saturday by Dutch astronaut Andre Kuipers, shows southern lights between Antarctica and Australia.
Most of the fantastic auroral views we've been getting over the past month have been from the north side of the world — but the southern lights are getting their day in the sun as well, thanks largely to the International Space Station.
The northern lights are more widely seen primarily because the high northern latitudes are more populated than similar latitudes in the south: The southernmost cities in Australia and New Zealand are in the 40s, latitude-wise, while Argentina and Chile dip down into the mid-50s. In comparison, the prime aurora-viewing areas in the north are in the 60s and 70s.
The International Space Station flies as far as 51.6 north and south latitude on every orbit, and its astronauts have a far more commanding view of the polar regions than earthly skywatchers. So it's no surprise that they're regularly seeing the auroral glow during the current period of heightened solar activity. Right now, the station's crew is in the midst of a viewing campaign that's being coordinated with the Canadian Space Agency's AuroraMAX project. Some of the reddish glows reach all the way up to the space station's level, 240 miles above Earth.
"We can actually fly into the auroras," space station resident Don Pettit said recently. "It's like being shrunk down and put inside of a neon sign."
You've got lots of choices for browsing through auroral sights and other views from space. There's Kuipers' Flickr gallery, the NASA 2Explore Flickr site, NASA's Gateway to Astronaut Photography of Earth, the Expedition 30 gallery on NASA's Human Spaceflight website, and the Fragile Oasis Facebook page, where astronaut Ron Garan and his colleagues keep track of everything that's out there. To find out when you can see the space station from your locale, consult NASA's database for sighting opportunities.
This March 6 photo from the International Space Station highlights daybreak on the left side of the horizon, and the southern lights on the right side. The station was flying over the Indian Ocean at the time, or about 1,200 miles south of Australia. The view is toward the east. A Russian Soyuz spacecraft is connected to the Pirs docking compartment at center, and a Russian Progress cargo craft is docked at right.
The space station's astronauts aren't the only ones who are seeing the southern lights: Check out the pictures from New Zealand and Tasmania that are being posted to SpaceWeather.com. And stay tuned: Thanks to a series of solar outbursts over the weekend, heightened geomagnetic activity should continue through Tuesday, according to the National Oceanic and Atmospheric Administration's Space Weather Prediction Center. That means there could be still more neon lights in the sky. Check out NOAA's Ovation Auroral Forecast and the University's Aurora Forecast website to find out if you're in the potential aurora zone.
Update for 9:30 p.m. ET: Tonight's northern lights were not to be missed at Sweden's Abisko National Park. "Tonight was very special," photographer Chad Blakley of Lights Over Lapland wrote in an email. "We had incredible auroras and were able to watch them dance as Venus and Jupiter went down behind the mountains." Here's a must-see time-lapse video of the scene:
Update for 4:30 p.m. ET March 14: ... And looking back Down Under, here's a wonderful video clip from Ian Stewart in Tasmania, looking south over Bruny Island. "This aurora was short lived, and obscured for the most part by cloud," Stewart wrote. "The cloud cleared just as the sky started glowing an eerie soft red, and the aurora faded into the beams of the rising moon at the end." Still more solar particles are coming our way, so stay tuned for more great views from the north and south. Check SpaceWeather.com for the latest.
More auroral glories:
- Sky lights go wild, north and south
- Solar storm lights up northern skies
- Rocket flies into the northern lights
- Aurora extravaganza glows in space
- Planet looks back at the northern lights
- Auroras spark awe across the north
- Slideshow: The best of the northern lights
- Cosmic Log's auroral archive
Alan Boyle is msnbc.com's science editor. Connect with the Cosmic Log community by "liking" the log's Facebook page, following @b0yle on Twitter or adding Cosmic Log's Google+ page to your circle. You can also check out "The Case for Pluto," my book about the controversial dwarf planet and the search for other worlds.


text:
In this tutorial we are going to extend our PyWine application to allowing you to edit the items that you have added to the list and save an load the wine lists you create so that you don't have to keep entering them in all the time.
You can download the complete code for this tutorial here.
If you are not familiar with the PyWine application or with working with Glade and PyGTK I suggest you read my first two tutorial on the subject:
The GUI – Glade
The first thing that we are going to do is open up out PyWine glad project and add an edit button to our toolbar:
- Make space for the Edit button by selecting the toolbar and settings its size property to 2.
- Add a Toolbar Button in the newly created empty space.
- Call the button btnEditWine, set its label to be "Edit Wine", and its icon to be the stock Edit icon. Next add a handler for the clicked event.
- We're going to change the menu up a little bit, instead of a menu that says Add | Wine, we are going to set the menu up to read Wine | Add and Wine | Edit. Do this just like we did in the previous PyWine tutorial and make the Wine | Edit clicked handler the same function as your btnEditWine button's clicked event handler.
The Code
Now lets get the Edit button working in the code, the first thing that we are going to have to do is get the information from whatever line in the gtk.TreeView is currently selected. There are two ways to go about his, the first way is to read all the of data from the four columns that we have visible and the second would be to actually add our Wine object to the gtk.ListStore (our model) but not display it in the gtk.TreeView.
Since it is simpler and may be more useful in the future if our wine class contains extra information or if we choose to let people add or remove columns from the gtk.TreeView I choose to use the later approach. This means that we need to change some of our code a little but.
First we have to add an additional column to our column definition variables in the pyWine __init__ function:
[code lang="python"]
self.cWineObject = 0
self.cWine = 1
self.cWinery = 2
self.cGrape = 3
self.cYear = 4
You see that we put the actual wine object as position 0 in the list, so we have to adjust our gtk.ListStore creation code in the same function as follows:
[code lang="python"]
#Create the listStore Model to use with the wineView
self.wineList = gtk.ListStore(gobject.TYPE_PYOBJECT
, gobject.TYPE_STRING
, gobject.TYPE_STRING
, gobject.TYPE_STRING
, gobject.TYPE_STRING)
Everything is the same as it was before except that the first item in our gtk.ListStore will now be a python object. In order to get the above code to compile we must add the following code to the top of our file:
[code lang="python"]
import gobject
Now the next thing that we need to change the way that we add our wine to the gtk.ListStore so that we actually include the Wine object. Luckily in our previous tutorial we added a getList() function to our Wine class that returns the list to add to the gtk.ListStore(), so all we have to do is edit that:
[code lang="python"]
def getList(self):
"""This function returns a list made up of the
wine information. It is used to add a wine to the
wineList easily"""
return [self, self.wine, self.winery, self.grape, self.year]
It's not much of a change, we simple have to make it so that getList() puts the Wine class at the start of the list.
The next step is to actually allow the user to edit a wine entry but before we do that there is one more change that we need to make. In tutorial one the __init__ function of the wine dialog accepted all of the items that made up our wine class as initialization parameters.
[code lang="python"]
def __init__(self, wine="", winery="", grape="", year=""):
This works alright if you have a small number or parameters, but if our Wine class was going to grow initializing the wineDialog class would become a pain. So all we are going to do is change the __init__ function to accept a Wine class object, rather then all of its parts:
[code lang="python"]
def __init__(self, wine=None):
"""Initialize the class.
wine – a Wine object"""
#setup the glade file
self.gladefile = "pywine.glade"
#setup the wine that we will return
if (wine):
#They have passed a wine object
self.wine = wine
#Just use a blank wine
self.wine = Wine()
The next step is to finally edit a wine entry, we will do this in function called on_EditWine(), it is hooked up to the Edit Wine button clicked event and the Wine | Edit menu item:
[code lang="python"]
def on_EditWine(self, widget):
"""Called when the user wants to edit a wine entry"""
# Get the selection in the gtk.TreeView
selection = self.wineView.get_selection()
# Get the selection iter
model, selection_iter = selection.get_selected()
if (selection_iter):
"""There is a selection, so now get the the value at column
self.cWineObject, the Wine Object"""
wine = self.wineList.get_value(selection_iter, self.cWineObject)
# Create the wine dialog, based off of the current selection
wineDlg = wineDialog(wine);
result,newWine = wineDlg.run()
if (result == gtk.RESPONSE_OK):
"""The user clicked Ok, so let's save the changes back
into the gtk.ListStore"""
, self.cWineObject, newWine
, self.cWine, newWine.wine
, self.cWinery, newWine.winery
, self.cGrape, newWine.grape
, self.cYear, newWine.year)
The first thing we do is call gtk.TreeView.get_selection() to get the gtk.TreeSelection object that is associated with the gtk.TreeView. Then we call gtk.TreeSelection.get_selected() which returns our gtk.TreeModel (which we don't care about) and a gtk.TreeIter that points to the currently selected node in out gtk.TreeView (which we do care about).
The gtk.TreeIter returned by the get_selected() function will be None if there is no selection, otherwise we use that gtk.TreeIter to get the Wine object at the currently selected position in our gtk.TreeView by calling the gtk.TreeModel.get_value() action. Once we have the Wine object the rest is pretty straight forward, we create our wineDialog object, show it, and if the used clicks the Ok button we update the selected item in the gtk.TreeView using the gtk.ListStore.set() function.
The gtk.ListStore.set() function is actually quite interesting since it takes a gtk.TreeIter as its first parameter (the position to set the values) and the rest of its parameters can be one or more column_number, new_value pairs! My only disappointment was not finding a function that used a list in the same way that the gtk.ListStore.append() function does.
So that's it for editing a wine entry! Since we don't want to always re-enter the wines that we like each time we start the application it's high time that we start saving and loading our wine list.
Saving and Loading the Wine Lists
The first thing that we are going to do is borrow two helper functions from the WordPy offline blogging tool tutorial:
[code lang="python"]
def show_error_dlg(self, error_string):
"""This Function is used to show an error dialog when
an error occurs.
error_string – The error string that will be displayed
on the dialog.
error_dlg = gtk.MessageDialog(type=gtk.MESSAGE_ERROR
, message_format=error_string
, buttons=gtk.BUTTONS_OK)
This function just provides us with an easy way to let the user know that an error has occurred by showing them an error dialog. We will add this to the pyWine class. For more information on how the function works please see the WordPy offline blogging tool tutorial.
We are also going to bring over the browse_for_image() function:
[code lang="python"]
def browse_for_image(self):
"""This function is used to browse for an image.
The path to the image will be returned if the user
selects one, however a blank string will be returned
if they cancel or do not select one."""
file_open = gtk.FileChooserDialog(title="Select Image"
, action=gtk.FILE_CHOOSER_ACTION_OPEN
, buttons=(gtk.STOCK_CANCEL
, gtk.RESPONSE_CANCEL
, gtk.STOCK_OPEN
, gtk.RESPONSE_OK))
"""Create and add the Images filter"""
filter = gtk.FileFilter()
"""Create and add the 'all files' filter"""
filter = gtk.FileFilter()
filter.set_name("All files")
"""Init the return value"""
result = ""
if file_open.run() == gtk.RESPONSE_OK:
result = file_open.get_filename()
return result
Except we are going to modify it so that it operates as a File Open and File Save dialog, and so that it browses for pyWine files (*.pwi) instead of images. We will control whether it is a File Open or File Save dialog by passing in an additional parameter called dialog_action, which will be the action that we use to set the action property of the gtk.FileChooserDialog:
[code lang="python"]
def file_browse(self, dialog_action, file_name=""):
"""This function is used to browse for a pyWine file.
It can be either a save or open dialog depending on
what dialog_action is.
The path to the file will be returned if the user
selects one, however a blank string will be returned
if they cancel or do not select one.
dialog_action – The open or save mode for the dialog either
gtk.FILE_CHOOSER_ACTION_OPEN, gtk.FILE_CHOOSER_ACTION_SAVE
file_name – Default name when doing a save"""
if (dialog_action==gtk.FILE_CHOOSER_ACTION_OPEN):
dialog_buttons = (gtk.STOCK_CANCEL
, gtk.RESPONSE_CANCEL
, gtk.STOCK_OPEN
, gtk.RESPONSE_OK)
dialog_buttons = (gtk.STOCK_CANCEL
, gtk.RESPONSE_CANCEL
, gtk.STOCK_SAVE
, gtk.RESPONSE_OK)
file_dialog = gtk.FileChooserDialog(title="Select Project"
, action=dialog_action
, buttons=dialog_buttons)
"""set the filename if we are saving"""
if (dialog_action==gtk.FILE_CHOOSER_ACTION_SAVE):
"""Create and add the pywine filter"""
filter = gtk.FileFilter()
filter.set_name("pyWine database")
filter.add_pattern("*." + FILE_EXT)
"""Create and add the 'all files' filter"""
filter = gtk.FileFilter()
filter.set_name("All files")
"""Init the return value"""
result = ""
if file_dialog.run() == gtk.RESPONSE_OK:
result = file_dialog.get_filename()
return result
FILE_EXT is simply defined as follows:
[code lang="python"]
FILE_EXT = "pwi"
We are also going to want to add handlers for the File | Open and File | Save menu commands in our glad project using the same method that we did for the Wine | Add and Wine | Edit menu items. I called mine on_file_open and on_file_save:
#Create our dictionay and connect it
dic = {"on_mainWindow_destroy" : self.on_Quit
, "on_AddWine" : self.OnAddWine
, "on_EditWine" : self.on_EditWine
, "on_file_open" : self.on_file_open
, "on_file_save" : self.on_file_save}
To do the saving and loading of our Wine objects we are going to use the python shelve module. Which is a standard python module that can most (if not all) python object. There are of course other ways that we could have done this, we could have used xml files, or a straight pickle of all of our objects, but I thought that shelve made sense in this situation and it is easier to introduce them xml saving and loading.
From the documentation:
A "shelf" is a persistent, dictionary-like object. The difference with "dbm" databases is that the values (not the keys!) in a shelf can be essentially arbitrary Python objects — anything that the pickle module can handle. This includes most class instances, recursive data types, and objects containing lots of shared sub-objects. The keys are ordinary strings.
So to start lets setup the on_file_save() function. To start we will let the user browse for a location where they want to save their file, and let them specify the file's name. Next we will ensure that that the file has our file extension on it and then we will loop through all the items in the gtk.TreeView and save each Wine object using the shelve module:
[code lang="python"]
def on_file_save(self, widget):
"""Called when the user wants to save a wine list"""
# Get the File Save path
save_file = self.file_browse(gtk.FILE_CHOOSER_ACTION_SAVE, self.project_file)
if (save_file != ""):
# We have a path, ensure the proper extension
save_file, extension = os.path.splitext(save_file)
save_file = save_file + "." + FILE_EXT
""" Now we have the "real" file save loction create
the shelve file, use "n" to create a new file"""
db = shelve.open(save_file,"n")
"""Get the first item in the gtk.ListStore, and while it is not
None, move forward through the list saving each item"""
# Get the first item in the list
iter = self.wineList.get_iter_root()
while (iter):
# Get the wine at the current gtk.TreeIter
wine = self.wineList.get_value(iter, self.cWineObject)
# Use the iters position in the list as the key name
db[self.wineList.get_string_from_iter(iter)] = wine
# Get the next iter
iter = self.wineList.iter_next(iter)
#close the database and write changes to disk, we are done
#set the project file
root, self.project_file = os.path.split(save_file)
After working with the gtk.TreeIter objects earlier this code should not be that difficult to understand. In fact the only real difficult part of the code is the following, the rest should be explained by the in-line comments:
[code lang="python"]
while (iter):
# Get the wine at the current gtk.TreeIter
wine = self.wineList.get_value(iter, self.cWineObject)
# Use the iters position in the list as the key name
db[self.wineList.get_string_from_iter(iter)] = wine
# Get the next iter
iter = self.wineList.iter_next(iter)
Basically what we are doing is looping through each item in the gtk.ListStore and then setting the data at the current gtk.TreeIter position in the shelve file to be our wine object.
[code lang="python"]
db[self.wineList.get_string_from_iter(iter)] = wine
The gtk.TreeModel.get_string_from_iter() function "returns a string representation of the path pointed to by iter. This string is a ':' separated list of numbers. For example, "4:10:0:3″ would be an acceptable return value for this string." (pyGTK Docs). Since we are using a gtk.ListStore the values returned will always be single values that increase as we move down the list from top to bottom.
So the first item will be "0", the second "1", the third "2", and so on. This will be helpful for us when we open files, since keys in shelve files are not guaranteed to be in any particular order (as far as I could tell.)
When you close the shelve file, the data will be written to the disk.
You'll also notice the inclusion of the self.project_file item as the default file name, this is a new addition to the class. It is the file name of the current project, it just lets us set the default name in the gtk.FileChooserDialog when we are doing a save. It's defined in the __init__ function as follows:
self.project_file = ""
This just lets us have a dialog that pops up like so:
Now lets setup the on_file_open() function which, if you've understood the on_file_save function, should not be that difficult to understand:
[code lang="python"]
def on_file_open(self, widget):
"""Called when the user wants to open a wine"""
# Get the file to open
open_file = self.file_browse(gtk.FILE_CHOOSER_ACTION_OPEN)
if (open_file != ""):
# We have a path, open it for reading
db = shelve.open(open_file,"r")
if (db):
# We have opened the file, so empty out our gtk.TreeView
""" Since the shelve file is not gaurenteed to be in order we
move through the file starting at iter 0 and moving our
way up"""
count = 0;
while db.has_key(str(count)):
newwine = db[str(count)]
count = count +1
#set the project file
root, self.project_file = os.path.split(open_file)
self.show_error_dlg("Error opening file")
self.show_error_dlg("Error opening file")
You'll notice that when loading items from the list we use a counter (count) and the has_key() function. As explained above we save each Wine object using the gtk.TreeIter path, which is a single number since we are using a gtk.ListStore. But since the order in the file cannot be guaranteed we use our own counter to get each item from the file in order starting at zero and working our way up until the key represented by our number is no longer in the file. (Note: we convert out integer to a string since the keys in the shelve files must be strings.)
To load a Wine object from the file we simply ask the shelve file for the item at the current count key:
[code lang="python"]
newwine = db[str(count)]
Then we just append that wine to the list, and we have loaded a .pwi file. The Try except code, basically just catches any error that might occur if the user tries to open a file that is not a true pyWine project file.
That's basically it for this tutorial, but if you've understood it you can see how easy to would be to hook in the File | New menu handler or add a Delete button to the toolbar, or even set the title of the Window to be the current project file.
You might even want to try playing around with different project file types and try implementing an XML file type. In the future I think it would be a neat option to allow the user to decide which type of file they want to use for their project files.
You can download the complete code for this tutorial here.
If you have any questions, or notice any problems with this tutorial please post a comment and let me know!