July 30, 2004
Added Email::Valid test in comments

Print | Home

I discovered Email::Valid a while ago and now I have finally added it as another defence against comment spammers. Basically Email::Valid checks if the domain part of the email address has an MX record, i.e., that the domain accepts email. When I get back from vacation I’ll have to look into migrating my blog to MySQL and then close all comments except for my most recent postings.

Of course this isn’t a panacea but most of the comment spam I have received recently, especially when I get a couple of hundred in a short time period, have randomly generated domains.

I inserted the following code in Jay Allen’s MTBlackList script file MTBlPost because it overrides MT::App::Comments::post. (N.B. One long string has been split with \.)

    if ($email) {
        require MT::Util;
        if (my $fixed = MT::Util::is_valid_email($email)) {
            $email = $fixed;
        } else {
            return $app->handle_error($app->translate(
                "Invalid email address '[_1]'", $email));
        }
# inserted code starts
        require Email::Valid ;
        unless (Email::Valid->address(-address => $email,
                                      -mxcheck => 1)) {
	    $app->log('Comment denial on '.$blog->name.
              ": email $email has no MX record.") ;
            return $app->handle_error($app->
              translate("Email address '[_1]' is invalid: either the \
address is malformed or the given domain does not receive email.", 
              $email)) ;
        }
# inserted code ends
    }
 
Posted by jservice at 09:28 AM
July 29, 2004
Vacation at home

Print | Home

Being on vacation at home this week I seem to have two extra hours each day since I don’t have my regular commute. I still get up early though to de-water and feed my son’s dog.

Next week I’ll be off canoeing and camping in the Restoule area on the annual so-called “Ironman” outing. More R&R than iron I’d say. But who couldn’t use lots of R&R these days?

 
Posted by jservice at 10:14 PM
July 27, 2004
New sod?

Print | Home

Now that I walk the dog around the neighbourhood several times a day I get a good look at people’s front yards. I’d like to make a comment to that person who re-sodded their front lawn: you wasted your money. It will only look good for a year or two since you didn’t take down the large maple tree shading the grass and get rid of its roots. Next time, try shade loving/tolerant plants like violets, periwinkle, hostas, ferns, daylilies, lily-of-the-valley or astilbe for starters.

 
Posted by jservice at 09:27 PM
July 26, 2004
That will be $39.50 please

Print | Home

The lady in front of me at the library had that “jaw dropped” look this evening. Who would have thought that videos and DVDs carry a $2.00/day fine! She didn’t.

 
Posted by jservice at 09:52 PM
July 25, 2004
Dog habits

Print | Home

Now that we’ve had my son’s dog, Cricket, for a couple days I can make some observations:

  • She only barks at perceived trespassers or when she’s playing.
  • Generally she only barks at men — not women, children nor other dogs.
  • When she comes up to you and just looks at you that means she needs to go out and do her business. We learned this after she peed on the rug.
  • She’s been trained to “do her business” on command. This is rarely immediate as she sniffs around the backyard for a few minutes before finding the optimal spot for peeing or pooping. Or, if we are walking, this can take up to several hundred metres before she’s ready.
  • The expression “from pillar to post” is all about walking a dog. You can expand this expression “from large rock, to bushes, to garbage can, to tree trunk, etc.
  • You don’t actually ”walk“ a dog at this age (year and a half). You jog briskly and then stop. See previous point.
  • The only reason she dug holes in the back lawn is because she would find rocks under the deck. She would try to chew on a rock; however, when she dropped a flat one she couldn’t pick it up with her paws or mouth so she would dig at it.
  • She’ll follow you everywhere if you are doing something. If my wife is in one room and I’m in another doing a stationary activity she’ll lie on the floor; midway between us.
 
Posted by jservice at 10:14 PM
July 24, 2004
Cool day, ran faster, visitors

Print | Home

I bettered my usual run of between 11 and 12 km (note to self: get that bicycle odometer soon) by about 2 min — perhaps because the air was breezy and about 22°C.

Today’s supper guests were my youngest brother and sister-in-law and their two children, Sarah and Alexander. Sarah the two+(?) year-old was scared of the dog because of a previous encounter with a Jack Russell terrier but Alexander, almost one, ignored her. Their family got a car just recently so it was nice to have them visit us for a change.

 
Posted by jservice at 10:14 PM
July 23, 2004
Cricket is staying with us

