June 24, 2016 17:52 +0000  |  Europe United Kingdom 3

I'm in Canada right now, so we had to watch the carnage unfold in real time on a BBC live stream. As soon as Newcastle reported in with its weak Remain results, the pit of my stomach began to sink and things never recovered.

The United Kingdom has made what historians will refer to as the greatest and last mistake in its long history. Scotland and Northern Ireland are already talking about leaving the UK to join the EU. The pound has dropped to the lowest point in 31 years and France has now surpassed them as the world's 5th largest economy. They've lost more money in a few hours than they contributed to the EU in 43 years.

I woke this morning to a sense of surreal dread. One thing is certain: the UK is undone. The only question that concerns me is how much of their self-destructive behaviour will rub off on the rest of us.

The UK economy has already started to contract. Major banking institutions are likely to follow through with their promise to relocate to Dublin and Frankfurt. That will undoubtedly increase unemployment, driving the country further into recession. For Christina and I, there are dangerous times ahead.

Three Paths

The real danger though is how far this madness will spread. Given the likelihood of a Scottish (and potentially Northern Irish) exit from the UK, England must be considered lost, but what of the rest of Europe? I can only see this going one of three ways:

Special Status

The worst possible scenario for all involved would be if the EU is so fearful of instability that it caves to the UK's demands to (a) remain part of the European Economic Area (single market) while (b) not being beholden to the four freedoms. For the non Europeans, this would mean that the UK would have free trade with EU nations but not have to allow free movement of people, goods, etc. They might even try to get away with not paying into the EU at all.

This would be catastrophic as it would signal to the other EU nations that they too could have all of the benefits of the EU without the responsibility. It would embolden the weak separatist voices in France, Norway, Greece, and the Netherlands and spur similar moves to exit as well. It would effectively end the European Union.

Remain Part of the EEA

This is the most likely (however ironic) outcome. The UK would negotiate a Norway-like deal wherein they remain part of the EEA while still being responsible for the four freedoms. Effectively, this would mean that the UK would keep all of the responsibilities the Leave campaign said they wanted no part of, (free movement, financial contributions) but give up its right to have any say in how those responsibilities are determined. As a bonus, Nigel Farage's party would no longer have any seats in the European Parliament.

This isn't as dangerous as the "special status" option above, but it runs the risk of separatist parties declaring this a victory (this is post-factual democracy after all). If other nations follow suit, this could have crippling effects on the EU.

Out in the Cold

In this scenario, the EU recognises this for the opportunity that it is and cuts the UK loose. Over the following years, as the rest of Europe watches the UK economy wither, and the country fracture from Great Britain into Little England, the UK becomes a cautionary tale for would-be separatists: "Leave the EU, are you nuts? Don't you remember what it was like for the English?"

"Better together" would no longer be a campaign slogan but a statement of fact and it would embolden Europe as a Union.

The obstructionist English voice in the European project would disappear completely, allowing for the agenda of an ever closer union to progress. Dreams like a fiscal union and a unified military would become more feasible.

My Preference

I tweeted about this last night and it was not appreciated by a couple of my followers, but I stand by it. The "out in the cold" option is the best case for Europe, the worst for the UK -- but they've made their bed. The European Union is the single most ambitious project humanity has ever undertaken and if it's going to survive, it has to cut the UK loose. They've voted to leave, let them serve as an example of just what leaving means.

I say this of course as someone who lives in the UK. Christina has her job at Cambridge, so we're stuck there for at least a year, but when that's finished, we'll be looking to return to Europe -- this in itself is a risk, as it means waiting an entire year while anyone with a degree of mobility works to get out of the UK.

I don't know what we're going to do when Christina's contract is up. We want to move back to the Netherlands, but by then the EU will likely be awash in unilingual anglophones with marketable skills. This could be Very Bad for us.

But if it's good for the EU, we're ok with it.

March 06, 2016 15:17 +0000  |  Christina Free Software Grandpa London Ripe NCC Software Violet 0

I've been putting off writing this because frankly, I look back on 2015 and it really doesn't stand out too much. Especially when you compare it to previous years. In 2014 for example, I visited Australia and New Zealand. In 2013 I moved in with Christina, and in 2012 my parents came to visit me and we traveled to Paris, London, and Dublin. 2015 had its ups and downs, but honestly, I feel like a lot less happened this past year.

Two big things happened though, but you'll have to keep reading if you can't remember what they were.


