I received the following in response to my letter about the basic income pilot project that the Ontario government is cancelling. I know this is a form letter, but it doesn’t address the pilot project at all, and talks about the 1.5% increase in “support rates” as if this is up from 0%, not down from the previous government’s planned 3%.

None of this is surprising, just disappointing.

Thanks for getting in touch with me to share your views about our plan to reform social assistance in Ontario. I appreciate hearing from you.

Our social assistance programs are an important part of the safety net designed to assist our most vulnerable people. This is an important responsibility, and one we take seriously. Upon assuming government and reviewing the system we inherited, it quickly became apparent that the status quo was not working for people in need. Instead of helping people get their lives back on track, the old system left too many people trapped in a cycle they could not break out of.

We’ve set an accelerated 100 day deadline to develop and announce a sustainable social assistance program that focuses on helping people lift themselves out of poverty. Our goal is to do more to help people get off social assistance, find good jobs and get their lives back and track. While we are doing this work, we will be providing Ontario Works and Ontario Disability Support Program recipients with an across-the-board 1.5 per cent increase in support rates to help them with a higher cost of living. These efforts will go hand-in-hand with our previous commitments to reduce gas prices by 10 cents per litre, lower hydro rates, and provide targeted tax relief for working parents and minimum wage earners, all of which will provide focused benefits to lower income families.

Social assistance will always be about compassion for people in need, but it must also be about lifting people up and helping them get their lives back on track through more jobs, more opportunities and more hope. Tackling the serious issues facing our social assistance system isn’t an easy thing to do. But it’s the right thing to do, and we’ll get this right.

Thanks again for contacting me.

Doug Ford Premier of Ontario


Ontario’s previous provincial government started a Basic Income pilot project. It was to last three years, and has just been cancelled by our new Progressive Conservative government, on the grounds that it’s “not sustainable”.

We should all be writing our representatives about this. Here’s my letter to Premier Ford and Children, Community and Social Services Minister MacLeod. Feel free to make suggestions, or copy it for your own letters.

Dear Premier Ford and Minister MacLeod,

I’m writing to express my extreme disappointment in your decision to discontinue the basic income pilot. Basic income may be a powerful tool to spend less money to help more people. (It may not be; we don’t know yet.) Similar programmes have been successful elsewhere and I was pleased to learn that the previous Ontario government wanted to study it too.

Cancelling the programme before it is complete is a waste of money and pre-supposes its results. Moreover, the reason given by Minister MacLeod – that it isn’t sustainable – is ridiculous in the face of it. By nature of its pilot status – with defined budget and, more importantly, an end date just two years from now – sustainability is not an issue. In fact, its purpose is specifically to study the sustainability (and effectiveness) of a basic income programme.

Do not make excuses. Your given reason for cancelling the basic income pilot is nonsensical, so we are forced to assume you are cancelling it simply because you don’t like it; that it doesn’t fit with your conservative ideology. Either say so, or wait until the pilot is complete so you have the necessary information to decide whether to implement a basic income programme providence-wide. (Preferably the latter.)

Jason Sadler


If you’re into Hearthstone, you probably see people posting decklists to Twitter, like this:

The big ugly string at the bottom is a deck code, which you can paste into the game to build a copy of the deck. There are also a lot of great tools out there to help improve your game. One of my favourites is HSReplay.net because it keeps track of your card collection via Hearthstone Deck Tracker, so it can show you how much dust1 it would cost you to build a given deck.

I’m a casual player, so this is always the first thing I check. So I wrote a python script to make it easier! You can integrate it with macOS’s Automator, or in iOS via Pythonista, potentially with the help of Workflow. It takes a block of text (of a tweet, for instance) as input, finds the first thing that it thinks looks like a deck code2, and generates an HSReplay.net URL. For instance, if run on the tweet above, it generates this link.

The script is available here.


  1. One of the game’s two currencies. You can use gold to buy packs of random cards, and you can use dust to craft specific cards. 

  2. Any part of the string that has 30 or more consecutive characters with no whitespace 


After the Facebook / Cambridge Analytica catastrophe and recent Twitter news (and retraction) about support for 3rd party clients, I found myself wondering about Micro.blog again, after hearing about it on Kickstarter a little over a year ago.

On the surface, it’s an indie Twitter-like app, in the vein of the now-defunct App.net, but whereas App.net was a Twitter clone – a silo where all interaction took place within the App.net platform – Micro.blog is more like a bit of glue to create a social app out of the larger web. (Brent Simmons has an excellent post about the differences.) You can pay $5 a month to get them to host your microblog, but by adopting some web standards like RSS and webmentions, you can host your microblog on your own site. If you’re on WordPress you can publish to your site using the Microblog iOS and Mac apps. Replies are a bit of a bugbear, though: they’re handled entirely within Micro.blog if initiated using the app’s Reply functionality, or threaded in properly if you post from your own site with the proper webmention URL.

