2018-06-08

Ordinary BCers, the pipeline and the NDP

Someone said something on Facebook and it set me off on a subject of note. It started when one guy said, "We must get different news in Ontario" and then someone else said that the minority NDP provincial government was popular only with the protesters. And something snapped. This is what popped out:

No, it's not just "with the protesters". There are a lot of people who've never held up a placard who are 100% against this pipeline. Pipelines are safer than trains and trucks, yes, but EVERY single joint in a pipeline represents a non-zero source of risk, most of those joints are going to be in horribly inaccessible places that are also upstream to most of us. The resulting coastal tanker traffic would go up from 40 per year to 1 or 2 every day, and if only one of those tankers ever spill, several 10s of thousands of people's livelihoods (vs. the 10s of long-term jobs the pipeline might supply) based on the relatively (very, VERY relatively) pristine state of our coastal waters would be seriously compromised.

Support for the pipeline in BC is not overwhelming. Opposition to it isn't either but the opposition has more to lose than the support has to gain from it being built so, they're a bit more passionate about it than the supporters. So, a lot of us are pretty happy with what Horgan is doing even if, like me, we've never voted for the NDP.

If you'd like barges of dil-bit going through your favourite holiday lakes, up and down your scenic rivers' rapids, then yeah, you can tell us tree-huggers what to do with Alberta's pipeline. But it's possible to be sane and to oppose the building of this pipeline vehemently. I am thankful for what Horgan is doing, what our First Nations neighbours are doing and I am appalled at the bad-husbandry that led to the extraction of this only slightly flowable tar from the sands of Northern Alberta in the first place. And the best spin I can put on Trudeau buying the pipeline is to prevent the collapse of trade relations with His Frogness to the south because of our rational opposition to this long-term source of poison and disaster that big oil has been trying to foist on us.

Still, it's pretty amusing watching the NDP try to retain a national identity between Singh, Horgan and Notley. But to finish it all, I'm sure the pipeline will be built. I'm sure it will cause at least one disaster (Exxon Valdes has NOT been cleaned up successfully to this day) and I'm sure that the people who benefit most from it having been built will bear the smallest amount of the cost of the overall problem. It's stupid, but it's happened before. It'll happen again, all from a mis-translation to "fill the earth and subdue it" of our original mandate. Shame on us all, myself included.

2017-06-16

Comparing BC Election 2017 with Regionalized Proportionality, part 1

I came up with an answer of how Regionalized Proportionality, as I envisioned it, might change our electoral result. The spreadsheet will follow, as promised, after a few more tweaks, but this is a comparison of
  • the actual result of our election as is (FPTP)
  • what it might look like if the Province's votes were counted to a single list across the board
  • what it might look like with Regionalized Proportionality
           Actual Result    Province Wide Proportional  Regionalized Proportionality
Liberals:       44                  36                          42
NDP:            41                  35                          35
Green:           3                  16                          10

So, the end result, either of province wide proportional representation, or of Regionalized Proportionality would probably mean that Ms. Clark would follow the same course of action as she has so far, but holding a gun to the heads of her caucus to prevent any from standing as Speaker wouldn't give her the opportunity of (legally, yes; morally, no) slow-marching us to another $44M election this year.

But I write this before pushing my spreadsheet up in order to make a few interpretive comments on my experiment.

For one thing, I was shocked at how much more population there was in Metro Vancouver than the rest of the province. Until you see "42 of 87" staring you in the face, you don't realize what's happened. Until you see that "55 of 87" members come from largely urban areas (Metro Vancovuer, Capital and Fraser Valley Regional Districts) of the province, you don't realize the cause of feelings of  isolation and neglect the rural areas of the province feel -- something easily attested anecdotally if you have any contacts in Clinton or Valemount -- or even larger towns like Prince George or Quesnel.

For another, one thing that slowed me in my tracks were allegations from various places of undue influence by the Liberals on the latest realignment of districts which prevented seats being lost by the rural areas to the urban areas. Some blamed the NDP loss on that detail, and it's possible -- even likely, if you understand how power tends to be good at maintaining itself -- that the measures taken during that process by the Liberals were calculated to retain power rather than allowing a purely just process to run its course. Someone used the word gerrymandering and suddenly many were using it. In my opinion, this was completely, utterly, annoyingly inappropriate. We haven't had a case of outright gerrymandering in BC since the retraction of "Gracie's Finger", named after the inimitable Ms. McCarthy who was so prominent in BC politics during my teen years.

