skip to content

🚧 Site styles are under construction. Please enjoy the minimalism. 🚧

Writing

see all tags

Not All Zeros are Equal

@ OddBird.net

There’s a well-established ‘best practice’ that CSS authors (as well as linters and minifiers) should remove units from any 0 value. It’s a fine rule in most cases, but there are a few common situations where it will break your code.

2 Days of Cordwainery

@ Colorado Shoe School

Erin and I spent a couple days last week at the Colorado Shoe School in Bellvue, CO – learning, designing, and making our own sneakers. Yes, actual sneakers, fit for wearing, and built from scratch. Only the soles come pre-formed out of recycled plastic.

Body Margin 8px

All browsers add an 8px margin on the body element – it’s part of the w3c-recommended default stylesheet which browsers generally use as a starting point for their own ‘user agent’ styles. But why 8px? Where does that come from?

Every Transition is a Page Transition?

@ OddBird.net

There’s a new web API proposal for transitioning shared-elements across pages. It’s great for making smooth page transitions, but what if we apply it to individual elements with changing styles on a single page?

Miriam, for the Archive

This post has been written and published, and filed away for safe keeping as an event that happened in my past. This post is also a live performance, and an invitation to engage. Thanks for dropping by.

Complex vs Compound Selectors

In CSS, there are compound selectors and also complex selectors, and I never remember which is which. Do you need to learn the difference? Probably not. But I’m tired of looking it up.

Pity+Fear (a travesty)

What does it mean to be a person – to have a body, and live in it – to make choices, and change over time – to tell the truth?

Monkey Writr

A monkey hitting keys at random for an infinite amount of time will eventually want some help writing Hamlet (or whatever). You’re the monkey. We’re here to help.

Support (Not) Unknown

@ OddBird.net

Working on a new CSS feature like Container Queries, one of the most important considerations is to ensure a “migration path” – a way for developers to start integrating the new code, without breaking their sites on legacy browsers.

Container Queries Explainer & Proposal

@ CSSWG

Media-queries allow an author to make style changes based on the overall viewport dimensions – but in many cases, authors would prefer styling modular components based on their context within a layout.

Open CSS Notebook

@ css.oddbird.net

As I spend more of my time working on the CSS language, I wanted a place to take notes and explore new ideas in the open.

Fallout

I wrote this at the start of the Iraq war (2003), and later made the short film. It’s been on my mind again during COVID-19 isolation.

Use new selectors responsibly with selector queries

@ Mozilla Developer

Firefox 69 was the first to implement selector feature queries, but other browsers are following suit. I’ll show you how it works, and how to start using this new feature query right away.

How do you wrap long words in CSS?

@ Mozilla Developer

Horizontal text overflow has always been difficult to manage on the web. The default visible overflow is designed to make sure content remains accessible no matter the size of a containing box, but it’s not our only option.

CSS Most Normalizer-est

Why waste your time on half-measures? Make your site THE MOST NORMALEST with this ULTIMATE CSS RESET.

Scroll Snap in CSS

@ Mozilla Developer

When we’re scrolling down a page, or through a gallery of images, snap-targets can help guide us from one section or image to the next. In the past, developers have used JavaScript to hijack scrolling, but now we can manage scroll alignment directly in CSS with only a few lines of code.

Inner & Outer Values of the Display Property

@ Mozilla Developer

The display property has been in CSS from the beginning, handling everything from block and inline boxes to list-items and full layout systems like flexbox or grid. Now the display syntax is getting an upgrade to match it’s multiple uses.

Why isn’t this CSS doing anything?

@ Mozilla Developer

There are a number of property & value combinations that can lead to CSS being inactive, and now Firefox will tell you why. Open the developer tools, and look for the greyed-out property with an info-box on hover.

Laying out Forms using Subgrid

@ Mozilla Developer

It’s a common pattern to align form labels and inputs in grid-like layout. I’ll show you how to do it quickly using CSS subgrid, with several quick fallbacks.

Subgrid for Better Card Layouts

@ Mozilla Developer

Card layouts are popular on the web, rows and columns of boxes with similar content. CSS grids can help align those cards, but it’s still be hard to line-up content inside the cards – headers and footers that might need more or less room.

Faster Layouts with CSS Grid

@ Mozilla Developer

For years, we’ve struggled to build resilient layouts on the web, but CSS Grid promises to change all that – and you can start using it now, with only a few properties and basic concepts.

What does revert do in CSS?

@ Mozilla Developer

