Thursday, December 24, 2015

Sights and Sounds of Christmas

I’m up at dawn on Christmas Eve—
Last minute chores before the day.
Retrieve the gifts from hiding
And gather up the wrapping.

Pick out the perfect bow to match
Draw out the ribbon: scrape and tug to make it curl.
Extend the tape and cut it short against the teeth
All done at last! This year was fast!

Just one last check: is there enough
For breakfast meal on Christmas morn?
A quick trip to buy some more croissants
New bagels too: a crisis passed.

Start browning onions in the pan
Sweet Maillard action caused by heat
Add fresh ground beef and chicken stock
And crispy, crunchy celery.

At last the turkey’s in the oven!
Its delicious scent of rendering fat
Lies thick and permeates the air.
A few hours on: pop in the ’taters
Prepared with salt and wrapped in foil.
With melted butter: a tasty treat.

Open the door and check the temp
When nearly done, turn up the heat
To brown and crisp the turkey’s skin
Such intoxicating odour: double helping please!

Lift out the bird, drain excess oil
Prepare the roux and flour for gravy
Plus add a little touch of dairy:
Milk and grated cheese.
Unusual but oh so good!

Take out the fancy dinnerware
The china clatters; utensils clink.
Do we need spoons—is there soup?
Swans or hats? Hats it is!
(I don’t know how to fold swans anyway.)

The dinner procession can commence:
Cranberry sauce and scrumptious stuffing
Roast potatoes, garden salad
Our gravy sleigh used once a year
Welcome to our feast!

Christmas Eve in church is festive
With banners hung of all disciples
And manger scene across the rear.
The candelabras glow with light:
Their wax is dripping with the breeze.
O Holy Night resounding through
The wooden rafters high above.

The lights are shut for Silent Night
Hear hiss of flame as taper fire
Is passed along and down the pews.
The gentle notes, serene and pure
Bring thoughts of peace on earth.

Light flurries fall as we return:
The crunch of snow beneath our boots
We hurry back to get to bed
As Christmas day will soon be here.

The sun rays glint on fresh-laid snow
Santa came! the stockings are full
Rip apart the boxes; eat the candy
Roll Matchbox cars upon the table.

Now food: French toast with golden coating,
Sweet maple syrup drizzled on top
With scrambled eggs and clementines
All gobbled up lickity-split.

Time for gifts! hear paper crinkle
As it is torn with lots of laughter
The results are strewn across the floor:
A multicoloured spectacle.

Now it’s time to sing some carols:
Pass around the lyric books
The piano’s been tuned, so play along
And join together in happy song:

He rules the world with truth and grace
And makes the nations prove
The glories of his righteousness
And wonders of his love

He is light; he is love; he is grace
Born on Christmas Day

Posted by Isaac at 1:55 PM

Past entries:

Saturday, December 15, 2007

O Holy Night (Programmers version)

On I.T. night the lights are brightly shining:
It is the night of our dear milestone’s birth.
Long lay our code with bugs and errors hiding
Till they appeared and we learned our product’s worth.
A thrill of hope; the weary team rejoices
For yonder breaks a new and glorious morn.

Fall on your knees — the I.T. prime approaches
O night divine!
O night when bugs were found!
O night divine!
O night when bugs were found!

Led by our faith he’ll solve the bugs uncovered,
With hopeful hearts, by his cubicle we stand.
He calls the teams who own the code that faltered:
He knows the wise men from all groups on hand.
The I.T. prime, at his lowly station,
In all our trials born to be our friend.

He knows our needs — our weakness is no stranger
Behold the I.T. prime!
Before him lowly bend!
Behold the prime —
Before him lowly bend!

Truly he taught us how to fix our designs —
His law is “Teamwork will govern our fate.”
Silos he breaks so we can meet our deadlines
And in his name, all the teams collaborate.
Sweet hymns of joy in grateful chorus raise we
Let all within us praise his holy name.

I.T. is the phase where bugs are left to die
Oh praise the I.T. prime!
His power evermore proclaim!
Oh praise the I.T. prime!
His power evermore proclaim!

Fall on your knees — the I.T. prime approaches
He knows our needs:
He’ll find someone to help us
O night divine!
Oh praise the I.T. prime!

