The Ugly Truth Behind Election Campaigns

The stench of another election is upon us.  A necessary evil to maintain a democracy.
Let me be clear.  Voting isn’t evil, being a politician isn’t evil, campaigning isn’t evil….but deceiving an electorate, breaking promises and running rough shod over your constituents is.
I don’t need to go into details,  this excellent article by Christina Blizzard details the current provincial government’s litany of broken promises.
I should note that, in my opinion,  Sun Media is a conservative organization.  I’ve always respected Ms. Blizzard though…I heard once that she paid the vet bills for a homeless guy’s dog.  Being an animal lover that struck a chord.

I am once again digressing, let me get back on track.

I’m ashamed to admit that I was once apathetic about voting.  I’m not really sure what got me back on track, but I now view voting as a sacred responsibility.  I review platforms, past performances.  I watch videos and look for nuance and sub-text, listening for what’s not being said as well as what is.  I do not vote for the party that will do the best for me, but the best for the nation, province, city.

I have long ago resigned myself to the fact that being an upper-middle class single, childless male that I will be the piggy bank for whomever wins elections.  Its hard to complain about taxation cutting into my disposable money when there are people in this country who can’t afford to eat.  I do have every right to complain about where it goes though (because no matter how high my taxes go, those people still starve)…you can expect a future blog on this subject…probably around tax time.

I have reviewed the Liberal and the Conservative platforms.  Their websites and their videos.   My thought during all this was, “These people will say anything to get your vote!”.
I was immediately hit by the strong mental image of a politician… guant, pale, sweating, covered with scabs and track marks (for the uninitiated I’m describing a dyed-in-the-wool drug addict jonsing ) approaching a group of voters muttering, “Hey, whatcha’ got…you got anything for me?  Hook me up and I’ll cut your taxes, you won’t regret it!”

The reason I thought of this….I have it on good authority that raging drug addicts are not good credit risks.  They take and take and take until you’ve been bled dry.  Politicians are making promises, essentially offering to buy your vote with tax cuts and better programs, but…where are they going to get the money?   So, you give them your vote, and they disappear into the night…..the promised tax cuts never appear, and you realize with horror that things aren’t better, they’re worse!  But its too late…when casting a vote there are no backsies or do-overs…your vote is gone.

Then the next election comes around and they come back, and its all apologies, excuses,  smiles and oh so sincere assurances that they will never screw you over again…

All I see in these platforms is money flowing out of provincial coffers with no solid plan as to how to make sure that they don’t dig the province into deeper debt  (why did Bob Rae just pop into my head?).

They talk about cutting “government waste”…..but how often do they actually cut waste and not just programs that run counter to their own ideology (regardless of effectiveness) , or worse, pander to whomever is the most media savvy.    It would actually cost a small fortune to do a detailed analysis of every government committee and program (as promised by the PC’s), evaluate their worth before deciding which to cut.

Oh….another digression.  Tim Hudak states that he will base his decision on what cut based on a program’s value to Ontario families.  (I just went to their site so I could link the reference, but the detailed list I saw under Government Accountability is gone).  So I guess we single people don’t count?  Maybe I should claim my dog as a dependent on my next tax return so I can be considered a family and be worthy of consideration in the provincial PC’s eyes.

Anyway, I’m left in a quandary with this provincial Election.  I see both parties that have a remote chance of  winning as opposite sides of the same coin.  They’re pushing sunshine and rainbows during the campaign, and oh boy, when reality hits in the months and years after the election…its gonna hurt.  I’d really like to know how much before I cast my ballot.

But the harsh reality is that they can’t stand up and tell you that they might need to raise taxes, or that the future is going to be hard because we have to reign in the deficit.  If they do that, they will lose the election.  Why….because, in keeping with the drug addict metaphor,  we’re a bunch of enablers who keep buying their sunshine and rainbows BS and voting for them, and most of us wouldn’t even contemplate voting for someone who put forward a plan that entailed a few years of hardship to get through to financial stability.

