’Twas the Night Before Canada Day

'Twas the night before Canada Day, when all through the igloo
Not a hoser was stirring, not even for a brew-
The snowshoes were hung by the outhouse with care,
In hopes that @jdalrymple soon would be there;

The mooselings were nestled all snug in their holes;
With visions of grizzly bears dancing on some po—
Wait, that was me…
And mamma in her goalie helmet, and I in my Rush shirt,
Had just finished a two-four, we weren't feelin' any hurt,

When out on the snow there arose such a fuss,
I sprang from my hammock, hockey hair all a-mussed,
And what to my wandering eye did appear,
But a giant toboggan pulled by eight cans of beer,

With a big furry driver so grouchy and grim
I knew in a moment he must be St. Jim.
More rapid than curling stones his coursers they came,
And he slurred, and burped, and called them by names:

"Now, Heineken! now, Heineken! now Heineken and Heineken!
On, Heineken! on, <burp!> Heineken! on, Heineken and <toot!> Heineken!
To the top of the porch! to the top of the stair!
C'mon, brother, you can carry me, I'm all gas, mostly air!"

And then, in a twinkling, I heard by the outhouse
The stumbling and staggering, like a bull moose and spouse!
As I stuck out my head, I'd never heard worse:
In the crapper door came St. Jim with a curse.

He was dressed all in beard, from his head to his foot,
And his "clothes" were all tarnished with ashes and soot;
A bundle of iWatches he had flung on his back,
And he looked like a hobo who'd lost at the track.

His eyes—they were dark, like a moon hidden by eclipse!
His cheeks were like bearskins, his nose over his lips!
His big grinning mouth spread from ear to ear,
And the hair on his chin was all sticky with beer;

The stump of a smoke he chomped tight like a log,
The smoke encircled his head just like Toronto smog;
He had a furry face and a furrier belly—
Jeez, I wished he'd worn a shirt, even if it were smelly…

He spoke not a word, but went straight to his task,
And first stole all the snowshoes, then a swig from his flask,
And laying his hand on the back of his hip,
His back it did creak, and he muttered "Aw, shit…"

He lurched to his 'boggan, to his team gave a fart,
And away they all flew like a wobbly lawn dart.
But I heard him exclaim, ere he drove them away—
"Happy fuckin' Canada Day to all, now take off, eh?"

Jun 30, 2014


I. Overture
"And the licensed shall inherit the earth."

II. Radio of iTunes
We've taken care of everything
The tunes you hear
The Boards you Spring
The pictures that give (App Store reviewer approved) pleasure
To your eye
All for one, yes—All. For. One.
Curate together
Average ratings
Never need to wonder
How or why

We are the Curators, of the Radio, of iTunes
Our great computers fill the tiniest pockets.
We are the Curators, of the Radio, of iTunes
All the gifts of life are charged by micro sockets.

Look around this world we made
Build quality our stock in trade
Come and join the Bro'hood of Steve

Oh what a nice contented world
Let the WWDC banners be unfurled
Hold the (Red) 5c proudly high WWDC eve.

We are the Curators, of the Radio, of iTunes
Our great computers fill the sweatiest hand.
We are the Curators, of the Radio, of iTunes
All the gifts of life—hey, don't interrupt the 3G band!

III. Discovery
What can this strange device be?
When I tap it, it gives forth a sound
It's got a scrollwheel and hard disk and playlists
But no streaming services to be found…?

See how it sings into its earbuds
And joyously shuffles songs
Prog riffs build high like a mountain
Goddamn, I wish I had my bong…

I can't wait to share this new wonder
The people will all see its light
Let them all share their own iMix
The Curators'll Ping my name on this night.

IV. Presentation
I know it's most unusual
To come before you so
But I've found an ancient iMiracle
I thought that you should know

Listen to this music
And see what it can cost
Look at these textures, this typography
Mere pixels, yet looks embossed!

