Blog

January 28, 2020 07:47 +0000  |  Food Recipes 0

We've been developing a decent chili recipe over the years, initially derived from this one, but as it's been so heavily modified from the original, consulting it when making dinner no longer makes sense. So, in an effort to simplify cooking it for ourselves, and perhaps so that others may enjoy it, I'm sharing it here.

Ingredients

  • 500g ground beef
  • 2 zucchini, peeled and chopped into bite-sized pieces
  • 6 carrots, as the zucchini
  • 2 onions, diced into cubes no larger than 1cm²
  • 1 head of garlic, peeled and chopped into tiny slices
  • a splash of olive oil
  • 2 heaped tsp mild chili powder
  • 2 tsp paprika
  • 2 tbsp cumin seeds (you can never have too much cumin)
  • 2 beef stock cubes
  • 500ml passata (if you like your chili a little runny, 750ml might be better)
  • 1 tsp dried marjoram
  • 1 can red kidney beans, rinsed & drained (or some pre-boiled raw ones)
  • salt & pepper
  • long grain rice (we tend to favour Basmati), to serve
  • sour cream, to serve

The important thing to note here is that variation is encouraged. They say that while baking is a science, cooking is an art, so feel free to take some artistic license if you want to experiment.

Method

The preparation of this meal is the hardest part. For the actual cooking, you just dump stuff into the pot in the right order and wait the right amount of time between additions.

Put a reasonably-big pot on the stove. For something like this, you probably want your Big Soup Pot. Put the heat up to medium, and when it's reasonably warm, add that splash of oil.

Once the oil is warm, add the onions, chili powders, paprika, and about half the cumin. Stir until the onion is translucent and the spices are nicely distributed. Now add the garlic and stir a little to make sure it's covered too.

Next up is the cow. Crank the heat up a little and toss it all in. Break it up and stir it regularly until it's properly brown. This part is important: before you move onto the next step, make sure the meat is cooked all the way through, otherwise it won't have the right texture in the final product.

Now add the zucchini and carrots, stirring both around again for the sake of distribution.

Things are looking a little dry at this stage, so here we add some fluids. Make some beef stock from those 2 stock cubes (in my case it was 600ml of water, but do whatever the stock box says). Mix the stock into your primordial chili along with your passata, the marjoram, and the rest of cumin. This is also a good time to add some salt & pepper to taste.

Drop the heat back down to medium and add the beans. Stir everything around, cover it, and let it simmer for about 20-30min, stirring occasionally. Toward the end of this time, take the lid off so some of the excess water has a chance to evaporate. You'll know it's ready when it has the consistency you want.

Serve over a bed of rice, topped with a dollop of sour cream.

January 20, 2020 19:08 +0000  |  Anna Climate Change Environment Grandma Lidia Politics 0

My father once said to me: "Life has a way of getting away from you. One day you blink, and 30 years have passed." I think that I'm finally starting to understand what he meant. 2019 doesn't really feel like a year I lived through so much as a year that was done to me. People I thought integral to my life disappeared suddenly, and a whole new human was added to my immediate family, all this while the world is literally on fire. Everything is changing and for my part, it feels like my role is more that of a passenger than driver.

Personal

2019 was a bumpy year for me personally.

Anna & me on Siros

Anna

My daughter was born in the early days of the year. She's now already a full-year old and what they say really is true: they grow up so fast. When we met, she was roughly the size of a small pumpkin, now she's a walking, talking (well, babbling), screaming, grabby mobile monster.

Parenthood is a crazy process: you're constantly monitoring a tiny creature to make sure that she doesn't kill herself reaching for a pen or eating plastic. I mean, we watched her lick a bar of soap, make a face, then lick it again as if she hadn't learnt her lesson the first time. This process of constant vigilance is... exhausting. There's really no other word for it. It's a good thing she's cute.

There's also not a lot of sleep in my day-to-day anymore.

Grandma Lidia

Grandma

Around when Anna reached the 4-month mark, she lost her great grandmother -- my last remaining grandparent. To be honest, I'm still pretty broken up about it -- still processing. Unlike my other grandparents, I wasn't prepared to lose Grandma Lidia and it still hurts to think about. I miss her every day, and the thought of returning home to visit my family feels eerily wrong without her there.

Professional

I really feel like my Free Software career has taken a big hit this past year. Whereas in 2018 I was releasing Aletheia and speaking at PyCon about it while handing-off Paperless to the broader community, 2019 has seen very little Free stuff from me. There were a couple bits worth mentioning though:

A jumping pizza!

Pizzaplace

It's a very simple server that lets you spin up branch deploys automatically by plugging into GitLab's WebHooks system and linking that to a docker-compose. It made development of some of our stuff at Workfinder a lot simpler, and I'm hoping we can make more use of it in 2020.

Aletheia Server

I realised that Aletheia has a lot of dependencies to get going -- too many perhaps for most to make use of it in any reasonable architecture. So with that in mind, I decided to hack together a dockerised microservice that does the signing & verification for you. This way, you could theoretically deploy Aletheia to a project simply by adding it to your running services rather than trying to integrate a 3rd-party module and all of the dependencies that come with.

The Aletheia logo The project works, but as I built it using FastAPI, getting the tests to play nice is proving problematic for a Django nerd like me. I'm hoping to have the kinks worked out in early 2020.

Workfinder: Last Man Standing