I’ve often used initial and unset in my CSS – global keywords that can be applied to any property. The difference is small, but important: unset allows inheritance, while initial does not. But then Firefox implemented revert and I was confused – how is this one different from the others?!

Introducing Sass Modules

@ CSS Tricks

Sass recently launched a new module system. The new syntax will replace @import with @use and @forward – a big step forward for making Sass partials more readable, performant, and safe.

Why is CSS so Weird?

@ Mozilla Developer

Love it or hate it, CSS is weird: not quite markup, not quite programming in the imperative sense, and nothing like the design programs we use for print. How did we get here?

Styling Lists in CSS

@ Mozilla Developer

When you create lists in HTML, browsers add bullet-points or numbers we call list markers. Now CSS gives us the tools to style those list markers, and even create our own!

F*CSS

In the CSS naming-convention arms race to lowest specificity, I’ve decided to only use universal * selectors. I call it F*CSS.

Mozilla Developer Channel

I’ve been working with Mozilla to help create a new resource for web professionals – with a mix of videos, articles, demos, and open source tools.

Vagina Monologues

@ It Grows Wild

I was invited to perform a Vagina Monologue, and ended up writing my own.

Rejecting Maleness

@ Journal of Mennonite Writing

The Journal of Mennonite Writing asked me to submit for their queer issue. I don’t identify as Mennonite, but I did grow up in the church, so I asked my friends what to write about. They suggested the common question: In a world without rigid gender roles, would anyone need to be trans?

Chosen Family (Thank You)

Yesterday, I shared an article about my impending surgery, and a request for help – both social and financial – as I go through this. I was embarrassed to ask, and not sure what to expect, but your response has been swift and overwhelming. I can’t thank you enough, but I’ll keep trying.

Mia’s Medical Upgrade

Denver Health has started offering vaginoplasty in addition to their other trans medical services. While I’ve been on the waitlist for various surgeons around the country, Denver Health called me this week to give me a date: September 10, less than two months away.

JANE/EYRE

@ The Bakery

We are not here to flatter egotism, or prop up humbug; we are merely telling the [queer] story. We value what is good in the book; but we believe in the existence of other, and more vivid kinds of goodness.

Sex, Love, & Romance

@ PS I Love You

“I don’t have many guy friends, but my guitarist is one. Parting, I lean in for the cheek-kiss but he plants a good one right on my lips.”

(Mis)Gender

At the family vacation in Moab, everyone is doing their best. It’s not enough, and my day is peppered with the wrong name and pronouns. I hide in my room through dinner so they won’t see me crying.

Shifting Nouns

@ Twined Fragments

“I’ve seen myself in the mirror. I find me… disorienting. What do they see that I don’t? Why aren’t they laughing at me?”

Mothers, Fathers, Husbands, Wives

@ Twined Fragments

“Mother finds me at her wardrobe, in her pumps and pearls. What are you doing? Being a mommy. Are you, then? She clips on the earrings (they pinch!), reaches for her lipstick.”

Fun with Viewport Units

@ CSS Tricks

Viewport units have been around for several years now, with near-perfect support in the major browsers, but I keep finding new and exciting ways to use them. I thought it would be fun to review the basics, and then round-up some of my favorite use-cases.

Body & Gender Fragments

I wasn’t born in the wrong body. I was born, a body. Without my body, I don’t exist.

Getting Started with CSS Grid

@ CSS Tricks

It feels like CSS Grid has been coming for a long time now, but it just now seems to be reaching a point where folks are talking more and more about it and that it’s becoming something we should learning.

Justice [Under Construction]

I’m still reeling from this year of insults,  a traumatizing campaign turned traumatic election. I’m not sad about a contest lost, but what those results mean for real people around me. 2016 is over, but 2017 is going to be even harder.

Some Clarifications on Trans Language

There’s a lot of language that gets thrown around, but much of it comes loaded with over-simplified baggage and misconceptions. Here are a few that have been on my mind – from gender identity to biological sex, transition, passing, and visibility.

Some Kind of Resistance Tour

It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…

Loops in CSS Preprocessors

@ CSS Tricks

No matter what acronym drives your selectors (BEM, OOCSS, SMACSS, ETC), loops can help keep your patterns more readable and maintainable, baking them directly into your code. We’ll take a look at what loops can do, and how to use them in the major CSS preprocessors.

CSS Tricks

Blog for people who make websites

An Interview with Miriam Suzanne

@ CSS Tricks

Chris Coyier interviews Miriam when she joins the CSS Tricks team as a Staff Writer. We talk about gettting started in the industry, name confusion, fouding OddBird, building Susy, and more.

Miriam: A How-To Guide

