<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Miriam Suzanne</title>
  <subtitle>Art &amp; CSS &amp; other digital artifacts of my life as a hybrid creator/teacher based in Denver.
</subtitle>
  <link href="https://www.miriamsuzanne.com/feed.xml" rel="self" />
  <link href="https://www.miriamsuzanne.com/" />
  <updated>2026-07-21T22:29:39Z</updated>
  <id>https://www.miriamsuzanne.com/</id>
  <author>
    <name>Miriam Eric Suzanne</name>
    <email></email>
  </author>
  <entry>
    <title>Butter bells, fresh from the kiln</title>
    <link href="https://www.miriamsuzanne.com/2026/07/21/_micro/" />
    <updated>2026-05-29T22:37:52Z</updated>
    <id>https://www.miriamsuzanne.com/2026/07/21/_micro/</id>
    <content type="html">
      &lt;lite-youtube videoid=&quot;1DQQf8jUfxw&quot; yt-short&gt;



  &lt;a href=&quot;https://youtube.com/watch?v=1DQQf8jUfxw&quot; title=&quot;Play Video&quot; class=&quot;lyt-playbtn&quot;&gt;
    &lt;span class=&quot;lyt-visually-hidden&quot;&gt;Play Video:
      Butter bells, fresh from the kiln
    &lt;/span&gt;
  &lt;/a&gt;
&lt;/lite-youtube&gt;

&lt;!-- intro --&gt;

&lt;div&gt;&lt;p&gt;When you fire the lid/bell and jar together, it helps keep them from warping – but it also requires some effort to get them apart, and sand the connections for a smooth sit.&lt;/p&gt;
&lt;/div&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Poetic CSS Course, Early Bird Launch</title>
    <link href="https://www.miriamsuzanne.com/2026/07/21/poetic-early-bird/" />
    <updated>2026-07-21T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2026/07/21/poetic-early-bird/</id>
    <content type="html">
      &lt;p&gt;Understand CSS as a system –
so you can write, review,
and maintain web styles with confidence
on a timeline and under budget.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    &lt;lite-youtube videoid=&quot;Rz19TC8cekM&quot;&gt;



      &lt;a href=&quot;https://youtube.com/watch?v=Rz19TC8cekM&quot; title=&quot;Play Video&quot; class=&quot;lyt-playbtn&quot;&gt;
        &lt;span class=&quot;lyt-visually-hidden&quot;&gt;Play Video:
          Behind the scenes
        &lt;/span&gt;
      &lt;/a&gt;
    &lt;/lite-youtube&gt;
    
    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://courses.oddbird.net/poetic-css/&quot;&gt;Register now »&lt;/a&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>There&#39;s no point resisting</title>
    <link href="https://www.miriamsuzanne.com/2026/06/16/not-going-away/" />
    <updated>2026-06-16T22:05:21Z</updated>
    <id>https://www.miriamsuzanne.com/2026/06/16/not-going-away/</id>
    <content type="html">
      &lt;p&gt;I’m afraid nuclear weapons are here to stay.
There’s no point resisting.&lt;/p&gt;
&lt;p&gt;I’m afraid assault weapons
and school shootings in the US are here to stay.
I’m afraid cars are here to stay.
Corporate social media,
I imagine,
is also here to stay?
Addiction-honed algorithms,
and constantly expanding surveillance –
on and offline?&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;To quote one Marx or another:
&lt;em&gt;I’m against it&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We too easily conflate
“&lt;em&gt;this is not going away&lt;/em&gt;”
(whatever that means)
with “&lt;em&gt;there’s no point resisting&lt;/em&gt;”&lt;/p&gt;
&lt;p&gt;It seems to me like the reverse is true.
The longer something harmful has-been or will-be around,
the more resistance is essential
in limiting that harm.&lt;/p&gt;
&lt;p&gt;In fact,
if &lt;em&gt;you&lt;/em&gt; are interested
in keeping something around
despite the well-documented harms –
maybe &lt;em&gt;you&lt;/em&gt; ought to be right out front
in doing that resistance work.&lt;/p&gt;
&lt;p&gt;My job as a designer/developer
is not to hype new tech,
but to carefully protect my communities
against it’s mis-use.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>I had to look it up</title>
    <link href="https://www.miriamsuzanne.com/micro/2026/platonic-woman/" />
    <updated>2026-05-23T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/micro/2026/platonic-woman/</id>
    <content type="html">
      &lt;p&gt;The other day I got a comment on youtube: &lt;em&gt;YWNBAW&lt;/em&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&lt;em&gt;You Will Never Be A Real Woman&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And I thought:
well first, you’re missing an R.&lt;/p&gt;
&lt;p&gt;But then, yeah!
What physical woman –
made of biology,
pumping blood through veins –
could possibly achieve the Ideal Form
of &lt;em&gt;Real Womanhood&lt;/em&gt;?
How could something physical
ever capture the essence of a pure Idea!?
We are all but shadows on the cave wall!&lt;/p&gt;
&lt;p&gt;This commenter truly understands Platonic Realism.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>I&#39;ve been making pots</title>
    <link href="https://www.miriamsuzanne.com/2025/06/22/first-market/" />
    <updated>2025-06-22T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2025/06/22/first-market/</id>
    <content type="html">
      &lt;p&gt;Saturday I had my first pottery market.
But just a few days before the event,
Rae handed me some cash
and took home a moon vase.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I started doing weekly pottery
sessions at the local rec center
a couple years ago, coming out of lock-down.
But last fall I decided to commit more time,
and joined a studio with 24hr access.
Now I’m checking in almost daily
to throw, trim, decorate,
or see what’s fresh out of a firing.&lt;/p&gt;
&lt;p&gt;The first several months of 2025
were dedicated &lt;em&gt;practice&lt;/em&gt; –
working my way through online courses
from (mostly) &lt;a href=&quot;https://learnpottery.weebly.com&quot;&gt;Mea Rhee&lt;/a&gt;.
I’ve also been taking assignments from friends –
planters and ramen bowls
and a tissue box cover for our new home,
shallow dishes for Lars,
a gaiwan tea set for Gwyn,
a trinket tray for Rae…&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/jShoyBBcEI-640.avif 640w, https://www.miriamsuzanne.com/img/jShoyBBcEI-960.avif 960w, https://www.miriamsuzanne.com/img/jShoyBBcEI-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Rectangular tray with a black and white zig-zag pattern that starts tidy on the left then skews wildly on the right - the lip of the tray is red and folds over itself ending in torn edges&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/jShoyBBcEI-640.jpeg&quot; width=&quot;1600&quot; height=&quot;899&quot; srcset=&quot;https://www.miriamsuzanne.com/img/jShoyBBcEI-640.jpeg 640w, https://www.miriamsuzanne.com/img/jShoyBBcEI-960.jpeg 960w, https://www.miriamsuzanne.com/img/jShoyBBcEI-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/I9DrIWUHQC-640.avif 640w, https://www.miriamsuzanne.com/img/I9DrIWUHQC-960.avif 960w, https://www.miriamsuzanne.com/img/I9DrIWUHQC-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Tray from a low angle for dramatic effect, showing the torn edges close-up, and the black underside&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/I9DrIWUHQC-640.jpeg&quot; width=&quot;1600&quot; height=&quot;899&quot; srcset=&quot;https://www.miriamsuzanne.com/img/I9DrIWUHQC-640.jpeg 640w, https://www.miriamsuzanne.com/img/I9DrIWUHQC-960.jpeg 960w, https://www.miriamsuzanne.com/img/I9DrIWUHQC-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Uaes-mxmjR-640.avif 640w, https://www.miriamsuzanne.com/img/Uaes-mxmjR-960.avif 960w, https://www.miriamsuzanne.com/img/Uaes-mxmjR-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Old yellow dress form with holes for arms and neck, and patch nailed onto it that says coroner - there&#39;s a planter protruding from the neck, housing a ponytail fern squat conic trunk up to scraggly hair-like leaves&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Uaes-mxmjR-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2399&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Uaes-mxmjR-640.jpeg 640w, https://www.miriamsuzanne.com/img/Uaes-mxmjR-960.jpeg 960w, https://www.miriamsuzanne.com/img/Uaes-mxmjR-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/alPSmVok2L-640.avif 640w, https://www.miriamsuzanne.com/img/alPSmVok2L-960.avif 960w, https://www.miriamsuzanne.com/img/alPSmVok2L-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;My arm reaches in to hold the coroner head out of the dress form, revealing a long bent cone with deep texture and pooled white glaze at the rounded-off base which would not be able to sit in any other location&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/alPSmVok2L-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2399&quot; srcset=&quot;https://www.miriamsuzanne.com/img/alPSmVok2L-640.jpeg 640w, https://www.miriamsuzanne.com/img/alPSmVok2L-960.jpeg 960w, https://www.miriamsuzanne.com/img/alPSmVok2L-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/HlvkFu7jJt-640.avif 640w, https://www.miriamsuzanne.com/img/HlvkFu7jJt-960.avif 960w, https://www.miriamsuzanne.com/img/HlvkFu7jJt-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A set of four shallow bowls stacked, with one overturned leaning against the others to show the deep foot ring and under-side texture. They have a deep glassy brown glaze with a splash of white and blue along one inside wall&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/HlvkFu7jJt-640.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; srcset=&quot;https://www.miriamsuzanne.com/img/HlvkFu7jJt-640.jpeg 640w, https://www.miriamsuzanne.com/img/HlvkFu7jJt-960.jpeg 960w, https://www.miriamsuzanne.com/img/HlvkFu7jJt-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;A few of the commissioned pieces for friends&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I have a lot more that I’m excited to learn,
but I’m also proud of how far I’ve come.
This month I even started teaching
&lt;em&gt;beginner wheel throwing&lt;/em&gt; classes
at &lt;a href=&quot;https://www.kinshipdenver.com/&quot;&gt;Kinship Studio&lt;/a&gt;.
I’ll be teaching the Tuesday class
again in July, and
&lt;a href=&quot;https://www.kinshipdenver.com/group-pottery-classes/#signup&quot;&gt;registration is still open&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Since teaching covers my studio membership,
I’m no longer &lt;em&gt;spending money&lt;/em&gt;
to make my pottery.
First goal achieved!
The next goal is to
&lt;em&gt;sell&lt;/em&gt; some pottery,
then see if I can sell it &lt;em&gt;consistently&lt;/em&gt;.
I’m starting to pitch local shops,
putting together a web store,
trading pottery for hair cuts,
and this weekend
I participated in my first market!&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/W3ZvCiwRe4-640.avif 640w, https://www.miriamsuzanne.com/img/W3ZvCiwRe4-960.avif 960w, https://www.miriamsuzanne.com/img/W3ZvCiwRe4-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Four 12oz tumblers with a deep inset foot ring, wide base, and grooved speckled walls sloping in to a narrower brightly glazed lip - one red, one green, one blue, and one white&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/W3ZvCiwRe4-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/W3ZvCiwRe4-640.jpeg 640w, https://www.miriamsuzanne.com/img/W3ZvCiwRe4-960.jpeg 960w, https://www.miriamsuzanne.com/img/W3ZvCiwRe4-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ptbTJNxIzT-640.avif 640w, https://www.miriamsuzanne.com/img/ptbTJNxIzT-960.avif 960w, https://www.miriamsuzanne.com/img/ptbTJNxIzT-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Three tumblers, also wide base with grooved walls sloped in - but the clay is brown un-speckled, the lips are an icy white, and they have hand-written text. The front one says &amp;quot;do trans, be crime&amp;quot;. We can also see the end of &amp;quot;…crimes&amp;quot; sticking out on one behind, and &amp;quot;protect trans kids&amp;quot; on the last one&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ptbTJNxIzT-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ptbTJNxIzT-640.jpeg 640w, https://www.miriamsuzanne.com/img/ptbTJNxIzT-960.jpeg 960w, https://www.miriamsuzanne.com/img/ptbTJNxIzT-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/kiM0lObXte-640.avif 640w, https://www.miriamsuzanne.com/img/kiM0lObXte-960.avif 960w, https://www.miriamsuzanne.com/img/kiM0lObXte-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;v60 style coffee pour-over with frosty glaze highlighting dark clay that shows through at edges, an inverted cone down to a flat lid resting on the rim of a mug, which is slightly conic the other way - tilting in from a wide base, also in dark clay with the same glaze only at the top. Both have a grooved texture, and there&#39;s a row of small white arrows on the mug between grooves&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/kiM0lObXte-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/kiM0lObXte-640.jpeg 640w, https://www.miriamsuzanne.com/img/kiM0lObXte-960.jpeg 960w, https://www.miriamsuzanne.com/img/kiM0lObXte-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/hUbqBSMG5W-640.avif 640w, https://www.miriamsuzanne.com/img/hUbqBSMG5W-960.avif 960w, https://www.miriamsuzanne.com/img/hUbqBSMG5W-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;My hand holding up a red-clay cortado-size tumbler with grooved texture, inset foot ring, and white-brown glazed rim. There&#39;s just a peak of teal showing inside the foot ring, usually hidden.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/hUbqBSMG5W-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/hUbqBSMG5W-640.jpeg 640w, https://www.miriamsuzanne.com/img/hUbqBSMG5W-960.jpeg 960w, https://www.miriamsuzanne.com/img/hUbqBSMG5W-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/6kGNvB7Xw8-640.avif 640w, https://www.miriamsuzanne.com/img/6kGNvB7Xw8-960.avif 960w, https://www.miriamsuzanne.com/img/6kGNvB7Xw8-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The pour-over from underneath, showing a glazed base with concentric outer and inner rings around the funnel to keep the mug in position and the coffee flowing into the mug. My &#39;m&#39; stamp stands out on the rim, dark clay unglazed&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/6kGNvB7Xw8-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1201&quot; srcset=&quot;https://www.miriamsuzanne.com/img/6kGNvB7Xw8-640.jpeg 640w, https://www.miriamsuzanne.com/img/6kGNvB7Xw8-960.jpeg 960w, https://www.miriamsuzanne.com/img/6kGNvB7Xw8-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/zb8zV0H8GK-640.avif 640w, https://www.miriamsuzanne.com/img/zb8zV0H8GK-960.avif 960w, https://www.miriamsuzanne.com/img/zb8zV0H8GK-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A small black tumbler, maybe 6oz, with red drippy-looking arrows pointing up to a grey-brown glazed rim&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/zb8zV0H8GK-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/zb8zV0H8GK-640.jpeg 640w, https://www.miriamsuzanne.com/img/zb8zV0H8GK-960.jpeg 960w, https://www.miriamsuzanne.com/img/zb8zV0H8GK-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EEJSlBTEYH-640.avif 640w, https://www.miriamsuzanne.com/img/EEJSlBTEYH-960.avif 960w, https://www.miriamsuzanne.com/img/EEJSlBTEYH-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;My hand holding a lidded gaiwan tea bowl just over the saucer - one finger pulling the lid back as though to pour tea strained through the small opening. All the parts are a glassy deep brown, breaking red over grooved textures, and the bowl has a wide flared rim for picking up when hot&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/EEJSlBTEYH-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EEJSlBTEYH-640.jpeg 640w, https://www.miriamsuzanne.com/img/EEJSlBTEYH-960.jpeg 960w, https://www.miriamsuzanne.com/img/EEJSlBTEYH-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/-F3NFdz7tq-640.avif 640w, https://www.miriamsuzanne.com/img/-F3NFdz7tq-960.avif 960w, https://www.miriamsuzanne.com/img/-F3NFdz7tq-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Overturned parts of the gaiwan, a lid on the table, the bottom of the bowl shows a bare white clay foot ring and my &#39;m&#39; stamp, and the saucer now leaning against it has a matching grooved pattern on the underside and matching white foot-ring&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/-F3NFdz7tq-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/-F3NFdz7tq-640.jpeg 640w, https://www.miriamsuzanne.com/img/-F3NFdz7tq-960.jpeg 960w, https://www.miriamsuzanne.com/img/-F3NFdz7tq-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Rk8_l7Yj68-640.avif 640w, https://www.miriamsuzanne.com/img/Rk8_l7Yj68-960.avif 960w, https://www.miriamsuzanne.com/img/Rk8_l7Yj68-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;9 tea or espresso cups about 2-3oz, stacked together rim-to-rim, and foot-to-foot - four in front, three behind, and two on the table. A dark dusk glaze breaks red over grooved texture, and has hints of blue between. each has a red rim, and no handle.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Rk8_l7Yj68-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Rk8_l7Yj68-640.jpeg 640w, https://www.miriamsuzanne.com/img/Rk8_l7Yj68-960.jpeg 960w, https://www.miriamsuzanne.com/img/Rk8_l7Yj68-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/884NK1lMOD-640.avif 640w, https://www.miriamsuzanne.com/img/884NK1lMOD-960.avif 960w, https://www.miriamsuzanne.com/img/884NK1lMOD-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Two vases, one upright, the other on it&#39;s side so we can see into it - both conic like my mugs but taller, and with a rim that curves back down into the vase slightly to a narrower inset lip. A brown raw clay has deep grooves and little trails of red arrows, then a white rim at the top&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/884NK1lMOD-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/884NK1lMOD-640.jpeg 640w, https://www.miriamsuzanne.com/img/884NK1lMOD-960.jpeg 960w, https://www.miriamsuzanne.com/img/884NK1lMOD-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/QRuTvnBOFc-640.avif 640w, https://www.miriamsuzanne.com/img/QRuTvnBOFc-960.avif 960w, https://www.miriamsuzanne.com/img/QRuTvnBOFc-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Two nearly identical soup bowls nested so we see the outer one from the side, a grooved texture that shows through the glassy dark brown-to-black-and iridescent blue. A rounded shape with a tall speckled clay foot ring and my small &#39;m&#39; stamp. The inner bowl is off-kilter showing inside walls, smooth in the same glaze from a red-brown rim down into cosmic blues and a splash of yellow to one side.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/QRuTvnBOFc-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/QRuTvnBOFc-640.jpeg 640w, https://www.miriamsuzanne.com/img/QRuTvnBOFc-960.jpeg 960w, https://www.miriamsuzanne.com/img/QRuTvnBOFc-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Na-_bJI1AN-640.avif 640w, https://www.miriamsuzanne.com/img/Na-_bJI1AN-960.avif 960w, https://www.miriamsuzanne.com/img/Na-_bJI1AN-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;One of the ramen bowls, with chop-sticks sitting across a set of shallow notches in the rim&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Na-_bJI1AN-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Na-_bJI1AN-640.jpeg 640w, https://www.miriamsuzanne.com/img/Na-_bJI1AN-960.jpeg 960w, https://www.miriamsuzanne.com/img/Na-_bJI1AN-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/MJEIwHKqCu-640.avif 640w, https://www.miriamsuzanne.com/img/MJEIwHKqCu-960.avif 960w, https://www.miriamsuzanne.com/img/MJEIwHKqCu-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A whole set of mugs and pour-overs, gaiwan, vases, and other assorted pieces laid out on the counter. Towards the back are taller vases out of focus.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/MJEIwHKqCu-640.jpeg&quot; width=&quot;1600&quot; height=&quot;899&quot; srcset=&quot;https://www.miriamsuzanne.com/img/MJEIwHKqCu-640.jpeg 640w, https://www.miriamsuzanne.com/img/MJEIwHKqCu-960.jpeg 960w, https://www.miriamsuzanne.com/img/MJEIwHKqCu-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Some of the pieces that I made for this market&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I’m aware of the dangers that come
with turning a hobby into a hustle,
but right now I’m interested in anything
that helps me spend more time in the studio.
I’m already back to work on some commissions
I’ve promised to local shops and also to family.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/b9rtYQ1vpt-640.avif 640w, https://www.miriamsuzanne.com/img/b9rtYQ1vpt-960.avif 960w, https://www.miriamsuzanne.com/img/b9rtYQ1vpt-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A medium-size sake bottle in coal black clay, still wet on the wheel, with a barely rounded belly, narrow neck, and cup-like rim&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/b9rtYQ1vpt-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2844&quot; srcset=&quot;https://www.miriamsuzanne.com/img/b9rtYQ1vpt-640.jpeg 640w, https://www.miriamsuzanne.com/img/b9rtYQ1vpt-960.jpeg 960w, https://www.miriamsuzanne.com/img/b9rtYQ1vpt-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-640.avif 640w, https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-960.avif 960w, https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;a tall cylindrical vase with straight walls up to a sharp angle in, then sharp angle back out, ending in a horizontal flared rim nearly the same diameter as the cylinder - reminiscent of an old-style milk-jug, but still wet on the wheel with splattered clay and tools around&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2761&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-640.jpeg 640w, https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-960.jpeg 960w, https://www.miriamsuzanne.com/img/Y7CnCQ2uBz-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tt4AU20grz-640.avif 640w, https://www.miriamsuzanne.com/img/tt4AU20grz-960.avif 960w, https://www.miriamsuzanne.com/img/tt4AU20grz-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A rectangular tissue-box cover in raw unglazed clay that has a circular geometric pattern pressed into it. The opening at the top seems torn and pulled back, with tissues sticking out - and the bottom rim is a torn and rolled edge as though made of draped cloth, or alive like some sort of sea creature&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/tt4AU20grz-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tt4AU20grz-640.jpeg 640w, https://www.miriamsuzanne.com/img/tt4AU20grz-960.jpeg 960w, https://www.miriamsuzanne.com/img/tt4AU20grz-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;A few of the new pieces currently under construction…&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;At some point I also need to find time
for getting this website in a better state –
ready to display (and sell)
my work more easily.&lt;/p&gt;
&lt;p&gt;If you’re interested in updates
on my pottery or other creations,
sign up for my new
‘&lt;a href=&quot;https://email.miriamsuzanne.com&quot;&gt;Mia Culpa&lt;/a&gt;’ newsletter.
It will be rarely used,
but give you first access
when I do have something new to show,
or new work available
in my &lt;a href=&quot;https://art.miriamsuzanne.com&quot;&gt;online store&lt;/a&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Laser-cut pottery throwing gauge</title>
    <link href="https://www.miriamsuzanne.com/2025/05/16/throwing-gauge/" />
    <updated>2025-05-16T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2025/05/16/throwing-gauge/</id>
    <content type="html">
      &lt;p&gt;I designed a pottery throwing gauge
that I could laser cut with scrap material,
and assemble using only friction
and bat pins.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Choose a format to download the design templates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/assets/downloads/throwing_gauge.dxf&quot; download&gt;DXF drawings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/assets/downloads/throwing_gauge.lbrn2&quot; download&gt;LightBurn 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is inspired by
&lt;a href=&quot;https://www.darrenellispottery.com/shop/1-pointer&quot;&gt;Darren Ellis&lt;/a&gt;
and &lt;a href=&quot;https://tobyduncan.com/downloads/throwing-gauge&quot;&gt;Toby Duncan&lt;/a&gt;,
with some adjustments
to simplify the construction.&lt;/p&gt;
&lt;h2&gt;Build your own&lt;/h2&gt;
&lt;p&gt;To make your own gauge,
you’ll need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1/4&quot; plywood, &lt;abbr&gt;MDF&lt;/abbr&gt;, or acrylic&lt;/li&gt;
&lt;li&gt;1/8&quot; plywood, &lt;abbr&gt;MDF&lt;/abbr&gt;, or acrylic&lt;/li&gt;
&lt;li&gt;&amp;lt;1/8&quot; flexible rubber or plastic&lt;/li&gt;
&lt;li&gt;1/4&quot; bolts &amp;amp; nuts (bat pins will work!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This requires a laser cutter,
or some other way of cutting out
the parts from a template.
Maybe you’re good with a jig saw?
Once you have the parts,
you can fit and bolt them together.
There’s no carving or gluing required.&lt;/p&gt;
&lt;p&gt;I made mine using whatever I could find
in the scrap pile
at &lt;a href=&quot;https://denhac.org&quot;&gt;my local maker space&lt;/a&gt; –
a combination of 1/4&quot; MDF, 1/8&quot; plywood, 1/8&quot; acrylic,
and flexible magnetic sheeting for the pointers.
It’s assembled entirely with bat pins and wing nuts.&lt;/p&gt;
&lt;p&gt;None of the width measurements need to be precise,
as long as they are consistent,
so it should also be fine
to do rough metric conversions as needed.&lt;/p&gt;
&lt;h2&gt;The frame&lt;/h2&gt;
&lt;p&gt;The frame is ideally made from thicker,
more structural plywood.
I cut three rectangles for the base,
and slot two uprights through them in order
to match the stepped foot design.
I had to do some minimal sanding of the slots,
but a tight fit is good.
This frame is quick to assemble and disassemble,
and the sliding-bolts for the pointer arms
will provide additional structure.&lt;/p&gt;
&lt;p&gt;The bottom base piece isn’t ‘held on’
by anything besides friction.
That’s worked fine for me,
but you can also fasten the layers together
if you prefer.
Glue, nails, screws, bolts –
whatever you like.
That’s optional.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BCsCfiCvr_-640.avif 640w, https://www.miriamsuzanne.com/img/BCsCfiCvr_-960.avif 960w, https://www.miriamsuzanne.com/img/BCsCfiCvr_-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Holding up the assembled frame, 2 identical uprights slotted through a three-layer base. The uprights also have a vertical slot for adjusting the arms up and down. The assembled arms with pointer ends are on the table behind the frame.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/BCsCfiCvr_-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BCsCfiCvr_-640.jpeg 640w, https://www.miriamsuzanne.com/img/BCsCfiCvr_-960.jpeg 960w, https://www.miriamsuzanne.com/img/BCsCfiCvr_-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rq1-w9Yqbu-640.avif 640w, https://www.miriamsuzanne.com/img/rq1-w9Yqbu-960.avif 960w, https://www.miriamsuzanne.com/img/rq1-w9Yqbu-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;One of the arms is attached to the frame using a bat pin and wing nut.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/rq1-w9Yqbu-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2399&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rq1-w9Yqbu-640.jpeg 640w, https://www.miriamsuzanne.com/img/rq1-w9Yqbu-960.jpeg 960w, https://www.miriamsuzanne.com/img/rq1-w9Yqbu-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaptio&gt;
    These photos are from my first draft.
    More recent versions include a nut and bolt
    at the back of each arm to keep the layers aligned.
  
&lt;/figcaptio&gt;&lt;/figure&gt;
&lt;h2&gt;The pointer arms&lt;/h2&gt;
&lt;p&gt;Each arm consists of a pointer
and core sandwiched between outer plates.
Darren recommends making the core from acrylic,
and that’s working well for me.
The essential thing is that
the core must be slightly thicker material
than the pointer.
If there’s not enough space,
it might be hard to adjust.
But if there’s too much space,
the pointer will flop around.&lt;/p&gt;
&lt;p&gt;The pointer should be cut from something flexible,
so it doesn’t damage your work.
Rubber seems ideal,
but I used scraps of magnetic sheeting,
because I found some in the scrap pile.
That’s been working fine for me.&lt;/p&gt;
&lt;h2&gt;Hardware&lt;/h2&gt;
&lt;p&gt;Each arm takes 3 bolt/nut pairs –
one as an adjustable mounting point
attaching the arm to the frame,
one as a pivot for the pointer,
and a final one at the back for stability.
The mounting bolt should be
over an inch long,
with a wing nut for easy adjustments.
The other two can be shorter,
and don’t require quick access.&lt;/p&gt;
&lt;p&gt;All these connection points
are designed for 1/4&quot; bolts.
Standard bat pins (in the US)
are 1/4 20 socket-head screws
with wing nuts.
You can get them from most pottery supplier,
or &lt;em&gt;any old hardware store&lt;/em&gt;.
I designed it specifically
so that these could be interchangeable
with tools &amp;amp; equipment already in the studio,
but any 1/4&quot; bolts will work.&lt;/p&gt;
&lt;p&gt;If you have different bat pins or bolts
that you’d like to use,
you might need to adjust the drawings.
All the bolt holes and slots are 0.26&quot;
in my designs.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Tech continues to be political</title>
    <link href="https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf/" />
    <updated>2025-02-12T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf/</id>
    <content type="html">
      &lt;p&gt;Being “in tech” in 2025 is depressing,
and if I’m going to stick around,
I need to remember why I’m here.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;(&lt;a href=&quot;https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf-fr/&quot;&gt;en français&lt;/a&gt;)&lt;/p&gt;
&lt;h2&gt;You are here, on my personal web log&lt;/h2&gt;
&lt;p&gt;A note of warning,
before you proceed:
this is a journal entry,
at a difficult time.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It’s very hard to think or act
when you can’t tell if you’re about to lose your job,
have your research killed off,
have your healthcare terminated,
witness unstoppable crimes,
or just experience extended and
apparently unescapable moral injury.&lt;/p&gt;
&lt;p&gt;—Erin Kissane, &lt;a href=&quot;https://erinkissane.com/against-entropy&quot;&gt;Against Entropy&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;TL;DR – This is a post about
billionaires who love eugenics&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;,
support a pro-eugenics government,
and sell us a product
that they promise will help their longterm
eugenic goals.
But really this is a post about how I feel,
when colleagues treat that product
as though it &lt;em&gt;might have merit, if we just give it a chance&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;For some reason,
I find that opinion to be &lt;em&gt;in bad taste&lt;/em&gt;.
I know I shouldn’t yuck your yum, or whatever,
but I don’t like eugenics.&lt;/p&gt;
&lt;p&gt;Reader, &lt;em&gt;it fucks me up&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Chill out, it’s just a tool&lt;/h2&gt;
&lt;p&gt;For years we’ve been saying that
&lt;em&gt;tech is political&lt;/em&gt;,
and that &lt;em&gt;tech is not neutral&lt;/em&gt;.
But I don’t know if we’re communicating
the full nuance of that adage.
It’s not just a warning about bad Apples (or Palantirs)
who might use code to dabble in evil extracurriculars.
More important to me
is the understanding
that &lt;em&gt;technologies often carry an ideology inside them&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is something of an amusing curiosity
that some AI models were perplexed
by a giraffe without spots.
But it’s these same tools and paradigms
that enshrine normativity of all kinds,
“sanding away the unusual.”&lt;/p&gt;
&lt;p&gt;—Ben Myers, &lt;a href=&quot;https://benmyers.dev/blog/spotless-giraffe/&quot;&gt;I’m a Spotless Giraffe&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tools tend to exist between us and a goal,
and the shape of the tool
tells us something about how to proceed,
and what outcomes are desirable.
Tech &lt;em&gt;enacts&lt;/em&gt; and &lt;em&gt;shapes&lt;/em&gt; our world,
our lives, and our politics.&lt;/p&gt;
&lt;p&gt;Guns don’t kill people,
guns are designed &lt;em&gt;to help people kill people&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Maybe we should consider the beliefs and assumptions
that have been built into a technology
before we embrace it?
But we often prefer to treat each new toy
as as an abstract and unmotivated &lt;em&gt;opportunity&lt;/em&gt;.
If only the &lt;em&gt;good people like ourselves&lt;/em&gt;
would get involved early,
we can surely teach everyone else to use it ethically!&lt;/p&gt;
&lt;p&gt;Every tool is a hammer,
with context lost to history –
and it’s up to us
to determine &lt;em&gt;individually&lt;/em&gt;
what looks like a nail.
There is no system, no society,
no marketing department, no regulation.
Each of us is an island of isolated &lt;s&gt;trolly conductors&lt;/s&gt;
&lt;em&gt;hammer enthusiasts&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Once we’ve established some useful norms –
a ‘best practice’ or two –
I can’t imagine anyone
[&lt;em&gt;crowd cheers for CEO giving sieg heil salute&lt;/em&gt;].&lt;/p&gt;
&lt;h2&gt;Meanwhile, back at the hammer factory…&lt;/h2&gt;
&lt;p&gt;The AI projects currently mid-hype
are being developed and sold by billionaires and VCs
with companies explicitly
pursuing surveillance, exploitation, and weaponry.
They fired their ethics teams
at the start of the cycle,
and diverted our attention
to a long-term sci-fi narrative
about the coming age of machines –
a “General Intelligence” that will soon
“surpasses” human ability.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Be it god or demon,
only the high priests of venture capital
can summon and tame such a powerful being
for the good of humanity!
It will only cost you all your labor (past and present),
a reversal on climate policy,
and a rather large fortune.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;What does that mean?
Hand-waving eugenics.
We have no way to measure &lt;em&gt;intelligence&lt;/em&gt;,
no idea what it means to &lt;em&gt;surpass humans&lt;/em&gt;,
and no reason to believe that ‘intelligence’
might be exponential.
Unless you rely on debunked race science,
which many of these CEOs seem obsessed with.
Now they are eager to jump on board
an authoritarian movement
&lt;em&gt;that wants to exterminate trans and disabled people&lt;/em&gt;,
fire black people,
and deport all my immigrant friends and colleagues.&lt;/p&gt;
&lt;p&gt;It’s wild to see major tech companies
throwing out all pretense –
giddy to abandon previous commitments around
diversity, equity, inclusion, or accessibility.
Run free, little mega-corps!
Be the evil you’ve always dreamed for the world!&lt;/p&gt;
&lt;p&gt;Surely this has nothing to do with their products, though.&lt;/p&gt;
&lt;h2&gt;But her use-cases&lt;/h2&gt;
&lt;p&gt;I know that ‘AI’ &lt;em&gt;broadly&lt;/em&gt; has a long history,
with ‘language models’ and ‘neural nets’
developing real use-cases in science and other fields.
I’m not new here.
But this background level of validity-by-association
is used to prop up absolute garbage.
The chatSlop we’re drowning in now
is clearly designed and deployed for a different purpose.&lt;/p&gt;
&lt;p&gt;Haven’t you heard?
They’re building a digital god
who will lead us to salvation,
uploaded into the virgo supercluster
where we can expand the light of
&lt;a href=&quot;https://bengrosser.com/projects/andreessens-techno-optimist-manifesto-as-redaction-poetry//&quot;&gt;exponential profit&lt;/a&gt;
throughout the cosmos!
This is the actual narrative of several AI CEOs,
despite being easy to dismiss
as hyperbolic nonsense.
Why won’t I focus on the actual use-cases?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why won’t you focus
on the actual documented harms?
Somehow there is always room for people
to dismiss concerns as “overblown and unfounded”
past the first attempted coup,
and well into an authoritarian power grab.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;But the bigger issue is that
they don’t have to be &lt;em&gt;successful&lt;/em&gt; to be &lt;em&gt;dangerous&lt;/em&gt;.
Because along the way,
these companies get to steal our work and sell it back to us,
lower our wages, de-skill our field,
bury us in slop, and mire us in algorithmic bureaucracy.
If the long-term space god thing doesn’t work out,
at least they can make a profit in the short-term.&lt;/p&gt;
&lt;p&gt;The beliefs of these CEOs aren’t incidental
to the AI product they’re selling us.
These are not tools designed for us to &lt;em&gt;benefit from&lt;/em&gt;,
but tools designed to &lt;em&gt;exploit us&lt;/em&gt;.
To poison our access to jobs,
and our access to information at the same time.&lt;/p&gt;
&lt;p&gt;I said on social media
that people &lt;em&gt;believe&lt;/em&gt; what chatbots tell them,
and I was laughed at.
&lt;em&gt;No one would trust a chatbot, silly&lt;/em&gt;!
That same day,
several different friends and colleagues
quoted the output of an ‘AI’ to me
in unrelated situations,
as though quoting reliable facts.&lt;/p&gt;
&lt;p&gt;So now
a select few companies run by billionaires
control much of the information
that people see –
“summarized” without sources.
Meanwhile,
there’s an oligarchy taking power in the US.
Meanwhile,
Grok’s entire purpose is to be ‘anti-woke’ and anti-trans,
&lt;em&gt;&lt;a href=&quot;https://gizmodo.com/chatgpts-political-views-are-shifting-right-a-new-analysis-finds-2000562328&quot;&gt;ChatGPT’s political views are shifting right&lt;/a&gt;&lt;/em&gt;,
and Anthropic is partnering with Palantir.&lt;/p&gt;
&lt;p&gt;Seems chill.
I bet ‘agents’ are cool.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Wouldn’t want to eat
&lt;a href=&quot;https://defector.com/salesforce-is-using-a-hallucination-to-sell-ai&quot;&gt;a shrimp cocktail in the rain&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Tech workers seem to like tech actually&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://knowyourmeme.com/photos/2069350-twitter-x&quot;&gt;There’s a meme&lt;/a&gt;
that goes around regularly,
about the attitudes of &lt;em&gt;tech enthusiasts&lt;/em&gt;
vs &lt;em&gt;tech workers&lt;/em&gt;…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tech enthusiasts: My entire house is smart.&lt;/p&gt;
&lt;p&gt;Tech workers: The only piece of technology
in my house is a printer
and I keep a gun next to it
so I can shoot it
if it makes a noise I don’t recognize.&lt;/p&gt;
&lt;p&gt;—&lt;a href=&quot;https://knowyourmeme.com/photos/2069350-twitter-x&quot;&gt;Pranay Pathole&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I can relate to that sentiment,
but many in our community seem &lt;em&gt;unfazed&lt;/em&gt;
or even &lt;em&gt;excited&lt;/em&gt; about ‘AI’ and ‘agents’
and ‘codegen’ and all the rest of it.
As far as I can tell,
most of our industry is still on board with the project,
even while protesting the changes in corporate politics,
or occasionally complaining about the most obvious over-use.
There are certainly a number of people
raising alarms or expressing frustration,
but we’re often dismissed as &lt;em&gt;uninformed&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Based on every conference I’ve attended over the last year,
I can absolutely say we’re a fringe minority.
And it’s wearing me out.
I don’t know how to participate
in a community that so eagerly brushes aside
the active and &lt;em&gt;intentional&lt;/em&gt;/&lt;em&gt;foundational&lt;/em&gt; harms of a technology.
In return for what? Faster copypasta?
Automation tools being rebranded as an “agentic” web?
Assurance that we won’t be &lt;em&gt;left behind&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is your opportunity
to get in at the ground floor!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I don’t know how to attend conferences
full of gushing talks about the tools
that were &lt;em&gt;designed to negate me&lt;/em&gt;.
That feels so absurd to say.
I don’t have any interest in trying to
reverse-engineer use-cases for it,
or improve the flaws to make it “better”,
or help sell it by bending it to new uses.&lt;/p&gt;
&lt;p&gt;When eugenics-obsessed billionaires
try to sell me a new toy,
I don’t ask how many keystrokes it will save me at work.
It’s impossible for me to discuss the &lt;em&gt;utility&lt;/em&gt; of a thing
when I fundamentally disagree with the &lt;em&gt;purpose&lt;/em&gt; of it.&lt;/p&gt;
&lt;p&gt;I don’t care how well their ‘AI’ &lt;em&gt;works&lt;/em&gt; –
or if you found a fancy fun use-case.
It &lt;em&gt;fucks me up&lt;/em&gt; watching peers treat this tech
&lt;em&gt;from people who want to eradicate me&lt;/em&gt;
as a future worth considering.
I don’t want any of this.&lt;/p&gt;
&lt;p&gt;I don’t need &lt;em&gt;an agent&lt;/em&gt;,
I want to &lt;a href=&quot;https://www.youtube.com/watch?v=QEJpZjg8GuA&quot;&gt;&lt;em&gt;maintain my own agency&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;I don’t know&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;I used to see the AI bubble
and trans rights as distinct issues.
I no longer do.
The fascist movement in tech
has truly metastasized,
as evidenced by Elon Musk’s personal coup,
his endless supply of techbro supporters,
tech companies’ eagerness to axe DEI programs
once Trump gave them an excuse,
erasure of queer lives from tech products, etc.&lt;/p&gt;
&lt;p&gt;To the extent that AI marketing
is an attempt to enclose and commodify culture,
and thus to concentrate political power,
I see it as a kind of fascism.&lt;/p&gt;
&lt;p&gt;—&lt;a href=&quot;https://wandering.shop/@xgranade/113987828759081498&quot;&gt;Cassandra Granade&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I know the anti-DEI(A) sea-change
in mega-corp C-suites
doesn’t reflect the desires of my
friends and colleagues
now working for (&lt;em&gt;surprise!&lt;/em&gt;) AI arms dealers,
but just trying to do their best
for open web standards.
I don’t know what I would do in that situation.
Labor and capital are often at odds.
I imagine we all
&lt;a href=&quot;https://ethanmarcotte.com/books/you-deserve-a-tech-union/&quot;&gt;deserve a tech union&lt;/a&gt;.
But I worry about how few people
seem to see the need for it.&lt;/p&gt;
&lt;p&gt;Every time I log on
I feel like I’m being gaslit –
asked to train my shitty replacement,
and then step aside.
The future is &lt;em&gt;not women&lt;/em&gt;,
I’m learning now.
You can be sued in the US
for intentionally hiring women.
The future is actually &lt;em&gt;inhuman word synthesizers&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Oh no, I was tricked by the genders
and their sneaky ideology!
Now I’m a crime!
Haha, oops!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Work is already harder to find,
and companies mostly want help
slopping more slop into the slop machine.
&lt;em&gt;Because it will help users&lt;/em&gt;, you ask?
Of course not!
Because everyone now has slop &lt;em&gt;on-tap&lt;/em&gt;,
and needs to turn that flow of garbage
into a cash-flow!&lt;/p&gt;
&lt;p&gt;&lt;s&gt;&lt;em&gt;That’s the trouble with tribbles.&lt;/em&gt;&lt;/s&gt;
&lt;a href=&quot;https://business-business.business/&quot;&gt;Money, gain, profit&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;What are we doing here?
What am I doing here?
How do I stay engaged in this field,
and keep paying my bills,
without feeling like a constant outsider –
about to be dismissed from my career?
I know I’m not the only one feeling this way,
but the layering of threats and betrayals add up.
It feels so isolating.&lt;/p&gt;
&lt;h2&gt;It’s probably good to get this clarity&lt;/h2&gt;
&lt;p&gt;“Tech” was always a vague and hand-waving field –
a way to side-step regulations
while starting an unlicensed taxi company or hotel chain.
That was never my interest.&lt;/p&gt;
&lt;p&gt;But I got curious about &lt;em&gt;the web&lt;/em&gt;,
a weird little project
built for sharing research between scientists.
And I still think this web could be pretty cool, actually,
if it wasn’t trapped in the clutches of big tech.
If we can focus on
the bits that make it special –
the bits that make it unwieldy for capitalism:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Large companies find HTML &amp;amp; CSS frustrating “at scale”
because the web is
a fundamentally anti-capitalist mashup art experiment,
designed to give consumers all the power.&lt;/p&gt;
&lt;p&gt;—Me, &lt;a href=&quot;https://tweets.miriamsuzanne.com/1198717316269084672/&quot;&gt;before all this&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What are we going to build now –
those of us who still care about
diversity, equity, inclusion, accessibility,
and giving consumers the power?
Can we still put our HTML &amp;amp; CSS to good use?
Can we get back to building a web
where people have &lt;em&gt;agency&lt;/em&gt; instead of &lt;em&gt;inhuman agents&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Where are you looking to put your energy next?&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Addendum, 2025-02-16&lt;/h2&gt;
&lt;p&gt;I’ve been spending a lot of time in the pottery studio
instead of keeping up with my RSS feed –
so I wasn’t aware of the most recent &lt;em&gt;AI discourse&lt;/em&gt;.
Jeremy Keith does a great job
putting my thoughts in context
of a &lt;a href=&quot;https://adactio.com/journal/21712&quot;&gt;larger blogging conversation&lt;/a&gt;.
I recommend reading that summary,
and the excellent linked posts by
&lt;a href=&quot;https://www.baldurbjarnason.com/notes/2025/now-im-disappointed/&quot;&gt;Baldur Bjarnason&lt;/a&gt;
and &lt;a href=&quot;https://css-irl.info/debating-the-merits-of-llms/&quot;&gt;Michelle Barker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I find it particularly troubling
the way we talk about current harms of current technology
as &lt;em&gt;temporary and therefor insignificant&lt;/em&gt; –
as though something being “solvable”
means that it’s basically solved already,
and we shouldn’t worry about it.
The logic seems so &lt;a href=&quot;https://adactio.com/journal/21405&quot;&gt;obviously backwards to me&lt;/a&gt;.
Solve the problems first,
if they are so easily solvable.&lt;/p&gt;
&lt;p&gt;This is often used to dismiss the current energy use of LLMs,
but also a common rhetorical trick of CEOs
as they lay off their workforce.
Don’t worry,
your current unemployment could someday be solved
with a &lt;em&gt;universal basic income&lt;/em&gt;.
Please ignore the harms of capitalism
&lt;em&gt;as we weaponize it against you&lt;/em&gt; –
because &lt;em&gt;socialism could eventually make it better&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;And yet (&lt;em&gt;surprise!&lt;/em&gt;) when the tech titans
take over government institutions,
they don’t seem to have much interest for
improving social safety nets.
It’s almost (almost) like their goal
is to &lt;em&gt;weaken&lt;/em&gt; the bargaining power of labor,
and they don’t consider this a flaw in the first place.&lt;/p&gt;
&lt;p&gt;In our marketing-department imagined future
of a new technology
all harms will somehow disappear (details TBD),
but the potential benefits are endless and extraordinary.
We could cure cancer!
But are any of the AI companies
trying to cure cancer,
as a primary goal of their work?
Well, no…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Step 2 may be actively harmful,
and step 3 might be perpetually absent,
but the &lt;a href=&quot;https://front-end.social/@mia/114004360489192892&quot;&gt;profit described by step 4 is undeniable&lt;/a&gt;.
Critics always lack the proper imagination.&lt;/em&gt;&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot;&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Hashtag Not All Billionaires, or whatever.
I chose this language,
because I’m feeling vulnerable and upset –
and because it reflects what I see
when I look at the &lt;em&gt;longtermist&lt;/em&gt;
and &lt;em&gt;pro-natalist&lt;/em&gt;
and &lt;em&gt;ultra-utilitarian&lt;/em&gt; comments and actions
of many AI-backers,
and their ties to &lt;em&gt;rationalist&lt;/em&gt; (lol) forums.
I’m not the first one to suggest that
there’s &lt;a href=&quot;https://www.truthdig.com/articles/nick-bostrom-longtermism-and-the-eternal-return-of-eugenics-2/&quot;&gt;a hint of eugenics&lt;/a&gt;
in the way these LLM-as-AI-enthusiasts
talk about their techno-utopian dreams.&lt;/p&gt;
&lt;p&gt;I understand it is not always productive
to rely on the strongest and least nuanced terms available.
I imagine &lt;em&gt;some&lt;/em&gt; of the billionaires involved
are primarily in it for the money, actually.
But that seems like distinction
with very little difference to me,
especially as it relates to &lt;em&gt;how I feel about this moment&lt;/em&gt;.
Even without citing &lt;em&gt;eugenics-per-se&lt;/em&gt;,
I remain opposed to their project,
and the documented exploitations at every step.&lt;/p&gt;
&lt;p&gt;Anyway, this is a journal entry,
not an explainer on billionaire ideologies. &lt;a href=&quot;https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Aggregating my distributed self</title>
    <link href="https://www.miriamsuzanne.com/2024/09/22/agregate-self/" />
    <updated>2024-09-22T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/09/22/agregate-self/</id>
    <content type="html">
      &lt;p&gt;Most of the content on this site
is an aggregate view
of my work in other venues.
How do I want to manage that process
going forward?&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;It’s 2024,
and I’m including this post
in a series called &lt;code&gt;redesign 2022&lt;/code&gt;.
That’s when I ripped out all the styles on my site,
and declared &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/07/minimal/&quot;&gt;my intent to renovate&lt;/a&gt;
&lt;em&gt;with a light touch&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How much can I change,
&lt;em&gt;without moving any of the walls&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;—Me, 2022&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But the walls got in my way.
Instead of minimal renovation,
I got just far enough to &lt;em&gt;live with it&lt;/em&gt;
and then started a brand new &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt; repo.&lt;/p&gt;
&lt;p&gt;The plan was to prototype over there,
and bring back well-formed solutions.
To &lt;a href=&quot;https://daverupert.com/tag/prototyping&quot;&gt;echo Dave Rupert&lt;/a&gt;,
prototyping is useful.
It’s easier to play with new ideas
when you’re not carrying a decade of content
and old code along with you.&lt;/p&gt;
&lt;p&gt;But &lt;em&gt;prototyping&lt;/em&gt; evolved into
what I would call &lt;em&gt;tinkering&lt;/em&gt; (complimentary).
Maybe I mean &lt;em&gt;procrastinating&lt;/em&gt; (also complimentary),
but it’s a wandering process
that also helps me better understand
what I &lt;em&gt;want&lt;/em&gt; from a website.
I might not make visible progress over two years,
but I start to form a &lt;em&gt;point of view&lt;/em&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I want &lt;em&gt;minimal site furniture&lt;/em&gt;,
and a focus on only what’s essential (usually text).
What is the least navigation required,
and can I move it out of the way?
How simple can I keep the layout?&lt;/li&gt;
&lt;li&gt;I want &lt;em&gt;maximum style customization&lt;/em&gt;.
Not just a theme picker,
but as many user controls
and interactions as possible –
from useful to playful to absurd.&lt;/li&gt;
&lt;li&gt;I want content maintenance to &lt;em&gt;feel easy&lt;/em&gt;.
Right now it feels &lt;em&gt;redundant&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Keeping things easy is
always where things get complicated.
And it brings me back to where my redesign started –
a desire to
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/07/minimal/#clarify-the-information-architecture&quot;&gt;clarify the information architecture&lt;/a&gt;.
Not only for visitors,
but for myself.&lt;/p&gt;
&lt;h2&gt;The objects of my web desire (again)&lt;/h2&gt;
&lt;p&gt;I’m still thinking about roughly the same
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/&quot;&gt;content types I’ve discussed before&lt;/a&gt;,
though maybe the boundaries have become
slightly more clear.&lt;/p&gt;
&lt;p&gt;First, there are &lt;em&gt;posts&lt;/em&gt;.
Short or long,
posts always have a date &amp;amp; time attached.
They are active,
part of a &lt;em&gt;feed&lt;/em&gt;,
and might appear in an RSS reader.&lt;/p&gt;
&lt;p&gt;Then there are &lt;em&gt;projects&lt;/em&gt;, maybe –
the things I’m doing.
But that’s too broad.
Let’s break it down:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sometimes I do &lt;em&gt;events&lt;/em&gt;
where I speak, or teach a workshop,
or perform.
Events happen at a time and place.&lt;/li&gt;
&lt;li&gt;Sometimes I create &lt;em&gt;artifacts&lt;/em&gt;
like a book or an album, a website, or specification.
Artifacts often have a home URL.
They might have a launch date,
but they are not date-specific.&lt;/li&gt;
&lt;li&gt;Some of my projects are &lt;em&gt;other channels&lt;/em&gt;
with their own feeds,
their own events and artifacts.&lt;/li&gt;
&lt;li&gt;Those channels are often maintained by
an &lt;em&gt;organization&lt;/em&gt; that I work with long-term.
A band, a web agency, a performance company, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These boundaries aren’t always clean.
A post that remains relevant
could be considered an artifact.
Events can generate artifacts, and vice versa.
An entire organization might exist to
curate a single channel.&lt;/p&gt;
&lt;p&gt;But all these projects tend to exist &lt;em&gt;elsewhere&lt;/em&gt;.
Adding them to my website, even in advance,
is an &lt;em&gt;archival&lt;/em&gt; act –
documenting that the event,
artifact, channel, or organization exists off-site.&lt;/p&gt;
&lt;h2&gt;What belongs in the feed?&lt;/h2&gt;
&lt;p&gt;Posts are simple enough to simplify.
The web is littered with &lt;em&gt;what’s on your mind&lt;/em&gt; text-areas.
Hit &lt;em&gt;publish&lt;/em&gt;, and the date becomes
not just a sorting mechanism,
but an ID, a URL slug, and a placeholder title.
My layout should allow for more,
but not rely on anything beyond a bit of text.&lt;/p&gt;
&lt;p&gt;As part of my desire to prioritize
page content over site furniture,
I’m also leaning into my ‘cold open’ design –
with a small content block
that comes before the title &amp;amp; credits roll.
For a short post,
would I put the entire contents up-front?
I think so.&lt;/p&gt;
&lt;p&gt;Right now,
I’m re-purposing
a &lt;code&gt;summary&lt;/code&gt; field in my YAML front-matter
to split out that pre-title content.
But that doesn’t feel accurate to the purpose.
Maybe I can use
an HTML comment as the divider?
Then it all goes cleanly into an RSS feed,
but I can splice a header in
for my own purposes.&lt;/p&gt;
&lt;p&gt;I also want to think
about what happens to posts over time.
Some remain relevant,
becoming a sort of artifact.
Do I need a way to promote them?
Other posts becomes less relevant, even obsolete.
Maybe they can be &lt;em&gt;unlisted&lt;/em&gt;,
so the URL remains (cooly) in place
but not linked from anywhere.&lt;/p&gt;
&lt;h2&gt;What belongs in the archive?&lt;/h2&gt;
&lt;p&gt;It’s possible to have artifacts
that originate here,
but most of the ‘archive’ is aggregated from off-site activity –
often with a more ‘canonical’ online home.
Conference talks are announced on the conference website,
theater productions on the Grapefruit Lab site,
albums on the Teacup Gorilla site,
specs live on the W3C servers,
even my novel has it’s own URL.&lt;/p&gt;
&lt;p&gt;At their most basic,
these things can all be represented
by a name and URL –
with dates that are more or less essential
depending on the type of project.&lt;/p&gt;
&lt;p&gt;So the eternal question is:
how much do I duplicate in my own archive?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;At one extreme,
I can re-post the entire contents –
articles, videos, music embeds, event details –
with &lt;code&gt;canonical&lt;/code&gt; metadata pointing to the original.
Each archival item gets a document in my repo,
and a URL on here in the archive,
in addition to any off-site links.
That’s where things start to feel like busy work,
redundant.&lt;/li&gt;
&lt;li&gt;On the other extreme,
the archives can be simple data structures
slotted into the Eleventy ‘data cascade’
wherever I see fit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In either case,
there’s a question of detail.
Do I link to channels and organizations as a whole
and leave it at that,
or do I link to each article I post
on the OddBird blog,
each &lt;em&gt;Winging It&lt;/em&gt; live stream,
each spec and explainer for the CSS Working Group,
each album, conference, and production?&lt;/p&gt;
&lt;p&gt;All those things can be found
on other websites.
The purpose of having them here
is only to aggregate my sprawling work
in a single location.&lt;/p&gt;
&lt;p&gt;Is that useful?
For me or for you?
Is it interesting, apart from any utility?&lt;/p&gt;
&lt;h2&gt;A first pass&lt;/h2&gt;
&lt;p&gt;At a high level, I’m thinking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;List all the items in yaml data, with links off site&lt;/li&gt;
&lt;li&gt;Group the items onto index pages by channel when useful&lt;/li&gt;
&lt;li&gt;Don’t duplicate the details, that’s what links are for&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In practice, that means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organizations and channels get their own pages&lt;/li&gt;
&lt;li&gt;Those pages act as tag-list pages for related posts,
and home for relevant offsite links&lt;/li&gt;
&lt;li&gt;Artifacts &amp;amp; events start as data/links,
and only get promoted to page status
if a tag page would be useful
to group multiple related items&lt;/li&gt;
&lt;/ul&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A web component for CodePen embeds?</title>
    <link href="https://www.miriamsuzanne.com/2024/09/09/embed-pen/" />
    <updated>2024-09-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/09/09/embed-pen/</id>
    <content type="html">
      &lt;p&gt;David Darnes
already made
&lt;a href=&quot;https://darn.es/code-pen-web-component/&quot;&gt;a &lt;code&gt;&amp;lt;code-pen&amp;gt;&lt;/code&gt; web component&lt;/a&gt;.
It’s great.
It takes code,
and creates a pen from that code.
But I don’t want to create a pen,
I want to embed one.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;The default CodePen embed is pretty good already.
So right from the start,
this whole project is unnecessary.
The code looks like this:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;codepen&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;data-slug-hash&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;BEvjbm&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;data-height&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;600&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  CodePen Demo:
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://codepen.io/miriamsuzanne/pen/BEvjbm&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    CSS-only &#39;mixin&#39;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;p&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://static.codepen.io/assets/embed/ei.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There are other optional attributes,
but those are the essentials in my experience.
You can put anything you want inside the paragraph,
since the entire element is getting replaced.&lt;/p&gt;
&lt;p&gt;To my eye,
that’s a custom element waiting to happen.
And I had a few small adjustments in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The pen &lt;code&gt;data-slug-hash&lt;/code&gt; could be extracted from the link&lt;/li&gt;
&lt;li&gt;If we provide the height in CSS,
we can use it to avoid layout shift?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m not sure it’s enough to make this worthwhile,
but it was enough for me to create
&lt;a href=&quot;https://codepen.io/miriamsuzanne/pen/JjQxzYR?editors=1010&quot;&gt;a new pen&lt;/a&gt;
and start playing around.&lt;/p&gt;
&lt;p&gt;With the first draft,
my fancy new embed looks like this:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;embed-pen&lt;/span&gt; &lt;span class=&quot;token special-attr&quot;&gt;&lt;span class=&quot;token attr-name&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token value css language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 600px&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  CodePen Demo:
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://codepen.io/miriamsuzanne/pen/BEvjbm&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    CSS-only &#39;mixin&#39;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;embed-pen&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://static.codepen.io/assets/embed/ei.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ok, so not much has changed.
But it works!
Here it is, doing the thing:&lt;/p&gt;
&lt;embed-pen style=&quot;height: 600px&quot;&gt;
  CodePen Demo:
  &lt;a href=&quot;https://codepen.io/miriamsuzanne/pen/BEvjbm&quot;&gt;
    An embed-pen web web component
  &lt;/a&gt;
&lt;/embed-pen&gt;
&lt;script src=&quot;https://codepen.io/miriamsuzanne/pen/JjQxzYR.js&quot;&gt;&lt;/script&gt;
&lt;script async src=&quot;https://static.codepen.io/assets/embed/ei.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;If I was to flesh this out,
I think:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The custom element should stick around,
instead of becoming &lt;code&gt;div.cp_embed_wrapper&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;embed/ei.js&lt;/code&gt; logic should be part of the element definition,
not a separate script&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Along the way,
I learned that the &lt;code&gt;height&lt;/code&gt; attribute
is only allowed on specific elements,
which is why I had to use the &lt;code&gt;style&lt;/code&gt; attribute instead.
One of those elements is the &lt;code&gt;iframe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Looking closer,
the &lt;a href=&quot;https://blog.codepen.io/documentation/embedded-pens/&quot;&gt;CodePen Embed docs&lt;/a&gt;
demonstrate using an &lt;code&gt;iframe&lt;/code&gt; from the start,
if you need to avoid JS:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;iframe&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://codepen.io/miriamsuzanne/embed/BEvjbm&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;600&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;100%&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;lazy&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;iframe&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&quot;https://codepen.io/miriamsuzanne/embed/BEvjbm&quot; height=&quot;600&quot; width=&quot;100%&quot; loading=&quot;lazy&quot; frameborder=&quot;none&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;Well that sure gets right to the point.
Maybe that’s all I need?
I don’t feel like I’m losing essential behavior, here.
All the parameters are still available via the URL.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>We don&#39;t need a boss, we need a process</title>
    <link href="https://www.miriamsuzanne.com/2024/08/08/vision/" />
    <updated>2024-08-08T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/08/08/vision/</id>
    <content type="html">
      &lt;p&gt;Robin says
&lt;a href=&quot;https://robinrendle.com/notes/design-aint-a-democracy/&quot;&gt;design ain’t a democracy&lt;/a&gt;.
“&lt;em&gt;great design can only thrive
with a dictator/director.&lt;/em&gt;”
I aim to push back.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Everyone can agree that
&lt;em&gt;design by committee&lt;/em&gt; usually fails.
But it’s not because
there are multiple people involved,
it’s because (most) &lt;em&gt;committees&lt;/em&gt;
are not made up of skilled collaborators
with a shared vision and process.&lt;/p&gt;
&lt;p&gt;Shared vision and collaborative process
don’t &lt;em&gt;just happen&lt;/em&gt;
when good developers sit around a table.
Like anything else,
collaborative art and design
are skills that people learn and practice.
We have to exercise new muscles,
not usually covered by
a developer bootcamp
or design school.
The process can have a lot in common
with &lt;em&gt;agile&lt;/em&gt; approaches,
but it’s a different set of skills
from collaborating on a codebase.&lt;/p&gt;
&lt;p&gt;Skills we can learn.
But skills we won’t have
unless we study and practice.&lt;/p&gt;
&lt;p&gt;Or we can skip all that
and get one person to make all the decisions.
That’s an option,
but it’s not &lt;em&gt;the only way&lt;/em&gt;.
It’s just the way most of us were taught.&lt;/p&gt;
&lt;p&gt;I’m not saying this theoretically.
Not all theaters or bands
are collaborative, but many are –
and there are long traditions
around ‘devised’ or ‘ensemble’ theater in particular.
Learning to &lt;em&gt;write plays&lt;/em&gt; or &lt;em&gt;act in them&lt;/em&gt;
does not prepare you to devise with an ensemble,
but there are many people who do
study, learn, practice, document and teach those skills.&lt;/p&gt;
&lt;p&gt;(In fact, it’s what I’ve spent most of my life doing,
with occasional CSS distractions)&lt;/p&gt;
&lt;p&gt;But I suppose Robin is right that
even good collaboration
generally &lt;em&gt;ain’t a democracy&lt;/em&gt;.
It’s more involved and messy than voting,
or tallying a majority opinion.
It requiring deep engagement,
and shared ownership of a vision.
Let’s call it anarchist, maybe,
with an emphasis on mutual aid?&lt;/p&gt;
&lt;p&gt;Creative collaboration
requires effort, argument, trust, and play.
The ability to fight for an idea,
and then let it go.
To be open, and then decisive.
Knowing when to work together,
and when to work apart.
Cycles of action, reaction, reflection, etc.&lt;/p&gt;
&lt;p&gt;Developers have excellent tools for that last bit –
working together, while apart.
Many artists would benefit from something like GitHub.
These skills are not entirely unrelated.
But they’re also not directly equivalent.&lt;/p&gt;
&lt;p&gt;I don’t remember the source,
but at some point I learned
that ‘brainstorming’ tends to fail
because the strength of collaboration
comes from &lt;em&gt;pushing back&lt;/em&gt;.
Not off-hand rejection,
shooting ideas down –
but honing our ideas
by articulating what makes them work or fail.&lt;/p&gt;
&lt;p&gt;What we like about a dictator
is that they have a vision,
and set the process,
and take the responsibility
to be decisive when necessary.
But it’s not impossible for us to do that together,
if we learn how to hold a strong vision collectively.&lt;/p&gt;
&lt;p&gt;We must become a team,
united against our work.
Our job, together,
is to hone and curate that work
towards the exclusive vision
through continuous questioning and articulation.&lt;/p&gt;
&lt;p&gt;We define a vision by the choices we make,
and we clarify that vision by the choices we reject.&lt;/p&gt;
&lt;p&gt;(Now I want to re-read Anne Bogart’s
&lt;a href=&quot;https://bookshop.org/p/books/a-director-prepares-seven-essays-on-art-and-theatre-anne-bogart/21516283?ean=9780415238328&quot;&gt;A Director Prepares&lt;/a&gt;,
and
&lt;a href=&quot;https://bookshop.org/p/books/the-viewpoints-book-a-practical-guide-to-viewpoints-and-composition-anne-bogart/10486980?ean=9781559362412&quot;&gt;The Viewpoints Book&lt;/a&gt;)&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Eleventy buckets &amp; cascade layers</title>
    <link href="https://www.miriamsuzanne.com/2024/07/06/buckets-layers/" />
    <updated>2024-07-06T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/07/06/buckets-layers/</id>
    <content type="html">
      &lt;p&gt;I’m re-working this site from scratch –
sticking with &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;,
but moving from
&lt;a href=&quot;https://www.11ty.dev/docs/languages/nunjucks/&quot;&gt;Nunjucks&lt;/a&gt; templates/macros
to &lt;a href=&quot;https://www.11ty.dev/docs/languages/webc/&quot;&gt;WebC&lt;/a&gt;
and web components.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Outside of static-site templates,
one goal of this refresh
is to keep things as ‘vanilla’ as possible.&lt;/p&gt;
&lt;p&gt;This isn’t some purist stance on my part.
There are a lot of great tools
that we recommend to clients every day.
But this is my personal site,
and a place to experiment.
&lt;em&gt;What happens when I let go
of all the tools that I’m used to,
and rely entirely on the web platform?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Along the way,
I’m trying to find the best pattern
for organizing my CSS into Cascade Layers.
Layering can be done within a file,
using the &lt;code&gt;@layer &amp;lt;name&amp;gt; { … }&lt;/code&gt; rule block,
or it can be done with a &lt;code&gt;layer(&amp;lt;name&amp;gt;)&lt;/code&gt; function
on-import.
I prefer the latter
for my top-level layers, because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The layering can happen in one central place&lt;/li&gt;
&lt;li&gt;Renaming and reordering is more more flexible&lt;/li&gt;
&lt;li&gt;There’s less nesting in the CSS files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few other rough criteria
for how I write CSS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Component-specific styles
can be embedded in
‘single file components’ (WebC handles this well),
but &lt;em&gt;most of my CSS&lt;/em&gt; will be global&lt;/li&gt;
&lt;li&gt;I like the global styles split into ‘partials’,
so it’s not all one long document&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2024/07/06/buckets-layers/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Each partial will be assigned
to a cascade layer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Without any build steps,
I get an HTML &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;
that contains something like:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;span class=&quot;token language-css&quot;&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@layer&lt;/span&gt; reset&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; config&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; default&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; layout&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; component&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; utility&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;

  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/reset.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;reset&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;

  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/config/colors.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;config&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/config/sizes.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;config&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;

  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/type.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/links.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/buttons.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/forms.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/media.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/default/blocks.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;default&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;

  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/layout/page.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;layout&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/layout/nav.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;layout&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/layout/header.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;layout&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/layout/main.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;layout&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/layout/footer.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;layout&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;

  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;token url&quot;&gt;&lt;span class=&quot;token function&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string url&quot;&gt;&#39;/css/utility/a11y.css&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;layer&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;utility&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The component styles are missing from that global list.
CSS is designed to be global,
and the best way to write minimal CSS
(in my experience)
is to focus more on &lt;em&gt;reusable patterns&lt;/em&gt;
over &lt;em&gt;individual components&lt;/em&gt;.
So I don’t expect much to end up
in our component layer,
but there’s always something.
We can access those styles
as a &lt;a href=&quot;https://www.11ty.dev/docs/languages/webc/#asset-bundling&quot;&gt;WebC asset bundle&lt;/a&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;`@import url(${getBundleFileUrl(&#39;css&#39;)}) layer(component);`&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I love that there’s
very little build-time &lt;em&gt;magic&lt;/em&gt; involved!
Still, that’s a whole wall of imports,
and I have a decades-old flinch reflex
when I see that.
Should I be worried?&lt;/p&gt;
&lt;h2&gt;Am I creating performance issues?&lt;/h2&gt;
&lt;p&gt;I’m not a performance expert,
so I &lt;a href=&quot;https://front-end.social/@mia/112741641485635928&quot;&gt;asked mastodon&lt;/a&gt;,
and got a generally
&lt;a href=&quot;https://gomakethings.com/modular-css-and-different-ways-to-structure-your-stylesheets/&quot;&gt;positive but mixed&lt;/a&gt;
response.&lt;/p&gt;
&lt;p&gt;It might not be &lt;em&gt;the best&lt;/em&gt; performance,
but (with HTTP 2/3) it shouldn’t be bad.
My personal site doesn’t need
&lt;em&gt;eXtreme optimization&lt;/em&gt;,
so that might be good enough for me?
I’ll probably ship it,
and find out.&lt;/p&gt;
&lt;p&gt;Still,
I know
&lt;a href=&quot;https://csswizardry.com/2023/10/the-three-c-concatenate-compress-cache/&quot;&gt;the first step in optimizing CSS&lt;/a&gt;
is to &lt;em&gt;concatenate&lt;/em&gt; –
so I did explore a few approaches
along the way,
which could work if I need them.&lt;/p&gt;
&lt;h2&gt;Sass can &lt;code&gt;load-css&lt;/code&gt; into layers&lt;/h2&gt;
&lt;p&gt;In the past, I’ve used &lt;a href=&quot;https://sass-lang.com&quot;&gt;Sass&lt;/a&gt;.
I like Sass a lot.
In Sass,
I concatenate and layer the partials
using &lt;code&gt;meta.load-css()&lt;/code&gt;
in my primary Sass file:&lt;/p&gt;
&lt;pre class=&quot;language-scss&quot;&gt;&lt;code class=&quot;language-scss&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;@use&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;sass:meta&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@layer&lt;/span&gt; reset&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@meta&lt;/span&gt;.&lt;span class=&quot;token function&quot;&gt;load-css&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;reset&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token rule&quot;&gt;@layer&lt;/span&gt; config&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  @meta.&lt;span class=&quot;token function&quot;&gt;load-css&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;config/colors&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  @meta.&lt;span class=&quot;token function&quot;&gt;load-css&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;config/sizes&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// etc.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That works pretty well.
It’s what I’ve been doing on this site
ever since I originally added layers.&lt;/p&gt;
&lt;p&gt;But if I’m not using Sass for anything else,
maybe I can avoid the dependency altogether?&lt;/p&gt;
&lt;h2&gt;When in Eleventy, do as the Eleventies do&lt;/h2&gt;
&lt;p&gt;I’m already using WebC,
which provides &lt;em&gt;asset bundling&lt;/em&gt;.
I’ve already used that feature (above)
to concatenate individual component styles.
That compiles all the CSS
into one bundle,
and all the JS into another
(unless you opt-out with &lt;code&gt;webc:keep&lt;/code&gt;).
Those bundles are available
as either raw output
or external files:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- direct output --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;getBundle(&#39;css&#39;)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;getBundle(&#39;js&#39;)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- external files output --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;:href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;getBundleFileUrl(&#39;css&#39;)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;:src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;getBundleFileUrl(&#39;js&#39;)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But you can take that even further
with &lt;em&gt;asset bucketing&lt;/em&gt; –
assigning &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt;, or &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tags
to individually named CSS or JS buckets:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;good&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;span class=&quot;token language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* … */&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;bad&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;terrible.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;bad&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;span class=&quot;token language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* … */&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ugly&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;span class=&quot;token language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* … */&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And each bucket will get bundled up individually:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- just the bad styles --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;getBundle(&#39;css&#39;, &#39;bad&#39;)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Are you thinking what I’m thinking?
Probably. It’s the title of the post.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bundles let you concatenate CSS partials,
and buckets let you group them as needed.
That’s what I’m trying to do.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My CSS partials are external stylesheets,
not attached to any particular WebC component,
so first I have to pull them into buckets.
I can do that with &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tags in the header:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;../../_css/reset.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;reset&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;../../_css/config/colors.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;config&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;../../_css/config/sizes.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;config&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;link&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;rel&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;stylesheet&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;../../_css/config/fonts.css&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;bucket&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;config&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- etc --&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Since I’m using &lt;code&gt;webc:bucket&lt;/code&gt; and not &lt;code&gt;webc:keep&lt;/code&gt;,
these &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tags won’t appear in the HTML output.
But now I have my buckets.&lt;/p&gt;
&lt;p&gt;Since I’m interested in layering the buckets ‘on import’,
I’ll need to generate external stylesheets.
And since layering is
&lt;a href=&quot;https://css.oddbird.net/layers/link-layer/&quot;&gt;not yet possible with the &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tag&lt;/a&gt;,
I’ll need to use &lt;code&gt;@import&lt;/code&gt; rules instead.
WebC makes that simple enough,
using JS template tags.
These, I’ll keep around:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;`@import url(${getBundleFileUrl(&#39;css&#39;, &#39;reset&#39;)}) layer(reset);`&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;`@import url(${getBundleFileUrl(&#39;css&#39;, &#39;config&#39;)}) layer(config);`&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- etc --&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We can simplify that even more,
using &lt;a href=&quot;https://www.11ty.dev/docs/languages/webc/#webcfor-loops&quot;&gt;&lt;code&gt;webc:for&lt;/code&gt; loops&lt;/a&gt;.
I don’t know if there’s a way
to access the list of buckets in WebC,
so (for now) I’ve just added some front-matter data.
While I’m at it,
I’ll use that data to define my layer order up-front:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- &amp;lt;style&amp;gt;@layer reset, config, default, etc;&amp;lt;/style&amp;gt; --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;`@layer ${($data.layers).join(&#39;, &#39;)};`&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- &amp;lt;style&amp;gt;@import url(&#39;bucket-name.css&#39;) layer(bucket-name);&amp;lt;/style&amp;gt; --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;style&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;keep&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;&lt;span class=&quot;token namespace&quot;&gt;webc:&lt;/span&gt;for&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;layer of ($data.layers)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token attr-name&quot;&gt;@raw&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;`@import url(${getBundleFileUrl(&#39;css&#39;, layer)}) layer(${layer});`&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token style&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That’s it!
Not quite as compact
as the other two approaches,
but it’s close –
and it works great,
without any extra dependencies.&lt;/p&gt;
&lt;p&gt;I might be able to simplify that even further
with &lt;a href=&quot;https://www.11ty.dev/docs/languages/webc/#using-javascript-to-generate-content&quot;&gt;&lt;code&gt;webc:type=&#39;js&#39;&lt;/code&gt;&lt;/a&gt;,
but I’ll cross that bridge
if I decide that concatenation is
worth the effort.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot;&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Back in the late &lt;em&gt;aughts&lt;/em&gt;
and early 2010s,
I was a big fan of CSSEdit
(now part of &lt;a href=&quot;https://espressoapp.com&quot;&gt;Espresso&lt;/a&gt;, I believe).
One of the best features was viewing
a single massive CSS file
&lt;em&gt;as though it contained many smaller folders&lt;/em&gt;.
Maybe I should go back to that approach,
or even back to that specific app? &lt;a href=&quot;https://www.miriamsuzanne.com/2024/07/06/buckets-layers/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A slash-why proposal</title>
    <link href="https://www.miriamsuzanne.com/2024/07/02/slash-why/" />
    <updated>2024-07-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/07/02/slash-why/</id>
    <content type="html">
      &lt;p&gt;Get yourself
a fancy little
manifesto page,
and tell us all
what you’re about.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’m working on a personal site refresh,
oh so slowly.
Part of the process has been
considering what slash pages I have or want.&lt;/p&gt;
&lt;p&gt;Robb Knight has a great list of ideas
over at &lt;a href=&quot;https://slashpages.net&quot;&gt;slashpages.net&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But there’s one I’ve had for a decade,
that I think others might consider adding:
&lt;a href=&quot;https://www.miriamsuzanne.com/why&quot;&gt;&lt;code&gt;/why&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It’s an opportunity
to say what you care about,
what &lt;a href=&quot;https://www.miriamsuzanne.com/2023/12/31/23-24/&quot;&gt;direction&lt;/a&gt; you’re heading,
and how you hope to exist in the world.
A &lt;em&gt;minifesto&lt;/em&gt; on the purpose of your site,
or your work.&lt;/p&gt;
&lt;p&gt;Mine could use an update,
but here’s the current state:
&lt;em&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/why&quot;&gt;Notes Towards a More Queer Art (and a more humane technology)&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Custom element, two ways</title>
    <link href="https://www.miriamsuzanne.com/2024/01/24/el-2-ways/" />
    <updated>2024-01-24T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/01/24/el-2-ways/</id>
    <content type="html">
      &lt;p&gt;Sometimes I build
a custom element,
and then I have second thoughts about it.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code style=&quot;--color-tile:hotpink&quot;&gt;hotpink&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;color-tile&gt;teal&lt;/color-tile&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code style=&quot;--color-tile:#22f6&quot;&gt;#22f6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;color-tile&gt;#f226&lt;/color-tile&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first is just
a clever use of CSS.
The second (registered) custom element
simplifies the markup,
but adds a JS dependency.
The markup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;code style=&quot;--color-tile:hotpink&quot;&amp;gt;hotpink&amp;lt;/code&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;color-tile&amp;gt;teal&amp;lt;/color-tile&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maybe that small syntax improvement
is a job for
&lt;em&gt;HTML templating&lt;/em&gt;,
rather than a custom element?&lt;/p&gt;
&lt;p&gt;If we had support
for the full &lt;code&gt;attr()&lt;/code&gt; function
in CSS,
we could simplify
the CSS markup.
Now it’s a custom attribute,
instead of a custom element:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;code color-tile=&quot;hotpink&quot;&amp;gt;hotpink&amp;lt;/code&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Down the road
I can imagine more
interactive features
for the component.
That could sway things
towards use of JS.
But still –
is it a custom element?
I’m not sure.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;


&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/KKEXQKr?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;400&quot; title=&quot;Custom element, two ways&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;


      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>User styles on the web</title>
    <link href="https://www.miriamsuzanne.com/2024/01/24/have-preferences/" />
    <updated>2024-01-24T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2024/01/24/have-preferences/</id>
    <content type="html">
      &lt;p&gt;You’re allowed to have preferences.
That’s what the web is designed for.
Set your preferences.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve been playing with user styles.&lt;/p&gt;
&lt;p&gt;Not like fancy site-specific styles,
just setting the defaults that I want.
Slightly larger text,
nicer fallback fonts, etc. Why not?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firefox&lt;/strong&gt;/Gecko:
&lt;code&gt;about:preferences&lt;/code&gt; (GUI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chrome&lt;/strong&gt;/Blink:
&lt;code&gt;chrome://settings/appearance&lt;/code&gt; (GUI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Safari&lt;/strong&gt;/WebKit: go to…
&lt;code&gt;Settings / Advanced / Style sheet…&lt;/code&gt;
(you’ll need to write CSS)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As a developer
I worry about seeing
something different
than what other people will see
by default.
But then I think:
that’s the whole point, right?
We should be mindful of that anyway.&lt;/p&gt;
&lt;p&gt;What do you want the default web to look like?&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>New year, same (terrible) Mia</title>
    <link href="https://www.miriamsuzanne.com/2023/12/31/23-24/" />
    <updated>2023-12-31T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2023/12/31/23-24/</id>
    <content type="html">
      &lt;p&gt;It wasn’t always a great year,
but I’ve been
&lt;a href=&quot;https://www.miriamsuzanne.com/2023/05/06/2023-preview/&quot;&gt;moving the right direction&lt;/a&gt;.
In 2024, the plan is to
&lt;em&gt;just keep moving&lt;/em&gt;.
(maybe too literally)&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I don’t like to define my year
as a series of measurable OKRs
achieved or failed.
To quote &lt;a href=&quot;https://robinrendle.com/notes/i-am-a-poem-i-am-not-software/&quot;&gt;Robin Rendle&lt;/a&gt;:
&lt;em&gt;I am a poem, I am not software&lt;/em&gt;.
But at the end of 2022
my anxiety was pretty high,
and I was feeling pretty low.
So I set out to
&lt;a href=&quot;https://www.miriamsuzanne.com/2023/05/06/2023-preview/&quot;&gt;turn things around&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I want to cultivate a spacious openness
for curiosity and discovery…
So that when I am busy,
it should be from
&lt;em&gt;an abundance of creative projects,
not a scarcity of time&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, heading into another new year,
I want to celebrate and re-affirm that direction.
I haven’t &lt;em&gt;made progress&lt;/em&gt; exactly,
because there’s no end goal,
and no metrics –
but I’m feeling a lot better
about how I waste my time.
I’m feeling better about
&lt;em&gt;having time to waste&lt;/em&gt;.
Not because my days are any less full,
but because I’m the one filling them up.&lt;/p&gt;
&lt;p&gt;Here are some things I enjoyed in 2023.
And some projects that will continue
into the new year!&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/lWGxgcHAsQ-640.avif 640w, https://www.miriamsuzanne.com/img/lWGxgcHAsQ-960.avif 960w, https://www.miriamsuzanne.com/img/lWGxgcHAsQ-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Bower bird dancers twisting and untwisting on yellow swings in purple theater lighting&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/lWGxgcHAsQ-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1066&quot; srcset=&quot;https://www.miriamsuzanne.com/img/lWGxgcHAsQ-640.jpeg 640w, https://www.miriamsuzanne.com/img/lWGxgcHAsQ-960.jpeg 960w, https://www.miriamsuzanne.com/img/lWGxgcHAsQ-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Civ1PPcmvl-640.avif 640w, https://www.miriamsuzanne.com/img/Civ1PPcmvl-960.avif 960w, https://www.miriamsuzanne.com/img/Civ1PPcmvl-1280.avif 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Small round flower pot covered in spikes off the side like organic mountain ranges, glazed in a streaked brown that gathers on the spikes and valleys, and on the rim -- set on a hexagon tray with stalagmites protruding around the pot base&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Civ1PPcmvl-640.jpeg&quot; width=&quot;1280&quot; height=&quot;960&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Civ1PPcmvl-640.jpeg 640w, https://www.miriamsuzanne.com/img/Civ1PPcmvl-960.jpeg 960w, https://www.miriamsuzanne.com/img/Civ1PPcmvl-1280.jpeg 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/iScdSoq_HH-640.avif 640w, https://www.miriamsuzanne.com/img/iScdSoq_HH-960.avif 960w, https://www.miriamsuzanne.com/img/iScdSoq_HH-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;High side angle of a mostly bare stage, a woman is on a couch in a pool of light and the glow of her laptop -- large screens with rain projected behind her&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/iScdSoq_HH-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1067&quot; srcset=&quot;https://www.miriamsuzanne.com/img/iScdSoq_HH-640.jpeg 640w, https://www.miriamsuzanne.com/img/iScdSoq_HH-960.jpeg 960w, https://www.miriamsuzanne.com/img/iScdSoq_HH-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/R-TbASdYC7-640.avif 640w, https://www.miriamsuzanne.com/img/R-TbASdYC7-960.avif 960w, https://www.miriamsuzanne.com/img/R-TbASdYC7-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Low side across the stage a white woman and south asian man in spot lights facing the audience -- their faces projected behind them as a face-time call&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/R-TbASdYC7-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1067&quot; srcset=&quot;https://www.miriamsuzanne.com/img/R-TbASdYC7-640.jpeg 640w, https://www.miriamsuzanne.com/img/R-TbASdYC7-960.jpeg 960w, https://www.miriamsuzanne.com/img/R-TbASdYC7-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/A7q7XYhMI0-640.avif 640w, https://www.miriamsuzanne.com/img/A7q7XYhMI0-960.avif 960w, https://www.miriamsuzanne.com/img/A7q7XYhMI0-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Part of a theatrical lighting plot drawn in Drafty Pro&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/A7q7XYhMI0-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/A7q7XYhMI0-640.jpeg 640w, https://www.miriamsuzanne.com/img/A7q7XYhMI0-960.jpeg 960w, https://www.miriamsuzanne.com/img/A7q7XYhMI0-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7_EyV98GPU-640.avif 640w, https://www.miriamsuzanne.com/img/7_EyV98GPU-960.avif 960w, https://www.miriamsuzanne.com/img/7_EyV98GPU-1280.avif 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Hand holding a notebook and mechanical pencil, open to a page with a detailed sketch of my condo covered in measurements&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/7_EyV98GPU-640.jpeg&quot; width=&quot;1280&quot; height=&quot;960&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7_EyV98GPU-640.jpeg 640w, https://www.miriamsuzanne.com/img/7_EyV98GPU-960.jpeg 960w, https://www.miriamsuzanne.com/img/7_EyV98GPU-1280.jpeg 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xyqdqN7cxO-640.avif 640w, https://www.miriamsuzanne.com/img/xyqdqN7cxO-960.avif 960w, https://www.miriamsuzanne.com/img/xyqdqN7cxO-1280.avif 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Sondra sitting behind the drum kit, surrounded by mics and cables, ready to record&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/xyqdqN7cxO-640.jpeg&quot; width=&quot;1280&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xyqdqN7cxO-640.jpeg 640w, https://www.miriamsuzanne.com/img/xyqdqN7cxO-960.jpeg 960w, https://www.miriamsuzanne.com/img/xyqdqN7cxO-1280.jpeg 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    
    
    &lt;iframe src=&quot;https://www.youtube.com/embed/ntNzVlqbwPM&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/3K3BaJHT6N-640.avif 640w, https://www.miriamsuzanne.com/img/3K3BaJHT6N-960.avif 960w, https://www.miriamsuzanne.com/img/3K3BaJHT6N-1280.avif 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Wooden desk with an open lid exposing two drawers, some clock parts, and a variety of tools&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/3K3BaJHT6N-640.jpeg&quot; width=&quot;1280&quot; height=&quot;960&quot; srcset=&quot;https://www.miriamsuzanne.com/img/3K3BaJHT6N-640.jpeg 640w, https://www.miriamsuzanne.com/img/3K3BaJHT6N-960.jpeg 960w, https://www.miriamsuzanne.com/img/3K3BaJHT6N-1280.jpeg 1280w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4H-ou9_K4b-640.avif 640w, https://www.miriamsuzanne.com/img/4H-ou9_K4b-960.avif 960w, https://www.miriamsuzanne.com/img/4H-ou9_K4b-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Four angles of a Fusion 360 CAD design for the pendulum and escapement of a mechanical clock&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/4H-ou9_K4b-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4H-ou9_K4b-640.jpeg 640w, https://www.miriamsuzanne.com/img/4H-ou9_K4b-960.jpeg 960w, https://www.miriamsuzanne.com/img/4H-ou9_K4b-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4Sbeq477xN-640.avif 640w, https://www.miriamsuzanne.com/img/4Sbeq477xN-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Prototype of a clear acrylic mechanical clock movement, just the pendulum and escape mechanisms, sitting across two stools so the pendulum can hang between&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/4Sbeq477xN-640.jpeg&quot; width=&quot;960&quot; height=&quot;1280&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4Sbeq477xN-640.jpeg 640w, https://www.miriamsuzanne.com/img/4Sbeq477xN-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/fDza1Dj6nT-640.avif 640w, https://www.miriamsuzanne.com/img/fDza1Dj6nT-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Habit-tracking wall calendar with month columns and light-up numbered hexagon days - all lit up!&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/fDza1Dj6nT-640.jpeg&quot; width=&quot;960&quot; height=&quot;1280&quot; srcset=&quot;https://www.miriamsuzanne.com/img/fDza1Dj6nT-640.jpeg 640w, https://www.miriamsuzanne.com/img/fDza1Dj6nT-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Some highlights from my year&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;I performed in &lt;a href=&quot;https://www.curioustheatre.org/&quot;&gt;Curious Theatre&lt;/a&gt;’s
New Voices festival,
and designed lights for
their regional premier
&lt;a href=&quot;https://www.curioustheatre.org/event/lettersofsuresh/&quot;&gt;&lt;em&gt;Letters of Suresh&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grapefruitlab.com&quot;&gt;Grapefruit Lab&lt;/a&gt;
has officially formed as a non-profit,
and we should hear soon about getting 501c3 status&lt;/li&gt;
&lt;li&gt;Our spring show
&lt;a href=&quot;https://grapefruitlab.com/shows/queer-bird/&quot;&gt;&lt;em&gt;Strange Bird, Queer Bird&lt;/em&gt;&lt;/a&gt;
was a huge success,
and a fun opportunity to work with new collaborators&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://teacupgorilla.com&quot;&gt;Teacup Gorilla&lt;/a&gt;
has mostly finished recording a new album,
and we’re collaborating with Grapefruit Lab
to make a fully-staged live performance
based on it (opening in May!)&lt;/li&gt;
&lt;li&gt;I got really into clock repair,
and I’ve fixed several old wall clocks
for friends
(I even made a video about
&lt;a href=&quot;https://www.youtube.com/watch?v=ntNzVlqbwPM&amp;amp;t=198s&quot;&gt;the Rack and Snail strike mechanism&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;I joined &lt;a href=&quot;https://denhac.org/&quot;&gt;DenHac&lt;/a&gt;,
the local maker space,
and learned a number of new tools –
from laser cutting and 3d printing,
to the metal lathe and
(just this week)
the embroidery machine&lt;/li&gt;
&lt;li&gt;I’ve been learning parametric CAD,
using OnShape and Fusion 360
along with the DenHac tools
to design a mechanical pendulum clock
from scratch&lt;/li&gt;
&lt;li&gt;I’ve started exploring
custom elements and web components
(huge thanks to Zach Leatherman
and Westbrook Johnson for significant guidance)&lt;/li&gt;
&lt;li&gt;I’m half done with a major re-build of this site,
and a few other web side projects
that I want to get back to&lt;/li&gt;
&lt;li&gt;I joined a the local recreation center
pottery class,
and really enjoyed getting my hands
back into the clay
(classes start again soon!)&lt;/li&gt;
&lt;li&gt;I did “something active outside”
(usually a walk) &lt;em&gt;every day of the year&lt;/em&gt;
(though some days were much more active than others)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I absolutely love my daily walks,
and plan to keep that up.
I thought I might track another daily
(or weekly?) habit this year –
I’d like to get back into
a regular creative writing practice.
It might even be fun to re-program
my &lt;a href=&quot;https://yetch.store/products/every-day-goal-calendar&quot;&gt;Yetch calendar&lt;/a&gt;,
so it can track multiple habits at once.
I also have some ideas to make
&lt;a href=&quot;https://front-end.social/&quot;&gt;Front-End Social&lt;/a&gt;
more sustainable
over the long term.
But all that will have to wait
for another couple months.
That’s ok,
there’s plenty of time.&lt;/p&gt;
&lt;p&gt;For now, I’m moving
and preparing
&lt;a href=&quot;https://smashingconf.com/online-workshops/workshops/modern-css-miriam-suzanne/&quot;&gt;a new CSS workshop&lt;/a&gt; for Feb/March.
I’m really excited about this one,
and have big plans
to do more teaching for work this year.
Maybe even make some videos again?&lt;/p&gt;
&lt;p&gt;But more immediate
than any of that,
Erin and I spent the holidays
cleaning and painting our condos –
putting anything we can into
friends’ basements.
This home that I’ve curated for myself
for the last eight years
no longer feels like mine,
and it will go on the market next weekend.
I’m sad to leave,
but excited to start something new.&lt;/p&gt;
&lt;p&gt;Having separate space
has been important to us here,
and will be important to us
in a new home as well –
but without the public hallway between,
and no need for the extra kitchen.&lt;/p&gt;
&lt;p&gt;Bring on the new year.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(oh fuck. the election. we’re fucked.)&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>CSS @scope</title>
    <link href="https://www.miriamsuzanne.com/2023/12/15/scope/" />
    <updated>2023-12-15T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2023/12/15/scope/</id>
    <content type="html">
      &lt;p&gt;The new &lt;code&gt;@scope&lt;/code&gt; rule is here!
It’s a better way to keep our component styles contained –
without relying on third-party tools or extreme naming conventions.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Reclaiming my time</title>
    <link href="https://www.miriamsuzanne.com/2023/05/06/2023-preview/" />
    <updated>2023-05-06T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2023/05/06/2023-preview/</id>
    <content type="html">
      &lt;p&gt;So that when I am busy,
it should be from
&lt;em&gt;an abundance of creative projects,
not a scarcity of time&lt;/em&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Here we are,
1/4&lt;sup&gt;th&lt;/sup&gt; of our way through
the year: 2023.
&lt;s&gt;Today is&lt;/s&gt;
Last week was
&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Workers%27_Day&quot;&gt;International Worker’s Day&lt;/a&gt;,
or &lt;em&gt;beginning of Q2&lt;/em&gt;
if you’re more into
&lt;a href=&quot;https://business-business.business/&quot;&gt;business business business&lt;/a&gt;
(like I am).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Yay, capitalism!
Let’s &lt;s&gt;all&lt;/s&gt; get rich through exploitation,
and then shoot ourselves into space,
to achieve our post-human potential
through exponential utilitarian value-unit simulations on Mars –
like &lt;s&gt;self-proclaimed gods&lt;/s&gt; selfless and reasonable altruists!)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It was May Day
when I started writing this.
The second time.
The first draft was way back on New Years Day.
Who knows when I’ll hit publish.
Could be any day now,
all possible deadlines are behind us.
I’m several months late
for a 2022 ‘year in review’,
or a ‘new years resolution’ for 2023.
I’m even late for the intro I wrote
a few days ago.&lt;/p&gt;
&lt;p&gt;That’s ok.
This is my website,
not my side hustle.
Anyway: 2022 kinda sucked,
and I don’t usually align my resolve with the
&lt;a href=&quot;https://mastodon.social/@Meyerweb/109612185539201834&quot;&gt;arbitrary Gregorian boundary condition&lt;/a&gt;
(to borrow a phrase).
Every day is the right day
to make changes.&lt;/p&gt;
&lt;h2&gt;2022 kinda sucked&lt;/h2&gt;
&lt;p&gt;I spent most of the year working too much,
and struggling with depression.
I’ve been kinda depressed
for the last few years.
I know I’m not alone in that.
It’s the hip thing to,
while surviving a pandemic.&lt;/p&gt;
&lt;p&gt;There was one major highlight
for me in 2022:
writing and performing a new show,
&lt;a href=&quot;https://grapefruitlab.com/shows/pity-fear/&quot;&gt;Pity+Fear&lt;/a&gt;.
I’ve spent most of my theater career
behind the scenes –
writing, designing, producing, and directing.
I always wanted to enjoy acting,
but the reality let me down.
I was too self-conscious
to let a story carry me on stage.&lt;/p&gt;
&lt;p&gt;This time was different.
I had &lt;em&gt;fun&lt;/em&gt;.
I loved it.
Transition means I only have to play one role,
instead of two.
I’m more comfortable in my own skin,
and able to take on another.
I imagine my web-related speaking
has also given me confidence on stage.&lt;/p&gt;
&lt;p&gt;But that high point
was also a low point.
The collaboration went poorly,
and lead to a falling-out
with a close friend &amp;amp; collaborator.
My first show in several years,
and it felt like a personal failure.
By the fall
I was having regular panic attacks.
Then Twitter imploded,
and I started &lt;a href=&quot;https://front-end.social&quot;&gt;front-end.social&lt;/a&gt;,
and the panic attacks got worse.&lt;/p&gt;
&lt;p&gt;I don’t like it when people rely on me.
&lt;em&gt;Oops.&lt;/em&gt;
(We’re getting through it,
things have been pretty chill so far)&lt;/p&gt;
&lt;h2&gt;Let us be (un)resolved&lt;/h2&gt;
&lt;p&gt;A mentor once encouraged me
to set &lt;em&gt;priorities&lt;/em&gt; rather than &lt;em&gt;goals&lt;/em&gt; –
not individual targets that will succeed or fail,
but a reason to keep pushing through
from one project to the next,
and a criteria for choosing
which projects should get my attention.&lt;/p&gt;
&lt;p&gt;I’ve never written them down before,
but my priorities have always been fairly clear to me –
and they haven’t really changed over the years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I enjoy imagining and then building things&lt;/li&gt;
&lt;li&gt;I enjoy collaborating with people I admire&lt;/li&gt;
&lt;li&gt;I enjoy exploring new media,
learning new skills that expand my creative toolkit&lt;/li&gt;
&lt;li&gt;I want to feel ownership over how I spend my time,
and the projects that I work on
(I don’t do well with external motivation)&lt;/li&gt;
&lt;li&gt;I want to keep making art at a professional level
(even if that’s not my main source of income)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Building websites
and writing specs aren’t really on the list,
but they fit in there pretty well.
I never set out to have &lt;em&gt;a career in tech&lt;/em&gt;,
but found myself exploring a new medium,
learning new skills,
collaborating with people that I admire,
building things we imagine online.
And we were able to turn that into
an &lt;a href=&quot;https://oddbird.net/&quot;&gt;Odd little agency&lt;/a&gt;
where we have autonomy and ownership over our work –
and control over our own (part-time) schedules.&lt;/p&gt;
&lt;p&gt;We started when this was a much smaller field,
and every company needed a new website.
We put in a lot of work, but we also got lucky –
riding several waves of
growing demand for our specific skills.&lt;/p&gt;
&lt;p&gt;And all throughout,
I was able to maintain a split-focus double-career
in the arts.
It’s not a side-hustle, or a hobby –
but another aspect of my work
as a self-employed cross-media artist.
Blah blah blah, whatever.
They’re both hobbies.
Neither one is a hobby.
Who cares.&lt;/p&gt;
&lt;p&gt;It’s &lt;s&gt;possible&lt;/s&gt; &lt;s&gt;likely&lt;/s&gt;
&lt;strong&gt;very clear&lt;/strong&gt; that I have ADHD,
and this is one way that I manage it.
So I’ve been careful
to maintain that balance,
and insist on following my priorities
over any more reasonable ‘career goals’
or ‘health benefits’ or ‘stability’.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;And then there was a global pandemic.&lt;/em&gt;
(you may have noticed)&lt;/p&gt;
&lt;p&gt;Everything else in my life shut down –
socializing, theater, music,
poetry readings –
but the web &lt;em&gt;just kept on going&lt;/em&gt;.
By the end of 2022 I realized
I was working a single full-time job
for the first time in my life –
and I was unhappy.&lt;/p&gt;
&lt;p&gt;Trying to make art again felt impossible.
There wasn’t enough time or energy in my day.
There weren’t enough days in a year.
Do I even remember how to be creative?
How do you make art
in a world where you just want to scream
about longtermist eugenic billionaires
worshipping their fancy auto-complete
while your friends suffer
from long-COVID and massive layoffs?&lt;/p&gt;
&lt;p&gt;Would I ever make art again?
Does it even matter?
Time felt &lt;em&gt;scarce&lt;/em&gt;,
and slipping away.
Turning 40 –
a cliche –
it felt like there
wouldn’t be enough years in a life.&lt;/p&gt;
&lt;p&gt;But the problem isn’t a lack of time.
That scarcity, like other capitalist scarcity, is artificial.
To quote a play I saw years ago –
&lt;em&gt;life isn’t ‘too short’,
it’s the longest thing you’re ever going to do&lt;/em&gt;.
The problem is how I feel trapped
in the time I have right now.&lt;/p&gt;
&lt;p&gt;There is no joy
in seeing time as a limited resource
for me to &lt;em&gt;extract more value&lt;/em&gt;.
I don’t want to spend my life mining time
for the sake of productivity goals.
I want to cultivate a spacious openness
for curiosity and discovery.
I want to wallow in the possibilities
of &lt;em&gt;all this time that I have&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It’s maddening that this feels like
a luxurious demand –
something I’m lucky to have,
and should feel grateful for.&lt;/p&gt;
&lt;h2&gt;Q1 OKR KPI ROI (a report, with data)&lt;/h2&gt;
&lt;p&gt;I started the new year
with some updated priorities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I want to have so much time that I’m not scared to ‘waste’ it&lt;/li&gt;
&lt;li&gt;I want the process of making theater/music/art
back at the center of my routine&lt;/li&gt;
&lt;li&gt;I want to get outside and be more active&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I didn’t think of these as &lt;em&gt;resolutions&lt;/em&gt; exactly.
But I did buy an unnecessary
habit-tracking wall-calendar from
&lt;a href=&quot;https://www.simonegiertz.com/&quot;&gt;Simone Giertz&lt;/a&gt;
because I like how it looks.&lt;/p&gt;
&lt;p&gt;Then I went into my work calendar
and blocked off
every weekday afternoon.
It’s not a strict cut-off.
If I need to get on a zoom call some evenings, that’s fine.
If I want to work on a model
of Boba Fett’s starfighter after breakfast,
so be it.&lt;/p&gt;
&lt;p&gt;I’m not going to time-block the details either.
Spaciousness is the goal,
an invitation for other creative projects to grow.&lt;/p&gt;
&lt;p&gt;The goal isn’t to impose hard rules on myself,
but to reset my default expectations.
After several months now,
both mornings and afternoons (and evenings!)
feel somehow &lt;em&gt;reclaimed&lt;/em&gt;.
A mental reset,
reminding me that the time is there,
and I will use it how I want.&lt;/p&gt;
&lt;p&gt;A walk after lunch,
a new pottery class on Tuesdays,
writing group Wednesday,
band sessions on Thursday,
and plenty of time for theater,
knitting, reading, and model-making.
Maybe I’ll take up clock/watch repair?
I need to buy a loupe,
and some very small screw drivers.
I’ve started
&lt;a href=&quot;https://codepen.io/miriamsuzanne/pen/mdzMqbm?editors=1010&quot;&gt;designing a clock&lt;/a&gt;,
but haven’t found great resources
to guide the process.
Hit me up if you have leads.&lt;/p&gt;
&lt;p&gt;Meanwhile,
the theater company
(&lt;a href=&quot;https://grapefruitlab.com/&quot;&gt;Grapefruit Lab&lt;/a&gt;)
just closed a new original piece –
&lt;a href=&quot;https://grapefruitlab.com/shows/queer-bird/&quot;&gt;Strange Bird, Queer Bird&lt;/a&gt; –
which was an excellent success
both in terms of collaboration and audience.
We’re applying for 501c3 status,
and &lt;a href=&quot;https://grapefruitlab.com/donate/&quot;&gt;raising funds&lt;/a&gt;
to make it more financially viable.
Now we’ve scheduled three more shows
over the next year.&lt;/p&gt;
&lt;p&gt;The band
(&lt;a href=&quot;https://www.teacupgorilla.com/&quot;&gt;Teacup Gorilla&lt;/a&gt;)
wrote and performed
original music for that show,
and we’re back to weekly sessions –
working towards another theater score in November,
planning two separate albums,
and talking about a 2024 tour.&lt;/p&gt;
&lt;p&gt;I took an acting gig
at &lt;a href=&quot;https://www.curioustheatre.org/&quot;&gt;Curious Theatre&lt;/a&gt; in January
as part of their Curious New Voices,
and I’m keeping my eye out for more of those opportunities.
I also have some leads
on light design gigs around town.
(Before web design,
that was my most lucrative skill
and expected ‘day job’)&lt;/p&gt;
&lt;p&gt;That all has me out of the house and moving more.
But still, for the sake of my new habit-tracker,
I added the phrase ‘every day’ to the final priority –
to get outside, and be more active &lt;em&gt;every day&lt;/em&gt;.
It took some experimentation to get that new habit
worked into my schedule:
morning walks didn’t work out –
who wants to wake up that early? –
but a walk after lunch
doubles as a transition in my day.
Sometimes I only make it around the block,
and other days I’ll go 2-3 miles.
I’ve started listening to podcasts,
which is new for me.&lt;/p&gt;
&lt;p&gt;2023 is going well so far,
&lt;em&gt;according to the data&lt;/em&gt;.
The days on my calendar
are all lit up.
And empty future dates are handy
for writing Erin little pixelated love notes,
or marking a big deadline
on the horizon.&lt;/p&gt;
&lt;p&gt;I expected to spend more time
posting on this site,
but my attention has been drawn mostly offline instead.
How am I going to set up space
in my small apartment
for ceramics and also clock repair?
I expect those day-to-day projects
will continue to shift,
and shift again,
and I’ll write more when it feels right.
Today, at least, this seemed like a fun project.&lt;/p&gt;
&lt;p&gt;Not everything I’ve tried has gone well,
or felt like the right choice.
I still have my share of bad days,
depressed or working too much.
Setting unreasonable standards,
and falling short in my mind.
Trying something, and failing.
Writing and re-writing a single post for months.&lt;/p&gt;
&lt;p&gt;Shorter hours will mean a tighter budget,
but I’ve lived on less,
and I know I can make it work.
I hope.
Life is unpredictable,
so I’m making adjustments as I go.&lt;/p&gt;
&lt;p&gt;I guess I’m here to report a successful
first quarter of 2023,
and a positive outlook for the remaining months.
Hopefully the investors are satisfied
with my personal growth.
This is the direction I want to be moving.
Let it be written down
for all to witness.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Ok, it’s time for a walk,
and then… who knows.)&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Cascade Layers</title>
    <link href="https://www.miriamsuzanne.com/2022/12/17/layers/" />
    <updated>2022-12-17T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/12/17/layers/</id>
    <content type="html">
      &lt;p&gt;Don’t let specificity force you into strict selector conventions.
Cascade Layers allow us to manage specificity
without resorting to naming hacks or the &lt;code&gt;!important&lt;/code&gt; flag.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Javascript automation on Mac</title>
    <link href="https://www.miriamsuzanne.com/2022/12/11/alfred-js/" />
    <updated>2022-12-11T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/12/11/alfred-js/</id>
    <content type="html">
      &lt;p&gt;When my Alfred word counting workflow
stopped working (flowing?)
I discovered it was written as a php script –
and could be re-written with JS.
So I did!&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve been using Alfred for Mac
as long as I can remember –
occasionally installing ‘powerpack’ workflows
or building simple flows
with the graphic interface.
The other day,
I discovered one of my
third-party workflows wasn’t working.
It’s a word/character counter
that I don’t use often,
but like to have available.&lt;/p&gt;
&lt;p&gt;Digging into it,
I found a simple php script
defining the entire word-count logic.
That’s interesting,
I didn’t know you could write Alfred workflows in php.
I wonder what other languages are supported?
Here’s the list provided in a dropdown:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/bin/bash&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/bin/zsh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/php&lt;/code&gt; [not installed]&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/ruby&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/python&lt;/code&gt; [not installed]&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/python3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/perl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/osascript (AppleScript)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/osascript (JavaScript)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/usr/bin/swift&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Well, that explains why the php script wasn’t working –
it must have broken when I got my new Mac.
But JavaScript support
means I can re-write this workflow myself,
without learning a new language?&lt;/p&gt;
&lt;p&gt;Yes!
It turns out Apple now supports
&lt;a href=&quot;https://en.wikipedia.org/wiki/AppleScript#JavaScript_for_Automation&quot;&gt;JavaScript for Automation&lt;/a&gt;
as an alternative to AppleScript.
You can do this &lt;a href=&quot;https://developer.apple.com/library/archive/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-11.html#//apple_ref/doc/uid/TP40014508-CH110-SW1&quot;&gt;in Automator&lt;/a&gt;
as well as Alfred.&lt;/p&gt;
&lt;h2&gt;The basics of JS in Alfred&lt;/h2&gt;
&lt;p&gt;After selecting &lt;code&gt;/usr/bin/osascript (JavaScript)&lt;/code&gt;
from the language dropdown,
I left the next option as-is:
&lt;code&gt;with input as {query}&lt;/code&gt;.
That gives me the input pasted to Alfred.&lt;/p&gt;
&lt;p&gt;For output,
the docs recommend
&lt;a href=&quot;https://www.alfredapp.com/help/workflows/inputs/script-filter/json/&quot;&gt;returning a JSON object&lt;/a&gt;.
The object has a single &lt;code&gt;items&lt;/code&gt; key,
with an array of objects
for each result row to be displayed.
The essential properties of an item
seem to be the &lt;code&gt;title&lt;/code&gt; and &lt;code&gt;arg&lt;/code&gt; keys.
There’s more you can provide,
but that’s enough to get started.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;title&lt;/code&gt; is what’s actually shown in the row&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;arg&lt;/code&gt; is the value that gets passed along to
any further actions (like copying to clipboard)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In my case, the result I want is:&lt;/p&gt;
&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;&quot;items&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Words: &amp;lt;word-count&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;arg&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&amp;lt;word-count&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Chars: &amp;lt;char-count&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;arg&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&amp;lt;char-count&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There doesn’t seem to be much magic
around using the &lt;code&gt;{query}&lt;/code&gt;
or returning the JSON.
If we define a function called &lt;code&gt;wordCounter()&lt;/code&gt;
that accepts a single argument
and returns a JSON string,
we can run it like this:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token function&quot;&gt;wordCounter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;{query}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;{query}&lt;/code&gt; itself seems to be supplied
as a direct text replacement
before the script is run.
If I remove the backticks or quotes around &lt;code&gt;{query}&lt;/code&gt;,
it assumes the first word is an undefined JS variable
and throws an error.&lt;/p&gt;
&lt;h2&gt;My simple word counter&lt;/h2&gt;
&lt;p&gt;I didn’t put a lot of thought into edge cases
beyond ‘the query is missing for some reason’,
so we’ll see how well it holds up.
Here’s the logic I used for counting:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; words &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;text &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;trim&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; chars &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;text &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nothing clever,
and it seems to work
even when I copy text with line-breaks –
so that’s good enough for now.
The rest is just to make sure
the query is a string
(maybe unnecessary since I’m already forcing it),
and build the correct JSON from the results.
Here’s the full script:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// generate an Alfred return item&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; arg&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; arg &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;title&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;arg&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  arg&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// count words/chars and return as items&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; words &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;text &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;trim&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; chars &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;text &lt;span class=&quot;token operator&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Words&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; words&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Chars&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; chars&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// count or error, and return as JSON string&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;wordCounter&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;txt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// error if query isn&#39;t text (maybe overkill?)&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; items &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; txt &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;string&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;txt&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;ERROR: please provide a string&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stringify&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; items &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// run the script&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;wordCounter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;{query}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That works great so far.
The only other thing in the workflow
is copying the output to the clipboard.&lt;/p&gt;
&lt;p&gt;Now that I know how to do it,
I wonder what other automations
I might want to write!&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Personal Histories</title>
    <link href="https://www.miriamsuzanne.com/2022/10/31/personal-histories/" />
    <updated>2022-10-31T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/10/31/personal-histories/</id>
    <content type="html">
      &lt;p&gt;How would our words change
if we were writing for someone in crisis?
Would our language soften?
Would we ask for less?&lt;/p&gt;
&lt;p&gt;—&lt;a href=&quot;https://www.sarawb.com/&quot;&gt;Sara Wachter-Boettcher&lt;/a&gt;&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;If you don’t know Sara’s work,
go read a copy of
&lt;a href=&quot;https://www.sarawb.com/books&quot;&gt;Technically Wrong&lt;/a&gt; –
one of the best tech books I’ve read.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Personal Histories&lt;/em&gt;
is an older post on a similar topic,
linked in the web archive,
but still worth your time –
a reminder that the personal questions we ask
in a web interface are &lt;em&gt;personal questions&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;How many children do you have?&lt;/em&gt;
might sound like the simplest question,
until it brings a grieving parent to their knees.
&lt;em&gt;When is your anniversary?&lt;/em&gt;
might create a moment of pause for someone who’s recently separated.
Even &lt;em&gt;What’s your hometown?&lt;/em&gt;
or &lt;em&gt;Where did you go on vacation as a child?&lt;/em&gt;
might feel painful for kids who grew up
without that kind of stability or privilege.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At the end of the post
Sara suggests a few principles
for form design.
I was particularly struck by
principle #4 –
&lt;em&gt;communicate what happens next&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I recently bought a membership
for Denver Parks &amp;amp; Recreation facilities.
The registration form includes a required
‘gender’ select input
with the options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Male&lt;/li&gt;
&lt;li&gt;Female&lt;/li&gt;
&lt;li&gt;Intersex&lt;/li&gt;
&lt;li&gt;Transgender&lt;/li&gt;
&lt;li&gt;Other&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are many issues with that list,
but in the moment I needed to know:
&lt;em&gt;why are you asking, and what will you do with this info&lt;/em&gt;?
If they need to know
what it says on my ID,
or what changing room I’ll use,
the answer is &lt;em&gt;female&lt;/em&gt;.
If they just need demographic data,
I’m happy to mark &lt;em&gt;transgender&lt;/em&gt;.
Without more details,
I’m selecting the option
least likely to be used
for discrimination.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Ancient Web Browsers</title>
    <link href="https://www.miriamsuzanne.com/2022/10/30/ancient-browsers/" />
    <updated>2022-10-30T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/10/30/ancient-browsers/</id>
    <content type="html">
      &lt;p&gt;An archive of the earliest web browsers –
from WorldWideWeb, LineMode, and ViolaWWW
up through Mosaic.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;The first three browsers here
are the ones I know the best.
There are emulators of both
&lt;a href=&quot;https://worldwideweb.cern.ch/browser/&quot;&gt;WorldWideWeb&lt;/a&gt;
and
&lt;a href=&quot;http://line-mode.cern.ch/www/hypertext/WWW/TheProject.html&quot;&gt;LineMode&lt;/a&gt;
(though the latter seems to be broken).
I mention these two regularly in my talks,
because they represent an important
philosophy of the web itself:
&lt;em&gt;progressive enhancement&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;CERN first developed WWW
with a graphic user interface
for NeXT computers.
But the web itself is intended to work
&lt;a href=&quot;https://w3.org/Consortium/mission.html#principles&quot;&gt;for everyone, on everything&lt;/a&gt;.
So they hired
&lt;a href=&quot;https://en.wikipedia.org/wiki/Nicola_Pellow&quot;&gt;Nicola Pellow&lt;/a&gt;
to develop a second
&lt;em&gt;text only&lt;/em&gt; LineMode browser.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://web.archive.org/web/20101018012531/http://www.xcf.berkeley.edu/~wei/&quot;&gt;Pei Wei&lt;/a&gt;’s
&lt;a href=&quot;https://en.wikipedia.org/wiki/ViolaWWW&quot;&gt;ViolaWWW&lt;/a&gt;
also represents
an important milestone
in the history of web design,
as the
&lt;a href=&quot;https://en.wikipedia.org/wiki/ViolaWWW#firsts&quot;&gt;first browser to support external stylesheets&lt;/a&gt;
(more than just browser ‘user agent’ styles).
It even looks pretty similar
to the eventual CSS syntax:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(BODY,INPUT,P   FGColor=black
                BGColor=grey70
                BDColor=grey70
                align=left

(H1             FGColor=white
                BGColor=red
                BDColor=black
                align=center
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I didn’t realize that Lynx
is also one of the early browsers.
I installed it on my modern mac
just last month.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lynx now has the distinction
of being the oldest continuously-maintained web browser.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That’s pretty cool.
But I still haven’t figured out
how to load &lt;code&gt;https&lt;/code&gt; sites,
which is pretty limiting.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Critical CSS? Not So Fast!</title>
    <link href="https://www.miriamsuzanne.com/2022/10/23/css-wizardry-critical-css/" />
    <updated>2022-10-23T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/10/23/css-wizardry-critical-css/</id>
    <content type="html">
      &lt;p&gt;Harry Roberts provides
a lot of detail
about when/how to use ‘Critical CSS’
as a performance optimization –
and some strong warnings
that it might not be
worth the effort.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;blockquote&gt;
&lt;p&gt;I have long held very strong opinions about the Critical CSS pattern.
In theory, in a perfect world, with all things being equal,
it’s demonstrably a Good Idea™.
However, in practice, in the real world,
it often falls short
as a fragile and expensive technique to implement,
which seldom provides the benefits that many developers expect.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have so far avoided this pattern,
as I’ve never seen an approach
that looked reliable &amp;amp; maintainable.
Glad to see I’m not missing out
on something essential.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This link brought to you
by my (unwarranted &amp;amp; self-serving)
sense of vindication.&lt;/em&gt; 😅&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>CSS tie-dye gradient backgrounds</title>
    <link href="https://www.miriamsuzanne.com/2022/10/21/the-conic/" />
    <updated>2022-10-21T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/10/21/the-conic/</id>
    <content type="html">
      &lt;blockquote&gt;
&lt;p&gt;[As] a flame,
Which oft, they say, some evil Spirit attends,
Hovering and blazing with delusive light–&lt;/p&gt;
&lt;p&gt;—John Milton&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- intro --&gt;
&lt;h2&gt;Playful gradient inspiration&lt;/h2&gt;
&lt;p&gt;Last week,
my friend Dylan
(a junior dev looking for work, if you have any leads!)
sent me a question about
improving the performance of this
fun blurry-blob background animation:&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/preview/zYjyEOb?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Moving CSS blur background&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;
    It performs ok on my machine, but can get choppy on less powerful devices
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I made a few small suggestions,
and sent links to other animation performance resources.
But this isn’t a post about animation performance.
I love the sense of playfulness
that Dylan has already discovered in CSS –
despite code bootcamps generally
not giving the language much attention.&lt;/p&gt;
&lt;p&gt;Now I want to play with blurry blob backgrounds too!&lt;/p&gt;
&lt;h2&gt;Looking for texture&lt;/h2&gt;
&lt;p&gt;Over at
&lt;a href=&quot;https://css-irl.info/&quot;&gt;CSS { In Real Life }&lt;/a&gt;,
Michelle Barker
wrote a great post on
&lt;a href=&quot;https://css-irl.info/css-halftone-patterns/&quot;&gt;CSS Halftone Patterns&lt;/a&gt;.
I’ve always enjoyed halftone patterns,
and I’ve been looking for something
to add &lt;em&gt;texture&lt;/em&gt;
to my new site design.
The last several designs used
semi-random semi-transparent bubbles –
something like this,
but with colors based on the site design:&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/mdXzwxr?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Random circles&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;
    Hit &#39;rerun&#39; in the bottom right to generate new circles
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I like that randomness,
but it’s time to try something new.&lt;/p&gt;
&lt;p&gt;After playing with the half-tones effect,
it didn’t feel quite right in context.
So I went looking for more inspiration.
There are a lot of CSS background pattern ideas out there:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lea Verou’s classic
&lt;a href=&quot;http://projects.verou.me/css3patterns/&quot;&gt;CSS3 Patterns Gallery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Temani Afif’s
&lt;a href=&quot;https://css-pattern.com/&quot;&gt;CSS-Pattern.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ana Tudor’s
&lt;a href=&quot;https://css-tricks.com/background-patterns-simplified-by-conic-gradients/&quot;&gt;Background Patterns, Simplified by Conic&amp;nbsp;Gradients&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jim Raptis’
&lt;a href=&quot;https://www.magicpattern.design/tools/css-backgrounds&quot;&gt;CSS Background Patterns&lt;/a&gt;
tool&lt;/li&gt;
&lt;li&gt;And &lt;a href=&quot;https://www.magicpattern.design/tools/css-backgrounds&quot;&gt;many more&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always,
Ana Tudor also has
a series of fantastic gradient demos
on CodePen:&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/thebabydino/embed/GRRpzNX?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Single element card background patterns&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;/figure&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/thebabydino/embed/JxELvZ?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Single element card background patterns&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;/figure&gt;
&lt;h2&gt;A conic &amp;amp; radial first draft&lt;/h2&gt;
&lt;p&gt;I might revisit some of those ideas
down the road.
I imagine this site
potentially having different patterns
for different areas of the site –
or maybe a way to select your favorite pattern?
But for now I went with a pattern by
&lt;a href=&quot;https://twitter.com/ChallengesCss&quot;&gt;Temani Afif&lt;/a&gt;
that I really love:&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/t_afif/embed/ZErrbEp?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Fancy pattern using radial-gradient&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;/figure&gt;
&lt;p&gt;I swapped in my own subtle site background colors,
and an extra radial gradient on top.
I think the pattern would get overwhelming
if it continued too far down the page,
so this gives it a nice fade-out
with soft/curved edges.&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/gOzVama?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Site background&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;/figure&gt;
&lt;h2&gt;Blended gradient tie-dye&lt;/h2&gt;
&lt;p&gt;As part of playing around
and exploring these patterns,
I realized both
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/gradient/conic-gradient&quot;&gt;conic gradients&lt;/a&gt;
and
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode&quot;&gt;background blend mode&lt;/a&gt;
are both well-supported features.&lt;/p&gt;
&lt;p&gt;That’s not surprising,
they’ve been around for a while now,
but I’ve never integrated them
into my work before.
So I spent some time exploring,
and really enjoyed this result:&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/QWrPXEQ?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Conic splash&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;
    Almost tie-dye, if only we had spiral gradients
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It’s fun to just sit
and tinker with the colors,
gradients, and blend modes
to see what happens.
I also experimented with using &lt;code&gt;oklch&lt;/code&gt;
to get a more uniform lightness –
but found that didn’t have the same impact.
I guess variation is part of the charm.
If your browser supports &lt;code&gt;oklch&lt;/code&gt;,
you can uncomment that code to see the results.&lt;/p&gt;
&lt;p&gt;I also experimented with animating
the positions of each gradient,
but that didn’t seem to play well
with blend-modes?
I’ll have to look into that more.&lt;/p&gt;
&lt;p&gt;I might use this effect
in my site footer –
where I previously had a trans flag.
What happens if we use the trans colors?&lt;/p&gt;
&lt;figure&gt;
  

&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/bGMXdey?embed-version=2&amp;amp;default-tab=result&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Conic splash&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Personal website redesign</title>
    <link href="https://www.miriamsuzanne.com/2022/10/12/melanie-redesign22/" />
    <updated>2022-10-12T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/10/12/melanie-redesign22/</id>
    <content type="html">
      &lt;p&gt;I’m a sucker for a good
personal site redesign,
especially when it comes with
an attached blog post.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I especially like that the post
shows how the old design looked.&lt;/p&gt;
&lt;p&gt;Both the before and after pics
show inspiring, fun designs.
Both designs represent Melanie’s interests
in beautiful visual clues –
from computers to quilting.
It makes the designs feel personal.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Request for Comments: Sass Color Spaces</title>
    <link href="https://www.miriamsuzanne.com/2022/09/21/sass-color-draft/" />
    <updated>2022-09-21T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/09/21/sass-color-draft/</id>
    <content type="html">
      &lt;p&gt;Browsers are starting to roll out
support for new color spaces in CSS
as part of &lt;a href=&quot;https://web.dev/interop-2022/#color-spaces-and-css-color-functions&quot;&gt;Interop 2022&lt;/a&gt;.
&lt;a href=&quot;https://sass-lang.com/blog/request-for-comments-color-spaces&quot;&gt;My proposal&lt;/a&gt;
for the Sass implementation is live,
and ready for feedback.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’m very excited about this.
It will allow us to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Define colors in new color spaces like &lt;code&gt;oklch&lt;/code&gt; &amp;amp; &lt;code&gt;display-p3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Convert colors between spaces&lt;/li&gt;
&lt;li&gt;Mix &amp;amp; manipulate colors in any space&lt;/li&gt;
&lt;li&gt;Gamut-map colors for a target space as needed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Safari is the farthest along
in terms of &lt;a href=&quot;https://caniuse.com/css-color-function,css-lch-lab,mdn-css_types_color_oklch,mdn-css_types_color_oklab,mdn-css_types_color_color-mix&quot;&gt;browser support for the new color spaces&lt;/a&gt;,
but this is all part of
&lt;a href=&quot;https://web.dev/interop-2022/#color-spaces-and-css-color-functions&quot;&gt;Interop 2022&lt;/a&gt; –
which means every browser is
&lt;a href=&quot;https://wpt.fyi/results/css/css-color?label=master&amp;amp;label=experimental&amp;amp;product=chrome&amp;amp;product=firefox&amp;amp;product=safari&amp;amp;aligned&amp;amp;view=interop&amp;amp;q=label%3Ainterop-2022-color&quot;&gt;trying to get it done this year&lt;/a&gt;.
I recommend installing the latest
&lt;a href=&quot;https://developer.apple.com/safari/technology-preview/&quot;&gt;Safari Technology Preview&lt;/a&gt;,
and playing around with
all the new colors!&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A long-term plan for logical properties?</title>
    <link href="https://www.miriamsuzanne.com/2022/09/16/tpac-logical/" />
    <updated>2022-09-16T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/09/16/tpac-logical/</id>
    <content type="html">
      &lt;p&gt;The CSS Working Group is discussing
‘logical properties’ today
with the Internationalization Working Group –
and there’s a great new article on the topic
this week from Jeremy Keith.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;CSS has historically revolved around
physical directions:
&lt;code&gt;width&lt;/code&gt;, &lt;code&gt;height&lt;/code&gt;,
&lt;code&gt;top&lt;/code&gt;, &lt;code&gt;right&lt;/code&gt;, &lt;code&gt;bottom&lt;/code&gt;, and &lt;code&gt;left&lt;/code&gt;.
Those make sense
in a world where
&lt;em&gt;what you see is what you get&lt;/em&gt; –
but that’s fundamentally
not how the web works.&lt;/p&gt;
&lt;p&gt;Over time,
new layout methods
like flexbox and grid
have started to introduce
‘flow-relative’ or ‘logical’ directions:
&lt;code&gt;inline-size&lt;/code&gt;, &lt;code&gt;block-size&lt;/code&gt;,
&lt;code&gt;inline-start&lt;/code&gt;, &lt;code&gt;inline-end&lt;/code&gt;,
&lt;code&gt;block-start&lt;/code&gt;, and &lt;code&gt;block-end&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;That allows more meaningful
and resilient design
in the face of translation –
both for multi-lingual sites,
and for a web that supports
more and more automatic translation.&lt;/p&gt;
&lt;p&gt;It’s not &lt;em&gt;bad&lt;/em&gt; to use the physical properties sometimes,
when they best express the design intent,
but they shouldn’t be encouraged as the default choice.&lt;/p&gt;
&lt;p&gt;So the goal in my mind
is that it should be simple
to write an entire site
without reference to physical coordinates.
And doing that should be
&lt;em&gt;encouraged by the language&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;For example,
we currently have a &lt;code&gt;margin&lt;/code&gt;
shorthand that defines physical margin properties.
We could add a &lt;code&gt;margin-logical&lt;/code&gt; shorthand,
but it feels like
a second-class citizen of the language.
If the physical property feels like the ‘default’,
then the language is encouraging
authors to stick with physical dimensions.&lt;/p&gt;
&lt;p&gt;Yesterday,
Jeremy Keith
wrote a great article –
&lt;a href=&quot;https://adactio.com/journal/19457&quot;&gt;Let’s get logical&lt;/a&gt; –
about his attempts to refactor a site
using only flow-relative properties,
and the limitations he ran intro
with existing CSS.
It’s a great run down of what works already,
and what’s still missing.&lt;/p&gt;
&lt;p&gt;We’re not there yet.
&lt;em&gt;So how do we get there?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Well,
I don’t know for sure –
but articles like this
are very helpful
as we try to work it out!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fantasai.inkedblade.net/&quot;&gt;Fantasai&lt;/a&gt; and I
did spend some time working on this last year,
and came up with a multi-year
and multi-step
&lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/1282#issuecomment-952428897&quot;&gt;proposal&lt;/a&gt;.
Maybe there are other approaches
we should consider as well?&lt;/p&gt;
&lt;p&gt;We’re discussing all of that today
at &lt;a href=&quot;https://www.w3.org/2022/09/TPAC/Overview.html&quot;&gt;W3C’s annual TPAC conference&lt;/a&gt;,
in a joint meeting
between the CSS Working Group
and the Internationalization Working Group.
Maybe we’ll have something new to report
later today?&lt;/p&gt;
&lt;p&gt;If you have ideas,
or additional issues
that we should have in mind –
let us know!&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Container queries in browsers!</title>
    <link href="https://www.miriamsuzanne.com/2022/09/14/cq-browsers/" />
    <updated>2022-09-14T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/09/14/cq-browsers/</id>
    <content type="html">
      &lt;p&gt;After nearly 15 years
as a highly-requested feature in CSS –
and 15 years being told it was impossible –
(size) Container Queries and units
have shipped in both Chrome/Edge 105,
and Safari 16!
Firefox is not far behind.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.chrome.com/blog/new-in-chrome-105/&quot;&gt;Chrome 105&lt;/a&gt;
[

&lt;time datetime=&quot;2022-08-30&quot; date=&quot;2022-08-30&quot;&gt;August 30, 2022&lt;/time&gt;
]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webkit.org/blog/13152/webkit-features-in-safari-16-0/&quot;&gt;Safari 16&lt;/a&gt;
[

&lt;time datetime=&quot;2022-09-12&quot; date=&quot;2022-09-12&quot;&gt;September 12, 2022&lt;/time&gt;
]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to start using these features
(I recommend it!)
just
&lt;a href=&quot;https://www.oddbird.net/2022/08/18/cq-syntax/&quot;&gt;make sure you’re using the right syntax&lt;/a&gt;!
Some things have changed
between the first prototype
and the final version that’s shipping in browsers.
But don’t worry –
&lt;em&gt;it’s stable now, and won’t be changing again&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;Both Chrome 105
and Safari 16
come with an impressive list
of new features
in addition to container queries.
The main highlights are the
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/:has&quot;&gt;&lt;code&gt;:has()&lt;/code&gt; selector&lt;/a&gt;
(in both) and
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Subgrid&quot;&gt;subgrid&lt;/a&gt;
(in Safari).
But I recommend digging through
the release notes linked above.&lt;/p&gt;
&lt;p&gt;(For more about container size
queries and units,
see my list of
&lt;a href=&quot;https://www.miriamsuzanne.com/specs/contain-3/#resources&quot;&gt;Container Query Resources&lt;/a&gt;.)&lt;/p&gt;
&lt;h2&gt;Style Queries Prototype&lt;/h2&gt;
&lt;p&gt;Meanwhile,
&lt;a href=&quot;https://www.google.com/chrome/canary/&quot;&gt;Chrome Canary&lt;/a&gt;
&amp;amp;
&lt;a href=&quot;https://www.microsoftedgeinsider.com/en-us/download&quot;&gt;Edge Canary&lt;/a&gt;
have both shipped a prototype
of &lt;em&gt;style queries&lt;/em&gt;.
Rather than measuring the dimensions
of an element,
style queries measure the
&lt;em&gt;computed value&lt;/em&gt; of a given property
on that element.&lt;/p&gt;
&lt;p&gt;To test the feature:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download either Canary browser.&lt;/li&gt;
&lt;li&gt;Navigate to &lt;code&gt;about://flags/#enable-experimental-web-platform-features&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set it to &lt;code&gt;Enabled&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Restart the browser.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For now
style queries are limited to strict equality
(we can’t query number ranges,
or partial values) –
and the prototype is limited to
custom properties.
Even with those limitations,
it’s a pretty powerful feature.
Here’s my first experiment,
establishing two ‘button themes’ –
&lt;code&gt;mia&lt;/code&gt; and &lt;code&gt;mia-plus&lt;/code&gt; –
toggled by a single custom property:&lt;/p&gt;


&lt;iframe code-pen src=&quot;https://codepen.io/miriamsuzanne/embed/abGBNNx?embed-version=2&amp;amp;default-tab=css%2Cresult&amp;amp;user=miriamsuzanne&amp;amp;editable=true&quot; height=&quot;600&quot; title=&quot;Style query button themes&quot; allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;I’m excited to experiment with this more.
It should enable most of the use-cases
in Lea Verou’s request for
&lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/5624&quot;&gt;&lt;em&gt;Higher Level Custom Properties&lt;/em&gt;&lt;/a&gt;,
and I’m excited to see
what else people come up with.
If you make any demos,
please send them my way!&lt;/p&gt;
&lt;h2&gt;Browser Support for Size Queries &amp;amp; Units&lt;/h2&gt;
&lt;figure&gt;
  &lt;a href=&quot;https://caniuse.com/#feat=css-container-queries&quot;&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/2022/09/14/cq-browsers/DmS6iBFotm-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Support data from CanIUse.com on the css-container-queries feature&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/2022/09/14/cq-browsers/DmS6iBFotm-640.jpeg&quot; width=&quot;640&quot; height=&quot;310&quot;&gt;&lt;/picture&gt;

&lt;/a&gt;

  &lt;a href=&quot;https://caniuse.com/#feat=css-container-query-units&quot;&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/2022/09/14/cq-browsers/7Ozq3VrL1N-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Support data from CanIUse.com on the css-container-query-units feature&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/2022/09/14/cq-browsers/7Ozq3VrL1N-640.jpeg&quot; width=&quot;640&quot; height=&quot;310&quot;&gt;&lt;/picture&gt;

&lt;/a&gt;

&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>I never let things be small</title>
    <link href="https://www.miriamsuzanne.com/2022/09/09/bad-at-small/" />
    <updated>2022-09-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/09/09/bad-at-small/</id>
    <content type="html">
      &lt;p&gt;I’m bad at short posts,
or even just sharing a link.
I feel like,
if I’m going to post the link,
I should have more to say about it.
Something you haven’t considered already.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I created a folder here
for ‘micro’ posts.
It will even generate a title for me.
I also created a folder for links.
All I need is a URL,
and maybe a pull quote.
So far I’ve barely used either one.&lt;/p&gt;
&lt;p&gt;I’m bad at keeping this post short.
Maybe the title could have been the whole post?
Instead, I’ll tell you about knitting a sock,
without looking at the pattern.
I’ll probably fuck up the heel.
Why am I worried about that?
No one cares if I knit a sock
with improperly twisted stitches.&lt;/p&gt;
&lt;p&gt;Very often,
there are no stakes.
&lt;em&gt;None at all.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For fuck’s sake,
there’s nothing else I need to say here.
&lt;em&gt;Hit send.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Worry about it.)&lt;/p&gt;
&lt;p&gt;(Worry about what???)&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A whole cascade of layers</title>
    <link href="https://www.miriamsuzanne.com/2022/09/06/layers/" />
    <updated>2022-09-06T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/09/06/layers/</id>
    <content type="html">
      &lt;p&gt;I really enjoyed Dave Rupert’s
&lt;a href=&quot;https://daverupert.com/2022/08/modern-alternatives-to-bem/&quot;&gt;Modern alternatives to BEM&lt;/a&gt;,
which concludes with a link to my redesign.
So let’s talk about my
seven-layer burrito of styles –
what he calls &lt;em&gt;SBRDFLT&lt;/em&gt;.
What’s that all about?&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;TL;DR &lt;em&gt;I don’t know yet.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;NOTE: This post refers
to an exposed layer-toggling feature
that no longer exists on my site.
But the thought process is still relevant
to writing CSS with cascade layers.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Some day I hope to write a longer post
about my overall approach to CSS.
My &lt;em&gt;methodology&lt;/em&gt;?
Sadly, I don’t have an acronym for it yet.
The rough summary is
&lt;em&gt;use the tools provided to write meaningful code&lt;/em&gt;.
I think that’s also what Dave is getting at
with his post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While SBRDFLT doesn’t exactly roll off the tongue (”S-Bird Felt”?),
maybe it’s time we break out of catchy three letter acronyms
and focus on finding good scalable architecture patterns instead.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Setting aside the bigger questions,
Dave’s ‘SBRDFLT’ acronym is based on the ‘layers’
I expose in the
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/09/06/layers/#settings&quot;&gt;layer-selection settings&lt;/a&gt;
below.
Roughly, they imply:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* SBRDFLT */&lt;/span&gt;
&lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@layer&lt;/span&gt; spec&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; browser&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; reset&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; default&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; features&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; layout&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; theme&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But you won’t find that ‘SBRDFLT’ layer list
anywhere in my code.
The first two ‘layers’ are
fundamental aspects of the web itself,
and I have an additional sub-layer
that I’ve been keeping secret.
Still, let’s take that list
supposed-layer-by-supposed-layer.
What have I actually implemented,
and what’s the thinking
(if any) behind
this particular organization?&lt;/p&gt;
&lt;call-out&gt;
&lt;p&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/specs/cascade-5/&quot;&gt;Cascade Layers&lt;/a&gt;
allow you to specify
exactly which CSS selectors should take priority
in any given situation.
Later layers will override earlier layers,
regardless of the specificity used
within each layer.
For more info,
check out my
&lt;a href=&quot;https://css-tricks.com/css-cascade-layers/&quot;&gt;Complete Guide to Cascade Layers&lt;/a&gt;
on CSS Tricks.&lt;/p&gt;
&lt;/call-out&gt;
&lt;h2&gt;The first two (implicit) layers&lt;/h2&gt;
&lt;p&gt;The first two layers –
‘spec’ and ‘browser’ –
represent styles that exist on every site,
before we even get started.
These aren’t technically ‘cascade layers’
as defined by the new &lt;code&gt;@layer&lt;/code&gt; syntax,
but they work in a similar way,
and so I’ve exposed them using similar language.&lt;/p&gt;
&lt;p&gt;The CSS specification defines
an &lt;a href=&quot;https://www.w3.org/TR/css-cascade/#initial-values&quot;&gt;initial value&lt;/a&gt;
for every property in CSS.
The initial &lt;code&gt;display&lt;/code&gt; is &lt;code&gt;inline&lt;/code&gt;,
The initial &lt;code&gt;color&lt;/code&gt; is &lt;code&gt;CanvasText&lt;/code&gt;,
and so on.
Initial values are only applied
when no other value is specified
through cascade or inheritance.
We can think of them as an
&lt;em&gt;initial layer&lt;/em&gt;
that all other styles will override.&lt;/p&gt;
&lt;p&gt;You might be thinking
&lt;em&gt;that doesn’t sound right –
&lt;code&gt;div&lt;/code&gt;s default to &lt;code&gt;block&lt;/code&gt; display,
and links default to a &lt;code&gt;blue&lt;/code&gt; color&lt;/em&gt;.
And you’re right!
The browser provides a
second layer of defaults
called &lt;a href=&quot;https://html.spec.whatwg.org/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints&quot;&gt;user agent style sheets&lt;/a&gt;.
This is where paragraphs get their spacing,
headings get bigger and bolder text,
and &lt;a href=&quot;https://www.miriamsuzanne.com/2022/07/04/body-margin-8px/&quot;&gt;an 8px margin is added to the body&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initial (&lt;em&gt;spec&lt;/em&gt;) values are defined per-property,
the same across all elements.&lt;/li&gt;
&lt;li&gt;User Agent (&lt;em&gt;browser&lt;/em&gt;) styles are defined per-element,
to provide differentiation and readability.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The spec styles aren’t
part of any actual style sheet
in the cascade,
but the
&lt;a href=&quot;https://meiert.com/en/blog/user-agent-style-sheets/&quot;&gt;browser styles&lt;/a&gt;
live in a
&lt;a href=&quot;https://www.w3.org/TR/css-cascade/#cascading-origins&quot;&gt;Cascade Origin&lt;/a&gt;
below our ‘author’ styles.
Since cascade layers were
designed to work like origins-within-origins,
it’s fair to flip that around.
We can think of &lt;em&gt;user agent styles&lt;/em&gt; as
another ‘layer’ below all our layers.&lt;/p&gt;
&lt;p&gt;Both &lt;em&gt;initial values&lt;/em&gt;
and &lt;em&gt;user agent styles&lt;/em&gt; are always there,
on every website in the world.
But in order to see what they look like,
we have to turn off
all the styles that normally go over top.
If you click the ‘browser’ option
in the &lt;a href=&quot;https://www.miriamsuzanne.com/2022/09/06/layers/#settings&quot;&gt;layer-selection settings&lt;/a&gt;,
I use JavaScript to turn off all my site styles,
and let you see the ‘&lt;a href=&quot;https://indieweb.org/CSS_Naked_Day&quot;&gt;naked&lt;/a&gt;’ HTML,
as styled by the browser.&lt;/p&gt;
&lt;p&gt;Initial ‘spec’ values
are a bit harder to see,
since we have to turn off browser defaults as well.
I do that by applying the
&lt;a href=&quot;https://www.miriamsuzanne.com/2019/11/02/most-normal/&quot;&gt;Most Normalest Ultimate Reset&lt;/a&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* add an !important flag if you also need to override your own styles */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;*, *::after, *::before&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; initial&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The result is so extreme
that it’s nearly impossible
to find your way back to the settings.
So I also include a few styles
that draw attention
back to the layer-selection buttons,
and give them basic button styling.
I don’t want people getting lost around here.&lt;/p&gt;
&lt;p&gt;I haven’t technically
created Cascade Layers
for either the ‘spec’ or ‘browser’
style options –
I only expose them in the UX.&lt;/p&gt;
&lt;p&gt;I also get some some default dark-mode support,
and theme colors before ever applying CSS –
directly from &lt;code&gt;meta&lt;/code&gt; tags in the &lt;code&gt;head&lt;/code&gt; of my documents:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;color-scheme&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;dark light&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;theme-color&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;media&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;(prefers-color-scheme: light)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;hotpink&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;meta&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;theme-color&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;media&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;(prefers-color-scheme: dark)&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;mediumvioletred&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Actual layers, with styles I actually wrote&lt;/h2&gt;
&lt;p&gt;This is where I start making
suspiciously vague distinctions between layers.
I’m trying to balance
two slightly different goals here.
One is to define a layer structure
that works well for me
as I redesign the site.
The other goal is to make an interesting
layer-selection widget,
such that each layer option ‘reveals’
a step in the process.&lt;/p&gt;
&lt;p&gt;In order to achieve the second goal,
I’m thinking through layers
a bit differently than I might otherwise.
This is still very much a work-in-progress,
likely to change over time.&lt;/p&gt;
&lt;h3&gt;Reset layer&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;reset&lt;/code&gt; layer
represents minor cleanup
of legacy browser styles.&lt;/p&gt;
&lt;p&gt;In addition to
&lt;a href=&quot;https://github.com/jensimmons/cssremedy&quot;&gt;CSS Remedy&lt;/a&gt;,
I’ve also made tables fluid-by-default,
and replaced the &lt;code&gt;40px&lt;/code&gt; indentation
used on lists, figures, blockquotes, etc
with a more reasonable &lt;code&gt;1em&lt;/code&gt;.
Buttons and inputs inherit the global font,
&lt;code&gt;[aria-pressed]&lt;/code&gt; gets basic styling,
replaced elements work how I expect,
the root font size is a bit larger,
and there’s a readable max line-length on the body.
Also, that &lt;code&gt;8px&lt;/code&gt; body margin is replaced
by a full &lt;code&gt;1em&lt;/code&gt; margin.
I’m wild like that.&lt;/p&gt;
&lt;p&gt;At this point,
I’m roughly still following the CSS Remedy approach:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CSS Remedy sets CSS properties or values
to what they would be if the CSSWG were creating the CSS today,
from scratch, and didn’t have to worry about backwards compatibility.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s possible that I was overzealous here.
Maybe adjusting the font size
is not something the CSSWG would do if we could.
Maybe some of these styles should
move into the &lt;code&gt;default&lt;/code&gt; layer instead.
I don’t know.&lt;/p&gt;
&lt;p&gt;I was tempted to stop here.
I really want to keep the styles pretty basic
until I’ve made further progress
on the &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/&quot;&gt;content architecture&lt;/a&gt;
and other
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/07/minimal/&quot;&gt;goals of the redesign&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Default layer&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Reader, I didn’t stop there.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For the &lt;code&gt;default&lt;/code&gt; layer,
I gave myself slightly wider parameters.
&lt;em&gt;What default styles would I design for myself?&lt;/em&gt;
I’m still trying to think generically
about built-in HTML elements &amp;amp; attributes,
but I get to make more opinionated choices.
These are defaults that &lt;em&gt;I like&lt;/em&gt;,
even if I don’t think they belong &lt;em&gt;in the browser&lt;/em&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Even larger fonts, and more whitespace&lt;/li&gt;
&lt;li&gt;Lists that ‘outdent’ when there’s space for bullets in the margins&lt;/li&gt;
&lt;li&gt;Basic styling for links, buttons, form inputs, and horizontal rules&lt;/li&gt;
&lt;li&gt;Styling for focus-rings, a skip-to-content link,
and a &lt;code&gt;.visually-hidden&lt;/code&gt; utility class.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Default config secret sub-layer 🤫&lt;/h3&gt;
&lt;p&gt;Along the way,
I realized my ideal default stylesheet
would come with custom properties
in two forms:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A few pre-defined color, font, and sizing variables.&lt;/li&gt;
&lt;li&gt;Some ‘free’ variables that can be defined later.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For the first part,
I considered something like
Adam Argyle’s
&lt;a href=&quot;https://open-props.style/&quot;&gt;Open Props&lt;/a&gt;,
but decided I don’t need anything quite so
&lt;em&gt;fleshed out&lt;/em&gt;.
Instead I used some browser defaults as a guide.&lt;/p&gt;
&lt;p&gt;There are three font variables –
&lt;code&gt;--ui-sans&lt;/code&gt;, &lt;code&gt;--ui-serif&lt;/code&gt;, and &lt;code&gt;--ui-mono&lt;/code&gt;.
Operating system UI fonts
are generally nicer than
browser defaults,
while still being a good ‘unbranded’ option.&lt;/p&gt;
&lt;p&gt;For colors,
I used the
&lt;a href=&quot;https://www.w3.org/TR/css-color-4/#css-system-colors&quot;&gt;CSS System Colors&lt;/a&gt;
as a guide.
I considered using them directly,
but found there are some inconsistencies
and a11y issues involved with that.
Instead, I created custom properties
with similar names
(&lt;code&gt;--Canvas&lt;/code&gt;, &lt;code&gt;--CanvasText&lt;/code&gt;, &lt;code&gt;--Link&lt;/code&gt;, &lt;code&gt;--VisitedText&lt;/code&gt;, etc)
and filled them in
using the Firefox default values.
I didn’t want to think about it too much –
just get a set of useful colors
with useful semantics behind them.&lt;/p&gt;
&lt;p&gt;For sizing,
I used a variation
on the defaults that we often start with
at OddBird.
First a &lt;code&gt;--gap&lt;/code&gt; (we’ve often called it &lt;code&gt;--gutter&lt;/code&gt;),
and then divisions of that
which I called
&lt;code&gt;--half-gap&lt;/code&gt;, &lt;code&gt;--shim&lt;/code&gt;, and &lt;code&gt;--half-shim&lt;/code&gt;.
I also like having a larger &lt;code&gt;--spacer&lt;/code&gt;
for section-breaks.&lt;/p&gt;
&lt;p&gt;All of those spacing variable
are relative to typography.
That starts with a &lt;code&gt;--root&lt;/code&gt; font size,
and then a &lt;code&gt;--line-height&lt;/code&gt; ratio,
a calculated &lt;code&gt;--line&lt;/code&gt; height,
a &lt;code&gt;--measure&lt;/code&gt; for readable line-lengths,
and a &lt;code&gt;--smaller&lt;/code&gt; font size
mostly for inline monospace fonts.&lt;/p&gt;
&lt;p&gt;I also started using a number of
&lt;em&gt;undefined variables&lt;/em&gt;
throughout.
For example,
setting a main font-family:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;--font-body&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;--var-serif&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;--ui-serif&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;At this point in the code,
&lt;code&gt;--font-body&lt;/code&gt; and &lt;code&gt;--var-serif&lt;/code&gt;
are still undefined,
so the result is
my &lt;code&gt;--ui-serif&lt;/code&gt; font stack
defined earlier.
In future layers
I can choose to add a variable serif,
or override the body font entirely,
just by setting those variables.&lt;/p&gt;
&lt;p&gt;All of this
is part of the hidden
&lt;code&gt;default.config&lt;/code&gt; sub-layer.
there’s not much use
exposing the config to users
without also exposing the styles
that apply those configurations.&lt;/p&gt;
&lt;p&gt;I would appreciate
if you don’t tell anyone.&lt;/p&gt;
&lt;h3&gt;Features layer&lt;/h3&gt;
&lt;p&gt;Over the years,
there are a few code patterns
that I’ve come to rely on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Call-out boxes, like the ‘note’ above&lt;/li&gt;
&lt;li&gt;Image galleries&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lea.verou.me/2022/07/button-group/&quot;&gt;Exclusive button groups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A way of creating ‘erasure’ texts from certain articles/pages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also added a new one as I was working,
which allows me to show inline
color-swatches next to a given color value.
Here’s &lt;code style=&quot;--color-tile: rebeccapurple&quot;&gt;rebeccapurple&lt;/code&gt;
for example.&lt;/p&gt;
&lt;p&gt;These patterns are specific to
markup conventions on this site,
and require CSS in order to function properly.
They’re not quite defaults,
but they’re a bit more foundational
than the themes I might apply
in future layers.&lt;/p&gt;
&lt;p&gt;Turn off the features layer,
and the swatch will disappear,
image galleries will go single-column,
etc.&lt;/p&gt;
&lt;h3&gt;Layout &amp;amp; theme layers&lt;/h3&gt;
&lt;p&gt;I don’t have much to say about these
final two layers.
I wish I wasn’t so eager
to give my site an aesthetic,
but here we are.
I sometimes get carried away.&lt;/p&gt;
&lt;p&gt;My new favorite web resource –
&lt;a href=&quot;https://publicdomainreview.org/&quot;&gt;The Public Domain Review&lt;/a&gt; –
inspired me to go find
&lt;a href=&quot;https://fontsource.org/fonts/alegreya&quot;&gt;Alegreya Variable&lt;/a&gt;,
and I came up with a quick
color palette
based around my favorite CSS colors:
&lt;code style=&quot;--color-tile: mediumvioletred&quot;&gt;mediumvioletred&lt;/code&gt;
and &lt;code style=&quot;--color-tile: teal&quot;&gt;teal&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;These layers are by far
the most incomplete
and half-assed.
Just enough style to make me
enjoy the site
while I continue working on it.&lt;/p&gt;
&lt;call-out&gt;
&lt;p&gt;&lt;strong&gt;Update 2022-09-26&lt;/strong&gt;:
These two layers have been merged.
While I’m still using separate files,
and could still ‘layer’ them technically –
the difference is more in &lt;em&gt;what is being styled&lt;/em&gt;
rather than in the &lt;em&gt;intent of those styles&lt;/em&gt;.&lt;/p&gt;
&lt;/call-out&gt;
&lt;h3&gt;Reflecting on all those layers&lt;/h3&gt;
&lt;p&gt;For a personal site,
this is probably overkill.
It’s absolutely clear
that I’m writing more CSS
than I need.
I could combine my reset
with my defaults
for a more focused baseline,
and streamline the stack in general.
But I’m intentionally
approaching each layer
as a complete ‘design’ –
even where I plan to override
those styles later.&lt;/p&gt;
&lt;p&gt;This is an exercise
in thinking through
what &lt;em&gt;different concerns&lt;/em&gt;
go into building a site design.
I’m trying to give each viewpoint
the stand-alone attention that it deserves,
to see what I learn from the process.
And then I’m &lt;em&gt;layering&lt;/em&gt;
all those viewpoints,
to see how they &lt;em&gt;cascade&lt;/em&gt; together.&lt;/p&gt;
&lt;p&gt;It’s also an experiment in
exposing those layers to users.&lt;/p&gt;
&lt;p&gt;None of that is strictly necessary,
but it’s enjoyable,
and I’m learning as I go.
I believe this layered thinking
is useful,
even if we don’t always
need all the layers split out this way.&lt;/p&gt;
&lt;p&gt;And it’s a mindset
that translates especially well
to situations where different teams
are contributing to a single product –
stacking a design system
on top of an external CSS library,
and then building a site
on top of those.
That’s why we designed
Cascade Layers in the first place.&lt;/p&gt;
&lt;p&gt;Useful or not –
I’m having fun
playing with my new toys,
to see what I discover
along the way.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>This content won&#39;t architect itself</title>
    <link href="https://www.miriamsuzanne.com/2022/08/25/content/" />
    <updated>2022-08-25T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/08/25/content/</id>
    <content type="html">
      &lt;p&gt;Continuing the slow redesign process,
I spent a weekend
rearranging the &lt;s&gt;deck chairs&lt;/s&gt; content files
on &lt;s&gt;the Titanic&lt;/s&gt; this website.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Can I really call it
a &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/07/minimal/&quot;&gt;‘no-demo’ reno&lt;/a&gt;,
when I keep moving all these files around?
I don’t know. Maybe?
It was always going to be
a tenuous metaphor.
What if I just tear out all the walls,
and design an open-concept site?&lt;/p&gt;
&lt;p&gt;When I asked Erin to comment
on a new idea for navigation,
she said –&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It doesn’t matter how you organize it,
you’ll never be happy with the result.
The problem isn’t the navigation.
You just can’t decide what the site is for.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Why did I make this site in the first place?&lt;/h2&gt;
&lt;p&gt;I started building websites
as a way to market my first theater company.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;
It was a place for the audience
to see &lt;em&gt;what’s playing this season&lt;/em&gt;,
or find the (web 1.0) phone number
for tickets.
There were clear reasons
for people to show up at our site,
and a clear set of goals
for them to achieve.&lt;/p&gt;
&lt;p&gt;My personal sites have taken
a number of different forms.
For several years
I had a one-page ‘business-card’ website.
Short and simple.
My name, a few links,
and some aggressive
&lt;em&gt;aesthetic choices&lt;/em&gt;:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/s8uyIzUVBg-640.avif 640w, https://www.miriamsuzanne.com/img/s8uyIzUVBg-960.avif 960w, https://www.miriamsuzanne.com/img/s8uyIzUVBg-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Bright watercolor wash in purples and yellows,
and large sans-serif text
overflowing translucent colored columns --
each a different color, length, and font-size.
Miriam E Suzanne,
OddBird Collective | web portfolio,
Dirt Circle Dogs | indie rock,
The LIDA Project | experimental theater company,
Countdown to Zero | political theater collective,
Dirt Circle Network | freelance collective.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/s8uyIzUVBg-640.jpeg&quot; width=&quot;1600&quot; height=&quot;918&quot; srcset=&quot;https://www.miriamsuzanne.com/img/s8uyIzUVBg-640.jpeg 640w, https://www.miriamsuzanne.com/img/s8uyIzUVBg-960.jpeg 960w, https://www.miriamsuzanne.com/img/s8uyIzUVBg-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/FF6S6pybtc-640.avif 640w, https://www.miriamsuzanne.com/img/FF6S6pybtc-960.avif 960w, https://www.miriamsuzanne.com/img/FF6S6pybtc-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Same design,
but some new links --
Into The Green Green Mud a novel (with pictures),
Dirt Circle Dogs bright/dark music,
Vicious Trap deform reform perform,
Teacup Gorilla petite &amp;amp; deadly rock,
OddBird web design and development.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/FF6S6pybtc-640.jpeg&quot; width=&quot;1600&quot; height=&quot;919&quot; srcset=&quot;https://www.miriamsuzanne.com/img/FF6S6pybtc-640.jpeg 640w, https://www.miriamsuzanne.com/img/FF6S6pybtc-960.jpeg 960w, https://www.miriamsuzanne.com/img/FF6S6pybtc-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;My 2008-2012 business-card site. I call this &lt;em&gt;rainbow brutalism&lt;/em&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There’s something refreshing about
a single-page site.
All it has to do
is send you somewhere else,
with a bit of flair.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn2&quot; id=&quot;fnref2&quot;&gt;[2]&lt;/a&gt;&lt;/sup&gt;
Meanwhile,
the target sites
each have a clear focus
defined by the brand and goals
of the project.&lt;/p&gt;
&lt;p&gt;But in 2012 I got frustrated,
and it’s been all downhill from there.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn3&quot; id=&quot;fnref3&quot;&gt;[3]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Another theater company had recently imploded
from internal conflicts.
I was looking for new ways to get my art out,
and become part of a local scene.
I was also actively looking for a publisher.
To do that, I would have to sell myself better.
I wanted to have more of a ‘presence’ online –
to move from &lt;em&gt;lurking&lt;/em&gt; to &lt;em&gt;participating&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I built a new website on Tumblr.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn4&quot; id=&quot;fnref4&quot;&gt;[4]&lt;/a&gt;&lt;/sup&gt;
It was meant to be a digital resume/portfolio,
and also a place to write more,
and interact directly
with a (very small) audience.
There was a blog on the front page,
and a page for those same project links.
One publisher asked me for an artist manifesto,
so I included that as well.&lt;/p&gt;
&lt;h2&gt;Some things change, some things don’t&lt;/h2&gt;
&lt;p&gt;The earliest styled archive I could find
is from 2014,
when I moved off Tumblr:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/GgoIBMkrcj-640.avif 640w, https://www.miriamsuzanne.com/img/GgoIBMkrcj-960.avif 960w, https://www.miriamsuzanne.com/img/GgoIBMkrcj-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Screenshot project page
with white background,
black text, and pink links in Baskerville.
Top left a home link titled GreenMud, and my name.
Top right nav for manifesto, projects, and bio.
Headings for upcoming events,
ongoing projects,
and artifacts.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/GgoIBMkrcj-640.jpeg&quot; width=&quot;1600&quot; height=&quot;920&quot; srcset=&quot;https://www.miriamsuzanne.com/img/GgoIBMkrcj-640.jpeg 640w, https://www.miriamsuzanne.com/img/GgoIBMkrcj-960.jpeg 960w, https://www.miriamsuzanne.com/img/GgoIBMkrcj-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    My 2014 blog site, becoming an active participant on the indieweb.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Since then,
it seems like
I’ve redesigned the site every couple years.
For a while
the navigation became
more and more complex:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7b8ElGY6_y-640.avif 640w, https://www.miriamsuzanne.com/img/7b8ElGY6_y-960.avif 960w, https://www.miriamsuzanne.com/img/7b8ElGY6_y-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Black-and-pink Baskerville
in a centered column
on a white background.
The nav is what, why, who, blog.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/7b8ElGY6_y-640.jpeg&quot; width=&quot;1600&quot; height=&quot;920&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7b8ElGY6_y-640.jpeg 640w, https://www.miriamsuzanne.com/img/7b8ElGY6_y-960.jpeg 960w, https://www.miriamsuzanne.com/img/7b8ElGY6_y-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/GPsqwo0EYa-640.avif 640w, https://www.miriamsuzanne.com/img/GPsqwo0EYa-960.avif 960w, https://www.miriamsuzanne.com/img/GPsqwo0EYa-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Same colors, more layout,
and a big illustration of my face
next to a welcome message.
The nav is current, past,
press, blog, about, contact.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/GPsqwo0EYa-640.jpeg&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://www.miriamsuzanne.com/img/GPsqwo0EYa-640.jpeg 640w, https://www.miriamsuzanne.com/img/GPsqwo0EYa-960.jpeg 960w, https://www.miriamsuzanne.com/img/GPsqwo0EYa-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/OW-YOOME3w-640.avif 640w, https://www.miriamsuzanne.com/img/OW-YOOME3w-960.avif 960w, https://www.miriamsuzanne.com/img/OW-YOOME3w-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Similar colors,
but everything at an angle
or even turned sideways,
and a big under construction banner.
The nav is home, writing, speaking,
web development, art, about, contact.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/OW-YOOME3w-640.jpeg&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://www.miriamsuzanne.com/img/OW-YOOME3w-640.jpeg 640w, https://www.miriamsuzanne.com/img/OW-YOOME3w-960.jpeg 960w, https://www.miriamsuzanne.com/img/OW-YOOME3w-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    2015, 2016, &amp;amp; 2018 sites, with increasingly complicated navigation.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Until 2019,
when I removed all the navigation
and moved onto Eleventy.
I was tired of trying to sort
my life into a nav hierarchy.
The new design would rely on tags instead:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4oddEaCGHP-640.avif 640w, https://www.miriamsuzanne.com/img/4oddEaCGHP-960.avif 960w, https://www.miriamsuzanne.com/img/4oddEaCGHP-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Nav is art&amp;amp;code, bio, contact, shop.
Header is my name and a short summary.
Content all looks the same
laid out in a grid,
sorted by date,
with tags for filtering along the top.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/4oddEaCGHP-640.jpeg&quot; width=&quot;1600&quot; height=&quot;922&quot; srcset=&quot;https://www.miriamsuzanne.com/img/4oddEaCGHP-640.jpeg 640w, https://www.miriamsuzanne.com/img/4oddEaCGHP-960.jpeg 960w, https://www.miriamsuzanne.com/img/4oddEaCGHP-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rN-eCICXlK-640.avif 640w, https://www.miriamsuzanne.com/img/rN-eCICXlK-960.avif 960w, https://www.miriamsuzanne.com/img/rN-eCICXlK-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Similar idea,
but my name is bigger &amp;amp; angled,
there&#39;s a dark mode,
and the filter/search/nav
are all combined
in the right-hand page margin:
home, shop, about, contact, art, code, etc.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/rN-eCICXlK-640.jpeg&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rN-eCICXlK-640.jpeg 640w, https://www.miriamsuzanne.com/img/rN-eCICXlK-960.jpeg 960w, https://www.miriamsuzanne.com/img/rN-eCICXlK-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/VQ7jJ8CATn-640.avif 640w, https://www.miriamsuzanne.com/img/VQ7jJ8CATn-960.avif 960w, https://www.miriamsuzanne.com/img/VQ7jJ8CATn-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;There&#39;s a new top bar
with disclosure controls for colors and type,
then nav of my name (for home),
about, tags, contact.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/VQ7jJ8CATn-640.jpeg&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://www.miriamsuzanne.com/img/VQ7jJ8CATn-640.jpeg 640w, https://www.miriamsuzanne.com/img/VQ7jJ8CATn-960.jpeg 960w, https://www.miriamsuzanne.com/img/VQ7jJ8CATn-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/qLNAN7CsqA-640.avif 640w, https://www.miriamsuzanne.com/img/qLNAN7CsqA-960.avif 960w, https://www.miriamsuzanne.com/img/qLNAN7CsqA-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Nav is still about, tags, contact
at the top.
Controls are combined in the top right,
and my name is bigger than ever,
followed by a list of my top tags:
art &amp;amp; code &amp;amp; writing &amp;amp; music &amp;amp; speaking &amp;amp; theater &amp;amp; more.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/qLNAN7CsqA-640.jpeg&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://www.miriamsuzanne.com/img/qLNAN7CsqA-640.jpeg 640w, https://www.miriamsuzanne.com/img/qLNAN7CsqA-960.jpeg 960w, https://www.miriamsuzanne.com/img/qLNAN7CsqA-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    From 2019 to 2022, a series of variations on a tag-driven theme.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It’s interesting to look at those last few years.
It seems I’ve been struggling to determine
what belongs in ‘navigation’ vs ‘filtering’,
and how to highlight the most relevant content…
while treating everything as equal.&lt;/p&gt;
&lt;p&gt;That’s what really strikes me –
the &lt;em&gt;sameness&lt;/em&gt; of all the content.
It doesn’t matter if you’re looking at
a blog post,
or a new album,
a book,
a theater production,
an open-source project,
or a talk that I’m giving next week.
There’s no distinction at all.&lt;/p&gt;
&lt;p&gt;As a reaction against
trying to categorize my content,
I removed any distinctions at all.
Everything is a card on a timeline.
Every card has a title,
a date, a summary, and some tags.&lt;/p&gt;
&lt;h2&gt;The objects of my desire&lt;/h2&gt;
&lt;p&gt;Over at OddBird,
&lt;a href=&quot;https://oddbird.net/authors/sondra/&quot;&gt;Sondra&lt;/a&gt;
has been using
Sophia Prater’s
&lt;a href=&quot;https://www.ooux.com/&quot;&gt;Object Oriented UX&lt;/a&gt;
as a guiding philosophy
for our design process.&lt;/p&gt;
&lt;p&gt;I’m not an expert on the approach,
but the guiding principle
is that humans have an object-oriented
perception of the world around us.
When we walk into a room,
we quickly process objects like tables,
chairs, couches.
We recognize their familiar shapes,
and understand how they can be used.&lt;/p&gt;
&lt;p&gt;In an Object-Oriented UX,
we can aim for a similar
object-recognition:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A given site ‘object’
ought to be recognizable
no matter where it appears on the site.&lt;/li&gt;
&lt;li&gt;Different objects
ought to be distinct from each other.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ha. &lt;em&gt;Well, oops.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’ve started to create a short list of object types like
&lt;em&gt;posts&lt;/em&gt;, &lt;em&gt;books&lt;/em&gt;, &lt;em&gt;albums&lt;/em&gt;, &lt;em&gt;orgs&lt;/em&gt;, &lt;em&gt;scripts&lt;/em&gt;, &lt;em&gt;talks&lt;/em&gt;, etc.
I thought maybe,
in addition to distinct styling,
those objects
could form a new sort of navigation.
But right away,
they started overlapping and falling apart.
That’s when Erin stepped in
to dismiss the entire idea.&lt;/p&gt;
&lt;p&gt;All those things do exist on my site,
and may deserve styling consideration,
but they’re still &lt;em&gt;basically just tags&lt;/em&gt;.
And they’re tags that I already use.
I think, in a sense,
they’re &lt;em&gt;too specific&lt;/em&gt;
to provide a more clear understanding.&lt;/p&gt;
&lt;p&gt;Looking back at previous versions of this site,
I’m struck by the original ‘objects’
that I used for navigation
from 2012-2016.
They fit smoothly with
my more recent thought
that this site is
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/06/17/hit-publish/&quot;&gt;both an archive, and a live event&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;By &lt;strong&gt;archive&lt;/strong&gt;,
I don’t mean content that is out-of-date,
but content that exists here
as a sort of documentation –
a record of my life and work elsewhere:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organizations&lt;/strong&gt; (OddBird, Teacup Gorilla, CSSWG)
that I work with.
In 2014 I called them &lt;em&gt;co-belligerents&lt;/em&gt;.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn5&quot; id=&quot;fnref5&quot;&gt;[5]&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Artifacts&lt;/strong&gt; that are the result of my/our work,
like albums, books, specs, and open source projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Events&lt;/strong&gt; past, present, and future.
These also tend to have two parts –
the &lt;em&gt;script/talk&lt;/em&gt; which can be performed multiple times,
and the individual &lt;em&gt;performances&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By &lt;strong&gt;live event&lt;/strong&gt;,
I mean content that exists &lt;em&gt;for itself&lt;/em&gt; –
intended to show up on a website,
&lt;em&gt;in a feed&lt;/em&gt;,
not as an avatar of something else:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Posts&lt;/strong&gt; that I write.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Links&lt;/strong&gt; that I want to share.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Announcements&lt;/strong&gt; about upcoming &lt;em&gt;archival stuff&lt;/em&gt;.
I wrote a book, or I’m giving a talk, or whatever.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I think these categories
start to get at something more useful,
or informative about
what this website is
and how it works.&lt;/p&gt;
&lt;p&gt;Of course this isn’t unique or original,
beyond (maybe) the language I use.
Most content management tools
are organized around
&lt;em&gt;posts&lt;/em&gt; (feed),
and &lt;em&gt;pages&lt;/em&gt; (archive) –
with special handling
for calendar &lt;em&gt;events&lt;/em&gt;,
and &lt;em&gt;products&lt;/em&gt; (artifacts).&lt;/p&gt;
&lt;h2&gt;But why, though?&lt;/h2&gt;
&lt;p&gt;I still haven’t addressed Erin’s critique.&lt;/p&gt;
&lt;p&gt;Over the last 8-10 years –
since I moved away from the single-page approach –
I’ve tried to re-imagine the
content architecture and navigation
of this site multiple times.
But I’m not sure I’ve spent much time reflecting
on the &lt;em&gt;purpose&lt;/em&gt; of the site.&lt;/p&gt;
&lt;p&gt;The other day,
someone on Twitter told me:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The homepage should always be a selling point.
It doesn’t matter if it’s selling yourself personally
or the value of your blog.
To be blunt,
no one who landed on your personal site
got there because they care about you personally.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m not sure that’s entirely accurate.
I do actually have friends and family
who care about me,
&lt;em&gt;and also&lt;/em&gt; look at my site.
They just go to a different school.
You wouldn’t know them.&lt;/p&gt;
&lt;p&gt;But in 2012,
selling myself was front-of-mind.
I needed a resume and portfolio
of my experience and expertise,
&lt;em&gt;because I needed work&lt;/em&gt;.
A times, I’ve also tried
to sell the results of my work.
The artifacts.
Books, albums, prints of my art, etc.&lt;/p&gt;
&lt;p&gt;Both of those are reasonable objectives
for a personal site with a sales pitch.
But it’s also reasonable
to have a personal site
that acts as more of public journal –
entirely unrelated to selling.
A site entirely dedicated
to the people who care about me personally.&lt;/p&gt;
&lt;p&gt;It would be reasonable
to have an entirely &lt;em&gt;unreasonable&lt;/em&gt; website,
just-for-the-fuck-of-it.
Often, my site is just
where I play around with ideas.
Or it’s an extension of my
social life online –
which includes work,
but isn’t limited to work.&lt;/p&gt;
&lt;p&gt;I don’t need this to be a professional site.
That’s why I have
&lt;a href=&quot;https://oddbird.net&quot;&gt;OddBird.net&lt;/a&gt;,
&lt;a href=&quot;https://teacupgorilla.com&quot;&gt;TeacupGorilla.com&lt;/a&gt;,
and &lt;a href=&quot;https://grapefruitlab.com&quot;&gt;GrapefruitLab.com&lt;/a&gt;.
This site can be anything I want.
Parts of this site are very personal,
and not at all appropriate
for a professional resume or portfolio.&lt;/p&gt;
&lt;p&gt;This is my home, online.
Sorry for the mess.
&lt;em&gt;Can I get you a glass of water?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://robinrendle.com/&quot;&gt;Robin Rendle&lt;/a&gt;,
who has continued to inspire this redesign,
seems to be thinking through
some similar questions
(in much more concise posts).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.robinrendle.com/notes/about-the-redesign/&quot;&gt;&lt;em&gt;About the redesign&lt;/em&gt;&lt;/a&gt;
is an excellent reflection
on their process so far –
what’s working, and what isn’t.
Then also,
&lt;a href=&quot;https://robinrendle.com/notes/all-the-things-a-blog-post-can-be/&quot;&gt;&lt;em&gt;All the things a post can be&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Saccharine, careless, melancholic, naive, questioning,
questionable, dashing, daring, and vengeful. Inquisitive.
Soaring! Doubtful, distrustful, apprehensive, hesitant, unready,
unabridged, undecided, unwavering. Woeful. …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It goes on. I love it.
An expansive set of options,
all interesting in their own way.
I wonder what a website can be?&lt;/p&gt;
&lt;p&gt;I don’t have an answer to this, exactly.
But I know that some of my own
conscious and unconscious goals
come from &lt;em&gt;a joy of making and sharing&lt;/em&gt;,
and some of them come from &lt;em&gt;fear&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Irrelevance maybe?
Unemployment?&lt;/p&gt;
&lt;p&gt;I’ve built my life around
a willingness to turn down better-paying jobs
in order to protect my voice and my time.
But the flip side has been
a rollercoaster of
self-employment highs and lows,
and a fear that I need to
always keep selling.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fn6&quot; id=&quot;fnref6&quot;&gt;[6]&lt;/a&gt;&lt;/sup&gt;
Sometimes that’s been a helpful motivation,
but I don’t think it’s as relevant now
as it was in 2012.&lt;/p&gt;
&lt;p&gt;There are many ways
for a career to crumble,
but I think mine has become
about as stable as I could hope for.&lt;/p&gt;
&lt;h2&gt;What can my website be?&lt;/h2&gt;
&lt;p&gt;Erin will tell you
that the reason I find this difficult
is because I’ve been trying to do
all of the above and more.
I’ve been trying to
&lt;em&gt;document my entire existence&lt;/em&gt;,
and organize it
into a simple site navigation.&lt;/p&gt;
&lt;p&gt;Is that unreasonable?
&lt;em&gt;So be it.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I think one goal
of this redesign has to be
&lt;em&gt;prioritizing my own joy of making and sharing&lt;/em&gt; –
wherever that takes me.
But I still want to step back,
and think through the implications.&lt;/p&gt;
&lt;p&gt;I’m reminded of the criteria
that Abigail Thorn uses
to guide episodes of
&lt;a href=&quot;https://www.youtube.com/user/thephilosophytube&quot;&gt;Philosophy Tube&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Is it made from curiosity, not ambition?&lt;/li&gt;
&lt;li&gt;Is it made out of compassion for myself and others?&lt;/li&gt;
&lt;li&gt;Is it my unique creative vision?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Anne_Bogart&quot;&gt;Anne Bogart&lt;/a&gt;
also has a set of questions
for defining the boundaries of a theater piece.
I use these prompts often
when I start on a new writing project:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;What is the question that motivates the piece?&lt;/li&gt;
&lt;li&gt;Who or what is the anchor through which we explore the question?&lt;/li&gt;
&lt;li&gt;What is the structure of our exploration?&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;Some things to think about.
Quoting &lt;a href=&quot;https://robinrendle.com/notes/about-the-redesign/&quot;&gt;Robin again&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I guess the reason why it’s so hard
to make an about page for me
is that the goal is so murky.
What do I want folks to get out of this?
I guess a photo of me, an email address,
and then…what exactly? Ugh.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;All that to say,
Erin has a point.
&lt;em&gt;Which is rude.&lt;/em&gt;&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot;&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;A simple ‘database’ of shows –
hand-written CSV files –
with a PHP script
to give me server-side includes.
My own proto-&lt;a href=&quot;https://www.11ty.dev&quot;&gt;Eleventy&lt;/a&gt;. &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn2&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ted_Nelson&quot;&gt;Ted Nelson&lt;/a&gt;
calls web links
&lt;em&gt;a diving board into darkness&lt;/em&gt;.
He means that as an insult,
but I think it sounds rad. &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref2&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn3&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;If you’re on a bike,
downhill is a good thing.
Are we on a bike? &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref3&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn4&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://cameronmoll.com/&quot;&gt;Cameron Moll&lt;/a&gt;
had just moved onto Tumblr at the time.
I think that was the inspiration. &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref4&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn5&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;This is a phrase that I saw
on a historical marker for a failed political uprising.
I don’t remember the details, only the phrasing. &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref5&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn6&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;I would like to sell you
my mediocre personality,
and terrible humor.
These aren’t my best qualities,
but you can have them both for only
&lt;s&gt;$9.99&lt;/s&gt; ++$4.99 and a back-link++.) &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/25/content/#fnref6&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>No demo [website] reno</title>
    <link href="https://www.miriamsuzanne.com/2022/08/07/minimal/" />
    <updated>2022-08-07T20:57:46Z</updated>
    <id>https://www.miriamsuzanne.com/2022/08/07/minimal/</id>
    <content type="html">
      &lt;p&gt;I want to re-think the front-end of my site,
without too much change to
the (Eleventy/Markdown) content that drives it.
And I want to do it slowly.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Erin &amp;amp; I had a lovely vacation last month,
driving around southwest Colorado –
Bishop Castle, the Great Sand Dunes,
Chimney Rock, the Durango-Silverton Railroad,
the (terrifying) Million Dollar Highway,
the Black Canyon of the Gunnison,
and so on.
It was absolutely beautiful.&lt;/p&gt;
&lt;p&gt;This post isn’t about our vacation,
or any of the amazing places we visited.&lt;/p&gt;
&lt;p&gt;Every night we would end up in a hotel room,
where we turn on the Food Network
(back-to-back &lt;em&gt;Diners, Drive-Ins, and Dives&lt;/em&gt;)
or whatever is showing on HGTV.
Nested between extensive house remodeling shows,
&lt;em&gt;No Demo Reno&lt;/em&gt; starts with the premise
that you can make big upgrades to a home
without moving a single wall.&lt;/p&gt;
&lt;p&gt;This post isn’t about HGTV or home renovations, either.
I’ve seen a total of two or three episodes
while knitting, winding down,
and getting ready for bed.&lt;/p&gt;
&lt;p&gt;But that’s my goal with this site redesign.
How much can I change,
&lt;em&gt;without moving any of the walls&lt;/em&gt;?&lt;/p&gt;
&lt;h2&gt;Some background, and goals&lt;/h2&gt;
&lt;p&gt;I’ve had a number of ‘personal’ sites over the years,
but landed on this URL in 2015.
The first version of this site
used &lt;a href=&quot;https://github.com/mitsuhiko/rstblog&quot;&gt;rstBlog&lt;/a&gt; –
a small Python static-site generator
without any documentation.&lt;/p&gt;
&lt;!--
2002-2006 » goshen college student page?
2006-2010 » [Wordpress] meyerbros.org
2008-2011 » [static] eric.dirtcircle.com
2011-2012 » [tumblr] eric.andmeyer.com
2012-2014 » [rstBlog] eric.andmeyer.com
2014-2015 » [rstBlog] ericsuzanne.com
2015-2019 » [rstBlog] miriamsuzanne.com
2019-.... » [Eleventy] miriamsuzanne.com
--&gt;
&lt;p&gt;In early 2019,
I migrated from rstBlog
onto my current &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt; setup –
a complete overhaul of the site,
inside and out.
The demolition was extensive,
and I likely
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/06/17/hit-publish/&quot;&gt;broke a few promises&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This time
I plan to leave all the
content and Eleventy infrastructure
&lt;em&gt;basically&lt;/em&gt; intact.
Here are the goals:&lt;/p&gt;
&lt;h3&gt;Clarify the information architecture&lt;/h3&gt;
&lt;p&gt;I’ve always found it hard
to sort my activities
into organized ‘categories’,
so I’ve been treating basically everything
as an &lt;em&gt;event&lt;/em&gt;
with the same data, look, and feel.
Something happens –
a presentation, performance, album release, novel, article, spec –
on a particular date,
with any number of relevant tags.&lt;/p&gt;
&lt;p&gt;I like some things about that –
embracing the mess of my ADHD life –
but I haven’t yet found a great solution
for navigating &amp;amp; displaying it.
Part of the problem is simply that
everything looks the same.
It would help if site visitors
can more easily see the different types of content
reflected in the design and navigation of the site.&lt;/p&gt;
&lt;p&gt;The previous design also relied heavily
on extra-long ‘calendars’ of content
at the bottom of every page.
That solution felt very bulky to me –
both in terms of page-load,
and user scrolling.
It may have been
technically &lt;a href=&quot;https://humanebydesign.com/principles/finite/&quot;&gt;Finite&lt;/a&gt;,
but it didn’t always &lt;em&gt;feel&lt;/em&gt; as finite
(or as easy to navigate)
as I’d like.&lt;/p&gt;
&lt;h3&gt;Clean up the HTML (&amp;amp; Nunjucks)&lt;/h3&gt;
&lt;p&gt;Technical debt often builds up in HTML over time –
extra wrapping divs, stray classes,
and other complexities
that originate more from style than &lt;em&gt;content&lt;/em&gt;.
It feels good to clean that out and start fresh.
Specifically, I want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simplify complex Nunjucks templates&lt;/li&gt;
&lt;li&gt;Strip out any HTML that is not absolutely essential&lt;/li&gt;
&lt;li&gt;Improve my use of &lt;a href=&quot;https://microformats.org/&quot;&gt;microformats&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rethink how &lt;a href=&quot;https://www.miriamsuzanne.com/2022/06/04/indiweb/&quot;&gt;WebMentions&lt;/a&gt; are displayed&lt;/li&gt;
&lt;li&gt;Rethink how user design customizations are provided&lt;/li&gt;
&lt;li&gt;Always improve accessibility where I can&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope to end up with an HTML architecture
that feels more minimal –
a blank canvas,
that I can treat more like a
&lt;a href=&quot;https://www.csszengarden.com/&quot;&gt;Zen Garden&lt;/a&gt;
or
&lt;a href=&quot;https://stylestage.dev/&quot;&gt;Style Stage&lt;/a&gt;
for my CSS.
My early websites
(back in the 00s)
all had multiple
‘&lt;a href=&quot;https://alistapart.com/article/alternate/&quot;&gt;alternate stylesheets&lt;/a&gt;’
to choose from,
and I would love to do that again.&lt;/p&gt;
&lt;h3&gt;Make RSS a first-class part of the site&lt;/h3&gt;
&lt;p&gt;While I was working on WebMentions last month,
I also made major updates to my RSS feed.
But I don’t love the way browsers
display a raw xml file.
Developers may be my biggest audience,
but they aren’t my only audience,
and I want that link to &lt;em&gt;make sense&lt;/em&gt;
and feel like part of the site.&lt;/p&gt;
&lt;p&gt;So I looked into it,
and it seems like I can
&lt;a href=&quot;https://jonchristopher.us/blog/beginning-to-style-your-rss-feed/&quot;&gt;use XSL and CSS&lt;/a&gt;
to better design and integrate that page
as a part of the site.&lt;/p&gt;
&lt;h3&gt;Try out new CSS features (slowly)&lt;/h3&gt;
&lt;p&gt;It’s been fun
working on new CSS features
&lt;a href=&quot;https://www.miriamsuzanne.com/orgs/csswg/&quot;&gt;with the CSSWG&lt;/a&gt;,
but now that those features
(and more)
are starting to roll out in browsers
I want to use them on my site.&lt;/p&gt;
&lt;p&gt;Some of features
are available already,
or even a few years old.
Things like
&lt;code&gt;is()&lt;/code&gt; &amp;amp; &lt;code&gt;:where()&lt;/code&gt;,
&lt;code&gt;min()&lt;/code&gt;/&lt;code&gt;max()&lt;/code&gt; &amp;amp; &lt;code&gt;clamp()&lt;/code&gt;,
variable fonts,
&lt;code&gt;color-scheme&lt;/code&gt;/&lt;code&gt;accent-color&lt;/code&gt;,
and &lt;a href=&quot;https://www.miriamsuzanne.com/2022/02/21/layers-guide/&quot;&gt;Cascade Layers&lt;/a&gt;.
Some of those were already
being used in the old design,
but this time I get to design around them from the start.&lt;/p&gt;
&lt;p&gt;Over the next months and years
I also hope to start playing with
size-based container queries &amp;amp; query units,
scope,
subgrid,
&lt;a href=&quot;https://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/&quot;&gt;new color spaces&lt;/a&gt;
(&lt;code&gt;okLCH&lt;/code&gt;/&lt;code&gt;display-P3&lt;/code&gt;),
and more.&lt;/p&gt;
&lt;p&gt;I want to take this slow.
Start simple,
and build more interesting themes
as the various features arrive.
That means keeping things simple
for as long as possible,
so it’s easy to integrate new ideas
without major rewrites.&lt;/p&gt;
&lt;h3&gt;Highlight user customizations&lt;/h3&gt;
&lt;p&gt;As part of the previous design,
I launched
&lt;a href=&quot;https://www.oddbird.net/cascading-colors/&quot;&gt;Cascading Color Systems&lt;/a&gt; –
a tool for giving users
total control over the colors on the site.
That was inspired by Håkon Lie’s
&lt;a href=&quot;https://www.w3.org/People/howcome/p/cascade.html&quot;&gt;original 1994 CSS proposal&lt;/a&gt;,
which includes the following
text-art diagram:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        User            Author
 Font   o-----x--------------o 64%
 Color  o-x------------------o 90%
 Margin o-------------x------o 37%
 Volume o---------x----------o 50%
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I still want to explore that idea
of making the site design interactive,
but I don’t want to keep relying on
HSL colors to make it happen.
For now, I’ve removed Cascading Colors,
while I rethink the approach.&lt;/p&gt;
&lt;p&gt;I’d also like to expose the ways
a CSS design is &lt;em&gt;layered&lt;/em&gt; –
from specified initial values,
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/07/04/body-margin-8px/&quot;&gt;user agent defaults&lt;/a&gt;,
resets, global typography,
layouts, components, etc.
&lt;em&gt;It’s a cascade!&lt;/em&gt;
What if users could turn on and off
the various Cascade &lt;em&gt;origins&lt;/em&gt;,
and &lt;em&gt;layers&lt;/em&gt;
to see how the site looks
at different steps of the process?
Check out the &lt;a href=&quot;https://www.miriamsuzanne.com/2022/08/07/minimal/#settings&quot;&gt;Theme Settings&lt;/a&gt; below,
for a first-draft of the idea.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NazUUgVQiO-640.avif 640w, https://www.miriamsuzanne.com/img/NazUUgVQiO-960.avif 960w, https://www.miriamsuzanne.com/img/NazUUgVQiO-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Buttons for spec, browser, reset, default, features, layout, and theme&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/NazUUgVQiO-640.jpeg&quot; width=&quot;1600&quot; height=&quot;371&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NazUUgVQiO-640.jpeg 640w, https://www.miriamsuzanne.com/img/NazUUgVQiO-960.jpeg 960w, https://www.miriamsuzanne.com/img/NazUUgVQiO-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    A way of turning CSS layers on and off...
    These settings were also saved in `localStorage`,
    so they persist across visits.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This idea is absolutely
inspired by the personal site of
&lt;a href=&quot;https://ichimnetz.com/&quot;&gt;Nils Binder&lt;/a&gt;.
Nils provides a slider from 0 to 865 lines of CSS,
with animated transitions between the styles.
It’s a lot of fun,
and I recommend checking it out.&lt;/p&gt;
&lt;h2&gt;The order of things&lt;/h2&gt;
&lt;p&gt;My instinct was to strip out all CSS,
and then work on getting the HTML cleaned up
while my site remains ‘naked’ of style.
I didn’t quite do that,
but I’m aiming for something close.
Here’s what I’ve done so far:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remove the old CSS (done)&lt;/li&gt;
&lt;li&gt;Begin re-arranging the HTML &amp;amp; Nunjucks templates&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@layer reset&lt;/code&gt; »
just the bare minimum needed
for HTML tags and attributes to work the way I expect,
starting from &lt;a href=&quot;https://github.com/jensimmons/cssremedy&quot;&gt;CSS Remedy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@layer default&lt;/code&gt; »
just enough colors &amp;amp; typography
to make the site feel usable to me,
without making decisions about
how I’m going to theme it long-term.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@layer theme&lt;/code&gt; »
adds a few site-specific features and opinions
on top of the typographic defaults.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The distinction between layers is still fluid,
as I try to figure out what I’m doing.
I’ll keep adjusting the &lt;code&gt;reset&lt;/code&gt; and &lt;code&gt;default&lt;/code&gt; styles as I go,
but hope to leave the &lt;code&gt;theme&lt;/code&gt; layer
as minimal as possible,
while I focus on the architectural issues.&lt;/p&gt;
&lt;p&gt;For now,
the &lt;code&gt;default&lt;/code&gt; layer has colors based roughly on Firefox
&lt;a href=&quot;https://www.w3.org/TR/css-color-4/#css-system-colors&quot;&gt;CSS System Colors&lt;/a&gt;.
I experimented briefly with using
the System Colors directly,
but support seems a bit inconsistent,
and there are additional accessibility considerations
with that approach.
I might revisit in the future.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;theme&lt;/code&gt; layer colors
are based on &lt;a href=&quot;https://www.w3.org/TR/css-color-4/#named-colors&quot;&gt;Named Colors&lt;/a&gt;,
with some minor adjustments for accessible contrast.
While &lt;code style=&quot;--color-tile:darkslategray&quot;&gt;darkslategray&lt;/code&gt;
works fine as a text &lt;code&gt;color&lt;/code&gt;
over &lt;code style=&quot;--color-tile:azure&quot;&gt;azure&lt;/code&gt;
in &lt;code&gt;light&lt;/code&gt; mode,
I used Sass to darken it
as a &lt;code&gt;background-color&lt;/code&gt; in &lt;code&gt;dark&lt;/code&gt; mode,
providing enough contrast for my accent colors as well.
The result is
&lt;code style=&quot;--color-tile:hsl(180deg 25% 6%)&quot;&gt;hsl(180deg 25% 6%)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;There’s a lot more to do.
WebMentions are temporarily hidden,
RSS isn’t highlighted in the nav or styled,
and all content still looks the same in a list –
but I have to start somewhere.
We’ll see where it goes (slowly).&lt;/p&gt;
&lt;h2&gt;Some links I’ve been keeping open while I work&lt;/h2&gt;
&lt;p&gt;Articles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.robinrendle.com/notes/the-smallest-css/&quot;&gt;The Smallest CSS&lt;/a&gt;
by &lt;strong&gt;Robin Rendle&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://benmyers.dev/blog/semantic-selectors/&quot;&gt;Style with Stateful, Semantic Selectors&lt;/a&gt;
by &lt;strong&gt;Ben Myers&lt;/strong&gt; (with links to several others)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jonchristopher.us/blog/beginning-to-style-your-rss-feed/&quot;&gt;Beginning to Style Your RSS Feed&lt;/a&gt;
by &lt;strong&gt;Jon Christopher&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tink.uk/&quot;&gt;tink&lt;/a&gt;
(Léonie did a lovely redesign recently, with tags for navigation)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://indiewebify.me/&quot;&gt;IndieWebify.Me&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://microformats.org/wiki/microformats2&quot;&gt;microformats&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://humanebydesign.com/&quot;&gt;Humane by Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://enes.in/sorted-colors/&quot;&gt;Sorted Colors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://contrast-ratio.com/&quot;&gt;Contrast Ratio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>2 days of cordwainery</title>
    <link href="https://www.miriamsuzanne.com/2022/07/12/shoe-school/" />
    <updated>2022-07-12T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/07/12/shoe-school/</id>
    <content type="html">
      &lt;p&gt;Erin and I spent a couple days last week
at the &lt;a href=&quot;https://coloradoshoeschool.com/&quot;&gt;Colorado Shoe School&lt;/a&gt;
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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&lt;abbr&gt;TL;DR&lt;/abbr&gt;
Annabel (my teacher)
&lt;a href=&quot;https://www.tiktok.com/@coloradoshoeschool/video/7117676048568913198&quot;&gt;posted a tiktok&lt;/a&gt;
of my process and results –
my first outing
as an amateur
&lt;a href=&quot;https://en.wikipedia.org/wiki/Cordwainer&quot;&gt;cordwainer&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;The Shoe School&lt;/h2&gt;
&lt;p&gt;Annabel Reader and Dan Huling
are wonderful artists with a background in performance,
and started the shoe school
out of their back yard.
‘Back yard’ is entirely underselling
the magic they’ve created on their property.
We stayed in the tiny home
they converted from a 1940s train car,
between the two days of our workshop.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/5gGaCbJz8J-640.avif 640w, https://www.miriamsuzanne.com/img/5gGaCbJz8J-960.avif 960w, https://www.miriamsuzanne.com/img/5gGaCbJz8J-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A rusting vintage pickup
with Colorado Shoe School painted on the door
and a massive metal boot mounted on the cab.
Immediately behind that,
a fence of stacked wood with ends showing,
and Erin standing behind a small metal gate under a tree.
A house and barn in the background.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/5gGaCbJz8J-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/5gGaCbJz8J-640.jpeg 640w, https://www.miriamsuzanne.com/img/5gGaCbJz8J-960.jpeg 960w, https://www.miriamsuzanne.com/img/5gGaCbJz8J-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XJxXIh3cs7-640.avif 640w, https://www.miriamsuzanne.com/img/XJxXIh3cs7-960.avif 960w, https://www.miriamsuzanne.com/img/XJxXIh3cs7-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;View from the porch --
a chair draped in orange,
a stump with potted plant and cell phone,
a fire circle,
a log with a rocking-chair back,
a house to one side,
open yard, trees,
and stacked wood fence.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/XJxXIh3cs7-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XJxXIh3cs7-640.jpeg 640w, https://www.miriamsuzanne.com/img/XJxXIh3cs7-960.jpeg 960w, https://www.miriamsuzanne.com/img/XJxXIh3cs7-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    
    
    &lt;iframe src=&quot;https://www.youtube.com/embed/ysU-Oa69u5A&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

    
    
  

    
    
    &lt;iframe src=&quot;https://www.youtube.com/embed/vGMbR_idxhQ&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    The entrance &amp;amp; yard (notice the log rocking chair) –
    along with some videos about
    the school and the converted train car.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;They have several workshops available,
but we went with the two-day option –
making ‘Chuck Taylor’ style sneakers.&lt;/p&gt;
&lt;h2&gt;Day 1: Design&lt;/h2&gt;
&lt;p&gt;Day 1 was entirely dedicated to design.
We spent the morning
pulling out rolls of up-cycled leather and fabric
to see what’s available,
and sketching ideas on patterns they provided.
Since we were the only two students,
we each got a teacher to ourselves –
Erin working with Dan,
while I worked with Annabel.&lt;/p&gt;
&lt;p&gt;Erin had done the workshop before,
and came prepared with some fabric from home.
I was starting from scratch
(with almost no sewing experience),
and didn’t really have any idea
what I wanted to make.
Eventually Erin suggested I work from
some of my &lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/art/&quot;&gt;&lt;em&gt;Riding SideSaddle*&lt;/em&gt; art&lt;/a&gt;,
and Annabel helped guide me through translating
from digital collage into shoe leather.&lt;/p&gt;
&lt;p&gt;By the end of day 1
I had selected and cut out
an assortment of bright, saturated leather
for the sides,
and gold leather toe caps.
I still wasn’t sure about the design details,
but my main concept involved
using the high-top pattern for the outsides,
and creating a shoe-within-a-shoe effect
on the inside –
with high-top uppers
stitched onto a low-top base.&lt;/p&gt;
&lt;p&gt;At this point
it doesn’t look like much
(besides a lot of bright fabric),
and I think both Annabel and I
were worried about how it would come together.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/MugHbVSJor-640.avif 640w, https://www.miriamsuzanne.com/img/MugHbVSJor-960.avif 960w, https://www.miriamsuzanne.com/img/MugHbVSJor-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Top view of the work table
scattered with leather and fabric scraps,
scissors, and straight pins.
In the middle cut-out parts for one shoe --
magenta high-top outer,
with a floral fabric lacing panel,
back-to-back with a
cyan low-top inner with orange high-top upper,
and the same floral panel,
then a gold leather toe-cap.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/MugHbVSJor-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/MugHbVSJor-640.jpeg 640w, https://www.miriamsuzanne.com/img/MugHbVSJor-960.jpeg 960w, https://www.miriamsuzanne.com/img/MugHbVSJor-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EZlyKee2tP-640.avif 640w, https://www.miriamsuzanne.com/img/EZlyKee2tP-960.avif 960w, https://www.miriamsuzanne.com/img/EZlyKee2tP-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Top view cut-out parts for both shoes
laid out on the work table.
Top shoe has yellow high-top outer,
and lavender low-top inner,
with orange high-top addition.
Bottom shoe has magenta high-top outer,
with cyan low-top inner
and same orange high-top addition.
Both have the same floral lace panel,
and gold leather toe-caps.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/EZlyKee2tP-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EZlyKee2tP-640.jpeg 640w, https://www.miriamsuzanne.com/img/EZlyKee2tP-960.jpeg 960w, https://www.miriamsuzanne.com/img/EZlyKee2tP-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;My cut leather &amp;amp; fabric at the end of day 1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I guess I’m making clown shoes?&lt;/p&gt;
&lt;h2&gt;Day 2: Construction&lt;/h2&gt;
&lt;p&gt;Annabel and I both came into day two
with &lt;em&gt;ideas&lt;/em&gt; that had been brewing over night.
We agreed that the floral fabric
wasn’t matching the other ideas,
and she re-cut my lacing panels from leather,
while I began experimenting
with how to stitch the designs.&lt;/p&gt;
&lt;p&gt;It’s clear that they have a strong sense of &lt;em&gt;timing&lt;/em&gt;,
and will jump in to help with repetitive tasks
when you start to fall behind.
It’s also clear at this point I was falling behind.
Once I picked out leather for my tongues,
Annabel built the entire toe-and-tongue parts for me.&lt;/p&gt;
&lt;p&gt;We had experimented on day 1 with
sewing scraps of fabric
to create the collage effect of my art,
but I decided to simplify:
using various colors of thread
to get different stitched effects –
sketched moths, hard lines, and scribbles.
We found that it worked well
to tack down my drawings onto the leather,
and sew straight through the paper.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/cbYakwYYw7-640.avif 640w, https://www.miriamsuzanne.com/img/cbYakwYYw7-960.avif 960w, https://www.miriamsuzanne.com/img/cbYakwYYw7-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Scraps of paper and fabric on the work table,
two nested gold toe-caps sewn to rose gold tongues,
and a magenta high-top side panel
with a sketchy one-line stitched moth (wings spread),
and an awl for picking out remnants of stitched-in paper.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/cbYakwYYw7-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/cbYakwYYw7-640.jpeg 640w, https://www.miriamsuzanne.com/img/cbYakwYYw7-960.jpeg 960w, https://www.miriamsuzanne.com/img/cbYakwYYw7-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/I4yOoPoxEL-640.avif 640w, https://www.miriamsuzanne.com/img/I4yOoPoxEL-960.avif 960w, https://www.miriamsuzanne.com/img/I4yOoPoxEL-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Two hand-sketched moths with closed wings on cutout paper,
tacked to a yellow leather high-top side panel,
on the sewing machine.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/I4yOoPoxEL-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/I4yOoPoxEL-640.jpeg 640w, https://www.miriamsuzanne.com/img/I4yOoPoxEL-960.jpeg 960w, https://www.miriamsuzanne.com/img/I4yOoPoxEL-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/eOBRUUaYuw-640.avif 640w, https://www.miriamsuzanne.com/img/eOBRUUaYuw-960.avif 960w, https://www.miriamsuzanne.com/img/eOBRUUaYuw-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A heat gun setting glue on the backs of
a maroon leather high-top lining
and frankensteined low-high
with random stitches showing through.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/eOBRUUaYuw-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/eOBRUUaYuw-640.jpeg 640w, https://www.miriamsuzanne.com/img/eOBRUUaYuw-960.jpeg 960w, https://www.miriamsuzanne.com/img/eOBRUUaYuw-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/h14FwoustV-640.avif 640w, https://www.miriamsuzanne.com/img/h14FwoustV-960.avif 960w, https://www.miriamsuzanne.com/img/h14FwoustV-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;On a sewing machine,
the yellow high-top is sewn at the heal
to a lavender low-top and orange addition.
The yellow side has stitching of two moths,
and some straight black lines across,
with orange lacing panels.
The lavender side has a blue trim
and then silver-and-black stripes protruding
up and forward into the orange addition.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/h14FwoustV-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/h14FwoustV-640.jpeg 640w, https://www.miriamsuzanne.com/img/h14FwoustV-960.jpeg 960w, https://www.miriamsuzanne.com/img/h14FwoustV-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1mzF003dBq-640.avif 640w, https://www.miriamsuzanne.com/img/1mzF003dBq-960.avif 960w, https://www.miriamsuzanne.com/img/1mzF003dBq-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The shoe from above
on my aproned lap,
glued into the sole,
but still without laces.
The back of the tongue is sparkly black,
with a pink stitched scribble.
The inner lining is maroon leather.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/1mzF003dBq-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1mzF003dBq-640.jpeg 640w, https://www.miriamsuzanne.com/img/1mzF003dBq-960.jpeg 960w, https://www.miriamsuzanne.com/img/1mzF003dBq-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NXM_CDJXLg-640.avif 640w, https://www.miriamsuzanne.com/img/NXM_CDJXLg-960.avif 960w, https://www.miriamsuzanne.com/img/NXM_CDJXLg-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Shoe with a yellow &amp;amp; orange side
half-laced on the table
next to an open book of lacing varieties.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/NXM_CDJXLg-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NXM_CDJXLg-640.jpeg 640w, https://www.miriamsuzanne.com/img/NXM_CDJXLg-960.jpeg 960w, https://www.miriamsuzanne.com/img/NXM_CDJXLg-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Sewing, gluing, and building on day 2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It was surprising to me –
despite experiencing the same
in other mediums –
how much things come together
in the last few steps,
and the last hours of the day.
What seemed like a random scattering of bright colors,
came together into &lt;em&gt;actual shoes&lt;/em&gt;
I could see myself wearing.
Shoes I’ve been wearing daily for a week now.&lt;/p&gt;
&lt;p&gt;We used bike inner tubes
to cover the heal seem,
and provide a heal pull.&lt;/p&gt;
&lt;p&gt;All that’s left to do is try them on.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/UnyGwJgeTC-640.avif 640w, https://www.miriamsuzanne.com/img/UnyGwJgeTC-960.avif 960w, https://www.miriamsuzanne.com/img/UnyGwJgeTC-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Top view of my blue plaid pant-legs
wearing the completed shoes.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/UnyGwJgeTC-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/UnyGwJgeTC-640.jpeg 640w, https://www.miriamsuzanne.com/img/UnyGwJgeTC-960.jpeg 960w, https://www.miriamsuzanne.com/img/UnyGwJgeTC-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/IDidw94-PW-640.avif 640w, https://www.miriamsuzanne.com/img/IDidw94-PW-960.avif 960w, https://www.miriamsuzanne.com/img/IDidw94-PW-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Top view with feet tilted
to show off the fake low-top inside panels
of both shoes --
lavender/orange on the left,
blue/orange on the right.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/IDidw94-PW-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/IDidw94-PW-640.jpeg 640w, https://www.miriamsuzanne.com/img/IDidw94-PW-960.jpeg 960w, https://www.miriamsuzanne.com/img/IDidw94-PW-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/noNBQLkV9j-640.avif 640w, https://www.miriamsuzanne.com/img/noNBQLkV9j-960.avif 960w, https://www.miriamsuzanne.com/img/noNBQLkV9j-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Low angle me wearing the shoes,
right foot inside has lavender low-top with blue lining
that transitions to silver/black stripes and orange upper.
Left foot outside is magenta with yellow lace panel.
Both have a mix of tan stitched art,
black stitched horizontal lines,
and red stitched scribbles.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/noNBQLkV9j-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/noNBQLkV9j-640.jpeg 640w, https://www.miriamsuzanne.com/img/noNBQLkV9j-960.jpeg 960w, https://www.miriamsuzanne.com/img/noNBQLkV9j-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/n_WzxOofIv-640.avif 640w, https://www.miriamsuzanne.com/img/n_WzxOofIv-960.avif 960w, https://www.miriamsuzanne.com/img/n_WzxOofIv-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Low angle reverse wearing the shoes,
right foot outside is yellow with orange lacing panel.
Left foot inside is blue low-top with orange lining
that transitions to silver/black stripes and orange upper&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/n_WzxOofIv-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/n_WzxOofIv-640.jpeg 640w, https://www.miriamsuzanne.com/img/n_WzxOofIv-960.jpeg 960w, https://www.miriamsuzanne.com/img/n_WzxOofIv-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/CcrMWEogRy-640.avif 640w, https://www.miriamsuzanne.com/img/CcrMWEogRy-960.avif 960w, https://www.miriamsuzanne.com/img/CcrMWEogRy-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Erin&#39;s low-top shoes on my lap --
mostly flat black-and-white,
with cutout circles revealing black-and-white patterns beneath.
They have black toe caps, bright yellow laces,
and angular black stitching across the circles.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/CcrMWEogRy-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/CcrMWEogRy-640.jpeg 640w, https://www.miriamsuzanne.com/img/CcrMWEogRy-960.jpeg 960w, https://www.miriamsuzanne.com/img/CcrMWEogRy-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/0eXwWFOhQw-640.avif 640w, https://www.miriamsuzanne.com/img/0eXwWFOhQw-960.avif 960w, https://www.miriamsuzanne.com/img/0eXwWFOhQw-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup of my shoes on my lap in the car.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/0eXwWFOhQw-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/0eXwWFOhQw-640.jpeg 640w, https://www.miriamsuzanne.com/img/0eXwWFOhQw-960.jpeg 960w, https://www.miriamsuzanne.com/img/0eXwWFOhQw-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    Trying them on in the workshop,
    and some closeups on the ride home
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;A little more&lt;/h2&gt;
&lt;p&gt;During the two-days of the workshop,
I got my tan stitched moths,
black stitched perpendicular lines,
and red stitched scribbles.
All that’s missing are a bunch of tiny errors!&lt;/p&gt;
&lt;p&gt;When I got home,
I ran some tests
with red &amp;amp; black fine-tip sharpies
on scraps of leather.
Only the black is consistently visible,
so I went with it.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Kn0_C17dMh-640.avif 640w, https://www.miriamsuzanne.com/img/Kn0_C17dMh-960.avif 960w, https://www.miriamsuzanne.com/img/Kn0_C17dMh-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Two Sharpies on top of
multi-colored scraps of leather,
with little arrows drawn in black and red.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Kn0_C17dMh-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Kn0_C17dMh-640.jpeg 640w, https://www.miriamsuzanne.com/img/Kn0_C17dMh-960.jpeg 960w, https://www.miriamsuzanne.com/img/Kn0_C17dMh-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;p&gt;Now I’ve been wearing the shoes for a week,
and I love them.
I’m on the road this week,
exploring southwest Colorado,
but here are some more closeups I took
in the hotel room:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/5vv0XzHNGR-640.avif 640w, https://www.miriamsuzanne.com/img/5vv0XzHNGR-960.avif 960w, https://www.miriamsuzanne.com/img/5vv0XzHNGR-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup inside right shoe,
false low-top in blue leather with
red scribbles, black lines and arrows, purple lining,
and orange lace panels --
into silver/black stripes and orange upper.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/5vv0XzHNGR-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/5vv0XzHNGR-640.jpeg 640w, https://www.miriamsuzanne.com/img/5vv0XzHNGR-960.jpeg 960w, https://www.miriamsuzanne.com/img/5vv0XzHNGR-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/y_OKCcwkUg-640.avif 640w, https://www.miriamsuzanne.com/img/y_OKCcwkUg-960.avif 960w, https://www.miriamsuzanne.com/img/y_OKCcwkUg-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup inside left shoe,
false low-top in lavender leather with
red scribbles, black lines and arrows,
blue lining and lace panels --
into silver/black stripes and orange upper.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/y_OKCcwkUg-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/y_OKCcwkUg-640.jpeg 640w, https://www.miriamsuzanne.com/img/y_OKCcwkUg-960.jpeg 960w, https://www.miriamsuzanne.com/img/y_OKCcwkUg-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/oeRk7a8c7N-640.avif 640w, https://www.miriamsuzanne.com/img/oeRk7a8c7N-960.avif 960w, https://www.miriamsuzanne.com/img/oeRk7a8c7N-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup outside right shoe
in magenta leather with yellow lace panel,
tan-stitched open-wing moth sketch,
with black lines and arrows.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/oeRk7a8c7N-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/oeRk7a8c7N-640.jpeg 640w, https://www.miriamsuzanne.com/img/oeRk7a8c7N-960.jpeg 960w, https://www.miriamsuzanne.com/img/oeRk7a8c7N-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xbtxzaEIT2-640.avif 640w, https://www.miriamsuzanne.com/img/xbtxzaEIT2-960.avif 960w, https://www.miriamsuzanne.com/img/xbtxzaEIT2-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup outside left shoe
in yellow leather with orange lace panel,
two tan-stitched close-wing moth sketches,
with black lines and arrows.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/xbtxzaEIT2-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xbtxzaEIT2-640.jpeg 640w, https://www.miriamsuzanne.com/img/xbtxzaEIT2-960.jpeg 960w, https://www.miriamsuzanne.com/img/xbtxzaEIT2-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-640.avif 640w, https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-960.avif 960w, https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup front of the pair,
gold leather toe caps,
and rose gold tongues with red scribble-stitching.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-640.jpeg 640w, https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-960.jpeg 960w, https://www.miriamsuzanne.com/img/S-Wk2Xxo_S-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/HHyfDSooKI-640.avif 640w, https://www.miriamsuzanne.com/img/HHyfDSooKI-960.avif 960w, https://www.miriamsuzanne.com/img/HHyfDSooKI-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Closeup back of the pair,
with black bike inner-tube heal panel,
with printed white illegible letters &amp;amp; numbers.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/HHyfDSooKI-640.jpeg&quot; width=&quot;1500&quot; height=&quot;2000&quot; srcset=&quot;https://www.miriamsuzanne.com/img/HHyfDSooKI-640.jpeg 640w, https://www.miriamsuzanne.com/img/HHyfDSooKI-960.jpeg 960w, https://www.miriamsuzanne.com/img/HHyfDSooKI-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Two-weeks worn in, now with more arrows&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Body margin 8px</title>
    <link href="https://www.miriamsuzanne.com/2022/07/04/body-margin-8px/" />
    <updated>2022-07-04T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/07/04/body-margin-8px/</id>
    <content type="html">
      &lt;p&gt;All browsers add an &lt;code&gt;8px&lt;/code&gt; margin
on the &lt;code&gt;body&lt;/code&gt; element –
it’s part of the w3c-recommended
&lt;a href=&quot;https://drafts.csswg.org/css2/#html-stylesheet&quot;&gt;default stylesheet&lt;/a&gt;
which browsers generally use
as a starting point
for their own ‘user agent’ styles.
But why &lt;code&gt;8px&lt;/code&gt;?
Where does that come from?&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;h2&gt;Initial values vs browser defaults&lt;/h2&gt;
&lt;p&gt;Every property in CSS has an &lt;em&gt;initial value&lt;/em&gt;.
That initial value is the same
for all elements across the entire web.
The &lt;a href=&quot;https://www.w3.org/TR/css-display/#the-display-properties&quot;&gt;initial value of &lt;code&gt;display&lt;/code&gt;&lt;/a&gt;
is &lt;code&gt;inline&lt;/code&gt;,
and the &lt;a href=&quot;https://www.w3.org/TR/css-box/#margin&quot;&gt;initial value of every &lt;code&gt;margin&lt;/code&gt; property&lt;/a&gt;
is &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Initial values are used
when no other value is specified by the &lt;em&gt;Cascade&lt;/em&gt;,
or &lt;em&gt;inherited&lt;/em&gt; from elsewhere.
We can also revert our styles explicitly
to their initial value
using the &lt;code&gt;initial&lt;/code&gt; keyword.&lt;/p&gt;
&lt;p&gt;But if we stop there,
initial values don’t provide a great
reading experience.
When all the properties are the same
on all the elements,
there’s no visual differentiation between
a link, a paragraph, a heading, or a list.
We can see that
by using the
&lt;a href=&quot;https://www.miriamsuzanne.com/2019/11/02/most-normal/&quot;&gt;Ultimate CSS Reset&lt;/a&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* you can&#39;t get any more &#39;reset&#39; than this */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; initial &lt;span class=&quot;token important&quot;&gt;!important&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is why we need &lt;strong&gt;browser styles&lt;/strong&gt;,
which provide &lt;em&gt;different defaults&lt;/em&gt;
from one element to the next.
Some elements should be &lt;code&gt;display: block&lt;/code&gt;
(divs, paragraphs, lists, headings, etc),
and some of those elements
should have margins on them
to improve readability.&lt;/p&gt;
&lt;p&gt;We can revert any property on a given element
to the browser default style
by using the &lt;code&gt;revert&lt;/code&gt; keyword.
Technically this removes any styles from the author origin,
but since user-origin styles are rare,
it often results in styles from the browser.&lt;/p&gt;
&lt;h2&gt;Standardizing browser defaults&lt;/h2&gt;
&lt;p&gt;Browser styles are essential,
but we often only notice them
when they seem ‘wrong’ or unexpected –
and think of them
as a problem to be solved
with ‘resets’ and ‘normalization’.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Resets&lt;/em&gt; remove defaults to achieve a more ‘blank canvas’&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Normalizers&lt;/em&gt; attempt to make the defaults more consistent across browsers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The CSS Working Group
and browser vendors
also understand that default styles work best
when they are more consistent
across different browsers.
While browsers are free to
provide whatever styles they want,
most browser defaults can be traced back
to the (non-normative)
&lt;a href=&quot;https://drafts.csswg.org/css2/#html-stylesheet&quot;&gt;default style sheet&lt;/a&gt;
provided in the CSS specifications.&lt;/p&gt;
&lt;p&gt;&lt;s&gt;I’m not sure if there’s a more recent version somewhere,
but I couldn’t find it?&lt;/s&gt;&lt;/p&gt;
&lt;call-out&gt;
&lt;p&gt;&lt;strong&gt;Update 2022-07-27&lt;/strong&gt;:
The recommended default styles
are now part of the
&lt;a href=&quot;https://html.spec.whatwg.org/multipage/rendering.html#rendering&quot;&gt;HTML Living Standard&lt;/a&gt;,
rather than the CSS specification.&lt;/p&gt;
&lt;/call-out&gt;
&lt;details data-pattern=&quot;figure&quot;&gt;
&lt;summary&gt;CSS 2.2 default style sheet&lt;/summary&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;html, address,
blockquote,
body, dd, div,
dl, dt, fieldset, form,
frame, frameset,
h1, h2, h3, h4,
h5, h6, noframes,
ol, p, ul, center,
dir, hr, menu, pre&lt;/span&gt;   &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;unicode-bidi&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; embed &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;li&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; flow-item &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;head&lt;/span&gt;            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;table&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;tr&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-row &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;thead&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-header-group &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;tbody&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-row-group &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;tfoot&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-footer-group &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;col&lt;/span&gt;             &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-column &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;colgroup&lt;/span&gt;        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-column-group &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;td, th&lt;/span&gt;          &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-cell &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;caption&lt;/span&gt;         &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; table-caption &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;th&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bolder&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;caption&lt;/span&gt;         &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;body&lt;/span&gt;            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 8px &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h1&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 2em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .67em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h2&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.5em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .75em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h3&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.17em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .83em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h4, p,
blockquote, ul,
fieldset, form,
ol, dl, dir,
menu&lt;/span&gt;            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.12em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h5&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .83em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.5em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h6&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .75em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.67em 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;h1, h2, h3, h4,
h5, h6, b,
strong&lt;/span&gt;          &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bolder &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;blockquote&lt;/span&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin-left&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin-right&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;i, cite, em,
var, address&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; italic &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;pre, tt, code,
kbd, samp&lt;/span&gt;       &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; monospace &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;pre&lt;/span&gt;             &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;white-space&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; pre &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;button, textarea,
input, select&lt;/span&gt;   &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; inline-block &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;big&lt;/span&gt;             &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.17em &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;small, sub, sup&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .83em &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;sub&lt;/span&gt;             &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; sub &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;sup&lt;/span&gt;             &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; super &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;table&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;border-spacing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 2px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;thead, tbody,
tfoot&lt;/span&gt;           &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; middle &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;td, th, tr&lt;/span&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; inherit &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;s, strike, del&lt;/span&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; line-through &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;hr&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1px inset &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;ol, ul, dir,
menu, dd&lt;/span&gt;        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin-left&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;ol&lt;/span&gt;              &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; decimal &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;ol ul, ul ol,
ul ul, ol ol&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin-top&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0 &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;u, ins&lt;/span&gt;          &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; underline &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;br:before&lt;/span&gt;       &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&#92;A&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;white-space&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; pre-line &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;center&lt;/span&gt;          &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;:link, :visited&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; underline &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;:focus&lt;/span&gt;          &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;outline&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; thin dotted invert &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* Begin bidirectionality settings (do not change) */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;BDO[DIR=&quot;ltr&quot;]&lt;/span&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;direction&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ltr&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;unicode-bidi&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bidi-override &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;BDO[DIR=&quot;rtl&quot;]&lt;/span&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;direction&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; rtl&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;unicode-bidi&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bidi-override &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;*[DIR=&quot;ltr&quot;]&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;direction&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ltr&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;unicode-bidi&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; embed &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;*[DIR=&quot;rtl&quot;]&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;direction&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; rtl&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;unicode-bidi&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; embed &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@media&lt;/span&gt; print&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token selector&quot;&gt;h1&lt;/span&gt;            &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;page-break-before&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; always &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token selector&quot;&gt;h1, h2, h3,
  h4, h5, h6&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;page-break-after&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; avoid &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token selector&quot;&gt;ul, ol, dl&lt;/span&gt;    &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;page-break-before&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; avoid &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;p&gt;Some of those default styles seem obvious –
block elements should have block display,
table elements need table displays,
and list elements need list displays.
Headings get larger, bolder text.
But other default styles
seem pretty arbitrary.
About a third of the way down,
we find this one:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;body&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 8px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It makes some sense to me
that we would want some default spacing
around the edges of our document,
but why &lt;code&gt;8px&lt;/code&gt;?
Where did that come from?&lt;/p&gt;
&lt;h2&gt;Nothing ever goes away completely&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;default style sheet&lt;/em&gt;
isn’t only there
to ensure consistency between browsers,
but also to ensure
consistency across time.
The entire web is designed
to be forwards-and-backwards compatible.
That doesn’t mean the web is static –
we’re getting new features all the time –
but it means those new features
should never break existing websites.&lt;/p&gt;
&lt;p&gt;On rare occasions
a browser will decide to break existing sites
if there are privacy or security issues.
But we do everything we can
to avoid those situations.
And often,
browsers will choose to ‘deprecate’
a feature (like the old &lt;code&gt;marquee&lt;/code&gt; element)
without actually removing support.&lt;/p&gt;
&lt;p&gt;Browser default styles follow a similar pattern.
Since CSS was first implemented in browsers,
there have been default browser styles.
And, while browsers add new defaults on occasion,
it’s very uncommon to remove an old default.
There’s too much potential
to break sites that relied on the default
when they were made.&lt;/p&gt;
&lt;p&gt;Many of the default styles
we have in browsers today
are the same defaults that existed
back when an HTML element was first introduced.&lt;/p&gt;
&lt;h2&gt;Purity vs reality in specification&lt;/h2&gt;
&lt;p&gt;There’s another rule
that impacts the development of standards –
even non-normative standards
(not officially ‘required’ for conformance)
like the default style sheet:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A standard is meaningless unless it describes reality&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;To be successful,
a standard has to be both &lt;em&gt;prescriptive&lt;/em&gt;
(telling browsers what to implement),
and also retroactively &lt;em&gt;descriptive&lt;/em&gt;
(describing what browsers actually implemented).
It’s not helpful to have a specification
that is theoretically perfect,
if it doesn’t accurately describe the web.&lt;/p&gt;
&lt;p&gt;While we often write new standards to explain
how a new feature &lt;em&gt;should&lt;/em&gt; work,
and then expect browsers to implement
the feature as specified,
that’s only the first step
in a more complicated back-and-forth process.
We also regularly revisit and revise existing standards
to reflect how features &lt;em&gt;actually&lt;/em&gt; work,
after they have been implemented.&lt;/p&gt;
&lt;p&gt;Ideally,
when an implementation doesn’t match the spec,
we want to consider that a browser issue,
and fix the browser.
But sometimes –
depending how big the change,
how many browsers would need to change,
and how many sites would be impacted –
we’ll update the specification instead.&lt;/p&gt;
&lt;p&gt;That’s not the only way we end up with
&lt;a href=&quot;https://wiki.csswg.org/ideas/mistakes&quot;&gt;mistakes in the design of CSS&lt;/a&gt;,
but it makes mistakes harder to fix
when they do show up.&lt;/p&gt;
&lt;p&gt;Again,
we’re prioritizing
&lt;em&gt;consistency&lt;/em&gt; across browsers and time,
over &lt;em&gt;theoretical purity&lt;/em&gt;
of the standards themselves.&lt;/p&gt;
&lt;h2&gt;A margin on all our bodies&lt;/h2&gt;
&lt;p&gt;Last month
I decided to track down the origins
of this style:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;body&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 8px &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I knew it was part of the
default style sheet,
and I assumed it would be a legacy style –
initially provided by one of the early browsers,
and eventually standardized
for the sake of web-and-browser consistency.&lt;/p&gt;
&lt;p&gt;But where did it come from originally?
I decided to &lt;a href=&quot;https://tweets.miriamsuzanne.com/1537986972177747968&quot;&gt;ask twitter&lt;/a&gt;,
and eventually we were able to
(mostly) track it down.&lt;/p&gt;
&lt;h3&gt;Step 1: The specification&lt;/h3&gt;
&lt;p&gt;Alan Stearns
(one of the current CSSWG chairs)
pointed me to
the first specification with &lt;code&gt;8px&lt;/code&gt; margin
in the default style sheet:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Spec-wise, it first showed up in 2003
https://w3.org/TR/2003/WD-CSS21-20030128/sample.html.
The version from the previous year had padding: 8px&lt;/p&gt;
&lt;p&gt;—@alanstearns,
&lt;a href=&quot;https://twitter.com/alanstearns/status/1537999498210779138&quot;&gt;June 17 @ 8:34pm&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Whoops, off by one. The 2003 had padding.
2004 changed to margin
https://w3.org/TR/2004/CR-CSS21-20040225/sample.html&lt;/p&gt;
&lt;p&gt;—@alanstearns,
&lt;a href=&quot;https://twitter.com/alanstearns/status/1538000075577667586&quot;&gt;June 17 @ 9:26pm&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The change from padding to margin is interesting.
But I figure
these spec style sheets
were likely describing some prior browser reality –
not inventing the style from scratch?&lt;/p&gt;
&lt;h3&gt;Step 2: The original browsers&lt;/h3&gt;
&lt;p&gt;There are several links that I revisit on occasion,
when I’m curious about the early history of CSS.
My favorite are the source documents themselves:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/People/howcome/p/cascade.html&quot;&gt;Cascading HTML style sheets – a proposal&lt;/a&gt;
by &lt;strong&gt;Håkon Lie&lt;/strong&gt;
(the proposal that became CSS)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/Style/History/&quot;&gt;Historical Style Sheet proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But there are also great articles
that tell the story of how CSS came to be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/Style/CSS20/history.html&quot;&gt;A brief history of CSS until 2016&lt;/a&gt;
by &lt;strong&gt;Bert Bos&lt;/strong&gt;
(co-author of the original CSS spec)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/look-back-history-css/&quot;&gt;A Look Back at the History of CSS&lt;/a&gt;
by &lt;strong&gt;Jay Hoffmann&lt;/strong&gt; on CSS-Tricks&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://eager.io/blog/the-languages-which-almost-were-css/&quot;&gt;The Languages Which Almost Became CSS&lt;/a&gt;
by &lt;strong&gt;Zack Bloom&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these are excellent,
and I highly recommend reading through them
to understand why this language works the way it does.&lt;/p&gt;
&lt;p&gt;That got me a list of the first browsers with CSS,
but it didn’t give me any more detail on the body margin question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For context,
IE3 was the first commercial browser with CSS.
That’s 1996.
Then Netscape 4 added some support.
Before either of those,
CSS was being tested in Argo &amp;amp; Arena…
How far back does it go???&lt;/p&gt;
&lt;p&gt;https://www.w3.org/Style/CSS20/history.html&lt;/p&gt;
&lt;p&gt;—@TerribleMia,
&lt;a href=&quot;https://tweets.miriamsuzanne.com/1538006627151818756&quot;&gt;June 17 @ 9:52pm&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Step 3: The www-talk &amp;amp; www-style archives&lt;/h3&gt;
&lt;p&gt;Of course,
most of those ‘historic style proposals’
were originally written as emails
to the
&lt;a href=&quot;https://lists.w3.org/Archives/Public/www-talk/&quot;&gt;&lt;code&gt;www-talk@w3.org&lt;/code&gt; mailing list&lt;/a&gt;,
or (later) the more focussed
&lt;a href=&quot;https://lists.w3.org/Archives/Public/www-style/&quot;&gt;&lt;code&gt;www-style@w3.org&lt;/code&gt; list&lt;/a&gt; –
both of which are well-archived,
and searchable.&lt;/p&gt;
&lt;p&gt;(One advantage of having a medium
created by a bunch of information-science nerds.)&lt;/p&gt;
&lt;p&gt;Searching the archives
lead me to an email from
Todd Fahrner in March of 1998 –
&lt;a href=&quot;https://lists.w3.org/Archives/Public/www-style/1998Mar/0092.html&quot;&gt;&lt;em&gt;Re: IE, NN and background-position: thpppt!&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My most recent revision to the “Base Stylesheet”[1] has the body margin set
to 0 and the padding set at 8 pixels. Previously I had the margin at 8
pixels, 0 padding, and the background-position set to -8px.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;[1] https://www.verso.com/agitprop/corestyle/base.html&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s an email thread
about the proper handling
of background-images,
so not exactly on topic,
but there’s our 8px padding-or-margin on the body.&lt;/p&gt;
&lt;h3&gt;Step 4: The wayback machine&lt;/h3&gt;
&lt;p&gt;That reference link is broken,
so I jumped over to
&lt;a href=&quot;https://web.archive.org/&quot;&gt;The WayBack Machine&lt;/a&gt;
to see if there was an archived copy –
and there are several!&lt;/p&gt;
&lt;p&gt;First, I landed on
&lt;a href=&quot;https://web.archive.org/web/19990222082453/https://www.verso.com/agitprop/corestyle/base.html&quot;&gt;The Base Stylesheet - February 22, 1999&lt;/a&gt;,
which claims it was &lt;em&gt;last modified 7 November 1998&lt;/em&gt;.
Then I clicked through to the earliest archive of the page –
&lt;a href=&quot;https://web.archive.org/web/19990222082453/https://www.verso.com/agitprop/corestyle/base.html&quot;&gt;The Base Stylesheet - January 30, 1998&lt;/a&gt; –
which says it was &lt;em&gt;last modified 07/04/2022 16:39:51 GMT&lt;/em&gt;
(the exact moment I loaded the page).&lt;/p&gt;
&lt;p&gt;Wait, what?
Inspecting the source code,
I found this:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  This is a work in progress, last modified
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;span class=&quot;token language-javascript&quot;&gt;document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;lastModified&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;noscript&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;quite recently&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;noscript&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; GMT...
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;p&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I assume the &lt;code&gt;document.lastModified&lt;/code&gt; is getting updated
by The WayBack Machine
every time we load the page?&lt;/p&gt;
&lt;h3&gt;Final answer: the base stylesheet&lt;/h3&gt;
&lt;p&gt;This is what we’ve been looking for:
the &lt;a href=&quot;https://web.archive.org/web/19990222082453/https://www.verso.com/agitprop/corestyle/base.html&quot;&gt;original default style sheet&lt;/a&gt;,
still under development.
There are a few quotes that stand out:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Base Stylesheet describes
the “consensus default” rendering of all HTML 4.0 elements
in Mosaic-derivative Web browsers
(Netscape Navigator and Microsoft Internet Explorer).
It … captures the status quo in order to move beyond it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Those are the major browser-engines at the time,
and they both trace their roots back to
the previous Mosaic browser.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Mosaic browser’s allegedly “neutral” default stylesheet
is a simple adaptation of the normative style
for (printed) scientific writings in Europe
(cf. Wanning, Frank; Internationaler Typographie
und wissenschaftliche Textverarbeitung; Haag + Herchen, 1996).
This is appropriate enough considering the Web’s origins at CERN.
In view of the Web’s far more common applications
in commerce, entertainment, journalism, and the humanities, however,
and the deeply entrenched market dominance of Mosaic-based browsers,
it is fair to say that “correct” HTML
has been infected with a reliably inappropriate style,
like a cancer or virus.&lt;/p&gt;
&lt;p&gt;The escape of the Mosaic Browser Default Stylesheet (MBDS) virus
from the scientific community at CERN
has produced Web generations of mutant tools
and authors who misapply markup solely to invoke certain MBDS effects.
The use of &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; to produce vertical whitespace
and table structures for nontabular information are signature examples.
The high reliability of such manipulation
accounts for HTML’s grotesque cannibalization beyond academia,
and the market success of architecturally incongruous HTML extensions
for symptomatic relief.
To reverse this epidemic,
it is necessary first to isolate the virus,
and expose its genes to precise and comprehensive manipulation.
The Base Stylesheet is a CSS1 model of the MBDS virus,
and the first step toward the development of “style antibodies” -
comprehensive alternative stylesheets for HTML.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lol, the snark.&lt;/p&gt;
&lt;p&gt;So there you have it.
This style sheet is meant to capture
&lt;em&gt;what was already happening before CSS existed&lt;/em&gt;
in Mosaic-based browsers,
and &lt;em&gt;recreate those styles in CSS&lt;/em&gt;.
The &lt;code&gt;8px&lt;/code&gt; spacing on the body predates CSS!
The style likely comes directly from Mosaic’s internal rules,
before CSS was invented,
so the only remaining question is
&lt;em&gt;how to represent it&lt;/em&gt; –
as either &lt;code&gt;padding&lt;/code&gt; or eventually a &lt;code&gt;margin&lt;/code&gt;.&lt;/p&gt;
&lt;details data-pattern=&quot;figure&quot;&gt;
&lt;summary&gt;Todd Fahrner&#39;s (early draft) Base Stylesheet&lt;/summary&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;A, ABBR, ACRONYM, ADDRESS, BDO, BLOCKQUOTE, BODY, BUTTON, CITE, CODE, DD, DEL,
DFN, DIV, DL, DT, EM, FIELDSET, FORM, H1, H2, H3, H4, H5, H6, HTML, IFRAME, IMG, INS,
KBD, LABEL, LI, OBJECT, OL, P, Q, SAMP, SPAN, STRONG, SUB, SUP, UL, VAR,
APPLET, B, BIG, CENTER, DIR, FONT, HR, I, MENU, PRE, S, SMALL, STRIKE, TT, U&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; transparent&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; baseline&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; disc&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; outside&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;ADDRESS, BLOCKQUOTE, BODY, DD, DIV, DL, DT, FIELDSET, FORM, H1, H2, H3, H4, H5,
H6, OL, P, UL, CENTER, DIR, HR, MENU, PRE&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;A, ABBR, ACRONYM, APPLET, BDO, BUTTON, CITE, CODE, DEL, DFN, EM, IFRAME, IMG,
INS, KBD, LABEL, OBJECT, Q,
SAMP, SPAN, STRONG, SUB, SUP, VAR, B, BIG, FONT, I, S, SMALL, STRIKE, TT, U&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; inline&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;LI&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; flow-item&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* Begin tree of inherited properties and cascades. */&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* Describes the default type, color, and link decoration specs of
Mosaic-derivative browsers to the extent and degree of granularity that users
may typically override. Uncomment for &quot;factory settings.&quot;

HTML {
  font-family: &quot;Times New Roman&quot;, Times;
  font-size: medium;
  color: black;
  background-color: #BFBFBF;
  }

PRE, TT, CODE, KBD, SAMP {
  font-family: &quot;Courier New&quot;, Courier;
  }

A:link, A:visited, A:active {
  text-decoration: underline;
  }

A:link {
  color: #0000FF;
  }

A:visited {
  color: #7F007F;
  }

A:active {
  color: #0000FF;
  }

end pre-CSS user settings */&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;HTML&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.12&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;word-spacing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;letter-spacing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-transform&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; left&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-indent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;white-space&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;BODY&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 8px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H1&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; xx-large&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .67em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H2&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; x-large&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .75em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H3&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; large&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; .83em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H4, P, BLOCKQUOTE, FIELDSET, FORM, UL, OL, DL, DIR, MENU&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.12em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H5&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; small&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.5em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H6&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; x-small&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.67em 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;H1, H2, H3, H4, H5, H6, B, STRONG&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bolder&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;BLOCKQUOTE&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin-left&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin-right&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;I, CITE, EM, VAR, ADDRESS&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-style&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; italic&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;PRE, TT, CODE, KBD, SAMP&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-family&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; monospace&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;PRE&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;white-space&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; pre&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;BIG&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; larger&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;SMALL, SUB, SUP&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; smaller&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;SUB&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; sub&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;SUP&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; super&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;S, STRIKE, DEL&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; line-through&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;HR&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1px inset&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;/* questionable */&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL, UL, DIR, MENU, DD&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;padding-left&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL LI&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; decimal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;UL LI&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; disc&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;UL UL, UL OL, UL MENU, UL DIR, MENU UL, MENU OL, MENU MENU, MENU DIR, DIR UL,
DIR OL, DIR MENU, DIR DIR, OL UL, OL OL, OL MENU, OL DIR&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin-top&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL UL, UL UL, MENU UL, DIR UL, OL MENU, UL MENU, MENU MENU, DIR MENU, OL DIR, UL
DIR, MENU DIR, DIR DIR&lt;/span&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
   &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; circle&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL OL UL, OL UL UL, OL MENU UL, OL DIR UL, OL OL MENU, OL UL MENU, OL MENU MENU,
OL DIR MENU, OL OL DIR, OL UL DIR, OL MENU DIR, OL DIR DIR, UL OL UL, UL UL UL,
UL MENU UL, UL DIR UL, UL OL MENU, UL UL MENU, UL MENU MENU, UL DIR MENU, UL OL
DIR, UL UL DIR, UL MENU DIR, UL DIR DIR, MENU OL UL, MENU UL UL, MENU MENU UL,
MENU DIR UL, MENU OL MENU, MENU UL MENU, MENU MENU MENU, MENU DIR MENU, MENU OL
DIR, MENU UL DIR, MENU MENU DIR, MENU DIR DIR, DIR OL UL, DIR UL UL, DIR MENU
UL, DIR DIR UL, DIR OL MENU, DIR UL MENU, DIR MENU MENU, DIR DIR MENU, DIR OL
DIR, DIR UL DIR, DIR MENU DIR, DIR DIR DIR&lt;/span&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; square&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;U, INS&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; underline&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;CENTER&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;CAPTION, COL, COLGROUP, LEGEND, TABLE, TBODY, TD, TFOOT, TH, THEAD, TR&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; transparent&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-decoration&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;TABLE, TBODY, TFOOT, THEAD, TR&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; block&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;background-position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; top left&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;CAPTION, LEGEND, TD, TH&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; inline&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;vertical-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; baseline&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1.33em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; black&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;word-spacing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;letter-spacing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-transform&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; none&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; left&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-indent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;white-space&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; normal&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;TH&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; bolder&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;CAPTION&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; center&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;/* not part of the legacy browser default sheet, but an obvious enhancement */&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL OL LI&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; lower-alpha&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token selector&quot;&gt;OL OL OL LI&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;list-style-type&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; lower-roman
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;h2&gt;A remedy for the MBDS virus?&lt;/h2&gt;
&lt;p&gt;The plan didn’t work out
exactly the way Todd Fahrner imagined.
That base style sheet lives on,
with a number of Mosaic-based styles intact.
There are no &lt;em&gt;comprehensive alternative stylesheets for HTML&lt;/em&gt; –
at least not from the w3c
or the browser vendors.
Both are too invested in backwards-compatibility
to make any radical changes
to the default styles of the web.&lt;/p&gt;
&lt;p&gt;If it’s going to happen,
it will have to come from web authors
who can choose to opt-in to a new stylesheet,
without worrying about backwards compatibility.
To some extent,
you can think of
various resets and normalizers
as attempts at a new comprehensive stylesheet –
tho resets generally remove too much
(relying on authors to put it all back),
and normalizers often worry more about
browser-consistency more than improved styles.&lt;/p&gt;
&lt;p&gt;This is what lead
Jen Simmons to create
&lt;a href=&quot;https://github.com/jensimmons/cssremedy&quot;&gt;CSS Remedy&lt;/a&gt;.
(I’m one of the core contributors,
though there hasn’t been much work on it recently).
The goal is to re-imagine a ‘default’ stylesheet
for the modern web.
What would we come up with now,
if we weren’t constrained
by what Mosaic did almost 30 years ago?
There’s still a lot of discussion,
but one thing is clear
&lt;a href=&quot;https://github.com/jensimmons/cssremedy/blob/master/css/remedy.css#L47&quot;&gt;on line 47 of the main remedy stylesheet&lt;/a&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;body&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For the most part,
CSS Remedy isn’t trying to make things pretty –
just trying to provide a better default.
There are also projects
that take a more opinionated approach,
providing fully-designed styles for basic HTML elements.&lt;/p&gt;
&lt;p&gt;Last month,
Robin Rendle posted some thoughts
on &lt;a href=&quot;https://www.robinrendle.com/notes/the-smallest-css/&quot;&gt;The Smallest CSS&lt;/a&gt; –
&lt;em&gt;What’s the smallest amount of CSS that you can write
to make HTML look halfway decent?&lt;/em&gt;
It’s a great little exploration,
landing on about 15 lines of CSS.&lt;/p&gt;
&lt;p&gt;I also appreciate the
&lt;a href=&quot;https://css-tricks.com/no-class-css-frameworks/&quot;&gt;‘no-class frameworks’&lt;/a&gt; –
based entirely on writing semantic html,
without any need for special selectors.
Here are some more
&lt;a href=&quot;https://github.com/dbohdan/classless-css&quot;&gt;classless CSS libraries&lt;/a&gt;
to look at.&lt;/p&gt;
&lt;p&gt;I’m tempted to try something like that myself.
We’ll see.
Maybe this site is almost due
for a refresh.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>The gray areas of HWB color</title>
    <link href="https://www.miriamsuzanne.com/2022/06/29/hwb-clamping/" />
    <updated>2022-06-29T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/06/29/hwb-clamping/</id>
    <content type="html">
      &lt;p&gt;Working on Sass
&lt;a href=&quot;https://www.miriamsuzanne.com/specs/sass-color-spaces/&quot;&gt;support for color spaces&lt;/a&gt;,
I ran into a question
about the proper handling of &lt;code&gt;hwb()&lt;/code&gt; colors.
That lead me down a rabbit hole,
exploring the edges of hwb
(and powerless color channels) in CSS.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;h2&gt;Intro to HWB colors&lt;/h2&gt;
&lt;p&gt;The HWB format has been around in design tools
for a long time,
but it is fairly recent on the web.
It works by taking a fully-saturated &lt;code&gt;hue&lt;/code&gt;,
and then mixing in &lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt;
to achieve less-saturated
lighter and darker variants.
For any given hue,
you can visualize a triangle
with a fully saturated color in one corner,
and then white and black in the other corners.
This is how the old Chrome color picker
used to show HWB color:&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/800_lJrXzs-545.avif 545w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;color picker with an outer wheel for selecting hue, and an inner triangle for selecting relative amounts of white and black&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/800_lJrXzs-545.jpeg&quot; width=&quot;545&quot; height=&quot;309&quot;&gt;&lt;/picture&gt;

&lt;/figure&gt;
&lt;p&gt;The side of the triangle
across from our saturated-hue corner
is entirely grayscale –
the line at which
&lt;code&gt;blackness&lt;/code&gt; and &lt;code&gt;whiteness&lt;/code&gt; together
reach &lt;code&gt;100%&lt;/code&gt;,
and wash out any contribution from the &lt;code&gt;hue&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I think it’s a pretty good model
for adjusting colors.
Mixing with white or black
is often the best way to ‘lighten’ or ‘darken’
a color.
Under the hood,
HWB still relies on RGB color math
(which is not perceptually uniform)
and the sRGB color space
(which is fairly limited) –
but that’s also true of the more popular HSL format.&lt;/p&gt;
&lt;h2&gt;HWB in CSS&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;hwb()&lt;/code&gt; function in CSS
expects a hue angle (usually in degrees)
and two percentages representing
the amount of ‘whiteness’ and ‘blackness’
to mix in:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* a bright cyan with only slight whiteness &amp;amp; blackness */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hwb&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;180deg 5% 10%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Because we’re using numbers here
instead of a triangle,
it’s possible for the combined &lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt;
to overshoot &lt;code&gt;100%&lt;/code&gt;.
If you lay the results out in a table,
the triangle is still visible –
where the combined &lt;code&gt;whiteness&lt;/code&gt; &amp;amp; &lt;code&gt;blackness&lt;/code&gt;
are less than or equal to &lt;code&gt;100%&lt;/code&gt; –
but we also see a reflected grayscale triangle
where the combined values are greater than &lt;code&gt;100%&lt;/code&gt;:&lt;/p&gt;
&lt;figure&gt;
  &lt;hwb-color-table data-format=&quot;hwb&quot; role=&quot;img&quot; aria-label=&quot;gradient black through cyan to white on the x axis, gray to cyan on the y axis, only the edges are gray&quot;&gt;

&lt;table-like&gt;
  &lt;t-r&gt;
    &lt;t-h&gt;&lt;/t-h&gt;
    &lt;t-h&gt;
      &lt;code&gt;w0%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w10%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w20%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w30%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w40%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w50%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w60%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w70%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w80%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w90%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;w100%&lt;/code&gt;
    &lt;/t-h&gt;
  &lt;/t-r&gt;
  &lt;t-r style=&quot;--a: 0&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b0%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 1&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b10%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 2&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b20%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 3&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b30%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 4&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b40%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 5&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b50%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 6&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b60%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 7&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b70%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 8&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b80%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 9&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b90%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 10&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;b100%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;/table-like&gt;


&lt;/hwb-color-table&gt;
  &lt;figcaption&gt;
    An HWB table of colors using &lt;code&gt;180deg hue&lt;/code&gt;,
    incrementing &lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt;
    from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;100%&lt;/code&gt;.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;That extended grayscale triangle
is useless.
There’s nothing meaningful to find out there
in the wilderness beyond &lt;code&gt;100%&lt;/code&gt; grayness –
so CSS just scales &lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt; down
until they fit the triangle again.
The rendered color &lt;code&gt;hwb(0deg 50% 50%)&lt;/code&gt;
is identical to &lt;code&gt;hwb(0deg 60% 60%)&lt;/code&gt;
and &lt;code&gt;hwb(0deg 100% 100%)&lt;/code&gt; –
because all of them have the same
relative mix of white and black
washing out the hue.&lt;/p&gt;
&lt;h2&gt;‘Powerless’ &amp;amp; ‘missing’ channels&lt;/h2&gt;
&lt;p&gt;It may be a bit strange
that we have access to
so many duplicate grays in HWB,
but there tends to be some duplication
in any color format using hue angles.
In HSL colors, for example,
a &lt;code&gt;lightness&lt;/code&gt; of either &lt;code&gt;0%&lt;/code&gt; or &lt;code&gt;100%&lt;/code&gt;
will wash out both &lt;code&gt;hue&lt;/code&gt; and &lt;code&gt;saturation&lt;/code&gt;.
The rendered color &lt;code&gt;hsl(0deg 20% 100%)&lt;/code&gt;
is identical to &lt;code&gt;hsl(0deg 60% 100%)&lt;/code&gt;
and &lt;code&gt;hsl(0deg 100% 100%)&lt;/code&gt;.
Still, that’s a much smaller portion of the table:&lt;/p&gt;
&lt;figure&gt;
  &lt;hwb-color-table data-format=&quot;hsl&quot; role=&quot;img&quot; aria-label=&quot;gradient cyan to black on the x axis, cyan to white on the y axis, the bottom right half is gray&quot;&gt;

&lt;table-like&gt;
  &lt;t-r&gt;
    &lt;t-h&gt;&lt;/t-h&gt;
    &lt;t-h&gt;
      &lt;code&gt;s0%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s10%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s20%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s30%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s40%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s50%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s60%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s70%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s80%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s90%&lt;/code&gt;
    &lt;/t-h&gt;
&lt;t-h&gt;
      &lt;code&gt;s100%&lt;/code&gt;
    &lt;/t-h&gt;
  &lt;/t-r&gt;
  &lt;t-r style=&quot;--a: 0&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l0%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 1&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l10%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 2&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l20%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 3&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l30%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 4&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l40%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 5&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l50%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 6&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l60%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 7&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l70%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 8&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l80%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 9&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l90%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;t-r style=&quot;--a: 10&quot;&gt;
    &lt;t-h&gt;
      &lt;code&gt;l100%&lt;/code&gt;
    &lt;/t-h&gt;
    &lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 0&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 1&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 2&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 3&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 4&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 5&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 6&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 7&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 8&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 9&quot;&gt;&lt;/t-d&gt;
&lt;t-d data-cell=&quot;color&quot; style=&quot;--b: 10&quot;&gt;&lt;/t-d&gt;
  &lt;/t-r&gt;
&lt;/table-like&gt;


&lt;/hwb-color-table&gt;
  &lt;figcaption&gt;
    An HSL table of colors using &lt;code&gt;180deg hue&lt;/code&gt;,
    incrementing &lt;code&gt;lightness&lt;/code&gt; and &lt;code&gt;saturation&lt;/code&gt;
    from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;100%&lt;/code&gt;.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In both HWB &amp;amp; HSL colors,
we can describe &lt;code&gt;white&lt;/code&gt; and &lt;code&gt;black&lt;/code&gt;
and a full scale of grays
using any &lt;code&gt;hue&lt;/code&gt; we want.
It doesn’t matter what &lt;code&gt;hue&lt;/code&gt; we provide
in either table –
the grayscale cells will remain the same.
In those cells, &lt;code&gt;hue&lt;/code&gt; has become &lt;em&gt;‘powerless’&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://drafts.csswg.org/css-color/&quot;&gt;CSS Color Module Level 4&lt;/a&gt;
defines a number of situations
that might result in
&lt;a href=&quot;https://drafts.csswg.org/css-color/#powerless&quot;&gt;powerless color components&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;hsl&lt;/code&gt;:
&lt;ul&gt;
&lt;li&gt;If the &lt;code&gt;saturation&lt;/code&gt; value is &lt;code&gt;0%&lt;/code&gt;, then the &lt;code&gt;hue&lt;/code&gt; channel is powerless.&lt;/li&gt;
&lt;li&gt;If the &lt;code&gt;lightness&lt;/code&gt; value is either &lt;code&gt;0%&lt;/code&gt; or &lt;code&gt;100%&lt;/code&gt;, then both the &lt;code&gt;hue&lt;/code&gt; and
&lt;code&gt;saturation&lt;/code&gt; values are powerless.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hwb&lt;/code&gt;:
&lt;ul&gt;
&lt;li&gt;If the combined &lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt; values (after normalization)
are equal to &lt;code&gt;100%&lt;/code&gt;, then the &lt;code&gt;hue&lt;/code&gt; channel is powerless.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lab&lt;/code&gt;/&lt;code&gt;oklab&lt;/code&gt;:
&lt;ul&gt;
&lt;li&gt;If the &lt;code&gt;lightness&lt;/code&gt; value is &lt;code&gt;0%&lt;/code&gt;, then both the &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; channels are
powerless.&lt;/li&gt;
&lt;li&gt;The current spec has an open issue to determine if high values of
&lt;code&gt;lightness&lt;/code&gt; (whites) should make the &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; values powerless,
but there is no clear upper boundary to rely on.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lch&lt;/code&gt;/&lt;code&gt;oklch&lt;/code&gt;:
&lt;ul&gt;
&lt;li&gt;If the &lt;code&gt;chroma&lt;/code&gt; value is 0%, then the &lt;code&gt;hue&lt;/code&gt; channel is powerless.&lt;/li&gt;
&lt;li&gt;If the &lt;code&gt;lightness&lt;/code&gt; value is &lt;code&gt;0%&lt;/code&gt;, then both the &lt;code&gt;hue&lt;/code&gt; and &lt;code&gt;chroma&lt;/code&gt; channels
are powerless.&lt;/li&gt;
&lt;li&gt;The current spec has an open issue to determine if high values of
&lt;code&gt;lightness&lt;/code&gt; (whites) should make the &lt;code&gt;hue&lt;/code&gt; and &lt;code&gt;chroma&lt;/code&gt; values powerless,
but there is no clear upper boundary to rely on.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the most part,
powerless channels are a harmless result
of representing colors through math.
But sometimes, when we want to mix or adjust colors,
a powerless component can show up suddenly
and cause issues.
Imagine a gradient from &lt;code&gt;hsl(0deg 100% 0%)&lt;/code&gt;
(black, with a powerless red hue)
through &lt;code&gt;hsl(180deg 100% 50%)&lt;/code&gt; (a bright cyan).
If we do naive math to get from one to the other –
adjusting each channel along the way –
we have to go through a full range of hues
just to get from black to cyan:&lt;/p&gt;
&lt;figure&gt;
  &lt;show-gradient aria-label=&quot;A gradient from black to cyan, passing through several other hues on the way.&quot; role=&quot;img&quot; style=&quot;--stops: hsl(0deg 100% 0%), hsl(45deg 100% 12.5%), hsl(90deg 100% 25%), hsl(135deg 100% 37.5%), hsl(180deg 100% 50%)&quot;&gt;


&lt;/show-gradient&gt;
&lt;/figure&gt;
&lt;p&gt;Lucky for us,
browsers don’t generally render gradients
using naive HSL math:&lt;/p&gt;
&lt;figure&gt;
  &lt;show-gradient aria-label=&quot;A smooth gradient from black to cyan.&quot; role=&quot;img&quot; style=&quot;--stops: hsl(0deg 100% 0%), hsl(180deg 100% 50%)&quot;&gt;


&lt;/show-gradient&gt;
&lt;/figure&gt;
&lt;p&gt;Currently browsers convert everything to &lt;code&gt;sRGB&lt;/code&gt; before mixing.
Gradients in RGB can still get muddy at times,
but there are no ‘powerless’ components –
gray scales involve an equal mix of all three channels –
so that’s a separate issue.&lt;/p&gt;
&lt;p&gt;The new spec provides a more explicit way
to ‘leave out’ a powerless channel,
so that it can’t cause issues like this.
We can use the &lt;code&gt;none&lt;/code&gt; keyword
in place of a value
to notate a &lt;a href=&quot;https://drafts.csswg.org/css-color/#missing&quot;&gt;&lt;em&gt;‘missing’&lt;/em&gt; channel&lt;/a&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* full black, the hue and saturation are powerless */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token property&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hsl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;none none 0%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Browsers are instructed
to use &lt;code&gt;none&lt;/code&gt; when they are converting
from one format to another,
if the conversion results in a powerless channel.
Rather than converting &lt;code&gt;#000&lt;/code&gt; to &lt;code&gt;hsl(0deg 0% 0%)&lt;/code&gt;,
we convert it to &lt;code&gt;hsl(none none 0%)&lt;/code&gt;
with a missing &lt;code&gt;hue&lt;/code&gt; and &lt;code&gt;saturation&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;There’s a lot more we can do with missing channels,
even using ‘impossible’ colors in interesting ways,
but I’ll leave that for a different article sometime.&lt;/p&gt;
&lt;h2&gt;Clamping vs scaling&lt;/h2&gt;
&lt;p&gt;So HWB is doing something &lt;em&gt;familiar&lt;/em&gt;,
but it’s also doing something unique.
I don’t know of any other hue-angle system
that generates a table
like the HWB example above –
where only half the cells contain
a useful color.&lt;/p&gt;
&lt;p&gt;Other color formats will &lt;em&gt;clamp&lt;/em&gt; a channel
when it goes outside the meaningful range.
These HSL colors are the same,
because percentages below &lt;code&gt;0%&lt;/code&gt; or above &lt;code&gt;100%&lt;/code&gt;
are clamped to the boundaries of that range:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;--red&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hsl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0deg 100% 50%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;--same-red-clamped&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hsl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0deg 2530% 50%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;HWB works the same way –
&lt;code&gt;whiteness&lt;/code&gt; and &lt;code&gt;blackness&lt;/code&gt;
outside the &lt;code&gt;0%-100%&lt;/code&gt; range are clamped.
But HWB has to go one step farther.
If &lt;em&gt;the sum of whiteness and blackness&lt;/em&gt; is above &lt;code&gt;100%&lt;/code&gt;,
they both have to get scaled down
while maintaining their relative ratio.
That means these colors are also the same:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;--gray&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hwb&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0deg 80% 20%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;--same-gray-scaled&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hwb&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0deg 100% 25%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;--same-gray-clamped-scaled&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;hwb&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;0deg 2530% 25%&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Wait, what’s the order of operations?&lt;/h2&gt;
&lt;p&gt;That final clamped-and-scaled color
is what caught my attention.
At first I wasn’t sure about
the order of those two operations,
and we get a different result
depending on which happens first.
Does &lt;code&gt;2530% 25%&lt;/code&gt; first get clamped to &lt;code&gt;100% 25%&lt;/code&gt;
and then further scaled down to &lt;code&gt;80% 20%&lt;/code&gt; –
or will it get scaled first to roughly &lt;code&gt;99% 1%&lt;/code&gt;,
at which point it no longer needs clamping?&lt;/p&gt;
&lt;p&gt;The answer is in the spec,
though it’s a bit subtle
and I missed it at first (emphasis added):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Values outside of these ranges are not invalid,
but are clamped to the ranges defined here at computed-value time.
If the sum of these two arguments is greater than 100%,
then at computed-value time they are
&lt;strong&gt;further normalized&lt;/strong&gt; to add up to 100%,
with the same relative ratio.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At first that seemed like a mistake –
why not maintain the ratio where we can? –
but in practice it makes sense.
We have to clamp the lower boundary,
since negative values have no meaning,
so it’s reasonable to start by treating the upper boundary
in the same way.&lt;/p&gt;
&lt;p&gt;Out-of-range percentages are meaningless,
and corrected like a typo,
but redundant grays
are a natural outcome of the math –
still meaningful,
even if they aren’t that useful.&lt;/p&gt;
&lt;h2&gt;The answer to my question&lt;/h2&gt;
&lt;p&gt;All of that,
just to show you this light gray box.
It’s a ‘gradient’ of the three HWB colors above,
showing that they are actually the same color –
one defined appropriately,
one needing to be scaled,
and a final version that needs
both clamping and scaling:&lt;/p&gt;
&lt;figure&gt;
  &lt;show-gradient aria-label=&quot;A gradient that is actually just the same gray all the way along.&quot; role=&quot;img&quot; style=&quot;--stops: hwb(0deg 80% 20%), hwb(0deg 100% 25%), hwb(0deg 2530% 25%)&quot;&gt;


&lt;/show-gradient&gt;
&lt;/figure&gt;
&lt;p&gt;Sass will soon be adding support
for all these new color features,
and a few more.
If only I would stop documenting the rabbit holes,
and get back to work on the proposal.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Miriam, for the archive</title>
    <link href="https://www.miriamsuzanne.com/2022/06/17/hit-publish/" />
    <updated>2022-06-17T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/06/17/hit-publish/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve had this site for a very long time –
though the domain and the underlying tech
(and most of the content)
has shifted more than once.
Is it still the same site,
if I can just take out all the words,
and put in new words?&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;yes&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Over the last several years,
I’ve leaned –
or devolved? –
into an approach that is not quite
&lt;a href=&quot;https://maggieappleton.com/garden-history&quot;&gt;digital gardening&lt;/a&gt;
but also not ‘posting’ in a blog format.
It’s become almost
a retroactive digital archive of shifting,
cross-referenced,
projects and events.
A digital timeline
of what happened along the way.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;I have found
there are sometimes
good reasons to
&lt;a href=&quot;https://www.nngroup.com/articles/link-promise/&quot;&gt;break a promise&lt;/a&gt;&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Lately I’ve been
feeling the &lt;em&gt;evaporative&lt;/em&gt;
nature of so many art projects.
I work hard,
I’m proud of the work,
but once it’s done
it becomes…
one more markdown entry to file away
with yaml metadata
in this digital cabinet.&lt;/p&gt;
&lt;p&gt;A semi-sorted mound of detritus –
the results of living,
trying things,
changing my mind,
and trying something else.
A curriculum vitae,
with too much color and detail.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;let me show you the lovely flier
from my latest
&lt;a href=&quot;https://www.miriamsuzanne.com/theater/pity-fear/&quot;&gt;live performance&lt;/a&gt;
and a single line
documenting &lt;a href=&quot;https://www.miriamsuzanne.com/theater/newworld/danny-deep/lights/&quot;&gt;my first one&lt;/a&gt;&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;That feeling has bled into
my relationship with social media.
I have a thought.
I hit publish.
There is no middle step.
I hit the nearest publish button I can find.
It’s on Twitter.
A momentary live performance,
and then…&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;15 years on that site,
and all I have to show for it
are a load of lovely friends,
some acquaintances who seem swell,
a weirdly web-obsessed audience,
and a few reply guys&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Somehow that all leads us here.
An attempt at reviving
something more alive
&lt;em&gt;inside the archive itself&lt;/em&gt;.
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/06/04/indiweb/&quot;&gt;Adding WebMentions&lt;/a&gt;,
cleaning up the RSS feed,
and writing more…
short notes?&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;have a thought,
add a commit message,
wait for Netlify to publish&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;I’ve also been
reviving and curating my
Feedly account,
to get back in the habit
of following other personal sites.
Maybe even responding to them here?
Who knows,
maybe there’s something to this
idea of a
&lt;a href=&quot;https://chriscoyier.net/2022/04/29/rss-3/&quot;&gt;slow social&lt;/a&gt;
back-and-forth.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;this is a reply to
&lt;a href=&quot;https://matthiasott.com/notes/just-put-stuff-out-there&quot; class=&quot;u-in-reply-to&quot;&gt;
Matthias Ott&lt;/a&gt;,
but you wouldn’t know it yet&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;I’m attempting
to develop a new habit,
with this site at the center.
Not to post more or less,
but to think more carefully
about what I want from posting
in the first place.
There’s no folder full of draft articles,
or trello board of ideas,
or resolution to post every day.
Only a mental reminder
that
&lt;em&gt;I’m already posting
all the time&lt;/em&gt;.
Sharing,
replying,
testing ideas,
having a laugh.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Social posting.&lt;/em&gt;
It’s a way of thinking out loud,
and building relationships.
I’m just not doing it here.
Platforms like Twitter
make the flow of conversation so easy.
Too easy, sometimes.
Other times, just right.&lt;/p&gt;
&lt;p&gt;I don’t want to lose that.
But what if some of those thoughts –
some parts of the conversation –
could also have a home
(and a longer life) here?
What if this site wasn’t only a log of past events,
but a place where &lt;em&gt;something can happen&lt;/em&gt;?
Something social, even?&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;syndication really is cool sometimes&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;The latest post from Matthias
is a lovely reminder
urging us all to
&lt;a href=&quot;https://matthiasott.com/notes/just-put-stuff-out-there&quot;&gt;Just Put Stuff Out There&lt;/a&gt; –
with a well-deserved shout-out
to Chris Coyier’s
regular short posts
across a wide range of topics.
Both Chris and Matthias
have been a big inspiration
in pushing me to try this.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;it would be super embarrassing
if this short note spirals into a long one&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;I already put stuff out there.
The problem I have here is a little different.
I tend towards the extremes.
I will either write
the most in-depth
&lt;a href=&quot;https://css-tricks.com/css-cascade-layers/&quot;&gt;complete guide&lt;/a&gt;
possible –
or I will condense the entire thought
&lt;a href=&quot;https://tweets.miriamsuzanne.com/1534946918509342726&quot;&gt;into 240 characters&lt;/a&gt;
and hit send.&lt;/p&gt;
&lt;p&gt;When I do start to get precious –
&lt;em&gt;ahem&lt;/em&gt; –
it is absolutely helpful to remember
I can ‘just hit publish’.
But right now
it also feels helpful to take a second
and ask:
&lt;em&gt;What happens after I publish&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;I spent hours writing this,
and yes, I’m thoroughly embarrassed&lt;/em&gt;)&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;(an after-thought, a chaser, a postscript)&lt;/h2&gt;
&lt;p&gt;I spent part of my summer
in 2012 at the
&lt;a href=&quot;https://www.miriamsuzanne.com/education/naropa/&quot;&gt;Naropa Summer Writing Program&lt;/a&gt;.
It’s a weird place,
and I had a lovely time.
Between classes,
there were often large group gatherings
in the auditorium.&lt;/p&gt;
&lt;p&gt;Naropa keeps audio documentation
of every event on campus –
a tradition that goes back years.
Somewhere along the way,
it also became tradition to acknowledge that
when speaking.
Anyone who was handed a microphone
would prefix their thought
with the same strange phrase
(using their own name).
Here it type:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Miriam Suzanne, for the archive –&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Complex vs compound selectors</title>
    <link href="https://www.miriamsuzanne.com/2022/06/15/complex-compound/" />
    <updated>2022-06-15T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/06/15/complex-compound/</id>
    <content type="html">
      &lt;p&gt;In CSS,
there are &lt;em&gt;compound selectors&lt;/em&gt;
and also &lt;em&gt;complex selectors&lt;/em&gt;,
and I never remember which is which.
Do you need to learn the difference?
Probably not.
But I’m tired of looking it up.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;From the specification:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A &lt;a href=&quot;https://drafts.csswg.org/selectors/#compound&quot;&gt;compound selector&lt;/a&gt;
is a sequence of simple selectors
that are not separated by a combinator,
and represents a set of simultaneous conditions on a single element.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Simple selectors are all the little bits –
a class, a tag, an ID, etc.
Those can be combined in various ways.&lt;/p&gt;
&lt;p&gt;These are &lt;em&gt;compound&lt;/em&gt; selectors:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;img#hero&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;a:focus&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;.only.with.all.of.these.classes&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;A &lt;a href=&quot;https://drafts.csswg.org/selectors/#complex&quot;&gt;complex selector&lt;/a&gt;
is a sequence of one or more compound selectors
separated by combinators.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Those compound selectors weren’t complex enough for you?
Try combining them!
These selectors are &lt;em&gt;complex&lt;/em&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;#hero img&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;a:focus &gt; .icon&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;.only.with ~ .all.of ~ .these.siblings&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; … &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;Simple selectors&lt;/em&gt; describe element properties,
that can get merged together
into &lt;em&gt;compound selectors&lt;/em&gt; describing entire elements,
and then joined into &lt;em&gt;complex selectors&lt;/em&gt;
that put those elements in the context of relationships.
And we can string all that together into &lt;em&gt;selector lists&lt;/em&gt;,
targeting multiple elements
based on a variety of properties and relationships.
It’s a big world out there, kids.
A big, declarative, cascading world.&lt;/p&gt;
&lt;p&gt;Now &lt;s&gt;you&lt;/s&gt; I know.
Now &lt;s&gt;you&lt;/s&gt; I can forget again,
and know exactly where to look.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>The spam has arrived</title>
    <link href="https://www.miriamsuzanne.com/2022/06/09/the-spam/" />
    <updated>2022-06-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/06/09/the-spam/</id>
    <content type="html">
      &lt;p&gt;The other day, I posted an article about
&lt;a href=&quot;https://www.miriamsuzanne.com/2022/06/04/indiweb/&quot;&gt;implementing webmentions&lt;/a&gt;
on this site.
Today, I’m battling an endless stream
of spam.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I first noticed it on a Netlify deploy preview.
A faceless mention from ‘admin’
at ‘imoneyhub’.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/JPZ5yGjJn7-640.avif 640w, https://www.miriamsuzanne.com/img/JPZ5yGjJn7-960.avif 960w, https://www.miriamsuzanne.com/img/JPZ5yGjJn7-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;screenshot: admin, June 9, 2022, mentioned this in imoneyhub.com&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/JPZ5yGjJn7-640.jpeg&quot; width=&quot;1600&quot; height=&quot;332&quot; srcset=&quot;https://www.miriamsuzanne.com/img/JPZ5yGjJn7-640.jpeg 640w, https://www.miriamsuzanne.com/img/JPZ5yGjJn7-960.jpeg 960w, https://www.miriamsuzanne.com/img/JPZ5yGjJn7-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;I assumed right away it must be spam,
but I’m glad I clicked through.
It turns out
&lt;a href=&quot;https://css-tricks.com/author/geoffgraham/&quot;&gt;Geoff Graham&lt;/a&gt;
wrote
&lt;a href=&quot;https://css-tricks.com/am-i-on-the-indieweb-yet/&quot;&gt;a lovely CSS-Tricks reply&lt;/a&gt;
about his own struggle
setting up webmentions,
and some of the Wordpress plugins
that can help.&lt;/p&gt;
&lt;p&gt;But I didn’t see a mention from CSS-Tricks
(at least not right away).
Instead,
Geoff’s post has been re-posted by ‘admin’
on a long list of random URLs,
all (web)mentioning my original post.
The webmention.io dashboard shows me all of them
(with a few legit mentions scattered through):&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/k-oR6nFZjv-640.avif 640w, https://www.miriamsuzanne.com/img/k-oR6nFZjv-960.avif 960w, https://www.miriamsuzanne.com/img/k-oR6nFZjv-1568.avif 1568w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;screenshot: Recent Webmentions, and a small-print list of faceless random urls, and a few blurred-out legit mentions&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/k-oR6nFZjv-640.jpeg&quot; width=&quot;1568&quot; height=&quot;1782&quot; srcset=&quot;https://www.miriamsuzanne.com/img/k-oR6nFZjv-640.jpeg 640w, https://www.miriamsuzanne.com/img/k-oR6nFZjv-960.jpeg 960w, https://www.miriamsuzanne.com/img/k-oR6nFZjv-1568.jpeg 1568w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;All of these mentions made it into my local cache,
but only one made it into a build.
It seems the rest were caught in a simple filter
that came from
Max Böck’s
&lt;a href=&quot;https://github.com/maxboeck/eleventy-webmentions&quot;&gt;Eleventy Webmentions&lt;/a&gt;
starter.
It’s a quick JS function
that ensures every mention has an author name
and a timestamp.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// only allow webmentions that have an author name and a timestamp&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;checkRequiredFields&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; author&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; published &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; entry&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Boolean&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;author&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Boolean&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;author&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;name&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Boolean&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;published&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That caught all but one of the spam mentions
(‘admin’ made it through!),
but it also caught the mention from CSS-Tricks,
which doesn’t include Geoff’s info,
a timestamp,
or even content.
So I already have both
false negatives and false positives
in my filtering. Fun!&lt;/p&gt;
&lt;p&gt;I can go through these by hand,
and delete/block each one in the dashboard.
I also have to delete them in my local cache.
And while I’m at it,
I’ve added author info in the cache for Geoff?
We’ll see if that sticks.
But there has to be a better way, right?&lt;/p&gt;
&lt;p&gt;Right?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;There has to be a better way, right?&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Am I on the IndieWeb yet?</title>
    <link href="https://www.miriamsuzanne.com/2022/06/04/indiweb/" />
    <updated>2022-06-04T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/06/04/indiweb/</id>
    <content type="html">
      &lt;p&gt;I’m really into the &lt;a href=&quot;https://indieweb.org/&quot;&gt;IndieWeb&lt;/a&gt;,
or the ideas behind it.
I like to own my data,
I like a space to play and experiment,
I like the idea of syndicating content
to be read/experienced in a variety of formats.
I love &lt;a href=&quot;https://microformats.org/wiki/microformats2&quot;&gt;microformats&lt;/a&gt;,
and &lt;a href=&quot;https://en.wikipedia.org/wiki/RSS&quot;&gt;RSS feeds&lt;/a&gt;,
and… wait… how do &lt;a href=&quot;https://indieweb.org/Webmention&quot;&gt;webmentions&lt;/a&gt; work?&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;h2&gt;Slow Social&lt;/h2&gt;
&lt;p&gt;A few weeks back
there was another round of social-media panic
(which is reasonable),
and the ever-present reminders
to Use A Personal Site.&lt;/p&gt;
&lt;p&gt;Personal sites are great!
But I have some issues with that reply,
and I posted about it on Twitter:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Personal sites are wonderful.
But they can be a lot of work to set up &amp;amp; maintain.
Also: personal solutions don’t solve
the problem of building networks
&amp;amp; public digital spaces.&lt;/p&gt;
&lt;p&gt;If we want ‘personal sites’ to be an answer to social platforms,
we have a lot of work to do.&lt;/p&gt;
&lt;p&gt;—&lt;a href=&quot;https://tweets.miriamsuzanne.com/1519404061711224833&quot;&gt;Me, on Twitter&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At the core,
I’m skeptical about
treating “public space” issues
as a matter of personal responsibility.&lt;/p&gt;
&lt;p&gt;Chris Coyier
made a point of
&lt;a href=&quot;https://chriscoyier.net/2022/04/29/rss-3/&quot; class=&quot;u-in-reply-to&quot;&gt;
replying on his personal site
&lt;/a&gt; –
a lovely little post
about how cool RSS is,
and the benefits of “slow social” web interactions.&lt;/p&gt;
&lt;p&gt;And I agree completely!
&lt;em&gt;[insert requisite mourning for Reader]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;But then I look at my site –
this site, here –
and it’s a struggle to get all the pieces working
the way that I want,
especially when it comes to syndication.&lt;/p&gt;
&lt;p&gt;I do have &lt;a href=&quot;https://www.miriamsuzanne.com/feed.xml&quot;&gt;a feed that you can subscribe to&lt;/a&gt;,
but I’ve struggled to categorize
what on my site is a “post” worth syndicating
vs a “page” vs ???.&lt;/p&gt;
&lt;p&gt;And I’m not always sure I have it set up right?
Validators flag the &lt;code&gt;style&lt;/code&gt; attribute
(setting custom props in some content),
or embedded &lt;code&gt;iframe&lt;/code&gt;s (for audio/video),
or &lt;code&gt;script&lt;/code&gt;s (usually for embedding content).
How much should I worry about these issues?
Do I need to run my content through
a tool like &lt;code&gt;sanitize-html&lt;/code&gt;,
and if so,
how strict should it be?
I often have similar questions
when setting up microformats,
and trying to match the needs of the format
to the needs of my content.&lt;/p&gt;
&lt;p&gt;These are very solvable problems
with testing and research –
but they start to add up.&lt;/p&gt;
&lt;h2&gt;WebMentions&lt;/h2&gt;
&lt;p&gt;Since making that post,
I’ve also started to explore WebMentions,
following instructions from
&lt;a href=&quot;https://matthiasott.com/articles/into-the-personal-website-verse&quot;&gt;Matthias Ott&lt;/a&gt;,
&lt;a href=&quot;https://keithjgrant.com/posts/2019/02/adding-webmention-support-to-a-static-site&quot;&gt;Keith Grant&lt;/a&gt;,
and &lt;a href=&quot;https://mxb.dev/blog/using-webmentions-on-static-sites/&quot;&gt;Max Böck&lt;/a&gt;.
I recommend all three articles,
but the first thing that becomes clear
is that this requires multiple steps,
and is not a simple
or straight-forward process.&lt;/p&gt;
&lt;p&gt;The first round required several online services
along with HTML &amp;amp; JS changes to my static site,
just to verify my indieweb identity.
Then more changes to the site
and more online services to help fetch any mentions
&lt;s&gt;(so far, nothing to see, but that’s probably expected)&lt;/s&gt;.
It seems the only way to test the setup
is to launch all those changes publicly,
and then ask for other devs to send you mentions.&lt;/p&gt;
&lt;p&gt;(That’s partly the goal of this post.)&lt;/p&gt;
&lt;p&gt;Every time I think I have the basics in place,
I find some other set of instructions
suggesting there’s another step to take.&lt;/p&gt;
&lt;call-out&gt;
&lt;p&gt;&lt;strong&gt;Update 2022-06-05&lt;/strong&gt;:
I seem to have things working here now,
but I’m still not entirely clear
on how it works.
In the end
I’ve added some metadata to the site &lt;code&gt;head&lt;/code&gt;,
a number of microformats to the markup,
several third-party services,
and an API call to download the data from one of them.
I’m not convinced I have all the details right,
and I’m not sure which validators to test against.&lt;/p&gt;
&lt;p&gt;If I want live updates
(this is a static site)
there’s still more to learn.&lt;/p&gt;
&lt;/call-out&gt;
&lt;h2&gt;A Proof Of Concept (for developers only)&lt;/h2&gt;
&lt;p&gt;I’m an experienced web developer,
and I can figure it out.
But the steps aren’t simple,
and most of my friends &lt;em&gt;are not web developers&lt;/em&gt;.
So, to me,
this all feels like the prototype of an idea –
a proof of concept.&lt;/p&gt;
&lt;p&gt;We have the technology
to implement a slow social network
of personal sites.
I’m excited to keep playing
with that code.
But proving the concept is not the same
as actually making it easy &amp;amp; accessible
in a way that can replace platforms.&lt;/p&gt;
&lt;h2&gt;What’s Next?&lt;/h2&gt;
&lt;p&gt;I know there are plugins
for WordPress and other blogging software
to help make the setup simpler.
That’s great!&lt;/p&gt;
&lt;p&gt;What I would like to see
is a tool that helps bring
the entire system together
in one place.
Somewhere that non-technical people can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;build their own site, with support for feeds/mentions&lt;/li&gt;
&lt;li&gt;see what feeds are available on other sites, and subscribe to them&lt;/li&gt;
&lt;li&gt;easily respond to other sites, and see the resulting threads&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s &lt;em&gt;a large feature set&lt;/em&gt;, I know.
In my mind, it would make the most sense
for those features to live
&lt;a href=&quot;https://tweets.miriamsuzanne.com/1488582497382408197&quot;&gt;in a browser&lt;/a&gt;,
but it might be possible
to build as a web service with browser plugins?&lt;/p&gt;
&lt;p&gt;Whatever it looks like,
&lt;em&gt;it will take a lot of work to get there&lt;/em&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>My theatrical delusions</title>
    <link href="https://www.miriamsuzanne.com/2022/04/20/delusions/" />
    <updated>2022-04-20T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/04/20/delusions/</id>
    <content type="html">
      &lt;p&gt;Reflections on making theater,
and my family reacting to it.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;My grandpa –
my dad’s dad –
was an academic, and a school administrator.
He had PhDs in both religion and physics,
I think, from Princeton?&lt;/p&gt;
&lt;p&gt;He was also a big fan of opera.
They had a TV upstairs in the bedroom –
this was the 80s, early nineties.
And we would all pile onto the bed,
or pull up chairs,
to watch &lt;em&gt;The Marriage of Figaro&lt;/em&gt; or &lt;em&gt;Don Giovanni&lt;/em&gt;
or whatever.
There must have been subtitles.
This was on VHS,
I don’t remember.&lt;/p&gt;
&lt;p&gt;I loved the part where they drag Don Giovanni to hell,
The orchestra swells,
there’s smoke and red lights coming through the stage floor,
and I think hands reach up to drag him down?
Like, can you imagine anything cooler?&lt;/p&gt;
&lt;p&gt;Probably.
But, I couldn’t.&lt;/p&gt;
&lt;p&gt;For context,
this was Indiana
before the Web went World Wide!
And my dad –
maybe rebelling against his own father –
became a car mechanic &amp;amp; a farmer.
Working with his hands.
So I grew up splitting firewood,
and throwing hay bales.&lt;/p&gt;
&lt;p&gt;But every summer,
my uncle Bruce would come stay with us.
That’s on my mom’s side, her brother.
He was a stage manager
at the Indiana Repertory Theater,
and would get 3 months off every summer.&lt;/p&gt;
&lt;p&gt;And eventually he started
doing Shakespeare in the Park
while he was in town.
And he would cast me as
one of the fairies in &lt;em&gt;A Midsummer Nights Dream&lt;/em&gt;,
or part of the Night Watch in &lt;em&gt;Much Ado About Nothing&lt;/em&gt;.
Which, &lt;em&gt;nepotism&lt;/em&gt;?
Great job, if you can get it.
But honestly, it’s a small town.
The auditions were not exactly packed.
If you really wanted to be in the show,
you probably were in the show.&lt;/p&gt;
&lt;p&gt;So I’m in &lt;em&gt;Much Ado&lt;/em&gt; –
maybe middle-school at that point,
I’m not sure.
My uncle’s directing,
and my dad is cast as The Friar.
We’re both in this show together,
and I can’t drive yet,
so dad is my ride home after rehearsal,
and…
He spends that time telling me
all the things I got wrong –
explaining to me why I’m not a very good actor.
I need to work a lot harder,
or, you know, stop deluding myself.
Find something I’m actually good at.&lt;/p&gt;
&lt;p&gt;And after that show,
and a few more rounds of that fatherly feedback,
I mostly stopped acting (until recently).
But I did keep doing theater.
I found my place off-stage –
lighting design, and then writing and directing.
Pointing the spotlight at someone else.&lt;/p&gt;
&lt;p&gt;And he seemed to like that batter.
I was not in the room,
but I overheard him once,
telling a friend
that he liked a play I wrote.
So, big win for me.
Since then he’s said it to my face,
but that’s the first I remember hearing it.&lt;/p&gt;
&lt;p&gt;Still, what he usually said to me
was that it’s good to make art,
but not healthy to &lt;em&gt;be an artist&lt;/em&gt;.
“Every artist I know is in therapy.
It’s bad for you, emotionally,
to play make-believe all the time.
You also have to do something
to keep yourself grounded.
Something with your hands.”&lt;/p&gt;
&lt;p&gt;And I was like, ok but counterpoint:
therapy is actually pretty great,
and you should try it sometime?
That didn’t go over well.&lt;/p&gt;
&lt;p&gt;I do now make my living
writing code and stuff on the World Wide Web.
So I don’t know if typing counts
as using my hands,
but I’m not &lt;em&gt;just&lt;/em&gt; an artist.&lt;/p&gt;
&lt;p&gt;When I get to college,
I’m studying theater,
but I also start running
a theater company downtown
with some friends.
So we’re rehearsing at the college
every night, like 6-10,
then grab a snack, head downtown,
and rehearse our own shows until 2 or 3am.&lt;/p&gt;
&lt;p&gt;And at some point my mom is like:
does it really make sense
to run a theater company
while you’re a full-time student?
And I’m like: no, not really.
You think I should drop out of college?&lt;/p&gt;
&lt;p&gt;That’s not what she thought.&lt;/p&gt;
&lt;p&gt;Grandma would always come to our shows,
but then had &lt;em&gt;concerns&lt;/em&gt;
about the violence, or the swearing.
I mean, she also recommended I watch
&lt;em&gt;A Clockwork Orange&lt;/em&gt;,
so it’s not like she couldn’t handle
the occasional artistic violence.&lt;/p&gt;
&lt;p&gt;But she’d point to Shakespeare,
like you know, he doesn’t say the F word even once!
And I’d try to argue
that &lt;em&gt;Much Ado About Nothing&lt;/em&gt;
is basically a single extended sex joke
for three and a half hours.&lt;/p&gt;
&lt;p&gt;If you don’t know,
some people have… dangly bits.
And other people do not have those same bits.
Some people have… &lt;em&gt;nothing&lt;/em&gt;.
And so this play is just people
getting all hot and bothered about… nothing!
It’s like 16th century &lt;em&gt;American Pie&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Grandpa, the opera lover,
would also come to my shows.
And he generally liked them,
but then every time
he would suggest ways we could &lt;em&gt;explain&lt;/em&gt; the show better?
Like if it was &lt;em&gt;magical realism&lt;/em&gt;,
he’d be like
“that’s great,
I love all the magic,
but wouldn’t it be more clear
if it was just &lt;em&gt;realism&lt;/em&gt; realism?”&lt;/p&gt;
&lt;p&gt;(Probably, yeah.)&lt;/p&gt;
&lt;p&gt;He also would ask me about
what classes I was taking in college, of course,
but then he’d realize they were all art classes,
and ask if I was studying anything &lt;em&gt;real&lt;/em&gt;, you know.&lt;/p&gt;
&lt;p&gt;I think it was his brother,
or maybe brother-in-law,
who asked a writing professor:
&lt;em&gt;Why would anyone write fiction,
it’s not even true?&lt;/em&gt;
So there you go.
It runs in the family.&lt;/p&gt;
&lt;p&gt;Somewhere around that time,
in college, I got married,
and then divorced.
That’s another story.
But my ex used to say
that all theater is pornography.
And not in a good way,
she was not getting off to it!&lt;/p&gt;
&lt;p&gt;I mean, I think she liked theater fine
when I wasn’t doing it,
but then… I’d be at rehearsal late,
with other women, and…
You can’t trust actors, right?!&lt;/p&gt;
&lt;p&gt;You can trust me,
I’m not an actor.
I’m just &lt;em&gt;on stage, holding a script&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;But ok, my senior year –
my second senior year? –
I was there 5 years and never graduated,
so maybe mom was onto something,
I don’t know.&lt;/p&gt;
&lt;p&gt;I was asked to
write subtitles for
the big spring opera production –
one of grandpa’s favorites –
&lt;em&gt;The Marriage of Figaro&lt;/em&gt;.
They were performing it in the original Italian,
and they wanted subtitles
to help people follow along.&lt;/p&gt;
&lt;p&gt;And I’ve been training for this my whole life!&lt;/p&gt;
&lt;p&gt;But Figaro has the same problem as Much Ado, right?
It’s written in Italian, in 1786, and it’s a sex comedy?!
Somehow I missed that as a kid,
watching it on VHS with grandpa,
but that’s what it is.
And these Italian sex jokes are not going to land well
in Indiana two-hundred-some years later.
Even worse,
if the jokes did land,
it would be a fucking scandal!&lt;/p&gt;
&lt;p&gt;So they’re not asking me to translate –
there are plenty of translations out there –
what they need is someone to make it funny,
while keeping it G-rated?
Which… I tried,
and I guess it caused some faculty fights?
Theater department loved what I was doing,
but the music department thought I was
basically spitting on Mozart’s sacred grave.&lt;/p&gt;
&lt;p&gt;The show was fine,
my subtitles were mostly there,
redacted slightly,
and grandpa came to see it.
And then, for the rest of his life,
another 15 years,
we have this one conversation over and over.&lt;/p&gt;
&lt;p&gt;My Grandpa died early in the pandemic,
but for the last few years of his life
his memory was getting worse.
And he sort of latched onto a single thought,
or a single question he had,
for each person when we would visit.&lt;/p&gt;
&lt;p&gt;For my brother,
the question was:
“how do cordless phones even work? There’s no cord!
Is it like wifi or something?”
But for me,
the conversation was always
about that production of Figaro,
and my subtitles.&lt;/p&gt;
&lt;p&gt;He loved it?
He loved the subtitles.
So creative, and so much fun!
He would laugh every time just thinking about it.
But… had I considered?
It might have been more clear,
if I had just done a &lt;em&gt;literal translation&lt;/em&gt;?
Word for word, you know?
Like on the VHS?&lt;/p&gt;
&lt;p&gt;(Yeah, probably.
I miss him.)&lt;/p&gt;
&lt;p&gt;Eventually my company fell apart,
and I moved to Denver.
Now I have my web work,
the bands, other art I’m doing.
I got an accountant
to help with self-employment taxes.
And the accountant says
“That’s really cool that you like doing
so many different things,
but some day you’ll have to pick one thing
to actually focus on, right?”&lt;/p&gt;
&lt;p&gt;And like,
ma’am: I’m almost 40.
So… no.
But I love that you’re giving it a go
as a life coach!
That’s excellent for you.
Do you still do taxes,
because I really need help with my taxes.&lt;/p&gt;
&lt;p&gt;There’s another cousin,
I think maybe grandma’s cousin –
once or twice removed, I don’t know –
we just called him “uncle Chuck”.
As kids, he was like an extra grandfather
from out of town,
kind of clown-like, entertaining.
We thought he was cool.&lt;/p&gt;
&lt;p&gt;But in 2005 he was dying,
and I drove with my parents
to visit him in the hospital.
And he wanted to talk to me, specifically?
He pulls me in close,
and says:&lt;/p&gt;
&lt;p&gt;“I dedicated my life to theater”.
Which, I had no idea actually.
But really, I think,
he dedicated his life to Drama Therapy.
He was a psychologist, I think?
Which is different.
But what am I going to do,
fact-check him in the hospital?&lt;/p&gt;
&lt;p&gt;Uncle Chuck was also
an evangelical, a missionary.
Something I didn’t really understand as a kid.
But when I was going through my divorce,
he sent me this bulging envelope:
pages of clipped articles
from &lt;em&gt;Focus on The Family&lt;/em&gt; or whatever –
explaining the sacred permanence of marriage,
one flesh, etc,
and the psycho-spiritual damage
I would cause (or suffer?) if I ever had sex again?
I don’t know.&lt;/p&gt;
&lt;p&gt;He didn’t live to find out
that I’m a queer trans woman,
and that’s fine.&lt;/p&gt;
&lt;p&gt;So we’re there, in the hospital,
and he says “I dedicated my life to theater,
but now I see all these movies coming out of Hollywood,
full of drugs and sex and swearing and violence.
It’s evil.
I thought theater was good!
I thought I was doing something good with my life.
You do theater. Was I wrong? Was it all a lie?
In the end, is theater evil?”&lt;/p&gt;
&lt;p&gt;And… I don’t know, Chuck.
Yeah, probably.&lt;/p&gt;
&lt;p&gt;Anyway, here we are now.
I have a
&lt;a href=&quot;https://grapefruitlab.com/shows/pity-fear/&quot;&gt;new show opening&lt;/a&gt;
in a couple weeks.
It’s a one woman show with two women,
a tragedy but also a comedy,
and it’s dealing with identity and change.
I wrote it.
It has &lt;em&gt;a lot&lt;/em&gt; of swearing,
and some violence,
for sure some weird bits that grandpa would cut…
and I would say,
some &lt;em&gt;Significant Ado about Very Little&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And I’ll be on stage again. Acting?
And I think my parents are flying out to see it?
So… I hope dad likes my acting better this time.
But we’ll see.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A Complete Guide to CSS Cascade Layers</title>
    <link href="https://www.miriamsuzanne.com/2022/02/21/layers-guide/" />
    <updated>2022-02-21T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2022/02/21/layers-guide/</id>
    <content type="html">
      &lt;p&gt;Cascade layers are a new CSS feature
that allows us to define
explicit contained layers of specificity.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;We now have full control over
which styles take priority in a project
without relying on specificity hacks or &lt;code&gt;!important&lt;/code&gt;.
This guide is intended to help you fully understand
what cascade layers are for,
how and why you might choose to use them,
the current levels of support,
and the syntax.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Container queries explainer &amp; proposal</title>
    <link href="https://www.miriamsuzanne.com/2021/05/02/container-queries/" />
    <updated>2021-05-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2021/05/02/container-queries/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/5796&quot;&gt;My proposal&lt;/a&gt; builds on
&lt;a href=&quot;https://github.com/dbaron/container-queries-implementability&quot;&gt;David Baron’s &lt;code&gt;@container&lt;/code&gt; proposal&lt;/a&gt;,
which works by applying
size &amp;amp; layout containment to the queried elements.
Any element with both size &amp;amp; layout containment
can be queried using a new &lt;code&gt;@container&lt;/code&gt; rule,
with similar syntax to existing media-queries.&lt;/p&gt;
&lt;p&gt;The approach has been approved
by the CSS Working Group,
to be added in &lt;a href=&quot;https://drafts.csswg.org/css-contain-3/&quot;&gt;CSS Containment Level 3&lt;/a&gt;,
with me as one of the authors.&lt;/p&gt;
&lt;p&gt;See the &lt;a href=&quot;https://github.com/w3c/csswg-drafts/projects/18&quot;&gt;Contain 3 Project&lt;/a&gt;
for issues and progress.&lt;/p&gt;
&lt;h2&gt;Establishing Containers&lt;/h2&gt;
&lt;p&gt;The first step is to establish &lt;strong&gt;containers&lt;/strong&gt;.
Any element can become a container,
by adding &lt;code&gt;layout&lt;/code&gt;, &lt;code&gt;size&lt;/code&gt; (generally &lt;code&gt;inline-size&lt;/code&gt;),
and &lt;code&gt;style&lt;/code&gt; containment:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* Establish containers */&lt;/span&gt;
&lt;span class=&quot;token selector&quot;&gt;main, aside&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;contain&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; layout inline-size style&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This syntax works in the prototype,
but is clearly not ideal for readable and clear code.
There is an open issue to discuss
&lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/6174&quot;&gt;better syntax for establishing query containers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;:
See the &lt;a href=&quot;https://drafts.csswg.org/css-contain-3/&quot;&gt;Editor’s Draft Specification&lt;/a&gt;
for the latest syntax.
The Chrome prototype already has basic support
for &lt;code&gt;container-type&lt;/code&gt; and &lt;code&gt;container-name&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Writing Queries&lt;/h2&gt;
&lt;p&gt;Each container creates a &lt;em&gt;containment context&lt;/em&gt;
that can be queried by their descendant elements.
We can query the current containment context
(the nearest ancestor container)
using an &lt;code&gt;@container&lt;/code&gt; rule that is very similar
to existing &lt;code&gt;@media&lt;/code&gt; queries:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* Change styles according to container size */&lt;/span&gt;
&lt;span class=&quot;token atrule&quot;&gt;&lt;span class=&quot;token rule&quot;&gt;@container&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;min-width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 35em&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token selector&quot;&gt;.media&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;grid-gap&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1rem&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;grid-template&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;media content&quot;&lt;/span&gt; auto / max-content 1fr&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;.media&lt;/code&gt; class above is now
responsive to any container it is in.
Each instance of the &lt;code&gt;.media&lt;/code&gt; class
will query its nearest container.&lt;/p&gt;
&lt;p&gt;That means we can have one &lt;code&gt;.media&lt;/code&gt; element that moves around,
responding to the context we put it in –
or multiple &lt;code&gt;.meia&lt;/code&gt; elements,
each one responding individually
to its own location.&lt;/p&gt;
&lt;h2&gt;Prototype&lt;/h2&gt;
&lt;p&gt;Chrome has released a prototype in their nightly build.
To experiment with the feature,
and leave feedback while it is still in development:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download Chrome Canary,&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;chrome://flags&lt;/code&gt; in the url bar, and&lt;/li&gt;
&lt;li&gt;Search for “CSS Container Queries” &amp;amp; enable the experimental feature&lt;/li&gt;
&lt;li&gt;Restart the browser&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is a draft prototype and may not match the final design.&lt;/p&gt;
&lt;h2&gt;Demos &amp;amp; Articles&lt;/h2&gt;
&lt;p&gt;For a quick introduction,
check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oddbird.net/2021/04/05/containerqueries/&quot;&gt;Container Queries: a Quick Start Guide&lt;/a&gt;
by &lt;strong&gt;David Herron&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codepen.io/collection/XQrgJo&quot;&gt;My collection of codepen demos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Or dig into more resources,
for the full details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries&quot;&gt;MDN Documentation&lt;/a&gt;
by &lt;strong&gt;Rachel Andrew&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://piccalil.li/blog/container-queries-are-actually-coming&quot;&gt;Container Queries are actually coming&lt;/a&gt;
by &lt;strong&gt;Andy Bell&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ishadeed.com/article/say-hello-to-css-container-queries/&quot;&gt;Say Hello To CSS Container Queries&lt;/a&gt;
by &lt;strong&gt;Ahmad Shadeed&lt;/strong&gt; &lt;br&gt;
(&lt;a href=&quot;https://css-tricks.com/say-hello-to-css-container-queries/&quot;&gt;Annotated on CSS Tricks&lt;/a&gt;
by &lt;strong&gt;Robin Rendle&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bram.us/2021/03/28/css-container-queries-a-first-look-and-demo/&quot;&gt;CSS Container Queries: A First Look + Demo&lt;/a&gt;
by &lt;strong&gt;Bramus Van Damme&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sturobson/Awesome-Container-Queries&quot;&gt;Awesome-Container-Queries&lt;/a&gt;
by &lt;strong&gt;Stuart Robson&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Very Extremely Practical CSS Art</title>
    <link href="https://www.miriamsuzanne.com/2020/12/08/css-art/" />
    <updated>2020-12-08T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2020/12/08/css-art/</id>
    <content type="html">
      &lt;p&gt;“What is one thing you learned about building websites this year?”&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve always enjoyed the CSS art people create,
but I’ve never ventured into it much myself.
I’m familiar with many of the tricks involved,
but still find it surprising every time:
the way people are able to make such fluid and beautiful images
out of little boxes.
I always end up digging around in dev tools
to see how things are done,
but I had never seen the process unfold.&lt;/p&gt;
&lt;p&gt;Any time CSS art starts getting attention,
there is always someone around to say
“that’s not practical” or “just use SVG”
or something similarly dismissive and boring.
It’s a terrible argument,
even if it was true –
no one is required to be Practical At All Times.
What a terrible world that would be.&lt;/p&gt;
&lt;p&gt;In October, I took the time to watch
&lt;a href=&quot;https://lynnandtonic.com/&quot;&gt;Lynn Fisher&lt;/a&gt;
(&lt;a href=&quot;https://twitter.com/lynnandtonic&quot;&gt;Twitter&lt;/a&gt;,
&lt;a href=&quot;https://codepen.io/lynnandtonic&quot;&gt;CodePen&lt;/a&gt;),
one of my favorite CSS artists,
&lt;a href=&quot;https://t.co/PdLH6v4brk&quot;&gt;live-stream her single-div process&lt;/a&gt;.
Somewhere in the back of my mind,
I assumed single-div artwork
relied on highly complicated &lt;code&gt;box-shadow&lt;/code&gt;s –
almost a pixel-art approach.
I’m not sure where that idea came from,
I probably saw someone do it years ago.
But her process is much more “normal” and “practical” than I even realized:
a number of reasonably layered, sized,
and positioned background gradients.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/8XxT7jOWEB-640.avif 640w, https://www.miriamsuzanne.com/img/8XxT7jOWEB-960.avif 960w, https://www.miriamsuzanne.com/img/8XxT7jOWEB-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Examples of Lynn Fisher&#39;s single-div projects:
repeated polar bears,
plants on a shelf, a blinking light,
and a tiny electronic piano.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/8XxT7jOWEB-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1185&quot; srcset=&quot;https://www.miriamsuzanne.com/img/8XxT7jOWEB-640.jpeg 640w, https://www.miriamsuzanne.com/img/8XxT7jOWEB-960.jpeg 960w, https://www.miriamsuzanne.com/img/8XxT7jOWEB-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;p&gt;Wait. I know how to do that.
It’s not the &lt;em&gt;technique&lt;/em&gt; that’s magical –
it’s the audacity of turning a few gradients
into a block of cheese with cake inside!&lt;/p&gt;
&lt;p&gt;I’ve used all these properties before on client projects.
I’ve created gradients, layered images, sized them,
and positioned them for various effects.
None of that is new, or complicated, or radical.
I really didn’t learn anything at all &lt;em&gt;about the CSS itself&lt;/em&gt;.
But it had a huge impact on my &lt;em&gt;perception&lt;/em&gt;
of what I could accomplish with those simple tools.&lt;/p&gt;
&lt;p&gt;Within a few weeks, I was using that in production.
Again, it’s nothing fancy or complicated –
the perfect low-hanging fruit
where a custom SVG feels &lt;em&gt;just slightly&lt;/em&gt; too bulky.
Here’s the effect I created, for a personal project,
with a few custom properties to make adjustment easier:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    
    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;p&gt;Last week we used a similar trick
as part of a Very Practical &amp;amp; Official
client component library.
It was &lt;a href=&quot;https://oddbird.net/authors/stacy/&quot;&gt;Stacy&lt;/a&gt;’s idea,
and it worked great.&lt;/p&gt;
&lt;p&gt;Thanks Lynn,
and all you other fabulous CSS Artists!
Thanks for showing us all how much farther
we can push this language that we love so much,
and the Very Serious tools we use every day.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>An open CSS notebook</title>
    <link href="https://www.miriamsuzanne.com/2020/11/17/notes/" />
    <updated>2020-11-17T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2020/11/17/notes/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;The official conversation
for CSS language development
happens on
&lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues&quot;&gt;The CSS Working Group GitHub issues&lt;/a&gt; –
but it’s useful to have
a more open notebook
for developing new ideas
before they are ready for Working Group discussion.&lt;/p&gt;
&lt;p&gt;My notebook
is a public &lt;a href=&quot;https://github.com/oddbird/css-sandbox&quot;&gt;collection of markdown files&lt;/a&gt;
that are also generated into a static site
at css.oddbird.net.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Custom Property “Stacks&quot;</title>
    <link href="https://www.miriamsuzanne.com/2020/06/22/stacks/" />
    <updated>2020-06-22T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2020/06/22/stacks/</id>
    <content type="html">
      &lt;p&gt;CSS Custom Properties allow
us to manage and control both cascade and inheritance in new ways.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&amp;lt;code-pen
@src=“https://codepen.io/miriamsuzanne/pen/GRpmOjr”
@title=“Custom Property Cascades (sass function)”&lt;/p&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Alcohol affects the frontal cortex</title>
    <link href="https://www.miriamsuzanne.com/2020/02/13/backup-singers/" />
    <updated>2020-02-13T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2020/02/13/backup-singers/</id>
    <content type="html">
      &lt;p&gt;Sommer asked people to record themselves reading a poem
from her collection, &lt;em&gt;Backup Singers&lt;/em&gt;.
I put together this video
of the poem &lt;em&gt;Alcohol affects the frontal cortex&lt;/em&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://player.vimeo.com/video/402379601&quot; width=&quot;640&quot; height=&quot;360&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 640 / 360&quot;&gt;&lt;/iframe&gt;

    
    
  

    
    
    &lt;iframe src=&quot;https://player.vimeo.com/video/391161116&quot; width=&quot;640&quot; height=&quot;360&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 640 / 360&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    My submission, and the full merged video collection
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;I put out a call on social media
asking for people to record themselves
reading a poem from my poetry collection &lt;em&gt;Backup Singers&lt;/em&gt;
in order to create a crowdsourced version of the book.
What resulted is a kind of double-sided diary
told by my friends, family, peers, and total strangers.
They are my words but read in other peoples’ bedrooms,
on their porches, on their commutes, with their children.
Two kinds of intimacies are joined
and rather than them canceling each other out
they are somehow multiplied.&lt;/p&gt;
&lt;p&gt;—Sommer Browning&lt;/p&gt;
&lt;/blockquote&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Embracing the Universal Web</title>
    <link href="https://www.miriamsuzanne.com/2019/11/26/universal/" />
    <updated>2019-11-26T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/11/26/universal/</id>
    <content type="html">
      &lt;p&gt;“What about building websites has you interested this year?”&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;There are constantly new features appearing in browsers – from subgrid
to variable fonts to better developer tools. It’s a really great time to
be re-thinking everything we know about design on the web. Responsive
design has served us well over the years, but it’s still rooted in the
limitations of the web from 2010. Ten years later, we’re able to create
more “Intrinsic” designs (a term coined by Jen Simmons) and hopefully
re-think some “best practices” that are now holding us back.&lt;/p&gt;
&lt;p&gt;That’s exciting but even more interesting to me in the context of a
universal web. I began my career during the height of the Web Standards
Project, CSS Zen Garden, &lt;em&gt;Designing with Web Standards&lt;/em&gt;, and &lt;em&gt;A Dao of
Web Design&lt;/em&gt; – saturated in the philosophy of universally accessible
design. CSS was relatively new, and explicitly designed to balance the
desires of a web-creator (like me) with the needs of each individual
user (also me), on any number of devices. Terms like “progressive
enhancement” and “unobtrusive JavaScript” dominated the industry. We
were moving away from “only works in X browser” warnings, to embrace an
accessible and resilient user-centered medium.&lt;/p&gt;
&lt;p&gt;Over the years, some of those concerns have become industry
best-practice. CSS is now standard, and responsive design is the norm.
But I also see (and build!) more and more apps targeted at a narrow
range of modern, evergreen browsers. Or we ignore new features for years
in order to support a browser like IE11. We’ve become resigned to a
sense that browser support is binary, and we can only use the features
that exactly match our “supported” browsers.&lt;/p&gt;
&lt;p&gt;There are many reasons for that shift, including excitement around very
cool new features. I don’t think it’s surprising for an industry to have
these cycles, but I do think it’s time to reflect on where we’re
heading. New CSS features are designed with universal accessibility in
mind, and we also have new features for managing browser-support on a
continuum, much like viewport-size.&lt;/p&gt;
&lt;p&gt;Whatever we want to call it Intrinsic Design, Resilient CSS,
Progressive Enhancement, Universal Accessibility, or something else – I
think we’re poised for a new movement and a new era of web creation.
It’s time for us to take the lessons we learned from Responsive Web
Design, adapting to screen sizes, and expand out: adapting to screen
readers, legacy browsers, “smart” speakers, and any number of other
interfaces.&lt;/p&gt;
&lt;p&gt;I’m interested in new methodologies and conventions that move past
managing specificity and cascade, or phones and laptops, to help us all
manage accessibility and universal compatibility. I’m interested in
finding ways to embrace all that is wonderful and new on the web,
without abandoning the beautiful vision of a universal web.&lt;/p&gt;
&lt;p&gt;We have the tools. Let’s do this.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>CSS most normalizer-est</title>
    <link href="https://www.miriamsuzanne.com/2019/11/02/most-normal/" />
    <updated>2019-11-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/11/02/most-normal/</id>
    <content type="html">
      &lt;p&gt;Why waste your time on half-measures?
Make your site &lt;strong&gt;THE MOST NORMALEST&lt;/strong&gt;
with this &lt;strong&gt;ULTIMATE CSS RESET&lt;/strong&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;*, *::after, *::before&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; initial &lt;span class=&quot;token important&quot;&gt;!important&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Replace all (non-important) styles
with (very important!) specification defaults.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Introducing Sass Modules</title>
    <link href="https://www.miriamsuzanne.com/2019/10/07/sass-modules/" />
    <updated>2019-10-07T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/10/07/sass-modules/</id>
    <content type="html">
      &lt;p&gt;Sass recently launched a new module system.
The new syntax will replace &lt;code&gt;@import&lt;/code&gt; with
&lt;code&gt;@use&lt;/code&gt; and &lt;code&gt;@forward&lt;/code&gt; –
a big step forward for making Sass partials
more readable, performant, and safe.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>F*CSS</title>
    <link href="https://www.miriamsuzanne.com/2019/08/28/f_css/" />
    <updated>2019-08-28T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/08/28/f_css/</id>
    <content type="html">
      &lt;p&gt;In the CSS naming-convention arms race to lowest specificity,
I’ve decided to only use universal &lt;code&gt;*&lt;/code&gt; selectors.
I call it &lt;strong&gt;F*CSS&lt;/strong&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;ul&gt;
&lt;li&gt;It’s a recursive backronym: the “F” is for F*CSS&lt;/li&gt;
&lt;li&gt;When asked “why?” you must say “for F*CSS sake” &lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2019/08/28/f_css/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;box-sizing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; border-box&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 1em auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;max-width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 40em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;See the &lt;a href=&quot;https://codepen.io/miriamsuzanne/pen/GRKEZQy&quot;&gt;CodePen Demo »&lt;/a&gt;&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot;&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;The key words
“MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and
“OPTIONAL” in this document are to be interpret… &lt;a href=&quot;https://www.miriamsuzanne.com/2019/08/28/f_css/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Not clear to me, an installation</title>
    <link href="https://www.miriamsuzanne.com/2019/07/05/bardo19/" />
    <updated>2019-07-05T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/07/05/bardo19/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/kVmW9_MFZB-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;digital collage with skeleton of a tadpole, bees, and orchids&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/kVmW9_MFZB-640.jpeg&quot; width=&quot;640&quot; height=&quot;1457&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/TnAq0qAIEa-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;digital collage with tail of a tadpole, bees, and orchids&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/TnAq0qAIEa-640.jpeg&quot; width=&quot;640&quot; height=&quot;1457&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Art installation
featuring a mix of
&lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/art/&quot;&gt;pieces from Riding SideSaddle*&lt;/a&gt;,
&lt;a href=&quot;https://www.miriamsuzanne.com/2014/08/02/screwtooth/&quot;&gt;PROPHETIA VETITUM MUNDI&lt;/a&gt;,
&lt;a href=&quot;https://www.miriamsuzanne.com/2017/06/02/gods-on-the-lam/&quot;&gt;Gods on the Lam&lt;/a&gt;,
and elsewhere.
I also put together
an original diptych
for this show,
commissioned by Kelcie Glick.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://miriamsuzanne.square.site/&quot;&gt;Prints are available »&lt;/a&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Framed | Born to choose this way</title>
    <link href="https://www.miriamsuzanne.com/2019/06/19/framed/" />
    <updated>2019-06-19T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/06/19/framed/</id>
    <content type="html">
      &lt;p&gt;A reflection on change,
desire, choice,
and the stories we tell about ourselves&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://playlist.megaphone.fm/?e=WTM2270650214&quot; width=&quot;100%&quot; height=&quot;200&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 200&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
&lt;/figure&gt;
&lt;p&gt;Last week,
my dad sent me a newspaper &lt;mark&gt;clipping&lt;/mark&gt;
from the Gary (Indiana) Post-Tribune –
December 20, 1999.
There’s &lt;mark&gt;a photo&lt;/mark&gt; of me at 17,
a senior in high school,
leaning against a mountain bike.
I’m wearing baggy jeans,
socks,
and Birkenstock.
Because it’s the 90s
and I’m into fashion.&lt;/p&gt;
&lt;p&gt;To quote the caption,
I &lt;mark&gt;had been&lt;/mark&gt; &lt;em&gt;living rustically&lt;/em&gt; since September,
when I moved into &lt;mark&gt;a small&lt;/mark&gt; cabin
at the edge of my parents farm,
along the Elkhart River.
&lt;em&gt;An &lt;mark&gt;experiment&lt;/mark&gt; in simple living&lt;/em&gt;
according to the article.
That’s true.
I had a hand pump over the sink,
a wood stove for heat,
an outhouse,
some oil lamps,
&lt;mark&gt;and a typewriter&lt;/mark&gt; for my homework.&lt;/p&gt;
&lt;p&gt;I read a lot of Thích Nhất Hạnh in that cabin,
and wrote &lt;mark&gt;some truly mediocre&lt;/mark&gt; poetry.
What a writer &lt;mark&gt;friend&lt;/mark&gt; referred to recently as
&lt;em&gt;poemy poems, about stones&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The article also &lt;mark&gt;says I had&lt;/mark&gt;
&lt;em&gt;&lt;mark&gt;aspirations towards&lt;/mark&gt; a monastic life after high school&lt;/em&gt;.
I don’t remember serious monastic plans exactly,
but now I’m a software developer,
and a musician living in a loft
just off South Broadway.
It’s not rustic or monastic.
When I want to write &lt;mark&gt;mediocre poetry now,&lt;/mark&gt;
I walk down to the Bardo coffee house
and listen to &lt;mark&gt;Lizzo&lt;/mark&gt; on my Airpods.
What happened?&lt;/p&gt;
&lt;p&gt;Here’s the headline from the article:
&lt;em&gt;Teen son lives like Thoreau, says dad&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Teen son&lt;/em&gt;.
I couldn’t read the rest of the article.
I went back to watching Project Runway.
&lt;mark&gt;I don’t want to spoil&lt;/mark&gt; anything,
but Bishme is great,
and Garo’s a total hack.&lt;/p&gt;
&lt;p&gt;So I’ve been thinking a lot about change.
&lt;black-out&gt;&lt;button type=&quot;button&quot; is-switch&gt;&lt;switch-text&gt;Big change&lt;/switch-text&gt;&lt;/button&gt;







&lt;/black-out&gt;.
Identity change.
I was raised Mennonite,
but at some point that label stopped making sense.
I was raised a boy, too,
but that didn’t stick.
I was also married, once –
that’s another story.
But I remember talking to my aunt during the divorce.
This was 2004, maybe 2005.
We’re sitting &lt;mark&gt;around her kitchen table&lt;/mark&gt; late at night,
and she says
&lt;em&gt;You can start dating again
once your ex doesn’t come up in daily conversation –
once the stories you tell don’t involve her.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;It’s not a perfect&lt;/mark&gt; rule –
date whenever you want to –
but I still love something about that:
using our internal narrative as a guide.
Not in some spiritual sense, but very practically.
My &lt;mark&gt;identity&lt;/mark&gt; is a story that I tell to myself,
and to you,
and I can change the way I tell that story,
but it takes time to write that new material.
Or to &lt;em&gt;live&lt;/em&gt; that new material.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;In this case,&lt;/mark&gt;
material without my ex wife –
which is awkward,
‘cause here I am 15 years later,
standing on stage,
talking about her.&lt;/p&gt;
&lt;p&gt;Sorry Erin!
I guess &lt;mark&gt;I’m not ready&lt;/mark&gt; to date yet!&lt;/p&gt;
&lt;p&gt;But back then,
living in that small community,
small Mennonite college town,
everyone knows me –
knows us.
Everyone needs &lt;mark&gt;to hear the story,&lt;/mark&gt;
so I tell it over and over &lt;mark&gt;for months.&lt;/mark&gt;
And it’s clear,
every time,
that &lt;mark&gt;I’m being cross-examined.&lt;/mark&gt;
I’ve done something bad,
and I have to defend my actions.
&lt;mark&gt;And&lt;/mark&gt; I can do that.
I can tell that story,
but it feels gross.&lt;/p&gt;
&lt;p&gt;Why do &lt;mark&gt;I need to&lt;/mark&gt; explain myself to you?
&lt;em&gt;It was bad and I left.
Trust me.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;And I &lt;mark&gt;think about&lt;/mark&gt; smaller changes, too.
I remember moving to Denver –
driving in on 76 for the first time.
This is August 2007 now,
and I remember &lt;mark&gt;the sun&lt;/mark&gt; setting over the mountains due west,
and storm clouds rolling in from the southwest –
lightning &lt;mark&gt;flashing behind a city&lt;/mark&gt; skyline.&lt;/p&gt;
&lt;p&gt;The scale of it!
The expanse.
To see that storm &lt;em&gt;from a distance&lt;/em&gt;,
between a skyline and a mountain range.
&lt;mark&gt;That’s not a thing&lt;/mark&gt; in Indiana.
It feels like space and possibility.
So much room for something new.
So much more to the world than &lt;em&gt;right here&lt;/em&gt; or &lt;em&gt;right now&lt;/em&gt; or &lt;em&gt;just me&lt;/em&gt;.
It felt like home.
&lt;mark&gt;Driving home.&lt;/mark&gt;
A home I’d never been to?&lt;/p&gt;
&lt;p&gt;I would sometimes walk down 16th street at night
just to feel invisible – part of a crowd.
&lt;mark&gt;Someone else might&lt;/mark&gt; frame this
as a move from the peaceful woods
to the bustling city,
but my &lt;mark&gt;experience&lt;/mark&gt; was the opposite.
&lt;mark&gt;Being &lt;em&gt;unknown&lt;/em&gt;&lt;/mark&gt; gave me room to think,
and space to change –
emotional space the cabin couldn’t provide.&lt;/p&gt;
&lt;p&gt;And then I would meet people,
and they’d ask where I’m from,
and they’d mean &lt;em&gt;before Denver&lt;/em&gt;,
and I guess Indiana?
&lt;mark&gt;But it felt&lt;/mark&gt; wrong, like the wrong question.
Not because Indiana is bad –
this was before Mike Pence –
but because, I don’t know,
I was &lt;mark&gt;eager for my narrative&lt;/mark&gt; home
to catch up with my experience &lt;mark&gt;of home.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;And a year later
I was on the road back through the Midwest,
touring a theater production with new friends.
&lt;mark&gt;And every night,&lt;/mark&gt;
after the show,
audience members would ask where we came from.
I was so happy.
&lt;em&gt;I’m from Denver!&lt;/em&gt;
I mean, it’s super silly –
&lt;mark&gt;this gentrified mess of a city&lt;/mark&gt;.
Shrooms are legal, but being homeless is a crime.&lt;/p&gt;
&lt;p&gt;Still, at that point, I guess:
home &lt;mark&gt;is important.&lt;/mark&gt;
It gives your story context.
The frame matches the content.&lt;/p&gt;
&lt;p&gt;But what happens to that old story
when the new one comes along?
Suddenly we’re correcting everyone.
I’m not Mennonite anymore.
&lt;mark&gt;I’m not married.&lt;/mark&gt;
I’m not a boy.
&lt;em&gt;You’re thinking of Yesterday Me!
Yester-me!
She’s a whole different person!&lt;/em&gt;
And &lt;mark&gt;again,&lt;/mark&gt; coming out –
this is 2015 now –
I’m asked to explain and defend my actions.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It was bad, and I left. Trust me.&lt;/em&gt;
This frame matches the content.&lt;/p&gt;
&lt;p&gt;And the story we expect to hear –
want to hear –
is that &lt;em&gt;born-this-way&lt;/em&gt; narrative.
&lt;em&gt;Trapped in the wrong body&lt;/em&gt;,
whatever that means.
&lt;mark&gt;This body&lt;/mark&gt; is mine.
It just needed some estrogen up in there,
that’s all.
Anyway, I remember being that boy in that cabin,
talking to the South Bend Post-Tribune
about simple living and monastic life.
I was that titular teen son.&lt;/p&gt;
&lt;p&gt;But I do also remember –
all along –
how much I &lt;em&gt;wasn’t a boy&lt;/em&gt;
when I &lt;mark&gt;lived in that cabin,&lt;/mark&gt;
and talked to that reporter.
I mean, obviously:
it was &lt;em&gt;me&lt;/em&gt; in the cabin,
and I’m &lt;em&gt;not a boy&lt;/em&gt;.
We grow.
We change.
We have &lt;mark&gt;to tell a new story,&lt;/mark&gt;
and bring people along.
We have to get our stories &lt;mark&gt;straight.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;Not &lt;mark&gt;straight, straight,&lt;/mark&gt; but &lt;mark&gt;straight.&lt;/mark&gt; You know.&lt;/p&gt;
&lt;p&gt;I wasn’t &lt;em&gt;born this way&lt;/em&gt;,
I grew into it –
like &lt;mark&gt;every child&lt;/mark&gt; grows into their adult narrative.
I chose it.
I looked at my options,
and &lt;mark&gt;chose estrogen,
and&lt;/mark&gt; I’m proud of that choice.
It’s ok to have choice.
Choice is a good thing.
&lt;mark&gt;I’m tired of&lt;/mark&gt; the narrative that my queerness is ok
as long as I didn’t want it.
I wanted estrogen, and I got it.
If you want estrogen,
&lt;mark&gt;you&lt;/mark&gt; can have it &lt;mark&gt;too.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;All of that is true, and also.
Also I &lt;em&gt;was&lt;/em&gt; born with &lt;em&gt;all of this&lt;/em&gt; inside of me.
Born to grow into this desire, this choice.
&lt;em&gt;Born to choose this way.&lt;/em&gt;
Because biology and choice aren’t at odds,
they’re both part of life – being alive.
&lt;mark&gt;Life isn’t&lt;/mark&gt; static, it moves and changes.
As it moves, we tell new stories.
We take &lt;mark&gt;a snapshot,&lt;/mark&gt;
we add &lt;mark&gt;a caption,&lt;/mark&gt;
and we publish it in the Gary Post-Tribune.
&lt;mark&gt;One moment in&lt;/mark&gt; time.
One boy who’s also &lt;mark&gt;a girl.&lt;/mark&gt;
One boy who will grow into a woman.&lt;/p&gt;
&lt;p&gt;Anyway,
I got Erin to read the article out-loud to me –
translate it so &lt;mark&gt;I could hear myself&lt;/mark&gt; in the story.
“Teen &lt;em&gt;daughter&lt;/em&gt; lives like Thoreau, says dad.
&lt;em&gt;Miriam&lt;/em&gt; needs space and quiet,
and &lt;em&gt;she’s&lt;/em&gt; got that now.”
And it’s interesting to read that –
or hear it –
knowing what I know:
about myself,
about my loud father,
about being introverted,
and an activist,
a writer,
caring about the world –
what I’ve done with those feelings,
those beliefs.
&lt;mark&gt;Not letting them go,&lt;/mark&gt;
but letting them grow with me,
to become who I am now.&lt;/p&gt;
&lt;p&gt;And, well yester-me, fuck.
The world hasn’t gotten better.
Shit’s bad, and you’ll have to keep fighting.
But &lt;mark&gt;you’ll be glad to know:&lt;/mark&gt;
&lt;mark&gt;you get to be&lt;/mark&gt; a girl,
you love it,
you’re not from Indiana anymore,
and you finally –
after &lt;mark&gt;many failed u-haul-lesbian&lt;/mark&gt; relationships –
you finally live on your own,
not entirely monastic,
surrounded by &lt;mark&gt;friends,&lt;/mark&gt;
with a wonderful partner just down the hall.&lt;/p&gt;
&lt;p&gt;If I’m still allowed to date &lt;mark&gt;after this.&lt;/mark&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Last Bullet, live music video</title>
    <link href="https://www.miriamsuzanne.com/2019/04/20/last-bullet-live/" />
    <updated>2019-04-20T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/04/20/last-bullet-live/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/tF2IoI9fHzs&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;Last Bullet at Seventh Circle&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A Dark Plain, live music video</title>
    <link href="https://www.miriamsuzanne.com/2019/04/14/dark-plain-live/" />
    <updated>2019-04-14T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/04/14/dark-plain-live/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/pZutQD4GCi4&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;A Dark Plain at Seventh Circle&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Guts | Let&#39;s Faint for Each Other</title>
    <link href="https://www.miriamsuzanne.com/2019/02/15/let-us-faint/" />
    <updated>2019-02-15T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2019/02/15/let-us-faint/</id>
    <content type="html">
      &lt;p&gt;Erin talks about fainting
from too much empathy
before my surgery.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    
    &lt;div&gt;
      &lt;audio src=&quot;https://media.blubrry.com/narratorspodcast/p/thenarrators.org/wp-content/uploads/174-Narrators-Erin-Rollman.mp3?_=1&quot; controls&gt;&lt;/audio&gt;
    &lt;/div&gt;
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Erin Rollman, a call for empathy&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Erin is a founding member of Buntport Theater
and the co-host of The Narrators.
Erin originally told this story on 17 October, 2018
at Buntport Theater in Denver, Colorado.
The theme of the evening was “Guts.”&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Rejecting maleness</title>
    <link href="https://www.miriamsuzanne.com/2018/08/01/revolution/" />
    <updated>2018-08-01T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2018/08/01/revolution/</id>
    <content type="html">
      &lt;p&gt;The &lt;strong&gt;Journal of Mennonite Writing&lt;/strong&gt;
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:
&lt;em&gt;In a world without rigid gender roles,
would anyone need to be trans?&lt;/em&gt;&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Thanksgiving with friends and strangers.
I still wear a beard, but my nails are iridescent.
This is how I measure time, before Caitlyn.
The conversation turns to a trans woman I’ve never met.
I’ve never met any trans women, that I know of. My friend says:&lt;/p&gt;
&lt;p&gt;—If we eliminate these rigid gender roles, would anyone need to be trans?&lt;/p&gt;
&lt;p&gt;Over the years, this question takes many forms:&lt;/p&gt;
&lt;p&gt;—What does it mean to “experience” one’s gender as this or that? &lt;br&gt;
—What does it mean to “feel like” a woman? &lt;br&gt;
—What does “being a woman” mean to you? &lt;br&gt;
—Can’t you just be a feminine man? &lt;br&gt;
—Can’t you just be gay?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Interviewing a trans man, the reporter writes:&lt;/p&gt;
&lt;p&gt;—But, surely the revolution is in re-defining
what feminine or female attractiveness means
rather than rejecting femaleness?&lt;/p&gt;
&lt;p&gt;Is your gender part of the revolution?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We have a story in my family. My brother is young, nursing his favorite doll.&lt;/p&gt;
&lt;p&gt;—I’m going to be a mommy when I grow up. &lt;br&gt;
—Boys grow up to be daddies.&lt;/p&gt;
&lt;p&gt;My mom is only trying to be accurate,
but he sets down the doll,
and never picks it up again.
&lt;em&gt;Cis doesn’t mean simple&lt;/em&gt;, he tells me now, a father of two.
If I had a story like that,
maybe everything would make sense.
Maybe I could string this together into a narrative:
beginning, middle, and end.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;As a child, I want to climb trees and play make-believe.
I love dolls and swords and video games.
I want to be a princess, an astronaut, a ballerina,
firefighter, artist, acrobat, scientist, and ninja.&lt;/p&gt;
&lt;p&gt;Which one of those is my gender?&lt;/p&gt;
&lt;p&gt;On the playground, I play tiger-family with the other girls.
We lay in the grass at the far end of the field,
talking about our tiger lives.
This is short-lived, before the boys set me straight.
Boys are allowed to spend the night, and they do.
We play Double Dragon, and I learn that “joystick” is a euphemism.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Is my gender a hardware problem, or a software problem?
Is this a bug or a feature?
Can I turn it off and back on again?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Dysphoria never takes the time to stop and explain itself.
For 35 years, I trust what I’m told about genitals and genders.
I never present the clinical criteria.
I’m not consistent, insistent, or persistent.
I have no hate for these dangly bits –
only detached disinterest.&lt;/p&gt;
&lt;p&gt;You go your way, and I’ll go mine.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The term &lt;em&gt;cis-&lt;/em&gt; means &lt;em&gt;on this side of&lt;/em&gt;
while &lt;em&gt;trans-&lt;/em&gt; means &lt;em&gt;across from&lt;/em&gt; –
prefixes that describe a relationship
between our assigned and subconscious sex.
As a trans woman,
I live &lt;em&gt;across from&lt;/em&gt; the maleness decreed by doctors.
I have transitioned –
socially, legally, and (in some ways) medically.
This is a process that takes years,
without a clear start or end.&lt;/p&gt;
&lt;p&gt;People often assume cis genders are hardwired,
while a trans gender requires explanation and intent.
In order to transition,
I must look at womanhood and want something about it.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Doctors assign gender based on genitalia,
the length of a clit.&lt;/p&gt;
&lt;p&gt;Strangers assign gender by the length of my hair,
absence of beard, and the cut of my clothes.
What we call &lt;em&gt;secondary sex characteristics&lt;/em&gt; and &lt;em&gt;presentation&lt;/em&gt;.
Essentialists would gender me by gonads and reproductive ability.
Mom only has a single ovary, and is only half a woman.
Olympic organizers relied on the Y chromosome,
until it failed them.
Now athletes are gendered by their testosterone levels.&lt;/p&gt;
&lt;p&gt;We imagine two circles that never cross, equal and opposite.
Instead we have infinite bell-curves that only part at the edges.
Intrinsic inclinations, and imperfect correlations.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I believe that gender is &lt;em&gt;only a performance&lt;/em&gt;
as long as my own gender is a performance.
Others believe that gender aligns with genitals,
because theirs do.
It’s hard to look beyond your own experience.
I tell Grandma that I’m a cross-dresser.&lt;/p&gt;
&lt;p&gt;—Well, of course! You’re an artist, and men’s clothes are so… drab.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I try on dresses, and feelings, and crossing my legs.
I try on eyeliner, and &lt;em&gt;soft skills&lt;/em&gt;, and knitting in public.
I wear nail polish, and colorful scarves.
I try it all with a beard, because men can be anything –
and if I don’t try, I can’t fail.&lt;/p&gt;
&lt;p&gt;Women can be anything too.
I move to the city, and start a company.
I  get divorced, and leave the church.
I’m an artist. I’m part of the revolution.
I build myself a world without rigid roles –
a safe place to be a new man, feminine and free.
My friends are queer, and encourage it.
I can do anything, and I do.&lt;/p&gt;
&lt;p&gt;It only makes the pain worse. The closer I am, the farther I feel.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Mom writes:&lt;/p&gt;
&lt;p&gt;—I saw your profile picture in high heels.
Have you been exploring bisexuality? &lt;br&gt;
—&lt;em&gt;No. I’m exploring my gender. I can’t find it.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I report in, as my understanding develops:&lt;/p&gt;
&lt;p&gt;—&lt;em&gt;Maybe I’m genderqueer.&lt;/em&gt; &lt;br&gt;
—What is genderqueer? &lt;br&gt;
—&lt;em&gt;What does it feel like to have a gender?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Mom can talk for hours about the fluid nature of god as mother and father –
as masculine and feminine together.
Her congregation uses all the pronouns, and all the metaphors.
She finds it beautiful, and so do I.
We can’t agree on calling it god,
but we agree on how it moves.
I could sit with her for hours.&lt;/p&gt;
&lt;p&gt;—&lt;em&gt;You understand, then. My gender, and your god.
These pronouns don’t contain us.&lt;/em&gt; &lt;br&gt;
—Oh. I’m not sure I can think of my son that way.&lt;/p&gt;
&lt;p&gt;We talk instead about cycles of abuse, perpetuated through generations.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Erin asks my pronouns. I have no idea.
She tries them all, switching mid-sentence.
Within a week, the answer is clear.
Relief whenever &lt;em&gt;she&lt;/em&gt; comes around,
and a flinch with every &lt;em&gt;him&lt;/em&gt; and &lt;em&gt;his&lt;/em&gt;.
I don’t understand. I never asked for this.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;At a reunion, I tell my family of 60 that I’m &lt;em&gt;trans&lt;/em&gt;.
I still don’t know what that means.
Grandma asks how often I wear dresses.
&lt;em&gt;It depends on the weather&lt;/em&gt;. She seems happy with that.&lt;/p&gt;
&lt;p&gt;—What pronouns should we use? &lt;br&gt;
—&lt;em&gt;She… or they.&lt;/em&gt; &lt;br&gt;
—I don’t like they. Are you going to have surgery? &lt;br&gt;
—&lt;em&gt;I don’t… think so?&lt;/em&gt; &lt;br&gt;
—Will you still date women? &lt;br&gt;
—&lt;em&gt;Will they still date me?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Grandma has friends on hormones, trans men.
It looks hard. Expensive. Awkward.&lt;/p&gt;
&lt;p&gt;—I hope you don’t transition. You look so good as a boy.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I’m trying to answer the question,
but I’m not sure the words exist.
We rely on half-baked metaphors and thought-experiments.
Imagine being trapped in a body.
Imagine no one sees you.
Imagine you could flip a switch.
Imagine you always played with dolls.
Imagine wanting something else.
Imagine &lt;em&gt;experiencing&lt;/em&gt; gender.
Imagine &lt;em&gt;just knowing&lt;/em&gt;.
Imagine no other choice.
Imagine suicide.&lt;/p&gt;
&lt;p&gt;Imagine my gender can’t be captured in a soundbite.
Imagine I have agency, but I didn’t make the rules.
Imagine I live in the world &lt;em&gt;as it is&lt;/em&gt;.
Imagine biology is complex and fluid.
Imagine social constructs are part of my reality.
Imagine I don’t have all the answers.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Have you seen Michelle Pfeiffer in Batman Returns?
Transition is basically like that.&lt;/p&gt;
&lt;p&gt;All my old raincoats become skin-tight catsuits.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;—I’ll admit, I find this “transgender” thing confusing. &lt;br&gt;
—&lt;em&gt;I’m as confused as you are.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I don’t transition to escape social expectations and rigid gender roles.
I know better. I have access to the internet.
I read all the wrong articles, and watch the wrong movies.
Wherever we go, cis people vomit and trans people die.&lt;/p&gt;
&lt;p&gt;In this world with rigid gender roles,
it’s a miracle that anyone transitions at all.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;—Caitlyn plunges in popularity as baby name on Social Security’s list &lt;br&gt;
&lt;em&gt;CBS/AP: May 12, 2017, 12:42 PM&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;—A lot of parents are naming their babies Kylo
after the new bad guy in ‘Star Wars’ &lt;br&gt;
&lt;em&gt;LA Times: May 12, 2017, 4:15 PM&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Natalie sets me straight:&lt;/p&gt;
&lt;p&gt;—&lt;em&gt;I don’t think I’d make a good woman.&lt;/em&gt; &lt;br&gt;
—Women can be anything. Transition first,
and then find out what kind of woman you are. &lt;br&gt;
—&lt;em&gt;But… I’ve seen how women are treated.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I call mom:&lt;/p&gt;
&lt;p&gt;—&lt;em&gt;I think I’m more binary than I thought. Maybe I am a woman.&lt;/em&gt; &lt;br&gt;
—What happens next? &lt;br&gt;
—&lt;em&gt;A new name might help. I’m not sure about the rest.&lt;/em&gt; &lt;br&gt;
—We were going to name you Miriam. Or Mary. Mary Sue, or Miriam Suzanne.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Pain isn’t the end of this story.
There is a euphoria in putting these pieces back together.
I see myself in the mirror for the first time, just a glimpse.
I can never go back.
I start hormone replacement as an experiment.&lt;/p&gt;
&lt;p&gt;It’s a slow magic. &lt;br&gt;
A fog lifts.&lt;/p&gt;
&lt;p&gt;I uncover ancient &lt;em&gt;dys-&lt;/em&gt; and &lt;em&gt;eu&lt;/em&gt;phorias, buried deep.
Suddenly, surgery makes sense to me.
Not for gender roles, or beauty, or sex, or the revolution.
There is no right way to have a body.
This is for me, and cannot be put into words.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I call mom:&lt;/p&gt;
&lt;p&gt;—Some people will struggle with this. &lt;br&gt;
—&lt;em&gt;What are they resisting?&lt;/em&gt; &lt;br&gt;
—It’s the same way they feel about tattoos.
Permanent changes to your body. &lt;br&gt;
—&lt;em&gt;Like having an ovary removed?&lt;/em&gt; &lt;br&gt;
—Maybe it’s harder when it’s on the outside. &lt;br&gt;
—&lt;em&gt;Great! I’ll move it to the inside!&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I am a biological woman, because all women are organisms. &lt;br&gt;
I am a natal woman because all women are born.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Somewhere along the way,
I must have discovered the difference between
feeling constricted by the trappings of gender,
and feeling mis-identified in the gender itself –
but I can only point at this distinction as it fades into my past.
Somewhere back there,
I tried both and they were different.&lt;/p&gt;
&lt;p&gt;Painting my nails did not make me a woman.
Neither did hormones, or the F on my ID.
I don’t have to become a woman at all.
I just have to accept it.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The trans woman experience is not identical to the cis woman experience,
like a white woman’s experience is different from a black woman:
and poor women, and rich women, and tall women, and short.
Until one of us achieves that ideal platonic womanhood,
we’ll all just have to live at our intersections.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I ask my friends and family:&lt;/p&gt;
&lt;p&gt;—&lt;em&gt;If we lived in that world without gender roles,
would you still be a woman?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Some would, others wouldn’t. Everyone assumes their experience is universal.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Maybe the answer is that simple:&lt;/p&gt;
&lt;p&gt;Before transition I could wear dresses and makeup,
but I was always seen as a man.
Now I wear jeans and let my nails chip, but I’m still a woman.&lt;/p&gt;
&lt;p&gt;The roles are still too rigid, and the revolution continues.
I don’t need to understand it. My faith has made me whole.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Chosen family (thank you)</title>
    <link href="https://www.miriamsuzanne.com/2018/07/19/family/" />
    <updated>2018-07-19T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2018/07/19/family/</id>
    <content type="html">
      &lt;p&gt;Yesterday,
I shared an &lt;a href=&quot;https://www.miriamsuzanne.com/2018/07/17/surgery/&quot;&gt;article about my impending surgery&lt;/a&gt;,
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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Wow, you all are so wonderful and generous.
Thank you so much.
I am entirely floored by this outpouring of support and love
from friends, relatives, and strangers.
I should not have expected anything else.
You’ve been there for me over and over.
Why does it still take me by surprise?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thank you.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I keep trying to write an update
worthy of your generosity.
Maybe something about how we build up shame around money,
and asking for help –
friends had to convince me it was ok.
But that’s looking the wrong direction.
I want to talk about you,
&lt;em&gt;my family by choice&lt;/em&gt;
(and sometimes also genetics).&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I’ve been watching &lt;a href=&quot;https://www.nytimes.com/2018/06/01/arts/television/pose-review-fx-ryan-murphy.html&quot;&gt;Pose&lt;/a&gt; on FX,
and thinking about the power of finding your chosen people –
rebuilding family out of trauma, on our own terms.
I think about the years that “family” felt distant for me,
even dangerous.
I put up every wall I had,
and moved to Denver.&lt;/p&gt;
&lt;p&gt;I still don’t know how we got here from there.
My favorite part of transition has been
the people it keeps bringing into my life –
including people I’ve half-known for years,
now pulled closer.
The queers and cousins and sisters and aunts and friends
who reach out to me,
and share their own stories.
Who bring me into their lives,
and become chosen family:
not in spite of our traumas, but because of them.
Because we can cry and laugh and scream together.&lt;/p&gt;
&lt;p&gt;It’s too easy to look back and say “I built that!” –
but it rings false.
At every step,
it’s been the generosity of others inviting me in.
People sharing their struggles,
their pain, their vulnerability, their art and vision…
until I might learn to share mine.
I’m only sorry it’s taking me so long.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;There’s a card in my novel
that’s been rumbling around my mind lately.
The card I’ve always want to lean into,
and build my life around
(though I fail regularly):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When I die they will say she kissed us all she could.
What more could we ask?
And I will say,
through a video I recorded this morning,
I’m sorry that I didn’t kiss you more.&lt;/p&gt;
&lt;p&gt;—&lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/&quot;&gt;Riding SideSaddle*&lt;/a&gt; (a novel about chosen family)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;Much love and gratitude&lt;/em&gt;, &lt;br&gt;
❤️ Mia&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Mia&#39;s medical upgrade</title>
    <link href="https://www.miriamsuzanne.com/2018/07/17/surgery/" />
    <updated>2018-07-17T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2018/07/17/surgery/</id>
    <content type="html">
      &lt;p&gt;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: &lt;strong&gt;September 10&lt;/strong&gt;,
less than two months away.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’m excited, and terrified,
and I might start crying.
It’s hard to unpack all my feelings,
so I try to focus on the details:
what needs to happen
so this goes smoothly.
Let’s do this!&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Grandma, I was wrong&lt;/h2&gt;
&lt;p&gt;Early August, 2015 –
I come out to my extended family at a reunion in Michigan.
The same reunion I’ll be at next week.
It’s the first time I call myself trans in front of other people.&lt;/p&gt;
&lt;p&gt;I still don’t know what that means.&lt;/p&gt;
&lt;p&gt;Grandma asks how often I wear dresses.
&lt;em&gt;It depends on the weather&lt;/em&gt;.
She seems happy with that.&lt;/p&gt;
&lt;p&gt;—What pronouns should we use? &lt;br&gt;
—&lt;em&gt;She… or they.&lt;/em&gt; &lt;br&gt;
—I don’t like they. Are you going to have surgery? &lt;br&gt;
—&lt;em&gt;I don’t… think so?&lt;/em&gt; &lt;br&gt;
—Will you still date women? &lt;br&gt;
—&lt;em&gt;Will they still date me?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In October of that year, I change my name publicly.
In January, I swallow my first &lt;em&gt;hormone replacement&lt;/em&gt; pills –
a mix of Spironolactone (an androgen-blocker) and Estradiol (an estrogen).&lt;/p&gt;
&lt;p&gt;On September 10, 2018, I will stop taking the androgen-blockers,
after completing the first surgery of my life:
a procedure officially called vaginoplasty,
but more colloquially referred to as &lt;em&gt;bottom surgery&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Grandma, I was wrong.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;“The Surgery” Disclaimer&lt;/h2&gt;
&lt;p&gt;When we come out as trans,
the most common reaction
(after losing friends and family)
is to ask about &lt;em&gt;the surgery&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;When we ask to change the gender-markers
on government-issued documents,
many states require proof of &lt;em&gt;the surgery&lt;/em&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When we say &lt;em&gt;transition&lt;/em&gt;
people only hear &lt;em&gt;genitals&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Historical terms like &lt;em&gt;Sex Reassignment Surgery&lt;/em&gt; (SRS)
or &lt;em&gt;Gender Reassignment Surgery&lt;/em&gt; (GRS)
also imply a &lt;em&gt;centrality&lt;/em&gt; and &lt;em&gt;finality&lt;/em&gt; to this one procedure –
as though we aren’t &lt;em&gt;real&lt;/em&gt; men or women
before we’ve undergone genital reconstruction.&lt;/p&gt;
&lt;p&gt;But there are many aspects to transition –
social, legal, and medical –
with every person choosing their own path.
There is no right way to be trans,
just as there is no right way to be a woman.&lt;/p&gt;
&lt;p&gt;Bottom surgery is only one in a long list of medical interventions
that can help reduce gender dysphoria,
and improve our quality of life.
It is absolutely necessary for some of us,
but it does not validate our genders
or transitions.
It is not the primary intervention,
nor the most common,
nor the final –
but in a society that places the full weight of gender
on our genitals,
this one procedure tends to
grab the most communal (often salacious) attention.&lt;/p&gt;
&lt;p&gt;There is no “the surgery” for all trans people,
and there are no &lt;em&gt;correct&lt;/em&gt; genitals for womanhood.
I’m already a complete and real woman –
I only hope to relate to my body in new ways:
to trade in some of my body dysphoria
for a chance at bodily joy.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our stories don’t have to be defined by pain.
We can also strive for &lt;em&gt;comfort&lt;/em&gt; and &lt;em&gt;pleasure&lt;/em&gt;
and even &lt;em&gt;ecstasy&lt;/em&gt; in our own bodies.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;Change of Plans&lt;/h2&gt;
&lt;p&gt;Trans people are often asked to explain ourselves,
and defend our medical interventions
to a cis public that finds us fascinating or disgusting.
We are expected to beg for validity at every step –
a mindset that leads directly
to the current &lt;a href=&quot;https://www.theatlantic.com/family/archive/2018/07/desistance/564560/&quot;&gt;moral panic around trans children&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;I don’t love linking The Atlantic here,
since they stoke the flames from all sides –
but it’s a good article on the topic.&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;I don’t want to play that game,
but I am happy to share some of my experience
in case it can help other trans people
in similar situations.&lt;/p&gt;
&lt;p&gt;I spent years dissociating from my body –
entirely unaware of the pain or identity
driving that distance.
Looking back, it’s easy to read all the signs,
but at the time no one in my life
(especially me) knew what to look for.
One of my &lt;a href=&quot;https://www.carinamagyar.com/&quot;&gt;favorite comedians&lt;/a&gt; expresses this best,
with her roommate metaphor
near the end of this wonderful set.
Laugh break!&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://www.youtube.com/embed/tGn6kZJaznI?rel=0&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    Carina Magyar performs in the FPIA 2017 finals
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Over the course of my transition,
I’ve begun to heal that relationship with my body –
but the progress is not linear or clean.
Every step forward reveals a new layer
of repressed trauma in my body,
along with a euphoria of new discovery.&lt;/p&gt;
&lt;p&gt;In the spring of 2017
I begin to consider bottom surgery more seriously.
I do my research on how it works,
and learn about the development
of genital tissue.
I begin to see my body in new ways,
and find that it’s much easier to own and understand
my physical form.
I talk to friends,
and learn what to expect from surgery.
I research &lt;a href=&quot;https://www.transhealthcare.org/vaginoplasty/&quot;&gt;available surgeons&lt;/a&gt;,
and eventually send an application to &lt;a href=&quot;https://marcibowers.com/&quot;&gt;Dr. Marci Bowers&lt;/a&gt; –
a ground-breaking expert in the field.&lt;/p&gt;
&lt;p&gt;One week later,
I get a phone call from her office:&lt;/p&gt;
&lt;p&gt;—Are you available on June 9, 2020? &lt;br&gt;
—&lt;em&gt;Uh… Sure?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I call mom:&lt;/p&gt;
&lt;p&gt;—Some people will struggle with this. &lt;br&gt;
—&lt;em&gt;What are they resisting?&lt;/em&gt; &lt;br&gt;
—It’s like they feel about tattoos, permanent changes to your body. &lt;br&gt;
—&lt;em&gt;Like having your ovary removed?&lt;/em&gt; &lt;br&gt;
—Maybe it’s harder when it’s on the outside. &lt;br&gt;
—&lt;em&gt;Great! Tell them I’m moving it to the inside!&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;The Wait&lt;/h2&gt;
&lt;p&gt;With limited surgeons and increased interest,
waitlists have been growing quickly.
We’ve come to expect a 2-5 year wait,
and out-of-network (out-of-pocket) treatment,
far from home.
Many people wait on multiple lists,
and hope to get moved up after a cancelation.
But recently,
there’s been a push for more doctors
to become certified.&lt;/p&gt;
&lt;p&gt;This is a wonderful development,
but what we gain in access and affordability,
we lose in detailed knowledge about our surgeons
and their credentials.
This used to be a specialty procedure,
performed by the well-known expert of your choice
(if you can afford it).
As it becomes more common
and covered by insurance,
most of us simply have to go where we’re told.
Meanwhile, there are no national standards for certification,
and each hospital is making it up as they go.&lt;/p&gt;
&lt;p&gt;While I’m looking into insurance options,
I discover that Denver Health
is working with Dr Bowers to train two local surgeons,
and a Denver Health insurance plan
would be guaranteed to cover
this new Denver Health surgery.
I switch my insurance at the end of the year,
apply for the new DH waiting list,
and immediately begin preparation.
With an unknown timeline,
I want to be ready.&lt;/p&gt;
&lt;p&gt;In the meantime I do some research on my new surgeon,
Dr Chris Carey.
Previous patients of Dr Carey recommend him,
and he seems to have experience and training
to back up his new credentials.
I sure hope that’s enough.&lt;/p&gt;
&lt;p&gt;In early July, I get the call:&lt;/p&gt;
&lt;p&gt;—Can you be ready in August? &lt;br&gt;
—&lt;em&gt;No, I’ll be traveling.&lt;/em&gt; &lt;br&gt;
—Have you completed hair removal? &lt;br&gt;
—&lt;em&gt;Mostly.&lt;/em&gt; &lt;br&gt;
—Get it done.&lt;/p&gt;
&lt;p&gt;They call again this week:&lt;/p&gt;
&lt;p&gt;—You’re traveling, right? When will you get home? &lt;br&gt;
—&lt;em&gt;September 9.&lt;/em&gt; &lt;br&gt;
—Can we schedule you on September 10?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;😳😳😳😏😂&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;“How Can I Help?”&lt;/h2&gt;
&lt;p&gt;As I’ve started to share the news,
several people have asked how they can help.&lt;/p&gt;
&lt;p&gt;I’ll be in the hospital for 3-4 days.
After that,
recovery is slow and difficult –
with 4-6 weeks of limited movement
before I’m back to my routine,
and back to work.
My bills and my boredom are likely to pile up,
so you can help with either or both:&lt;/p&gt;
&lt;h3&gt;1. Boredom&lt;/h3&gt;
&lt;p&gt;I have three amazing women
who will be my primary caretakers
during recovery –
Erin, Rachel, and my mom –
but it would be great to have visitors,
or help with meals along the way.
This is hard to plan in advance,
since we’re not entirely sure
when I’ll have time or energy.
If you want to drop by the hospital
(Sept 10-13),
or my house (through mid-Oct),
get in touch with one of them.&lt;/p&gt;
&lt;p&gt;If you need contact information,
&lt;a href=&quot;https://www.miriamsuzanne.com/contact/&quot;&gt;let us know&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;2. Bills&lt;/h3&gt;
&lt;p&gt;With my insurance,
I expect to pay roughly $1,300 in preparation
(surgery-site hair removal),
and another $7,150 for the surgery
(my out-of-pocket maximum).
I will also lose 6 weeks wages,
while trying to cover all my normal expenses.
All told, I’m looking at $10k-12k
in surgery-related costs.&lt;/p&gt;
&lt;p&gt;That’s a debt I’m willing to take on,
but it’s not money that I have.
If you want to help financially,
either by &lt;a href=&quot;https://miriamsuzanne.square.site/&quot;&gt;purchasing art&lt;/a&gt;,
or with a &lt;a href=&quot;https://www.gofundme.com/mias-medical-upgrade&quot;&gt;direct gift&lt;/a&gt;,
any amount will help make a difference.&lt;/p&gt;
&lt;h3&gt;3. Support Others&lt;/h3&gt;
&lt;p&gt;Thank you for all the support
that you’ve shown me through my transition.
I feel very lucky to have friends and family
that have stood by me,
and asked how to be helpful.&lt;/p&gt;
&lt;p&gt;Many of my friends are less fortunate.
Here are a few places you can volunteer or donate
to help trans people more broadly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.facebook.com/donate/285481692031069/288652908380614/&quot;&gt;Gender Identity Center of Colorado&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thetrevorproject.org/&quot;&gt;The Trevor Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://transgenderlawcenter.org/&quot;&gt;Transgender Law Center&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I know there are other issues in the world
that also need money and attention.
Support immigrants, and refugees,
and anyone else who needs it.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Thank you again for all your love and support
over the last few years –
it means the world to me.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Much love,&lt;/em&gt; &lt;br&gt;
❤️ Mia&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Speaking of pride</title>
    <link href="https://www.miriamsuzanne.com/2018/06/09/speaking-of-pride/" />
    <updated>2018-06-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2018/06/09/speaking-of-pride/</id>
    <content type="html">
      &lt;p&gt;An LGBT concert of writers and composers
by the &lt;a href=&quot;https://playgroundensemble.org/&quot;&gt;Playground Ensemble&lt;/a&gt;,
with three works by LGBT authors and the composers.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/-u_vwCiwp0M&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;
    Fragments @ Invisible City (by Miriam &amp;amp; Nathan Hall)
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Miss Furr and Miss Skeene&lt;/strong&gt; –
&lt;em&gt;Gertrude Stein &amp;amp; Linda Dusman&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Howl&lt;/strong&gt; –
&lt;em&gt;Allen Ginsberg &amp;amp; Lee Hyla&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fragments&lt;/strong&gt; –
&lt;em&gt;Miriam Suzanne &amp;amp; &lt;a href=&quot;https://nathan-hall.net/&quot;&gt;Nathan Hall&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Fragments (lyrics)&lt;/h2&gt;
&lt;p&gt;We have a story in my family.
My brother is young,
nursing his favorite doll.
He says &lt;em&gt;I’m going to be a mommy when I grow up!&lt;/em&gt;
Mom is proud but corrects him –
 &lt;em&gt;boys grow up to be daddies.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;He sets down the doll,
and never picks it back up.
&lt;em&gt;Cis doesn’t mean simple,&lt;/em&gt;
he tells me now,
a father of two.
I keep my dolls much later in life,
their unexpected aunt.&lt;/p&gt;
&lt;p&gt;I never felt like a girl.
What do girls feel like?
I didn’t always know,
and dream of wearing dresses.
I wasn’t consistent, insistent, or persistent.
I was frustrated.&lt;/p&gt;
&lt;p&gt;A friend asks me what it means to be a woman.
I have no idea.
What does it mean for you to be your gender?&lt;/p&gt;
&lt;p&gt;Hanson is on the radio. &lt;br&gt;
Why is Hanson on the radio?&lt;/p&gt;
&lt;p&gt;If I had a story like that,
maybe everything would make sense.
Maybe I could string this together into a narrative:
beginning, middle, and end.
Life doesn’t work that way.&lt;/p&gt;
&lt;p&gt;A visiting trans friend asks where I get my Testosterone.
I make it inside my body, I tell him.
I’d give it to you if I could.&lt;/p&gt;
&lt;p&gt;Hormones are slow magic.&lt;/p&gt;
&lt;p&gt;In my dreams, I’m transgender. &lt;br&gt;
In the mirror, I’m uncertain. &lt;br&gt;
In public, I’m a woman.&lt;/p&gt;
&lt;p&gt;In Colorado,
your chosen name
has to sue your given name
for the right to exist.&lt;/p&gt;
&lt;p&gt;I don’t get to put all the pieces together.
“Passing” is not something I do,
but something that happens to me —
not a way of presenting,
but a way of being seen.
Fickle.
In a single moment I can be seen and not seen,
gendered and misgendered.
Ungendered, and undressed.&lt;/p&gt;
&lt;p&gt;I don’t believe in authenticity,
but I do believe in pain,
and doing something to survive it.&lt;/p&gt;
&lt;p&gt;Trying on clothes to see if they fit
is way better than trying on clothes to see if your gender fits.
I didn’t know there was a difference,
until everything changed.&lt;/p&gt;
&lt;p&gt;I can finally hate my body for the normal reasons.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>More CSS Charts, with Grid &amp; Custom Properties</title>
    <link href="https://www.miriamsuzanne.com/2017/08/11/charts/" />
    <updated>2017-08-11T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/08/11/charts/</id>
    <content type="html">
      &lt;p&gt;Inspired by Robin Rendle,
I demonstrate some of my early experiments
combining CSS Grids and custom properties
to create dynamic layouts and data-visualizations.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>(Mis)gender</title>
    <link href="https://www.miriamsuzanne.com/2017/07/11/misgender/" />
    <updated>2017-07-11T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/07/11/misgender/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Gender is strange and elusive.
Sometime we attach it to genitals,
and sometimes we attach it to boats.
In Spanish, I can misgender my table.
Every day we gender each other, even strangers –
at a glance, on instinct, with very little to go on.&lt;/p&gt;
&lt;p&gt;Some gendering is obvious –
from pronouns (&lt;em&gt;he/she/they&lt;/em&gt;)
to honorifics (&lt;em&gt;sir/ma’am&lt;/em&gt;),
and gendered nouns like &lt;em&gt;ladies&lt;/em&gt; or &lt;em&gt;gentlemen&lt;/em&gt;.
Things get more subtle when we talk about groups (&lt;em&gt;hey guys&lt;/em&gt;),
or the way servers
(should I say &lt;em&gt;waiters&lt;/em&gt; or &lt;em&gt;waitresses&lt;/em&gt;?)
are trained to serve women first and bring men the check.
No matter how we see ourselves,
our existence is constantly gendered
(and misgendered)
by the people around us.
I notice every instance.&lt;/p&gt;
&lt;p&gt;I’ve been misgendered most of my life,
usually by accident.
As a child,
I was only gendered correctly with insults.
Looking back,
&lt;em&gt;“long haired African girl”&lt;/em&gt;
seems a bit on-the-nose.
I had long hair,
was born in Lesotho,
and now I discover I’m a woman.
Three for three!
How is that insulting?&lt;/p&gt;
&lt;p&gt;Now that I’m mid-transition,
the gendering
(and misgendering)
has taken on a new flavor –
a sense of personal success or failure
added to the experience.
I don’t mean to imply
that the goal of transition is always to be properly gendered,
but &lt;em&gt;wouldn’t it be nice&lt;/em&gt;?
When people assume I’m cisgender,
life is simpler and safer –
if lacking the nuance of queer diversity.
Even condescending and sexist phrases can feel refreshing –
&lt;em&gt;at least I’m being gendered correctly&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;People rarely misgender me these days,
so the sting is worse when it happens.
Strangers on the phone,
old friends on occasion,
or someone just discovering that I’m trans;
but mostly family.
The people who have known me since birth.
And when it happens,
someone is always there to say:
well, &lt;em&gt;it’s hard&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I’ve misgendered people too,
used the wrong pronoun,
or even a deadname in my worst moments.
It’s an accident, of course,
and I feel terrible about it –
most of us do.
Intentional misgendering is violent verbal abuse,
but accidental misgendering is more complex.
And more painful.&lt;/p&gt;
&lt;p&gt;Gendering is instinct, learned at a young age –
deeply ingrained, subconscious, and instantaneous.
We use names and pronouns without thinking,
and get them wrong without noticing our mistake.
Sometimes it means we haven’t shifted our perceptions of a person
and have work to do.
Often, we’re just bumbling our way through
every child-and-dog-name in our heads before we get to the right word.
My aunt flips through all her children and my deadname
before she gets to &lt;em&gt;Mia&lt;/em&gt;.
It would be funny if I wasn’t already hurting.&lt;/p&gt;
&lt;p&gt;Brains are strange and language is fragile.
When people tell me (over and over) that &lt;em&gt;it’s hard&lt;/em&gt;,
I know what they mean.
It is hard for all of us.
I know. We know.&lt;/p&gt;
&lt;p&gt;But when I’m misgendered, none of that matters.&lt;/p&gt;
&lt;p&gt;The room becomes a sudden minefield
and time slows down.
Everyone seems on edge,
unsure what happens next.
One person is feeling bad for their mistake,
aware that they’ve hurt me,
and everyone can relate.
&lt;em&gt;There, but for the grace of various gods…&lt;/em&gt;
All eyes are on me.
I’m not thinking about the semantic slip
or the person behind it,
I’m trying desperately
to hold my fear and self-loathing at bay.&lt;/p&gt;
&lt;p&gt;I never wanted to be trans.
When I look in the mirror sometimes,
it’s all I see.
Then I have to leave the house –
go out in public,
where my existence is so offensive
they pass laws about it.
I’m a national threat.
I get my own special TSA pat-down
and papers-please potty regulations.&lt;/p&gt;
&lt;p&gt;I’m not fragile,
and I don’t want pity or condolences.
I have a good life,
with supportive friends and family.
I’m not depressed,
and I’m not in
constant or unbearable pain.
But the othering and double-standards wear me down.
The shame becomes ingrained and internalized.&lt;/p&gt;
&lt;p&gt;Can I go outside?
Can I use a bathroom?
Who might attack me?
Will I ever date again?
What if I’m a pathetic joke everywhere I go?
Is everyone laughing behind my back?&lt;/p&gt;
&lt;p&gt;If the misgendering were intentional,
I could brush it off more easily.
Being an asshole reflects poorly on the offender,
not on me.
But when it’s an accident
it feels personal,
like it’s my fault.
I brought this on myself.
I’m asking too much of the people around me.
I look too trans, or speak too deep.
Maybe people are only humoring me,
and the ruse is up.
Now everyone feels bad
because of something I did.
My trans pain is upsetting these people I love,
and I’m responsible.&lt;/p&gt;
&lt;p&gt;I imagine people are thinking about my genitals,
or my deadname, or my years as a ‘boy’.
I know I am.&lt;/p&gt;
&lt;p&gt;There’s no time to take care of myself.
Everyone is anxious, alert, and watching me.
If I fall apart, I look fragile.
If I get upset, I’ll make it worse.
Simply pointing to the mistake can make people defensive,
and I’m seen as the aggressor.
If I brush it off,
people think it doesn’t bother me –
&lt;em&gt;not like the others, thank god&lt;/em&gt;.
I don’t want a confrontation.
I don’t want anyone to be sorry,
or feel terrible,
or lose sleep over me.
I don’t want a conversation,
and I don’t want a reminder that
&lt;em&gt;it’s hard&lt;/em&gt; not to hurt me.&lt;/p&gt;
&lt;p&gt;Being misgendered is not like being offended –
not intellectual, but emotional.
In that moment,
I’m not mad or insulted –
I’m sad and lonely,
discouraged and afraid.
I feel bulky, masculine, and in the way.
My mind is racing,
and I need a way out.&lt;/p&gt;
&lt;p&gt;When we misgender people,
we tend to focus on the shame of our mistake,
and how bad we feel for causing pain –
or how hard it is to change our gendered instincts.
We jump to long-winded apologies and explanations
that only take us away
from the opportunity
to make things better…&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Back in Moab with my family,
I post a note to Facebook
knowing my trans friends,
at least, will send me support –
and they do (along with others).
My brother also senses the problem,
and he’s ready when I come downstairs.
In the kitchen,
he slides up beside me
and says the one thing that actually helps:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hey sis.&lt;/em&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Stop Being Productive</title>
    <link href="https://www.miriamsuzanne.com/2017/06/09/yesmore-stop-being-productive/" />
    <updated>2017-06-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/06/09/yesmore-stop-being-productive/</id>
    <content type="html">
      &lt;p&gt;A reflection on the nature and value of productivity for the
SuperYesMore series: &lt;em&gt;The Human in the Machine&lt;/em&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Every Christmas, my dad’s family rents a lodge
with space for 30-some people to play board-games (and occasionally sleep).
We crowd in for three days, living on top of each other.
I love these people, but I live alone for a reason,
and the chaos is overwhelming.
I find a corner with my partner, and work on jigsaw puzzles –
talking to aunts and uncles and cousins one-by-one
as they visit my makeshift office between rounds of
Mahjong or Pandemic or Clue.
People still play Clue?&lt;/p&gt;
&lt;p&gt;At some point, the entire group gathers for a round of sharing –
updates about our past year, from youngest to oldest.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I’ve been meaning to write this article for a few weeks now. I keep putting it off. How do I write about something I can’t really articulate? I don’t have answers, only frustrations.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Grandpa has two PhD’s, and presided over several colleges before retiring to write a book or two. He has parkinsons now, but still works whenever he can. Grandma is active in every community organization you can imagine, and will never retire. My aunts and uncles are mostly professors, doctors, engineers, and university administrators – each admired in their field, writing books and speaking at conferences.&lt;/p&gt;
&lt;p&gt;My family is productive. Going around the circle, each minute of sharing is more impressive than the last, until someone finally breaks the pattern. She’s been struggling with depression, and apologizes for not being as impressive as the rest.&lt;/p&gt;
&lt;p&gt;I’m crushed. My life isn’t the raging success that I shared three minutes earlier. I’m struggling too. I’m sad, and insecure, and I feel like an imposter. I also have friends who keep me going – people I love, and people who love me. There is so much to share beyond my resume. This is family, why am I treating it like an interview?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My stomach is upset today, and everything feels difficult. I stop to write some code, but it’s a frustrating mess. I’d rather go on a walk or play Zelda. This article isn’t coming together like I wanted – but if I stop now, I’ll be distracted all afternoon. I need to finish so I can clear my mind. I hope.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’ve read the productivity books and blogs. Self-help can be an addictive distraction. When I feel like an imposter, I hope the experts will give me insight to take over the world, or feel useful again. And sometimes the tips help: break a problem down into small steps, and work in short sprints until you find momentum. That’s good advice for anything. We can all learn to be more agile in our lives – but that’s not the same as learning the rules of Scrum.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My uncle played rugby. So did my old roommate. I’m pretty sure that’s not relevant to this article.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’ve used a mix of philosophies over time, from Getting Things Done to Pomodoro, depending on the work in front of me. My job requires me to be productive, and I try. It’s useful to know your way around a road-block. I apply these techniques to my art, and find writer’s block more manageable. But when does productivity cross from being a tool to an obsession?&lt;/p&gt;
&lt;p&gt;I’m skeptical about the whole self-help industry. I’m skeptical about productivity. I don’t actually recommend getting things done, so why recommend GTD? I don’t believe in a strong work-ethic, or career success, or getting ahead – but I try to do them all. Why do I fall for it over and over? Why do I take on so many projects? Who am I trying to impress?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To be more productive, I’ve heard that you should wear the same clothes every day, and get up at 4am. That sounds like a shitty life. I’m not interested.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I see other people’s accomplishments on-line and wonder if I’ll stack up. I should be working harder. I should be more productive. I wonder if they feel the same. I wonder if we’re fueling each other in a constant struggle to be relevant. I don’t want to play that game. But look at Rachel Andrews and Jen Simmons, with their amazing work on the future of web layout, while I maintain a dying grid system. Sarah Drasner is talking every weekend, and building animations to die for. Abby Covert wrote this exact same article a week before me!&lt;/p&gt;
&lt;p&gt;Maybe I should work harder. Maybe a new version of Susy will convince the world that I’m still relevant. Maybe another novel will break me into a best-seller list, and I’ll retire on a boat at the age of 35. Maybe I’ll be a literal rock star. Maybe I’ll gain a million followers on Twitter, and clients will break down our doors. Maybe I should get back to work.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I agreed to write this article because look at the company! What a list! What a lineup! These people inspire me every day! I know a few of them in person, and they’re wonderful! What an honor! Bang bang bang! Interobang?!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I read somewhere that “what gets measured gets done” and I’ve seen that play out. The ways we define success change the ways we work. Apps like Facebook and Instagram often measure click-interactions, and optimize for more clicking. “We’re just giving people what they want, according to the data,” I’m told. But who decided that quantitative click-tracking is an accurate measure of my desires? When did socializing become measurable through likes? How do we measure something new?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I remember a mentor telling me to set directions instead of goals. If you reach your goals, you have no idea what’s next – but you can follow a direction as long as you want. I wonder if this is the same as focussing on the journey instead of a destination. Same cliche, different flavor?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I have to finish a project on deadline, a good system can make all the difference – but where are we going with this? Productivity has become a belief-system that eats itself, without care for the world outside. I care about the world outside. At best, productivity is a way to get where we’re going. I hope I’m going somewhere interesting.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My partner just linked me to an app called Minutia – an “anti-social” app that facilitates anonymous photo-sharing around the world. No likes, or comments, or profiles involved. It’s beautiful, and there is nothing to click.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The best productivity tip is entirely unfair: do something else. Take a walk, play a game, watch TV. Fill your mind with otherwise-worthless junk. You can’t build new ideas without new material to work from. The best way to be productive is to have free time, and leftover energy to travel, daydream, and explore.&lt;/p&gt;
&lt;p&gt;That’s not advice, that’s privilege. Like saying do what you love – only the wealthiest and healthiest can act on it. Everyone else needs a paycheck.&lt;/p&gt;
&lt;p&gt;When life is easy, I can write open-source software all day long. But when I’m struggling personally or financially, my production goes to shit. I’m lucky to have a job with some flexibility, teammates who will cover when I fail, and a family who will let me do a puzzle in the corner when I’m overwhelmed.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Want to be like Steve Jobs? Try exploiting cheap international labor!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The next time I share about my year, I hope to let go of my productive ego, and share what life is really like. It’s been a hard year, and a good one. I’ve made new friends, and enjoyed collaborating with some amazing people. I’ve struggled to feel productive, and also to take time and enjoy myself. When I focus on productivity, I only make things worse.&lt;/p&gt;
&lt;p&gt;We need to find a better metric.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Fun with Viewport Units</title>
    <link href="https://www.miriamsuzanne.com/2017/06/05/viewport-units/" />
    <updated>2017-06-05T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/06/05/viewport-units/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Gods on the Lam</title>
    <link href="https://www.miriamsuzanne.com/2017/06/02/gods-on-the-lam/" />
    <updated>2017-06-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/06/02/gods-on-the-lam/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/bNFkBxXM-q-640.avif 640w, https://www.miriamsuzanne.com/img/bNFkBxXM-q-960.avif 960w, https://www.miriamsuzanne.com/img/bNFkBxXM-q-1500.avif 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Gods on the Lam book cover spread in bold yellow and rusty red, with a messy collage of pulp fiction characters - a black woman singer, a white male scientist, and some white cowboys flailing their pistols&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/bNFkBxXM-q-640.jpeg&quot; width=&quot;1500&quot; height=&quot;1119&quot; srcset=&quot;https://www.miriamsuzanne.com/img/bNFkBxXM-q-640.jpeg 640w, https://www.miriamsuzanne.com/img/bNFkBxXM-q-960.jpeg 960w, https://www.miriamsuzanne.com/img/bNFkBxXM-q-1500.jpeg 1500w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    Cover art commissioned by
    &lt;a href=&quot;https://perpetualpublishing.com/product/gods-on-the-lam/&quot;&gt;
      Perpetual Motion Machine
    &lt;/a&gt;
  &lt;/figcaption&gt;
&lt;figure&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&lt;a href=&quot;https://www.christopherrosales.com/&quot;&gt;Christopher David Rosales&lt;/a&gt;
and
&lt;a href=&quot;https://perpetualpublishing.com/product/gods-on-the-lam/&quot;&gt;Perpetual Motion Machine&lt;/a&gt;
commissioned me
to create custom artwork
for the cover of this great new book.
They were particularly drawn
to imagery and style
from my &lt;a href=&quot;https://www.miriamsuzanne.com/2014/08/02/screwtooth/&quot;&gt;Screwtooth&lt;/a&gt;
instsallation.&lt;/p&gt;
&lt;/figure&gt;&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Body &amp; gender fragments</title>
    <link href="https://www.miriamsuzanne.com/2017/03/01/my-body/" />
    <updated>2017-03-01T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/03/01/my-body/</id>
    <content type="html">
      &lt;p&gt;I wasn’t born in the wrong body.
&lt;em&gt;I was born, a body.&lt;/em&gt;
Without my body, I don’t exist.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Some &lt;mark&gt;bodies have freckles,&lt;/mark&gt;
while some are six-foot-four and near-sighted.
Some grow thick hair,
&lt;mark&gt;while&lt;/mark&gt; others have autism.
Each body comes with a unique mix of experiences —
affordances and constraints.
This body isn’t wrong,
it’s trans.
&lt;mark&gt;My genitals don’t&lt;/mark&gt; match my gender,
the way some bodies do.&lt;/p&gt;
&lt;p&gt;You might need help with insulin.
&lt;mark&gt;I need help&lt;/mark&gt; with estrogen.
I don’t mean to medicalize this experience —
only &lt;mark&gt;to claim it&lt;/mark&gt;,
and put it &lt;mark&gt;in my body.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;I operate best on hormones I don’t produce.
&lt;mark&gt;Most women&lt;/mark&gt; call that menopause.
I call it transition.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;black-out&gt;&lt;button type=&quot;button&quot; is-switch&gt;&lt;switch-text&gt;These fragments&lt;/switch-text&gt;&lt;/button&gt;







&lt;/black-out&gt;
are my own,
not a guide to trans experience.
Some will &lt;mark&gt;relate to parts.&lt;/mark&gt;
Others won’t.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;There’s a temptation to cherry-pick the past,
to &lt;mark&gt;emphasize one&lt;/mark&gt; particular story-arc,
associate myself with the proper stereotypes,
and prove I was &lt;em&gt;born this way&lt;/em&gt; —&amp;nbsp;
a &lt;mark&gt;girl&lt;/mark&gt; from my first breath.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;In&lt;/mark&gt; the final years before my &lt;mark&gt;transition,&lt;/mark&gt;
I was begging the pieces to fit perfectly.
I wanted a narrative that could prove my gender,
once and &lt;mark&gt;for all.
That story doesn’t exist.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;A friend asks&lt;/mark&gt; me what it means &lt;mark&gt;to be a woman&lt;/mark&gt;.
I have no idea.
What does it mean for you &lt;mark&gt;to be your&lt;/mark&gt; gender?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Dysphoria is a subtle,
grumpy, &lt;mark&gt;subconscious beast —&lt;/mark&gt;
like an upset stomach,
&lt;mark&gt;or the anger you feel&lt;/mark&gt; when you haven’t eaten.&lt;/p&gt;
&lt;p&gt;Gender dysphoria is &lt;em&gt;hangry&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;There’s no instruction manual,
&lt;mark&gt;or arrow&lt;/mark&gt; pointing &lt;em&gt;you are here&lt;/em&gt;.
Your hunger
doesn’t take the time
to stop and explain itself
before &lt;mark&gt;making you frustrated.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I watch&lt;/mark&gt; Eddie Izzard,
and think maybe I’m an &lt;em&gt;action transvestite&lt;/em&gt;,
but the lazy kind,
who has no time for makeup,
and finds &lt;mark&gt;dresses&lt;/mark&gt; unflattering.&lt;/p&gt;
&lt;p&gt;Megan asks if I’ve been a good boy &lt;mark&gt;this year.&lt;/mark&gt;
&lt;em&gt;I’m not very good at being a boy,
if that’s what you mean.&lt;/em&gt;
She says &lt;mark&gt;I’m genderqueer,&lt;/mark&gt;
so I attend the
Trans and Genderqueer Poetry Symposium.&lt;/p&gt;
&lt;p&gt;Rose asks &lt;em&gt;what pronouns do people use for you&lt;/em&gt;?
That’s &lt;mark&gt;not the question&lt;/mark&gt; she meant to ask,
and not the question I wish I was answering.
Neither of us correct our mistake.&lt;/p&gt;
&lt;p&gt;Erin asks me point-blank,
but I don’t know the answer.
For a week,
&lt;mark&gt;she uses&lt;/mark&gt; all the pronouns interchangeably,
but I only like the moments of &lt;em&gt;she/her/hers&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;It’s hard&lt;/mark&gt; getting anyone else to follow suit.
I think maybe &lt;mark&gt;changing my name&lt;/mark&gt;
will help,
but it doesn’t much.&lt;/p&gt;
&lt;p&gt;I tell Nat how I’m feeling.
&lt;em&gt;That’s because you’re not on hormones yet&lt;/em&gt;.
I believe her,
&lt;mark&gt;but there’s a&lt;/mark&gt; waiting &lt;mark&gt;list.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I never&lt;/mark&gt; felt like a girl.&amp;nbsp;
What do girls feel like?
I didn’t &lt;em&gt;always know&lt;/em&gt;,
and &lt;mark&gt;dream&lt;/mark&gt; of wearing dresses.
I wasn’t consistent, insistent, or persistent.&lt;/p&gt;
&lt;p&gt;I was &lt;em&gt;frustrated&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Even after I pinned that pain
&lt;mark&gt;on gender,&lt;/mark&gt;
it took years to make sense of the fragments.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Sometimes you don’t know the pain is real
&lt;mark&gt;until it goes away.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I first &lt;a href=&quot;https://www.miriamsuzanne.com/2016/08/17/trans/&quot;&gt;call myself trans&lt;/a&gt;
while speaking to 60-some relatives at a family reunion.
Sometimes I do things the hard way.
&lt;mark&gt;Everyone is&lt;/mark&gt; supportive,
but no one notices their pronouns,
and it feels like nothing will ever &lt;mark&gt;change.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;Grandma asks if &lt;mark&gt;I’m planning&lt;/mark&gt; to transition medically,
and I say no.
I’m wrong.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Cis women warn me about
the &lt;mark&gt;emotional terrors&lt;/mark&gt; of estrogen.
&lt;em&gt;Clearly you haven’t tried testosterone&lt;/em&gt;,
I say.
&lt;em&gt;That shit’ll fuck you up&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Transition is a &lt;mark&gt;wild waffling&lt;/mark&gt;
between dysphoria and euphoria.
The &lt;mark&gt;changes&lt;/mark&gt; all seem minor,
but the results are &lt;mark&gt;life-changing.&lt;/mark&gt;
I’m the same person,
completely,
and &lt;mark&gt;not at all.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I lose two shoe sizes,
and twenty-two pounds.
&lt;mark&gt;I can’t lift&lt;/mark&gt; my bass amp,
and rarely get turned on —
but when I do it’s electric.
The world is several degrees colder,
to make up for &lt;mark&gt;global warming, I suppose.&lt;/mark&gt;
Emotions live in my body, taking root.
&lt;mark&gt;I’m all&lt;/mark&gt; nerve endings,
raw and &lt;mark&gt;exposed to the elements.&lt;/mark&gt;
When I pay attention,
&lt;mark&gt;I love&lt;/mark&gt; every second of it.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;He &lt;mark&gt;genders&lt;/mark&gt; me right,
in that &lt;mark&gt;condescending&lt;/mark&gt; tone reserved for women.
I’m excited &lt;mark&gt;and horrified.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Many people become frustrated by the trappings of gender —&amp;nbsp;
the rules and regulations imposed by our culture.
&lt;mark&gt;We are not&lt;/mark&gt; the only people
to push against these limits.
Then the &lt;mark&gt;boys&lt;/mark&gt; find their inner princess,
&lt;mark&gt;and girls&lt;/mark&gt; grow up to be president (please),
&lt;mark&gt;and everyone else&lt;/mark&gt; moves on.&lt;/p&gt;
&lt;p&gt;As my brother says,
&lt;em&gt;cis does not mean simple&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I wanted that story too —&amp;nbsp;
a complex gender,
&lt;mark&gt;breaking from tradition&lt;/mark&gt;
without crossing any lines.
I hoped gender was only &lt;mark&gt;a construct,&lt;/mark&gt;
and a change in performance could destroy my dysphoria.
I wanted to express my feminine traits and move on.&lt;/p&gt;
&lt;p&gt;But &lt;em&gt;feminine&lt;/em&gt; is not my gender.
Painted nails are not what it means to be a woman.
Gender is often performed,
but the performance &lt;mark&gt;is not the whole story.&lt;/mark&gt;
The play is not the thing.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A visiting trans friend asks where I get my T.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I make it inside my body&lt;/em&gt;,
I tell him.
&lt;em&gt;I’d give it to you if I could&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;My doctor doesn’t require
a therapist’s approval,
but she tells me
&lt;em&gt;it’s helpful if you have one&lt;/em&gt;.
I don’t know what that means.
My therapist writes a letter,
just in case.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;I have to&lt;/mark&gt; sign a form
that explains the effects of hormone therapy.
They bring me the wrong form:
&lt;em&gt;Consent for Masculinizing Hormone Therapy&lt;/em&gt;.
I &lt;mark&gt;ask for the&lt;/mark&gt; other form, please.
Probably a clerical error,
but it feels good.&lt;/p&gt;
&lt;p&gt;This is called &lt;em&gt;informed consent&lt;/em&gt;.
Expect &lt;mark&gt;breast growth,&lt;/mark&gt;
changes in body fat,
&lt;mark&gt;and thinning&lt;/mark&gt; body hair.
Don’t expect &lt;mark&gt;changes&lt;/mark&gt; in voice
or facial hair.
The form is full of typos,
but I sign it anyway.
Later that day,
I take my first hormone pills.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;Everyone asks me&lt;/mark&gt; if I’ll keep dating women.
&lt;em&gt;The better question&lt;/em&gt;,
I say,
&lt;em&gt;will women keep dating me&lt;/em&gt;?
I wonder &lt;mark&gt;which part&lt;/mark&gt; of transition
should change who I find attractive.
The name and pronoun,
or hormones,
&lt;mark&gt;or a possible surgery&lt;/mark&gt; down the road?
This all &lt;mark&gt;sounds absurd.&lt;/mark&gt;
I was bi before,
I’m bi now,
and I expect to be bi for a very long time.&lt;/p&gt;
&lt;p&gt;Some do find that transition
allows them more comfort
in dating or noticing
different genders than before.
&lt;mark&gt;Sometimes sexuality is just&lt;/mark&gt; about
feeling comfortable and paying attention.
Nothing is &lt;mark&gt;set in stone.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I’m still &lt;a href=&quot;https://www.miriamsuzanne.com/2016/12/24/clarifications/&quot;&gt;learning to identify&lt;/a&gt;
as a woman,
and as a lesbian.
&lt;mark&gt;Both are&lt;/mark&gt; over-simplifications.
Maybe a non-binary &lt;mark&gt;genderqueer trans woman&lt;/mark&gt;
bi/pansexual femme tomboy dyke?&lt;/p&gt;
&lt;p&gt;I was assigned male,
and learned to identify as a man —&amp;nbsp;
no matter how odd or painful that felt.
My identity was male &lt;mark&gt;for 33 years.&lt;/mark&gt;
Even when the label means nothing to you,
it can be hard to shake off.&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;My gender identity is frustrated?&lt;/li&gt;
&lt;li&gt;My gender frustration is female?&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I’m terrified&lt;/mark&gt; that all I want is
the mythical teenage sleepover,
and &lt;mark&gt;I’m too late&lt;/mark&gt; for that.
The Internet is all tweens and early teens,
afraid they are too old for hormones.
I read all the wrong things,
and cry for weeks.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I told myself I was &lt;mark&gt;too masculine&lt;/mark&gt; to transition.&lt;/p&gt;
&lt;p&gt;I told myself I looked too young without a beard.
I told myself a beard would allow me to be more queer.
I used my beard as a beard,
in the way gay boys and lesbians team up
&lt;mark&gt;to throw you off the scent.&lt;/mark&gt;
I told myself
&lt;em&gt;if you don’t try you can’t fail&lt;/em&gt;.
If I have a beard,
no one will think I’m trans.
I was right.
&lt;mark&gt;My own fear and&lt;/mark&gt; self-hatred
became my strongest defense.
I told myself &lt;em&gt;it’s only a body&lt;/em&gt;.
I told myself nothing fit right.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A &lt;mark&gt;friend jokes&lt;/mark&gt; about the useless buttons
on the &lt;mark&gt;back of my new coat.&lt;/mark&gt;
&lt;em&gt;Those buttons aren’t useless&lt;/em&gt;,
I tell him.
&lt;em&gt;That’s how people know I’m a woman&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I believed &lt;mark&gt;gender was only&lt;/mark&gt; a performance
when my own &lt;mark&gt;gender was a&lt;/mark&gt; performance.
Others believe &lt;mark&gt;gender&lt;/mark&gt; aligns with genitals,
because theirs does.
It’s hard to look &lt;mark&gt;beyond&lt;/mark&gt; your own experience.
That’s why we have &lt;a href=&quot;https://medium.com/@juliaserano/empathy-politics-d7f62aa90e75#.6p8z24z5w&quot;&gt;empathy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I realized I was &lt;mark&gt;trans&lt;/mark&gt;
when rejecting &lt;mark&gt;gender&lt;/mark&gt; only made things worse.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I’ve been fortunate
&lt;mark&gt;to have the partners I have.&lt;/mark&gt;
None of us knew
if our relationships would survive this transition,
but both are queer as &lt;mark&gt;fuck,&lt;/mark&gt;
and I don’t know how I would have survived
&lt;mark&gt;without them.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;Thank you Rachel.
Thank you Erin.
&lt;mark&gt;You mean the world&lt;/mark&gt; to me.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I’m not trans because of the things I like,
or the people I sleep with.
I’m not trans in order to paint my nails,
fuck boys, join a coven,
or get a free drink on Ladies Night.
I’m not &lt;mark&gt;exploring my feminine side,&lt;/mark&gt;
or enjoying the realities of sexism,
&lt;mark&gt;objectification,&lt;/mark&gt; double-standards, mansplaining, and harassment.
I could do &lt;mark&gt;all those things&lt;/mark&gt; before.&lt;/p&gt;
&lt;p&gt;I’m trans because &lt;mark&gt;the doctors called&lt;/mark&gt; me a man
and they were &lt;mark&gt;wrong.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I thought I was borrowing a scraper,
&lt;mark&gt;but then&lt;/mark&gt; he just cleaned off the car for me.
This doesn’t happen when you look like a boy person.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The bank ask to see my marriage license.
When &lt;mark&gt;I don’t have one,&lt;/mark&gt;
they ask the reason for my name change?
I make a list of possible reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Just in case.&lt;/li&gt;
&lt;li&gt;&lt;mark&gt;That time of the week.&lt;/mark&gt;&lt;/li&gt;
&lt;li&gt;I lost my old name, on the bus to Boulder.&lt;/li&gt;
&lt;li&gt;Identity theft.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;There’s a &lt;mark&gt;period&lt;/mark&gt; where
I can’t use &lt;em&gt;he/him/his&lt;/em&gt; for anyone.
I pause before every pronoun,
confused.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I don’t know&lt;/mark&gt; how many trans people I know.
After transition, many fade from view.
Cis-assumption helps us blend in,
for our own safety.
Others haven’t come out yet.&lt;/p&gt;
&lt;p&gt;Visibility is dangerous,
but without it we’re &lt;mark&gt;monsters&lt;/mark&gt; under the bed.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;“Passing” is not &lt;mark&gt;something I do,&lt;/mark&gt;
but something that happens to me —
not a way of presenting,
but a way of being seen.
&lt;em&gt;Fickle&lt;/em&gt;.
In a single moment
I &lt;mark&gt;can be seen and not seen,&lt;/mark&gt;
gendered and misgendered.
Ungendered, and undressed.&lt;/p&gt;
&lt;p&gt;I start using the women’s restroom
when others start seeing a woman —
not 100%,
but &lt;mark&gt;enough to feel&lt;/mark&gt; un/safe.&lt;/p&gt;
&lt;p&gt;Suddenly &lt;mark&gt;the men’s room&lt;/mark&gt; feels impossible.
I’m terrified,
but I’m waiting for the FF2 from Boulder,
and can’t hold it any longer.
It’s been a year now,
&lt;mark&gt;without incident.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;When I say &lt;em&gt;gender change&lt;/em&gt;,
people only hear &lt;em&gt;genitals&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;We talk about&lt;/mark&gt; socialization,
as though &lt;mark&gt;kids
only ever&lt;/mark&gt; hear the half story
intentionally directed their way.
As though we’re not all taught
&lt;mark&gt;to hate women&lt;/mark&gt; equally.
As though I can’t see past the mistake
when I’m assigned male,
&lt;mark&gt;and build&lt;/mark&gt; my own &lt;mark&gt;feminine shame&lt;/mark&gt;
outside your view.
As though I could survive 33 years
without learning to cower.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A friend asks if &lt;mark&gt;I like to dress femme&lt;/mark&gt;
in the bedroom,
or roleplay with crossed genders.
I don’t think &lt;mark&gt;my pain is that sexy.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I tell my mom&lt;/mark&gt; on the phone,
&lt;em&gt;I think I’m more binary than I think&lt;/em&gt;.
She’s confused.
So am I.
I think I need to transition.&lt;/p&gt;
&lt;p&gt;I watch &lt;a href=&quot;https://www.huffingtonpost.com/entry/kate-bornstein-queer-icon-reflects-on-queer-and-trans-identity-in-2015_561823aae4b0e66ad4c7ff37&quot;&gt;a video of Kate Bornstein&lt;/a&gt;,
and think
&lt;em&gt;finally, yes&lt;/em&gt;.
&lt;mark&gt;Nothing she says&lt;/mark&gt;,
just her existence is enough.
Nat says
&lt;em&gt;Women can be anything.
Transition first, then explore&lt;/em&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Trying on clothes &lt;mark&gt;to see if they fit&lt;/mark&gt;
is way better than trying on clothes &lt;mark&gt;to see if your gender fits.&lt;/mark&gt;
I didn’t know there was a difference,
until everything changed.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;I can finally hate&lt;/mark&gt; my body for the normal reasons.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Transgender&lt;/em&gt; and &lt;em&gt;Transsexual&lt;/em&gt; always existed somewhere else,
in another world.
&lt;mark&gt;Extreme terms.&lt;/mark&gt;
I felt an affinity
for cross-dressers, drag queens, and trans women alike
(I wouldn’t distinguish until later),&amp;nbsp;
&lt;mark&gt;but the connection&lt;/mark&gt; was fragile.
They &lt;mark&gt;seemed so fierce&lt;/mark&gt; and fabulous —
wisp-thin and perfect-femme —
nothing &lt;mark&gt;like a thick Indiana&lt;/mark&gt; farm-boy.&lt;/p&gt;
&lt;p&gt;On screen, their stories always ended badly.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Robert spent the &lt;mark&gt;night,&lt;/mark&gt;
but Audrey wasn’t allowed to.
Later,
the boys tell me not to play with her
on the playground,
&lt;mark&gt;and I listen.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A stranger asks me if I’m
&lt;em&gt;like, full tranny&lt;/em&gt;.
&lt;mark&gt;That’s not a thing.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;Living as&lt;/mark&gt; a boy,
pink became a symbol of something
I could never fully articulate.
Pink was &lt;mark&gt;a personal rebellion —&lt;/mark&gt;
pain played-off as politics.&lt;/p&gt;
&lt;p&gt;But pink &lt;mark&gt;is only subversive&lt;/mark&gt; for men.
In the end,
my rebellion reinforced my misgendering.
A month into transition,
I cleared all the pink from my closet.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Hormones are &lt;mark&gt;slow magic.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;If you are wondering,
&lt;em&gt;am I trans&lt;/em&gt;,
the answer is almost certainly
&lt;em&gt;yes love,
and you are beautiful&lt;/em&gt;.
&lt;mark&gt;No two stories are&lt;/mark&gt; the same,
but what we have in common
is that pain,
and that wondering.
You aren’t &lt;mark&gt;stuck forever.&lt;/mark&gt;
You have options.&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;In my dreams, &lt;mark&gt;I’m transgender.&lt;/mark&gt;&lt;/li&gt;
&lt;li&gt;In the mirror, &lt;mark&gt;I’m uncertain.&lt;/mark&gt;&lt;/li&gt;
&lt;li&gt;In public, &lt;mark&gt;I’m a woman.&lt;/mark&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Being trans isn’t about knowing
anything clearly,
or &lt;mark&gt;even seeing it&lt;/mark&gt; when others do.
I transitioned on faith —
my intuition &lt;mark&gt;jumping out ahead of&lt;/mark&gt; my identity.
I’m still surprised when I look in &lt;mark&gt;the mirror,&lt;/mark&gt;
but I look as often as I can —
for &lt;mark&gt;the euphoria of&lt;/mark&gt; that surprise,
or just to normalize it over &lt;mark&gt;time.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;—Ma’am, that account says ‘Eric Meyer’ &lt;br&gt;
—&lt;em&gt;That’s my old… boyfriend? Can I change it?&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;I took&lt;/mark&gt; a few voice lessons,
for a better sense of &lt;mark&gt;control over my presentation.&lt;/mark&gt;
&lt;mark&gt;I don’t worry about&lt;/mark&gt; a particular pitch,
or gender-socialized speech patterns —
just dropping some of that bass chest resonance.
It was something small I could do
before the hormones kicked in.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&quot;https://www.slate.com/blogs/outward/2016/07/19/there_s_no_such_thing_as_a_male_body.html&quot;&gt;This was never a male body&lt;/a&gt;,
it was always &lt;mark&gt;a trans body.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;My body was trans as a kid. &lt;br&gt;
My body is trans now. &lt;br&gt;
My body will always be trans.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Recently, I had a nightmare about swimming.
First I was worried about the swimsuit I don’t have.
&lt;mark&gt;Will I try some on?&lt;/mark&gt;
Then I saw the locker room doors,
and woke up in a panic.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I change my last name to Suzanne
to avoid identity confusion in my career.
I pick Suzanne from a list of family names
my parents kindly send over.
&lt;mark&gt;I’m half-aware&lt;/mark&gt; at the time
&lt;mark&gt;that&lt;/mark&gt; I should be changing my given name instead.
I move unspecified “M” to the middle,
with a sense that I might need it later.&lt;/p&gt;
&lt;p&gt;Given different genital circumstances,
&lt;mark&gt;I would have been&lt;/mark&gt; Miriam Suzanne Meyer at birth,
or Mary Sue,
or &lt;mark&gt;another variant&lt;/mark&gt;.
After three years,
I change my first name to Miriam,
and move Eric to the middle —
for &lt;mark&gt;a sense of gender-queering history&lt;/mark&gt;
that I can drop to an initial at any time.&lt;/p&gt;
&lt;p&gt;The man &lt;mark&gt;at TSA&lt;/mark&gt; looks confused.
&lt;em&gt;Is that supposed to say Erica?&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;mark&gt;My first night out with&lt;/mark&gt; a new name,
I stumble and hate every minute.
&lt;mark&gt;Erin&lt;/mark&gt; holds my hand and
introduces me to friends.
&lt;em&gt;This is my girlfriend&lt;/em&gt;.
I’m trying to be dainty,
maybe, or demure.
&lt;mark&gt;It’s disgusting,
and I want to vomit.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;Hanson is&lt;/mark&gt; on the radio.
Why is Hanson on the radio?&lt;/p&gt;
&lt;p&gt;I know that
woman is not an action,
but a description —
what I am, not what I do.
&lt;mark&gt;Knowing in my mind
and knowing in my body&lt;/mark&gt;
are different things.
Eventually &lt;mark&gt;I’m able to relax&lt;/mark&gt;
and be myself.
It’s &lt;mark&gt;a new feeling.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;An ex said
she won’t be happy
until I’m &lt;em&gt;dead, gay, or castrated&lt;/em&gt;.
I’m &lt;mark&gt;going for the hat&lt;/mark&gt; trick.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;After years of &lt;mark&gt;looking queer,&lt;/mark&gt;
it’s strange to realize
you’re suddenly no-longer noteworthy —
just one more woman walking down the street.
It happened &lt;mark&gt;while I&lt;/mark&gt; wasn’t paying attention:
the queer kids stopped giving me that knowing nod.&lt;/p&gt;
&lt;p&gt;Whatever &lt;mark&gt;made me stand out&lt;/mark&gt; before,
now only blends me in.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A few months &lt;mark&gt;on hormones,&lt;/mark&gt;
and flying becomes &lt;mark&gt;surreal.&lt;/mark&gt;
The woman checking ID says
&lt;em&gt;I guess you’ll want to get that changed&lt;/em&gt;
as she hands back my license.
&lt;mark&gt;Another woman beckons me&lt;/mark&gt; through the scanner,
and presses the pink button as I enter —
then pulls me aside
&lt;mark&gt;when the machine highlights
my&lt;/mark&gt; gender-failing &lt;mark&gt;crotch.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;—I’m sorry ma’am, you triggered an alarm.
I mean, excuse me,
we don’t say alarm now,
we say anomaly. &lt;br&gt;
—&lt;em&gt;Yeah. I’m trans.&lt;/em&gt; &lt;br&gt;
—I know, ma’am.
Is it ok if I pat you down?&lt;/p&gt;
&lt;p&gt;I buy PreCheck to avoid the scanners.
Later I learn that a good tuck —
or &lt;mark&gt;six more months&lt;/mark&gt; blocking testosterone —
is enough to pass their gender test.
Press &lt;mark&gt;that pink button&lt;/mark&gt; all you want.
I guess this is what it means to be a woman?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;In Colorado,
your chosen name &lt;a href=&quot;https://www.miriamsuzanne.com/2017/01/19/america-heard/&quot;&gt;has to sue&lt;/a&gt; your given name
&lt;mark&gt;for the right to exist.&lt;/mark&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Transition is not a binary.
We all exist on a spectrum,
stretching out in many dimensions.
My transition will never be complete,
and my gender will never be simple or static.
&lt;em&gt;Woman&lt;/em&gt; is only one label among many.
None are perfect on their own,
but &lt;mark&gt;we all live at intersections.
We all contain multitudes.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;I don’t believe&lt;/mark&gt; in authenticity,
but I do believe &lt;mark&gt;in pain,&lt;/mark&gt;
and doing something &lt;mark&gt;to survive it.&lt;/mark&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Trans Interviews &amp; Photography</title>
    <link href="https://www.miriamsuzanne.com/2017/02/26/transilient/" />
    <updated>2017-02-26T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/02/26/transilient/</id>
    <content type="html">
      &lt;blockquote&gt;
&lt;p&gt;The project attempts to humanize,
educate and destroy the assumption
that trans folks are solely defined by their physical experience.
We aim to weave transgender lives into the overall human experience
instead of merely focusing on the transition.&lt;/p&gt;
&lt;/blockquote&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Getting Started with CSS Grid</title>
    <link href="https://www.miriamsuzanne.com/2017/02/20/grids-video/" />
    <updated>2017-02-20T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/02/20/grids-video/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://www.youtube.com/embed/5fkC6AG3XWU&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Exploring CSS Grids with Geoff Graham&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Just Like That</title>
    <link href="https://www.miriamsuzanne.com/2017/02/13/just-like-that/" />
    <updated>2017-02-13T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/02/13/just-like-that/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;iframe src=&quot;https://player.vimeo.com/video/203945682&quot; width=&quot;640&quot; height=&quot;360&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 640 / 360&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;Just Like That music video&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Adaptation: SideSaddle/Myths</title>
    <link href="https://www.miriamsuzanne.com/2017/01/10/denver-quarterly/" />
    <updated>2017-01-10T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/01/10/denver-quarterly/</id>
    <content type="html">
      &lt;p&gt;The &lt;a href=&quot;https://www.du.edu/denverquarterly/&quot;&gt;Denver Quarterly&lt;/a&gt;
&lt;code&gt;vol 51 no 2&lt;/code&gt; features
side-by-side excerpts from
&lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/&quot;&gt;Riding SideSaddle*&lt;/a&gt;,
and &lt;a href=&quot;https://buntport.com&quot;&gt;Buntport&lt;/a&gt;’s adaptation:
&lt;a href=&quot;https://www.miriamsuzanne.com/theater/10myths/&quot;&gt;10 Myths on the Proper Application of Beauty Products&lt;/a&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Justice [under construction]</title>
    <link href="https://www.miriamsuzanne.com/2017/01/01/2017/" />
    <updated>2017-01-01T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2017/01/01/2017/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve had a good year
in many ways,
and so has &lt;a href=&quot;https://www.washingtonpost.com/opinions/why-2016-was-actually-one-of-the-best-years-on-record/2016/12/30/bc12701e-ce0a-11e6-a87f-b917067331bb_story.html&quot;&gt;the world generally&lt;/a&gt;.
Transition has been &lt;a href=&quot;https://www.miriamsuzanne.com/2016/08/17/trans/&quot;&gt;scary&lt;/a&gt;,
and &lt;a href=&quot;https://www.miriamsuzanne.com/2016/12/24/clarifications/&quot;&gt;confusing&lt;/a&gt;,
but also wonderful and rewarding.&lt;/p&gt;
&lt;p&gt;But over the last few months,
I’ve watched my friends
(and the Internet)
cycle through denial, anger, depression,
and a million other painful emotions —
often turning on each other
out of fear or misunderstanding.
I’ve been through a similar cycle of my own — 
constantly distracted,
making phone calls,
updating my legal documentation,
struggling to get work done,
building little toy models
to calm myself,
sending donations,
hugging friends,
and breaking into tears
reading article after article.&lt;/p&gt;
&lt;p&gt;I’ve tried to write this post
at least 20 different times,
and I still can’t get it right.
There is no right to get.&lt;/p&gt;
&lt;p&gt;Like many of us,
I live at an intersection of worlds —
female, white, transgender,
able-bodied, lesbian/pan-sexual,
neurotypical, etc — 
not sure if I’m the primary problem
or a primary target.
Probably both.
I’m tired,
and I don’t know how to be useful.
How effective is art?
Am I in personal danger?
How useful is my writing?
How complicit am I in which problems,
and how do I fight back?
How can my experiences, my love,
my donations, my company, phone-calls,
or protests help anyone?&lt;/p&gt;
&lt;p&gt;I want to be strong,
but I’m not.
I want to be effective,
but I don’t know what that means,
and I’m pretty sure it’s a myth of our culture.&lt;/p&gt;
&lt;h2&gt;Personal &amp;amp; Political&lt;/h2&gt;
&lt;p&gt;There are several tensions
pulling me in different directions.
Zooming in,
I see individuals hurting —
scared like me.
I know how to be a friend.
I can reach inward,
and care for my community.
I can listen to what’s needed day-to-day,
and be there for the people around me.
I see you, and I love you.&lt;/p&gt;
&lt;p&gt;Zooming out,
I get overwhelmed by the scale of our problems — 
the ways &lt;a href=&quot;https://www.theguardian.com/commentisfree/2016/nov/09/rise-of-the-davos-class-sealed-americas-fate&quot;&gt;neoliberal&lt;/a&gt; capitalism,
misogyny, ableism, and white-supremacy
take physical form
to destroy lives in the most mundane ways.
Our representative democracy doesn’t represent us all,
and never has.
The best we can hope for
is a few simple rights doled out selectively,
or not taken away —
rights we should have by default.&lt;/p&gt;
&lt;p&gt;We don’t want better jobs,
we want to stop selling our bodies and lives
to corporations for their profit.
We don’t want to hug police officers,
we want to end the police state.
We don’t want access to marriage
on hetero terms,
we want to redefine “family”
for ourselves.
We don’t want legal weed for white entrepreneurs,
we want the &lt;a href=&quot;https://newjimcrow.com/&quot;&gt;prisons emptied&lt;/a&gt;
and the war-on-drugs annulled.
We don’t want the DAPL re-routed,
we want full sovereignty
and reparations for native tribes, 
and an end to environmental destruction.&lt;/p&gt;
&lt;p&gt;The status quo was bad enough,
how are we supposed to deal with Trump?&lt;/p&gt;
&lt;h2&gt;Known Unknowns&lt;/h2&gt;
&lt;p&gt;No one knows exactly &lt;a href=&quot;https://www.nytimes.com/interactive/2016/11/21/us/politics/what-trump-wants-to-do-in-his-first-100-days-and-how-difficult-each-will-be.html?smid=tw-nytimes&amp;amp;smtyp=cur&amp;amp;_r=0&quot;&gt;what will happen next&lt;/a&gt;,
but the threats against marginalized people
(and the environment)
are clear.
We understand the direction,
if not all the details.&lt;/p&gt;
&lt;p&gt;We know our government is designed to resist change,
and maybe that will work in our favor now. 
But we also know how easily our institutions
are corrupted by money and fear.
Who will fight beside us?
How bad will things get?&lt;/p&gt;
&lt;p&gt;The unknowns don’t make this transition less terrifying, 
and the fact that &lt;em&gt;things were bad already&lt;/em&gt;
is no consolation.
There’s a lot to do,
and a lot of people that need our help.&lt;/p&gt;
&lt;h2&gt;Queering the Revolution&lt;/h2&gt;
&lt;p&gt;I see a temptation to grasp for simple explanations,
with simple sides,
and even simpler solutions.
But simplifications are what got us here — 
a distraction,
not a plan for change.
It’s time to embrace
the complexity of human rights,
human systems,
and human identities.
Not to be stopped by wishy-washy complacency,
but to fight for &lt;em&gt;all the people&lt;/em&gt;,
no matter how messy that gets.
We need movements for intersectional empowerment,
when it would be easier to throw our fringes
under the bus.
We need to challenge all our assumptions
about what is “normal”
in this queer and unusual world.&lt;/p&gt;
&lt;p&gt;Listening is radical,
emotions are radical,
silence can be radical,
and efficiency
is not the definition of your value.
Speaking up can also be radical,
along with rational thought,
action,
and visible results.
Progress comes in cycles of action and reflection,
mourning and anger,
give and take,
analysis and emotion.
Don’t get stuck in one place.
Keep cycling.
Keep showing up.&lt;/p&gt;
&lt;p&gt;There will always be arguments
about what tactics are better,
more effective,
or &lt;em&gt;enough&lt;/em&gt;.
Change will require
all of us doing what we can, 
finding new ways to define &lt;em&gt;action&lt;/em&gt;,
and new ways of acting.
That will look different
for different people.
The bigger and more diverse the movement,
the better.&lt;/p&gt;
&lt;p&gt;I know it’s annoying,
but we need anarchists &lt;em&gt;and&lt;/em&gt; &lt;a href=&quot;https://www.sheshouldrun.org/&quot;&gt;politicians&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We need to accept that no question is either or.
Individuals are not
either privileged or marginalized
with a simple on/off switch,
but shades of intersectional
identity and experience.
Resistance doesn’t have to be either violent or polite,
when confrontational nonviolence
has &lt;a href=&quot;https://www.washingtonpost.com/news/monkey-cage/wp/2016/11/21/people-are-in-the-streets-protesting-donald-trump-but-when-does-protest-actually-work/?utm_term=.1d9c0a0f5fe8&quot;&gt;the only reliable track-record&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We must both acknowledge
our collective and individual racism,
while we more &lt;a href=&quot;https://medium.com/@juliaserano/prejudice-political-correctness-and-the-normalization-of-donald-trump-28c563154e48#.eev3frwt1&quot;&gt;clearly distinguish&lt;/a&gt; between
ignorance, complacency, prejudice,
and active white supremacy.
All bigotry is real,
no matter the intentions,
but different forms of bigotry
call for different forms of resistance.&lt;/p&gt;
&lt;p&gt;We can learn to dissect and identify
all the subtle micro-aggressions
of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Kyriarchy&quot;&gt;kyriarchy&lt;/a&gt;,
and identify where ideas become &lt;em&gt;problematic&lt;/em&gt;,
while also understanding
that a barrage of &lt;a href=&quot;https://www.vox.com/policy-and-politics/2016/11/16/13426448/trump-psychology-fact-checking-lies&quot;&gt;facts&lt;/a&gt; and “callouts”
will &lt;a href=&quot;https://www.vox.com/identities/2016/11/15/13595508/racism-trump-research-study&quot;&gt;never bring about&lt;/a&gt;
the change we need.
We can recognize that personalized education
on privilege and oppression
is not our responsibility as minorities,
but may be our primary responsibility
as activists.&lt;/p&gt;
&lt;p&gt;We can acknowledge that
general education is essential in the abstract,
but degrees and certifications are often
an excuse for new hierarchies,
moral requirements,
money, power, and exclusion.&lt;/p&gt;
&lt;p&gt;Our bubbles separate us,
but also keep us safe.
Self-care is essential,
and a clever cover for complacency.
Real America is rural and urban,
and infinitely diverse.
Action is essential,
and a clever cover for insecurity.
Incremental progress leaves people behind,
while revolutions often kill the most vulnerable.
We have to be political and empathetic,
listening and fighting.
Move fast and slow,
think personal and systemic.
Respect our feelings
enough to act on them,
and respect our actions
enough to feel them.
Soul-searching won’t end oppression,
but it’s an important part of our work.&lt;/p&gt;
&lt;p&gt;We have to be human,
in systems that are larger than ourselves.&lt;/p&gt;
&lt;p&gt;Alok Vaid-Menon sums it up well
in their recent &lt;a href=&quot;https://www.facebook.com/AlokVaidMenon/posts/1636504483312005&quot;&gt;new years resolution&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;stop using politics to legitimize my feelings&lt;/li&gt;
&lt;li&gt;affirm people for being needy &amp;amp; vulnerable in public&lt;/li&gt;
&lt;li&gt;recognize everyone else’s complexity as much as i do my own&lt;/li&gt;
&lt;li&gt;admit when i operate from a place of hurt &amp;amp; loneliness&lt;/li&gt;
&lt;li&gt;believe in all of our infinite capacity for transformation&lt;/li&gt;
&lt;li&gt;provide care as much as i provide critique&lt;/li&gt;
&lt;li&gt;respect limitations &amp;amp; constraints&lt;/li&gt;
&lt;li&gt;honor silence as a form of presence&lt;/li&gt;
&lt;li&gt;feel &amp;amp; love, militantly&lt;/li&gt;
&lt;li&gt;refuse the dismissal of art &amp;amp; interdependence &amp;amp; magic&lt;/li&gt;
&lt;li&gt;find immensity in what they call insignificant&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And a few of my own:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;accept that my experiences are not universal&lt;/li&gt;
&lt;li&gt;embrace a lack of answers and fear of uselessness&lt;/li&gt;
&lt;li&gt;show up with my entire self, broken and scared and opinionated&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Notes on Showing Up&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Some incomplete notes to myself,
for being present
in a time of struggle.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Find and join the efforts already under way.
Find marginalized people
already building movements,
and support them.
Don’t take over,
or dictate the terms,
or concern-troll and tone-police the movement.
Find ways to stay involved
over the long-haul — 
pace yourself but take risks,
and keep showing up.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check in with people who are scared or in danger.
Take care of each other.
There’s emotional work to be done.
This is difficult and important.
Don’t let anyone downplay
emotional experience and expression —
listening, laughing,
and having fun together.&lt;/li&gt;
&lt;li&gt;Focus on
&lt;a href=&quot;https://www.surjaction.org/&quot;&gt;bringing new people into the movement&lt;/a&gt;,
and creating a new culture.
Let marginalized groups set the priorities,
and help to amplify their voices.
Do outreach.&lt;/li&gt;
&lt;li&gt;Understand and study &lt;a href=&quot;https://code.ucsd.edu/~pcosman/Backpack.pdf&quot;&gt;privilege&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Donate time and money
to organizations
focused on
women, people of color,
immigrants, queers, Muslims,
disabled people, indigenous people
and our global climate.&lt;/li&gt;
&lt;li&gt;Support the
&lt;a href=&quot;https://policy.m4bl.org/&quot;&gt;Movement For Black Lives&lt;/a&gt;
and
&lt;a href=&quot;https://www.joincampaignzero.org/#vision&quot;&gt;Campaign Zero&lt;/a&gt;.
Get involved with
&lt;a href=&quot;https://www.surjaction.org/&quot;&gt;SURJ&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Donate to &lt;a href=&quot;https://www.donorschoose.org&quot;&gt;high-poverty schools&lt;/a&gt;,
and establish long-term plans for
charitable and political giving.&lt;/li&gt;
&lt;li&gt;Follow these helpful
&lt;a href=&quot;https://docs.google.com/spreadsheets/u/1/d/174f0WBSVNSdcQ5_S6rWPGB3pNCsruyyM_ZRQ6QUhGmo/htmlview&quot;&gt;guides for calling your elected officials&lt;/a&gt;
and learn how to affect
political change.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fight for diversity in your own industry,
company, and organizations —
in who you hire and what you build.
Create a better training pipeline,
improve your hiring funnel,
write a code of conduct,
address harassment
and micro-aggressions in the workplace,
and keep an eye on retention rates.
There’s not one single problem,
and it will never be fully resolved.&lt;/p&gt;
&lt;p&gt;The long arc of the universe bends
wherever we bend it.&lt;/p&gt;
&lt;p&gt;Learn to bring
&lt;a href=&quot;https://docs.google.com/document/d/1bC0nyqFNx6VhBgNZDB0Oan1aa0i_UtuWeBLnOPWrJ5M/preview&quot;&gt;family and friends&lt;/a&gt;
into the movement.
It’s &lt;a href=&quot;https://www.vox.com/2016/11/23/13708996/argue-better-science&quot;&gt;a skill&lt;/a&gt; that takes practice — 
emotional labor that
&lt;a href=&quot;https://www.vox.com/policy-and-politics/2016/11/16/13426448/trump-psychology-fact-checking-lies&quot;&gt;can’t be done by listing the facts&lt;/a&gt;.
Outreach requires vulnerability,
discomfort,
and a lot of patience.&lt;/p&gt;
&lt;p&gt;Build a practice of sustainable and ongoing action.
Keep looking for new ways to show up,
and leave your ego at home.
Welcome to 2017.&lt;/p&gt;
&lt;p&gt;Stay strong.
Stay weak.
Stay present.
Keep dreaming,
and get real.
Keep crying, keep laughing, keep fighting.&lt;/p&gt;
&lt;p&gt;Take care of each other.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Some clarifications on trans language</title>
    <link href="https://www.miriamsuzanne.com/2016/12/24/clarifications/" />
    <updated>2016-12-24T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/12/24/clarifications/</id>
    <content type="html">
      &lt;p&gt;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 &lt;em&gt;gender identity&lt;/em&gt; to &lt;em&gt;biological sex&lt;/em&gt;,
&lt;em&gt;transition&lt;/em&gt;, &lt;em&gt;passing&lt;/em&gt;, and &lt;em&gt;visibility&lt;/em&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;(See also &lt;a href=&quot;https://juliaserano.com/&quot;&gt;Julia Serano&lt;/a&gt;’s
wonderful &lt;a href=&quot;https://juliaserano.com/terminology.html&quot;&gt;Transgender Glossary&lt;/a&gt;
if you are interested in more.
I link to it throughout.)&lt;/p&gt;
&lt;h2&gt;Gender “Identity”&lt;/h2&gt;
&lt;p&gt;Identity comes up regularly in trans politics,
but refers to two very
&lt;mark&gt;different concepts&lt;/mark&gt; —
often interchangeably,
and without distinction.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Our &lt;black-out&gt;&lt;button type=&quot;button&quot; is-switch&gt;&lt;switch-text&gt;conscious acts&lt;/switch-text&gt;&lt;/button&gt;







&lt;/black-out&gt;
of identifying with a gender or sexuality —
male, female, non-binary, fluid, straight, bi, gay, cis, trans,
&lt;mark&gt;non-conforming,&lt;/mark&gt; or otherwise.
We all have &lt;mark&gt;multiple conscious identities,&lt;/mark&gt;
that intersect and change over time.&lt;/p&gt;
&lt;p&gt;Those identities are curated, public, and often fluid.
I’m still learning to identify as a woman, trans, and lesbian —
even while the realities are more complex, queer, and fluctuating.
I also identify as an author, a web developer,
bi/pansexual, genderqueer, and polyamorous.
&lt;mark&gt;None of this is unique to the trans experience.&lt;/mark&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Our vague and &lt;mark&gt;often-elusive&lt;/mark&gt; sense of innate gender —
something most people seem to have,
but trans people spend more time dealing with.
&lt;a href=&quot;https://juliaserano.com/terminology.html#subconscioussex&quot;&gt;Subconscious sex&lt;/a&gt;
is really a better term for understanding trans identities.
This is not a conscious or curated self-labeling,
but more like the sensation of being angry &lt;mark&gt;because you are hungry&lt;/mark&gt; —
a feeling that can be
&lt;mark&gt;difficult to pin down&lt;/mark&gt;.
For some it is simply &lt;em&gt;male&lt;/em&gt; or &lt;em&gt;female&lt;/em&gt;,
and becomes obvious early on —
but for most of us it is more complex,
and takes years to dig through &lt;mark&gt;the rubble of&lt;/mark&gt; assumptions,
fears, and prejudices around &lt;mark&gt;our bodies&lt;/mark&gt;.&lt;/p&gt;
&lt;p&gt;Cis people also have subconscious gender identities,
though it’s more easy to assume that your sex is completely
&lt;a href=&quot;https://juliaserano.com/terminology.html#genderartifactualism&quot;&gt;constructed&lt;/a&gt;
or &lt;a href=&quot;https://juliaserano.com/terminology.html#genderdeterminism&quot;&gt;flows seamlessly&lt;/a&gt;
from your genitalia
when it has never been &lt;mark&gt;called into question&lt;/mark&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;“Biological” Sex&lt;/h2&gt;
&lt;p&gt;Many people distinguish “gender identity”
(&lt;em&gt;between the ears&lt;/em&gt;)
from “biological sex”
(&lt;em&gt;between the legs&lt;/em&gt;) —
as though one is natural and static,
while the other is invented or fluid.
That’s a vast oversimplification of the science,
and &lt;mark&gt;a dangerous&lt;/mark&gt; false dichotomy.
Our identities don’t exist outside of &lt;mark&gt;biology&lt;/mark&gt;,
and sex &lt;mark&gt;is&lt;/mark&gt; not &lt;mark&gt;fixed&lt;/mark&gt; concept
outside our identities.
These two ideas are inseparable.&lt;/p&gt;
&lt;p&gt;When a doctor assigns our gender &lt;mark&gt;at birth&lt;/mark&gt;,
they base the assignment
&lt;mark&gt;on our genitalia alone.&lt;/mark&gt;
For the many people born with “ambiguous” genitalia,
it’s common practice for doctors to perform surgery —
assigning their “biological sex” by force.
There were never two discrete categories to begin with.&lt;/p&gt;
&lt;p&gt;When we try to &lt;mark&gt;talk about sex&lt;/mark&gt; as a reproductive distinction, we’re
really talking about internal gonads producing eggs or sperm: testis and
ovary. Reproductive gonads often align with genitals, but not always,
and not in any simple binary. Some people are infertile, some past
menopause, or vasectomies, or other common reproductive changes — making
it clear that gonads don’t directly correlate with what we call
“biological” &lt;mark&gt;sex&lt;/mark&gt;.&lt;/p&gt;
&lt;p&gt;When we’re in public no one knows what genitals or gonads exist &lt;em&gt;between
our legs&lt;/em&gt;, but they feel comfortable assigning our &lt;mark&gt;sex&lt;/mark&gt; anyway — based
on the assumptions &lt;em&gt;between their own ears&lt;/em&gt;. Social gendering relies
mainly on “secondary &lt;mark&gt;sex&lt;/mark&gt; characteristics” (especially
masculine-associated facial hair etc) and gender presentation. Our lived
&lt;mark&gt;sex&lt;/mark&gt; — the way we are perceived and treated by others — has nothing to
do &lt;mark&gt;with genitals&lt;/mark&gt; or gonads.&lt;/p&gt;
&lt;p&gt;Organizations like the
&lt;a href=&quot;https://www.nytimes.com/2016/07/03/magazine/the-humiliating-practice-of-sex-testing-female-athletes.html&quot;&gt;International Olympic Committee&lt;/a&gt;
have gone further,
attempting to find a definable “biological sex” in
&lt;a href=&quot;https://www.vox.com/2014/6/3/5776396/why-theyre-not-really-sex-chromosomes&quot;&gt;chromosomes&lt;/a&gt;
and hormone levels.
The results are the same wherever you look:
our biology &lt;mark&gt;is a complicated&lt;/mark&gt; mix
of genetic inclinations that interact with our &lt;mark&gt;experiences&lt;/mark&gt;
in complex ways over time.&lt;/p&gt;
&lt;p&gt;Biology is fluid, identity is biological,
and the male/female binary is
&lt;mark&gt;more social than scientific.&lt;/mark&gt;&lt;/p&gt;
&lt;h2&gt;“Transition”&lt;/h2&gt;
&lt;p&gt;Some trans people &lt;mark&gt;decide to change&lt;/mark&gt; how we present to the world. We
transition our public personas, hoping to bring our social lives and/or
bodies more in line with our subconscious sex.&lt;/p&gt;
&lt;p&gt;That means different things for different people, but “transition” is
not a surgery, transgender is not a medical term, not &lt;mark&gt;all trans people&lt;/mark&gt;
transition, and we’re not all simply men or women &lt;em&gt;in the wrong body&lt;/em&gt;
moving from one binary to another. Transition is a million little
things, &lt;mark&gt;for a million different&lt;/mark&gt; reasons.&lt;/p&gt;
&lt;p&gt;Some of us change our pronouns, or our names — either informally, or
through legal channels. Some take hormones and/or hormone-blockers, a
few get “top” &lt;mark&gt;surgeries&lt;/mark&gt; to augment or remove breast tissue,
&lt;mark&gt;and even fewer&lt;/mark&gt; opt for genital surgery,
tracheal shaves, and cosmetic interventions.&lt;/p&gt;
&lt;p&gt;“After” transition (which has no real start or finish) we &lt;mark&gt;are the same&lt;/mark&gt;
person that we were before. With or without surgery, our genders are
just as real. Transition does not complete us or make us “real” men and
women. My body was already female, because I was. How and when and why
we transition is more personal and complex than simple &lt;mark&gt;assimilation&lt;/mark&gt;
into cis society.&lt;/p&gt;
&lt;p&gt;In October 2015, I decided to start a more intentional transition —
first socially, and then medically. I don’t believe in a “true” self
that was hidden before, or in &lt;mark&gt;vague concepts of authenticity&lt;/mark&gt;, or
finally becoming whole. I wasn’t born male, I was never a woman &lt;mark&gt;trapped
in a man’s&lt;/mark&gt; body, I’m not finally complete, I was never broken, and I
will never be fixed.&lt;/p&gt;
&lt;p&gt;People regularly assume that my transition has or will soon involve
&lt;mark&gt;genital surgery&lt;/mark&gt;. Maybe. Maybe not. But transition was never about my
genitals. Women are not vaginas, and men are not penises. I won’t
finally be a woman if I have surgery, or let a man &lt;mark&gt;penetrate me.&lt;/mark&gt; I’m
not a new or different person, and there really was no chasm to cross
over. My gender and orientation have not changed — only my social
presentation and hormone levels.&lt;/p&gt;
&lt;p&gt;I am not finally a woman, but you are finally aware of my womanhood.&lt;/p&gt;
&lt;h2&gt;“Passing”&lt;/h2&gt;
&lt;p&gt;Now that &lt;mark&gt;strangers&lt;/mark&gt; correctly identify me as a woman, people say that I
am “passing” as a woman. They’re wrong.&lt;/p&gt;
&lt;p&gt;The language of passing is borrowed from racial politics (people of
color passing as white) and later gay/lesbian politics (femme lesbians
&lt;mark&gt;or butch gays&lt;/mark&gt; passing as straight), where “passing” means your
marginalized identity is not seen.&lt;/p&gt;
&lt;p&gt;Passing is a complicated privilege —  making it possible for
marginalized people to avoid harassment and violence, at the cost of
rejecting or hiding our marginal identities.&lt;/p&gt;
&lt;p&gt;It’s also complicated because passing is &lt;em&gt;done to us&lt;/em&gt;.
&lt;mark&gt;In a single moment,&lt;/mark&gt;
different people will come to different conclusions about me,
leaving me in a state of Schroedinger’s gender.
My “passing” is based on other people’s assumptions
about my history.&lt;/p&gt;
&lt;p&gt;But passing language is particularly strange for trans people,
who are said to be “passing” when we are identified &lt;em&gt;correctly&lt;/em&gt;,
in our appropriate genders.
This plays into the popular notion
that our gender is a costume we put on,
and “passing” &lt;mark&gt;is the entire point of transition —&lt;/mark&gt;
the only way to be trans.
People regularly try to help out
by giving us unsolicited advice on our looks,
voices, or movements —
assuming that’s what we mean by &lt;em&gt;transition&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;There’s a &lt;mark&gt;history&lt;/mark&gt; to that idea,
&lt;a href=&quot;https://web.archive.org/web/20170706131302/http://www.pqmonthly.com/gatekeeping-the-dark-history-of-trans-health-care/22368&quot;&gt;enforced by the medical community&lt;/a&gt;
since the 60’s when hormone replacement therapy
started to become a medically-accepted treatment.
Doctors established themselves as gender gatekeepers,
determining who could transition medically —
in part by &lt;mark&gt;enforcing strict&lt;/mark&gt; binary stereotypes.
Until recently, medical transition was only available
if doctors thought you could “pass” well,
and you promised to live &lt;mark&gt;straight and stealth&lt;/mark&gt; after transition.
The goal of “passing” was forced on us,
and made &lt;mark&gt;trans communities&lt;/mark&gt; invisible.&lt;/p&gt;
&lt;p&gt;It might be more accurate to say
that I “pass” as cis-gender at times,
or that I previously learned to “pass”
(&lt;mark&gt;well enough&lt;/mark&gt;) as man.
Trans people face a real and constant threat of violence,
so blending in as cis can save our lives.
It’s hard to constantly have your gender
&lt;mark&gt;called into question,&lt;/mark&gt;
or made the center of conversation.
Still, “passing” is not a goal we otherwise share.&lt;/p&gt;
&lt;h2&gt;Trans “Visibility”&lt;/h2&gt;
&lt;p&gt;In the last few years, everyone is talking about trans visibility. Chaz
Bono danced with the stars, suddenly &lt;mark&gt;Lavern Cox&lt;/mark&gt; is everywhere, Caitlin
Jenner made transition a reality TV experience, and now &lt;em&gt;you’re reading
my blog&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;New media comes out every year highlighting design trans characters — but most
of them are written, directed, and acted by straight white men,
reinforcing stereotypes more than &lt;mark&gt;reality&lt;/mark&gt;. When a new show or movie
comes out, we’re often more scared than excited.&lt;/p&gt;
&lt;p&gt;These stories tend to focus on “men who think they are women” and love
doing their makeup more than anything else. After transition they are
either &lt;mark&gt;beautiful&lt;/mark&gt; straight women who get the boy (making them finally
“real” women), or pathetic creatures who &lt;em&gt;need more help passing&lt;/em&gt; to be
“successfully” trans.&lt;/p&gt;
&lt;p&gt;Even the &lt;mark&gt;true stories&lt;/mark&gt; are limited to rich and beautiful women who fit
easily into our existing binary categories: men and women, &lt;em&gt;just like
you&lt;/em&gt;. Those stories are important, but they aren’t the whole picture.
That’s not
&lt;a href=&quot;https://www.mtv.com/news/1962946/gender-non-conforming-identity-trans/&quot;&gt;how we all do trans&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Where are the &lt;a href=&quot;https://www.huffingtonpost.com/entry/kate-bornstein-queer-icon-reflects-on-queer-and-trans-identity-in-2015_us_561823aae4b0e66ad4c7ff37&quot;&gt;gender outlaws&lt;/a&gt;, the fluid identities, &lt;mark&gt;the femme boys
and butch women&lt;/mark&gt; who have always faced the brunt of harassment? Where
are the trans people who are complex and confused, or happy to mix up
our notions of gender?
When we &lt;mark&gt;argue for&lt;/mark&gt; bathroom rights
based only on &lt;mark&gt;our ability&lt;/mark&gt; to conform,
we’re throwing &lt;mark&gt;our own community&lt;/mark&gt; under the bus.&lt;/p&gt;
&lt;p&gt;This narrow visibility has been a mixed bag for the trans community.
More of us are coming out, and we’re doing it more publicly. For a
minority that’s been forced into “stealth” invisibility, it’s wonderful
to see (some of) us moving into the light. There’s power in numbers.&lt;/p&gt;
&lt;p&gt;But the &lt;a href=&quot;https://www.theguardian.com/commentisfree/2016/apr/21/transgender-rights-backlash-anti-lgbt-legislation&quot;&gt;backlash has been swift and deadly&lt;/a&gt; — moving &lt;mark&gt;faster than&lt;/mark&gt;
our cultural gains. Trans women (and especially women of color) were
already being killed at unprecedented rates — and those numbers are
higher than ever. We’ve been using bathrooms since the invention of the
toilet, but suddenly states are passing laws to mandate our bowel
movements, or protect housing and job discrimination (a more basic
concern for many trans people) as &lt;mark&gt;religious freedoms.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;I was much more visibly &lt;mark&gt;queer&lt;/mark&gt; a year ago. In some ways my transition
has made me safer, by making me one more white woman on the street. All
my femme interests or traits that used to make me &lt;mark&gt;queer&lt;/mark&gt; now make me
invisible. It’s easy for me to disappear into this over-simplified
binary trans identity that doesn’t really reflect my experience. I want
to be a proud gender-bending &lt;mark&gt;dyke&lt;/mark&gt;, but that’s often used as &lt;mark&gt;proof&lt;/mark&gt;
that I’m &lt;em&gt;really a man&lt;/em&gt;, not &lt;a href=&quot;https://www.huffingtonpost.com/mia-violet/yes-youre-trans-enough-to_b_9318754.html&quot;&gt;trans enough&lt;/a&gt;, or in need of
&lt;mark&gt;gender-assimilating&lt;/mark&gt; guidance.&lt;/p&gt;
&lt;p&gt;Just because some of us are in the &lt;mark&gt;spotlight&lt;/mark&gt; doesn’t mean we’re all
being seen.&lt;/p&gt;
&lt;h2&gt;Just Like (Not) You&lt;/h2&gt;
&lt;p&gt;Across the board, marginalized groups face a complex problem often
referred to as &lt;em&gt;respectability politics&lt;/em&gt;. The quickest way into the
mainstream is conformity — but what are the costs, and who is left
behind? Many rights-movements have devolved into “just like you” or
“&lt;a href=&quot;https://www.newscientist.com/article/mg22730310-100-sexuality-is-fluid-its-time-to-get-past-born-this-way/&quot;&gt;born this way&lt;/a&gt;”
rhetoric, allowing those of us who “pass” in the mainstream to go about
our lives as long as we’re willing to blend in.&lt;/p&gt;
&lt;p&gt;For a few of us, that’s great — or &lt;mark&gt;at least good enough&lt;/mark&gt; — but it’s not
the whole story, and it’s not the end of our movement. I don’t want to
get married, and use gendered toilets like any “normal” cis straight
person — I actually want these &lt;mark&gt;systems to break down,&lt;/mark&gt; and conform
better &lt;em&gt;to us&lt;/em&gt;. No matter how well my looks or identity fit the popular
trans mythology, I want to &lt;mark&gt;fight for something&lt;/mark&gt; more fluid and open,
that helps the whole world be more &lt;mark&gt;queer.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;I am a &lt;mark&gt;woman,&lt;/mark&gt; and I am not just like all cis &lt;mark&gt;women.&lt;/mark&gt; I will continue
to fight both sides of that argument, until all my friends have the
&lt;mark&gt;right to live all our identities&lt;/mark&gt; in the ways we see fit: monogamous or
polyamorous; straight or bi, pan or gay; sex workers, &lt;mark&gt;sluts,&lt;/mark&gt; and
prudes; trans-binary, &lt;mark&gt;gender-fluid, butch and femme;&lt;/mark&gt; black, brown,
immigrant, Muslim, and interracial; asexual, intersex, &lt;mark&gt;closeted, and
queer.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;We can’t keep accepting identities one-at-a-time, based on their ability
to assimilate with established (straight white cis) norms. We have to
&lt;mark&gt;rebuild these systems&lt;/mark&gt; with new, more fluid and queer assumptions.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Some kind of resistance tour</title>
    <link href="https://www.miriamsuzanne.com/2016/12/09/resistence-tour/" />
    <updated>2016-12-09T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/12/09/resistence-tour/</id>
    <content type="html">
      &lt;p&gt;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…&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ll be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reading from my queer-as-fuck novel &lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/&quot;&gt;Riding SideSaddle*&lt;/a&gt;,
while being a loud and vocal trans woman.&lt;/li&gt;
&lt;li&gt;speaking about empathy
in art and code and software.&lt;/li&gt;
&lt;li&gt;chatting about queer identities,
hate, politics, and intersectionality.&lt;/li&gt;
&lt;li&gt;hugging people.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m not changing the world here,
&lt;a href=&quot;https://www.miriamsuzanne.com/2017/01/01/2017/&quot;&gt;there’s more to do&lt;/a&gt;,
but it feels like a nice way to get started,
find my energy,
and find my people.&lt;/p&gt;
&lt;p&gt;Any profits will go to
&lt;a href=&quot;https://togetherlist.com/&quot;&gt;one of these rad organizations&lt;/a&gt;
committed to empowering
women, people of color, immigrants, queers, Muslims, and disabled people —
or fighting climate change.
If you have a specific organization to recommend,
&lt;a href=&quot;https://www.miriamsuzanne.com/contact/&quot;&gt;I’m all ears&lt;/a&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Loops in CSS Preprocessors</title>
    <link href="https://www.miriamsuzanne.com/2016/12/02/loops/" />
    <updated>2016-12-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/12/02/loops/</id>
    <content type="html">
      &lt;p&gt;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.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>An Interview with Miriam Suzanne</title>
    <link href="https://www.miriamsuzanne.com/2016/10/15/interview/" />
    <updated>2016-10-15T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/10/15/interview/</id>
    <content type="html">
      &lt;p&gt;Chris Coyier interviewed me
when I joined the CSS Tricks team
as a Staff Writer.
We talk about getting started in the industry,
founding OddBird,
building Susy,
and more.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;blockquote&gt;
&lt;p&gt;Now CSS is becoming an extensible language,
with programmatic power.
I’m excited to see how that plays out.&lt;/p&gt;
&lt;p&gt;—Miriam&lt;/p&gt;
&lt;/blockquote&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Estrogentrification</title>
    <link href="https://www.miriamsuzanne.com/2016/10/10/wieleba/" />
    <updated>2016-10-10T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/10/10/wieleba/</id>
    <content type="html">
      &lt;p&gt;Jordan and I were never close.
Her colleagues say she was private,
but I only experienced her generosity,
kindness, and humor.
She was one of the first trans women I talked to
before coming out.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;She was blunt about her own experience,
but endlessly supportive.
&lt;em&gt;You do you, girl. You have to do you.&lt;/em&gt;
After that, she checked in regularly —
making sure I was ok.&lt;/p&gt;
&lt;p&gt;I know I wasn’t the only trans woman she helped.
Jordan saved lives.&lt;/p&gt;
&lt;figure&gt;
  &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/219256111&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;
  &lt;figcaption&gt;EstroGentrification comedy album&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I only saw her perform once,
and it was amazing.
She’s also a great &lt;a href=&quot;https://web.archive.org/web/20160317185330/https://harlot.media/articles/1385/on-the-joys-of-cis-people-telling-me-how-well-i-pass&quot;&gt;writer&lt;/a&gt;.
I recommend a trip down the &lt;a href=&quot;https://web.archive.org/web/20161125111837/http://wieleblog.tumblr.com/&quot;&gt;rabbit hole&lt;/a&gt;.
Is that gross?
It sounds gross.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I look in the mirror
and see a person looking back at me every day,
a person I didn’t necessarily think I’d ever see.
I like that person.
I genuinely like that person.
I like the way she holds herself.
I like the confidence you can see
behind her muted green eyes.
She has seen me at my worst
and she has seen me at my best.
She is a person that makes me happy
and I am so thrilled I get to spend
the rest of my life with her.
I wish everyone could look into that mirror.&lt;/p&gt;
&lt;p&gt;—Jordan Wieleba, &lt;a href=&quot;https://web.archive.org/web/20161021060932/http://wieleblog.tumblr.com/post/145865299161/the-happiest-place-on-earth&quot;&gt;The Happiest Place on Earth&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Miriam, a how-to guide</title>
    <link href="https://www.miriamsuzanne.com/2016/08/17/trans/" />
    <updated>2016-08-17T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2016/08/17/trans/</id>
    <content type="html">
      &lt;p&gt;There are some questions that come up again and again
if you are trans.
A few of those questions are creepy,
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
&lt;em&gt;getting it right&lt;/em&gt;,
and ease my stress about
answering the same questions over and over.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;&lt;em&gt;These answers are very much my own.
I am not attempting to speak for anyone else.
If you don’t know how to relate to another trans person,
you should talk to them!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in queer art
&lt;mark&gt;more than queer&lt;/mark&gt; answers,
check out
my novel: &lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/&quot;&gt;Riding SideSaddle*&lt;/a&gt;.
It’s totally about transition,
&lt;mark&gt;and totally&lt;/mark&gt; not-at-all about transition.
It’s about &lt;mark&gt;bodies&lt;/mark&gt; and identities that won’t stay put.
I think you might &lt;mark&gt;enjoy it&lt;/mark&gt;.&lt;/p&gt;
&lt;h2&gt;I heard you shouldn’t ask trans people questions…&lt;/h2&gt;
&lt;p&gt;You should relate to &lt;mark&gt;trans people&lt;/mark&gt;
the same way you relate to other people.
Some questions are appropriate, and some aren’t.
You already know how to filter what’s appropriate:
&lt;mark&gt;you do&lt;/mark&gt; it every day,
in millions of different situations.
My transness doesn’t change the calculation at all.
If we’re really close and talk about everything,
you can ask me anything!
If we’re not, you can’t.&lt;/p&gt;
&lt;p&gt;If &lt;mark&gt;you&lt;/mark&gt; do have appropriate questions,
I’d love to talk!
Some questions are better in person,
but I’m always hanging out on
&lt;a href=&quot;https://twitter.com/TerribleMia&quot;&gt;Twitter&lt;/a&gt; as well,
and I have a &lt;a href=&quot;https://www.miriamsuzanne.com/contact/&quot;&gt;nifty contact form&lt;/a&gt;
if you need it.&lt;/p&gt;
&lt;h2&gt;What should I call you?&lt;/h2&gt;
&lt;p&gt;Miriam.&lt;/p&gt;
&lt;p&gt;Or &lt;em&gt;Mia&lt;/em&gt;, if you’re into brevity.&lt;/p&gt;
&lt;h2&gt;What pronouns should I use?&lt;/h2&gt;
&lt;p&gt;She, her, and hers.&lt;/p&gt;
&lt;p&gt;Or &lt;em&gt;they&lt;/em&gt;, if you’re into ambiguity.&lt;/p&gt;
&lt;h2&gt;How do I refer to you in the past?&lt;/h2&gt;
&lt;p&gt;See above.
&lt;mark&gt;My name is Miriam&lt;/mark&gt;,
and I use she/her pronouns.
That name and those pronouns can be used
for any time &lt;mark&gt;period&lt;/mark&gt;,
because they refer to me,
not my age or presentation-at-the-time.&lt;/p&gt;
&lt;p&gt;If you went by “Johnny” as a child,
but now you go by “John”,
and maybe you used your middle name for a few years in High School,
I don’t need to adjust for the exact
time period &lt;mark&gt;I’m talking about&lt;/mark&gt; —
I can just use your name.
Your name is &lt;mark&gt;John.&lt;/mark&gt;
&lt;em&gt;Remember when John was a kid?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Unless my dead name is specifically relevant to the conversation
(it usually isn’t),
there is no need to use it or mention it.
Even if you are quoting someone &lt;mark&gt;in the past,&lt;/mark&gt;
it won’t ruin the story to use my current name —
it will just make things more clear.
&lt;mark&gt;Who are you talking about?&lt;/mark&gt;
Miriam.
&lt;em&gt;Oh, I know her. She’s right here.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;You are probably&lt;/mark&gt; paraphrasing already,
because your memory isn’t that good.
What’s one more editorial adjustment going to hurt?&lt;/p&gt;
&lt;p&gt;If my &lt;mark&gt;dead&lt;/mark&gt; name is relevant,
just make sure you aren’t outing me.
You might not notice,
but even when people are well-meaning,
they treat me differently once I’ve been outed.*
If they’re not well meaning,
I could be &lt;mark&gt;in real danger&lt;/mark&gt;.&lt;/p&gt;
&lt;p&gt;I’m very public,
and usually happy to be out,
but not &lt;mark&gt;in every situation&lt;/mark&gt;,
and not when I’m outed by someone else.&lt;/p&gt;
&lt;p&gt;* &lt;em&gt;See Julia Serano’s concept of “ungendering” trans people —
seaking out any physical/habitual traits
that might “prove” their “real” gender.
I can’t find a good link…&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;But I have fond/terrible memories of E—&lt;/h2&gt;
&lt;p&gt;Those are memories of me,
and &lt;mark&gt;my name is Miriam&lt;/mark&gt;.
I was not a different person then.
I haven’t transitioned lives,
I’ve only transitioned what you call me.&lt;/p&gt;
&lt;p&gt;When I say “I’m transitioning”
I mostly mean “I’m teaching you to see me”.&lt;/p&gt;
&lt;h2&gt;What if I get your name or pronoun wrong?&lt;/h2&gt;
&lt;p&gt;If you slip up,
you may feel nervous or upset with yourself.
&lt;mark&gt;I’m&lt;/mark&gt; not &lt;mark&gt;thinking about you&lt;/mark&gt; —
I’m feeling guilty, sad, and worried about
&lt;a href=&quot;https://www.jennamcwilliams.com/2016/08/07/what-do-to-if-you-use-the-wrong-pronouns-for-me/&quot;&gt;what’s going to happen next&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Best case scenario, you correct yourself and move on.&lt;/li&gt;
&lt;li&gt;Hopefully you’ll slip the correct name/pronoun
into the conversation asap.&lt;/li&gt;
&lt;li&gt;You can apologize later,
but I’d rather you just get it right the next time.
The sooner the better.&lt;/li&gt;
&lt;li&gt;Please don’t make a big fuss about it,
especially in a group setting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pronouns can be hard if you’ve never had to think about them before.
Most people use them without even noticing.
Pronouns are instinct,
and if you’re not paying attention to them,
you’ll get them wrong without even realizing it.&lt;/p&gt;
&lt;p&gt;So it’s time for everyone to start practicing.
Make an effort to notice &lt;em&gt;every pronoun you ever use&lt;/em&gt;.
It takes some &lt;mark&gt;work&lt;/mark&gt;,
but it’s worth the effort.
Once you are paying attention,
it’s much easier to adjust from one situation to the next.&lt;/p&gt;
&lt;h2&gt;Should I update my old blog post or website that mentions you?&lt;/h2&gt;
&lt;p&gt;Probably.
I’d love for you to update my name anywhere you can.
&lt;mark&gt;I’m&lt;/mark&gt; not
&lt;mark&gt;scouring the interwebs&lt;/mark&gt;
to find every instance,
but I might ask you to
update my name if I see it.
Not because &lt;black-out&gt;&lt;button type=&quot;button&quot; is-switch&gt;&lt;switch-text&gt;I need to erase&lt;/switch-text&gt;&lt;/button&gt;







&lt;/black-out&gt;
any mention of my past,
but because it’s confusing to refer to a person
by a name they don’t use.&lt;/p&gt;
&lt;h2&gt;What about this old photo I have?&lt;/h2&gt;
&lt;p&gt;If you have a headshot of me before I started transtion,
please replace it with &lt;mark&gt;a recent headshot&lt;/mark&gt;.
You can find one &lt;a href=&quot;https://www.miriamsuzanne.com/who/&quot;&gt;on my about page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have a photo of us together,
&lt;mark&gt;or&lt;/mark&gt; me in some specific context
(like at a conference), leave it up.
I don’t love old pictures of me,
but who does? That was me,
and &lt;mark&gt;I’m not interested in&lt;/mark&gt;
losing all proof of my existence before 2015.
It’s &lt;mark&gt;a trade-off&lt;/mark&gt; I’m happy to live with.&lt;/p&gt;
&lt;p&gt;Many trans people will want to remove all old photos,
and they have &lt;em&gt;very good reasons for it&lt;/em&gt;.
If you know someone else transitioning,
don’t assume my answer is true for them — ask!&lt;/p&gt;
&lt;h2&gt;Can I be a helpful friend/ally?&lt;/h2&gt;
&lt;p&gt;You can!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you hear someone misgender or deadname me in person,
use my correct name and pronouns as soon as you can.
&lt;mark&gt;It will help&lt;/mark&gt; them remember without making a fuss,
and it will help me relax.&lt;/li&gt;
&lt;li&gt;Again, if I’m around, try not to make a big fuss.
You can pull them aside later if you have to.&lt;/li&gt;
&lt;li&gt;If you see &lt;mark&gt;an old&lt;/mark&gt; site/post that needs updating,
feel free to contact the author and point them here.&lt;/li&gt;
&lt;li&gt;If we’re in a group with &lt;mark&gt;people I’m not out to&lt;/mark&gt;,
or you aren’t sure, don’t out me.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you’ve known me for a long time,
you might &lt;mark&gt;have a hard time&lt;/mark&gt; updating your perception of me.
You might think other people see the same thing you do.
They don’t.
Most people I meet never question my gender.
Learn to see me like those people.&lt;/p&gt;
&lt;p&gt;You should also feel free to share this post,
or point people to it,
if you find it helpful.
I posted it on the internet for anyone to read.&lt;/p&gt;
&lt;h2&gt;What trans terms should I use, and where can I learn more?&lt;/h2&gt;
&lt;p&gt;If you are interested in the specific meanings
and political debates around trans terminology,
I recommend starting with
&lt;a href=&quot;https://www.juliaserano.com/terminology.html&quot;&gt;Julia Serano&lt;/a&gt;’s
extensive writing on the topic.
&lt;mark&gt;I recommend everything&lt;/mark&gt; Julia has written,
especially her first book:
&lt;a href=&quot;https://www.amazon.com/dp/1580056229/ref=pd_lpo_sbs_dp_ss_1/151-5666770-2045969&quot;&gt;Whipping Girl&lt;/a&gt;.
You can also read &lt;a href=&quot;https://www.jenniferboylan.net/&quot;&gt;Jennifer Boylan&lt;/a&gt;,
&lt;a href=&quot;https://katebornstein.com/&quot;&gt;Kate Bornstein&lt;/a&gt;,
and &lt;a href=&quot;https://janetmock.com/&quot;&gt;Janet Mock&lt;/a&gt;,
to list a few popular ones.
Books and articles by cis people,
&lt;mark&gt;about transgender people&lt;/mark&gt;,
should be taken with salt or avoided entirely.&lt;/p&gt;
&lt;p&gt;I call myself trans, transgender, or a trans woman.
I’m &lt;mark&gt;also gender-queer&lt;/mark&gt;, non-binary,
and a bunch of other good words.
I’m transsexual,
but that one feels like a medical term —
similar to using “females” when you mean women.
&lt;mark&gt;You can probably just call me a woman.&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;Some people like&lt;/mark&gt; to differentiate between “sex” and “gender” —
as though one is biology and the other is identity.
Don’t bother.
Biology and identity are deeply intertwined,
and neither of them is binary.
There is only gender,
and it is always &lt;mark&gt;a rough approximation of&lt;/mark&gt;
a million different factors:
&lt;a href=&quot;https://juliaserano.blogspot.com/2013/11/what-is-gender-artifactualism.html&quot;&gt;social, biological, and experienced&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;Sex is&lt;/mark&gt; something else entirely,
and I recommend it,
if you’re into that sort of thing.&lt;/p&gt;
&lt;p&gt;Stay &lt;mark&gt;safe, kids&lt;/mark&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Holes / SideSaddle midwest tour</title>
    <link href="https://www.miriamsuzanne.com/2015/08/01/holes-tour/" />
    <updated>2015-08-01T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2015/08/01/holes-tour/</id>
    <content type="html">
      &lt;p&gt;A joint tour for &lt;a href=&quot;https://www.miriamsuzanne.com/orgs/teacup-gorilla/&quot;&gt;Teacup Gorilla&lt;/a&gt;’s
debut album &lt;a href=&quot;https://www.miriamsuzanne.com/music/albums/holes-they-leave/&quot;&gt;&lt;em&gt;The Holes They Leave&lt;/em&gt;&lt;/a&gt;,
and my debut novel &lt;a href=&quot;https://www.miriamsuzanne.com/books/sidesaddle/&quot;&gt;&lt;em&gt;Riding SideSaddle&lt;/em&gt;*&lt;/a&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Underground music showcase</title>
    <link href="https://www.miriamsuzanne.com/2015/07/25/ums/" />
    <updated>2015-07-25T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2015/07/25/ums/</id>
    <content type="html">
      &lt;p&gt;Founded in 2001,
The UMS is an annual three-day celebration of music
featuring hundreds of bands across multiple venues.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Species of the stars</title>
    <link href="https://www.miriamsuzanne.com/2015/07/10/species/" />
    <updated>2015-07-10T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2015/07/10/species/</id>
    <content type="html">
      &lt;p&gt;We’re excited to be part of the single release for
&lt;strong&gt;Species of the Stars&lt;/strong&gt; by our good friends
&lt;a href=&quot;https://www.opentothehound.com&quot;&gt;Open to the Hound&lt;/a&gt;!&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/iD1AUleBlLg&quot; width=&quot;560&quot; height=&quot;315&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 560 / 315&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;Concert live stream&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>PROPHETIA VETITUM MUNDI</title>
    <link href="https://www.miriamsuzanne.com/2014/08/02/screwtooth/" />
    <updated>2014-08-02T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/08/02/screwtooth/</id>
    <content type="html">
      &lt;p&gt;A &lt;a href=&quot;https://www.screwtooth.com&quot;&gt;Screw Tooth&lt;/a&gt; installation &amp;amp; performance
built from the prophetic 1982 science-fiction/horror movie, “Forbidden
World,” filtered through the mind of an obsessive, self-proclaimed
prophet. Created by Adam Stone &amp;amp; Erin Rollman at Buntport Theatre, with
contributions from myself and many others.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/N_OTN2DtKT-640.avif 640w, https://www.miriamsuzanne.com/img/N_OTN2DtKT-960.avif 960w, https://www.miriamsuzanne.com/img/N_OTN2DtKT-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;An alien face-hugger bursting onto the page in blind contour sketch and white silhouette over the pulp fiction novel in yellows and greens Beast From Hunter Cave, with a spectacled scientist prodding at the alien. The collage is covered in red scribbles and arrows.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/N_OTN2DtKT-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/N_OTN2DtKT-640.jpeg 640w, https://www.miriamsuzanne.com/img/N_OTN2DtKT-960.jpeg 960w, https://www.miriamsuzanne.com/img/N_OTN2DtKT-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/q1W_Q93x_K-640.avif 640w, https://www.miriamsuzanne.com/img/q1W_Q93x_K-960.avif 960w, https://www.miriamsuzanne.com/img/q1W_Q93x_K-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The same alien silhouette now scribbled out and imposed on overlapping animal carcass diagrams&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/q1W_Q93x_K-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/q1W_Q93x_K-640.jpeg 640w, https://www.miriamsuzanne.com/img/q1W_Q93x_K-960.jpeg 960w, https://www.miriamsuzanne.com/img/q1W_Q93x_K-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/cOtWXfM7-F-640.avif 640w, https://www.miriamsuzanne.com/img/cOtWXfM7-F-960.avif 960w, https://www.miriamsuzanne.com/img/cOtWXfM7-F-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A rectangular blind-contour man in silhouette with green scribbles and arrows over pulp fiction covers of a cowboy, a brunette, and a naked blond woman reflected in a mirror&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/cOtWXfM7-F-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/cOtWXfM7-F-640.jpeg 640w, https://www.miriamsuzanne.com/img/cOtWXfM7-F-960.jpeg 960w, https://www.miriamsuzanne.com/img/cOtWXfM7-F-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/t6XcvmRvbC-640.avif 640w, https://www.miriamsuzanne.com/img/t6XcvmRvbC-960.avif 960w, https://www.miriamsuzanne.com/img/t6XcvmRvbC-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Blind contour silhouettes of our rectangular man and a new triangular woman over images and diagrams of food&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/t6XcvmRvbC-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/t6XcvmRvbC-640.jpeg 640w, https://www.miriamsuzanne.com/img/t6XcvmRvbC-960.jpeg 960w, https://www.miriamsuzanne.com/img/t6XcvmRvbC-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/pQEkX18r4w-640.avif 640w, https://www.miriamsuzanne.com/img/pQEkX18r4w-960.avif 960w, https://www.miriamsuzanne.com/img/pQEkX18r4w-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Black and white with red scribbles - the alien takes up the entire page, obscuring genetic labels and heredity diagrams&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/pQEkX18r4w-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/pQEkX18r4w-640.jpeg 640w, https://www.miriamsuzanne.com/img/pQEkX18r4w-960.jpeg 960w, https://www.miriamsuzanne.com/img/pQEkX18r4w-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/g8rcQGRMKf-640.avif 640w, https://www.miriamsuzanne.com/img/g8rcQGRMKf-960.avif 960w, https://www.miriamsuzanne.com/img/g8rcQGRMKf-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The silhouette man and the back of a woman, over diagrams of cancerous cells, and a scientist in the background&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/g8rcQGRMKf-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/g8rcQGRMKf-640.jpeg 640w, https://www.miriamsuzanne.com/img/g8rcQGRMKf-960.jpeg 960w, https://www.miriamsuzanne.com/img/g8rcQGRMKf-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ktoM9qAzpI-640.avif 640w, https://www.miriamsuzanne.com/img/ktoM9qAzpI-960.avif 960w, https://www.miriamsuzanne.com/img/ktoM9qAzpI-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Bright yellow, the alien descending from above, and the man silhouetted below - red and screen scribbles in battle now, and more diagrams of genetics&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ktoM9qAzpI-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ktoM9qAzpI-640.jpeg 640w, https://www.miriamsuzanne.com/img/ktoM9qAzpI-960.jpeg 960w, https://www.miriamsuzanne.com/img/ktoM9qAzpI-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AEID_t7Cxo-640.avif 640w, https://www.miriamsuzanne.com/img/AEID_t7Cxo-960.avif 960w, https://www.miriamsuzanne.com/img/AEID_t7Cxo-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Only green scribbles over black and white imagery, the man and woman triumphant&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/AEID_t7Cxo-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2400&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AEID_t7Cxo-640.jpeg 640w, https://www.miriamsuzanne.com/img/AEID_t7Cxo-960.jpeg 960w, https://www.miriamsuzanne.com/img/AEID_t7Cxo-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Also &lt;a href=&quot;https://miriamsuzanne.square.site/&quot;&gt;available as prints&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Pig Sez, song demo</title>
    <link href="https://www.miriamsuzanne.com/2014/08/01/pigsez/" />
    <updated>2014-08-01T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/08/01/pigsez/</id>
    <content type="html">
      &lt;p&gt;The last demo of new material (for now):&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/159477906&amp;amp;amp;color=ff0000&amp;amp;amp;auto_play=false&amp;amp;amp;hide_related=false&amp;amp;amp;show_comments=true&amp;amp;amp;show_user=true&amp;amp;amp;show_reposts=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 166&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Pig Sez demo,
including words from CA Conrad’s
&lt;a href=&quot;https://wavepoetry.myshopify.com/products/the-book-of-frank&quot;&gt;Book of Frank&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hear studio recording of this track
on our debut EP:
&lt;a href=&quot;https://www.miriamsuzanne.com/music/albums/holes-they-leave/&quot;&gt;The Holes They Leave&lt;/a&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>I&#39;m Not Ready To Go Yet, song demo</title>
    <link href="https://www.miriamsuzanne.com/2014/07/29/inrtgy/" />
    <updated>2014-07-29T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/29/inrtgy/</id>
    <content type="html">
      &lt;p&gt;Another demo:
this one features Daniel Rule on the second guitar &amp;amp; vocals.
Daniel has started playing with us regularly these days —
we’re excited to have him in the band!&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/159561832&amp;amp;amp;color=ff0000&amp;amp;amp;auto_play=false&amp;amp;amp;hide_related=false&amp;amp;amp;show_comments=true&amp;amp;amp;show_user=true&amp;amp;amp;show_reposts=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 166&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;I’m Not Ready To Go Yet is our follow-up
to the earlier Suicide Note.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hear studio recording of this track
on our debut EP:
&lt;a href=&quot;https://www.miriamsuzanne.com/music/albums/holes-they-leave/&quot;&gt;The Holes They Leave&lt;/a&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>UMS day 4 (the end)</title>
    <link href="https://www.miriamsuzanne.com/2014/07/28/ums-day4/" />
    <updated>2014-07-28T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/28/ums-day4/</id>
    <content type="html">
      &lt;p&gt;I love this city. It may feel like a small town at times, but we have a
music scene to prove otherwise. Over the four day indie-music orgy of
UMS we’ve seen (and enjoyed) everything from Americana &amp;amp; country,
through shoe-gaze and psychedelic rock, to some brilliant post-punk noise
(and a fair number of strange mashups in between). I wish I could do it
all again.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve been a fan of
&lt;strong&gt;Broken Spirits&lt;/strong&gt;,
&lt;strong&gt;Land Lines&lt;/strong&gt;, and
&lt;strong&gt;Kitty Crimes&lt;/strong&gt; for some time now.
&lt;strong&gt;Porlolo&lt;/strong&gt;,
&lt;strong&gt;In the Whale&lt;/strong&gt;,
&lt;strong&gt;Blonde Redhead&lt;/strong&gt;,
&lt;strong&gt;and Gora Gora&lt;/strong&gt; were all very entertaining.
But the lucky
surprise of the night was wandering past Eslinger Gallery on our way
home, and discovering the wonderful noise of
&lt;strong&gt;Emerald Siam&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Thank you, Denver!&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/uAu8uAbv3P-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Broken Spirits&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/uAu8uAbv3P-640.jpeg&quot; width=&quot;640&quot; height=&quot;853&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/zxErZxaymN-360.avif 360w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Land Lines&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/zxErZxaymN-360.jpeg&quot; width=&quot;360&quot; height=&quot;480&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/uKQMPingZV-640.avif 640w, https://www.miriamsuzanne.com/img/uKQMPingZV-960.avif 960w, https://www.miriamsuzanne.com/img/uKQMPingZV-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Land Lines&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/uKQMPingZV-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/uKQMPingZV-640.jpeg 640w, https://www.miriamsuzanne.com/img/uKQMPingZV-960.jpeg 960w, https://www.miriamsuzanne.com/img/uKQMPingZV-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/E2Ux7oRsBJ-640.avif 640w, https://www.miriamsuzanne.com/img/E2Ux7oRsBJ-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Porlolo&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/E2Ux7oRsBJ-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/E2Ux7oRsBJ-640.jpeg 640w, https://www.miriamsuzanne.com/img/E2Ux7oRsBJ-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/vCoyLNxRJt-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Porlolo&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/vCoyLNxRJt-640.jpeg&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1VAuqKvMPE-422.avif 422w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dan and Mia&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/1VAuqKvMPE-422.jpeg&quot; width=&quot;422&quot; height=&quot;316&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AeGCM0yWvG-640.avif 640w, https://www.miriamsuzanne.com/img/AeGCM0yWvG-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dan and Sondra&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/AeGCM0yWvG-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AeGCM0yWvG-640.jpeg 640w, https://www.miriamsuzanne.com/img/AeGCM0yWvG-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/jnKc41h92M-640.avif 640w, https://www.miriamsuzanne.com/img/jnKc41h92M-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Kitty Crimes&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/jnKc41h92M-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/jnKc41h92M-640.jpeg 640w, https://www.miriamsuzanne.com/img/jnKc41h92M-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/wGr6gxNlkI-640.avif 640w, https://www.miriamsuzanne.com/img/wGr6gxNlkI-960.avif 960w, https://www.miriamsuzanne.com/img/wGr6gxNlkI-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Kitty Crimes&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/wGr6gxNlkI-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2133&quot; srcset=&quot;https://www.miriamsuzanne.com/img/wGr6gxNlkI-640.jpeg 640w, https://www.miriamsuzanne.com/img/wGr6gxNlkI-960.jpeg 960w, https://www.miriamsuzanne.com/img/wGr6gxNlkI-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xY3PUAoL8G-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Emerald Siam&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/xY3PUAoL8G-640.jpeg&quot; width=&quot;640&quot; height=&quot;853&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/QfH0Yeth1T-640.avif 640w, https://www.miriamsuzanne.com/img/QfH0Yeth1T-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;In The Whale&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/QfH0Yeth1T-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/QfH0Yeth1T-640.jpeg 640w, https://www.miriamsuzanne.com/img/QfH0Yeth1T-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/b4qBmQ0EQi-640.avif 640w, https://www.miriamsuzanne.com/img/b4qBmQ0EQi-960.avif 960w, https://www.miriamsuzanne.com/img/b4qBmQ0EQi-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Robin and Kim&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/b4qBmQ0EQi-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1199&quot; srcset=&quot;https://www.miriamsuzanne.com/img/b4qBmQ0EQi-640.jpeg 640w, https://www.miriamsuzanne.com/img/b4qBmQ0EQi-960.jpeg 960w, https://www.miriamsuzanne.com/img/b4qBmQ0EQi-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/9GVy_QL-sA-640.avif 640w, https://www.miriamsuzanne.com/img/9GVy_QL-sA-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Gora Gora Orkestar&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/9GVy_QL-sA-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/9GVy_QL-sA-640.jpeg 640w, https://www.miriamsuzanne.com/img/9GVy_QL-sA-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/y5jamI08Fw-640.avif 640w, https://www.miriamsuzanne.com/img/y5jamI08Fw-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Gora Gora Orkestar&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/y5jamI08Fw-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/y5jamI08Fw-640.jpeg 640w, https://www.miriamsuzanne.com/img/y5jamI08Fw-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Rq_z_JsaiQ-640.avif 640w, https://www.miriamsuzanne.com/img/Rq_z_JsaiQ-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Blond Redhead&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Rq_z_JsaiQ-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Rq_z_JsaiQ-640.jpeg 640w, https://www.miriamsuzanne.com/img/Rq_z_JsaiQ-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Photos from UMS day 4&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>UMS day 3</title>
    <link href="https://www.miriamsuzanne.com/2014/07/27/ums-day3/" />
    <updated>2014-07-27T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/27/ums-day3/</id>
    <content type="html">
      &lt;p&gt;I have no time to write this before I dive back into the fray.
&lt;strong&gt;Magic Cyclops&lt;/strong&gt; is always magic,
and we love &lt;strong&gt;Jen Korte&lt;/strong&gt; in all her incarnations.
We played with &lt;strong&gt;Abandin Pictures&lt;/strong&gt;
back when they were just getting
started, and it was great to see them rocking the Hi Dive. If you
haven’t heard them yet, it’s time.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ITN4I6X0Ji-640.avif 640w, https://www.miriamsuzanne.com/img/ITN4I6X0Ji-960.avif 960w, https://www.miriamsuzanne.com/img/ITN4I6X0Ji-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The Belle Jar&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ITN4I6X0Ji-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ITN4I6X0Ji-640.jpeg 640w, https://www.miriamsuzanne.com/img/ITN4I6X0Ji-960.jpeg 960w, https://www.miriamsuzanne.com/img/ITN4I6X0Ji-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1VlvrjqkYv-640.avif 640w, https://www.miriamsuzanne.com/img/1VlvrjqkYv-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dirty Femmes&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/1VlvrjqkYv-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1VlvrjqkYv-640.jpeg 640w, https://www.miriamsuzanne.com/img/1VlvrjqkYv-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/3UgYmgNc3W-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Joy Subtraction&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/3UgYmgNc3W-640.jpeg&quot; width=&quot;640&quot; height=&quot;853&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/T8OfXOZA3x-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Echo Beds&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/T8OfXOZA3x-640.jpeg&quot; width=&quot;640&quot; height=&quot;853&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tThH5YAGoW-640.avif 640w, https://www.miriamsuzanne.com/img/tThH5YAGoW-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Abandin Pictures&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/tThH5YAGoW-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tThH5YAGoW-640.jpeg 640w, https://www.miriamsuzanne.com/img/tThH5YAGoW-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tR804dDJAK-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Abandin Pictures&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/tR804dDJAK-640.jpeg&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NEOfQOK36w-640.avif 640w, https://www.miriamsuzanne.com/img/NEOfQOK36w-960.avif 960w, https://www.miriamsuzanne.com/img/NEOfQOK36w-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Natalie Tate&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/NEOfQOK36w-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NEOfQOK36w-640.jpeg 640w, https://www.miriamsuzanne.com/img/NEOfQOK36w-960.jpeg 960w, https://www.miriamsuzanne.com/img/NEOfQOK36w-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BrIIid-vvl-640.avif 640w, https://www.miriamsuzanne.com/img/BrIIid-vvl-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Shady Elders&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/BrIIid-vvl-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BrIIid-vvl-640.jpeg 640w, https://www.miriamsuzanne.com/img/BrIIid-vvl-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/sGqS32IhRl-640.avif 640w, https://www.miriamsuzanne.com/img/sGqS32IhRl-960.avif 960w, https://www.miriamsuzanne.com/img/sGqS32IhRl-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Ross&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/sGqS32IhRl-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/sGqS32IhRl-640.jpeg 640w, https://www.miriamsuzanne.com/img/sGqS32IhRl-960.jpeg 960w, https://www.miriamsuzanne.com/img/sGqS32IhRl-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/iO6X4Q5yBY-640.avif 640w, https://www.miriamsuzanne.com/img/iO6X4Q5yBY-960.avif 960w, https://www.miriamsuzanne.com/img/iO6X4Q5yBY-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Casey James&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/iO6X4Q5yBY-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/iO6X4Q5yBY-640.jpeg 640w, https://www.miriamsuzanne.com/img/iO6X4Q5yBY-960.jpeg 960w, https://www.miriamsuzanne.com/img/iO6X4Q5yBY-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BGKVIVgu7i-640.avif 640w, https://www.miriamsuzanne.com/img/BGKVIVgu7i-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Jen Korte&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/BGKVIVgu7i-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/BGKVIVgu7i-640.jpeg 640w, https://www.miriamsuzanne.com/img/BGKVIVgu7i-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/PsUXfD2223-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;TV Girl&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/PsUXfD2223-640.jpeg&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/SlwpeK6vdm-640.avif 640w, https://www.miriamsuzanne.com/img/SlwpeK6vdm-960.avif 960w, https://www.miriamsuzanne.com/img/SlwpeK6vdm-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Raven and the Writing Desk&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/SlwpeK6vdm-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/SlwpeK6vdm-640.jpeg 640w, https://www.miriamsuzanne.com/img/SlwpeK6vdm-960.jpeg 960w, https://www.miriamsuzanne.com/img/SlwpeK6vdm-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Photos from UMS day 3&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>A Dark Plain, song demo</title>
    <link href="https://www.miriamsuzanne.com/2014/07/26/darkplain/" />
    <updated>2014-07-26T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/26/darkplain/</id>
    <content type="html">
      &lt;p&gt;The first in a new set of demos:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/159477907&amp;amp;amp;color=ff0000&amp;amp;amp;auto_play=false&amp;amp;amp;hide_related=false&amp;amp;amp;show_comments=true&amp;amp;amp;show_user=true&amp;amp;amp;show_reposts=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 166&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Demo recording of A Dark Plain,
lyrics by &lt;a href=&quot;https://www.youtube.com/watch?v=ztA6zUoqUcc&quot;&gt;Gil Scott Heron&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Hear studio recording of this track
on our debut EP:
&lt;a href=&quot;https://www.miriamsuzanne.com/music/albums/holes-they-leave/&quot;&gt;The Holes They Leave&lt;/a&gt;&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>UMS day 2</title>
    <link href="https://www.miriamsuzanne.com/2014/07/26/ums-day2/" />
    <updated>2014-07-26T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/26/ums-day2/</id>
    <content type="html">
      &lt;p&gt;I’m overwhelmed by all the music! At this point I wander half-aimless,
in and out of venues — quick to judge, but more often inspired. Glad to
discover that most of my favorites are local, and I can stalk them like
a groupie until the next UMS arrives again.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;I’ve always loved
&lt;strong&gt;Accordion Crimes&lt;/strong&gt;
and they pulled through
again last night — full of dynamic surprise.
&lt;strong&gt;Mako1972&lt;/strong&gt; has a similar post-punk thing
going, which I always enjoy.
&lt;strong&gt;Raven Jane&lt;/strong&gt; and
&lt;strong&gt;The Truth &amp;amp; Spectacle&lt;/strong&gt; were excellent
(from our unbiased opinion of Daniel in a hat).
I’ve followed &lt;strong&gt;Ian Cooke&lt;/strong&gt; for a while, and was glad to see
him returning to a simpler, cello-driven sound. Only caught the tail-end
of &lt;strong&gt;StaG&lt;/strong&gt;, but they earned another listen.
&lt;strong&gt;Saturn Cowboys&lt;/strong&gt; was a raucous fun time,
and &lt;strong&gt;Dragondeer&lt;/strong&gt; got the whole room (including
us) excited like no effect-heavy lead mandolin has ever done before.&lt;/p&gt;
&lt;p&gt;This was a wonderful night of live/local music, but my favorite
discovery was the intricate shoe-gazing soundscapes of
&lt;strong&gt;Dave Devine Relay&lt;/strong&gt;.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/irs_sEMNXA-640.avif 640w, https://www.miriamsuzanne.com/img/irs_sEMNXA-960.avif 960w, https://www.miriamsuzanne.com/img/irs_sEMNXA-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Raven Jane&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/irs_sEMNXA-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2133&quot; srcset=&quot;https://www.miriamsuzanne.com/img/irs_sEMNXA-640.jpeg 640w, https://www.miriamsuzanne.com/img/irs_sEMNXA-960.jpeg 960w, https://www.miriamsuzanne.com/img/irs_sEMNXA-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/8qos5D5y7e-640.avif 640w, https://www.miriamsuzanne.com/img/8qos5D5y7e-960.avif 960w, https://www.miriamsuzanne.com/img/8qos5D5y7e-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Raven Jane&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/8qos5D5y7e-640.jpeg&quot; width=&quot;1600&quot; height=&quot;2133&quot; srcset=&quot;https://www.miriamsuzanne.com/img/8qos5D5y7e-640.jpeg 640w, https://www.miriamsuzanne.com/img/8qos5D5y7e-960.jpeg 960w, https://www.miriamsuzanne.com/img/8qos5D5y7e-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/nJnkWDaX7N-640.avif 640w, https://www.miriamsuzanne.com/img/nJnkWDaX7N-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;StaG&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/nJnkWDaX7N-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/nJnkWDaX7N-640.jpeg 640w, https://www.miriamsuzanne.com/img/nJnkWDaX7N-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rJu4FoMMD6-640.avif 640w, https://www.miriamsuzanne.com/img/rJu4FoMMD6-960.avif 960w, https://www.miriamsuzanne.com/img/rJu4FoMMD6-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Ian Cooke&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/rJu4FoMMD6-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/rJu4FoMMD6-640.jpeg 640w, https://www.miriamsuzanne.com/img/rJu4FoMMD6-960.jpeg 960w, https://www.miriamsuzanne.com/img/rJu4FoMMD6-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/_1xCISuWc9-640.avif 640w, https://www.miriamsuzanne.com/img/_1xCISuWc9-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dave Devine Relay&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/_1xCISuWc9-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/_1xCISuWc9-640.jpeg 640w, https://www.miriamsuzanne.com/img/_1xCISuWc9-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EngRLMyx4k-640.avif 640w, https://www.miriamsuzanne.com/img/EngRLMyx4k-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dan and Mia and Sondra&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/EngRLMyx4k-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/EngRLMyx4k-640.jpeg 640w, https://www.miriamsuzanne.com/img/EngRLMyx4k-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AW8_xy8x18-640.avif 640w, https://www.miriamsuzanne.com/img/AW8_xy8x18-960.avif 960w, https://www.miriamsuzanne.com/img/AW8_xy8x18-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Sondra and Robin and Dan looking at schedules in a restaurant booth&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/AW8_xy8x18-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/AW8_xy8x18-640.jpeg 640w, https://www.miriamsuzanne.com/img/AW8_xy8x18-960.jpeg 960w, https://www.miriamsuzanne.com/img/AW8_xy8x18-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/eMZ9RIJJrE-640.avif 640w, https://www.miriamsuzanne.com/img/eMZ9RIJJrE-960.avif 960w, https://www.miriamsuzanne.com/img/eMZ9RIJJrE-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Dragondeer&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/eMZ9RIJJrE-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/eMZ9RIJJrE-640.jpeg 640w, https://www.miriamsuzanne.com/img/eMZ9RIJJrE-960.jpeg 960w, https://www.miriamsuzanne.com/img/eMZ9RIJJrE-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/l_WG43lvPi-640.avif 640w, https://www.miriamsuzanne.com/img/l_WG43lvPi-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Mako1972&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/l_WG43lvPi-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/l_WG43lvPi-640.jpeg 640w, https://www.miriamsuzanne.com/img/l_WG43lvPi-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/46vaeZDUee-640.avif 640w, https://www.miriamsuzanne.com/img/46vaeZDUee-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Saturn Cowboys&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/46vaeZDUee-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/46vaeZDUee-640.jpeg 640w, https://www.miriamsuzanne.com/img/46vaeZDUee-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xBkvHbPz4P-640.avif 640w, https://www.miriamsuzanne.com/img/xBkvHbPz4P-960.avif 960w, https://www.miriamsuzanne.com/img/xBkvHbPz4P-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;ice cream cones&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/xBkvHbPz4P-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/xBkvHbPz4P-640.jpeg 640w, https://www.miriamsuzanne.com/img/xBkvHbPz4P-960.jpeg 960w, https://www.miriamsuzanne.com/img/xBkvHbPz4P-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/wiYVlJURKt-640.avif 640w, https://www.miriamsuzanne.com/img/wiYVlJURKt-960.avif 960w, https://www.miriamsuzanne.com/img/wiYVlJURKt-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Accordion Crimes&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/wiYVlJURKt-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/wiYVlJURKt-640.jpeg 640w, https://www.miriamsuzanne.com/img/wiYVlJURKt-960.jpeg 960w, https://www.miriamsuzanne.com/img/wiYVlJURKt-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-640.avif 640w, https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-960.avif 960w, https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The Truth &amp;amp; Spectacle&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-640.jpeg 640w, https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-960.jpeg 960w, https://www.miriamsuzanne.com/img/ZxHm2Uh-9Y-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Photos from UMS day 2&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>UMS day 1</title>
    <link href="https://www.miriamsuzanne.com/2014/07/25/ums-day1/" />
    <updated>2014-07-25T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2014/07/25/ums-day1/</id>
    <content type="html">
      &lt;p&gt;So many people! So much music!
And &lt;strong&gt;Elin Palmer&lt;/strong&gt; is a badass on the
Nyckelharpa.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Tonight — Daniel is playing with both
&lt;strong&gt;Raven Jane&lt;/strong&gt; (7pm @ Moes Original BBQ),
and &lt;strong&gt;The Truth &amp;amp; Spectacle&lt;/strong&gt;
(midnight @ The Hornet).
Also at midnight,
&lt;strong&gt;Accordion Crimes&lt;/strong&gt;
is worth checking out
if you like Fugazi-style noise
coming from an aluminum guitar.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ISCUn2lO33-640.avif 640w, https://www.miriamsuzanne.com/img/ISCUn2lO33-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Rossonian&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ISCUn2lO33-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ISCUn2lO33-640.jpeg 640w, https://www.miriamsuzanne.com/img/ISCUn2lO33-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1cyqv6nFpA-640.avif 640w, https://www.miriamsuzanne.com/img/1cyqv6nFpA-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Safe Boating is no Accident&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/1cyqv6nFpA-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/1cyqv6nFpA-640.jpeg 640w, https://www.miriamsuzanne.com/img/1cyqv6nFpA-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tacu4mThx6-640.avif 640w, https://www.miriamsuzanne.com/img/tacu4mThx6-960.avif 960w, https://www.miriamsuzanne.com/img/tacu4mThx6-1600.avif 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Pan Astral&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/tacu4mThx6-640.jpeg&quot; width=&quot;1600&quot; height=&quot;1200&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tacu4mThx6-640.jpeg 640w, https://www.miriamsuzanne.com/img/tacu4mThx6-960.jpeg 960w, https://www.miriamsuzanne.com/img/tacu4mThx6-1600.jpeg 1600w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Photos from UMS day 1&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Media Archeology Lab, Artist in Residence</title>
    <link href="https://www.miriamsuzanne.com/art/mal-residence/" />
    <updated>2013-09-25T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/art/mal-residence/</id>
    <content type="html">
      &lt;p&gt;An artist residency at the &lt;strong&gt;Media Archeology Lab&lt;/strong&gt;,
working on development of
&lt;a href=&quot;https://www.miriamsuzanne.com/projects/post-obsolete/&quot;&gt;The Post-Obsolete Book&lt;/a&gt;.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;The piece requires a few props:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;overhead projector &amp;amp; transparencies&lt;/li&gt;
&lt;li&gt;digital audio/video&lt;/li&gt;
&lt;li&gt;party hats&lt;/li&gt;
&lt;li&gt;noise makers&lt;/li&gt;
&lt;li&gt;an old book (about dance)&lt;/li&gt;
&lt;li&gt;10-page printed powerpoint handouts&lt;/li&gt;
&lt;/ul&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Stratified design</title>
    <link href="https://www.miriamsuzanne.com/2013/04/18/layer-tennis/" />
    <updated>2013-04-18T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/04/18/layer-tennis/</id>
    <content type="html">
      &lt;p&gt;&lt;a href=&quot;http://layertennis.com/&quot;&gt;Layer tennis&lt;/a&gt;
is a design game
made popular by
&lt;a href=&quot;https://www.coudal.com/&quot;&gt;Coudal Partners&lt;/a&gt;.
Two competitors (myself &amp;amp; &lt;a href=&quot;https://aaronliechty.tumblr.com/&quot;&gt;Aaron Liechty&lt;/a&gt;)
pass design files back and forth,
riffing on the same work under extreme time constraints.
Each 30-minute “volley” is posted live as it is created,
along with commentary
thanks to &lt;a href=&quot;https://jacobliechty.tumblr.com/&quot;&gt;Jacob Liechty&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sondraeby.com/&quot;&gt;Sondra Eisenstat&lt;/a&gt;
agreed to help us
with the thankless task of posting it all online,
since the rest of us were pre-occupied
with writing &amp;amp; designing under pressure.&lt;/p&gt;
&lt;p&gt;The battle took place on Sunday afternoon.
The full experience is still available
on the &lt;a href=&quot;https://www.theoperatingsystem.org/layer-tennis-live-stream-print-vol-3-ole/&quot;&gt;Exit Strata blog&lt;/a&gt;,
but here are the volleys:&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/H_1cLB9k97-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;the moving walkway is ending. Lego mini-figure in a bee outfit on a moving walkway framed against blue sky and lens flare off blinds,&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/H_1cLB9k97-620.jpeg&quot; width=&quot;620&quot; height=&quot;455&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/kZ3-VNy_gw-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;please watch you&#39;re step. The blinds are more prominent, radial, over a mini-figure with a helmet and axe, light exposure is blown out, and a series of winding symbols over top -- flag, frown, hand pointing left, hand making peace sign&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/kZ3-VNy_gw-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/0PiPQhefYo-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Exit stage right. Strata (layers)! The image now seems aged, sepia, and drawn over in black ink.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/0PiPQhefYo-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/NGzb1_exIW-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Computer drawn scribbles and aligned white arrows over top the black pen&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/NGzb1_exIW-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/tscWXKInGI-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;We will not cease from exp… The image is duplicated, offset, overlaid with an old map of the world&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/tscWXKInGI-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/N2EWpASNC9-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The judge ordered the merchant to cease and desist from the deceptive… The image has been printed out, crumpled, and photographed casting shadows on a white background. Again the four symbols are overlaid, and now red arrows go to (or radiate from) the left-pointing hand&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/N2EWpASNC9-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/DDF3pMAO1B-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The previous image is constrained to a digital thought bubble emanating from five green plastic toy soldiers, now all aimed at the Lego figure in a bee outfit. Random drop shadows are scattered on the page, and a quote: I&#39;m right here, where Lee Harvey Oswald shot Abraham Lincoln, and ghosts of snow gust across the empty road.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/DDF3pMAO1B-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/SXxwzJS_Vp-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A movie poster. Exit Strata, in the movie poster font. Blood is splattered across a topped plastic soldier, a Lego axe on the ground, and hand-drawn Lego Lincoln super-imposed.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/SXxwzJS_Vp-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/Bu6m8oRJvL-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The poster is framed, and imposed on a back and white return of the old map.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/Bu6m8oRJvL-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/vnAv7lm1Ox-620.avif 620w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The map is ripped in half across the page, revealing red-line-drawn Lego Lincoln on a white background - and half the text exit strata&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/vnAv7lm1Ox-620.jpeg&quot; width=&quot;620&quot; height=&quot;456&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    A game of Layer Tennis used to design a journal cover
  &lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>(re)Thinking on your feet</title>
    <link href="https://www.miriamsuzanne.com/2013/03/29/rethinking-on-your-feet/" />
    <updated>2013-03-29T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/03/29/rethinking-on-your-feet/</id>
    <content type="html">
      &lt;p&gt;Sometimes you have a great idea for a project,
or one aspect of a project,
and you throw everything at it,
but the idea turns out to be a dud.
You can’t ditch the project
after putting so much into it,
but neither can you force it through.
The only way forward is to take a step back.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.avif 640w, https://www.miriamsuzanne.com/img/XDH9GXL_Hk-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Is your approach working? Keep doing it, or try something else.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.jpeg 640w, https://www.miriamsuzanne.com/img/XDH9GXL_Hk-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    How to everything
    (&lt;a href=&quot;https://www.miriamsuzanne.com/2012/11/08/creative-cycles/&quot;&gt;again&lt;/a&gt;)
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Chalk Outline&lt;/h2&gt;
&lt;p&gt;When I started writing &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/16/muse-intro/&quot;&gt;this blog series&lt;/a&gt; in November,
I was in a hurry to post articles right away —
ignoring everything I know about good process.
I posted a few &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/23/ordinary-tools-of-thought/&quot;&gt;pressing&lt;/a&gt; &lt;a href=&quot;https://www.miriamsuzanne.com/2012/11/08/creative-cycles/&quot;&gt;thoughts&lt;/a&gt;,
and then tried to write my way through the &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/16/muse-intro/&quot;&gt;5-step process&lt;/a&gt;
from &lt;a href=&quot;https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/&quot;&gt;one end&lt;/a&gt; to the other.&lt;/p&gt;
&lt;p&gt;It didn’t work,
and each post is now taking me longer and longer to write,
with more frustration than the last.
I’ve written this post 4 times now,
each time on different topics.&lt;/p&gt;
&lt;p&gt;Starting from &lt;a href=&quot;https://www.miriamsuzanne.com/2013/02/07/get-curious/&quot;&gt;an outline&lt;/a&gt; can be comforting,
but it’s not possible to organize material you don’t yet have,
and you end up pushing yourself off in the wrong direction.
That’s where I went wrong.&lt;/p&gt;
&lt;h2&gt;Play it Again&lt;/h2&gt;
&lt;p&gt;I skipped a step,
and now I have to go back and do it right.&lt;/p&gt;
&lt;p&gt;It’s time to gather all my material and see what I have,
generate more ideas,
scrap the failures,
and rearrange what’s left into articles.
This may take some time,
but once that is done
I should be able keep up a regular posting schedule.&lt;/p&gt;
&lt;h2&gt;Recycle&lt;/h2&gt;
&lt;p&gt;Lucky for me,
none of my failed posts are wasted effort.
They all work towards the goal I should have started with:
collecting material.
I have a recycling bin for every project —
a file or folder to catch all the scraps as I work.
Now I have a substantial start on what I need:
my very own “Fuck the Muse” &lt;a href=&quot;https://www.miriamsuzanne.com/2013/02/07/get-curious/&quot;&gt;shitty pile of shit&lt;/a&gt;.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Five(5), song demo</title>
    <link href="https://www.miriamsuzanne.com/2013/03/12/five5/" />
    <updated>2013-03-12T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/03/12/five5/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F36314485&amp;amp;amp;color=ff6600&amp;amp;amp;auto_play=false&amp;amp;amp;show_artwork=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 166&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Demo recording of Five(5)&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Poetry readings are terrible</title>
    <link href="https://www.miriamsuzanne.com/micro/2013/readings-are-terrible/" />
    <updated>2013-03-08T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/micro/2013/readings-are-terrible/</id>
    <content type="html">
      &lt;p&gt;You don’t publish without editing,
why would you perform without rehearsing?&lt;/p&gt;
&lt;p&gt;Words don’t speak for themselves:
they require punctuation.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Explosive growth</title>
    <link href="https://www.miriamsuzanne.com/2013/02/14/explosive-growth/" />
    <updated>2013-02-14T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/02/14/explosive-growth/</id>
    <content type="html">
      &lt;p&gt;It’s always useful to remember where you are
in the overall creative process.
Here’s a refresher:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/&quot;&gt;Define&lt;/a&gt;: &lt;em&gt;What’s the idea, question, or hypothesis?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.miriamsuzanne.com/2013/02/07/get-curious/&quot;&gt;Explore&lt;/a&gt;: &lt;em&gt;Reasearch, gather, and create the materials.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Organize: &lt;em&gt;Outline the structure, or impose one.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Draft: &lt;em&gt;Compile a complete first draft.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Revise: &lt;em&gt;Consider, critique, and edit as needed.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We’re still following up on Step 2,
which we started last week
by compiling our curiosity shopping lists.
We need to push out from our &lt;a href=&quot;https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/&quot;&gt;seed&lt;/a&gt; in every direction,
and the list is there to help guide us.&lt;/p&gt;
&lt;p&gt;Now it’s time to go shopping.&lt;/p&gt;
&lt;h2&gt;Surround Yourself with Material&lt;/h2&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/VAEkcoY-_d-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;A room full of old junk&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/VAEkcoY-_d-640.jpeg&quot; width=&quot;640&quot; height=&quot;283&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;It&#39;s time to get your hoarding on&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The goal of this phase is to collect all the material
you might possibly need to create your piece.
It doesn’t matter what genre or medium you will use at the end,
right now you want everything.
You are building your &lt;a href=&quot;https://www.miriamsuzanne.com/2013/02/07/get-curious/&quot;&gt;shitty pile of shit&lt;/a&gt;
that will get organized into a draft down the road.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Get your facts first,
and then you can distort them as much as you please.&lt;/p&gt;
&lt;p&gt;—Mark Twain&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You need to fill your head (and your notebook) with possibilities.
You need to start understanding the world you are creating —
not by thinking about it, but by surrounding yourself with it.
Your creative mind works
by &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/23/ordinary-tools-of-thought/&quot;&gt;copying, transforming, &amp;amp; combining&lt;/a&gt; —
so the more ideas you put into your head,
the more you can get out when it’s time.&lt;/p&gt;
&lt;h2&gt;Research » Steal » Create&lt;/h2&gt;
&lt;p&gt;The first instinct of most artists is to sit down with a blank paper
and stare at it until the muse strikes.
Fuck the muse.
Start with material that already exists.
Use your shopping list as a guide and follow your curiosity.
Explore your list of “things that will inspire you” —
use Wikipedia and Google to follow one hyperlinked thought to the next,
and add more inspirations to your list.&lt;/p&gt;
&lt;p&gt;When you read/see/hear something you like, take it.
Clip it out of an article,
take a photo,
make a playlist,
or just take notes.
When ideas start to merge and you are inspired to say something,
then say it.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/DFBndJaB9Z-569.avif 569w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Some printed pages cut up, and a scissors&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/DFBndJaB9Z-569.jpeg&quot; width=&quot;569&quot; height=&quot;223&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;Cut it up. You can put it back together later&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Ebb and flow with the &lt;a href=&quot;https://www.miriamsuzanne.com/2012/11/08/creative-cycles/&quot;&gt;cycles&lt;/a&gt; of research, theft, and creation.
Let your inspiration drive you back and forth
between exploring what’s there, and creating what isn’t.
If research isn’t working, make shit up.
If you can’t think of anything to make,
&lt;a href=&quot;https://www.austinkleon.com/steal/&quot;&gt;find something to steal&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;For Example&lt;/h2&gt;
&lt;p&gt;Following up on my list from last week,
I spent time reading about Hermaphroditus &amp;amp; Mother Clapp.
I started to see patterns around social gatherings,
betrayal, and water.
I copied and pasted large sections of pro-anorexia websites,
wrote down important lines from Lou Reed songs,
and wrote about my own memories of body and sexual experience.
I even pulled from old email conversations
that seemed relevant.&lt;/p&gt;
&lt;p&gt;I used &lt;a href=&quot;https://www.nanowrimo.org/&quot;&gt;NaNoWriMo&lt;/a&gt; to get through this phase
with a massive pile of 50,000 shitty words,
along with a number of images and songs.
Some are stolen, and some are my own,
but all of them will be useful when I come back to start drafting.&lt;/p&gt;
&lt;h2&gt;Checking it Twice&lt;/h2&gt;
&lt;p&gt;Look back at your list.
focus on researching the “things that will inspire you,”
and stealing or creating the “things that need to be gathered”
so you can cross them off your list.
Add to the list if you realize something is missing,
but focus on exploring each item in extreme detail,
and following where it takes you.&lt;/p&gt;
&lt;p&gt;There are several interesting tools you can use
to help push you along when you get stuck —
both as a solo artist and in collaborative settings.
I’ll go into more detail on some of those next week.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Get curious</title>
    <link href="https://www.miriamsuzanne.com/2013/02/07/get-curious/" />
    <updated>2013-02-07T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/02/07/get-curious/</id>
    <content type="html">
      &lt;p&gt;Now that you have &lt;a href=&quot;https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/&quot;&gt;a seed worth exploring&lt;/a&gt;,
you are ready for step 2 of the creative process.
The goal of this phase is explosive growth,
following your curiosity out from the seed in every direction.&lt;/p&gt;
&lt;p&gt;You’ve heard of the &lt;a href=&quot;https://www.humnet.ucla.edu/humnet/english/wwwroot2/ta/hyperteach/pdfs/shitty.pdf&quot;&gt;shitty first draft&lt;/a&gt;?
It’s a nice sentiment,
writing full shitty drafts without fear or judgment,
but I think you can do even better:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Write shitty piles of shit,
and leave the drafting for later.&lt;/em&gt;&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/lauhISEqJZ-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;the rear end of a steer&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/lauhISEqJZ-640.jpeg&quot; width=&quot;640&quot; height=&quot;258&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    I often refer to this as the fertilizer or bullshit stage
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Drafting is an organizational problem.
You can’t organize ideas you don’t have.
Start by exploring and playing and wondering,
free from fear and judgment,
but also free from purpose, organization, and planning.&lt;/p&gt;
&lt;p&gt;Don’t start with outlines.
Don’t start with drafts.
Start with curiosity.&lt;/p&gt;
&lt;h2&gt;A Shitty Shopping List&lt;/h2&gt;
&lt;p&gt;Our goal is to develop all the raw (shitty) materials
we will need in order to start drafting.
I’m not talking about pen &amp;amp; paper,
or computers,
or three cans of latex paint.
I want to know what concepts, phrases,
images, and aesthetics I am working with.
I want to soak up inspirations,
and understand my constraints.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.avif 640w, https://www.miriamsuzanne.com/img/deTueUQcLU-803.avif 803w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;The Posture of Contour by James Belflower&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.jpeg&quot; width=&quot;803&quot; height=&quot;612&quot; srcset=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.jpeg 640w, https://www.miriamsuzanne.com/img/deTueUQcLU-803.jpeg 803w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    Final cover design
    for &lt;em&gt;The Posture of Contour&lt;/em&gt;
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I start with three questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What already exists?&lt;/li&gt;
&lt;li&gt;What still needs to be gathered or created?&lt;/li&gt;
&lt;li&gt;What will inspire me?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Working on the book cover for &lt;a href=&quot;https://www.miriamsuzanne.com/2013/01/22/contour/&quot;&gt;The Posture of Contour&lt;/a&gt;,
I asked the publishers and author for everything they had.
Based on their answers, I ended up with these lists:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What already exists?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dimensions: 5.5&quot; x 8.5&quot;&lt;/li&gt;
&lt;li&gt;SpringGun Press wordmarks&lt;/li&gt;
&lt;li&gt;ISBN &amp;amp; bar code (on white background)&lt;/li&gt;
&lt;li&gt;Title: The Posture of Contour&lt;/li&gt;
&lt;li&gt;sub: A Public Primer&lt;/li&gt;
&lt;li&gt;Author: James Belflower&lt;/li&gt;
&lt;li&gt;The content of the book itself&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;What still needs to be gathered or created?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Color palette&lt;/li&gt;
&lt;li&gt;Artwork&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;What will inspire me?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Diagrams, schematics, &amp;amp; maps&lt;/li&gt;
&lt;li&gt;Processes of abstraction &amp;amp; representation&lt;/li&gt;
&lt;li&gt;Mouths, hands, &amp;amp; black spots&lt;/li&gt;
&lt;li&gt;Collage&lt;/li&gt;
&lt;li&gt;Cover art for &lt;a href=&quot;https://www.fenceportal.org/?page_id=422&quot;&gt;&lt;em&gt;Network&lt;/em&gt;&lt;/a&gt; by Jena Osman&lt;/li&gt;
&lt;li&gt;Richard Serra drawings&lt;/li&gt;
&lt;li&gt;Franz Kline&lt;/li&gt;
&lt;li&gt;Paul Sharits colors&lt;/li&gt;
&lt;li&gt;Stan Brakhage &amp;amp; Joan Miro&lt;/li&gt;
&lt;li&gt;“The line between language and graphic”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They had done most of my work for me.
That’s not always the case,
but if you have a seed,
you have enough to get started.&lt;/p&gt;
&lt;h2&gt;Sparking Curiosity&lt;/h2&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/-hqQUEoaOC-504.avif 504w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Collage of labeled animal diagrams&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/-hqQUEoaOC-504.jpeg&quot; width=&quot;504&quot; height=&quot;233&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;Bodies. A diagram.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/&quot;&gt;seed I developed in phase 1&lt;/a&gt;
can be used directly to start a list of materials
in phase 2. Unlike the cover art,
this project has no pre-existing material that I am required to use.
Most of the material will have to be found or created,
but I do have plenty of inspiration to draw from:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What already exists?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Format: a stack of note cards that can be shuffled&lt;/li&gt;
&lt;li&gt;Some collaborative poems with Jacob Liechty that might fit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;What do I still need?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A writing style&lt;/li&gt;
&lt;li&gt;Characters? Story?&lt;/li&gt;
&lt;li&gt;Specific memories&lt;/li&gt;
&lt;li&gt;More on trauma (ptsd, etc)&lt;/li&gt;
&lt;li&gt;More on bodies (eating disorders, etc)&lt;/li&gt;
&lt;li&gt;Other voices&lt;/li&gt;
&lt;li&gt;more?..&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;What’s the inspiration?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“The Invention of Heterosexuality”&lt;/li&gt;
&lt;li&gt;Research on out-of-body experiences&lt;/li&gt;
&lt;li&gt;Bodies &amp;amp; identity&lt;/li&gt;
&lt;li&gt;Sex, gender, &amp;amp; sexuality&lt;/li&gt;
&lt;li&gt;Memory &amp;amp; trauma&lt;/li&gt;
&lt;li&gt;Hermaphroditus, Mother Clapp, &amp;amp; Molly Houses&lt;/li&gt;
&lt;li&gt;Jacob Liechty, Tom Waits, &amp;amp; Lou Reed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s OK that this list isn’t complete,
it’s enough to make me curious,
and enough to point me in the right direction.&lt;/p&gt;
&lt;h2&gt;Coming Soon&lt;/h2&gt;
&lt;p&gt;In the next few posts we’ll talk about
gathering vs creating,
blind variation and selective retention,
judgmental brainstorming,
the viewpoints, and composition —
all useful tools for this explosive curiosity phase.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>The Posture of Contour</title>
    <link href="https://www.miriamsuzanne.com/2013/01/22/contour/" />
    <updated>2013-01-22T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2013/01/22/contour/</id>
    <content type="html">
      &lt;p&gt;The editors at
SpringGun Press asked me
to design cover art
for &lt;em&gt;The Posture of Contour&lt;/em&gt;,
a new book by
&lt;a href=&quot;https://www.pw.org/content/james_belflower&quot;&gt;James Belflower&lt;/a&gt;.
I used the opportunity to get my mind out of an all-digital space,
and spent most of my time with pen, paper, and oil pastel.&lt;/p&gt;
&lt;h2&gt;Sketches&lt;/h2&gt;
&lt;p&gt;My favorite experiments involved
&lt;a href=&quot;https://en.wikipedia.org/wiki/Blind_contour_drawing&quot;&gt;blind contours&lt;/a&gt; with a capped pen
over homemade (oil-pastel) carbon paper,
then arrows traced on a third layer
using my iPad as a light table.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;



&lt;/media-gallery&gt;
  &lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Final(ish) Design&lt;/h2&gt;
&lt;p&gt;In the end,
James decided on the abstract jawbone pattern in red arrows.&lt;/p&gt;
&lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.avif 640w, https://www.miriamsuzanne.com/img/deTueUQcLU-803.avif 803w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Full book cover, title and author on front and spine - the inside of a jaw filled with red arrows, some of which extend across the back cover, three larger charcoal arrows entering from the right, from SpringGun press&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.jpeg&quot; width=&quot;803&quot; height=&quot;612&quot; srcset=&quot;https://www.miriamsuzanne.com/img/deTueUQcLU-640.jpeg 640w, https://www.miriamsuzanne.com/img/deTueUQcLU-803.jpeg 803w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;What was once a diagram of the tongue, teeth, and bottom jaw.&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Starting from a seed</title>
    <link href="https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/" />
    <updated>2012-12-13T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/12/13/starting-from-a-seed/</id>
    <content type="html">
      &lt;p&gt;You can’t start working
until you know what you are working towards.
That doesn’t mean knowing all the answers,
it means knowing the questions that will guide you.&lt;/p&gt;
&lt;p&gt;I refer to those guiding questions as
the “seed” of a project.&lt;/p&gt;
&lt;h2&gt;A Range of Specimen&lt;/h2&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/W3N88a0Wxf-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;pinned insects&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/W3N88a0Wxf-640.jpeg&quot; width=&quot;640&quot; height=&quot;264&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    What do we have against these cute little insects?
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There are many ways to find,
define, and refine your seed.
&lt;a href=&quot;https://lida.org/&quot;&gt;The LIDA Project&lt;/a&gt;
borrows from &lt;a href=&quot;https://en.wikipedia.org/wiki/Scientific_method&quot;&gt;Scientific Method&lt;/a&gt;,
starting with a question and related hypothesis.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Formulate a &lt;em&gt;question&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Do &lt;em&gt;background research&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Construct a &lt;em&gt;hypothesis&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/_xjrVFRKyx-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;concentric circles with &#39;why&#39; in the center, then &#39;what&#39;, and &#39;how&#39;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/_xjrVFRKyx-640.jpeg&quot; width=&quot;640&quot; height=&quot;297&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    Simon Sinek&#39;s &#39;golden circle&#39;
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://startwithwhy.com/&quot;&gt;Simon Sinek&lt;/a&gt; starts his projects with
“why” then “how” and finally “what” -
statements of belief, values, and finally product.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.siti.org/&quot;&gt;Anne Bogart&lt;/a&gt; covers similar territory
with her three-part seed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What is the &lt;em&gt;question&lt;/em&gt; that motivates the piece?&lt;/li&gt;
&lt;li&gt;Who or what is the &lt;em&gt;anchor&lt;/em&gt; through which we explore the question?&lt;/li&gt;
&lt;li&gt;What is the &lt;em&gt;structure&lt;/em&gt; of our exploration?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are all variations on finding a seed.
It doesn’t have to be a formal process,
but it helps to know more-or-less what you need
in order to move forward.&lt;/p&gt;
&lt;p&gt;My seeds usually start with a single idea
floating around in my mind
until other ideas attach themselves.
Once the parts begin to gel,
I know it’s time to pay closer attention.
In the end,
I have a list similar to Anne’s
before I move to the next step.&lt;/p&gt;
&lt;h2&gt;A Seed of My Own&lt;/h2&gt;
&lt;p&gt;One of my current projects-in-development
started with a quote I found on the internet:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We name and speak of a troublesome ‘transsexualism,’
the feeling of being the other sex…
We do not name and talk much about the feeling of being the same sex —
the sex we think we are, the sex most of us desire to stay.
But does not our feeling relatively comfortable with our sex,
and our intense desire to maintain the integrity of our sex,
indicate something that needs to be explained?&lt;/p&gt;
&lt;p&gt;—Jonathan Ned Katz, &lt;a href=&quot;https://books.google.com/books?id=S8BB1K361SUC&amp;amp;lpg=PP1&amp;amp;pg=PA15#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;The Invention of Heterosexuality&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/2KK0CGOKYg-640.avif 640w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;One person sitting with a VR set, while another pokes at a camera&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/2KK0CGOKYg-640.jpeg&quot; width=&quot;640&quot; height=&quot;279&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    Out-of-body studies are super weird, y&#39;all
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I combined that with an article
describing the &lt;a href=&quot;https://www.scientificamerican.com/article.cfm?id=real-outof-body-experiences&quot;&gt;science of out-of-body experience&lt;/a&gt;.
It raised some questions for me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do we relate to these bodies we live in?&lt;/li&gt;
&lt;li&gt;What does it mean to identify with a body, let alone a sex or gender?&lt;/li&gt;
&lt;li&gt;How are trauma and memory involved?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those &lt;em&gt;questions&lt;/em&gt; became the motivating “&lt;em&gt;why&lt;/em&gt;” of the project.
With a little &lt;em&gt;background research&lt;/em&gt;
(I used &lt;a href=&quot;https://en.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt;, Google, and &lt;a href=&quot;https://tatteredcover.com/&quot;&gt;my local bookstore&lt;/a&gt;),
the other pieces fell into place.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/bTfwyq-5gg-238.avif 238w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Statue of hermaphroditus lifting her dress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/bTfwyq-5gg-238.jpeg&quot; width=&quot;238&quot; height=&quot;421&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;
    A herm (named for Hermes)
    is a statue with carved genitals
    on un-carved block legs
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The fragmented &amp;amp; unreliable nature of memory inspired a &lt;em&gt;structure&lt;/em&gt;:
note cards, each written as a fragment of memory,
and then shuffled before reading.&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;anchor&lt;/em&gt; is a mashup of several existing characters and places
taken from history, mythology and song:
The transformation of &lt;a href=&quot;https://en.wikipedia.org/wiki/Hermaphroditos&quot;&gt;Hermaphroditus&lt;/a&gt;,
&lt;a href=&quot;https://en.wikipedia.org/wiki/Mother_Clap&quot;&gt;Mother Clap&lt;/a&gt;’s 18th-century &lt;a href=&quot;https://en.wikipedia.org/wiki/Molly_house&quot;&gt;Molly Houses&lt;/a&gt;,
and the songs of Tom Waits &amp;amp; Lou Reed.&lt;/p&gt;
&lt;h2&gt;DI&lt;em&gt;yourself&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;The goal isn’t to do it exactly the way I do it,
or the way LIDA, Anne Bogart, or Simon Sinek do it.
The goal is to know what you need,
and then pay attention to how you get there.&lt;/p&gt;
&lt;p&gt;De-mystify the process,
then learn to repeat it.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Portrait of Sondra &amp; Dan</title>
    <link href="https://www.miriamsuzanne.com/2012/11/20/sketchy-couple/" />
    <updated>2012-11-20T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/11/20/sketchy-couple/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/c3Eqrc0lEa-640.avif 640w, https://www.miriamsuzanne.com/img/c3Eqrc0lEa-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Black and white sketch&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/c3Eqrc0lEa-640.jpeg&quot; width=&quot;960&quot; height=&quot;587&quot; srcset=&quot;https://www.miriamsuzanne.com/img/c3Eqrc0lEa-640.jpeg 640w, https://www.miriamsuzanne.com/img/c3Eqrc0lEa-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7Zf0kXsWfw-640.avif 640w, https://www.miriamsuzanne.com/img/7Zf0kXsWfw-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Digitally colored version&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/7Zf0kXsWfw-640.jpeg&quot; width=&quot;960&quot; height=&quot;587&quot; srcset=&quot;https://www.miriamsuzanne.com/img/7Zf0kXsWfw-640.jpeg 640w, https://www.miriamsuzanne.com/img/7Zf0kXsWfw-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Dan Eisenstat &amp;amp; Sondra Eby, a sketchy couple&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I began this portrait in the same manner
as the &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/18/kitten-karlyle/&quot;&gt;Kitten Karlyle&lt;/a&gt; illustration,
and quickly found that it was the wrong style for these two.
I made several more stylistic attempts,
and was unhappy with all of them.
We call that “the creative process”.
I finally found the style I wanted
by accidentally viewing all my sketches
layered on top of each other.
The rest was just a matter of cleanup.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Creative modes and cycles</title>
    <link href="https://www.miriamsuzanne.com/2012/11/08/creative-cycles/" />
    <updated>2012-11-08T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/11/08/creative-cycles/</id>
    <content type="html">
      &lt;p&gt;Cycles have become the core of my creative process.
Thinking in cycles means I always know
where I am and where I’m going,
even when I feel overwhelmed by the size of a project.
If I’m stuck, it’s time for a new mindset.
If my last move was to zig, my next move is to zag.&lt;/p&gt;
&lt;p&gt;In his 1991 &lt;a href=&quot;https://vimeo.com/176474304&quot;&gt;lecture on creativity&lt;/a&gt;,
John Cleese describes two modes of operating:
an “open” playful mode,
and a “closed” productive more.
Creative people, he claims,
are simply the people that
cultivate the open mode of operating.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We need to be in the open mode when we’re pondering a problem,
but once we come up with a solution,
we must then switch to the closed mode to implement it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;
  &lt;iframe title=&quot;John Cleese talking about creative work&quot; src=&quot;https://player.vimeo.com/video/176474304&quot; width=&quot;640&quot; height=&quot;483&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 640 / 483&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;John Cleese is full of dad jokes&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Your Brain at Work&lt;/h2&gt;
&lt;p&gt;Renowned psychiatrist Iain McGilchrist
uses the same general framework
in his &lt;a href=&quot;https://www.thersa.org/&quot;&gt;RSA&lt;/a&gt; lecture
on the &lt;a href=&quot;https://www.youtube.com/watch?v=dFs9WO2B8uI&quot;&gt;Divided Brain&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The right hemisphere gives sustained,
broad, open, vigilant alertness
where the left hemisphere gives narrow,
sharply-focussed attention to detail…
Let me make it very clear,
for imagination you need both hemispheres.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;
  &lt;iframe title=&quot;Video explaining the divided brain&quot; src=&quot;https://www.youtube.com/embed/dFs9WO2B8uI&quot; width=&quot;521&quot; height=&quot;293&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 521 / 293&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;Both sides of your brain, together at last&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Working in Cycles&lt;/h2&gt;
&lt;p&gt;Like all tools,
our different modes of thinking allow us
to solve different types of problems,
or to solve the same problems in different ways.
You have to know when to set down your hammer
and pick up a chainsaw.
That’s where cycles become useful.&lt;/p&gt;
&lt;figure&gt;
  &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.avif 640w, https://www.miriamsuzanne.com/img/XDH9GXL_Hk-960.avif 960w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Is your approach working? Keep doing it, or try something else.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.jpeg&quot; width=&quot;960&quot; height=&quot;720&quot; srcset=&quot;https://www.miriamsuzanne.com/img/XDH9GXL_Hk-640.jpeg 640w, https://www.miriamsuzanne.com/img/XDH9GXL_Hk-960.jpeg 960w&quot; sizes=&quot;auto&quot;&gt;&lt;/picture&gt;

  &lt;figcaption&gt;How to everything&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Cycling through different modes has become
the core of my creative process.
Thinking in cycles means I always know
what to try next,
even when I feel overwhelmed by the size of a project.
If I’m stuck, it’s time for a new mindset.
If my last move was to zig, my next move is to zag.&lt;/p&gt;
&lt;p&gt;But open/closed and right/left aren’t the only modes
available to us.
I keep various mode cycles in mind as I work,
and invent new ones when they seem useful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open vs. Closed&lt;/li&gt;
&lt;li&gt;Action vs. Reflection&lt;/li&gt;
&lt;li&gt;Expanding vs. Contracting&lt;/li&gt;
&lt;li&gt;Inspiring vs. Perspiring&lt;/li&gt;
&lt;li&gt;Work vs. Play&lt;/li&gt;
&lt;li&gt;Intake vs. Output&lt;/li&gt;
&lt;li&gt;Create vs. Destroy&lt;/li&gt;
&lt;li&gt;Zoomed-In vs. Zoomed-Out&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What cycles are useful to you?&lt;/p&gt;
&lt;h2&gt;Action &amp;amp; Reflection&lt;/h2&gt;
&lt;p&gt;Putting these ideas to use is a cycle of it’s own —
stepping in and out of the work.
When you hit a snag, step back and consider your approach.
Often, an obstacle to the open mind
can be overcome with a closed mind,
and vice versa.&lt;/p&gt;
&lt;p&gt;If I’ve been looking at the details,
I step back and look at the project from a distance.
How does it all fit together?
Are the problems on page 12 caused by something on page 3?
If I’ve been writing stream-of-conscious (expanding),
I start editing with a vengeance (contracting).
&lt;a href=&quot;https://www.austinkleon.com/2010/01/19/creativity-is-subtraction/&quot;&gt;Creativity is subtraction&lt;/a&gt; as much as creation.&lt;/p&gt;
&lt;h2&gt;Garbage In (Please)&lt;/h2&gt;
&lt;p&gt;Similarly,
If I’m all out of ideas,
I spend some time doing research.
It’s important to have a deep well of material to draw on,
and that well needs to be maintained.
Sometimes I’ll study a related topic,
or I’ll read a book,
watch a movie,
or just watch TV.
Ignore the old “garbage-in, garbage-out” mantra.
Watch shitty TV, eat some candy, and enjoy it.
You can learn a lot from garbage.&lt;/p&gt;
&lt;p&gt;Practice being critical without being dismissive.
The important thing is to replenish.
Getting new ideas into your head is part of the work.&lt;/p&gt;
&lt;h2&gt;Stay Agile&lt;/h2&gt;
&lt;figure&gt;
  &lt;iframe title=&quot;Monty Python, two men slapping each other with large fish&quot; src=&quot;https://www.youtube.com/embed/K2P86C-1x3o&quot; width=&quot;521&quot; height=&quot;293&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 521 / 293&quot;&gt;&lt;/iframe&gt;

  &lt;figcaption&gt;And now for a callback framed as a diversion&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;No one technique is going to get you the whole way there.
Practice changing directions quickly.
What happens if you switch modes every five minutes?&lt;/p&gt;
&lt;p&gt;Stay responsive to problems as they come up,
changing your approach based on the problem in front of you.
When you get stuck, that’s a good thing.
Use your frustration as motivation.
Frustration is just a cue for change.
Push back.
Ask why you’re stuck.
Explore your stuckness,
reflect on it,
dive into it,
adjust,
and keep moving.&lt;/p&gt;
&lt;p&gt;Creativity happens in cycles:
the end of one cycle is the start of another.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Ordinary tools of thought</title>
    <link href="https://www.miriamsuzanne.com/2012/10/23/ordinary-tools-of-thought/" />
    <updated>2012-10-23T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/10/23/ordinary-tools-of-thought/</id>
    <content type="html">
      &lt;p&gt;Kirby Ferguson
argues that the three basic techniques of remixing
(&lt;em&gt;copy&lt;/em&gt;, &lt;em&gt;transform&lt;/em&gt;, &lt;em&gt;combine&lt;/em&gt;)
form the foundation of all creative process.
He refers to these techniques as the
“Elements of Creativity”…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Creativity isn’t magic.
It happens by applying ordinary tools of thought
to existing materials.&lt;/p&gt;
&lt;p&gt;—Kirby Ferguson&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It seems I can’t dive straight into
the &lt;a href=&quot;https://www.miriamsuzanne.com/2012/10/16/muse-intro/&quot;&gt;five steps of creative process&lt;/a&gt; —
my content wants to take a different route
(more on that later).
Instead,
let’s start by establishing some broad themes
that will resurface regularly along the way.&lt;/p&gt;
&lt;h2&gt;The Elements of Creativity&lt;/h2&gt;
&lt;p&gt;Kirby Ferguson’s fantastic video series,
&lt;a href=&quot;https://everythingisaremix.info/&quot;&gt;Everything is a Remix&lt;/a&gt;,
argues that the three basic techniques of remixing
(&lt;em&gt;copy&lt;/em&gt;, &lt;em&gt;transform&lt;/em&gt;, &lt;em&gt;combine&lt;/em&gt;)
are actually the foundation of all creative process.
He refers to these techniques as the
“Elements of Creativity”.&lt;/p&gt;
&lt;p&gt;I won’t go into the details of his argument,
but you should.
My goal is to pick up where he leaves off,
turning creative theory into creative practice.&lt;/p&gt;
&lt;p&gt;Go watch the entire series.
I can wait.&lt;/p&gt;
&lt;p&gt;(Pause.)&lt;/p&gt;
&lt;p&gt;I’m serious.
Consider it homework.&lt;/p&gt;
&lt;h2&gt;Spark &amp;amp; Slip&lt;/h2&gt;
&lt;p&gt;Douglas Hofstadter,
a writer and professor of cognitive science,
makes the same argument in his book
&lt;a href=&quot;https://en.wikipedia.org/wiki/Metamagical_Themas&quot;&gt;Metamagical Themas&lt;/a&gt;.
He talks about creativity as
a process of “sparking &amp;amp; slipping”:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is a way that concepts have of “slipping”
from one into another,
following a quite unpredictable path…
An example of such a slip is furnished to us
whenever we make a typo or grammatical mistake,
utter a malapropism…
or confuse two concepts at a deeply semantic level.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This isn’t just technique,
this is how our brains work —
sparking off ideas and slipping towards other ideas —
copying, transforming, &amp;amp; combining
into new ideas.&lt;/p&gt;
&lt;h2&gt;The Art is Inevitable&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;I invented nothing new.
I simply assembled the discoveries of other men
behind whom were centuries of work…
So it is with every new thing.
Progress happens when all the factors that make for it are ready,
and then it is inevitable.&lt;/p&gt;
&lt;p&gt;—Henry Ford&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Art is no different.
Like inventors and scientists,
our job is to facilitate the process of
experimentation and transformation,
then capture the results.&lt;/p&gt;
&lt;p&gt;These can be difficult skills to master,
but they aren’t magic,
and there are tools that can help us.
It’s nothing new —
&lt;a href=&quot;https://en.wikipedia.org/wiki/Conceptual_art&quot;&gt;conceptual artists&lt;/a&gt;
and &lt;a href=&quot;https://en.wikipedia.org/wiki/Remix&quot;&gt;remix artists&lt;/a&gt;
have been honing these tools for years,
and we’ll borrow from them regularly —
but I want to show that the conceptual/remix process is essential
for &lt;em&gt;every&lt;/em&gt; medium and &lt;em&gt;every&lt;/em&gt; genre.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Portrait of Kitten Karlyle (nsfw)</title>
    <link href="https://www.miriamsuzanne.com/2012/10/18/kitten-karlyle/" />
    <updated>2012-10-18T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/10/18/kitten-karlyle/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;media-gallery&gt;
  
    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/nojzH9VZmw-320.avif 320w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Close-up face sketch&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/nojzH9VZmw-320.jpeg&quot; width=&quot;320&quot; height=&quot;412&quot;&gt;&lt;/picture&gt;

    
    
    
    
  

    &lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://www.miriamsuzanne.com/img/ldPdSxRyE7-612.avif 612w&quot; sizes=&quot;auto&quot;&gt;&lt;img alt=&quot;Nude bust sketch&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; src=&quot;https://www.miriamsuzanne.com/img/ldPdSxRyE7-612.jpeg&quot; width=&quot;612&quot; height=&quot;792&quot;&gt;&lt;/picture&gt;

    
    
    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;
    My good friend, Kitten Karlyle
  &lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Fuck the muse</title>
    <link href="https://www.miriamsuzanne.com/2012/10/16/muse-intro/" />
    <updated>2012-10-16T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/10/16/muse-intro/</id>
    <content type="html">
      &lt;p&gt;I’ve been told that you can’t teach creativity, but I disagree.
We think of creativity as sudden, sexy, inexplicable moments of inspiration —
ignoring the hard work that makes those moments possible.&lt;/p&gt;
&lt;h2&gt;The Art of Control&lt;/h2&gt;
&lt;p&gt;Taking control of your art isn’t a matter of brute force. You have to
let go, explore, take risks, and throw yourself off-balance. A good
process will give you that freedom, while nudging you in the right
direction.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ease the burden of originality.&lt;/strong&gt; The pressure to be unique and
interesting can paralyze you. Don’t try to be interesting. Set up
the conditions, and make sure you capture the results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Do the unthinkable.&lt;/strong&gt; The only way to create something beyond
imagining is to explore outside your own imagination. Let the
process take you there.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make informed decisions.&lt;/strong&gt; Stepping back from the work allows you
to see it more clearly. Once you have all the options in front of
you, you can see what works and what doesn’t.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Put your strengths (and weaknesses) to use.&lt;/strong&gt; Measure your skills
against each step of the process. Learn what you can count on, where
you need training or practice, and how to turn your flaws into
assets along the way.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Class Overview&lt;/h2&gt;
&lt;p&gt;I break the creative process down into five major steps. We’ll look at
each one in it’s own post:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Define the Seed: &lt;em&gt;What’s the idea, question, or hypothesis?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Explore: &lt;em&gt;Reasearch, gather, and create the materials.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Organize: &lt;em&gt;Outline the structure, or impose one.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Draft: &lt;em&gt;Compile a complete first draft.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Revise: &lt;em&gt;Consider, critique, and edit as needed.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There’s more than one way to skin the walrus, and each project will call
for unique adjustments, but the same basic tools are needed to create
genre fiction, absurdest drama, lyric poetry, or conceptual installation
art.&lt;/p&gt;
&lt;p&gt;This isn’t paint-by-numbers — it’s a toolkit and a way of thinking. What
you do with it is up to you.&lt;/p&gt;
&lt;h2&gt;Credit Where Due&lt;/h2&gt;
&lt;p&gt;My approach is influenced most heavily by
Anne Bogart’s &lt;a href=&quot;https://en.wikipedia.org/wiki/Viewpoints&quot;&gt;Viewpoints&lt;/a&gt;,
Chuck Mee’s &lt;a href=&quot;https://www.charlesmee.org/indexf.html&quot;&gt;(re)making project&lt;/a&gt;,
&lt;a href=&quot;https://lida.org/&quot;&gt;The LIDA Project&lt;/a&gt;’s “bucketing”,
Agile web development and
graphic design processes,
scientific method,
&lt;a href=&quot;https://austinkleon.com/steal/&quot;&gt;Steal Like An Artist&lt;/a&gt; by Austin Kleon,
&lt;a href=&quot;https://www.everythingisaremix.info/&quot;&gt;Everything is a Remix&lt;/a&gt; by Kirby Ferguson,
Don Fry’s &lt;a href=&quot;https://donfry.wordpress.com/&quot;&gt;Writing Your Way&lt;/a&gt;,
queer theory,
and many years of working with
ensemble theaters and bands.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Susy 1.0 release</title>
    <link href="https://www.miriamsuzanne.com/2012/08/14/susy-1-0/" />
    <updated>2012-08-14T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/08/14/susy-1-0/</id>
    <content type="html">
      &lt;p&gt;This release is loaded with new features,
but don’t let that fool you.
Susy has become shockingly simple to use.
See the &lt;a href=&quot;https://susy.oddbird.net/&quot;&gt;website&lt;/a&gt; for more details and demonstrations.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;Susy 1.0 has officially launched!
Thanks to everyone who contributed.&lt;/p&gt;
&lt;p&gt;The interface and syntax have been simplified
so that the language is consistent and easy to understand.
We cleaned up the output,
taking into account Compass browser-support settings,
and giving you more control over exactly how your grids are built.
Then we added a load of responsive tools
and optional new settings
to make Susy as absolutely flexible as possible.&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Oddities &amp; Curious Lands</title>
    <link href="https://www.miriamsuzanne.com/2012/07/24/arcticacre-oddities/" />
    <updated>2012-07-24T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/07/24/arcticacre-oddities/</id>
    <content type="html">
      &lt;p&gt;In case you are ever bored,
there are some things you should be doing
on the internet.
Several of those things were made by
&lt;a href=&quot;https://www.secrettechnology.com/&quot;&gt;Jason Nelson&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You might start with the games
(“i made this, you play this, we are enemies” shown above),
then perhaps some
“&lt;a href=&quot;https://www.secrettechnology.com/songs/harmsong1.html&quot;&gt;Stunningly Harmful Songs&lt;/a&gt;…
for spreading and baffling and loving.”
You can explore on your own from there.&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>Sass striped backgrounds</title>
    <link href="https://www.miriamsuzanne.com/2012/07/20/sass-striped-background/" />
    <updated>2012-07-20T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2012/07/20/sass-striped-background/</id>
    <content type="html">
      &lt;p&gt;&lt;a href=&quot;https://twitter.com/jina/status/225811628338323458&quot;&gt;Jina&lt;/a&gt; asked twitter for Sass advice the other day.
She was working on a bit of code to create
a rainbow-striped background gradient
using any set of arbitrary colors.
This is my solution,
in the form of a Sass function.&lt;/p&gt;
&lt;!-- intro --&gt;
&lt;p&gt;It requires &lt;a href=&quot;https://rubygems.org/gems/sass&quot;&gt;Sass 3.2&lt;/a&gt;
in order to run.&lt;/p&gt;
&lt;h2&gt;Stripes Function&lt;/h2&gt;
&lt;p&gt;Start by setting a variable to the colors you want:&lt;/p&gt;
&lt;pre class=&quot;language-scss&quot;&gt;&lt;code class=&quot;language-scss&quot;&gt;&lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$rainbow&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; red orange yellow green blue indigo violet&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You could set individual variables for each color as well.
You would still pass them all as a single argument,
or join them into a single variable before passing, as you see fit.&lt;/p&gt;
&lt;p&gt;Here’s the function:&lt;/p&gt;
&lt;pre class=&quot;language-scss&quot;&gt;&lt;code class=&quot;language-scss&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Returns a striped gradient for use anywhere gradients are accepted.&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - $position: the starting position or angle of the gradient.&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// - $colors: a list of all the colors to be used.&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;@function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;stripes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;type-of&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;list&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;compact&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$gradient&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;compact&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$width&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100% &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;@for&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$i&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; 1 &lt;span class=&quot;token keyword&quot;&gt;through&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$pop&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;nth&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$colors&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$new&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$pop&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$width&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$i&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; 1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$pop&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$width&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$gradient&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$gradient&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$new&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; comma&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;token keyword&quot;&gt;@return&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;linear-gradient&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$position&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$gradient&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And how to use it:&lt;/p&gt;
&lt;pre class=&quot;language-scss&quot;&gt;&lt;code class=&quot;language-scss&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.rainbow &lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;@include&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;background-image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;stripes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;left&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$rainbow&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jina has posted a demo and explanation
on &lt;a href=&quot;https://codepen.io/jina/pen/iosjp&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(The real lesson here
is that all the colors of the rainbow
are acceptable CSS color keywords.
Go forth and queer the web.)&lt;/p&gt;

      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
  <entry>
    <title>I See Rockets, song demo</title>
    <link href="https://www.miriamsuzanne.com/2009/05/14/rockets/" />
    <updated>2009-05-14T00:00:00Z</updated>
    <id>https://www.miriamsuzanne.com/2009/05/14/rockets/</id>
    <content type="html">
      &lt;figure&gt;
  &lt;media-gallery&gt;
  
    
    
    &lt;iframe src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/274098&amp;amp;amp;color=ff6600&amp;amp;amp;auto_play=false&amp;amp;amp;show_artwork=false&quot; width=&quot;100%&quot; height=&quot;166&quot; frameborder=&quot;0&quot; style=&quot;aspect-ratio: 100% / 166&quot;&gt;&lt;/iframe&gt;

    
    
  




&lt;/media-gallery&gt;
  &lt;figcaption&gt;Demo recording of &lt;em&gt;I See Rockets&lt;/em&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
      
  &lt;hr /&gt;
  &lt;p&gt;
    Reply via
    &lt;a href=&quot;mailto:miriam@miriamSuzanne.com&quot;&gt;Email&lt;/a&gt;
    | &lt;a href=&quot;https://front-end.social/@mia&quot;&gt;Mastodon&lt;/a&gt;
    | &lt;a href=&quot;https://bsky.app/profile/miriam.codes&quot;&gt;Bluesky&lt;/a&gt;
  &lt;/p&gt;
    </content>
  </entry>
</feed>