Yes, we know it's nothing new
It's just a waste of time
We have no need for skeuomorphic ways
It's just a user interface crime

Another toy that helped destroy
The hearing range of man
Forget about your silly "pod",
We've already chosen, you—we know better than.

I can't believe you're saying
Some things are better bought than streamed

Our world could use this beauty
Our own music, not recommended by some fiend.

Listen to this music
It's purchased, mine forever
I can listen to it all day long
Even if my wifi is severed.

Don't annoy us further
Rented music is the way
Just think about the average
Why should they be expected to pay?

Another toy that helped destroy
The hearing range of man
If we decide we don't like your songs
We'll remove them—yes we can!

V. Oracle: The Dream
I wandered home though the silent streets
The Maps app had got me lost with its deceits

Escape to realms beyond the night
Flashlight app can't you give me some light?

I sit inside a self-driving car
An oracle confronts me there
GPS leads me on light years away
To locovore markets, Starbucks cafés

I see gatefold sleeves, with triple panes
Grooves worn out, yet no one complains

Long avourite songs, no one's disdain,
A lyric sheet, lovingly bent and stained

They left the planet long ago
Their campus spaceship left us all below

Their power grows with chargers strong
To claim the home where they belong
Home, to tear the monopoly down…
Home, to change…

VI. Soliloquy
The sleep is still in my eyes
The Glass is still on my head

I grab some fridgetoast and sadly smile
And tap the app to make my bed

I wish these earbuds had some bass
And that these labels weren't all lower case…

Just think of what my phone might be
With a gigabyte library like I have seen

I don't think I can carry on
Carry on this cold and empty algorithm

My signal is low and the depths of despair
My last coffee cup spills over…

VII. The Grand Finale
Attention all Vendors of the Open Handset Alliance
Attention all Vendors of the Open Handset Alliance

Tizen has assumed control
Tizen has assumed control
Tizen has assumed control

Jun 2, 2014

Apache Server

Well they screwed up the back end dev in the repo last night now they screwed up his workflow too
Down in the conference room they're gettin' ready for a fight gonna see what them JavaScript boys can do

Now there's trouble bustin' in from outta RESTful states and the P.M. can't get no relief
Gonna be a rumble out on the foosball deck and the QA lead's hangin' on by the skin of her teeth

Everything times out, baby, that's a fact
But maybe everything that times out someday comes back
Switch your caching on fix your CSS with fervor and push it tonight to the Apache server

Well I got my specs and tried to pull my requests
But I got bugs that no honest dev can fix
So I patched what I could, checked it in Firefox
And I bought us that upgrade on that virtual box

Now our process may have died and our docs may be old but with you forever I'll stay
We're goin' out where the market's turnin' to gold so mock up your UI cause the coffee's getting cold and maybe everything times out
That's a fact but maybe everything that times out someday comes back

Now I been lookin' for a library but it's hard to find
Down here it's just JavaScript and PHP and don't get caught on the wrong side of that line
Well I'm tired of comin' out on the losin' end
So honey last night I found this .git and I'm gonna do a little pull with it

Everything times out, baby, that's a fact
But maybe everything that times out someday comes back
Switch your caching on fix your .htaccess with fervor and push it tonight to the Apache server
Push it tonight to the Apache server
Push it tonight to the Apache server…

Nov 22, 2013

Working on the Weekend

Everyone’s watchin’ to see if you can ship,
Everyone’s waitin’ for you, Oh shi—…
Everyone’s wonderin’ did you catch all the “lorem ipsum”
Cos everyone’s worried, you’re gonna make ’em look dumb, look dumb…

Everybody’s workin’ on the weekend
Cos somebody forgot to test IE
Hey yeah…!
Everybody’s goin' off the deep end
Everybody needs some extra pants, Oh

You done stabbin’ me in my heart?
You better brew a new batch from the start
You wanna go home to the kids?
C’mon baby, alias all the NIDs…

