August 31, 2002
Ear Cleaner

Print | Home

Yahoo! mail has a "feature" that if you receive spam in your Inbox instead of your Bulk folder you select the This is Spam link and submit it to Yahoo! for review. Unfortunately when you do this you actually might glance at the message. This one was too funny to pass up. I've removed the Korean and left the "English" and, of course, it was the image that caught my eye.

ear-cleaner

Copyright(c) by Slimlives.com, All rights reserved. Contact Master for more information.

We seek an apology in sending this advertising by e-mail.
'Advertising e-mail' was notified in accordance with 'Information Communication Use Promotion Act'.
Your e-mail address was obtained from disclosed space on Internet, and please feel secured as we do not possess any personal information on you other than your e-mail address.
If you do not want to receive this e-mail, please click 'Remove' so that this e-mail will not be sent out to you from this time on.

 
Posted by jservice at 10:38 PM
August 30, 2002
Age Barometer. Do you remember....

Print | Home

  1. Blackjack chewing gum
  2. Wax Coke-shaped bottles with colored sugar water
  3. Candy cigarettes
  4. Soda pop machines that dispensed bottles
  5. Coffee shops with tableside jukeboxes
  6. Home milk delivery in glass bottles with cardboard stoppers
  7. Party lines
  8. Newsreels before the movie
  9. P.F. Flyers
  10. Butch wax
  11. Telephone numbers with a word prefix (SUnset 9-4667)
  12. Peashooters
  13. Howdy Doody
  14. 45 RPM records
  15. S&H Green Stamps
  16. Hi-fi's
  17. Metal ice trays with levers
  18. Mimeograph paper
  19. Blue flashbulbs
  20. Beanie and Cecil
  21. Roller skate keys
  22. Cork popguns
  23. Drive-ins
  24. Studebakers
  25. Wash tub wringers

Of course I won't admit that I remember 17 of these items from my childhood.

Source: T H E . M O U T H P I E C E

 
Posted by jservice at 09:48 PM
August 28, 2002
Happy Birthday Tom!

Print | Home

birthday cake

My brother, a scant a year and a half younger than I am, pushes over the mid-40s mark today. I realize we have lived apart now for a quarter century, each busy with our own lives and families: he in Victoria and me in Mississauga. At least email has come and long distance phone rates have gone way down since he moved out west. We can, if we choose, keep in touch more frequently.

One other thing I am most grateful for, because my brother is so close in age, is that I never lacked a playmate. Long road trips, staying at lodges and cottages, visiting relatives, and so on — there was always Tom to play with. I really can't imagine growing up without a friend and brother "right there". I suppose we fought and argued but I don't remember any major incidents so I guess we got along most of the time. Perhaps Tom has different memories. Anyway, I would like to wish him a Happy Birthday this August 28, 2002.

Much love, from your slightly older brother Jim

 
Posted by jservice at 09:36 PM
Compiling gzstream with MS Visual C++

Print | Home

For debugging purposes I produce XML file "dumps" of some of the C++ class variables I have created used in a large program I'm developing at the moment. These files can be quite large but, because of the many redundant tags, they may be compressed down to 2% of their original size. I am using the zlib library in my program already and I looked for a way of using zlib with C++ streams. I discovered the gzstream library but, unfortunately, it wouldn't compile using Visual C++. When you try and compile gzstream.cpp (renamed from gzstream.C in the library) you get an "inappropriate or no default constructor found" type of error. After much head scratching and web research I finally found the clue while reading this article on Deriving the C++ Stream Buffer. gzstream has only been tested using the g++ compiler; so, looking in my handy cygwin distribution I discovered the prototypes in <iostream> don't use templates whereas the MS C++ compiler include files use them extensively.

What I found is that you can't derive a stream class using the typedefs std::istream or std::ostream. Instead you must use the actual types. So the original code extract from gzstream.h looked like this:

class igzstream : public gzstreambase, public std::istream {
public:
    igzstream() : std::istream( &buf) {} 
    igzstream( const char* name, int open_mode = std::ios::in)
        : gzstreambase( name, open_mode), std::istream( &buf) {}  
    gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); }
    void open( const char* name, int open_mode = std::ios::in) {
        gzstreambase::open( name, open_mode);
    }
};