I was reminded in those pieces of people blaming Ms. Clinton's loss of the 2016 election on Comey, Wikileaks, Benghazi, the E-mail-server vs. others of her own allies admitting that she wasn't a really great campaigner. Locally, blaming "gerrymandering" seemed to me to ignore that fact that there were many little places around the province to which Mr. Horgan didn't go; that perhaps he tailored his messages to appeal to urban as opposed to rural voters; that he left a few rural long-standing NDP members to twist in the wind on their own -- and they went down to defeat without commensurate gains in other parts of the same regions. Perhaps, when it comes down to it, the NDP didn't do so well because he wasn't such a good campaigner either.

The allegation of influence on the redstricting slowed me down because I had noticed that the rural areas were slightly over-represented, but I hadn't come up with some of the numbers that were being bandied about on that front, like 25% too many rural ridings, a number which would raise some alarm, and I wondered if I should go back and analyse those parts more closely. I had seen individual ridings being 5% under-populated -- and maybe that's where these numbers were coming from.

It shook me, too, because Ms. Clark's "directions" to Elections BC flew in the face of something that has been a point of pride for me in comparing a Westminster system to our southern cousins: that re-alignment of districts is largely apolitical since Elections BC is responsible to the Speaker and through the Speaker to the Crown and not to the Premier. Perhaps I've been mistaken on this point -- still we don't have anything like that "Hall of Shame" that can be constructed from the various district maps drawn by party-dominated committees.

In the end, I decided that re-examining this question was for a later date -- but by then I had dithered much longer about the results of my study than I ever intended to.

For a third point, while I consider Ms. Clark's charge to her caucus not to stand as Speaker for an NDP-Green coalition highly un-neighbourly and un-Canadian, I also bemoaned the instability of such a thin minority government -- EITHER WAY!! The level of rhetoric against minority governments in Canada is pretty astonishing because given the concentration of power in the Premier's or Prime Minister's Office since the days of Trudeau (P.E.T., not his son) majority governments are term-by-term dictatorships.

I believe that minority governments can be the best results, if only the players see their first task to be governing well, rather than maneuvering matters so that the government falls at the peak of their own popularity -- this is what seems to have played out in the Pearson-Thompson and Pearson-Douglas mandates, federally. Many of the opponents of reform and proportionality of any kind utterly ignore these historical facts, and as it stands today, a straight proportional result would give either a Liberal-Green or an NDP-Green co-mandate a lot more stability than what's been delivered by First Past the Post. Perhaps, in a world where most elections will result in minorities, penalizing all parties financially for allowing a government to fall before the four-year mandate would influence their behaviour in such a case? But perhaps if the parties understand that EVERY election will result in minorities, such a penalty might be unnecessary.

Finally, one other cause of my dithering was that I realized that there was a limit to how deeply "Regionalized Proportionality" could be applied without introducing fuzziness of its own -- but this piece is long enough already and I'll address this in the next one, in which I will also release the spreadsheet. It shouldn't take too much more time.

2017-05-10

BC Election Result -- 43-41-3

Wow. Who saw that coming?

Before last night I started working on the "party lists" and got some for Fraser Valley, and then much of Vancouver but it became ponderous and, I felt, somewhat pointless, because in reality, this sort of thing should be handled completely differently. I could share them here but it wouldn't add to the discussion really, except to point out that in a consolidated riding, "Independent" candidates are far less meaningful even than they are now.

But last night, when things still looked like ending 42-42-3, I took a look at my consolidated Okanagan riding, Kelowna + Penticton, and decided that collapsing four seats is too few. I ran the same numbers adding Vernon-Monashee and decided even five was too few. I'll present the full data set some time soon but I think, for myself, that any grouping for proportionality's sake, of less than six seats is probably too few. The result would be as arbitrary in its way as the current First-Past-the-Post results look now. It also led me to feel that it would be best to use Metro Vancouver as a single riding. If it turns out (as it may) that even Fraser Valley (six members) and Victoria (seven members) contain too few seats so that the result is too coarse to feel fair, splitting Metro Vancouver into three ridings, (18, 13 and 10 members) would do more harm than good.

Maybe it means, too, that the right way to run this is to consolidate even some of the intermediately-populous ridings together. Does a Thompson-Okanagan riding (10 members: Kelowna's 3, Penticton, Vernon-Monashee, Boundary-Similkameen, Fraser-Nicola, Kamloops' two ridings and Shuswap) make more sense? More data to run! Yum Yum.

Only let's do this on evidence. I understand (from interviews last night) that "Proportional Representation" and "Campaign Finance" are the bedrock issues that the Green's will want as conditions of co-operation. I would be flattered if my mutterings-in-a-corner contributed anything helpful to that discussion.

2017-04-19

One more thing to do before the election...

I woke up this morning realizing that there's one more thing I could do before the election comes around, and that would be to generate theoretical lists for my consolidated ridings.