As best memory serves, I only did 5 bits of significant travel this year, and only one trip was New and Exciting. I guess I can't complain though, these were all good trips.

Brussels & FOSDEM

As I do every year now, I went to FOSDEM for the annual Free conference. If you've never been, I can't recommend it enough, not the least because you get to meet the people who build the tools you use every day and thank them in person. You also get to buy all kinds of cool stuff that helps support these projects, which doesn't suck either.

Madrid & Seville

The most exciting trip of the year for me, not the least because Inga and Gerardo were getting married in Seville! I took a couple weeks off and did a solo trip to Madrid for a week before heading down to Seville where I met Christina for the actual wedding. The event was so pretty and both cities were lovely. It was a fabulous trip.


Another important trip was to Cardiff, not because it was Cardiff (because frankly, I didn't much care for the town), but because it was for DjangoCon Europe and I was giving my first public workshop wherein I taught a small group of people for an hour or so complete with exercises and a presentation I put together in advance.

It turns out, I really like this sort of thing. Maybe I'll be able to do it as a proper job one day.


Max and Julia, friends of Christina's from her law school days were getting married in a little town about two hours south of Vienna, so we flew out to the land of lederhosen and beer (seriously, there was a festival in town and everyone was out in their traditional garb) for a beautiful wedding in a castle.

The ceremony was long, and Catholic, and German, but the bride was gorgeous and the reception was excellent. Everyone had a lovely time.


The last big trip of the year was my annual visit back home to see friends & family. Violet is getting so big, and I worry that she really has no idea who I am. Like any 3 year old girl though, she's friendly and inclusive when it comes to strangers, so we still got along fine. I hope that one day we'll be able to stay in closer contact, but that's still a ways off.

It was also my last opportunity to see my grandfather alive.



My Grandpa died in 2015. It was harder on me than I'd expected, especially since he had spent much of the last few years essentially waiting to die. He'd become more isolated and frustrated as his body continued to fail him, and rarely if ever left the house. Still, I'm glad I had one more opportunity to spend time with him before he died, even if an unfortunately large portion of that time was spent in disjointed arguments and yelling about cable TV signals.

I wrote a eulogy for him, and then I rewrote it because the first one wasn't right. Every once in a while I re-read them.


Before my grandfather died though, Christina and I were able to give him the news that she and I are getting married. I proposed on a warm August day, but Christina didn't get her ring until months later because I left that part up to her ;-) We ended up getting a modest white gold ring with a manufactured diamond for ethical reasons and Christina seems very happy with it.

Unfortunately, actually setting a date has been tough thus far, but only because our professional positions are a little chaotic at the moment. More on that later.

Moving to London

The biggest news of 2015, and probably the primary reason this year didn't involve all that much travel is that Christina and I packed up our lives in Amsterdam and moved to London. The idea was that she would start at an exciting new job, and I would find work somewhere in a Big City -- something I've missed a lot since moving to Amsterdam 5 years ago.

The visa application process was completely insane:

  • £956 application fee
  • £850 NHS surcharge
  • €500 expediting fee
  • £860 visa agent fee

On top of this we had to compile a ridiculous amount of information including a complete list of every out-of-country trip I've made in the last 5 years. That one took a lot of effort, but the number came down to 53 trips -- yes, I'm rather proud of that one.

We also had to find a flat and sign a one-year lease without actually seeing the apartment. Our new home is cold, damp, small, and on the ground floor. It used to be a stable. We're stuck here 'til November.



It seems that every year that goes by, I adopt a new hobby project. In In 2013 I restarted Spirithunter (turns out Nintendo is going build a game just like it), in 2014 I had my father's RxLenses site, and in 2015 I started TweetPile, a project to help me collect all the tweets about anything in particular.

It took a lot of work, and I learnt a lot about asynchronous Python, but in the end, there didn't seem to be a lot of interest in it out there. The biggest problem is that people typically don't know what they want to collect on twitter until after the tweets have gone out. Twitter doesn't have a comprehensive historical API though, so you can't get all tweets in the past about "x", only stuff Twitter thinks is relevant. Long story short, TweetPile was fun to write, still works, but sadly isn't very popular.

RIPE Atlas Tools Magellan

After years of talking about it amongst the team and with the community, we embarked on actually writing a comprehensive command line toolkit for RIPE Atlas, the project I'd been labouring on ever since I started working there back in 2012.

This project was my baby, and I took point on it, dictating structure, choosing the license (GPL3!), and writing the lion's share of the code. I also worked with Andreas to adopt a proper pull-request-and-merge methodology, which was a nice change from how we had done things until then.

The result was a solid, thriving, community project that opens RIPE Atlas up to thousands of engineers all over the world. I'm really proud of this one.

Leaving RIPE

Of course, just as I started on an exciting new project, it was time for me to leave. I'd put in more than three years at the RIPE NCC, longer than any job I'd ever held, largely because I loved working for them.

It turns out that London has a lot of opportunities for Python nerds like me, so there were no shortage of jobs available. I had been spoilt by the NCC though, and wanted to continue working for a non-profit, so this tainted my search process. In the end, I ended up choosing to work for the British government. If you want to know how that's going though, you'll have to log in and see my private post about it ;-)


