July 01 2010

Happy HST Day British Columbia

I am neither a fan nor an enemy of the Harmonized Sales Tax. Properly introduced, a consumption tax has its place in the arsenal of government.

I am however completely opposed to the duplicitous means by which the Gordon Campbell government introduced the tax, and mislead British Columbians during the 2009 provincial election campaign.

Recently in the Georgia Strait Premier Campbell tries to defend himself. See the link for the article and comments made by myself and others in response.

The bottom line: It was impossible for Campbell and Finance Minister Colin Hansen to not know anything of the extent of the economic pressures facing B.C. during the May 2009 election. Much of the revenue of any government can be modelled and all of it can be measured. Income tax revenue, resource revenue, taxation from other sales - all of these items could be viewed in an extremely negative light throughout the second half of 2008 and first half of 2009 up to and including the election campaign.

Only an idiot would believe a politician that claimed "we didn't know". Only a liar would try to make such a claim.

Regardless of what one's opinion is of the HST, who can claim to stand up for democracy while at the same time reward and support this liar of a Premier and government? I can't.

A Bike Made of Wood?

http://www.renovobikes.com/storage/thumbnails/2528739-2280993-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1238352928711

This is about the coolest bike frame I've ever seen! It is produced by a company in Portland called Renovo Design and they do amazing things with wood. Yes, wood!

Some folks view these frames as works of art, too nice or delicate for daily use, but they aren't your mom's dining room table. We chose wood for it's ride quality and sustainability, and got beauty as a bonus; but it's not a weakness. An impact that will dent and ruin a butted metal or carbon frame merely bounces off the Renovo frame leaving a small dent. http://renovobikes.com/

Click the thumbnail images for larger views of my friend Elizabeth's new frame being fabricated:

June 29 2010

Emergency Preparedness Videos

The City of Vancouver Neighbourhood Emergency Preparedness Program (NEPP) has posted on it's page (http://vancouver.ca/emerg/NEPP/) a number of videos. Watch volunteer-produced 10 Steps to Home Preparedness - it's excellent!

I'm very involved in emergency preparedness and response as a volunteer with the city's Disaster Assistance Team and the video even reminded me of something I have neglected to prepare for!

June 28 2010

G20: Canada Steps Back From Democracy

I hope that most Canadians are able to look past the vandals and "anarchist" thugs depicted in much of the G20 protest coverage and recognize that Canada flirted with totalitarianism over the past week as our elected officials directed security forces to take measures including blocking legitimate discussion and demonstration sought by peaceful protesters.

G20 - Cops Charge Protesters at Queen and Spadina, After "O Canada" from Torontoist on Vimeo.

Our elected officials will use the actions of the criminal element within the protest ranks as a much needed diversion to deflect attention from their own culpability in this debacle called Harper's G8/G20.

Many new Canadians hail from authoritarian regimes. I wonder what they are thinking about when they view the G20 protests on screen? Are they primarily concerned with real and perceived lawlessness? Or are they more concerned about the state going after innocents who merely wanted to express their opinions in our supposedly free and democratic society? I hope Canadians new and otherwise alike are more concerned about innocent families being awoken by police with guns drawn and reporters being beaten by police and Canadians signing O' Canada! being charged by police or the largest mass arrests in Canadian history than they are about the actions of a few thugs.

Canadian Journalists for Free Expression issued a media release citing other cases where journalists had been detained or assaulted:

  • Two National Post photographers Brett Gundlock and Colin O'Connor were arrested and charged;
  • CTV News Channel producer Farzad Fatholahzadeh was detained;
  • Freelance journalist Jesse Rosenfeld was beaten and arrested by police;
  • Liem Vu, an intern with the National Post, and Lisan Jutras, a Globe and Mail journalist, were among those detained for four hours at Queen and Spadina;
  • Real News journalist Jesse Freeston was punched in the face by a police officer;
  • Torontoist journalist Wyndham Bettencourt-McCarthy was struck by a police officer with a baton;
  • Video journalist Brandon Jourdan was thrown to the ground and beaten by police.

June 17 2010

Python Object Persistence

