Category: Life

Every other post.

  • 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.

  • Apple Pies Inside of Apples (Round 2)

    Apple Pies Inside of Apples (Round 2)

    Ingredients

    • 5 Large Apples
    • ½ Lemon, Juiced
    • ½ Cup Sugar
    • 3 Tsp Cinnamon
    • ¼ Butter (I used vegan Earth Balance)
    • 2 Tbsp Maple Butter

    Directions

    1. Four of the apples will be turned into bowls! Cut the tops off of four apples. Then spoon out the insides and put all of them except for the pit in in a large pan. Dispose of the apple pit.
    2. Line the inside of the apple bowls with lemon juice. That prevents them from browning.
    3. Peel the fifth apple, dice it, and throw the diced apple into the pan with the other apple insides.
    4. Add the sugar, cinnamon to the pan. Mix the contents so that the apple innards are coated in cinnamon sugar. Add the butter.
    5. Place the pan on the stove and set the heat to medium. Cook the mixture until the apples are soft when you poke them with a fork.
    6. Pour the apple cinnamon sugar mix in the apple bowls.
    7. Top with maple butter.

    Verdict

    I liked the outcome. The picture at the top of this post only had four apples for the filling, not five like this recipe calls for. Another topping that would work well would be an oat topping like ones often seen with apple crisps. If such a topping were added, you would want to omit the fifth apple.

  • Miniature Oreo Ice Cream Cakes

    Miniature Oreo Ice Cream Cakes

    Makes 12 miniature ice cream cakes.

    Ingredients

    • 16 Oreo Cookies
    • 1 Package Cream Cheese (8oz)
    • 1/3 Cup Icing Sugar
    • 1 Tsp Vanilla
    • 2 Tbsp Granular Sugar
    • 1 Cup Whipping Cream

    Directions

    1. Line the wells in a muffin tin with muffin liners.
    2. Place an Oreo cookie at the bottom of each of the 12 wells of the muffin tin.
    3. In a large bowl, cream the cream cheese, icing sugar and vanilla.
    4. Remove the icing from four Oreo cookies. It’s okay if some is left. Place the de-iced cookies in a Ziploc bag and break into crumbs. Add the crumbs to the cream cheese concoction and mix.
    5. In a separate bowl, whip the whipping cream until soft peaks form.
    6. Fold the whipping cream into the cream cheese mixture. Spoon the mixture into the muffin wells.
    7. Freeze for 3+ hours and serve.

    Verdict

    The ice cream doesn’t require an ice cream maker, so that’s cool. The ice cream is pretty hard out of the freezer but softens when exposed to room temperatures.

  • Story Creator

    Story Creator

    I’m pleased to announce the initial release of my latest project, the Story Creator. The Story Creator lets you make your own “choose your own adventure” style game online. You can try it out at story-creator.ca.

    story-creator-1

    The site gives you a spot to submit your own stories. These stories are written in “story code”, which is really just the simple markup language Markdown. The Story Creator will then understand that code and build a website out of it.

    story-creator-2

    This is what one of those websites made with the Story Creator would look like:

    story-creator-4

    story-creator-5

    Documentation for how to write “story code” is available on the site. It covers everything you need to know plus numerous examples. Many examples come with a Try Example button to take the code out for a spin.

    story-creator-3

    When playing out one of these “choose your own adventure” games, the site will build a history of all actions taken. You can thus go back in time and explore a different branch of the story.

    story-creator-6

    Finally, the Story Creator doesn’t save anything. The main reasons are that it greatly reduces project complexity, server load, maintainability requirements, and copyright concerns. However, there is still a means to share your works out there by leveraging third-party document sharing sites.

    story-creator-7

    story-creator-8

    story-creator-10

    The source code for the Story Creator is available on GitHub and released under the MIT License. You’re free to copy the code, change it and make it your own, redistribute it, etc.

    story-creator-9

    I’m really pleased with myself. It’s been two years since my last open-source project I saw to completion, a graphical package manager for Arch Linux. I consider the workshops I’ve done to be creative endeavours, but they weren’t on this scale. It feels good to finally finish something, you know?

    Anyways, you can take the Story Creator for a spin here.

     

  • Presentation on “Not Passing”

    Presentation on “Not Passing”

    I gave a presentation on Friday at Algonquin College for the Trans Day of Remembrance on “Not Passing.” You can view the slides here.

    It was partially inspired by the Not Trans Enough zine, to which I contributednot-trans-enough. If you’re trans and haven’t read it, I recommend it. It covers an issue which gets very little airtime, and that is how not passing and living outside gender norms elicits very different treatment as compared to binary passing trans people.

    It was also inspired by all the times that trans people had made it clear to me that passing was the only acceptable outcome. To them, I could only be pre or post surgery. They gave unsolicited advice about my appearance. They talked down about themselves for not passing.

    Those interactions always make me feel a little sad. Because what they’re doing is demonstrating that they internalizing the message that surrounds them: that their body isn’t good enough. That only when they cannot be physically distinguished from a cisgender person is their body satisfactory.

    And in the way they talk, it’s clear that they think it’s like this for everyone. They don’t seem to think that the problem is the rest of the world, that we’re fine as we look. That it doesn’t invalidate our gender. That we can create our own communities without people who shit on us for our appearance.

    It’s particularly sad because for a lot of them, they won’t ever pass. So what’s in their future is a lot of hate over themselves for something that can’t be changed. I understand it though: that’s what the world is telling them in so many ways.

    Our bodies are different and it doesn’t make our gender any less real. The steps we do to have our gender recognized and bring personal relief to us can help, but is no magical cure. And a magical cure wouldn’t be for us to all look cis, it would be for people to accept us as we are.

    But the message around us is that we are worthless if we don’t end up indistinguishable from a cis person.. We don’t have the space to say “I’m a woman, I look different than a lot of women out there, and that’s okay.”

    Passing is a fucked up concept, but I get it. Hell, if I could pass, I would. I’m tired of being misgendered and be invalidated because I don’t. I have a binary identity though, so as cissexist and messed up as “passing” is, it’s at least applicable to my context. Passing doesn’t make sense in every context though, and expectations around it are most toxic for people who aren’t at any end of the gender spectrum. This society, as intolerant as it is of people who cross this spectrum for defying its notions of gender, is especially cruel to those who eschew these gender norms altogether.

    In my presentation, I talked about obstacles that non-passing people face and how gender conformity is pushed on us from the outside.

    View the slides here. Use the right & down arrow keys to navigate the slides.