When I wrote this post for 2014, I talked about how I had big travel plans and possibly even dance classes in mind for 2015. In retrospect, I have no idea what I was thinking. I don't even remember what I was talking about then.

2016 promises to be interesting (new city, new friends, new job), but much of it is still up in the air. Christina is applying for a job in Edinburgh, and if she gets it, we're moving again -- as early as August. If she doesn't, then I have to figure out what I'm going to do about my work situation (more info in the private posts). This potential job also means that we're not likely to get married this year as there's no sense in planning a wedding in Greece when you're not even sure where you'll be living in a couple months.

I've also joined a choir here in London which is pretty awesome, and while I've managed to lose a little weight in my last year in Amsterdam, it's creeping back up living here in the land of fried and salted everything.

I have no idea which way things are going to go, and to be honest, I'm annoyed that I don't find this exciting.

October 20, 2015 18:10 +0000  |  Canada Conservatives Liberals Stephen Harper 0

Update: This Luke Savage article says it all better than I ever could

I'm optimistic. Really.

Like most Canadians (and as it turns out, most of my multi-national office), I'm absolutely thrilled that the Stephen Harper decade is finally dead. I have no doubt that the Liberals are capable of salvaging what is left of the country to restore us to who we should be, and on many things, I think they might even be willing to do that work.

There's a lot to do though:

  • Getting us back on track with our international environmental commitments.
  • Repealing C-51
  • Restoring the long-form census so we can start making fact-based decisions again.
  • Restoring benefits to veterans and seniors.
  • Funding the massive infrastructure deficit in our cities.
  • Letting our scientists talk to the public again.
  • Investigate and prosecute those responsible for the 1186 missing or murdered aboriginal women.
  • Welcoming the thousands of refugees we should have brought in years ago.
  • Repealing the "Fair Elections Act"
  • Restoring funding to the CBC
  • Restoring full citizenship rights to expats and dual-citizens
  • Reforming the Senate
  • Reforming the electoral system so that we never again have to suffer through a decade of autocratic rule propped up by 38% of the public.
  • Undoing the culture of hate and fear the Conservatives saddled us with.

This is off the top of my head. There's so much more to do.

I'm still worried though. With a majority, Justin Trudeau has effectively been given a blank cheque to do with the country as he sees fit. When it comes to who we are as a people, I'm confident that Trudeau will put us on the right track, but when it comes to things like climate change, civil rights, and international trade, his record is worrying.

The Liberals still deny the science of climate change in their support for oil pipelines out of Alberta, and I'm going to go out on a limb and say that we'll sign onto TPP on a Friday when nobody's watching, after which our government will be compelled to act against the interest of Canadians if it means losses of potential revenue for private companies. TPP also governs important 21st century subjects like copyright and digital rights management, that will shape the nature of public discourse for the next century.

The Liberals also supported Harper's insane "Barbaric Cultural Practises" act, as well as the abomination that is C-51, which outright violates the Charter of Rights and Freedoms.