Noted via #python on Twitter, a link to this discussion on creating a simple Movie and Actor database. Some suggestions for the original poster included using Shelve; myself I'd prefer to move up a rung or two and use a Python object database like ZODB or Durus, either of which can be used for anything from simple to complex solutions.

Attached is a dirt-simple module implementing a movie and actor database. Look ma, no SQL. The core of it is here, with the objects of interest subclassing Durus's Persistent class:

# Our "Models" -- it's just Python.

class Actor(Persistent):

    def __init__(self, name):
        self.name = name

    def __str__(self):
        return '<Actor: %s>' % self.name


class Movie(Persistent):

    def __init__(self, title):
        self.title = title
        self.actors = PersistentSet()

    def add_actor(self, actor):
        self.actors.add(actor)

    def __str__(self):
        return '<Movie: %s>' % self.title


class Database(Persistent):

    def __init__(self):
        self.movies = PersistentDict()
        self.actors = PersistentDict()

    def add_movie(self, movie):
        assert movie.title not in self.movies, 'Already exists!'
        self.movies[movie.title] = movie
        return movie

    def get_movie(self, title):
        return self.movies.get(title, None)

    def add_actor(self, actor):
        assert actor.name not in self.actors, 'Already exists!'
        self.actors[actor.name] = actor

    def get_actor(self, name):
        return self.actors.get(name, None)

    def appears_in(self, actor):
        """(actor : Actor) -> [Movie,]

        Returns a sequence of Movies, if any, the Actor played a role in.
        """
        return [m for m in self.movies.values() if actor in m.actors]

Objects which subclass the Persistent class become persistence-aware. Aside from having some special container classes for persistent dicts, lists, sets and BTrees for performance with large mappings, there isn't much of a mental burden to design objects that participate in a Durus or ZODB object database.

An example of retrieving some data from our film database:

if __name__ == '__main__':
    from examples.durus.flicks.movies import load_it, get_db
    from durus.file_storage import FileStorage
    from durus.connection import Connection

    connection = Connection(FileStorage("movies.durus"))
    # load some sample data
    if not connection.get_root().get('films', False):
        load_it(connection)
    db = get_db(connection)
    hopkins = db.get_actor('Anthony Hopkins')
    mel = db.get_actor('Mel Gibson')

    # Which films has an actor appeared in?
    for actor in (hopkins, mel):
        print()
        print('%s is in:' % actor.name)
        print([str(m) for m in db.appears_in(actor)])

    # What films are in our movie database and name known actors in each
    print("\nComplete Movie Listing")
    for m in db.movies.values():
        print(m.title, ':', ','.join([str(a) for a in m.actors]))

Running this script the first time you'll note some log activity to stdout as the object instances are committed to the database. The listing output will look like this:

Anthony Hopkins is in:
['<Movie: Mutiny on the Bounty>']

Mel Gibson is in:
['<Movie: Braveheart>', '<Movie: Lethal Weapon II>',
'<Movie: Mutiny on the Bounty>', '<Movie: Lethal Weapon III>',
'<Movie: Lethal Weapon>']

Complete Movie Listing
Braveheart : <Actor: Mel Gibson>
Lethal Weapon II : <Actor: Mel Gibson>,<Actor: Danny Glover>
Mutiny on the Bounty : <Actor: Mel Gibson>,<Actor: Anthony Hopkins>
Lethal Weapon III : <Actor: Mel Gibson>,<Actor: Danny Glover>
Lethal Weapon : <Actor: Mel Gibson>,<Actor: Danny Glover>

(No commentary on my taste for films, please)

In addition to the FileStorage class, Durus offers a client-server solution ClientStorage suitable for use by multi-process applications such as web apps. ZODB provides the same through its ZEO feature.

June 13 2010

Seize BP Assets? Maybe Not.

Should the U.S. government seize assets of British Petroleum (Seize BP petition) to block a potential corporate move to strategic bankruptcy? That's a debate which is happening right now, amid growing public pressure on the Obama government to do something, anything.

Could the "cure" be worse than the disease? Maybe. Seizing assets can lead to a falling domino chain reaction; the risk of bankruptcy is probably quite low at the moment however nothing prevents government from making matters worse.

