Should my automatic software systems at work run OK then I should be away from work for all of August. Next week it’s canoeing in Algonquin Park. In two weeks it will be to a rental cabin on the Bruce Peninsula. The rest of the time it will be doing this and that around the house and garden.
The third window vendor came a couple of days ago, a small reno company representing a BIG (we’re a Fortune 500 company didn’t you know) company, the former marketing division of a natural gas utility. Though his estimate was nearly the same as company B but without the inside finishing included. He was a poor salesman IMHO.
Literally! We have had two vendors in to give us estimates, a third tomorrow. Looks like it’s going to cost us 7 to 9 grand if we decide to get the L/R bay, kitchen and three family room windows replaced.
While threading between the cars to get to the station the other day I noticed that someone had inserted a flyer about the same size and colour as a traffic ticket on every car in the lot. Lots more were on the ground or blowin' in the wind. I think this “dead tree” spam is worse than the electronic variety.
Just a bit cooler today so I dug a 30“ by 4' by 6” trench, threw in the leftover limestone screenings and put the concrete patio slabs back on top. Now there’s a level place to build a couple of steps to the deck. For now I’ll just leave the precast concrete step there until my vacation time next month. Once again I have a half cubic yard of clay lumps and rock to get rid of in the garbage: 3 small bags at a time.
I wrote a trigger function today to “audit” a table of readings I’ll call
mydata which has new records automatically INSERTed by a
script. Occasionally there are “funny” entries which I have to manually fix up
using pgAdmin III's grid widget. However, I wanted some way of keeping
track of the old changes in a log table. So, I wrote this trigger function to generate an update query which would change the modified record back to the old one. The trigger fires on updates to the mydata table each time I edit a row.
CREATE OR REPLACE FUNCTION mydata_update()
RETURNS "trigger" AS
$BODY$BEGIN
-- Add an entry to mydata_log about the old data.
insert into mydata_log (date,channel,outer_channel,rdg_date,rdg_hour,comment)
values (OLD.reading_stamp,OLD.channel,OLD.outer_channel,OLD.rdg_date,OLD.rdg_hour,
-- Generate an SQL list values of not already in other fields of the log table
'UPDATE mydata SET '
|| 'reading = ' || OLD.reading
|| ',' || 'reading_diff = ' || OLD.reading_diff
|| ',' || 'reading_valid = ' || CASE WHEN OLD.rdg_valid THEN '''t''' ELSE '''f''' END
|| ',' || 'perl_time = ' || OLD.perl_time
-- quote the timestamp
|| ',' || 'modified = ' || '''' || OLD.modified || ''''
|| 'WHERE ' || 'id = ' || OLD.id
) ;
-- Set modified field to now.
NEW.modified := CURRENT_TIMESTAMP ;
-- Continue with the update
RETURN NEW ;
END ;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
We are kind of sheepish at times because our dog has decided to stop and stare at you while you pull weeds or clean your golf clubs. Or the dog is busy sniffing, pooping or peeing so we say hi to passersby to cover our pooch’s activities. Or its the usual, “My dog doesn’t normally do this…”
We celebrated my Mom’s 75th birthday about a month after the actual event at her request. My brother Robert is back from Thailand with his family for the summer break and my niece is visiting from Victoria. Though I took lots of pictures I present just the “family portrait” ones for now. I hope to get the others up soon.
I had to display a matrix of data, about 100 channels vs several days of sampled hours where some channels have good data, some have partial data and others don’t have any data. These data items are hourly residential meter readings and it is important for the hardware guys to spot which meters are sending data and which aren’t. As I was parsing and finding this data with Perl, I realized I could use the Spreadsheet::WriteExcel module to format it. That way I could colour code the different categories of meter readings and hide rows of extra data or noise found in the original “transmission.” It is obvious from the red lines on the image that there are some problem channels.
I haven’t given up! However, the evenings are full and I seem to work through lunch: who wants to go for a walk in industrial Etobicoke when it’s 35°C?
I sat in on my first Bell’Arte Singers board meeting on Monday, this being, also, my first in my role as “choir manager” and recording secretary. Like all meetings, it did go on a bit; however, there were some good ideas and excellent suggestions. Basically the choir is broke at the moment so the emphasis is on raising some funds by increasing choir member donations, expected ticket sales and beating the bushes for more grant money.
Yesterday evening, while walking the dog, I met a high-school buddy (we graduated some 32 years ago). Turns out he’s just moved into our area a month or so ago. Welcome to Olde Burnhamthorpe or the Folkway-Sawmill Valley area of Mississauga, Mike! It has kind of grown on us after living here for 17 years and, before that, another 6 years just a kilometer to the west.
And speaking of walking the dog, Finnegan still likes to run even though it was 32°C when we left at 8:30 pm. I’m using one T-shirt per dog-walk these past few evenings.
When I’m walking our dog the women, especially the young pretty ones, smile at our cute puppy. Perhaps the young men do too, but I never seem to notice. I wonder if the opposite effect happens to my wife?
I’ve been very busy at work fixing up a website to show 50 homes worth of hourly electricity meter readings. Last night I had to go and visit my brother-in-law to fix and “take a look at” more problems. He thought his washing machine wasn’t working. Because he’s deaf he can only go by what the timer dial says and by feeling the machine. I think he may have been opening the lid which triggers the “kill” switch. Question: why don’t they put an LED or two in the front panel which light up when the machine is “busy?” Obviously we hearing people can tell when the machine is busy; however, an operating light or two would let the deaf know at a glance, too.
My shadow, walking companion, and friend who gives me a real lickin', our Finnegan is back from being neutered. He was gone for a couple of days. Except for the shaved nether part and a bit of one leg for the IV you’d never know he’d had surgery. He’s just as lively as he ever was and glad to be home. I thought the vet would just cut off his nuts but I was told they remove the testicles and stitch up the scrotum. The latter gradually shrinks into is abdomen. But perhaps this is TMI.
We have to keep the dog “not too active” for a week! Maybe we can at least accomplish this over the weekend.
It looks like Rogers is blocking outgoing SMTP (port 25) traffic.
There goes my nice little FreeBSD server I used to help my fellow choir members send out messages to each other. I was the only one who had to maintain a list of 50 or so members and all the rest could send to everyone using just one email address.
Who knew? Either chemists have a sense of humour or someone missed the naming of this type of alcohol molecule derived the sugar fucose. Or what about that abbreviation for the fucose kinase enzyme spotted in a paper translated into Engrish: fuc-K!
According to this CBC news article, those old wives were wrong: You can swim after a typical meal. However, the article cautions, that intoxication seems to be involved in a quite a few drownings. Sober up before taking a dip.

Happy Canada Day!
Copyright © 2002-2006 James (Jim) R. R. Service (@gmail.com - jservice)