class ogzstream : public gzstreambase, public std::ostream {
public:
    ogzstream() : std::ostream( &buf) {}
    ogzstream( const char* name, int mode = std::ios::out)
        : gzstreambase( name, mode), std::ostream( &buf) {}  
    gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); }
    void open( const char* name, int open_mode = std::ios::out) {
        gzstreambase::open( name, open_mode);
    }

and the transformed code is now this:

class igzstream : public gzstreambase,
    public std::basic_istream<char,
      std::char_traits<char> > {
public:
    igzstream() : std::basic_istream<char,
                  std::char_traits<char> >( &buf) {} 
    igzstream( const char* name, int open_mode = std::ios::in)
        : gzstreambase( name, open_mode),
          std::basic_istream<char,
          std::char_traits<char> >( &buf) {}  
    gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); }
    void open( const char* name, int open_mode = std::ios::in) {
        gzstreambase::open( name, open_mode);
    }
};

class ogzstream : public gzstreambase,
  public std::basic_ostream<char,
    std::char_traits<char> > {
public:
    ogzstream() : std::basic_ostream<char,
                  std::char_traits<char> >( &buf) {}
    ogzstream( const char* name, int mode = std::ios::out)
        : gzstreambase( name, mode),
          std::basic_ostream<char,
          std::char_traits<char> >(&buf) {}  
    gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); }
    void open( const char* name, int open_mode = std::ios::out) {
        gzstreambase::open( name, open_mode);
    }

which compiles using MS Visual C++. Now I can open an ogzstream stream and have my debugging XML output automatically compressed.

 
Posted by jservice at 10:38 AM
Some luck...

Print | Home

"Some luck lies in not getting what you thought you wanted but getting what you have, which once you got it you may be smart enough to see is what you would have wanted had you known."

Garrison Keillor

 
Posted by jservice at 08:41 AM
August 27, 2002
How to Impress...

Print | Home

man_woman_machine

How to impress a woman

Wine her,
Dine her,
Call her,
Hug her,
Hold her,
Surprise her,
Compliment her,
Smile at her,
Laugh with her,
Cry with her,
Cuddle with her,
Shop with her,
Give her jewelry,
Buy her flowers,
Hold her hand,
Write love letters to her,
Go the end of the earth and back again for her.

How to impress a man

Show up naked,
Bring beer.

Source: Funny Mail

 
Posted by jservice at 09:17 PM
August 25, 2002
A Newer Car and Back to Coding Again

Print | Home

Not a particularly eventful week, this past one. I was off sick from work for a day with a sore throat. My throat still isn't 100%; but, that's probably due to my anti-histamine not keeping up with the ragweed pollen in the air at this time of year.

My wife bought us a (newer) car: a 2001 Buick Century Custom with all the bells and whistles including a radio volume control on the steering wheel! The ride is comfortable and it sure is nice to have air conditioning once again. We still have the old Grand Caravan (325 Mm on the odometer) for hauling stuff and for my younger son to use as "his" vehicle. And my older son's Buick Skylark is still around. Three cars and one principal driver under 25 has sent insurance up to over $4,000/year. Sheesh! Anyway, I went to the bank and arranged to sign for a secured line of credit this week so I can take over the newer car's financing. Unfortunately those 0% deals are only available for new cars.

At work I have mostly finished one project where my involvement was to enter several hundred instruments and their wiring connections into a completely GUI driven database. Rather mindless stuff really. I used my creativity though by using Perl to generate scripts to produce instrument and junction box lists and to generate the prescribed wire numbers (over 3000 in total). This GUI database can produce reports but not of the instruments and their wiring simultaneously so, again, I made scripts to merge the reports and check that those 3000 plus wires go from an instrument to a junction box and that no instruments share a wire. Of course, I complained at the beginning of the project that I would have liked to use scripting to generate the SQL to automatically load the database but that option wasn't available. So, there was a lot of copying and pasting to do. Essentially all of the data has been entered and now the odd correction may be required as the project design changes.