If there were to be a time when risk of bankruptcy goes markedly higher it is likely years into the future when criminal and civil negligence and liability claims are making their way through the courts. Such proceedings took decades in the case of the Exxon Valdez oil spill, and that company remains the largest and most profitable petro company on the planet.

Even though BP's market capitalization has fallen markedly, that in and of itself is not a portent of bankruptcy. If it were, thousands of public corporations would be dead in the wake of the 2008-09 meltdown.

A bigger issue for BP than the value of their issued public stock is their debt load, now and into the intermediate future. At present their debt load is an entirely reasonable $25 billion, supporting operations on assets worth more than $130 billion USD. The company has the potential to generate cash flow of about $40 billion annually, a key measure of solvency in the oil business. That cash flow doesn't stop from other operations while the disaster in the Gulf continues.

The credit markets are pricing in an uncertain future, with credit default swap spreads having risen very markedly - probably unsustainably so, given that due to its still very strong financial situation BP continues to hold a double A credit rating which is better than many sovereign governments around the world can claim. Credit ratings drive borrowing costs. Due to the uncertainty surrounding liability claims, that credit rating might well be reviewed downward, driving their cost of borrowing up, but at this point my expectation is that such changes would be incremental over time, not sudden and paralysing.

Even if borrowing costs did become a potentially fatal weakness for the company, the U.K. (and U.S.) government could risk the inevitable public opinion backlash and extend loan guarantees to allow the company time to get through the disaster they own, and make everyone as whole as is possible given the circumstances. No amount of money will make things fully right.

Could the company try a strategic bankruptcy despite its financial strength? Maybe, but political pressure from both the U.S. and U.K. ought to prevent that, because at that point seizure becomes the threatened weapon of choice. The company or whatever form it might take in the future simply cannot operate around the globe without the express blessing of these and other major governments. Canada can play a role here, too.

Changes to Oil and Gas Regulations Required, Internationally

Don't get me wrong, public pressure is important right now. I'm all for extracting a huge punitive toll on BP and all those found to be responsible.

But even more important than getting even with those responsible for this latest assault on the planet is using the moment to achieve lasting change to industry regulation, not just in the U.S. but in Canada and hopefully in other major off-shore oil producing countries as well, including the UK (North Sea). Use the public's sudden awakening to the very real risks to drive important policy change that will help protect our land and oceans now and into the future.

http://mikewatkins.ca/2010/06/13/seize-bp-assets-maybe-not/file/48bb7906df3b/20100603-ap-pelican-la-us.gif

Oil covered Brown (before oil) Pelican along Louisiana coast, 2010-06-03

There is clearly a need to revisit existing U.S. EPA legislation which provides for a ridiculously low cap on the liability of oil and gas companies. BP has already blown through all these caps in its spending. Affected states may have other legislation which supersedes the federal law in this case, and may have unlimited liability provisions. Canada similarly must have another look at corporate liability legislation, not just for the oil and gas industry but also for the nuclear industry which is subject to a cap on liability that amounts to pennies relative to the potential scope for nuclear disasters.

In the here and now we need to make the playing field level around the world to counter arguments such as those being pushed by Danny Williams (Deepsea relief well not feasible, Williams says - Nova Scotia News - TheChronicleHerald.ca) that costs would be disproportionate and lead to investment dollars going elsewhere.

Williams is parochial and wrong. Oil gushing into our oceans and their currents at the rate of one Exxon Valdez every eight days knows no borders. It doesn't matter if the problem originates in the Gulf of Mexico or in Nigeria or off-shore Canada's Atlantic coast.

If the billion dollar boondoggle that is the G20 were to accomplish anything of substance, it could work to achieve agreement on offshore exploration and production safety measures including mandating the provision of emergency relief wells. Sure, these are expensive, but not unreasonably so if all producers are subject to the same regulation. Come on G20, how about doing something that matters for a change?