There are some questions that come up again and again if you are trans. A few of those questions are terrible, but most of them are well-intentioned. I’m lucky to have a supportive community around me, so I thought I’d write down my most common answers to help ease your stress about getting it right, and ease my stress about answering the same questions over and over.

Jump Start Sass

@ SitePoint

Using Sass, you can write your stylesheets in a more concise, dynamic, and readable way, and cut down many of the repetitive tasks that come with writing vanilla CSS. This book provides a thorough introduction to Sass for the beginner. Co-writen with my friend Kitty Giraudel.

Riding SideSaddle*

@ SpringGun Press

A fragmented memory of friendship – navigating fluid genders, relationships, and bodies that resist order, category, or completion. Inspired by Margaret Clap, and the many myths of Hermaphroditus.

The Obsolete Book

@ post-obsolete.com

An archival rhizome ecology in ten parts, and a reflection on the obsolescence of obsolescence – documented on the cloud, and open-sourced as a defense against post-post-obsolescence.

Script: Missa Populi

A modern, theatrical interpretation of the Catholic Mass – created by Grapefruit Lab and Teacup Gorilla.

Missa Populi

@ PackingHouse Center for the Arts

Combining the sacrifice, transcendence, blood, and circumstance of the Catholic Mass with history, live music, science, dance, literature, and pop culture to find a wholly modern communion experience. What we have left is our selves, broken and battered, but surviving together.

Teacup Gorilla

since March 2010

Teacup Gorilla inhabits the venues of Denver, CO with dark indie-rock soundscapes and evocative poetry – often compared to early Modest Mouse, Explosions in the Sky, or the Velvet Underground.

Grapefruit Lab

since August 2009

We want to make art without assumptions – art that humanizes and entertains and challenges and brings people into conversation.

Script: Bigger Guns III

@ New World Arts

An action comedy for the stage, based on our favorite movie tropes. The script was devised by the entire ensemble, lead by Michelle Milne, Miriam, Emily Swora, and Ben Jacobs. I don’t believe this is the final script…

In a Time of War

Based on a series of interviews with Annie in 2003, this play was produced first by Goshen College as a runner-up for the International Peace Play Contest, and then in collabiration with New World Arts for my senior thesis production.

Goshen College

I worked as Master Electrician of the college theater and music performance venues, while I studied theater, writing, and visual art.


Everything 'Writing'

Not All Zeros are Equal

@ OddBird.net

There’s a well-established ‘best practice’ that CSS authors (as well as linters and minifiers) should remove units from any 0 value. It’s a fine rule in most cases, but there are a few common situations where it will break your code.

2 Days of Cordwainery

@ Colorado Shoe School

Erin and I spent a couple days last week at the Colorado Shoe School in Bellvue, CO – learning, designing, and making our own sneakers. Yes, actual sneakers, fit for wearing, and built from scratch. Only the soles come pre-formed out of recycled plastic.

Body Margin 8px

All browsers add an 8px margin on the body element – it’s part of the w3c-recommended default stylesheet which browsers generally use as a starting point for their own ‘user agent’ styles. But why 8px? Where does that come from?

Every Transition is a Page Transition?

@ OddBird.net

There’s a new web API proposal for transitioning shared-elements across pages. It’s great for making smooth page transitions, but what if we apply it to individual elements with changing styles on a single page?

Miriam, for the Archive

This post has been written and published, and filed away for safe keeping as an event that happened in my past. This post is also a live performance, and an invitation to engage. Thanks for dropping by.

Complex vs Compound Selectors

In CSS, there are compound selectors and also complex selectors, and I never remember which is which. Do you need to learn the difference? Probably not. But I’m tired of looking it up.

Pity+Fear (a travesty)

What does it mean to be a person – to have a body, and live in it – to make choices, and change over time – to tell the truth?

Monkey Writr

A monkey hitting keys at random for an infinite amount of time will eventually want some help writing Hamlet (or whatever). You’re the monkey. We’re here to help.

Support (Not) Unknown

@ OddBird.net

Working on a new CSS feature like Container Queries, one of the most important considerations is to ensure a “migration path” – a way for developers to start integrating the new code, without breaking their sites on legacy browsers.

Container Queries Explainer & Proposal

@ CSSWG

Media-queries allow an author to make style changes based on the overall viewport dimensions – but in many cases, authors would prefer styling modular components based on their context within a layout.

Open CSS Notebook

@ css.oddbird.net

As I spend more of my time working on the CSS language, I wanted a place to take notes and explore new ideas in the open.

Fallout