I'm no party hack. I'm not on the inside of any process, so I don't know how any of the three (and more, really) parties would rank their various candidates in a given region for a list. I'm not sure what I'll do to make up for this lack of knowledge. I think, for starters, I'll rank people who have ever been elected Provincially, Federally, Municipally, in that order, ahead of others -- and current incumbents at the head of each sub-list. After that, I'll just try to be sensible. I know it won't resemble what the parties would actually do particularly closely but I'm just one guy (not quite the unshaven guy in his parents' basement -- although I have a beard, and the part of the house where I'm typing is on a cement pad, but I'm the parent in this house) not the scores or hundreds that I would hope each party would consult (their members, their executives) in generating this kind of list.

I don't know if I'll have the time to complete these list before the election but I'll start with the Fraser Valley, where I lived all my adult life until 6 years ago, and then Metro Vancouver where I live now, so that if I run out of time, I'll at least have finished one set of lists and I'll have looked at the places I know better, first. I've never lived in Victoria, nor in the Okanagan. Maybe someone who does / has could have a look at those two areas and let me know? The comments need moderation and I may not be instanter at approving them but they would be a way of getting back to me.

All Candidates Meeting -- Coquitlam-Burke Mountain

I just attended the all-candidates meeting in Coquitlam for the Provincial Election, in the riding of Coquitlam-Burke Mountain.

It's good we have the freedom to hold these things. And I'm grateful, really I am to the Real Estate Board and the Chamber of Commerce for setting it up. I even appreciate the attempt, through social media to get the pulse on the issues by asking for social media votes on the questions. You can still see the leftovers by looking at https://www.sli.do/ and entering ACD1. I don't know how long they'll be up there but as of this writing you can see the flavour and distribution of the questions that were asked from the list that's there. The ones that were asked were removed from the slido web site (as opposed to being marked "done" -- "feature request!" shouts my inner geek) so you can't see them at all.

But my Most Important Issue, electoral reform didn't come up. Oh well. It did get a few up-votes. I get it. "Meta-issues" don't bleed, so they don't lead, and as meta-issues go, this is both really, really important and really, really wonky. I get it. Maybe electoral reform is on a fringe, but if it is, I'd like to think it's a sound-mind fringe, not the lunatic variety.

As I promised from the (6 links in the next six words!) beginning, right through to the end of my series looking at how Regionalized Proportionality would work out in BC, I will analyse the results of our provincial election to see what kind of a legislature we could have had. So stay tuned...

2017-03-17

The Hon. Ron McKinnon (my MP) sets up a council for Seniors Issues

I excerpt here, the bulk of a note I sent to my MP in response to this announcement, commending him for taking an interest in what is often a very vulnerable community, and yet...

Speaking as someone just behind the bulk of the Baby Boomers as they've progressed through each demographic ahead of me (my birth year in the not-so-late 60s marks me as a "trailing edge boomer")...

It strikes me that the best way to guarantee that things will be okay for me when I get to be in that demographic, would be to turn back the clock on some of the pension off-loading that was done as a result of the governments that the current seniors voted in time after time.

The whole transition away from defined-benefit pensions to RRSPs was a great social injustice. Individuals are not set up to absorb risk well and I am looking at my impending retirement with a mixture of grim determination and thankfulness that my trade does not depend on a hale constitution but only on the retention of a sharp mind which, so far, has shown no sign of beginning to ebb. I write software.

It strikes me, further, that an annual limit on CPP contributions benefits the rich only and I would ask that this limit be removed, at least insofar as the contributions are concerned. Given that all CPP contributions are currently tax free, it would be wise to retain the limit there: to make CPP contributions up to the current limit tax free (as now) but not those above and beyond that point. This should prevent any impact on general revenue that my proposal would otherwise have.

Further, I believe it is moral and desirable to make all personal capital gains subject to a small CPP-contribution sur-tax as well. I am, in a very small way, borrowing from Piketty here, in his proposal to fund re-equalization across all of society. I'm not proposing that this sur-tax be very big. Something along the lines of 0.2% of the Capital Gains Tax already being charged would be small enough not to be odious to the individual, but potentially effective enough to make sure there'll be some CPP there for me (and my generation) to collect. This will be something we'll be thankful for in our turn, when we finally realize that we haven't been such financial wizards as we were told we could be, with a mechanism (RRSPs) that was originally crafted, in the days of highly progressive income tax (before the days of Reagan, Thatcher, Murdoch and Mulroney), to tax executive bonus schemes more gently and over the longer term. Of course, the returns of the markets of those days have gone away and it's not clear that they're ever coming back.

I admit that I may be able to retire comfortably on the proceeds of down-sizing my dwelling at some point -- but then again, maybe not. And what about my kids? This is a proposal for the long term, not just for me in a case where BC Real Estate suddenly becomes far less desirable than it currently is.