Reforming the Senate is going to be an uphill battle (if it's fought at all), and restoring the funding for the CBC was never a priority of former Liberals, so I'm not sure that it will be one for this government either.

But much of the damage will be undone, which fills me with such joy -- Seriously, it's as if I got my Canada back today.

October 20, 2015 18:07 +0000  |  Canada Conservatives Democracy Liberals NDP Stephen Harper 0

I'm both thrilled and disappointed with the outcome of this election. On the one hand, the Cancer that was Stephen Harper was finally cut out of the country like the rotten tumour he is, but on the other, we managed to do so only by putting all of our faith in yet another autocratic situation. We've elected another majority, doing away with all accountability in the House. Given where this election started, this is a gross disappointment.

I suppose that it's a question of faith really. Do I have faith that Trudeau, with all the power of the PMO (that his father pioneered) and a majority government elected through first past the post, will actually introduce proportional representation? Are these Liberals really all that different from the corrupt, entitled, double-speaking Liberals that came before them? Indeed, many of the candidates elected today are the very same people who held the same positions under Chrétien and Martin.

It kills me that to remove Harper, we had to stick a knife in the NDP, a party that, no matter how much I criticise them, represents a much closer vision of my Canada than the Liberals ever will. It's also deeply frustrating to see how very poorly the NDP managed this campaign.

From their gloating, passive, condescending demeanour in the early days of the campaign, to their weak-kneed, dispassionate stance on Harper's divisive Islamophobic platform, the NDP left the country desperate for leadership, vision, and passion for what we value as a nation. Trudeau was clumsy, but he shared a vision for Canada that resonated with people. His passion was infectious and painted a picture of the Canada that should be, in stark contrast to what Harper would have us become.

This could have gone another way. We could have had an NDP-lead minority or even a majority, but they screwed up, and now we have to hope that Trudeau really meant everything he said -- because no one will be able to hold him to it if he changes his mind.

October 06, 2015 17:02 +0000  |  Canada Democracy Environment Green Party NDP Politics 0

A dear friend asked me over Twitter today why I think she should vote Green and not NDP. I started with 140 characters, then switched to a direct message, and then I wanted formatting... So I wrote a blog post.

So Theresa, this is a short, but reasonably complete list of the reasons I couldn't bring myself to vote NDP this election. Which is a pity really. I'd like to live in a world where a party like the Greens didn't need to exist because the mainstream parties actually did the Right Thing.

...but they don't do the right thing, and they shouldn't be rewarded for that.


The Tar Sands

If there is one fact that should be obvious to anyone who claims to know anything about climate change, it's that the carbon reserves that we have in Northern Alberta need to stay in the ground. The NDP are against Keystone XL and Northern Gateway, but they do support Energy East. So, either the NDP don't believe the millions of scientists who have stated that this stuff has to stay in the ground, or they're pretending to support the oil sector in an effort to get votes.

Either way, the NDP position is suspect and speaks to either their scientific literacy or their authenticity. I'll let you decide which is more egregious.

Carbon Tax vs. Cap and Trade

The NDP has taken a cap/trade position (to the exclusion of a carbon tax) against the advice of every prominent environmentalist and economist. This is quite clearly done for political reasons, to separate themselves from the Liberals and Greens who favour a carbon tax.

This wouldn't be such a big deal if it weren't for the fact that every reputable environmentalist group will tell you that a carbon tax is the best way to affect the change needed, and that cap/trade is a market non-solution. In other words, the NDP is choosing its platform based on what it thinks will win them power over what is right for the country. You may sense a theme developing.

The Senate

Their position on the senate is untenable, impractical, and dishonest. Ignoring for the moment that almost all of the countries on the planet with a single governing house are what you and I might refer to as banana republics, an upper house is a crucial check on the power of the lower house, and in a parliamentary system like ours that vests so much power in the hands of a single person, the prime minister, this is a Very Bad Idea.

On top of that, abolition is quite impossible as it would require support for all of the provinces and every constitutional lawyer in the country will tell you that there's no way you'll ever get everyone on board with abolition.

No one is saying that the Senate shouldn't be reformed, but the NDP position of abolition is not good policy. Once again, they're writing policy based on what they think will play better with the public (abolition is much easier to grasp than reform), as opposed to what would be good for the country.

Proportional Representation

After the 2011 election, the NDP, who had been talking about electoral reform months earlier, suddenly came out in favour of first past the post. I distinctly remember listening to CBC's The House, where the NDP MP steadfastly supported FPTP with the typical platitudes of "it's worked for the country for so long" etc. etc. None of this is surprising since it was first-past-the-post that gave them that "orange wave" in Québec.

Then, just last year, they showed up late to the party on electoral reform and did a big blitz where they told everyone that if elected, they'd "make this Canada's last unfair election". Then, as they rose in the polls, all of that rhetoric evaporated, and now their issues page makes absolutely no mention of it.

The Consortium Debate

Thomas Mulcair started this campaign saying he'd gladly debate anywhere, any time, and he's finishing it having backed out of the one debate that was guaranteed to have the most viewers out of the entire Election.

You can't claim to want to lead the country if you're going to run away from debates with your opponents. It doesn't matter that Stephen Harper refused to participate. In fact, Mulcair's refusal simply puts him in bad company, with arguably Canada's worst Prime Minister in history.

The Consortium Debate could have been an opportunity to reach more than 10 million people (as opposed to the paltry 1.5 from the Maclean's Debate) and publicly shame Stephen Harper for abdicating his responsibility to the democratic process. Instead, through his actions, Mulcair legitimised Harper's position and drastically limited the level of political discourse in Canada.

This reason alone would be enough to keep me from the NDP.

Wrap Up

I want to make it clear that I still think that the NDP are better than the Liberals and Conservatives, but I also think that they've fallen far, far from their roots as the sensible socialist alternative. They've become a party of pragmatists, shifting their principles toward whatever they think will win them votes, and for me this is an unforgivable sin.

If you want to lead my country, I expect you to have ideals and principles underlying your positions, policy that's supported by those principles, and a leader that stands behind them. The CCF was that kind of party, Tommy Douglas, Elizabeth May and Jeremy Corbyn are that kind of leader, and voters can smell the stench of an impostor. They smell it on Thomas Mulcair, and they certainly smell it on Justin Trudeau.

I voted Green because they're still the party of principle out there. They take sometimes unpopular positions that are vested in principles as stated by the party members. I don't agree with all of these positions, but I can live with what I see as bad policy if it means that I can trust the party to follow through with everything they say they represent:

  • They called for a carbon tax more than a decade ago, when the science was in but the public was strongly against it. They've never wavered on this.
  • They've always opposed the tar sands because it's bad policy to support an industry that's trying to kill everyone on the planet.
  • They routinely call for order and respect in the House of Commons.
  • They support the reduction of powers of the Prime Minister, because we shouldn't be electing de-facto dictators, and for the increase in power of MPs so that they can do the work of local representation.
  • Their leader is an accomplished lawyer, parliamentarian and diplomat, dedicated to her role as MP and advocate for a safe environment.

I also think that their position on the senate is silly and impractical, and that their opposition to GMOs is anti-science and idiotic, but as it's clear that neither of these are priorities in the party, I'm unconcerned given their positions on real issues that actually matter.

When it comes time to vote in this election, who would you rather support, a party that stands by what it says, or a party that has demonstrated that their ideology and even their science will bend to pragmatism?

September 27, 2015 09:35 +0000  |  Canada Conservatives Democracy 1

I opened my mailbox yesterday to find something both astounding and infuriating, it was a letter from the Conservative candidate in Vancouver Centre:

Dear Friend and Neighbour!

You are on Elections Canada's international Register of Electors as a non-resident entitled to vote in Vancouver Centre, BC in the October 2015 Federal Election.

You can vote by mail. Elections Canada has already mailed your special ballot voting kit to you. If you have not received it please contact Elections Canada.

[Elections Canada contact info]

More information on how to vote by mail can be found at the Elections Canada website - Ways to Vote, Vote by Mail, Vote by mail-apply now -- Voting by Canadians living abroad.

I am writing to ask you to vote for me as the Conservative candidate in Vancouver Centre. I am a business woman with over 20 years of experience in executive management in the non-profit social services sector and a long-time resident of the West End. I have an MBA and Communications degree and I am running to bring accountability to all areas of government. On the reverse side of this letter there is more detailed information about my background and qualifications. More information about me and the Conservative campaign is available on my website:

Please complete and mail your special ballot today to ensure that Elections Canada receives it by the deadlines set out in your special ballot voting kit. If you have not received your special ballot kit, forms are also available at any Canadian embassy, high commission or consulate, or by calling Elections Canada at 1-800-463-6868 or collect at 613-949-7502.

I need your vote to win this riding and to ensure that Canada continues to have a stable, secure, Conservative government lead by Stephen Harper.

Thank you for your support.

Elaine Allan Conservative Candidate Vancouver Centre, BC

Take a moment to appreciate the hypocrisy of a party writing letters to expats asking for their vote when that party has worked so hard to remove that expat's right to vote at all.

I'm fast approaching the 5-year mark in my expat status. As a result of the Conservative Party's fight to strip me of my rights, this could very well be the last vote I'm permitted to cast in any Canadian election.

For someone like me, this is a crushing realisation. I've been neck-deep in Canadian politics since I was a teenager: canvassing for candidates both in Toronto and Vancouver and even running for a seat in BC, and the Conservatives have decreed that I'm insufficiently Canadian to be permitted to participate in our democracy after this election.

The audacity of a party that would ask me to support them today, then strip me of my rights tomorrow is at the heart of the Conservative Party. It's their ideology of consumption: use up whatever you can and move on. You see it in their environmental and economic policy, and now you see it in their electoral strategy. The fact that their candidates don't see it, that they can live with themselves writing letters like this, tells you just what kind of people they are.

I'm thinking I might give Ms. Allan a call. If you have any suggestions regarding what I might say, I'd be happy to hear them.

September 20, 2015 23:01 +0000  |  Family Grandpa 0

I want to take a minute to rewrite my eulogy for my grandfather. There was something bugging me about that first draft, the one that was eventually read at his funeral that didn't sit well with me, and a few days later Jane finally helped me figure it out: I wasn't writing it for me.

Instead, I wrote it in an attempt to reflect how we all interacted with him, and for such a polarising person, I simply don't have the talent to express something that even-handed as well as talk about what he meant to me. So that eulogy feels empty to me. This one is better.

I loved my grandpa. He was a difficult man to love sometimes, but I loved him anyway. He was, to me at least, the Caretaker of the family. The one who looked after me and helped me on my path -- whatever it was -- but he always required convincing.

Taking on a new career? I had to prove to him why this path was good for me. Moving to a new city? A new country? He wanted to know what kind of work I would find there, and when I was going to meet a nice girl and get married.

"Women want to see three keys" he used to say. "One for the house, one for the car, and one for the safety deposit box". My grandfather was very old-fashioned, and sexist, often dismissive, and almost always self-important and a little bit delusional about how the world worked, but he loved me, I'm 100% sure of it. How? because the man slipped me 100 bucks whenever he could.

This is how Grandpa showed you how he felt: he helped you in whatever way he could. He didn't have a lot of money, but he knew that when I was getting started in life, I had a lot less than he did. He would give me a hug whenever I'd come to visit, then offer to shake my hand -- a brown bill squeezed between his fingers. It didn't happen every time, just once in a while, when he could afford it, and no amount of objections would be accepted. He wanted to help his grandson and that was the end of it.

He spent much of his life compiling video footage of the family. I've seen video clips of my mother as a child, a teenager, an adult, and a mother. There's a video of my brother showing off his basketball skills, of a big Easter dinner celebration, of my brother and me opening presents on Christmas Day. My grandfather would watch these videos on his own time, whenever the mood struck him, first on high-8, then on VHS, finally on DVD, he migrated all of it by hand. He would insist on sharing them with girlfriends I brought over. It was his way of preserving the family, of remembering the life he'd led.

I'm going to miss my grandpa. He was crochety and pointlessly argumentative, and in his old age, even abusive, but even with all of that, I'm going to miss him because he was a good person who loved me and only wanted to help.

September 17, 2015 18:42 +0000  |  Django Python 0

I ran into something annoying while working on my Tweetpile project the other day and it just happened to me today on Atlas. Sometimes, removing code can cause explosions with migrations -- even when they've already been run.


  • You've created a new class called MyClass.
  • It subclasses models.Model
  • It makes use of a handy mixin you wrote called MyMixin:

    class MyClass(MyMixin, models.Model):
        # stuff here
  • You create a migration for it, run it, commit your code and congratulate yourself on code well done.

  • Months later you come back and realise that the use of MyMixin was a terrible mistake, so you remove it.
  • Now migrations don't work anymore.

Here's what happened:

Creating a migration that's dependent on non-Django-core stuff to assemble the model (think mixins that add fields, or the use of custom fields etc.) means that migrations has to import those modules to run. This is a problem because every time you run migrate it loads all migration files into memory, and if those files are importing now-non-existent modules, everything breaks.


It's an ugly one, but so far it's the only option I can figure: manually collapsing the migration stack. Basically you make sure you've run all of the migrations to date, then delete the offending classes, delete all of the migration files, and recreate a new empty migration:

$ cd /project/root/
$ ./ migrate
$ rm -rf myapp/migrations/*
$ touch myapp/migrations/
[ modify your code to remove the offending fields/mixins ]
$ ./manage makemigrations myapp

Now run this in your database:

DELETE FROM django_migrations WHERE app = 'myapp' AND name <> '0001_initial';
UPDATE django_migrations SET applied = NOW() where app = 'myapp';

The new single migration created won't be importing the removed classes, so everything will be ok, and you have the added benefit of not having so many migrations to import. Note however that this may cause problems with migrations from other apps that may have been created dependent on your now-deleted migrations, so this may start you down a rabbit-hole if you're unlucky.

I hope this helps someone in the future should this sort of thing present itself again.

September 10, 2015 22:38 +0000  |  Family Grandpa

Grandpa was an impossible man -- both in that he was difficult to be around at times and in the amazing life he led.

Here was a man who was not only 100% confident that he had the answers to everything, but he was going to do you the immense favour of pointing out everything you're doing wrong -- you know, for your benefit.

I remember a particular Christmas gathering at which he persisted in his argument with his two atheist grandchildren that "God" created everything: "Who made this?" he would ask, "and who made this?", repeatedly pointing to random objects in the room. There was no winning an argument with him, you could only hug him and say "I love you Grandpa".

This would usually buy you a few minutes.

One of my earliest memories as a child is that of my father's disapproval of my grandfather's spending money on my brother and me. His refrain "Money is for spending!" will forever be a part of me. I think that deep down, Grandpa was a bit of a hedonist, but it was the simple things in life that did it for him. He loved his car, his boat, that obnoxious talking fish, and of course, he loved his family.

It's easy to forget in this era of smart phones, but we all owe a great debt to him for the hours and hours of home videos he took of all of us as we grew up. There are videos of my mother as a child, my parents getting married, the many barbecues and Easter gatherings -- all painstakingly preserved, transferred between formats over the years. This was a labour of love for him: the preservation of memory for three generations. How sad it is that he should leave us all such a gift when he himself appears so seldom in the frame.

Take a moment to consider what he accomplished in his lifetime:

  • He escaped Communism with his family to start a new life in a country where he didn't even speak the language.
  • He then proceeded to found multiple businesses across Canada employing dozens of people.
  • He supported every member of the family, either financially, with skills training, or simply with a place to sleep when one of us needed it.

He was undoubtedly an egoist and a pain in the ass, but he was also unabashedly generous and unconditionally loving.

Grandpa was an unyielding force in this world, and we are all so fortunate to have had the opportunity to be part of his life. He will forever be an inspiration to me.

True to form, Grandpa died on his schedule and no one else's. The world may be a lot quieter without him in it, but there's no doubt in my mind that it is also greatly diminished.

He'll wait for us right here.

My grandfather died peacefully in his sleep on Sunday night. He is survived by his wife, two daughters, three grandsons, and one great-granddaughter. He was 91.

September 03, 2015 08:27 +0000  |  Canada Politics 3

The body of a child, washed up on a Turkish beach

I'm posting the image here for all to see. If this bothers you, good. This is exactly the sort of thing that should bother you. Your reaction proves that you are a good person, capable of empathy.

If you're anything like me, feelings of grief and sadness were followed, after some wallowing, by a deep sense of helplessness and anger. This image, and the issues behind it are terrible -- what can I do about it?

The honest answer is that I don't know. No one thing, no ten things I can think of doing would even begin to solve the problem of finding these people a safe place to live.

The problem at this juncture, from what I understand, is two-sided: political will on the receiving end, and in some cases (at least for that of Turkey), an unwillingness to be decent human beings when it comes to the treatment of refugees. In other words, the problem is political: people need to get out of Syria and the rest of us won't let them. Instead we're collectively sitting idly by while bodies wash up on beaches.

It seems to me that the solution to all of this is to remind everyone of our collective capacity for empathy. If our cowardly leaders won't move on this issue it can only be out of a lack of empathy, and they therefore should be replaced. This is why I'm posting this photo: because we need to be upset about this.

This is a solvable problem. The number of refugees coming out of Syria are great, but manageable: 7million. If Europe alone were to accept all of them tomorrow, this would represent a mere 2% increase in population, and there's no reason that Europe alone should have to bear the strain of such an influx. The United Nations has asked Canada to accept 10,000, and I can only assume that other countries have had similar numbers asked of them.

It's time to make our voices heard on this issue and step up to help. We're a human community after all and that is a dead child on a beach.