Posted by Isaac at 2:54 PM

Wednesday, May 21, 2008

Model - View - Controller and Decoupling of Components

In the fourth episode of the StackOverflow audiocast, Joel Spolsky asked why the Model – View – Controller (MVC) pattern has become so popular in software design. Thinking about it, I realized that the question ties in with a recent presentation I created called “Secrets of a Software Architect” and, in particular, the “Keep Components Loosely Coupled” principle.

Continue reading "Model - View - Controller and Decoupling of Components"

Posted by Isaac at 10:15 PM

Saturday, December 6, 2008

Corporate Christmas Carols

  • “Huge Profit”
  • “The Big Boss is Coming to Town”
  • “OC-3”
  • “Deck the Cubes”
  • “We Wish you a Merry I.T.”
  • “Joy!”

Continue reading "Corporate Christmas Carols"

Posted by Isaac at 11:39 PM

Saturday, March 14, 2009

Good day, Paul Harvey

In memory of radio broadcaster Paul Harvey, who passed away on February 28, 2009, here is a “Rest of the story” segment I wrote a number of years ago (based on information from the book Salt: A World History by Mark Kurlansky):

The US Civil War, Salt, and a Legacy

Many fortunes have been won — and lost — in the old American South.

This is the story of a man called Edmund, who went to New Orleans, seeking his fortune. Over 16 years of hard work, Edmund worked his way up to become a respectable banker, owner of five banks, and good friends with a judge, Daniel Avery. So good, in fact, Edmund married Daniel’s daughter, Mary.

With the advent of the Civil War, Edmund and the Averys retreated to the Averys’ sugar plantation, on an island in a swamp called Petit Anse. At Petit Anse, Edmund would have enjoyed his prosperity peacefully, if not for a serendipitous discovery: salt!

Continue reading "Good day, Paul Harvey"

Posted by Isaac at 5:53 PM

Saturday, August 29, 2009

Goodbye High-tech Dreams

 - to the tune of “Candle in the Wind 1997”

Goodbye high-tech dreams
Envisioned when you joined the team
And BNR was the company’s name.
For years it reigned supreme.

It was Canada’s darling:
It brought the world digital voice
Riding on waves of light —
It was the carriers’ first choice.

And it seems to me you lived your life
Like a true Nortelian.
Always staying level-headed
When the praise came in.
And your keystrokes will always clack here
In the Capital’s greenest wood —
Your candle’s burned out long before
Your legend ever should.

Thanks to World Wide Web,
Using light to send out bits
With ever-increasing haste
Led to bottomless profits.

But it could not last:
When the Internet bubble burst
Investments had not panned out
And you had to face the worst.

And it seems to me you lived your life
Like a true Nortelian.
Never wavering a moment
When the restatements came in.
And your keystrokes will always clack here
In the Capital’s greenest wood —
Your candle’s burned out long before
Your legend ever should.

Goodbye high-tech dreams;
It was a wondrous sight to see:
The innovations spawned a skilled,
Advanced community.

Goodbye BNR
May you ever be in our hearts —
You were a workplace we enjoyed:
We were proud to play our parts.

And it seems to me we lived our lives
Like true Nortelians.
Always working hard together
Through thick and thin.
And our keystrokes will always clack here
In the Capital’s greenest wood —
Our candles have burned out long before
Our legends ever should.

Our keystrokes will always clack here
In the Capital’s greenest wood —
Our candles have burned out long before
Our legends ever should.

Posted by Isaac at 10:07 PM

Saturday, September 19, 2009

We Didn’t Start the Bubble

 – to the tune of “We Didn’t Start the Fire”

Alexander Graham Bell, please Watson, won’t you help
Elisha Gray, filed same day, didn’t get a go.
Reginald / Fessenden, first AM / signal sent,
Marconi, Montreal, first radio show.

Canadian / Bell Co / starts to make / telephones
Northern / Electric grows, while under Bell’s control
Electric stoves, toasters, kettles and washers
Vacuum tubes, radios, movies and acoustics.

We didn’t start the bubble
It was blowing up
We just got caught up
We didn’t start the bubble
No we didn’t make it
And we didn’t break it

