Canadian Federal Election 2019 – My Vote

Warning, Canadian politics ahead. I generally try to avoid politics here but hopefully one or two posts per election isn’t too annoying.

I’ve voted Conservative as many times as Liberal and I try not to be partisan.

This time I will vote Liberal – perhaps with a bit less enthusiasm than last time. There are a bunch of reasons for and against but the main ones are: climate plan, taxes, deficit and that, in my view, the current Conservative party isn’t really a conservative party anymore.

Let’s start with the approaches to climate change. The Liberal plan has a carbon price. Putting a price on something and letting individuals and businesses optimize it away is fundamentally a conservative approach that is based on the key principles of our market based economy. It is widely accepted by economists as the most cost effective way to tackle climate change. Sadly, the current Conservative party has chosen to ignore their own principles and demonize this approach because it’s easy to talk about a ‘tax’ and scare people. They also take advantage of the fact that the rebate approach which leaves >80% households better off is counter intuitive to most people who don’t investigate how it works. Instead of this small government, market based approach, the Conservative party has settled on something with no targets and more government intervention. Bluntly, I don’t see principled conservatism here. I see opportunistic populism. One of my biggest fears of this election is that if the Liberals lose, no major party will touch carbon pricing for a long time.

On to taxes. I’m not someone who votes for tax cuts and certainly not tax cuts for people like me who don’t need them. I’m quite fine with the taxes I pay and what I get in return – things like schools which train my employees and the roads that get them to work and free healthcare (that doesn’t mean I’m OK with waste but that is another discussion). That said those who do care about tax cuts should know that in the last four years the small business tax rate has been cut and most people pay less federal tax than when the Conservatives formed the government. On the small business front, the Liberals reduced the small business tax rate but also made some changes which were designed to target professionals like doctors who used small businesses to avoid paying their fair share of income tax (like everyone else with a job does). In this campaign, the Conservatives have used these changes to try to paint the Liberals as anti-small business. As someone who in theory ‘lost out’ in those changes, I 100% disagree. Business owners get to keep all the profits of the business, that’s the point. We don’t need and shouldn’t get special benefits on the income tax front for ourselves or our family. Cutting the small business tax rate as a trade-off to close these loopholes seems more than fair to me. On a side note, the idea that there were (are?) enough loopholes that ‘tax planning’ exists is very sad. Simple is better. Also, the Conservative party’s love of non-refundable tax credits (only those wealthy enough to pay tax benefit) for stuff like sports is in-efficient and gimmicky.

Deficit. I’m not a fan of deficits and this is definitely a point against the Liberal plan – at least if you believe the Conservative plan. I especially don’t like the increased spending promises that happened during the election campaign. That said, the current government’s spending is actually *lower* as a percent of GDP (comparing total dollars over time makes no sense because of inflation) than when the Conservatives last formed government so when I hear them talk about the current level of deficit being the end of the world, it falls on (my) deaf ears.

At just 1 per cent of GDP, federal debt-service costs in 2018-19 were lower than at any time since at least the mid-1960s. Ottawa is currently spending less on debt servicing than during the Stephen Harper era.

The deficit has been growing more slowly than the economy so the debt burden is actually doing *down*. Finally, the ‘good financial stewards’ message that the Conservatives tout is marketing not truth.

Image result for debt by prime minister

More important to me than all the above is that current Conservative party is now more of a populist party than a true conservative party and at least some people at CPC HQ have some pretty questionable morals.

On the populist side, I’ve already mentioned one area, climate policy, where they are quite happy to ignore real small government and market principles and leap to populist messages and more direct government intervention. Promising to bring back the tax loopholes, under the populist guise of helping small businesses, is in the same category.

Regarding party morals, I could go on at some length about the things I’ve seen during this campaign that bother me but a couple highlights are:

When I mention these things the first retort is usually that all sides are doing this. Since these tactics bother me a lot and I don’t want to vote for anyone that goes down this path, I spent a couple hours comparing the CPC and LPC Facebook pages to get a sense of the tone and fact check the posts. The CPC page is so much worse in this regard that it is hard to talk about. Try this exercise for yourself and I’m confident you will reach the same conclusion. I don’t know if my local CPC candidate is as morally bankrupt as the central CPC team is but as leader, Scheer gets to wear the stink of this from my point of view.

In the end, what I really want is a fiscally conservative party without the crazy. Until that party exists (again?), I will live with (small) deficit spending to get a climate policy that has a chance of helping, tax cuts for lower income people and much less repugnant election tactics. In actuality, I’d like to see the current Conservative election campaign fail just to discourage others from trying these tactics again.

For anyone thinking about voting Green or NDP on environmental grounds, I understand that position but I think it’s dangerous to let idealism win out over practicality. The Liberal government would continue to move in the right direction on climate change and other environmental dimensions much more quickly than a Conservative government will. It may not be as fast as you would like but it’s in the right direction and from that point, it will be easier to push farther. I am also concerned that the Green party’s aggressive plan will be so disruptive that it will turn the tide of public opinion against climate change action. Society can only absorb so much change at once and people who are scared for their jobs will choose their economic security over environmentalism every time.

Where standards belong in networking

I enjoy these wide ranging, deeply technical conversations.

One particularly interesting tidbit occurs at 27:30 when they are discussing the need for a standardized inter-controller protocol/API.

If you go to other software domains, they don’t have a need or want for standardization at this level.

You’ll want to listen to the following few minutes to get the gist of the whole line of thinking.

Interesting Paper

COZ: Finding Code that Counts with Causal Profiling

This paper is worth reading just for one neat idea. Everyone wants to make their code fast. If you had a magic wand that enabled you to ‘make function X’ faster then you could measure the impact on the performance of the system and you would know how important said function is to the overall performance. Obviously, this is a bit silly because if you had such a wand, you would just use it everywhere and not have to optimize the code yourself.

This paper inverts this idea. Instead of making function X faster, they leverage a neat trick to make every other function slower. Then the relative importance of the function to overall system performance can be measured. The results are impressive. Neat!

Note: The paper doesn’t just look at whole functions.

A bit of me died when I turned off my email server

As of a couple days ago, for the first time since 1997, I no longer run a production email server – I’m a bit sad about it.

I’ve long been a proponent of distributed communications systems like email. I spent a lot of time with XMPP but eventually had to concede I was never going to get my non-uber-geek contacts to use it. However, I stubbornly continued hosting my personal email on my own server. It wasn’t a huge amount of work as I had experience running email servers with thousands of users so I didn’t have to learn anything new.

Over time keeping up on the spam and email authentication tools has gotten to be more work and I’ve had some problems with Outlook classifying my domain’s email as spam. Since neither the server’s addresses nor the domain have been in any email blacklists, I presume that some of the delivery problems are simply that my little one inbox email server doesn’t generate enough traffic to build a good reputation. Add to this that my trusty server, which has been running without failure since 2007, is long overdue for a component failure made it time to move on.

AF_XDP and io_uring

io_uring is a new interface for asynchronous I/O to the Linux kernel. The LWN article and the io_uring design doc are both worth reading. I’ve been playing with AF_XDP a bit and after reading the io_uring doc it seemed like some of the io_uring ideas would be great enhancements to AF_XDP. Happily, one of the more interesting features, adding a wake-up flag to AF_XDP to avoid syscalls, was recently posted to Netdev.