My colleague and I have just started the design and C++ programming for our improved version of a Ontario Energy Market simulation program for our client OPG. This simulation tries to predict the IMO generation dispatch schedule and compare with what OPG predicted. One improvement we are implementing is to codify the Market Rules so that the rules may be read and processed from a CSV file. That way a change in the market rules won't require editing "if" statements and recompiling. This week I have been learning about and using C++ stream inserters, i.e., overloading the operator<< and writing user-defined stream manipulators (e.g. setw()). I have applied these techniques to my C++ classes so that I can dump in XML and verify these values for debugging purposes. Certainly, this is a lot more fun for me to be coding rather than copying and pasting stuff into a database GUI.

 
Posted by jservice at 10:40 AM
August 23, 2002
Horoscopes for Your Job Position

Print | Home

  1. Marketing: You are ambitious yet stupid. You chose a marketing degree to avoid having to study in college, concentrating instead on drinking and socializing which is pretty much what your job responsibilities are now. Least compatible with Sales.
  2. Sales: Laziest of all signs, often referred to as "marketing without a degree". You are also self centered and paranoid. Unless someone calls you and begs you to take their money, you like to avoid contact with customers so you can "concentrate on the big picture". You seek admiration for your golf game throughout your life.
  3. Technology: Unable to control anything in your personal life, you are instead content to completely control everything that happens at your workplace. Often even YOU don't understand what you are saying but who the heck can tell. It is written that Geeks shall inherit the Earth.
  4. Engineering: One of only two signs that actually studied in school. It is said that ninety percent of all Personal Ads are placed by engineers. You can be happy with yourself; your office is full of all the latest "ergo dynamic" gadgets. However, we all know what is really causing your "carpal tunnel syndrome".
  5. Accounting: The only other sign that studied in school. You are mostly immune from office politics. You are the most feared person in the organization; combined with your extreme organizational traits, the majority of rumors concerning you say that you are completely insane. Oh, and usually the first to be incarcerated.
  6. Human Resources: Ironically, given your access to confidential information, you tend to be the biggest gossip within the organization. Possibly the only other person that does less work than marketing, you are unable to return any calls today because you have to get a haircut, have lunch AND then mail a letter.
  7. Management/Middle Management: Catty, cut-throat, yet completely spineless, you are destined to remain at your current job for the rest of your life. Unable to make a single decision you tend to measure your worth by the number of meetings you can schedule for yourself. Best suited to marry other "Middle Managers" as everyone in you social circle is a "Middle Manager."
  8. Senior Management: See above - Same sign, different title.
  9. Customer Service: Bright, cheery, positive, you are a fifty cent cab ride from taking your own life. As children very few of you asked your parents for a little cubicle for your room and a headset so you could pretend to play "Customer Service." Continually passed over for promotions, your best bet is to sleep with your manager.
  10. Consultant: Lacking any specific knowledge, you use acronyms to avoid revealing your utter lack of experience. You have convinced yourself that your skills" are in demand and that you could get a higher paying job with any other organization in a heartbeat. You will spend an eternity contemplating these career opportunities without ever taking direct action.
  11. Recruiter, "Headhunter": As a "person" that profits from the success of others, you are disdained by most people who actually work for a living. Paid on commission and susceptible to alcoholism, your ulcers and frequent heart attacks correspond directly with fluctuations in the stock market.
  12. Partner, President, CEO: You are brilliant or lucky. Your inability to figure out complex systems such as the fax machine suggest the latter.

Source: Clean Laffs

 
Posted by jservice at 11:02 PM
August 22, 2002
Local Park being restored

Print | Home

Following up on this note I am happy to report that this week the landscape contractor has re-graded and spread topsoil on the damaged parts of the park. The damage occurred when a new sewer connection was buried from the school addition clear across the park to a nearby street. I hope the weather co-operates and is a little wetter and cooler than it has been this summer once the sod has been laid.

 
Posted by jservice at 09:36 PM
August 21, 2002
The Human Mind

Print | Home

"The human mind ordinarily operates at only ten percent of its capacity — the rest is overhead for the operating system."
 
Posted by jservice at 01:59 PM
August 20, 2002
Off Sick Today

Print | Home

A sore throat gave me a restless sleep last night. So I turned down the volume on my clock radio so it wouldn't wake me. I had some breakfast and then went back to bed and didn't wake up until 12:30 p.m. I guess I needed some rest. Now the throat is "scratchy" rather than being really sore. And I feel tired again so I will go to bed. The only activity today was to sort some more music for our choir and update the music database. I should be able to issue the spreadsheet real soon now.