Print | Home

cricket-and-toy.png

While my son and girlfriend enjoy a week away at a luxo-cottage near Wasaga we are looking after their golden retriever. At a year-and-a-half she’s still a puppy. She doesn’t jump all over you as much to greet you as she used to though. There’s some maturing going on.

 
Posted by jservice at 10:18 PM
July 22, 2004
A cousin has a "minor" spinal injury

Print | Home

I received this email today. My cousin, a wonderful woman, is about half a year younger than me. I have had my share of slipping and tumbling down steps but never with consequences as serious as this. I wish her a speedy recovery. I’ll take her advice and be careful.

“I was looking forward to continuing my running training at the cottage. But on July 12th my plans changed after I took a tumble down some stairs (more a ladder than stairs really…). At first I couldn’t move my legs and was terrified. Feeling came back to my legs, however back pain remained.

“I went to Bancroft Hospital by ambulance; the x-rays were inconclusive. Then I was transported by ambulance to Belleville Hospital; the CT scan showed a middle column injury involving the inferior quadrant of the T12 vertebra (fractured vertebra at my bellybutton level). Fortunately the fracture was stable and did not encroach on the spinal canal :). Treatment required that I stay horizontal until the swelling went down. Then a tilt table was used to bring me to vertical without bending or twisting my spine. Once I could stand on my own two feet, I was casted.

“I am home now, sporting a body cast from armpits to hips. I can sit, walk, and use the toilet independently! I will see a neurosurgeon soon to determine what’s next, probably 6 weeks in the cast or a brace, followed by physiotherapy. Hopefully I’ll be ready to go back to school [to teach] in September. I’ll keep you posted.

“I hope you’re enjoying your summer. Please Be Careful.”

 
Posted by jservice at 09:56 PM
July 21, 2004
"No Stopping Anytime"

Print | Home

no-stopping.png

This week I’m driving to work and dropping my wife off at the subway. She’s taking a course downtown and picks up the car from my work in the early afternoon. Usually I’m pretty mild mannered; however, I had to honk several times at this bozo who appeared to be letting off his SO just so she could pick up a newspaper at one of the boxes in a “No Stopping Anytime” zone. After a couple of more honks he drove down the street, barely wide enough for two buses, and turned around in a driveway on the other side. To quote:

In a “No Stopping Anytime” zone, vehicles are not allowed to stop for any reason. This includes letting passengers out, picking a friend up from work, running to the bank machine, buying a cup of coffee or picking up dry cleaning.*
 
Posted by jservice at 09:48 PM
July 20, 2004
Googlebar extension

Print | Home

I have tried several of the extensions for the Mozilla and Firefox browsers. The most useful IMHO are the Googlebar, the adblocker and the clock in the status bar. I occasionally use the web developer tool bar, too.

 
Posted by jservice at 10:43 PM
July 19, 2004
Poolside, helping your spouse

Print | Home

ingroundpool.jpg

This weekend was spent at my aunt and uncle’s place, mostly next to their pool. The Service family quartet sang a couple of hymns and a set of four spiritual variations, arranged by my wife, at my uncle’s outdoor church service on Sunday morning. Fortunately, the rain held off until about 15 minutes after post-service coffee time. And the rain didn’t last. By about 2:30 pm when I was running on the country roads north of Port Hope, the sun was shining and it was hot. I was ready for a swim at the end of that exercise.

I was talking to the “new guy” at work. He has bought a new house in Milton but, until it is built by 2006, he will be commuting from Shelburne. He was telling me his fiancé is a veterinarian. When she’s on emergency call and the assistant isn’t available he has go out with her. Of course, these calls usually involve a pet being struck by a car or swallowing something. Makes me glad my wife is a private school music teacher: I might get asked to help decorate, put up scenery for a concert or repair an instrument.

 
Posted by jservice at 09:55 PM
July 16, 2004
Force sendmail to send on a specific interface

Print | Home

