Blog

  • Two Years on Estrogen and a Coding Project

    Two Years on Estrogen and a Coding Project

    My two year anniversary of having started on Estrogen occurred on July 15, 2016. This followed a long journey to receive hormone replacement therapy that began with a phone call to a community clinic in May 2013. I spoke about my transition and experiences here.

    I wanted to mark the occasion by making a transition video that would show a series of selfies of my face as it changed over time, under the effect of androgen blockers and estrogen.

    However, I have tens of thousands of photos stored on my computer. Manually going through them all to copy the ones that were selfies would take a long while. The solution? Write code to automate that process.

    So armed with an example of facial recognition code, I put together a very simple script that would go through my library of pictures, identify which ones were selfies, and copy them to a directory.

    tumblr_oajhh31mNM1sc994zo1_1280

    It worked. I soon had a directory with perhaps a hundred selfies. There were a few false positives, but given that only a small fraction of my photos were selfies, I was impressed.

    tumblr_oajhh31mNM1sc994zo2_1280

    Then I wrote a script that combined these photos into a video, and added sound. The result was the following:

    The code I put together is pretty rough, given that this was a one-time script. If it interests you though, you can download it here:

    https://github.com/maelys-mcardle/selfie-montage

  • Never Us, Always Others

    Never Us, Always Others


    A man entered a gay club with an assault rifle and killed 49 people in Orlando on Saturday. That was the Latin night; almost all the victims were Latinx LGBT+ individuals.

    Poster for the event going on the night of the massacre.
    Poster for the event going on the night of the massacre.

    The killer was known to be homophobic. The accepted narrative at this time is that the killer targeted the club for the perceived sexuality of its patrons.

    The gunman called 911 during the attack, pledging allegiance to ISIS and mentioning the Boston Marathon bombers.

    I wrote some thoughts following the tragedy a day later:

    There’s an urgent call for blood in the Orlando shooting, but gay men and trans women are still banned from donating blood.

    You can pin this on an exceptional case, on foreign influence, and yet ignore that there’s nothing foreign about this.

    The disgust the killer expressed at seeing two men kiss is no different than the vitriol expressed in churches and by leaders everywhere. There’s nothing exceptional about his views. Just look at what a lot of politicians, Christian groups, blood donation agencies, movies, TV shows, radio, newspaper columnists have to say. There is a clear message that gay men, trans women and people of colour don’t really belong in society.

    Mass killings are a regular occurrence. Nothing exceptional about that either.

    So what then is exceptional about the two intersecting. A lot of people bear responsibility for creating a climate that makes tragedies like this so unexceptional, and they aren’t part of Isis. They are people who get large salaries for saying things, and who are never on the receiving end of their own words.

    Also solidarity with Muslim people who will no doubt be subject to more shit from those who find it easier to blame others than search themselves.

    I’d like to talk about some of responses to this tragedy. What appears on the outset to be displays of kindness, I contend, is thinly veiled cruelty.

    Silence in Words

    The bishop for the Orlando Diocese responded to the tragedy with a Prayer for Peace. It starts with:

    A sword has pierced the heart of our city. Since learning of the tragedy this morning, I have urged all to pray for the victims, the families and first responders. I pray that the Lord’s mercy will be upon us during this time of sadness, shock and confusion.

    It goes on for about a page and uses sympathetic language. Yet not once in the 284 word document does it acknowledge the identity of the victims.

    It’s an important omission. If this was a crime where 49 Jewish people were killed in a synagogue by a killer that professed anti-Semitic views, you can be sure that the fact that the victims were Jews would be recognized. Because it’s only in identifying the underlying prejudice can it be effectively addressed.

    But the Orlando Diocese didn’t do that in its statement, perhaps because the church believes in the same fundamental principles as the killer: that there is no place in society for the tolerance of LGBT+ people and that includes Latinx LGBT+ people.

    On the same website for the Orlando Diocese, the church implores to maintain bans on same-sex parents from adopting children, advocates to ban same-sex marriages, frames having married gay people exist as an imposition on presumably straight people and speaks out against the tolerance of gay people.

    It isn’t just the Orlando Diocese. The governor of Florida, Rick Scott, has not acknowledged who the killer targeted either. The 322 word statement on the government of Florida website does not once acknowledge the identity of the victims. The Orlando weekly noticed this too, with the headline Florida Gov. Rick Scott hasn’t said the words ‘gay’ or ‘LGBT’ once since the Orlando mass shooting.

    Like the Orlando Diocese, Rick Scott opposed adoption by same-sex couples and supported the ban on same-sex marriages. The implication is that LGBT+ people are harmful to children (adoption ban) and that LGBT+ people’s love is inferior (same-sex marriage ban.)

    There are voices that are recognizing the identity of the victims, but voices like Rick Scott’s and the Orlando Diocese are being interviewed on the likes of CNN. It is cruel that their contribution to the deaths of these individuals be to erase them and to ignore the prejudice behind these deaths. To squander precious opportunities for bringing awareness that could impede future violence.

    it’s cruel that the people getting the air time are those whose difference with the killer is that the killer went a few steps further than the kind of rejection from society they advocated for.

    Opportunism

    There’s a second tragedy happening following these killings, and that’s the blatant opportunism going on to justify further prejudice against Muslims and to advocate for war.

    The Republican presumed presidential nominee, Donald Trump, re-affirmed his belief that all Muslims should be banned from entering the United States. New Jersey governor Chris Christie suggested overseas military action. The Wall Street Journal suggested going after ISIS while simultaneously generalizing 1.6 billion Muslims:

    The only real solution is to destroy Islamic State in its havens abroad so that young Muslims around the world won’t see it as a vanguard of the future.

    While the killer pledged allegiance to ISIS, the killer had no ties to ISIS. The killer was an American. The killer was born in the US. The killer grew up in the US. The killer lived in the US. The killer carried out the killings in the US.

    Let’s step back for a moment and look at the big picture in the US. There were 1,000 mass shootings in the US in 1,260 days. The reported cases of homicides against LGBT+ people is at an all-time high80% of LGBT people killed were people of colour. In an environment like this, it was inevitable that the mass shootings would intersect with the violence faced by LGBT people of colour.

    If there is to be a discussion about gun violence towards LGBT people of colour in the United-States, and wanting to prevent these crimes in the future, then it is a distraction to put the entirety of the focus on ISIS or Islam. Analyze this from the perspective of looking at the killers actions. A pattern quickly emerges, greater than this killer, and one that can’t be tossed up to ISIS or Islam: 1,000 mass shootings and LGBT+ people of colour bearing the brunt of the violence.

    The way this crime is being presented is as an exception, the result of something to do with Islam, with them, and nothing to do with us. The assertion is that conservative Islam isn’t contributing to a pool of violence, but rather represents the entirety of it.

    Yet there was nothing exceptional about the killer’s extreme display of prejudice in this society and that has entirely to do with “us”.

    There were over 200 anti-LGBT laws being worked on in the US this year. The country’s major newspapers who equated gay men with sexual predators are now doing the same to trans women, sexual relations between gay men is still on the books as being illegal in Florida, it’s legal to fire someone for being LGBT+, and trans people are sterilized just so they can be allowed to update their gender marker.

    This bigotry normalised to the point being called “debates” or “controversy” rather than outright acts of violence towards LGBT individuals. This translates to an environment where 26% of trans people have lost a job for being trans, 9% have been physically assaulted in washrooms, 22% have been harassed by police40% have been harassed when presenting ID, 78% of trans youth have been harassed in schools, 90% of trans people have been harassed on the job, 37% of trans people have been harassed in a retail store, 63% experienced a serious act of discrimination.

    What’s insidious about this discrimination is that it’s so normalised that it’s not even conceived as a factor for this crime.

    Latino people are also subject to this violence. 84% of Hispanic individuals polled say discrimination in schools is a problem, 83% say it’s a problem in the workplace, 40% experienced or someone they knew experienced an act of discrimination in the last five years. The presidential candidate openly states that being Latino is reason enough to disqualify a judge from overseeing a case. The US has a history of systemic discrimination towards people of colour. It isn’t Muslims or ISIS that created this environment.

    Even if you wanted to talk about faith-based bigotry, then that conversation would need to centre Christianity. The 3.3 million Muslims in the US are a drop in the bucket compared to the 225 million Christians and have no equal to the Christian Right. It isn’t Muslims who are responsible for the systemic discrimination that exists towards LGBT Latinx individuals. To exaggerate the role of Islam in these discussions is scapegoating; shifting all blame to an oft-maligned minority for the environment created by largely white straight cisgender affluent Christian men.

    There’s an overlap of American politicians and personalities advocating for war or blame Muslims over this tragedy and the ones who are backing those 200+ anti-LGBT laws and contributing to the normalisation of violence. They are deflecting attention away from the prejudice that fueled this crime to advance their own position, at the expense of victims of these crimes.

    Conclusion

    Margaret Wente, the pundit who advocated against the acceptance of trans youth, defended conversion therapy, exemplifies everything that’s wrong with the response to the shooting with her take:

    Meantime, plenty of people argued that the real culprit was homophobia and intolerance – not just the shooter’s, but ours. As Mr. Obama put it, “we need the strength and courage to change” our attitudes toward the gay, lesbian, bisexual and transgender community. Funny, but I was under the impression that most of Western society had already done that.

    I’m only mentioning her because her views are emblematic of the larger pattern: the erasure of the voices of victims and the denial that there’s any problem in our society. Instead, she places all blame on Muslims.

    And that’s the second tragedy in all of this: the victims were erased so that the bigots could back further injustices.

    And everyone who gives these bigots a voice of greater importance than the Latinx LGBT+ victims is playing along, removing what precious opportunities there were to bring an end to violence like this.

    What a shit show.

  • Vegan Gluten-Free Cheesecake

    Vegan Gluten-Free Cheesecake

    I had a guest over this weekend who had a few dietary restrictions, including gluten-free, dairy-free, and vegetarian. I wanted to make a decent dessert for them and came across this recipe.

    It turned out to be the best vegan cheesecake recipe I’ve pulled off.  Don’t expect the same taste as an actual cheesecake, but the taste was pleasant on its own merits and the texture spot on.

    Vegan Gluten-Free Cheesecake (Original)

    Crust

    • ¾ Cup Rolled Oats
    • ¾ Cup Slivered Almonds
    • ¼ Tsp Salt
    • 2 Tbsp Sugar
    • ¼ Cup Coconut Oil, Melted

    Filling

    • 1 Cup Raw Cashews
    • 2 Cans Full-Fat Coconut Milk
    • 8 oz Vegan Cream Cheese
    • 1 Tbsp Cornstarch
    • 1 Tsp Vanilla Extract
    • ⅔ Cup Maple Syrup
    • 1 Tbsp Coconut Oil
    • 1-2 Tbsp Lemon Juice
    • ⅛ Tsp Salt

    Instructions

    1. Refrigerate the cans of coconut milk. I put mine in the freezer for a bit and then put them in the fridge to speed up the process.
    2. Add raw cashews to a bowl and cover with boiling water for at least 1 hour uncovered. Then drain.
    3. Preheat the oven to 350° F.
    4. Line an 8×8 pan with parchment paper.
    5. Add all the crust ingredients to a ziplock bag except for the coconut oil, and roll over with a rolling pin until granular.
    6. Add the coconut oil into the ziplock bag and mix it in by massaging the bag until a loose dough is formed. You should be able to squeeze the mixture between your fingers and for a dough to form, instead for it to crumble. You may need to add more coconut oil.
    7. Place the mixture on the bottom of the pan and spread evenly and pack it down.
    8. Bake for 15 minutes, then bake for another 5-10 minutes at 375° F. The edges should be golden brown, the surface browned just a bit.
    9. Pull from the oven and turn the oven down to 325° F. Let the pan cool slightly.
    10. If the cans of coconut milk are sufficiently cool, a thick cream will form at the top of the can. Extract a cup’s worth of that cream.
    11. Add all the cream (not the coconut milk left in the cans) and the rest filling ingredients to a large mixing bowl.
    12. Mix with an immersion blender until completely smooth.
    13. Pour filling over the crust. Tap the pan to remove air bubbles.
    14. Bake for 50 minutes to 1 hour. It’s ready when the center doesn’t appear liquidy when you jiggle it. The center should only jiggle slightly.
    15. Let rest for 10 minutes, then let cool completely uncovered in a refrigerator to prevent condensation.
    16. Cover and leave in the refrigerator for 5+ hours or overnight.
    17. When ready to serve, lift the cheesecake out of the pan and cut into triangles.

     

  • Bill C-16

    Bill C-16

    Bill C-16 was introduced this past Tuesday. The bill is officially known as “An Act to amend the Canadian Human Rights Act and the Criminal Code” and is to include gender identity and gender expression as grounds for explicit protection.

    The contents of the bill is almost identical to the failed Bill C-279 of the last parliamentary session, and to the failed Bill C-389 before that. I talked about C-279 here, here, and here. I mentioned C-389 here. All in all, it’s been eleven years since bills like this have been introduced to Parliament.

    It’s Different This Time

    There are two notable differences about the introduction this time, however. First, this is a government bill. Previous efforts were private members bills brought forth by (now former) NDP MP Bill Siksay and then NDP MP Randall Garrison.

    The second notable difference is the nature of the opposition.

    A year ago the Conservatives held a majority government. Conservative MPs in the House of Commons were near unanimous in their votes against C-279. Internal documents indicated that the government opposed the bill. The four other parties unanimously supported the bill. MPs belonging to the governing party repeatedly vilified transgender women specifically, suggesting that recognizing their rights to use gendered facilities was to permit sexual predators to prey on children.

    Whether or not it is called “the bathroom bill,” it allows for pedophiles to take advantage of legislation that we have in place.

    In the Senate, the former president of the Conservative Party drummed up the same bigoted characterization and amended the bill as to explicitly legalize discrimination. Then the 2015 election came killing all unpassed bills including this one. I wrote a blog entry covering the legislation’s demise titled “When The Bigots Won.”

    Fast-forward to today, and interim Conservative party leader Rona Ambrose indicated she would vote in support of Bill C-16 despite her previous opposition to C-279.

    “I’ll be supporting it,” Ambrose told reporters on Tuesday. “While I know that in the past the courts have ruled that all of those protections do exist in the law, I do think the specific recognition and the codification in law is important. I know that it means a lot.”

    Tony Clement, another senior Conservative politician, also reversed his stance to support the legislation. There are other stories of Conservative politicians coming out in support of the bill despite past voting record.

    Meanwhile, Don Plett, the Conservative senator who amended C-279 as to make discrimination on the basis of gender identity and expression explicitly legal stated that his views hadn’t changed.

    “You know my feeling on transgender rights. They haven’t changed since the last time I spoke about it,” said Plett, barely breaking stride on his way to enter the Senate.

    But he also gave himself an out to potentially let the bill through.

    “But because it’s now government legislation, obviously a lot of the rules have changed. So, I will make a decision in the coming weeks.”

    Given the defeat of the Conservatives in 2015, given that the interim party leader and senior members support the measure, I can’t see the former president of the party undermine efforts by House conservatives to appeal to more people in Canada.

    I’m fully confident that this bill will pass.

    Very Short History of C-16

    Trudeau seems to have been aware and in support of trans issues previous to the election. The party he was leading supported C-279 unanimously. He seemed to understand gender identity as a concept. Speaking of a new rule in 2012 that made air travel more precarious, he stated:

    Mr. Speaker, since the election, this government’s lack of tolerance for our minorities has grown. A new rule prohibits airlines from allowing a person to board a plane if their appearance does not match the gender on their identification, unless they have a medical certificate. This is a direct affront to the transsexual and transgendered community, which is outraged by this minister who has introduced discrimination under the guise of security.

    It should be noted the said rule was removed as soon as the Liberals took power, to little fanfare. Back to C-16, the first official mention of such a law came ten days after the 42nd Parliament began.

    On Nov 14, 2015, the government took the exceptional step of publicly releasing Trudeau’s ministerial mandate letters, in which the prime minister assigns each minister with his priorities.

     

    In his letter to Justice Minister Jody Wilson-Raybould, Trudeau listed 15 wide-ranging priorities, the last of which includes “legislation to add gender identity as a prohibited ground for discrimination” under both Canada’s human-rights and hate-speech provisions, which make it a criminal offence to discriminate against listed minorities.

    At the time, however, there wasn’t a sense among activists of when Liberals would introduce such legislation. A month later, on December 9th, Randall Garrison brought forth Bill C-204.

    Bill C-204 was named “An Act to amend the Canadian Human Rights Act and the Criminal Code (gender identity and gender expression)” and was a copy of C-279 from before the Conservatives stripped protections. Amanda Ryan explained the Bill C-204’s introduction as a means to pressure the government:

    Ryan says Garrison is introducing this bill knowing that the Liberal government has promised to present their own trans rights bill, which would take priority over Garrison’s.

     

    “His intention is to keep pressure on the government so their bill does not slip down the priority list,” she said.

    Things were then silent on the public front. In April 2016, MPs started to disclose in private that the Liberal bill would be introduced this spring and passed later this year.

    Last Sunday (May 15, 2016), word came there would be an announcement on Tuesday (May 17) to coincide with the International Day Against Homophobia and Transphobia. The wording of the bill wasn’t yet known, though it was expected to be another iteration of C-279.

    On Tuesday, the news came with an official announcement at 10:15 aired on CPAC and a technical briefing at 10:45.

    enhanced-mid-11725-1463501893-8

    That meeting confirmed that the bill, now known to be C-16, mirrored the clauses in C-279.

    Media Reaction

    Reaction was prompt, and perhaps signalling a significant change from the environment in which C-279 was introduced, received significant national and international coverage.

    In another change of significance, all of this coverage from major news outlets were worded in such a way to suggest bias in support of the legislation, with words such as “safeguard”, “protect” and “rights” in their headlines.

    Screenshot from 2016-05-23 15-44-26

     

    Screenshot from 2016-05-23 15-47-21

    Compare that with C-279’s or C-389’s coverage, where journalists used words like “controversial” and the reductive “proposal.” Where journalists propagated the harmful and debunked myth of sexual predators in washrooms by adopting the “bathroom bill” moniker themselves. Where they gave equal weight to the voice of bigots not recognizing the false equivalence.

    Screenshot from 2016-05-23 15-51-39

    toronto-star2
    The tone of coverage completely changed in the media especially towards the end of C-279’s run. The support remains uneven, however. Both of the two national newspapers in Canada continue to release editorials opposing acceptance of trans people with headlines such as “Transgendered advocacy has gone too far” and “Kids pay the price of transgender politics.”

    There was something else to be noted in the media attention. This misconception that the bill would change the situation for trans people. Radio Canada framed C-16 as “legislation to guarantee the rights of transgender people across the country” and “ban discrimination against transgender people.”

    This simply isn’t true.

    What the Bill Does

    The bill amends the Canadian Human Rights Act and Criminal Code to include gender identity and expression. As it’s now categorized as a hate crime, police forces will start collecting data on violence on the basis of gender identity or expression. Those discriminated against will have a new avenue of recourse.

    What the Bill Doesn’t Do

    The bill doesn’t address any of the reasons people are marginalized on the basis of gender identity or expression. It doesn’t change any government policy. It’s wholly reactive, not pro-active.

    Absent of any further government action, it leaves the burden of change to those who have the fewest resources to bring it about. Half of trans people in Ontario make less than $15,000 a year.

    As for police taking metrics, 20% of trans people have been physically or sexually assaulted for being trans in Ontario while another 34% had been verbally threatened or harassed but not assaulted. Many do not report these assaults to the police. Hardly surprising when 24% reported having been harassed by police. Meanwhile half of homeless youth in Ottawa are LGBTQ, sex work is still effectively illegal in Canada, HIV is effectively criminalized, all issues that are disproportionally relevant to this demographic and to which the police act as agents that remove opportunities for safety and income. The police further enforce existing prejudice by assisting businesses who kick out trans patrons over gender ID matters through affirmations of private property. In this climate, the police stats collecting isn’t very meaningful.

    The kind of discrimination that makes people unsafe, whether it’s a doctor refusing to care for the person because they’re trans, or a psychologist with questioning clients that believes trans people can’t be gay, or schools that dead name students, or a movie where dating a woman who is trans is the joke, or a workplace that requires gendered dress codes, or newspapers with editorials that defend reparative therapy and advocate against acceptance of youth, or street harassment, or what have you – these are all firmly left unchallenged in this new regime. After all, these examples I’ve just cited already exist in an environment where such legislation is already on the books. Ontario introduced gender identity and gender expression to its human rights code in 2012. All the perpetrators I’ve cited in these examples are safe from any legal action on grounds of discrimination.

    And so I object to assertions that this law will make things safe. It won’t. It’s symbolic, to some extent it’s necessary, but it won’t change discrimination. At least not unto itself.

    What It Takes To Bring Change

    What it takes is what’s already taken place. Decades of work by an army of people, each building upon the shoulders of those before them, each doing something – however seemingly microscopic to them – to change what they can.

    While these issues may seem to have exploded into popular consciousness, it will take decades more by all these people doing these changes to take down these social barriers.

    There’s no easy fix.

    Except oh maybe $15 minimum wage, actually making sex work legal, decriminalizing HIV, to start.

    In The End

    I was really disappointed when the bill was announced, I really hoped that the Liberals would have produced a more audacious piece of legislation given their majority and support by the opposition – even without Conservatives.

    That wording for the bill, which dates back eleven years, was significant when it was introduced for the environment it was introduced in. Had it passed then, it would of had a real impact on attitudes towards acceptance of those who aren’t cisgender.

    Now, however, with the public moving towards that acceptance, this symbolism is getting less and less impactful. Meanwhile, discrimination remains pervasive and easily defensible. I hope we’ll see policy changes in the future to help with that.

    Despite my reservations, this is a victory. I am enormously thankful to all those who made it possible.

  • You’re writing legacy code

    You’re writing legacy code

    We’ve all dealt with legacy code.

    Too unwieldy to quickly respond to modern demands; too big to refactor whole.

    No one ever considers their new lean software project to be so bad it should be thrown away.

    We should rethink that.

    Treat what you’re writing now as if it’s legacy code. As if its so far removed from what the needs of the project are and of such low quality that people will want to throw it away.

    How will you make it easier for them to do precisely that?

    Architect for it. Split up projects into small self-contained components with well-defined interfaces. Have a policy to further split these components up as they grow in scope. Make whatever code remains easily understandable. Use auto-generated documentation. Enforce coding style and size limits. Prize code clarity over cleverness or saving theoretical CPU cycles. Always leave the code cleaner than you found it. Only ever build the glue between existing products. When something comes out that duplicates what your glue does, integrate it. Code infrastructure. Aggressively adopt the latest trends seen in companies that react quickly and successfully to changing needs. Plan for adopting the wrong technology so that it’s not a set-back but an isolated learning experience.

    Help future you. Make your project consist of chunks that can be quickly thrown away and replaced whole.