Everyone’s lookin’ to see if it the images fit
Everyone wants you to add Typekit,
Hey yeah,
Everyone’s hopin’ you can fix it in JavaScript
Everyone’s waitin’ to scarf the last chocolate dipped

Everybody’s workin’ on the weekend
Everybody misses their own beds,
Hey yeah
Everybody’s puttin’ content in the wrong place
Everybody’s lookin’ just a little spaced,
Oh woe

You wanna go home tonight
You better get IE to look right
You wanna fix that touch event
Aw fuck you Safari, get bent!


Oct 23, 2013

Working on the Weekend

Everyone's watching to see which bugs you fix
Everyone's looking at the queue, oh woe…
Everyone's wondering will you deploy tonight
Everyone's trying to launch it right, launch it right

Everybody's working on the weekend
Everybody’s wearing their unwashed pants
Everybody's long gone off the deep end
Everybody’s forking a second branch, oh woe…

You want a little sip of my coffee?
Make sure your commit log ain't sloppy
You want me to let you go home?
C'mon monkey, check it in Chrome!

Everyone's wondering where's that content you had
Everyone wants you to make it less bad, oh woe
Everyone's hoping you edited the right node
Everyone's waiting for the changes to load

Everybody's working on the weekend
Not everybody is even wearing pants, hey yeah
Everybody's going off the deep end
Everybody’s doin’ the Blame Shift Dance, oh ho!

You need a little shot of my booze?
Better not let me see you snooze
You can't get your updates to show?
Aw baby, I think we got let go…


You want a piece of my heart?
You better start from the start
You want to be in the show?
C'mon baby, let's go

You want a piece of my heart?
You better start from the start
You want to be in the show?
C'mon baby, let's go

Sep 22, 2013


Cachin’ Cachin’ Cachin’

Keep testin’, testin’, testin’,
Doritos we are ingestin’,
Keep them templates testin’
Don’t try to understand it,
Just try, catch, var_dump it
When you wrote this had you glue sniffed?
Man, this function’s regurgitatin’
But some booze will be a-waitin’,
A-waiting at the end of my shift.

Move ’em on, queue ’em up,
Queue ’em up, move ’em out,
Move ’em on, queue ’em up
Set ’em up, file ’em in
File ’em in, push ’it out,
Cut it out, file ’em in

Cachin’, cachin’, cachin’
Cachin’, cachin’, cachin’

Cachin’, cachin’, cachin’
Though the error log’s a-swollen
Keep them servers cachin’
That theme was cobbled together,
Hell-bent for leather
Wishin’ my iPhone was by my side.
All the things I’m missin’,
Webkit, love, and kissin’,
Are waiting once the buglist does subside…

Move ’em on, queue ’em up,
Queue ’em up, move ’em out,
Move ’em on, queue ’em up
Set ’em up, file ’em in
File ’em in, push ’it out,
Cut it out, file ’em in

Keep testin’, testin’, testin’,
Acetaminophen we are ingestin’,
Keep that module testin’
Don’t try to understand it,
Just try, catch, var_dump it
Wishin’ my iPhone was by my side.
All the things I’m missin’,
Webkit, love, and kissin’,
Are waiting for this dude to abide…


Jun 22, 2013

Square Icons

Square icons go on every screen
Square icons are the boss
Square icons on the shiny OS
Square icons got no gloss
Square icons are the latest thing
Square icons take the cake
Square icons gonna be everywhere
Square icons got nothing fake

Sometimes pushing beziers around
Sometimes pulling out the rug
Sometimes pushing all the buttons
Sometimes looking oh so smug
It's the power and the glory
Getting kicked out of paradise
It's a cinderella story
They no longer look like dice

Square icons got sharp corners
Square icons it's not like you can choose
Square icons got no woodgrain texture
Square icons cut, don't bruise
Square icons show no pictures
Square icons all the rage
Square icons losing all their colour
Square icons grey and beige