World War 2 / radio, radar shows us where to go,
Microwave / relay links, from sea to shining sea.
Cable, fire halls, gramophones, toll calls,
All things / electric / constructed by NE.

Phones are in / big demand, open up some brand-new plants
Northern-Hammond, vibrato (we built an organ don’t you know?)
Ma Bell, consent decree, DoJ then sets us free
Northern sold, let’s be bold, we can do it alone

We didn’t start the bubble
The market’s overinflation
Led to its conflagration
We didn’t start the bubble
Though we rode atop it
And we didn’t stop it

Cross-bar, TV, Ottawa, Turkey
Satellite / monitoring, multi-tone signaling,
Contempra set, BNR, brand new buildings at CAR
SP-1, Meridian — digital switching systems

John Lobb, codecs: A to D, multiplex,
Digital / PBX, introducing DMS,
Northern / Telecom, leave behind the analog
RTP lab, Raleigh, Digital World’s ready

We didn’t start the bubble
It was already rising
It was quite surprising
We didn’t start the bubble
And when the bubble burst
We had to face the worst

X dot / twenty-five, cell market comes alive,
Judge Green, AT&T, break up starts a spending spree,
Nortel is the second-best / telco vendor in the West,
Fibre World, voice mail, Shonan quake: no switches fail

Speech tech-nology / used to bill a third party
Paul Stern, on his way, what else do I have to say

We didn’t start the bubble
It just rose too fast
And then it couldn’t last
We didn’t start the bubble
Though we hoped to ride it
Until we fell inside it

Competition / enters in, Telecom Act back again
Eliminate / CFCs, energy / efficiencies
Reagan, Clinton, Jean Monty / going back to BCE
Buying Bay to rabid cheers, how the world can share ideas

TCP, Internet, optical and SONET,
Telco debt, accounting theft, cutbacks, layoffs, who is left
Protection from our creditors, restructuring to meet their terms
“Come together”, stay aboard: I can’t take it any more

We didn’t start the bubble
It just kept inflating
Until it started fading
We didn’t start the bubble
But if we are gone
Will it still go on, and on, and on, and on ....

Posted by Isaac at 6:06 PM

Wednesday, September 23, 2009

Ol’ Bytowne

 – to the tune of “Allentown”

Well, we’re living here in ol’ Bytowne
And they’re closing all the campuses down.
Out at headquarters we’re killing time
Fixing the bugs
in our designs.

Well, we transformed how the world shares ideas:
Talk for hours before saying see-ya’s
Then with photons it became so cheap
To use Internet
For practically free

And we’re living here in ol’ Bytowne.
But the notices were handed out —
And today will be our final day

Well, we’ve waited here in ol’ Bytowne
For the restructuring to turn us around
For the promises that were conceived
If we worked hard
If we believed

So the patent awards hang on the wall
But they never really helped us at all.
No, they never taught us how to vet
Cashflow forecasts,
Unsecured debt

And we’re waiting here in ol’ Bytowne.
But they’ve brought our stock price down to the ground
And the top execs crawled away

Every new hire had a pretty good shot
To get at least as far as their mentor got.
But something happened on the way to that place:
They threw a C-C-A-A file in our face

Well, I’m living here in ol’ Bytowne
And it’s hard to keep a programmer down
But I won’t be writing code today

And today will be our final day
And we’re living here in ol’ Bytowne.

Posted by Isaac at 12:50 AM

Friday, December 11, 2009

With or Without You (Nortel edition)

See the red ink on the sheet
See the debts owed to the Street
I wait for you

Sleight of hand was a mistake
Costs incurred that were supposed to wait
And I wait without you

I’m living without you
Nortel is now through

Through the storm we tried to believe
We gave it all but now we cede
And I’m waiting for you

The Nortel that I knew
Nortel that I knew
I can’t live with or without you

And you gave yourself away
For whatever they could pay
And you gave, and you gave
And you gave yourself away

My pension’s gone, my spirit bruised
She’s left me with
Nothing to win and nothing left to lose

And you gave yourself away
For whatever they could pay
On auction day, when they came
Just to take your parts away

The Nortel that I knew
Nortel that I knew
I can’t live
With or without you

