skip to content

There’s always something to get curious about – why not do it on stage?

I do a lot of talking, on a range of different stages.

Upcoming Events

Everything 'Speaking'

Intrinsic CSS with Container Queries & Units

» talk

Container queries & units have a lot to offer as we enter a more content-out era of Intrinsic Web Design, but they also come with some limitations of their own. Join Miriam to learn about how the feature works, how to start using it in production, and what to look forward to as Container Queries continue to evolve.

Cascading Layers of !mportance

» talk

Earlier this year, all the major browsers released Cascade Layers, with the potential to fundamentally change how we write styles. But fundamental changes require us to re-think how all the pieces fit together.

Styling the Intrinsic Web

» talk

Over the last decade, Responsive Web Design and Object Oriented CSS have grown from exciting new trends into the foundations of modern, component-driven web design. But our medium is not done evolving.

Container Queries & The Future of CSS

» talk

New CSS proposals like Container Queries, Cascade Layers, Scoped Styles, and Nesting are all aimed at improving the way we write responsive components and design systems.

Beyond CSS Variables

» talk

CSS Custom Properties (aka Cascading Variables) have gained broad browser support since 2015 – but what are they good for, and why do we need them?

Dissecting CSS Conventions

» talk

How do we write code that is modular & maintainable, in a language designed to be systematic & contextual?

When Variables Cascade

» talk

The Cascade makes CSS unique – forcing us to revisit even the most common programming feature: the variable.

Cascade Aligned Programming

» talk

From the very start, “web design” has posed a nearly impossible paradox.

Use new selectors responsibly with selector queries

» video

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?

» video

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.

Scroll Snap in CSS

» video

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

» video

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?

» video

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

» video

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.

CSS is Rad

» talk

The web is designed to work across platforms, devices, languages, and interfaces – but how can we possibly design for that unknown and always-changing canvas?

Subgrid for Better Card Layouts

» video

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

» video

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?

» video

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?!

Why is CSS so Weird?

» video

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

» video

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!

Mozilla Developer Channel

» contract

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.

Resilient Web Systems

» workshop

From building beautiful sites to maintaining complex design systems across multiple applications, CSS is the web-language of design.

Dynamic CSS – layouts & beyond

» talk

Don’t let the declarative syntax fool you – CSS is a powerful and dynamic programming language.

Agile Design Systems

» talk

Style Guides & Pattern Libraries are great tools for documenting the relationships between code and design, but beautiful docs are only half the battle.

Planning Your Web Project

» talk

A non-technical guide for taking your project from concept to launch, without ever losing sight of the goals.

Don’t Use My Grid System

» talk

Explore the history of web layout with the creator of Susy – why grid systems exist, how they work, and practical tips to avoid using them.

Some Kind of Resistance Tour

» journal

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…

Code Patterns for Pattern Making

» talk

Style Guides & Pattern Libraries are great tools for documenting the relationships between code and design, but beautiful docs are only half the battle.

User Unfriendly

» talk

A project-manager’s reflections on human-centered problem-solving, client communication, and user feedback in agile web development.

Sass Map Magic

» talk

Maps are a powerful data type in Sass – perfect for managing color and scale palettes, framework configuration, data storage, and more.

Sassy Toolkits

» talk

a case-study in building and sharing open-source Sass