Niqabs are in the news again. Stephen Harper wants them off during the Canadian citizenship ceremony. The whole thing is surely a tempest in a teapot, as there have been a grand total of two, count 'em, two women since 2011 who have refused to show their faces during the ceremony, but it has started occasionally ugly debates on the limits of what is generally known as "religious accommodation".

First off, I should mention that I really dislike the term "religious accommodation".

It evokes entirely the wrong imagery. When someone is being "accommodating" they are doing something active, something they wouldn't normally do. So when someone says that they're being "accommodating" by allowing a woman to wear a niqab one gets the impression that this is something that they actively have to go out of their way to do - like changing lanes on the highway or something.

Read more →

In a previous post I wrote down some notes on the current state of the python packaging ecosystem. I felt that this was useful because most of the information that I found online was out of date or spread out in various places.

One area that still confuses me is the relative merits of requirements.txt versus files. Ironically, the best article I've read on the subject is aimed at ruby developers. I think python developers should read it - it's surprising (or maybe not so surprising) how similar the ecosystems are in this respect. I've even made a handy Rosetta stone, which is hopefully not completely inaccurate:

Read more →

Badges, on github and other code sharing sites, are a way to communicate small snippets of information concerning the status of your repository. They generally appear on your README file, so they are one of the first things you see when you load a repository page.

On my yawt page, for example, you can see several badges for things like my travis build status, and my GPA at code climate.

One thing that I couldn't find, however, was a pylint badge - a simple status that displayed your pylint score. This surprised me; it seemed like it should have been a common thing to want to do. Indeed, I'm still not 100% sure that I haven't simply overlooked something glaringly obvious.

Read more →

I use Emacs as a python IDE. The web already offers a significant number of resources on the subject but I've made a couple of specialized tweaks that I feel may be worth sharing. So here we go.

Why am I doing this? Well, the simple answer is that I like using Emacs. I do most of my writing in it. I use it as my task manager and TODO list. I have, in the past, used it as my email client. So it makes sense that I would use it as my python development environment. Your mileage may vary.

Read more →

Jacques Parizeau died not too long ago. He infamously commented that the 1995 Quebec Referendum was lost due to money and the ethnic vote.

I was in high school, in Toronto, during the referendum. I remember my school following the whole thing very closely. I remember feeling relief when the No side won (by a hair) and I remember the uproar that his statements caused afterwards.

A word about my background before we go on. It's a bit of a mixed bag. I have a British first name (Desmond) and a French last name (Rivet). My mother is Sicilian. My father was French Canadian, though not technically Quebecois by birth (he was born in Sudbury). I myself was born in Montreal, so I am, in fact, a Quebecois by birth, but an Anglophone one, despite my last name. To make things more complicated, I spent a lot of my formative years (high school, University) in Toronto, so people often assume I'm from there.

Read more →

Visiting Greece presented some interesting linguistic challenges.

I live in Montreal, which means I have at least some knowledge of the French language. I am not, by any stretch of the imagination, fluent in said language. Frankly, I'm not even very good. My French, basically, is terrible.

But while my French may be terrible, it is at least there. I'm generally able to ask for directions, order a meal from a menu, read the road signs, and even to some extent carry on a conversation, if I keep my words short and avoid slang. When someone says a word in French, I'll stand a chance of being able to match it up with a series of letters on paper, even if the word is unfamiliar.

Read more →

Evelyn and I decided, more or less on a whim, to travel to Greece this year. We went for ten days.

This was the first time we'd ever been overseas without knowing anyone at the other end. The one time we were in Europe together, in Lyon, we stayed at a friend's apartment.

Our itinerary consisted of Athens, followed by Santorini, Rhodes, Delphi and then Athens again. This is quite a bit of moving about and I feel like we saw a lot while simultaneously seeing very little. Greece is the kind of place where you can spit in a random direction and hit an ancient ruin. This is only a slight exaggeration. We are, after all, talking about the cradle of Western civilization. You can't hope to see more than a tiny fraction of all there is to see in only 10 days.

Read more →

I started YAWT a while ago, in python, because a) I wanted to learn a dynamically typed programming language and b) python seemed like a relatively easy, fun, popular, not insensible choice. To be fair, it is a fun language to use.

At the time, I gave very little thought actually packaging yawt - i.e. making it easy for someone to actually install and use. Mostly, I simply didn't think I'd ever have to do this - yawt was my baby, and I was the only one using it, so why bother?

My opinion about this has changed somewhat in recent months. I still don't think yawt is likely to be used by anyone but myself, but I find myself wanting to learn at least a little about how the python packaging system works - if only for myself. I mean, it should at least be easy for me to install it, right?

Read more →

It's hard to talk about the attack on the offices of Charlie Hebdo without sounding like you're either a) apologizing for violence or b) spouting tired platitudes about free speech.

I mean, sure, like everyone else, I fully condemn the attacks, given that being offended is not a reason to, you know, shoot people. I feel really weird having to say that. Like they joked on The Daily Show, I sometimes worry if I'm being "denouncy" enough.

But there was something in France's reaction to the attacks (all those myriad "Je suis Charlie" placards) that rubbed me the wrong way, though I was having trouble identifying what it was.

Read more →

David Embury classifies cocktails into two distinct groups: sour cocktails and aromatic cocktails. I've written in the past about sour cocktails but have been mostly silent about aromatic ones.

Until NOW, that is! It was an omission that just had to be rectified. Right? RIGHT?!

Aromatic cocktails are flavoured by some kind of aromatic wine, spirit, or bitters. Based on my (limited) experiments, I broadly categorize these drinks into:

  • Old Fashioned Cocktails
  • Liqueur or wine based Cocktails

But really, there's no real rule here. You basically take a base spirit and you flavour it with some combination of flavouring agent(s). Pretty simple.

Read more →