The Nortel that I knew
Nortel is now through
I can’t live
With or without you
With or without you

Posted by Isaac at 8:17 PM

Monday, January 17, 2011

It’s My (Programmer’s) Life

 – to the tune of “It’s My Life” by Bon Jovi

This ain’t a song for the disenheartened
No silent prayer for code discarded
I’m scouring the source for the bug in the crowd
You’re gonna hear my joy when I toss the bug out

’Cause it’s five nines
Don’t be too clever
L-O-C’s won’t live forever
I just wanna code while I’m alive

(It’s five nines)
My source is like a public beach
Like Stallman said it’s free like speech
I’ll be coding ’til the day I die
It’s five nines

This is for the bugs that stood their ground
Those nasty little problems we couldn’t rout out
But we’re finding them tomorrow: make no mistake
Debugging ain’t lucky—gotta make your own breaks

It’s five nines
For now and ever
Best practices will last forever
Or at least as long as I’m alive

(It’s five nines)
My code’s completely free of bull
Like Ockham said I kept it simple
I’ll be coding ’til the day I die
It’s five nines

You'd better stand tall
When the program falls down
Don’t bend, don’t break
Don’t get out of town

It’s five nines
It’s now or never
Eliminate those bugs forever
To keep our clients fully satisfied

(It’s five nines)
Our product is so squeaky clean
Like Kermit said it’s hard to be green
I’ll be coding ’til the day I die
It’s five nines

For now and ever
Best practices will last forever
I’ll be coding ’til the day I die

(It’s five nines)
My source is like a public beach
Like Stallman said it’s free like speech
Coding is what makes me feel alive
It’s five nines

Posted by Isaac at 9:42 PM

Saturday, January 29, 2011

What's wrong with the DRM provisions in Bill C-32

Bill C-32 is the latest proposal to amend the Canadian Copyright Act. The Copyright board has been trying to figure out for some time how to modify the Act to reflect new modes of copying now available with digital media. While Bill C-32 has a number of laudable provisions, such as a cap on damages for non-commercial infringement, it proposes rules on Digital Rights Management that are much like the U.S.'s Digital Millennium Copyright Act. Anything with DRM becomes protected from consumers breaking the DRM protection, regardless of intent. Exceptions have been made for various purposes, such as ensuring accessibility to disabled persons, but I would prefer that the default be that circumventing copy protection is not illegal as long as there is no reasonable basis to assume that the creator's ability to profit from the work has been hampered.

I wrote the following letter to the legislative committee studying Bill C-32, as well as sending it to the Minister of Industry, the opposition critics for Industry, my local MP and other local riding candidates, and the party leaders:

Continue reading "What's wrong with the DRM provisions in Bill C-32"

Posted by Isaac at 11:23 PM

Saturday, November 29, 2014

Do they know it’s End of Year?

It’s End of Year — there’s no need to be afraid
At End of Year we banish fun so we save some face.
With our balance of plenty we can spread a smile of joy
To the market analysts at End of Year!

But say a prayer: pray for the worker bees—
At End of Year, it’s hard keeping them appeased.
There’s a world outside their window and it’s a world of Christmas fun
With so much to share and much to give and peace for everyone.

But the Christmas bells that ring there won’t be heard in the workplace
Well tonight thank God it’s them who’re slaving away!

And there won’t be cheer among the staff this Christmas time:
The greatest gift they’ll get’s a hearty slap.
Where paycheques never grow; no glee will ever show—
Do they know it’s End of Year at all?

Here’s to you: and the profits you enjoy!
Here’s to them: how few can we employ?
Do they know it’s End of Year at all?

Save more money

Save more money

Save more money:
Cut all costs and squeeze the staff again!
Raise productivity:
Slash those budgets then slash them again!
Make owners happy:
Let them know it’s cutback time again!

Posted by Isaac at 5:55 PM

Monday, December 1, 2014

Let it go? (pastry edition)

The snacks shine bright in the bakery tonight—
Not a carrot to be seen.
A kingdom of sweet temptation
And it looks like I’m the Queen.

My tummy’s filled with choice delectables inside
Couldn’t help myself—heaven knows I tried.