Yawn, night all!

 
Posted by jservice at 10:15 PM
August 19, 2002
Home Repairs ... Take Longer Than You Think!

Print | Home

  1. Plan: Replace kitchen tap with nice Eurostream model my wife bought. Should take an hour or two Sunday afternoon since I already replaced the tap once before along with installing hot and cold water shutoffs.
  2. Take off old tap. Note to self — use plumber's putty not Si caulking as it takes so long to scrape off.
  3. Discover that counter underneath tap is crumbling. Not from this installation but the previous one I inherited when we moved into this house.
  4. Go to Rona and buy a two basin SS sink with back deck and three holes for tap. Also buy a swing out garbage can with lid at wife's request.
  5. Take out old sink.
  6. New sink fits in hole where previous one was — whew! Carefully make three holes for tap using brace and bit since countertop crumbling in parts there. Assemble strainers on new sink and slip in hole.
  7. Back to Rona again to buy parts for new drain pipe and P trap. The drain holes are at the back of these sink bowls not in the middle like the old one. Also bought those little caps that screw on the bleeders of the two shutoff valves as the washer inside them had decayed away.
  8. Assembled and glued up new ABS drain fittings. Found the chop saw does a great job on making square cuts on ABS pipe.
  9. Son orders Pizza — no time for Dad to BBQ tonight.
  10. Finally sink and drain in place so now back to iinstalling tap. Used plumber's putty around gasket (at suggestion of manals).
  11. I had bought new faucet to pipe flexible connectors but the new tap connections were long than the old and flexible pipe wasn't long enough. Decided to reuse old ones for now and buy long "no-burst" flexible faucet connections later (Rona closed now).
  12. Finally about 10:30p.m. turned on water and tap leaked badly at flexible hose connector. That is, this is one of those taps that pull out of the faucet and can switch to a sprayer. Frustrated and tired I shut off water and inform wife I will look again next evening.
  13. Next evening found that the quick connect collar on flexible hose was loose (not mentionned as a check in the instructions either!). Tightened the collar, slipped it on the connection. Voilà the tap is working and leak free.
  14. No rest for the weary though, tomorrow is garbage day so I'm off to collect that.
 
Posted by jservice at 10:28 PM
August 18, 2002
Summer Vacation 2002

Print | Home

Well, it has been quite a while since I posted my own images. I have scanned a few photos from my summer vacation this year. I must note that the heavy rainfall I allude to in the iimages occurred one night and part of the next morning; otherwise, the weather was mostly hot and sunny — with much less smog than in the GTA of course.

We took a walk along the concession road. Behind my wife is the beef cattle field and, way in the back, nestled in the trees is our country home for a couple of weeks.


I walked around the corn field one morning and took a picture of the country home from across the cattle field.


Our country home is next door to the beef cattle. Their salt lick is near the garage at the end of the driveway and shade trees are here so the cows and their bull come by the fence at least once per day.


While walking around the corn field I spied these cloven hoof prints. Must be deer in the neighbouring woods.


I don't know how high an elephant's eye is but this corn certainly tops 3 metres.


I rode the Kubota lawn and cut the lawns and around the fruit trees. The great thing about this puppy was the rocker accelerator pedal, i.e., forward and reverse with a centre stop. Plus it had switchable 4 wheel drive, separate suspension lawn mower attachment for cutting over hills and an amazingly tight turning radius.


Usually there's very little water visible at the low point in this field. However, a heavy rain of 7 or 8 cm in one day left a good size pond. In the distance, a flock of Canada geese is visiting.


So much rain fell one night that it seems that have the driveway ended up in the ditch.


There was lots of grass to cut. My wife use the small tractor to cut around close to the house


That large rainfall washed out part of the concession road clear down to the bottom of the culvert.


My cousin Brian is taking a picture of his daughter Katie and her sandcastle creation on the shores of Chandos Lake.


 
Posted by jservice at 12:12 PM
August 17, 2002
Real Life Answers to a Traffic Violation Exam

Print | Home

Q: Who has the right of way when four cars approach a four-way stop at the same time?
A: The pick up truck with the gun rack and the bumper sticker saying, "Guns don't kill people. I do."

Q: When driving through fog, what should you use?
A: Your car.

Q: How can you reduce the possibility of having an accident?
A: Be too drunk to find your keys.