Sometimes building walled gardens
Sometimes ripping denim down
Sometimes building you an app store
Lock you underground
It's no old-time religion
It's the morph they would skeuo
It's the fool at the dev conf
Getting paid to play the fool

Square icons for every app
Square icons give and take
Square icons for your own good
Square icons, make no mistakes!
Square icons sure look heavy handed
Square icons by Jan Tschichold

Square icons look like Windows Phone
Square icons got no soul...

[bwaa bwaa bwaaaaa {keyboard solo!}]

Jun 10, 2013

The Spirit of WWDC

Begin the keynote
With a friendly voice,
A CEO, unobtrusive
Shows those sales figures, so elusive
And the payment total makes your morning mood

Off on your way
Hit the afternoon sessions,
There is magic at your fingers
For the notifications ever linger,
Demanding contact 
In your earbudded solitude.

Invisible wifi
Crackles with life
Bright antennae bristle
With the energy
(You're still holding it wrong!)
Emotional feedback
On 3G wavelength
Bearing four bars, a gift beyond price-
Almost free...

All this machinery
Making modern mobile apps
Can still be open-hearted
Signups so coldly charted
It's really just a question
Of your API
Yeah your API

One likes to believe
In the freedom of non-DRM'd content,
But glittering prizes
And endless tablet compromises
Shatter the illusion
Of sustained user engagement

"For the words of the profits,
Are projected on the theatre wall,
Session halls -
Echo with the sounds...
Of salesmen."

Jun 10, 2013

Skeuomorphic Man

He's a Limey and a lover
His hardware's turning green
He's a middle-aged romantic
Wants to run the big machine

He's got a problem with his linens
But you know he'll find a cure
He's cleaning up his systems
To keep his icons pure

Learning to match the beat of the Windows Phone man
Learning to catch the heat of the BlackBerry man

He's got to clean up your mistakes
And learn to mend the mess you've made
He's old enough to know what's right
So you don't have to choose it
He's rich enough to win the world
His 30% "tax" can make them lose it -

He's no skeuuuuuuomoooooorphic maaaaan...

He's added radio receivers
Built in factories with ARMs
He's a poet and a teacher
And a bald man with burly arms
He's got a problem with his power
But he'll charge it on the dock
He's got to draw a fine line
Or up his design's they'll cock

Trying to save the day for the feature phone hicks
Trying to pave the way for the iPhone Six
He's not concerned with yesterday
He knows constant change is here today
He's smart enough to know what's right
And you don't get to choose it
He's wise enough to win the world
But man, Forstall really made him lose it

He's no skeuuuuuuomoooooorphic maaaaan...

Jun 6, 2013

Tim Cook

A supply chain warrior
Lean mean stride,
Today's Tim Cook's
Got a mean stock slide.
Though his software's not for rent,
Don't put him down as arrogant.
His reserve, a quiet defense,
Riding out the market's events.
The market…

What you say about his company
Is what you say about society.
-Catch the MacBook -Catch the iPad
-Catch the iPhone -Wait, it's just a fad!
The world is, the world is,
Dumptrucks full of cash are deep,
Maybe as his arms are wide.

Today's Tim Cook,
His stock's down, it's true,
But the product space he invades
’Soft can't buy from you.

No, his OS's aren't for rent
To any OEM or on the Internet.
Always suffering your discontents,
He knows changes aren't permanent,
But tv rumors are…

What you say about his company
Is what you say about society.
-Catch the tv -Catch the iWatch,
-Catch the exception -Need a belt of scotch!
The world is, the world is,
Passbook wallets are deep,
Maybe NFC was tried?

Exit the keynote,
Today's Tim Cook,
The stock gets high on you,
And the money you trade,
Business Insider, you done got played!

Jun 6, 2013


Sprawling on the fringes of the GVA
In geometric mandate
An insulated candidate
In between the bright lights
And the far unlit electorate

Campaigning it all seems so one-sided
Resumes all provided
The future pre-decided
Detached and subdivided
In the Translink fare paid zone
Nowhere is the voter
Or the other voter
Or the other voter
Or the other voter
Or the other voter so alone

(Not seen) In the high school halls
(Not seen) In the shopping malls
Conform to the party platform or be cast out
(Not seen) On the mountain tops
(Not seen) In the coffee shops
Be online or be cast out

Any honest mistranslation might help to smooth
The unattractive truth
But the suburbs have no charms to soothe
The restless dreams of the power hungry and craven
(Except @scronide, he's a charming mofo!)

Drawn like hipsters we drift into the city
The timeless old Scienceworld attraction
Cruising for a latte
Lit up like a firefly
Just to see a winner on Election Night

Some will sell out their teams for small desires
Or lose the race to Libs
Get caught in unsafe cribs
And start to dream of Coquitlam
To relax their restless flight from St Lucia

Somewhere out of an unverified but holy smokes this transcript from 2005! memory
Of lighted streets or quiet Twitter streams...

May 28, 2013

Adobe Creative Cloud

Better rifle through your wallet,
Dontcha be too proud,
Cos you’re all gonna subscribe,
To the ’Dobe Creative Cloud!

Gonna get real used
To the Updater interface,
Which app’ll finish first?
It’s a marathon, not a race!

Think you got some wifi?
Think you got some speed?
Better up your monthly ’llowance,
Always have less than you’ll need.

Say, the update’s ready?
Ha ha, we sure fooled you!
It failed at three in the morning,
How come? Like we have a clue?

Every silver lining has a cloud,
And sometimes the reverse is true;
But one thing we know for sure,
This Cloud’s a-gonna piss on you…

May 6, 2013

WordPress Blues

@petethedude’s nerves are fraying,
This code’s gonna get a trebucheting,
When no one wins, ev’ryone’ll lose,
He’s got the Wordpress Blues

Settings don’t stick,
(Paid) theme don’t work.
Time to cut some cruft,
Look out! He’s reaching for his dirk!

The templating’s all whack,
He’s about to blow his stack.
PM asks for one more widget,
See his eyelid start to fidget…

About to cry, like a new-born babe,
Or foam at the mouth like a rab-
Id animal, it’s like a Carnival Cruise,
When you got the WordPress Blues.

Apr 8, 2013

Adobe Updater Blues

Get on your knees, you lowly supplicator,
Prepare to run the Adobe App Updater,
Better make a little prayer, better leave a little offering,
Say, got yer soul handy? Time for a proffering.

Is that a lousy rhyme? You’ll find a better one,
Lots of time left ’fore the first download is done,
Now you know what they say, a watched pot never—
Whoops! Timeout error,  it’s a futile endeavour!

Now the updater’s downloaded something to install,
A manager for updates, for a manager, you recall,
Double click the icon, you’re almost halfway there,
Halfway? Well, maybe a third, shy a hair.

Now don’t forget these add-ons, they’ll really make you happy,
For your browser? And some spyware? They’re really quite face-slappy!

Before you proceed, you’d better quit your browser,
Don’t want you to see the help forums,
Uh, you’re gonna need clean trousers,
By now you’re full of regret, we bet—
Are you missing Flash yet?

Mar 19, 2013

WordPress Blues

Well I stepped in some shit,
With holes in my shoes,
An’ I didn’t even care,
Cos I got the Wordpress Blues.

My dog up and croaked,
But mister, there’s worse news,
It stripped out all my <p> tags,
Lord, spare me the Wordpress Blues.

’Ere’s rain coming through the ceiling,
& smoke coming out the flues,
Someone hardcoded ’ese goddamned ID’s,
Sir, I got the WordPress Blues.

’Ere ain’t no booze in the cupboard,
& only vegetables in the stews,
’Ese user permissions are a crock o’ shit,
Dammit, you WordPress Blues!

Well, sometimes my cat pees on the floor,
& sometimes, well, he poos,
But I’ll take ’at any day o’ the week,
Over all these WordPress Blues!

Feb 16, 2013