Don’t take it all; just leave some be
Be the good girl for everyone to see.
Conceal your meals; don’t let them know
That you’ve let go!

Does it show? Does it show?
Can’t hold my gut in any more.
Does it show? Does it show?
Can I fit in a size four?
I don’t care what they’re going to say—
Bring the ice cream on:
The cold never bothered me anyway.

It’s funny how those calories
Are packed in treats so small:
Like the fat and all the sugar
In a single truffle ball.

It’s time to see what I can do
To skip dessert and seconds too.
No ifs, no buts, just rules for me:
Fat-free!

Does it show? Does it show?
I have given up curly fries.
Does it show? Does it show?
Farewell to mincemeat pies!
Here I stand on the scale today:
Let the dial spin ’round...

But a McFlurry sends my will into the ground.
My hunger pangs are causing dizzy spells when food’s around.
And one thought crystallizes like a frozen treat:
I’m never giving up my chocolate-covered sweets!

Does it show? Does it show?
My weight’s rising like the break of dawn.
Does it show? Does it show?
My perfect figure’s gone!
Here I stand eating my parfait;
Bring the ice cream on:
The cold never bothered me anyway.

Posted by Isaac at 7:16 PM

Wednesday, July 1, 2015

Livin’ on a Prayer (Programmer’s edition)

 – to the tune of “Livin’ on a Prayer” by Bon Jovi

Once upon a time
Not so long ago

Albert used to work in a box
Deadlines set in stone
No way to readjust: it’s tough, so tough
Betty plans the project all day
Working for “the man”, she has the final say
For GA—for GA

She says we’ve got to move on
Use all we’ve got
For we can make a difference
If we pick the right spot

We’ve got each other
And that’s a lot
For agile—we’ll give it a shot

Whoa—we’re halfway there
Whoa—coding in a pair
Take my ’board: eliminate the swerr
Whoa—coding in a pair

Albert’s got his Martin in stock
SOLID principles
Is what he used to walk the talk—hot stuff, great stuff
Betty dreams of better ways:
Cross-functional teams
And best practices—she gives the okay: let’s play

We’ve got to move on
Use all we’ve got
For we can make a difference
If we pick the right spot

We’ve got each other
And that’s a lot
For agile—we’ll give it a shot

Whoa—we’re halfway there
Whoa—coding in a pair
Take my ’board: eliminate the swerr
Whoa—coding in a pair

Coding in a pair

We’ve got to move on ready or not
We live for the scrum when that’s all that we’ve got

Whoa—we’re halfway there
Whoa—coding in a pair
Take my ’board: eliminate the swerr
Whoa—coding in a pair

Posted by Isaac at 10:09 AM

Wednesday, December 2, 2015

Hello

Hello: it’s me
I was wondering if after all these years I’d get 4G
But I’m still stuck on low speed
They say that time is all that’s needed
But I won’t bet on seeing it

Hello; can you hear me
I’ve been trying not to dream of landline quality
When we were younger and free
Of incessant cell phone usage as far as we can see

There is no difference with who calls us
The connection always sucks

Hello from the other side
I must have called a thousand times
To tell you I’m sorry for my call breaking up
But when I call it never seems to link up
Hello from the outside
At least I can say that I’ve tried
To find an escape from this cell phone dead spot
But it don’t matter: it clearly spans the whole block—even more

Hello: how are you?
It’s so typical for me for calls to always drop: I’m sorry
Can you hear me now?
Your voice is all distorted like an echoing steel drum

It’s no secret that all carriers
Have lousy coverage

So hello from the other side
I must have called a thousand times
To tell you I’m sorry that we couldn’t speak
But when I call the signal is always too weak
Hello from the outside
At least I can say that I’ve tried
To find a way that we could finally talk
But it don’t matter: it clearly affects the whole block—even more

[repeat 4x]
(One one one one
Bar bar bar bar)
Even more

Hello from the other side
I must have called a thousand times
To tell you I’m sorry for my call breaking up
But when I call it never seems to link up
Hello from the outside
At least I can say that I’ve tried
To find a way that we could finally talk
But it don’t matter: it clearly affects the whole block—even more

Posted by Isaac at 6:47 PM