Q: What changes would occur in your lifestyle if you could no longer drive lawfully?
A: I would be forced to drive unlawfully.

Q: What is the difference between a flashing red traffic light and a flashing yellow traffic light?
A: The color.

Q: What are some points to remember when passing or being passed?
A: Make eye contact and wave "hello" if he/she is cute.

Q: What problems would you face if you were arrested for drunk driving?
A: I'd probably lose my buzz a lot faster.

Q: How do you deal with heavy traffic?
A: Heavy psychedelics.

Q: What can you do to help ease a heavy traffic problem?
A: Carry loaded weapons.

Q: Do you yield when a blind pedestrian is crossing the road?
A: What for? He can't see my license plate.

 
Posted by jservice at 11:13 PM
August 16, 2002
Business Development

Print | Home

When the office printer's type began to grow faint, the office manager called a local repair shop where a friendly man informed him that the printer probably needed only to be cleaned. Because the store charged $50 for such cleanings, he said, the manager might try reading the printer's manual and doing the job himself.

Pleasantly surprised by his candor, the office manager asked, "Does your boss know that you discourage business?"

"Actually it's my boss's idea," the employee replied. "We usually make more money on repairs if we let people try to fix things themselves first."

Source: Clean Laffs

 
Posted by jservice at 09:16 AM
August 15, 2002
Considering a Unicyle

Print | Home

I read the column Commuting by Bicycle: Good or Bad? and the comment Cycling without a Bicycle and wondered if this is something I could learn in my mid-40s. I walk, jog, run, and inline skate the same route each work day from home to the train station and I've been doing so for the last dozen years or so. Would a unicycle help put some variety into this routine? Obviously I would have to buy one and learn how to use it — probably the two greatest barriers. Though I do enjoy inline skating I can only do it in dry weather and there's the time involved in taking the boots off and putting on my shoes and vice versa. I usually carry them from the train station to work because the time taken to put on the inline skates, go to work, and take them off again is about the same as it is to just walk there. Perhaps I'll find a used unicycle somewhere that I can try before I lay out the money for a machine I could commute with. You may note that I didn't mention bicycling. I can't take it on the train in rush hour and the train station is completely unattended all day. I had biked for awhile until the bike was stolen. I could take a unicycle with me on the train. Of course, if I learn to ride the unicycle and, perhaps, juggling then I could always run away and join the circus when I retire.

 
Posted by jservice at 09:28 PM
August 14, 2002
The Brain

Print | Home

"The brain is a wonderful organ. It starts working the moment you get up in the morning and does not stop until you get into the office."

Robert Frost

 
Posted by jservice at 09:22 PM
August 13, 2002
The Golf Bet

Print | Home

A fellow is getting ready to tee-off on the first hole when a second fellow approaches and asks if he can join him. The first says that he usually plays alone but agrees to let the second guy join him. Both are even after the first couple of holes.

The second guy says "Say, we're about evenly matched, what do you think about we play for a $5 a hole?"

The first fellow says that he usually plays alone and doesn't like to bet but agrees to the terms.

Well, the second guy wins the rest of the holes and as they're walking off of the eighteenth hole, and while counting his $80, he confesses that he's the pro at a neighboring course and likes to pick on suckers.

The first fellow reveals that he's the parish priest at the local Catholic Church. The second fellow gets all flustered and apologetic and offers to give the priest back his money.

The priest says, "No, no. You won fair and square and I was foolish to bet with you. You keep your winnings."

The pro says, "Well, is there anything I can do to make it up to you?"

The priest says, "Well, you could come to Mass on Sunday and make a donation. And if you'll bring your mother and father by after Mass, I'll marry them for you."

Source: Randy Cassingham, author of THIS is TRUE and Publisher of HeroicStories. To subscribe to this list, e-mail RandysRandom-subscribe@topica.com

 
Posted by jservice at 09:35 PM
August 12, 2002
Joke in the Forest

Print | Home

"If you tell a joke in the forest, but nobody laughs, was it a joke?"

Rod Schmidt

 
Posted by jservice at 03:20 PM
August 11, 2002
Having that dream again...

Print | Home

A guy walks into a psychiatrist's office with a concerned look on his face.

"Doc," he says, "I'm worried. It's that dream. I'm having it again!"