So I urge each and every one of you…when deciding who to vote for….think critically and vote smart.

The Day the World Changed Forever…..again….

It’s the 10th anniversary of a Day that will Live in Infamy.

I use that term deliberately, wondering what percentage of the population will know what it originally refers to without help.

Maybe if I said, “December 7th, 1941″?

If you’re still lost, and don’t know why I’m referring to Pearl Harbour then go google it.

There are other dates I could mention… 1 September 1939,  28th of June 1914, and of course 11th of November, 1965.  (the last one is my birthday…a little levity on a dark and heavy subject).

September 11th 2001….another day in a string of many that we must never forget.

I remember a debate in High School….”Is Man Inherently Evil?”.  I was the moderator.  The debate denigrated into a shouting match which a teacher ended after a girl named Robin and I practically came to blows…..she told me I “wouldn’t be so tough without that gavel”…I tossed it aside and we were nose to nose yelling at each other.  So neither side won the debate…but it illustrates a point.   Sometimes people just can’t find the words to express themselves and start yelling, or shooting, or stabbing, or invading.

We all react to things differently. Some of us, when we are afraid and threatened, cower.  Some rise up and fight.  Often, rational thought doesn’t enter into a reaction.

But, 9/11 was not an act of war.  It was not one madman’s reach for power beyond what signatories to certain treaties could tolerate, nor was it an attempt to reach out and slap a monarchy.  It was… know I’ve sat here for 5 minutes trying to think of a term to finish that statement and I can only think of two words.

fucking stupid!

Its like, “Hi, my name is Osama Bin Laden, and the other day I was wondering what the best way to get 10’s of thousands of my fellow Arabs killed….”

Sorry mom, I know you read what I write and I’m going to have to swear again…..OBL is a fucktard.  Or rather, was a fucktard.  (no more profanity after this mom, I promise!)

But still, we, as a species, continue to do things so monumentally horrendous that the days which must never be forgotten continue to mount.

And while we vow to never do so, we often do forget…or worse…we deflect by thinking, “This is different!”.

We must never forget,  we must make the effort to see the similarities in these monstrous acts…not on their anniversaries,  but every day….especially in those moments when you are wiring up a bomb to strap on, or boarding an aircraft with the intent to ensure it doesn’t reach its destination….or even when you’re about to flip someone off for cutting you off in traffic.   For every action there is an equal and opposite reaction…unless you really piss someone off whose bigger than you…than the opposite reaction is much much worse…for everyone.

I remember reading on some forum where someone posted that they wanted Arabs to “be afraid”.    That is the complete wrong approach to terrorism….why?  Well…it doesn’t work.  How many of you would strap on a vest filled with explosives and walk amongst a bunch of innocent people and obliterate yourselves?  I’m betting outside of a few nutjobs, everyone said something to the effect of “Not Bloody Likely”.

Why is that?  You have plans…dreams, hopes, aspirations for the future.

My friend Charity once said, “The font of terrorism is hopelessness”.

That should be the focus of any “War on Terror”.  Eliminate hopelessness.   This doesn’t prevent you from eliminating threats to your security with military force.  But the latter does not give you license to oppress an entire people.

Roosevelt once said, “Speak softly but carry a big stick”….wise words, but mostly with we human beings its scream and shout, turn red in the face and then start shooting.

You know, if the entire world adhered to the 1st Buddist Precept, “Harm No Living Thing”….then there would be no more Days that Lived in Infamy (well…not man made ones).  There would also be a lot few dead squirrels on the roads of my home town…but more tire tracks where people braked or steered around them.

If you have a twitter account, I would ask that you forward this under the hashtag #terrorismsucks


Gordon Ramsey Would Absolutely Call Me a Donkey….

Anyone I have ever cooked for will tell you that I can cook.

But….I will let you in on a little secret……I can’t cook,  I don’t really know how.

What I do have a knack for is knowing how certain flavours will combine and a basic understanding of how to apply heat to food to make it edible.   The combination of these two skills makes it so that I can fool people into thinking I can cook.