I wrote this at the start of the Iraq war (2003), and later made the short film. It’s been on my mind again during COVID-19 isolation.

Use new selectors responsibly with selector queries

@ Mozilla Developer

Firefox 69 was the first to implement selector feature queries, but other browsers are following suit. I’ll show you how it works, and how to start using this new feature query right away.

How do you wrap long words in CSS?

@ Mozilla Developer

Horizontal text overflow has always been difficult to manage on the web. The default visible overflow is designed to make sure content remains accessible no matter the size of a containing box, but it’s not our only option.

CSS Most Normalizer-est

Why waste your time on half-measures? Make your site THE MOST NORMALEST with this ULTIMATE CSS RESET.

Scroll Snap in CSS

@ Mozilla Developer

When we’re scrolling down a page, or through a gallery of images, snap-targets can help guide us from one section or image to the next. In the past, developers have used JavaScript to hijack scrolling, but now we can manage scroll alignment directly in CSS with only a few lines of code.

Inner & Outer Values of the Display Property

@ Mozilla Developer

The display property has been in CSS from the beginning, handling everything from block and inline boxes to list-items and full layout systems like flexbox or grid. Now the display syntax is getting an upgrade to match it’s multiple uses.

Why isn’t this CSS doing anything?

@ Mozilla Developer

There are a number of property & value combinations that can lead to CSS being inactive, and now Firefox will tell you why. Open the developer tools, and look for the greyed-out property with an info-box on hover.

Laying out Forms using Subgrid

@ Mozilla Developer

It’s a common pattern to align form labels and inputs in grid-like layout. I’ll show you how to do it quickly using CSS subgrid, with several quick fallbacks.

Subgrid for Better Card Layouts

@ Mozilla Developer

Card layouts are popular on the web, rows and columns of boxes with similar content. CSS grids can help align those cards, but it’s still be hard to line-up content inside the cards – headers and footers that might need more or less room.

Faster Layouts with CSS Grid

@ Mozilla Developer

For years, we’ve struggled to build resilient layouts on the web, but CSS Grid promises to change all that – and you can start using it now, with only a few properties and basic concepts.

What does revert do in CSS?

@ Mozilla Developer

I’ve often used initial and unset in my CSS – global keywords that can be applied to any property. The difference is small, but important: unset allows inheritance, while initial does not. But then Firefox implemented revert and I was confused – how is this one different from the others?!

Introducing Sass Modules

@ CSS Tricks

Sass recently launched a new module system. The new syntax will replace @import with @use and @forward – a big step forward for making Sass partials more readable, performant, and safe.

Why is CSS so Weird?

@ Mozilla Developer

Love it or hate it, CSS is weird: not quite markup, not quite programming in the imperative sense, and nothing like the design programs we use for print. How did we get here?

Styling Lists in CSS

@ Mozilla Developer

When you create lists in HTML, browsers add bullet-points or numbers we call list markers. Now CSS gives us the tools to style those list markers, and even create our own!

F*CSS

In the CSS naming-convention arms race to lowest specificity, I’ve decided to only use universal * selectors. I call it F*CSS.

Mozilla Developer Channel

I’ve been working with Mozilla to help create a new resource for web professionals – with a mix of videos, articles, demos, and open source tools.

Vagina Monologues

@ It Grows Wild

I was invited to perform a Vagina Monologue, and ended up writing my own.

Rejecting Maleness

@ Journal of Mennonite Writing

The Journal of Mennonite Writing asked me to submit for their queer issue. I don’t identify as Mennonite, but I did grow up in the church, so I asked my friends what to write about. They suggested the common question: In a world without rigid gender roles, would anyone need to be trans?

Chosen Family (Thank You)

Yesterday, I shared an article about my impending surgery, and a request for help – both social and financial – as I go through this. I was embarrassed to ask, and not sure what to expect, but your response has been swift and overwhelming. I can’t thank you enough, but I’ll keep trying.

Mia’s Medical Upgrade

Denver Health has started offering vaginoplasty in addition to their other trans medical services. While I’ve been on the waitlist for various surgeons around the country, Denver Health called me this week to give me a date: September 10, less than two months away.

JANE/EYRE

@ The Bakery

We are not here to flatter egotism, or prop up humbug; we are merely telling the [queer] story. We value what is good in the book; but we believe in the existence of other, and more vivid kinds of goodness.

Sex, Love, & Romance

@ PS I Love You

“I don’t have many guy friends, but my guitarist is one. Parting, I lean in for the cheek-kiss but he plants a good one right on my lips.”

(Mis)Gender