I have had a sendmail server running on my FreeBSD gateway/router box and connected through a cable modem to the Internet for several years. I maintain a list alias for our choir so that they need only send to one email address rather trying than to keep track of about 50 members who come and go and change email addresses. In the last year or so serveral members' email servers started to reject email from cable Internet addresses so I had to forward messages by hand. This kind of defeats the purpose as I had set this up to be completely automatic.

Just recently my son through his buddy got an additional subnet of static IP addresses for work. I let him use my gateway box as a test bed for IP in IP tunneling, the so-called gif interface in FreeBSD. Effectively I now have a third interface and Internet connection from my box with a static IP on my son’s subnet. Today I completed the last part of the goal by forcing sendmail to use this pseudo-interface. This was actually easy to do. The hard part was finding the arcane options in sendmail to do this. Anyway I added the following line to my hostname.mc file:

CLIENT_OPTIONS(`Port=smtp, Addr=10.1.2.3')

Of course the 10.1.2.3 is phony. I obtained a “free with ads” email address at mail.com as this was one mail server which was rejecting the choir emails. (Aside: mail.com’s 10MB offering looks pretty, pretty small compared to Yahoo!'s 100 and Google’s 1000.) Before I added the CLIENT_OPTIONS line I sent an email via the box and it was rejected by mail.com. After I put the change in and did a make cf install restart I sent another email. Success! Now the email doesn’t appear to come from a cable Internet address anymore. I think the next step will be to install something like GNU Mailman or Majordomo so that the choir can maintain their own email addresses and look in the archives for that rehearsal schedule they forgot to print.

 
Posted by jservice at 10:05 PM
July 15, 2004
What if?

Print | Home

What if the Hokey Pokey is what it’s all about?
 
Posted by jservice at 09:56 PM
Excess kilogramage

Print | Home

standard mass

I have put on maybe two kilos over the past couple of weeks — probably due to too much beer and food at my sister-in-law’s family party a couple of weekends ago. I didn’t realize how finely balanced my current eating habits and exercise were until I over-indulged. That excess doesn’t come off easy. And to think I have another family party coming up this weekend and at least two more in August.

 
Posted by jservice at 09:40 PM
July 14, 2004
Internal network DNS'd

Print | Home

I finally got around to zoning out my modest internal network of two internal machines and an interface on the gateway/router. I chose 4146trapper.ca as the most appropriate domain for the purpose. The Windoze box I’m on right now has the oh-so-glamourous hostname of dhcp254.4146trapper.ca.

 
Posted by jservice at 10:35 PM
July 13, 2004
This bill shows reduced electrical energy usage

Print | Home

This month’s electricity bill says we used an average of 22 kwh/day as opposed to 36 kwh/day in July '02. I attribute this to a) not as many hot days and therefore less A/C usage and b) avoiding using our dryer by air drying our towels and most of our clothes. The other bonus is that we stayed below the 750 kwh/month threshold so that we only paid the 4.7¢/kwh charge.

 
Posted by jservice at 09:47 PM
July 12, 2004
Question

Print | Home

Why do I ask myself rhetorical questions?
 
Posted by jservice at 10:03 PM
July 11, 2004
Clothesline on deck

Print | Home

umbrella clothesline image

Today’s project was to install an umbrella clothesline on the deck. The set came with a plastic sleeve with lid which is usually set in concrete in the ground. Instead I used my jig saw to cut a hole in the deck and attached the sleeve to the joist underneath. When the clotheline is removed and the lid is closed the assembly is flush with the deck.

The only difficult part was installing the brackets under the deck, only because I had to work on my back. I spread a blue, poly tarp on the ground and crawled underneath. There was just enough clearance for me to roll over if I made sure my hips were between joists. Transparent bins were handy for the nails, bolts, sockets, brackets, etc. I only had two other problems: the result of crawling under getting in position and then realizing I had forgotten something. It would have been great to have a kid around to ask to plug in the extension cord or bring me the bracket I’d left on top of the deck. I had to make at least two trips underneath because the first one involved attaching the brackets around the sleeva and C-clamping them to the joists. Then I had to go on deck, so to speak, to put in part of the clothesline pole and use a level to vertically align the sleeve in two directions.

There was a benefit being under the deck when the afternoon sun started to shine it on it — it was shady and definitely cooler.

Today’s exercise was a bicycle ride to the Square One to visit SportChek and get a brake pad for my Rollerblades. Eventually I was directed to the service desk at the back. The guy asked me how old my rollerblades were. I told him it didn’t matter — you are selling a model with the same brake design in your store right now. How short a lifespan do these things have anyway? Will I eventually have to buy chunks of rubber and carve my own?

 
Posted by jservice at 09:14 PM
July 09, 2004
Building FreeBSD Firefox port, new cable modem, another ceiling fan

Print | Home

Via a long circuitous route I have built the firefox port on my work FreeBSD machine. This machine has been gradually updated over about three years. I use cvsup to keep the src and ports trees synchronized, and, every once in a while, I do a make world upgrade. So, there’s a lot of cruft in the ports stuff I have built over the years.

I decided to build firefox; however, this port has a rather large set of dependencies: XFree86-fontEncodings-4.3.0 XFree86-fontScalable-4.3.0 XFree86-libraries-4.3.0_7 atk-1.6.0 expat-1.95.7 fontconfig-2.2.3,1 freetype2-2.1.7_3 gettext-0.13.1_1 glib-2.4.2 gmake-3.80_2 gtk-2.4.3_1 hicolor-icon-theme-0.5 imake-4.3.0_2 intltool-0.31 jpeg-6b_3 lcms-1.13,1 libIDL-0.8.3_2 libXft-2.1.6 libiconv-1.9.1_3 libmng-1.0.7 libxml2-2.6.9 nspr-4.4.1_1 p5-XML-Parser-2.34_1 pango-1.4.0_1 perl-5.6.1_15 pkgconfig-0.15.0_1 png-1.2.5_5 python-2.1.3_5 shared-mime-info-0.14_3 tiff-3.6.1_1 zip-2.3_1|XFree86-fontEncodings-4.3.0 XFree86-fontScalable-4.3.0 XFree86-libraries-4.3.0_7 atk-1.6.0 expat-1.95.7 fontconfig-2.2.3,1 freetype2-2.1.7_3 gettext-0.13.1_1 glib-2.4.2 gtk-2.4.3_1 hicolor-icon-theme-0.5 imake-4.3.0_2 jpeg-6b_3 lcms-1.13,1 libIDL-0.8.3_2 libXft-2.1.6 libiconv-1.9.1_3 libmng-1.0.7 libxml2-2.6.9 nspr-4.4.1_1 pango-1.4.0_1 perl-5.6.1_15 pkgconfig-0.15.0_1 png-1.2.5_5 python-2.1.3_5 shared-mime-info-0.14_3 tiff-3.6.1_1

I built XFree86 v4 separately because xdm didn’t work when I upgraded some other X11 stuff separately.

I solved a shared-mime-info-0.14_3 port build failure by adding symlinks from giconv.h and libgiconv.* to their iconv equivalents.

The firefox build itself failed until I found and fixed a symlink. The symlink /usr/X11R6/include/gdx-pixbuf was pointing to /usr/X11R6/include/gdk-pixbuf-1.0/gdk-pixbuf instead of /usr/X11R6/include/gtk-2.0/gdk-pixbuf.

Rogers asked its customers to exchange their cable modems as the old ones will no longer function after the end of July. Once I swapped the cable modem I couldn’t get an IP address. Unlike the old modem this one enforces the number of IP addresses you are paying for. I thought I had been paying for two — apparently not. My son the on-line gamer doesn’t like going through my firewall. My server/gateway/router IP changed but now I only use it as an SMTP server. This blog is served from my son’s box at work.

I installed another ceiling fan today. This time in the computer room/study. Like the first installation, I had to mount the junction box to a horizontal joist. I used machine screws with hex heads so I could drive them into the stud at right angles with my socket wrench. This worked much better than using slanted screws. I also installed the “safety” hook first and then threaded the “safety” cable of the ceiling fan through the junction box and vapour barrier and hung it on that hook. In first installation, in my son’s bedroom, I put in the “safety” hook then I attached the junction box. I probably wasted an hour trying to “lasso” the hook with the “safety” cable via the hole in the top of the junction box.

 
Posted by jservice at 02:38 PM
July 07, 2004
Two colleagues off work

Print | Home

electric scooter

Daniel, in his car, was cruising slowly on the road alongside Ethan, his 8 year-old son, riding on an electric scooter on the sidewalk. At a cross street, a guy in an SUV was anxious to get around Daniel and creamed his son on the scooter. Now Ethan is at Sick Kids' in a drug-induced coma with broken bones, surface abrasions and cranial swelling. Daniel and his estranged wife are staying at the hospital 24-7, taking turns being in Ethan’s room.

Bob, along with his brother, was going to be constructing a deck for their mother on the Canada Day long weekend. He was feverish, had indigestion and just felt “sluggish” for the next couple of days. Telehealth advised visiting the emergency room of the local hospital to check out possible virus or heart problems. The hospital said it was probably a virus until the heart enzyme results showed a high level. Now Bob is getting some reading done while he is “under observation” at the hospital and awaits an angiogram appointment.

My thoughts are with these two guys from my “work family” at this time.

 
Posted by jservice at 10:10 PM
July 06, 2004
Web Wiz installed, lots of omment spam rejected

Print | Home

I installed WebWiz Forums software on our Intranet a while ago. Today I had a bit of time to set up a SQL server database and configure WebWiz to use it. Just possibly, I might be able to use the upload file features to permit a bit of data exchange between our company and some selected clients: test reports, chemical analyses and the like.

1351(!) comment spam items were automatically rejected overnight. I have received (useful) comments on two-year-old blog entries so I’m reluctant to close them.

 
Posted by jservice at 09:22 PM
July 05, 2004
Niece graduates

Print | Home

picture of Rosemarie, Alexis and Tom

My niece clear over on the Pacific coast in Victoria graduated from high school. Here’s my sister-in-law, Rosemarie, Alexis, and my brother Tom.

 
Posted by jservice at 10:01 PM
July 04, 2004
Who ordered free newspaper delivery?

Print | Home

newspaper icon

I have been getting morning delivery of the Toronto Star for the last few weeks. I’m not sure why because there’s been no “compliments of” notice nor has the company pestered us with “didja like it, huh, huh!?” I usually only have time to read the front pages of a few sections and the comics on my morning train trip. During the weekdays I leave it in the mens' washroom for others. Better to leave it for the dumpers rather than in the dumpster I’d say.

 
Posted by jservice at 12:08 PM
July 03, 2004
On Insults

Print | Home

The only gracious way to accept an insult is to ignore it; if you can’t ignore it, top it; if you can’t top it, laugh at it; if you can’t laugh at it, it’s probably deserved.

Russell Lynes

 
Posted by jservice at 12:31 PM
July 02, 2004
Holiday shopping

Print | Home

Hogweed or cow parsnip image

I took today off and did some shopping type errands. These included bottling a batch of Pinot Noir, purchasing a ceiling fan for the computer room and buying an umbrella type clothesline. Over the coffee this morning my wife and I discussed having a clothesline. My wife suggested we could have an umbrella type one on our deck rather than planting poles in our smallish yard. I bought some stuff so I can drill a hole in a deck board and mount the clothesline holder (normally buried in the ground) to a joist. I’m hoping a couple of galvanized “pole” brackets and perhaps a U-bolt or two will make the assembly rigid enough to support towels flapping in the breeze. The only wrinkle to this fine plan is having to work on the assembly while lying on my back underneath the deck. At least it will be shady.

Today’s blog entry is brought to you by the cow parsnip, a large relative of the carrot. I have seen several of these plants in the Credit River valley as I run by. Apparently, though the plant is edible, its sap is photo-toxic in that exposing the sap on your skin to sunlight will give you blisters.

 
Posted by jservice at 11:00 PM
July 01, 2004
Naming a building at UTM

Print | Home

Canada's flag

I donned the inline skates and went for a spin aroung the neighbourhood — much less traffic on a holiday. Part of my route included the U of T at Mississauga campus. Going past the North building I wondered if it was named after its location or someone named North. That got me thinking that if I gave a few millions (yeah, that’ll happen smiley) they would call it the the Service Building which might be confusing if you were looking for the service building. So maybe they should call it the Jim Building instead.

 
Posted by jservice at 10:01 PM