To add to the illusion I have a set of high end cookware, and a very very expensive, very very sharp Wusthof Chef’s knife.  I was going to buy more Wusthofs but I was very suddenly and unexpectedly laid off, and people who are unemployed really shouldn’t go around buying $125 paring knives.

Don’t get me wrong, for years I believed the lie and thought that I was a great cook.
People coveted dinner invites from me, my colleagues here always looked forward to what I would bring to pot lucks (there are always requests for my Curry Chili).  Last time I stopped by a sushi restaurant and picked up a Maki Platter….the potluck was on the same day I was moving.

So, what happened that caused me to realize that I can’t cook? Gordon Ramsey.    Master Chef was humbling….although I’m sure in a culinary challenge I could kick the “Beer Cheese Soup” guy’s ass,  watching what some these amateur chefs could do was humbling.  But what really did it was Hell’s Kitchen.

All this “ready in 3 minutes chef” stuff….I don’t know how long it takes to cook meat…I just throw it on and take it off when it looks right.   I figure, if I was a contestant on Hell’s Kitchen here’s how my night on the meat station would be (based on my method for barbequing steak).

  • The order would come in, and I would throw the steak on.  I would season it, then open up my timer on my iPhone and set it for 2 minutes.
  • I would play Angry Birds until the 2 minutes was up and then flip the steaks
  • I would then set the timer for 3 minutes and go back to playing Angry Birds
  • At the 3 minute mark I would poke at the steak and frown, and then flip it and set my timer for 2 minutes
  • I might do that again 2 minutes later, or, if I’m hungry I’ll just take it off and go eat (I like my steaks rare, so this method works well for me)
  • …oh wait, I’m cooking for someone else

At this point Gordon would be going “Dear oh dear oh dear” before getting in my face and calling me a Donkey.   I would thank him for this because we all know that donkey’s are hard working beasts who are sure footed and capable of carrying very heavy loads up steep mountain trails whilst I am out of breath after just typing that.

I really like Hell’s Kitchen.  I have noticed a trend where if you tend to cause drama and friction you last a lot longer.  Take Elise in the current season.  The woman is a train wreck, but she’s fun to watch…same thing with the blonde girl with the glasses in the last season.  They are hilarious and I’m sure they’re good for viewership (and that’s what its all about right?).

You know….something just occurred to me…

Why is it that most of the older male chefs who compete seem to be comic relief (Raj for instance…).


Oh…here is the recipe for my Curry Chili (its not really a recipe as I start with a concept and just add stuff)…  the original was a throw together with what I had in the kitchen….

About a lb of lean ground beef and a lb of bacon
a pint of cherry or grape tomatoes
a large can of baked beans
celery,onion, portobello (or cremini) mushrooms.
carrots (if you remember to buy them)
rosemary, oregano, black pepper, salt, paprika to taste
garlic…to taste
Curry….a fair bit

Throw in a slow cooker for about 12 hours, stirring occasionally (while awake).  Then pack into a gym bag (the slow cooker…don’t empty the chili into the gym bag) and take to work.
Find a plug and plug in slow cooker and set to warm.
Then linger in the foyer of the IT department and wait for Jenn to bring her her bacon wrapped stuffing balls.  Wait for her to plug in her slow cooker and leave.  Steal some of the stuffing balls and dash to your office before she catches you.
Oh yeah….when you plug your slow cooker in at the office…take it out of the gym bag first.

Technology will always fail…eventually…

I’m a programmer.  Its what I do for a living.  My specialty is HL7 Integration using the Mirth Integration Engine.  I am a multi-lingual programmer which is a fancy way of saying that I know several programming languages (don’t worry, I won’t post my CV here).

I also play World of Warcraft.  I mention this only because the best example I can use of “User Rage” is on the WoW forums.  People rage about how they’d fire the entire development team over some stupid little bug, or something that has really nothing to do with the background code.  But sometimes they do have a point.  Something passes QC (Quality Control) that shouldn’t.