It sounds a lot like a social RSS reader.

At the same time I was considering all this, I came across another post by Brent Simmons talking about the “IndieWeb”.

IndieWeb

The IndieWeb is a people-focused alternative to the “corporate web”.

Even the IndieWeb website doesn’t do a great job of explaining what it is, or what it means to “join the IndieWeb”. As far as I can tell, it’s a collection of practices and technologies that connects independent blog-type websites together into a quasi social network. Sound familiar?

There’s a lot of overlap between Micro.blog and IndieWeb (webmentions being the most significant commonality), and IndieWeb isn’t one monolithic thing. It’s a collection of independent-but-related stuff like IndieAuth (for authenticating yourself online based on your website) and microformats (a feed like RSS, but using HTML classes on your site instead of data on a separate URL). There’s also an overarching philosophy – which I’m not sure I entirely subscribe to – of community, owning your own content, and nostalgia for what I think they’d call the pre-siloed web.

JSON Writes

I’ve recently moved this blog from my own Concussion blog engine to WordPress. Concussion was getting annoying to write for1 and there were a few things I wanted to try out that wouldn’t work well on a non-CMS-based system.

I’ve got it all set up for Micro.blog and a bunch of IndieWeb stuff. (You can find me at micro.blog/sadlerjw.) Anything I post here automatically gets mirrored to Micro.blog and Twitter, and replies in either location get routed back to my site as comments.2

It’s interesting stuff, and it was fun to re-implement my site as a WordPress theme, but I feel like some things are missing. For instance, if someone replies to a post on Twitter, the reply gets sent back here as a comment. However if I reply here to that comment, it doesn’t get sent back to Twitter. Alternatively, I could write a brand-new post using the Twitter reply as a “reply-to” URL, and that would correctly be sent back to Twitter, but then the conversation as visible here would be scattered and hard to follow. I’m going to be experimenting with some other WordPress plugins to try to apply some finesse.

So: so far, so good. It does feel a little odd, as someone whose friends aren’t on these platforms, and who’s not a prolific blogger or “content producer”. We’ll see how it goes. If nothing else, it was a fun experiment!3

In the meantime, if your RSS subscription is including my title-less micro posts, and you don’t want that, check out the links on the Feeds page.


  1. I had to add new posts using git, without a way to preview how they would be rendered; my article parsing regex was also failing on a new post I was writing, and for the life of me I couldn’t figure out why. 

  2. I’ve got commenting turned off for now while I try things out. 

  3. And a little PHP refresher. (Yes I know that’s a dumb example, but it’s funny.) 


Google, Diversity, and Hiring

Your hiring process tells people what you care about.

Note: thanks to my friend and QA extraordinaire Natalie Owen who helped me make sure this added to the conversation and didn’t distract from other important issues brought up by the recent Googler’s document.

I want to share some brief thoughts on the latest bit of evidence of the deplorable state of diversity in the tech industry, the screed written by a Googler about how women and minorities are supposedly inferior engineers and how he feels persecuted as a person who holds this and other self-described right wing beliefs.

Others have done a much better job than I can of addressing the actual document and its misguided arguments, but I wanted to quickly touch on one of the reasons I think we end up with these outcomes: a company’s approach to hiring.

None of this is particularly original or new, but I thought it might be useful to attach it to the current situation.

I don’t want to suggest that lack of diversity and the kind of toxic culture that it perpetuates is not an industry-wide problem by focusing only on Google (it unequivocally is industry-wide). And there are both wonderful and awful people working at any large technology company. But is it any surprise that a company that hires based purely on algorithmic puzzle solving ends up with people so lacking in empathy? That ends up with a culture where this guy felt comfortable writing and sharing this bullshit, directly telling his female and minority coworkers that they are less-than?

As others have said over and over, it’s not a pipeline problem1 that women and minorities are so woefully under-represented in our field, but it is a hiring problem, and on many levels. To focus at the level of the interview: when you select for IQ at the exclusion of EI2, when you trust your full day of academic tests over a person’s work history or references, when you ask questions about obscure APIs instead of how the candidate has handled situations where they’ve had a disagreement with their colleagues, you send a signal about the things that you care about and the things that you don’t. Certain people won’t even consider applying. And those people who hold toxic beliefs, who espouse gender exceptionalism and individual power, but who happen to be brilliant programmers, they are who you hire. And the cycle continues.


  1. It’s not a pipeline problem in the sense that “there aren’t enough women or minority developers out there.” (There are.) It is a pipeline problem in that companies exclude these groups at every step of the pipeline. Several of the articles linked from this post go into this in more detail. 

  2. Emotional intelligence