Most of the code I wrote in 2019 was for my full-time employer, but the face of the dev team changed a lot over the year. I started out working in of the Cambridge office with 3 other developers, and one-by-one they all left the company. Now I'm the only one in this town, with most of the rest of the company based out of London. Thankfully, the CEO has promised that she's not going to make me commute to London on a daily basis (honestly that just wouldn't happen), but it does mean that I don't have anyone to bounce ideas off of on a regular basis and that sucks.

On the plus side though, before he left, Richard and I wrote what I think might be some of my Best Code Ever: a system that handles multiple data sources of varying trustworthiness and merges it into a single derived model that performs even with tens of millions of records in the system. Now it's just a matter of getting that code into the main product...

Travel

It turns out that babies seriously cramp your travel plans. For the most part, Christina and I have been Cambridge-bound this past year. I'm hoping that once Anna reaches the age where we can hand her a phone and say: "shut up and watch Peppa Pig", we'll be able to consider then 9-hour flight to Vancouver.

Siros

The one trip we made was to Athens & Siros (Σιρος). Anna was just young enough that she wasn't bothered (too much) by the flight (even though it was RyanAir), and she slept through the majority of the trip. We spent a few days in Athens, and then continued onto Siros where we rented a little house with a pretty remarkable view of both the island and the sea.

We took Anna for her very first swim in the Agean, ate a lot of delicious food, and I came face-to-face with my paralysing fear of crickets & grasshoppers. The trip was lovely... except for that last part.

In-laws In-residence

Not long after the trip to Greece, Christina's parents came out to Cambridge to live with us for 2 months. The plan was that they would help ease Christina's transition back into the workforce, help Anna get used to her day care, and help out around the house as we all get used to having a baby around. Now I'm not going to come out and say that living with my in-laws for 2 months was super-fun and friction-free, but I really appreciated the help. Having someone around to talk to for advice, or to help with putting the kid to sleep when you're at the end of your tether is invaluable to say the least.

Parents visit

Not long after the in-laws left, my parents came for a few weeks, though their stay was interrupted by their own (apparently abysmal: screw you Norwegian Cruiselines) detour through the European North. It's always nice when my parents visit and I get to show them the life I'm helping to build, though this time around my mom was having a really hard time. Still, I think they enjoyed their trip, and they're talking about coming back for a visit before (in their words) they're too old to make the trip.

Politics

I got to vote in two national elections this year, though in both cases first-past-the-post ensured that my vote didn't really mean anything.

Canada

The Liberals squeaked out a minority government, campaigning on the idea that they gave a shit about climate change and a history of actions that prove that they don't. I suppose I could be happy that at least Canada didn't elect outright climate deniers, but like everything else they do, the Liberals are even more infuriating: they play up their green rhetoric, but demonstrably aren't willing to do what's necessary to combat the climate crisis. To my mind, they're just as bad as the Conservatives, just more duplicitous.

UK

The UK had its 3rd election in 5 years in a desperate attempt to get a strong majority that would lend some stability to their position in managing Brexit with the rest of the EU. Thanks to first-past-the-post, even though the majority of the country voted against the Conservatives, we all got a crushing Conservative majority. Jeremy Corbyn, the first political leader that's inspired me in the UK, and only the fourth politician to inspire me in my lifetime, somehow is being blamed for the failings of his own party-unfaithful, that of the Lib-Dems, and of the Greens, whose platform was objectively less-green than Labour's. The country's fourth estate is in shambles, and we're now on-track for a disasterous brexit: upwards of 5-years helmed by a government & prime minister with a record of xenophobia, homophobia, flat-out racism, climate denial, and Trump ass-kissing.

So yeah. This is where I live.

World

On the world stage, 2019 was a year of hope and horrors. Every week, you'd read a story about how the world is literally on fire, but you'd also hear about how lab-grown or plant-based "meat" was getting a foothold in the market, that coal and oil were losing share to renewables, and a little girl was sailing across the Atlantic to lecture our do-nothing leaders.

Greta Thunburg

More than inspiration, Thunburg has been a voice for my (and future) generation's rage:

"The eyes of all future generations are upon you. And if you choose to fail us, I say: We will never forgive you."

- Greta Thunburg, address to the UN Climate Action Summit

Personally, I'm impressed with the futility: the people she was speaking to demonstrably have no interest in fixing this mess they and their parents have created. Some of them are even straight-up climate deniers. She's 17. This is the limit of her power and she's shaming them into action. They won't act of course, but at least she's now part of the historical record: the voice of a generation enraged by how the boomers have fucked us all.

The #TeamTrees logo

#TeamTrees

It may seem small, but I'm still elated with the results. The #TeamTrees campaign started by a bunch of YouTubers accomplished its goal of funding the planting of 20,000,000 trees. With the vast majority of donations in the area between $1 and $10, people all over the planet scratched together what they could to show our leaders that we're willing to step up and do what we can to save the world. Every donation streamed onto the site in real-time, but my favourite was from a bunch of 8th-graders who crowdfunded $1,111 from 200 of their classmates -- all to save the world they're going to inherit from a generation that's done everything it can to use everything up before they die.

A baby kangaroo, burned to death on a fence.  Credit: @earthfocus on Instagram

#AustraliaFires

It's not hyperbole anymore. The world is literally on fire. Australia, home to thousands of unique and fascinating species, has lost approximately one billion animals to the fires. The amount of CO₂ is being measured in the millions of tonnes, and this is just the beginning. When summer comes in the Northern Hemisphere, it's entirely likely that the forests in Canada, Europe, and Russia will see the same. If you think that any of this is going to change the minds of those with the power to fix it, think again. The Prime Minister of Australia is a climate denier. Australians elected a climate denier, even after decades of flooding was laying out the truth in front of them.

We are so. very. fucked.

XR

I did however draw some hope & inspiration from one group though: Extinction Rebellion. They're the next step I've been expecting for a while now. When diplomacy fails, the next step is violence. Now to be clear: to my knowledge, XR hasn't taken any violent action against any people, but their actions against the machine that's destroying the planet are most definitely violent. They obstruct traffic, shut down transit infrastructure, and effectively cripple economies. They're the living embodiment of Mario Savio's words:

“There's a time when the operation of the machine becomes so odious, makes you so sick at heart, that you can't take part. You can't even passively take part. And you've got to put your bodies upon the gears and upon the wheels, upon the levers, upon all the apparatus, and you've got to make it stop. And you've got to indicate to the people who run it, to the people who own it that unless you're free, the machine will be prevented from working at all.”

-- Mario Savio

Those destroying the planet don't care about people, animals, or even breatheable air. They do however care a great deal about profits. XR is hitting them where it hurts: they're fucking with capitalism and this is just the beginning. As people get more desperate, I expect XR to play a bigger role.

Leaders that Get It

I've also been inspired by some of the leaders we're seeing gain traction like Alexandria Ocasio-Cortez and Bernie Sanders. They're both the right people with the principled positions to guide the US through to doing the right thing by the climate and their people. My only concern is that of timing: AOC is too young to run for president, and the Democrats still have it in their head that a milquetoast "moderate" like Biden is their best bet at beating Trump. If Bernie doesn't win the Democratic primary, it's entirely likely that Trump will take the White House again, and if that happens, the US will be entirely lost to us with regard to its impact on the climate. We can't wait another four years for them to get their act together.

There's also The Green New Deal for Europe, which was released in 2019, and appears to have heavily influenced the European Green New Deal -- ramping up to be official EU policy. If the EU can get this right, they can dictate terms to the big polluters like India, China, and the US. They might actually save us all.

Maybe I'm still a little too hopeful.

Conclusion

So that's it for 2019. With the exception of Anna's birth, I don't feel particularly good about this year, but I have hope -- not you know, a lot, but some. Maybe 2020 will be the magical year that Trump is deposed, that all of Johnson's bluster about Brexit turns out to be smoke & mirrors for the softest of Brexits, that the EU finally starts to throw around its weight on the environmental file, that Canada's Liberals are forced to do the Right Thing through alliances with the NDP & Greens.

And maybe Anna will learn enough words to actually tell me why she's screaming at 0400h.

A guy can dream.

December 13, 2019 11:58 +0000  |  Politics United Kingdom 0

I don't think I can express how very disappointed I am in the results from last night. I'm not surprised, but I'm still terribly disappointed. Somehow, part of me thought that the British public wouldn't be so easily manipulated, that somehow they'd see through the long, long list of lies from the Conservatives and through the palpable bias of both the privately and publicly-owned media. But they didn't, and now... well the country is pretty fucked.

For the Uninitiated

The UK just had its third general election in 5 years: another attempt by a Conservative government to shore up support in the House so it can do what it wants -- namely Brexit -- without interference from other parties or factions within its own ranks.

  • Boris Johnson purged the Conservative party of anyone who would oppose his Brexit plan before calling the election and then ran on a single platform: "get Brexit done".
  • The Labour party, headed by Jeremy Corbyn ran on a multi-faceted platform of restoring the services the Conservatives have been destroying over the last decade, starting a "green industrial revolution" and doing a "people's vote" on Brexit.
  • The Liberal Democrats ran mostly against Corbyn and said they'd simply revoke Article 50 if they won a majority (the odds of which are in the range of pigs flying).
  • The Green party too said they'd revoke, but also had a pretty good Green New Deal in their platform.
  • The Brexit Party said they'd do an immediate "Hard Brexit"
  • The Scottish Nationalists... well they're separatist socialists. You do the math ;-)

From the start, the Conservatives were expected to win it. Corbyn's popularity was in the toilet, while Johnson's was soaring -- especially in the rural areas. The Lib-dems were generally considered irrelevant and/or a spoiler under FPTP, and the SNP was expected to dominate Scotland. The actual result was a dominating victory for the Conservatives, a historic loss for Labour, and the resignation of leaders from both Labour and the Lib-Dems. The Conservatives now have free reign to do everything they want, including exciting things like shredding the human rights act and undermining the NHS.

The Lie of Getting Brexit Done

If you'd watched any of the debates (to which Johnson bothered to attend), seen any of his scripted interviews, or just listened to his speeches in the House of Commons, you'd be familiar with Johnson's mantra: get Brexit done. For anyone living here, it's a very appealing thought. Everyone: leavers & remainers are tired of Brexit. We all know that there's more pressing issues to deal with (though we disagree on what those issues are), and yet every day, every broadcast, every paper, every social media post is about this one topic.

So when Johnson says "get Brexit done", it resonates with everyone, and it would seem that most Britons were unable to draw the conclusion that this line, like nearly everything that comes out of Johnson's mouth, is a lie.

The Conservatives have won with a dominating victory, and yet no one who knows anything about the realities of Brexit will tell you it's all over on January 31st when the UK executes the withdrawal agreement with the EU. We're still years, possibly even decades away from getting Brexit done.

The withdrawal agreement is simply an agreement on how things will work between the UK and the EU until they can actually leave the single market. In other words, The UK will definitely be in the single market (including the four freedoms) until December 2020, at which point they will have to have a trade deal negotiated or ask for an extension. For perspective, Canada's free trade agreement with the EU started negotiations in 2009, was agreed in 2016, and is still not in force. The UK has a much more complex relationship with the EU, and its population & economy is much larger. Brexit may not be "done" until 2045.

In the mean time, the withdrawal agreement drives a wedge between Northern Ireland and the rest of the UK (introducing a customs border in the Irish sea after the transition period), and it's very likely that Scotland will have another (likely, successful) referendum to leave the UK and join the EU as an independent state. By the time Brexit is "done", it might jut be an agreement between England & Wales and the EU.

Complicity of the Media, and the End of the BBC

The Fourth Estate has entirely failed the UK. Too many journalists have been replaced with lazy hacks who do little more than copy/paste what candidates say without bothering to fact-check. Outright lies are published on the front page of papers, or debated as if they have any grounding in reality on evening "news" broadcasts. Audio clips are edited, videos are doctored, and all of it presented to the public by organisations into which so many have invested their trust.

Most appalling of all of these is the BBC. Here's a short list of just some of the terrible shit they did over the last few months to bias the public toward the ruling government:

A lot of this goes back to 2016 when the Conservatives changed the rules around how the BBC's board was appointed. Basically the BBC hasn't been "arms-length" for three years and it's glaringly obvious in their journalism. As a Canadian and strong supporter of the CBC, I think this should be a cautionary tale for any country with a public broadcaster. There must be a firewall between the state and the public broadcaster, because it's a short jump to state broadcaster if you aren't careful.

The Brexit Party Propping up of the Conservatives

When the election was called, there was a chance -- a chance that the Conservatives might lose. The Brexit Party had been hacked together to fight another election and it looked like they might split the otherwise conservative vote in some key constituencies. However, on November 11th, they announced that they would not run any candidates in any constituency won by the Conservatives in the last election, essentially allowing the Conservatives to turn their attention to seats they hadn't yet won. They took an additional 47 seats this time around, while the Brexit party was happy to just take votes from Labour and Lib-Dems in the remaining seats, guaranteeing those Conservative wins.

Corbyn

Perhaps the most upsetting/frustrating part of all of this is how this has played out for Jeremy Corbyn. Here was a man with a history of fighting for civil rights and opposing apartheid & fascism, and the press has routinely been calling him a racist and a fascist. Three Jewish newspapers even ran a joint front-page editorial urging people not to vote for him claiming 87% of Jews thought he was an antisemite and that half of the Jews in the country would strongly consider leaving out of fear if he were to become Prime Minister.

The trigger for all of this? Corbyn, and a number of other Labour MPs have made public statements critical of Israel and its treatment of the Palestinians. Apparently, saying that you shouldn't open fire on unarmed civilians and children means you hate Jews.

The fact is that Corbyn was the first (of hopefully many) proper left-wing Labour leaders, and the people with money -- the people who own various newspaper chains -- don't like it when political leaders start suggesting that we raise taxes on the rich to take care of the poor. Ever since Corbyn stepped into the leadership role, the party has been tearing itself apart trying to get rid of him and the other actual socialists. Members spent years publicly denouncing Corbyn as "unelectable" rather than working together to remove the Conservatives. You know what makes your party unelectable? Your own members attacking your leader for being unelectable! While the Conservatives were literally falling apart, Labour was too far up its own ass to do anything about it. By the time it came to actually running a campaign, Labour members had already inflicted so much damage, that the media needed only repeat the lies as if they were true.

Corbyn was a socialist leading the socialist party on a progressive, green, socialist platform, and the establishment could not tolerate it. They piled lie upon lie onto the front page until only those actually paying attention could see what was actually going on. The result: a strong majority for a Conservative government headed by a man who has a documented (but curiously little-reported) history of sexist, racist, and homophobic statements.

Conclusion and What it Means for Us

As the saying goes, the turkeys have voted for chirstmas and this country deserves everything it has coming to it. For those living in the UK, we're likely to see more poverty, more cuts to public services, and of course, the 10+ years of Brexit negotiations. For those on the outside, this country won't be an ally in the fight against climate change, likely joining with the US to subvert any progress we might make on it.

For my multicultural family, this means that Britain has demonstrated it doesn't want us here. It's now a question of what kind of work Christina can find elsewhere in the EU and whether I'll be able to find something near there as well. Our future is now up in the air. We're still trying to work out how we're going to deal with this, but I think it's fair to say there's no future for us in this place.

October 28, 2019 22:51 +0000  |  Politics United Kingdom 0

Stephen popped up on Twitter today asking about Brexit again:

Another delay?? I thought there was a new deal.

I took a few minutes to write out a somewhat lengthy response, and after I was finished, realised it probably made more sense as a blog post so... Here it is, my ranting update about the state of all things Brexit here in the UK:


There was a deal, but it was a bad deal (actually it was pretty much the same as the previous deal, but this time it came from BORIS, so it's "new")

Basically Brexit is a mess because democracy:

  • Half the country wants to remain
  • Half the House wants to remain, though the representations don't correlate directly

The Brexiters all have a different definition of what "leave" means:

  • The disaster capitalist maniacs want an exit from all EU-related treaties at all costs immediately. They make up about 20-30% of the House and have roughly that same support among the public -- again, not correlating by constituency.
  • The other "leave" MPs want to leave with a deal but the nature of that deal differs from MP to MP.
  • "Brexit means Brexit" means fuck-all, yet this has been the Conservative position for 3 years.

You may have seen a meme going around, where the UK wants a unicorn, and the EU says "those don't exist, but you can have a pony" -- that's basically the best explanation out there.

The UK wants to leave, but not tear apart Ireland, which is impossible, because a core component of the Good Friday Agreement was that there be no barrier dividing Ireland.

They also want to leave, but have a free trade deal with the EU. The nature of that deal again varies from MP to MP, but mostly they want a deal that lets them freely export to the EU without customs checks and without being a member of the common market... also, they want to be able to sign their own trade deals with other countries. That'll never happen because the EU can't let the UK be a vector for importing uncontrolled goods into the union.

So basically the only deal that could possibly be arranged with the EU is the one that May worked out a couple years ago, and that Boris has re-branded as his deal. This deal doesn't go far enough for the disaster capitalists, and it doesn't keep us in the EU, so it can't be supported by remainers either. As a result, the deal can't pass without another referendum on it.

SO that leads us to the next stage.

Labour has said that they want a referendum on whatever deal is struck between the EU and the UK. The nature of that referendum question might very well dictate the future of this whole mess. It'll likely fall along one of two lines:

  1. Boris/May's deal
  2. No-deal exit

(or)

  1. Boris/May's deal
  2. No-deal exit
  3. Remain

At the moment, it looks like the disaster capitalists are working hard to re-frame "no deal" as "getting Brexit done" -- which is a lie of course. Exiting without a deal simply guarantees that the very next day negotiations start with the UK trying to hammer out a deal from outside the union. Only now it has violence in Ireland, and food & medicine shortages to deal with as well.

This may all be an attempt to get ahead of a referendum choice where people, tired of all of this politicking, vote "just exit already" out of ignorance, thus fucking the country and nicely making it their own faults while the disaster capitalists move to Malta.

Oh, and there's lots of talk of another election. The hope being that each party can get a majority to do what it wants. Boris is a disaster capitalist, so he wants to exit without a deal. Corbyn has stated that he wants a new referendum with remain on the ballot, and the Liberal Democrats say that they won't bother with a referendum and would just revoke Article 50.

The truth though is that a majority for any party is very unilkely. The Conservative vote is split by the Brexit Party which also wants an immediate exit, and the media here has been whipping up fear of Corbyn since he took the job. The Lib-dems are very unlikely to take a majority, but are unwilling to prop up Corbyn's Labour -- even on this one issue alone.

Everything is fucked. So we do the only thing we can do: kick the can down the road and hope that somehow, the British public will see past the tabloids and decades of underfunding education & social safety nets that would have helped them to not be fucking idiots when it comes to their most important political and economic partnership.

I don't have a lot of faith, but thankfully, the EU is patient... for the moment anyway.

August 04, 2019 21:59 +0000  |  Hate Internet Politics Terrorism 0

I want to pose a moral question, but one for which I don't have a concrete answer. Maybe I'm just working this out in my head, and maybe you can share your own opinions to help flesh out the subject, I don't know. I just want to get this down on "paper".

The US suffered two mass-shootings in the last two days. On the whole, this isn't really news. That country is has had 248 mass shootings just this year. The question about why this is so common in the US when compared to most other civilised nations isn't something I'm going to cover here. That subject gets plenty of dialogue, and I think the answer is pretty well defined.

Instead I want to talk about this tweet and my subsequent response to it. Here's the background for those not up on what a Cloudflare is:

Running a website for a Very Large Audience is a complicated process. You can't simply put your site on shared hosting for $5 or even $500 per month and expect your site to stay online. With popularity comes traffic, and that traffic can come from all over the world, sometimes all at once. On top of that, if your site is controversial, or even just a fun target for people who don't like you very much, your site can be inundated with traffic from bots, choking it to death and running up your bandwidth bills.

To get around this, companies like Cloudflare exist. They supply the infrastructure that your popular site relies on to weather storms of popularity, caching layers to reduce the strain on your server, and protection from would-be attackers. On the whole, the services they provide are critical to the web as it is today.

The thing about Cloudflare though, is that they're rather good at what they do. So good in fact that their services underpin a Very Large Number of websites on the internet. They're so big in fact, with so few serious competitors, that you might think of them more as a utility than a private company. Your favourite news site probably uses them, video game companies, libraries, software companies, you name it, Cloudflare is probably handling their traffic. They host a lot of the web... including a lot of the shadier parts of it.

Yeah we're talking about Nazis.

Hate sites are a perfect client for a company like Cloudflare: they have few resources (so they can't afford a massive array of servers) and are a likely target for attack (because they're Nazis). One might even say that without support from Cloudflare (or one of its few competitors), these sites simply couldn't serve their hateful audience.

So when a tragedy like this one happens, and we see that the murderers are being celebrated on the website that helped radicalise them, an obvious question must be asked: What kind of company would support that?

Truth be told, Cloudflare has the power to knock these sites off the web. All they have to do is withhold their services and wait for a bot army to shut it down. Indeed, that's exactly what they did when their CEO Mattew Prince unilaterally pulled Cloudflare's support for a particular Nazi site (no I won't mention it here) after the protest and murder in Charlottesville, Virginia. The site went down alright, and had to scramble for a replacement -- which they found eventually, but not of Cloudflare's calibre.

So now we have these mass shootings to contend with. There's another site out there full of hate that promotes violence, and now Cloudflare is being asked: "Why can't you just kick these assholes off the web like you did those other assholes?"

As of this writing, the site is still up & running, but I'm really not sure what to expect from their end on this one. The problem is that this is really a question of what the function of internet infrastructure should be: do we want an internet of neutral networks over which we can share our ideas, or do we want that conversation mediated by the companies that facilitate that exchange?

With Charlottesville, Cloudflare set a dangerous precedent. More than a benign piece of infrastructure, they were now making decisions about the nature of the content that made use of their system. Matthew Prince, their CEO remarked at the time on the fragile ground he and his company were treading.

Now, were it entirely up to me, I would want some editorial control over what my company supports in the world. I would have a whole department dedicated to making sure that our clients conform to the moral compass of the company -- but maybe that's a reason why I shouldn't be in charge of a company that's a de-facto piece of internet infrastructure.

The trouble for me is Cloudlfare's size and the critical role it plays in simply keeping the internet running. Cloudflare is so fundamental to how the internet functions that asking (or expecting) them to make a value judgement on the existence of one site is tantamount to trusting their CEO with the nature of our primary means of communication.

This is not a slippery slope argument. They're already feeling pressure from the music industry to monitor web traffic for content that infringes copyright. Cloudflare is an excellent vector for anyone wanting to remove anything from the web because they're so ubiquitous.

I'm still not sure. I want Cloudflare to kick 8chan off its platform. I'd like them to kick a lot of their more controversial clients off their services -- but that's my moral judgement. No one elected me (or Matthew Prince for that matter) -- why should either of us get to decide what does and doesn't get to be on the internet? What if Matthew would rather not serve PornHub or PlannedParenthood?

In the end, a lot of this discussion leads back to one of the critical failures of the internet and globalisation in general: no one is in charge. The internet is global, but at best, the only government anyone can appeal to to make collective decisions like this is that of the company's host country, and in a global society, that just isn't good enough. We've already seen the effects of the US's sex-negative culture on the web. Entrusting the American government with the future of global communication is decidedly a Bad Idea, but there's literally no alternative.

And so, here we are with another tragedy bolstered by hateful people on a hateful website and private infrastructure companies operating blindly on whatever they think will get them into the least amount of trouble. It's a terrible system, but I don't see a way out.

June 08, 2019 18:10 +0000  |  Canada Politics 0

I had someone come to me recently asking about Maxime Bernier's new "People's Party of Canada", and after spending a solid few hours writing the response email, I want to share it here as well. Besides, there's an election coming up.

This person presented both an interview with the Sun, and their party policy as reason to consider the PPC the next best thing in Canadian politics.

I decided to politely (but thoroughly) disagree.

Here's my problem with Bernier and his PPC: they're effectively a smiling mask over something very ugly, attempting to legitimise a position that's culturally toxic, a slippery slope bending toward hate and fear.

I know, that's a stark claim, so allow me to back it up. Before I get into why I think they're terrible though, let's start with the stuff I think they've got right.

The Good

Supply Management

It's a boneheaded idea and it's costing Canadians money every day. Effectively we've taken a few select Canadian industries out of the global economy and chosen to shelter them from the realities of the market and consumer demand. To my mind there's no excuse for this. It necessarily makes them complacent and drives up the costs for people at home. As far as I know, the PPC is the only party talking about it. Indeed, I understand that it's this issue more than anything that got Bernier kicked from the Conservative caucus.

It's a dumb policy, and it should die -- if for no other reason than the fact that it hinders trade negotiations with other countries. The recent CETA agreement (EU free trade deal) had a big problem with this one. Jen Gerson has a fantastic column on this in the Guardian if you're interested, where she talks about how our dairy industry has soured (see what I did there?) relations with the US for years.

It should be noted though, that the biggest drivers behind supply-side management are rural farmers, the same demographic the PPC is courting all over their platform so... I'm not sure what anyone can honestly expect here.

Corporate Welfare

Corporate welfare is a serious problem and has been as far back as I've read into Canadian history. Generally speaking, it's bad policy because it makes business dependent on a hand-out, and even after an industry is performing well, it generally continues to receive those government benefits for fear of job losses being tied to the removal of said benefits.

Specifically though, (and convenient that Bernier doesn't appear very vocal on this point), there's a whole whack of oil, gas, car, and aerospace companies on the government teat. Not on that list of top 25 corporate welfare recipients: a single green energy company.

So it's all fine and good to be opposed to corporate welfare, but again, the PPC is courting a demographic that's widely dependent on said welfare, all the while I hear people speaking for the party claiming that the real problem is subsidy for green energy.

End Barriers to Trade Between Provinces

It's dumb, and this is a popular idea -- even between the leading parties. I don't know a lot about the reasons behind why this exists, but I'm willing to bet that it's the provinces themselves behind these barriers rather than any limitations imposed federally. So, while I agree it's a good idea, I'm not convinced that a federal party can be the one to fix it.

"Principles"

He talks a good game about principles, and I'd like to believe him. Indeed, one of the perks of being a new party is that you don't have a record to run against, but rather an idea of who you would be. I like the idea of a man and a party that want to run on unpopular ideas (I tend to vote Green after all). It's the ideas that should win out, and not one's willingness to pander to all sides.

So let's have a look at some of those ideas.

The Bad

The Interview

"Unity is our Strength"

Famously, Bernier ranted about "diversity vs. unity" on Twitter in one of the greatest dog whistles of his career to date. At the root of his argument is that Canada is a country built by the French & English (conveniently ignoring the millions of immigrants who helped build the infrastructure, fought for the country, and died for it, but whatever) and that somehow these two groups have exclusive rights to unique Canadian values like rule of law, equality, and freedom of speech.

What's fascinating about these sorts of statements is that they at once bolster how you feel about who you are, and your country, while simultaneously insinuating that "the other" is somehow too foreign to possibly understand why you would think things like the rule of law are worth having. The reality however is that the vast majority of immigrants come to Canada from countries that have all of these things, and that those who weren't lucky enough to grow up in a country with them are coming to Canada because of them. He is painting a picture of an "evil other" that exists at worst, only on the fringes, but makes it sound like a serious threat.

The word for this is Nationalism which, in Europe at least, is mostly a dirty word because they know where that road leads.

The reality is that Canadians have more to fear from other Canadians of so-called "European decent". Historically it's been white people blowing up more stuff and killing more people in Canada than people of any other background. Have a look here for some details if you like. Note also that historically police in Canada have been slow to label violent attacks against civilians as "terrorism" when the instigator is white. Notably, Toronto's Incel van attack isn't listed among the incidents of terrorism in Canada.

The part that really gets to me though is this suggestion that unity is somehow better than diversity. This statement is objectively false. In every conceivable situation, unity is terribly weak in the face of a diverse system:

  • In biology, a diverse microbiome helps you fight off disease.
  • In ecology, diversity improves resistance & longevity while a unified ecosystem is so fragile that it must be artificially protected.
  • A unified economy is susceptible to market forces, while a diverse one can weather any storm.
  • Even metallurgy recognises this: alloys are infinitely stronger than homogeneous metals.

It's just wrong on its face -- that is, unless you're playing to an audience you've already convinced to be afraid of different people. Where exactly does this line between "us" and "them" get drawn? What happens when you find yourself on the wrong side of this line? History is full of answers, and none of them are good.

Bernier is a man who in one breath tells a story about him chastising a woman for referring to herself as "Chinese Canadian" and in the very next sentence refers to himself as a "French Canadian". He is tone-deaf to his own biases on one hand, and dog whistling to racists on the other.

Have a look at their immigration platform with the above in mind. Note the boogeyman they've created there, suggesting that somehow the UN is helping "the immigrants" change the cultural character of the country. There is zero evidence for this claim, but people like this don't need evidence when they have a story.

Climate Change

The man laughed at the mention of the topic. As far as I'm concerned, that alone is enough to discount his opinion on anything, but I like to be thorough.

In his words, the PPC will have no action on climate change at the federal level. Any parent of a child who will have to grow up in this world should be enraged by this. For 50 years we've been peddled this lie that the individual is responsible for their own impact on the earth, while we allowed governments and corporations to literally get away with murder to keep their profit margins up.

Here's what we know:

  1. Climate change is real
  2. It's driven by human action
  3. Just 100 companies are responsible for 71% of global emissions
  4. Corporations don't respond to individual action.
  5. They do respond to government policy.

Given that we know the above to be true, any party that would state that the federal government has no business sticking its nose into climate policy must be rejected immediately. This isn't political opinion, it's science. The PPC has an official policy of inaction on the single most critical problem of our generation.

Even if they were to win only a few seats, holding the balance of power would be enough to derail any climate policy by any government, making our country further complicit in making the world uninhabitable for the next generation.

It's easy to feel powerless on the issue of climate change. It's hard to try to find any sense of power when you're faced with massive economic forces bent on doing the wrong thing when it comes to climate, but this is absolutely your opportunity.

Any party without a strong climate policy must be soundly rejected. If you want to lend your vote to the PPC because "they have good policies" you are personally acting to defeat our best hope at combatting climate change.

One last note on this file though, given that the PPC is all about principles and all. It's interesting that they're opposed to having a climate policy at a federal level, but Bernier was happy to say that he'd push to get Trans Mountain (and other pipelines) built. In this, he's basically said that he's willing to leverage the federal government to further damage the planet, but will actively oppose any action to fix it.

He is reprehensible.

Foreign Aid

He wants to drastically reduce foreign aid. There's only 2 possible reasons for any politician to support this:

  1. He thinks it'll win votes
  2. He's an idiot

Study after study tells us the same thing: the money that goes into foreign aid inevitably leads to more and better economic development for Canada. I've seen numbers as high as a 10:1 ratio in terms of payback.

Here's how it works, using Bernier's colourful "build roads in Africa" line (note it's always "the shithole countries" that he'll refer to when talking about undesireables):

  1. Canada sends money to Kenya to help in the construction of roads, wells, and schools.
  2. That money goes to Canadian organisations that either do the work themselves or have relations with organisations already there.
  3. The work gets done, the local economy improves.
  4. That newly growing economy now has (a) a means to buy Canadian goods, and (b) relations with Canadian organisations to facilitate that exchange. They may also allow for expansion of Canadian business into their area for resource exploitation.

It doesn't always work out exactly like this and the system isn't perfect, but this isn't charity. Foreign aid is a smart, long-term means of developing your own economy.

There's also the fact that in a global civilisation (and economy), improving the health and economy of others counter-intuitively improves your own quality of life. Watch this video for a great break down on this subject. Bernier is pandering here, either out of political savvy or economic naïveté. In either case, his argument is terrible.

Policy

That was my reaction to his interview with The Sun, and it overlaps with a lot of what I have to say about their platform, but I also went through their platform for a few choice responses:

Equalisation is Unfair

Equalisation is what keeps Canada together. It's the basis for any country (or economic union) with diverse backgrounds. As economies fluctuate through recession and market forces, it's equalisation payments that keep whole swaths of the Canadian public from being plunged into poverty. We help the other now, because tomorrow we may need their help. This is how you build a union -- even the Americans get this. The fact that the PPC doesn't is not a reason to support them.

Get Ottawa out of Health Care

The PPC are unabashedly right-wing, free market capitalists. All of their economic policy speaks to this and their characterisation of Medicare as "abysmal" is exactly what I'd expect.

You have to read between the lines on this one: they want to "get Ottawa out of health care" and delegate powers to the provinces. However, health care is already in provincial jurisdiction and has been ever since the Canada Health Act was signed in 1984. They explicitly say that the problem is that the provinces have grown dependent on funding from the federal government for health services -- but of course they are, health care is expensive and the provinces don't have the sources of funding that the federal government does. To delegate the financial responsibility to the provinces is to download responsibilities (via the CHA) to the provinces without giving them the means to do the job.

What they're really saying here is that they intend to de-fund Medicare to the point where anyone with means will be willing to pay. I refer to it as "Health care for the poors" and it's what's happened to the NHS here in the UK. Health care is done on a shoestring budget, funded by political bodies incapable of doing better, while the rich fund the services for themselves through private insurance.

Frankly, I don't see it as being possible under the Canada Health Act, but if you starve the provinces long enough, you might manage to convince Canadians that Medicare isn't worth fighting for -- and of course that's the goal.

Both of my parents got serious medical treatments in the last year, and it's a certainty that they never would have been able to afford it without the federal government subsidising their ability to be alive. So no, these people can fuck right off with this kind of bullshit.

Privatise Canada Post

This is just annoying, and it's brought up all the time with these types. Somehow, privatising something will always fix it, like letting someone take a profit out of something is the way to make it more cost efficient. It's shortsighed at best, and just dumb policy at worst.

Private companies care about profits, not political ends. That's why finding a private courier to deliver a package to far flung communities in northern Québéc is damned near impossible. Canada Post was founded to bring Canadians together, so that anyone in the country could send a letter or parcel to anyone else in the country -- a political goal meant to facilitate community and an inter-dependent economy. Private companies exist to make a profit, and aren't concerned with political goals, so to suggest that we privatise Canada Post is to say that they don't believe in that political goal, that somehow rural Canadians aren't deserving of access to the same privileges as the rest of us.

While they're at it, maybe they should privatise the police and the fire departments. I'm sure some efficiencies can be found in seeing what happens when only people who can afford to pay out of pocket can get basic services.

Abolish Capital Gains Tax & Cutting the Federal Income Tax to 15%

They say that in the US, the poor support the right-wing because they don't see themselves a "poor", but as "temporarily embarrassed millionaires". This (along with xenophobia) is at the root of support for parties like the PPC.

The thing about taxes is that you have to think about them as a question of national policy as opposed to your personal pocket book. I know that that's not how they want to you think about it, but consider for a moment the size of the bank accounts of the people wanting you to think this way and you begin to see my point.

Say for example that you, as a person of modest means, own a (portion of) your house, and take home a median salary. The suggestion that a party would "put money back into your pocket" by cutting capital gains taxes and lowering the income tax is appealing because it would inflate your paycheque and make selling your house more profitable.

But that's thinking too small. Enlarge the picture to think about the national level and things get a lot more interesting.

In Canada, like most of the world, the vast majority of wealth is held by a few Very Rich People. There is of course a spectrum, and modest-means-you is probably somewhere in the middle, but have a look at what "middle" means in the context of this income chart:

While you may take home 2 or 3 times what the people on the poorer side of the spectrum do, the people on the rich end are wiping their ass with enough cash to buy every house on your street. CEOs in Canada make more money in their first hour of work than most of Canada's poorest earn all year.

In a just society, we try to even things out a bit by levying higher taxes on the rich than on the poor. This means that the super rich are taxed in the area of 50% or even 75% in some countries. If you make $10million a year, you only get to keep $2.5million -- it's still a mountain more than most Canadians ever see, and those taxes go to fund things like health care, roads, and education -- things most of us couldn't afford to pay for on our own.

With this picture in mind, while lowering federal taxes to 15% may mean a small bump to you, it's an epic win for the rich. More importantly though, it's a death blow to social services. Without that $7.5million from that one rich guy, your unemployment cheque has to be a lot lower, veterans affairs offices have to close, and schools get fewer teachers. These are services you can't afford to cover personally, even with that bump from the lower tax rate.

High taxes on the rich are about fairness to everyone, and while there's definitely room to consider moving the tax brackets around to support the low and middle class, calling for a 15% flat tax amounts to robbery of the commons by the rich.

Finally

The danger of populists is that they campaign not on facts, but on a story. To paraphrase a favourite US "president":

We have serious problems to solve, and we need serious people to solve them. And whatever your particular problem is, I promise you Maxime Bernier is not the least bit interested in solving it. He is interested in two things, and two things only: Making you afraid of it, and telling you who's to blame for it. That's how you win elections.

Bernier is painting a picture of a Canada under siege by lawless immigrant terrorists, pointing to them (in the absence of any serious evidence) as the true threat while ignoring the realities of failed fiscal policy and climate change. His economic platform is phrased to appeal to the poor and middle-class, but will overwhelmingly benefit the rich and cut the social safety nets that keep the rest of us alive.

He and his party are at best a convenient way to guarantee another Liberal party victory through our borken electoral system. At worst, they're the vanguard for the tumour that is nationalism and even fascism in Canada.

Already you see the racists and yellow jackets lining up to support him -- ask yourself what these people see in him. I promise you it's not a conscious reflection on economic policy. They're responding to that dog whistle.


Update: The party has since removed the entire section on immigration from their website -- read into that what you will. The link I provide here has now been updated to reference the last available copy before it was taken offline thanks to Archive.org's Wayback machine.

May 12, 2019 12:22 +0000  |  Family Grandma Lidia

As I write this, it's been a week since she died, and I'm still not clear on what I want to say.

I loved my grandma, so very much. I want to write a beautiful eulogy for her because she deserves it, but I'm just so consumed with loss that I can't seem to find my usual composure for something like this.

Grandma Lidia was love -- in all the forms imaginable. She fed me when I was hungry (and often when I wasn't), she hugged me when I needed it, she even lectured me when I had it coming. She opened her home to me when I started school, and later when I was living alone, would send me home with giant pickle jars of chicken soup because she knew I wasn't eating right.

She brought the family together every Easter with a cacophony of food: salată boeuf, stuffat, turkey, sarmale, and crème brûlée.

Hristos a înviat!
Adevărat a înviat!

Sure, my grandfather sat at the head of the table, but everyone knew who was running the show. Big family gatherings were where she shined and we loved her for it.

My grandmother supported all of us with a deep sense of love and responsibility that's hard to put into words -- especially when I'm still grieving her loss.

It's a sign of the value of a person really: the scars they leave when they die. These wounds are deep, and the scars are part of all of us now. I know that one day I'll be alright with all of this, but right now it's just unbearable.

I'm sorry I couldn't do better Grandma. I'm just so sad you're gone.

May 05, 2019 11:15 +0000  |  Family Grandma Lidia

I wasn't ready for this.

I suppose that statement sounds absurd on its face, but the truth is that every death of someone close to me has come with substantial advance warning as their bodies gradually failed them. My paternal grandmother even chose the date and hour of her end so precisely that I could literally put Grandma Dies into my calendar a week before it happened.

This was different. It was sudden, and jarring, and just thinking about it makes me terribly sad.

My grandmother died suddenly on Friday, at home, alone. I don't know what the circumstances were yet, but I'm holding out hope that she was as surprised by her own death as I was when I received the phone call, or as my mother must have been when she dropped by and found her body on the floor. I can't shake the image of her struggling to stay alive, alone in her home with no one to hear her calls for help. No one should have to die like that. No one should have to find a loved one after that.

But she died. Alone. My wonderful, warm, loving, nurturing, grandmother, who spent so much of her life investing herself in the people she loved, died on the floor of her living room.

She was the last of my grandparents, but she was also my favourite. Don't misunderstand, I loved all of them: The Wise Old Man, The Impossible Caretaker, and The Unyielding Activist, but Grandma Lidia was the one I wanted to hug and never let go, the one I called regularly just to check in and make sure she knew she was loved. The world isn't just emptier without her, it feels darker, even faded, and I don't know what I can do about it.

I'm just so terribly sad right now.

April 26, 2019 18:21 +0000  |  Family Food Grandma Lidia Recipes 2

I've written about my grandmother's soup before, here and here, but those are both attempts to capture a special Romanian soup called "chorba". That soup is quite complicated and can be a hassle to throw together when all you want is something warm & nutritious to help fight off a coming cold so I wanted to share her typical chicken soup for my dear friend Noreen who's in need of such a thing right now.

Ingredients

Required

  • 1 whole chicken Generally for this sort of thing, bigger is better, but as it forms the base of your soup, you want a proper oily one too. I tend to opt for a free-range one over a larger battery-cage type one as these tend to be a little less... I don't know, sterilised.
  • Some carrots I usually opt for a minimum of 3, but will happily add as many as 8. Honestly, there's no downside to adding more veggies as it only makes your soup tastier and healthier.
  • Some parsnips See the above rules for carrots
  • 1 bunch of celery: Again, volume is good here, so don't be stingy as this stuff is pretty cheap and adds a lot of flavour.
  • 1 large white onion
  • Lots of salt: Don't be stingy.
  • Pepper
  • A fist full of fresh parsley: You really can't overdo this, but generally I take a pack from Tesco and dump the whole thing in.

Optional

  • Garlic (chopped up and tossed in with the veggies)
  • Olive oil (in case your chicken doesn't have enough oil in it already)

Instructions

Over the years, I've adapted my grandmother's recipe to suit Christina's and my tastes. Where the two methods have diverged, I've noted them below, but honestly, you can mix and match and the results will still be yummy.

1. Stock

It's pretty simple: get a big pot and put your chicken in it. Then, fill that pot with enough water that it totally covers the chicken by about 3cm (~1" for the American savages that haven't yet figured out metric 😜). Put that pot on the stove and crank it up to medium heat.

A note about the heat at this stage: this step has two purposes: cooking the chicken (salmonella is a bitch) and creating your stock. If you crank the heat to maximum, you'll cook the chicken alright, but you won't have enough time to leach the goodness out of the skin and bones. If you're in a hurry, you can crank it up to 75% at most, but a tastier soup comes from a slow, even hours-long boil at a low heat.

Add some salt while it's cooking. How much? Lots. Take what you think a soup should have in it and triple it. I have one of those boxes of idodised salt in the cupboard and I open the mouth wide to pour about 5 turns of salt into the pot myself.

Cover it, and let it slowly come to a boil. Depending on how impatient you are, this can be about 30 minutes or 3 hours. If you've got the time, I highly recommend the patient route. Besides, you have other things to do while you wait.

Note that while it's cooking, some white fluffy goo might float to the surface (it varies by chicken). Just scoop it off with a slotted spoon every once in a while.

2. Vegetables

Now that the stock is doing its thing, lets get to the other tasty bits. But first, a note about divergence.

My grandmother's recipe calls for all of the ingredients above, but notably, she doesn't put the onion & celery in the soup. They're added for flavour, but removed before serving. Christina likes these bits though, so we chop them up with the rest of the veggies and leave everything in.

Given the above, if you're going Grandma's route, you'll wanna chop the onion in half and chop the celery stalks into halves as well. She also tends to cut the other veggies unusually large... that's your call I guess.

If you're going with my adaptation, then you'll want to cut all of the veggies down into bite-sized chunks (and the onion even smaller: diced). Dump them all into a big bowl or two and wait for the chicken to finish.

3. Chicken Out, Veggies In

You've just spent a bunch of time sucking the tastiness out of your chicken and into that salt water. You can tell we're ready because there should be little bubbles of oil floating on the surface of your water and the chicken skin should be showing signs of peeling back from the flesh.

A note about oil bubbles: This is the sign of some good broth: a good oily chicken tends to produce lots of yummy bubbles, so if you feel like your broth doesn't look sufficiently bubbly, even after an hour of cooking, feel free to add a tablespoon of olive oil at this stage.

Remove the whole chicken from the pot and put it aside. As it'll have a lot of water in it, I don't recommend just plopping into a cutting board, but rather I tend to favour putting it in a casserole dish to cool down. Be very careful as (a) the chicken is very hot, and (b) it's likely hiding pockets of boiling water. Use big long metal tongs or something. Be creative, but safe.

Once it's out and cooling down in the open air, take all of those veggies you chopped up and toss them in the water. Regardless of whether you opted for the veggies-all-in option or the flavour-only-subset, everything goes in right now.

Put the lid back on, reduce the heat, and let it simmer on low. The timing after this point isn't all that important. So long as your veggies simmer for at least 20 minutes, you'll be fine. If they simmer for an additional 4 hours, that's cool too.

Chicken Back In

Once your chicken has cooled down, you'll want to cut the meat off and into bite-sized pieces. Go through the whole bird and take as much as you can, making sure that you don't accidentally include any bones or inedibles. Put all of your edible bits right back into the soup.

Garnish

That's basically it. We've combined the two age-old food groups: salt and fat, with some vegetables & domesticated bird meat. It's yummy, but it can still be a little better.

Chop up your parsley as finely as you can and dump it all into the pot. Then, grind some black pepper into the pot for taste. I usually do about 12 turns of my grinder and then add more to individual bowls, but I love me some pepper.

Noodles!

I always forget this part, but it's critical: the noodles are cooked separately. Pick a noodle type (we tend to favour fusilli, but my grandmother prefers angel hair pasta.) toss it into a pot of boiling salted water and cook whatever you want for this sitting.

Put a handful of cooked pasta into each bowl and then ladle your soup from the big pot into each bowl. Do not put the noodles in the soup pot unless you intend to eat all of it today (unlikely, you cooked a whole bird). Generally you cook the noodles you need for each sitting

That's it! Enjoy your foodz, and let me know how it goes! If you like it, I'll let my grandmother know you appreciate it :-)

April 18, 2019 11:04 +0000  |  Free Software 0

A while back I made a small contribution to GitLab and they were so appreciative that they sent me a free mug which I then tweeted about.

This tweet was rather popular, as it was re-tweeted by a bunch of GitLab contributors and staff, and among a few thank-yous, I received one private message from someone asking about how easy it was to contribute and if I had any tips about the process.

As I've done this a few times (mostly as one-offs) and have a few ¹ ² ³ Free software projects out there myself, it turns out I did have some pointers. I thought it was worth sharing them here.

  1. Respect the requests of the project. If they have a coding style, follow it as carefully as you can. They may come back with requests for changes to conform to the style guide. Just roll with it and adjust your code. For large projects especially it's important that all contributed code conform so that the total project doesn't end up looking like a Frankenstein of different styles.
  2. Don't go big (at first anyway). Make your first merge request a small one that fixes a simple thing and/or adds a simple feature. If your changes introduce new functionality, make sure that your merge request includes a test or two to support it. If you don't include a test, it's very common for the maintainer(s) to request one as tests (a) help others understand what your changes are supposed to do, and (b) ensures that other people's changes don't accidentally break your stuff down the road.
  3. Be accommodating. This overlaps a bit with 1 and 2, but basically the thing to remember that while you think of your addition as a gift (and it is), it's also a burden to the maintainers. While your code may fix a bug or add something awesome, if it's hard to maintain/understand, doesn't come with tests, doesn't conform to the established style, or some-other-thing-that's-important-to-the-maintainer(s) then you're introducing pain rather than offering something valuable. In a well-maintained project (like GitLab) the maintainers will be friendly and responsive and work with you to get your merge request into a shape that's compatible with the long-term goals of the project. Work with them to do what's needed. Making your first merge request is just the first step toward actually getting your changes merged.

As for the technical part, this is a pretty good process for any merge request to any project (though admittedly I didn't follow this for this one merge request to GitLab as it was just a documentation fix):

  1. Check out the code locally and get it running. Depending on the size of the project, you may not be able to get all of it up, but at least get the part you want to change/test.
  2. Run the tests and make sure they pass.
  3. Create a separate branch off of master (or whatever branch the project asks you branch from)
  4. Make your changes.
  5. Add some tests to confirm your changes (you may want to do #4 before this one).
  6. Run all the tests together to make sure they still pass.
  7. Commit everything. Some projects ask that you break up everything into logical commits, while others ask you collapse everything into a single commit. Check the rules for each project to see they have such a policy. If not, use your best judgement.
  8. Make your merge request!