Friday, December 12, 2025

We Are In A Constitutional Crisis

We Are In A Constitutional Crisis

Lots of people are arguing that if the Supreme Court of Canada (SCC) rules to restrict the Notwithstanding Clause (S33) or the Governor General dusts of the disallowance powers, that it wil trigger a constitutional crisis in Canada.  They are mistaken.

The minute Alberta and Quebec decided to legislate to unreasonably restrict or eliminate rights guaranteed under the Charter, they thrust a constitutional crisis upon all of us.

Quebec, with its "Bill 21" has imposed an unreasonable limitation on religious freedoms for those who work in the civil service of that province.  Quebec’s CAQ government has wrapped a thinly veiled attack on non-Christian faiths in a blanket ban on religious symbols and public prayer.  I don't care how much you want a "secular society", this is going way beyond anything that is defensible under S1 of The Charter. 

In comparison to Quebec, Alberta has been much more aggressive, using S33 to strip workers of rights to collective bargaining, labour action, etc. and to attack transgender people in Alberta.  Further, several of the UCP's more recent actions involve "invoking" Smith's so-called "sovereignty act" - a piece of legislation where the government claims it can simply ignore laws from Ottawa that it doesn't like.  Arguably, that law is on its face unconstitutional - it's little more than a power grab on Alberta's part. 

Make no mistake about it, we are in a constitutional crisis right now.  The minute that two provinces decided that they could redefine what rights citizens in their provinces could enjoy for purely ideological reasons, we were thrust into a crisis. 

Quebec's use of S33 with Bill 21 does not stand up to scrutiny - especially not when it came out in the wake of a failed bid to ban hijabs and other "traditional" headwear.  Bill 21, although it doesn't say it, attacks those whose religiosity is publicly visible - to what end?  What crisis is this addressing that makes the invocation of S33 justified?  As far as I can tell, there is none.  

Similarly, Alberta's use of S33 are indefensible.  The teacher's strike issue might contain a shred of justification in that it is important to resolve the strike quickly.  However, it fails on a subsequent test of whether the government had used (and failed) all of its statutory options - however the government left any number of instruments on the table, up to and including binding arbitration, and went straight to the nuclear option.  

The Alberta government's anti-trans legislation is based on a horrendous amount of disinformation, lies, and hysteria.  It does not stand up to any kind of scrutiny - the evidence it is based on is largely the same pseudo-science evidence that gave us The Cass Review in the UK.  I cannot imagine any aspect of Bills 26, 27 and 29 standing scrutiny under S1 of The Charter.  Smith went to the Notwithstanding option when it was becoming clear that those laws would collapse in the courts under Charter review.

How exactly does Alberta and Quebec end up in what seems like a most unlikely alliance?  Well - truthfully, I don't know the exact answer to that, but we do have some clues.  Really, it stems back to Kenney courting Alberta's extremist fringes, and then musing out loud about "the flames of separatism".  Kenney would go on to provide political support to the "Yellow Vest Convoy" and the subsequent "Freedom Convoy" protests.  Kenney definitely set the UCP on course to align with a separatist/isolationist government in Quebec. 

It should not come as any surprise that a separatist leaning government in Alberta would pivot towards asking Quebec for advice.  It's an old saw in Alberta politics that Quebec receives unmerited "special treatment".   So, an Alberta government desiring to "have more influence" might well look to Quebec for ideas and political strategy.  

Make no mistake about it, Danielle Smith has played a central role in pushing things to where they are.  It is a crisis, and it is a constitutional crisis.  Just because you aren't directly affected by the rights that have been revoked by the UCP in the last 2.5 months, the fact is that the UCP has declared that they see themselves as the final arbiters of what rights you are allowed in Alberta.  If this is allowed to stand, the use of the language "guarantees" in The Charter becomes meaningless, and that would be the most significant change to human rights in Canada since 1982. 

Consider the implications of major cases before the SCC now:

S33 has been used to limit rights without any kind of urgent situation in play.  Sure, Smith and the UCP will argue that there is "urgency" around Bill 26 because "there might be harm to children", and Legault's government no doubt argues that there is "urgency" in fostering a "secular society" that is free from religious symbolism.  Neither party has shown that they are responding to an actual emergency situation.  The governments in both cases could have taken far less drastic steps than they have to develop a basis upon which to act.  