Off-shore oil and gas producers are not the only component of the energy industry that need a renewed regulatory focus aimed at them. BP has unwillingly opened the door wide to a much higher degree of scrutiny and regulators around the world should be running through that opening before it closes. Regulators in Canada and the U.S. often act more as industry facilitators than as guardians of the environment, a global, public, asset. That has to change.

Make BP pay, yes. But make the entire industry subject to better regulation. That would be the best legacy this disaster could leave in its wake.

PS: Let's see a permanent ban on offshore drilling off Canada's west coast, and on export tanker traffic in our inland waters. Any parent knows there's a difference between need and want. Canadian's don't need it, and most of us here in B.C. don't want it. Read and take action:

BP Oil Disaster - Live Undersea Video

Linked here more for my convenience, as the video link provided by BP often shows nothing of interest. This live video provides what has been a constant viewpoint of the oil escaping above the well.

PBS Newshour Life Feed

Video streaming by Ustream

The BP oil disaster in the Gulf of Mexico is now almost 8 weeks on-going. Depending on whose numbers one uses, the underwater gusher may be allowing the equivalent of an Exxon Valdez sized spill every 8 days. That's about 7 Exxon Valdez spills at this point.

BP Provided Feed

Other Remote Operated Vehicle Feeds

At http://www.gulfcleanupfund.org/ROVLiveVideo.aspx you'll find pages hosting currently 12 different ROV feeds including this page which displays all 12 at once.

June 11 2010

1989 Began An Age of Uncertainty

Here is a stacked bar chart showing voter intentions and election dates (with some editorial comments) since 1978.

I have to imagine Jean Chretien would be the first to credit a deeply divided conservative opposition as an important contributor to his party's success in elections from 1993 through 2000.

Stephen Harper now enjoys the same benefit.

June 10 2010

Voter Intentions Tell A Story

The accompanying chart depicts voter intentions from 1978 to the present. Most of the data is from Environics; some more recent data is also from Angus Reid which publishes more frequent opinion polls at this time.

I have taken one liberty with the data and lumped together as one party from the start all Progressive Conservative, Social Credit (remember them?) and Reform/CA votes up to and including the formation of the Conservative Party of Canada. You'll find this data under the series name ReformATory.

http://mikewatkins.ca/2010/06/10/voter-intentions-tell-a-story/file/5d3f3bab3926/

Voter intentions 1978 to present

I've also added to more calculated series including a mythical Lib-Dem party and also a more telling Anything But Conservative line which tells a couple of stories, not the least of which is one which puts to lie Stephen Harper's assertion that losers can't form coalitions. The primary loser in our current electoral arrangement is the Canadian people who have voted Anything But Conservative by a majority for more than 20 years.

While some voters might abandon the creation of a merged Liberal-New Democratic arrangement, with ABC voter intentions running at 65% (and the delta between ABC and the Conservatives at a full 30 points!) it does seem very likely that such an arrangement might excite Canadians who might otherwise cast votes for the Bloc and Green parties.

Stephen Harper is quite correct to be blasting away at the opposition, for if they ever do get over backstabbing each other, they could be a formidable force, one which stands a chance at unifying Canadians in a way we've not seen in some time.

Why Merger Of Progressives Could Happen

Based on Wednesday's news cycle, it appears that many professional and armchair pundits alike have concluded that there's no water in the merger talk bucket. I beg to differ. Bear with me to the end of this piece to learn why.

Let's indulge ourselves in a bit of denial first.

On Tuesday Warren Kinsella in an interview on CBC's The National had stated that serious people from the parties concerned were having "serious" discussions.

These are not people whose name one can wrap up into a false rumour of a merger or some other "serious" realignment of Canadian political parties. Something is happening.

This led to twin denials from the leaders of both the Liberals and NDP on Wednesday. Following a pre-Question Period caucus meeting, Michael Ignatieff - physically flanked by potential leadership rivals Bob Rae and Dominic LeBlanc - actually sounded honestly forceful in his denial. Jack Layton merely commented that it was his view the talk was all about and between Liberals. Both camps declared that they'd authorized no such discussions.