At the family vacation in Moab, everyone is doing their best. It’s not enough, and my day is peppered with the wrong name and pronouns. I hide in my room through dinner so they won’t see me crying.

Shifting Nouns

@ Twined Fragments

“I’ve seen myself in the mirror. I find me… disorienting. What do they see that I don’t? Why aren’t they laughing at me?”

Mothers, Fathers, Husbands, Wives

@ Twined Fragments

“Mother finds me at her wardrobe, in her pumps and pearls. What are you doing? Being a mommy. Are you, then? She clips on the earrings (they pinch!), reaches for her lipstick.”

Fun with Viewport Units

@ CSS Tricks

Viewport units have been around for several years now, with near-perfect support in the major browsers, but I keep finding new and exciting ways to use them. I thought it would be fun to review the basics, and then round-up some of my favorite use-cases.

Body & Gender Fragments

I wasn’t born in the wrong body. I was born, a body. Without my body, I don’t exist.

Getting Started with CSS Grid

@ CSS Tricks

It feels like CSS Grid has been coming for a long time now, but it just now seems to be reaching a point where folks are talking more and more about it and that it’s becoming something we should learning.

Justice [Under Construction]

I’m still reeling from this year of insults,  a traumatizing campaign turned traumatic election. I’m not sad about a contest lost, but what those results mean for real people around me. 2016 is over, but 2017 is going to be even harder.

Some Clarifications on Trans Language

There’s a lot of language that gets thrown around, but much of it comes loaded with over-simplified baggage and misconceptions. Here are a few that have been on my mind – from gender identity to biological sex, transition, passing, and visibility.

Some Kind of Resistance Tour

It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…

Loops in CSS Preprocessors

@ CSS Tricks

No matter what acronym drives your selectors (BEM, OOCSS, SMACSS, ETC), loops can help keep your patterns more readable and maintainable, baking them directly into your code. We’ll take a look at what loops can do, and how to use them in the major CSS preprocessors.

CSS Tricks

Blog for people who make websites

An Interview with Miriam Suzanne

@ CSS Tricks

Chris Coyier interviews Miriam when she joins the CSS Tricks team as a Staff Writer. We talk about gettting started in the industry, name confusion, fouding OddBird, building Susy, and more.

Miriam: A How-To Guide

There are some questions that come up again and again if you are trans. A few of those questions are terrible, but most of them are well-intentioned. I’m lucky to have a supportive community around me, so I thought I’d write down my most common answers to help ease your stress about getting it right, and ease my stress about answering the same questions over and over.

Jump Start Sass

@ SitePoint

Using Sass, you can write your stylesheets in a more concise, dynamic, and readable way, and cut down many of the repetitive tasks that come with writing vanilla CSS. This book provides a thorough introduction to Sass for the beginner. Co-writen with my friend Kitty Giraudel.

Riding SideSaddle*

@ SpringGun Press

A fragmented memory of friendship – navigating fluid genders, relationships, and bodies that resist order, category, or completion. Inspired by Margaret Clap, and the many myths of Hermaphroditus.

The Obsolete Book

@ post-obsolete.com

An archival rhizome ecology in ten parts, and a reflection on the obsolescence of obsolescence – documented on the cloud, and open-sourced as a defense against post-post-obsolescence.

Script: Missa Populi

A modern, theatrical interpretation of the Catholic Mass – created by Grapefruit Lab and Teacup Gorilla.

Missa Populi

@ PackingHouse Center for the Arts

Combining the sacrifice, transcendence, blood, and circumstance of the Catholic Mass with history, live music, science, dance, literature, and pop culture to find a wholly modern communion experience. What we have left is our selves, broken and battered, but surviving together.

Teacup Gorilla

since March 2010

Teacup Gorilla inhabits the venues of Denver, CO with dark indie-rock soundscapes and evocative poetry – often compared to early Modest Mouse, Explosions in the Sky, or the Velvet Underground.

Grapefruit Lab

since August 2009

We want to make art without assumptions – art that humanizes and entertains and challenges and brings people into conversation.

Script: Bigger Guns III

@ New World Arts

An action comedy for the stage, based on our favorite movie tropes. The script was devised by the entire ensemble, lead by Michelle Milne, Miriam, Emily Swora, and Ben Jacobs. I don’t believe this is the final script…

In a Time of War

Based on a series of interviews with Annie in 2003, this play was produced first by Goshen College as a runner-up for the International Peace Play Contest, and then in collabiration with New World Arts for my senior thesis production.

Goshen College

I worked as Master Electrician of the college theater and music performance venues, while I studied theater, writing, and visual art.


Contact me