Someone asked me why it was so hard to write a program that works perfectly every time.
That’s not hard!  Its dead simple…watch…

In Javascript:                       document.write(“Hello World!”);

in .NET :                               label1.caption(“Hello World!”)

in PHP:                                 <?  print ‘Hello World!’ ?>

There…perfect code (well, maybe there’s a type, this is untested /shrug).  This is some real code.  It works.

Programmers are human and we make mistakes (as demonstrated above (did you notice?)).   Testing won’t pick them all up….I guarantee it.  While the typo might be dead simple….it can sometimes take hours to find and fix it.

When designing software we take everything we know into account.  The more complex a project, the greater the chance that something will be missed.  Some process that someone forgets to tell us about, or gives us inadequate information.

Then there are the things we do.  We’ll run into a road block and make a presumption.  We’ll add something thinking it would be nice for the users to have,  or not realizing (whether consciously or unconsciously) that we really don’t understand a requirement and coding it anyway.   We all do these things.

Diligent testing should pick up all this, but it won’t.  Some of these mistakes will make it into the Production environment.  This is why software projects have implementation phases post Go-Live where everyone (including the development team) is ready to respond to problems immediately.

Its all well and good talking about this, but lets demonstrate it.

Let’s say you’re a programmer tasked with coding a script to guide a robot driver through an intersection where it has the right of way.   You write the following code in the programming language Plain English.   This is what you write:

If  intersection is mine then keep going

You test it, it works fine and you go for coffee.  You come back and you’re asked “What about the other idiots on the road”  You go back and write

If intersection is mine AND if intersection is clear of idiots then keep going otherwise stop

You test this and realize that you haven’t told the driver when to proceed.   You go through several rounds of testing and finally come up with this…

If Intersection is mine AND
If intersection is clear of idiots AND
If number of pets or children that may dash in front of car unexpectedly < 1 AND
If number of police officers directing you to stop < 1 AND
If construction blocking traffic ahead is false AND
If gas sufficient to reach destination is true THEN
Stop Until idiots, police, children and pets = 0 Then Proceed to Destination unless insufficient fuel then proceed to nearest gas station.

So, this code eventually goes into production and your robot driver performs flawlessly until one day you find out that your robot driver slid out of control and caused an accident!
You feel horrified and sick.  You look at the logs and see something that you didn’t consider in your design, brake failure, its one in a million, but you decide to change your “stop”  to a procedure (a set of often repeated commands).   You write

Define Procedure Stop(urgency,safedirection)
if brakes fail steer to safedirection, shift to neutral  and sound horn, disengage engine when vehicle stopped.  If collision = true notify emergency services else phone home.
if urgency is immediate and anti-lock brakes = true then steer to safedirection and apply full pressure to brakes unless anti lock brakes = false then threshold brake
if urgency is immediate and safedirection = 0 then brake, horn  and pray
if urgency is fast stop then apply increasing pressure to brakes until rate of stop > distance to target
if urgency is normal then apply slow pressure sufficient to stop in time

That goes into production and things run great.  Then you run into other conditions that programmers encounter.   No notice of changing conditions.  The robot calls you and very angrily chews you out because in the past 3 days it has received 3 tickets for running a stop sign.  When you explain that you didn’t know that a stop sign was there the robot yells “Its NEW!” calls you a bunch of names and then hangs up.

No one at City Works knew you had a robot driving a car through that intersection and neglected to inform you of the change….

So, you write some code to accommodate for the new stop sign.  Feeling a bit angry about being called names, you add some code that will make the robot roll down its windows and belt out show tunes whenever the vehicle’s speed is less than 30km/hr.  Your mouse hovers over the deploy button, but you think better of it and copy and paste the show tune code into a text file in case you change your mind later.

Writing code for complex systems may sometimes sound pretty easy when the process is described, but I hope I’ve shown you that it isn’t.

Oh yeah….in a nod to Isaac Asimov you add a line of code to your robot’s programming:

if danger to humans is true then self destruct

You decide that its better to not tell the robot….because, well, he called you names…