That seemed to put the story to bed for a while on Wednesday, until Warren Kinsella let it be known there would be further information forthcoming on CBC's late afternoon Power and Politics show. This turned out to be a sworn affidavit Kinsella provided to the CBC wherein he asserts that Liberal Party president Alfred Apps stated "there is a lot of interest in merger in the NDP. There have been many discussions at a high level... involving the NDP saints [whom he described as Broadbent, Romanow]." Apps is also said to have stated that a pre-election coalition would not work, only a merger would be viable as a pre-election party configuration.

Then, in real time during the Power & Politics show, Apps contacted the CBC to deny the assertions made in Kinsella's affidavit.

No matter what one believes about Kinsella or Apps, a he-said, he-said match is always less than satisfactory when the stakes are high. Fortunately circumstances did not disappoint and before the Power & Politics show concluded, another affidavit was submitted to the CBC, this time from Liberal consultant John Mraz.

Mraz had recently met with Alfred Apps in preparation for an article or op-ed piece he was submitting to the National Post for publication. The potential for coalition is a topic Mraz has written on in the recent and more distant past, including covering the tense days in 2008 prior to Harper proroguing Parliament.

Mraz was the Ontario director of Bob Rae's bid for the leadership of the Liberal Party. Mr. Rae is said to have the support of Jean Chretien, and very clearly Warren Kinsella is very supportive of Jean Chretien.

Yet I do not believe that what is going on is simply an attempt to mirror the Tories "Dump Dief" campaign of decades ago, rebranded Liberal red and labelled "Toss ignaTief". There seems to be much more at play.

Consider Mraz's affidavit and take it at face value. In it he states that Apps exclaimed to him, perhaps in a fit of exasperation or self-important fact-dropping, that "you don't know the half of it. You've got no idea what you're talking about. I've been involved in those discussions, and they not only include Broadbent and Chretien, but Romanow, Clark, and McMurtry."

Joe Clark? A once Progressive Conservative Prime Minister and second to last leader of that now extinct party? And Roy McMurtry? A close friend of a former P.C. premier of Ontario, Bill Davis? These "conservatives" are sitting down with elders from the Liberals and NDP?

McMurtry might not be a household name but in political circles the name not only resonates, his inclusion in these talks makes sense.

McMurtry's history with the federal and Ontario provincial Tories dates back many decades. He is, I believe he would agree, a "Red Tory". As Chief Justice of Ontario when he retired he could look back on his career on the bench with the satisfaction of knowing he and his panel of judges paved the way for same-sex marriages in that province, and thus setting a precedent for the rest of the country.

Roy McMurtry was also one of the political elders engaged in federal-provincial negotiations of the repatriation of our constitution and the creation of the Charter of Rights and Freedoms. Around a kitchen table McMurtry worked with none other than Jean Chretien and Roy Romanow to break through a frustrating impasse in negotiations, coming up with the kitchen accord that helped lead to all provinces, save Quebec, signing on to our Canadian constitution and the often hated by Conservatives Charter of Rights and Freedoms.

Joe Clark. Jean Chretien. Roy McMurtry. Roy Romanow. Ed Broadbent. These are indeed very serious people, broadly trusted people, all arguably are progressive politicians in their own right with decades of experience behind them. In their day some truly big, great, advances were made in Canada, for Canadians and indeed because of some of the things done in those days we broadcast a better reflection of ourselves to the world. The Economist once then declared "Canada is cool". We stood on our own two feet and did stuff.

Thinking about the life and times of these leaders, I can't help but draw a comparison to Stephen Harper. What, really, has Harper done - started and finished of his own accord - that has made Canada a better place? I don't think you can name much save for election trinkets and minor tinkering.

Based on the names named so far, I have to take both Kinsella and Mraz at face value. These are not people whose name one can wrap up into a false rumour of a merger or some other "serious" realignment of Canadian political parties. Something is happening.

I'd like to take a guess: these elders are working on principles which a merged party, or a totally new organization if need be, can be formed.

If you have people like Romanow, Broadbent, McMurtry, Clark and Chretien talking together at the kitchen table again, I'm interested, and once the story truly breaks out into the open, I'd bet that many Canadians will be likewise intrigued, and perhaps even excited, by what they see.