Expanding the CPP contribution base like that would be an action that I would support whole-heartedly, so that I might even vote Liberal next time. As it stands now, though, an announcement like yours strikes me, emotionally, like pandering to a large group of people other than me who have already benefited greatly from a certain set of one-time economic conditions and poisoned the well even for the long tail (me) of their own demographic. I don't begrudge them the support you are giving them as they have entered the "other" (besides infancy and early childhood) "most-vulnerable" time of their lives and desperately need more support. I just wonder if anything can be done so that something is there for me, not to mention the next generations, when we all get to be that age.

Sincerely, etc. etc.

Perhaps some of you want to propose similar things to your Liberal member of parliament? A simple idea coming from several directions has a better chance of succeeding than a single voice, no? To quote an elder statesman from the history of the current "anti-tax" political party from our large boisterous neighbour: "Taxes are the price we pay for a civilized society."

2017-03-01

The starter git project? Just a starter

Yesterday I mentioned that my git starter project had a significant gap (and closed it there) and a problem. I had noticed the gap before I posted the original, but I didn't notice the problem until, as I wrote yesterday, I tried to use the original for something else.

The problem was that the starter wasn't well laid out for further development. It showed how to bring the different pieces together in one place but not how one should lay things out for longer term ease of use. I considered laying down steps to change the project, but if a patch is a picture of a change to source code, and if a picture is worth a thousand words, then if you download this patch and execute the following commands, you'll see what I mean. (I'm assuming you saved the patch in your current working directory, beside the starter project)

========================================================================================
cd starter
git apply ../git-starter-patch.diff
========================================================================================

The result shows far more eloquently than I can briefly describe what needed to be done. Your final tool will need to use the code that you want to write and test -- but so will the tests! Putting the code next to the tool would make bringing your "test-me" code into a test as well as into the final tool awkward. After this patch, when you want to bring your library into the main tool, you can add a line to the top level CMakeLists.txt file, just after the "add_executable" line, to bring the library in there, too, thus:

target_link_libraries( starter math-primitives )

Then, everything will be compiled exactly once, available for linking in each different context (currently only two, but it could grow). Oh, and by the way, the test in the patch fails; so don't commit it yet!

2017-02-28

That starter git project? Don't stop there...

Two-and-a-half months ago, I posted a 10-step git starter. And I felt good, like I had probably made someone's life a little easier.

I also used it within a matter of weeks for the beginning of a "Coding Dojo"-ish project that my sons (one in the industry already, one about to graduate from SFU in Computer Science, one just in his first year) and I are working on together. Early on in that process, I saw a significant problem with the starter. There was also a significant gap in the how-to-use-this example script. Let me fill in that gap first, and then, later I'll show how to fix the problem.

The gap came in two parts as a result of running the example at home, where all the development boxen run Linux (arch, and fedora -- what a lot of typo-squats there are on fedora, though!). The first part of the gap came in the way I used re-directed cat to create the starting versions of all the files -- something that using Cygwin would have fixed easily enough. But the second problem, the real one, came up in the block after the 10 steps.

On Linux, I could use the default "Unix Makefiles" generator without specifying it at all. Under Cygwin, perhaps that would work as well, but for native Windows builds, especially where the system has several versions of Developer Studio installed (as my Windows development boxes at work often have), you'll want to choose a specific version under which to create solution files.

But wait, you say, I thought CMake was a build system!? Well it is, but not quite. Strictly speaking, it's more a meta-build system. You specify what's required to build what you want in CMakeLists.txt files, but then CMake generates build scripts according to the set of compilers you have on the system. It made the most sense for the project CMake was originally written to support, and given the differences in available functionality on the different platforms, with the different tool chains, it's probably the best choice. The compiler vendors know best what their build system wants. CMake knows how to build build scripts for the build systems listed here. I say call it a win and move on.

If you're building on Windows, and you're using Developer Studio 2013, and you've got both CMake and Developer Studio location on the PATH you would follow step 10 with...

----------------------------------------------------------------------------------------
mkdir build
cd build
cmake -G "Visual Studio 12 2013" ..
msbuild starter.sln /p:Configuration=Release
----------------------------------------------------------------------------------------

I'll verify this when I have an in-house Windows development system up and running, but even if I've messed that up, you should be able to open a ".sln" file from within the build sub-directory in Developer Studio and build and debug everything from there. Once a release version has been built, you should be able to run the resulting command line "tool" and starting "test", from within the build directory as

----------------------------------------------------------------------------------------
.\Release\starter.exe
.\test\Release\testStarter.exe
----------------------------------------------------------------------------------------

And you'll be able to run the resulting test with ctest, thus:

----------------------------------------------------------------------------------------
ctest -C Release .
----------------------------------------------------------------------------------------

The problem, which I'll address in another installment lies in where the test directory is in the example vs. where better practice might put it. Don't worry. Git and your favourite text editor will make this easy, too.