"What dream?" asked the psychiatrist.

"You know," says the man, "the one where I'm into sadism and bestiality and necrophilia. Should I be worried or am I just beating a dead horse?"

Source: Joke A Day

 
Posted by jservice at 12:13 PM
August 10, 2002
A Country Home Vacation

Print | Home

We "house sat" a "circa 1860" country home for friends who, for the sake of a name, I will call the Smiths. The Smiths own 100 acres on a property in Oxford County between Kitchener and Woodstock Ontario. The house itself is on 6 acres in a relatively narrow strip in the middle. The Smiths lease the south-east field to a beef cattle farmer for grazing and the west and north fields for crops. This year it's corn. It's a lovely quiet setting with cattle grazing in the distance and corn as high "as an elephant's eye" or at least 3 metres in some places.

Most mornings I would go for a run on the concession roads where I might encounter one or two vehicles and one person or dog during the hour of exercise. Save for a few days it was hot (+30°C) and even in the morning, the pesky deer flies were about in the wooded areas. I brought my bicyle the second week to outrun the flies but found a regular 10-speed rather troublesome on the gravel roads. In some places, fresh gravel had been laid and graded because the heavy rains during the first week had washed out parts of these roads. After my morning exercise, I would sit on the deck with my wife drinking coffee and chatting while gazing at the birds and cows. The cool shade from the maple tree would last for most of the morning.

In the afternoon I would "work". There were dead and fallen trees to cut, many trees to prune, cedar fence logs to pile and grass to cut. Speaking of grass, there was probably a couple of acres to do. I used a diesel-powered Kubota riding lawn mower and my wife used a smaller gas riding lawn mower. It took us both several hours to complete the task and it required cutting twice. Once just after we arrived and once before we left. A storm the first week dumped 7 or 8 cm of rain providing great grass growing conditions. My favourite job, though, was the pruning — cutting and shaping, nay sculpting, a tree so that grass may grow under it and that grass can be cut without bonking one's head.

As the Stratford Festival was only about a 40 min. drive from where we were staying, we took in the musical The Threepenny Opera at the Avon Theatre in "downtown" Stratford. Our project team at work had been awarded a prize for 1Q2002 performance which included $100 towards theatre or dinner tickets for two. So we were able to afford tickets close to the stage for this fine matinée performance. Wouldn't you know it, we met a retired secretary from work and a fellow Bell'Arte Singer while walking the town. The BAS person had sang with us last year when the Singers toured northern Italy.

Interesting events at the Smiths country home included a little brown bat. My wife heard it one night but just ducked under the covers and didn't wake me up. The second night it flew up the stairs just as my wife was turning out the hall light. (She screamed!) I made several attempts to isolate the bat and try and catch it in a sheet. However it managed to sneak under the door and escape. With so many rooms and a lot of furniture to hide behind or under I couldn't find it that night. On the third night the bat suddenly appeared in the "music room" around 9:30 p.m. (This time my wife just covered her head with a book.) This time I tried to isolate it in one room and we put bed sheets under the doors. Eventually I herded the poor bat into the kitchen, opened the door and, after several flights around the kitchen the bat flew the door. Ah! such is country life with wild creatures outside and in!

We entertained guests: my son and his girlfriend, who were actually coming to swap our van for his car so that they could move furniture from their old to their new apartment. And my aunt and uncle who have now moved from Cambridge to Port Hope. We invited them to take a break from packing and have some supper with us. After all, this county home is only a 20 minute drive away from Cambridge. (Except for Civic Holiday Monday when an accident on the 401 diverted traffic onto the two-lane country highway. It was going the other direction but you have to drive more slowly because you never know when some jerk might try and pass.)

What country holiday, just the two of us, would be complete without going up to the bedroom in mid-afternoon on occasion to, ah, enjoy each other's company. Sometimes life can't get any better than this!

 
Posted by jservice at 05:03 PM
August 08, 2002
The Poor

Print | Home

"When shit becomes valuable, the poor will be born without assholes."

Henry Miller

Well, I'm back from a "farm" vacation. I enjoyed not using the computer: drinking coffee in the morning, chatting with my wife, jogging the country roads, swatting flies, doing some physical labour for a change and, of course, riding the tractor cutting several acres of lawn.

 
Posted by jservice at 08:00 PM