Having taken the actions that they have, Alberta and Quebec have essentially taken the position that "provincial legislatures get to decide your rights".  Think about that carefully for a few moments.  This means that the entire civil rights regime in Canada for the last 40+ years has just been upended and is now very much in limbo.  Your fundamental rights under The Charter at this point are no longer guaranteed as a Canadian.

I want to be very clear about how dangerous that really is.  The approach being taken by the provinces is essentially "we can legislate however we like, and you have to just suck it up".  This is extremely dangerous for minority rights in Canada - especially gender and sexual minorities who are already subject to significant discrimination and marginalization.  Looking at Quebec's actions, even religious freedoms are subject to arbitrary limitations made by governments who decide that they don't like one religion's practices.  

Pick any other right you can think of, including matters of justice.  A province could decide that it is going to legislate that "anyone accused of a certain class of crime must be held in custody", and presto, there goes your right to bail.  Again, even though that is technically criminal law, the province could still invoke S33 to enforce it.  Similarly, a province could decide that a people with particular characteristics need to be held in custody "for their own good" (see Alberta's approach to addictions), and invoke S33 to prevent challenges based on "security of the person" and other individual freedoms.  

This is very much a crisis.  It might not affect your rights today, after all trans people are only a fraction of a percent of the overall population, and likewise, members of the Quebec civil service are also a relatively small fraction of the population of the province.  You probably know people who are affected by these changes directly, but because they don't affect you directly, it may seem a little abstract.  I encourage you to look through history where governments have chosen to strip people of rights for political reasons, and consider the idea that a government willing to strip one group of rights is more than willing to strip you of yours. 

If allowed to stand unchallenged, Danielle Smith and François Legault may well have ended the ordered constitution of Canada. 

Wednesday, December 10, 2025

Danielle Smith Just Forced Detransition On Trans Youth In Alberta

Last night, the UCP slammed down the Notwithstanding Clause to bolster its anti-transgender legislation.

I'm not going to spend my time talking about my objections to Bill 9 and Bills 26, 27, and 29.  I've talked about that extensively in this space already.  This is an abuse of power on the part of the UCP, and it is profoundly harmful legislation on many different levels. 

However, I want to bring to your attention the behaviour of the UCP in pushing Bill 9 through the legislature. 


In fairness to the author of the above words, I have anonymized the image as much as possible.  There are two things I want to emphasize because they speak to the intent of the UCP government in passing this legislation:  

First, it is beyond appalling to me that a government passing legislation which arbitrarily revokes rights guaranteed under The Charter cannot even be bothered to be present in the legislature during time allocated to debate.  All but a couple of UCP MLAs left the Chamber until the vote.  At this point, this isn't a debate, it's theatre.  The UCP is at best going through the "procedural motions" (don't get me started on the use of time allocation to limit debate), while it slams through some of the most serious legislation a government can execute.  

Besides scheduling the debate for late night hours when few people are likely to watch, and severely restricting the time available to debate this matter, the government chose to play games with the debate, so that their legislators wouldn't have to hear and process the legitimate discussion of the consequences of their actions.  Albertans should be offended. 

Then, as if to add insult to injury, the government clearly gave instructions to Legislature security personnel to "make sure nothing happened in the public gallery".  This is an act of intimidation, and one that should concern every citizen of Alberta.  The UCP has already shown itself to be shockingly thin-skinned and petty, resorting to retribution when criticized.  To engage the staff of the Legislature in being part of their political theatre and to clearly intimidate members of the public sitting in the gallery during second reading is a sign that Smith and the UCP have no respect for democracy, or the citizens of this province. 



Sunday, December 07, 2025

An Ode To Software Design Documentation

This is a departure from my usual discussions of politics, law, and current affairs - I want to delve into another area of interest for me - software engineering, and in particular what constitutes useful documentation. 

I know it's not fashionable among software developers to do "tedious" work like actually documenting design and architecture decisions.  Outside of domains where such documentation is absolutely mandated for regulatory reasons, the thinking tends to be "let's be Agile" and just talk about it as we go.  That's lovely for one-off projects where you might have a few thousand lines of code that is solving a singular and specific problem.  It absolutely sucks when you are creating infrastructure that you expect other developers to use. 

Here's the problem as I see it:  Infrastructure software in particular generally depends on the user having a working understanding of how it works in order to use it in any meaningful way.  A person coming into your infrastructure a decade after you made the first design decisions has no idea what those decisions look like, or the approach to partitioning the domain that you as a developer and architect took.  It is wholly inadequate to tell us "Oh, it's all in the API documentation" - although I can deduce certain things from the API, the public API still represents a wall to understanding the underlying architecture of the software and the assumptions it makes. 

My first exposure to this came back in the 1990s when a nameless software vendor decided to switch their implementation of the UNIX socket system from being based on BSD to being based on AT&T System V UNIX, and I had to migrate the product I was working on at the time from one to the other.  The result was catastrophic because what the vendor attempted to do was shove a "compatibility layer" in so that software using BSD socket conventions would still compile.  Sounds good right?  No - the result was catastrophically wrong. 

Here's where documentation came to "save the day" - although the process of getting there was about as much fun as removing porcupine quills from your backside.  It turns out that BSD sockets had different behaviours behind the scenes than System V sockets - in particular when handling certain kinds of faults. 

Sorting out the issues ended up taking a whole bunch of effort and eventually determining that for semantic reasons, you cannot successfully implement the BSD socket API on top of System V sockets (although the other way around can be done!).  If it wasn't for actual documentation of the specifications, it would have been next to impossible to make that determination.  

You might say "well, that's a very specific case, and it has been sorted out, so?".  

My response to that is this:  Even in the world of Open Source software, the same issues arise regularly.  Software is complex, and not everybody has the time - or inclination - to tear apart the code you have written to figure out the underlying architecture and design decisions.  Most people want to be able to _USE_ your software, but that really does mean making visible the fundamentals of the underlying design so that when we look at the public API you provide we can understand what we are interacting with. 

API-only documentation is absolutely useless if the intent behind that API is not made visible.  Likewise, good documentation has to be searchable, indexed, and approachable from different perspectives.  _YOU_ as a developer of a particular piece of functionality may be a domain expert both in the software and the problem domain, but not everybody who comes to your software will have the same background and depth of knowledge you do.  Your documentation should reflect a working understanding of that. 

Good design documentation - even if it is written "after the fact" is still valuable because a decade after you wrote the software, someone else may encounter it and have to pick up where you left off.  In my professional career, I have had to jump into code that someone else wrote many times.  The people who bothered to document their designs made my life much easier in the long run (and usually wrote far better solutions).  

Yeah - I get it - not everybody wants to sit down and write out plans for what they are going to build - it's way more gratifying to get into coding and make things work.  You know what?  Good design that you can actually document is almost always going to provide you with a better solution in the long run - and future you may even benefit from it.  

Saturday, December 06, 2025

Governments Seizing Powers They Have No Right To

In Alberta recently the UCP government has written a number of laws which undermine the role of the courts as a check on power.  There are several strategies that are being deployed, and all of them ultimately attempt to make it impossible for citizens who are affected by these laws to access any kind of remediation for the harms done by the law. 

There are several strategies in play that we need to talk about.  Some of them I have already talked about in considerable depth here, the others I have not addressed yet, and this post will serve as a jumping off point for thinking about these things.   

The strategies that are being used are: 

  1. The Notwithstanding Clause
  2. Final Decision Rests With The Minister
  3. Self-Indemnification Clauses 

Tuesday, December 02, 2025

May I Introduce The Phrase "Ultra Vires"?

Alberta plans to invoke its "Sovereign Alberta" legislation as part of "fighting back" against federal firearms legislation that bans firearms that are commonly seen as "military-style".  As the first application of the "Sovereign Alberta in a United Canada" legislation, you can expect to hear a lot about this subject in the coming months.  

I'm not going to opine on the merits of the federal legislation/regulations at issue here.  Gun control and rights around firearms in general are contentious at the best of times, and I think that people who are on either side of the issue already have their opinions and arguments set out.  

This post is going to be about the "Sovereign Alberta" legislation and what it purports to do.

We Are In A Constitutional Crisis

We Are In A Constitutional Crisis Lots of people are arguing that if the Supreme Court of Canada (SCC) rules to restrict the Notwithstanding...