<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Melanie Richards</title>
  <subtitle>Blogging about the web platform, design, and web development.</subtitle>
  <link href="https://melanie-richards.com/feed.xml" rel="self"/>
  <link href="https://melanie-richards.com/"/>
  <id>https://melanie-richards.com/</id>
  <author>
    <name>Melanie Richards</name>
    <email>mr@melanie-richards.com</email>
  </author>
  
  
  
  <entry>
    
      <title>Learning Log, Feb &amp; Mar 2026</title>
      <link href="https://melanie-richards.com/blog/learning-log-2603/"/>
      <updated>2026-04-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2603/</id>
      <content type="html">&lt;p&gt;I returned to work from my parental leave in mid-February, hence the lack of a Feb Learning Log. AI seems to be rewriting the game on the weekly, which has been an interesting environment to come back to.&lt;/p&gt;
&lt;p&gt;I was predictably nervous about adjusting back to working life as a first-time parent, but actually we’ve adjusted pretty quickly as a family (&lt;code&gt;*knock on wood*&lt;/code&gt;). Our girl is so chill and happy and gives us so much joy; I love to hear her little babbles in the morning.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-toes-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-toes-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-toes-s.webp&quot; alt=&quot;A white-presenting baby&#39;s bare little feet cozied up in a knitted blanket with a black, red, green, and white design&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The unbearable cuteness of tiny toes&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%E2%9C%8D-blog-posts&quot;&gt;✍ Blog posts&lt;/h2&gt;
&lt;p&gt;Manuel interviewed me for &lt;a href=&quot;https://manuelmoreale.com/interview/melanie-richards&quot;&gt;People &amp;amp; Blogs&lt;/a&gt;! I will always be happy to push the idea of blogging.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;p&gt;Finished a couple projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I sewed two toy storage cubes for my daughter. They fit into IKEA Eket blocks. One has apple-patterned fabric, and the other eggs!&lt;/li&gt;
&lt;li&gt;I knitted a simple hat, of course finishing this beanie on the first weekend in spring.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Celebrate our three-year anniversary&lt;/li&gt;
&lt;li&gt;Watched the Super Bowl, Olympics, and a Kraken game (from home)&lt;/li&gt;
&lt;li&gt;Showed baby S her first snow! In March! ❄&lt;/li&gt;
&lt;li&gt;Just a week later she experienced her first sakura in full bloom 🌸&lt;/li&gt;
&lt;li&gt;Made matcha mochi (technically &lt;a href=&quot;https://www.mochimommy.com/easy-homemade-mochi/&quot;&gt;chi chi dango&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;p&gt;Removed Webmentions from site, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Actual fetching and caching of webmentions&lt;/li&gt;
&lt;li&gt;Display and styling&lt;/li&gt;
&lt;li&gt;Plugin for filtering deploys based on Webhook body&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-sites&quot;&gt;Other sites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;Bucketlist&lt;/a&gt;: updated bucketlist items for the first time in awhile&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analog.melanie-richards.com/journals/daily-journal&quot;&gt;Analog&lt;/a&gt;: updated my main journal to reflect that I’ve migrated from a Sterling Ink B6 journal to a Hobonichi Techo (A6).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/amV1EHguZKI?si=LHvLznDDof5okX7p&quot;&gt;Snorkeling With Giant Tadpoles in a Tiny Spring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lynn Fisher does it again: &lt;a href=&quot;https://concerts.lynnandtonic.com/&quot;&gt;concerts archive&lt;/a&gt; (via Ethan Marcotte)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kaomojicool.club/&quot;&gt;Kamoji Cool Club&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/stakeholder-management/&quot;&gt;Stakeholder Management for Product Teams: Show Your Work, Don&#39;t Sell Your Conclusions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://creatoreconomy.so/p/12-rules-to-vibe-code-without-frustration&quot;&gt;12 Rules to Vibe Code Without Frustration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2026/01/brief-note-on-application-keyboard-shortcuts.html&quot;&gt;Brief Note on Application Keyboard Shortcuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2026/01/barriers-from-links-with-aria.html&quot;&gt;Barriers From Links With ARIA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2026/02/you-know-what-just-dont-split-words-into-letters.html&quot;&gt;You Know What? Just Don’t Split Words Into Letters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/blog/a-new-path/&quot;&gt;A New Path for Digital Accessibility?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/ai-supremacy-data-center-expansion-arctic-circle/&quot;&gt;The Data Centers Have Arrived at the Edge of the Arctic Circle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/grammarly-is-facing-a-class-action-lawsuit-over-its-ai-expert-review-feature/&quot;&gt;Grammarly Is Facing a Class Action Lawsuit Over Its AI ‘Expert Review’ Feature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rachelandrew.co.uk/archives/2026/03/24/do-you-need-ai-for-that/&quot;&gt;Do You Need AI for That?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://creatoreconomy.so/p/12-rules-to-vibe-code-without-frustration&quot;&gt;12 Rules to Vibe Code Without Frustration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/senators-demand-to-know-how-much-energy-data-centers-use/&quot;&gt;Senators Demand to Know How Much Energy Data Centers Use&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larahogan.github.io/blog/ai-aha-team-meetings/&quot;&gt;AI &#39;Aha&#39; Team Meetings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/interactive/2025/01/12/well/health-tips-experts.html&quot;&gt;35 Simple Health Tips Experts Swear By&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mainichi.jp/english/articles/20260226/p2a/00m/0bu/025000c&quot;&gt;Japan Stationery Firm&#39;s Pale Color Highlighters a Global Hit Despite 3 Discontinuations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wellappointeddesk.com/2026/03/shopping-my-own-stuff-10-strategies-im-trying-to-use-more-of-my-stationery-collection/&quot;&gt;Shopping My Own Stuff: 10 Strategies I’m Trying to Use More of My Stationery Collection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://anhvn.com/sketchbook/hourly-comic-day-2026/&quot;&gt;Hourly Comic Day 2026&lt;/a&gt;: I always forget to participate but I like seeing everyone else’s comics&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2026/03/wool-creature-lab-arina-bovenich-felted-wool-nudibranchs/&quot;&gt;Dive into Wool Creature Lab’s World of Vibrant Felted Nudibranchs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grainlinestudio.com/blogs/blog/making-space-week-6-cutting-table-organization&quot;&gt;Week 6: Reclaiming Your Cutting Table&lt;/a&gt;: guilty!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2026/03/rembrandt-rijksmuseum-vision-zachariah-temple-painting-rediscovered/&quot;&gt;A Recently Rediscovered Rembrandt Emerges After More Than Six Decades&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2026/03/how-i-used-thumbnail-to-do-bigger-sketch.html&quot;&gt;How I Used a Thumbnail to Do a Bigger Sketch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ml.arttoolkit.com/td/cl/eyJ2Ijoie1wiYVwiOjM0NDY1NyxcImxcIjoxODIzODUxNzYxNTQ3MzYzMzMsXCJyXCI6MTgyMzg1Mjk1MDcwNTk0NDgzfSIsInMiOiIzZDUzNTIzMDIzOWE4MGE0In0&quot;&gt;The Value of Value Studies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ericafustero.com/2026-03-proceso-dibujo-analogico&quot;&gt;Mi Proceso De Dibujo Analógico&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2026</title>
      <link href="https://melanie-richards.com/blog/learning-log-2601/"/>
      <updated>2026-02-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2601/</id>
      <content type="html">&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-immigration-stickers-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-immigration-stickers-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-immigration-stickers-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-immigration-stickers-s.webp&quot; alt=&quot;A collection of three stickers about immigration. There is a small skateboarding dog saying &#39;Borders arent even real, dog. Grow up!&#39; There are two sparkly frogs holding a banner between two flowers, which reads &#39;Immigrants make our country better&#39;. And there is a riff on the ICEE machine label with a polar bear labeled &#39;Abolish ICE, keep families together&#39;.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My latest anti-fascist flair is from &lt;a href=&quot;https://shop.thepeachfuzz.co/&quot;&gt;The Peach Fuzz&lt;/a&gt;. The dog is a portrait of me at parties&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Here in the U.S., ICE has been carrying on its proud tradition of committing human rights violations, as it continues to terrorize the country it purports to “secure”. So, I’ve been thinking a lot lately about despair and hopelessness vs hopeful, defiant collective action.&lt;/p&gt;
&lt;p&gt;Honestly, that looks like plenty of multi-tasking (crying about the soul of humanity while burping the baby). Where I always come back to after the latest crying jag is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You or I alone cannot control what these sentient fart clouds are doing in Minnesota and beyond&lt;/li&gt;
&lt;li&gt;What we can do is wake up every day and recommit to our values. We can each do &lt;em&gt;something&lt;/em&gt; to build a more beautiful world. We can trust that there are many, many other people who share our values. We can seek those people out and build stronger communities with them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;We cannot let these wannabe fascists dictate how we live our lives and how we feel about our neighbors.&lt;/strong&gt; We can and will build communities truly dedicated to “life, liberty, and the pursuit of happiness”—whether they like it or not.&lt;/p&gt;
&lt;p&gt;If this resonates with you, you likely know of the same key resources I do, but just in case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://5calls.org/&quot;&gt;5 Calls&lt;/a&gt;:&lt;/strong&gt; contact your U.S. reps about issues important to you&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.standwithminnesota.com/&quot;&gt;Stand With Minnesota&lt;/a&gt;:&lt;/strong&gt; support the communities being ravaged by ICE’s chaos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://nwirp.org/&quot;&gt;Northwest Immigrant Rights Project&lt;/a&gt;:&lt;/strong&gt; for my local friends, NWIRP is already prepping for the worst&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Wrote about my &lt;a href=&quot;https://making.melanie-richards.com/2026-making-goals/&quot;&gt;2026 Making Goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/birb-fest-2026/&quot;&gt;Birb Fest 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/granny-core-baby-quilt/&quot;&gt;Granny Core Baby Quilt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I started using Affinity to edit my photos (gave up my Photoshop subscription awhile back) and I’m liking it so far. Thanks Canva acquisition for making it free, you’re welcome for my DAU / WAU engagement!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8E%93-learning&quot;&gt;🎓 Learning&lt;/h2&gt;
&lt;p&gt;Quite a few things via &lt;a href=&quot;https://bookshop.org/a/15644/9781250827951&quot;&gt;“Wild Dark Shore”&lt;/a&gt; by Charlotte McConaghy (would recommend by the way, for gentler cli-fi):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Flora and fauna of the Antarctic&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/future/article/20170327-the-milk-that-lasts-forever&quot;&gt;Long-life milk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hydrophone&quot;&gt;Hydrophones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;“Chippy” as slang for a carpenter&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Took our daughter to see &lt;a href=&quot;https://zoo.org/wildlanterns/&quot;&gt;the lights at the zoo&lt;/a&gt;. She passed out after ~20 minutes, but the grownups still had a good time.&lt;/li&gt;
&lt;li&gt;Trying to lean into the absolute bummer of winter weather we had for much of January&lt;/li&gt;
&lt;li&gt;Finding new funny noises for my baby to laugh at&lt;/li&gt;
&lt;li&gt;Going to PT for Mommy Wrist / Mommy Thumb&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Updated the dates on my &lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;Seasons minisite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a few snacks we bought at H-Mart to my &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;snacks minisite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added a resource to an old blog post for a Girl Scout 🥰&lt;/li&gt;
&lt;li&gt;Added &lt;a href=&quot;https://www.backlogreadathon.com/&quot;&gt;Backlog Readathon&lt;/a&gt; to my &lt;a href=&quot;https://melanie-richards.com/projects/&quot;&gt;list of projects&lt;/a&gt;. Join us next December!&lt;/li&gt;
&lt;li&gt;Currently =&amp;gt; Now
&lt;ul&gt;
&lt;li&gt;Renamed &lt;code&gt;/currently/&lt;/code&gt; to &lt;code&gt;/now/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Moved the “Now” list to that page (in addition to current media)&lt;/li&gt;
&lt;li&gt;Made some layout changes to current media&lt;/li&gt;
&lt;li&gt;Mirrored all the “Now” stuff on the home page&lt;/li&gt;
&lt;li&gt;Added the page to &lt;a href=&quot;https://nownownow.com/p/8MQT&quot;&gt;nownownow.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Updated the &lt;a href=&quot;https://melanie-richards.com/product/&quot;&gt;Product page&lt;/a&gt; with my current role description&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;p&gt;Several articles are via &lt;a href=&quot;https://buttondown.com/ericwbailey&quot;&gt;Eric Bailey’s excellent newsletter&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;design-%26-development&quot;&gt;Design &amp;amp; development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2026/01/algorithmic-hover-states-with-contrast-color/&quot;&gt;Algorithmic Hover States With Contrast-Color&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2026/01/contrast-color-with-custom-design-tokens/&quot;&gt;Using Your Design System Colors With Contrast-Color&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/178868/ef7e9370b1&quot;&gt;The 8 Trends That Will Define Web Development in 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://paulmakeswebsites.com/writing/shadcn-radio-button/&quot;&gt;The Incredible Overcomplexity of the Shadcn Radio Button&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/why-there-arent-enough-electricians-and-plumbers-to-build-ai-data-centers/&quot;&gt;The Real AI Talent War Is for Plumbers and Electricians&lt;/a&gt;: I’ve been saying we should recommend our baby go into a trade, and now I feel vindicated.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/robloxs-ai-powered-age-verification-is-a-complete-mess/&quot;&gt;Roblox’s AI-Powered Age Verification Is a Complete Mess&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2026/01/07/ai-layoffs-convenient-corporate-fiction-true-false-oxford-economics-productivity/&quot;&gt;AI Layoffs Are Looking More and More Like Corporate Fiction That’s Masking a Darker Reality, Oxford Economics Suggests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/wikipedia-group-made-guide-to-detect-ai-writing-now-a-plug-in-uses-it-to-humanize-chatbots/&quot;&gt;A Wikipedia Group Made a Guide to Detect AI Writing. Now a Plug-in Uses It to ‘Humanize’ Chatbots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/deepfake-nudify-technology-is-getting-darker-and-more-dangerous/&quot;&gt;Deepfake ‘Nudify’ Technology Is Getting Darker—and More Dangerous&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/data-center-criticism-factories-supply-us/&quot;&gt;People Are Protesting Data Centers—but Embracing the Factories That Supply Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/data-centers-are-driving-a-us-gas-boom/&quot;&gt;Data Centers Are Driving a US Gas Boom&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/come-back/&quot;&gt;Come Back&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dimenovelraven.com/blog/stationery-world-reflection-2025&quot;&gt;Stationery World Reflection 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gentlemanstationer.com/blog/2026/1/17/how-to-prepare-to-get-fountain-pen-nibs-tuned-andor-ground&quot;&gt;How to Prepare to Get Fountain Pen Nibs Tuned and/or Ground&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wordsinthemargins.substack.com/p/no-13-word-of-the-year&quot;&gt;No. 13: Word of the Year&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://writingatlarge.com/2026/01/21/how-i-use-my-notebooks-work-in-progress-notebook-debts-and-lessons/&quot;&gt;How I Use My Notebooks: Work in Progress Notebook – Debts and Lessons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.psychologytoday.com/us/blog/positively-media/202403/writing-by-hand-can-boost-brain-connectivity&quot;&gt;Writing by Hand Can Boost Brain Connectivity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art-%26-crafts&quot;&gt;Art &amp;amp; crafts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.notaprimarycolor.com/2026/01/18/cleaned-the-studio-had-to-document/&quot;&gt;Cleaned the studio, had to document.&lt;/a&gt;: studio goals for sure!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.creativeboom.com/tips/10-low-effort-ways-to-get-your-creative-brain-working-again/&quot;&gt;10 Low-Effort Ways to Get Your Creative Brain Working Again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itsnicethat.com/features/forward-thinking-shut-your-laptop-creative-industry-120126&quot;&gt;Shut Your Laptop! Ways to Find Inspiration Offline&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ms.now/opinion/minneapolis-ice-watch-protesters-violence-research&quot;&gt;I’m a Minneapolis Sociologist Who Studies Violence. Here’s How ICE Observers Are Helping.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.politico.com/news/2026/01/14/democrats-ice-funding-appropriations-00726552&quot;&gt;Democrats Confront an ICE Dilemma: To Rein It In, They Have to Fund It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sciencealert.com/fish-mouth-filter-removes-99-of-microplastics-from-laundry-waste&quot;&gt;&#39;Fish Mouth&#39; Filter Removes 99% of Microplastics From Laundry Waste&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.msn.com/en-us/money/careersandeducation/white-collar-workers-shouldn-t-dismiss-a-blue-collar-career-change/ar-AA1UeBlC&quot;&gt;White-Collar Workers Shouldn’t Dismiss a Blue-Collar Career Change&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2025 Highlights</title>
      <link href="https://melanie-richards.com/blog/2025-highlights/"/>
      <updated>2025-12-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2025-highlights/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Note: this is just the highlight reel. Every year has its share of challenges, too.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’ll always remember 2025 as the year I became a mother. I could maybe stop this post right there. I’m surprised by how much I enjoyed being pregnant, and I am still in awe of mine and Rahul’s beautiful little creature every day.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hands-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hands-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hands-s.webp&quot; alt=&quot;A 3-month baby cozied up on me on a grey couch. She is wearing a pink floral onesie and her chubby little hands cover her face&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Privacy via chubby little hands&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;work&quot;&gt;Work&lt;/h2&gt;
&lt;p&gt;It feels odd to type up this section while on parental leave: what is this “work” you speak of??? In any case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2025 was my first year as a people manager; I’m the Group Product Manager leading the core product at Webflow, alongside my design and engineering partners.&lt;/li&gt;
&lt;li&gt;I also made my first couple hires!&lt;/li&gt;
&lt;li&gt;We made the entire GSAP library free and shipped the foundations of our new Interactions feature, replatformed on GSAP.&lt;/li&gt;
&lt;li&gt;My team members and their collaborators shipped tons of great updates enabling people to design and build inspiring websites on Webflow: from code components to new styling capabilities to Shared Library improvements and enhancement of the overall design UX.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking forward to pushing our vision for designing on Webflow further in 2026!&lt;/p&gt;
&lt;h2 id=&quot;personal-projects&quot;&gt;Personal projects&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-backlog-readathon.png&quot; alt=&quot;The Backlog Readathon logo, a blue snowflake made from rotated bookmark icons&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hosted &lt;a href=&quot;https://melanie-richards.com/blog/2025-highlights/&quot;&gt;Backlog Readathon&lt;/a&gt; for a second year. Join us next year in the “dead week” between Dec 26–31!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/everythingish-2025/&quot;&gt;Lots of sewing and knitting projects&lt;/a&gt;, with a bit of sketchbooking thrown in&lt;/li&gt;
&lt;li&gt;Did some digital gardening on my current projects, but no brand-new web projects this year. I keep thinking of projects that require ongoing content maintainance, and I told myself &lt;a href=&quot;https://dianaberlin.com/posts/no-more-forever-projects&quot;&gt;“no more forever projects”&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;side-quests&quot;&gt;Side quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Started and kept a weekly accountability check-in with a former coworker, now friend&lt;/li&gt;
&lt;li&gt;Went to Scottsdale, AZ and San Diego, CA for work trips&lt;/li&gt;
&lt;li&gt;Saw Bright Eyes play the Paramount&lt;/li&gt;
&lt;li&gt;Visited La Jolla and ogled at all the seals&lt;/li&gt;
&lt;li&gt;Visited my in-laws again in New Delhi&lt;/li&gt;
&lt;li&gt;We all flew for a mini-vacation in Goa&lt;/li&gt;
&lt;li&gt;Tried making mochi&lt;/li&gt;
&lt;li&gt;Went on a babymoon to Montreal&lt;/li&gt;
&lt;li&gt;Happened to be there in time to check out MCAF (Montreal Comic Arts Festival)&lt;/li&gt;
&lt;li&gt;Enjoyed picnics in parks with friends&lt;/li&gt;
&lt;li&gt;Showed my family our local tidepools&lt;/li&gt;
&lt;li&gt;Finally saw Death Cab for Cutie play live&lt;/li&gt;
&lt;li&gt;Attended my second Fiber Flock Fest with a friend&lt;/li&gt;
&lt;li&gt;Acquired a Switch 2 and promptly kicked my husband’s butt in Mario Kart World&lt;/li&gt;
&lt;li&gt;Attended a wedding at Thornewood Castle, one of the filming locations for The Haunting of Bly Manor&lt;/li&gt;
&lt;li&gt;Bid my friend group’s favorite spooky franchise (The Conjuring) adieu&lt;/li&gt;
&lt;li&gt;Got our basement plumbing torn up and fixed 💸💸💸&lt;/li&gt;
&lt;li&gt;Hosted each set of grandparents for baby cuddles&lt;/li&gt;
&lt;li&gt;Established a November family tradition of visiting the spawning salmon&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;media&quot;&gt;Media&lt;/h2&gt;
&lt;p&gt;✶ = particular favorite&lt;/p&gt;
&lt;h3 id=&quot;favorite-books&quot;&gt;Favorite books&lt;/h3&gt;
&lt;p&gt;I read &lt;a href=&quot;https://melanie-richards.com/now/reading/&quot;&gt;57 books in 2025&lt;/a&gt;, so roughly the same scale of reading as 2024. Here’s a few good books:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781501160844&quot;&gt;Anxious People&lt;/a&gt; by Fredrik Backman (read this one on the postpartum unit, haha)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593799895&quot;&gt;Be Ready When the Luck Happens&lt;/a&gt; by Ina Garten&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781643755199&quot;&gt;A Grandmother Begins the Story&lt;/a&gt; by Michelle Porter&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781338617436&quot;&gt;Heartstopper, Vol. I&lt;/a&gt; by Alice Oseman&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062512949&quot;&gt;It’s Easier Than You Think&lt;/a&gt; by Sylvia Boorstein&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593685778&quot;&gt;Martyr!&lt;/a&gt; by Kaveh Akbar ✶&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780063277052&quot;&gt;The Mighty Red&lt;/a&gt; by Louise Erdrich&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593537251&quot;&gt;Real Americans&lt;/a&gt; by Rachel Khong&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250171115&quot;&gt;Snapdragon&lt;/a&gt; by Kat Leyh&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593715130&quot;&gt;Tiny Experiments&lt;/a&gt; by Anne-Laure La Cunff ✶&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;favorite-movies&quot;&gt;Favorite movies&lt;/h3&gt;
&lt;p&gt;I watched &lt;a href=&quot;https://letterboxd.com/somelaniesaid/diary/&quot;&gt;58 films in 2025&lt;/a&gt;. I’mn noticing it was a pretty decent year for quality horror movies. Some new watches I enjoyed or appreciated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/21-jump-street/&quot;&gt;21 Jump Street&lt;/a&gt;: shocked that I enjoyed this so much&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/challengers/&quot;&gt;Challengers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/do-the-right-thing/&quot;&gt;Do the Right Thing&lt;/a&gt; ✶&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/good-will-hunting/&quot;&gt;Good Will Hunting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/heretic-2024/&quot;&gt;Heretic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/the-holdovers/&quot;&gt;The Holdovers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/a-real-pain/&quot;&gt;A Real Pain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/sinners-2025/&quot;&gt;Sinners&lt;/a&gt; ✶&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/the-substance/&quot;&gt;The Substance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/thelma-2024/&quot;&gt;Thelma&lt;/a&gt; ✶&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/wake-up-dead-man/&quot;&gt;Wake Up Dead Man&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/weapons-2025/&quot;&gt;Weapons&lt;/a&gt; ✶&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/we-live-in-time/&quot;&gt;We Live in Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/the-wild-robot/&quot;&gt;The Wild Robot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;2026-theme&quot;&gt;2026 theme&lt;/h2&gt;
&lt;p&gt;My word for 2026 is “wonder”. I want to show my daughter—and remind myself—that the world is a vibrant, magical place.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Pollyanna-but-earnest vibes incoming…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So much feels uncertain and scary right now, but beauty and connection persist. Each of us always has the power to alleviate suffering and create joy in our communities—no matter what the cynical and cruel politicians would like us to believe. Let’s continue to show up for one another and savor the year ahead. 💫&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Dec 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2512/"/>
      <updated>2025-12-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2512/</id>
      <content type="html">&lt;p&gt;December flew by in the blink of an eye. Baby S “celebrated” her first Christmas. We devoured latkes with friends and played Scattergories with family over FaceTime. I &lt;a href=&quot;https://www.backlogreadathon.com/&quot;&gt;hosted a readathon&lt;/a&gt; for the second year running. I turned a number of years old that makes me bemoan the passage of time…followed by gratitude that I am still here to pass that time and fill it with memories.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-granny-core-quilted-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-granny-core-quilted-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-granny-core-quilted-s.webp&quot; alt=&quot;A baby-sized quilt top lying on cotton batting and then a hardwood floor. The foreground includes 2 pixelated plants in a saturated dark orange, and the background is a very light teal blue. The bottom of the quilt shows a checkerboard pattern in the two colors. The quilting traces the outline of the plants, with a gridded quilting pattern for the checkerboard&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My quilt sandwich ready for a trimmin’&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;I’m pretty far along on my first real quilt, the &lt;a href=&quot;https://daisychainpatterns.com/products/granny-core-quilt-pdf-pattern&quot;&gt;Granny Core Quilt&lt;/a&gt; in the Baby size. I was hoping to finish it before the end of the year, but decided instead not to rush the binding. I just finished the actual quilting of the fabric sandwich the other day.&lt;/p&gt;
&lt;p&gt;I also cast on some pretty Spincycle yarn for &lt;a href=&quot;https://www.ravelry.com/patterns/library/my-bakers-hat&quot;&gt;My Baker’s Hat&lt;/a&gt;, but started feeling wrist pain while working on the brim. I learned Mommy Wrist is A Thing and it’s suuuuper annoying during peak knitting season.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;p&gt;Had some big feelings panning around the &lt;a href=&quot;https://www.aidsmemorial.org/interactive-aids-quilt&quot;&gt;AIDS Memorial Quilt&lt;/a&gt; 💜&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2025/12/you-cant-make-something-accessible-to-everyone.html&quot;&gt;You Can’t Make Something Accessible to Everyone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cassidoo.co/post/vibe-coding-yawn/&quot;&gt;Vibe Coding Is Boring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nolanlawson.com/2025/12/14/the-time-element-should-actually-do-something/&quot;&gt;The Element Should Actually Do Something&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/how-to-choose-which-tasks-to-automate-with-ai/&quot;&gt;How to Choose Which Tasks to Automate With AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dimenovelraven.com/blog/blotting-paper-from-the-past&quot;&gt;Blotting Paper From the Past&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Nov 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2511/"/>
      <updated>2025-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2511/</id>
      <content type="html">&lt;p&gt;We have a two month old now! 😱 She’s started giving us the most beautiful social smiles and it’s the best thing ever.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hand-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hand-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-hand-s.webp&quot; alt=&quot;A tiny baby hand resting on a white burp cloth&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The little fingies!!!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Baby S’s other grandparents (my in-laws) came all the way from India to spend time with her and incidentally experience their first Thanksgiving. S is the child who made them grandparents, so it was extra sweet and special to witness the three of them bonding together.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I’m working on a &lt;a href=&quot;https://daisychainpatterns.com/products/granny-core-quilt-pdf-pattern&quot;&gt;Granny Core Quilt&lt;/a&gt; for my daughter’s room. I’ve got the checkerboard and the first plant pieced so far. I’m already scheming about (and bought fabric for) the next project to hang on her walls.&lt;/li&gt;
&lt;li&gt;Did some scribbles in my teal Art Creations sketchbook. I’m &lt;em&gt;really&lt;/em&gt; not vibing with this particular sketchbook for whatever reason, though I really enjoy using my smaller square Art Creations sketchbook. I keep waffling on whether to put this one down or fill the remaining pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;p&gt;We took my in-laws to Carkeek Park to see the salmon swim upstream to spawn. We were able to spot the chum and coho salmon at their peak, instead of the end of November like last year. That late in the season, there’s more carnage than living fish. 😅&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-carkeek-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-carkeek-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-carkeek-s.webp&quot; alt=&quot;A dark creek scene with autumn trees and a bunch of ferns lining the water&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;On the banks of Piper Creek&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;For years now I’ve been aiming to live more seasonally, and I think this will become a November family tradition. There’s something so special about getting to bear witness to our local ecosystem.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prepped the &lt;a href=&quot;https://www.backlogreadathon.com/&quot;&gt;Backlog Readathon site&lt;/a&gt; and social media profiles for the December 2025 readathon&lt;/li&gt;
&lt;li&gt;Added a backlog of candies and such from Japan Candy Store to my &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;Snacks site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://ishadeed.com/article/field-sizing/&quot;&gt;Use Cases for Field Sizing&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/data-center-ai-boom-us-economy-jobs/&quot;&gt;The AI Data Center Boom Is Warping the US Economy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/the-data-center-resistance-has-arrived/&quot;&gt;The Data Center Resistance Has Arrived&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cassidoo.co/post/non-determinism-ownership/&quot;&gt;Non-Determinism and Ownership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/inside-the-dealmaking-to-make-agentic-shopping-a-reality/&quot;&gt;You Won’t Be Able to Offload Your Holiday Shopping to AI Agents Anytime Soon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smithsonianmag.com/smart-news/some-researchers-are-hiding-secret-messages-in-their-papers-but-theyre-not-meant-for-humans-180986996/&quot;&gt;Some Researchers Are Hiding Secret Messages in Their Papers, but They’re Not Meant for Humans&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/psychology-of-craft&quot;&gt;Psychology of Craft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.themarginalian.org/2025/10/31/hawthorne-life/&quot;&gt;How Not to Waste Your Life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scotthyoung.com/blog/2025/10/06/102-lessons-from-102-books/&quot;&gt;102 Lessons From the 102 Books I Read This Year&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nymag.com/strategist/article/pick-persons-guide-to-pens-for-left-handed-writers.html&quot;&gt;A Picky Person’s Guide to Pens: Lefty Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.plannerfun.com/2025/11/the-power-of-sticky-notes-in-your.html&quot;&gt;The Power of Sticky Notes in Your Planner: Fun, Flexible, and Surprisingly Essential&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art-%26-crafting&quot;&gt;Art &amp;amp; crafting&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dannysessays.com/p/what-it-takes-to-make&quot;&gt;What It Takes to Make&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mygiantstrawberry.com/blog/my-24th-sketchbook&quot;&gt;In and Out of a Sketchbook: Stories, Inspiration and Creativity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.carryology.com/insights/how-a-tsunami-revived-a-global-craft-movement-the-story-of-japans-sashiko-gals/&quot;&gt;How a Tsunami Revived a Global Craft Movement: The Story of Japan’s Sashiko Gals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cnn.com/2025/11/12/science/bees-visual-stimulus-study-scli-intl&quot;&gt;Scientists Now Know That Bees Can Process Time, a First in Insects&lt;/a&gt; (via Eric Bailey)&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2510/"/>
      <updated>2025-11-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2510/</id>
      <content type="html">&lt;p&gt;&lt;a href=&quot;https://melanie-richards.com/blog/learning-log-2509/&quot;&gt;Our first child&lt;/a&gt; turned a month old during October! We are solidly living in the baby time vortex. What hour is it? What day is it? Who knows!&lt;/p&gt;
&lt;p&gt;Apart from the endless eat / 💩 / sleep cycle, I’ve been:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Spending time with my parents, who came to visit their grandchild&lt;/li&gt;
&lt;li&gt;Going on family neighborhood walks to gaze at fall foliage&lt;/li&gt;
&lt;li&gt;Watching all the spooky movies. I was really into &lt;em&gt;Weapons&lt;/em&gt; (2025), and found &lt;em&gt;The Substance&lt;/em&gt; (2024) to be simultaneously disgusting, heartbreaking, visually arresting, and at times humorous???&lt;/li&gt;
&lt;li&gt;Hyperfixating on Obsidian vault as just one part of postpartum nesting. Clean and organize &lt;a href=&quot;https://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html&quot;&gt;all the things&lt;/a&gt;! 💥&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dahlias-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dahlias-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dahlias-s.webp&quot; alt=&quot;A dahlia plant with three heavy blossoms in a gorgeous pinky-peach shade&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The dahlias our green-thumb friend gave us finally bloomed in late September, early October&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://elsevanderberg.substack.com/p/making-sense-of-your-data-with-an&quot;&gt;Making Sense of Your Data With an Evidence Map&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mrkaran.dev/posts/ai-home-cooked-software/&quot;&gt;AI and Home-Cooked Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bradfrost.com/blog/post/the-history-of-themeable-user-interfaces/&quot;&gt;The History of Themeable User Interfaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2025/10/quiet-ui/&quot;&gt;Lots to Shout About in Quiet UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/amazon-explains-how-its-aws-outage-took-down-the-web/&quot;&gt;Amazon Explains How Its AWS Outage Took Down the Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://open.substack.com/pub/austinkleon/p/what-i-do-when-i-finish-a-notebook&quot;&gt;What I do when I finish a notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/i-deleted-my-second-brain&quot;&gt;I Deleted My Second Brain&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/10/romain-veillon-secret-gardens/&quot;&gt;Untamed Flora Subsumes Abandoned Greenhouses in Romain Veillon’s ‘Secret Gardens’&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/10/pure-street-photography-awards-2025/&quot;&gt;Blink and You’d Miss the Moments Topping This Year’s Pure Street Photography Awards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/10/renee-condo-bead-sculptures/&quot;&gt;Vibrant Beaded Compositions by Renée Condo Convey the Mi’gmaq Spirit of Empathy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/10/tiny-art-show-gallery-miniature-art-exhibitions/&quot;&gt;Tiny Art Show Repurposes a Disused Stairwell Into a 1:6-Scale Gallery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;fiber-arts&quot;&gt;Fiber arts&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://ctrk.klclick.com/l/01K6NSVSYJ2Q8FSJTPWFD2RGT8_6&quot;&gt;Montreal Jewish Museum Reopens Century-Old Sewing Shop as a Pop-Up Exhibit&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.joanwestenberg.com/p/you-are-insignificant-that-s-a-good-thing&quot;&gt;You Are Insignificant. That&#39;s a Good Thing.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2025/07/26/books/man-died-book-list-thousands.html&quot;&gt;He Read (at Least) 3,599 Books in His Lifetime. Now Anyone Can See His List.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.motherjones.com/politics/2025/10/indigenous-nations-plan-tariff-free-trade-corridor-across-us-canada-border/&quot;&gt;Indigenous Nations Plan Tariff-Free Trade Corridor Across US-Canada Border&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/future/article/20250923-the-3000-year-old-story-hidden-in-your-keyboard&quot;&gt;The 3,000-Year-Old Story Hidden in the @ Sign&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Sep 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2509/"/>
      <updated>2025-10-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2509/</id>
      <content type="html">&lt;p&gt;My husband Rahul and I are pleased to announce our best &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2509/#beta-note&quot; id=&quot;beta-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;beta&lt;/a&gt; (or shall I say beti?) launch yet! Our first child was born a few weeks early, in mid-September, and we are totally smitten with her 🥰&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baby-s.webp&quot; alt=&quot;A little baby snuggled up in a hooded towel with her hands curled up next to her face. Light streams into view between the bars of the crib.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;That is pretty much everything for this Learning Log! Keeping a tiny human safe and healthy and fed and reasonably happy is a whole-brain affair. 💕&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;beta-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;A rare triple entendre: beta in the software release sense; baby S is part of Gen Beta; and “beta” means “child” in Hindi (often used in an endearing way) &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2509/#beta-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2508/"/>
      <updated>2025-09-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2508/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-socks-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-socks-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-socks-s.webp&quot; alt=&quot;A pair of socks in variegated yarn of cream, pinks, and lime greens. Around the cuffs is a dark green flower motif.&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;Finished knitting my second pair of socks ever, &lt;a href=&quot;https://making.melanie-richards.com/flower-power-socks/&quot;&gt;ones with flowers around the cuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Finally learned how to use my yarn ball winder and swift, which was actually pretty easy, fast, and fun&lt;/li&gt;
&lt;li&gt;Selected a color palette, ordered and washed fabric for the &lt;a href=&quot;https://daisychainpatterns.com/products/granny-core-quilt-pdf-pattern&quot;&gt;Granny Core Quilt&lt;/a&gt; in the baby size&lt;/li&gt;
&lt;li&gt;Attended my first live session of &lt;a href=&quot;https://www.patreon.com/c/sophiemcpike/posts&quot;&gt;Sophie McPike’s Scribble Brigade&lt;/a&gt; and it was lovely 💖 Parallel play makes everything more fun&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;p&gt;Attended my second &lt;a href=&quot;https://flockfiberfestival.com/&quot;&gt;Fiber Flock Fest&lt;/a&gt; with a friend! The vibes are so good: everyone’s just happy to be enjoying their hobbies together, and I love seeing folks proudly parading around in their me-made knitwear.&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flock-tote-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flock-tote-s.webp&quot; alt=&quot;A cream canvas tote bag with a black webbing handle. The Fiber Flock Festival logo is displayed in a large circle on the side.&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flock-sheeps-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flock-sheeps-s.webp&quot; alt=&quot;Two small valais blacknose sheep in a pen filled with hay. A sign says their names are Estella and Endora. They have black faces and cream wooly fleece.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Acquired a Switch 2 and promptly kicked my husband’s butt in Mario Kart World&lt;/li&gt;
&lt;li&gt;Attended a wedding at Thornewood Castle, one of the filming locations for &lt;em&gt;The Haunting of Bly Manor&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Went down a rabbit hole of Obsidian nerdery&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;p&gt;Added “Martyr!” by Kaveh Akbar to &lt;a href=&quot;https://littapes.melanie-richards.com/lit-tape/martyr/&quot;&gt;Lit Tapes&lt;/a&gt; and &lt;a href=&quot;https://highlights.melanie-richards.com/book/martyr/&quot;&gt;Highlights&lt;/a&gt; (in the latter case, contains spoilers)&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.alltext.nyc/&quot;&gt;All Text in NYC&lt;/a&gt;: search text in street signs, via Eric Bailey&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://geoffgraham.me/guestbook/&quot;&gt;Love a good ol’ fashioned guestbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pudding.cool/2025/08/onions/&quot;&gt;Dicing an onion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thelast6000.org/&quot;&gt;The Last 6000&lt;/a&gt;: a civic campaign to locate Seattle&#39;s remaining majestic trees&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@gibsonbiddle/2-from-dhm-to-product-strategy-a3781b2aadca&quot;&gt;From DHM to Product Strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://linear.app/blog/why-is-quality-so-rare&quot;&gt;Why Is Quality So Rare?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.svpg.com/product-leadership-archetypes/&quot;&gt;Product Leadership Archetypes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/a-closer-look-at-axe-mcp-server/&quot;&gt;A Closer Look at Axe MCP Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/2025/07/designing-better-ux-left-handed-people/&quot;&gt;Designing Better UX for Left-Handed People&lt;/a&gt;: I don’t know why it surprises me to stumble across design articles that account for my lived reality 🤷‍♀&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.the-independent.com/tech/bots-internet-traffic-ai-chatgpt-b2733450.html&quot;&gt;Bots Now Make Up the Majority of All Internet Traffic&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2025/07/sci-fi-rectangles-with-corner-shape/&quot;&gt;Easy Sci-Fi Rectangles With Corner-Shape&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/172117/ef7e9370b1&quot;&gt;One Simple Trick to Make Your Screenshots 80% Smaller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/172697/ef7e9370b1&quot;&gt;Publishers Cry Foul Over W3C Crusade to Rid Web of Third-Party Cookies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fredrocha.net/2025/05/21/small-web-is-beautiful/&quot;&gt;Small (Web) Is Beautiful&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/poisoned-document-could-leak-secret-data-chatgpt/&quot;&gt;A Single Poisoned Document Could Leak ‘Secret’ Data via ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/stanford-research-ai-replace-jobs-young-workers/&quot;&gt;AI Is Eliminating Jobs for Younger Workers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/anthropic-settles-copyright-lawsuit-authors/&quot;&gt;Anthropic Settles High-Profile AI Copyright Lawsuit Brought by Book Authors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/gpt-5-coding-review-software-engineering/&quot;&gt;Developers Say GPT-5 Is a Mixed Bag&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.artificialintelligence-news.com/news/generative-ai-trends-2025-llms-data-scaling-enterprise-adoption/&quot;&gt;Generative AI Trends 2025: LLMs, Data Scaling &amp;amp; Enterprise Adoption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.weforum.org/stories/2025/08/ai-jobs-replacement-data-careers/&quot;&gt;Why AI Is Replacing Some Jobs Faster Than Others&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/researchers-leave-meta-superintelligence-labs-openai/&quot;&gt;Researchers Are Already Leaving Meta’s New Superintelligence Lab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2025/08/25/reader-question-personal-productivity-analysis.html&quot;&gt;Reader Question 10: Personal Productivity Analysis Paralysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wonderpens.ca/blogs/uncategorized/travel-journalling&quot;&gt;Travel Journalling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.archerandolive.com/blogs/news/tips-and-tricks-to-cover-up-mistakes-in-your-bullet-journal&quot;&gt;Tips and Tricks to Cover Up Mistakes in Your Bullet Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[Creative Listing: The New Best Way to Play AND Journal?!](&lt;a href=&quot;https://www.archerandolive.com/blogs/news/creative-listing-the-new-best-way-to-play-and-journal&quot;&gt;https://www.archerandolive.com/blogs/news/creative-listing-the-new-best-way-to-play-and-journal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art-%26-crafts&quot;&gt;Art &amp;amp; crafts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2025/08/pictures-alone-dont-aways-communicate.html&quot;&gt;Combining Pictures With Text to Communicate the Story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/08/lucy-sparrow-bourdon-street-chippy/&quot;&gt;In ‘Bourdon Street Chippy,’ Lucy Sparrow Celebrates a British Culinary Institution in Felt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thesaraproject.com/2025/08/04/summer-sewing-traditions/&quot;&gt;Summer Sewing Traditions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.seattletimes.com/seattle-news/hot-rat-summer-a-mysterious-cal-anderson-mosaic-rallies-seattles-trans-community/&quot;&gt;‘Hot Rat Summer:’ a Mysterious Cal Anderson Mosaic Rallies Seattle’s Trans Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tomshardware.com/pc-components/storage/yes-you-can-store-data-on-a-bird-enthusiast-converts-png-to-bird-shaped-waveform-teaches-young-starling-to-recall-file-at-up-to-2mb-s&quot;&gt;Yes, You Can Store Data on a Bird — Enthusiast Converts PNG to Bird-Shaped Waveform, Teaches Young Starling to Recall File at Up to 2mb/S&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Speeding up my Learning Log process</title>
      <link href="https://melanie-richards.com/blog/speeding-up-learning-logs/"/>
      <updated>2025-08-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/speeding-up-learning-logs/</id>
      <content type="html">&lt;p&gt;Dave’s blog post &lt;a href=&quot;https://daverupert.com/2025/05/obsidian-link-aggregator/&quot;&gt;“How to make a Link Aggregator in Obsidian”&lt;/a&gt; inspired me to finally make my Learning Log process a little smarter, starting with the May 2025 log.&lt;/p&gt;
&lt;h2 id=&quot;what-i-had-been-doing&quot;&gt;What I had been doing&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Automatically syncing my Reader by Readwise highlights into Obsidian&lt;/li&gt;
&lt;li&gt;Going through the new articles manually and adding them to my blog post Markdown (also written in Obsidian)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Obsidian enables you to customize to the nth degree, so I figured there was a better way to do this but hadn’t made it a priority. Dave’s post showed me I could do this pretty quickly!&lt;/p&gt;
&lt;h2 id=&quot;enter-dataview-plugin&quot;&gt;Enter Dataview plugin&lt;/h2&gt;
&lt;p&gt;I’d already installed the &lt;a href=&quot;https://blacksmithgu.github.io/obsidian-dataview/&quot;&gt;Dataview plugin&lt;/a&gt; for Obsidian for one reason or another and ended up writing a DQL query very similar to Dave’s:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;LIST map(rows, (r) =&amp;gt; elink(regexreplace(r.file.frontmatter.url, &amp;quot;&#92;&#92;?utm_.*&amp;quot;, &amp;quot;&amp;quot;), r.title))
FROM &amp;quot;Resources/Readwise/Articles&amp;quot;
WHERE file.frontmatter.highlightedDate &amp;gt;= &amp;quot;2025-08-01&amp;quot;
	AND file.frontmatter.highlightedDate &amp;lt; &amp;quot;2025-09-01&amp;quot;
	AND file.frontmatter.url
FLATTEN file.tags AS tag
GROUP BY tag
SORT file.frontmatter.highlightedDate DESC
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What this query does is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pull all the articles I highlighted in a given month from the directory where I’ve synced my Readwise articles. It filters out any articles that don’t have a URL in the frontmatter, i.e. email newsletters.&lt;/li&gt;
&lt;li&gt;Group the linked article titles by the tag I applied in Reader.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I copy and paste this query into my blog post draft, update the tag groupings to be headers, and hand-curate the list a little further. I could use Dataview JS to structure this in a fancier way and skip some of this manual bit, but I find it’s worth slowing down at this curation stage.&lt;/p&gt;
&lt;p&gt;You’ll notice I do have dates hardcoded in here as well. As we all know, the hardest problems in computer science are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;People problems&lt;/li&gt;
&lt;li&gt;Naming things&lt;/li&gt;
&lt;li&gt;Wrangling dates&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I kept getting weird errors and issues with data handling, so decided to just throw up my hands and enter the dates manually. I only have to update them once a month, and so &lt;a href=&quot;https://xkcd.com/1205/&quot;&gt;this XKCD comic&lt;/a&gt; seemed apt.&lt;/p&gt;
&lt;p&gt;In any case, this was a nice little quality of life update for my blogging process, and I’m now playing with all things Dataview in my Obsidian notes!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jul 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2507/"/>
      <updated>2025-08-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2507/</id>
      <content type="html">&lt;picture class=&quot;u-dark-media&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/interactions-with-gsap-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/interactions-with-gsap-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/interactions-with-gsap-s.jpg&quot; alt=&quot;A multi-step animation visually represented on a horizontal timeline within the Webflow design editor&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The big work win for July was that my team at Webflow shipped &lt;a href=&quot;https://webflow.com/blog/webflow-interactions-with-gsap&quot;&gt;Interactions with GSAP&lt;/a&gt;! 💚 This launch lays the foundation for the next generation of Webflow Interactions, which will unlock visual-first animation for everyone. There’s so much yet to come with how we’ll bring the GSAP library’s superpowers into the visual builder, but I’m proud of what the team accomplished and excited for what’s ahead.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hamster-mug-rugs-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hamster-mug-rugs-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hamster-mug-rugs-s.webp&quot; alt=&quot;Two 6x9” quilted mug rugs, with stitch lines in a diamond pattern. The cream fabric features hamsters shaped like onigiri and holding items that are usually paired with the rice balls, such as shiso leaves, seaweed, and octopus&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-sock-progress-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-sock-progress-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flower-sock-progress-s.webp&quot; alt=&quot;A sock still on a pair or circular knitting needles, being knitted from the cuff down. There’s a flower motif around the cuff in a deep teal color, and the body of the sock is in a variegated yarn of pinks, creams, yellows, and springy greens.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;I’m trying a new post format on my crafting blog, i.e. a monthly roundup of what I’m working on. &lt;a href=&quot;https://making.melanie-richards.com/made-in-july-2025/&quot;&gt;Made in July 2025&lt;/a&gt; covers a couple mug rugs, progress on a second sock, and fairly minimal sketchbooking time.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Family came into town to throw my husband and I a baby shower: we’re welcoming our first child in October! 🎃 Pregnancy has been such a singular life experience and I’m nervous-excited for what’s to come.&lt;/li&gt;
&lt;li&gt;It happened to be very-low tide while they were here in Seattle, so we took everyone to a beach to go tidepooling! 🐚 We saw a weird-looking algae called Turkish Towel, a starfish, red rock crabs, marine worms, tons of gulls and dragonflies, and some shellfish. For many in our group, it was their first time being spit at by a buried clam or geoduck.&lt;/li&gt;
&lt;li&gt;At the tail end of July we went to Climate Pledge Arena (always Key Arena in my heart) to see Death Cab for Cutie on their Plans 20th Anniversary tour. Despite Death Cab hailing from Bellingham / Seattle, I have &lt;em&gt;never&lt;/em&gt; gotten the chance to see them live—so it was pretty special to catch them on such a meaningful tour.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bee-lavender-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bee-lavender-s.webp&quot; alt=&quot;A fat bumblebee hovering over lush purple lavender in the golden hour light&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-starfish-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-starfish-s.webp&quot; alt=&quot;A bumpy orange starfish shining in shallow tidepool water, curled around some seaweed in a tidepool&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;h3 id=&quot;lit-tapes&quot;&gt;&lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Added some new book playlists:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://littapes.melanie-richards.com/lit-tape/hell-bent/&quot;&gt;“Hell Bent” by Leigh Bardugo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://littapes.melanie-richards.com/lit-tape/chlorine/&quot;&gt;“Chlorine” by Jade Song&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;p&gt;A lesson I’ve been re-learning—and shared with a friend—is that it doesn’t serve me well to put any goals or “challenges” around my (book) reading, even fun ones that are exciting to me at first. Reading is a hobby I enjoy for entertainment, learning, and casual self-improvement; I am also definitely a mood reader. I don’t need pressure around cadence, volume, or specific materials.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.squarespace.com/blog/competitive-analysis-research&quot;&gt;How to Do Competitor Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jackiebo.medium.com/do-try-consider-how-we-give-product-feedback-at-asana-db9bc754cc4a&quot;&gt;Do, Try, Consider — How we give product feedback at Asana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it-doesnt-need.html&quot;&gt;If Your Product Is Great, It Doesn&#39;t Need to Be Good.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/dns-records-hidden-malicious-code/&quot;&gt;Hackers Are Finding New Ways to Hide Malware in DNS Records&lt;/a&gt;: cool new anxiety just dropped&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brucelawson.co.uk/2025/cma-designates-google-and-apple-proposes-measures/&quot;&gt;CMA Designates Google and Apple, Proposes Measures&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/grok-antisemitic-posts-x-xai/&quot;&gt;Grok Is Spewing Antisemitic Garbage on X&lt;/a&gt;: here is my shocked Pikachu face&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/new-research-energy-electricity-artificial-intelligence-ai/&quot;&gt;AI Is Eating Data Center Power Demand—and It’s Only Getting Worse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/ai-carbon-emissions-energy-unknown-mystery-research/&quot;&gt;How Much Energy Does AI Use? The People Who Know Aren’t Saying&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/cursor-releases-new-ai-tool-for-debugging-code/&quot;&gt;Cursor’s New Bugbot Is Designed to Save Vibe Coders From Themselves&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://finance.yahoo.com/news/ai-mania-is-worse-than-1999s-tech-bubble-apollos-top-economist-warns-161530505.html&quot;&gt;AI Mania Is Worse Than 1999&#39;s Tech Bubble, Apollo&#39;s Top Economist Warns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/flexolmo-ai-model-lets-data-owners-take-control/&quot;&gt;A New Kind of AI Model Lets Data Owners Take Control&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2025/07/23/impact-of-ai-on-tech-content-creators/&quot;&gt;Impact of AI on Tech Content Creators&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://undark.org/2025/06/24/mental-illness-ketogenic-diet/&quot;&gt;A Possible Connection Between Mental Illness and Diet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebalancednutritionist.com/balanced-snacks/&quot;&gt;Balanced Snacks to Fuel Your Health Goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jamesclear.com/ivy-lee&quot;&gt;The Ivy Lee Method: The Daily Routine Experts Recommend for Peak Productivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jamesclear.com/buffett-focus&quot;&gt;Warren Buffett’s “2 List” Strategy: How to Maximize Your Focus and Master Your Priorities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tina-koyama.blogspot.com/2025/07/but-i-might-need-it-how-to-downsize.html&quot;&gt;“But I Might Need It”: How to Downsize Your Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wellappointeddesk.com/2025/07/the-mad-scientist-method-of-mixing-your-own-fountain-pen-ink-colors/&quot;&gt;The Mad Scientist Method of Mixing Your Own Fountain Pen Ink Colors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://club.drawtogether.studio/p/netflix-and-draw-baby&quot;&gt;Netflix and Draw, Baby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.creativeboom.com/tips/the-power-of-doing-nothing-and-why-it-helps-your-creative-work/&quot;&gt;The Power of Doing Nothing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itsnicethat.com/features/michael-bierut-the-art-of-dailiness-advice-education-creative-industry-160725&quot;&gt;The Art of Dailiness, by Michael Bierut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spoon-tamago.com/erica-ward-tokyo/&quot;&gt;In a New Pop-Up Exhibition, Erica Ward Presents Tokyo as a Living, Breathing Organism&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jun 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2506/"/>
      <updated>2025-07-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2506/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;p&gt;I completed two sewing projects in June:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My first knit dress, a mild “hack” of the &lt;a href=&quot;https://blog.closetcorepatterns.com/free-t-shirt-pattern-meet-the-core-t-shirt-our-first-free-garment-pattern/&quot;&gt;Closet Core T-Shirt pattern&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A canvas project bag for my knitting, made with a fabric of &lt;a href=&quot;https://stonemountainfabric.com/product/ko-yga-79040-2a/&quot;&gt;hamsters shaped like onigiri&lt;/a&gt; (!!!)&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/onigiri-hamsters-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/onigiri-hamsters-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/onigiri-hamsters-s.webp&quot; alt=&quot;A cream fabric with a pattern of illustrated hamsters in triangular shapes, like onigiri. They&#39;re holding up things like a shiso leaf or a strip of nori.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Photo of the fabric courtesy of Stonemountain &amp; Daughter&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%F0%9F%A7%AA-tiny-experiments&quot;&gt;🧪 Tiny experiments&lt;/h2&gt;
&lt;p&gt;This month I read and appreciated &lt;a href=&quot;https://bookshop.org/a/15644/9780593715130&quot;&gt;“Tiny Experiments” by Anne-Laure Le Cunff&lt;/a&gt;. The author proposes that instead of setting lofty goals for yourself, adopt a scientist’s mindset and run “tiny experiments” designed to try out areas that interest you or may benefit your life. Chapters that I especially landed for me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;“The Power of Intentional Imperfection”:&lt;/strong&gt; sustainable excellence &amp;gt; short-term perfection. A life lesson I’m repeatedly learning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“How to Dance with Disruption”:&lt;/strong&gt; I’ve noticed that in the past few years, all personal-growth-type books that resonate with me touch on Buddhist mindfulness tenets. This chapter was a good reminder that attempting to control outcomes leads to suffering (hello anxiety). Instead, accept your feelings without judgement and consider what the situation asks of you to meet it constructively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“Life Beyond Legacy”:&lt;/strong&gt; this chapter was about living “generatively” instead of focusing on the scale of some future legacy. The point was to follow your curiosity to make a positive impact on those around you, here and now. As someone who loves their squiggly-line personal journey and meandering interests, this resonated quite strongly with me.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first experiment I’m starting out with is to hold “Power Hours” a la Gretchen Rubin every Monday evening. The point is to burn down personal admin tasks that aren’t particularly time-sensitive but tend to pile up. So far so good: once you get started it’s easy to keep going and take that weight off your shoulders!&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;p&gt;Late spring park days! Had a Picnic in the Park addition of our book club, and a birthday-with-crafts hang. 🌳&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Was curious about the top spoken languages in my city (Seattle, WA) and found &lt;a href=&quot;https://www.seattle.gov/documents/Departments/OIRA/2023%20Seattle%20Top%20Languages%20Report.pdf&quot;&gt;this report with guidance for specific public services&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/5hG9V2JoWKI?si=FJnLVBDO7wBjUloL&quot;&gt;Video: How Ghibli Makes Everything Feel Magical&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;p&gt;Everything is AI now… 🙃&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mindtheproduct.com/what-ai-cant-and-shouldnt-do-for-product-managers/&quot;&gt;What AI Can’t—and Shouldn’t—do for Product Managers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://personalmath.substack.com/p/yes-you-will-lose-your-job-to-ai&quot;&gt;Yes, You Will Lose Your Job to AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oidaisdes.org/aria-notify-first-look.en/&quot;&gt;Make Screen Readers Talk With the ARIA Notify API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/blog/up-and-coming-aria/&quot;&gt;Up and Coming ARIA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2025/05/obsidian-link-aggregator/&quot;&gt;How to Make a Link Aggregator in Obsidian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/168622/ef7e9370b1&quot;&gt;Polishing Your Typography With Line Height Units&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jim-nielsen.com/2024/sanding-ui/&quot;&gt;Sanding UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/169489/ef7e9370b1&quot;&gt;What&#39;s New in Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/double-click-what-does-mcp-mean-for-agentic-ai/&quot;&gt;Double Click: What Does MCP Mean for Agentic AI?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.entrepreneur.com/business-news/new-york-requiring-companies-to-reveal-if-ai-caused-layoffs/493267&quot;&gt;Is AI the Reason for Your Layoff? New York Becomes the First State to Require Companies to Disclose if So. It&#39;s the First Official Statewide Move Towards Understanding AI&#39;s Effect on the Labor Market.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://every.to/thesis/knowledge-work-is-dying-here-s-what-comes-next/&quot;&gt;Knowledge Work Is Dying—Here’s What Comes Next&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/169494/ef7e9370b1&quot;&gt;MCP Is the Coming of Web 2.0 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/meta-scores-victory-ai-copyright-case/&quot;&gt;Meta Wins Blockbuster AI Copyright Case—but There’s a Catch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.joanwestenberg.com/p/i-deleted-my-second-brain&quot;&gt;I Deleted My Second Brain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://goodanger.substack.com/p/on-whether-having-a-baby-ruins-your&quot;&gt;On Whether Having a Baby Ruins Your Life or Not&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bydylanm.com/projects/what-i-learned-about-my-style-during-a-month-of-no-art-making/&quot;&gt;What I Learned About My Style, the Art I Admire, and the Space Between Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itsnicethat.com/articles/the-view-from-tokyo-irasutoya-illustration-130525&quot;&gt;Irasutoya: The Best-Known Illustrator in Japan, That You’ve Probably Never Heard Of&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://geriinstitches.com/pona-jacket-pattern-review-how-i-stitched-sashiko-on-every-inch-of-it/&quot;&gt;Pona Jacket Pattern Review &amp;amp; How I Stitched Sashiko on Every Inch of It&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Opportunity-Solution Alignment</title>
      <link href="https://melanie-richards.com/blog/opportunity-solution-alignment/"/>
      <updated>2025-06-25T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/opportunity-solution-alignment/</id>
      <content type="html">&lt;p&gt;When I first got into product management, the software development process resembled a Niagara-sized waterfall approach. This may be a familiar story to you: the Product Manager (PM) talks to customers, puts together a thorough product spec, gets that in front of cross-functional peers and stakeholders for review, and so on.&lt;/p&gt;
&lt;p&gt;Throwing a fully-featured, bajillion-page spec over the wall doesn’t feel good as a PM, nor as many of said spec’s recipients. I’m so glad that the industry has in many ways embraced a &lt;a href=&quot;https://www.producttalk.org/2021/05/product-trio/&quot;&gt;product triad&lt;/a&gt; methodology, where Product, Design, and Engineering leads are thought partners in tight collaboration from day one. For product teams who similarly crave a more collaborative working style, I recommend using an Opportunity-Solution Alignment (OSA) exercise to transition from early customer discovery to solution exploration.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-osa.png&quot; alt=&quot;Opportunity-Solution Alignment (OSA) Exercise with a graphic of a matrix that includes squares for stickies&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-is-an-osa%3F&quot;&gt;What is an OSA?&lt;/h2&gt;
&lt;p&gt;An Opportunity-Solution Alignment exercise is what it says on the tin: an opportunity to come together as a cross-functional team to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Align on a deep, shared understanding of the customer opportunities the team intends to solve for in an upcoming investment—and why those are important to solve for now&lt;/li&gt;
&lt;li&gt;Leverage everyone’s unique perspective to dream up compelling potential solutions to these opportunities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/in/matthew-rinehart/&quot;&gt;Matt Rinehart&lt;/a&gt; first introduced this particular format to the pillar team we both contributed to at Netlify. Fun fact: these exercises were called “Inceptions” at his previous org, but too many folks in had seen the movie &lt;a href=&quot;https://letterboxd.com/film/inception/&quot;&gt;&lt;em&gt;Inception&lt;/em&gt;&lt;/a&gt; to let that name slide. 😉 Whatever you may call these, or whatever format they take, the most important concept is that you &lt;strong&gt;collaborate as a cross-functional team as early as possible in discovery phases.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;why-use-an-osa%3F&quot;&gt;Why use an OSA?&lt;/h2&gt;
&lt;p&gt;Teamwork makes the dream work! An OSA leverages the entire team’s creativity and unique perspectives to unearth compelling solutions to important customer problems. An engineer might yes-and a designer’s idea with a simple and easily-achieved solution proposal. A product marketing manager could flag a fresh insight from the market.&lt;/p&gt;
&lt;p&gt;An OSA also creates a stronger sense of camaraderie and shared ownership. Team members that have a stake in the early direction feel a sense of pride that can translate into customer empathy, attention to quality, a willingness to experiment, and effective collaboration. The early alignment you do as a team enables you to accelerate the pace of decisions throughout the product development lifecycle.&lt;/p&gt;
&lt;h2 id=&quot;when-to-use-an-osa&quot;&gt;When to use an OSA&lt;/h2&gt;
&lt;p&gt;Let’s suppose you work at a SaaS company which builds software enabling folks to create and sell their own &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/opportunity-solution-alignment/#plushies-note&quot; id=&quot;plushies-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;plushies&lt;/a&gt;. Your discrete shippable customer value is delivered as “Releases” organized into a multi-release thematic “Initiative”, which lasts 6-12 months. In between larger Releases, you also ship quality of life improvements and bug fixes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Releases&lt;/strong&gt; are the best scope of work to explore with OSAs. They’re substantive enough that you’ll have different pathways to explore, without getting totally lost in the weeds.&lt;/li&gt;
&lt;li&gt;⚠ &lt;strong&gt;Initiatives&lt;/strong&gt; can be explored with an OSA, but you’ll need to structure them more carefully to keep the field of opportunity manageable. You may want to run an OSA at the beginning of an initiative, and later on for a specific release.&lt;/li&gt;
&lt;li&gt;⚠ &lt;strong&gt;Quality of life (QoL) updates&lt;/strong&gt; are often small enough that they don’t warrant an OSA. However, I have run one for a more substantial QoL where there were multiple valid but mutually-exclusive ways to address the customer problem. In this case, just make the OSA shorter in length and with a smaller guest list.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Bugs&lt;/strong&gt; can be fixed quickly without this ceremony.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, let’s get into tactics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/opportunity-solution-alignment/#getting-set-up&quot;&gt;Getting set up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/opportunity-solution-alignment/#how-to-run-an-osa&quot;&gt;How to run an OSA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/opportunity-solution-alignment/#outcomes-and-next-steps&quot;&gt;Outcomes and next steps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;getting-set-up&quot;&gt;Getting set up&lt;/h2&gt;
&lt;p&gt;First, take some time to set the context for your team:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Meet 1:1 with any key folks you need to get on board, such as an Engineering Manager, who sets the tone for their direct reports. Share what you’d like to do with the team, and how it benefits these stakeholders.&lt;/li&gt;
&lt;li&gt;Create pre-reads for participants. This includes prepping &lt;a href=&quot;https://www.figma.com/community/file/1519841138356895747&quot;&gt;the OSA materials&lt;/a&gt;, as well as a Loom walkthrough or similar introduction to the concept.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;securing-buy-in&quot;&gt;Securing buy-in&lt;/h3&gt;
&lt;p&gt;If you work in an organization where some functions aren’t accustomed to this type of early discovery and ideation, you’ll generally get one of two responses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“This is awesome, let’s do it!” 🙌&lt;/li&gt;
&lt;li&gt;“I don’t know, does this mean {function} is responsible for coming up with the solutions? Isn’t that the PM’s job?” These are fair questions!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My experience has been that skeptical peers tend to love the approach once they try their first OSA: it becomes tangibly obvious that they have a seat at the table, and that their perspective matters. Beforehand, I find it’s helpful to frame the exercise as a pilot—something to try out. You could assure your peer that the PM is ultimately responsible for the outcomes of the OSA, but that you value everyone’s point of view and believe the team can generate some creative solutions together.&lt;/p&gt;
&lt;h3 id=&quot;assembling-your-team&quot;&gt;Assembling your team&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;At a minimum, an OSA should include the core product trio: product manager, designer, engineering manager, and any tech leads for the project. Ideally, invite other key contributors, such as other engineers who will work on this project.&lt;/li&gt;
&lt;li&gt;You can then get creative with the invite list! At one or another OSA, I’ve invited product marketing managers, solution/sales engineers, technical support pros, docs writers, data scientists, researchers, stakeholders, and so on. Anyone who you know to have unique perspective or insight on the opportunity space could be included.&lt;/li&gt;
&lt;li&gt;Be careful to keep the list manageable though! Probably &lt;strong&gt;~10&lt;/strong&gt; people is a reasonable maximum.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;making-the-time&quot;&gt;Making the time&lt;/h3&gt;
&lt;p&gt;At 2–3 hours, an OSA can be a notable time commitment. There are a few tactics you can employ to make this a lighter lift:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trial an OSA for your more impactful and nebulous Releases. Generally, a Release kickoff likely happens infrequently enough that this time commitment isn’t so disruptive anyway.&lt;/li&gt;
&lt;li&gt;Break the OSA up into smaller sessions (in my template I suggest &lt;a href=&quot;https://www.figma.com/community/file/1519841138356895747&quot;&gt;two sessions&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Reduce the time spent on a particular step. The estimates in the template are on the longer side.&lt;/li&gt;
&lt;li&gt;Take advantage of async time to share opportunity context or request input.&lt;/li&gt;
&lt;li&gt;When scheduling an OSA, optimize for a smaller handful of required participants’ calendars. You could consider using time slots for existing ceremonies (such as a team meeting).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ultimately though, a couple hours of alignment early in a project can save you exponential amounts of time spinning your wheels and creating team alignment throughout the software development lifecycle. That’s a worthwhile investment in your shared success.&lt;/p&gt;
&lt;h2 id=&quot;how-to-run-an-osa&quot;&gt;How to run an OSA&lt;/h2&gt;
&lt;p&gt;First off, I’ve created a &lt;a href=&quot;https://www.figma.com/community/file/1519841138356895747&quot;&gt;Figma Community Template for OSAs&lt;/a&gt;, which you are welcome to use for these brainstorming exercises!&lt;/p&gt;
&lt;h3 id=&quot;session-1&quot;&gt;Session 1&lt;/h3&gt;
&lt;h4 id=&quot;step-1%3A-opportunity-alignment&quot;&gt;Step 1: Opportunity Alignment&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-opp-alignment.png&quot; alt=&quot;Sections in a Figjam file for customer problems and opportunities, as well as first principles&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Before the OSA begins, the driver—often the PM—should gather context on the customer opportunity space. The materials you create are specific to the problem space, but should include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The customer problem or opportunity set&lt;/li&gt;
&lt;li&gt;Who the target customer segment is, what we know about them&lt;/li&gt;
&lt;li&gt;Why this is important to solve now&lt;/li&gt;
&lt;li&gt;Non-goals, including customer opportunities that aren’t critical to solve for now&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You could consider notes on the frequency, severity, or relative priority of the various opportunities. Include a summary of supporting user research or data insights.&lt;/p&gt;
&lt;p&gt;Share these materials as a pre-read. Walk through them together live and prompt for questions, additional insights, and discussion. From this step, everyone should have a good sense of what you’re aiming to achieve.&lt;/p&gt;
&lt;h4 id=&quot;step-2%3A-solution-ideation&quot;&gt;Step 2: Solution Ideation&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-solution-ideation.png&quot; alt=&quot;Section in a Figjam file for generating solution ideas&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Set a timer for 15 minutes and ask participants to generate some &lt;strong&gt;customer-facing&lt;/strong&gt; solutions to the aligned-upon customer opportunity set. Encourage folks not to worry about implementation details yet—though these stickies will almost certainly creep into the brainstormed solutions!&lt;/p&gt;
&lt;h4 id=&quot;step-3%3A-solution-grouping&quot;&gt;Step 3: Solution Grouping&lt;/h4&gt;
&lt;p&gt;Once brainstorming time is up, ask participants to quietly group the ideas into “like” groups. Folks can come off mic to ask each other clarifying questions. In the past I’ve done this part live with the group, but have found we can do it faster if we all chip in rather than going sticky by sticky.&lt;/p&gt;
&lt;p&gt;That’s it for session 1! You can encourage participants to add more stickies in between sessions if another idea pops up in the meantime.&lt;/p&gt;
&lt;h3 id=&quot;session-2&quot;&gt;Session 2&lt;/h3&gt;
&lt;h4 id=&quot;step-4%3A-solution-alignment-%E2%80%94-value&quot;&gt;Step 4: Solution Alignment — Value&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-solution-alignment.png&quot; alt=&quot;A matrix in a Figjam file for alignment of solutions by high-low value and low-high effort. The quadrants are labeled &amp;quot;Do it now&amp;quot;, &amp;quot;Do it next&amp;quot;, &amp;quot;Do it later&amp;quot;, &amp;quot;Don&#39;t do it (for now)&amp;quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As a team, place your sticky groups vertically on a matrix, from high to low value. This should be an objective discussion: how well do you hypothesize the idea would solve the customer opportunity in a delightful way? Highest impact on the opportunity = highest value. Feasibility or level of effort is not a factor now—we’ll get to that next.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remind participants there are no bad ideas. We’re assessing fitness of the solution to the aligned opportunities—not critiquing individuals.&lt;/li&gt;
&lt;li&gt;Some ideas may be intriguing but wouldn’t have direct impact on the opportunity set. Place these in the parking lot, along with implementation details, product fundamentals, etc.&lt;/li&gt;
&lt;li&gt;There should be no stickies at equal height, or on the horizontal axis. Be honest about their relative priority! You may find that you move some stickies up or down as you go through this exercise.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;step-5%3A-solution-alignment-%E2%80%94-effort&quot;&gt;Step 5: Solution Alignment — Effort&lt;/h4&gt;
&lt;p&gt;As a team, move your sticky groups horizontally on the matrix, from low to high effort.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remind the team these are &lt;strong&gt;very rough&lt;/strong&gt; estimates—we are not asking for ETAs, and we’ll expect actual effort to change based on additional discovery work.&lt;/li&gt;
&lt;li&gt;Effort is again relative. In &lt;a href=&quot;https://www.figma.com/community/file/1519841138356895747&quot;&gt;the template&lt;/a&gt;, I’ve labeled the lowest effort as “a person-day or less”, and highest effort as “a person year or more”. This is just to give some bounds to the conversation—adjust to whatever language resonates with your team.&lt;/li&gt;
&lt;li&gt;At this point, folks may notice something they care about is not ending up in the “do it now” quadrant. Don’t panic! A vote is coming up next.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;step-6%3A-voting-exercise&quot;&gt;Step 6: Voting Exercise&lt;/h4&gt;
&lt;p&gt;Once all your stickies are in place on the matrix, lead the team in a ~10 minute voting exercise. Everyone gets 3 👍 and 3 👎. The point of this exercise is to express enthusiasm for something that might be further down the priority list—or disagreement that a solution should be explored further.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Participants can use allocate these votes however they like, such as three thumbs up on an idea they feel very strongly about.&lt;/li&gt;
&lt;li&gt;There is no need to use a thumbs up in the “Do it now” quadrant—these are already solutions the team is likely to explore further. Instead, use these to advocate for ideas in another quadrant that you think should be explored now. The main questions this vote probes for:
&lt;ul&gt;
&lt;li&gt;Any solutions not falling under “do it now” that we want to explore?&lt;/li&gt;
&lt;li&gt;Any solutions under “do it now” that could be deferred?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once voting is complete, take a few minutes to discuss the outcomes as a team—then wrap up the OSA with next steps!&lt;/p&gt;
&lt;h2 id=&quot;outcomes-and-next-steps&quot;&gt;Outcomes and next steps&lt;/h2&gt;
&lt;p&gt;Teams that go through an OSA should now be aligned on the customer opportunity space, and have a good sense of solutions they’d like to explore further. From here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The PM should share a summary of the high-priority solutions the team aligned on, potentially in a product requirements document (PRD). This exercise may not end in full consensus—you may need to make judgement calls.&lt;/li&gt;
&lt;li&gt;The cross-functional team can now explore the solution ideas further with design mocks, prototypes, usability testing, customer interviews, etc.&lt;/li&gt;
&lt;li&gt;If something new and compelling pops up during further discovery—or customers &lt;em&gt;aren’t&lt;/em&gt; responding well to the solutions—pay attention to these insights! Pivot your approach as needed and discuss this evolution continuously as a cross-functional team.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;parting-thoughts&quot;&gt;Parting thoughts&lt;/h2&gt;
&lt;p&gt;Opportunity-Solution Alignment exercises are a worthwhile investment in a cross-functional team’s success. Use OSAs to create clarity on important customer opportunities, and to generate creative solutions to these opportunities. Please &lt;a href=&quot;https://www.figma.com/community/file/1519841138356895747&quot;&gt;try it out with your team&lt;/a&gt; and let me know how it goes!&lt;/p&gt;
&lt;p&gt;And a shameless plug: if you want to empower web makers alongside collaborative peers with strong customer empathy chops, &lt;a href=&quot;https://webflow.com/careers/roles&quot;&gt;we’re hiring at Webflow&lt;/a&gt;!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;plushies-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Why this example? “Osa” is a she-bear in Spanish =&gt; teddy bears =&gt; plushies. Welcome to my mind, it’s a strange place. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/opportunity-solution-alignment/#plushies-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, May 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2505/"/>
      <updated>2025-06-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2505/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Finished my first colorwork sock, with a flower motif along the cuff. Next up, start the second sock!&lt;/li&gt;
&lt;li&gt;Started a t-shirt dress hack from the &lt;a href=&quot;https://closetcorepatterns.com/products/core-t-shirt-free-pattern&quot;&gt;Closet Core T-shirt&lt;/a&gt;. In May I printed, cut, and adapted the pattern; then I ironed and cut the fabric.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;h3 id=&quot;first-time-visit-to-montreal&quot;&gt;First-time visit to Montreal&lt;/h3&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawn-and-quarterly-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawn-and-quarterly-s.webp&quot; alt=&quot;A rainy view of the sidewalk in front of Drawn &amp; Quarterly, a bookstore and publisher specializing in comic books. Two people are walking by with umbrellas, and there&#39;s a hanging pot of yellow flowers at the front of the store.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;My husband and I both had a fantastic time exploring Montreal—even more fun than we had expected. A few key themes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It’s nice to travel just a few hours from West Coast US and feel like you’ve been transported to a European city.&lt;/li&gt;
&lt;li&gt;I enjoyed how Montreal seemed to invest in fun, cultural things “just because”. Teeter totters on the side of a street, which is also closed to car traffic? Why not!&lt;/li&gt;
&lt;li&gt;Food and bev was incredible (strong N/A drinks game!), and the service we received everywhere we went was relaxed and friendly. Truly, I was gratified by how welcoming everyone was and that a server did not laugh at me when I shared that “feuille” is my Achilles Heel re: French pronunciation. 😆&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-mont-royal-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-mont-royal-s.webp&quot; alt=&quot;My husband standing on a side-drenched wooden staircase in the midst of vibrantly green deciduous trees.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Surprisingly rainy but zen walk down the Grand Staircase from Mt. Royal&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h3 id=&quot;highlights%3A-activities&quot;&gt;Highlights: activities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Musée des beaux-arts de Montréal&lt;/li&gt;
&lt;li&gt;Pointe-à-Callière, the archaeology museum&lt;/li&gt;
&lt;li&gt;Walking around Vieux-Port…really just walking around anywhere&lt;/li&gt;
&lt;li&gt;Walking the trails at Mount Royal Park (we spotted a beaver!!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;highlights%3A-food-%26-drink&quot;&gt;Highlights: food &amp;amp; drink&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cadet&lt;/li&gt;
&lt;li&gt;Bar Bello for a drink and a snack&lt;/li&gt;
&lt;li&gt;Alep: over-ordered here 💯&lt;/li&gt;
&lt;li&gt;Café Myriade for coffee&lt;/li&gt;
&lt;li&gt;Nicole Buvette du Quartier for more-upscale poutine and chill vibes&lt;/li&gt;
&lt;li&gt;Mano Cornuto: cheerfully chaotic vibes here, like The Bear but with a smile&lt;/li&gt;
&lt;li&gt;Bouillon Bilk: fanciest place we went to; calm and not snooty&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;mcaf-(montreal-comic-arts-festival)&quot;&gt;MCAF (Montreal Comic Arts Festival)&lt;/h3&gt;
&lt;p&gt;When in Montreal, one must seek out comics. I stopped by Drawn &amp;amp; Quarterly and they asked me if I was in town for MCAF. No, but what a happy coincidence!&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-mcaf-street-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-mcaf-street-s.webp&quot; alt=&quot;A set of comic panels blown up to poster size, displayed on standing metal grates, sort of like gridded fences or barriers. Each panel is in black and white with an accent background color, and I have no idea what&#39;s going on because it&#39;s all in French.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;We decided to check it out the next day. MCAF has such a chill, community vibe. It’s basically a bunch of tents set up for vendors and programming across a few city blocks in Plateau-Mont-Royal—like a farmer’s market but with graphic novels. They also had some open-air poster exhibits sprinkled down the street. I picked up some fun books and stickers from Sarah Anderson, Little Sprout, and Boum.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;p&gt;Updated the &lt;a href=&quot;https://melanie-richards.com/now/observing-nature/&quot;&gt;Observing Nature&lt;/a&gt; page with a bunch of observations from Merlin. Also categorized birds by “family”. I had to do this manually, as eBird doesn’t give you this data on export. The hope is to start grouping the observations by family on this site.&lt;/p&gt;
&lt;h3 id=&quot;snacks-site&quot;&gt;&lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;Snacks site&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Added gummies from Sweden 🇸🇪&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2025/02/spicey-framework/&quot;&gt;Making Continuous Discovery Work for You: The SPICEY Approach&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;people-management-%26-leadership&quot;&gt;People management &amp;amp; leadership&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.weskao.com/p/super-specific-feedback&quot;&gt;Super Specific Feedback: How to Give Actionable Feedback on Work Output&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.weskao.com/p/strategy-not-self-expression&quot;&gt;Strategy, Not Self-Expression: How to Decide What to Say When Giving Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/states-drop-constitutional-challenge-to-section-504-in-texas-v-kennedy/&quot;&gt;States Drop Constitutional Challenge to Section 504 in Texas v. Kennedy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/accessibility-reads-thursday-may-29/&quot;&gt;Accessibility Reads: Thursday, May 29&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design-%26-development&quot;&gt;Design &amp;amp; development&lt;/h3&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rachelandrew.co.uk/archives/2025/05/02/reading-flow-ships-in-chrome-137/&quot;&gt;Reading flow ships in Chrome 137&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2021/10/pre-publish-blogging-rituals/&quot;&gt;My Pre-Publish Blogging Rituals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/doge-college-student-ai-rewrite-regulations-deregulation/&quot;&gt;DOGE Put a College Student in Charge of Using AI to Rewrite Regulations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/jony-ive-open-ai-hardware-io/&quot;&gt;OpenAI&#39;s Big Bet That Jony Ive Can Make AI Hardware Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/elon-musk-x-datacenter-fire/&quot;&gt;Fire Breaks Out at a Data Center Leased by Elon Musk’s X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/on-fear/&quot;&gt;On Fear&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/cant-and-wont/&quot;&gt;Can’t and Won’t&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://itsjonq.com/posts/work-dailies&quot;&gt;Work Dailies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.archerandolive.com/blogs/news/3-ways-to-create-a-summer-bucket-list&quot;&gt;3 Ways to Create a Summer Bucket List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gentlemanstationer.com/blog/2025/5/14/ink-review-taccia-utamaro-aomurasaki-is-the-deepest-of-purple-blacks&quot;&gt;Ink Review: Taccia Utamaro Aomurasaki Is the Deepest of Purple-Blacks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2025/05/is-digital-pen-replacement-for-real-pen.html&quot;&gt;Does a Digital Pen Replace a Real Pen?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.texasstandard.org/stories/finnegans-wake-reading-group-austin-tx-atx-texas-james-joyce-book-club/&quot;&gt;This Austin book club has been reading the same book for 12 years. They’re not even close to done.&lt;/a&gt; via Samkap&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/news/live/cd0l2j51gygt&quot;&gt;Woman, 20, says &#39;I don&#39;t like cheese&#39; after winning Double Gloucester rolling race&lt;/a&gt;: lighthearted news coverage via Rachel Andrew&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.huffpost.com/entry/utah-school-lunch-debt-relief-free-student-meals_n_681258fbe4b03207b5ba49fa&quot;&gt;I Randomly Decided to Pay Off a School’s Lunch Debt. Then Something Incredible Happened.&lt;/a&gt; via Eric Bailey&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Blogging Questions</title>
      <link href="https://melanie-richards.com/blog/blogging-questions/"/>
      <updated>2025-05-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/blogging-questions/</id>
      <content type="html">&lt;p&gt;Long after the zeitgeist has passed, I’m upholding my link in the blogging questions chain. Thanks to &lt;a href=&quot;https://daverupert.com/2025/03/tag-you-re-it/&quot;&gt;Dave&lt;/a&gt; and &lt;a href=&quot;https://ericwbailey.design/published/tag-youre-it/&quot;&gt;Eric&lt;/a&gt; for tagging me in on &lt;a href=&quot;https://melanie-richards.com/blog/upcoming-talk-in-tulsa/&quot;&gt;one of my favorite topics&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id=&quot;why-did-you-start-blogging-in-the-first-place%3F&quot;&gt;Why did you start blogging in the first place?&lt;/h2&gt;
&lt;p&gt;I suppose it depends on how far back you go. The first blogging-type activity I can remember is getting on LiveJournal in middle school, at a time when the Internet felt (to me) like a quiet respite. This was back in the days that LJ was pretty exclusive, and I had to do some ~ creative internet sleuthing ~ to get an invite.&lt;/p&gt;
&lt;p&gt;Jump forward quite a few years to college graduation, my first capital-B Blogging was on the portfolio site I made at the end of my graphic design degree. I added a blog section to it, with no real plan of what I’d put there. I decided to do a writeup on &lt;a href=&quot;https://fuzzco.com/&quot;&gt;Fuzzco’s site&lt;/a&gt;, with commentary on how they’d themed each project page to the client’s brand. One of the studio owners saw Google Analytics traffic coming from my site, and decided to check out why. And that, kids, is how I landed my first job out of college!&lt;/p&gt;
&lt;h2 id=&quot;what-platform-are-you-using-to-manage-your-blog-and-why-did-you-choose-it%3F&quot;&gt;What platform are you using to manage your blog and why did you choose it?&lt;/h2&gt;
&lt;p&gt;I use Eleventy and plain ol’ Markdown files now. I like how lightweight and flexible Eleventy is as a static site generator. I don’t need to over-complicate this site.&lt;/p&gt;
&lt;h2 id=&quot;have-you-blogged-on-other-platforms-before%3F&quot;&gt;Have you blogged on other platforms before?&lt;/h2&gt;
&lt;p&gt;For my main personal site, I started with Wordpress, then used Kirby CMS, Jekyll, and finally Eleventy. I have a sneaking suspicion I’m missing something there.&lt;/p&gt;
&lt;p&gt;For other mini-sites, I’ve used Eleventy + plain Markdown files, Eleventy + Contentful, and Webflow’s CMS. Disclaimer, I’m currently employed by Webflow, but I’ve found the CMS quite nice to use so far. Simple while having exactly what I need.&lt;/p&gt;
&lt;h2 id=&quot;how-do-you-write-your-posts%3F-for-example%2C-in-a-local-editing-tool%2C-or-in-a-panel%2Fdashboard-that%E2%80%99s-part-of-your-blog%3F&quot;&gt;How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that’s part of your blog?&lt;/h2&gt;
&lt;p&gt;I used to start from a kanban board in Notion, but I’ve started migrating my notes and such to Obsidian. I now use the &lt;a href=&quot;https://github.com/mgmeyers/obsidian-kanban&quot;&gt;Kanban community plugin&lt;/a&gt; for my blog posts, and for crafting projects.&lt;/p&gt;
&lt;p&gt;I typically write most of the post in Obsidian, paste it into VS Code, and then bring images in at that point.&lt;/p&gt;
&lt;h2 id=&quot;when-do-you-feel-most-inspired-to-write%3F&quot;&gt;When do you feel most inspired to write?&lt;/h2&gt;
&lt;p&gt;In the past couple years, I’ve been gripped by a thought on weeknights, I’ll dash down some notes in the Notion / Obsidian mobile app, and then ultimately abandon it. Doesn’t Feel Great, but sometimes I just need to tell &lt;em&gt;myself&lt;/em&gt; whatever’s on my mind.&lt;/p&gt;
&lt;p&gt;I also have a monthly blog-post-writing group, where a few friends and I meet on a Saturday morning to discuss what we’ll work on that day. Nice bit of accountability.&lt;/p&gt;
&lt;h2 id=&quot;do-you-publish-immediately-after-writing%2C-or-do-you-let-it-simmer-a-bit-as-a-draft%3F&quot;&gt;Do you publish immediately after writing, or do you let it simmer a bit as a draft?&lt;/h2&gt;
&lt;p&gt;Yeet to production 🤘&lt;/p&gt;
&lt;h2 id=&quot;what-are-you-generally-interested-in-writing-about%3F&quot;&gt;What are you generally interested in writing about?&lt;/h2&gt;
&lt;p&gt;Web, accessibility, product management (now getting into a bit of people management as well), what I’m learning lately, crafts, journaling and stationery, any little hobbies and special interests.&lt;/p&gt;
&lt;h2 id=&quot;who-are-you-writing-for%3F&quot;&gt;Who are you writing for?&lt;/h2&gt;
&lt;p&gt;I find that when I write for my future self, I end up sharing something that resonates with, helps, or fascinates other people. Honestly, I don’t overthink this.&lt;/p&gt;
&lt;h2 id=&quot;what%E2%80%99s-your-favorite-post-on-your-blog%3F&quot;&gt;What’s your favorite post on your blog?&lt;/h2&gt;
&lt;p&gt;I’ll let the people choose! My most popular blog posts (or those that seem to continue to help folks) are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/semantics-to-screen-readers/&quot;&gt;Semantics to Screen Readers (A List Apart)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/&quot;&gt;Styling for Windows high contrast with new standards for forced colors (Windows)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/currentcolor-svg-hcm/&quot;&gt;CurrentColor SVG in forced colors modes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/css-grid-sticky/&quot;&gt;Sticky CSS Grid Items&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’ve also been leaning into my monthly &lt;a href=&quot;https://melanie-richards.com/blog/tags/learning-log&quot;&gt;Learning Logs&lt;/a&gt; over the past couple years.&lt;/p&gt;
&lt;h2 id=&quot;any-future-plans-for-your-blog%3F-maybe-a-redesign%2C-a-move-to-another-platform%2C-or-adding-a-new-feature%3F&quot;&gt;Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?&lt;/h2&gt;
&lt;p&gt;Not too much right now! I might &lt;a href=&quot;https://ethanmarcotte.com/wrote/magick-images/&quot;&gt;follow Ethan’s lead&lt;/a&gt; and generate some more fun default blog post images.&lt;/p&gt;
&lt;h2 id=&quot;tag-%E2%80%98em.&quot;&gt;Tag ‘em.&lt;/h2&gt;
&lt;p&gt;A keystone soapbox for me is that anyone even remotely interested in blogging should do it! I often notice that folks tend to filter themselves: they worry about not being original, or compelling, or the “best” at expressing what they mean to say. In truth, no one will handle a topic quite like you, with your particular histories and interests and ways of looking at the world. Just do it! &lt;code&gt;*Nike*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So, dear reader, if these blogging posts strike your fancy: I choose you, Pikachu! ⚡ Please add your voice to the open web and share what blogging means to you.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2504/"/>
      <updated>2025-05-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2504/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/wf-gsap-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/wf-gsap-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/wf-gsap-s.webp&quot; alt=&quot;A vector illustration with a tiled pattern of Webflow and GSAP logos, overlaid with a couple hand cursor icons&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The biggest share of my brainspace at work lately: &lt;a href=&quot;https://webflow.com/blog/gsap-becomes-free&quot;&gt;Webflow + GSAP have made the GSAP library 100% free&lt;/a&gt;! Everyone in the web community can use all of GSAP—including previously-paid plugins—for free, whether on or off Webflow. We’ve also made the library suuuuper easy to install on Webflow sites, to use with custom code.&lt;/p&gt;
&lt;p&gt;It has been such a lovely experience working with Jack and Cassie from GSAP, and having them join our Interactions crew at Webflow. There’s so much more around the corner—can’t wait for us to be able to share with everyone!&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Still knitting my first pair of colorwork socks. I’m almost to the toes on sock #1!&lt;/li&gt;
&lt;li&gt;Followed along with a couple backlist Scribble Brigades from &lt;a href=&quot;https://www.patreon.com/c/sophiemcpike/posts&quot;&gt;Sophie McPike’s Patreon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mochimommy.com/easy-homemade-mochi/&quot;&gt;Made mochi&lt;/a&gt; for the first time. The top of it looked a little weird because I didn’t realize for most of the bake that I needed to cover it with tin foil. Still tasted like mochi though!&lt;/li&gt;
&lt;li&gt;Participated in the Dewey’s 24 Hour Readathon again. I only read for 7 hours total this time, but I was to get through my library book backlog, so I’m calling that a win. 2025 is on track so far to be a pretty meh reading year (again).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/zeu.dev/post/3lcbzby7cls2e&quot;&gt;More of this, please&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I did not have &lt;a href=&quot;https://homestarrunner.com/toons/backtoawebsite&quot;&gt;“Homestar Runner describes my worldview in a little ditty”&lt;/a&gt; on my 2025 bingo card but I’m glad for this surprise! (&lt;a href=&quot;https://samkapila.com/&quot;&gt;via Sam&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/21853&quot;&gt;oklch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/news/2025/first-public-working-draft-css-gap-decorations-module-level-1/&quot;&gt;First Public Working Draft CSS Gap Decorations Module Level 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bell.bz/i-think-i-need-to-change-my-attitude-towards-webrings&quot;&gt;I think I need to change my attitude towards webrings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/keep-moving/&quot;&gt;Keep Moving&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://writingatlarge.com/2025/04/13/how-i-use-my-notebooks-new-streamlined-weekly-review-format/&quot;&gt;How I Use My Notebooks New Streamlined Weekly Review Format&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://itsjonq.com/posts/work-dailies&quot;&gt;Work Dailies&lt;/a&gt;: from a fellow stationery-enthusiast coworker&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/04/tomoko-kubo-hiragana-embroidery/&quot;&gt;Tomoko Kubo’s Hiragana Embroideries Double as Japanese Language Learning Devices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2025/04/drawing-people-quickly-for-urban.html&quot;&gt;Drawing People Quickly for Urban Sketching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://joshcollinsworth.com/blog/the-blissful-zen-of-a-good-side-project&quot;&gt;The Blissful Zen of a Good Side Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/doge-college-student-ai-rewrite-regulations-deregulation/&quot;&gt;DOGE Put a College Student in Charge of Using AI to Rewrite Regulations&lt;/a&gt;. Lovely, not at all concerning. 🫠&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Mar 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2503/"/>
      <updated>2025-04-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2503/</id>
      <content type="html">&lt;p&gt;March went by in the blink of an eye, between traveling for half the month and trying to keep moving forward in spite of the constant state of crisis Americans find ourselves in.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-colorwork-cuff-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-colorwork-cuff-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-colorwork-cuff-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-colorwork-cuff-s.webp&quot; alt=&quot;The cuff of a sock (still on the needles) with a dark green flower or clover motif, on a background of variegated yarn in bright pink, orange, lime green, and off-white tones&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;Made great progress on my first &lt;strong&gt;&lt;a href=&quot;https://www.ravelry.com/patterns/library/colorwork-cuff-club&quot;&gt;Colorwork Cuff Club&lt;/a&gt; sock&lt;/strong&gt;; I’m knitting the flowers from the August pattern—though with my dark green color they look more like clovers perhaps. I’ve completed the cuff, heel, and gusset on one sock and have now started working on the foot. I’m pleased that the colorwork was able to fit over my heel when I tried it on for size!&lt;/li&gt;
&lt;li&gt;Drew a few sketchbook pages on location in Goa, India.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;p&gt;My husband and I traveled to India for a couple weeks to visit my in-laws. While returning to the U.S. after international travel feels a bit more trepidatious these days, everything went fine and it was really nice to spend time with family in person. I had two new experiences on this trip:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My first domestic flight within India.&lt;/li&gt;
&lt;li&gt;My first time in Goa, a beach town in India with a notable Portuguese influence. Despite the fact that that influence has its roots in colonialism, the area was quite beautiful—interesting, vibrant architecture; so many mangroves on the way in; and neat animals on the beach. We saw a TON of black kites scoping out the fishermans’ catch that day. I’d never seen more than a handful of raptors in one place at a time.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-black-kite-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-black-kite-s.webp&quot; alt=&quot;A beautiful photo of a dark-brown raptor (a bird) cruising through a cloudless blue sky. The kite’s wings are fully outstretched, displaying its body and full wingspan&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;This photo courtesy of Rahul, my husband&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-goa-sunset-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-goa-sunset-s.webp&quot; alt=&quot;A soft pink-orange sunset reflecting onto fairly placid water. In the middle ground is a small boat, with another small one near the horizon. The foreground is dominated by a backlit palm tree.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The bay in Goa at sunset&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Speaking of raptors, it’s amazing what you notice as your attention changes. Most of my family now lives in my college town, and on every visit I see and/or hear several hawks over the trees. I don’t remember ever noticing them during my four years of college.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/03/katherine-duclos/&quot;&gt;Through LEGO Compositions, Katherine Duclos Grounds Chaos in Color&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/weratedogs.com/post/3lk2clhjz622b&quot;&gt;This post&lt;/a&gt; is a master class in writing evocative alt text.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://owlsintowels.org/&quot;&gt;Owls in Towels&lt;/a&gt;, via &lt;a href=&quot;https://ericwbailey.design/&quot;&gt;Eric&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/adamtots.bsky.social/post/3ll2zjmedrk2w&quot;&gt;This short comic on the human condition by Adam Ellis&lt;/a&gt;. Alt text: a man-presenting character is shown over 3 panels spending happy times with friends: walking with ice cream cones, playing a game together, talking to two friends at a party. In the fourth panel, he lies awake at night asking himself, “am I fundamentally unloveable?”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2025/03/enshittification-has-a-flavor/&quot;&gt;Enshittification as a Matter of Taste&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.elenaverna.com/p/five-plg-tactics-every-sales-led&quot;&gt;Five PLG tactics every sales-led company should do&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.elenaverna.com/p/company-blogs-are-no-longer-worth&quot;&gt;Company blogs are no longer worth the investment&lt;/a&gt; – interesting…&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2025/03/be-wary-of-accessibility-guarantees-from-anyone.html&quot;&gt;Be Wary of Accessibility Guarantees from Anyone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martijnhols.nl/blog/the-european-accessibility-act-for-websites-and-apps&quot;&gt;The European Accessibility Act for Websites and Apps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design-%26-development&quot;&gt;Design &amp;amp; development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kyrylo.org/html/2024/10/25/why-does-target-blank-have-an-underscore-in-front.html&quot;&gt;Why does target=_blank have an underscore in front&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://desktopofsamuel.com/oklch-explained-for-designers&quot;&gt;OKLCH, Explained for Designers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.chrome.com/blog/css-text-box-trim&quot;&gt;CSS Text-Box-Trim&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/press-room/617654/internet-community-future-research&quot;&gt;The Future of the Internet Is Likely Smaller Communities, With a Focus on Curated Experiences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bell.bz/i-like-having-a-links-page&quot;&gt;I Like Having a Links Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web-platform-dx.github.io/web-features-explorer/release-notes/march-2025/&quot;&gt;March 2025 Web Platform Update&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.elenaverna.com/p/ai-is-killing-some-companies-yet&quot;&gt;AI is killing some companies, yet others are thriving - let&#39;s look at the data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/news/636948/openai-chatgpt-image-generation-gpt-4o&quot;&gt;ChatGPT’s New Image Generator Is Delayed for Free Users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://heydonworks.com/article/poisoning-well/&quot;&gt;Poisoning Well&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.uchicago.edu/story/writing-about-worries-eases-anxiety-and-improves-test-performance&quot;&gt;Writing about worries eases anxiety and improves test performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ckarchive.com/b/p9ueh9h2dx5gksm6ggw6kapn5o333hr&quot;&gt;The Imperfectionist: Three Ideas for Turbulent Times&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://rediscoveranalog.com/keeping-up-with-the-journaling-habit-when-traveling/&quot;&gt;Keeping Up With the Journaling Habit When Traveling&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://thepenguinpost.substack.com/p/journals-blossoms-and-commonplace&quot;&gt;Journals, blossoms, and commonplace notes about civics&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moderndailyknitting.com/community/knitting-the-wheel-of-the-year/&quot;&gt;Knitting the Wheel of the Year&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sketchaway.substack.com/p/contrast-for-better-sketches&quot;&gt;Contrast for Better Sketches&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://anhvn.com/posts/2025/weeknotes-30/&quot;&gt;Anh’s Weeknotes 30&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Feb 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2502/"/>
      <updated>2025-03-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2502/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/closet-core-tshirt/&quot;&gt;Closet Core T-Shirt&lt;/a&gt;: finally wrote a blog post for my first ever t-shirt, which I sewed in February!&lt;/li&gt;
&lt;li&gt;Finished knitting a Seattle Kraken beanie, which also needs a blog post.&lt;/li&gt;
&lt;li&gt;Started knitting my second pair of socks. This time I’m trying out colorwork on socks; I’ve learned the technique on clothing items that are more forgiving when it comes to fit and stretchiness (like the hat).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-la-jolla-seals-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-la-jolla-seals-s.webp&quot; alt=&quot;A shot of a beach far from above, where a whole bunch of fat brown seals are sunning themselves along the shoreline. There&#39;s a barrier from the waves on the far side of the beach.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Harbor seals at Children’s Pool Beach, La Jolla&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-la-jolla-tide-pools-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-la-jolla-tide-pools-s.webp&quot; alt=&quot;A close-up view of a network of circular-ish tide pools with the ocean in the background. There’s little bits in the tide pools, probably periwinkles.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;La Jolla Tide Pools, pretty legit&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Went to &lt;strong&gt;San Diego&lt;/strong&gt; for a work trip! I’ve only been there once before and I didn’t have &lt;em&gt;great&lt;/em&gt; memories from the previous visit. I had received some heavy personal news while at a workshop / conference for a work community that was new to me at the time. It was a very lonely feeling. I’m glad to have made better memories this time around, connecting with my co-workers and bopping around town with my husband the following weekend.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visited La Jolla.&lt;/strong&gt; One of my favorite parts of traveling is witnessing nature in different parts of the world, and this was no exception. I loved seeing all the harbor seal pups at the Children’s Pool Beach; the seals are so cute and funny when they flop themselves across the sand. Always a big fan of tide pools as well. I spotted Hartweg’s Chitons, Aggregating Anenomes, Black Tegulas, Periwinkles, Common Coralline, Giant Kelp, and some type of little hermit crabs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital gardening&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;Snacks site&lt;/a&gt;: added a couple new snacks for the first time since May.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/closet-core-tshirt/&quot;&gt;Making site&lt;/a&gt;: started listing hashtags for sewing patterns and materials in the blog post sidebar. My social media presence has contracted quite a bit, especially now that I am no longer on Instagram, where most of the sewists are. I figured I might as well make my blog posts findable to my people, in some small way.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/davatron5000/awesome-standalones&quot;&gt;Awesome Standalones&lt;/a&gt;: a collection of framework-agnostic Web Components.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://ethanmarcotte.com/wrote/leaving-18f/&quot;&gt;Moving on From 18F.&lt;/a&gt;: if you read one link from this post, make it this one. A thoughtful and frankly inspiring account from Ethan on facing adversity with grace and integrity.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.elenaverna.com/p/how-to-build-brand-awareness-through&quot;&gt;How to Build Brand Awareness Through Product Impressions, Not Marketing&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://webaim.org/blog/salary-survey-results/&quot;&gt;Global Digital Accessibility Salary Survey Results&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;design-%26-development&quot;&gt;Design &amp;amp; development&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://stephaniewalter.design/blog/color-theory-palette-resources-tools-for-designers/&quot;&gt;Color Theory &amp;amp; Palette – Resources and Tools&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/what-is-your-work-now/&quot;&gt;What Is Your Work Now?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/future-perfect/392634/how-meditation-works-new-science-consciousness&quot;&gt;How Meditation Deconstructs Your Mind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ckarchive.com/b/4zuvhehpp24m4t6ovveola6g9z777s5&quot;&gt;The Imperfectionist: Reality Is Right Here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.washingtonpost.com/lifestyle/2025/02/09/journal-diary-centenarian-north-dakota-100/&quot;&gt;North Dakota Woman Has Written in Her Diary Every Day for 90 Years&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://oddorange.co.uk/blogs/news/drawing-sessions-recap-the-stunning-art-our-customers-created-in-2024&quot;&gt;Drawing Sessions Recap: The Stunning Art Our Customers Created in 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lifehacker.com/tech/four-apps-you-can-replace-with-obsidian-plugins&quot;&gt;This Note-Taking App Can Replace Four of the Most Popular Productivity Tools&lt;/a&gt;: I started playing around with Obsidian in February. There’s a Slack channel at my work for Obsidian enthusiasts, where a coworker shared this link.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2025</title>
      <link href="https://melanie-richards.com/blog/learning-log-2501/"/>
      <updated>2025-02-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2501/</id>
      <content type="html">&lt;p&gt;I can’t even begin to state how rough January was for my mental health due to Political Circumstances; you may be feeling the same. Let’s be excellent to each other these next 4 years. We can’t control how our politicians show up, but we can nudge the course of things in tiny, positive ways. Every bit of joy or good you create means something, no matter how small or insignificant it may feel to you.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/9inhandpress-corita-kent.jpeg&quot; alt=&quot;DOING &amp;amp; MAKING are acts of HOPE. CORITA KENT&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Letterpress print by &lt;a href=&quot;http://www.9inhandpress.com/&quot;&gt;9inhandpress&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9A%80-shipping&quot;&gt;🚀 Shipping&lt;/h2&gt;
&lt;h3 id=&quot;variable-modes-%26-collections&quot;&gt;&lt;a href=&quot;https://webflow.com/updates/variable-modes&quot;&gt;Variable Modes &amp;amp; Collections&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I’m ramping down my individual contributor work at Webflow (as of recently, I’m a manager of product managers). I was thrilled to launch variable modes and collections with the rest of the Styles team in January! With variable modes, designers can create sets of variable values that can be easily switched and applied throughout a site—unlocking responsive design across devices, efficient theming, and a more scalable design system.&lt;/p&gt;
&lt;h3 id=&quot;backlog-readathon-stats&quot;&gt;&lt;a href=&quot;https://www.backlogreadathon.com/past/2024-dec&quot;&gt;Backlog Readathon stats&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I hosted my first readathon at the end of the year, and put together some stats for those who recorded their reading. I’m planning to do another one of these in August, at the end of the summer (for those of us north of the Equator). Fun fact, the per-page theming—winter vs summer palette—uses Webflow’s variable modes!&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🧵 I sewed a Closet Core T-Shirt, my first knit garment!&lt;/li&gt;
&lt;li&gt;🧶 I started knitting a Seattle Kraken-themed beanie, with a colorwork design I cobbled together.&lt;/li&gt;
&lt;li&gt;🖍️ I joined &lt;a href=&quot;https://www.patreon.com/c/sophiemcpike/&quot;&gt;Sophie McPike’s Patreon&lt;/a&gt; and drew a spread of sketchbook pages alongside one of her Scribble Brigade videos. I’m so inspired by Sophie’s colorful, carefree approach to art-making.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side quests&lt;/h2&gt;
&lt;p&gt;I’m trying to do two “side quests” a month in order to keep novelty in my life. In January:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🌵 I went to Arizona for a work trip. Admittedly I didn’t get to see much beyond work stuff, but it was my first time in the state, so side quest it is!&lt;/li&gt;
&lt;li&gt;🎵 Went to a Bright Eyes show with my husband, and my inner emo teen was so pleased. My younger self would be so jealous of the shows I’ve attended over the past couple years. That feels pretty neat to me: a reassurance that there are good things and happiness in the future.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bright-eyes-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bright-eyes-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bright-eyes-s.webp&quot; alt=&quot;A packed concert hall bathed in red light, with the words &#39;You are now at a Bright Eyes concert&#39; projected to the back of the stage, while the band plays. The ceiling overhead has a lot ornate, circular crown molding.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;You are now at a Bright Eyes concert (and still masking, BTW)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/shorts/ihmbqR6Hj7c&quot;&gt;What is the default name in your language?&lt;/a&gt; In which reading the comments section is actually useful and interesting.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ted.com/talks/jia_jiang_what_i_learned_from_100_days_of_rejection&quot;&gt;What I Learned From 100 Days of Rejection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;h3 id=&quot;books&quot;&gt;Books&lt;/h3&gt;
&lt;p&gt;I’ve had a very slow start to the year in terms of reading. I finished only 2 books in January, putting me 3 books behind my goal of 52 for the year. I’m reading consistently, but I am tending to pick up bigger books right now, which may account for slow reading…&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Some of the articles and blog posts below I read during December.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/a/chromium.org/g/blink-dev/c/C3pELgMqzCY/m/Lpb6DkueAQAJ?pli=1&quot;&gt;Intent to Experiment: Reference Target for Cross-Root ARIA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/engineering/user-experience/considerations-for-making-a-tree-view-component-accessible/&quot;&gt;Considerations for making a tree view component accessible&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/news/2024/ethical-web-principles-is-a-w3c-statement/&quot;&gt;Ethical Web Principles Is a W3C Statement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bradfrost.com/blog/link/react-v19-react/&quot;&gt;React V19 – React&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/12/every-token-is-a-feature/&quot;&gt;Every Token Is a Feature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web-platform-dx.github.io/web-features-explorer/release-notes/december-2024/&quot;&gt;December 2024 Web Platform Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2025/01/04/slash-pages/&quot;&gt;Slash Pages?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thehistoryoftheweb.com/the-free-web/?utm_source=ownyourweb&amp;amp;utm_medium=email&amp;amp;utm_campaign=issue-17&quot;&gt;The Free Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-growth&quot;&gt;Personal growth&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2024/12/13/on-mortality/&quot;&gt;On Mortality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nabeelqu.co/principles/&quot;&gt;Principles&lt;/a&gt;, not all of which I agree with, but food for thought&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/choosing/&quot;&gt;Choosing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fromthepencup.wordpress.com/2024/11/24/today-i-get-to-got-to/&quot;&gt;Today I Get to/Got To&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/my-end-of-year-process&quot;&gt;My End of Year Process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/how-to-do-a-bullet-journal-year-in-review&quot;&gt;If Symptoms Persist Consult These Pages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2024/12/coloring-comics-in-different-way.html&quot;&gt;Coloring Comics in a Different Way&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bps.org.uk/research-digest/voices-heard-people-schizophrenia-are-friendlier-india-and-africa-us&quot;&gt;The Voices Heard by People With Schizophrenia Are Friendlier in India and Africa, Than in the US&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnn.com/2025/01/20/asia/japanese-aquarium-lonely-sunfish-intl-scli/index.html&quot;&gt;Japanese Aquarium Cheers Up Lonely Sunfish With Cardboard Cutouts of People&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/12/my-little-games-workshop/&quot;&gt;My Little Games Workshop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grainlinestudio.com/blogs/blog/track-laying-town-bag&quot;&gt;My Track Laying Town Bag With Shoulder Strap&lt;/a&gt;: TIL about track laying as a hobby&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2025/01/national-archives-citizen-archivist-program/&quot;&gt;Practice Your Cursive as a Citizen Archivist and Preserve Thousands of Historic Documents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2024 Highlights</title>
      <link href="https://melanie-richards.com/blog/2024-highlights/"/>
      <updated>2024-12-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2024-highlights/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-career&quot;&gt;👩‍💻 Career&lt;/h2&gt;
&lt;p&gt;2024 brought plenty of change, work-wise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In February I wrapped up my time on the product team at &lt;strong&gt;Netlify&lt;/strong&gt;, and will forever treasure my experiences with so many lovely humans. Seriously.&lt;/li&gt;
&lt;li&gt;In March I started a role as Staff Product Manager on the Styles team at &lt;strong&gt;Webflow&lt;/strong&gt;! This was one of those it’s-like-it-was-made-for-me roles, and I’ve had so much fun over the year collaborating with folks who are passionate about CSS, design, and above all, doing great things for our customers.&lt;/li&gt;
&lt;li&gt;We as a team shipped lots of updates for style variables and native support of CSS properties in the visual builder.&lt;/li&gt;
&lt;li&gt;I got to speak about design systems with my close colleague and friend Garrett Berg &lt;a href=&quot;https://webflow.com/webflowconf/session/webflow-product-session-design-systems-in-webflow-brand-consistency-at-scale-sf&quot;&gt;at Webflow Conf in SF&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I was part of a core team that &lt;a href=&quot;https://webflow.com/blog/webflow-acquires-gsap&quot;&gt;brought GSAP on board to power Webflow Interactions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In November I moved into people management 😱 as a Group Product Manager at Webflow. Styles is still under my purview, along with some other areas of the website design and build workflow. We’re in the team-building phase right now, and super excited for our new Styles PM starting early next year…&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-making&quot;&gt;🧶 Making&lt;/h2&gt;
&lt;h3 id=&quot;sewing&quot;&gt;Sewing&lt;/h3&gt;
&lt;p&gt;This year I &lt;em&gt;really&lt;/em&gt; hit my stride with sewing! I got over my intimidation with sewing clothes and have just sort of gone for it. &lt;a href=&quot;https://www.youtube.com/@clairefromonline&quot;&gt;Claire from Online&lt;/a&gt; likes to say “it’s just paper” when it comes to journaling—“it’s just fabric” seemed to help me early on.&lt;/p&gt;
&lt;p&gt;What also has helped has been embracing sewing as a weekend-only hobby; sewing is a little too involved to set up and get into on a work night for me. I have really been cherishing “Sew Days” with my mom and my aunt, where we hop on FaceTime most Sundays and just sew together! It’s been a really nice way to connect from afar, and I always love parallel play.&lt;/p&gt;
&lt;p&gt;I’ve learned so many new skills in sewing this year, and the exhilaration I feel when I accomplish something new could power a small city.&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--thirds&quot;&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-eucalypt-green-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-eucalypt-green-s.webp&quot; alt=&quot;Me smiling in a dark forest green tank top made of a linen-like but somewhat drapier fabric. The surface of the fabric has a little bit of a nubby texture&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My second Eucalpyt Tank&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cmc-jaunty-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cmc-jaunty-s.webp&quot; alt=&quot;A jaunty close-up of a fabric supply case in black and white fabric, filled up with a notebook, Miffy stickers, Ecoline markers, and colored pencils&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Creative Maker Supply Case&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-topstitch-top-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-topstitch-top-s.webp&quot; alt=&quot;I am wearing a pale pink cotton PJ top that has a pattern of scattered geometric quilt blocks on them. The top matches the PJ bottoms I&#39;m wearing, and the effect is almost like nurse&#39;s scrubs.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Matchy matchy cotton PJs&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Projects I sewed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/creative-maker-case/&quot;&gt;Creative Maker Supply Case&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/carolyn-pjs/&quot;&gt;Carolyn PJ bottoms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/matchy-matchy-pjs/&quot;&gt;Topstitch Essential Shirt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/quilted-kobo-pouch/&quot;&gt;Quilted Kobo Pouch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://making.melanie-richards.com/a-tale-of-two-tanks/&quot;&gt;Two Eucalypt Tanks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And I just started sewing a t-shirt!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;knitting&quot;&gt;Knitting&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;This year was mostly about socks! I knitted my &lt;a href=&quot;https://making.melanie-richards.com/a-tale-of-two-tanks/&quot;&gt;first pair of I’m So Basic socks&lt;/a&gt;, which took 10 months to complete, whew.&lt;/li&gt;
&lt;li&gt;I attended &lt;a href=&quot;https://flockfiberfestival.com/&quot;&gt;Flock Fiber Fest&lt;/a&gt; with my friend Shana, and have really enjoyed this crafty part of our friendship that’s developed in the past year.&lt;/li&gt;
&lt;li&gt;I wrapped up the year by learning how to &lt;a href=&quot;https://making.melanie-richards.com/doodle-headband/&quot;&gt;knit colorwork&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;drawing-%26-journaling&quot;&gt;Drawing &amp;amp; journaling&lt;/h3&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-cover-stickers-pink-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-cover-stickers-pink-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-cover-stickers-pink-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-cover-stickers-pink-s.webp&quot; alt=&quot;A black journal inside a clear plastic cover. Stuck to the journal itself are various stickers in black, white, red, and green. Their themes include Webflow, mushrooms, Miffy the bunny saying aloha, and other cute aesthetics.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Letting go of sticker preciousness is a journey&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;I filled two Sterling Ink B6 gridded notebooks with memories: words, drawings, sticky photos, stickers, ephemera, and plenty of fountain pen ink. The journaling habit is actually sticking pretty well in the last couple years. I love the B6 size, as it’s the same size as a paperback: this is the story of my life!&lt;/li&gt;
&lt;li&gt;I learned &lt;a href=&quot;https://melanie-richards.com/blog/learning-log-2402/&quot;&gt;how to write blackletter calligraphy&lt;/a&gt;—as a lefty.&lt;/li&gt;
&lt;li&gt;In sketchbooking, I’ve been drawing on location and also learning to embrace my proclivities for limited palettes and/or graphic shapes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Speaking of journaling, I made &lt;a href=&quot;https://analog.melanie-richards.com/&quot;&gt;Melanie in Analog&lt;/a&gt; to document how I use my journals and stationery supplies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt; documents songs referenced in books.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side Quests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Made pasta from scratch with my husband, Rahul, for our one-year anniversary&lt;/li&gt;
&lt;li&gt;Traveled to Palm Springs, Quebec, Oahu, SF a few times, and to visit family&lt;/li&gt;
&lt;li&gt;Poked around tidepools&lt;/li&gt;
&lt;li&gt;Saw an AURORA in my own dang neighborhood&lt;/li&gt;
&lt;li&gt;Finally watched the Syttende Mai parade in Seattle&lt;/li&gt;
&lt;li&gt;Spotted alligators and turtles and coyotes and hawks and spawning salmon and fish that looked like Gil from Finding Nemo&lt;/li&gt;
&lt;li&gt;Enjoyed food festivals with friends: Ballard Seafood Fest and Bite of Seattle&lt;/li&gt;
&lt;li&gt;Went on a couple hikes—more next year, please&lt;/li&gt;
&lt;li&gt;Saw an artist speak at Pottery Northwest&lt;/li&gt;
&lt;li&gt;Puttered around on a boat with coworkers&lt;/li&gt;
&lt;li&gt;Watched a Seattle Reign game ⚽&lt;/li&gt;
&lt;li&gt;Watched Jaws with my legs dangling in a friend’s hot tub&lt;/li&gt;
&lt;li&gt;Hosted a “Crafternoon” for my birthday, because you can do whatever you want in your mid-30s and no one can judge you, those are the rules&lt;/li&gt;
&lt;li&gt;Participated in readathons and &lt;a href=&quot;https://www.backlogreadathon.com/&quot;&gt;hosted one of my own&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8D%BF-watching&quot;&gt;🍿 Watching&lt;/h2&gt;
&lt;h3 id=&quot;movies&quot;&gt;Movies&lt;/h3&gt;
&lt;p&gt;I watched &lt;a href=&quot;https://melanie-richards.com/now/watching/&quot;&gt;63 movies&lt;/a&gt;, but didn’t rate many above 4 stars:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abigail (2024)&lt;/li&gt;
&lt;li&gt;Inside Out 2 (2024)&lt;/li&gt;
&lt;li&gt;Kiki&#39;s Delivery Service (1989), a forever favorite&lt;/li&gt;
&lt;li&gt;Memento (2000)&lt;/li&gt;
&lt;li&gt;Vampire humaniste cherche suicidaire consentant (2023)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;tv&quot;&gt;TV&lt;/h3&gt;
&lt;p&gt;This was a big year for rewatching TV. Lately, Rahul and I have been working our way through Friends, which he had never seen. In first watches, I particularly enjoyed “Shrinking”, and “True Detective: Night Country” has lived rent-free in my head all year.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8E%B5-listening&quot;&gt;🎵 Listening&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;My &lt;a href=&quot;https://tidal.com/browse/playlist/09a8188f-8154-4608-9824-a44415d04a75&quot;&gt;2024 playlist&lt;/a&gt; includes quite a bit of Billie Eilish, Chappell Roan (like the rest of the planet), Local Natives, and Bombay Bicycle Club. The boygenius girlies also dominate my Tidal “top” songs.&lt;/li&gt;
&lt;li&gt;I saw &lt;a href=&quot;https://melanie-richards.com/now/listening/&quot;&gt;7 artists play live&lt;/a&gt; this year. My favorite shows were Future Islands and Billie Eilish.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%93%9A-reading&quot;&gt;📚 Reading&lt;/h2&gt;
&lt;p&gt;I finished 53 books, which makes this my least prolific reading year since 2015. That’s still a lot of reading but feels like a notable downshift. &lt;a href=&quot;https://bookshop.org/lists/2024-favorite-books-melanie-richards&quot;&gt;Books I rated at least 4.5 stars&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9788409536399&quot;&gt;“Evidence-Guided”&lt;/a&gt; by Itamar Gilad&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250865038&quot;&gt;“Feel-Good Productivity”&lt;/a&gt; by Ali Abdaal&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250829818&quot;&gt;“A House with Good Bones”&lt;/a&gt; by T. Kingfisher&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250819352&quot;&gt;“Hidden Pictures”&lt;/a&gt; by Jason Rekulak&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780316540506&quot;&gt;“How Far the Light Reaches”&lt;/a&gt; by Sabrina Imbler ⭐️&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780374611996&quot;&gt;“Meditations for Mortals”&lt;/a&gt; by Oliver Burkeman ⭐️&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781501154652&quot;&gt;“Then She Was Gone”&lt;/a&gt; by Lisa Jewell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593549223&quot;&gt;“Vera Wong’s Unsolicited Advice for Murderers”&lt;/a&gt; by Jesse Q. Sutanto&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780593439357&quot;&gt;“The Very Secret Society of Irregular Witches”&lt;/a&gt; by Sangu Mandanna&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;2025&quot;&gt;2025&lt;/h2&gt;
&lt;p&gt;The part of me that sobbed on the U.S. Election Day wishes that 2024 would never end. I have some words that I am carrying with me:&lt;/p&gt;
&lt;h3 id=&quot;theme%3A-%E2%80%9Ccuriosity%E2%80%9D&quot;&gt;Theme: “curiosity”&lt;/h3&gt;
&lt;p&gt;I’ve given a lot of thought to my core values over the past year, and lately have felt convicted that “curiosity” is my cornerstone value. So much good comes from curiosity:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learning, making, personal achievement (hello, fellow Enneagram 3s)&lt;/li&gt;
&lt;li&gt;A reverence for life and the natural world&lt;/li&gt;
&lt;li&gt;Patience and kindness for others, informed by what &lt;em&gt;they&lt;/em&gt; want and need&lt;/li&gt;
&lt;li&gt;Patience and kindness towards myself&lt;/li&gt;
&lt;li&gt;Bravery and experimentation&lt;/li&gt;
&lt;li&gt;Playfulness, joy, and fun!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;%E2%80%9Cit%E2%80%99s-a-great-day-to-do-some-good-and-have-some-fun.%E2%80%9D&quot;&gt;“It’s a great day to do some good and have some fun.”&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://greysanatomy.fandom.com/wiki/It%27s_a_Beautiful_Night_to_Save_Lives&quot;&gt;À la Dr. Derek Shepherd&lt;/a&gt;—and &lt;a href=&quot;https://textslashplain.com/2024/12/13/on-mortality/&quot;&gt;inspired by&lt;/a&gt; my former colleague and friend Eric Lawrence, hi Eric!—this is a mantra I’d like to start my day with, for a couple reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Anxiety is a lifelong journey for me, and I’d like to not forget that &lt;em&gt;life is a gift that is meant to be enjoyed&lt;/em&gt;. I get to do work every that is aligned to my core personal mission, that is &lt;em&gt;fun&lt;/em&gt;!&lt;/li&gt;
&lt;li&gt;The next 4 years are going to be tough for many of us. On the other hand, community care &lt;em&gt;should&lt;/em&gt; be joyful! Let support networks be a party that everyone wants to join. 🎉&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Happy New Year, let’s have some fun!&lt;/strong&gt;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New project: Melanie in Analog</title>
      <link href="https://melanie-richards.com/blog/analog-site/"/>
      <updated>2024-12-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/analog-site/</id>
      <content type="html">&lt;p&gt;&lt;a href=&quot;https://melanie.codes/&quot;&gt;Melanie Sumner&lt;/a&gt; once mentioned wanting to trade lists of favorite stationery items, so what do I do? Make a whole little site, but of course!&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-home-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-home-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-home-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-home-s.webp&quot; alt=&quot;The home page showing tiles for my journal and planner, as well as a list of favorite stationery supply categories. The categories are labeled with cute icons in a sticker aesthetic.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;&lt;a href=&quot;https://analog.melanie-richards.com/&quot;&gt;Melanie in Analog&lt;/a&gt; documents how I use my notebooks for memory keeping (run-of-the-mill journaling) and planning work and life. I have examples on the site of each of the pages and spreads I use consistently to organize my brain. There’s also a list of favorite stationery supplies that I’ll update over time.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-favorites-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-favorites-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-favorites-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-favorites-s.webp&quot; alt=&quot;Favorite Things: like Oprah&#39;s favorite things, except it&#39;s just an internet rando and their stationery faves. There is a grid of favorite supplies, starting with a list of fountain pen inks with images, titles, and descriptions.&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;another-use-case-for-css-aspect-ratio&quot;&gt;Another use case for CSS &lt;code&gt;aspect-ratio&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Melanie in Analog (built on Webflow, my current employer) is pretty simple functionally and aesthetically. A minor detail I like, though, is that I found another application for the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio&quot;&gt;aspect-ratio property&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Often folks use &lt;code&gt;aspect-ratio&lt;/code&gt; to ensure images or cards are rendered with consistent dimensions. On this analog site, I demonstrate how I use my pages in B6 and A6 notebooks. I wanted the dimensions of the example pages to match the aspect ratio of the physical notebooks—while ensuring that if content grew quite long, the sample page would grow with the content instead of overflowing in a way that looked broken. This is a perfect use case for &lt;code&gt;aspect-ratio&lt;/code&gt;.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-aspect-ratio-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-aspect-ratio-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-aspect-ratio-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-analog-aspect-ratio-s.webp&quot; alt=&quot;A screenshot of my weekly spread, with two rectangles next to each other in a B6 aspect ratio on each page. There are tables and lists on the example pages representing how I manage tasks and events.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;In this case the value is set to &lt;code&gt;125/176&lt;/code&gt;, which is quite an odd set of numbers for this CSS property, probably. Those are the dimensions of a B6 notebook in &lt;code&gt;mm&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;plans-for-the-site&quot;&gt;Plans for the site&lt;/h2&gt;
&lt;p&gt;Eventually I’ll add my nature journal to the site as well—maybe. I use a five-year journal to document the seasons, and sometimes I stop writing in it for awhile before beginning again.&lt;/p&gt;
&lt;p&gt;I may also add my sketchbook there, and include some more arty favorite supplies.&lt;/p&gt;
&lt;p&gt;For now, you can check out how I use my two main notebooks on &lt;a href=&quot;https://analog.melanie-richards.com/&quot;&gt;Melanie in Analog&lt;/a&gt;!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct &amp; Nov 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2411/"/>
      <updated>2024-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2411/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%92%99-webflow&quot;&gt;💙 Webflow&lt;/h2&gt;
&lt;p&gt;This “monthly” Learning Log is a double feature because I have been just so dang busy at work! A few highlights from October and November:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Webflow held our annual conference. Garrett Berg and I &lt;a href=&quot;https://webflow.com/webflowconf/session/webflow-product-session-design-systems-in-webflow-brand-consistency-at-scale-sf?utm_source=webflow&amp;amp;utm_medium=blog&amp;amp;utm_campaign=webflowconf-agendalaunch&quot;&gt;spoke about design systems in Webflow&lt;/a&gt;, and we had just the most fun time getting to meet our customers throughout the event.&lt;/li&gt;
&lt;li&gt;We also announced at Webflow Conf that we are &lt;a href=&quot;https://webflow.com/blog/webflow-conf-2024-keynote-recap&quot;&gt;welcoming GSAP to the team&lt;/a&gt;! It’s been such a pleasure getting to know Jack and Cassie. What they’ve done with the GSAP library is so powerful and well-aligned to our mission to empower all web makers.&lt;/li&gt;
&lt;li&gt;The team I work with released a couple “tiny but mighty” updates after the conference:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webflow.com/updates/new-variable-types-number-percentage&quot;&gt;New variable types: Number and Percentage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webflow.com/updates/text-decoration-styles&quot;&gt;Text Decoration Styles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cool power features just around the corner for variables…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In November I transitioned into people management as a Group Product Manager! I’m nervous-excited for this career transition, and am currently building up this PM team. If you’re an absolute nerd for CSS and a seasoned product manager passionate about putting development superpowers in everyone’s hands, check out this role for &lt;a href=&quot;https://boards.greenhouse.io/webflow/jobs/6368350&quot;&gt;Staff PM, Styles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;&lt;strong&gt;🌱 Digital gardening&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;This site:&lt;/strong&gt; renamed the “is” section to &lt;a href=&quot;https://melanie-richards.com/now/&quot;&gt;“Currently”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I’m almost finished with a site documenting how I use analog notebooks and stationery. Just need to load more “favorites” on the site and share that around!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Started making Outside Clothes: I sewed &lt;a href=&quot;https://making.melanie-richards.com/a-tale-of-two-tanks/&quot;&gt;two Eucalypt Tanks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Finished knitting my first pair of socks!! 🎉&lt;/li&gt;
&lt;li&gt;Sketched a little on location &lt;a href=&quot;https://www.instagram.com/p/DBzg_S7yNJt&quot;&gt;in Oahu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A7%99%F0%9F%8F%BB%E2%80%8D%E2%99%80%EF%B8%8F-side-quests&quot;&gt;🧙🏻‍♀️ Side Quests&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-green-turtle-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-green-turtle-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-green-turtle-s.webp&quot; alt=&quot;A small green turtle poking its head out of the crystalline waters it&#39;s swimming in. There are lots of rocks under the surface of the water, despite its shallow depth, and a dark grey fish swims in the foreground.&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;Went to Oahu for an overdue vacation with Rahul. The food everywhere was &lt;em&gt;incredible&lt;/em&gt;, and I especially loved going up to the North Shore to see tons of green turtles and tropical fish at &lt;a href=&quot;https://hawaiisnorkelingguide.com/sharks-cove/&quot;&gt;Sharks Cove&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On Thanksgiving weekend we went to Carkeek Park here in Seattle, WA to see the salmon spawning. It was late in their season so there were umm, more “unalived” salmon on the creekbed than still swimming upstream. It was very cute, though, to see a whole crowd of people cheering a salmon that was struggling up a little waterfall. Definitely a “memento mori” type of outing…&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%9B%9C-on-the-internet&quot;&gt;🛜 On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Diner_lingo&quot;&gt;Diner lingo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;There is a reason why everyone you know recommended &lt;a href=&quot;https://youtu.be/Df_K7pIsfvg?si=buuHNiieSnpi0Paq&quot;&gt;Cabel Sasser’s talk at XOXO Fest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;People are hacking some &lt;a href=&quot;https://bsky.app/profile/hctr.dev/post/3lb3ywnxac22n&quot;&gt;cool stuff&lt;/a&gt; on the Bluesky platform&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everynoise.com/&quot;&gt;Every Noise at Once&lt;/a&gt;: a word-cloud map of musical genres&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tylervigen.com/spurious-correlations&quot;&gt;Spurious Correlations&lt;/a&gt;: had great fun with this at a community craft social, especially since everyone present seemed to have different specialized knowledge&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%94%96-reading&quot;&gt;🔖 Reading&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://melanie-richards.com/now/reading/&quot;&gt;I read 9 books&lt;/a&gt; between October and November. My favorites were &lt;a href=&quot;https://bookshop.org/a/15644/9780374611996&quot;&gt;“Meditations for Mortals”&lt;/a&gt; (I appreciate everything I’ve read of Oliver Burkeman) and &lt;a href=&quot;https://bookshop.org/a/15644/9781250819352&quot;&gt;“Hidden Pictures”&lt;/a&gt; by Jason Rekulak.&lt;/p&gt;
&lt;p&gt;I’m having a quite sluggish reading year so far: my annual reading hasn’t been this low since 2015?! I’m not really sure what’s going on, might be a combination of big life changes + not really vibing with a lot of the books I’m picking up + wanting to spend more time crafting than reading.&lt;/p&gt;
&lt;p class=&quot;u-center&quot;&gt;✷&lt;/p&gt;
&lt;p&gt;I typically also list articles I’ve highlighted here, but I think I’ll cry bankruptcy and revisit this for December’s Learning Log. Cya then! 👋🏼&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Sep 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2409/"/>
      <updated>2024-10-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2409/</id>
      <content type="html">&lt;h2 id=&quot;%F0%9F%9A%80-shipping&quot;&gt;🚀 Shipping&lt;/h2&gt;
&lt;p&gt;My team at work released &lt;a href=&quot;https://webflow.com/updates/variable-reordering-bulk-actions&quot;&gt;variable reordering and bulk actions for variables&lt;/a&gt;! It’s been so heartening to note how welcome this change was for Webflow users. I’m especially proud of the engineers for being game to implement some tricky but necessary keyboard navigation patterns.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-topstitch-top-back-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-topstitch-top-back-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-topstitch-top-back-s.webp&quot; alt=&quot;I made a PJ top in a pink cotton with abstract, colorful quilty shapes printed on it. This photo shows the back of my head so that you can see a matching pink scrunchie holding my ponytail.&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;🪡 Finished sewing up &lt;a href=&quot;https://making.melanie-richards.com/matchy-matchy-pjs/&quot;&gt;a matchy-matchy PJ set&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🪡 Started my foray into clothes you wear &lt;em&gt;outside the house&lt;/em&gt; with a &lt;a href=&quot;https://megannielsen.com/products/eucalypt-woven-tank-dress-sewing-pattern&quot;&gt;Eucalypt Tank&lt;/a&gt;. I’m between size ranges and chose to sew &lt;a href=&quot;https://megannielsen.com/products/eucalypt-curve-top-dress-sewing-pattern&quot;&gt;the Curve version&lt;/a&gt; which meant learning how to sew DARTS! I want to take some photos and write a blog post about the process, but the tank top is very comfy, fits well, and I’m very proud of it.&lt;/li&gt;
&lt;li&gt;🧦 I went on a knitting rescue mission and saved my second sock! Long story short, I tried to undo a mistake in the heel flap, bad things happened, and my knitting was no longer on my needles. I was using size 0 needles, which meant getting the little loops back on was impossible—they kept pulling out. What I ended up doing was threading the needles through the SECOND row down, then pulling out the first row. That way I could reknit just a few botched rows instead of starting all over…&lt;/li&gt;
&lt;li&gt;🖍️ I drew two spreads in my Talens Art Creation sketchbook (&lt;a href=&quot;https://www.instagram.com/p/DAMRiBBS5Iy/&quot;&gt;here’s a strawberry one&lt;/a&gt;). I keep waffling on how much I want to share from my sketchbooks on the internet. On the one hand, it’s nice to have a creative outlet just for yourself. On the other hand, I enjoy sharing openly with my communities. I honestly may just keep most of this to an Art Friends Discord I’m active in.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;side-quests&quot;&gt;Side Quests&lt;/h2&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--thirds&quot;&gt;
  &lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pink-sky-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pink-sky-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pink-sky-s.webp&quot; alt=&quot;A very gentle pink sunset sky with a conifer poking up from the bottom of the frame&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Everything bathed in pink light&lt;/figcaption&gt;&lt;/figure&gt;
  &lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-brunch-eggs-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-brunch-eggs-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-brunch-eggs-s.webp&quot; alt=&quot;A grain bowl with cauliflower, root veg, and a halved soft boiled egg on top. Lots of color in this meal!&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Beautiful little brunch bowl&lt;/figcaption&gt;&lt;/figure&gt;
  &lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gingko-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gingko-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gingko-s.webp&quot; alt=&quot;A green bough of gingko leaves with a bit of browning along their edges.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Neighborhood gingko&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Saw Future Islands play at the Paramount and had a fantastic time&lt;/li&gt;
&lt;li&gt;Savored last-days-of-summer produce&lt;/li&gt;
&lt;li&gt;Hit a 90 day streak on meditation, my best yet! 🌟&lt;/li&gt;
&lt;li&gt;Made an egg sandwich inspired by “The Sentence” by Louise Erdrich, which has been living rent-free in my head for two years&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mushroomcoloratlas.com/&quot;&gt;Mushroom Color Atlas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://bookcoverarchive.com/&quot;&gt;Book Cover Archive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://charm.sh/&quot;&gt;charm.sh&lt;/a&gt; for cuter command line apps&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;When compiling this list, I was surprised to note I hadn’t highlighted anything in &lt;a href=&quot;https://readwise.io/read&quot;&gt;the Reader app&lt;/a&gt; for the back half of September. Things have been really busy leading up to Webflow Conf!&lt;/p&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.swiss-miss.com/2024/09/this-struck-a-nerve.html&quot;&gt;Let’s Bring the Blog-Roll Back&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/coming-home&quot;&gt;Coming Home&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.svpg.com/coaching-feedback/&quot;&gt;Coaching Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gentlemanstationer.com/blog/2023/7/22/2023-travelogue-what-i-consider-when-visiting-pen-stores-pen-shows-and-shopping-at-smaller-retailers-in-general&quot;&gt;2023 Travelogue: What I Consider When Visiting Pen Stores and Shopping at Smaller Retailers in General&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wellappointeddesk.com/2024/09/30-ways-to-fill-an-empty-notebook-revised-enhanced/&quot;&gt;30+ Ways to Fill an Empty Notebook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ericafustero.com/project/a-drawing-a-day-2024-08&quot;&gt;A drawing a day · Agosto 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://katebingamanburt.substack.com/p/oh-hey-what-kind-of-pen-do-you-use?utm_source=substack&amp;amp;utm_medium=email&quot;&gt;Oh Hey! What Kind of Pen Do You Use?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.psychologytoday.com/us/blog/shouldstorm/202012/weve-got-depression-all-wrong-its-trying-to-save-us&quot;&gt;We’ve Got Depression All Wrong. It’s Trying to Save Us.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.personalcanon.com/p/research-as-leisure-activity&quot;&gt;Research as Leisure Activity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/science/article/2024/sep/05/common-food-dye-found-to-make-skin-and-muscle-temporarily-transparent&quot;&gt;Common Food Dye Found to Make Skin and Muscle Temporarily Transparent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.notion.so/What-s-in-Your-Control-5ffa3939926f436e8853f94924489e21?pvs=21&quot;&gt;Study Reveals How Exercising Only on the Weekends Affects the Human Body&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Manage variables at scale with reordering and bulk actions” on Webflow</title>
      <link href="https://webflow.com/updates/variable-reordering-bulk-actions"/>
      <updated>2024-09-04T00:00:00.000Z</updated>
      <id>https://webflow.com/updates/variable-reordering-bulk-actions</id>
      <content type="html">
        <p>Organize your variables how you see fit—reorder, group, or delete your variables with drag and drop or bulk actions.</p>
        <a href="https://webflow.com/updates/variable-reordering-bulk-actions">Read the article on Webflow</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2408/"/>
      <updated>2024-09-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2408/</id>
      <content type="html">&lt;p&gt;2024 continues to race by, and August was no exception. This month found me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Doing a bit of hiking and drawing en plein air&lt;/li&gt;
&lt;li&gt;Spending time with friends&lt;/li&gt;
&lt;li&gt;Catching the garment-sewing bug&lt;/li&gt;
&lt;li&gt;Clearing all my queues (to-read list on The StoryGraph, to-watch lists on streaming services)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Right&lt;/em&gt; at the end of August I had a minor injury that meant I was down for the count all of Labor Day weekend. It’s frustrating to be able to do nothing but binge watch TV for a few days, but I’m taking that as a signal from my body to &lt;em&gt;slow down and do nothing, please!&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media&quot;&gt;
  &lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-talapus-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-talapus-s.webp&quot; alt=&quot;An alpine lake with hills behind, covered in evergreen trees. In the foreground of the lake lie floating logs. In front of this scene, my hand is holding a small square sketchbook with a rendering of the lake.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Talapus Lake&lt;/figcaption&gt;&lt;/figure&gt;
  &lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ollalie-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ollalie-s.webp&quot; alt=&quot;My hand holding the sketchbook in front of another alpine lake. I’ve drawn the two lakes using water color and Neocolor II crayons&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Olallie Lake&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;In the blog-post-writing / parallel play group that I have going with friends, I was reminded quite suddenly that I used to have an eZine?! That people actually submitted their work to??? It was called Ego Bruise and had very “I’m in college” flair, so I’m equal parts mortally embarrassed and impressed that I had the bandwidth to organize this. Didn’t last very long, but you can find all the issues on &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2408/#issuu-note&quot; id=&quot;issuu-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;Issuu&lt;/a&gt;: &lt;a href=&quot;https://issuu.com/offshoot/docs/issue1&quot;&gt;Issue 1&lt;/a&gt;, &lt;a href=&quot;https://www.notion.so/Learning-Log-Aug-2024-cea15e35f4f54646a406b81a4267fae4?pvs=21&quot;&gt;Issue 2&lt;/a&gt;, &lt;a href=&quot;https://issuu.com/egobruise/docs/issue3&quot;&gt;Issue 3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9A%80-shipping&quot;&gt;🚀 Shipping&lt;/h2&gt;
&lt;p&gt;At Webflow, we added support for &lt;a href=&quot;https://webflow.com/updates/drop-shadows&quot;&gt;drop shadow filters&lt;/a&gt; natively into the Style panel. I’ve started &lt;a href=&quot;https://melanie-richards.com/product/wf-tiny-but-mighty/&quot;&gt;compiling “tiny but mighty” updates&lt;/a&gt; from the Styles team; I’m the PM arm of that product triad.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;p&gt;I sewed my first garment, &lt;a href=&quot;https://making.melanie-richards.com/carolyn-pjs/&quot;&gt;a pair of Carolyn pajama bottoms&lt;/a&gt;! Later in August I sewed up a matching top and scrunchie from other patterns, though I have yet to take some awkward photos for a blog post.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://public.work/&quot;&gt;Public.work&lt;/a&gt;, a search engine for visual art in the public domain&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mstdn.ca/@paulisci/112923374543314532&quot;&gt;A Brief History of Nobody Dresses Well Anymore&lt;/a&gt;, a chuckle-worthy Mastodon thread&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tumblr.com/videogamesskies&quot;&gt;Video Games Skies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;July was a big book-reading month, so of course in August I only read 2 books. My favorite of the two was &lt;a href=&quot;https://bookshop.org/a/15644/9780593418918&quot;&gt;“The God of the Woods” by Liz Moore&lt;/a&gt;, a quite literary thriller.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2024/07/atypical-customer-stories/?utm_source=Product+Talk+Subscribers&amp;amp;utm_medium=Monthly+Newsletter&amp;amp;utm_campaign=Monthly+Newsletter+-+July+28%2C+2024&quot;&gt;Ask Teresa: What Do You Do With Atypical Customer Stories?&lt;/a&gt; A recent favorite product read.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://andrewchen.substack.com/p/why-high-growth-high-churn-products&quot;&gt;Why High Growth, High Churn Products Never Seem to Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dovetail.com/outlier/customer-feedback-pile-needs-makeover/?utm_source=newsletter&amp;amp;utm_medium=organic&amp;amp;utm_campaign=outlier&amp;amp;utm_campaign=Outlier+newsletter+August+%231+2024&amp;amp;utm_content=Outlier+newsletter+August+%231+2024&amp;amp;utm_medium=email_action&amp;amp;utm_source=customer.io&quot;&gt;Your Customer Feedback Pile Needs a Makeover: A System for Sorting So You’ll Always Work on the Right Things&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://theoffingmag.com/enumerate/this-likert-life/&quot;&gt;This Likert Life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amivora.substack.com/p/the-4-components-of-product-quality&quot;&gt;The 4 Components of Product Quality: Performance, Bugs, Completeness, and Consistency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2024/07/getting-bottom-minimum-wcag-conformant-interactive-element-size/&quot;&gt;Getting To The Bottom Of Minimum WCAG-Conformant Interactive Element Size&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://privacysandbox.com/intl/en_us/news/privacy-sandbox-update/&quot;&gt;A New Path for Privacy Sandbox on the Web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anhvn.com/posts/2024/things-im-working-on/&quot;&gt;Things I’m Working On&lt;/a&gt;. I very much enjoy following along with Anh’s digital gardening.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/applebot-extended-apple-ai-scraping/&quot;&gt;Major Sites Are Saying No to Apple’s AI Scraping&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mindfulambition.net/important-but-not-urgent/&quot;&gt;How to Make Time for What’s Important but Not Urgent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2024/08/03/reader-question-how.html&quot;&gt;Reader Question 9: How Long Do You Keep Your Notes?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/the-guilt-of-missing-days&quot;&gt;The Guilt of Missing Days&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/how-i-make-vision-boards-to-set-intentions-with-my-bullet-journal&quot;&gt;How I Make Vision Boards to Set Intentions With My Bullet Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wonderpens.ca/blogs/uncategorized/travel-journalling-with-kids&quot;&gt;Travel Journalling With Kids&lt;/a&gt;. Me if we ever have kids.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scientificamerican.com/article/dark-oxygen-discovered-coming-from-mineral-deposits-on-deep-seafloor/&quot;&gt;‘Dark Oxygen’ Discovered Coming from Mineral Deposits on Deep Seafloor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kuow.org/stories/seattle-crows-are-so-smart-they-re-challenging-what-we-know-about-evolution&quot;&gt;Seattle Crows Are So Smart, They’re Challenging What We Know About Evolution&lt;/a&gt;, via &lt;a href=&quot;https://buttondown.com/ericwbailey&quot;&gt;Eric Bailey&lt;/a&gt;. Crows have cemented themselves as the beloved mascot of our writing group.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.notion.so/a367752e98974950b5c3a0e468051ef9?pvs=21&quot;&gt;Airbnb Unveils a Life-Sized ‘90s-Inspired Polly Pocket Home and You Can Book Your Stay Now&lt;/a&gt;. Ok but why do you have to sleep in a separate tent?!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medicine.wustl.edu/news/nasal-covid-19-vaccine-halts-transmission/&quot;&gt;Nasal COVID-19 Vaccine Halts Transmission&lt;/a&gt;. Good news, also via Eric.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, July 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2407/"/>
      <updated>2024-08-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2407/</id>
      <content type="html">&lt;p&gt;Summer is in full swing over here in Seattle! In July I attended a couple food festivals with friends (the 50th annual Ballard Seafood Fest; Bite of Seattle), hiked my first trail of the year &lt;code&gt;:lol-sob:&lt;/code&gt;, and sketched en plein air.&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media&quot;&gt;
  &lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-glen-sketch-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-glen-sketch-s.webp&quot; alt=&quot;Me holding a small square sketchbook in a wooded glen, with a drawing of a crow holding its beak wide to cool down&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;A glen in Seattle&lt;/figcaption&gt;&lt;/figure&gt;
  &lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-little-si-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-little-si-s.webp&quot; alt=&quot;Me holding a small square sketchbook with a watercolor painting of a mountain top, in front of said mountain top&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;On top Little Si&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;A friend of mine also invited me along to an artist talk and exhibition opening with &lt;a href=&quot;https://pottery-northwest.myshopify.com/pages/jai-sallay-carrington-exhibition&quot;&gt;Jai Sallay-Carrington at Pottery Northwest&lt;/a&gt; (sculptures at link are slightly NSFW). Their ceramic sculptures are so impressive, and I really enjoyed hearing them speak about their creative journey and process. Ceramics enthusiasts in the audience asked novel questions I wouldn’t have thought to ask, yet I found myself curious to hear the answer.&lt;/p&gt;
&lt;h2 id=&quot;quarterly-quests&quot;&gt;Quarterly Quests&lt;/h2&gt;
&lt;p&gt;Mid-July, I decided to try out—in &lt;a href=&quot;https://www.youtube.com/@aliabdaal&quot;&gt;Ali Abdaal&lt;/a&gt; parlance—Quarterly Quests. How I’m using this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looking at my major life areas, which I’ve defined as Health, Relationships, Work, and Play.&lt;/li&gt;
&lt;li&gt;Picking a couple things I want to focus on in a quarter.&lt;/li&gt;
&lt;li&gt;Reflecting daily/weekly on what I might want to do in that period to advance my Quarterly Quest.&lt;/li&gt;
&lt;li&gt;In addition to this, I’m also trying to get in an &lt;a href=&quot;https://juliacameronlive.com/basic-tools/artists-dates/&quot;&gt;“Artist Date”&lt;/a&gt; or a “Side Quest” each month—basically injecting some ✨ novelty ✨ and ✨ whimsy ✨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are two wolves inside me: the one that sets all these goals and rules and habit cadences for myself, and the other wolf that burns all my energy at work. So far I like that this system leans on thoughtful reflection instead of Rules and Disappointing Myself When I Don’t Keep Up My Streak.&lt;/p&gt;
&lt;p&gt;Here’s how my Quarterly Quests went in July:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Quest&lt;/th&gt;
&lt;th&gt;July updates&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&quot;c-meta&quot;&gt;🏃🏼‍♀️ Health&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Enjoy seasonally on-theme movement&lt;/td&gt;
&lt;td&gt;Went for a first hike, tried out a class at the local pool with a friend, went on sweaty walks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&quot;c-meta&quot;&gt;💖 Relationships&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Redacted, I don’t have to tell the internet everything&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&quot;c-meta&quot;&gt;👩‍💻 Work&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Take breaks during the work day (a necessity, not a luxury)&lt;/td&gt;
&lt;td&gt;Mixed success, I’m working on it! Coffee walks with my husband help.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&quot;c-meta&quot;&gt;🧵 Play&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Learn how to sew clothes&lt;/td&gt;
&lt;td&gt;Started working on a pair of Carolyn pajama bottoms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&quot;c-meta&quot;&gt;👩‍🎨 Play&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Sketch on location&lt;/td&gt;
&lt;td&gt;Did this twice!&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;A theme you’ll notice is that Mandy Brown has been publishing some GREAT articles.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dovetail.com/outlier/deadly-sins-continuous-discovery/?utm_source=newsletter&amp;amp;utm_medium=organic&amp;amp;utm_campaign=outlier&quot;&gt;The Four Deadly Sins of Continuous Discovery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://andrewchen.substack.com/p/why-its-so-hard-to-be-data-driven&quot;&gt;Why Data-Driven Product Decisions Are Hard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/how-the-european-accessibility-act-eaa-will-impact-product-accessibility/&quot;&gt;How the European Accessibility Act (EAA) Will Impact Product Accessibility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/european-accessibility-act-eaa-top-20-key-questions-answered/&quot;&gt;European Accessibility Act (EAA): Top 20 Key Questions Answered&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design-%26-development&quot;&gt;Design &amp;amp; development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.website/published/free-idea-design-token-ugly-mode/&quot;&gt;Free Idea: Design Token Ugly Mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/21278&quot;&gt;Directory enquiries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/apple-hits-a-major-roadblock-as-eu-targets-app-store/&quot;&gt;EU Says Apple&#39;s App Store Is in Breach of Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matthiasott.com/notes/highlighting-blogging-on-mastodon&quot;&gt;Highlighting Blogging on Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/apra-privacy-bill-doomed/&quot;&gt;Surprise! The Latest ‘Comprehensive’ US Privacy Bill Is Doomed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/aws-perplexity-bot-scraping-investigation/&quot;&gt;Amazon Is Investigating Perplexity Over Claims of Scraping Abuse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cur.at/gxuA9p3?m=email&amp;amp;sid=b8euTXa&quot;&gt;Google’s Emissions Climb Nearly 50% in Five Years Due to AI Energy Demand&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2024/7/2/24190823/figma-ai-tool-apple-weather-app-copy&quot;&gt;Figma pulls AI tool after criticism that it ripped off Apple’s design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/knowledge-workers&quot;&gt;Knowledge Workers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/make-kin-not-nets/&quot;&gt;Make Kin Not Nets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rachsmith.com/field-notes/&quot;&gt;Field notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2024/07/21/digital-is-ephemeral.html&quot;&gt;Digital Is Ephemeral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wonderpens.ca/blogs/uncategorized/thoughts-on-travel-journalling&quot;&gt;Thoughts on Travel Journalling&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2024/07/its-not-about-details.html&quot;&gt;The Details Don&#39;t Make the Scene&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smithsonianmag.com/smart-news/leftover-ramen-broth-is-causing-problems-on-south-koreas-mount-hall-180984633/&quot;&gt;Leftover Ramen Broth Is Causing Problems on South Korea’s Mount Halla&lt;/a&gt; (via &lt;a href=&quot;https://buttondown.email/ericwbailey/archive/sc-244-out-of-my-head-and-onto-the-web/&quot;&gt;Eric&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/06/sneak-peek-mundango/&quot;&gt;Sneak Peek: Mundango&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lea.verou.me/blog/2024/engage-dont-show/&quot;&gt;Forget “Show, Don’t Tell”. Engage, Don’t Show!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/grow-down&quot;&gt;Grow down&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.audacy.com/wbbm780/news/national/americas-7-elevens-to-become-japanese-style&quot;&gt;America&#39;s 7-Elevens to Become &#39;Japanese Style&#39;&lt;/a&gt;. PLEASE!&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Snowflake dashboard notes</title>
      <link href="https://melanie-richards.com/blog/snowflake-notes/"/>
      <updated>2024-07-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/snowflake-notes/</id>
      <content type="html">&lt;p&gt;I have long lamented the fact that Snowflake doesn’t enable you to add open text to your dashboard in Snowsight (their web UI). Often I want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add a description to the dashboard&lt;/li&gt;
&lt;li&gt;Link to an accompanying analysis doc&lt;/li&gt;
&lt;li&gt;Structure the dashboard with headings&lt;/li&gt;
&lt;li&gt;Add notes clarifying how the data was queried, what caveats exist, externalities that might show up, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One of the data scientists at my company recently BLEW MY MIND 🤯 with a workaround for Snowflake dashboard notes. The answer? Stuff ’em in a query. Seems so obvious once you know the trick!&lt;/p&gt;
&lt;h2 id=&quot;how-to-add-notes-to-a-dashboard-in-snowflake&quot;&gt;How to add notes to a dashboard in Snowflake&lt;/h2&gt;
&lt;p&gt;You can achieve a “Notes” tile such as this one:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snowflake-notes-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snowflake-notes-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snowflake-notes-s.webp&quot; alt=&quot;A tile from a Snowflake dashboard titled About this dashboard. It shows a notes table, where each row in the table is actually just a string of text. There is only one column.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;With the following SQL snippet:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT &#39;- Some comment about how the data was queried&#39; AS notes
UNION
SELECT &#39;- This data does not account for x y and z&#39; AS notes
UNION
SELECT &#39;- Usage spikes at A, B, C marketing moments and dips during the winter holiday season&#39; AS notes
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This snippet includes a “query” for each string you want to add to a &lt;code&gt;notes&lt;/code&gt; table. The &lt;code&gt;UNION&lt;/code&gt; &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/snowflake-notes/#union-all-note&quot; id=&quot;union-all-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;operator&lt;/a&gt; glues these queries together, such that each string is its own row in &lt;code&gt;notes&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Imagine all the nonsense you could get up to by manually selecting and &lt;a href=&quot;https://docs.snowflake.com/en/sql-reference/sql/insert&quot;&gt;inserting data&lt;/a&gt; into a query…while I would still prefer the ability to add open text (including headings) to a dashboard, this is an intriguing workaround before that flexibility is built into the product.&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;union-all-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;&lt;a href=&quot;https://docs.snowflake.com/en/sql-reference/operators-query#union-all&quot;&gt;UNION ALL&lt;/a&gt; behaves a bit differently regarding duplicate handling, but doesn’t matter in our example &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/snowflake-notes/#union-all-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, June 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2406/"/>
      <updated>2024-07-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2406/</id>
      <content type="html">&lt;p&gt;My husband and I visited my family in Gainesville, FL for Father’s Day and my niece’s fifth birthday. Still a Cool Fun Aunt, fingers crossed that status holds!🤞🏻&lt;/p&gt;
&lt;p&gt;This was a particularly nature-filled trip: my husband had never seen an alligator before—crocodiles, yes—so we made it our mission to spot one. We apparently just missed a big one that had wandered further into the UF campus from Lake Alice, but we did catch a couple in the lake itself!&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media&quot;&gt;
  &lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-alligator-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-alligator-s.webp&quot; alt=&quot;A small alligator gliding along in fairly clear and sandy-bottomed shallow waters. It has bands of yellow across its scales.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Just a baby swamp puppy&lt;/figcaption&gt;&lt;/figure&gt;
  &lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-turtles-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-turtles-s.webp&quot; alt=&quot;Two freshwater turtles on a log, stretching towards the sun. In the background are deciduous trees, and in the foreground, crystal-clear aqua waters&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;So. Many. Turtles!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;The next day, we floated down the Ichetucknee Springs and spotted tons of turtles sunning themselves, cattle egrets, and a beautiful yellow-crowned night heron.&lt;/p&gt;
&lt;p&gt;I was chatting with someone about our trip when we came back, and they remarked that they weren’t expecting me to have such a stereotypically Floridian trip…and yet! 😂&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9A%A2-shipping&quot;&gt;🚢 Shipping&lt;/h2&gt;
&lt;p&gt;Shipped a “small but important update” with the team: &lt;a href=&quot;https://webflow.com/updates/important-custom-properties&quot;&gt;!important flag in Webflow custom properties&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;&lt;strong&gt;🌱 Digital gardening&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Created a &lt;a href=&quot;https://melanie-richards.com/changelog/&quot;&gt;changelog&lt;/a&gt;! It was fun poking around in the Wayback Machine to uncover older versions of the site design.&lt;/li&gt;
&lt;li&gt;Finally added a &lt;a href=&quot;https://melanie-richards.com/is/reading/&quot;&gt;Reading page&lt;/a&gt;—powered by the Airtable API—and &lt;a href=&quot;https://melanie-richards.com/blog/new-reading-page/&quot;&gt;wrote a blog post&lt;/a&gt; about the process.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;learning&quot;&gt;Learning&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;How to use the Airtable API&lt;/li&gt;
&lt;li&gt;How to bead fringe earrings&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%E2%9C%82%EF%B8%8F-making&quot;&gt;✂️ Making&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Finished sewing my &lt;a href=&quot;https://making.melanie-richards.com/creative-maker-case/&quot;&gt;Creative Maker Supply Case&lt;/a&gt; and feeling very accomplished 😌&lt;/li&gt;
&lt;li&gt;Started knitting my second sock (in a pair, and ever)&lt;/li&gt;
&lt;li&gt;Set up a &lt;a href=&quot;https://arttoolkit.com/supplies/empty-pocket-palette/?color=black&quot;&gt;new travel palette&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wrapped up my journal for the first half of the year, and started a new one for July–December&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=EBydiOSzxQw&quot;&gt;This short but sweet video&lt;/a&gt; about finding the energy to sew&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://slashpages.net/&quot;&gt;Slash Pages&lt;/a&gt;: yay, more little ideas for me to get excited about!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Only finished two books this month, but those accounted for about 1000 pages?!&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/the-linear-method-opinionated-software/&quot;&gt;The Linear Method: Opinionated Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://review.firstround.com/how-to-take-bigger--bolder-product-bets-lessons-from-slacks-chief-product-officer/&quot;&gt;How to Take Bigger, Bolder Product Bets — Lessons from Slack’s Chief Product Officer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ishadeed.com/article/css-cap-unit/&quot;&gt;CSS Cap Unit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/everything-apple-announced-wwdc-2024/&quot;&gt;Everything Apple Announced at WWDC 2024: AI Features, New Siri, Genmoji&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/&quot;&gt;News From WWDC24: WebKit in Safari 18 Beta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/css-container-queries/&quot;&gt;CSS Container Queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/2024/06/what-are-css-container-style-queries-good-for/&quot;&gt;What Are CSS Container Style Queries Good For?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendmasters.com/blog/weve-got-container-queries-now-but-are-we-actually-using-them/&quot;&gt;We’ve Got Container Queries Now, but Are We Actually Using Them?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rachelandrew.co.uk/archives/2024/05/26/masonry-and-reading-order/&quot;&gt;Masonry and reading order&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;ai&quot;&gt;AI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.website/published/consent-llm-scrapers-and-poisoning-the-well/&quot;&gt;Consent, LLM Scrapers, and Poisoning the Well&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/laborsaving&quot;&gt;“Laborsaving”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/daily-habits/&quot;&gt;Daily Habits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zapier.com/blog/flowtime-technique/&quot;&gt;How to use the Flowtime Technique to boost your productivity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drewscape.blogspot.com/2024/06/how-i-draw-from-imagination.html&quot;&gt;How I Draw From Imagination&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ben.page/forks&quot;&gt;Donating Hundreds of Forks to the Dining Hall&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thepenguinpost.substack.com/p/seattle-independent-bookstore-tour&quot;&gt;Seattle Independent Bookstore Tour&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New Reading page, powered by the Airtable API</title>
      <link href="https://melanie-richards.com/blog/new-reading-page/"/>
      <updated>2024-06-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/new-reading-page/</id>
      <content type="html">&lt;p&gt;In all my years as an absolute book fiend with a personal website, I’ve never hosted my reading list here! That’s now changed with a &lt;a href=&quot;https://melanie-richards.com/is/reading/&quot;&gt;Reading&lt;/a&gt; page, the start of a &lt;a href=&quot;https://melanie-richards.com/is/&quot;&gt;new /is/ section&lt;/a&gt; of my site.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-reading-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-reading-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-reading-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-reading-s.webp&quot; alt=&quot;A grid of book covers with titles, authors, and ratings displayed under the header 2024&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This site is built with the Eleventy SSG, and I’m using the Airtable API to bring in book data. Let’s explore how it’s built!&lt;/p&gt;
&lt;h2 id=&quot;but-first%2C-the-data&quot;&gt;But first, the data&lt;/h2&gt;
&lt;h3 id=&quot;choosing-a-data-source&quot;&gt;Choosing a data source&lt;/h3&gt;
&lt;p&gt;At the beginning of the year I signed up for the &lt;a href=&quot;https://www.patreon.com/CurrentlyReadingPodcast/posts&quot;&gt;Currently Reading podcast’s Patreon&lt;/a&gt;, which—amonst other benefits—gives patrons access to an annual reading Google Sheet. With my 2024 reading in a structured data format, I started by figuring out whether Sheets had an API.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.google.com/sheets/api/guides/concepts&quot;&gt;They do&lt;/a&gt;, but things were feeling a bit overly complex for a lil ol’ REST API, so I noped out of there pretty quickly. &lt;a href=&quot;https://airtable.com/developers/web/api/introduction&quot;&gt;Airtable’s API&lt;/a&gt;, on the other hand, is quite awesome: not only is it easy to authenticate with, but they have also interactive API docs &lt;em&gt;for any of your Airtable bases.&lt;/em&gt; I was able to explore bespoke documentation for exactly the fields in my database, and all of the example snippets &lt;em&gt;returned actual values in my data.&lt;/em&gt; This made building with their API so much easier.&lt;/p&gt;
&lt;h3 id=&quot;backfilling-data&quot;&gt;Backfilling data&lt;/h3&gt;
&lt;p&gt;For my 2024 data, I downloaded a CSV from that Google Sheet and uploaded it to my new Airtable base. For the rest of the 2020s, I exported a CSV from The Storygraph. You can find that function on &lt;strong&gt;Manage Account &amp;gt; Manage your data&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I then manually added some &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#metadata-note&quot; id=&quot;metadata-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;metadata&lt;/a&gt; to the pre-2024 books about author demographics and reading sources. I also uploaded book cover images to the base.&lt;/p&gt;
&lt;p&gt;In the final output, I link to the books (mostly) on &lt;a href=&quot;http://bookshop.org/&quot;&gt;Bookshop.org&lt;/a&gt;, using a &lt;code&gt;Bookshop ID&lt;/code&gt; field. I populated this field with the ISBN numbers that came in from The Storygraph, then ran the “Broken Link Checker” browser extension over the page to see which URLs I needed to fix (this was a big time saver, trust me).&lt;/p&gt;
&lt;h2 id=&quot;criteria&quot;&gt;Criteria&lt;/h2&gt;
&lt;p&gt;For my &lt;a href=&quot;https://melanie-richards.com/is/reading/&quot;&gt;Reading&lt;/a&gt; page, I wanted to keep things simple:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A list of books I’d read, in reverse chronological order, organized by year&lt;/li&gt;
&lt;li&gt;The book cover, a link, title, author, and rating for each book—along with special reasons for reading the book, if any&lt;/li&gt;
&lt;li&gt;Special treatments for my favorite books of the year, as well as books I decided not to finish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most “interesting” piece of criteria for me was that Airtable doesn’t let you hotlink images from their API. &lt;a href=&quot;https://support.airtable.com/docs/airtable-attachment-url-behavior&quot;&gt;Attachment URLs expire&lt;/a&gt;, so you have to download them somewhere else. This was my first time downloading and storing binary data from an API.&lt;/p&gt;
&lt;h2 id=&quot;how-it%E2%80%99s-built&quot;&gt;How it’s built&lt;/h2&gt;
&lt;p&gt;This walkthrough is an example of how you could use the Airtable API with Eleventy. I’m not the most confident with Node or JS promises, so it’s likely there’s a &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#garbage-note&quot; id=&quot;garbage-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;cleaner, better way&lt;/a&gt; to achieve this. Caveat emptor etc etc.&lt;/p&gt;
&lt;h3 id=&quot;storing-secrets&quot;&gt;Storing secrets&lt;/h3&gt;
&lt;p&gt;First, I added to my &lt;code&gt;.env&lt;/code&gt; file these secrets:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-jsx&quot;&gt;AIRTABLE_API_KEY=yourSecretKeyHere
AIRTABLE_BASE=yourBaseIdHere
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I also added these to my Netlify environment variables, so that they’re used at build time at the dev platform this site.&lt;/p&gt;
&lt;h3 id=&quot;grabbing-the-data&quot;&gt;Grabbing the data&lt;/h3&gt;
&lt;p&gt;Next, I created a data file in my project at &lt;code&gt;/src/_data/reading/2020s.js&lt;/code&gt;, where &lt;code&gt;/src/&lt;/code&gt; is the root source directory for Eleventy. This file does a few things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Fetches records (the books) from my Books base, using the “All” view. You don’t have to name the view, but doing so means that the view’s sorts and filters are applied (i.e. you don’t have to do those transformations in code). Airtable’s data is paginated, and they very nicely have a built-in recursive function &lt;code&gt;fetchNextPage()&lt;/code&gt; to…fetch the next page, if one exists.&lt;/li&gt;
&lt;li&gt;Reads the book’s &lt;code&gt;Year Read&lt;/code&gt; field and pushes it to an array, if it’s not already there. This enables me to structure my books by year.&lt;/li&gt;
&lt;li&gt;Then, creates a book object within that year by fetching several different fields from the record.&lt;/li&gt;
&lt;li&gt;Next, retrieves and downloads the book cover image, unless it’s already been stored in my code base. Because images are binary data, I needed to retrieve that data using the &lt;code&gt;pipe()&lt;/code&gt; function, and use a &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#link-fragment-note&quot; id=&quot;link-fragment-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;stream&lt;/a&gt; (&lt;code&gt;fs.createWriteStream()&lt;/code&gt;) to write said data to a new file.&lt;/li&gt;
&lt;li&gt;All of this data is returned in the Node module, and can now be used in my template files!&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-jsx&quot;&gt;const Airtable = require(&#39;airtable&#39;);
const base = new Airtable({ apiKey: process.env.AIRTABLE_API_KEY }).base(process.env.AIRTABLE_BASE);
const https = require(&#39;https&#39;);
const fs = require(&#39;fs&#39;);
const imageDir = &#39;src/assets/images/is/reading/&#39;;

module.exports = () =&amp;gt; {
  return new Promise((resolve, reject) =&amp;gt; {
    const booksByYear = [];

     // Specifying the Airtable view fetches records in the order they appear in that view
    base(&#39;Books&#39;).select({ view: &#39;All&#39; })
    .eachPage(
      function page(records, fetchNextPage) {

        // This function (`page`) will get called for each page of records.
        records.forEach((record) =&amp;gt; {
          const yearRead = record.get(&#39;Year Read&#39;);

          // Add the year to the book list if it&#39;s not already there
          if (!booksByYear.some(obj =&amp;gt; obj.year === yearRead)) {
            booksByYear.push({
              year: yearRead,
              books: []
            });
          }

          // Add the book to the relevant year
          booksByYear.find(obj =&amp;gt; obj.year === yearRead).books.push({
            title: record.get(&#39;Title&#39;),
            author: record.get(&#39;Author&#39;),
            bookshopId: record.get(&#39;Bookshop ID&#39;),
            specialUrl: record.get(&#39;Special URL&#39;),
            cover: record.get(&#39;Cover&#39;),
            DNF: record.get(&#39;DNF&#39;),
            fave: record.get(&#39;Fave&#39;),
            rating: record.get(&#39;Rating&#39;),
            starRating: record.get(&#39;Star Rating&#39;),
            reason: record.get(&#39;Reason for Reading&#39;),
            year: record.get(&#39;Year Read&#39;)
          });

          // Get cover image attachment
          const cover = record.get(&#39;Cover&#39;)[0];
          const coverFilename = cover.filename;
          const coverUrl = cover.url;
          const localCoverFile = imageDir + coverFilename;

          // Download cover image, if it doesn&#39;t already exist
          if (!fs.existsSync(localCoverFile)) {
            const imageFile = fs.createWriteStream(localCoverFile);
            https.get(coverUrl, function(response) {
              response.pipe(imageFile);

              // Close file stream
              imageFile.on(&#39;finish&#39;, () =&amp;gt; {
                imageFile.close();
              });
            });
          }

        });

        // To fetch the next page of records, call `fetchNextPage`.
        // If there are more records, `page` will get called again.
        // If there are no more records, `done` will get called.
        fetchNextPage();
      },

      function done(err) {
        if (err) {
          reject(err)
        } else {
          resolve(booksByYear);
        }
      }
    );
  });
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;rendering-the-data&quot;&gt;Rendering the data&lt;/h3&gt;
&lt;p&gt;I use Nunjucks for my layout template files. This portion of the page template:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Creates a new page section and counts the number of finished vs DNFed (did not finish) books, for each year in the &lt;code&gt;reading.2020s&lt;/code&gt; array.&lt;/li&gt;
&lt;li&gt;Then loops through each book for that year.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;{# Each reading year #}
{% for readingYear in reading.2020s %}
  &amp;lt;section class=&amp;quot;l-contain l-section&amp;quot;&amp;gt;
    &amp;lt;h2 class=&amp;quot;u-center&amp;quot;&amp;gt;{{ readingYear.year }}&amp;lt;/h2&amp;gt;

    {# Count number of books finished and DNFed #}
    {% set finishedCounter = 0 %}
    {% set DNFCounter = 0 %}
    {% for book in readingYear.books %}
      {% if book.DNF == true %}
        {% set DNFCounter = DNFCounter + 1 %}
      {% else %}
        {% set finishedCounter = finishedCounter + 1 %}
      {% endif %}
    {% endfor %}
    &amp;lt;p class=&amp;quot;u-center | c-meta&amp;quot;&amp;gt;Finished: {{ finishedCounter }}
      {% if DNFCounter &amp;gt; 0 %}
        | Did not finish: {{ DNFCounter }}
      {% endif %}
    &amp;lt;/p&amp;gt;

    {# Book list #}
    &amp;lt;ul class=&amp;quot;u-simple-list | c-is-items&amp;quot;&amp;gt;
    {% for book in readingYear.books %}
      {% include &amp;quot;partials/book.njk&amp;quot; %}
    {% endfor %}
    &amp;lt;/ul&amp;gt;

  &amp;lt;/section&amp;gt;
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;partials/book.njk&lt;/code&gt; goes a little something like this. I suppose the most interesting thing to call out is that the image dimensions are &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/loading#preventing_element_shift_during_image_lazy_loads&quot;&gt;important for lazy loading&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;li class=&amp;quot;c-is-item{% if book.DNF == true %} c-is-item--dnf{% endif%}{% if book.fave == true %} c-is-item--fave{% endif%}&amp;quot;&amp;gt;
  {% if book.fave == true %}&amp;lt;span class=&amp;quot;u-all-caps | c-meta | c-is-item__tag&amp;quot;&amp;gt;Fave&amp;lt;/span&amp;gt;{% endif %}
  {% if book.bookshopId %}
    {% set bookUrl = &amp;quot;https://bookshop.org/a/15644/&amp;quot; + book.bookshopId %}
  {% else %}
    {% set bookUrl = book.specialUrl %}
  {% endif %}
  &amp;lt;a class=&amp;quot;c-is-item__link&amp;quot; href=&amp;quot;{{ bookUrl }}&amp;quot;&amp;gt;
    &amp;lt;img class=&amp;quot;c-is-item__cover&amp;quot; src=&amp;quot;{{ site.isImages }}/reading/{{ book.cover[0].filename }}&amp;quot; loading=&amp;quot;lazy&amp;quot; width=&amp;quot;{{ book.cover[0].width }}&amp;quot; height=&amp;quot;{{ book.cover[0].height }}&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;
    &amp;lt;span class=&amp;quot;c-is-item__title&amp;quot;&amp;gt;{{ book.title }}&amp;lt;/span&amp;gt;
  &amp;lt;/a&amp;gt;
  &amp;lt;span class=&amp;quot;c-is-item__author&amp;quot;&amp;gt;{{ book.author }}&amp;lt;/span&amp;gt;
  {% if book.DNF == true %}
    &amp;lt;span class=&amp;quot;c-meta | c-is-item__dnf&amp;quot;&amp;gt;DNF&amp;lt;/span&amp;gt;
  {% else %}
    &amp;lt;span class=&amp;quot;c-is-item__rating&amp;quot;&amp;gt;
      &amp;lt;span class=&amp;quot;u-vis-hidden&amp;quot;&amp;gt;{{ book.rating }} stars&amp;lt;/span&amp;gt;
      &amp;lt;span aria-hidden=&amp;quot;true&amp;quot;&amp;gt;{{ book.starRating }}&amp;lt;/span&amp;gt;
    &amp;lt;/span&amp;gt;
  {% endif %}
  {% if book.reason == &#39;Book club&#39; or book.reason == &#39;SPL Book Bingo&#39; %}
    &amp;lt;span class=&amp;quot;u-all-caps | c-meta | c-is-item__reason&amp;quot;&amp;gt;{{ book.reason }}&amp;lt;/span&amp;gt;
  {% endif %}
&amp;lt;/li&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And that’s it! I found this a super fun project to work on; best believe I’ve already got my &lt;a href=&quot;https://merlin.allaboutbirds.org/&quot;&gt;Merlin&lt;/a&gt; bird observation data ported into Airtable. Three cheers for owning and playing with your own data!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;metadata-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;I don’t use this metadata on my personal site, but I do have it in Airtable so that I can understand what impact book content, author demographics, and reading sources has on my reading experience. This is an idea pulled directly from Currently Reading’s spreadsheet! &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#metadata-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;garbage-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Insert possum “don’t touch my garbage” meme here. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#garbage-ref&quot; aria-label=&quot;Back to reference 2&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;link-fragment-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Learn more about streams in Node &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/new-reading-page/#link-fragment-ref&quot; aria-label=&quot;Back to reference 3&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, May 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2405/"/>
      <updated>2024-06-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2405/</id>
      <content type="html">&lt;p&gt;How about that aurora?! We got to catch &lt;a href=&quot;https://www.notion.so/Learning-Log-May-2024-3cf002a2328c4ca5909e4c29a7224f11?pvs=21&quot;&gt;the aurora borealis over our neighborhood in Seattle&lt;/a&gt;, and I’m still so surprised and grateful that I got to have that bucket-list-level experience.&lt;/p&gt;
&lt;h2 id=&quot;webflow-retreat&quot;&gt;Webflow retreat&lt;/h2&gt;
&lt;p&gt;Also in gratifying experiences, Webflow held an all-team retreat in Quebec City, ~2 months into my tenure. That timeframe struck a lovely balance between having enough context into the team, while also getting a good sense of folks’ personalities in the 3D world early on.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-quebec-city-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-quebec-city-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-quebec-city-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-quebec-city-s.webp&quot; alt=&quot;A row of old stone buildings in a French architectural style sitting beyond a bright-green grassy hill. Aturret of the Fairmont Le Chateau Frontenac peeks up in the back.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;View of the edge of Old Town in Quebec City&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;There’s something really special about bonding as new co-workers and getting energized by each others’ enthusiasm for the work. And Quebec City in spring was beautiful: a mix of heavy stone architecture and delicate greenery. ✨&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%9A%A2-shipping&quot;&gt;🚢 Shipping&lt;/h2&gt;
&lt;p&gt;The team I work with at Webflow shipped a few tiny but mighty updates, like &lt;a href=&quot;https://webflow.com/updates/additional-sizing-and-layout-controls&quot;&gt;additional sizing and layout controls&lt;/a&gt;, and some small UX/UI tweaks for renaming grouped variables.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;&lt;strong&gt;🌱 Digital gardening&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;product-resources&quot;&gt;&lt;a href=&quot;https://product.melanie-richards.com/&quot;&gt;Product Resources&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added more resources&lt;/li&gt;
&lt;li&gt;Filtered out the “News” category from public view&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;world-snacks&quot;&gt;&lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;World Snacks&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Published a few new snack entries, including the first Canadian treat&lt;/li&gt;
&lt;li&gt;Made a couple copy changes on the “About” page&lt;/li&gt;
&lt;li&gt;Configured the browser &lt;a href=&quot;https://html.spec.whatwg.org/multipage/semantics.html#meta-theme-color&quot;&gt;theme color suggestions&lt;/a&gt; to match the big squish banner at the top of each page. I have a different color for dark mode vs other other color modes. One problem here is if the user chooses a theme from the theme switcher in the site footer that is different to their system color preferences, the browser theme color will look a bit disjointed. Still, I think it looks more intentional than browser default UI, in (likely most) cases where the color will match.&lt;/li&gt;
&lt;li&gt;Upgraded Eleventy to version 2.0&lt;/li&gt;
&lt;li&gt;Switched to using the Slugify package for cleaner page slugs, which is safer given some special characters in snack names that previously would fail my builds&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;highlights&quot;&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;Highlights&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Added highlights for &lt;a href=&quot;https://highlights.melanie-richards.com/book/the-night-watchman/&quot;&gt;“The Night Watchman”&lt;/a&gt; by Louise Erdrich&lt;/p&gt;
&lt;h3 id=&quot;crafts-blog&quot;&gt;&lt;a href=&quot;https://making.melanie-richards.com/&quot;&gt;Crafts blog&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Broadened the purpose of this site from just fiber crafts to any such analog crafty projects. The old subdomain now redirects to &lt;code&gt;making.melanie-richards.com&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Removed the projects list sidebar, as it keeps falling out of date&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.tumblr.com/gardenvarietywizard/743654876305850368/ive-found-that-if-its-still-really-hard-to-do&quot;&gt;Break in your sketchbooks!&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.svpg.com/ai-product-management/&quot;&gt;AI Product Management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lg.substack.com/p/the-looking-glass-the-paradoxes-of?utm_source=Product%2BTalk%2BSubscribers&amp;amp;utm_medium=Monthly%2BNewsletter&amp;amp;utm_campaign=Monthly%2BNewsletter%2B-%2BMarch%2B31%2C%2B2024&quot;&gt;The Looking Glass: The Paradoxes of Data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://scribe.rip/how-do-you-accidentally-run-for-president-of-iceland-0d71a4785a1e&quot;&gt;How Do You Accidentally Run for President of Iceland?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://breckyunits.com/sleepWriting.html&quot;&gt;Seven Years of Blog Posts, Sorted by Sleep&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ellyloel.com/blog/front-end-development-s-identity-crisis/&quot;&gt;Front-End Development’s Identity Crisis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/05/light-dark-experiment/&quot;&gt;A Quick Light-Dark() Experiment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/openai-gpt-4o-chatgpt-artificial-intelligence-her-movie/&quot;&gt;I Am Once Again Asking Our Tech Overlords to Watch the Whole Movie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work%2C-productivity%2C-%26-personal-development&quot;&gt;Work, productivity, &amp;amp; personal development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/out-of-time&quot;&gt;Out of Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/bookending/&quot;&gt;Bookending&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/farfetching/&quot;&gt;Farfetching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling%2C-stationery%2C-%26-art&quot;&gt;Journaling, stationery, &amp;amp; art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wellappointeddesk.com/2024/05/ink-100-part-5-the-final-reveal/&quot;&gt;Ink 100: Part 5 The Final Reveal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://oddorange.co.uk/blogs/news/get-back-into-sketchbooking-3-prompts-to-revive-your-practice&quot;&gt;Get Back Into Sketchbooking: 3 Prompts to Revive Your Practice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/science/2024/apr/22/try-something-new-to-stop-the-days-whizzing-past-researchers-suggest&quot;&gt;Try Something New to Stop the Days Whizzing Past, Researchers Suggest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Coping with impostor syndrome</title>
      <link href="https://melanie-richards.com/blog/impostor-syndrome/"/>
      <updated>2024-05-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/impostor-syndrome/</id>
      <content type="html">&lt;p&gt;While discussing impostor syndrome with friends recently, I was shocked to realize that for me it had mostly…gone away??? So much of my career has been plagued by (often very painful) feelings that I’m no good, and sooner or later everyone else will figure that out too. This current state of freedom would’ve been inconceivable.&lt;/p&gt;
&lt;p&gt;That got me thinking about what helped inspire this change. I found this came down to three basic strategies:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Recognizing the good in discomfort&lt;/li&gt;
&lt;li&gt;Getting in the reps&lt;/li&gt;
&lt;li&gt;Documenting evidence of personal growth&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Note: in my experience, marginalization-based impostor syndrome requires an additional set of strategies, and these may be more deeply personal or individual. This blog post is focused solely on the strategies I’ve developed for dealing with feelings of “insufficient” skill.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;recognizing-the-good-in-discomfort&quot;&gt;Recognizing the good in discomfort&lt;/h2&gt;
&lt;p&gt;Way back in 2013, I shared this quote from Ira Glass:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wish I had internalized this earlier, because it’s true: your frustration is telling you that you &lt;em&gt;have a good sense for quality&lt;/em&gt;, and you know you’re not there yet. This is something to be celebrated! You have a target to move towards, and &lt;strong&gt;you can trust your judgement&lt;/strong&gt; to guide you closer to where you want to be.&lt;/p&gt;
&lt;h2 id=&quot;getting-in-the-reps&quot;&gt;Getting in the reps&lt;/h2&gt;
&lt;p&gt;Patience with our evolving abilities is hard, though, so pairing the internal work with action can help. I found the best way to grow my skills is to get in the reps, and to be intentional and specific about the skills I’m trying to build. I do this in 3 steps.&lt;/p&gt;
&lt;h3 id=&quot;step-1%3A-get-specific-on-what-i%E2%80%99m-%E2%80%9Cnot-good-at%E2%80%9D&quot;&gt;Step 1: get specific on what I’m “not good at”&lt;/h3&gt;
&lt;p&gt;What &lt;em&gt;specifically&lt;/em&gt; is bothering me about my work? Have I heard any thematic feedback about these projects? Could I ask for that feedback? What limiting beliefs do I have about my work? Which of these do I wish weren’t true?&lt;/p&gt;
&lt;details&gt;
    &lt;summary&gt;Examples for a product manager might include…&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;My written communications tend to be verbose (hi, it me)&lt;/li&gt;
&lt;li&gt;I don’t know how to run effective correlative analysis&lt;/li&gt;
&lt;li&gt;My market research isn’t as systematic or structured as I’d like it to be&lt;/li&gt;
&lt;li&gt;I don’t talk to customers frequently enough&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h3 id=&quot;step-2%3A-pick-one-skill-to-develop-during-my-next-project&quot;&gt;Step 2: pick &lt;em&gt;one&lt;/em&gt; skill to develop during my next project&lt;/h3&gt;
&lt;p&gt;I might choose by what’s bothering me most, or what opportunities are currently available. Often I’ll dream up a personal project to learn something new, or find a low-stakes opportunity at work. Lower stakes can grant us additional psychological safety when building a skill.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; I’ll work on brevity in communications for the duration of my next roadmap initiative.&lt;/p&gt;
&lt;h3 id=&quot;step-3%3A-do-the-work!&quot;&gt;Step 3: do the work!&lt;/h3&gt;
&lt;details&gt;
    &lt;summary&gt;In the brevity example, I might…&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Research and apply frameworks for clear, concise messaging&lt;/li&gt;
&lt;li&gt;Set a word limit&lt;/li&gt;
&lt;li&gt;Imagine the audience is reading my message on their phone (thanks for that 🔥 tip, &lt;a href=&quot;https://www.joelcloralt.com/&quot;&gt;Joel!&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Practice getting words down in a first pass, then editing for brevity and clarity&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;p&gt;I’ve found it helpful (for some tasks) to focus on generating as many options as possible within a timebox. When I’m in pursuit of volume, I 1) don’t have the mental bandwidth to spiral and 2) am more likely to stumble upon a compelling option.&lt;/p&gt;
&lt;p&gt;If my brain does get yelly again, I can redirect it back to my intention for the project:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thank you, brain, for trying to protect me. But right now, what &lt;em&gt;this project needs&lt;/em&gt; is a brief Slack message that will prompt stakeholders to review the product requirement doc by the date requested. Hmm, what if I try “signposting” techniques here?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Objectively centering what the project needs, instead of my own “shortcomings”, has helped me take the heat out of these frustrations. I think this would be even more powerful if I were to write my intention down at the beginning of a project:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For the Flimflam integration initiative, my intention is to practice crafting clear, concise internal communications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;repeat!&quot;&gt;Repeat!&lt;/h3&gt;
&lt;p&gt;Repeat this process enough times and you might find that your “weakness” becomes a strength. My brother, a sequential artist, used to say he wasn’t good at background design. He practiced by drawing a LOT of backgrounds…and then a gaming company hired him to do exactly that, full-time.&lt;/p&gt;
&lt;h2 id=&quot;documenting-evidence-of-personal-growth&quot;&gt;Documenting evidence of personal growth&lt;/h2&gt;
&lt;h3 id=&quot;take-note-of-daily-wins&quot;&gt;Take note of daily wins&lt;/h3&gt;
&lt;p&gt;At the end of each work day, I write down 1-3 personal wins from the day, no matter how small. I later highlight 3 favorite wins in my weekly review. Attention creates our reality, and so I find this practice makes continual progress more obvious.&lt;/p&gt;
&lt;h3 id=&quot;keep-a-%E2%80%9Cbrag-sheet%E2%80%9D&quot;&gt;Keep a “brag sheet”&lt;/h3&gt;
&lt;p&gt;At the end of each two-week sprint, I tend to my brag sheet (Julia Evans has a &lt;a href=&quot;https://jvns.ca/blog/brag-documents/&quot;&gt;good write-up on brag documents&lt;/a&gt;).&lt;/p&gt;
&lt;details&gt;
    &lt;summary&gt;What goes in my brag sheet&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;The opportunity we were solving for and why&lt;/li&gt;
&lt;li&gt;The goals and solution&lt;/li&gt;
&lt;li&gt;My role, including special contributions&lt;/li&gt;
&lt;li&gt;Specific learnings&lt;/li&gt;
&lt;li&gt;Outcomes, including success measures and feedback&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;p&gt;This format is very easily to translate to annual performance reviews and &lt;a href=&quot;https://www.indeed.com/career-advice/interviewing/how-to-use-the-star-interview-response-technique&quot;&gt;“STAR”-style interview stories&lt;/a&gt;. Importantly for impostor syndrome, it’s also a growing body of evidence that I’m becoming more effective at what I do.&lt;/p&gt;
&lt;p&gt;These brag sheets are very satisfying to look back on: it’s amazing what we actually accomplish over time!&lt;/p&gt;
&lt;h3 id=&quot;keep-an-%E2%80%9Cencouragement%E2%80%9D-document&quot;&gt;Keep an “encouragement” document&lt;/h3&gt;
&lt;p&gt;While internally-sourced evidence has been most effective in building confidence and self-trust, external validation doesn’t hurt. I keep an “encouragement” document where I file any positive feedback I’ve received regarding my work or my character. If I’m having a rainy day, it can be really nice to glance through that document. Just seeing how short the scrollbar thumb is getting is quite gratifying.&lt;/p&gt;
&lt;p&gt;The encouragement document also helps me find patterns and pinpoint my strengths. I recently realized: “oh, caring is actually my superpower” (great news for a person who Feels their feelings).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The corollary here: it’s just as satisfying to liberally share genuine gratitude and appreciation for the people around me!&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;a-note-on-transferable-evidence&quot;&gt;A note on transferable evidence&lt;/h3&gt;
&lt;p&gt;Several years ago, I made a career switch from web design-and-development to product management. Everything I learned in my designer trajectory shapes who I am as a product manager today.&lt;/p&gt;
&lt;p&gt;Please don’t discount transferable knowledge: all your past accomplishments “count”. Your time working in retail “counts” towards your ability to talk to customers. Your self-initiated web projects “count” towards your grasp of technical concepts. It. All. Counts.&lt;/p&gt;
&lt;h2 id=&quot;my-impostor-syndrome-story&quot;&gt;My impostor syndrome story&lt;/h2&gt;
&lt;p&gt;Over the years, my impostor syndrome has mostly dissipated thanks to recognizing the good in discomfort; getting in the reps; and documenting evidence of personal growth.&lt;/p&gt;
&lt;p&gt;I’m sure impostor syndrome could return in significant “stretch” periods, but I’m now feeling more confident to handle it when it does. I hope my story helps you find strategies to try, and I’d be curious to learn what else has worked for you!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Aurora Borealis</title>
      <link href="https://melanie-richards.com/blog/aurora-borealis/"/>
      <updated>2024-05-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/aurora-borealis/</id>
      <content type="html">&lt;p&gt;Seeing the Northern Lights has been on my bucket list for a long time. I thought I would have to travel North to Alaska or to Scandinavia, then get lucky to get a glimpse of the lights. Never would I have imagined I would get to see the aurora right over my house.&lt;/p&gt;
&lt;p&gt;And yet!! I was moved to tears last night, gazing up at the night sky over my street. Without further ado, here a few favorite snaps of my particular view of the aurora last night, in chronological order.&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-1-m.webp&quot; alt=&quot;A very strong aurora over a fairly brightly lit residential street. There is a curtain of bright green waves of light below a backdrop of warm violet tones.&quot; /&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-2-m.webp&quot; alt=&quot;A more ethereal view in tropical blues and greens in the sky over some conifers. The pattern in this one is more like a burst of light.&quot; /&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-3-m.webp&quot; alt=&quot;Strong beams shooting down through the aurora into a different set of evergreens. It almost looks as though an alient spacecraft will beam us up. This one is purple on top and green on bottom&quot; /&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-4-m.webp&quot; alt=&quot;Similar shot taken a few seconds later, but the purples are more magenta and moody&quot; /&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-5-m.webp&quot; alt=&quot;Muddy, faded aurora behind a clump of pinkish-red rhododendrons&quot; /&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-aurora-7-m.webp&quot; alt=&quot;A deep, cooler purple sky beyond the peak of my house. More of a gradient than any sort of shape. Stars stud the aurora, including the big dipper.&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Hard not to keep taking photos, but the aurora changes character constantly. In this case it feels as though the camera lens actually enhances the experience, as you can pick up more color than meets the naked eye.&lt;/p&gt;
&lt;p&gt;At the end of the night we even saw the colors gently pulsing overhead. What an incredible treat. If you missed it and were within range, there may be more tonight.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2404/"/>
      <updated>2024-05-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2404/</id>
      <content type="html">&lt;p&gt;How is it May already? That feels unreal. April went by in a flash of flowers, figuring out which way is up at my new organization, and enjoying new-to-me restaurants around town.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-april-tulips-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-april-tulips-s.webp&quot; alt=&quot;A group of tulips in pale yellow and burgundy stripes&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;%F0%9F%9A%A2-shipping&quot;&gt;🚢 Shipping&lt;/h2&gt;
&lt;p&gt;I started my new role at Webflow in mid–late March, so April was a blend of continuing to onboard, forming a product area vision and strategy, and starting to be useful. The engineering team I’m working with here had been working on a &lt;a href=&quot;https://webflow.com/updates/pinned-ruler-and-crosshair&quot;&gt;pinned ruler and crosshair&lt;/a&gt; for measuring layouts on the Designer Canvas, so we got to launch this together!&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-making&quot;&gt;🧶 Making&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Still working on my first knit pair of socks&lt;/li&gt;
&lt;li&gt;A few &lt;a href=&quot;https://www.instagram.com/p/C5ertqUv7o7/&quot;&gt;plein air drawings&lt;/a&gt; for Plein Airpril&lt;/li&gt;
&lt;li&gt;Just started: a mini site documenting my analog journals and favorite stationery materials&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I really didn’t do any blogging this month, besides my Learning Log. In recent months I’ve been starting blog posts, second-guessing them or deciding they don’t need to see the light of day, then archiving them. Feeling mildly unsettled by not being brave? focused? enough to just finish one of these thoughts in public.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I only finished 2 books in April, which is particularly surprising given I participated in &lt;a href=&quot;https://deweysreadathon.wordpress.com/about/&quot;&gt;Dewey’s 24 Hour Readathon&lt;/a&gt;. I “DNF”ed a couple books that weren’t grabbing me.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sequoiacap.com/article/pmf-framework/&quot;&gt;The Arc Product-Market Fit Framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://brucelawson.co.uk/2024/drive-by-accessibility-tweaks/&quot;&gt;Drive-by Accessibility Tweaks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2023/10/how-to-stop-taking-work-so-personally&quot;&gt;How to Stop Taking Work So Personally&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/lifeandstyle/2024/mar/04/all-it-takes-is-a-quick-walk-how-a-few-minutes-exercise-can-unleash-creativity-even-if-you-hate-it?utm_source=Product+Talk+Subscribers&amp;amp;utm_medium=Monthly+Newsletter&amp;amp;utm_campaign=Monthly+Newsletter+-+April+28%2C+2024&quot;&gt;‘All It Takes Is a Quick Walk’: How a Few Minutes’ Exercise Can Unleash Creativity – Even if You Hate It&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;self-improvement&quot;&gt;Self-improvement&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cupofjo.com/2024/04/09/my-year-of-no/&quot;&gt;Why I Swear by ‘My Year of No’&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2020/08/take-ownership-of-your-future-self&quot;&gt;Take Ownership of Your Future Self&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/ideas/archive/2024/04/carl-jung-pillars-life-happiness/678009/&quot;&gt;Jung’s Five Pillars of a Good Life&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art&quot;&gt;Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://drewscape.blogspot.com/2023/11/control-where-people-look-using-tonal.html&quot;&gt;Control where people look using tonal values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2024/04/02/you-just-do-it-and-do-it-and-do-it/&quot;&gt;You Just Do It and Do It and Do It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2024/04/23/no-such-thing-as-waste/&quot;&gt;No Such Thing as Waste&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lizsteel.com/water-urbansketching/&quot;&gt;Managing Water Supply When Urban Sketching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; Stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fromthepencup.wordpress.com/2024/03/27/end-of-trip/&quot;&gt;“End of Trip”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2023/05/08/well/mind/allergies-depression-anxiety.html&quot;&gt;The Connection Between Seasonal Allergies and Mental Health&lt;/a&gt;. HUH.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Mar 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2403/"/>
      <updated>2024-04-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2403/</id>
      <content type="html">&lt;h2 id=&quot;new-role-at-webflow&quot;&gt;New role at Webflow&lt;/h2&gt;
&lt;p&gt;The biggest personal event lately is my transition to a new role at Webflow! I’m a Lead Product Manager (IC position, believe it or not) focused on styles and interactions in the Designer product. The &lt;a href=&quot;https://webflow.com/designer&quot;&gt;Designer&lt;/a&gt; is the main environment where users visually build websites.&lt;/p&gt;
&lt;p&gt;I can’t seem to write about this topic without a heap of sappiness and a light dusting of corporate cheese. 🧀 The tl;dr is I am grateful for so much: to the many incredible (seriously) people I worked with at Netlify, and the experiences I had there that helped me grow as a product manager. And for a new opportunity that aligns very well with my personal mission and leverages my unique background, with people who make me feel welcome. Humans are great, huh?&lt;/p&gt;
&lt;h2 id=&quot;palm-springs&quot;&gt;Palm Springs&lt;/h2&gt;
&lt;p&gt;In March, my husband and I took a (mildly) belated first anniversary trip down to Palm Springs, CA. Neither of us had been to PSP before, and we had a really nice time catching our breath lazing around by the pool for a long weekend.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-psp-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-psp-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-psp-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-psp-s.webp&quot; alt=&quot;The San Jacinto mountains perched behind downtown Palm Springs in a fading sunset light. In the foreground is a planter of puffy, ball-shaped cacti.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The view from the hotel roof at sundown&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;PSP also has a couple pretty awesome museums for a town of its size. The &lt;a href=&quot;https://www.accmuseum.org/&quot;&gt;Agua Caliente Cultural Museum&lt;/a&gt; in its beautiful new plaza is well worth a visit. This cultural center presents the cultural history of the Agua Caliente Band of the Cahuilla people in their own words.&lt;/p&gt;
&lt;p&gt;Likewise, I was impressed by the range of works on display at the &lt;a href=&quot;https://www.psmuseum.org/&quot;&gt;Palm Springs Art Museum&lt;/a&gt;. From works deeply rooted in the land; to modern art you might associate with PSP; to contemporary pieces across a wide variety of content and forms, there’s a lot to peruse.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-making&quot;&gt;🧶 Making&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Learned how to write &lt;a href=&quot;https://melanie-richards.com/blog/re-one-big-one-little/&quot;&gt;blackletter calligraphy&lt;/a&gt; (Textura Quadrata style)&lt;/li&gt;
&lt;li&gt;Continued knitting my first pair of socks&lt;/li&gt;
&lt;li&gt;Cooked a fun St. Patty’s Day brunch with my husband for our friends&lt;/li&gt;
&lt;li&gt;Did some plein air sketching&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pleinair-2403-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pleinair-2403-s.webp&quot; alt=&quot;The San Jacinto mountains perched behind downtown Palm Springs in a fading sunset light. In the foreground is a planter of puffy, ball-shaped cacti.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;A sunny day at Carkeek Park. A Youth came up to me while I was drawing and told me “that’s a good sketch”, and I was subsequently equal parts sheepish and chuffed.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;&lt;strong&gt;🌱 Digital Gardening&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/users/melanierichards/projects/5/views/3&quot;&gt;Project board on Github&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For reasons unknown, I had posts in my projects’ RSS feeds in chronological order, instead of reverse chronological order. So that has now been fixed with a quick  &lt;code&gt;| reverse&lt;/code&gt; filter. Thanks Eleventy!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed the copyright year in my footer (oops).&lt;/li&gt;
&lt;li&gt;Made sure 2023 and 2024 show up in the “browse by year” navigation on &lt;a href=&quot;https://www.notion.so/Learning-Log-Mar-2024-3acaab2979404324b21263f94ba58f21?pvs=21&quot;&gt;the blog&lt;/a&gt; (also oops).&lt;/li&gt;
&lt;li&gt;Changed up blog post card sizes a bit, at larger breakpoints. Previously, the first two blog posts would be rendered large (two-to-a-row), and subsequent posts would be rendered small (three-to-a-row). I decided to simplify the layout so that all posts on the first page are large, and all posts on subsequent pages are small.&lt;/li&gt;
&lt;li&gt;Made blog post margins and type size look better on ~tablet.&lt;/li&gt;
&lt;li&gt;Gave captions a little bit of horizontal padding.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;lit-tapes&quot;&gt;&lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added playlists for &lt;a href=&quot;https://littapes.melanie-richards.com/lit-tape/signal-to-noise/&quot;&gt;“Signal to Noise”&lt;/a&gt; by Silvia Moreno-Garcia, and &lt;a href=&quot;https://littapes.melanie-richards.com/lit-tape/the-perks-of-being-a-wallflower/&quot;&gt;“The Perks of Being a Wallflower”&lt;/a&gt; by Stephen Chbosky&lt;/li&gt;
&lt;li&gt;Improved the responsive layout for pagination, so that it stacks a bit more cleanly on smaller breakpoints.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.themicropedia.org/&quot;&gt;The Micropedia&lt;/a&gt;, a compendium of microaggressions (via &lt;a href=&quot;https://samkapila.com/clips/&quot;&gt;Sameera Kapila’s clips&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hellnet.work/8831/&quot;&gt;The 88x31 Archive&lt;/a&gt;, and &lt;a href=&quot;https://neonaut.neocities.org/cyber/88x31&quot;&gt;some history&lt;/a&gt; on these buttons&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;You can tell I actually had time between jobs to get through my Reader backlog…&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://swkhan.medium.com/b2b-product-managers-what-value-are-you-adding-a8b9c3fb46d1&quot;&gt;B2B Product Managers: What value are YOU adding?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;collaboration-%26-interpersonal&quot;&gt;Collaboration &amp;amp; Interpersonal&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.weskao.com/p/the-1-question-every-business-case&quot;&gt;The #1 Question Every Business Case Should Answer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.weskao.com/p/sign-posting-how-to-reduce-cognitive&quot;&gt;Sign Posting: How to Reduce Cognitive Load for Your Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.weskao.com/p/how-to-get-an-enthusiastic-yes&quot;&gt;How to Get an Enthusiastic Yes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;customer-discovery&quot;&gt;Customer Discovery&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://userresearch.blog.gov.uk/2014/09/16/sample-size-and-confidence/?utm_source=Product+Talk+Subscribers&amp;amp;utm_medium=Monthly+Newsletter&amp;amp;utm_campaign=Monthly+Newsletter+-+January+28%2C+2024&quot;&gt;Sample Size and Confidence: How to Get Your Team to Trust Qualitative Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://userresearch.blog.gov.uk/2014/08/06/have-you-had-your-recommended-dose-of-research/&quot;&gt;Have You Had Your Recommended Dose of Research?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;data&quot;&gt;Data&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dataanalysis.substack.com/p/how-to-measure-new-feature-adoption&quot;&gt;How to Measure New Feature Adoption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amplitude.com/blog/ultimate-guide-product-feature-analysis&quot;&gt;The Ultimate Guide to Product Features Analysis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;growth&quot;&gt;Growth&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://elenaverna.substack.com/p/b2b-product-led-growth-non-negotiable&quot;&gt;B2B Product-Led Growth Non-Negotiable: TEAM Network Effects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;vision-%26-strategy&quot;&gt;Vision &amp;amp; Strategy&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://swkhan.medium.com/how-to-create-a-product-vision-445e1fced272&quot;&gt;How to Create a Product Vision&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/swlh/theres-a-fine-line-between-strategy-and-fantasy-982431e83b94&quot;&gt;How to Stop Your Strategy From Turning Into a Fantasy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rogermartin.medium.com/is-the-opposite-of-your-choice-stupid-on-its-face-5b247ffd7f94&quot;&gt;Is the Opposite of Your Choice Stupid on Its Face?&lt;/a&gt;: I don’t love the central term here (would replace it with “non-sensical”), but the key takeaway holds.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://swkhan.medium.com/driving-clarity-and-alignment-via-business-and-product-objectives-6d2c9cca2046&quot;&gt;Connecting Business and Product Objectives&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design&quot;&gt;Design&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bpando.org/2024/03/05/place-making-branding-blue-mountains-for-the-people/&quot;&gt;Blue Mountains by For The People&lt;/a&gt;: the typography and use of shape in this brand really caught my eye!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://anhvn.com/posts/2024/my-eleventy-site-setup/&quot;&gt;My Eleventy site setup&lt;/a&gt;: I also quite liked this person’s current blog post styling and syntax highlighting scheme&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/151600/ef7e9370b1&quot;&gt;100 Things You Can Do on Your Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.website/published/thoughts-on-embedding-alternative-text-metadata-into-images/&quot;&gt;Thoughts on Embedding Alternative Text Metadata Into Images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/reddits-sale-user-data-ai-training-draws-ftc-investigation/&quot;&gt;Reddit’s Sale of User Data for AI Training Draws FTC Investigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spencerchang.substack.com/p/touching-computers&quot;&gt;Touching Computers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://darthmall.net/weblog/2024/indieweb-is-for-devs/&quot;&gt;The IndieWeb Is for Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tim.blog/2016/03/29/deloading-phase/&quot;&gt;Why You Need a &amp;quot;Deloading&amp;quot; Phase in Life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aaronfrancis.com/2024/do-literally-anything/&quot;&gt;Do Literally Anything&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elenaverna.substack.com/p/the-trap-of-tying-your-identity-to&quot;&gt;The Trap of Tying Your Identity to Your Job Title.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://brooke.substack.com/p/i-remember-you&quot;&gt;I remember you&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://effectiviology.com/shirky-principle/&quot;&gt;The Shirky Principle: Institutions Try to Preserve the Problem to Which They Are the Solution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://theatlantic.com/ideas/archive/2024/02/america-decline-hanging-out/677451/&quot;&gt;Why Americans Suddenly Stopped Hanging Out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://restofworld.org/2024/gig-work-account-rental/&quot;&gt;Gig Workers on Delivery Apps Rent Accounts to Get Around Bans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/20996&quot;&gt;What the World Needs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kotaku.com/windows-11-30-year-old-menu-nt-format-story-plummer-1851364593&quot;&gt;A 30-Year-Old Menu in Windows Was Meant to Be Temporary, Actually&lt;/a&gt;. Classic.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cur.at/1lSVN93?m=email&amp;amp;sid=b8euTXa&quot;&gt;AI ‘Apocalypse’ Could Take Away Almost 8m Jobs in UK, Says Report&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Re: One big, one little</title>
      <link href="https://melanie-richards.com/blog/re-one-big-one-little/"/>
      <updated>2024-03-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/re-one-big-one-little/</id>
      <content type="html">&lt;p&gt;Earlier this month I had a week and a half in between jobs. What I would usually do when suddenly presented with a large chunk of free personal time is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Panic about all the side projects I don’t usually have time + energy for&lt;/li&gt;
&lt;li&gt;Try to do too many of these projects&lt;/li&gt;
&lt;li&gt;End up with some combination of 1) not taking sufficient time to rest, and 2) not achieving much at all, due to flitting around like a butterfly between ideas&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I &lt;em&gt;finally got smart this time&lt;/em&gt; and listened to &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/re-one-big-one-little/#cousin-note&quot; id=&quot;cousin-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;Cousin Dave&lt;/a&gt; and his &lt;a href=&quot;https://daverupert.com/2024/01/one-big-one-little/&quot;&gt;“One big, one little”&lt;/a&gt; strategy:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If I artificially limit myself to having one major and one minor active side project at a time, my agility goes up because I’m not doing ten projects at once, I’m doing one or two. When one &lt;a href=&quot;https://daverupert.com/2022/04/productivity-sniped-by-para/&quot;&gt;project finishes&lt;/a&gt;, I move to the next best idea that fits the available slot. I will never be taking on too much and it’s easier to say “no” to new distractions if I have to substitute projects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’d recommend giving his &lt;a href=&quot;https://daverupert.com/2024/01/one-big-one-little/&quot;&gt;full blog post&lt;/a&gt; a read. In any case…&lt;/p&gt;
&lt;h2 id=&quot;spoiler-alert%3A-it-worked-for-me&quot;&gt;Spoiler alert: it worked for me&lt;/h2&gt;
&lt;p&gt;I followed this principal of “one big, one little” project during my break, and it &lt;em&gt;really&lt;/em&gt; worked for me. I’ve been learning blackletter calligraphy, and had decided to do a self-initiated “capstone” project wherein I wrote the original 151 Pokemon in the Textura Quadrata style:&lt;/p&gt;
&lt;video class=&quot;u-limit-width&quot; controls=&quot;&quot;&gt;
  &lt;source src=&quot;https://melanie-richards.com/assets/videos/content/melanierichards-pokemon-calligraphy.mp4&quot; type=&quot;video/mp4&quot; /&gt;
  &lt;p&gt;Your browser doesn&#39;t support video&lt;/p&gt;
&lt;/video&gt;
&lt;details&gt;
  &lt;summary&gt;Video description&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Visuals:&lt;/strong&gt; my hand flipping through a paperback-sized gridded journal. On each page are the names of 10 original Pokemon rendered in blackletter calligraphy. Half of the pages use red ink, half use blue ink, and the name Pikachu is written in sparkly yellow ink.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio:&lt;/strong&gt; the only audio is the crinkly page-turning sound.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;p&gt;The only reason I had the satisfaction of finishing this within my break is because I was able to say “no” to the siren call of other projects. I could say to myself, “that idea looks fun, but I’m focused on calligraphy right now. I’ll turn to that after I finish penning the word ‘Mew’.”&lt;/p&gt;
&lt;h2 id=&quot;taking-the-t-out-of-smart-goals&quot;&gt;Taking the T out of SMART goals&lt;/h2&gt;
&lt;p&gt;Not only did this system help me during an unusual quiet period, it also provided me with a healthy mental shift around timelines and non-required goals. Any productivity guru will tell you SMART goals are where it’s at. Your goals must be time-bound in order to apply the pressure you need to complete the necessary work.&lt;/p&gt;
&lt;p&gt;Everyone’s brain works differently though, and for me, designating a quarterly and/or monthly personal project was a recipe for disappointment. If I needed just a &lt;em&gt;little&lt;/em&gt; more time to finish my February project in March, that carry-over felt like failure. Conversely, limiting myself to a particular focus for a quarter also felt confining. And by the way, none of these personal projects are required for me to be a good employee, partner, or human being—they are literally meant to enrich my life. Not. Worth. The anxiety.&lt;/p&gt;
&lt;p&gt;With this “one big, one little” system, personal projects are on a sushi conveyer belt. I can focus on the current project at hand, work it as my energy/interest/schedule allows, and pick up the next one whenever I’m ready. It’s the tiniest framing shift that is felt seismically within my noggin.&lt;/p&gt;
&lt;h2 id=&quot;adjustments-i%E2%80%99m-making&quot;&gt;Adjustments I’m making&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://daverupert.com/2024/01/one-big-one-little/&quot;&gt;Dave described&lt;/a&gt; allowing himself “one big, one little” in 3 life areas: work, personal, and family. I’ve found that I have similar distinct zones of time in my own weekly schedule.&lt;/p&gt;
&lt;p&gt;In the “personal” bucket, I’m also allowing myself an optional/additional “XL” project, i.e. a knitting or weaving project. For me, this type of project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is so large that it needs to be broken up with “smaller” large projects&lt;/li&gt;
&lt;li&gt;Typically doesn’t take a lot of mental power, except at new-to-me steps&lt;/li&gt;
&lt;li&gt;Is usually portable, enabling me to have a project to work on while watching TV (I can’t sit still!!) or at crafting meetups&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For work, I’m figuring out what type of throughput is considered desirable at my &lt;a href=&quot;https://webflow.com/&quot;&gt;new employer&lt;/a&gt;; I’m a product manager, so most things I’m doing at work are a team sport. I might interpret this bucket more like “personal career development”. Or I might try to hold separate, limited slots for discovery, execution, and personal development. Happily, the org I just joined seems to value doing fewer things simultaneously—for quality and velocity—over &lt;a href=&quot;https://www.inc.com/jim-schleckser/why-you-shouldnt-peanut-butter-your-time.html&quot;&gt;peanut buttering&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;can%E2%80%99t-wait-to-make-more-things!&quot;&gt;Can’t wait to make more things!&lt;/h2&gt;
&lt;p&gt;So far, this philosophy has helped me chill out about personal projects &lt;em&gt;and&lt;/em&gt; get more things done for my husband, our friends, and I. I’m looking forward to seeing where experimenting with &lt;a href=&quot;https://daverupert.com/2024/01/one-big-one-little/&quot;&gt;“one big, one little”&lt;/a&gt; takes me. Big thank you to Dave for sharing!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;— Signed, person who just completed a “little”: the blog post you’re reading!&lt;/em&gt;&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;cousin-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Not my actual cousin &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/re-one-big-one-little/#cousin-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Feb 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2402/"/>
      <updated>2024-03-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2402/</id>
      <content type="html">&lt;h2 id=&quot;learning-blackletter-calligraphy&quot;&gt;Learning blackletter calligraphy&lt;/h2&gt;
&lt;p&gt;In honor of Austin Kleon’s &lt;a href=&quot;https://austinkleon.com/2024/01/31/29-day-practice-and-suck-less-challenge/&quot;&gt;“29-day Practice and Suck Less challenge”&lt;/a&gt;, I decided to try learning blackletter calligraphy once and for all—specifically &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2402/#textura-quadrata-note&quot; id=&quot;textura-quadrata-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;Textura Quadrata&lt;/a&gt;, the earliest and simplest form of blackletter calligraphy, dating back to 11th century Europe.&lt;/p&gt;
&lt;p&gt;As a lefty, any form of calligraphy has not been very accessible to me; lefthanded people generally push their pen across a page, whereas the pull motion is key to calligraphy. I thought it might work out ok if I made my strokes backwards, i.e. right to left and bottom to top. I came across &lt;a href=&quot;https://www.youtube.com/watch?v=DDz7HVdfrE8&quot;&gt;this video&lt;/a&gt; and was happy to note I appeared to be on to something!&lt;/p&gt;
&lt;p&gt;After looking at a few different resources, I decided to use Jake Rainis’s &lt;a href=&quot;https://jakerainis.com/blog/learning-blackletter-alphabets/&quot;&gt;learning blackletter guides&lt;/a&gt; to pick up the Textura style.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blackletter-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blackletter-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blackletter-s.jpg&quot; alt=&quot;A pile of printer papers where I&#39;m tracing over or copying some gothic letters, across the entire lowercase alphabet&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I definitely didn’t practice all 29 days of February—had a week of work travel amongst other goings on—but I’m feeling pretty solid with miniscules (lowercase letters) now. I’m just starting to work on majuscules, or uppercase letters. I admit I feel much more intimidated by these!&lt;/p&gt;
&lt;p&gt;I’m having fun &lt;a href=&quot;https://front-end.social/@melanie/112002207865951448&quot;&gt;deploying blackletter calligraphy in my journal&lt;/a&gt; for any little thing. And I love how quickly my Pilot Parallel pens use up fountain pen ink; between Diamine’s Inkvent calendars and Pilot Iroshizuku’s huge bottles, I need some help in that department.&lt;/p&gt;
&lt;h2 id=&quot;urban-sketching&quot;&gt;Urban Sketching&lt;/h2&gt;
&lt;p&gt;I joined &lt;a href=&quot;https://seattle.urbansketchers.org/&quot;&gt;Urban Sketchers Seattle&lt;/a&gt; for a sketch outing in Greenwood. I’ve only been to an outing twice, but I always have such a wonderful time going out and drawing on location with other hobbyists. The trick is to push past the “I suck at drawing, this looks like 💩” phase, to get to the fun mindfulness phase.&lt;/p&gt;
&lt;p&gt;This time around I revolted against these grey February days with some obnoxious colors:&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media&quot;&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-usk-alice-ball-park-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-usk-alice-ball-park-s.jpg&quot; alt=&quot;Bright orange and pink drawn scenes of a park, including an abandoned toy truck&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Scenes from Alice Ball Park, next to the Greenwood library&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-usk-greenwood-lib-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-usk-greenwood-lib-s.jpg&quot; alt=&quot;Bright orange and pink collage of drawings, including a rosemary cretzel, some new flowers poking up, signs for a restaurant called Flint Creek Cattle Co, a brick building, and names of birds contributing bird song&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;From around Greenwood. I got rained on a little bit.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;In any case, I hope to make it out to more outings this year.&lt;/p&gt;
&lt;h2 id=&quot;more-robust-screen-time-rules&quot;&gt;More robust screen time rules&lt;/h2&gt;
&lt;p&gt;In February I downloaded the &lt;a href=&quot;https://appblock.app/&quot;&gt;AppBlock app&lt;/a&gt;, which offers more fine-grained configuration of mobile app blocking and screen time than does Apple’s built-in features.&lt;/p&gt;
&lt;p&gt;For example, I have Slack on my phone but don’t want to open the app after work hours or on weekends, so I have a block set up for that. I’ve also set up social media app and website blocking on Sundays, and honestly it’s been such a relief to just not have access to these for one day out of the week.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;&lt;strong&gt;🌱 Digital Gardening&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Added two books to &lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt;: one I’d read recently (&lt;em&gt;Daisy Jones &amp;amp; The Six&lt;/em&gt;, it was ok) and another I’d read a few years back (&lt;em&gt;Wow, No Thank You&lt;/em&gt;).&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/U8RQsJ0Q3Mo?si=v1pJ0jcEYSg2Jsch&quot;&gt;The Journaling System that changed my life&lt;/a&gt;: a video with a hyperbolic title that actually delivered on its promise&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/reel/C1uUQnMLzpl/&quot;&gt;This little story about love and feelings&lt;/a&gt; via a co-worker. Poignant, just need to ignore the speaker gesturing with an open cup of coffee (I can confirm no coffee is spilled for the duration of the video!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://productcoalition.com/utility-eats-value-for-breakfast-about-diminishing-marginal-utility-b2dd362899cc&quot;&gt;utility eats value for breakfast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ft.com/content/6fb1602d-a08b-4a8c-bac0-047b7d64aba5/&quot;&gt;‘Enshittification’ is coming for absolutely everything&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@ElizAyer/enshittification-as-overproduction-in-software-part-1-seeing-overproduction-7f175bca7724&quot;&gt;Enshittification as Overproduction in Software, Part 1: Seeing Overproduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@ElizAyer/enshittification-as-overproduction-in-software-part-2-overproduction-in-the-product-lifecycle-99584e8da458&quot;&gt;Enshittification as Overproduction in Software, Part 2: Overproduction in the Product Lifecycle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://productmanagerinfo.com/setting-the-right-input-vs-output-metrics/#&quot;&gt;Setting the Right Input vs Output Metrics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thenorth.io/input-metrics-vs-output-metrics/&quot;&gt;Input Metrics vs Output Metrics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amplitude.com/blog/product-metrics-guide&quot;&gt;15 Important Product Metrics You Should Be Tracking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendfoc.us/link/151320/ef7e9370b1&quot;&gt;Tailwind vs. Semantic CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/blog/screen-reader-user-survey-10-results/&quot;&gt;Screen Reader User Survey #10 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2024/02/28/where-im-at-on-the-whole-css-tricks-thing/&quot;&gt;Where I’m at on the Whole CSS-Tricks Thing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aworkinglibrary.com/writing/unified-theory-of------&quot;&gt;A Unified Theory of F***s&lt;/a&gt; 💯&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/pulse/why-we-should-take-time-read-work-hannah-preston&quot;&gt;Why we should take time to read at work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://slate.com/technology/2024/01/corporate-job-quit-now-crossing-guard.html&quot;&gt;After Many Years Holding Down a Corporate Job to Get Health Insurance, I’ve Finally Found a Better Way to Make Ends Meet and Do My Art: I’m a Crossing Guard.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://usefulfictions.substack.com/p/how-to-be-more-agentic&quot;&gt;How to Be More Agentic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/01/one-big-one-little/&quot;&gt;One Big, One Little&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://thecraftsessions.com/blog/moving-through-crafty-overwhelm?format=amp&quot;&gt;Moving Through Crafty Overwhelm&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.swiss-miss.com/2024/02/light-the-torches-of-others.html&quot;&gt;Light the Torches of Others&lt;/a&gt;&lt;/p&gt;
&lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
  &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
  &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;textura-quadrata-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;As far as I know, this style of blackletter calligraphy was also not the style appropriated by a particular hate-mongering political regime. Why can’t they just let humanity have nice things? &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2402/#textura-quadrata-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/footer&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2024</title>
      <link href="https://melanie-richards.com/blog/learning-log-2401/"/>
      <updated>2024-02-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2401/</id>
      <content type="html">&lt;p&gt;Blah winter vibes this January with a cold snap that brought the weather into the teens (Fahrenheit) for ~a week in Seattle, WA. I tried to lean into coziness by learning how to bake bread (4 years after everyone else, it seems), knitting, and reading by a lit scented candle.&lt;/p&gt;
&lt;h2 id=&quot;shipping&quot;&gt;Shipping&lt;/h2&gt;
&lt;p&gt;With my co-workers at Netlify:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/sites-list-sorting-filtering/&quot;&gt;Shipped sorting and filtering for the Sites list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Chatted with colleagues about the Netlify app for Slack—which we made generally available in December—in my first &lt;a href=&quot;https://www.linkedin.com/posts/netlify_how-to-create-a-custom-netlify-slack-integration-activity-7156053115719315456-wZKm?utm_source=share&amp;amp;utm_medium=member_desktop&quot;&gt;live-streamed webinar&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;making&quot;&gt;Making&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-nisu-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-nisu-s.webp&quot; alt=&quot;Three golden-brown braided loaves lined up in a rowAlt&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;🍞 Finally crossed a couple items off the culinary bucket list. I made some &lt;a href=&quot;https://minimalistbaker.com/strawberry-matcha-chia-pudding/&quot;&gt;matcha chia pudding with strawberry compote&lt;/a&gt;, which was easy but tasty. And my husband joined me in making our first loaves of bread—likewise tasty but not easy; it took houuurs for our dough to prove. I chose &lt;a href=&quot;https://food52.com/recipes/76896-finnish-cardamom-coffee-bread-nisu&quot;&gt;this nisu recipe&lt;/a&gt;, because why pick something simple for the first go-around? 🙃&lt;/li&gt;
&lt;li&gt;📼 Over the course of a weekend I made a little site that’s been stuck in my head, &lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt;! It’s a compilation of my playlists compiled from songs referenced in books; small so far, but it will grow. &lt;a href=&quot;https://melanie-richards.com/blog/lit-tapes/&quot;&gt;More info on this project&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;🌱 Digital gardening: added a couple new snacks to my &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;World Snacks&lt;/a&gt; site.&lt;/li&gt;
&lt;li&gt;✂️ I’m so close to finishing my first &lt;a href=&quot;https://sewsweetness.com/products/creative-maker-supply-cases&quot;&gt;Creative Maker Supply Case&lt;/a&gt;. There’s just a few tasks left but they’re so fiddly and I don’t wanna!! I’ve put the project away (again) for a little while, and will pick it back up when I’m feeling brave.&lt;/li&gt;
&lt;li&gt;🧦 Started learning how to knit socks!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://intentionalist.com/&quot;&gt;Intentionalist&lt;/a&gt;: a directory of local small businesses owned by folks from marginalized backgrounds&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/0rguAMMTIYY?si=D8q6PWnASbfbK16h&quot;&gt;How I put down my phone and started making art I cared about&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nngroup.com/articles/competitive-usability-evaluations/&quot;&gt;Competitive Usability Evaluations: Learning From Your Competition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.techspot.com/news/101396-european-union-set-revise-cookie-law-admits-cookie.html&quot;&gt;European Union Set to Revise Cookie Law, Admits Cookie Banners Are Annoying&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/&quot;&gt;Where Have All the Websites Gone?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brucelawson.co.uk/2024/apple-and-malicious-compliance/&quot;&gt;Apple, the DMA, and Malicious Compliance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2024/01/focus-visible-love/&quot;&gt;Big, Beautiful, Beefy Focus States With :Focus-Visible&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; Stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hannahmoerman.substack.com/p/moer-notes-2023&quot;&gt;Moer Notes // 2023.&lt;/a&gt; (this newsletter in general!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stuffthatsticks.co/pages/join-the-clurb&quot;&gt;Stuff That Sticks&lt;/a&gt; newsletter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.creativeboom.com/tips/reboot-your-creativity-how-to-reclaim-momentum-post-holiday/&quot;&gt;Reboot Your Creativity: How to Reclaim Momentum if Your January Is Dragging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2024/01/secret-message-dress/&quot;&gt;A Silk Dress From 1888 Contained a Hidden Pocket With Coded Messages. After a Decade, Someone Finally Solved the Mystery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New project: Lit Tapes</title>
      <link href="https://melanie-richards.com/blog/lit-tapes/"/>
      <updated>2024-01-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/lit-tapes/</id>
      <content type="html">&lt;p&gt;Over the weekend I built a new little site that’s been on my mind: &lt;a href=&quot;https://littapes.melanie-richards.com/&quot;&gt;Lit Tapes&lt;/a&gt;! I read a couple books in the past few months that heavily featured music throughout the plot, and thought it would be fun to create playlists for those books.&lt;/p&gt;
&lt;p&gt;I’ve told myself &lt;a href=&quot;https://dianaberlin.com/posts/no-more-forever-projects&quot;&gt;“no more forever projects”&lt;/a&gt;, but I just can’t seem to help myself. In any case, I don’t foresee updating this site frequently—just whenever I happen to read a story that celebrates music.&lt;/p&gt;
&lt;p&gt;The index is a grid of cassette tape illustrations that match the color scheme of the book covers:&lt;/p&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://littapes.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-s.png&quot; alt=&quot;A tagline saying &#39;Playlists compiled from songs referenced in books.&#39; Underneath are cassettes labeled with the titles of books, including for now &#39;We Sold Our Souls&#39; and &#39;All My Rage&#39;&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;I created an SVG illustration that gets embedded for each post. The &lt;a href=&quot;https://github.com/melanierichards/lit-tapes/blob/main/src/_includes/partials/cassette.njk&quot;&gt;SVG include&lt;/a&gt; references post-specific colors stored in &lt;a href=&quot;https://github.com/melanierichards/lit-tapes/tree/main/src/_data/tapes&quot;&gt;a data file for each post&lt;/a&gt;. There’s a &lt;code&gt;deco&lt;/code&gt; property that defines whether the particular cassette should get stripes, a top band of color, or a bottom band of color. I decided to do that manually since the right aesthetic depends on the book cover.&lt;/p&gt;
&lt;p&gt;Also in the post data are light and dark color schemes for each book:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-themes-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-themes-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-themes-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lit-tapes-themes-s.png&quot; alt=&quot;Two views of the &#39;All My Rage&#39; page. One is a yellowy cream backgorund with violet text and border colors. The other is a very dark purple background and light purple text.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;These are also based off the book cover scheme.&lt;/p&gt;
&lt;p&gt;That’s about it! You can poke around in the code &lt;a href=&quot;https://github.com/melanierichards/lit-tapes&quot;&gt;on Github&lt;/a&gt;. Any musically-oriented books I should read next? Please file an issue and let me know!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2023 in Review</title>
      <link href="https://melanie-richards.com/blog/2023-review/"/>
      <updated>2023-12-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2023-review/</id>
      <content type="html">&lt;p&gt;Not going to lie, this was a challenging year. There were certainly some high points, but also quite a fair bit of stress and change and uncertainty running throughout. It’s the year my husband and I finally got COVID—but it’s also the year I get to call him my husband! Let’s go to the highlight reel.&lt;/p&gt;
&lt;h2 id=&quot;experienced&quot;&gt;Experienced&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/jenn-tai-wedding.webp&quot; alt=&quot;My husband and I grinning at each other in front of art deco metalwork. I’m wearing a classic western wedding dress in white, and he has on a burgundy suit.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shaadi.webp&quot; alt=&quot;Rahul and I with our parents in traditional Indian wedding garb, in front of a wall full of flowers. I am wearing a bright red lehenga dress. Rahul is wearing a cream-colored suit called a sherwani. Rahul and I both have garlands of pink and yellow flowers around our necks.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Rahul and I got married twice, on two continents! Once for extended family in the United States, and then again for the extended family in India. We were blown away by how many of our friends (and my family members) were able to fly across the world to celebrate with us again. Dance parties across the globe.&lt;/p&gt;
&lt;p&gt;6 months later, we went to Italy for our honeymoon and had a wonderful time evening out 20k steps a day with carbs and amaro.&lt;/p&gt;
&lt;p&gt;Smaller experiences that brought me joy this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monthly book club with a group of friends&lt;/li&gt;
&lt;li&gt;Visiting family&lt;/li&gt;
&lt;li&gt;Cabin weekends&lt;/li&gt;
&lt;li&gt;Live outdoor music (even though I’m pretty sure I got COVID from an outdoor music fest)&lt;/li&gt;
&lt;li&gt;My first pen show, the inaugural PNW Pen Show in PDX!&lt;/li&gt;
&lt;li&gt;Parallel play, particularly finding crafty groups in Seattle to share time with&lt;/li&gt;
&lt;li&gt;Having friends over for a double-spooky-movie feature around Halloween, and for drinks and candle lighting at Diwali&lt;/li&gt;
&lt;li&gt;Doing a lot of writing and drawing in my journal; I feel really happy with how cute it is, and I think it will be fun to look back on in the future.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-seasons-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-seasons-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-seasons-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-seasons-s.webp&quot; alt=&quot;A cluster of white blossoms on a tree, with magenta stamen. A red hammock strung between strong trunks, against a green backdrop of leafy trees. A tree by the street with super-saturated red and orange leaves.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Pear blossoms on our tree in spring, hammock reading at a cabin in the summer, and vibrant color in the fall&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;shipped&quot;&gt;Shipped&lt;/h2&gt;
&lt;p&gt;With my collaborators at Netlify, I shipped:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collaboration through the &lt;a href=&quot;https://www.netlify.com/blog/qa-and-collaborate-directly-on-branch-deploy-urls/&quot;&gt;Netlify Drawer on branch deploys&lt;/a&gt;, as well as a refresh of said Drawer&lt;/li&gt;
&lt;li&gt;Collaborative Deploy Previews &lt;a href=&quot;https://www.netlify.com/blog/collaborative-deploy-previews-bitbucket/&quot;&gt;with Bitbucket repos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://answers.netlify.com/t/bulk-import-environment-variables-from-env/86680&quot;&gt;Bulk import&lt;/a&gt; for environment variables&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/automatic-deploy-subdomains-ga/&quot;&gt;Automatic Deploy Subdomains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://answers.netlify.com/t/customize-the-email-subject-line-for-form-submission-notifications/91534&quot;&gt;Form notification subject line customizations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A series of updates improving navigation and information architecture in the app&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/netlify-app-slack-ga/&quot;&gt;Netlify app for Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Some bits and bobs behind the scenes on Netlify’s composition platform…stay tuned for more next year!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;learned&quot;&gt;Learned&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/p/books/continuous-discovery-habits-discover-products-that-create-customer-value-and-business-value-teresa-torres/17004458?ean=9781736633304&quot;&gt;Continuous Discovery Habits&lt;/a&gt; was my favorite product read this year!&lt;/li&gt;
&lt;li&gt;Quite a bit about data analysis, statistics, and SQL. I know enough to be dangerous and to have way too much fun.&lt;/li&gt;
&lt;li&gt;A few months’ on Duolingo worth of Italian. I switched back to Spanish when I got home from Italy, but abandoned the app a couple months later (again). It bothers me to have engagement-hacking change my behaviors. So I’m back on Wanikani, learning kanji again; their spaced repetition system is so much gentler. I also learned about the “comprehensible input” style of language learning, which I might try for Spanish (there is a well-known site called &lt;a href=&quot;https://www.dreamingspanish.com/&quot;&gt;Dreaming Spanish&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;made&quot;&gt;Made&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-tiger-sketchbook-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-tiger-sketchbook-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-tiger-sketchbook-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-tiger-sketchbook-s.webp&quot; alt=&quot;Left sketchbook page: a quilt like grid of abstract shapes in blue and teal, include some shapes like waves. Right page: a teapot with a tiger’s yum face. The spout and handle have a tiger pattern. Underneath are shapes in orange, yellow, and charcoal.&quot; /&gt;
        &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fiber.melanie-richards.com/q1-crafting/&quot;&gt;In Q1&lt;/a&gt;: a journal cover, bookmarks for my bridal party, and finalizing a scarf for my husband&lt;/li&gt;
&lt;li&gt;A couple small &lt;a href=&quot;https://fiber.melanie-richards.com/pen-pouch/&quot;&gt;pen pouches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;https://product.melanie-richards.com/&quot;&gt;product resources website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A zippered &lt;a href=&quot;https://fiber.melanie-richards.com/marker-pouch/&quot;&gt;marker pouch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A small tapestry weaving&lt;/li&gt;
&lt;li&gt;Lots of “digital gardening” on my existing sites&lt;/li&gt;
&lt;li&gt;Finished my Stillman &amp;amp; Birn Epsilon A5-ish sketchbook&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;favorite-media&quot;&gt;Favorite Media&lt;/h2&gt;
&lt;h3 id=&quot;books&quot;&gt;Books&lt;/h3&gt;
&lt;p&gt;Sooooo I read ~76~ 80 books this year, which officially makes this my biggest reading year ever. 📚 My previous “personal best” was 72 books. What probably heavily attributed to this year’s volume (heh) was 1) the Seattle Public Library Summer Book Bingo, 2) readathons, and 3) my friends’ monthly book club.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bookshop.org/lists/2023-favorite-books-melanie-richards&quot;&gt;Favorite books of the year here&lt;/a&gt;! &lt;a href=&quot;https://bookshop.org/p/books/venco-cherie-dimaline/18727170?aid=15644&amp;amp;ean=9780063054899&amp;amp;listref=2023-favorite-books-melanie-richards&quot;&gt;“VenCo”&lt;/a&gt; by Cherie Dimaline was absolutely my favorite read of the year: a perfect witchy book.&lt;/p&gt;
&lt;h3 id=&quot;music&quot;&gt;Music&lt;/h3&gt;
&lt;p&gt;As you can quickly surmise from my &lt;a href=&quot;https://tidal.com/browse/mix/009d8566a407abbbf1c4ded5c2aafc&quot;&gt;2023 top songs on Tidal&lt;/a&gt;, I pretty much just listened to the boygenius record over and over again.&lt;/p&gt;
&lt;h3 id=&quot;movies&quot;&gt;Movies&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://letterboxd.com/somelaniesaid/year/2023/&quot;&gt;38 movies watched&lt;/a&gt;. I wasn’t blown away by anything this year, really. Got spoiled last year with “Everything Everywhere All at Once”. A few favorites in the 4–5 star range:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/barbie/&quot;&gt;Barbie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/the-godfather/&quot;&gt;The Godfather&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/m3gan/&quot;&gt;M3gan&lt;/a&gt; (wow, can’t believe that was this year)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/see-how-they-run-2022/&quot;&gt;See How They Run&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/talk-to-me-2022/&quot;&gt;Talk to Me&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%A5%82-cheers-to-2024&quot;&gt;🥂 Cheers to 2024&lt;/h2&gt;
&lt;p&gt;What a beautiful, base-4-number of a year. I hope life treats us all well in the days to come.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>A lefty’s journey into fountain pens</title>
      <link href="https://melanie-richards.com/blog/lefty-fp/"/>
      <updated>2023-12-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/lefty-fp/</id>
      <content type="html">&lt;p&gt;In August 2022, I was casually browsing through &lt;a href=&quot;https://www.jetpens.com/&quot;&gt;Jetpens&lt;/a&gt; (as one does), and thought I might like to give fountain pens one last try. I’m lefthanded, and the fountain pens I tried in the past felt scratchy and difficult to write with. But they seemed so neat!&lt;/p&gt;
&lt;p&gt;I found and ordered a Lamy Safari with a left-handed nib. Their lefty nibs are similar to a Western medium-sized nib, and have a special grind that is supposed to help south paws push their nib across the page (right-handed people use a “pull” action). I had no idea how well it would work for me, but figured why not give it one more shot?&lt;/p&gt;
&lt;h2 id=&quot;it.-worked.&quot;&gt;It. worked.&lt;/h2&gt;
&lt;p&gt;Funnily enough, the left-handed nib that I ordered that day wasn’t the important unlock for my fountain pen journey. It was actually the triangular grip on the Lamy Safari:&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/jetpens-lamy-safari.jpg&quot; alt=&quot;Black, white, and clear Lamy Safari pens laid next to each other, closely cropped so that you can distinguish two grooves in the front of the pen where your fingers go&quot; /&gt;
  &lt;figcaption&gt;Image of Safari grip sections courtesy of Jetpens&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This triangular grip encourages your fingers (middle, pointer, thumb) to naturally create what Jetpens calls a “tripod position”.&lt;/p&gt;
&lt;p&gt;That grip was so important for me because naturally I am a “side writer”. Side writers push the pen across the page, with their hand passing directly over the lines they’re writing. This is the absolute worst writing position (AFAICT) if you hate smudging, or if you want to use a pen without that scratchy feeling.&lt;/p&gt;
&lt;p&gt;The tripod finger positioning enabled me to become an “under writer”, which entails holding the pen beneath the line that you’re currently writing. Writing with your hand under the line helps avoid smearing and scratching. &lt;a href=&quot;https://www.gouletpens.com/blogs/fountain-pen-blog/fountain-pens-for-lefties&quot;&gt;This blog post&lt;/a&gt; has images illustrating these writing positions.&lt;/p&gt;
&lt;p&gt;I had actually tried learning to become an underwriter previously, but it made absolutely zero sense to my mind—until I got my literal hands on a Lamy Safari, and my fingers fell right into place.&lt;/p&gt;
&lt;h2 id=&quot;my-journey-since-then&quot;&gt;My journey since then&lt;/h2&gt;
&lt;p&gt;Because the Lamy Safari trained me to become an underwriter, I felt I could use &lt;em&gt;any&lt;/em&gt; fountain pen (FP) or ink I wanted. And boy…have I purchased a few. One thing you’ll find in the FP community is that people often go a little wild at first and buy a lot of pens. I’m in camp “this is actually a good thing”, because you won’t know what you really like until you try a few different options.&lt;/p&gt;
&lt;h3 id=&quot;my-favorite-pens&quot;&gt;My favorite pens&lt;/h3&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dec-pens-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dec-pens-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dec-pens-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-dec-pens-s.webp&quot; alt=&quot;My hand holding a black Pilot pen, a TWSBI pen with a red cap and red ink, a TWSBI pen with a white cap and dark green ink, and a sage green Kaweco pen.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The pens I’m currently using for memory keeping in December 2023&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;“Everyday drivers”:&lt;/strong&gt; for the main “body copy” of my journals, I like to use Pilot fountain pens. These are among my most expensive pens. For my Hobonichi “memory keeping” journal I have a Pilot Custom NS (M nib) and a Pilot Custom 743 (F). For my pocket bullet journal, I use a Pilot Vanishing Point Decimo (F). I was so surprised that I actually really liked a “clicky” fountain pen. It’s a perfect companion for a small notebook on the go. &lt;a href=&quot;https://www.pensachi.com/&quot;&gt;Pen Sachi&lt;/a&gt;, where I bought most of these, runs sales from time to time, so keep an eye out for those.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Companion pens:&lt;/strong&gt; for the headings and special text in my journal, I use TWSBI Eco (F, M, &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/lefty-fp/#link-fragment-note&quot; id=&quot;link-fragment-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;stub&lt;/a&gt; nibs) and Kaweco Sport (F) pens. I actually collect TWSBI Eco/Eco-T pens that have opaque colored caps. I loooove how much ink they can hold, and they don’t dry out when I leave them in a drawer for awhile. My jam is matching ink and pen colors. I rotate the colors I use in my journal monthly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cheap pens for travel:&lt;/strong&gt; aesthetically Platinum Preppys are not my fave, but they write &lt;em&gt;so well&lt;/em&gt; for such a cheap pen (~$7 USD). The caps click on nice and securely, so these are a great option to travel with.&lt;/p&gt;
&lt;h3 id=&quot;pens-i%E2%80%99m-not-a-fan-of&quot;&gt;Pens I’m not a fan of&lt;/h3&gt;
&lt;p&gt;There are many pens I haven’t bothered trying out, since I don’t like the aesthetics or they’re too expensive for me to be interested in. A couple of not-favorites include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sailor brand:&lt;/strong&gt; I have a couple Sailor Pro Gear Slims, which are among my most expensive pens. They are SO CUTE, I love how they feel in the hand, but the writing experience with Sailor nibs is not my favorite. Sailor nibs are known for having a bit more “feedback”; they can feel somewhat like a pencil. I didn’t have an opportunity to try these before I bought them. I wish I had, because I want to like them more than I actually do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Platinum Century 3776:&lt;/strong&gt; I tried this at a pen show and wasn’t jazzed about how it wrote, which is strange considering I like their cheapies so much.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pilot Kakuno:&lt;/strong&gt; this is an inexpensive (~$12 USD) pen intended for kids, and it’s so cute but it’s scratchy as all hell. So funny that I like expensive Pilots and dislike the cheap ones, and the reverse is true for Platinum. Just goes to show you have to try things for yourself.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-pen-i-truly-want&quot;&gt;The pen I truly want&lt;/h3&gt;
&lt;p&gt;Give me a Pilot nib in a Sailor body!! Pilot makes the best nibs that I’ve tried, but they are not adventurous in terms of pen body colors/aesthetics. That’s at least true of the pens that make it across the pond here in the U.S.; the Japanese market tends to have exclusive models.&lt;/p&gt;
&lt;h3 id=&quot;ink-brands-i-like&quot;&gt;Ink brands I like&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pilot Iroshizuku&lt;/strong&gt; makes bright, saturated inks that write “wet” and are easy to clean out of pens. Special properties are limited to a bit of sheen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diamine&lt;/strong&gt; makes well-behaved inks with a variety of properties. Their “Inkvent” calendar is a fun way to try a lot of types of inks without committing to a huge bottle (here be lots of shimmer inks).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sailor&lt;/strong&gt; has interesting, muted colors that exhibit beautiful shading.&lt;/li&gt;
&lt;li&gt;I only have two inks from &lt;strong&gt;Taccia&lt;/strong&gt; but I use Taccia Ainezu constantly in my bullet journal. It’s a complex, grey ink with blue-ish undertones.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;your-own-fountain-pen-journey&quot;&gt;Your own fountain pen journey&lt;/h2&gt;
&lt;p&gt;If you’re interested in using fountain pens yourself, my biggest recommendation is to try a variety of options to see what works best for you. The Lamy Safari’s triangular grip was the unlock for &lt;em&gt;me&lt;/em&gt;, but other people really don’t like that grip.&lt;/p&gt;
&lt;p&gt;Some quick tips as you explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you’re interested in trying an expensive pen before committing to it, see if you have any pen shows, stationery meetups, or stationery stores in your area. You might be able to test drive the model before buying.&lt;/li&gt;
&lt;li&gt;A higher price point does not necessarily mean you’ll like a pen’s writing experience more.&lt;/li&gt;
&lt;li&gt;To expand your ink options, use converters, or refill cartridges with your own inks. Some retailers, like &lt;a href=&quot;https://www.gouletpens.com/&quot;&gt;Goulet Pens&lt;/a&gt;, sell ink samples for a couple dollars each. This can allow you to try out lots of different inks before committing to a full bottle. You will still end up with more ink than you can use in a lifetime, probably.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Only fountain pen ink goes in a fountain pen!!!&lt;/em&gt; Don’t put India ink in a fountain pen—it will clog.&lt;/li&gt;
&lt;li&gt;If you’re a lefty and underwriting doesn’t work for you, look for fast-drying inks and uncoated paper. I love Tomoe River Paper for the properties it brings out in inks, but ink dries slowly on TRP and sits on top of the paper rather than “sinking in”. Leuchtturm’s paper, in my experience, works better for faster-drying experiences.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Above all, enjoy your own fountain pen journey!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;link-fragment-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;A lot of people claim that stub nibs are difficult to use as a lefty. I was pleased to note that I’m able to use this type of nib the way I want to. I wonder if that has anything to do with my underwriting hand position. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/lefty-fp/#link-fragment-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Netlify now online: the Netlify App for Slack is generally available” on Netlify</title>
      <link href="https://www.netlify.com/blog/netlify-app-slack-ga/"/>
      <updated>2023-12-04T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/netlify-app-slack-ga/</id>
      <content type="html">
        <p>The Netlify app for Slack is now generally available to all Core Pro and Core Enterprise teams on Netlify. Set up Slack subscriptions to monitor the health and security of your web apps, and foster better collaboration.</p>
        <a href="https://www.netlify.com/blog/netlify-app-slack-ga/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Nov 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2311/"/>
      <updated>2023-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2311/</id>
      <content type="html">&lt;p&gt;Luckily for Seattleites, the SAM has &lt;a href=&quot;https://www.seattleartmuseum.org/exhibitions/hokusai&quot;&gt;a Hokusai exhibit&lt;/a&gt; going on through end of January. Something that really surprised me is how small the famous wave block print is: it was slightly larger than a legal sized piece of paper.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hokusai-wave-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hokusai-wave-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hokusai-wave-s.webp&quot; alt=&quot;A wood block print of a great tsunami rising up in front of two long boats manned by comparatively small people. Mt Fuji rises far off in the distant background. The block print is in a simple wooden frame.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The Great Wave off Kanagawa by Hokusai, 1831&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;I suppose I shouldn’t be so surprised by this—it’s a wood block print after all—but I &lt;em&gt;have&lt;/em&gt; in other cases gawked at some pretty massive prints. It’s fascinating to me though how much other art was inspired by this one small piece, which itself is actually from a series of prints featuring &lt;em&gt;Mt. Fuji&lt;/em&gt;, not the way itself.&lt;/p&gt;
&lt;p&gt;Anyway, I shared this in an art Discord and wondered aloud if anyone has ever seen a piece of work that was &lt;em&gt;larger&lt;/em&gt; than they expected. Someone responded with a painting of Napoleon, which I find quite funny given his infamously short stature.&lt;/p&gt;
&lt;p&gt;In further surprises: there was also an Alexander Calder exhibit on, and I found I quite like his mobiles and sculptures.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-sculpture-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-sculpture-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-sculpture-s.webp&quot; alt=&quot;A large metal sculpture fills much of a room. Its base is a bright cherry red tripod shape. From the top sprouts a series of antennae with large yellow, black, and white paddles on the ends. There is something about the structure that references the circus.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;At the other end of the scale, this Calder sculpture was huge&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;His work didn’t really resonate with me when I first learned about Calder in college/art school. I suppose it is better witnessed first-hand.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-mouse-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-mouse-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-calder-mouse-s.webp&quot; alt=&quot;A small, black, metal mouse with enormous whiskers curling upwards. The whiskers are as tall as its body, giving this sculpture twice the height overall.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Would you just look at this mouse’s whiskers?! How charming!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;%F0%9F%A7%B6-crafting&quot;&gt;🧶 Crafting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Finished making swatch cards for all my art supplies.&lt;/li&gt;
&lt;li&gt;Finished a small tapestry that I have not posted about yet, since it’s a gift.&lt;/li&gt;
&lt;li&gt;Decided I wasn’t motivated enough to take the next step in my skirt sewing project and set it down for now. That feels a lot like “giving up”, but I’m proud of myself for sticking a pin (hehe) in a hobby project that isn’t sparking joy right now.&lt;/li&gt;
&lt;li&gt;Started learning the Magic Loop method for knitting in the round, so that I can start knitting socks. Now THIS feels fun!! ✨&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital Gardening&lt;/h2&gt;
&lt;h3 id=&quot;this-site&quot;&gt;This site&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Updated a couple pages to look nicer on tablet-ish breakpoints.&lt;/li&gt;
&lt;li&gt;Happened to fix a bunch of dark mode issues on the evening of a new moon. Coincidence or lunar magic??? 🌑✨
&lt;ul&gt;
&lt;li&gt;Fixed a dark mode visual bug on the Product page.&lt;/li&gt;
&lt;li&gt;Fixed a weird galaxy brain thing where I had two different image treatments for my hobbies depending on whether “dark mode” was picked up by the system or via the theme preference in my footer.&lt;/li&gt;
&lt;li&gt;Also fixed the little quilt SVG on my home page looking “weird” in dark mode. I thought for the longest time it was a mobile Safari rendering issue. The root cause was me messing with image opacity in dark mode, without overriding that treatment for this special case.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; elements in blog posts causing funky rendering issues on narrow breakpoints.&lt;/li&gt;
&lt;li&gt;Tweaked a project’s thumbnails so that the SVGs render better.&lt;/li&gt;
&lt;li&gt;Made the little red rectangle in my header slightly narrower on narrow breakpoints.&lt;/li&gt;
&lt;li&gt;Fixed a minor rendering issue with the theme switcher in Webkit/Safari.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m now clean on open issues for my personal website! 🎉 Worth noting that I’ve closed issues in the past because they weren’t important to me anymore. I’m sure I’ll find new opportunities; this is the nature of digital gardening.&lt;/p&gt;
&lt;h3 id=&quot;what-is-this-strange-feeling%3F&quot;&gt;What is this strange feeling?&lt;/h3&gt;
&lt;p&gt;…10 minutes later, I realized I was clean on all digital gardening issues?? This lasted about 2 weeks, and then I found more opportunities on my product resources site.&lt;/p&gt;
&lt;h3 id=&quot;product-resources&quot;&gt;&lt;a href=&quot;https://product.melanie-richards.com/&quot;&gt;Product resources&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Put the category navigation in details/summary elements and expanded the navigation on page load for tablet-ish breakpoints and above. I could get fancier with this, but I’m just trying to provide a reasonable default and then let the visitor decide if they want category navigation opened or closed.&lt;/li&gt;
&lt;li&gt;Removed all “format” labels except for the “Book” format, as that’s really the only one that felt special enough to label for now.&lt;/li&gt;
&lt;li&gt;Added a “paywall” label for articles available to paid subscribers only.&lt;/li&gt;
&lt;li&gt;Linked up my tech stack in the colophon.&lt;/li&gt;
&lt;li&gt;Made descriptions a little less prominent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I read 6 books. My favorite was &lt;a href=&quot;https://app.thestorygraph.com/books/a445e1de-b1e2-4dd8-8a47-4ba52adff4f0&quot;&gt;“The Way Through the Woods”&lt;/a&gt; by Long Litt Woon (4/5 stars).&lt;/p&gt;
&lt;h3 id=&quot;tending-the-reader-garden&quot;&gt;Tending the Reader garden&lt;/h3&gt;
&lt;p&gt;I sent in a feature request for Reader by Readwise to automatically tag particular news sources, in order to populate views without having to do manual tagging labor. In the meantime I rebuilt my custom views by…&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Going to “Manage feeds”, selecting a bunch of RSS feeds, and adding them to a new view.&lt;/li&gt;
&lt;li&gt;Next: querying for &lt;code&gt;category:email&lt;/code&gt; in a temporary view, copying the author names of various subscriptions, and dropping an &lt;code&gt;author:&amp;quot;Chauncey Peppertooth&amp;quot; OR&lt;/code&gt; clause into a view query. This second one feels fairly brittle because author names are not APIs; they can change and it won’t be obvious my views aren’t catching these email newsletters anymore. Will be cool if they could build some UI around this as with “Manage feeds”. Readwise does seem to be investing in better query UI.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I do love the Reader app. Being able to get a mix of my RSS feeds and newsletter subscriptions in the same place is &lt;code&gt;*chef’s kiss*&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pivotal.substack.com/p/the-worst-outcome-is-a-mediocre-success&quot;&gt;The Worst Outcome Is a Mediocre Success&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elenaverna.substack.com/p/3-excuses-enterprise-sales-led-companies&quot;&gt;3 Excuses Enterprise Sales-Led Companies Make When Their Self-Serve Motion Fails...🙄&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elenaverna.substack.com/p/why-i-quit-full-time-roles&quot;&gt;Why I Quit Full-Time Roles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://itamargilad.com/prioritization/&quot;&gt;Why You’re Struggling to Prioritize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://itamargilad.com/the-three-true-north-metrics-that-your-product-and-business-need/&quot;&gt;The Three True-North Metrics that Your Product and Business Need&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/mission-vision-strategy-goals-roadmap&quot;&gt;Mission → Vision → Strategy → Goals → Roadmap → Task&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wraptext.equals.com/the-fallacy-of-freemium-in-saas/&quot;&gt;The Fallacy of Freemium in SaaS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://future.com/developers-side-projects/&quot;&gt;Why Developers Are Building So Many Side Projects&lt;/a&gt; #notJustDevelopers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2023/10/10/business/remote-work-effects.html&quot;&gt;Here’s What We Do and Don’t Know About the Effects of Remote Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/latewood/&quot;&gt;Latewood&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; Stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hannahmoerman.substack.com/p/things-saving-my-life-journalling&quot;&gt;Things Saving My Life: Journalling Edition.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;fiber-crafts&quot;&gt;Fiber Crafts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hartfordstitch.com/post/2017/01/11/the-fear-of-sewing-clothes&quot;&gt;(Getting Over) The Fear of Sewing Clothes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Balancing time as a product manager</title>
      <link href="https://melanie-richards.com/blog/pm-time-mgmt/"/>
      <updated>2023-11-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/pm-time-mgmt/</id>
      <content type="html">&lt;p&gt;I have yet to meet a product manager who feels they have enough time for vision, strategy, or customer discovery. It’s pretty concerning that so many of us feel we don’t have enough time for &lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/&quot;&gt;our most impactful responsibilities&lt;/a&gt;. And yet, it’s so easy to get caught up in the high daily demands of execution. There is so much work to be done, and shipping just feels so good.&lt;/p&gt;
&lt;p&gt;I have experimented with multiple methods for managing my time as a PM, and thought I’d share what’s been working decently well as of late.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/tara-winstead-calendar-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/tara-winstead-calendar-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/tara-winstead-calendar-s.webp&quot; alt=&quot;A cozy flatlay of a weekly calendar, pen, notebook, and coffee mug on a thick knitted blanket&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Photo by &lt;a href=&quot;https://www.pexels.com/photo/flatlay-photo-of-weekly-planner-6690924/&quot;&gt;Tara Winstead&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;principles&quot;&gt;Principles&lt;/h2&gt;
&lt;p&gt;There are a few principles that were important in crafting my weekly schedule:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Accept the realities of timezones:&lt;/strong&gt; my peak times for deep work are in the mornings and evenings. However, I work from the West Coast U.S. for a globally-distributed company, which means early mornings are prime time for meetings and catching people before they sign off. Instead of fighting this, I’ve come to embrace that my mornings will be a little randomizing as I “make my rounds” with collaborators.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce context switching:&lt;/strong&gt; just because PMs &lt;em&gt;have&lt;/em&gt; to manage so many spinning plates doesn’t mean we crave it or are naturally good at it. I do enjoy the variety of activities involved in product management, but deep-diving on one initiative during focus blocks helps me perform better.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Protect focus time for high-impact thinking and future-facing investments:&lt;/strong&gt; finding a good stretch of time unbroken by meetings is critical to reach the level of depth required for vision and strategy work.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;my-week-at-a-high-level&quot;&gt;My week at a high level&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Monday through Thursday:&lt;/strong&gt; I am focused on current and recent initiatives. Regardless of what phase an initiative is in—discovery, solution refinement, design, execution, release, iteration—I’m doing what I can to push along our current irons in the fire.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Future-Facing Fridays:&lt;/strong&gt; I just love alliteration, don’t you? On Fridays I aim to protect as much time as I can for investing in the future. Fridays are great for this, because no one wants a Friday meeting—everyone else is quietly heads down on whatever they’re doing, trying to wrap something up before the weekend (and in fact, some colleagues work a Sunday–Thursday week). It’s much easier to dive deep without feeling like I’m blocking someone.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;weekly-and-daily-planning&quot;&gt;Weekly and daily planning&lt;/h2&gt;
&lt;p&gt;At the end of each week, I plan ahead for following week. In a little pocket notebook, I write out a prioritized list of initiatives, each with a high-level goal for that week: what do I need to decide, achieve, or deliver in order to &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/pm-time-mgmt/#pm-flavors-note&quot; id=&quot;pm-flavors-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;keep up forward momentum&lt;/a&gt;? This could be “finalize the user experience with Design”, “start working on user comms”, or as lightweight as “be available if the engineers have clarifying functional questions”.&lt;/p&gt;
&lt;p&gt;At the end of each workday, I pick an initiative to focus on the next day, as well as specific tasks I need to complete to drive that initiative’s weekly goal.&lt;/p&gt;
&lt;h2 id=&quot;monday%E2%80%93thursday&quot;&gt;Monday–Thursday&lt;/h2&gt;
&lt;h3 id=&quot;mornings&quot;&gt;Mornings&lt;/h3&gt;
&lt;p&gt;Mornings are spent connecting with people. Until lunchtime, I’m:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;In meetings and 1:1s.&lt;/strong&gt; Luckily, I don’t feel I’m in any time-wasting meetings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Doing “glue work”.&lt;/strong&gt; I’m answering clarifying questions that came up during the EMEA workday, reviewing pull requests, checking in to see if so-and-so needs anything, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tues/Thurs: co-leading a task force.&lt;/strong&gt; I co-lead the interoperability task force at the MACH Alliance. We meet as a group on Tuesdays and have check-ins with other parties on alternating Thursdays. I corral my MACH Alliance tasks to these mornings, so I’m checking in with my co-lead, building agendas, reviewing documents or diagrams we’re producing, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mon/Wed: doing timely-but-not-important tasks.&lt;/strong&gt; If something needs doing soon but doesn’t require deep focus, I fill in the smaller pockets of morning time with this type of task.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The start of the day can be fairly randomizing as a result, but funnily enough it feels less chaotic to me to push all the little bits together. Acceptance has totally changed my mindset.&lt;/p&gt;
&lt;h3 id=&quot;afternoons&quot;&gt;Afternoons&lt;/h3&gt;
&lt;p&gt;Afternoons are for focus time! With the exception of Thursday afternoons (when I have a couple 1:1s), I take advantage of this time to deep dive on a specific initiative. I’m making progress on the deep-work tasks that will help me achieve my weekly goals.&lt;/p&gt;
&lt;p&gt;A good example of this would be adding detailed user stories—including assumptions and acceptance criteria—to a product requirements doc (PRD), based on the results of a collaborative solution ideation exercise.&lt;/p&gt;
&lt;h2 id=&quot;friday&quot;&gt;Friday&lt;/h2&gt;
&lt;p&gt;While I still might have some glue work to do on Fridays—e.g. a docs PR is ready for review—I aim to focus on activities that will pay future dividends. As a product manager, it is my core responsibility to identify how we should evolve the product to deliver maximum customer and business value. I can’t connect the product triad to the highest-impact initiatives if I’m not consciously considering the product’s future direction.&lt;/p&gt;
&lt;p&gt;Some examples of Future-Facing Friday tasks include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planning or conducting customer discovery on a specific topic or opportunity. (Note: the actual customer conversations are beholden to customers’ schedules, so they happen throughout the week)&lt;/li&gt;
&lt;li&gt;Querying our usage data to uncover patterns or insights that will inform our strategy. For example, data exploration led me to define a specific &lt;a href=&quot;https://mixpanel.com/blog/north-star-metric/&quot;&gt;North Star metric&lt;/a&gt; for a customer opportunity area I own.&lt;/li&gt;
&lt;li&gt;Synthesizing customer, data, and market insights into a time-bound vision and strategy statement&lt;/li&gt;
&lt;li&gt;Defining roadmaps for the next quarter&lt;/li&gt;
&lt;li&gt;Conducting market research&lt;/li&gt;
&lt;li&gt;Honing personal skills or knowledge; for example, I’m currently getting caught up on the latest developments in AI / LLMs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;still-solving&quot;&gt;Still solving&lt;/h2&gt;
&lt;p&gt;I certainly don’t have everything all figured out. I’d like to make more time for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Open-ended customer discovery:&lt;/strong&gt; I’m scheming with a user researcher at work on a continuous discovery program. We often engage with customers about specific topics, but I’d like more time hearing from customers in an open-ended way what they’re trying to achieve, what they’re struggling with, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Product and tech reading:&lt;/strong&gt; when I had an ~hour long commute by bus/shuttle, it was really easy to make the time to read articles related to my craft. At the moment, they’re kind of piling up in my Reader. I *think* that some timeboxed reading after lunch would help ease me into focus time, but more often I just want to get going on my most important tasks. I’ll have to think about how to better sprinkle this throughout the week. Or alternatively, just carve out some Friday time for it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;that%E2%80%99s-it!&quot;&gt;That’s it!&lt;/h2&gt;
&lt;p&gt;That’s how I balance a typical week: 80% execution, 20% forward thinking. I’m sure I’ll continue to evolve this over time. Fellow productivity nerds: how do you balance your time?&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;pm-flavors-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Product managers are not project managers. A project manager’s core responsibility is to ensure work is delivered on time and on budget. That said, if there is no project manager, keeping a project on track becomes a shared responsibility. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/pm-time-mgmt/#pm-flavors-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2310/"/>
      <updated>2023-11-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2310/</id>
      <content type="html">&lt;p&gt;The social calendar does not seem to be slowing down, despite our transition into fall and the pandemic raging on. This month was full, with returning from our honeymoon to &lt;a href=&quot;https://www.netlify.com/conference/&quot;&gt;Netlify Compose&lt;/a&gt;, Dewey’s Readathon, a double spooky movie night (new tradition I’m hosting!), an annual pumpkin potluck, various monthly meetups.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-q4-bujo-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-q4-bujo-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2023-q4-bujo-s.webp&quot; alt=&quot;A small teal notebook with a shiny white pen in a light pink pen loop. On the front is a sticker of a chubby pink cat with the old Netlify logo on its collar. The sticker on the back is a drawing of knuckles with very cute tattooed onto them, along with cutesy symbols like a heart, tooth, and cat.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My pocket-sized Q4 bullet journal (details on my &lt;a href=&quot;https://front-end.social/@melanie/111201282123656093&quot;&gt;Mastodon post&lt;/a&gt;)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;web-whatnot&quot;&gt;Web whatnot&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I had to get into a pro bono Wordpress site I built in 2016 to make a couple of functional changes. Remembering PHP syntax is like calling upon an ancient, half-forgotten magic. Related: Wordpress needs an audit log.&lt;/li&gt;
&lt;li&gt;I’m trying to catch up a bit to the AI / LLM discussion. I have quite a few reservations still about this technology, but I can’t deny it will be transformative. Best to figure out how to harness the wind, rather than shake a fist at the weather.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;fiber-crafts&quot;&gt;Fiber crafts&lt;/h2&gt;
&lt;p&gt;I finished Closet Core’s &lt;a href=&quot;https://closetcorepatterns.com/products/learn-to-sew-clothing-online-sewing-class?variant=31646639325318&quot;&gt;“Learn How to Sew Clothing” online course&lt;/a&gt; and am starting on the Fiore skirt pattern. So far I’ve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taken my measurements (ugh) and found my size (ugh)&lt;/li&gt;
&lt;li&gt;Purchased fabric and notions&lt;/li&gt;
&lt;li&gt;Printed, taped, and cut out the pattern pieces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Next I need to cut out my fabric. I wish I had gotten a little further along last month; it will be nice if I could finish the project in November.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I finished 7 books in October. My favorite was &lt;a href=&quot;https://bookshop.org/a/15644/9781250853677&quot;&gt;“Red Queen” by Juan Gómez-Jurado&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/how-to-use-chatgpt-in-your-pm-work&quot;&gt;How to Use ChatGPT in Your PM Work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://niemanreports.org/articles/npr-twitter-musk/&quot;&gt;Six Months Ago NPR Left Twitter. The Effects Have Been Negligible&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/2023/10/overview-large-language-model-concepts-use-cases-tools/&quot;&gt;A High-Level Overview of Large Language Model Concepts, Use Cases, and Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2023/10/accessiblity-shamed/&quot;&gt;So You’ve Been Publicly Accessibility-Shamed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/too-much-and-not-enough/&quot;&gt;Too Much and Not Enough&lt;/a&gt;: fave read&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/the-highlight/23824299/when-to-quit-job-hobby-when-to-keep-going&quot;&gt;The Art of Quitting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elenaverna.substack.com/p/do-you-have-career-blues&quot;&gt;Do you have career blues?&lt;/a&gt; (sorry for all the Substack login walls)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scribe.rip/nice-work-from-active-voice/hey-designers-theyre-gaslighting-you-e02e5a4d9cff&quot;&gt;Hey Designers, They’re Gaslighting You.&lt;/a&gt;: really not vibing with the use of “gaslighting” here, but this article contains great advice for any functional role feeling undervalued.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; Stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hannahmoerman.substack.com/p/16-prompts-you-can-use-in-your-journal&quot;&gt;16 Prompts You Can Use in Your Journal, Right This Moment!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://clairefromonline.substack.com/p/028-rhythms-and-routines&quot;&gt;rhythms &amp;amp; routines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://clairefromonline.substack.com/p/what-if-were-asking-the-wrong-questions&quot;&gt;what if we&#39;re asking the wrong questions?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.japantimes.co.jp/news/2001/10/31/national/ministry-compiles-list-of-nations-100-best-smelling-spots/&quot;&gt;Ministry compiles list of nation&#39;s 100 best-smelling spots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/even-better/23837430/how-to-make-friends-start-a-club&quot;&gt;Want to make more friends? Start a club.&lt;/a&gt;: parallel play, a great life hack.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/09/20/shitt-should-i-try-that/&quot;&gt;SHITT: Should I Try That?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Sep 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2309/"/>
      <updated>2023-10-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2309/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Note: I’m posting my monthly update in the midst of a crisis harming Israelis and Palestinians, which includes some of my co-workers. I’m an outsider who can’t begin to understand what that feels like. What I do know and want to acknowledge is that all humans deserve to be safe; to have their needs met; and furthermore to thrive.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;honeymoon&quot;&gt;Honeymoon&lt;/h2&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-maiori-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-maiori-s.webp&quot; alt=&quot;A bunch of small buildings in pastel shades clustered together on a green cliff in Maiori. A golden hour sun washes over the entire cliff.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The hillside in Maiori on the Amalfi Coast, Italy&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In September my husband and I went on our belated honeymoon! Like seemingly half of U.S. international travelers, we visited Italy, working our way through Milan, Venice, Florence, Maiori (Amalfi coast), and a quick stop in Rome. We had such a wonderful time exploring the country together. Feeling very grateful for this shared adventure.&lt;/p&gt;
&lt;h2 id=&quot;learn-to-sew-clothes&quot;&gt;Learn to Sew Clothes&lt;/h2&gt;
&lt;p&gt;Prior to our honeymoon, I was working my way through Closet Core’s &lt;a href=&quot;https://closetcorepatterns.com/products/learn-to-sew-clothing-online-sewing-class?variant=31646639325318&quot;&gt;“Learn How to Sew Clothing” online course&lt;/a&gt;. So far the course has been clear and useful: I didn’t skip any videos—not even the “how to use a machine” basics—and learned something new in each one. I’ve been &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;sewing little items&lt;/a&gt; for my household or other hobbies, so I am looking forward to making some clothes soon. The course has helped remove some of the intimidation I felt with this process, which is what I’d hoped for!&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mastodon.social/@levelbot&quot;&gt;Levelbot on Mastodon&lt;/a&gt;. I’ve always wanted to make a fun little text bot like this, but haven’t thought of a fun idea yet.&lt;/li&gt;
&lt;li&gt;Need to play &lt;a href=&quot;https://octodad.com/&quot;&gt;Octodad&lt;/a&gt;, where you’re a dad who’s secretly also an octopus?? A+ concept, which a couple members of my blog post writing group introduced to me in a conversation about how cool octopi (insert your favorite pluralization here) are.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I read 6 books in September. My favorite was a re-read of volumes I and II of &lt;a href=&quot;https://hivemill.com/products/sakana-volume-1&quot;&gt;Sakana&lt;/a&gt;. I have an unread copy of vol III on my shelves!&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nothinghuman.substack.com/p/the-tyranny-of-the-marginal-user&quot;&gt;The Tyranny of the Marginal User&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2023/07/28/why-is-dns-still-hard-to-learn/&quot;&gt;Why Is DNS Still Hard to Learn?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://krebsonsecurity.com/2023/09/why-is-us-being-used-to-phish-so-many-of-us/&quot;&gt;Why Is .US Being Used to Phish So Many of Us?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/technology/2023/aug/31/fish-doorbells-historic-sandwiches-50-of-the-weirdest-most-wonderful-corners-of-the-web-picked-by-an-expert&quot;&gt;Fish Doorbells! Historic Sandwiches! 50 of the Weirdest, Most Wonderful Corners of the Web – Picked by an Expert&lt;/a&gt; (via Eric Bailey)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/future-perfect/21528569/homeless-poverty-cash-transfer-canada-new-leaf-project&quot;&gt;A Canadian study gave $7,500 to homeless people. Here’s how they spent it.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://everythingchanges.us/blog/energy-makes-time/&quot;&gt;Energy Makes Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bakadesuyo.com/2022/11/epicurus/&quot;&gt;How to Be Happier Without Really Trying&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2023/09/one-day-builds/&quot;&gt;One Day Builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2023/08/30/well/family/waking-up-early-morning-person.html?unlocked_article_code=FDS2yBzHy2yCkkdrIp6u-JIGfeIGBMJ51rdc1TIpZBD5YuHiAbKxwQA2yBFqoU1KT5Ml--Tt_nDwyzIJn1GtzNDh92sIqP1uvlVYAgP-Evf2AdrQMTroDsLzpz-jCfRzS8U8O_uJfaAzb6XGhWvist3ahhzzqFsDYJsO_4SzinlF_lWlTHrawWljIgEXwjfSDwDZ8GgD5uMIrbrxWfvZXE6AcTobMf6dzXYshmEbvRks9lRMYy2jFS9Zn2hULnIx0Fq_cP2GhHj2yK8_B0xHw7NDWJMwdk3J-uHGrntzRAmzCDqWJxbmE4DBKiIHYRwLaIhBoOxYkcGMdZkpmmALJ5X9wDp6Rye8E6f7cg&amp;amp;smid=url-share&quot;&gt;The Art of Being a Morning Person&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Quarterly career goals for individual contributors</title>
      <link href="https://melanie-richards.com/blog/quarterly-career-goals/"/>
      <updated>2023-09-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/quarterly-career-goals/</id>
      <content type="html">&lt;p&gt;Planning out long-term career goals has always been a challenge for me, and I’ve come to accept that it’s for good reason: I am led by curiosity and want to keep my options open for what sparks my interest. That said, I am not happy unless I’m continuously growing.&lt;/p&gt;
&lt;p&gt;For my fellow malleable achiever-types, what I’ve found works really nicely is setting quarterly goals. It’s a long enough period that you have time to make in-roads on a priority, without introducing a limiting or overwhelming timescale. And if your organization uses &lt;a href=&quot;https://www.whatmatters.com/get-started&quot;&gt;OKRs&lt;/a&gt;, you have a familiar format to reach for when setting your goals.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A note on that: this post assumes some familiarity with OKR structures, and also does not attempt to write them perfectly. &lt;a href=&quot;https://www.whatmatters.com/get-started&quot;&gt;Learn more about OKRs&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-kinds-of-goals-should-i-set%3F&quot;&gt;What kinds of goals should I set?&lt;/h2&gt;
&lt;p&gt;A handy framework for me—a product manager—is to focus on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 outcome I want to achieve for the product/business.&lt;/li&gt;
&lt;li&gt;1 outcome the team or my peers need.&lt;/li&gt;
&lt;li&gt;1 professional skill or quality to develop further.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This short set of outcomes provides a nice mix of growth types: it sets me up to deliver on my core responsibilities, lead as a more-senior individual contribution, and &lt;a href=&quot;https://www.franklincovey.com/the-7-habits/habit-7/&quot;&gt;“sharpen the saw”&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;product%2Fbusiness-goals&quot;&gt;Product/business goals&lt;/h3&gt;
&lt;p&gt;For these, I adopt or adapt organizational OKRs, and consider what agency I have in terms of driving those goals. My personal objective may match a team-level objective or key result verbatim (typically one that I’ve helped write!). My key results (KRs) will reflect what &lt;em&gt;I&lt;/em&gt; can do as a product manager to drive those goals.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Sample objective: Increase such-and-such North Star metric by x%.&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Conduct a relevant user research study to uncover customer opportunities.&lt;/li&gt;
&lt;li&gt;Join &lt;code&gt;x&lt;/code&gt; customer calls related to this topic with the Sales team.&lt;/li&gt;
&lt;li&gt;Execute on &lt;code&gt;y&lt;/code&gt; supporting initiatives with the cross-functional team.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By the way: the nice thing about personal OKRs is that you don’t have to go in circles debating whether they are written “correctly”. You can just implement something that works for you and adjust your approach each quarter as you learn.&lt;/p&gt;
&lt;/details&gt;
&lt;h3 id=&quot;team-goals&quot;&gt;Team goals&lt;/h3&gt;
&lt;p&gt;For this one I consider what “the team” needs most right now. I put “the team” in quotes because as product manager, we may feel belong to more than one scope of team. There’s:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The cross-functional pods or feature teams we execute on initiatives with.&lt;/li&gt;
&lt;li&gt;The functional product management team.&lt;/li&gt;
&lt;li&gt;Our broader organizational division, or in fact, partner teams elsewhere in the organization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which “peer outcome” to focus on tends to come up naturally. It reflects a trend I’ve observed or something that I’ve heard my peers express frustration about. This could be a missing part of our process, a cultural concern, or a weak relationship with a partner team.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Sample objective: Improve X relationships with Y.&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;KR: Conduct 3 1:1s with Y to understand their goals, motivations, and challenges.&lt;/li&gt;
&lt;li&gt;KR: Brainstorm 3 solutions with X and Y that support our shared goals.&lt;/li&gt;
&lt;li&gt;KR: Pilot 1 solution for [period of time] and evaluate impact.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h3 id=&quot;professional-skills-or-qualities&quot;&gt;Professional skills or qualities&lt;/h3&gt;
&lt;p&gt;Often this is a capability I want to improve or build upon. It could instead be an opportunity to flex strengths or keep a skill fresh.&lt;/p&gt;
&lt;p&gt;PMs might work on skills like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Customer discovery&lt;/li&gt;
&lt;li&gt;Data analysis&lt;/li&gt;
&lt;li&gt;Experimentation&lt;/li&gt;
&lt;li&gt;Influence without authority&lt;/li&gt;
&lt;li&gt;Communication (I once set a goal around brevity…still working on it!)&lt;/li&gt;
&lt;li&gt;Market research&lt;/li&gt;
&lt;li&gt;Design sense&lt;/li&gt;
&lt;li&gt;Area-specific technical knowledge&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
  &lt;summary&gt;Sample objective: Build on statistical analysis chops.&lt;/summary&gt;
&lt;p&gt;&lt;em&gt;This was from my Q2 this year!&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KR: Read &lt;a href=&quot;https://bookshop.org/p/books/naked-statistics-stripping-the-dread-from-the-data-charles-wheelan/8463650?ean=9780393347777&quot;&gt;“Naked Statistics”&lt;/a&gt; by Charles Wheelan.&lt;/li&gt;
&lt;li&gt;KR: Complete [redacted] tutorials. &lt;em&gt;← I ended up scoring 0.33 on this one because I found them to be lower value and bailed out a third of the way through.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;KR: Learn how to calculate &lt;code&gt;P*&lt;/code&gt; in SQL.&lt;/li&gt;
&lt;li&gt;KR: Conduct 1 data analysis project, unrelated to a specific initiative launch.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h2 id=&quot;personal-personal-goals&quot;&gt;Personal personal goals&lt;/h2&gt;
&lt;p&gt;If you too are a massive nerd, you can apply individual OKRs to your personal life as well. They’re not for everyone—and depending on my season of life, sometimes not even for me. But they can be helpful if you have an itch for personal development, and &lt;em&gt;especially&lt;/em&gt; if you want to achieve &lt;em&gt;all the things right now&lt;/em&gt; (it’s me, hi). By choosing just 3 objectives a quarter for your personal life, you can narrow the field of focus.&lt;/p&gt;
&lt;p&gt;Next quarter, my personal objectives are to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🏃‍♀️ Bring my average resting heart rate down to &lt;code&gt;xx&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;🕊️ Strengthen spiritual connections.&lt;/li&gt;
&lt;li&gt;🧶 Make regular time for my creative hobbies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Their KRs each include specific and measurable projects and habits. Again, I try to pick a mix of life areas, particularly those that need a little love right now.&lt;/p&gt;
&lt;h2 id=&quot;keep-a-live-connection&quot;&gt;Keep a live connection&lt;/h2&gt;
&lt;p&gt;A great way to not hit your goals is to write them down and then never revisit them until end of quarter. &lt;code&gt;*cough*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;What I like to do is revisit my professional goals every Friday as part of a work week wrapup. Sunday nights are when I reflect on my personal goals. During these weekly reviews, I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Look at my KRs and update the scores based on progress I’ve made that week.&lt;/li&gt;
&lt;li&gt;Reflect on how I’m tracking at this point in the quarter. Anything I need to do to catch up?&lt;/li&gt;
&lt;li&gt;Identify the “next best steps”: what specific steps should I take next week to stay on track?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For me, a weekly cadence keeps my goals top of mind, without letting their maintenance outweigh their impact. You might find a different cadence works best for you.&lt;/p&gt;
&lt;h2 id=&quot;how-do-you-set-goals%3F&quot;&gt;How do you set goals?&lt;/h2&gt;
&lt;p&gt;That’s my professional goal-setting in a nutshell! Give it a try if you’re feeling overwhelmed by too-long timescales, or too many interests clamoring for primacy. Personal development is always a work in progress, so I’d love to compare notes on goal-setting. What does that look like for you?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Netlify has entered the chat: Netlify official Slack app now in beta” on Netlify</title>
      <link href="https://www.netlify.com/blog/netlify-official-slack-app-beta/"/>
      <updated>2023-09-18T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/netlify-official-slack-app-beta/</id>
      <content type="html">
        <p>Quickly connect your Slack workspace to your Netlify account to keep tabs on all your sites and team activity.</p>
        <a href="https://www.netlify.com/blog/netlify-official-slack-app-beta/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2308/"/>
      <updated>2023-09-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2308/</id>
      <content type="html">&lt;p&gt;Welllllp. I finally caught Covid this month. My husband and I have been able to dodge it for just over 3 1/2 years—having been on the more cautious end of the behavioral bell curve—but this summer surge came for us. This pandemic is awful but very thankfully we’re feeling better now, minus the odd coughing fit.&lt;/p&gt;
&lt;h2 id=&quot;%F0%9F%8C%B1-digital-gardening&quot;&gt;🌱 Digital Gardening&lt;/h2&gt;
&lt;p&gt;I disallowed Open AI’s GPTBot from crawling any of my sites’ content. &lt;a href=&quot;https://hidde.blog/llm-theft-opt-out/&quot;&gt;Hidde’s blog post&lt;/a&gt; pretty much says it all.&lt;/p&gt;
&lt;h3 id=&quot;what-to-draw-generator&quot;&gt;&lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;What to Draw generator&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;This idea generator fetches a random photo for Unsplash following the user’s filters for a photo topic and orientation. Very recently, the Unsplash API started returning an error for requests containing &lt;code&gt;orientation=any&lt;/code&gt;, instead of silently ignoring this (not-accepted) value as it did previously. I fixed the user filters so that if “Any” is selected for the topic or orientation, that parameter is not sent along in the request to the API. “Any” is the default value for both these filters, so fixing this meant un-borking the entire app. 👍🏼&lt;/li&gt;
&lt;li&gt;I removed the “Architecture” topic from the filters list, as it seems to have been deprecated. Requests using that topic weren’t returning relevant results.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;seasons&quot;&gt;&lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;Seasons&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://developer.chrome.com/docs/web-platform/notification-triggers/&quot;&gt;notification triggers&lt;/a&gt; API experiment was at some point deprecated. I was using these to send web notifications any time a seasonal holiday popped up throughout the year. I finally got around to replacing web notifications with a Google calendar.&lt;/p&gt;
&lt;h3 id=&quot;highlights&quot;&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;Highlights&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I added support for content warnings, as well as backfilled a lot of highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/braiding-sweetgrass/&quot;&gt;Braiding Sweetgrass&lt;/a&gt; by Robin Wall Kimmerer&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/turtles/&quot;&gt;Turtles All the Way Down&lt;/a&gt; by John Green&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/the-sentence/&quot;&gt;The Sentence&lt;/a&gt; by Louise Erdrich&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/tomorrow-and-tomorrow-and-tomorrow/&quot;&gt;Tomorrow, and Tomorrow, and Tomorrow&lt;/a&gt; by Gabrielle Zevin&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/in-the-dream-house/&quot;&gt;In the Dream House&lt;/a&gt; by Carmen Maria Machado&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/enchantment/&quot;&gt;Enchantment&lt;/a&gt; by Katherine May&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;crafting&quot;&gt;Crafting&lt;/h2&gt;
&lt;p&gt;I sewed a zippered marker pouch! You can read about it &lt;a href=&quot;https://fiber.melanie-richards.com/marker-pouch/&quot;&gt;on my fiber blog&lt;/a&gt;.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-marker-pouch-open-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-marker-pouch-open-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-marker-pouch-open-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-marker-pouch-open-s.webp&quot; alt=&quot;A cotton pouch in checkerboard pattern with a red zipper, and markers peaking out from the zippered opening&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oliverburkeman.com/river&quot;&gt;Treat your to-read pile like a river, not a bucket&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oliverburkeman.com/justdo&quot;&gt;Just do the thing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oliverburkeman.com/fourhours&quot;&gt;The three-or-four-hours rule for getting creative work done&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art-%26-craft&quot;&gt;Art &amp;amp; Craft&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://oddorange.co.uk/blogs/news/4-ways-to-begin-a-sketchbook-again-by-overcoming-your-artist-shadow&quot;&gt;4 Ways to Begin a Sketchbook Again by Overcoming Your Artist Shadow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/science/2011/sep/30/stone-age-toddlers-art-lessons&quot;&gt;Stone-age toddlers had art lessons, study says&lt;/a&gt; 🥹&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.balfourand.co/blog/4-tips-for-designing-your-own-rug&quot;&gt;4 Tips for Designing Your Own Rug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/08/31/make-an-appointment-with-yourself/&quot;&gt;Make an Appointment With Yourself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/08/15/patience-with-everything-unresolved-in-your-heart/&quot;&gt;Patience With Everything Unresolved in Your Heart&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gumshoe.substack.com/p/what-good-personal-style-has-in-common&quot;&gt;What Good Personal Style Has in Common&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mariandrew.substack.com/p/100-things-i-know&quot;&gt;100 Things I Know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/sections/health-shots/2023/07/22/1189303227/neat-fitness-non-exercise-activity-thermogenesis?utm_source=substack&amp;amp;utm_medium=email&quot;&gt;There&#39;s a way to get healthier without even going to a gym. It&#39;s called NEAT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vice.com/en/article/88xmdz/thousands-of-octopuses-gather-at-this-mysterious-spot-now-we-know-why&quot;&gt;Thousands of Octopuses Gather at This Mysterious Spot. Now, We Know Why.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, July 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2307/"/>
      <updated>2023-08-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2307/</id>
      <content type="html">&lt;h2 id=&quot;pacific-northwest-pen-show&quot;&gt;Pacific Northwest Pen Show&lt;/h2&gt;
&lt;p&gt;I attended my first fountain pen show, the inaugural &lt;a href=&quot;https://pnwpenshow.com/&quot;&gt;PNW Pen Show&lt;/a&gt;! My husband and I took the train down from Seattle to Portland to geek out in a ballroom with a bunch of other stationery nerds. It was so thrilling to share this hobby with folks from all different backgrounds and phases of life; that community connection is something I find myself craving, particularly in this remote work era.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-brilliant-bunny-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-brilliant-bunny-s.webp&quot; alt=&quot;A red, sparkly fountain pen with gold trip on the cap and clip. There is a circular ink window that looks like a port hole on a ship.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;So sparkly, so pretty&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;The one drawback of the show for me was that the website teased “classes and activities”, which were in fact never added to the site (it still says these are coming soon). When we showed up, the person who signed us in pointed out the trade show floor, and that was about it. Silly me assumed they never got around to organizing workshops, but apparently there were some activities!! I should’ve asked.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-show-ink-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-show-ink-s.webp&quot; alt=&quot;Ink swatches of Yama budo, a pinkish purple. Storied Blue, a desaturated, warm blue. Haha and Nekoyanagi, two multishaded blueish-purple inks. Ainezu, a dark blue-grey with maroon sheening. And Akasakura, a dark, warm red.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Inks I acquired at the show, in my Hobonichi Day-Free notebook&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Right now my favorite combo is the Taccia Ainezu ink I acquired at the show, in a &lt;a href=&quot;https://www.jetpens.com/Pilot-Vanishing-Point-Decimo-Fountain-Pen-Pearl-White-18k-Fine-Nib/pd/2650&quot;&gt;Pilot Vanishing Point Decimo&lt;/a&gt;. I must admit I was a bit skeptical about a retractable fountain pen, but the Decimo is such a joy to use.&lt;/p&gt;
&lt;h2 id=&quot;arts-%26-crafts&quot;&gt;Arts &amp;amp; crafts&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-strawberry-pouch-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-strawberry-pouch-s.webp&quot; alt=&quot;A fabric pen pouch featuring a strawberry pattern on the flap and a bright green strap that it tucks into.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I made two attempts at a small, summery &lt;a href=&quot;https://fiber.melanie-richards.com/pen-pouch/&quot;&gt;pen pouch&lt;/a&gt; and was successful on the second go. I think this pattern would be easily adaptable for other formats, so watch this space.&lt;/p&gt;
&lt;p&gt;I also started working on a matching zippered marker pouch. I have some cream, red, lime green, and strawberry fabric squares pieced together in a pseudo-random checkerboard pattern. Next up is to fuse on the batting and start putting the structure of the pouch together.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-urban-sketch-palette-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-urban-sketch-palette-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-urban-sketch-palette-s.webp&quot; alt=&quot;Me working through urban sketch palettes for city scapes and parks, using a combination of markers, colored pencils, and crayon pastels&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Not much sketching/drawing this month outside of my journal, but I did work out a palette (sort of) for urban sketching.&lt;/p&gt;
&lt;h2 id=&quot;taking-breaks-with-pandan&quot;&gt;Taking breaks with Pandan&lt;/h2&gt;
&lt;p&gt;I really struggle with self-care during the workday, particularly with taking breaks throughout the day.&lt;/p&gt;
&lt;p&gt;I asked in work chat about a Pomodoro app that will prompt you if you &lt;em&gt;haven’t&lt;/em&gt; started a work sprint timer, and someone suggested &lt;a href=&quot;https://sindresorhus.com/pandan&quot;&gt;Pandan&lt;/a&gt;. This app keeps track of how long you’ve been active on your computer, and can (optionally) nudge you after every x minutes. I chose to receive a HUD notification—front and center on my screen—every 45 minutes. Taking breaks is still a work in progress, but I’m much more aware of my behaviors now.&lt;/p&gt;
&lt;p&gt;Aside: &lt;a href=&quot;https://sindresorhus.com/apps&quot;&gt;Sindre’s list of apps&lt;/a&gt; is #goals.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I read 7 books in July. My favorite was &lt;a href=&quot;https://bookshop.org/a/15644/9780063054899&quot;&gt;“VenCo” by Cherie Dimaline&lt;/a&gt;, a perfect witchy novel if you’re into that sort of thing.&lt;/p&gt;
&lt;h3 id=&quot;work%2C-productivity%2C-%26-creativity&quot;&gt;Work, Productivity, &amp;amp; Creativity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/07/10/laziness-and-discipline/&quot;&gt;Laziness and Discipline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/07/10/never-waste-a-midlife-crisis/&quot;&gt;Never waste your midlife crisis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-%26-stationery&quot;&gt;Journaling &amp;amp; Stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Two posts from Rebecca Green on visual journaling, &lt;a href=&quot;https://www.myblankpaper.com/blog/2018/3/21/note-to-self-heres-what-i-saw-and-heres-how-i-felt&quot;&gt;from 2018&lt;/a&gt; and &lt;a href=&quot;https://www.myblankpaper.com/blog/2022/6/24/visual-journaling&quot;&gt;from 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2023/07/05/reader-question-for.html&quot;&gt;Reader Question 4: For Daily and Weekly Planning, Do You Use Open and Closed Lists?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spoon-tamago.com/tokyo-hidden-shrines/&quot;&gt;Exploring Tokyo’s Hidden Shrines&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Summer Pen Pouch” on Fiber Blog</title>
      <link href="https://fiber.melanie-richards.com/pen-pouch/"/>
      <updated>2023-07-14T00:00:00.000Z</updated>
      <id>https://fiber.melanie-richards.com/pen-pouch/</id>
      <content type="html">
        <p>Two attempts at a summery on-the-go home for my fountain pens</p>
        <a href="https://fiber.melanie-richards.com/pen-pouch/">Read the article on Fiber Blog</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, June 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2306/"/>
      <updated>2023-07-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2306/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-the-national-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-the-national-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-the-national-s.webp&quot; alt=&quot;A crowd of hipsters is gathered to watch musicians onstage in a park at dusk. There are fairy lights strung up to each side of the stage, and in the background a series of conifers stand tall.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Watching some sad dads play music at Marymoor Park, with THE BEST LIVE BRASS SECTION&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Busy busy busy! Pretty much every weekend was booked up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A second cabin weekend, this time on the Olympic Peninsula&lt;/li&gt;
&lt;li&gt;The National concert at Marymoor Park in Redmond, WA—one of the best shows I’ve ever been to, honestly&lt;/li&gt;
&lt;li&gt;Book club hangs&lt;/li&gt;
&lt;li&gt;An offsite in SF&lt;/li&gt;
&lt;li&gt;Family visits in Florida&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
  &lt;summary&gt;Content warning: photo of raw oysters&lt;/summary&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-oysters-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-oysters-s.webp&quot; alt=&quot;A dozen raw oysters arrayed on a bed of ice with a lemon wedge, next to a tray of roasted oysters with a hunk of bread. They were delicious.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Raw oysters were not a cuisine I had ever dreamed of loving, but here we are! Appreciating the brine in Hama Hama, WA.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/details&gt;
&lt;p&gt;Summer is back, baby!! Having both a calendar crammed full of social events and a KN95 on my face feels like having each foot in two very different worlds.&lt;/p&gt;
&lt;h2 id=&quot;product-resources&quot;&gt;Product Resources&lt;/h2&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://product.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-product-resources-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-product-resources-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-product-resources-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-product-resources-s.webp&quot; alt=&quot;A list of product resource links, organized by categories such as General, Customer Research, Data &gt; SQL, and Data &gt; Statistics&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;Finally found an excuse to play around with the Notion API! I created a &lt;a href=&quot;https://product.melanie-richards.com/&quot;&gt;product resources minisite&lt;/a&gt; from a database in my personal Notion instance. You can peek at the code or suggest a resource &lt;a href=&quot;https://github.com/melanierichards/product-resources&quot;&gt;on Github&lt;/a&gt;. Humble beginnings, but I’ll be adding to this bit by bit as I find neat resources.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/what-working-at-figma-taught-me-about&quot;&gt;What Working at Figma Taught Me About Customer Obsession&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/linear-regression-and-correlation-analysis&quot;&gt;How to Do Linear Regression and Correlation Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mixpanel.com/blog/north-star-metric/&quot;&gt;What Is a North Star Metric?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/boldstart-ventures/how-to-sell-the-value-of-dev-tools-in-2023-cd5d3826a358&quot;&gt;How to Sell Dev Tools in 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cutlefish.substack.com/p/tbm-226-stuck-in-the-valley-of-doing&quot;&gt;Stuck in the Valley of &amp;quot;Doing OK&amp;quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://larahogan.me/blog/even-over-statements/&quot;&gt;How to Make Hard Decisions: Even/Over Statements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling%2C-stationery%2C-%26-art&quot;&gt;Journaling, Stationery, &amp;amp; Art&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wonderpens.ca/blogs/uncategorized/journaling-thoughts_-out-of-one-into-another&quot;&gt;Journaling Thoughts—Out of One, Into Another&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mindfulartstudio.com/the-three-ps-of-making-more-art/&quot;&gt;The Three P’s of Making More Art&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2023/06/07/what-works-for-you/&quot;&gt;What Works for You&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2023/06/05/some-blogging-myths/&quot;&gt;Some Blogging Myths&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, May 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2305/"/>
      <updated>2023-06-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2305/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-heybrook-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-heybrook-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-heybrook-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-heybrook-s.jpg&quot; alt=&quot;A panorama that includes a few mountain peaks with some snow on top, a valley filled with conifers, and variety of confifers in the foreground. The scene is quite saturated, a nice green spring day.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The view from Heybrook Ridge. If you squint, you may be able to make out Bridal Veil Falls across the way.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Went on our first hike of the year (lol sob)! Rahul (husband) and I tromped up Heybrook Ridge on a Friday before a cabin weekend with friends. We had the trail nearly to ourselves and enjoyed a private view at the top.&lt;/li&gt;
&lt;li&gt;Released a small update with team members at Netlify: &lt;a href=&quot;https://answers.netlify.com/t/customize-the-email-subject-line-for-form-submission-notifications/91534&quot;&gt;Customize the email subject line for form submission notifications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Started working on a &lt;a href=&quot;https://product.melanie-richards.com/&quot;&gt;list of product resources&lt;/a&gt;. I pretty much just have the data so far—no styling or anything—but it’s been fun learning a new API, Notion in this case. &lt;a href=&quot;https://github.com/melanierichards/product-resources&quot;&gt;Peep the codebase.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Started strategizing how I will complete the Seattle Public Library summer book bingo, and &lt;a href=&quot;https://app.thestorygraph.com/reading_challenges/4107449d-0772-4bc4-a5c4-4ba08d659e45&quot;&gt;made a challenge for it on The StoryGraph&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Caught the &lt;a href=&quot;https://www.seattleartmuseum.org/exhibitions/ikat&quot;&gt;ikat exhibit&lt;/a&gt; at the Seattle Art Museum just before it closed and wow, it was incredible! Ikat cloth is made by resistance-dying threads and then weaving them together. It’s most associated with Indonesia, but used across the globe to great visual variety and often deep meaning. The book &lt;a href=&quot;https://bookshop.org/a/15644/9781898113904&quot;&gt;“Global Ikat”&lt;/a&gt; contains all of the pieces from the show and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ikat-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ikat-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ikat-s.jpg&quot; alt=&quot;A dark indigo-black cloth with vertical bands of cream every couple of inches. Between some of the bands are verticle tick marks in cream, or thicker vertical cream rectangles separated by smaller horizontal rectangles in red, yellow, and blue.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;One of my favorite ikat cloths, from Côte d’Ivoire&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Can you tell I went through my product article backlog?&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://engineering.linkedin.com/blog/2023/inside-look--measuring-developer-productivity-and-happiness-at-l&quot;&gt;Inside Look: Measuring Developer Productivity and Happiness at LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.similarweb.com/blog/insights/ai-news/stack-overflow-chatgpt/&quot;&gt;Stack Overflow Is ChatGPT Casualty: Traffic Down 14% in March&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2023/04/24/snapchat-sees-spike-in-1-star-reviews-as-users-pan-the-my-ai-feature-calling-for-its-removal/&quot;&gt;Snapchat Sees Spike in 1-Star Reviews as Users Pan the ‘My AI’ Feature, Calling for Its Removal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://uxplanet.org/people-dont-read-online-they-scan-this-is-how-to-write-for-them-80a75069c14e&quot;&gt;People Don’t Read Online—They Scan. This Is How to Write for Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2023/05/willingness-to-pay/&quot;&gt;Ask Teresa: How Can You Test a Customer’s Willingness to Pay?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/how-miro-builds-product&quot;&gt;How Miro Builds Product&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/how-notion-builds-product&quot;&gt;How Notion Builds Product&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zachleat.com/web/styling-web-components/&quot;&gt;3 Methods for Scoped Styles in Web Components That Work Everywhere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/the-acronyms-of-rendering/&quot;&gt;The Acronyms of Rendering on the Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-reads&quot;&gt;Other Interesting Reads&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2021/04/19/i-am-no-longer-weakened-by-the-weekend/&quot;&gt;I am no longer weakened by the weekend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mastodon.ie/@MikeMorris/110317513574260072&quot;&gt;This made me want to cry&lt;/a&gt; but like, in a good way&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2023</title>
      <link href="https://melanie-richards.com/blog/learning-log-2304/"/>
      <updated>2023-05-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2304/</id>
      <content type="html">&lt;p&gt;All I did in April was gush over the beautiful blossoms in Seattle. I’m sort of kidding but also that’s pretty much my photo roll. Pretty impressive considering it rained like, 90% of the time. It’s been a cold and wet spring so far.&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-floral-grid-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-floral-grid-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-floral-grid-s.jpg&quot; alt=&quot;A grid of floral-rich photos: A street completely lined with cherry trees bursting with pale pink sakura blossoms. A big bushy magnolia tree. A cluster of white blossoms on our pear tree. A massive rose bush with red roses, next to some fuschia azaleas. The same cherry blossom street now coated in petals like a layer of snow.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;This isn’t even half of it!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Otherwise I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Participated in &lt;a href=&quot;https://deweysreadathon.wordpress.com/&quot;&gt;Dewey’s Readathon&lt;/a&gt; and read 498 pages in one day. Also messed up my neck/shoulders despite best intentions. Am considering if I’m too old for this ish.&lt;/li&gt;
&lt;li&gt;Launched &lt;a href=&quot;https://www.netlify.com/blog/automatic-deploy-subdomains-ga/&quot;&gt;automatic deploy subdomains&lt;/a&gt; with some of my collaborators at Netlify. Set a custom domain for your Deploy Previews!&lt;/li&gt;
&lt;li&gt;Started looking into a new product area at work. New big scope: exciting!&lt;/li&gt;
&lt;li&gt;Continued getting waaaay into writing SQL queries and analyzing data. The title is terrible and the book is not perfect, but I’m enjoying &lt;a href=&quot;https://bookshop.org/a/15644/9780393347777&quot;&gt;“Naked Statistics”&lt;/a&gt; by Charles Wheelan (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2304/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;) so far. Approachable, plain language explanation of statistics.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dnv.com/article/terminology-explained-p10-p50-and-p90-202611&quot;&gt;Terminology Explained: P10, P50 and P90&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@djsmith42/how-to-metric-edafaf959fc7&quot;&gt;How to Metric&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lennysnewsletter.com/p/how-duolingo-reignited-user-growth&quot;&gt;How Duolingo Reignited User Growth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://departmentofproduct.substack.com/p/snaps-ai-backlash-and-gmail-gets&quot;&gt;Snap&#39;s AI backlash and Gmail gets beautified&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design&quot;&gt;Design&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itsnicethat.com/news/the-click-norwich-castle-graphic-design-120423&quot;&gt;A rebrand for Norwich Castle is inspired by Post-it drawings from the public&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.itsnicethat.com/news/jkr-nordstrom-rack-graphic-design-branding-130423&quot;&gt;Nordstrom Rack reinstates its logo from the 70s and 80s in bold refresh&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2023/04/10/whats-a-basic-use-case-for-cascade-layers-in-css/&quot;&gt;What’s a Basic Use Case for Cascade Layers in CSS?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/framework-popularity-on-netlify/&quot;&gt;Framework Popularity on Netlify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://timkadlec.com/remembers/2023-04-10-the-golden-rule-revisited/&quot;&gt;The Performance Golden Rule Revisited&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-%26-productivity&quot;&gt;Work &amp;amp; Productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://larahogan.github.io/blog/be-a-thermostat-not-a-thermometer/&quot;&gt;Be a Thermostat, Not a Thermometer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortelabs.com/blog/para/&quot;&gt;The PARA Method: A Universal System for Organizing Digital Information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other Interesting Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.washingtonpost.com/wellness/2023/04/06/spring-clean-brain-fresh-start/&quot;&gt;How to Spring Clean Your Mind&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://austinkleon.com/2018/08/27/a-very-simple-rule/&quot;&gt;A Very Simple Rule&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://uxdesign.cc/rewilding-your-attention-d518ede18855&quot;&gt;Rewilding Your Attention&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://bradthomasparsons.substack.com/p/pepis-pizza-a-central-new-york-landmark&quot;&gt;Pepi’s Pizza: A Central New York Landmark&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://austinkleon.com/2023/04/04/dont-worry-about-style/&quot;&gt;Don’t Worry About Style&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://fromthepencup.wordpress.com/2023/04/15/what-me-worry/&quot;&gt;What, Me Worry?&lt;/a&gt;&lt;/p&gt;
&lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
  &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
  &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2304/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/footer&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Bout of Books 37</title>
      <link href="https://melanie-richards.com/blog/bout-of-books-37/"/>
      <updated>2023-05-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/bout-of-books-37/</id>
      <content type="html">&lt;p&gt;I recently participated in &lt;a href=&quot;https://front-end.social/@melanie/110283037696692385&quot;&gt;Dewey’s Readathon&lt;/a&gt; again, in which you read a whole bunch within 24 hours. What I learned is that I Am Aging. I read for about 12 hours—around my personal best—and had neck/shoulder pain for a few days after, despite best efforts at taking breaks and looking after my posture.&lt;/p&gt;
&lt;p&gt;SO, imagine my delight when I found &lt;a href=&quot;https://boutofbooks.blogspot.com/&quot;&gt;Bout of Books&lt;/a&gt;, a weeklong readathon with gentle expectations. In their words:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Bout of Books readathon is organized by Amanda Shofner and Kelly Rubidoux Apple. It’s a weeklong readathon that begins 12:01am Monday, May 8th and runs through Sunday, May 14th in YOUR time zone. Bout of Books is low-pressure. There are reading sprints, daily Discord questions, and exclusive Instagram challenges, but they’re all completely optional. For all Bout of Books 37 information and updates, be sure to visit the &lt;a href=&quot;http://boutofbooks.blogspot.com/&quot;&gt;Bout of Books&lt;/a&gt; blog. - From the Bout of Books team&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The readathon starts today, and I will be participating! I’ll use this post to share my daily updates.&lt;/p&gt;
&lt;h2 id=&quot;intent&quot;&gt;Intent&lt;/h2&gt;
&lt;p&gt;I would like to read for at least an hour a day. Based on my plans this week, that definitely seems doable. I have a few loans out from the library on my Kindle right now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781555977887&quot;&gt;“Her Body and Other Parties”&lt;/a&gt; by Carmen Maria Machado (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/bout-of-books-37/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;Disclosure&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780393347777&quot;&gt;“Naked Statistics”&lt;/a&gt; by Charles Wheelan (ridiculous title, actually pretty approachable read)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062979865&quot;&gt;“Shed No Tears”&lt;/a&gt; by Caz Frear&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It will be good to work through these because Libby keeps telling me my other holds are available early, and I’ve had to defer them. Melanie’s Law: “all library holds will become available simultaneously, regardless of when they were placed”.&lt;/p&gt;
&lt;h2 id=&quot;progress&quot;&gt;Progress&lt;/h2&gt;
&lt;h3 id=&quot;monday&quot;&gt;Monday&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;At lunch I read about problems with probability in &lt;a href=&quot;https://app.thestorygraph.com/books/b166b0c4-ceed-4f92-8e0c-1f167520f12d&quot;&gt;“Naked Statistics”&lt;/a&gt;. The author quite astutely pointed out that our ability to gather data has improved, but we haven’t yet figured out morally what to do with that data when it has societal implications. This book was written in 2011, and I hate to tell ya my guy, that doesn’t get any better in the next decade.&lt;/li&gt;
&lt;li&gt;Before bed, read one short story in &lt;a href=&quot;https://bookshop.org/a/15644/9781555977887&quot;&gt;“Her Body and Other Parties”&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; 31 (I am using &lt;a href=&quot;https://app.thestorygraph.com/profile/melanierichards&quot;&gt;The StoryGraph&lt;/a&gt; to track)&lt;/p&gt;
&lt;h3 id=&quot;tuesday&quot;&gt;Tuesday&lt;/h3&gt;
&lt;p&gt;Read part of a short story in &lt;a href=&quot;https://bookshop.org/a/15644/9781555977887&quot;&gt;“Her Body and Other Parties”&lt;/a&gt; that ended up being a longish story, or over an hour per my Kindle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; 34&lt;/p&gt;
&lt;h3 id=&quot;wednesday&quot;&gt;Wednesday&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Read two chapters in the stats book, about 1) problems with probability and 2) central limit theorem. Mulling over how to apply the latter.&lt;/li&gt;
&lt;li&gt;Finished the long short story from Tuesday.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; 55&lt;/p&gt;
&lt;h3 id=&quot;thursday&quot;&gt;Thursday&lt;/h3&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-books-library-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-books-library-s.jpg&quot; alt=&quot;Two non-fiction books, &#39;Why We Medidate&#39; and &#39;I Want to Die But I Want to Eat Tteokbokki, held in front of a brick wall dappled with sunlight through the trees&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Plot twist: picked up a couple books from the library when I went to drop a couple off!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Read in the stats book about statistical inference and polling.&lt;/li&gt;
&lt;li&gt;Started reading another short story but had an unusually early start the next morning so put it down.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pages:&lt;/strong&gt; 50&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;friday&quot;&gt;Friday&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Finished up the stats book by reading about regression analysis and program evaluation. 🎉&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wrapped up the short story from Thursday night.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pages:&lt;/strong&gt; 119&lt;/p&gt;
&lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
  &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
  &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/bout-of-books-37/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/footer&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Now generally available: Automatic deploy subdomains” on Netlify</title>
      <link href="https://www.netlify.com/blog/custom-domain-for-deploy-previews/"/>
      <updated>2023-04-26T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/custom-domain-for-deploy-previews/</id>
      <content type="html">
        <p>Developers can set a custom domain for Deploy Previews and/or branch deploys, and Netlify will automatically create context-based subdomains for you. Now generally available!</p>
        <a href="https://www.netlify.com/blog/custom-domain-for-deploy-previews/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Made in 2023 Q1” on Fiber Blog</title>
      <link href="https://fiber.melanie-richards.com/q1-crafting/"/>
      <updated>2023-04-04T00:00:00.000Z</updated>
      <id>https://fiber.melanie-richards.com/q1-crafting/</id>
      <content type="html">
        <p>A sewn journal cover, some fabric bookmarks, a finally-completed knitted scarf, and just the one sketchbook spread.</p>
        <a href="https://fiber.melanie-richards.com/q1-crafting/">Read the article on Fiber Blog</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, 2023 Q1</title>
      <link href="https://melanie-richards.com/blog/learning-log-2023-q1/"/>
      <updated>2023-04-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2023-q1/</id>
      <content type="html">&lt;h2 id=&quot;wedding-bonanza-%F0%9F%92%92&quot;&gt;Wedding Bonanza 💒&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/jenn-tai-wedding.webp&quot; alt=&quot;My husband and I grinning at each other in front of art deco metalwork. I’m wearing a classic western wedding dress in white, and he has on a burgundy suit.&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Photo by the incredible &lt;a href=&quot;https://weddingsbyjenn.com/&quot;&gt;Jenn Tai&lt;/a&gt; at the Seattle Asian Art Museum. Hair and makeup by &lt;a href=&quot;https://anoffwhiteseattle.com/&quot;&gt;Offwhite&lt;/a&gt; and florals by &lt;a href=&quot;https://www.verbenafloralseattle.com/&quot;&gt;Verbena Floral&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shaadi.webp&quot; alt=&quot;Rahul and I with our parents in traditional Indian wedding garb, in front of a wall full of flowers. I am wearing a bright red lehenga dress. Rahul is wearing a cream-colored suit called a sherwani. Rahul and I both have garlands of pink and yellow flowers around our necks.&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;With our parents in New Delhi. Unfortunately not sure on photographer credit.&lt;/p&gt;
&lt;p&gt;Occupying most of my brain space this quarter is that we got married—twice! Much of my and Rahul’s free time was spent planning our U.S. wedding. After the American ceremony, we spent some time nursing colds (man, that took me out), then headed straight out to India to get married again.&lt;/p&gt;
&lt;p&gt;Both our weddings were a reminder to me not just how amazing my chosen life partner is, but also how many incredible people are in our lives. Our closest friends feel like an extension of our family, and I was overcome with emotion on how well loved and supported we are.&lt;/p&gt;
&lt;p&gt;One challenge with smallish weddings in that you can’t necessarily invite &lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt; the people who have been important to you in your life. My feelings of gratitude, then, extend beyond attendees. If you have been a friend to me or to Rahul, thank you, truly. 💕&lt;/p&gt;
&lt;h2 id=&quot;other-happenings&quot;&gt;Other Happenings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Layoffs in this industry have been relentless. Microsoft’s rolling layoffs have especially been causing a great deal of stress given that my now-husband is currently on an H1B visa, tied to his work. He has not been impacted, but I’m feeling for everyone who has lost critical healthcare access, their immigration status, means to support their families…if I can help you by reviewing your resume, sharing leads, chatting about your job search, etc, please shoot me an email.&lt;/li&gt;
&lt;li&gt;I started a &lt;a href=&quot;https://github.com/melanierichards/product-resources&quot;&gt;product resources list&lt;/a&gt;! Still a fledgling effort but I’ll continue adding to it as I find useful books, podcasts, articles, etc.&lt;/li&gt;
&lt;li&gt;Waffled over whether I want to keep my &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;fiber crafts blog&lt;/a&gt; and I &lt;em&gt;&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;think&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/em&gt; I’m just going to post here about my hobbies. I still quite love the visual design for it, but elsewhere on the internet I’ve tended to default to “bringing my whole self”. Splicing my identity between my interests and my work feels like an artificial divide.&lt;/li&gt;
&lt;li&gt;Wrote about &lt;a href=&quot;https://melanie-richards.com/blog/webhook-payloads/&quot;&gt;filtering Netlify builds based on webhook payloads&lt;/a&gt; and &lt;a href=&quot;https://melanie-richards.com/blog/passing-state-to-function/&quot;&gt;passing client state to a Netlify function&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Launched a few things with the team at Netlify; &lt;a href=&quot;https://www.netlify.com/blog/authors/melanie-richards/&quot;&gt;check out my blog posts&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;I was promoted to Staff Product Manager at Netlify! 🎉 The timing was such a surprise, but I’ve been putting a lot of effort into my work and our product process, so I’m grateful for the recognition.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sailor-pgs.webp&quot; alt=&quot;A slim black fountain pen with a shiny gold nib, resting on paper with a faint graph pattern&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Bought my first gold-nib fountain pen as a promotion present! This is a Sailor Pro Gear Slim.&lt;/p&gt;
&lt;h2 id=&quot;digital-gardening-%F0%9F%8C%B1&quot;&gt;Digital Gardening 🌱&lt;/h2&gt;
&lt;h3 id=&quot;palindrome-(my-eleventy-starter-template)&quot;&gt;Palindrome (&lt;a href=&quot;https://github.com/melanierichards/palindrome&quot;&gt;my Eleventy starter template&lt;/a&gt;)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Minimized social media metadata. I may go further at some point and fully remove anything Twitter-specific.&lt;/li&gt;
&lt;li&gt;Added an Eleventy navigation component.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;personal-website&quot;&gt;Personal website&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added The StoryGraph and Letterboxd to my social media links.&lt;/li&gt;
&lt;li&gt;Finally got around to adding &lt;a href=&quot;https://melanie-richards.com/blog/webhook-payloads/&quot;&gt;code syntax highlighting&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added the &lt;a href=&quot;https://github.com/marketplace/actions/merge-schedule&quot;&gt;Merge Schedule&lt;/a&gt; Github action to my site, so that PRs with new content will merge on a specific date (I don’t use a headless CMS on this site, through which I could control publication date).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://leaving.live/&quot;&gt;leaving.live&lt;/a&gt;: ping-pong around existence with anonymous co-visitors&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://langcorrect.com/&quot;&gt;LangCorrect&lt;/a&gt;: write journal entries in the target language you’re learning and get edits from native speakers! Edit entries in your own native languages.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thereisadayforthat.com/calendars/2023&quot;&gt;There is A Day For That&lt;/a&gt;: a calendar of special, funky holidays&lt;/li&gt;
&lt;li&gt;I learned the term “&lt;a href=&quot;https://en.wikipedia.org/wiki/Pleaching&quot;&gt;pleaching&lt;/a&gt;”!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spoon-tamago.com/kogei-pokemon/&quot;&gt;Japanese Craftsmanship Meets Pokemon at Kanazawa’s National Crafts Museum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thamesfestivaltrust.org/heritage-programme/foragers-of-the-foreshore/artist-inspired-by-mudlarking/johnny-mudlark/&quot;&gt;Johnny Mudlark&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Every action you take is a vote for the type of person you wish to become. No single instance will transform your beliefs, but as the votes build up, so does the evidence of your new identity.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— James Clear from Atomic Habits&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The responsibility of any creator is to do the work, not judge it. Your job is to fall in love with the process, not grade the outcome.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— also James Clear&lt;/p&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2016/08/opportunity-solution-tree/&quot;&gt;Why This Opportunity Solution Tree is Changing the Way Product Teams Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2023/03/okrs-vs-outcomes/&quot;&gt;Ask Teresa: What’s the Difference Between OKRs and Outcomes?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://technically.substack.com/p/the-beginners-guide-to-databases&quot;&gt;The Beginner&#39;s Guide to Databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chriscoyier.net/2023/03/13/why-arent-logical-properties-taking-over-everything/&quot;&gt;Why aren’t logical properties taking over everything?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://calibreapp.com/blog/interaction-to-next-paint&quot;&gt;Interaction to Next Paint (INP): What is it and How to Improve It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://slack.design/articles/what-weve-learned-about-designing-for-accessibility-from-our-users/&quot;&gt;What we&#39;ve learned about designing for accessibility from our users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.website/published/sabbath-mode-and-assistive-technology-features/&quot;&gt;Sabbath mode and assistive technology features&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;design&quot;&gt;Design&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wix-ux.com/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f&quot;&gt;When life gives you lemons, write better error messages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.stanford.edu/2022/12/05/explains-recent-tech-layoffs-worried/&quot;&gt;Why are there so many tech layoffs, and why should we be worried? Stanford scholar explains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moderndailyknitting.com/2021/12/31/instead-of-resolutions-just-a-word/&quot;&gt;Instead of Resolutions, Just a Word&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2023/02/02/make-an-interest.html&quot;&gt;Make an Interest Grid to Figure Out What You Want to Focus On&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;journaling-and-stationery&quot;&gt;Journaling and stationery&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://penguinscreative.com/2016/02/06/how-to-journal-everyday-build-a-hobonichi-habit/&quot;&gt;How to Journal Every Day — Build a Hobonichi Habit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kottke.org/23/01/lessons-on-how-to-draw-by-hokusai&quot;&gt;Lessons on How to Draw by Hokusai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analogoffice.net/2023/02/13/mess-up-your.html&quot;&gt;Mess Up Your Good, Premium, Luxury Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2023/02/26/imperfect-your-memories/&quot;&gt;Imperfect your memories&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kottke.org/22/12/36-things-i-learned-in-2022&quot;&gt;36 Things I Learned in 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.self.com/story/strengthen-friendship-tips&quot;&gt;5 Ways to Keep Your Friendships Strong—Even When Life Is Hectic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thecut.com/article/fake-assistant-tiktok.html&quot;&gt;Life Is Easier With a Fake Assistant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vice.com/en/article/ake3j5/why-does-everything-on-netflix-look-like-that&quot;&gt;Why Does Everything On Netflix Look Like That?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Collaborative Deploy Previews now available with Bitbucket” on Netlify</title>
      <link href="https://www.netlify.com/blog/collaborative-deploy-previews-bitbucket/"/>
      <updated>2023-03-30T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/collaborative-deploy-previews-bitbucket/</id>
      <content type="html">
        <p>In addition to Github, Gitlab, and Azure DevOps, Netlify Deploy Previews are now supported with repositories on Bitbucket.</p>
        <a href="https://www.netlify.com/blog/collaborative-deploy-previews-bitbucket/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“How to set a custom domain for Deploy Previews” on Netlify</title>
      <link href="https://www.netlify.com/blog/custom-domain-for-deploy-previews/"/>
      <updated>2023-03-27T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/custom-domain-for-deploy-previews/</id>
      <content type="html">
        <p>You can now set a custom domain for Deploy Previews and/or branch deploys, and Netlify will automatically create context-based subdomains for you!</p>
        <a href="https://www.netlify.com/blog/custom-domain-for-deploy-previews/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Pass client state to a Netlify function</title>
      <link href="https://melanie-richards.com/blog/passing-state-to-function/"/>
      <updated>2023-03-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/passing-state-to-function/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Disclosure: I am currently on the Product team at Netlify.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Awhile back I built a &lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;drawing idea generator&lt;/a&gt;, which pulls a random Unsplash image for you to draw. I wanted to add filters, so that people could refine the result by subject and/or orientation. I use &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/netlify/functions/photos.js&quot;&gt;a Netlify serverless function&lt;/a&gt; to fetch from the API, so I needed to pass client state—i.e. the user’s filter configuration—into the Netlify function. Enter query parameters!&lt;/p&gt;
&lt;h2 id=&quot;html&quot;&gt;HTML&lt;/h2&gt;
&lt;p&gt;First, people need to be able to select their filters! I added a couple &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; elements to the markup, using Unsplash’s API values for each &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt; value:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;label for=&amp;quot;topics&amp;quot;&amp;gt;Topic&amp;lt;/label&amp;gt;
&amp;lt;select id=&amp;quot;topics&amp;quot; aria-describedby=&amp;quot;topic-desc&amp;quot;&amp;gt;
  &amp;lt;option value=&amp;quot;any&amp;quot; default&amp;gt;Any&amp;lt;/option&amp;gt;
  &amp;lt;option value=&amp;quot;Jpg6Kidl-Hk&amp;quot;&amp;gt;Animals&amp;lt;/option&amp;gt;
  &amp;lt;option value=&amp;quot;rnSKDHwwYUk&amp;quot;&amp;gt;Architecture&amp;lt;/option&amp;gt;
  ...
&amp;lt;/select&amp;gt;

&amp;lt;label for=&amp;quot;orientation&amp;quot;&amp;gt;Orientation&amp;lt;/label&amp;gt;
&amp;lt;select id=&amp;quot;orientation&amp;quot;&amp;gt;
  &amp;lt;option value=&amp;quot;any&amp;quot; default&amp;gt;Any&amp;lt;/option&amp;gt;
  &amp;lt;option value=&amp;quot;landscape&amp;quot;&amp;gt;Landscape&amp;lt;/option&amp;gt;
  &amp;lt;option value=&amp;quot;portrait&amp;quot;&amp;gt;Portrait&amp;lt;/option&amp;gt;
  &amp;lt;option value=&amp;quot;squarish&amp;quot;&amp;gt;Squarish&amp;lt;/option&amp;gt;
&amp;lt;/select&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;“Any” is not an accepted value in the API, but I provided that value here so I wouldn’t have to handle conditional logic for undefined filters. Unaccepted values are essentially ignored in requests to the API.&lt;/p&gt;
&lt;h2 id=&quot;client-side-javascript&quot;&gt;Client-side JavaScript&lt;/h2&gt;
&lt;p&gt;Per my &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/site/script.js&quot;&gt;client-side scripts&lt;/a&gt;, clicking on the “Try another photo” button calls a function &lt;code&gt;fetchPhoto&lt;/code&gt; that then invokes my &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/netlify/functions/photos.js&quot;&gt;&lt;code&gt;photos.js&lt;/code&gt; serverless function&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I updated &lt;code&gt;fetchPhoto&lt;/code&gt; such that it now reads the values from the filter &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;s, and passes those to the serverless function as query parameters:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const fetchPhoto = async function (delay) {
  const topicsValue = document.getElementById(&#39;topics&#39;).value,
        orientationValue = document.getElementById(&#39;orientation&#39;).value,
        functionWithParams = `/.netlify/functions/photos?topics=${topicsValue}&amp;amp;orientation=${orientationValue}`;

  let response = await fetch(functionWithParams).then(handleErrors).then(response =&amp;gt; response.json());

  ...
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;serverless-function&quot;&gt;Serverless function&lt;/h2&gt;
&lt;p&gt;Now I can reference those in &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/netlify/functions/photos.js&quot;&gt;my serverless function&lt;/a&gt;, aka &lt;code&gt;photos.js&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;exports.handler = async function (event) {
  const API_KEY = process.env.UNSPLASH_API_KEY,
        photoAPI = `https://api.unsplash.com/photos/random?content_filter=low&amp;amp;client_id=${API_KEY}`,
        paramTopics = event.queryStringParameters.topics,
        paramOrientation = event.queryStringParameters.orientation,
        photoAPIWithParams = `${photoAPI}&amp;amp;topics=${paramTopics}&amp;amp;orientation=${paramOrientation}`,
        response = await fetch(photoAPIWithParams),
        data = await response.json();

	return {
		...
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here I’m using &lt;code&gt;event.queryStringParameters&lt;/code&gt; to retrieve the parameters I passed in from client-side JS. &lt;code&gt;queryStringParameters&lt;/code&gt; returns an object, so I’m defining a variable for each key in the params object, then appending it to the API request URL.&lt;/p&gt;
&lt;p&gt;And voila! Sketchers can now choose a topic and/or orientation, click “try another photo”, and receive an appropriate image:&lt;/p&gt;
&lt;a class=&quot;u-limit-width c-web-preview&quot; href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawing-filters-xl.webp&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawing-filters-l.webp&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawing-filters-m.webp&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-drawing-filters-s.webp&quot; alt=&quot;The filters are set to the animals topic and squarish orientation. The returned photo is a square image of two red-capped birds, one of whom is in flight.&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;This isn’t the only way to use query parameters! You could also access them in your &lt;code&gt;return&lt;/code&gt; statement, if for example you wanted to print these values for the user.&lt;/p&gt;
&lt;p&gt;To check out this update in context of the project, you can &lt;a href=&quot;https://github.com/melanierichards/what-to-draw&quot;&gt;explore my code on Github&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Conditionally rebuild a site on Netlify, based on a webhook payload</title>
      <link href="https://melanie-richards.com/blog/webhook-payloads/"/>
      <updated>2023-03-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/webhook-payloads/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Disclosure: I am currently on the Product team at Netlify.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;My blog displays webmentions using &lt;a href=&quot;http://webmention.io/&quot;&gt;Webmention.io&lt;/a&gt;, and &lt;a href=&quot;http://brid.gy/&quot;&gt;brid.gy&lt;/a&gt; for social media-based activity. With webmentions, other people can respond to an article via their own sites or social media profiles. That interaction can be displayed on my blog, similarly to comments (or pingbacks, if you remember those). Check out Sia Karamalegos’s &lt;a href=&quot;https://sia.codes/posts/webmentions-eleventy-in-depth/&quot;&gt;in-depth tutorial on setting these up&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On my site, I display only a subset of &lt;a href=&quot;https://github.com/aaronpk/webmention.io#find-links-of-a-specific-type-to-a-specific-page&quot;&gt;webmention types&lt;/a&gt;. In the past, I configured my site on Netlify such that the site rebuilds any time I receive a new webmention. But since I only care about a few types of mentions, and &lt;code&gt;like-of&lt;/code&gt; is my most common interaction, I wanted to prevent full builds from kicking off for new likes.&lt;/p&gt;
&lt;p&gt;Here’s what I explored to automatically rebuild a site on Netlify based on webmention type, or in other words, based on a webhook payload.&lt;/p&gt;
&lt;h2 id=&quot;kicking-off-builds-via-webhook&quot;&gt;Kicking off builds via webhook&lt;/h2&gt;
&lt;p&gt;With Netlify’s build hooks, you can trigger a fresh build based on some incoming activity from another service. From &lt;strong&gt;Netlify &amp;gt; Site Settings &amp;gt; Build &amp;amp; deploy&lt;/strong&gt;, I created a new build hook and named it “Rebuild on Webmention”.&lt;/p&gt;
&lt;p&gt;I then went to &lt;strong&gt;&lt;a href=&quot;http://webmention.io/&quot;&gt;webmention.io&lt;/a&gt; &amp;gt; Settings &amp;gt; Web Hook&lt;/strong&gt; and pasted in the build hook URL from Netlify. Now, any time I receive webmention activity, &lt;a href=&quot;http://webmention.io/&quot;&gt;webmention.io&lt;/a&gt; will send a POST request to that URL, triggering a fresh site build on Netlify.&lt;/p&gt;
&lt;p&gt;Unlike other services, &lt;a href=&quot;http://webmention.io/&quot;&gt;webmention.io&lt;/a&gt; unfortunately does not have controls enabling you to filter conditions for outgoing webhooks. If it did, my work here would be done at this step! &lt;a href=&quot;https://melanie-richards.com/blog/webhook-payloads/#take-two%3A-filtering-webhooks-via-teensy-build-plugin&quot;&gt;Skip to final solution&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;take-one%3A-filtering-webhooks-via-build-script&quot;&gt;Take one: filtering webhooks via build script&lt;/h2&gt;
&lt;p&gt;Netlify has a concept of &lt;a href=&quot;https://docs.netlify.com/configure-builds/ignore-builds/#custom-ignore-command&quot;&gt;custom &lt;code&gt;ignore&lt;/code&gt; commands&lt;/a&gt;, but for Historical Reasons that could probably be rethought, this command will not cancel builds triggered by build hooks.&lt;/p&gt;
&lt;p&gt;So instead, my first solution was to use a Bash script as my build command.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In &lt;strong&gt;Site Settings &amp;gt; Build &amp;amp; Deploy&lt;/strong&gt;, I set my “Build command” to &lt;code&gt;sh ./build.sh&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I created a &lt;a href=&quot;http://build.sh/&quot;&gt;build.sh&lt;/a&gt; file in the root directory of my project:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;#!/bin/sh

if echo $INCOMING_HOOK_BODY | grep &amp;quot;like-of&amp;quot;
  then exit 1
else
  echo &amp;quot;Regular build&amp;quot;
  npm run netlify-build
fi;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This searches the &lt;code&gt;$INCOMING_HOOK_BODY&lt;/code&gt; (an environment variable provided by the Netlify platform) for the type of webmention that I wanted to filter out, &lt;code&gt;like-of&lt;/code&gt;. If that is found, the build will exit. Otherwise, it will run as normal using the build command configured in my &lt;code&gt;package-json&lt;/code&gt; file (&lt;code&gt;netlify-build&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I tested my logic from my command line with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -X POST -d &#39;[sample webhook payload here]&#39; https://api.netlify.com/build_hooks/my-hook-id
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This sends an incoming request which triggers the build hook.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A couple notes here: the exit code needed to be &lt;code&gt;exit 1&lt;/code&gt;, not &lt;code&gt;exit 0&lt;/code&gt;. This unfortunately meant that these builds are a little ugly, because they are listed as failures, not cancelations.&lt;/p&gt;
&lt;p&gt;Wouldn’t it be nice if they were categorized as cancelations…&lt;/p&gt;
&lt;h2 id=&quot;take-two%3A-filtering-webhooks-via-teensy-build-plugin&quot;&gt;Take two: filtering webhooks via teensy build plugin&lt;/h2&gt;
&lt;p&gt;To avoid false failures, my coworker &lt;a href=&quot;https://www.mk.gg/&quot;&gt;Matt Kane&lt;/a&gt; suggested using a smol &lt;a href=&quot;https://docs.netlify.com/integrations/build-plugins/create-plugins/#local-plugins&quot;&gt;local build plugin&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;This time around, I:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Declared my plugin in a &lt;code&gt;netlify.toml&lt;/code&gt; file in the root of my project:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;[[plugins]]
package = &amp;quot;/plugins/filter-webhook-builds&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Created a &lt;code&gt;manifest.yml&lt;/code&gt; file in the &lt;code&gt;/plugins/filter-webhook-builds&lt;/code&gt; directory with the following contents, pretty much just naming the plugin:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;name: filter-webhook-builds
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the same directory, added &lt;code&gt;index.js&lt;/code&gt; with the heart of the logic:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;// Cancel builds if the incoming webmention hook is of type &amp;quot;like-of&amp;quot;
module.exports = {
  onPreBuild: ({ utils }) =&amp;gt; {
    const hookBody = process.env.INCOMING_HOOK_BODY;

    if (hookBody) {
      const hookBodyJSON = JSON.parse(hookBody);
      const webmentionType = hookBodyJSON[&#39;post&#39;][&#39;wm-property&#39;];

      if (webmentionType &amp;amp;&amp;amp; webmentionType === &#39;like-of&#39;) {
        utils.build.cancelBuild(&#39;Build canceled: &amp;quot;like-of&amp;quot; Webmention&#39;);
      }
    } else {return;}
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span class=&quot;c-meta&quot;&gt;Probably fancier ways to write this, e.g. with a try/catch statement, but it works for me!&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What this does is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gets the webhook body, again via the &lt;code&gt;INCOMING_HOOK_BODY&lt;/code&gt; environment variable provided by the Netlify platform.&lt;/li&gt;
&lt;li&gt;Calls the &lt;code&gt;cancelBuild&lt;/code&gt; &lt;a href=&quot;https://docs.netlify.com/integrations/build-plugins/create-plugins/#utilities&quot;&gt;utility&lt;/a&gt; if there is a hook body, and that hook body contains the &lt;code&gt;like-of&lt;/code&gt; identifier. Otherwise, the build runs as usual.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Builds are now cancelled if I receive a &lt;code&gt;like-of&lt;/code&gt; webmention via webhook!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-build-cancel-short.webp&quot; alt=&quot;Netlify showing a build cancelled by plugin&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I have also reverted my build command to &lt;code&gt;npm run netlify-build&lt;/code&gt;, instead of the bash script I was using in “take one” of this blog post.&lt;/p&gt;
&lt;h2 id=&quot;wrapping-up&quot;&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;I hope this walkthrough helps you implement similar hook-based cancelation logic to your project!&lt;/p&gt;
&lt;p&gt;As I mentioned, how the &lt;code&gt;ignore&lt;/code&gt; command interacts with build hooks could be rethought. The challenge for a development platform is always: how might we extend functionality without breaking existing sites relying on current behaviors? If you have a use case for a custom &lt;code&gt;ignore&lt;/code&gt; command and build hook payloads, I would love to hear it. Feel free to drop a note &lt;a href=&quot;https://answers.netlify.com/c/features/50&quot;&gt;on the Netlify forums&lt;/a&gt;—or send me a webmention!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“QA and collaborate directly on branch deploy URLs” on Netlify</title>
      <link href="https://www.netlify.com/blog/qa-and-collaborate-directly-on-branch-deploy-urls/"/>
      <updated>2023-01-17T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/qa-and-collaborate-directly-on-branch-deploy-urls/</id>
      <content type="html">
        <p>Developers can now collaborate with stakeholders using the Netlify Drawer on branch deploys!</p>
        <a href="https://www.netlify.com/blog/qa-and-collaborate-directly-on-branch-deploy-urls/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2022 in Review</title>
      <link href="https://melanie-richards.com/blog/2022-review/"/>
      <updated>2022-12-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2022-review/</id>
      <content type="html">&lt;p&gt;Well, my friends. This has been a bit of an exhausting year. I’m currently back in that familiar-to-me upperclassmen frame of mind: “If I can just make it through [x date]…”&lt;/p&gt;
&lt;p&gt;2022 has been about traveling for family and friends, working hard, planning our wedding, always running a background process on COVID fears and fresh, fun anxieties. I’m hoping to take a breather after Rahul and I get married early next year (twice!).&lt;/p&gt;
&lt;p&gt;Despite being an effortful year, it’s also one where I got to explore new passions and reconnect with old ones…&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-field-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-field-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-field-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-field-s.jpg&quot; alt=&quot;Rahul smiling in a blue hat and jacket on a dirt path in the middle of a bright green field. There are yellow blossoms scattered throughout.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Rahul walking through a field into Copalis Beach in Washington state&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;em&gt;Usual disclaimer: this is the highlight reel. The lowlights are kept private!&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Moving into our new house and getting engaged (Rahul and I have been speed-running life changes the past couple years, it seems)&lt;/li&gt;
&lt;li&gt;Dabbling in gardening and amari&lt;/li&gt;
&lt;li&gt;Getting to be with my family for my niece’s 3rd birthday&lt;/li&gt;
&lt;li&gt;Seeing my friends Saili and Billy get married&lt;/li&gt;
&lt;li&gt;Screaming along with the girlies (masked) at a Phoebe Bridgers show. I’ve now seen all the boygenius ladies live. 🌟&lt;/li&gt;
&lt;li&gt;Learning a bit about SQL&lt;/li&gt;
&lt;li&gt;Floating in the sea in Hawaii&lt;/li&gt;
&lt;li&gt;Attending my first NHL hockey game&lt;/li&gt;
&lt;li&gt;Celebrating Diwali in India&lt;/li&gt;
&lt;li&gt;Launching fun things at Netlify, like support for Azure DevOps as a Git provider, scopes and contextual values for environment variables, and subdomain delegation.&lt;/li&gt;
&lt;li&gt;Continuing to spend quality time with my online writing group&lt;/li&gt;
&lt;li&gt;Rediscovering sketchbooking and my love for art&lt;/li&gt;
&lt;li&gt;Finding a super active art/illustration Discord server, which is currently my virtual home for art&lt;/li&gt;
&lt;li&gt;Discovering the world of fountain pens and getting totally hooked on this hobby! Opening up each day in Diamine’s Inkvent calendar was especially fun this December.&lt;/li&gt;
&lt;li&gt;Finding a new craft social (which requires vax cards and masks!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;everything-ish-i-made&quot;&gt;Everything-ish I Made&lt;/h2&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sketch-pouch-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sketch-pouch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sketch-pouch-s.jpg&quot; alt=&quot;A black pouch with a patchwork panel made of triangles, squares, and rectangles. Colors include red, yellow, pink, blue, teal, black, and white. There are black and white squares in a checkboard pattern. Two red and yellow Posca markers are next to the pouch&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My A5 sketchbook pouch!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;When you add it all up in a list, it feels like quite a bit!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Doodled &lt;a href=&quot;https://www.instagram.com/p/CboftA8rNnp/&quot;&gt;some paper bookmarks&lt;/a&gt; I promptly left in library books&lt;/li&gt;
&lt;li&gt;Sewed &lt;a href=&quot;https://www.instagram.com/p/CeuFXOOPkAU/&quot;&gt;a couple other bookmarks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Built a &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;snacks review site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Designed a phone background for myself&lt;/li&gt;
&lt;li&gt;Sewed &lt;a href=&quot;https://fiber.melanie-richards.com/enamel-pins/&quot;&gt;a wall hanging for my enamel pins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/p/Cf-v6XIuJRf/&quot;&gt;Dyed some fabric&lt;/a&gt; with indigo in a friend’s backyard&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://localhost:8080/blog/website-redesign-2022/&quot;&gt;Redesigned my website&lt;/a&gt; and actually still like it, for once&lt;/li&gt;
&lt;li&gt;Sewed a &lt;a href=&quot;https://fiber.melanie-richards.com/sketchbook-pouch/&quot;&gt;sketchbook pouch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wrote &lt;a href=&quot;https://melanie-richards.com/blog/year/2022&quot;&gt;26 blog posts&lt;/a&gt; on product management, the web, Netlify, and various bits and bobs I’m learning about.&lt;/li&gt;
&lt;li&gt;Finished 1 1/2 sketchbooks and posted some of it &lt;a href=&quot;https://www.instagram.com/somelaniesaid/&quot;&gt;on my Instgram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Finished knitting my fiancé’s scarf right at EOY; I couldn’t even tell you what year I started it.&lt;/li&gt;
&lt;li&gt;Started &lt;a href=&quot;https://www.instagram.com/p/ClxG9jQpmPq/&quot;&gt;a tea journal&lt;/a&gt; and completed a daily journal&lt;/li&gt;
&lt;li&gt;Started a new abstract / freestyle woven tapestry&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;favorite-media&quot;&gt;Favorite Media&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-faves-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-faves-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-faves-s.jpg&quot; alt=&quot;The Sentence by Louise Erdrich, Everything Everywhere All at Once, Phoebe Bridgers, and Japanese Breakfast&quot; /&gt;
        &lt;/picture&gt;
&lt;h3 id=&quot;books&quot;&gt;Books&lt;/h3&gt;
&lt;p&gt;I &lt;a href=&quot;https://app.thestorygraph.com/stats/melanierichards?year=2022&quot;&gt;read 60 books&lt;/a&gt; this year, so a bit of a dip from the past couple years. The culprit is likely my new love for artsy YouTube videos around bedtime.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/2022-review/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;Some favorites:&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⭐️ &lt;a href=&quot;https://bookshop.org/a/15644/9780062671127&quot;&gt;“The Sentence”&lt;/a&gt; — Louise Erdrich&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062823274&quot;&gt;Cat Kinsella series&lt;/a&gt; — Caz Frear. I was looking for a Tana French readalike.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781770462892&quot;&gt;“Ducks”&lt;/a&gt; — Kate Beaton&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781982136468&quot;&gt;“The Only Good Indians”&lt;/a&gt; — Stephen Graham Jones&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780525555377&quot;&gt;“Turtles All the Way Down”&lt;/a&gt; — John Green&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;movies&quot;&gt;Movies&lt;/h3&gt;
&lt;p&gt;I &lt;a href=&quot;https://letterboxd.com/somelaniesaid/films/diary/for/2022/&quot;&gt;watched 34 films&lt;/a&gt; this year. Some favorites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⭐️ &lt;a href=&quot;https://letterboxd.com/film/everything-everywhere-all-at-once/&quot;&gt;Everything Everywhere All at Once&lt;/a&gt;: the best movie I’ve seen in a long time.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/encanto/&quot;&gt;Encanto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/glass-onion-a-knives-out-mystery/&quot;&gt;Glass Onion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/practical-magic/&quot;&gt;Practical Magic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/turning-red/&quot;&gt;Turning Red&lt;/a&gt;: second favorite after EEAO&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;music&quot;&gt;Music&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://tidal.com/browse/playlist/f2c81d2f-820b-41dd-b475-f3dfabc0eb64&quot;&gt;2022 — Tracks playlist&lt;/a&gt; on Tidal, which I think I switched to this year. Lots of my favorite sad girls (Phoebe, Julien, and Michelle).&lt;/p&gt;
&lt;h2 id=&quot;2023-word-of-the-year%3A-community&quot;&gt;2023 word of the year: Community&lt;/h2&gt;
&lt;p&gt;I’m still working out if/how I want to do annual goals, but I do know for sure that my theme of the year will be “community”. The pandemic has made me feel more disconnected from my community—both friends and strangers—and it has cost me dearly.&lt;/p&gt;
&lt;p&gt;In 2023 I want to chip away at my recent hermetic shell, and spend more time 1) enjoying life in the company of others and 2) supporting those around me.&lt;/p&gt;
&lt;p&gt;Hope you have a wonderful 2023!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/2022-review/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Dec 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2212/"/>
      <updated>2022-12-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2212/</id>
      <content type="html">&lt;p&gt;As I write this, flights are being canceled in droves all over the country, and the roads and sidewalks in Seattle are covered in ice. I was a bit sad that weren’t traveling to be with family this year for the holidays (long story), but now I’m just glad we’re not stranded somewhere in the middle of the country.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rink-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rink-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rink-s.jpg&quot; alt=&quot;A very icy set of streets in the dark. There are a couple stars in the night sky and a couple houses brightly lit in the dark with Christmas lights.&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;this-month&quot;&gt;This month&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;💔 &lt;strong&gt;Layoffs:&lt;/strong&gt; this month got off to a tough start with a restructure (aka layoffs) at work. It feels odd to say it’s been hard, because I’m one of the lucky ones who still has a job. But I dearly miss my colleagues and friends who were impacted. Like many, I am feeling all sorts of feelings and doing my best to support folks. It’s been a really tough year in the tech industry, so just putting it out there: I’m here to help in any way I can.&lt;/li&gt;
&lt;li&gt;🎂 &lt;strong&gt;Birthday:&lt;/strong&gt; Soon after layoffs I observed a birthday with a very rude number attached. Some birthday thoughts I had marinating appear later in this post.&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Gouache:&lt;/strong&gt; I’ve been working my way through Maru Godas’s course “&lt;a href=&quot;https://www.domestika.org/en/courses/1434-pictorial-sketchbook-with-gouache&quot;&gt;Pictorial Sketchbook with Gouache&lt;/a&gt;” on Domestika and rather enjoying it thus far. Maru makes learning gouache technique fun and very clear. The platform also seems to have done a good job with English subtitles (this particular course is in Spanish).&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Reading:&lt;/strong&gt; I recently started using &lt;a href=&quot;https://readwise.io/read&quot;&gt;Reader by Readwise&lt;/a&gt; as a combination RSS/newsletter feed reader and “read it later” function. The app has been pretty slick and nice to use, I may keep going with it. Over in book land, I’m getting more into The StoryGraph ecosystem by signing up for their plus membership and hosting &lt;a href=&quot;https://app.thestorygraph.com/reading_challenges/92b55879-d1f5-4216-89db-f5af2c0b9242&quot;&gt;a reading challenge&lt;/a&gt;. I love the The StoryGraph enables you to create arbitrary reading challenges outside of the usual “x books this year”.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-focaccia-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-focaccia-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-focaccia-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-focaccia-s.jpg&quot; alt=&quot;Closeup of focaccia bread studded with tomatoes, olives, and rosemary&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Birthday focaccia, baked by a friend&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;birthday-thoughts&quot;&gt;Birthday thoughts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Listen to the wisdom that keeps pointing you towards mindfulness.&lt;/li&gt;
&lt;li&gt;Your art materials will be there whenever you want them.&lt;/li&gt;
&lt;li&gt;Life is meant to be shared.&lt;/li&gt;
&lt;li&gt;Routine can set you free.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://andrewchen.com/the-adjacent-user-theory/&quot;&gt;The Adjacent User Theory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;web&quot;&gt;Web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://notes.normally.com/cookieless-unique-visitor-counts/&quot;&gt;Counting unique visitors without using cookies, UIDs or fingerprinting.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2022/12/03/the-bookend-approach-to-reading/&quot;&gt;The bookends approach to reading&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.coffeescribbles.com/blog/2020/7/3/twsbi-eco-fountain-pen-platinum-carbon-ink-review&quot;&gt;TWSBI ECO Fountain Pen (&amp;amp; Platinum Carbon Ink) Review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I learned that one of my co-workers is &lt;a href=&quot;https://amberley.dev/blog/2020-09-16-how-do-new-emoji-happen&quot;&gt;largely responsible for several fiber crafts-related emoji&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://publicdomainreview.org/collection/the-illuminated-sketchbook-of-stephan-schriber-1494&quot;&gt;The Illuminated Sketchbook of Stephan Schriber (1494)&lt;/a&gt;: heard of this monk’s sketches from &lt;a href=&quot;https://www.domestika.org/en/courses/1434-pictorial-sketchbook-with-gouache&quot;&gt;Maru Godas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2022/12/megan-smith-general-magic-prototypes/&quot;&gt;Megan Smith explaining the General Magic prototyping process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2022/12/29/100-things-that-made-my-year-2022/&quot;&gt;100 things that made my year (2022)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/family/archive/2021/12/christmas-new-years-dead-week-romjul/621098/&quot;&gt;All Hail Dead Week, the Best Week of the Year&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Nov 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2211/"/>
      <updated>2022-12-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2211/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-leaves-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-leaves-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-leaves-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-leaves-s.jpg&quot; alt=&quot;Branches of a tree filled with vibrant orange leaves&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I refuse to believe that a whole month has passed; November went by in the blink of an eye.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;My drawing generator site&lt;/a&gt; was approved for production Unsplash API use (5k requests per hour vs 50!). I started working on some topic-based filters, but they’re not quite ready yet.&lt;/li&gt;
&lt;li&gt;I learned how to use &lt;a href=&quot;https://mode.com/help/articles/definitions/&quot;&gt;Definitions&lt;/a&gt; in Mode, which I’m using to filter out activity coming from test accounts. It’s a little funky that you have to hit “Run” on the definition query in order to save changes to it, but otherwise cool and useful.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-nov-collage-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-nov-collage-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-nov-collage-s.jpg&quot; alt=&quot;Two women and two men gathered around a table full of serving dishes ready to portion out. This photo is superimposed on top of a textural photo of small leaves scattered on a sidewalk.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;My fiancé, Rahul, and I on Thanksgiving with a couple of our friends&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;The pandemic has shrunk my social circle and made me more of a homebody, so I’d like to get back out into the community and connect with others. I went to a new-to-me (masked) craft social at the end of the month and felt such incredible joy at simply working on little projects alongside others.&lt;/li&gt;
&lt;li&gt;Likewise, in parallel play, a friend came over after work one night and we did yoga together, ate dinner, and then drew for an hour. It was adorable and immensely fulfilling.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;l-grid l-grid--media&quot;&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fish-collage-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fish-collage-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fish-collage-s.jpg&quot; alt=&quot;Two collages: one in blue and grey, featuring the name cut out of a Japanese candy package, and some cloud shaped cut out of a photo of a cloudy sky. The other has the head of a photographic goldfish poking up from the bottom, under a cluster of red, orange, and pink scales cut from paper and drawn on.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blue-shapes-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blue-shapes-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blue-shapes-s.jpg&quot; alt=&quot;A six by three grid of random geometric shapes, drawn in a dark blue variegated ink&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;I’ve been doing some &lt;a href=&quot;https://www.instagram.com/p/ClMr-v1SvSu/&quot;&gt;sketching&lt;/a&gt;, and &lt;a href=&quot;https://www.instagram.com/p/Clb0sRTPkOf/&quot;&gt;collaging&lt;/a&gt;, and &lt;a href=&quot;https://www.instagram.com/p/ClcIMdISB-5/&quot;&gt;doodling shapes with my glass dip pen&lt;/a&gt;. The latter I’d like to do more of: so satisfying!&lt;/li&gt;
&lt;li&gt;I also finally finished my &lt;a href=&quot;https://fiber.melanie-richards.com/sketchbook-pouch/&quot;&gt;vibrant patchworked sketchbook pouch&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hostux.social/@valere/109309330866027569&quot;&gt;Rocks that need a story written around them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.projectwallace.com/analyze-css&quot;&gt;Analyze CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I learned the little poles sticking out of adobe-style houses are called &lt;a href=&quot;https://en.wikipedia.org/wiki/Viga_(architecture)&quot;&gt;vigas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://austinkleon.substack.com/p/30-day-challenge&quot;&gt;Via Austin Kleon&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Any man can fight the battles of just one day,” begins a passage collected in Richmond Walker’s book of meditations for recovering alcoholics, &lt;em&gt;Twenty-Four Hours a Day&lt;/em&gt;. “It is only when you and I add the burden of those two awful eternities, yesterday and tomorrow, that we break down. It is not the experience of today that drives men mad. It is remorse or bitterness for something which happened yesterday or the dread of what tomorrow may bring. Let us therefore do our best to live but one day at a time.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Also: &lt;a href=&quot;https://rachsmith.com/im-in-need-of-a-phase/&quot;&gt;I&#39;m in need of a phase&lt;/a&gt;. I know I read other articles this month but I don’t seem to have bookmarked anything else…&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“How to bring a subdomain to Netlify DNS” on Netlify</title>
      <link href="https://www.netlify.com/blog/how-to-bring-a-subdomain-to-netlify-dns/"/>
      <updated>2022-11-29T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/how-to-bring-a-subdomain-to-netlify-dns/</id>
      <content type="html">
        <p>You can now delegate a subdomain to Netlify DNS without having to bring over the apex domain</p>
        <a href="https://www.netlify.com/blog/how-to-bring-a-subdomain-to-netlify-dns/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New reading challenge: 32 owned, unread books</title>
      <link href="https://melanie-richards.com/blog/reading-challenge-32-unread/"/>
      <updated>2022-11-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/reading-challenge-32-unread/</id>
      <content type="html">&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-books-2022-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-books-2022-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-books-2022-s.jpg&quot; alt=&quot;A bookshelf chock full of books arranged mostly in rainbow order. In the center of the bookshelf is a Sonos.&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;What my bookshelf looked like in January 2022. Not to worry, this is not all unread books.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;I have a lot of unread books on my shelves. Believe it or not, I’ve downsized quite a bit over the years, but it still stresses me out to have that physical backlog just a glance away.&lt;/p&gt;
&lt;p&gt;It’s not like this for everyone: for some, having plenty unread books at hand gives them a feeling of abundance. I mentioned my unread book guilt to my book club friends, and they looked at me like I had 8 heads. Noted!&lt;/p&gt;
&lt;p&gt;For me, though, I would love to get to a place where I have a short queue of unread books, maybe 3–5 of them. If I want something new to read, the library or a book store is easily available to me.&lt;/p&gt;
&lt;h2 id=&quot;the-reading-challenge&quot;&gt;The reading challenge&lt;/h2&gt;
&lt;p&gt;Rather than setting an “x number of books read” goal in 2023, I’m challenging myself to read 32 owned, unread books.&lt;/p&gt;
&lt;p&gt;A few parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I’m going to start now.&lt;/li&gt;
&lt;li&gt;It can take however long it takes…&lt;/li&gt;
&lt;li&gt;…but, I would like to have read 24 books by end of 2023.&lt;/li&gt;
&lt;li&gt;I don’t have to finish every book I start. If I’m not feeling it, and don’t particularly care to pick the book back up again, I can donate or sell it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;a-reward&quot;&gt;A reward&lt;/h2&gt;
&lt;p&gt;I’ve decided for once to treat myself when I complete the challenge. There’s a fancy fountain pen I have my eye on, in a higher price bracket than the $30 pens I’ve allowed myself to buy. That is the reward I’ll be working towards! In addition to a more spacious bookshelf.&lt;/p&gt;
&lt;h2 id=&quot;wish-me-luck!&quot;&gt;Wish me luck!&lt;/h2&gt;
&lt;p&gt;I’m going to start this challenge off with &lt;a href=&quot;https://bookshop.org/a/15644/9781640091603&quot;&gt;“Heart Berries”&lt;/a&gt; by Terese Marie Mailhot (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/reading-challenge-32-unread/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;), then finish up the first volume of Lord of the Rings.&lt;/p&gt;
&lt;p&gt;What are your active or upcoming reading goals?&lt;/p&gt;
&lt;p&gt;Edit, 2022.12.20: I made &lt;a href=&quot;https://app.thestorygraph.com/reading_challenges/92b55879-d1f5-4216-89db-f5af2c0b9242&quot;&gt;a reading challenge on The StoryGraph&lt;/a&gt; if you’d like to join in on reading your backlog!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/reading-challenge-32-unread/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2210/"/>
      <updated>2022-11-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2210/</id>
      <content type="html">&lt;p&gt;The first half of October was disconcertingly warm. My fiancé and I were able to hang out at a beer garden and read in comfort, which is both fun and not great for October.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kraken-neon-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kraken-neon-s.jpg&quot; alt=&quot;A hockey arena lit by blue ambient light, with a neon sculpture that looks both like an S and kraken tentacle&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;More fun was my first NHL hockey game (masked)! It was an exciting experience, even if we lost by 1 in overtime. I would love to go to more games before we get really good and ticket prices skyrocket.&lt;/p&gt;
&lt;div class=&quot;u-limit-width | l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-diwali-us-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-diwali-us-s.jpg&quot; alt=&quot;My fiance and I holding a tray of candles in front of house decorated with lights. We are wearing traditional Diwali shirts in tones of dark green.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-diwali-lights-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-diwali-lights-s.jpg&quot; alt=&quot;Rahul placing candles around the exterior of a house lit up with lights trimming its edges&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;Late in the month, Rahul (my fiancé) and I visited his family in India for Diwali. It was our first time back in Delhi since the pandemic started, so there was plenty of family time to make up (and engagement-related tasks to accomplish).&lt;/p&gt;
&lt;p&gt;The lights for Diwali were beautiful: familiar for me, who is used to Christmas, but with their own twist. Lights on buildings either run along the edges or are draped down the building in vertical lines. Diyas (little ghee candles) are placed all around to light Rama’s way home, and garlands of marigolds are hung in doorways.&lt;/p&gt;
&lt;h2 id=&quot;making&quot;&gt;Making&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/website-redesign-2022/&quot;&gt;Redesigned my website&lt;/a&gt; in an unusual burst of sudden energy!&lt;/li&gt;
&lt;li&gt;Sketched about &lt;a href=&quot;https://www.instagram.com/p/CjyaU7YvedK/&quot;&gt;fish&lt;/a&gt; and &lt;a href=&quot;https://www.instagram.com/p/CjWz65ArFg_/&quot;&gt;feelings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Made some progress on a quilted sketchbook pouch.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Trying out another Goodreads competitor called StoryGraph. This website/app generates charts of your reading habits, which is fun to compare across the years. It also makes it easier to find your next read based on attributes like mood, pace, and genre. &lt;a href=&quot;https://app.thestorygraph.com/profile/melanierichards&quot;&gt;Here’s my StoryGraph profile&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;articles&quot;&gt;Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://punchdrink.com/articles/where-is-she-now-janee-mahalo-old-fashioned-cocktail-recipe/&quot;&gt;JaNee: Where Is She Now?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2022/10/28/23428132/elon-musk-twitter-acquisition-problems-speech-moderation&quot;&gt;Welcome to hell, Elon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://katydecorah.com/notes/one-hundred-times/&quot;&gt;Do something 100 times&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Now generally available: Scopes and contextual values for environment variables” on Netlify</title>
      <link href="https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables-ga/"/>
      <updated>2022-11-02T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables-ga/</id>
      <content type="html">
        <p>The new environment variables experience allows you to set unique values for different contexts and control where environment variables can be used.</p>
        <a href="https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables-ga/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Personal website redesign 2022</title>
      <link href="https://melanie-richards.com/blog/website-redesign-2022/"/>
      <updated>2022-10-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/website-redesign-2022/</id>
      <content type="html">&lt;p&gt;For a couple years now, I’ve had a similiar-ish theme up on my website: black-and-white pixel art, Space Mono headings, with body copy rendered in Mallory. Pixels are fun, but I needed a change and craved more COLOR! 🌈&lt;/p&gt;
&lt;p&gt;Bright colors have been giving me a ton of dopamine lately, and so this redesign swings far on the other side of the color pendulum:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-s.png&quot; alt=&quot;Home page with a tagline, recent work projects, a list of things I&#39;m up to now, recent blog posts. There&#39;s a quilt-like shape of geometric, colorful blocks in orangey red, forest green, pink, and beiges.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The blocky, geometric details on this redesign are a nod to the quilting hobby I share with some of my family members: an aesthetic echo of &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;my fiber blog&lt;/a&gt;. As a ginger, I’ve gotta incorporate an orangey red in there.&lt;/p&gt;
&lt;h2 id=&quot;winter-2020-version&quot;&gt;Winter 2020 Version&lt;/h2&gt;
&lt;p&gt;First, let’s pour one out for the version built in Winter 2020, not long before The Panini. It looked something like this:&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;div&gt;
    &lt;picture class=&quot;u-limit-width c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-home-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-home-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-home-s.png&quot; alt=&quot;A collage of my tagline and recent projects and posts, in a black and white pixel theme with headings in a monospace font&quot; /&gt;
        &lt;/picture&gt;
    &lt;br /&gt;
    &lt;picture class=&quot;u-limit-width c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-info-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-info-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-info-s.png&quot; alt=&quot;My info page. The bio image is cut out into a pixelated circular shape.&quot; /&gt;
        &lt;/picture&gt;
  &lt;/div&gt;
  &lt;picture class=&quot;u-limit-width c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-post-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-post-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-post-s.png&quot; alt=&quot;A blog post, where the responses section seems to pop out of the page given its thick black border and hard-edged black shadow.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;There are some through-lines I’m keeping in the new design:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://frerejones.com/families/mallory&quot;&gt;Mallory typeface&lt;/a&gt;, designed by Tobias Frere-Jones. It’s friendly but well-considered. I am thinking of swapping in a funkier display typeface for headings, but nothing has caught my eye yet.&lt;/li&gt;
&lt;li&gt;Component-level designs: in many ways, components like cards stay the same.&lt;/li&gt;
&lt;li&gt;Content is largely the same, though I’ve split work-related projects into a new Product page, and the blog has tag archives now as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;new-version&quot;&gt;New Version&lt;/h2&gt;
&lt;p&gt;Like my previous design, there is a dark theme:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-dark-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-dark-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-dark-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-home-dark-s.png&quot; alt=&quot;The new home page again, rendered in a dark theme. The quilt blocks are now dark purples, blues, with lilac accents.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Previously I would swap out the theme only according to &lt;code&gt;prefers-color-scheme&lt;/code&gt;. Now visitors can choose in the footer whether they’d like auto (follow the system theme), light, or dark.&lt;/p&gt;
&lt;p&gt;The masthead shapes are a small source of joy for me:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masthead-icon-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masthead-icon-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masthead-icon-s.png&quot; alt=&quot;A zig-zaggy, reddish orange icon at the top of my personal projects page&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;u-limit-width c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-info-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-info-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-info-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-info-s.png&quot; alt=&quot;A different geometric icon on the info page. There&#39;s also a section detailing my hobbies&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;They are reflected in the favicon for that part of the site.&lt;/p&gt;
&lt;p&gt;Another detail I love is that when you hover over a card, two opposite corners animate to a bubbly corner radius.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-hover-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-hover-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2022-hover-s.png&quot; alt=&quot;Two blog post cards. The one on the left has an aggressive border-radius on the top left and bottom right&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I like how this subliminally points the card image up and left: onwards!&lt;/p&gt;
&lt;p&gt;This was also a good excuse to try out the &lt;code&gt;has()&lt;/code&gt; selector. In these cards, I&#39;m rendering a pseudo element on the link over the image. This way, the visitor can click on top of the image to navigate (as might be expected), but I can separate out &lt;code&gt;img&lt;/code&gt; alt text from the link’s accessible name. Because of this, I needed to select for &lt;code&gt;.c-card:has(.c-card__title:hover)&lt;/code&gt; to animate the image’s border radius. Given this is just an aesthetic enhancement, it’s a good first place to try this CSS feature out.&lt;/p&gt;
&lt;h2 id=&quot;up-next&quot;&gt;Up Next&lt;/h2&gt;
&lt;p&gt;Most of the things I’d like to do now are content-related:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tag more of my blog posts so they can be found in the right tag categories.&lt;/li&gt;
&lt;li&gt;Add “Uses” and “Media” pages for some good ol’ fashioned navel-gazing/voyeurism.&lt;/li&gt;
&lt;li&gt;Develop the Product page more: thought leadership? Do I dare?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While I’ve done visual / accessibility testing in this redesign process, it’s always possible I’ve missed something. Please do let me know if you find anything that seems off!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug/Sep 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2209/"/>
      <updated>2022-10-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2209/</id>
      <content type="html">&lt;p&gt;Life has been super busy this past couple months, hence the double feature this time around. This is also a special Learning Log because it is dedicated to my friend Saili, whose wedding I traveled to Monterrey, CA to attend in August!!&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-little-bs-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-little-bs-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-little-bs-s.jpg&quot; alt=&quot;A neon sign that says Saili and Billy present a little BS&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jellyfish-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jellyfish-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jellyfish-s.jpg&quot; alt=&quot;Two big lacy jellyfish floating perpendicular to each other ina blue tank&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;Saili is my number one hype queen, always quick to jump in with a supportive word. I am pretty sure she is the only person who reads all my fiber crafts posts. Spend an hour with Saili and you will feel capable of punching through brick walls.&lt;/p&gt;
&lt;p&gt;Congratulations Saili and Billy, and thank you for having all of us share in your day. 💞&lt;/p&gt;
&lt;h2 id=&quot;hawaii&quot;&gt;Hawaii&lt;/h2&gt;
&lt;p&gt;Had the opportunity to go to Maui, Hawaii in September! Unlike most Seattleites it seems, I’d never been to the islands and I extremely get the hype now. Kapalua Coastal Trail in particular was a beautiful afternoon walk:&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-rocks-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-rocks-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-rocks-s.jpg&quot; alt=&quot;A cove of crystalline, turquoise water sweeping into a rocky coastline&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-lava-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-lava-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hi-lava-s.jpg&quot; alt=&quot;A low formation of rock that was clearly formed by slow lava flow. There&#39;s small pools of water amidst the lava rocks.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;I’m realizing I’m a big fan of cool rock formations in or near the sea (looking at you, Giant’s Causeway).&lt;/p&gt;
&lt;p&gt;My fiancé and I have not taken a real vacation for the better part of 3 years. Our first afternoon in Maui we were just floating happily in the sea, wondering why that felt so MIND BLOWINGLY nice. Turns out when you don’t take time to relax, away from the details of your mid-pandemic life, you end up a little more tightly wound?&lt;/p&gt;
&lt;h2 id=&quot;blogging&quot;&gt;Blogging&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/&quot;&gt;What does a product manager do?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/task-mgmt-tools/&quot;&gt;Task Management Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;On Netlify:&lt;/strong&gt; &lt;a href=&quot;https://www.netlify.com/blog/branch-specific-environment-variable-values-from-the-netlify-ui-cli-or-api/&quot;&gt;Branch-specific environment variable values from the Netlify UI, CLI, or API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;On Netlify:&lt;/strong&gt; &lt;a href=&quot;https://www.netlify.com/blog/automated-deploy-cleanup-and-new-deploy-retention-policies/&quot;&gt;Automated deploy cleanup and new deploy retention policies starting late October 2022&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;sketching&quot;&gt;Sketching&lt;/h2&gt;
&lt;p&gt;Started a new sketchbook, the &lt;a href=&quot;https://www.jetpens.com/Stillman-Birn-Epsilon-Sketchbook-Softcover-5.5-x-8.5/pd/18732&quot;&gt;Stillman &amp;amp; Birn Epsilon&lt;/a&gt;.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-filled-not-feared-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-filled-not-feared-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-filled-not-feared-s.jpg&quot; alt=&quot;A sketchbook page saying &#39;your sketchbook wants to be filled not feared, Nina Cosford&#39;. There&#39;s a watercolor background in bright warm tones.&quot; /&gt;
        &lt;/picture&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-black-rock-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-black-rock-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-black-rock-s.jpg&quot; alt=&quot;A jetty of rocks rendered in water soluable crayons&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;Black Rock in Maui, Hawaii&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;I’m enjoying it so far: the paper is smooth enough that Posca pens don’t tear up the surface, but it’s thick enough for wet media. The pages do wave a little bit with wet media, but I don’t mind it (kind of enjoy that, if I’m honest).&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sand-city-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sand-city-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sand-city-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sand-city-s.jpg&quot; alt=&quot;Dunes rendered in pale watercolor, with scribbles of umber and green in crayon on top&quot; /&gt;
        &lt;/picture&gt;&lt;figcaption&gt;The view of sand dunes from our Airbnb in Sand City, CA&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Lately I’ve been exploring how I do/don’t like to use Neocolor II water-soluable crayons.&lt;/p&gt;
&lt;h2 id=&quot;fiber-arts&quot;&gt;Fiber arts&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pouch-top-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pouch-top-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pouch-top-s.jpg&quot; alt=&quot;A small fabric panel made of triangles, squares, and rectangles. Colors include red, yellow, pink, blue, teal, black, and white. There are black and white squares in a checkboard pattern.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Working on a zipper pouch for an A5 sketchbook! Here’s the top (mostly) pieced together. Bright colors have been giving me so much dopamine lately.&lt;/p&gt;
&lt;h2 id=&quot;more-learning-and-doing&quot;&gt;More learning and doing&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Found a fountain pen that actually works for me and now am extremely into fountain pens and inks! They look so pretty, especially on the Tomoe River Paper in my Hobonichi journal.&lt;/li&gt;
&lt;li&gt;Worked for a hot minute on a redesign for my website (which is not yet live). I don’t have a much color on the site right now, and this redesign is definitely swinging towards the “ALL OF THE COLOR” end of the pendulum.&lt;/li&gt;
&lt;li&gt;Learned the term &lt;a href=&quot;https://en.wikipedia.org/wiki/Asterism_(typography)&quot;&gt;asterism&lt;/a&gt;, and also that “dinkus” is a technical term. 🤨&lt;/li&gt;
&lt;li&gt;Used my &lt;a href=&quot;https://mode.com/sql-tutorial/&quot;&gt;Mode Intermediate SQL tutorial&lt;/a&gt; chops from earlier in the summer to write a new query for a dashboard at work! Huzzah!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://overcast.fm/+FzpmjkQuc&quot;&gt;Secular Buddism Podcast episode 3: Seeing With I’s of Wisdom&lt;/a&gt;: I enjoyed the parable on “who knows what is good and what is bad?” Note, unfortunately I couldn’t find a transcript for this episode.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/austinkleon/status/1575243216592453634?s=46&amp;amp;t=5N7tRXecLC1ekdZDrabRiA&quot;&gt;The creative process&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://uxdesign.cc/codifying-product-discovery-process-5e4db83a00ca&quot;&gt;Codifying the product discovery process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2015/08/the-research-is-clear-long-hours-backfire-for-people-and-for-companies&quot;&gt;The Research Is Clear: Long Hours Backfire for People and for Companies&lt;/a&gt;: I need to keep reading these until it sinks in. (Note: a few ableist terms scattered in this article)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://subscribe.marissagoldberg.com/posts/remotely-interesting-the-commute-reimagined&quot;&gt;Remotely Interesting: The Commute Reimagined&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smithsonianmag.com/smart-news/doppelgangers-dont-just-look-alike-they-also-share-dna-180980635/&quot;&gt;Doppelgängers Don’t Just Look Alike—They Also Share DNA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Comment and collaborate on Deploy Previews – now available for Azure DevOps projects” on Netlify</title>
      <link href="https://www.netlify.com/blog/comment-and-collaborate-on-deploy-previews-azure-devops/"/>
      <updated>2022-10-04T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/comment-and-collaborate-on-deploy-previews-azure-devops/</id>
      <content type="html">
        <p>Developers deploying to Netlify from Azure DevOps repositories can now collaborate on deploy previews in the browser and sync feedback back to Azure DevOps.</p>
        <a href="https://www.netlify.com/blog/comment-and-collaborate-on-deploy-previews-azure-devops/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Automated deploy cleanup and new deploy retention policies starting late October 2022” on Netlify</title>
      <link href="https://www.netlify.com/blog/automated-deploy-cleanup-and-new-deploy-retention-policies/"/>
      <updated>2022-09-27T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/automated-deploy-cleanup-and-new-deploy-retention-policies/</id>
      <content type="html">
        <p>Starting late October 2022, Netlify will begin automatically batch-deleting non-critical deploys older than 90 days.</p>
        <a href="https://www.netlify.com/blog/automated-deploy-cleanup-and-new-deploy-retention-policies/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Task Management Tools</title>
      <link href="https://melanie-richards.com/blog/task-mgmt-tools/"/>
      <updated>2022-09-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/task-mgmt-tools/</id>
      <content type="html">&lt;p&gt;Task management tools I can remember using over the years as a designer, developer, or product manager; roughly in order; often overlapping; whether voluntarily or otherwise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Teux Deux (and probably other simple tools scattered throughout)&lt;/li&gt;
&lt;li&gt;Bugzilla&lt;/li&gt;
&lt;li&gt;Goes to Work&lt;/li&gt;
&lt;li&gt;Email / Gchat / Slack / text files / bubblegum&lt;/li&gt;
&lt;li&gt;Jira (for like, one client)&lt;/li&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;li&gt;Trello&lt;/li&gt;
&lt;li&gt;Microsoft’s clone of Trello (Projects?)&lt;/li&gt;
&lt;li&gt;OneNote&lt;/li&gt;
&lt;li&gt;Azure DevOps&lt;/li&gt;
&lt;li&gt;CrBug (Chromium bug tracker)&lt;/li&gt;
&lt;li&gt;Microsoft To Do&lt;/li&gt;
&lt;li&gt;Analog&lt;/li&gt;
&lt;li&gt;Paper notebooks&lt;/li&gt;
&lt;li&gt;Shortcut, for like, a week&lt;/li&gt;
&lt;li&gt;Github again&lt;/li&gt;
&lt;li&gt;Notion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nothing is perfect. For me the important bits are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The tool is as close as possible to where the work actually happens (tricky when in multiple places)&lt;/li&gt;
&lt;li&gt;The tool is flexible to organizational needs, but critically &lt;em&gt;enables the team to hide or ignore complexity where it is irrelevant&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The tool reliably enables async status-sharing, vs serving as a burden / TPS report hellscape&lt;/li&gt;
&lt;li&gt;I can track the nitty gritty PM details (which are usually too granular for broad consumption) in a way that makes sense to my brain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What’s your list like?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>What does a product manager do?</title>
      <link href="https://melanie-richards.com/blog/pm-lyfe/"/>
      <updated>2022-08-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/pm-lyfe/</id>
      <content type="html">&lt;p&gt;Whether you’re new to the tech industry or not quite clear on how some of your colleagues spend their days, you might wonder, “what does a product manager do?”&lt;/p&gt;
&lt;p class=&quot;c-media c-media--limit-width&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/what-would-you-say-you-do-here-m.jpg&quot; alt=&quot;From the movie Office Space, two consultants asking: &#39;what would you say you do here?&#39;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is a valid question. Many product managers ask themselves the same thing, because the role is a bit slippery and can differ depending on context.&lt;/p&gt;
&lt;p&gt;I thought I’d take a crack at answering this question from my own perspective. Brevity is not on offer, but you’ll find here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/#the-classic-answer%3A-it-depends&quot;&gt;Factors that create variety in the role&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/#the-role-at-its-core&quot;&gt;Product management at its core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/#day-to-day&quot;&gt;The day-to-day at a high level&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/pm-lyfe/#tasks-throughout-the-product-lifecycle&quot;&gt;Deep dive on common tasks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-classic-answer%3A-it-depends&quot;&gt;The classic answer: it depends&lt;/h2&gt;
&lt;p&gt;The first thing to get out of the way is that there &lt;em&gt;is&lt;/em&gt; a high degree of variation in product management. The role can differ depending on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The industry&lt;/li&gt;
&lt;li&gt;The culture and processes of each level of organization within a company&lt;/li&gt;
&lt;li&gt;The personalities, abilities, and availability of key partners&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Product managers often find their roles expanding to fill gaps on the team. Frequently, this involves picking up &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#unglamorous-note&quot; id=&quot;unglamorous-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;unglamorous work&lt;/a&gt;. Product managers may feel somewhat like a “PM and”: PM and engineering manager; PM and pro&lt;em&gt;ject&lt;/em&gt; manager; PM and bug backlog wrangler; PM and stakeholder soothsayer. This effect is what often drives the mismatch between reality and what product management books describe.&lt;/p&gt;
&lt;p&gt;Despite this variation, there are some aspects that are core to product management.&lt;/p&gt;
&lt;h2 id=&quot;the-role-at-its-core&quot;&gt;The role at its core&lt;/h2&gt;
&lt;p&gt;I think of the product management role as &lt;strong&gt;answering 3 basic questions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Which &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#customers-note&quot; id=&quot;customers-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;customer&lt;/a&gt; problems / unmet needs should we prioritize solving, and why?&lt;/strong&gt;&lt;br /&gt;
Product strategy can scale from a narrowly scoped feature area to stratospheric, industry-changing strategic investments. Here, PMs are seeking out problems that are urgent, pervasive, and/or that customers are willing to pay for. The golden opportunities are those that have a projected high impact on both customer goals and business targets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How should we solve those problems?&lt;/strong&gt;&lt;br /&gt;
Solution definition includes owning the requirements that will keep customers on &lt;a href=&quot;https://userpilot.com/blog/happy-path/#:~:text=to%20get%20started.-,What%20is%20the%20meaning%20of%20happy%20path%3F,result%20without%20encountering%20any%20error.&quot;&gt;“the happy path”&lt;/a&gt; as they meet their goals. Product managers ensure the product experience is effective, efficient, and pleasant to use—while scoping requirements tightly enough to ship and iterate quickly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Did we successfully solve those problems, and what impact did that have on our customers and the business?&lt;/strong&gt;&lt;br /&gt;
This entails both talking to customers and monitoring feature success measures: qualitative and quantitative data.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;leading-through-relationships&quot;&gt;Leading through relationships&lt;/h3&gt;
&lt;p&gt;From my perspective and experience, this role works best if product managers take a collaborative leadership approach, rather than a dictatorial one.&lt;/p&gt;
&lt;p&gt;Problem area discovery (question #1) requires gathering insights from a wide variety of inputs in order to find a strong signal. Everyone at the company with a direct connection to customers has valuable insights to offer. They are often critical partners in uncovering more data.&lt;/p&gt;
&lt;p&gt;Similarly, the strongest solutions often come from team effort and imagination. Instead of writing up a fully-formed solution and throwing it over the wall, it may be ideal to bring cross-functional peers into solution-defining processes. Your mileage may again vary, depending on organizational culture and key partners’ strengths and interests. At Netlify, we’ve started running “Problem-Solution Alignment” exercises to brainstorm as a team how we might solve a customer problem. More on that in another post.&lt;/p&gt;
&lt;p&gt;A strong product manager does not need to always have the best and smartest ideas. Rather, they create an environment where &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#core-values-note&quot; id=&quot;core-values-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;anyone can contribute&lt;/a&gt; towards the final designed solution. That said, PMs do take responsibility for outcomes. They need to use their deep customer knowledge and business savvy to keep the team on track to make the most impact. There’s a balance to strike between being receptive to input, and creating a clear direction forward.&lt;/p&gt;
&lt;h2 id=&quot;day-to-day&quot;&gt;Day to day&lt;/h2&gt;
&lt;p&gt;A day in the life of a product manager can again vary widely depending on role definition, seniority, and how much email people at your company send. “Too many meetings” is inevitable. Broadly, a PM’s time will include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Researching, defining strategy (always less time spent here than we want)&lt;/li&gt;
&lt;li&gt;Talking to customers&lt;/li&gt;
&lt;li&gt;“Planning” activities: setting roadmaps and priorities with input from Design and Engineering&lt;/li&gt;
&lt;li&gt;Executing on a number of active projects&lt;/li&gt;
&lt;li&gt;Communicating with stakeholders&lt;/li&gt;
&lt;li&gt;Creating customer communications&lt;/li&gt;
&lt;li&gt;Monitoring customer feedback and success measures (possibly writing one’s own data queries)&lt;/li&gt;
&lt;li&gt;Helping to set priority on incoming issues and feature requests&lt;/li&gt;
&lt;li&gt;Mentoring others and sharing knowledge&lt;/li&gt;
&lt;li&gt;Interviewing, including for non-product roles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Again, there may be other activities that are specific to the industry, team, or the PM’s personal background. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My background is in design and web dev, so sometimes I contribute design ideas for small changes. In the past, I’ve also done some heavier lifting when short-staffed on the design team.&lt;/li&gt;
&lt;li&gt;I’ve created demos and conference talks for features I’ve contributed to. This can overlap with the Developer Advocate role.&lt;/li&gt;
&lt;li&gt;On the Microsoft Edge web platform team, PMs participated heavily in web standards discussion at the W3C, WHATWG, and IETF. This is again different to other browser vendors, where devs may be the company’s sole representatives.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;tasks-throughout-the-product-lifecycle&quot;&gt;Tasks throughout the product lifecycle&lt;/h2&gt;
&lt;p&gt;If you’re still wondering, &lt;em&gt;“ok, but what specific tasks do y’all do?”&lt;/em&gt;, you can explore these common activities I’m responsible for as a Senior Product Manager at Netlify (at time of writing). This list focuses on tasks specific to the product development lifecycle, so it’s not exhaustive. If you’re interested in a product management role, you can expect that your days might be filled with a blend of these and other activities.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Discovery (9)&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Gather customer and market insights to identify problems and size potential impact
&lt;ul&gt;
&lt;li&gt;Conduct user/market research&lt;/li&gt;
&lt;li&gt;Talk to customers (requires coordination with the Sales org and/or Research)&lt;/li&gt;
&lt;li&gt;Review previous insights&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Make a recommendation on given problem spaces and feature areas: invest / maintain / retire&lt;/li&gt;
&lt;li&gt;Collaborate with product and engineering partners on:
&lt;ul&gt;
&lt;li&gt;Product area strategy&lt;/li&gt;
&lt;li&gt;OKR definition&lt;/li&gt;
&lt;li&gt;Priorities and roadmaps&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Write a “stub” Product Requirements Document (PRD) to define a problem set and sketch out success measures&lt;/li&gt;
&lt;li&gt;Create parent issue in tracking tool&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Solution refinement (10)&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Prepare problem statements and schedule a Problem-Solution Alignment (PSA) exercise&lt;/li&gt;
&lt;li&gt;Lead the PSA exercise to define proposed solution set&lt;/li&gt;
&lt;li&gt;Write the full Product Requirements Document (PRD): refine success measures, add details on the chosen solution set, scope milestone requirements, outline general release plan, set pricing and packaging&lt;/li&gt;
&lt;li&gt;Circulate PRD for stakeholder feedback and iterate&lt;/li&gt;
&lt;li&gt;Support Design on a direction for the user experience&lt;/li&gt;
&lt;li&gt;With Design, write initial UI copy&lt;/li&gt;
&lt;li&gt;Review UI copy and names for core concepts with writers&lt;/li&gt;
&lt;li&gt;Circulate UI mocks for feedback and iterate&lt;/li&gt;
&lt;li&gt;Gather customer feedback (does the solution adequately address their problems? Is it easy and pleasant to use?)
&lt;ul&gt;
&lt;li&gt;Show customers early designs and iterate&lt;/li&gt;
&lt;li&gt;With Research, run a usability study and analyze the results. Iterate!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Execution (10)&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Schedule and lead kickoff with project contributors&lt;/li&gt;
&lt;li&gt;Help create tracking issues for discrete buckets of work &lt;em&gt;(fidelity and division of labor between Product and Design/Engineering depends heavily on the team)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Work with Design and Engineering on ETAs&lt;/li&gt;
&lt;li&gt;Create a data plan for success measures and other telemetry
&lt;ul&gt;
&lt;li&gt;Work with Engineering to implement telemetry&lt;/li&gt;
&lt;li&gt;Work with Data to review implementation plans and set up data dashboards&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add the project to internal launch tracking tools&lt;/li&gt;
&lt;li&gt;Run regular project syncs, if applicable&lt;/li&gt;
&lt;li&gt;Work with Design on any UX tweaks along the way&lt;/li&gt;
&lt;li&gt;Support Engineering with PR reviews and implementation questions&lt;/li&gt;
&lt;li&gt;Support Docs on documentation for feature; review docs PRs&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Release (15)&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Write blurbs for Labs beta features&lt;/li&gt;
&lt;li&gt;Keep Product Marketing and Developer Experience in the loop on upcoming functionality; set ETAs for marketing moments&lt;/li&gt;
&lt;li&gt;Prep and present launch plans to stakeholders&lt;/li&gt;
&lt;li&gt;Create an internal test plan (manual tests outside of PR reviews / automated testing; often called “acceptance criteria”)&lt;/li&gt;
&lt;li&gt;Prep and conduct Support training&lt;/li&gt;
&lt;li&gt;Confirm feature is code complete&lt;/li&gt;
&lt;li&gt;Facilitate internal testing and help prioritize bugs&lt;/li&gt;
&lt;li&gt;Announce availability of feature for internal alpha&lt;/li&gt;
&lt;li&gt;Share availability of feature with key customers, for private beta (if applicable)&lt;/li&gt;
&lt;li&gt;Confirm data dashboards are ready&lt;/li&gt;
&lt;li&gt;Create a feedback survey&lt;/li&gt;
&lt;li&gt;Write a forum post&lt;/li&gt;
&lt;li&gt;Write a blog post and review with Product Marketing (who often advise and prepare other user comms)&lt;/li&gt;
&lt;li&gt;Schedule launch &amp;amp; create checklist&lt;/li&gt;
&lt;li&gt;Confirm readiness, launch the feature 🚀, and celebrate with the team! 🥳&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Iteration (5)&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Monitor customer reception + feedback&lt;/li&gt;
&lt;li&gt;Review success measures&lt;/li&gt;
&lt;li&gt;Help team prioritize incoming bugs and future investments in this feature/area&lt;/li&gt;
&lt;li&gt;Proactively meet with customers to validate their experience&lt;/li&gt;
&lt;li&gt;Ensure Engineering removes feature flag when ready&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h2 id=&quot;in-closing&quot;&gt;In closing&lt;/h2&gt;
&lt;p&gt;The product manager role can be challenging to define, given that ol’ devil in the details. At the core, it’s about working with a cross-functional team to ensure the product you build adequately addresses customer needs, for a positive business impact. Keep those users on the happy path!&lt;/p&gt;
&lt;p&gt;You might be able to tell from the lists above that product management entails quite a bit of context switching. That’s certainly true. On the other side of the coin, I find PM life thrilling because it’s always different: so many ways to add value, so many interesting and talented people I get to work with every single day. I’m grateful to have fallen into it.&lt;/p&gt;
&lt;p&gt;I hope my perspective helps clarify what this role actually is—or might be—but can bet the PMs around you have their own perspectives to share!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;unglamorous-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;The best teams I’ve worked with find ways to make unglamorous or tedious work a shared responsibility. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#unglamorous-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;customers-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Customers could include the people who use your product; buy your product; or other partners (e.g. advertisers paying for user attention on your product). &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#customers-ref&quot; aria-label=&quot;Back to reference 2&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;core-values-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;At Netlify, one of our core values is “the best ideas can come from anywhere.” &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/pm-lyfe/#core-values-ref&quot; aria-label=&quot;Back to reference 3&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Branch-specific environment variable values from the Netlify UI, CLI, or API” on Netlify</title>
      <link href="https://www.netlify.com/blog/branch-specific-environment-variable-values-from-the-netlify-ui-cli-or-api/"/>
      <updated>2022-08-23T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/branch-specific-environment-variable-values-from-the-netlify-ui-cli-or-api/</id>
      <content type="html">
        <p>Developers can now change an environment variable’s value based on the branch, from the Netlify UI, CLI, or API. Available as a beta in Netlify Labs.</p>
        <a href="https://www.netlify.com/blog/branch-specific-environment-variable-values-from-the-netlify-ui-cli-or-api/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jul 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2207/"/>
      <updated>2022-08-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2207/</id>
      <content type="html">&lt;p&gt;Fitting for “touch grass” season, I’ve pretty much not touched a computer for personal projects in July. Instead, sketchbook art has taken up a large proportion of creative brainspace.&lt;/p&gt;
&lt;h2 id=&quot;sketching&quot;&gt;Sketching&lt;/h2&gt;
&lt;p&gt;Discovered &lt;a href=&quot;https://hudsonvalleysketches.blogspot.com/2012/01/breaking-in-your-stillman-and-birn.html?m=1&quot;&gt;this method of breaking in a sketchbook&lt;/a&gt; and found it to be quite effective. Also learned about &lt;a href=&quot;https://www.jacksonsart.com/blog/2021/02/02/colour-mixing-exploring-the-zorn-palette/&quot;&gt;the Zorn palette&lt;/a&gt; (and that it’s best for health/environmental reasons to get cadmium-free versions of paint).&lt;/p&gt;
&lt;p&gt;I also finally made it out to a meetup with Urban Sketchers Seattle. I found the group during the pandemic, so they were on hiatus at the time for in-person outings. Took me a bit to be available for a meeting once they were back on.&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-sketch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-sketch-s.jpg&quot; alt=&quot;Me holding a picture of trees and a railed walkway in front of said scene. Froth water lies between.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fence-sketch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fence-sketch-s.jpg&quot; alt=&quot;Me holding a pen drawing of fence shadows on top of a fence near water&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fish-sketch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fish-sketch-s.jpg&quot; alt=&quot;A sketch drawn of windows showing shadowy fish swimming by&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-sketch-full-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-sketch-full-s.jpg&quot; alt=&quot;The tree scene in my sketchbook again, now with a fern drawn beneath it&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-usk-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-usk-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-locks-usk-s.jpg&quot; alt=&quot;A bunch of sketchbooks lying on a sidewalk. The dominant color is green.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;We used a lot of green paint to sketch the Ballard Locks on a meltingly hot day. I’m trying out Neocolor II wax pastel crayons, which were fairly soft from the heat (messier and more fun in equal measure). I still have plenty of room to learn, but honestly had the best time wandering around sketching.&lt;/p&gt;
&lt;h2 id=&quot;fiber-art&quot;&gt;Fiber Art&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-indigo-backyard-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-indigo-backyard-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-indigo-backyard-s.jpg&quot; alt=&quot;Indigo dyed fabrics hanging on a line in a sunny back yard. Some of the blue and white patterns are strongly graphic while others have loose waves or solid color&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;July was apparently a month for meeting new people: &lt;a href=&quot;http://itsmemeg.com/&quot;&gt;my friend Meg&lt;/a&gt; co-hosted an indigo dyeing party in her backyard one night after work. I seem to have gotten shyer since the pandemic (out of practice), but it was such a nice and peaceful time making things during the golden hour.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pin-hanging-full-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pin-hanging-full-s.jpg&quot; alt=&quot;An 11 x 17 wall hanging with 3 thick bands of red, salmon pink, and yellow cotton fabric. The binding is salmon pink. There is a pattern of horizontal quilted lines 1.5 inches apart. The wall hanging is filled with all manner of cute enamel pins, including 3 corgis, web-themed icons, a couple cocktail, &#39;protect trans youth&#39;, and a couple eggs.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;In more vibrant hues, I also &lt;a href=&quot;https://fiber.melanie-richards.com/enamel-pins/&quot;&gt;made a wall hanging&lt;/a&gt; with which to display my enamel pins.&lt;/p&gt;
&lt;h2 id=&quot;creative-hobbies-%26-guilt&quot;&gt;Creative hobbies &amp;amp; guilt&lt;/h2&gt;
&lt;p&gt;Mulling over this &lt;a href=&quot;https://www.yumisakugawa.com/&quot;&gt;Yumi Sakugawa&lt;/a&gt; quote via my ever-thoughtful friend &lt;a href=&quot;https://izziezahorian.com/&quot;&gt;Izzie&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What if instead of guilting yourself for not working hard enough on your creative projects, you ask yourself: what would make this so exciting and compelling that I can’t wait to play and create and build on these ideas?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;sql&quot;&gt;SQL&lt;/h2&gt;
&lt;p&gt;Back on the computer, I finished the &lt;a href=&quot;https://mode.com/sql-tutorial/&quot;&gt;Mode basic SQL tutorial&lt;/a&gt; while also being dangerous in Mode itself (figuring out enough to hack a couple things together). I can’t wait to &lt;em&gt;actually&lt;/em&gt; learn joins! Working on the Intermediate tutorial now…&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jun 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2206/"/>
      <updated>2022-07-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2206/</id>
      <content type="html">&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
&lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-butterfly-sketch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-butterfly-sketch-s.jpg&quot; alt=&quot;A sketchbook with a sticker that says “Florida museum”. There are 4 felt-pen butterflies, and the words “butterfly rainforest”. Two butterflies are facing away from each other and are labeled “butt to butt”.&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-june-berries-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-june-berries-s.jpg&quot; alt=&quot;Small green strawberries on a plant in a patch of dirt&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;An explosion of green! A sketchbook page and some June-bearing strawberries in our garden that have mostly missed the boat on the whole “June” thing.&lt;/p&gt;
&lt;h2 id=&quot;netlify-launches&quot;&gt;Netlify Launches&lt;/h2&gt;
&lt;p&gt;June was an absolutely jam-packed month! Mid-month I went to visit family around a certain 3-year-old’s birthday, then came back and launched two features with my team at Netlify (while also attending an offsite!). The lead-up to Unintentional Launch Week had me feeling a bit slammed, but it sure is a whole ton of fun shipping features that folks have been asking for! Maybe I should go for a hat-trick next time? 🏒&lt;/p&gt;
&lt;p&gt;If you’d like to check out the newly available bits, they are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/deploy-deletion/&quot;&gt;Deploy deletion&lt;/a&gt; controls + automatic cleanup of failed deploys&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables/&quot;&gt;Scopes and deploy contexts&lt;/a&gt; for environment variables (beta!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;seasonal-cleaning&quot;&gt;Seasonal Cleaning&lt;/h2&gt;
&lt;p&gt;After I finish a side project, I like to do a bit of &lt;a href=&quot;https://github.com/users/melanierichards/projects/5/views/1&quot;&gt;seasonal cleaning&lt;/a&gt; &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2206/#issue-privacy-note&quot; id=&quot;issue-privacy-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;on Github&lt;/a&gt;, i.e. fixing bugs and making small improvements to past personal projects.&lt;/p&gt;
&lt;p&gt;This month I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added a record of older &lt;a href=&quot;https://github.com/melanierichards/talks&quot;&gt;talks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added an &lt;a href=&quot;https://snacks.melanie-richards.com/feed.xml&quot;&gt;RSS feed&lt;/a&gt; to my &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;snack review site&lt;/a&gt;. Also added a couple reviews, while I was at it.&lt;/li&gt;
&lt;li&gt;Add a link to the existing RSS feed to my &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;fiber crafts blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Made little layout tweaks on various projects&lt;/li&gt;
&lt;li&gt;Made various and sundry updates to &lt;a href=&quot;https://github.com/melanierichards/palindrome&quot;&gt;Palindrome&lt;/a&gt;, my personal Eleventy starter template&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.swyx.io/three-strikes&quot;&gt;My Three Strikes Rule for Blogging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2022/06/demo-to-demo-loop/&quot;&gt;The Demo → Demo Loop&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;art-and-creativity&quot;&gt;Art and creativity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.substack.com/p/the-simplest-cut&quot;&gt;The simplest cut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smithsonianmag.com/smart-news/secret-exhibition-met-staff-art-180980217/&quot;&gt;At This Once-Secret Exhibition, the Met’s Security Guards and Staff Display Their Own Art&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jeannebowmanillustrates.com/blog-of-the-anxious-bean/2021/5/22/how-to-re-commit-to-your-sketchbook-again&quot;&gt;how to re-commit to your sketchbook. again.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.atlasobscura.com/articles/how-capicola-became-gabagool-the-italian-new-jersey-accent-explained&quot;&gt;How Capicola Became Gabagool: The Italian New Jersey Accent, Explained&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I learned about &lt;a href=&quot;https://en.wikipedia.org/wiki/Rhubarb_forcer&quot;&gt;rhubarb forcers&lt;/a&gt; via the Great Pottery Throwdown&lt;/p&gt;
&lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
  &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
  &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;issue-privacy-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;It’s interesting that issues from private repos are listed on Github project boards as “no status”; I suppose some custom statuses could leak private info. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2206/#issue-privacy-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/footer&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Cleaning up deploys you no longer need” on Netlify</title>
      <link href="https://www.netlify.com/blog/deploy-deletion/"/>
      <updated>2022-06-29T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/deploy-deletion/</id>
      <content type="html">
        <p>Teams using Netlify can manually delete deploys they no longer need. To make your seasonal cleaning even easier, Netlify will also automatically delete failed or canceled deploys older than 6 months.</p>
        <a href="https://www.netlify.com/blog/deploy-deletion/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Manage scopes and contextual values for environment variables through the Netlify UI” on Netlify</title>
      <link href="https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables/"/>
      <updated>2022-06-28T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables/</id>
      <content type="html">
        <p>Developers can now limit environment variables to specific scopes or change environment variables based on deploy context through the Netlify UI, available as a beta in Netlify Labs.</p>
        <a href="https://www.netlify.com/blog/scopes-and-contextual-values-for-environment-variables/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Rotate who sends the newsletter</title>
      <link href="https://melanie-richards.com/blog/rotate-status-dris/"/>
      <updated>2022-06-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/rotate-status-dris/</id>
      <content type="html">&lt;p&gt;Quick tip: if your team sends an internal newsletter or status email, consider rotating which team member is responsible for driving content and sharing out the update.&lt;/p&gt;
&lt;h2 id=&quot;why%3F&quot;&gt;Why?&lt;/h2&gt;
&lt;h3 id=&quot;gives-team-members-more-visibility&quot;&gt;Gives team members more visibility&lt;/h3&gt;
&lt;p&gt;Career progression (promotions, raises, interesting projects) often depends heavily on the visibility of your impact to stakeholders and potential collaborators. This can be more difficult at larger companies and leads to “interesting” visibility-hacking behavior.&lt;/p&gt;
&lt;p&gt;When you change up the directly responsible individual (DRI) for a recurring status update, you give each team member a natural way to show up and raise their visibility. Presumably each person that contributes to the newsletter is also materially contributing to the work that the newsletter reports on. Rather than gatekeeping on one person, everyone on the team can get the chance to share that impact with the broader organization.&lt;/p&gt;
&lt;h3 id=&quot;cultivates-a-shared-sense-of-ownership&quot;&gt;Cultivates a shared sense of ownership&lt;/h3&gt;
&lt;p&gt;Rotating newsletter DRIs increases a shared sense of ownership in 1) the work itself and 2) how the team’s impact is messaged to stakeholders. If Jamie sends the update every sprint, it’s easy to feel like everyone else is executing on Jamie’s vision (or, again, their visibility!). There are other things that should happen to empower cross-functional team members, but being able to help lead on messaging builds the sense that the team is working towards a shared, common goal.&lt;/p&gt;
&lt;h3 id=&quot;makes-the-newsletter-easier-to-compile&quot;&gt;Makes the newsletter easier to compile&lt;/h3&gt;
&lt;p&gt;When the responsibility for a status update always falls on one person’s shoulders, no one else gets to feel the pain of corralling contributions from the rest of the team. People often procrastinate on filling out newsletter content, because it’s unaccounted-for work. When there’s just one DRI, that owner has to beg team members for content with every iteration.&lt;/p&gt;
&lt;p&gt;I’ve noticed that when the DRI rotates, the team is much more responsive to calls for content. That is likely due in part to a shared sense of messaging ownership. It may also be attributable to an increased empathy for the DRI: you as contributor have gone through the cat-herding yourself, or it’s your turn to do so next month.&lt;/p&gt;
&lt;p&gt;It’s tempting to think that having one person “just take care of it” leads to efficiency and quality, but in my experience the opposite is true.&lt;/p&gt;
&lt;h2 id=&quot;give-it-a-try&quot;&gt;Give it a try&lt;/h2&gt;
&lt;p&gt;Rotating the newsletter DRI may not work for every organization and audience. That said, it’s worth considering this practice—and whether your current approach to status-sharing best serves the organization in the first place!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, May 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2205/"/>
      <updated>2022-06-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2205/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rhodies-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rhodies-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rhodies-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rhodies-s.jpg&quot; alt=&quot;A huge cluster of vibrant, dark pink rhododendron flowers&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;support-for-azure-devops-as-a-git-provider-on-netlify&quot;&gt;Support for Azure DevOps as a Git provider on Netlify&lt;/h2&gt;
&lt;p&gt;My first sizable release with my coworkers at Netlify!&lt;/p&gt;
&lt;p&gt;Netlify enables you to connect a Git repo, supply us your build command, and whenever you push changes to your Git production branch, we’ll automatically build and deploy your site. You can also configure your site to enable automatic deploy previews, deploy notifications, and other fancy automation through webhooks.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/netlify-git-providers.png&quot; alt=&quot;Azure DevOps is available as an option in the UI for connecting a repo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For years now, we’ve supported first-class integrations with Github, Gitlab, and Bitbucket; now teams with repos stored in Azure DevOps can connect to Netlify easily—i.e. without manual setup on the CLI, or spinning up an Azure pipeline.&lt;/p&gt;
&lt;p&gt;If that’s relevant to you, you can learn more at &lt;a href=&quot;https://www.netlify.com/blog/how-to-integrate-azure-devops-with-netlify-cicd/&quot;&gt;“How to Integrate Azure DevOps with Netlify CI/CD”&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;world-snacks&quot;&gt;World Snacks&lt;/h2&gt;
&lt;p&gt;In my personal time, I created a site for my snack reviews.&lt;/p&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://snacks.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-s.png&quot; alt=&quot;The snacks home page with a few items in view. The tagline reads: Eat snacks. Mostly candy. Almost too much.&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;I’m posting my impressions on various snacks from around the world. Really this was a great opportunity for me to &lt;a href=&quot;https://melanie-richards.com/blog/world-snacks/&quot;&gt;play with Contentful as a headless CMS&lt;/a&gt;. &lt;a href=&quot;https://snacks.melanie-richards.com/suggest/&quot;&gt;What should I try next?&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;our-blue-planet&quot;&gt;Our Blue Planet&lt;/h2&gt;
&lt;p&gt;Thanks to the pandemic, I honestly haven’t been to a museum since…2019? While out looking at wedding venues, my fiancé and I saw an advertisement for an exhibit that was closing at the Seattle Art Museum that weekend, and decided on a whim to hike over to the SAM to check it out! &lt;a href=&quot;https://www.seattleartmuseum.org/Pages/our-blue-planet-global-visions-of-water.aspx&quot;&gt;Our Blue Planet&lt;/a&gt; was a meditation on water and how we relate to it as human beings. I appreciated the breadth of perspectives the curators brought to the collection. Some of the indigenous artworks really resonated with me:&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-water-bear-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-water-bear-s.jpg&quot; alt=&quot;A conical wooden piece that has a geometric animal head at the top. It looks mammalian, but there&#39;s a fin sticking out the back of its head.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-yarrinya-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-yarrinya-s.jpg&quot; alt=&quot;Complex patterns etched in black and silver, abstractly emulating the undulating surface of water.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;“&lt;a href=&quot;http://tsa.an/&quot;&gt;Tsa.an&lt;/a&gt; Xuu.ujee Dajangee (Sea Bear Crest hat), ~1870. Red cedar, paint. Artist: the indigenous people of Haida Gwaii. | Closeup of “Yarrinya”, 2021. Found and etched aluminum. Artist: Baruwya Munumgurr, Australian Aboriginal Djapu clan.&lt;/p&gt;
&lt;p&gt;I missed art, I missed museums, I want to come back soon.&lt;/p&gt;
&lt;h2 id=&quot;uvalde&quot;&gt;Uvalde&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Content warning: gun violence, racism&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This shooting really wrenched my heart out of my chest, especially coming so close on the heels of the mass shooting in Buffalo that targeted Black folks for existing. Being an American is often a shameful and scary existence. So many of us are distraught with grief over our fellow human beings. We’re frustrated that we just seem to keep going around the same loops over and over again, with no meaningful action taken on a national level. Something’s gotta give. At the moment I am pondering what I can do, how I can look at my top issues and personal action and try to help break the cycle. That is the other side of being an American: we can be relentlessly optimistic.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Was having a less-than-stellar day and &lt;a href=&quot;https://twitter.com/tesseralis/status/1520988955696504832?s=21&amp;amp;t=vkMUTs6qsZnoCw7rwOnyDA&quot;&gt;this thread of cursed CSS proposals&lt;/a&gt; made me smile&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/freshhel/status/1517580248405053441?s=21&amp;amp;t=0dfeUHK7jmHYS20viDF7mw&quot;&gt;“U can tell when someones really bonded w their water bottle”&lt;/a&gt;. Indeed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;I don’t actually blog too much about the books I’m reading, although I’m always reading quite a bit (I somehow tend to end up in the middle of 5 books at a time). A couple fun things lately though:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I joined &lt;a href=&quot;https://literal.club/melanierichards&quot;&gt;literal.club&lt;/a&gt;! It’s like Goodreads but 1) without all the Amazon data pipelines and 2) with an API, hooray! 🎉 Love to own my own data.&lt;/li&gt;
&lt;li&gt;I’m reading a few books “in real time”.
&lt;ul&gt;
&lt;li&gt;I picked up “The Wood for the Trees” in early May. This meditation on a forest in the U.K. has a chapter per month, starting with April. So, I’m now reading a chapter a month.&lt;/li&gt;
&lt;li&gt;Through a coworker I discovered &lt;a href=&quot;https://draculadaily.substack.com/about&quot;&gt;Dracula Daily&lt;/a&gt;, the best use of email newsletters yet. This newsletter sends you segments of the book as they happen according to the novel’s timelines. So sometimes the updates are daily, and at other times they are more sporadic.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;articles&quot;&gt;Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://brainbaking.com/post/2022/04/cool-things-people-do-with-their-blogs/&quot;&gt;Cool Things People Do With Their Blogs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lettersofnote.com/2013/10/28/make-your-soul-grow/&quot;&gt;Make your soul grow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2022/05/notes-from-a-gopher-site/&quot;&gt;Notes from a gopher:// site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apartmenttherapy.com/what-to-do-on-day-off-36751428?amp=1&quot;&gt;There’s One Key to Not Wasting a Day Off During the Pandemic&lt;/a&gt;: a handy framework if you’re like me and feel overwhelmed with options on how to spend a day off work.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“How to Integrate Azure DevOps with Netlify CI/CD” on Netlify</title>
      <link href="https://www.netlify.com/blog/how-to-integrate-azure-devops-with-netlify-cicd/"/>
      <updated>2022-05-24T00:00:00.000Z</updated>
      <id>https://www.netlify.com/blog/how-to-integrate-azure-devops-with-netlify-cicd/</id>
      <content type="html">
        <p>In addition to GitHub, GitLab, and Bitbucket, Netlify now natively supports Azure DevOps as a Git provider! Now teams can connect new and existing sites on Netlify to an Azure DevOps repo, and take advantage of automatic builds and instantaneously-published deploys.</p>
        <a href="https://www.netlify.com/blog/how-to-integrate-azure-devops-with-netlify-cicd/">Read the article on Netlify</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Building a snack review website with Eleventy and Contentful</title>
      <link href="https://melanie-richards.com/blog/world-snacks/"/>
      <updated>2022-05-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/world-snacks/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Full disclosure: at time of writing, I’m employed by Netlify, and I work there because I’m a fan of the platform.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One thing I’d never quite gotten around to in my Jamstack journey was using a headless CMS for a personal project. I suppose this is because I’m quite content to hang out in a Markdown file. I decided the time was more than nigh to try one out, and so I decided to create a snack review site, using &lt;a href=&quot;https://www.contentful.com/&quot;&gt;Contentful&lt;/a&gt;!&lt;/p&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://snacks.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-s.png&quot; alt=&quot;The snacks home page with a few items in view. The tagline reads: Eat snacks. Mostly candy. Almost too much.&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;World Snacks&lt;/a&gt; is a nice little excuse to try out international treats! All of this started when I was trying to track down a Ramune candy I’d had in Japan, and found &lt;a href=&quot;https://www.japancandystore.com/&quot;&gt;japancandystore.com&lt;/a&gt;. I’ve since found a couple other neat sites, as well as some new-to-me local grocery stores to check out.&lt;/p&gt;
&lt;p&gt;In any case, I grabbed my fave SSG (Eleventy), checked out &lt;a href=&quot;https://www.contentful.com/blog/2020/07/28/integrating-contentful-with-eleventy-create-static-sites/&quot;&gt;this quick Eleventy + Contentful walkthrough&lt;/a&gt;, and got to hacking!&lt;/p&gt;
&lt;h2 id=&quot;content-structure&quot;&gt;Content structure&lt;/h2&gt;
&lt;p&gt;Contentful enables you to create individual entries of particular content types within spaces (&lt;a href=&quot;https://www.contentful.com/developers/docs/concepts/data-model/&quot;&gt;more on the data model&lt;/a&gt;), via a CMS dashboard. Data can then be fetched asynchronously, and rendered in the web project of your choosing.&lt;/p&gt;
&lt;p&gt;On Contentful, I have a few different content types each with their own fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Snacks. These have “reference” fields pointing to relevant Country and Snack Type entries.&lt;/li&gt;
&lt;li&gt;Countries&lt;/li&gt;
&lt;li&gt;Snack Types&lt;/li&gt;
&lt;li&gt;Pages (of which there is just one so far)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;integration-with-eleventy&quot;&gt;Integration with Eleventy&lt;/h2&gt;
&lt;p&gt;For most of the data above, integration with Eleventy goes a little something like this:&lt;/p&gt;
&lt;h3 id=&quot;1.-create-a-global-javascript-data-file&quot;&gt;1. Create a global JavaScript data file&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/melanierichards/world-snacks/blob/main/_data/countries.js&quot;&gt;This data file&lt;/a&gt; initiates the Contentful JavaScript SDK client, supplying it with my Contentful space token and access token. Next, I call &lt;code&gt;getEntries&lt;/code&gt; for whatever content I’m querying at the time. Let’s say it’s Countries. My data file returns an array of Countries and their fields from Contentful.&lt;/p&gt;
&lt;h3 id=&quot;2.-generate-country-pages-via-pagination&quot;&gt;2. Generate country pages via pagination&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/melanierichards/world-snacks/blob/main/country.njk&quot;&gt;In a country.njk file&lt;/a&gt;, I use pagination with a size of 1 to generate a page for each Country.&lt;/p&gt;
&lt;h3 id=&quot;3.-render-the-country-page&quot;&gt;3. Render the country page&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/melanierichards/world-snacks/blob/main/_includes/layouts/country.njk&quot;&gt;A country.njk layout file&lt;/a&gt; then prints data for this Country, e.g. &lt;code&gt;country.countryName&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I also have a &lt;code&gt;for&lt;/code&gt; loop that renders the snacks in this country, using the Snacks data that was similarly pulled from Contentful. I ended up creating an Eleventy filter (&lt;a href=&quot;https://github.com/melanierichards/world-snacks/blob/main/.eleventy.js&quot;&gt;&lt;code&gt;filterByCountry&lt;/code&gt; in my &lt;code&gt;.eleventy.js&lt;/code&gt; file&lt;/a&gt;) in order to filter the full array of Snacks down to only those in the relevant Country. This takes the Country name, then checks the Snack’s Country reference field for a match. It’s technically possible to filter &lt;code&gt;getEntries&lt;/code&gt; calls in a similar fashion, but I couldn’t figure out how to pass the Country name in as a variable to a Snacks data file…which I think makes sense given *handwaves* data lifecycles.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-spain-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-spain-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-spain-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-spain-s.png&quot; alt=&quot;A page titled Spain with a review for spicy gummy mangos&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Anyway, that’s about it! Data is fetched live from Contentful any time the site is built, either locally using my build-and-serve command (&lt;code&gt;npm run start&lt;/code&gt;) or any time a new build is kicked off on Netlify. Which brings me to…&lt;/p&gt;
&lt;h2 id=&quot;building-and-deploy-changes-in-contentful-to-netlify&quot;&gt;Building and deploy changes in Contentful to Netlify&lt;/h2&gt;
&lt;p&gt;When I was first putting together this site, I installed the &lt;a href=&quot;https://www.contentful.com/marketplace/app/netlify/&quot;&gt;Netlify app on Contentful&lt;/a&gt;, which enables you to manually trigger a build from the sidebar of the CMS. Funnily enough, I completely missed—until just now when writing this post—that there are simple auto-publish rules tucked a layer within the app.&lt;/p&gt;
&lt;p&gt;Because I &lt;em&gt;did&lt;/em&gt; want to automatically build and deploy newly published changes, I generated a Netlify &lt;a href=&quot;https://docs.netlify.com/configure-builds/build-hooks/&quot;&gt;build hook&lt;/a&gt; for my site, and registered it as a &lt;a href=&quot;https://www.contentful.com/developers/docs/concepts/webhooks/&quot;&gt;webhook on Contentful&lt;/a&gt;. Any time I (un)publish an entry or asset, a build kicks off on Netlify and grabs the latest data from the Contentful API (per the Eleventy integration I described). There are several other events to choose from as a trigger for webhooks.&lt;/p&gt;
&lt;p&gt;Next I think I’ll filter triggers to particular content types. That way I can automatically deploy whenever I publish changes to a Snack, but not when I create a new Country; that could be empty until I “reference” it via a Snack.&lt;/p&gt;
&lt;p&gt;I think I will keep using webhooks in lieu of auto-publishing with the app, because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There is far more granular control.&lt;/li&gt;
&lt;li&gt;The webhook logs let me view detailed information on when and why the webhook was triggered.&lt;/li&gt;
&lt;/ol&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-hooks-log-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-hooks-log-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-hooks-log-s.png&quot; alt=&quot;A list of times the webhook was fired, with a status code and &#39;view details&#39; link for each&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;In general I would say Contentful’s user experience around webhooks is pretty nice. There’s a fair amount of detailed things you can do with them, but they’ve laid things out in such a way that make it pretty easy for me personally to digest:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-webhooks-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-webhooks-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contentful-webhooks-s.png&quot; alt=&quot;Contentful webhooks settings. There&#39;s a grid of checkboxes for various different combinations of events, a filters section, and a headers section&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;other-impressions-on-contentful&quot;&gt;Other Impressions on Contentful&lt;/h2&gt;
&lt;p&gt;In general, I found Contentful pretty easy to use, both from a CMS interface and headless API perspective. There are a couple minor things that are odd. For example, when viewing the “Snack” content type, the “Add” button is a dropdown, forcing me to take another click to add a new snack:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-add-snack-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-add-snack-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-add-snack-s.png&quot; alt=&quot;The add snack button just brings up a menu of options, from which you have to select add snack again&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;A split button might be more appropriate here.&lt;/p&gt;
&lt;p&gt;The more meaningful gap I noticed is that Contentful doesn’t have a native concept of a “repeater” field. There is &lt;a href=&quot;https://www.contentful.com/marketplace/app/repeater/&quot;&gt;an app for that&lt;/a&gt;, but it’s limited to key-value pairs vs allowing you to repeat an arbitrary set of subfields (as &lt;a href=&quot;https://prismic.io/docs/core-concepts/group&quot;&gt;Prismic’s group field&lt;/a&gt; does). Contentful’s play appears to be towards developer extensibility. Having built quite a few client websites in my day, though, I’d say a repeater field is worth building directly into the platform.&lt;/p&gt;
&lt;h2 id=&quot;more-fun%2C-snacky-things&quot;&gt;More fun, snacky things&lt;/h2&gt;
&lt;p&gt;To close out, I thought I’d share a few favorite details on this site.&lt;/p&gt;
&lt;p&gt;For awhile now, I’ve been supporting both light and dark modes on websites, but always had that follow the user’s system. I finally got around to building in a theme switcher, in case you’d prefer to view this site in a different scheme than your system:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-theme-switcher-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-theme-switcher-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-theme-switcher-s.png&quot; alt=&quot;A theme switcher with system, light, and dark options&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-themes-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-themes-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-themes-s.png&quot; alt=&quot;The snack suggestion form rendered in light (cream, purple, and grey on white) and dark (various shades of dark purples)&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;A coworker says that the dark theme reminds them of black currant candy packaging, which I am delighted by given that black currant is one of the world’s top tier candy flavors (IMHO).&lt;/p&gt;
&lt;p&gt;I also got way too much joy out of my tortilla chip pagination icons:&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-footer-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-footer-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-footer-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-snacks-footer-s.png&quot; alt=&quot;Country pagination that uses a tortilla chip icon for the arrows. A footer with a pattern of geometric cheese puffs.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;And who doesn’t love a cheese puff pattern? I swear my time designing at &lt;a href=&quot;https://fuzzco.com/&quot;&gt;Fuzzco&lt;/a&gt; has made me incapable of designing a subtle footer. There is just too much opportunity for one last burst of fun.&lt;/p&gt;
&lt;h2 id=&quot;check-it-out!&quot;&gt;Check it out!&lt;/h2&gt;
&lt;p&gt;You can peek at the &lt;a href=&quot;https://github.com/melanierichards/world-snacks&quot;&gt;code on Github&lt;/a&gt; or &lt;a href=&quot;https://snacks.melanie-richards.com/&quot;&gt;check out the snacks&lt;/a&gt;. And I will always love to hear from anyone who has &lt;a href=&quot;https://snacks.melanie-richards.com/suggest/&quot;&gt;a snack suggestion&lt;/a&gt;. Happy snacking! 🥨&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2204/"/>
      <updated>2022-05-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2204/</id>
      <content type="html">&lt;p&gt;My main side project lately is a world snacks review site, which I’m using to play around with Contentful as a headless CMS. Much of April was spent doing design-y things, and having far too much fun. Case in point, this cheese doodle footer:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cheese-doodle-footer.png&quot; alt=&quot;A snippet of a footer area, where the background is a bright orange pattern of cheese puffs. The puffs are in C and ball shapes.&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🌿 Off the computer, weeds rule everything around me. Now that we are “furniture complete” in our new-ish house, I’ve turned my attentions to the planters, where the weeds have recently been allowed to thrive with abandon. We had a ton of rain and a bit of sun in April, so it seems each time I look at a weed I haven’t pulled yet, it’s grown taller. Good thing I love weeding…making slow and steady progress.&lt;/li&gt;
&lt;li&gt;🤝 I discovered via an exercise in &lt;a href=&quot;https://bookshop.org/books/refuse-to-choose-use-all-of-your-interests-passions-and-hobbies-to-create-the-life-and-career-of-your-dreams/9781594866265&quot;&gt;“Refuse to Choose”&lt;/a&gt; that community is actually pretty important to me when pursuing an interest. It’s not just about accountability, it’s sharing a purpose (however humble) and feeding into each other’s inspiration. I joke a lot about wanting “parallel play”, but I was still surprised by this revelation. Typically I see myself as an introvert who wants to go off and do her little projects. The trouble now is how to rebuild that community, during a pandemic, when everyone has Zoom fatigue.&lt;/li&gt;
&lt;li&gt;📚 Also in books, I’ve been in a bit of a reading slump this year. Out of the first 18 books I’ve finished (i.e., not including those I abandoned), I thought all but one were “fine” at best. I may take the advice of some co-workers and re-read a “5 star” book as a palette cleanser…or take it as a sign that I’m less into books right now and just need a breather.&lt;/li&gt;
&lt;li&gt;🌷 I am very picky about my lock screen vs home screen needs and made myself a couple wallpapers. You can grab them both (&lt;a href=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flowers-lock-screen.png&quot;&gt;lock screen&lt;/a&gt;, &lt;a href=&quot;https://melanie-richards.com/assets/images/content/melanierichards-flowers-home-screen.png&quot;&gt;home screen&lt;/a&gt;) if you like! The image ratios are optimized for an iPhone 11 Pro.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;u-limit-width l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;img class=&quot;l-grid__item&quot; src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2204-lock-screen.png&quot; alt=&quot;A lock screen with a black solid wallpaper. The wallpaper has three geometric flowers displayed in a column, ranging from a soft pink to a bright red. The first flower looks vaguely daisy-ish, the second like a tulip, the third maybe like a mum.&quot; /&gt;
  &lt;img class=&quot;l-grid__item&quot; src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2204-home-screen.png&quot; alt=&quot;A home screen showing the three geometric flowers at the bottom of the screen this time, arranged in a row such that they avoid being overlapped by any app icons&quot; /&gt;
&lt;/div&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sailorhg.com/home_sweet_homepage/&quot;&gt;Home Sweet Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lovetosewpodcast.com/episodes/episode-201-beadwork-design-with-kat-brown-akootchook/&quot;&gt;Love to Sew podcast: Beadwork &amp;amp; Design with Kat Brown Akootchook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;the-web&quot;&gt;The web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2022/03/22/dining/instagram-algorithm-reels.html&quot;&gt;Food Businesses Lose Faith in Instagram After Algorithm Changes&lt;/a&gt;. Brute-forcing green KPI dashboards to stay relevant: not cute.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://infrequently.org/2022/03/cache-and-prizes/&quot;&gt;Cache and Prizes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/blog/webaim-million-2022/&quot;&gt;The WebAIM Million – 2022 Update&lt;/a&gt;: the results continue to exhaust.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;product&quot;&gt;Product&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melissaperri.com/blog/2016/07/14/what-is-good-product-strategy&quot;&gt;What is Good Product Strategy?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.intercom.com/blog/rice-simple-prioritization-for-product-managers/&quot;&gt;RICE: Simple prioritization for product managers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamnash.blog/2009/07/22/guide-to-product-planning-three-feature-buckets/&quot;&gt;Guide to Product Planning: Three Feature Buckets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gibsonbiddle.medium.com/6-the-glee-model-6af740bdf3b1&quot;&gt;The GLEe Model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.magalifranov.com/blog/6-ideas-to-fill-your-sketchbook&quot;&gt;6 ideas to fill your sketchbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mixedcolor.net/blog/2020/7/10/elemental-creativity-choosing-artforms-as-treatments&quot;&gt;Elemental Creativity: Choosing Artforms as Treatments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thrillist.com/news/nation/manuscript-writing-cafe-helps-writers-finish-work&quot;&gt;This Cafe Won&#39;t Let Writers Leave Until They Hit Their Deadlines&lt;/a&gt;: via one of the buddies in my blog post writing group. A hint, perhaps? 😄&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/figjam-washi-tape/&quot;&gt;Good ideas stick&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Mar 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2203/"/>
      <updated>2022-04-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2203/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cherry-blossoms-close-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cherry-blossoms-close-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cherry-blossoms-close-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-cherry-blossoms-close-s.jpg&quot; alt=&quot;A close-up of light pink cherry blossoms hanging low from a tree.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Sometimes (often) when I sit down to write these monthly logs, I am at a loss for how another entire month has passed by. What the heck did I actually do with the time? Side-stepping the inevitable existentialist freakout, a few things come to mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In order to play more with headless CMSes, I’m working on a world snacks review site. It combines data from &lt;a href=&quot;https://www.contentful.com/&quot;&gt;Contentful&lt;/a&gt; with my all-time fave SSG &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;. I am having the most fun time pulling in snackies and manipulating the data—and of course, consuming candy. For research purposes.&lt;/li&gt;
&lt;li&gt;One of the things I’ve been enjoying as a product manager at Netlify is the opportunity to don my design hat again on various little projects. I think it’s possible to wear multiple hats at any size company, if that’s enjoyable to you and beneficial to the team’s success. But I appreciate the product design team that I work with, who have made it particularly welcoming to jump in and join the party.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://help.figma.com/hc/en-us/articles/360039238353-View-and-explore-library-analytics&quot;&gt;Figma library analytics&lt;/a&gt; are very cool and helped me track down an example of a component being used in situ. The Eye of Sauron sees all [instance detachments].&lt;/li&gt;
&lt;li&gt;I got a new Macbook for the first time since 2014, and had to spend a bit of time fixing a bunch of old Sass packages that imploded on various and sundry side projects when I cloned them to this device.&lt;/li&gt;
&lt;li&gt;I have been slowly, imperfectly re-establishing my running practice that fell off at the beginning of the pandemic.&lt;/li&gt;
&lt;li&gt;Now that it’s light after work somewhat, my fiancé and I have been talking nice early-evening walks together. Seattle at this time of year is heartbreakingly gorgeous, thanks to all the cherry blossoms in bloom. 🌸&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://mobile.twitter.com/PayGapApp&quot;&gt;Gender Pay Gap Bot&lt;/a&gt; retweeted companies posting about International Women’s Day, along with pay gap data, leading to a lot of corporations with egg on their faces. I recall seeing one company with equal pay.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/helveticablanc/status/1503840709970841600&quot;&gt;This beautiful, ethereal illustration&lt;/a&gt;. Don’t know what it is, but I like it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2022/03/08/tiny-programs/&quot;&gt;Some tiny personal programs I&#39;ve written&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.producttalk.org/2022/03/selecting-customers-for-customer-interviews/&quot;&gt;Ask Teresa: How Do You Select Customers for Customer Interviews?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marisamorby.com/output-vs-outcome/&quot;&gt;Output vs. Outcome&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>First Impressions of Forced Colors Emulation</title>
      <link href="https://melanie-richards.com/blog/forced-colors-emulation/"/>
      <updated>2022-03-14T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/forced-colors-emulation/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Note: this post assumes familiarity with forced colors modes styling and Windows High Contrast, now called “Contrast Themes” in Windows 11. Refer to &lt;a href=&quot;https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/&quot;&gt;“Styling for Windows high contrast with new standards for forced colors”&lt;/a&gt; for a primer.&lt;/em&gt;&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Brief summary of forced colors modes&lt;/summary&gt;
  &lt;p&gt;Forced colors modes enable a person to view digital content rendered in exactly the color scheme of their choosing. Browsers that support forced colors modes render all web content in the user’s colors, taking HTML semantics into account in order to apply the right semantic colors. Web developers don’t need to do anything for colors to be forcibly applied, but can optimize their web content for best styling in this mode.&lt;/p&gt;
&lt;/details&gt;
&lt;p&gt;Recently I was delighted to learn that &lt;a href=&quot;https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/whats-new/2022/02/devtools#emulate-forced-colors-mode&quot;&gt;forced colors emulation&lt;/a&gt; is available in the Chromium DevTools, as of Microsoft Edge v98! 🥳 I’d been eagerly anticipating this moment for quite some time: when we were first working on forced colors in Chromium, the Microsoft Edge web platform and DevTools teams were excited about the prospects of bringing emulation to developers on any OS platform. No longer would you need a PC or test tooling like &lt;a href=&quot;https://assistivlabs.com/&quot;&gt;Assistiv Labs&lt;/a&gt; in order to understand what your web content might look like in Windows High Contrast (“Contrast Themes” on Windows 11). Developers on Windows also wouldn’t need to force their entire system into a contrast theme in order to test their content. And now: emulation is &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/forced-colors-emulation/#on-patience-note&quot; id=&quot;on-patience-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;finally here!&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;playing-with-the-new-feature&quot;&gt;Playing with the new feature&lt;/h2&gt;
&lt;p&gt;I now work at Netlify, and learned that forced colors emulation was available right before an internal hack day. That posed the perfect opportunity to audit our components for forced colors mode optimization, and try the new emulation feature. Several colleagues joined the project, to my delight and the project’s benefit; all of them have Macbooks and were game to test drive the new emulation tooling.&lt;/p&gt;
&lt;p&gt;After a quick demo of how Contrast Themes actually looks and feels on a Windows machine, we set to work auditing components using the Chromium DevTools. To use forced colors emulation, you would navigate to the “Rendering” tab in DevTools &amp;gt; “Emulate CSS media feature forced-colors” &amp;gt; Select “forced-colors: active”.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-emulation-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-emulation-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-emulation-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-emulation-s.png&quot; alt=&quot;The DevTools pulled up on a Netlify page, showing the Rendering tab and the Emulate forced colors setting&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The page will now behave as if this media query evaluates as true. If you’re in light mode, a forced light theme will be applied. Change over to dark mode, and you’ll get a white-on-black theme:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-hc-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-hc-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-hc-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-hc-s.png&quot; alt=&quot;The Netlify page rendered in both a high contrast black-on-white theme, and a black-on-white theme&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;These themes basically follow a user agent default stylesheet. If you pull up &lt;a href=&quot;https://www.w3.org/TR/css-color-4/#css-system-colors&quot;&gt;System Colors&lt;/a&gt; in the CSS Color Level 4 spec and enable forced colors emulation, you’ll get a palette of system color swatches:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-spec-palette-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-spec-palette-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-spec-palette-s.png&quot; alt=&quot;A list of system colors in the CSS spec, with swatches next to each. There is a lot of white, black, and blue.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Note that the array of colors actually used by Contrast Themes on Windows is smaller than the list above:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contrast-theme-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contrast-theme-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-contrast-theme-s.png&quot; alt=&quot;A Windows Contrast Theme showing swatches only for background, text, hyperlink, inactive text, selected text, buttons&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Here’s an example of that theme being applied to my operating system and browser on Windows:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-os-night-sky-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-os-night-sky-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-os-night-sky-s.png&quot; alt=&quot;My entire OS, including browser with web content, rendered in a white on black contrast theme with blue, purple, and yellow accents&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Developers and designers should limit themselves to the following list for now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CanvasText&lt;/code&gt; and &lt;code&gt;Canvas&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LinkText&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ButtonText&lt;/code&gt; and &lt;code&gt;ButtonFace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HighlightText&lt;/code&gt; and &lt;code&gt;Highlight&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GrayText&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;moar-themes%2C-please!&quot;&gt;Moar themes, please!&lt;/h2&gt;
&lt;p&gt;I am ecstatic that forced colors emulation is available to all today, and I would say the main limitation is precisely that a default user agent stylesheet is applied, for a few reasons:&lt;/p&gt;
&lt;h3 id=&quot;doesn%E2%80%99t-give-an-accurate-sense-of-what-a-user-will-experience&quot;&gt;Doesn’t give an accurate sense of what a user will experience&lt;/h3&gt;
&lt;p&gt;The beauty of the Contrast Themes feature on Windows is that it enables the user to select whatever theme they wish. Forced colors are very useful for low vision individuals, and many people do use the out-of-the-box contrast themes. However, users can create any combination of colors, and may define a color scheme that has &lt;em&gt;lower&lt;/em&gt; contrast than is typical for web content.&lt;/p&gt;
&lt;p&gt;That said, I doubt—without backing data—that there are many if any users experiencing the web in a color palette like the user agent stylesheet. Certainly there are folks using black-on-white themes, but there will be differences in some of the other semantic colors, such as highlights, buttons, and disabled text.&lt;/p&gt;
&lt;p&gt;This means that the color scheme you experience through emulation won’t look much like what a person using forced colors mode experiences day-to-day. It does, however, force (heh) you as the developer/designer to think about how you might design for this mode in a maximally constrained palette, because so many of the semantic colors end up rendering the same.&lt;/p&gt;
&lt;h3 id=&quot;hard-to-see-some-details&quot;&gt;Hard to see some details&lt;/h3&gt;
&lt;p&gt;Which one of these fields is focused?&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fields-hc.png&quot; alt=&quot;Two form fields with very slightly different border colors, and no other styling differences. The text values read &#39;I am the humble text input&#39; and &#39;Me too, me. too.&#39;&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;It’s hard to tell, because the color palette uses a dark purple for the highlight color, which is hard to discern from the black border at rest (the colors for both these states have been automatically applied by the browser rendering engine). Having these colors configured so closely in a forced colors palette is unusual, though again: it does force you to consider whether something other than color should be used to disambiguate state. Ensuring that focus &lt;code&gt;outline&lt;/code&gt;s are preserved would help.&lt;/p&gt;
&lt;h3 id=&quot;ambiguity-on-used-color&quot;&gt;Ambiguity on used color&lt;/h3&gt;
&lt;p&gt;SVG elements &lt;a href=&quot;https://drafts.csswg.org/css-color-adjust/#forced-color-adjust-prop&quot;&gt;retain their original colors in forced colors modes&lt;/a&gt;, because these can be complex illustrations or documents where such color is important to meaning or entertainment.&lt;/p&gt;
&lt;p&gt;In a simple black-on-white theme, you might think that a (non-clickable) SVG icon is rendering with a black fill because it’s picking up the user’s &lt;code&gt;CanvasText&lt;/code&gt; color correctly. It is actually rendering in its original &lt;code&gt;fill&lt;/code&gt; color. This may cause legibility problems for your visitors with themes that do not use black text, particularly in dark forced colors themes.&lt;/p&gt;
&lt;p&gt;For this reason, I recommend even when testing with the full Contrast Themes feature on a PC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Test with both light and dark forced colors themes&lt;/li&gt;
&lt;li&gt;Test using a custom scheme with “funky” colors. Never use purple and fuschia in your web content? Put ‘em in a test theme in Contrast Themes. Any issues will be glaringly obvious.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To work around this with emulation, you could add some funky colors to a test stylesheet or inline in the DevTools.&lt;/p&gt;
&lt;h3 id=&quot;a-proposed-resolution&quot;&gt;A proposed resolution&lt;/h3&gt;
&lt;p&gt;The DevTools probably don’t need to go so far as to support completely custom forced color schemes, but it would be nice to have a small selection of themes to help you cover light and dark forced colors, including colors that are less likely to be used in most web content.&lt;/p&gt;
&lt;p&gt;Based on &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/forced-colors-emulation/#browser-architecture-note&quot; id=&quot;browser-architecture-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;browser architectures&lt;/a&gt; at play here, the way this was implemented—plumbing in light/dark user agent default stylesheets—makes sense as a first pass. DevTools processes currently have to communicate only that the document should be rendered in a forced colors mode. The renderer process can go ahead and apply forced colors accordingly, using the user agent stylesheet in the absence of a user color scheme detected on the system level.&lt;/p&gt;
&lt;p&gt;With theme switching, the DevTools would likely need to communicate a key for the theme that should be used; some logic would need to be added to the rendering engine to draw from a third source of forced colors (these being additional user agent stylesheets that would also need to be stored).&lt;/p&gt;
&lt;h2 id=&quot;in-conclusion&quot;&gt;In conclusion&lt;/h2&gt;
&lt;p&gt;There is still some work left to do before forced colors emulation is &lt;em&gt;great&lt;/em&gt;, but the addition of this feature is good news. Developers on non-Windows OS platforms can finally play around with optimizing their web content for forced colors modes, without the use of VPNs or test machines. You may still want to use testing tools like &lt;a href=&quot;https://assistivlabs.com/&quot;&gt;Assistiv Labs&lt;/a&gt; to dive deeper into forced colors, but so long as you are aware of the above caveats, DevTools emulation is a great place to start. Thank you to all who contributed on this feature, and making accessibility testing more available to all through emulation!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;on-patience-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;It should be stated that in the iterim, the MS Edge DevTools team—with the Chromium community—continuously invested in improving the accessibility of the DevTools themselves. A worthy priority. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/forced-colors-emulation/#on-patience-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;li id=&quot;browser-architecture-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Apologies to previous colleagues for any over-simplifications or misrememberings of browser architecture here! &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/forced-colors-emulation/#browser-architecture-ref&quot; aria-label=&quot;Back to reference 2&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Feb 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2202/"/>
      <updated>2022-03-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2202/</id>
      <content type="html">&lt;p&gt;The most important and devastating thing to come out of February is Russia’s attack on Ukraine. It is so incredibly frustrating and heartbreaking that people are dying, over one egomaniacal man’s ideas of what his legacy should be. I wish that all people could be safe and happy and free from their oppressors, and am thinking of the Ukrainian people and their loved ones over these past couple weeks.&lt;/p&gt;
&lt;p&gt;If you’re feeling powerless and want to help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Netlify (my employer) is &lt;a href=&quot;https://www.netlify.com/donation-matching/&quot;&gt;doing donation matching&lt;/a&gt; to a few 501(c)(3) orgs helping Ukraine&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://how-to-help-ukraine-now.super.site/&quot;&gt;Real ways you can help Ukraine as a foreigner&lt;/a&gt; is a crowdsourced list of resources, contextualized for wherever you are&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://standwithukraine.live/peace-protests/&quot;&gt;Find a peace protest in your city&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;things-of-lesser-consequence&quot;&gt;Things of lesser consequence&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I got engaged! 🥰&lt;/li&gt;
&lt;li&gt;I realized early on in the month that I have a touch of “community” fatigue: I belong to many communities related to my hobbies facets of my identity—multiple Slacks, multiple Discords, multiple subreddits, Instagram, and Twitter—and it’s getting to feel like too much. Time to prune. ✂️&lt;/li&gt;
&lt;li&gt;The “many communities” thing is also somewhat a symptom of being a magpie for identities: I have been a designer / front-end developer ⇒ a web platform person embedded in accessibility, privacy, and HTML ⇒ a product manager on middleware developer tooling/platforms; I weave, and knit, and sew; I want to draw more again...sometimes I feel the need to let go of an old identity in order to make room for future growth. That said, 1) it’s helpful to keep that context, being a PM focused on the needs of web makers and 2) I don’t wanna.&lt;/li&gt;
&lt;li&gt;I joined &lt;a href=&quot;https://mobile.twitter.com/i/spaces/1YpKkZpZrRjxj&quot;&gt;a Twitter “Space”&lt;/a&gt; where folks were talking about side projects and I love something Charlie Gerard said. Her new side projects are initiated by a question she poses to herself; she knows when it’s time to stop when she’s answered the question she started with.&lt;/li&gt;
&lt;li&gt;Episode 351 of Creative Pep Talk (&lt;a href=&quot;https://overcast.fm/+E_xDfNQTc&quot;&gt;Afraid You’ll Never Catch Up? Give Up Trying and Do This Instead&lt;/a&gt;) is also relevant. Andy suggests doing project-based learning: observe others’ work that &lt;em&gt;you&lt;/em&gt; like and wish you were making; identify the next most specific skill you want to learn (i.e. what &lt;em&gt;exactly&lt;/em&gt; does that person do well?); and bake that into your next project. For product management it can be a little harder to do that observational bit, but the general strategy still applies.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.instagram.com/sculpttheworld&quot;&gt;Sculpt the World&lt;/a&gt;: I’m a sucker for land art&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.baldurbjarnason.com/2022/i-cant-keep-up-with-web-dev/&quot;&gt;How to keep up with web development without falling into despair&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zachleat.com/web/trailing-slash/&quot;&gt;Trailing Slashes on URLs: Contentious or Settled?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2022/02/13/opinion/culture/pandemic-languishing-behavioral-activation.html&quot;&gt;You’ve Done Self Care. You’ve Languished. Now Try This.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rnz.co.nz/news/on-the-inside/462163/altruism-in-birds-magpies-have-outwitted-scientists-by-helping-each-other-remove-tracking-devices&quot;&gt;Altruism in birds? Magpies have outwitted scientists by helping each other remove tracking devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2022</title>
      <link href="https://melanie-richards.com/blog/learning-log-2201/"/>
      <updated>2022-02-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2201/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshelf-2022-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshelf-2022-s.jpg&quot; alt=&quot;Industrial-style bookcase with five wood shelves and iron piping on the sides. It’s chock full of books of various genres (some sections rainbow ordered), a large Sonos device, and with a couple knickknacks in front of the books.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Late in January we moved into our new/first house! It’s been a whirlwind of a month between all the packing and unpacking and life administrative tasks, as well as getting things off the ground for this quarter at work. I am looking forward to soon relaxing in a completely unpacked home.&lt;/p&gt;
&lt;h2 id=&quot;improving-my-figma-chops&quot;&gt;Improving my Figma chops&lt;/h2&gt;
&lt;p&gt;When I was a designer/developer full-time, I was making websites in Illustrator. I’ve played around with Figma on personal projects or on small things for work, but really hadn’t gotten the opportunity to embrace the design-at-scale, team-centric features that are really the force multipliers behind the product.&lt;/p&gt;
&lt;p&gt;In the past week or so, I’ve made much more of a concerted effort to actually learn Figma. A random collection of thoughts on this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I usually learn by doing. If I &lt;em&gt;am&lt;/em&gt; following a tutorial, I like to read docs or a blog post, rather than watch a video. I’m realizing that 1) learning UI is &lt;em&gt;the&lt;/em&gt; place where video walkthroughs are WAY more helpful to me, and 2) Figma is one of those products where I will absolutely miss or take a long time to discover time-saving features if I just mess around with things as I go. For example:
&lt;ul&gt;
&lt;li&gt;I feel like a buffoon for not realizing there’s a keyboard shortcut to zoom to a selection (&lt;code&gt;SHIFT&lt;/code&gt; + &lt;code&gt;2&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;I wouldn’t have necessarily discovered particular Smart Selection features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I have &lt;em&gt;clearly&lt;/em&gt; been under-utilizing Constraints.&lt;/li&gt;
&lt;li&gt;I learned so much about libraries, styles, components, and variants in the past week. Shout out to my colleague &lt;a href=&quot;https://kuka.design/&quot;&gt;Kristy Marcinova&lt;/a&gt; for some 🔥 tips on this, and also for letting me know you &lt;em&gt;can&lt;/em&gt; have more than one prototype “flow” per Page.&lt;/li&gt;
&lt;li&gt;Despite some initial learning curves, Figma would’ve saved me &lt;em&gt;so&lt;/em&gt; much time when I was a designer. Web designers today—who have access to Figma to do their work—are very fortunate.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Seeing other peoples’ &lt;a href=&quot;https://mobile.twitter.com/williamapan/status/1477476556025077761&quot;&gt;Genuary submissions&lt;/a&gt; made me wish afresh that I had dabbled in generative art.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://neal.fun/lets-settle-this/&quot;&gt;Let’s Settle This&lt;/a&gt;: vote on the internet’s age-old debates.&lt;/li&gt;
&lt;li&gt;Deeply enamored with the type on &lt;a href=&quot;https://ryanbugden.com/Strawberry-Western&quot;&gt;this brand for Strawberry Western&lt;/a&gt;, by Ryan Bugden.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jigsawpuzzles.io/&quot;&gt;Play jigsaw puzzles online!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.design/writing/where-do-you-put-spacing-on-design-system-components/&quot;&gt;Where do you put spacing on design system components?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://katydecorah.com/code/build-your-metadata-library/&quot;&gt;Build your metadata library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scottohara.me//blog/2022/01/20/divisive.html&quot;&gt;Div divisiveness&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mxb.dev/blog/make-free-stuff/&quot;&gt;Make Free Stuff&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/environment/2021/nov/18/ten-ways-confront-climate-crisis-without-losing-hope-rebecca-solnit-reconstruction-after-covid&quot;&gt;Ten ways to confront the climate crisis without losing hope&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://projects.seattletimes.com/2021/seattle-kraken-ice-hockey-basics-101/&quot;&gt;A Kraken fan’s visual guide to hockey and the NHL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Dec 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2112/"/>
      <updated>2021-12-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2112/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-homebuyers-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-homebuyers-s.jpg&quot; alt=&quot;My boyfriend and I holding up keys in front of a cream-colored farm-style house with black and white trim. There is heavy snow on the roof and small lawn in front of the house.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The biggest development this month: my significant other and I bought a house! 🏡 We’ve been working on this the past couple months and closed juuuust before the end of the year. Being a part of the millennial generation, becoming a homeowner did not seem assured, especially in a market as bonkers as Seattle. We got incredibly lucky in our search and we’re so excited to (continue to) build a life together in our new home. Friends, please come visit when public health allows! &lt;em&gt;(Aside: should you find yourself in the market around Seattle, we can recommend an agent and lender who were really chill but helpful partners to have as first-time homebuyers.)&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;future-facing-fridays&quot;&gt;Future-Facing Fridays&lt;/h2&gt;
&lt;p&gt;Workwise, I just reached my 90-day milestone at Netlify before the holiday break. It’s been super fun being in sponge mode, strategizing about how we can continue to improve the developer workflow in the coming months.&lt;/p&gt;
&lt;p&gt;Something I’ve been considering as more projects move into execution mode is how to keep a healthy balance with high-level strategic work. I don’t know that I’ve met an [individual contributor] product/program manager who feels they have enough time to focus on strategy. Ironic and inadvisable, given that setting a well-informed strategy is core to the PM role.&lt;/p&gt;
&lt;p&gt;IMHO, the root cause of PMs over-indexing on execution lies in unrealistic expectations as to how many investments can meaningfully progress simultaneously—at least at a high bar of quality. As I’m still fairly new to the company, now is the perfect time to set an intentional rhythm of execution.&lt;/p&gt;
&lt;p&gt;In addition to not spreading myself too thin, I’ve decided in the new year I’d like to try out what I’m calling “Future-Facing Fridays”. I’ll make sure to carve out time on Fridays to feed the team’s future work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conducting or planning customer and market research&lt;/li&gt;
&lt;li&gt;Reviewing customer feedback/bugs and seeking out thematic opportunities&lt;/li&gt;
&lt;li&gt;Doing some early thinking about higher-level strategy or the next period’s roadmap&lt;/li&gt;
&lt;li&gt;Laying the groundwork for the next known iron in the fire&lt;/li&gt;
&lt;li&gt;Etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Will see how this goes! I always seem to be tinkering with how to make myself more productive and the outcome of my work more effective.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/samdylanfinch/status/1468126373361291264&quot;&gt;This Twitter thread on so-called self improvement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://messwithdns.net/&quot;&gt;Mess with DNS&lt;/a&gt;: a playground for learning DNS!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/nyeusi_waasi/status/1473668312101961736&quot;&gt;Bolivian architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/EllaMcHawk/status/1476135833103175686&quot;&gt;Some highly stylized cookies&lt;/a&gt;. People are amazing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tink.uk/thoughts-on-skin-tone-and-text-descriptions/&quot;&gt;Thoughts on skin tone and text descriptions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2021/12/sustaining-maintaining/&quot;&gt;Sustaining Maintaining&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-web&quot;&gt;The web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://iconmap.io/blog#speed-file-size--resolution&quot;&gt;We Analyzed 425,909 Favicons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://li.substack.com/p/building-the-middle-class-of-the&quot;&gt;Building the Middle Class of the Creator Economy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.insidehook.com/article/art/jane-rosenberg-americas-courtroom-sketch-artist&quot;&gt;How Jane Rosenberg Became America’s Most Celebrated Courtroom Sketch Artist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/ideas/archive/2021/12/how-care-less-about-work/620902/&quot;&gt;How to Care Less About Work&lt;/a&gt;: great article on embracing hobbies for no reason other than joy.&lt;/li&gt;
&lt;li&gt;Fascinating point from &lt;a href=&quot;https://www.data-to-viz.com/caveat/spider.html&quot;&gt;this article on the dangers of spider charts&lt;/a&gt;: just ordering the categories differently on a spider chart can have meaningful impact on the visual shape of the data, and thus human perception of said data.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tofugu.com/japanese/kosoado/&quot;&gt;How to Use &lt;span lang=&quot;ja&quot;&gt;こそあど&lt;/span&gt; Words to Refer to Things You Can’t See&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2021 in Review</title>
      <link href="https://melanie-richards.com/blog/2021-review/"/>
      <updated>2021-12-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2021-review/</id>
      <content type="html">&lt;div class=&quot;l-grid l-grid--media l-grid--thirds&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rahul-clive-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-rahul-clive-s.jpg&quot; alt=&quot;A man in a puffy coat grins while placing his hands on the proverbial shoulders of a goofy-looking snowman&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ivy-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ivy-s.jpg&quot; alt=&quot;The whole frame is full of deep green ivy, upon which are sprinkled pale pink petals&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-anenomes-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-anenomes-s.jpg&quot; alt=&quot;The sand of a beach at a high tide. The waves have made impressions in the sand, and there are lots of little circular spots where anenomes are buried in the sand.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;Rahul proudly shows off his snow-son / Cherry blossom petals on ivy in the neighborhood / Anenomes on the beach at Discovery Park&lt;/p&gt;
&lt;p&gt;Well, Year 2 of the pandemic is in the books. Despite the heaviness of the past year—and the intermittent moments at which I process anew everything we’ve been collectively going through—I’ve been feeling overwhelmed with gratitude as of late. Work is interesting and fulfilling; I am surrounded, near and far, by people I love; and I am currently working on an exciting personal life milestone. I feel somewhat sheepish about expressing gratitude in public, given that good and ill fortune visit us unevenly and at different times. That said, I figure sharing positivity and passing along some of that good fortune in more tangible ways can’t hurt at times like these.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I wrapped up my time on the Microsoft Edge web platform, where I’ve spent the better part of 7 years contributing to the web’s evolution as an even-more-capable platform. Some of the last projects I collaborated on are &lt;a href=&quot;https://blogs.windows.com/msedgedev/2021/06/01/available-for-preview-automatic-https-helps-keep-your-browsing-more-secure/&quot;&gt;Automatic HTTPS&lt;/a&gt;, and more customizable HTML controls; I still participate in those discussions in &lt;a href=&quot;https://open-ui.org/&quot;&gt;Open UI&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In September I started a new role at &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt;, again in product management. The Netlify platform was a revelation to me in my own personal web development practice, so it’s really exciting to be able to contribute back to that ecosystem.&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2021-projects-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2021-projects-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2021-projects-s.png&quot; alt=&quot;A collage of screenshots from my fiber blog, seasons site, and drawing a generator&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I shipped a couple small side projects in 2021:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;Fiber blog&lt;/a&gt;, which I update with my sewing, knitting, and weaving projects as I complete them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;SEA — Seasons&lt;/a&gt;, which is all about living more seasonally and is optimized to the Seattle area.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;What to Draw&lt;/a&gt;, continuing my need to pursue more analog creative hobbies.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--thirds&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-front-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-front-s.jpg&quot; alt=&quot;The front of a lime green kayak in a narrow pass of water. Wind is picking up small waves.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bainbridge-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bainbridge-s.jpg&quot; alt=&quot;Big logs of driftwood on an empty beach. There are plenty of clouds in a sunny sky, and evergreens off in the distant.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ikea-pegboard-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ikea-pegboard-s.jpg&quot; alt=&quot;A white pegboard hung above a desk. On the pegboard are hooks bearing scissors and rotary cutters; jars of pencils, pens, and brushes; and a couple shelves holding little figurines and a Pomodoro clock.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;Kayaking on the Fremont cut / A beach on Bainbridge Island / Finally got the pegboard up&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I wrote &lt;a href=&quot;https://www.notion.so/blog-0649715ded4c4ebd9b0a082f846069be&quot;&gt;20 blog posts&lt;/a&gt;, including my monthly Learning Logs. &lt;a href=&quot;https://melanie-richards.com/blog/currentcolor-svg-hcm/&quot;&gt;“CurrentColor SVG in forced colors modes”&lt;/a&gt; seems to be my most-read 2021 blog post, and &lt;a href=&quot;https://melanie-richards.com/blog/css-grid-sticky/&quot;&gt;“Sticky CSS Grid Items”&lt;/a&gt; is still going strong.&lt;/li&gt;
&lt;li&gt;Baby’s first podcast episode: I went on &lt;a href=&quot;https://www.smashingmagazine.com/2021/02/smashing-podcast-episode-35/&quot;&gt;Smashing Podcast&lt;/a&gt; with Steph Stimac to talk about customizable form controls. Thanks again for having us, Drew.&lt;/li&gt;
&lt;li&gt;I spoke about web platform accessibility at An Event Apart’s &lt;a href=&quot;https://aneventapart.com/event/spring-summit-2021&quot;&gt;Spring Summit&lt;/a&gt; and &lt;a href=&quot;https://aneventapart.com/event/fall-summit-2021&quot;&gt;Fall Summit&lt;/a&gt;. This was my first time speaking with AEA, and unsurprisingly this crew runs great events. Everything went smoothly for me as a speaker, and AEA draws out a great audience: I loved observing the chat while my talk was live, seeing attendees sharing knowledge and encouraging each other to keep going with web accessibility!&lt;/li&gt;
&lt;li&gt;Outside of work and the web, I’m most grateful for having gotten to see my family again. I live in the opposite corner of the country from them, and visited them for the first time in a year and a half in June: when we were vaccinated, people were spending more time outside, and things were starting to look a little more hopeful. Of course, we are now 6 months wiser on that front, but being able to see my niece for her 2nd birthday and have everyone stay healthy was priceless.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;media&quot;&gt;Media&lt;/h2&gt;
&lt;h3 id=&quot;books&quot;&gt;Books&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.goodreads.com/review/list/2236850?shelf=2021&quot;&gt;I read 74 books this year!&lt;/a&gt; That’s a new personal high, which is funny considering I &lt;a href=&quot;https://www.goodreads.com/user_challenges/25447102&quot;&gt;set my Goodreads Reading Goal&lt;/a&gt; to &lt;code&gt;1&lt;/code&gt; this year. Over the past year I’ve been working on reducing my “own but unread” piles, AND have really taken advantage of the physical library branches opening back up again. So many stacks of books merrily piled on the checkout plate.&lt;/p&gt;
&lt;p&gt;Here’s &lt;a href=&quot;https://bookshop.org/lists/2021-favorite-books-d5a6bf98-8d20-486d-a9ba-cc9973c095d3&quot;&gt;a few favorite books&lt;/a&gt; I read this year (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/2021-review/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781631494512&quot;&gt;American Fire&lt;/a&gt;&lt;/em&gt; by Monica Hesse&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781571313560&quot;&gt;Braiding Sweetgrass&lt;/a&gt;&lt;/em&gt; by Robin Wall Kimmerer&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250177964&quot;&gt;Check, Please!&lt;/a&gt;&lt;/em&gt; by Ngozi Ukazu&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062379276&quot;&gt;The Cooking Gene&lt;/a&gt;&lt;/em&gt; by Michael W. Twitty&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/books/djinn-patrol-on-the-purple-line/9780593129289&quot;&gt;Djinn Patrol on the Purple Line&lt;/a&gt;&lt;/em&gt; by Deepa Anappara&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780374159122&quot;&gt;Four Thousand Weeks&lt;/a&gt;&lt;/em&gt; by Oliver Burkeman&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250767769&quot;&gt;The Library of the Dead&lt;/a&gt;&lt;/em&gt; by T. L. Huchu: there are some world-building elements I would’ve liked to see developed more, but the story was quite unique&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781626251137&quot;&gt;Rewire Your Anxious Brain&lt;/a&gt;&lt;/em&gt; by Catherine M. Pittman, Elizabeth M. Karle&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250027436&quot;&gt;Shadow and Bone&lt;/a&gt;&lt;/em&gt; by Leigh Bardugo: I don’t think I’ve seen another fictional world based on Russia before.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781984880987&quot;&gt;The Thursday Murder Club&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781984880994&quot;&gt;The Man Who Died Twice&lt;/a&gt;&lt;/em&gt; by Richard Osman&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062968944&quot;&gt;Winter Counts&lt;/a&gt;&lt;/em&gt; by David Heska Wanbli Weiden&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;movies&quot;&gt;Movies&lt;/h3&gt;
&lt;p&gt;I watched &lt;a href=&quot;https://letterboxd.com/somelaniesaid/films/diary/for/2021/&quot;&gt;29 movies&lt;/a&gt; this year, but don’t remember a whole ton about them. I seem to have most appreciated &lt;a href=&quot;https://letterboxd.com/film/his-house/&quot;&gt;His House&lt;/a&gt;, &lt;a href=&quot;https://letterboxd.com/film/i-care-a-lot/&quot;&gt;I Care a Lot&lt;/a&gt;, and &lt;a href=&quot;https://letterboxd.com/film/promising-young-woman/&quot;&gt;Promising Young Woman&lt;/a&gt;. Definitely recommend checking trigger warnings on these, by the way.&lt;/p&gt;
&lt;h3 id=&quot;music&quot;&gt;Music&lt;/h3&gt;
&lt;p&gt;This summer I switched from Spotify to Tidal due to better outcomes (💰) for artists. &lt;a href=&quot;https://listen.tidal.com/playlist/1a990b14-306c-420a-a959-7afa2ecc4da4&quot;&gt;2021 — Tracks&lt;/a&gt; is a compilation of the songs I particularly liked or listened to on repeat this year:&lt;/p&gt;
&lt;div style=&quot;margin: 2rem auto;&quot; class=&quot;u-limit-width&quot;&gt;
  &lt;div style=&quot;position: relative; padding-bottom: 100%; height: 0; overflow: hidden; max-width: 100%;&quot;&gt;&lt;iframe src=&quot;https://embed.tidal.com/playlists/1a990b14-306c-420a-a959-7afa2ecc4da4&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot; style=&quot;position: absolute; top: 0; left: 0; width: 100%; height: 1px; min-height: 100%; margin: 0 auto;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Definitely continuing on my “ladies of boygenius” kick. A couple albums that got a lot of airtime include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://listen.tidal.com/album/175149281&quot;&gt;Jubilee&lt;/a&gt;&lt;/em&gt; by Japanese Breakfast&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://listen.tidal.com/album/114041416&quot;&gt;Immunity&lt;/a&gt;&lt;/em&gt; by Clairo (thank you, &lt;em&gt;Mare of Easttown)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://tidal.com/browse/album/173654268&quot;&gt;Little Oblivions&lt;/a&gt;&lt;/em&gt; by Julien Baker&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://listen.tidal.com/album/135629244&quot;&gt;Punisher&lt;/a&gt;&lt;/em&gt; by Phoebe Bridgers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;podcasts&quot;&gt;Podcasts&lt;/h3&gt;
&lt;p&gt;I wish I listened to more music, because I end up spending a lot of podcasts! Particularly when doing chores. A couple I listened to a lot this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.currentlyreadingpodcast.com/&quot;&gt;Currently Reading&lt;/a&gt;, my laundry-folding soundtrack&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lovetosewpodcast.com/&quot;&gt;Love to Sew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maximumfun.org/podcasts/reading-glasses/&quot;&gt;Reading Glasses&lt;/a&gt;, for hardcore cleaning&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookriot.com/listen/shows/readordead/&quot;&gt;Read or Dead&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yes…there’s a theme here…&lt;/p&gt;
&lt;h2 id=&quot;2022&quot;&gt;2022&lt;/h2&gt;
&lt;p&gt;No Resolutions for the next year, but in the next couple of months I want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Continue learning at work, helping to keep web teams productive on the Jamstack.&lt;/li&gt;
&lt;li&gt;Work my way back towards a pre-pandemic level of fitness. 😬&lt;/li&gt;
&lt;li&gt;Keep finding joy in my analog creative hobbies and cross &lt;a href=&quot;https://fiber.melanie-richards.com/making-plans-fw-2021/&quot;&gt;some of my fiber craft goals&lt;/a&gt; off the list!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hope you have a delightful end to your year, and best wishes to you and your loved ones in 2022!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/2021-review/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Nov 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2111/"/>
      <updated>2021-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2111/</id>
      <content type="html">&lt;p&gt;In November I spent much of my free time on an exciting but time-consuming life task/goal (being vague here by design), so this will be a fairly light learning log. I’ve been doing some knitting here and there, and a teensy bit of drawing, but I am really feeling the itch of not having a side project in the works at the moment. I do really love making things.&lt;/p&gt;
&lt;p&gt;Completed just a couple webby administrative tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a href=&quot;https://github.com/calibreapp/image-actions&quot;&gt;Calibre Image Actions&lt;/a&gt; to my &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;fiber blog&lt;/a&gt;, which does a lovely job of substantially compressing images while keeping quality high. I also attempted to add it to my main site, but because the action currently updates all images that match the supplied path (vs just the image files that were &lt;em&gt;actually&lt;/em&gt; changed in the given PR), the action timed out for me. Too many darn images. Subscribed to &lt;a href=&quot;https://github.com/calibreapp/image-actions/issues/92&quot;&gt;this request to optimize only changed files&lt;/a&gt;, and will try again if that update lands. I don’t currently know enough about Github actions to volunteer contributing towards the change myself…yet, anyway!&lt;/li&gt;
&lt;li&gt;Added highlights for &lt;a href=&quot;https://highlights.melanie-richards.com/book/four-thousand-weeks/&quot;&gt;&lt;em&gt;Four Thousand Weeks&lt;/em&gt; by Oliver Burkeman&lt;/a&gt;. I thought about and started implementing general reading logs on the highlights site, but ended up deciding against it. I haven’t decided yet how I want to store a log of all the books I’ve read for posterity. Assuming I’ll care about that when I’m 80, 90.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[Video] &lt;a href=&quot;https://www.adobe.com/max/2021/sessions/na-keeping-a-sketchbook-for-fun-and-inspiration-s400.html&quot;&gt;Keeping a Sketchbook for Fun and Inspiration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I forgot about Aleia’s snails! Snails set up as if they’re in the &lt;a href=&quot;https://www.instagram.com/reel/CWQvM_AjQlG/?utm_medium=copy_link&quot;&gt;Great British Bakeoff competition&lt;/a&gt;, and &lt;a href=&quot;https://www.instagram.com/reel/CQZgCvQDGWH/&quot;&gt;snails in da club&lt;/a&gt; (music is a special treat).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/depthsofwiki/status/1463637178509139968&quot;&gt;Onfim, the younger elder&lt;/a&gt;. &lt;a href=&quot;https://en.m.wikipedia.org/wiki/Onfim&quot;&gt;Direct Wikipedia article&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/Franrekk/status/1463453463107579912&quot;&gt;How to make coolio patterns&lt;/a&gt;. Image alt: draw a right angle triangle, draw some squiggles [in it], colour em, flip and combine [two of the triangles into a square], repeat, keep repeating until it looks cool.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devbizops.substack.com/p/purposeful-side-projects&quot;&gt;Purposeful Side Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.burieddiamond.com/blog/2021/11/3/a-week-of-knits-part-2-learnings-from-a-week-of-sewing-simple-knit-garments&quot;&gt;This post on sewing with knits&lt;/a&gt;; clever idea of using a ribbon as neck stabilizer.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2110/"/>
      <updated>2021-11-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2110/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seward-rainier-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seward-rainier-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seward-rainier-s.jpg&quot; alt=&quot;Mt. Rainier, a snowy mountain, as glimpsed behind two hills full of trees, blue lake water, and in the foreground, a tangle of bushes.&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Mt. Rainier from Seward Park on Halloween weekend.&lt;/p&gt;
&lt;p&gt;Mid-October marked my first official month at Netlify! I’m having a ton of fun strategizing on how to help web teams be productive on the Jamstack and the Netlify platform. It’s interesting engaging with web developer needs at a different level than the web platform, where I had been for a few years. After navigating the long wait for consensus-building that is the standards process, it’s freeing to be in a position where you can just…ship things. That consensus-building is of course an important protection for the web platform, and I’m still a part of it via the &lt;a href=&quot;https://open-ui.org/&quot;&gt;Open UI Community Group&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At home I’ve been doing some organization work, i.e. filing the mess of sketchbooks and journals into some linen boxes, and finally putting up a pegboard to house some of my drawing and sewing supplies:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pegboard-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pegboard-s.jpg&quot; alt=&quot;A white pegboard hung above a desk. On the pegboard are hooks bearing scissors and rotary cutters; jars of pencils, pens, and brushes; and a couple shelves holding little figurines and a Pomodoro clock.&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-piles-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-journal-piles-s.jpg&quot; alt=&quot;Piles and piles of journals and sketchbooks, all haphazardly thrown on top of each other.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I may or may not have also recently bought yet another new sketchbook (shhh). Expirementing with what paper I like best for Posca paint markers.&lt;/p&gt;
&lt;p&gt;Other recent happenings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blog posts:&lt;/strong&gt; wrote about &lt;a href=&quot;https://melanie-richards.com/blog/currentcolor-svg-hcm/&quot;&gt;CurrentColor SVGs in forced color modes&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Side projects:&lt;/strong&gt; finished a &lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;drawing idea generator&lt;/a&gt; that uses serverless functions, and &lt;a href=&quot;https://melanie-richards.com/blog/drawing-idea-generator/&quot;&gt;wrote about it here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fiber art:&lt;/strong&gt; put together a list of &lt;a href=&quot;https://fiber.melanie-richards.com/making-plans-fw-2021/&quot;&gt;things I want to make in fall/winter&lt;/a&gt; and finished up a &lt;a href=&quot;https://fiber.melanie-richards.com/mug-rug/&quot;&gt;woven mug rug&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Japanese:&lt;/strong&gt; have almost entirely fell off of my kanji-learning practice, but did read &lt;a href=&quot;https://www.tofugu.com/japanese/uchi-soto/&quot;&gt;this article on uchi and soto&lt;/a&gt; and found it quite fascinating.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1451944216964313089&quot;&gt;Participated in a 24-hour readathon&lt;/a&gt; again and read for about 8 hours, my personal best.&lt;/li&gt;
&lt;li&gt;Dreaming of an ASMR channel that’s just artists peeling off the masking tape from the edges of their paintings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://caninclude.glitch.me/&quot;&gt;Can Include&lt;/a&gt;: reference material for HTML element content models.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/thecaitcode/status/1451353379133820928?s=21&quot;&gt;Ideas for screen-less evening activities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/cascade-layers/&quot;&gt;Cascade Layers?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/to-do-apps-failed-productivity-tools/&quot;&gt;Hundreds of Ways to Get S#!+ Done—and We Still Don’t&lt;/a&gt;. This article captures much of the reasons I’ve settled on paper for task management: infinitely flexible, and having to rewrite tasks forces you to consider whether they are actually important.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sarajbenincasa.medium.com/how-to-get-unstuck-come-back-97be237824d8&quot;&gt;How to Get Unstuck: Come Back&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sarajbenincasa.medium.com/how-to-get-unstuck-be-a-student-969856f514e8&quot;&gt;How to Get Unstuck: Study&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2021/10/pre-publish-blogging-rituals/&quot;&gt;My pre-publish blogging rituals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/embracing-messy-inconsistent-journaling&quot;&gt;Embracing Messy &amp;amp; Inconsistent Journaling&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New project: What to Draw</title>
      <link href="https://melanie-richards.com/blog/drawing-idea-generator/"/>
      <updated>2021-10-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/drawing-idea-generator/</id>
      <content type="html">&lt;p&gt;Lately, I’ve wanted to draw more, but don’t always have ideas on what to draw. At the same time, I’ve wanted to play around with Netlify functions (full disclosure: I’m currently a Netlify employee). What do we do when we have web dev skills? Solve all of our problems by building a website!&lt;/p&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-what-to-draw-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-what-to-draw-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-what-to-draw-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-what-to-draw-s.png&quot; alt=&quot;A website titled ’What to Draw’. It displays a photo with an alpine lake scene ringed with craggy mountains, and a button to try another photo.&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;What to Draw&lt;/a&gt; is a teeny site that provides photographic inspiration for your next drawing. Click a button and fetch a random photo from the &lt;a href=&quot;https://unsplash.com/&quot;&gt;Unsplash&lt;/a&gt; site!&lt;/p&gt;
&lt;h2 id=&quot;serverless-function&quot;&gt;Serverless function&lt;/h2&gt;
&lt;p&gt;In the case of this drawing idea generator, the serverless function I’ve set up effectively acts as middleware between my client-side script and the Unsplash API. Instead of sending my API key in the clear, or spinning up my own backend to protect it, I can &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/site/script.js#L56&quot;&gt;make a &lt;code&gt;fetch&lt;/code&gt; request&lt;/a&gt; to my &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/netlify/functions/photos.js&quot;&gt;custom photos function&lt;/a&gt;. This in turn requests a random photo from the Unsplash API, using the API key I’ve stored as an environment variable in the Netlify app.&lt;/p&gt;
&lt;p&gt;If you’d like an end-to-end tutorial on using Netlify functions to make API calls—including developing locally with functions using the Netlify CLI—I would suggest following along with &lt;a href=&quot;https://explorers.netlify.com/learn/up-and-running-with-serverless-functions&quot;&gt;Up and Running with Serverless Functions&lt;/a&gt;, compiled by my now-colleague Ben Hong. The only notable difference is that Ben’s example uses an API that does not require an API key, so my &lt;a href=&quot;https://github.com/melanierichards/what-to-draw/blob/main/netlify/functions/photos.js&quot;&gt;photos function&lt;/a&gt; can serve as an example as to how to reference a key you’ve stored in &lt;a href=&quot;https://docs.netlify.com/configure-builds/environment-variables/&quot;&gt;Netlify environment variables&lt;/a&gt;. As an alternative, Sia Karamalegos also has a &lt;a href=&quot;https://sia.codes/posts/serverless-functions-netlify/&quot;&gt;great Netlify functions walkthrough post&lt;/a&gt; incorporating API keys.&lt;/p&gt;
&lt;h2 id=&quot;the-photo-rendering-area&quot;&gt;The photo rendering area&lt;/h2&gt;
&lt;p&gt;The cool thing about the Unsplash photo API is that it returns a color as part of an individual photo’s metadata. I’ve used this to skin the photo rendering area (and the header SVG icon) to match the retrieved photo:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-draw-render-area-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-draw-render-area-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-draw-render-area-s.png&quot; alt=&quot;The drawing idea generator, with screenshots of several different results. The photo rendering area is shown in brown, light pink, dark green, orange, and grey according to the colors in the given photo.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I’m not sure how their color selection process works, but it’s pretty nifty in that it doesn’t return a muddy brown for every photo (a concern in taking average color values).&lt;/p&gt;
&lt;p&gt;That photo rendering area also takes advantage of CSS &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio&quot;&gt;aspect ratios&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/* .reference__image is an img element */

@supports (object-fit: contain) {
  .reference__image {
    width: 100%;
    height: 100vh;
    object-fit: contain;
  }

  @supports (aspect-ratio: 1) {
    .reference__image {
      height: auto;
      max-height: 100vh;
      aspect-ratio: 3 / 4;
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If the browser supports &lt;code&gt;object-fit&lt;/code&gt;, I size the image to 100% of the width of its container, and 100% of the viewport height. &lt;code&gt;object-fit&lt;/code&gt; is set to &lt;code&gt;contain&lt;/code&gt;, so that the image contents scale down to fit within both dimensions of the &lt;code&gt;img&lt;/code&gt; element, but the original aspect ratio of those contents is preserved. &lt;code&gt;100vh&lt;/code&gt; can feel a little too tall on tall-and-skinny mobile-ish viewports, though, especially if the current photo is in landscape orientation.&lt;/p&gt;
&lt;p&gt;So, if the browser supports &lt;code&gt;aspect-ratio&lt;/code&gt; (which has &lt;a href=&quot;https://caniuse.com/mdn-css_properties_aspect-ratio&quot;&gt;just arrived in iOS 15&lt;/a&gt;), I’ve set the &lt;code&gt;aspect-ratio&lt;/code&gt; to &lt;code&gt;3 / 4&lt;/code&gt;, a common portrait aspect ratio. A &lt;code&gt;max-height&lt;/code&gt; then clamps the image rendering area to be no taller than the viewport height, so that you can see the entire image at once when the viewport window is in a landscape orientation.&lt;/p&gt;
&lt;p&gt;To help visualize this the difference on a narrow viewport, here is a comparison of the layout using &lt;code&gt;aspect-ratio&lt;/code&gt; (left), and the fallback layout (right):&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-viewport-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-viewport-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-viewport-s.png&quot; alt=&quot;The lefthand version of the page shows the fetched image with metadata, site header, and ’try another photo’ button. The righthand version shows only the fetched image, rendered at the same size as the lefthand version.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The viewports are the same dimensions, as are the rendered size of the photo contents. When using &lt;code&gt;aspect-ratio&lt;/code&gt;, however, the user now has access to more content vs just the photo rendering area.&lt;/p&gt;
&lt;h2 id=&quot;a-note-on-photo-apis-and-alt-text&quot;&gt;A note on photo APIs and alt text&lt;/h2&gt;
&lt;p&gt;It ended up that one of the most challenging parts of this project was finding a photography API that returns alternative text for images! My first choice was to use the &lt;a href=&quot;https://pexels.com/&quot;&gt;Pexels&lt;/a&gt; API, as I feel they have a good selection of images for drawing inspiration purposes. However, neither the &lt;a href=&quot;https://www.pexels.com/api/documentation/&quot;&gt;Pexels API&lt;/a&gt; nor the &lt;a href=&quot;https://pixabay.com/api/docs/&quot;&gt;Pixabay API&lt;/a&gt; appear to return anything approximating image alt text.&lt;/p&gt;
&lt;p&gt;Unsplash ended up winning for this reason, and it’s still not perfect. The photo response can include a usable &lt;code&gt;alt_description&lt;/code&gt; value, &lt;code&gt;description&lt;/code&gt; value, or both. I’m not sure if this text is generated by a human or a machine, but I’ve opted to prioritize &lt;code&gt;alt_description&lt;/code&gt;, fall back to &lt;code&gt;description&lt;/code&gt;, and finally fall back to “No description provided” if both return the null string.&lt;/p&gt;
&lt;p&gt;It seems quite odd to me that more photography APIs don’t support alternative text at this point, but in any case I’ll try to find a way to make that suggestion to those other APIs.&lt;/p&gt;
&lt;h2 id=&quot;what%E2%80%99s-next&quot;&gt;What’s next&lt;/h2&gt;
&lt;p&gt;I might add the option to filter photo results by a couple of parameters, including category and image orientation. That can be done by using the &lt;code&gt;POST&lt;/code&gt; method to customize requests made to the serverless function from client-side script (&lt;a href=&quot;https://github.com/netlify/explorers-up-and-running-with-serverless-functions/commit/b24daf93acd7f9236d99aa4baa17da70403ff457&quot;&gt;here’s an example from Ben again&lt;/a&gt;). That all sort of depends on how I end up using this site, and if it’s useful to anyone else who might benefit from this drawing idea generator.&lt;/p&gt;
&lt;p&gt;In the meantime, you can play with the &lt;a href=&quot;https://whattodraw.melanie-richards.com/&quot;&gt;What to Draw&lt;/a&gt; generator and &lt;a href=&quot;https://github.com/melanierichards/what-to-draw&quot;&gt;check out the code on Github&lt;/a&gt; (pardon my YOLO JavaScript style). I should note that my Unsplash API calls are currently limited to 50/hour, so if you mash on that button pretty hard, you might receive a rate-limiting error. In any case, happy drawing! 🎨&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>CurrentColor SVG in forced colors modes</title>
      <link href="https://melanie-richards.com/blog/currentcolor-svg-hcm/"/>
      <updated>2021-10-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/currentcolor-svg-hcm/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Note: this post assumes familiarity with forced colors modes styling and Windows High Contrast, now called “Contrast Themes” in Windows 11. Refer to &lt;a href=&quot;https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/&quot;&gt;“Styling for Windows high contrast with new standards for forced colors”&lt;/a&gt; for a primer.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you’ve been optimizing your web content for various color modes for some time, you may be familiar with using &lt;code&gt;currentColor&lt;/code&gt; as an efficient way to manage single-color SVGs. Traditionally, setting &lt;code&gt;currentColor&lt;/code&gt; to the strokes and fills of SVG parts…&lt;/p&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;300&quot; data-default-tab=&quot;css,result&quot; data-slug-hash=&quot;Yzqxogg&quot; data-user=&quot;somelaniesaid&quot; style=&quot;height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;&quot;&gt;
  &lt;span&gt;Visit the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/Yzqxogg&quot;&gt;
  Forced Colors: Simple SVG Demo&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;script async=&quot;&quot; src=&quot;https://cpwebassets.codepen.io/assets/embed/ei.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;…has meant that those SVG parts automatically inherit the SVG parent’s color value in the active color scheme. This has been true for your developer-provided light and dark modes styles, &lt;em&gt;as well as&lt;/em&gt; forced colors modes such as Windows High Contrast:&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-logo-color-modes.png&quot; alt=&quot;The logo from the example, automatically rendered in light mode (a dark blue), dark mode (a light blue), and Windows High Contrast (the user’s link color)&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;The SVG logo in a light color scheme, dark color scheme, and Windows high contrast as a result of using currentColor.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;If you’ve tried to use this technique in the past few months and found that your SVG appeared “broken” in Windows High Contrast mode on Chromium-based browsers (i.e. the SVG is not rendering in a forced system color), don’t worry—you are not imagining things.&lt;/p&gt;
&lt;p&gt;The described &lt;code&gt;currentColor&lt;/code&gt; technique &lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=1164162&quot;&gt;was broken&lt;/a&gt; by a &lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/5419&quot;&gt;CSS specification change&lt;/a&gt;, in which the CSS Working Group decided that forced color values should be applied at used value time. Previously, they were applied at computed value time. I was not active in the CSS WG during this period, so can’t comment from firsthand experience, but it appears the change was made in large part to help clarify how animations and transitions behave in forced colors modes. &lt;code&gt;currentColor&lt;/code&gt;, when used in the &lt;code&gt;color&lt;/code&gt; property, inherits its parent’s &lt;em&gt;computed color value&lt;/em&gt;. So, this spec change means that the SVG would inherit whatever that parent’s color was &lt;em&gt;before&lt;/em&gt; forced color values were applied to web content.&lt;/p&gt;
&lt;p&gt;Because the Chromium implementation was updated to match the &lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/currentcolor-svg-hcm/#firefox-impl-note&quot; id=&quot;firefox-impl-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;spec&lt;/a&gt;, the logo example currently looks like this in a dark Windows High Contrast theme in MS Edge v96:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-broken-hc-logo.png&quot; alt=&quot;The logo from the example, which is rendered in a light blue shade on top of a dark background, but it doesn’t match the bright blue shade of the system link color&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;The logo in this example is as least still visible, because we have provided a dark mode theme with &lt;code&gt;prefers-color-scheme: dark&lt;/code&gt;, and the SVG is inheriting the light color we’ve used for the link in our dark mode styles. However, it would be better for this logo to pick up the system link color in forced colors modes, so that 1) it is rendered in the user’s chosen link color, with their preferred level of contrast and 2) the user knows that this is part of an invokable link target.&lt;/p&gt;
&lt;p&gt;The proper way to deal with this problem in the short term is to explicitly apply &lt;a href=&quot;https://www.w3.org/TR/css-color-4/#css-system-colors&quot;&gt;system colors&lt;/a&gt; to the SVG parts in forced colors modes. In this case, we would use the &lt;code&gt;LinkText&lt;/code&gt; system color:&lt;/p&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;300&quot; data-default-tab=&quot;css,result&quot; data-slug-hash=&quot;mdMVjvY&quot; data-user=&quot;somelaniesaid&quot; style=&quot;height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;&quot;&gt;
  &lt;span&gt;View the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/mdMVjvY&quot;&gt;
  Forced Colors: Simple SVG Demo [CurrentColor Temporary Fix]&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fixed-hc-logo.png&quot; alt=&quot;&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;The logo now picks up the proper system link color in Windows High Contrast.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;So, this works, but it’s certainly not as convenient as using &lt;code&gt;currentColor&lt;/code&gt; and having the right color propagate automatically across color modes.&lt;/p&gt;
&lt;p&gt;Thankfully, Amelia Bellamy-Royds &lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/6310&quot;&gt;brought up the issue again&lt;/a&gt;, and the CSS WG arrived at a solution to restore this common &lt;code&gt;currentColor&lt;/code&gt; technique and heal currently-broken experiences. The spec now defines a &lt;code&gt;preserve-parent-color&lt;/code&gt; keyword value for &lt;code&gt;forced-color-adjust&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In forced colors mode, if the color property inherits from its parent (i.e. there is no cascaded value or the cascaded value is currentColor, inherit, or another keyword that inherits from the parent), then it computes to the used color of its parent’s color value.&lt;/p&gt;
&lt;p&gt;In all other respects, behaves the same as none.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Because &lt;code&gt;currentColor&lt;/code&gt; inherits the &lt;em&gt;used&lt;/em&gt; color in this case, and forced colors are applied at &lt;em&gt;used&lt;/em&gt; value time, it would now inherit the parent’s forced system color value.&lt;/p&gt;
&lt;p&gt;This is effectively a direct fix for ensuring that SVG parts with &lt;code&gt;currentColor&lt;/code&gt; inherit the correct user-defined system color in forced colors modes. Web developers would not need to use this keyword directly, as it will be applied to SVGs by default in the user agent stylesheet:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-css&quot;&gt;@namespace &amp;quot;http://www.w3.org/2000/svg&amp;quot;;
svg|svg { forced-color-adjust: preserve-parent-color; }
svg|foreignObject { forced-color-adjust: auto; }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This replaces a user agent stylesheet rule where &lt;code&gt;forced-color-adjust&lt;/code&gt; is set to &lt;code&gt;none&lt;/code&gt; on SVGs.&lt;/p&gt;
&lt;p&gt;Once this change lands, web developers should be able to use the &lt;code&gt;currentColor&lt;/code&gt; technique once again to their hearts’ content (perhaps keeping the explicit system colors around for a bit, for compat on 2021 browser versions). At time of writing, this patch is &lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=1242706&quot;&gt;in active development&lt;/a&gt; in the Chromium code base, so my hope is that this all resolves soon. In the meantime, &lt;strong&gt;use &lt;a href=&quot;https://www.w3.org/TR/css-color-4/#css-system-colors&quot;&gt;system color&lt;/a&gt; keywords for SVG parts in forced colors modes&lt;/strong&gt;, and thank you for testing in Windows High Contrast! 🖤&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;firefox-impl-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Firefox’s forced colors implementation does not appear to have the described issue, i.e. currentColor SVG parts inherit forced colors as expected. As far as I can tell, this appears to be because the Gecko implementation has not yet made the change to apply forced colors at used value time. Folks on the Mozilla team would be better positioned to clarify! &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/currentcolor-svg-hcm/#firefox-impl-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Sep 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2109/"/>
      <updated>2021-10-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2109/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-journal-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-journal-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-netlify-journal-s.jpg&quot; alt=&quot;A teal journal opened to the first page, where I have written in teal pen &#39;Inaugural Netlify journal&#39;&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This month I started a new job as a Senior Product Manager at &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt;! I’d been on the Microsoft Edge web platform team for the better part of 7 years, so “new kid” energy is not something I’ve felt in awhile. I’ll admit to some nerves: I’d left a team where I know well how I can add value and support our collective growth, for a new environment where I’ll need to build up trust and strong working relationships from scratch.&lt;/p&gt;
&lt;p&gt;That said, excitement far outweighs the nerves. Netlify is chock-full of friendly people who are very generous with their time and prior knowledge. I’ve long appreciated the Netlify platform for my own projects, and I’m having so much fun ramping up and considering how we might expand the platform to support robust web apps and organizations at scale.&lt;/p&gt;
&lt;h2 id=&quot;various-and-sundry-musings&quot;&gt;Various and Sundry Musings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I sewed a &lt;a href=&quot;https://fiber.melanie-richards.com/tool-roll/&quot;&gt;tool roll&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;Speaking of which,  I’ve been feeling like I have too many creative hobbies in flight and decided to put 3D art on hold for now. It was a painful cut, as I’d like to make some cute environmental renders, but there is relief in being able to give some of my other creative outlets more attention. As &lt;a href=&quot;https://melanie-richards.com/blog/learning-log-2101/&quot;&gt;I’ve said before&lt;/a&gt;, I seem to need more time creating by hand lately, and less time in front of a glowing rectangle.&lt;/li&gt;
&lt;li&gt;I’ve noticed that it is much easier to be successful with habits I aim to complete daily, rather than a few times a week or as the need arises. I was a little looser with my habits around journaling, which means I did almost no journaling.&lt;/li&gt;
&lt;li&gt;Talking things out with other humans is extremely effective in level-setting expectations; perfectionism brain sets a high bar.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/rfeADdY1rHw&quot;&gt;Video: How I Journal for Mental Clarity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/miimows/status/1433609785664892931?s=21&quot;&gt;Video: some sage advice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://patterns.helloyes.dev/&quot;&gt;Basic Pattern Repository (SVG)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/so-many-little-design-helper-sites/&quot;&gt;So many little design helper sites!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2021/08/sentence-forms-not-mad-libs.html&quot;&gt;Sentence Forms (not Mad Libs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/grainy-gradients/&quot;&gt;Grainy Gradients&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tink.uk/notes-on-synthetic-speech/&quot;&gt;Notes on synthetic speech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2021/09/reducing-carbon-emissions-on-web/&quot;&gt;Reducing Carbon Emissions On The Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://seattle.urbansketchers.org/2021/09/effort-and-surrender-my-10th-year.html?m=1&quot;&gt;Effort and Surrender: My 10th Year&lt;/a&gt; [of urban sketching]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.design/writing/100/&quot;&gt;100&lt;/a&gt; [blog posts]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2021/09/24/well/live/parallel-play-for-adults.html&quot;&gt;This article on the benefits of parallel play for adults&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/meganesulli/how-to-be-a-better-learner-421l/&quot;&gt;How to be a Better Learner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://themarkup.org/citizen-browser/2021/09/21/facebook-rolls-out-news-feed-change-that-blocks-watchdogs-from-gathering-data&quot;&gt;Facebook Rolls Out News Feed Change That Blocks Watchdogs from Gathering Data&lt;/a&gt;. Absolutely disgusted.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2108/"/>
      <updated>2021-09-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2108/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-kayak-s.jpg&quot; alt=&quot;Me sitting in a neon-green kayak, holding my paddle aloft with an excited expression. I am in the middle of a lake with a cityscape behind me.&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Finally got around to kayaking on Lake Union!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Most notably, my last day at Microsoft—after the better part of 7 years—was the end of the month. There’s a lot of feelings bound up in that change. I’m excited to try something new and grow in a different way. But that’s a solid amount of time to build up a lot of relationships with people I’ll miss working with, and I wonder if it will feel odd not being a “browser person” anymore. Well, you can take the girl out of the web platform but you can’t take the web platform out of the girl—I’m hoping to keep doing a bit with web standards. And though it’s at a different layer of the stack, I’ll still get to work with web developers and their needs in my next product role. In any case, feeling very grateful to my community for a wonderful past few years, and excited for the future and new folks I will meet.&lt;/li&gt;
&lt;li&gt;I took a bit of a staycation (really missing travel…) and ended up finishing up a couple different side projects: &lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;this minisite about seasonal living&lt;/a&gt; (&lt;a href=&quot;https://melanie-richards.com/blog/seasons-site/&quot;&gt;writeup here&lt;/a&gt;) and &lt;a href=&quot;https://fiber.melanie-richards.com/a-cozier-reading-chair/&quot;&gt;a quilted pillowcase&lt;/a&gt; for my reading chair.&lt;/li&gt;
&lt;li&gt;I am also feeling somewhat smug about my new solution for my ridiculous &lt;a href=&quot;https://www.goodreads.com/review/list/2236850-melanie-richards?shelf=to-read&quot;&gt;to-read list&lt;/a&gt; on Goodreads, which at some point ballooned up to ~1300 books (currently at ~250). I had been putting the work into continuously whittling that down to a more reasonable number, but it still stressed me out see how many books were on the list. What I do now is: I never look at the full list. I’ve set my view for this Goodreads list to 10 books per page, in random order. So if I’m thinking about what to read next, I can review just 10 random books and determine if there’s anything in there I want to read. If not, I can refresh and get another 10 books. I do still prune from time to time if it feels like I’ll never read a particular book, but it is such a nice way to focus on just a few options.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nestflix.fun/&quot;&gt;Nestflix&lt;/a&gt;, a fun showcase of fictional media embedded into show and movies in the Netflix catalog. Made by Lynn Fisher.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sunday-suns.com/&quot;&gt;6 years of Sunday Suns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kiwihen.com/&quot;&gt;If you love corgis and cute things…&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/_katherine_may_/status/1428307414047203331&quot;&gt;Star-shaped crinoid fossils&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Apparently I didn’t bookmark many articles this month…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/ceeoreo_/status/1430899630061985792&quot;&gt;Lots of great ideas on this Twitter thread about dealing with overwhelm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tastecooking.com/it-was-a-big-year-for-tiktok-foraging/&quot;&gt;It Was a Big Year for TikTok Foraging&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I did appreciate this quote from &lt;a href=&quot;https://bookshop.org/a/15644/9781941529089&quot;&gt;“How to Relax” by Thich Nhat Hanh&lt;/a&gt; (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2108/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;), on letting go of worrying (emphasis mine):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our practice is to learn to take care of the present moment. Don’t allow yourself to be lost in the past or the future. Taking good care of the present moment, we may be able to change the negative things from the past and prepare for a good future. We tend to worry about what will happen in the future. The practice helps us to come home to the present moment, to our body, to our feelings, to the environment around us. When we breathe in and breath out mindfully, our mind is brought back to our body, and we are truly there in order to take care of the present moment. If there’s some stress, some tension in our today, we practice mindful breathing in order to release the tension, and that brings us relief. If there’s a painful feeling in us, we use mindfulness to embrace our feeling so that we can get relief. The key point is that you are fully there in the present moment, in the here and now, to take care of yourself and what’s happening around you. You don’t think too much about the future or project too much about how it might be; and you’re not trapped too much in the past. You have to tain yourself, to learn how to go home to the present moment, to the here and now, and to take care of that moment, to take care of your body and your feelings in this moment. &lt;strong&gt;As you learn how to be in the present moment, you’ll gain faith and trust in your ability to handle the situation. You learn how to take care of your feelings and what’s happening around you. That makes you confident, and as your confidence grows, you’re no longer the victim of your worries.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2108/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New project: SEA — Seasons, and Notification Triggers</title>
      <link href="https://melanie-richards.com/blog/seasons-site/"/>
      <updated>2021-08-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/seasons-site/</id>
      <content type="html">&lt;div class=&quot;c-web-preview&quot;&gt;
  &lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;
    &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seasons-xl.png&quot; alt=&quot;A home page where there are tiles for eight segments of the year: early and late winter, spring, summer, and autumn.&quot; /&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I’d been thinking about how I want to live more intentionally with the seasons, and naturally end up reaching for a mini-site to address some small need I have. &lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;SEA — Seasons&lt;/a&gt; is a little site dedicated to seasonal living; it’s optimized for the Seattle area, but many of the ideas may be relevant elsewhere in the Northern hemisphere.&lt;/p&gt;
&lt;p&gt;With recent dire climate change news, I’m actually more thankful than ever that I’ve been compiling some of these ideas. I want to cherish our natural world we have while we have it, and I agree with those who say there’s nothing like love to inspire you to fight hard and protect something.&lt;/p&gt;
&lt;div class=&quot;c-web-preview&quot;&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seasons-mabon-xl.png&quot; alt=&quot;An individual page for late autumn, with ideas for Mabon, seasonal activities, events, and LOTS of produce. The background is a pale brown.&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;There are individual pages for each of the eight segments of the year. These mark the beginning of the season (named after traditional pagan observances), and provide ideas for activities, local events, and produce that is timely for that season.&lt;/p&gt;
&lt;p&gt;Each of the seasonal pages has its own color:&lt;/p&gt;
&lt;div class=&quot;c-web-preview&quot;&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seasons-beltane-xl.png&quot; alt=&quot;The same page, but for late spring (Beltane). The background is a light green.&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;c-web-preview&quot;&gt;
  &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seasons-imbolc-xl.png&quot; alt=&quot;The same page, but for late winter (Imbolc). The background is a light blue, and there aren&#39;t many events or produce.&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;When working out the layout of these pages, it annoyed me at first that some things weren’t in balance. But now I’ve come to love how some of the pages are lopsided: it just further illustrates how some seasons are periods of bounty, and others of hibernation.&lt;/p&gt;
&lt;h2 id=&quot;notification-triggers&quot;&gt;Notification Triggers&lt;/h2&gt;
&lt;p&gt;I like to play around with something new on my side projects. On this one I tried out the experimental &lt;a href=&quot;https://web.dev/notification-triggers/&quot;&gt;Notification Triggers API&lt;/a&gt;, which I first caught wind of via &lt;a href=&quot;https://css-tricks.com/creating-scheduled-push-notifications/&quot;&gt;“Creating Scheduled Push Notifications”&lt;/a&gt;. To demo this, you’d have to enable &lt;a href=&quot;edge://flags/#enable-experimental-web-platform-features&quot;&gt;the #enable-experimental-web-platform-features flag&lt;/a&gt; in a Chromium-based browser, but Notification Triggers basically enable you to schedule notifications client-side based on a location- or time-based trigger.&lt;/p&gt;
&lt;p&gt;When a user invokes the “notify me of new seasons” button on the site, that will pop a notification request prompt. Accepting the prompt will then schedule notifications for the start of each season, one week in advance and day-of—but only if those dates are still in the future. &lt;a href=&quot;https://github.com/melanierichards/seasons.melanie-richards.com/blob/main/assets/js/notifications.js&quot;&gt;You can check out the notifications logic here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Each new year will bring new dates along with it, which can shift a bit year-to-year. I’m not exactly sure how I want to handle scheduling notifications for those new dates, so will have to do a little more thinking there!&lt;/p&gt;
&lt;h2 id=&quot;check-it-out&quot;&gt;Check it out&lt;/h2&gt;
&lt;p&gt;Find some ideas for seasonal living at &lt;a href=&quot;https://seasons.melanie-richards.com/&quot;&gt;SEA — Seasons&lt;/a&gt;, or you can &lt;a href=&quot;https://github.com/melanierichards/seasons.melanie-richards.com/&quot;&gt;explore the code on Github&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jul 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2107/"/>
      <updated>2021-08-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2107/</id>
      <content type="html">&lt;div class=&quot;l-grid l-grid--media l-grid--halves&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-puget-sketchbook-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-puget-sketchbook-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-puget-sketchbook-s.jpg&quot; alt=&quot;My sketchbook open on a blanket, with a sketch of the water and mountains also pictured beyond.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-orange-berries-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-orange-berries-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-orange-berries-s.jpg&quot; alt=&quot;A cluster of vibrant, dark orange berries on a tree in a golden-hour glow&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;Sketching in Discovery Park overlooking the Puget Sound / Some very orange berries&lt;/p&gt;
&lt;p&gt;Another month passed? Really? It feels like July just evaporated in the summer air!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If I had to pick a word for July, it would be “friendship”. My local friends and I are lucky enough to have had access to COVID vaccines, and now that everyone’s vaccinated and the weather is nice, it feels like we’re making up for lost time by spending more of it together. Two of my friends got married (to each other); there were a couple birthdays; and other hangs at each other’s homes, just because. As someone who is fairly introvert-y, it sometimes feels like going from 0 to 60 in a short period of time. That said, I am so grateful for the opportunity to spend time together (keeping an eye on the Delta variant…), having felt the lack of in-person connection over the prior ~15–16 months.&lt;/li&gt;
&lt;li&gt;Still making progress on a mini-site for seasonal living in the Pacific Northwest. In early July, I crossed off a lot of visual/linting items off the list, added support for dark mode and forced color modes, added social metadata, etc. Later in the month I added &lt;a href=&quot;https://github.com/melanierichards/seasons.melanie-richards.com/tree/main/_data/seasons&quot;&gt;content for most of the seasons&lt;/a&gt;. Left to do: add content for early and late winter; write an intro the site; add push notification capability (for alerts to upcoming seasons); and do one last pass on fundamentals.&lt;/li&gt;
&lt;li&gt;Attended a couple workshops at the free, virtual &lt;a href=&quot;https://www.portlandzinesymposium.org/&quot;&gt;Portland Zine Symposium&lt;/a&gt;. While it will be nice to participate in IRL communities again, the silver lining is I’ve gotten to participate in events I might not normally have access to. My favorite workshop was &lt;a href=&quot;https://www.eventbrite.com/e/sketchbooking-as-an-anti-capitalist-practice-with-mara-ramirez-tickets-160906109505&quot;&gt;“Sketchbooking as an Anti-Capitalist Practice with Mara Ramirez”&lt;/a&gt;, which inspired me to have a chill, fun, low-stakes relationship with my sketchbook. Unfortunately it doesn’t seem like the recording is up anywhere, but you can &lt;a href=&quot;https://planetmars.earth/&quot;&gt;find their work here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;My Japanese practice sort of languished in July; I have a huge backlog of review items in WaniKani that I’m currently chipping away at.&lt;/li&gt;
&lt;li&gt;TIL: if you type &lt;code&gt;lorem50&lt;/code&gt; into an HTML file in VS Code, then press the &lt;code&gt;TAB&lt;/code&gt; key, the built-in Emmet extension will generate 50 words of lorem ipsum for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;u-limit-width&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-stress.png&quot; alt=&quot;Messages on Slack: clap emoji, What have we learned from this for future Melanie&#39;s stress&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;NOTHING!&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/vpandav/status/1416686434610683908&quot;&gt;This gif of dancing pixel sushi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/rebeca__anaya/&quot;&gt;All of this beautiful type design work by Rebeca Anaya&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://larahogan.me/blog/bring-solutions-not-problems/&quot;&gt;Why “bring solutions not problems” doesn’t work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/good-meetings/&quot;&gt;Good Meetings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maketime.blog/article/the-low-tech-approach-to-email/&quot;&gt;The Low-Tech Approach to Email&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.flowmagazine.com/flow-magazine/as-seen-in-flow/more-color-in-your-life-journalist-caroline-buijs-tried-color-meditation.html&quot;&gt;More color in your life: what is color meditation?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jun 2021 + Seasonal Cleaning IV</title>
      <link href="https://melanie-richards.com/blog/learning-log-2106/"/>
      <updated>2021-07-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2106/</id>
      <content type="html">&lt;p&gt;I think this is the latest I’ve ever posted a monthly Learning Log, but times have been busy! I also haven’t posted the most recent &lt;a href=&quot;https://melanie-richards.com/blog/seasonal-cleaning-vol-iii/&quot;&gt;seasonal cleaning&lt;/a&gt; recap, so…it’s all getting rolled into one.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Late in the month I went to visit my family in Florida! 🐊 The weather was an absolute mess (torrential downpour every day, before going back to &amp;gt;100° temps in Seattle!) but it was so, so nice to see my family again and celebrate several birthdays. The last time I was with them in person was Christmas 2019. Some families are more used to long breaks, but it was hard for me—especially considering my niece was 6 months old the last time I visited. Thank goodness for FaceTime and its ilk.&lt;/li&gt;
&lt;li&gt;Declared GitHub notification bankruptcy and marked &amp;gt;100 notifications as read. I feel all powerful! 😈 I’m probably missing stuff!&lt;/li&gt;
&lt;li&gt;Thinking lately about: “what is my through line?” In true generalist fashion I am interested in many things—what is a stable interest or passion? What underlying theme connects my many interests? Something to lean into.&lt;/li&gt;
&lt;li&gt;Chipping away at a mini-site dedicated to ideas for seasonal living.&lt;/li&gt;
&lt;li&gt;Japanese: I’ve started “burning” items on &lt;a href=&quot;https://www.wanikani.com/users/somelaniesaid&quot;&gt;WaniKani&lt;/a&gt;, which sounded like a bad thing but AFAICT means they are “burned” into your memory.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;seasonal-cleaning-iv&quot;&gt;Seasonal Cleaning IV&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Renamed an &lt;code&gt;sr-only&lt;/code&gt; utility class to &lt;code&gt;u-vis-hidden&lt;/code&gt; across a couple of older projects, as that is more accurate: this content is visually hidden; screen readers are not the only assistive tech that can access the hidden text on behalf of the user.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;bucketlist&quot;&gt;&lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;Bucketlist&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a responsive layout issue where a masthead image was &lt;a href=&quot;https://github.com/melanierichards/bucketlist/issues/20&quot;&gt;rendered in the wrong place&lt;/a&gt; when viewed on my iPad. I was using both &lt;code&gt;min-width&lt;/code&gt; and &lt;code&gt;max-width&lt;/code&gt; queries for the same 48em-breakpoint (I was avoiding resetting styles that were small-viewport-specific), but that led to a bad mix of styles precisely at 48em wide.&lt;/li&gt;
&lt;li&gt;Reordered the “anywhere” list according to general category: activities, specific adventures, and general travel. That way, when I visit the site to see what to try next, the immediately actionable items are at the top of the list.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;fiber-blog&quot;&gt;&lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;Fiber blog&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Embraced &lt;code&gt;loading=&amp;quot;lazy&amp;quot;&lt;/code&gt; and &lt;code&gt;decoding=&amp;quot;async&amp;quot;&lt;/code&gt; attributes on images. It’s interesting to note how implementations of lazyloading differ: the &lt;a href=&quot;https://web.dev/browser-level-image-lazy-loading/&quot;&gt;Chromium implementation&lt;/a&gt; has a distance-from-viewport threshold of 1250px on fast connections, while Gecko seems to only start loading &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1703048&quot;&gt;600px from the viewport&lt;/a&gt;. The difference is noticeable when omitting dimension attributes, so I suppose I need to stop being lazy (heh) about that now. Good news is that adding &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; attributes is also helpful in reducing &lt;a href=&quot;https://web.dev/optimize-cls/&quot;&gt;cumulative layout shift&lt;/a&gt;, beneficial for the user experience and &lt;a href=&quot;https://www.smashingmagazine.com/2021/06/how-to-fix-cumulative-layout-shift-issues/&quot;&gt;now for SEO&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/djrrb/fern-ornaments&quot;&gt;Fern Ornaments&lt;/a&gt;, a decorative typeface through which you could generate some really nifty patterns.&lt;/li&gt;
&lt;li&gt;Video: &lt;a href=&quot;https://www.youtube.com/watch?v=_AnikVUrNP0&quot;&gt;How I Filled 100 Sketchbooks&lt;/a&gt; (this guy’s videos are generally pretty charming)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/p/CQEfB7dhyeu/&quot;&gt;Kolonihaver&lt;/a&gt;, or village circles&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://katydecorah.com/code/improve-documentation-with-failed-searches/&quot;&gt;Improve documentation with failed searches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://refactoring.fm/p/how-to-prioritize-bugs-&quot;&gt;How to Prioritize Bugs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/chapter-9-community/&quot;&gt;Web History: Chapter 9: Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rainesford.medium.com/its-okay-to-outgrow-the-life-you-thought-you-wanted-f31dd745c094&quot;&gt;It’s Okay to Outgrow the Life You Thought You Wanted&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Call for web dev feedback: anchored positioning use cases + requirements</title>
      <link href="https://melanie-richards.com/blog/anchor-pos-use-cases/"/>
      <updated>2021-07-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/anchor-pos-use-cases/</id>
      <content type="html">&lt;p&gt;Alongside Google and other participants in the &lt;a href=&quot;https://open-ui.org/&quot;&gt;W3C Open UI Community Group&lt;/a&gt;, Microsoft is exploring new primitives that will unlock greater customization of HTML control elements. The goals for customization include flexibility over both content models and full styling capabilities. Based on developer feedback, we’re starting with the &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; element. Approaches and primitives include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/ControlUICustomization/explainer.md&quot;&gt;Replacement of control parts with named slots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;https://open-ui.org/components/popup.research.explainer&quot;&gt;popup element&lt;/a&gt; that can be used for the &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;’s listbox part. &lt;code&gt;&amp;lt;popup&amp;gt;&lt;/code&gt; will enable many classes of transient, top-layer UI.&lt;/li&gt;
&lt;li&gt;A new proposal for &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CSSAnchoredPositioning/explainer.md&quot;&gt;CSS Anchored Positioning&lt;/a&gt;. This will enable web developers to position one element to another, and reposition or resize the element according to viewport boundaries. The initial proposal only applies to browser-managed, top-layer elements (like &lt;code&gt;popup&lt;/code&gt;) due to performance concerns, but we are exploring whether this could be reasonably extended to other use cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The newest proposal—anchored positioning—enables authors to express a preferred position for a given element, and then provide the rendering engine how to reposition the element in the event that it would overflow the viewport. For example, this button menu is positioned to the bottom-left of the button by default. It can be automatically positioned to the button’s top edge if there is insufficient space in the viewport:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/button-menu-reposition.png&quot; alt=&quot;A popup menu is displayed below a button when there is available space; above the button when the layout viewport gets too small to display the menu&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;The proposal enables web developers to express these preferred and fallback positions without any scripting. Based on observed use cases in component libraries, the initial explainer errs on the side of web developer control over positioning logic. We have heard from some folks that they don’t necessarily need fine-tuned control; they would rather provide an initial position and let the browser rendering engine handle repositioning with internal logic.&lt;/p&gt;
&lt;p&gt;There are many different avenues that we could take regarding syntax for these APIs. In order to land on an optimal final solution, we would like to invite the broader web developer community to provide feedback on use cases and requirements for CSS anchored positioning. We imagine that the right solution will provide a range in simplicity/magic vs control, but your input will help us understand what is truly a priority and what is a nice-to-have.&lt;/p&gt;
&lt;p&gt;With that, we’d like to invite web developers to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Review the &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CSSAnchoredPositioning/explainer.md&quot;&gt;initial proposal&lt;/a&gt; to become more familiar with what these APIs aim to achieve, and what options might be available. Note, “alternate A” in that proposal is considered a still-viable alternative for exploration.&lt;/li&gt;
&lt;li&gt;Respond to the &lt;a href=&quot;https://github.com/openui/open-ui/issues/357#issuecomment-871839171&quot;&gt;questions posed in this Github issue comment&lt;/a&gt;, regarding use cases and preference for control vs simplicity. Please feel free to comment directly on the issue or upvote others.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thank you in advance for influencing the direction of these new web APIs! Any feedback you provide will be greatly appreciated as we iterate on the design.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, May 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2105/"/>
      <updated>2021-06-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2105/</id>
      <content type="html">&lt;h2 id=&quot;sea-%E2%80%94-seasons&quot;&gt;SEA — Seasons&lt;/h2&gt;
&lt;p&gt;I always want to live more in tune with the seasons, so I&#39;m pulling together a little site about seasonal living in the Seattle area. It&#39;ll help track the soltices throughout the year, and each season will have lists of: things to do, recurring events to attend, and seasonal produce to cook with.&lt;/p&gt;
&lt;p&gt;This month I worked on some icons for sabbats and esbats throughout the year:&lt;/p&gt;
&lt;div class=&quot;l-grid l-grid--media l-grid--quarters&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-imbolc-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-imbolc-s.png&quot; alt=&quot;An icon with a candle and a single snowflake, framed in a vertical ring.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-ostara-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-ostara-s.png&quot; alt=&quot;An icon with a basket, an egg that has a zigzag design, and two clovers in the corner.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-beltane-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-beltane-s.png&quot; alt=&quot;An icon with a ring of flowers surrounding a wedge of cheese.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-litha-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-litha-s.png&quot; alt=&quot;An icon with bonfire framed in a triangle.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-lammas-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-lammas-s.png&quot; alt=&quot;An icon with a loaf of bread, a sheaf of wheat, and an abstract field.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-mabon-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-mabon-s.png&quot; alt=&quot;An icon with a pinecone, a marigold, and seeds, framed in a circle.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-samhain-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-samhain-s.png&quot; alt=&quot;An icon with a pumpkin and two little bats fluttering nearby.&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-yule-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-square-yule-s.png&quot; alt=&quot;An icon with a yule log in flame, framed by two sprigs of mistletoe.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;Imbolc / ostara / beltane / litha / lammas / mabon / samhain / yule.&lt;/p&gt;
&lt;h2 id=&quot;user-research-decision-trees&quot;&gt;User research decision trees&lt;/h2&gt;
&lt;p&gt;I&#39;ve been picking up &lt;a href=&quot;https://www.goodreads.com/book/show/56332351-cracking-the-pm-career&quot;&gt;Cracking the PM Career&lt;/a&gt; by Jackie Bavaro and Gayle Laakmann McDowell in between other books. I&#39;ve wanted a book about the art of PMing, without all the bro-y bluster, and this book is pretty much the universe&#39;s response.&lt;/p&gt;
&lt;p&gt;I came across in a recent passage the idea of creating a user research decision tree. Basically, you take each and every question and pre-plan for: if the answer to this question was x, what would we do?&lt;/p&gt;
&lt;p&gt;On my team at work we tend to go into user research with a set of hypotheses: we identify what we hope to learn and how we will apply the findings. That&#39;s more of an overarching theme to the research, though. What&#39;s different about this decision tree is it forces you to look at each question in turn to define the resulting action. Seems neat—I imagine that mindfulness would help ensure that every question is truly needed and best phrased to suit its purpose.&lt;/p&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94-(japanese)&quot;&gt;にほんご (Japanese)&lt;/h2&gt;
&lt;p&gt;Still slowly chipping away at vocabulary; reached the end of my free levels in WaniKani (level 3), so I sprung for a year’s subscription. Would like to get more consistent with practice again in June.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/agnesianwitch/status/1388275549349445638&quot;&gt;This highly-textured embroidered patch of moss&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jamesclear.com/3-2-1/april-29-2021&quot;&gt;The quote from Alice Walker in this newsletter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/blog/webaim-million-2021/&quot;&gt;WebAIM Million – 2021 Update&lt;/a&gt;. I want to highlight this observation: “Web site categories that were subject to increased civil rights complaints and lawsuits in 2020 were among the most improved.”&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kirupa.com/html5/creating_colorful_smart_shadows.htm&quot;&gt;Creating Colorful, Smart Shadows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/&quot;&gt;16px or Larger Text Prevents iOS Form Zoom&lt;/a&gt;—TIL!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/what-googles-new-page-experience-update-means-for-images-on-your-website/&quot;&gt;What Google’s New Page Experience Update Means for Images on Your Website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/family/archive/2021/05/family-secret-language-familect/618871/?mc_cid=0a74a0f9f9&amp;amp;mc_eid=e2a5a07056&quot;&gt;Why We Speak More Weirdly at Home&lt;/a&gt;: whenever my S.O. and I get sucked into our homegrown memes again—lots of pandemic togetherness—we say, “we need to see other people. Not date them, just see them.”&lt;/li&gt;
&lt;li&gt;Caught up on James Clear newsletter issues and particularly liked &lt;a href=&quot;https://jamesclear.com/3-2-1/april-15-2021?rh_ref=0ba9c410&quot;&gt;the quotes in this issue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Proposal: CSS Anchored Positioning” on Microsoft Edge Explainers</title>
      <link href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CSSAnchoredPositioning/explainer.md"/>
      <updated>2021-06-03T00:00:00.000Z</updated>
      <id>https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CSSAnchoredPositioning/explainer.md</id>
      <content type="html">
        <p>A proposal for a CSS-based positioning scheme that will enable a web developer to position a top-layer element (like the proposed &lt;popup&gt;) with respect to any other element *and* the layout viewport.</p>
        <a href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/CSSAnchoredPositioning/explainer.md">Read the article on Microsoft Edge Explainers</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Available for preview: Automatic HTTPS helps keep your browsing more secure” on Microsoft Edge Dev</title>
      <link href="https://blogs.windows.com/msedgedev/2021/06/01/available-for-preview-automatic-https-helps-keep-your-browsing-more-secure/"/>
      <updated>2021-06-01T00:00:00.000Z</updated>
      <id>https://blogs.windows.com/msedgedev/2021/06/01/available-for-preview-automatic-https-helps-keep-your-browsing-more-secure/</id>
      <content type="html">
        <p>Starting with Microsoft Edge 92, users can preview the Automatic HTTPS feature, which automatically switches your connections to websites from HTTP to HTTPS.</p>
        <a href="https://blogs.windows.com/msedgedev/2021/06/01/available-for-preview-automatic-https-helps-keep-your-browsing-more-secure/">Read the article on Microsoft Edge Dev</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2104/"/>
      <updated>2021-05-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2104/</id>
      <content type="html">&lt;div class=&quot;u-limit-width l-grid l-grid--media&quot;&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bell-blossoms-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bell-blossoms-s.jpg&quot; alt=&quot;Clusters of small white bell-shaped blossoms on a tree&quot; /&gt;
        &lt;/picture&gt;
  &lt;picture class=&quot;l-grid__item&quot;&gt;
          &lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blossom-path-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blossom-path-s.jpg&quot; alt=&quot;Cherry blossoms strewn about a sunlit path. There are lots of blossoms still on the trees, and many other trees with bright green leaves.&quot; /&gt;
        &lt;/picture&gt;
&lt;/div&gt;
&lt;p class=&quot;caption&quot;&gt;Blossoms everywhere at the Seattle Arboretum&lt;/p&gt;
&lt;p&gt;I got the first dose of the vaccine late this month! 💉🎉 Feeling very fortunate and wishing all communities had the same access to these resources. World health &amp;gt; IP and nationalism.&lt;/p&gt;
&lt;h2 id=&quot;an-event-apart-spring-summit&quot;&gt;An Event Apart Spring Summit&lt;/h2&gt;
&lt;p&gt;I had the honor of speaking at An Event Apart for the first time! My talk,&lt;br /&gt;
&lt;a href=&quot;https://aneventapart.com/event/spring-summit-2021#s27032&quot;&gt;“Semantics to Screen Readers”&lt;/a&gt;, covers how markup becomes something that assistive tech can interact with on behalf of the user—and how you can prepare your content for representation in accessibility APIs.&lt;/p&gt;
&lt;p&gt;This was the first talk I’ve done that was pre-recorded, so it was neat hanging out in chat and witnessing folks cheer each other on in their accessibility practices. We wrapped the talk with a live Q&amp;amp;A, and I had a lot of fun mulling over great questions with my host, Eric Meyer. I miss hallway chats, because it would have been nice to keep chatting with folks afterwards. Someday, someday. All in all, really well-run conference with good folks in the lineup, in the audience, and on the AEA team.&lt;/p&gt;
&lt;p&gt;There’s lots of great sessions in the lineup, and if you’re interested in catching them &lt;a href=&quot;https://store.aneventapart.com/register/2021/spring-summit&quot;&gt;there’s on-demand passes available&lt;/a&gt;. I also have a &lt;a href=&quot;https://github.com/melanierichards/talks/tree/main/2021/aea&quot;&gt;very long list of resources&lt;/a&gt; you can peruse.&lt;/p&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94-(japanese)&quot;&gt;&lt;span lang=&quot;ja&quot;&gt;にほんご&lt;/span&gt; (Japanese)&lt;/h2&gt;
&lt;p&gt;Still working on Level 3 vocabulary in &lt;a href=&quot;https://www.wanikani.com/users/somelaniesaid&quot;&gt;WaniKani&lt;/a&gt;, so I am definitely behind where I’d like to be. Oh well, still at it and every little bit counts. I keep seeming to drop or add a &lt;span lang=&quot;ja&quot;&gt;う&lt;/span&gt; and thus being just barely off the correct spelling/pronunciation for a vocab term.&lt;/p&gt;
&lt;p&gt;Also read &lt;a href=&quot;https://www.tofugu.com/japanese/naka-vs-uchi/&quot;&gt;&lt;span lang=&quot;ja&quot;&gt;中&lt;/span&gt; vs &lt;span lang=&quot;ja&quot;&gt;内&lt;/span&gt;: The Difference Between These Two Japanese Words for “Inside”&lt;/a&gt; and I think I ~75% understand the distinction.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/htop_gunder/status/1379138024294998020?s=21&quot;&gt;This baby Gozilla using a copier&lt;/a&gt;, staring into the distance and thinking about his life choices.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.citymilk.net/&quot;&gt;City Milk&lt;/a&gt;, “a little museum of old Japanese milk bottles &amp;amp; milk paraphernalia” (&lt;a href=&quot;http://blog.presentandcorrect.com/easy-lait&quot;&gt;via Present &amp;amp; Correct&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.newyorker.com/magazine/2017/06/05/the-work-you-do-the-person-you-are&quot;&gt;The work you do, the person you are&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.politico.com/amp/news/magazine/2020/12/26/books-by-the-foot-washington-dc-covid-books-440347&quot;&gt;Washington’s Secret to the Perfect Zoom Bookshelf? Buy It Wholesale.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Seasonal Cleaning Vol III</title>
      <link href="https://melanie-richards.com/blog/seasonal-cleaning-vol-iii/"/>
      <updated>2021-04-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/seasonal-cleaning-vol-iii/</id>
      <content type="html">&lt;h2 id=&quot;highlights-site&quot;&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;Highlights site&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/melanierichards/highlights/commit/249212885ece9ad08cd9c8274f916b55d3193c6a&quot;&gt;Fixed a &lt;code&gt;title&lt;/code&gt; attribute&lt;/a&gt; I broke when migrating the site to Eleventy, d’oh. 🤦‍♀️ This is what happens when we think we’re not making user-visible changes and don’t test thoroughly.&lt;/li&gt;
&lt;li&gt;Awhile ago I tried to add a couple Netlify plugins to help catch anything—accessibility or otherwise—that I might have missed via manual testing. My deploys blew up, and I lost patience at the time. I tried again now and: same thing. Digging into the Netlify logs, I found &lt;code&gt;Problem writing Eleventy templates&lt;/code&gt; errors regardless of which Netlify plugin I was working with. I noticed that the errors were referencing files in the &lt;code&gt;./.netlify/plugins/node_modules/&lt;/code&gt; directory, so basically Eleventy was trying to build from plugin dependencies. I added &lt;code&gt;./.netlify/plugins/node_modules/&lt;/code&gt; to an &lt;code&gt;.eleventyignore&lt;/code&gt; file and that fixed the issue! So, the &lt;a href=&quot;https://www.npmjs.com/package/netlify-plugin-a11y&quot;&gt;a11y plugin&lt;/a&gt; I was trying to install is now working and I &lt;a href=&quot;https://github.com/melanierichards/highlights/commit/463b6552029d97e8d483187736f85f0ec54964ca&quot;&gt;fixed a few issues as a result&lt;/a&gt; (mostly duplicate IDs within book cover SVGs).&lt;/li&gt;
&lt;li&gt;Installed the Netlify &lt;a href=&quot;https://www.npmjs.com/package/netlify-plugin-checklinks&quot;&gt;Checklinks&lt;/a&gt; and &lt;a href=&quot;https://www.npmjs.com/package/netlify-plugin-html-validate&quot;&gt;HTML Validate&lt;/a&gt; plugins and fixed a few issues.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/melanierichards/highlights/commit/3e8afceff8f4b9e3277bde188ff28794d7d795f1&quot;&gt;Added spoiler alerts&lt;/a&gt; for relevant sets of highlights. This was the first issue I ever opened on this project!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/melanierichards/highlights/commit/31c31b697f9f74e008dfe70ecdbf1026fb893135&quot;&gt;Increased the tap target&lt;/a&gt; of a “clear permalink” button. I both added a little bit of padding to increase the visual size of the button, as well as added a pseudo to increase the physical size of the target without breaking the line of the paragraphs these buttons sit inline with:&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-remove-highlight.png&quot; alt=&quot;An X button sits inline next to text, a focus ring showed around it. The focus ring nearly touches the line of text above it.&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;The “remove permalink” button at its new (visual) dimensions, displayed next to a highlighted quote from Luster by Raven Leilani&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;good-things&quot;&gt;&lt;a href=&quot;https://goodthings.melanie-richards.com/&quot;&gt;Good Things&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Installed the a11y and HTML Validate Netlify plugins and fixed just a couple validation issues.&lt;/li&gt;
&lt;li&gt;Ran an &lt;code&gt;npm audit&lt;/code&gt; and updated some dependencies.&lt;/li&gt;
&lt;li&gt;Added &lt;a href=&quot;https://github.com/melanierichards/good-things/commit/0b0cb7871e4ff6956204109223f4925b9a3c914f&quot;&gt;some spring-y things&lt;/a&gt; to the list.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;bucketlist&quot;&gt;&lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;Bucketlist&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Installed the same plugins and fixed some validation errors. This practice has pointed out to me that I still have some old-school habits of including a trailing slash in self-closing tags.&lt;/p&gt;
&lt;h2 id=&quot;fiber-blog&quot;&gt;&lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;Fiber blog&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Same song and dance with Netlify build plugins! For HTML Validate plugin integration on this project, I ended up setting &lt;a href=&quot;https://html-validate.org/rules/wcag/h30.html&quot;&gt;this link text rule&lt;/a&gt; to warn instead of fail the build. My home page link uses the &lt;code&gt;title&lt;/code&gt; attribute for its name instead of its child SVG, and the validator doesn’t recognize this as a valid pattern. I don’t want to add yet another naming mechanism to the anchor link just to please the validator and potentially end up causing a double read-out with assistive technologies: &lt;code&gt;title&lt;/code&gt; is used for the &lt;a href=&quot;https://www.w3.org/TR/html-aam-1.0/#a-element-accessible-description-computation&quot;&gt;&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; element’s accessible description&lt;/a&gt; if it was not used for the name. So, non-blocking warning it is.&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;autocomplete&lt;/code&gt; attributes to the comment form where appropriate.&lt;/li&gt;
&lt;li&gt;Made things a little less horrible-looking in IE (pretty much only fixing things that were fairly broken by the lack of custom CSS properties support, rather than just ugly).&lt;/li&gt;
&lt;li&gt;Reduced top/bottom margins on images at small viewport sizes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;this-site&quot;&gt;This site&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add. Plugins. To. ALL the things!&lt;/li&gt;
&lt;li&gt;Added IDs back to headings with &lt;a href=&quot;https://preview.npmjs.com/package/markdown-it-anchor&quot;&gt;markdownit-anchor&lt;/a&gt;; never got around to it after converting from Jekyll to Eleventy.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Mar 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2103/"/>
      <updated>2021-04-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2103/</id>
      <content type="html">&lt;h2 id=&quot;experiment-of-the-month-%F0%9F%91%A9%E2%80%8D%F0%9F%94%AC&quot;&gt;Experiment of the Month 👩‍🔬&lt;/h2&gt;
&lt;p&gt;I decided to try out a &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1364408478215729152&quot;&gt;30 day experiment&lt;/a&gt; for myself, and for this first month picked “take a mid-workday walk break”. This experiment was…not very successful. I only took a walk break 1–2 workdays out of each week. In ~half the cases my misses were due to having a ridiculous meeting schedule. On other days I was just glad to finally have time to sit down and get some non-meeting work done.&lt;/p&gt;
&lt;p&gt;Despite the low output, I think it would be worth trying this again. The first week of the experiment I actually experienced the least amount of work-induced anxiety I’ve had since switching to PM…there were potentially other confounding factors, though certainly no change in my work environment. I think that my brain was just so excited that I was doing something to take care of myself that those optimism levels got cranked to 11.&lt;/p&gt;
&lt;p&gt;Bedtime is another one I struggle with, especially with pandemic-flavored WFH. In April, my experiment will be to &lt;strong&gt;turn my devices on airplane mode at 10pm.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;python-%F0%9F%90%8D&quot;&gt;Python 🐍&lt;/h2&gt;
&lt;p&gt;As it turns out, &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1351270087206977537&quot;&gt;I could not resist&lt;/a&gt; learning a new technology: late in the month started learning Python. I was curious; it seemed like a versatile language you can do a lot with (automate stuff! Play with data!); and so here we are.&lt;/p&gt;
&lt;p&gt;To start, I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Finished setting up my &lt;a href=&quot;https://docs.microsoft.com/en-us/windows/python/web-frameworks&quot;&gt;Python environment on WSL2&lt;/a&gt; and played a bit with the interpreter on the command line.&lt;/li&gt;
&lt;li&gt;Started reading/following along with exercises in &lt;a href=&quot;https://www.py4e.com/book.php&quot;&gt;Python for Everybody&lt;/a&gt;. Thus far I’ve read through the intro to programming; variables, expressions, and statements. Charles Severance’s teaching style feels like this would be pretty approachable if you were new to programming—though I suppose I’m not the appropriate judge of that, being familiar with the concepts laid out thus far via other languages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Interesting thus far:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Variable assignment statements don’t begin with a language-reserved keyword, as they do in JavaScript (&lt;code&gt;var&lt;/code&gt;, &lt;code&gt;let&lt;/code&gt;, &lt;code&gt;const&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;The difference in types between integers and floating numbers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94-(japanese)&quot;&gt;にほんご (Japanese)&lt;/h2&gt;
&lt;p&gt;I’m just now starting Level 3 vocabulary on &lt;a href=&quot;https://www.wanikani.com/users/somelaniesaid&quot;&gt;WaniKani&lt;/a&gt;, so I’m a little behind where I’d like to be, if I’m to complete one level per month. However, there is absolutely no time pressure here, so I’m enjoying the lackadaisical pace. My favorite kanji from this level are 元 (origin), 北 (north), and 用 (task). Yes, I am picking these on aesthetics. I like how the “task” kanji sorta looks like a simplified task management UI or spreadsheet. 😁&lt;/p&gt;
&lt;p&gt;Also cool is that I’m starting to recognize a few kanji in the wild, i.e. on stationery supplies…&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://highlights.melanie-richards.com/&quot;&gt;
          &lt;picture&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-2103-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-2103-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-2103-s.png&quot; alt=&quot;My highlights site index&quot; /&gt;
        &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;Added &lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;highlights&lt;/a&gt; to the mini-site for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/eternal-life/&quot;&gt;&lt;em&gt;Eternal Life&lt;/em&gt; by Dara Horn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/keep-going/&quot;&gt;&lt;em&gt;Keep Going&lt;/em&gt; by Austin Kleon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/book/luster/&quot;&gt;&lt;em&gt;Luster&lt;/em&gt; by Raven Leilani&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/presentcorrect/status/1367101491429969924?s=21&quot;&gt;Nice Japanese floors&lt;/a&gt;: geometric patterned tiling in muted colors&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lcsd.gov.hk/CE/Museum/Arts/en_US/web/ma/collections/wu-guanzhongs-paintings-and-personal-archives.html&quot;&gt;The art of Wu Guanzhong&lt;/a&gt;, via &lt;a href=&quot;https://twitter.com/jinjinxsun/status/1369141631765647360?s=21&quot;&gt;Jinjin Sun&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/PixelArt/comments/m1nqds/bird_meeting&quot;&gt;Bird meeting!!!&lt;/a&gt; It’s so cute I want to cry. (Alt text: pixel art of a video conference call with various species of birds shown in a grid. The “currently speaking” focus rectangle highlights an ibis, a bluebird, and finally an owl)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/a-dry-approach-to-color-themes-in-css/&quot;&gt;A DRY Approach to Color Themes in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://newsletter.bringthedonuts.com/p/the-tools-dont-matter&quot;&gt;The Tools Don’t Matter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getpocket.com/explore/item/the-daily-routine-experts-recommend-for-peak-productivity&quot;&gt;The Daily Routine Experts Recommend for Peak Productivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mentalfloss.com/article/522883/25-things-you-might-not-know-about-birds-your-backyard&quot;&gt;25 Things You Might Not Know About the Birds in Your Backyard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Some quick ideas on &lt;a href=&quot;https://adactio.com/journal/17906&quot;&gt;improving the readability of long sentences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2021/03/25/big-mood/&quot;&gt;Big Mood&lt;/a&gt;, particularly the bit on corroboration&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Feb 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2102/"/>
      <updated>2021-03-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2102/</id>
      <content type="html">&lt;h2 id=&quot;an-event-apart&quot;&gt;An Event Apart&lt;/h2&gt;
&lt;p&gt;During my weekend project time in February I’ve mostly been working away at my talk for &lt;a href=&quot;https://aneventapart.com/event/spring-summit-2021#s27032&quot;&gt;An Event Apart’s Spring Summit&lt;/a&gt;! It’s my first time speaking with them and I’m very excited to nerd out on accessibility with this audience. My talk, “Semantics to Screen Readers” will focus on how markup becomes something that assistive technologies can understand and interact with on behalf of the user. There will be a lot of nitty gritty details on how this all works, and how that impacts web devs who want to create accessible content…and chase down the source of bugs! I’m currently having way too much fun giving my slides 90s flair…&lt;/p&gt;
&lt;h2 id=&quot;fiber-crafts&quot;&gt;Fiber crafts&lt;/h2&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-s.jpg&quot; alt=&quot;The blog home page, showing a couple recent project posts, and a list of current/upcoming projects&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I started a &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;blog for my fiber crafts&lt;/a&gt; earlier this year and &lt;a href=&quot;https://melanie-richards.com/blog/fiber-blog/&quot;&gt;wrote a bit about it&lt;/a&gt;, including which direction I went in for JAMstack comments. Most recently in my craft projects I’ve been &lt;a href=&quot;https://fiber.melanie-richards.com/leftovers-upon-leftovers/&quot;&gt;using up leftover cotton yarn&lt;/a&gt; and &lt;a href=&quot;https://fiber.melanie-richards.com/all-the-small-things/&quot;&gt;sewing up a bunch of small things&lt;/a&gt;. I also recently sewed up a pouf ottoman (saving a surprising amount of money) and will probably blog about that once I’ve made a matching quilted pillow case.&lt;/p&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94-(japanese)&quot;&gt;にほんご (Japanese)&lt;/h2&gt;
&lt;p&gt;Steadily working on kanji/vocab study through &lt;a href=&quot;https://www.wanikani.com/&quot;&gt;WaniKani&lt;/a&gt;, and I’ve just finished with level 2. At my current pace I’m currently getting through ~1 level per month, which means I’ll finish all the levels in…roughly 5 years. I could stand to get a little more consistent about study, and maybe increase the number of terms I’m learning at a time. But it is nice to chip away at something at a relaxed but consistency pace. No reason to rush right now!&lt;/p&gt;
&lt;p&gt;Some favorite kanji from this level: 火 for fire, because it sort looks like a little guy running around screaming “help! I’m on fire!”; 月 (moon) is pretty cute; and 本 (book) because…books! I also love very literal combinations of kanji. For example, 子犬 = child-dog = puppy. These are fun to collect in any language. I enjoy the term &lt;em&gt;paraguas&lt;/em&gt; in Spanish: literally it translates to stop-water. It means “umbrella”.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;p&gt;Tickled by &lt;a href=&quot;https://mobile.twitter.com/EmilyYoon/status/1357202460415201282&quot;&gt;this vintage new-folder naming schema on Korean computers&lt;/a&gt;, especially given the current trend in the ads privacy space to name new standards proposals after birds. 🐦&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jayfreestone.com/writing/bulletproof-flag/&quot;&gt;Bulletproof flag components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/2021/02/useful-chrome-firefox-devtools-tips-shortcuts/&quot;&gt;Useful DevTools Tips And Shortcuts (Chrome, Firefox, Edge)&lt;/a&gt;: found it really interesting to read how Smashing Mag uses browser profiles in testing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/2021/02/building-personal-learning-curriculum/&quot;&gt;Building Your Own Personal Learning Curriculum&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work%2C-productivity%2C-and-creativity&quot;&gt;Work, productivity, and creativity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20140201230239/https://the-toast.net/2014/01/29/everyone-imposter-syndrome-except/&quot;&gt;Everyone Has Imposter Syndrome Except For You&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2021/02/06/style/work-life-balance-tips-pandemic.html&quot;&gt;Remember: What You Do Is Not Who You Are&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sive.rs/obvious&quot;&gt;Obvious to you, amazing to others&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2021/02/16/pointing-at-things/&quot;&gt;Pointing at things&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2021/02/dont-underestimate-the-power-of-a-walk&quot;&gt;Don’t Underestimate the Power of a Walk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rosieleizrowice.com/blog/self-experimentation&quot;&gt;Try more stuff: the benefits of 30-day self-experiments&lt;/a&gt; (and &lt;a href=&quot;https://www.rosieleizrowice.com/blog/38-experiments&quot;&gt;some clever ideas for this&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kosoff.medium.com/i-hate-talking-about-the-pandemic-wall-f66fd716f2fd&quot;&gt;I Hate Talking About The “Pandemic Wall”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nosidebar.com/finding-happy/&quot;&gt;Finding Happy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>A fiber crafts blog and JAMstack comments</title>
      <link href="https://melanie-richards.com/blog/fiber-blog/"/>
      <updated>2021-02-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/fiber-blog/</id>
      <content type="html">&lt;p&gt;I don’t know about you, but I’ve reached a point of exhaustion with screens amidst this pandemic, and have realized that my analog creative outlets give me the most joy in the Era of Video Chats. Being able to make things with my hands and observe real, tangible progress is just more exhilarating these days.&lt;/p&gt;
&lt;p&gt;As I’m exploring more in knitting, sewing, and weaving, I wanted a cohesive place to record what I’m making and how my skills are growing. To that end, I’ve put together a &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;fiber crafts blog&lt;/a&gt; where I’m documenting my projects:&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-s.jpg&quot; alt=&quot;The blog home page, showing a couple recent project posts, and a list of current/upcoming projects&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;The three geometric blocks in the header represent knitting, sewing, and weaving, and each post has a flag according to which craft it’s been filed under.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-footer-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-footer-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-footer-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-footer-s.jpg&quot; alt=&quot;A footer with a personal bio and very bright, geometric pattern of vector quilt-block shapes done up in red, yellow, and blue.&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;A return to ridiculous footers.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-dark-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-dark-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-dark-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-blog-dark-s.jpg&quot; alt=&quot;The home page rendered with a very dark navy page background, and purplish-blue tiles for the blog post links instead of a blush color&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;Dark mode!&lt;/p&gt;
&lt;p&gt;I won’t stick to a specific schedule, instead only posting when I have something to share. You can get a sense of the slow-and-steady pace of these fiber projects based on the number of posts that are on the blog now. 😊 Even though the fiber communities I want to participate in are largely on a couple social media platforms at the moment, I’m choosing to invest more in the blogging community—I don’t love these social platforms’ business models, and I hope more people return to owning their own content.&lt;/p&gt;
&lt;h2 id=&quot;jamstack-comments&quot;&gt;JAMstack comments&lt;/h2&gt;
&lt;p&gt;Speaking of communities and owning one’s own content, I wanted to be able to support comments on the fiber blog. I’m pretty much all-in on Eleventy + Netlify for most side projects at this point, and I hadn’t really explored the commenting solutions available for a site running on an SSG (static site generator) until now.&lt;/p&gt;
&lt;p&gt;My requirements were that such a system be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessible&lt;/li&gt;
&lt;li&gt;Performant&lt;/li&gt;
&lt;li&gt;Privacy-preserving&lt;/li&gt;
&lt;li&gt;No more than ~$5/mo&lt;/li&gt;
&lt;li&gt;Appropriate for people who aren’t familiar with Github or Webmentions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have long ruled out Disqus due to its loading a hefty weight of JavaScript, much of it in service to user tracking behaviors.&lt;/p&gt;
&lt;p&gt;The first solution I looked at was &lt;a href=&quot;https://css-tricks.com/jamstack-comments/&quot;&gt;this comments engine&lt;/a&gt;, and at first blush it seemed a little overcomplicated to me: perhaps a bit funny to re-generate the site each time I moderate a comment. After looking into &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1346294125495140354&quot;&gt;some other options that perhaps you might be interested in&lt;/a&gt;, I ended up returning to that initial comments engine. I liked that it already integrated really well with my setup (Eleventy and Netlify), and I wouldn’t really have to pull in any new dependencies to get comments working.&lt;/p&gt;
&lt;p&gt;That being said, I did simplify a couple things. That JAMstack comments engine uses two separate Netlify forms: one to collect submissions, and another to host moderated comments. Submission notifications are sent to Slack, where the site owner can approve/deny the given comment, pushing it to the second form, which subsequently triggers a build. That doesn’t integrate very well with my workflow. My day job &lt;em&gt;mostly&lt;/em&gt; operates out of Microsoft Teams these days, so I do a poor job of paying attention to Slack. I also don’t expect to get very many comments on this site at all. So I skipped all this business with multiple forms and Lambda functions and made the workflow slightly less automated/intelligent. Whenever a comment is submitted through the form, I get an email notification. I can review these as a batch (&lt;em&gt;if&lt;/em&gt; there is a batch!) and trigger a build when I’m happy with the moderation.&lt;/p&gt;
&lt;p&gt;Depending on one form like this does leave you somewhat open to accidentally pushing a build-triggering change before comments have been fully moderated. Given the rate of comments I expect to receive and the rate of changes I expect to push, I don’t really anticipate this being an issue. But I might revisit this at some point because if you can believe it, human errors do happen! All of the time!&lt;/p&gt;
&lt;p&gt;That is probably sufficient rambling on JAMstack comments solutions, so &lt;a href=&quot;https://fiber.melanie-richards.com/&quot;&gt;check out the blog&lt;/a&gt; if fiber crafts are your idea of fun!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>““What’s Next For HTML Controls?” on Smashing Podcast” on Smashing Podcast</title>
      <link href="https://www.smashingmagazine.com/2021/02/smashing-podcast-episode-35/"/>
      <updated>2021-02-11T00:00:00.000Z</updated>
      <id>https://www.smashingmagazine.com/2021/02/smashing-podcast-episode-35/</id>
      <content type="html">
        <p>My first time recording a podcast episode! Had a lot of fun chatting about controls with Steph and Drew. Check it out if you&#39;re into rambly opining on controls customizability.</p>
        <a href="https://www.smashingmagazine.com/2021/02/smashing-podcast-episode-35/">Read the article on Smashing Podcast</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2021</title>
      <link href="https://melanie-richards.com/blog/learning-log-2101/"/>
      <updated>2021-02-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2101/</id>
      <content type="html">&lt;p&gt;Whew, it’s been a busy month. Lots of work projects hitting the ground running in the new year, including but certainly not limited to a &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md&quot;&gt;proposal we published for a new &lt;code&gt;&amp;lt;popup&amp;gt;&lt;/code&gt; element&lt;/a&gt;. Outside of work: a little bit of pro bono work here, some talk writing here, etc.&lt;/p&gt;
&lt;p&gt;I’ve realized recently that the creative outlets giving me the most joy during the pandemic are my analog hobbies. Ever less interest in extra screen time, ever more satisfaction from making something with my hands. A couple things I’ve done this month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Took a lunch break to join a virtual urban sketching session (actually took a lunch break!! I bestow upon myself a medal. 🥇)&lt;/li&gt;
&lt;li&gt;Finished a knitted dish cloth with leftover cotton yarn from a woven tapestry.&lt;/li&gt;
&lt;li&gt;Sewed some &lt;em&gt;more&lt;/em&gt; masks—this is the last batch, I’m over it!&lt;/li&gt;
&lt;li&gt;Half-finished some pine needle sachets; currently working on filling those.&lt;/li&gt;
&lt;li&gt;Half-finished a pouf ottoman, for which I need more polyfil.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’ll be documenting a lot of this on a fiber arts blog I’m putting together, to be shared soon…&lt;/p&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94-(japanese)&quot;&gt;にほんご (Japanese)&lt;/h2&gt;
&lt;p&gt;I started using &lt;a href=&quot;https://www.wanikani.com/&quot;&gt;WaniKani&lt;/a&gt; to learn kanji, and I’m currently learning level 2 kanji. WaniKani uses mnemonics to help you remember the various different characters. I found these too goofy at first and yet one more thing to memorize, so I didn’t consciously try to recall these for the first few lessons. Then, of course, I noticed that the meanings/readings I was recalling more successfully were those where I happened to remember the little backstory they provided. Alright, I guess I’m sold on mnemonics! I can now apparently recognize and read 60 radicals, 26 kanji, and 40 vocabulary terms (built from kanji and/or hiragana). I especially like the character meaning “river”: 川&lt;/p&gt;
&lt;p&gt;I should change the spelling in this blog post heading once I learn all the kanji in the word “Japanese”: 日本語 I’ve already come across the first two (“sun” and “book”, respectively), but as WaniKani focuses on simple forms first, I think it’ll be awhile until I get to that last character…&lt;/p&gt;
&lt;p&gt;Also read &lt;a href=&quot;https://www.tofugu.com/japanese/onyomi-kunyomi/&quot;&gt;this article on on-yomi and kun-yomi readings&lt;/a&gt;, which illustrates all the many fun exceptions to the exceptions in Japanese. I’d known that the kanji system had its genesis in China and that on-yomi pronunciations were borrowed from Chinese, but this article helped fill in a little more context on the history and evolution as well&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/ArtSciencePasta/status/1349129116549787658&quot;&gt;This simple self-care guide&lt;/a&gt; 😉&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/dancohen/status/1350831682350415872&quot;&gt;The “Never Been Seen” museum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://howlongtoread.com/&quot;&gt;How Long to Read&lt;/a&gt; tells you how long it’ll take to read a book, based on the average time or your own reading speed&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/video/index/485297/turn-anxiety-into-excitement/&quot;&gt;How to Turn Anxiety Into Excitement&lt;/a&gt;: I don’t know how you quantify 17% more persuasive, but I’ll take it&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/FroyoTam/status/1354291706108076060&quot;&gt;Susan Kare’s wallpaper for Microsoft (1989)&lt;/a&gt;: proof of my opinion that pixel art and weaving are close cousins&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/byscottmiller/status/1355608872556376064&quot;&gt;This richly-detailed mini house&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tink.uk/thoughts-on-screen-readers-and-image-recognition/&quot;&gt;Thoughts on screen readers and image recognition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2021/01/02/30-day-practice-and-suck-less-challenge/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+austinkleon+%28AUSTIN+KLEON+-+BLOG%29&quot;&gt;30-day “Practice and Suck Less” challenge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2021/01/17/mary-ruefles-madness-rack-and-honey/&quot;&gt;Mary Ruefle’s Madness, Rack, and Honey&lt;/a&gt;: “fear is overcome by procedure”&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Enabling Popups” on Microsoft Edge Explainers</title>
      <link href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md"/>
      <updated>2021-01-26T00:00:00.000Z</updated>
      <id>https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md</id>
      <content type="html">
        <p>An early proposal for a new popup HTML element. This element would unlock a broad range of UI whose top-layer positioning would be managed by the browser rendering engine.</p>
        <a href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md">Read the article on Microsoft Edge Explainers</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Dec 2020</title>
      <link href="https://melanie-richards.com/blog/learning-log-2012/"/>
      <updated>2020-12-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2012/</id>
      <content type="html">&lt;p&gt;Work/life balance was a dubious concept prior to the holidays, so many of the investments I made into self-directed learning came after the holiday break. The exception was some Japanese study!&lt;/p&gt;
&lt;h2 id=&quot;%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94&quot;&gt;にほんご&lt;/h2&gt;
&lt;p&gt;Many moons ago, I started learning a bit of Japanese in preparation for travel to the country. I actually can&#39;t recall what the trigger was to revisit the language, but I&#39;ve started studying Japanese again:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I started by spending some time refreshing and practicing my kana. Hiragana has always been easier for me than katakana (used for borrowed words). Maybe because so many of the forms look very similar in katakana, and you come across these less often in early vocabulary.&lt;/li&gt;
&lt;li&gt;I&#39;ve picked up my copy of the Genki textbook and am working through the first chapter (some basic greetings, time telling, numbers, etc).&lt;/li&gt;
&lt;li&gt;I started using &lt;a href=&quot;https://ankiweb.net/&quot;&gt;Anki&lt;/a&gt; for flashcards, which seems to be pretty widely used in language-study communities. Likely because it naturally helps support a spaced-repetition practice: you can select whether a term was easy/hard/needs another repeat, and Anki will schedule when to next show you that term. I also like the fact that you can export flashcard decks. The native apps are ugly as sin, so I pretty exclusively use the mobile web app.&lt;/li&gt;
&lt;li&gt;At some point I discovered the &amp;quot;flick&amp;quot; gesture on iOS&#39;s Japanese keyboard, which makes it so much easier to type out kana. Instead of tapping &lt;code&gt;か&lt;/code&gt;, then holding and dragging to select &lt;code&gt;き&lt;/code&gt;, you can simply swipe left from &lt;code&gt;か&lt;/code&gt; and the keyboard will select &lt;code&gt;き&lt;/code&gt; for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;3d-art&quot;&gt;3D Art&lt;/h2&gt;
&lt;p&gt;Speaking of picking study up again, staycation gave me the chance to pick back up on &lt;a href=&quot;https://www.3dfordesigners.com/&quot;&gt;3D for Designers&lt;/a&gt;. Working through the &amp;quot;form&amp;quot; section and really excited about the tools available to 3D-ify type!&lt;/p&gt;
&lt;h2 id=&quot;a-fiber-blog&quot;&gt;A Fiber Blog&lt;/h2&gt;
&lt;p&gt;I also spent some of my free time putting together a blog for my fiber crafts.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width special-fiber-header&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-header-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-header-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-header-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fiber-header-s.jpg&quot; alt=&quot;Site header that says Melanie Richards is knitting, sewing, and weaving&quot; /&gt;
        &lt;/picture&gt;
&lt;style&gt;.special-fiber-header {border: 2px solid #ccc;}&lt;/style&gt;
&lt;p&gt;I&#39;d like to level up certain skills in all 3 hobbies: knitting, sewing, and weaving. It would be neat if someday most of my wardrobe was homemade. There&#39;s a really great and joyous community around these crafts (sewing in particular, IMHO) and I&#39;d like to participate in that culture of open learning. Unfortunately fiber cultures are mostly centered around a certain social media network, but who knows—maybe RSS will make a comeback someday, or we&#39;ll all move on to another social platform. I&#39;m spinning up a blog because I&#39;d like to document my progress all in one place and, well, I&#39;d like to see indie blogs make a comeback!&lt;/p&gt;
&lt;p&gt;Working on the first couple blog posts and the moment and will publish the site in early January.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ordered a new Filco for my forever-at-home &amp;quot;office&amp;quot; and fell deep down a mechanical keyboard rabbit hole. Scheming about making keycaps from &lt;a href=&quot;https://m.youtube.com/watch?v=CmZ_Z_370so&quot;&gt;polymer clay&lt;/a&gt; or resin. I should probably chill on hobbies just a *little* bit, so for now I&#39;ll take your recs on favorite keycap sources!&lt;/li&gt;
&lt;li&gt;Delighted by the ceramic art of Katie Rose Johnston. I love this &lt;a href=&quot;https://www.instagram.com/p/CF6q2h_ljol/?igshid=qv5s6pe9e5ez&quot;&gt;multi-compartmental, multi-legged shelf&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/adding-it-all-up-the-math-behind-designing-your-career/&quot;&gt;Adding it all up: the math behind designing your career&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2020/12/02/business/japan-old-companies.html&quot;&gt;This Japanese Shop Is 1,020 Years Old. It Knows a Bit About Surviving Crises.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://seattle.urbansketchers.org/2020/12/early-riser.html&quot;&gt;Early Riser&lt;/a&gt; almost makes me want to be an early worm. Almost.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.foodandwine.com/lifestyle/kitchen/dont-be-weird-about-cast-iron&quot;&gt;Don&#39;t Be Weird About Cast Iron&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thecreativeindependent.com/people/tips-for-how-to-prioritize-your-project-ideas/&quot;&gt;How to prioritize your project ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://eyeondesign.aiga.org/in-defense-of-generalism/&quot;&gt;In Defense of Generalism&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;syllabus-by-lynda-barry&quot;&gt;&lt;em&gt;Syllabus&lt;/em&gt; by Lynda Barry&lt;/h3&gt;
&lt;p&gt;Leaving you with a couple quotes on creativity and image-making from &lt;a href=&quot;https://bookshop.org/a/15644/9781770461611&quot;&gt;Lynda Barry&lt;/a&gt; (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2012/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Daily practice with images both written and drawn is rare once we have lost our baby teeth and begin to think of ourselves as good at some things and bad at other things. It&#39;s not that this isn&#39;t true…but the side effects are profound once we abandon a certain activity like drawing because we are bad at it. A certain state of mind—(what McGilchrist might call &amp;quot;attention&amp;quot;) is also lost. A certain capacity of the mind is shuttered and for most people, it stays that way for life. It is a bad trade.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We know that athletes, musicians, and actors all have to practice, rehearse, repeat things until it gets into the body, the &amp;quot;muscle memory&amp;quot;, but for some reason, writers and visual artists think they have to be inspired before they make something. Not suspecting the physical act of writing or sdrawing is what brings that inspiration about. Worrying about its worth and value to others &lt;em&gt;before it exists&lt;/em&gt; can keep us immobilized forever. Any story we write or picture we  make cannot demonstrate its worth until we write it or draw it. The answer can&#39;t come to us any other way.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Keep making, even if things turn out wonky. Try not to &lt;a href=&quot;https://melanie-richards.com/blog/advice-to-stick-to-ones-forehead/&quot;&gt;mind the gap&lt;/a&gt;.&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/learning-log-2012/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2020 in Review</title>
      <link href="https://melanie-richards.com/blog/2020-review/"/>
      <updated>2020-12-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2020-review/</id>
      <content type="html">&lt;p&gt;2020 was the year of plans changed, of systemic inequities laid bare by a global pandemic. With all that 2020 demanded, just getting through this year is an incredible achievement in itself.&lt;/p&gt;
&lt;p&gt;A lot of us are looking at a shorter than usual “highlights reel” this year. Maybe that reel feels entirely nonexistent. Maybe you actually &lt;em&gt;thrived&lt;/em&gt; in these conditions. Whatever the case may be, I hope you can afford yourself some grace during a time that was difficult for so many. I hope you can feel proud of your resourcefulness and ability to adapt in the face of significant, long-term challenges. And if you experienced any painful losses this year, I just want to send all the love your way.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;p&gt;This year I was lucky enough to stay healthy and employed. Not being able to see my family for so long (they live in the opposite corner of the country) has admittedly been taking its toll on me. I am, however, thankful for more FaceTime than ever with my parents, siblings, and my sweet/funny &lt;s&gt;baby&lt;/s&gt; toddler niece. Whenever I feel safe enough to travel again, these are people who will be getting a too-long hug.&lt;/p&gt;
&lt;p&gt;Other highlights, whilst I am counting my blessings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A trip to India:&lt;/strong&gt; I got to visit Delhi / Agra / Jaipur with my S.O. and a few friends &lt;em&gt;right&lt;/em&gt; before the pandemic hit at global scale (we were boarding the plane home as the first cases were emerging in Seattle). I am so thankful we got to see a little bit more of the world before being stuck inside our homes for months on end. One of the best things about that trip was getting to meet my S.O.’s [absolutely lovely] parents, and I’m so glad he got to spend time with his family before travel became a no-go.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://mybuild.microsoft.com/sessions/f4134be8-0e49-40e3-a8a2-935ec397c8fa?source=speakerdetail&quot;&gt;Speaking at Build&lt;/a&gt;:&lt;/strong&gt; I gave an overview of what we’re building at Microsoft Edge on top of the Chromium project. This was: 1) my first time speaking at Build, 2) my first time &lt;em&gt;“attending”&lt;/em&gt; Build, 3) my first online-only speaking engagement, and 4) the first time I’ve given the same talk multiple times at a conference (once at 1:30am PST!). It is truly bizarre staring into the lens on your computer and later learning that you were speaking live to a couple thousand people. 😱&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;I was promoted to Senior PM!&lt;/strong&gt; I don’t really talk about my promotions, but this one felt more meaningful to me. Perhaps because program management is something I’ve learned 100% on the job (whereas when I was a designer/developer I held a graphic design BFA).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blogging:&lt;/strong&gt; I wrote 21 blog posts on things like &lt;a href=&quot;https://melanie-richards.com/blog/css-grid-sticky/&quot;&gt;sticky grid items&lt;/a&gt;, &lt;a href=&quot;https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/&quot;&gt;forced colors standards&lt;/a&gt; (still one of my favorite web platform advancements I’ve contributed to), &lt;a href=&quot;https://blogs.windows.com/msedgedev/2020/07/23/reducing-distractions-quiet-notification-requests/&quot;&gt;quiet notifications&lt;/a&gt;, and &lt;a href=&quot;https://melanie-richards.com/blog/lefty-pen-test/&quot;&gt;you know, pens&lt;/a&gt;. A tiny group of friends and I have recently been getting together online to write blog posts. The solidarity is a really nice motivator, so if we’re mutual online/IRL friends, let me know if you’d like to join us!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://goodthings.melanie-richards.com/&quot;&gt;Good Things&lt;/a&gt;:&lt;/strong&gt; my list of good things has been a solace to me in the pandemic more than once. &lt;a href=&quot;https://melanie-richards.com/blog/good-things/&quot;&gt;This blog post&lt;/a&gt; goes into a little more detail. Feel free to fork and create your own personal list of good things.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moving in with my S.O.:&lt;/strong&gt; over the summer we moved into an apartment together, and it’s been soooo much nicer than shuttling back and forth between our respective apartments on the weekends.&lt;/li&gt;
&lt;li&gt;A new-found appreciation for walks around the neighborhood.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;media&quot;&gt;Media&lt;/h2&gt;
&lt;h3 id=&quot;books&quot;&gt;Books&lt;/h3&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-books-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-books-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-books-s.jpg&quot; alt=&quot;Collage of a bunch of book covers listed at the goodreads link&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;&lt;a href=&quot;https://www.goodreads.com/review/list/2236850-melanie-richards?shelf=2020&quot;&gt;I read 64 books this year&lt;/a&gt;! I’m slowly working my way through the shamefully-large piles of books that I own but hadn’t yet read. I’ve also been taking advantage of eBook loans from the library and eagerly awaiting my branch reopening for physical books.&lt;/p&gt;
&lt;p&gt;My reads were a pretty good balance of fiction and nonfiction, and I discovered this year that I really enjoy food industry memoirs. Here’s a &lt;a href=&quot;https://bookshop.org/lists/2020-favorite-books-a6379447-e518-48ce-9cea-896222285d47&quot;&gt;few favorite books&lt;/a&gt; I read this year (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/2020-review/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780062917607&quot;&gt;10% Happier&lt;/a&gt; by Dan Harris&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780142420911&quot;&gt;Akata Witch&lt;/a&gt; by Nnedi Okorafor&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780143128090&quot;&gt;Cork Dork&lt;/a&gt; by Bianca Bosker&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781524759216&quot;&gt;Eat a Peach&lt;/a&gt; by David Chang&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780393356564&quot;&gt;Eternal Life&lt;/a&gt; by Dara Horn&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780735224315&quot;&gt;Little Fires Everywhere&lt;/a&gt; by Celeste Ng&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780374194321&quot;&gt;Luster&lt;/a&gt; by Raven Leilani&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781250192752&quot;&gt;Sourdough&lt;/a&gt; by Robin Sloan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781101983638&quot;&gt;Stir&lt;/a&gt; by Jessica Fechtor&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780525436140&quot;&gt;There, There&lt;/a&gt; by Tommy Orange&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9780525536291&quot;&gt;The Vanishing Half&lt;/a&gt; by Brit Bennett&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bookshop.org/a/15644/9781524748098&quot;&gt;We Ride Upon Sticks&lt;/a&gt; by Quan Barry&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;small&gt;Note: these are affiliate Bookshop links. Feel free to buy/borrow books from wherever you like, but consider supporting small businesses over *ahem* gigantic online mono-retailers.&lt;/small&gt;&lt;/p&gt;
&lt;h3 id=&quot;music&quot;&gt;Music&lt;/h3&gt;
&lt;p&gt;Playlists of random songs I enjoyed or had on loop:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://open.spotify.com/playlist/5rnByU8Ae7z3R4RqihI4hV?si=93o0RGzTTjeoAxXGi4Skrw&quot;&gt;2019/2020 — Winter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open.spotify.com/playlist/2kEjMUqvRDcFz9abatKLk9&quot;&gt;2020 — Spring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;No summer playlist, sometimes life is like that.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open.spotify.com/playlist/5EjKZvPckW1RCt3NaDwrbH&quot;&gt;2020 — Autumn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Continued listening quite a lot to the ladies of &lt;a href=&quot;https://open.spotify.com/album/6RjlLIuDFC8Dw91yRAdPz9&quot;&gt;boygenius&lt;/a&gt;, as well as indie instrumental (not sure what you’d call that Album Leaf / Kruangbin / Tycho / Washed Out genre).&lt;/p&gt;
&lt;p&gt;I’d like to discover and listen to more music in 2021. My listening habits have been lighter in the past few years as I’ve leaned more on podcasts (e.g. while doing chores or going for a run) and I now have a role where even less of my work activities can be done with music in the background.&lt;/p&gt;
&lt;h3 id=&quot;movies%2Ftv&quot;&gt;Movies/TV&lt;/h3&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-movies-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-movies-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-movies-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2020-movies-s.jpg&quot; alt=&quot;Collage of posters for the movies listed&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I watched &lt;a href=&quot;https://letterboxd.com/somelaniesaid/films/diary/for/2020/&quot;&gt;32 movies&lt;/a&gt; this year, many of them during the holiday break. Favorites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/doctor-sleep/&quot;&gt;Doctor Sleep&lt;/a&gt; (Kind of surprised how much I liked this one)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/good-boys-2019/&quot;&gt;Good Boys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/palm-springs-2020/&quot;&gt;Palm Springs&lt;/a&gt; (Same surprise)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/parasite-2019/&quot;&gt;Parasite&lt;/a&gt; (One of two movies I watched in the theater)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/portrait-of-a-lady-on-fire/&quot;&gt;Portrait of a Lady on Fire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/film/soul-2020/&quot;&gt;Soul&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I don’t track my TV watching anywhere so I kind of forget what all I watched…we have been watching and enjoying a lot of British series for whatever reason: &lt;a href=&quot;https://www.imdb.com/title/tt1877368/&quot;&gt;GBBO&lt;/a&gt;, &lt;a href=&quot;https://www.imdb.com/title/tt6417190/&quot;&gt;The Great Pottery Throwdown&lt;/a&gt;, &lt;a href=&quot;https://www.imdb.com/title/tt8001106/&quot;&gt;Giri / Haji&lt;/a&gt;, &lt;a href=&quot;https://www.imdb.com/title/tt7016936/&quot;&gt;Killing Eve&lt;/a&gt;…I’m not a big TV watcher so I’ve been amazed at the speed at which everyone seems to be binge watching Netflix shows. By the time I get around to a show, the zeitgeist has already passed.&lt;/p&gt;
&lt;h2 id=&quot;2021&quot;&gt;2021&lt;/h2&gt;
&lt;p&gt;2020 underscored my suspicion of year-long goals, as so much can change best-laid plans. In 2021, I’ll again stick to quarterly personal goals when aiming for something specific. That’s enough time to focus on a few priorities while remaining flexible.&lt;/p&gt;
&lt;p&gt;There are, however, a couple “themes” I want to center in 2021:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trust in your own dang self.&lt;/li&gt;
&lt;li&gt;Find freedom and excellence through consistency.&lt;/li&gt;
&lt;li&gt;Remember that life is found in the small things.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wishing you all good things in 2021. 🌠&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/2020-review/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Sticky CSS Grid Items</title>
      <link href="https://melanie-richards.com/blog/css-grid-sticky/"/>
      <updated>2020-12-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/css-grid-sticky/</id>
      <content type="html">&lt;p&gt;If you’ve ever tried to put a sticky item in a grid layout and watched the item scroll away with the rest of the content, you might have come to the conclusion that &lt;code&gt;position: sticky&lt;/code&gt; doesn’t work with CSS Grid. Fear not! It &lt;em&gt;is&lt;/em&gt; possible to get these two layout concepts working together. All you likely need is one more line of CSS.&lt;/p&gt;
&lt;h2 id=&quot;the-problem&quot;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;Let’s start with the root issue you’re likely running into, because it’s not always obvious at first why your grid item isn’t sticking.&lt;/p&gt;
&lt;p&gt;Suppose we’re putting together a template layout for articles on various candies. We have our title in the left-hand column of a grid layout, and have set the title to be sticky:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;article {
  display: grid;
  grid-template-columns: 20em 1fr;
  grid-gap: 4em;
}

.title {
  position: sticky;
  top: 2rem;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Unfortunately, our title isn’t sticking to the top of the viewport, but instead scrolls away with the rest of the text:&lt;/p&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;600&quot; data-theme-id=&quot;dark&quot; data-default-tab=&quot;result&quot; data-user=&quot;somelaniesaid&quot; data-slug-hash=&quot;ExyKBNR&quot; style=&quot;height: 600px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;&quot; data-pen-title=&quot;Blog post &amp;amp;gt; grid + sticky &amp;amp;gt; demo 1&quot;&gt;
  &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/ExyKBNR&quot;&gt;
  Blog post &amp;gt; grid + sticky &amp;gt; demo 1&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;script async=&quot;&quot; src=&quot;https://static.codepen.io/assets/embed/ei.js&quot;&gt;&lt;/script&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If we throw a border on our sticky title (or use a &lt;a href=&quot;https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/css/grid&quot;&gt;CSS Grid inspector&lt;/a&gt;), our root issue becomes more obvious:&lt;/p&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;600&quot; data-theme-id=&quot;dark&quot; data-default-tab=&quot;result&quot; data-user=&quot;somelaniesaid&quot; data-slug-hash=&quot;RwRazxw&quot; style=&quot;height: 600px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;&quot; data-pen-title=&quot;Blog post &amp;amp;gt; grid + sticky &amp;amp;gt; demo 2&quot;&gt;
  &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/RwRazxw&quot;&gt;
  Blog post &amp;gt; grid + sticky &amp;gt; demo 2&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;The CSS Grid item sizing algorithm has effectively sized the grid item (our sticky title) to fill the height of the grid slot it has been placed in. We don’t see any sticky effects because its computed height is the same as the content in the grid slot beside it.&lt;/p&gt;
&lt;h3 id=&quot;nitty-gritty-details-on-sizing&quot;&gt;Nitty gritty details on sizing&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Things are about to get nerdy, skip to &lt;a href=&quot;https://melanie-richards.com/blog/css-grid-sticky/#how-to-fix-it&quot;&gt;“How to fix it”&lt;/a&gt; if you just want the solution!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Because we didn’t use any CSS properties that specify how to size our grid items (we will get to these in a minute!), CSS Grid defaulted to its &lt;a href=&quot;https://www.w3.org/TR/css-grid-1/#grid-item-sizing&quot;&gt;“normal” sizing algorithm&lt;/a&gt; when determining the sticky title’s size.&lt;/p&gt;
&lt;p&gt;Our title, an &lt;code&gt;h1&lt;/code&gt;…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is not a &lt;a href=&quot;https://drafts.csswg.org/css-display/#replaced-element&quot;&gt;replaced element&lt;/a&gt;, such as an &lt;code&gt;img&lt;/code&gt;, &lt;code&gt;video&lt;/code&gt;, &lt;code&gt;embed&lt;/code&gt;, &lt;code&gt;iframe&lt;/code&gt;, etc. These have special sizing rules.&lt;/li&gt;
&lt;li&gt;Does not have a “preferred aspect ratio”. Such an intrinsic aspect ratio can be set to particular elements by the user agent’s stylesheet, or by using the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio&quot;&gt;&lt;code&gt;aspect-ratio&lt;/code&gt; property&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…therefore, the algorithm fell back to a “stretch” sizing scheme. This basically ensures that the box’s size in this dimension is set to fill the layout container it’s in (to simplify, the grid slot).&lt;/p&gt;
&lt;h2 id=&quot;how-to-fix-it&quot;&gt;How to fix it&lt;/h2&gt;
&lt;p&gt;One way to address this is to specify an extrinsic height dimension for our sticky title, e.g. &lt;code&gt;height: 10em&lt;/code&gt;, &lt;code&gt;max-height: 50vh&lt;/code&gt;, whatever. Specifying such a literal height for our content is hacky though—we don’t want a specific height, we want the computed height to be just enough to accommodate the element’s contents. Instead we can change how this element is aligned to the grid slot.&lt;/p&gt;
&lt;p&gt;We can specify one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/align-self&quot;&gt;&lt;code&gt;align-self&lt;/code&gt;&lt;/a&gt;: this property, when specified on the sticky title, tells the element how to align itself to the block direction of the grid slot it’s in. &lt;code&gt;align-self: start&lt;/code&gt; would work nicely in our example, as it will align the item to the “start” edge of the grid slot (in this context, the top edge).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/align-items&quot;&gt;&lt;code&gt;align-items&lt;/code&gt;&lt;/a&gt;: this property, when specified on the &lt;code&gt;article&lt;/code&gt; (our grid parent), tells each grid item how to align itself to the block direction of the grid slot it’s in.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Note: the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/place-self&quot;&gt;&lt;code&gt;place-self&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/place-self&quot;&gt;&lt;code&gt;place-items&lt;/code&gt;&lt;/a&gt; shorthands will also work; these handle both block and inline axes)&lt;/p&gt;
&lt;p&gt;It might be nice to align the text baseline of our sticky title and the text baseline of our first paragraph. If we set &lt;code&gt;align-items: baseline;&lt;/code&gt; on the &lt;code&gt;article&lt;/code&gt;, that forces the CSS Grid sizing algorithm to use a “fit-content” scheme. There’s some complexity there, but in our case, the algorithm used our grid item’s “max-content size”, or “the smallest size the box could take in that axis while still fitting around its contents”.&lt;/p&gt;
&lt;p&gt;Because the sticky title is now sized according to its contents, we get the &lt;code&gt;position: sticky&lt;/code&gt; behavior we’re after:&lt;/p&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;600&quot; data-theme-id=&quot;dark&quot; data-default-tab=&quot;result&quot; data-user=&quot;somelaniesaid&quot; data-slug-hash=&quot;KKMzjZv&quot; style=&quot;height: 600px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;&quot; data-pen-title=&quot;Blog post &amp;amp;gt; grid + sticky &amp;amp;gt; demo 3&quot;&gt;
  &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/KKMzjZv&quot;&gt;
  Blog post &amp;gt; grid + sticky &amp;gt; demo 3&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;)
  on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Our updated styles:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;article {
  display: grid;
  grid-template-columns: 20em 1fr;
  grid-gap: 4em;

  /* The new line we added! */
  align-items: baseline;
}

.title {
  position: sticky;
  top: 2rem;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And that’s it! Hope this helps you out of a &lt;em&gt;sticky&lt;/em&gt; situation. 😏&lt;/p&gt;
&lt;h2 id=&quot;additional-resources&quot;&gt;Additional resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/css-grid-1/&quot;&gt;CSS Grid specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/align-self&quot;&gt;&lt;code&gt;align-self&lt;/code&gt; on MDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/place-self&quot;&gt;&lt;code&gt;place-self&lt;/code&gt; on MDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/align-items&quot;&gt;&lt;code&gt;align-items&lt;/code&gt; on MDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/place-self&quot;&gt;&lt;code&gt;place-items&lt;/code&gt; on MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Seasonal Cleaning Vol II</title>
      <link href="https://melanie-richards.com/blog/seasonal-cleaning-vol-ii/"/>
      <updated>2020-12-12T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/seasonal-cleaning-vol-ii/</id>
      <content type="html">&lt;p&gt;Earlier this year I started a new practice called &lt;a href=&quot;https://melanie-richards.com/blog/seasonal-cleaning/&quot;&gt;seasonal cleaning&lt;/a&gt;, in which I make little improvements to my existing side projects, workflow, tooling, etc. A lot of this is driven out of an account-wide &lt;a href=&quot;https://github.com/users/melanierichards/projects/1&quot;&gt;Github project board&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Though I did update a couple counts on my &lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;bucketlist&lt;/a&gt;, I focused almost exclusively on my &lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;highlights minisite&lt;/a&gt; this go around:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-permalink-highlight.png&quot; alt=&quot;A permalinked highlight that says “I love a broad margin to my life.”&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Whenever you invoke a highlight permalink and scroll it into view, the highlight would butt up right against the top of the viewport. I added a bit of margin to an individual highlight’s scroll snap area using &lt;code&gt;scroll-margin-top&lt;/code&gt;. Now there’s &lt;a href=&quot;https://highlights.melanie-richards.com/book/wherever-you-go/#i+love+a+broad+&quot;&gt;a little bit of breathing room&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I also made the permalinked highlight background color a little bit less harsh. What was pure white (&lt;code&gt;#fff&lt;/code&gt;) is now a very light grey (&lt;code&gt;#ececec&lt;/code&gt;). It’s a subtle distinction, but I think it’s an improvement for many pairs of eyeballs, especially when reading long highlights.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/melanierichards/highlights/commit/961415632bb1975699a29091a1c82c9185da42d8&quot;&gt;I added pagination to the home page&lt;/a&gt;. You won’t actually notice that yet, because there’s 24 posts per page. Soon! I didn’t have pagination on the home page before because the site used to run on Jekyll. In order to have more than one paginated page with Jekyll, you need a plugin, which at the time was disallowed on Github Pages (my deployment environment at the time). As of November, I’m using Eleventy for my SSR and deploying to Netlify. Adding pagination in this environment was fairly trivial.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I &lt;a href=&quot;https://github.com/melanierichards/highlights/commit/53248d78cc054714262d6390bb5330f3a42602d7&quot;&gt;updated the favicon&lt;/a&gt; so that it’s more friendly to browser UI rendered in various color modes. Previously, the favicon was a static png holding a black ribbon icon. The change here entails using an SVG favicon, and querying for &lt;code&gt;prefers-color-scheme&lt;/code&gt; and &lt;code&gt;forced-colors&lt;/code&gt; within the SVG to target dark mode and Windows high contrast. &lt;a href=&quot;https://github.com/melanierichards/highlights/commit/53248d78cc054714262d6390bb5330f3a42602d7&quot;&gt;Here’s the code snippet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For forced colors, I optimized for Microsoft Edge UI. The background of the favicon is &lt;code&gt;Highlight&lt;/code&gt;, and the SVG fill is &lt;code&gt;HighlightText&lt;/code&gt;. This means the icon blends into the background of the tab when the tab is activated:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hc-favicon-active.png&quot; alt=&quot;The favicon on an active browser tab. It’s a black ribbon shown seamlessly on the tab’s teal background.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It does look slightly less nice when the tab is inactive:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-hc-favicon-inactive.png&quot; alt=&quot;The favicon on an inactive browser tab. It’s a black ribbon on a teal background, which sticks out a bit on the tab’s black background.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I played around first with just having a transparent background and &lt;code&gt;CanvasText&lt;/code&gt; (normal, unhighlighted text color) foreground or &lt;code&gt;HighlightText&lt;/code&gt; foreground. But generally speaking you could potentially run into some visibility issues if you mismatch system colors used for different states. For example, some high contrast themes have a light text color, a dark highlight text color, and a light highlight background color. In those cases the light text color on top of the light highlight background color would be hard to make out.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;In content, I added some new highlights for &lt;a href=&quot;https://highlights.melanie-richards.com/book/eat-a-peach/&quot;&gt;David Chang’s &lt;em&gt;Eat a Peach&lt;/em&gt;&lt;/a&gt; and am about halfway through the work to add Dara Horn’s &lt;em&gt;Eternal Life&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-social-preview.png&quot; alt=&quot;The social preview settings UI on Github&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And finally, I added a “social preview” image to the repo settings in Github, because it is so awkward when Twitter share cards have a giant avatar of your own face.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Nov 2020</title>
      <link href="https://melanie-richards.com/blog/learning-log-2011/"/>
      <updated>2020-12-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2011/</id>
      <content type="html">&lt;p&gt;Took a break from my regularly scheduled side projects this month to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/lefty-pen-test/&quot;&gt;Gab too much about pens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Build [most of] a blog for my fiber crafts (knitting, sewing, weaving) that I’m not sure I’ll actually use 🙃&lt;/li&gt;
&lt;li&gt;Convert a couple lingering projects from Jekyll to Eleventy.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the Eleventy migrations, I started with my &lt;a href=&quot;https://github.com/melanierichards/bucketlist&quot;&gt;bucketlist&lt;/a&gt;, which is super simple and has, like, one fork. Next I tackled my &lt;a href=&quot;https://github.com/melanierichards/highlights&quot;&gt;highlights&lt;/a&gt;—still a simple site but with a few more Jekyll-esque practices baked in to think about. For example, I had to do a little bit of &lt;a href=&quot;https://www.11ty.dev/docs/data-custom/#yaml&quot;&gt;extra work to continue supporting YAML data files&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To be honest, I felt a bit guilty switching out a core dependency in a project I’ve published in the open (namely, the highlights site). I don’t know that that’s the right feeling to have: the main purpose of my repo is to deploy &lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;highlights.melanie-richards.com&lt;/a&gt;. I released it without a license, which effectively implies default copyright expectations. That said, people have forked it and remixed it to stand up their own collection of highlights. And I think there are some expectations placed upon the maintainer of a public repo, regardless of promises you have or haven’t made.&lt;/p&gt;
&lt;p&gt;In the end, I did what is right for me and my development practices; the &lt;code&gt;main&lt;/code&gt; branch now takes a dependency on Eleventy. To support people who’d still like to use the Jekyll version, I &lt;a href=&quot;https://github.com/melanierichards/highlights/releases/tag/1.0.2&quot;&gt;packaged that up in a release&lt;/a&gt; and will keep a &lt;a href=&quot;https://github.com/melanierichards/highlights/tree/jekyll&quot;&gt;&lt;code&gt;jekyll&lt;/code&gt; branch&lt;/a&gt; up that people can fork off of and contribute to. And I’ll need to think about what license would be appropriate for the repo to make it clearer I’m cool with people remixing. 🤔&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2020/11/playfulness-code-supercharge-fun-learning/&quot;&gt;Playfulness In Code: Supercharge Your Learning By Having Fun&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/behind-the-feature-the-making-of-the-new-auto-layout/&quot;&gt;Behind the feature: the making of the new Auto Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lea.verou.me/2020/11/simple-pie-charts-with-fallback-today/&quot;&gt;Simple pie charts with fallback, today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sarasoueidan.com/blog/one-checkbox-or-two-radio-buttons/&quot;&gt;&amp;quot;Yes or No?&amp;quot; — One Checkbox vs Two Radio Buttons.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://una.im/productivity-2017/&quot;&gt;I&#39;m Useless Without a To-Do List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.huffpost.com/entry/the-30-second-habit-that-_b_4808632&quot;&gt;The 30 Second Habit That Can Have a Big Impact On Your Life&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2020/10/29/when-i-share-i-learn/&quot;&gt;When I share, I learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thisblogisnotforyou.com/we-need-to-stop-making-our-hobbies-stressful/&quot;&gt;We need to stop making our hobbies stressful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simplicityrelished.com/wp-content/easy-cache/others/why-you-need-a-true-hobby-and-not-just-a-side-hustle/&quot;&gt;Why You Need A True Hobby (and not just a side-hustle)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com/blogs/bulletjournalist/on-becoming-grateful&quot;&gt;On Becoming Grateful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sinosplice.com/life/archives/2016/08/25/what-80-comprehension-feels-like&quot;&gt;What 80% Comprehension Feels Like&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2020/12/01/there-is-no-finish-line/&quot;&gt;There is no finish line&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Lefty Pen Test</title>
      <link href="https://melanie-richards.com/blog/lefty-pen-test/"/>
      <updated>2020-11-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/lefty-pen-test/</id>
      <content type="html">&lt;p&gt;No, not &lt;a href=&quot;https://en.wikipedia.org/wiki/Penetration_test&quot;&gt;that kind of pen test&lt;/a&gt;. Fully exasperated with how much smudging I get with gel pens, I thought I’d try out Jetpens’ &lt;a href=&quot;https://www.jetpens.com/JetPens-Pen-Sampler-for-the-Left-Handed-Black/pd/21609&quot;&gt;recommended pens for lefties&lt;/a&gt;.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-cup-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-cup-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-cup-s.jpg&quot; alt=&quot;A cup of pens on a desk, with more pens in the background&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;The basic idea is that these are faster-drying pens, which should presumably cut down on the smudging. There’s nothing special about the pens’ physical design that would tailor them to a left-handed grip.&lt;/p&gt;
&lt;p&gt;I opted not to spring for the &lt;a href=&quot;https://www.jetpens.com/JetPens-Pen-Sampler-for-the-Left-Handed-Black/pd/21609&quot;&gt;full sampler set&lt;/a&gt;. I don’t have much need for highlighters, and I generally like a slightly beefier point size than was common in the set. Here’s what I ended up buying, based off the recommendations in the sampler:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-lay-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-lay-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-lay-s.jpg&quot; alt=&quot;The pens laid out on top of an Olfa cutting mat. Except the first pink pen, which is a ballpoint, all are gel pens.&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Please pardon all the cotton yarn dust I didn’t notice until later…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Uni-Jetstream-Standard-Ballpoint-Pen-0.5-mm-Black-Ink-Apricot-Body/pd/3238&quot;&gt;Uni Jetstream Standard Ballpoint Pen - 0.5 mm - Black Ink - Apricot Body&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Paper-Mate-InkJoy-Gel-Pen-0.7-mm-Black/pd/15866&quot;&gt;Paper Mate InkJoy Gel Pen - 0.7 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Zebra-Sarasa-Dry-Gel-Pen-0.5-mm-Black/pd/15637&quot;&gt;Zebra Sarasa Dry Gel Pen - 0.5 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Pentel-EnerGel-Euro-Needle-Point-Gel-Pen-0.35-mm-Black/pd/6511&quot;&gt;Pentel EnerGel Euro Needle-Point Gel Pen - 0.35 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Pentel-EnerGel-X-Gel-Pen-Needle-Point-0.5-mm-Black/pd/7535&quot;&gt;Pentel EnerGel-X Gel Pen - Needle-Point - 0.5 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Pilot-Multi-Ball-Rollerball-Pen-Medium-Black/pd/13782&quot;&gt;Pilot Multi Ball Rollerball Pen - Medium - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Pilot-Hi-Tec-C-Gel-Pen-0.5-mm-Black/pd/118&quot;&gt;Pilot Hi-Tec-C Gel Pen - 0.5 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetpens.com/Pilot-FriXion-Ball-Knock-Retractable-Gel-Pen-0.5-mm-Black/pd/5948&quot;&gt;Pilot FriXion Ball Knock Retractable Gel Pen - 0.5 mm - Black&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-list-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-list-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-list-s.jpg&quot; alt=&quot;One sentence each written with each pen, with no visible smudging&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;What looks like a smudge on the word “dry” is due to a drop of condensation from a water glass, funnily enough 😥&lt;/p&gt;
&lt;p&gt;After writing a test sentence with each, I was ecstatic to find that not a single pen smudged! This is a random ¥180 notebook I bought in Japan (truly random, the brand/website referenced on the sticker doesn’t appear to exist anymore).&lt;/p&gt;
&lt;p&gt;I ended up liking the feel of the Pentel EnerGel-X best: not too thin, not too thick, not too bouncy. That’s the pen I’ve been using in my daily(ish) journal, a &lt;a href=&quot;https://www.jetpens.com/Midori-MD-Notebook-A6-Blank/pd/13602&quot;&gt;Midori A6 blank notebook&lt;/a&gt;. I’ve been really pleased at how that pen has held up and continued not to smudge. I’ve had problems in the past where some gel pens go on the fritz in the Midori (but seem fine on other paper? Weird).&lt;/p&gt;
&lt;p&gt;Where this gets a bit disappointing is on Tomoe River Paper…&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-hobonichi-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-hobonichi-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pen-hobonichi-s.jpg&quot; alt=&quot;The pen names written in a Hobonichi planner, with mild to moderate smudging on all but the ballpoint.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Because I’ve decided to switch back to a &lt;a href=&quot;https://www.1101.com/store/techo/en/lineup/&quot;&gt;Hobonichi Techo&lt;/a&gt; for my 2021 journal, I thought I’d test these pens in a planner with the same paper. Tomoe River Paper is very smooth and thin, so I saw smudging in the Hobonichi planner with all the gel pens. I was a bit surprised to see such a marked difference, as the other papers I’d tested on were not particularly toothy. Ah well, I’ll try to use the 0.35mm Pentel Energel for awhile and see how that goes.&lt;/p&gt;
&lt;h2 id=&quot;final-verdict&quot;&gt;Final verdict&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.jetpens.com/Pentel-EnerGel-X-Gel-Pen-Needle-Point-0.5-mm-Black/pd/7535&quot;&gt;Pentel EnerGel-X&lt;/a&gt; was my favorite for lack of smudging, ease of flow, and ergonomics. The &lt;a href=&quot;https://www.jetpens.com/Pentel-EnerGel-Euro-Needle-Point-Gel-Pen-0.35-mm-Black/pd/6511&quot;&gt;Pentel EnerGel Euro Needle-Point&lt;/a&gt; might be better for smoother paper.&lt;/li&gt;
&lt;li&gt;Left-handed people should consider paper texture when fighting the smudge.&lt;/li&gt;
&lt;li&gt;Being a lefty in an LTR language is still a bit of a pain.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Oct 2020</title>
      <link href="https://melanie-richards.com/blog/learning-log-2010/"/>
      <updated>2020-11-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2010/</id>
      <content type="html">&lt;p&gt;Writing this month’s Learning Log is mostly an exercise in restraint, i.e. resisting the temptation to refresh a map of the United States…&lt;/p&gt;
&lt;picture class=&quot;bookshop-banner&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshop-banner.png&quot; alt=&quot;A repeating pattern of open books and notched bookmarks. Both illustrations are done in black and white pixel art on a light grey background.&quot; /&gt;
          &lt;/picture&gt;
&lt;style&gt;
  @supports (object-fit: cover) {
    .bookshop-banner {
      width: 100%;
      height: 300px;
      object-fit: cover;
    }
  }
&lt;/style&gt;
&lt;p&gt;I made a &lt;a href=&quot;https://bookshop.org/shop/melanierichards&quot;&gt;Bookshop&lt;/a&gt;! Mostly in service to a &lt;a href=&quot;https://melanie-richards.com/blog/art-of-brevity&quot;&gt;post on brevity&lt;/a&gt;. Sharing here honestly because the pixel banner I threw together gives me joy.&lt;/p&gt;
&lt;p&gt;Other creative pursuits giving me joy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I’ve been slowly chipping away at a small soundboard project. Think CBT (Cognitive Behavioral Therapy) but with buttons!&lt;/li&gt;
&lt;li&gt;A few friends and I have been online monthly to write blog posts together. We chat for a half hour, sign off of the video call for a couple hours to work on our individual posts, then sign back on to discuss, ask for feedback, etc. This has been a really fun way to get accountability on posts, even though the one I’ve been working on most recently is still in progress…please shoot me an email if 1) you want to participate, 2) we’re mutual friends online/IRL, and 3) you’re local to the Seattle area. We intend to meet up in person whenever…that’s a thing again.&lt;/li&gt;
&lt;li&gt;On a truly meta level, &lt;a href=&quot;https://www.coursera.org/learn/learning-how-to-learn&quot;&gt;Learning How to Learn&lt;/a&gt;. Lots of khaki and earnestness, but the instructors are delightful and I’m learning some neat stuff about the brain.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/aleia/&quot;&gt;Little scenes featuring pet snails!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://katydecorah.com/code/read/&quot;&gt;Track your books with GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/lukechesser/status/1316767692620267520&quot;&gt;Neat little UX-improvement update to the Unsplash API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.madeinthefuturefellowship.com/&quot;&gt;Made in the Future&lt;/a&gt;: a fellowship run by Kristy Tillman &amp;amp; co, for underrepresented designers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://squircley.app/&quot;&gt;Squircley&lt;/a&gt;: a “squircle” generator giving me joy&lt;/li&gt;
&lt;li&gt;Becky Margraf seems to be a fount of fun and clever ideas. Case in point, &lt;a href=&quot;https://www.instagram.com/p/CGxbo93AIWt/?igshid=8edmi32wmkdi&quot;&gt;these little scrap buddies&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/17465&quot;&gt;Unobtrusive feedback&lt;/a&gt;: the animation could stand to be a little slower for better accessibility, but this is a neat little idea.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2020/09/learnings-coding-artwork/&quot;&gt;Unexpected Learnings From Coding Artwork Every Day For Five Years&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/the-100-day-project/100-days-of-3d-4b28a514f3ac&quot;&gt;100 Days of 3D Design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And this quote from Elizabeth Gilbert:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A good-enough novel violently written now is better than a perfect novel meticulously written never.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thelily.com/your-guide-to-making-big-decisions-right-now/&quot;&gt;Your guide to making big decisions right now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.japan-guide.com/e/e2007.html&quot;&gt;Traditional Japanese style tatami rooms&lt;/a&gt;: honestly, I looked this up for Animal Crossing-related research purposes. Found the details interesting.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2020/09/28/dining/banchan-recipes.html&quot;&gt;A Spread Worthy of Royalty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://heated.medium.com/okra-the-vegetable-of-survival-45caaf2ff9a3&quot;&gt;Okra, the Vegetable of Survival&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bonappetit.com/story/24-solar-terms&quot;&gt;This Hyper-Seasonal Eating Strategy Helps Prevent My Winter Colds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.balfourand.co/blog/responding-to-the-grid&quot;&gt;Responding To The Grid&lt;/a&gt;: appreciate and co-sign this ode to the grid in tapestry weaving. Parallels here to web design.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More goodness from esteemed weaver, Annie Albers:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Being creative is not so much the desire to do something as the listening to that which wants to be done. The dictation of the materials.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>The Art of Brevity</title>
      <link href="https://melanie-richards.com/blog/art-of-brevity/"/>
      <updated>2020-10-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/art-of-brevity/</id>
      <content type="html">&lt;p&gt;After firing off another long &lt;s&gt;missive&lt;/s&gt; email the other day, I tweeted &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1318361870814781441&quot;&gt;a request for resources on the art of brevity&lt;/a&gt;. I felt fairly certain that this is one of those things you just have to practice, but wow—people came through with a LOT of suggestions. For posterity, here’s a roundup of the recommendations:&lt;/p&gt;
&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshop-brevity-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshop-brevity-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-bookshop-brevity-s.png&quot; alt=&quot;The Art of Brevity list on Bookshop&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Lots of books! I compiled these into &lt;a href=&quot;https://bookshop.org/lists/the-art-of-brevity&quot;&gt;a list on bookshop.org&lt;/a&gt; (&lt;a class=&quot;footnotes__ref&quot; href=&quot;https://melanie-richards.com/blog/art-of-brevity/#affiliate-note&quot; id=&quot;affiliate-ref&quot; aria-describedby=&quot;footnotes-label&quot; role=&quot;doc-noteref&quot;&gt;disclosure&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;i&gt;For transparency, that’s an affiliate link, so I’ll receive a small portion of sales from those books. Please don’t feel the need to buy from Bookshop (though they support small businesses!). Wherever you buy/borrow your books from, I do humbly ask that you avoid making *ahem* massively wealthy mono-retailers any richer.&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;
&lt;h2 id=&quot;online-resources&quot;&gt;Online Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://readabilityguidelines.co.uk/&quot;&gt;Content Design London: Readability Guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cherylstephens.com/online-resources.html&quot;&gt;This list compiled by Cheryl Stephens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=36-VQQawpsk&quot;&gt;This clip from “A River Runs Through It”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://w3c.github.io/coga/content-usable/#objective-3-use-clear-and-understandable-content-0&quot;&gt;In-progress guidelines for cognitive accessibility&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;advice-%2F-personal-process&quot;&gt;Advice / Personal Process&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edit!!!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;…and give yourself at least a day between writing and editing your own work.&lt;/li&gt;
&lt;li&gt;Work with an editor, or peer review.&lt;/li&gt;
&lt;li&gt;Cut adverbs and adjectives.&lt;/li&gt;
&lt;li&gt;Cut out unnecessary words, ruthlessly.&lt;/li&gt;
&lt;li&gt;Break down compound sentences and clauses.&lt;/li&gt;
&lt;li&gt;Use active voice.&lt;/li&gt;
&lt;li&gt;More literally, read your words aloud.&lt;/li&gt;
&lt;li&gt;Or explain a concept out loud to another person—then write that down!&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&quot;https://sembr.org/&quot;&gt;semantic line breaks&lt;/a&gt; as a “code smell” for run-on sentences.&lt;/li&gt;
&lt;li&gt;Have clarity of purpose.&lt;/li&gt;
&lt;li&gt;Ask yourself: “Do people need to know that at this point?”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What are your favorite tips on brevity? Feel free to &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1318361870814781441&quot;&gt;chime in on Twitter&lt;/a&gt; or shoot me an email!&lt;/p&gt;
  &lt;footer role=&quot;doc-endnotes&quot; class=&quot;footnotes&quot;&gt;
    &lt;h2 id=&quot;footnotes-label&quot; class=&quot;footnotes__title c-meta&quot;&gt;Footnotes&lt;/h2&gt;
    &lt;ol class=&quot;footnotes__list&quot;&gt;&lt;li id=&quot;affiliate-note&quot; class=&quot;footnotes__list-item&quot; role=&quot;doc-endnote&quot;&gt;Disclosure: I’m an affiliate of Bookshop.org. Any purchases you make using my link will earn me (and local bookstores!) a small commission. &lt;a class=&quot;footnotes__back-link&quot; href=&quot;https://melanie-richards.com/blog/art-of-brevity/#affiliate-ref&quot; aria-label=&quot;Back to reference 1&quot; role=&quot;doc-backlink&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;
  &lt;/footer&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Sep 2020</title>
      <link href="https://melanie-richards.com/blog/learning-log-2009/"/>
      <updated>2020-10-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2009/</id>
      <content type="html">&lt;p&gt;Not much interesting to share this go-around (for me, anyway. The world is…something else). Seattle spent half the month in wildfire smoke; I&#39;ve been applying intense excitement for various creative hobbies in rotation; and I started playing a little bit with the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API&quot;&gt;Web Speech API&lt;/a&gt;. In the beginning prototypical stages of a soundboard I&#39;m working on, this has mostly involved making SpeechSynthesis utter some childish strings. 😁&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/rougeux/status/1300235885867421696?s=21&quot;&gt;Title Cities&lt;/a&gt;: cityscapes based on title pages of influential antique books (&lt;a href=&quot;https://twitter.com/hj_chen&quot;&gt;via HJ Chen&lt;/a&gt;). Nicholas Rougeux has quite a few fascinating and beautiful data vis projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/page_eco/status/1309490061243604993?s=20&quot;&gt;The level of petty I strive for&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bighack.org/5-most-annoying-website-features-i-face-as-a-blind-screen-reader-user-accessibility/&quot;&gt;5 most annoying website features I face as a blind person every single day&lt;/a&gt;: unfortunately a “greatest hits” of web accessibility issues.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.shopify.com/partners/blog/internationalization&quot;&gt;Internationalization: Practical Tips to Build for a Global Audience&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2020/08/24/us/politics/lebron-james-poll-workers.html&quot;&gt;LeBron James and a Multimillion-Dollar Push for More Poll Workers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2020/08/25/realestate/blacks-minorities-appraisals-discrimination.html?action=click&amp;amp;module=Top%20Stories&amp;amp;pgtype=Homepage&quot;&gt;Black Homeowners Face Discrimination in Appraisals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2020/09/10/will-this-enlarge-me-or-diminish-me/&quot;&gt;Will this enlarge me or diminish me?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.self.com/story/food-justice-tips?mc_cid=09c46d93b1&amp;amp;mc_eid=e2a5a07056&quot;&gt;4 Ways to Join the Food Justice Movement as a Total Beginner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.babbel.com/en/magazine/comma-ellipses/&quot;&gt;Why Do Young People Use Commas So Weirdly?&lt;/a&gt;: the Youths are at it again,,,&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.esquire.com/uk/style/a33603325/sew-bro-men-making-clothes-lockdown/?mc_cid=00032ff08d&amp;amp;mc_eid=11722e5548&quot;&gt;Rise Of The Sew Bro: Why Men Have Been Crafting Their Own Clothes Over Lockdown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elemental.medium.com/amp/p/de285d542f4c?source=social.tw&amp;amp;__twitter_impression=true&quot;&gt;Your ‘Surge Capacity’ Is Depleted — It’s Why You Feel Awful&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Styling for Windows high contrast with new standards for forced colors” on Microsoft Edge dev</title>
      <link href="https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/"/>
      <updated>2020-09-17T00:00:00.000Z</updated>
      <id>https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/</id>
      <content type="html">
        <p>Features like high contrast can help improve readability by enforcing a user’s required color scheme. Learn how browsers apply forced colors, how to optimize styles with new standards, and differences you can expect from legacy implementations.</p>
        <a href="https://blogs.windows.com/msedgedev/2020/09/17/styling-for-windows-high-contrast-with-new-standards-for-forced-colors/">Read the article on Microsoft Edge dev</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Aug 2020: 3D Art and Collaging with CSS Grid</title>
      <link href="https://melanie-richards.com/blog/learning-log-2008/"/>
      <updated>2020-09-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2008/</id>
      <content type="html">&lt;p&gt;Thanks to working from home and having nowhere to go in the evenings, I (like many who are lucky to have a job right now) have been operating under burnout-in-motion this year. I finally forced myself to take a week of staycation in August, and I feel like I could probably have used another week to pay down that overwork debt.&lt;/p&gt;
&lt;p&gt;In any case, having some time off at home gave me a good excuse to read a bunch of books and work on some fun personal learning that I hadn’t had time for previously.&lt;/p&gt;
&lt;p&gt;I was particularly excited to finally start going through Devon Ko’s &lt;a href=&quot;https://www.3dfordesigners.com/&quot;&gt;3D for Designers&lt;/a&gt; course. As someone who loves math and art, messing with numbers to create imaginary scenes feels…really nice. I don’t think I’ll make hyper-realistic scenes like some other folks do; I prefer a little bit of cuteness and abstraction, partially because that uncanny valley is wide. Partially because I just like it.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-chopsticks-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-chopsticks-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-chopsticks-s.png&quot; alt=&quot;A 3D art scene with chopsticks lying on a chopstick rest, next to a little ramekin of soy sauce&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;Devon has you model chopsticks as a lesson in how to taper/distort shapes.&lt;/p&gt;
&lt;p&gt;If you’ve been interested in learning Cinema4D / how to make 3D art, I really and truly recommend Devon’s course. She manages to ramp you up really quickly with a whole bunch of skills, without making things feel overwhelming. And her casual, upbeat teaching style just makes things fun.&lt;/p&gt;
&lt;p&gt;I’m still chipping away at this course, but looking forward to making more stuff! Also super pleased to learn that “gizmo” is an actual term of art in 3D modeling programs.&lt;/p&gt;
&lt;h2 id=&quot;personal-website&quot;&gt;Personal Website&lt;/h2&gt;
&lt;p&gt;I’ve also been making little tweaks to my site recently, and finally got around to tackling the home page a couple weeks ago. I decided to collage some recent bits together using CSS Grid:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-home-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-home-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-home-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-home-s.png&quot; alt=&quot;Boxes which contain my tagline, recent projects, a recent post, and contact info collage together atop a dithered pixel background.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This screenshot from Illustrator demonstrates my squiggly line process on this:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-sketch-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-sketch-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-collage-sketch-s.png&quot; alt=&quot;A few, mostly empty boxes overlapping each other, with transparent purple and pink overlays marking where the overlaps occur. This digital sketch lacks most of the content in the final design.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I put just enough detail in Illustrator to figure out what I wanted to build in code. Mostly I needed to figure out where the grid template columns were, in order to facilitate the right grid item spanning / overlapping. The purple bands represent large gaps/overlaps, the pink ones more subtle spacing.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/artbypac/status/1294350775343292417?s=21&quot;&gt;This adorable bagworm caterpillar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/ILMEVnVD8m8&quot;&gt;John Green draws a lot of circles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/cozmiclown/status/1298442008906743809?s=21&quot;&gt;Colorful, angular Neo-Andean architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mymodernmet.com/totoro-sculpture-bus-stop/&quot;&gt;Japanese Grandparents Create Life-Size Totoro With Bus Stop For Their Grandkids&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://frictionlog.com/&quot;&gt;Friction Logs&lt;/a&gt;: I’ve been making a point of opening documentation issues whenever I hit something, but keeping a log as you go along seems like a good idea.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lea.verou.me/2020/07/the-cicada-principle-revisited-with-css-variables/&quot;&gt;The Cicada Principle, revisited with CSS variables&lt;/a&gt;: cool strategy for perceived randomness&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/microsoft-design/leading-trim-the-future-of-digital-typesetting-d082d84b202&quot;&gt;Leading-Trim: The Future of Digital Typesetting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-web&quot;&gt;The web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://emilymstark.com/2020/07/14/debunking-the-users-always-click-yes-myth.html&quot;&gt;Debunking the &amp;quot;users always click yes&amp;quot; myth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2020/07/legislative-path-interoperable-internet&quot;&gt;A Legislative Path to an Interoperable Internet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.visbii.com/blog/9thingswithvisbii&quot;&gt;9 Simple Things I Do Daily To Boost My Creativity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thehardtimes.net/harddrive/man-tasked-with-making-score-for-a-monkey-riding-a-swordfish-underwater-creates-transcendent-piece-of-music/&quot;&gt;Man Tasked With Making Score for a Monkey Riding a Swordfish Underwater Creates Transcendent Piece of Music&lt;/a&gt; (&lt;a href=&quot;https://www.youtube.com/watch?v=-5rAjOjTGtc&quot;&gt;“Aquatic Ambience” track&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thecut.com/2020/07/when-we-were-bread-heads.html&quot;&gt;When We Were Bread Heads&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New Practice: Seasonal Cleaning</title>
      <link href="https://melanie-richards.com/blog/seasonal-cleaning/"/>
      <updated>2020-09-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/seasonal-cleaning/</id>
      <content type="html">&lt;p&gt;At the end of August I started a new quarterly practice: Seasonal Cleaning! 🧼✨&lt;/p&gt;
&lt;p&gt;For ~one week in a season, my intent is to spend any personal project time on fixing issues in previously-shipped side projects, as opposed to building new things. I was hoping to chip away at issues across the week, but due to work/life stuff, most of my fixes were concentrated on the weekend. Still, got a few things done!&lt;/p&gt;
&lt;p&gt;Something interesting I learned in the course of this is that on Github, you can create a “project” with issues from various different (manually-connected) repos that a person/organization owns. So my &lt;a href=&quot;https://github.com/users/melanierichards/projects/1&quot;&gt;Seasonal Cleaning kanban board&lt;/a&gt; includes issues from across my own public and private Github repos.&lt;/p&gt;
&lt;p&gt;Here’s what I fixed this time around:&lt;/p&gt;
&lt;h2 id=&quot;bucket-list&quot;&gt;&lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;Bucket List&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Renamed the &lt;code&gt;master&lt;/code&gt; branch to &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;good-things&quot;&gt;&lt;a href=&quot;https://goodthings.melanie-richards.com/&quot;&gt;Good Things&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/melanierichards/good-things/commit/ec3101f0123d181fd1c647d2195686c26b928c2e&quot;&gt;Moved references to my name/URLs to site data&lt;/a&gt;, to make it easier for folks to update that info in their forks.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;&lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;Highlights&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Renamed the &lt;code&gt;master&lt;/code&gt; branch to &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Thinking about converting this and the bucket list site from Jekyll to Eleventy. I admit it: utter fangirl for Eleventy. Also really don’t enjoy taking a local dependency on Ruby just to compile a static site.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;personal-site&quot;&gt;&lt;a href=&quot;https://melanie-richards.com/&quot;&gt;Personal Site&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pruned blog post ideas&lt;/li&gt;
&lt;li&gt;Webmentions (&lt;a href=&quot;https://melanie-richards.com/blog/presenting-at-build/&quot;&gt;here’s an example post&lt;/a&gt;):
&lt;ul&gt;
&lt;li&gt;Labeled with an icon any Webmentions that are coming from Twitter&lt;/li&gt;
&lt;li&gt;Made it easier to tell what are “response” tweets by labeling these “Reply from…”&lt;/li&gt;
&lt;li&gt;Fixed a bug where Webmentions weren’t displaying quite in chronological order. Realized that the property values I was comparing in my sort function were strings, not Dates. D’oh. 🤦‍♀️ Fun with data types!&lt;/li&gt;
&lt;li&gt;Added a &lt;a href=&quot;https://www.voorhoede.nl/en/blog/scheduling-netlify-deploys-with-github-actions/&quot;&gt;cron job&lt;/a&gt; to build and deploy the site daily, in order to regularly fetch any new Webmentions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A couple weeks ago, I had made it so that for any posts published elsewhere, their tiles on blog indices would take you immediately to the publication in question. I, uh, forgot that post pagination wouldn’t skip over these posts though, and so the single page view for these posts was basically useless. &lt;a href=&quot;https://melanie-richards.com/blog/quiet-notifications/&quot;&gt;Added a treatment for these kinds of posts&lt;/a&gt;, as opposed to removing them from the pagination loop.&lt;/li&gt;
&lt;li&gt;Cleaned up meta tags&lt;/li&gt;
&lt;li&gt;Fixed a minor margin bug&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;process-%2F-dev-environ&quot;&gt;Process / Dev Environ&lt;/h2&gt;
&lt;p&gt;I’d like to have a consistent set of issue tags across my repos: same syntax, label colors, etc from project to project. I’m trying to figure out the best way to go about this. It’s a pain to create a new repo, delete or modify the default generated labels, then add my own.&lt;/p&gt;
&lt;p&gt;This week I tried creating a template repo, and included a few of the issue labels I wanted on this template. When I started a new test repo from the template, however, none of the issue labels carried over. 😕 I’ll have to see if there’s a good way to generate these using Github Actions instead.&lt;/p&gt;
&lt;p&gt;That’s it for this Seasonal Cleaning! Anyone do something similar?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jul 2020: making moves</title>
      <link href="https://melanie-richards.com/blog/learning-log-2007/"/>
      <updated>2020-08-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2007/</id>
      <content type="html">&lt;p&gt;I haven’t done my Learning Log in a couple months. In a certain sense, lack of a record is its own record. As May rolled into June, the United States was actively contending with systemic racism with the death of George Floyd. What ails us has not been cured, and the work to contend with this needs to be ongoing…&lt;/p&gt;
&lt;p&gt;As for June, it was a bit of a slump for me. The stress and sorrow of COVID-19, of perennial injustices, of the current political climate—these all seemed to hit me harder than months previous. Unclear why.&lt;/p&gt;
&lt;p&gt;July had its share of feeling-stuck-ness, but I’ve gotten a few things done:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📦&lt;/span&gt; Moved in with my significant other; we’re loving our new neighborhood.&lt;/li&gt;
&lt;li&gt;&lt;span aria-hidden=&quot;true&quot;&gt;✊🏾&lt;/span&gt; Started working on a more sustainable civic engagement practice&lt;/li&gt;
&lt;li&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧵&lt;/span&gt; Sewed 15 masks for &lt;a href=&quot;https://craftersagainstcovid19.org/&quot;&gt;Crafters Against COVID-19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📚&lt;/span&gt; Indulged in a seasonal “reading weekend”, which is where my S.O. and I just…read a whole bunch&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masks-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masks-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masks-s.jpg&quot; alt=&quot;A pile of masks made from hot pink fabric with black triangles on it&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;Donated masks! Don’t stare too hard at the seams, I was having some trouble with my sewing machine…&lt;/p&gt;
&lt;h2 id=&quot;personal-site&quot;&gt;Personal site&lt;/h2&gt;
&lt;p&gt;I’ve been making various and sundry updates to my personal website, choosing a bit ago to extend what I have, rather than start all over with the visual design.&lt;/p&gt;
&lt;p&gt;I now have a “Projects” section again, something I seem to cycle in and out of over time:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-projects-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-projects-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-projects-s.jpg&quot; alt=&quot;A list of web platform projects, then a grid of web project images&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Something I’d been wrestling with for awhile is how to share my full self on my personal website. I am lucky to be able to contribute to the core web platform; I got here from a web design and dev background; and I still want to build my own projects on top of the expressive medium that is the web. Linking out to live projects, blog posts, and explainers felt like a good way to combine all these without spinning up a full-fidelity “portfolio”. I also want to find a way to host an older Variable Fonts demo that I worked on with &lt;a href=&quot;https://www.gwhitworth.com/&quot;&gt;Greg Whitworth&lt;/a&gt; and &lt;a href=&quot;https://fremycompany.com/&quot;&gt;François Remy&lt;/a&gt;. The demo site that used to host it is no longer live, but every so often we get people interested in using the demo as a reference.&lt;/p&gt;
&lt;p&gt;I also added a “Play” section, for dabbling in illustration and collecting other one-off experiments:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-play-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-play-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-play-s.jpg&quot; alt=&quot;A page titled &#39;Play: drawings and experiments&#39;, with a paint marker drawing of Puget Sound beneath it&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;If I post here enough, I’ll add the ability to filter by medium. Adding this section is a show of optimism, i.e. “build it and I will set aside the time for creative pursuits”.&lt;/p&gt;
&lt;h3 id=&quot;other-little-updates%3A&quot;&gt;Other little updates:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Left-aligned some stuff on small-width breakpoints.&lt;/li&gt;
&lt;li&gt;Added a visible title to the Info/Contact page, to match the others&lt;/li&gt;
&lt;li&gt;Normalized that page to new column widths used elsewhere, and will probably restructure/reduce the length of that bio sometime in the future&lt;/li&gt;
&lt;li&gt;Fixed a border color issue in dark mode. I had forgotten to re-declare that variable within the &lt;code&gt;prefers-color-scheme: dark&lt;/code&gt; media query.&lt;/li&gt;
&lt;li&gt;Fixed a longstanding bug where the &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; text was too verbose. This would’ve been most annoying with an assistive technology which presents tech synchronously.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;video class=&quot;u-limit-width&quot; controls=&quot;&quot;&gt;
  &lt;source src=&quot;https://melanie-richards.com/assets/videos/content/hackney-church-hover.mp4&quot; type=&quot;video/mp4&quot; /&gt;
  &lt;source src=&quot;https://melanie-richards.com/assets/videos/content/hackney-church-hover.webm&quot; type=&quot;video/webm&quot; /&gt;
  &lt;p&gt;Your browser doesn&#39;t support video, but this is described below in text.&lt;/p&gt;
&lt;/video&gt;
&lt;p&gt;Clever little use of an animated &lt;code&gt;border-radius&lt;/code&gt; on the &lt;a href=&quot;https://hackney.church/&quot;&gt;Hackney Church website&lt;/a&gt;: images are given an aggressive border radius so that they’re rendered in the shape of a rounded church window. Hovering over the image decreases the border radius a bit, revealing more of the “masked” image.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.instagram.com/p/CDPJ1uipudN/?igshid=gnk4alwqwh8c&quot;&gt;A helpful perspective&lt;/a&gt; from our buddy Meg.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/when-do-you-use-inline-block/&quot;&gt;When do you use inline-block?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2013/12/29/something-small-every-day/&quot;&gt;Something small, every day&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shoppeblack.us/2020/07/congress-black-owned-businesses/&quot;&gt;Congress Pressed to Rescue Struggling Black Owned businesses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cooking&quot;&gt;Cooking&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Content warning: food&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;🤷‍♀️: fine, no pressing need to make again &lt;br /&gt;&lt;br /&gt;
👍: I like it, would cook again &lt;br /&gt;&lt;br /&gt;
🌟: I love it!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lastingredient.com/roasted-vegetable-lemon-tahini-couscous/&quot;&gt;Roasted Vegetable Lemon Tahini Couscous&lt;/a&gt;: 🌟, adding chickpeas for protein would be a solid idea!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://food52.com/recipes/27295-tahini-toast&quot;&gt;Tahini toast&lt;/a&gt;: 🌟, skipped butter out of laziness and didn’t miss it. Used agave instead of honey.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rabbitandwolves.com/vegan-one-pot-creamy-garlic-brussels-sprouts-pasta/&quot;&gt;Creamy Garlic Brussels Sprouts Pasta&lt;/a&gt;: 👍&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lastingredient.com/roasted-tomato-olive-couscous/&quot;&gt;Roasted Tomato Olive Couscous&lt;/a&gt;: 👍&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.budgetbytes.com/chimichurri-chickpea-salad/&quot;&gt;Chimichurri Chickpea Salad&lt;/a&gt;: 👍, add a squirt of lemon juice&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://minimalistbaker.com/easy-pizza-burgers/&quot;&gt;Easy Pizza Burger&lt;/a&gt;: 🤷‍♀️&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Reducing distractions with quiet notification requests” on Microsoft Edge dev</title>
      <link href="https://blogs.windows.com/msedgedev/2020/07/23/reducing-distractions-quiet-notification-requests/"/>
      <updated>2020-07-23T00:00:00.000Z</updated>
      <id>https://blogs.windows.com/msedgedev/2020/07/23/reducing-distractions-quiet-notification-requests/</id>
      <content type="html">
        <p>Many people find notification requests annoying or disruptive, unless they can clearly understand the value of notifications in their current context. Quiet notification requests in Microsoft Edge reduces such requests to a more subtle user interface (UI) treatment, so users can stay focused as they browse.</p>
        <a href="https://blogs.windows.com/msedgedev/2020/07/23/reducing-distractions-quiet-notification-requests/">Read the article on Microsoft Edge dev</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Black. Lives. Matter.</title>
      <link href="https://melanie-richards.com/blog/black-lives-matter/"/>
      <updated>2020-06-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/black-lives-matter/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;Last updated: June 19, 2020&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’ll keep this simple: systemic racism has got to stop. Anti-Black police brutality has got to stop. Everyone should feel safe, respected, and able to go about their day unbothered. No one should need to assert their humanity. Black. Lives. Matter.&lt;/p&gt;
&lt;p&gt;I am livid from the recent deaths of Ahmaud Arbery, Breonna Taylor, George Floyd, David McAtee…I am angry because instead of taking steps to solve the root problem, leadership calls out more force and further escalates the situation. I want us to be the generation that heals things.&lt;/p&gt;
&lt;p&gt;The following are resources that you can contribute your money, time, attention, or skills to. I’ll update the list as I come across them and they seem legit. Please be alert for fake fundraisers: &lt;a href=&quot;https://twitter.com/MNFreedomFund/status/1266550293157892100&quot;&gt;Minnesota Freedom Fund does not have a Venmo account&lt;/a&gt;. Thank you for supporting.&lt;/p&gt;
&lt;h2 id=&quot;find-support&quot;&gt;Find Support&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://calendly.com/ethels-club/in-the-name-of-freedom?month=2020-06&quot;&gt;In The Name of Freedom: A Gathering For Black Healing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/document/u/0/d/1bE95WT6q8n2EQDqXjAxItjxckY97fhoOWCAx7MvfjPs/mobilebasic&quot;&gt;Black Mental Health Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;make-donations&quot;&gt;Make Donations&lt;/h2&gt;
&lt;h3 id=&quot;501(c)(3)-nonprofits&quot;&gt;501(c)(3) Nonprofits&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ActBlue: &lt;a href=&quot;https://secure.actblue.com/donate/ab_mn?refcode=tweet&quot;&gt;split donations across orgs fighting racism and police brutality&lt;/a&gt; (may want to go directly through respective orgs / your giving portal if your company requires it for matching)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://advancementproject.org/&quot;&gt;Advancement Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bailproject.org/&quot;&gt;The Bail Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.themarshallproject.org/&quot;&gt;The Marshall Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.naacpldf.org/&quot;&gt;NAACP Legal Defense Fund&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nlg-npap.org/&quot;&gt;National Police Accountability Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://unicornriot.ninja/donate/&quot;&gt;Unicorn Riot&lt;/a&gt; (encouraged by &lt;a href=&quot;https://minnesotafreedomfund.org/donate&quot;&gt;MFF&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;additional-organizations&quot;&gt;Additional Organizations&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;May also have non-profit status, couldn&#39;t always clarify one way or the other&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blackvisionsmn.org/&quot;&gt;Black Visions&lt;/a&gt; (encouraged by &lt;a href=&quot;https://minnesotafreedomfund.org/donate&quot;&gt;MFF&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://colorofchange.org/&quot;&gt;Color of Change&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://secure.everyaction.com/zae4prEeKESHBy0MKXTIcQ2&quot;&gt;Reclaim the Block&lt;/a&gt; (encouraged by &lt;a href=&quot;https://minnesotafreedomfund.org/donate&quot;&gt;MFF&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;bail-funds&quot;&gt;Bail Funds&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Refer also to the list of non-profits&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://brooklynbailfund.org/&quot;&gt;Brooklyn Community Bail Fund&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://actionnetwork.org/fundraising/louisville-community-bail-fund/&quot;&gt;Louisville Community Bail Fund&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.communityjusticeexchange.org/nbfn-directory&quot;&gt;National Bail Fund Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/issatrae/status/1267520423824154625&quot;&gt;Long list of vetted bail funds across the U.S.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;memorial-funds&quot;&gt;Memorial Funds&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gofundme.com/f/9v4q2-justice-for-breonna-taylor&quot;&gt;Justice for Breonna Taylor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gofundme.com/f/georgefloyd&quot;&gt;Official George Floyd Memorial Fund&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;mutual-aid-funds&quot;&gt;Mutual Aid Funds&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.atlantamutualaid.org/&quot;&gt;Metro Atlanta Mutual Aid Fund&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;rebuilding-efforts&quot;&gt;Rebuilding Efforts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.migizi.org/support-us&quot;&gt;Migizi Communications&lt;/a&gt;, an Indigenous youth organization whose building burned down in the fires (501(c)(3))&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.welovelakestreet.com/&quot;&gt;We Love Lake Street&lt;/a&gt; (501(c)(3))&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;take-action&quot;&gt;Take Action&lt;/h2&gt;
&lt;h3 id=&quot;now&quot;&gt;Now&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;5 Calls: &lt;a href=&quot;https://5calls.org/issue/surplus-military-equipment-police-1033/&quot;&gt;call U.S. reps to stop militarization of police&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://secure.everyaction.com/eR7GA7oz70GL8doBq19LrA2&quot;&gt;Sign Reclaim the Block’s petition to defund MPLS police&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.standwithbre.com/&quot;&gt;Stand with Bre&lt;/a&gt;: make calls and sign a petition for Breonna Taylor&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blmsites.carrd.co/&quot;&gt;Collected links on how to help, including quite a few petitions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;always&quot;&gt;Always&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2019/05/29/books/review/antiracist-reading-list-ibram-x-kendi.html&quot;&gt;An Antiracist Reading List&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/equality-includes-you/what-white-people-can-do-for-racial-justice-f2d18b0e0234&quot;&gt;75 Things White People Can Do for Racial Justice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/FATHERBONNET/status/1266496139605487616&quot;&gt;Watch this powerful speech from Tamika Mallory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/gendervamp/status/1267187714052349953&quot;&gt;Ways to support protestors from home&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tatianamac.com/posts/white-guyde/&quot;&gt;White Guyde To The Galaxy&lt;/a&gt; / &lt;a href=&quot;https://tatianamac.com/posts/save-the-tears/&quot;&gt;Save the Tears: White Woman&#39;s Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Write and share alternative text for social media posts (e.g. text embedded in images), so that everyone can have access to critical information.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;support-%26-hire-black-professionals&quot;&gt;Support &amp;amp; Hire Black Professionals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;First, some food for thought: &lt;a href=&quot;https://www.pollenmidwest.org/opportunities/why-asking-for-a-list-wont-solve-your-racial-disparities/&quot;&gt;Why asking for a list won’t solve your racial disparities&lt;/a&gt;. Lists can’t replace the real work to support existing communities; build an inclusive network; and actually make work environments safe spaces.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blackgamedevs.com/&quot;&gt;Black Game Devs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blackswho.design/&quot;&gt;Blacks Who Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peopleofcraft.com/&quot;&gt;People of Craft&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;support-black-owned-businesses&quot;&gt;Support Black-owned Businesses&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bookriot.com/2020/06/04/upcoming-books-by-black-authors/&quot;&gt;45 Upcoming Books By Black Authors You Can Preorder Right Now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/jessdjefferson/status/1267958077745217541&quot;&gt;Black Museums&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/bookshop_org/status/1267846208237776904&quot;&gt;Black-Owned Bookstores&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/document/d/1wJUm5YK7NV9lkSMyNuXzfcx_r2EMFiilthyEvIpQYv4/mobilebasic&quot;&gt;Black-Owned Businesses&lt;/a&gt;: a loooong list covering many different industries!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blkgrn.com/&quot;&gt;BLK + GRN&lt;/a&gt;: Black-owned health and wellness businesses&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shoppeblack.us/&quot;&gt;Shoppe Black&lt;/a&gt;: this site also runs features on individuals and their businesses&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Presenting this week at Microsoft Build</title>
      <link href="https://melanie-richards.com/blog/presenting-at-build/"/>
      <updated>2020-05-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/presenting-at-build/</id>
      <content type="html">&lt;p&gt;Due to the current global health crisis, Microsoft has moved its huge developer flagship event—Build—online for 2020. A great many us will be presenting to you live from our living rooms, home offices, and studio apartments across May 19–20. We wanted to be inclusive of the global dev community, so the conference will run 48 hours straight, and registration is free.&lt;/p&gt;
&lt;p&gt;I have the immense honor this year of presenting live on behalf of the Microsoft Edge team on technologies for web developers. Here’s the details for &lt;a href=&quot;https://mybuild.microsoft.com/sessions/a0f213d7-66f7-4a6e-a595-4c0d7acb2e6e?source=speakerdetail&quot;&gt;“Moving the web forward with Microsoft Edge and Chromium”&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Over the past year, we&#39;ve reinvented Microsoft Edge on a new foundation, and built significant momentum in the Chromium project and new standards innovation. In this session, you&#39;ll learn about the latest capabilities coming to Microsoft Edge for web developers, including a new experimentation infrastructure to enable you to try the latest features early in incubation. We&#39;ll cover new platform features, improvements to developer tooling, and what our improvements around privacy, accessibility, and other fundamentals mean for you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If that interests you, you can tune at (all times PDT):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;May 19 at 7:30pm&lt;/li&gt;
&lt;li&gt;May 20 at 8:15am&lt;/li&gt;
&lt;li&gt;May 21 at 1:30am&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;additional-microsoft-edge-sessions&quot;&gt;Additional Microsoft Edge sessions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mybuild.microsoft.com/sessions/2118150e-250b-4a7f-94dd-2a23db4bd7df?source=sessions&quot;&gt;WebView2: Bringing the best of the web to your native apps&lt;/a&gt; with Limin Zhu (May 19, 12:45pm PDT)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mybuild.microsoft.com/sessions/9198aeac-0c8e-4d32-96d1-cbb99a390aa6?source=sessions&quot;&gt;Microsoft Edge: What’s New for Web Developers&lt;/a&gt; with Kyle Pflug (May 19, 4:30pm PDT)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Ols0DkR9nwM&amp;amp;feature=youtu.be&quot;&gt;Microsoft Edge DevTools for web developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=EvbZ9svD3DA&amp;amp;feature=youtu.be&quot;&gt;End-to-end web development with VS Code and Microsoft Edge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=y4p_QHZtMKM&amp;amp;feature=youtu.be&quot;&gt;Building rich app experiences with Progressive Web Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=QeV8teIw6UM&amp;amp;feature=youtu.be&quot;&gt;Building Extensions for the new Microsoft Edge&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;and-more!&quot;&gt;And more!&lt;/h2&gt;
&lt;p&gt;There’s plenty of great content in addition to the browser sessions, so &lt;a href=&quot;https://mybuild.microsoft.com/&quot;&gt;register free&lt;/a&gt; to build out your session schedule! Catch you at Build! 👋&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Apr 2020: day by day</title>
      <link href="https://melanie-richards.com/blog/learning-log-2004/"/>
      <updated>2020-05-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2004/</id>
      <content type="html">&lt;p&gt;Posting these Learning Logs during the COVID-19 pandemic feels somewhat uncomfortable. All of us are going through some of the most impactful challenges to the global community in generations. This does difficult things to focus, comprehension, and energy. This does difficult things to livelihoods and physical safety. It’s hard on most of us, to varying degrees; in certain situations, it is all folks can manage to get from one day to the next.&lt;/p&gt;
&lt;p&gt;I write my Learning Log mostly as a record for myself, and in case other people find any of this of interest. I am guilty of this myself, but: please don’t benchmark yourself against what other people share on the internet. We all have our own contextual blend of resources and privileges, and most of us filter heavily in what we share online (I am doing this right now!). Please be gentle with yourself, especially in times of high stress. “Productivity” may not even be anywhere near your radar right now, and that is extremely OK. 💖&lt;/p&gt;
&lt;p&gt;&lt;em&gt;*takes a moment to internalize my own words*&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;what-i%E2%80%99ve-been-up-to&quot;&gt;What I’ve been up to&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Sewing masks. &lt;a href=&quot;https://seekatesew.com/how-to-sew-a-face-mask-with-filter-pocket-no-elastic/&quot;&gt;This pattern&lt;/a&gt; requires no elastic, in case you’re having trouble tracking that down (I didn’t even bother, based on what I heard about availability at the time).&lt;/li&gt;
&lt;li&gt;Early in the month I chatted with students and alumni from my alma mater, the University of Florida Graphic Design program. &lt;a href=&quot;https://cassiemcdaniel.com/&quot;&gt;Cassie McDaniel&lt;/a&gt; and I teamed up to share our life experiences and answer questions about navigating the design and tech industries. I wish I could take away all the stress students are feeling right now—especially the seniors—but I feel thankful for opportunities to connect and support my community. Big thanks to &lt;a href=&quot;https://mariarogal.com/&quot;&gt;Maria Rogal&lt;/a&gt; for providing those opportunities.&lt;/li&gt;
&lt;li&gt;Lately I’ve been fixating on whether I add value to my professional communities. Forsaking my own be-gentle-with-yourself advice, I tend to consider only objectively-positive qualities or perfect execution as “adding value”. The other day someone more junior than me shared concerns on how efficient and knowledgeable they were in a particular space; their vulnerability enabled me to share that I have those same kinds of worries, too, and it seemed to give them some relief that this is a common part of the learning process. That was a good reminder to me that the qualities we don’t like about ourselves—for me, that anxious feeling I am never enough—can be exactly what we need to “add value” to those around us.&lt;/li&gt;
&lt;li&gt;And in more trivial realizations…after a file opened in VS Code with 4-space tabs, it dawned on me that I’ve done a complete about-face with regards to tab sizing. The first time I came across 2-space tabs in the wild, I thought, “what is the point of tabs if you’re going to make them that small?” Now I’m ride-or-die for 2 spaces. 😂&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;good-things&quot;&gt;Good Things&lt;/h2&gt;
&lt;p&gt;I made a tiny one-pager site called &lt;a href=&quot;https://goodthings.melanie-richards.com/&quot;&gt;Good Things&lt;/a&gt; to compile some good sensory things in life:&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-s.png&quot; alt=&quot;A one-page website displaying in large text a list of nice, simple things&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This was a pre-COVID-19 idea but has been highly useful to me as of late, whenever I need to retreat from pandemic-related anxiety into a happy place. I &lt;a href=&quot;https://melanie-richards.com/blog/good-things&quot;&gt;wrote a bit more on Good Things&lt;/a&gt;, including randomizing the list at build time.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Timely fundraisers: &lt;a href=&quot;https://charity.gofundme.com/o/en/campaign/help-ups-teamsters-protect-ourselves-and-the-public-from-covid-19&quot;&gt;Help UPS Teamsters Organize&lt;/a&gt;, &lt;a href=&quot;https://www.saveourchinatowns.org/&quot;&gt;Save Our Chinatowns&lt;/a&gt;, &lt;a href=&quot;https://seattletipjar.com/&quot;&gt;Seattle Tip Jar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/FedeItaliano76/status/1247188137178251265&quot;&gt;Concrete landscapes by French painter Jean-Pierre Ugarte&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;#TIL that &lt;a href=&quot;https://www.justonecookbook.com/konjac-konnyaku/&quot;&gt;konnyaku&lt;/a&gt; is a taro-based, jelly-like food used in Japanese cooking&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/roisiningle/status/1247522465032495112&quot;&gt;This quote about ongoing personal growth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.archdaily.com/936976/kaleidoscope-in-tianshui-sako-architects&quot;&gt;This beautiful kindergarten&lt;/a&gt;: a white-washed-looking building with colored glass cutouts in alternating shades of the rainbow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/AlexPenn_1/status/1254792809162379265&quot;&gt;This chaffinch nest&lt;/a&gt;, ringed with lichen.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2020/04/low-challenge-high-skill-tasks-in-terrible-times/&quot;&gt;Low-Challenge, High-Skill Tasks in Terrible Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2020/04/challenge-proximity-apps-covid-19-contact-tracing&quot;&gt;The Challenge of Proximity Apps For COVID-19 Contact Tracing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/science/archive/2020/04/coronavirus-pandemic-earth-pollution-noise/609316/&quot;&gt;The Pandemic Is Turning the Natural World Upside Down&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2020/04/15/make-bad-art-too/&quot;&gt;Make bad art, too&lt;/a&gt; (note: a couple ableist terms in one of the quotes; good sentiment otherwise)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cooking&quot;&gt;Cooking&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Content warning: food and alcohol&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;🤷‍♀️: fine, no pressing need to make again &lt;br /&gt;&lt;br /&gt;
👍: I like it, would cook again &lt;br /&gt;&lt;br /&gt;
🌟: I love it!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://naturallyella.com/harissa-sweet-potato-ricotta-toast/&quot;&gt;Harissa Sweet Potato Ricotta Toast&lt;/a&gt;: 👍&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.onegreenplanet.org/vegan-recipe/bunny-chow-south-african-curry-in-a-bread-bowl/&quot;&gt;Bunny Chow&lt;/a&gt;: 👍&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brooklynsupper.com/sage-gold-rush-cocktails/&quot;&gt;Sage Gold Rush Cocktails&lt;/a&gt;: 👍&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bonappetit.com/recipe/cauliflower-bolognese&quot;&gt;Cauliflower Bolognese&lt;/a&gt;: 👍, could do with a bit more spice&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lastingredient.com/harissa-roasted-cauliflower-couscous/&quot;&gt;Harissa Roasted Cauliflower Couscous&lt;/a&gt;: 🌟&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New project: Good Things, and randomization at build time</title>
      <link href="https://melanie-richards.com/blog/good-things/"/>
      <updated>2020-04-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/good-things/</id>
      <content type="html">&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-s.png&quot; alt=&quot;A one-page website displaying in large text a list of nice, simple things&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Back before COVID-19 hit the global scene, I thought it would be pleasant to have a list of the good things in life. This list wouldn’t be an exhaustive account of all the checked boxes on Maslow’s Hierarchy of Needs, but rather would document small pleasures which evoke some kind of clear and specific emotional response. If I had The Sads, I could pull up this list and sink down into the sensory details of, say, that strong hit of pine scent you randomly get on a hiking trail.&lt;/p&gt;
&lt;p&gt;Now that we’re all in the thick of this pandemic, this new tiny side project—&lt;a href=&quot;https://goodthings.melanie-richards.com/&quot;&gt;Good Things&lt;/a&gt;—has offered me a peaceful little portal to things I miss. Your mileage may vary, but I’ve found that reading my personal list of good things can be comforting as I help protect my community by sheltering in place.&lt;/p&gt;
&lt;h2 id=&quot;project-details&quot;&gt;Project details&lt;/h2&gt;
&lt;p&gt;Good Things is pretty much just a one-pager static site. It’s built on top of Eleventy, with a singular data file to pull in list items, which are displayed in random order. &lt;a href=&quot;https://github.com/melanierichards/good-things&quot;&gt;The code is available on Github&lt;/a&gt;, and I hope other folks do fork this! I’d love to know what would be on your list and how else you might personalize this to suit your needs.&lt;/p&gt;
&lt;p&gt;Aesthetically, I’ve been itching to get this evergreen shade out of my system, and I enjoy how that turned out in the dark scheme as well:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-schemes-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-schemes-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-schemes-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-good-things-schemes-s.png&quot; alt=&quot;The light color scheme is dark green on cream, and the dark color scheme is inverted. The dark background is a slightly darker and less saturated version of the green from the light scheme text.&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;randomization-at-build-time&quot;&gt;Randomization at build time&lt;/h2&gt;
&lt;p&gt;As I was putting this together, I felt it would be ideal for the list items to be displayed in random order, so that the list felt fresh each time I referred to it. I considered implementing client-side randomization, but actually, that’s kind of overkill—I’m unlikely to visit the site more than once daily, and I don’t need some button to mash on in rapid succession.&lt;/p&gt;
&lt;p&gt;How I solved this with a static site is to randomize the list order at build time. I’ve done this using &lt;a href=&quot;https://github.com/melanierichards/good-things/blob/master/.eleventy.js&quot;&gt;a lodash function to shuffle the array&lt;/a&gt;. That script will execute each time a build is triggered. The trick then is to trigger a daily build.&lt;/p&gt;
&lt;p&gt;Interestingly, Netlify—which hosts my one-pager—doesn’t yet offer (AFAICT) an in-built solution for kicking off builds at a regular interval. They do offer build hook URLs that you can trigger via a cron job. &lt;a href=&quot;https://www.voorhoede.nl/en/blog/scheduling-netlify-deploys-with-github-actions/&quot;&gt;“Scheduling Netlify deploys with GitHub Actions”&lt;/a&gt; provides a great walkthrough on how you can do this using Github workflows, including repo secrets to keep your key safe in a public repo. With this solution, my build now randomizes at midnight, PST!&lt;/p&gt;
&lt;h2 id=&quot;please-fork!&quot;&gt;Please fork!&lt;/h2&gt;
&lt;p&gt;That’s pretty much all there is to this project. Please do let me know if you end up hosting your own list, I’d love to check it out!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Mar 2020: the great indoors</title>
      <link href="https://melanie-richards.com/blog/learning-log-2003/"/>
      <updated>2020-04-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2003/</id>
      <content type="html">&lt;h2 id=&quot;quarantine&quot;&gt;Quarantine&lt;/h2&gt;
&lt;p&gt;So. COVID-19 has turned the whole world upside down, and it’s been one full month of isolation inside the apartment. Right now I am admittedly the archetype of a person who has this easiest—able to work from home, no kids, not immunocompromised AFAIK—and still, plenty of worry for the health and financial security of others, known and unknown to me. My best thoughts to those who are having a hard time right now, whatever position you find yourselves in. I&#39;ll be looking for ways to support others throughout this thing—besides &lt;strong&gt;staying home!&lt;/strong&gt;—so please feel free to pass along an organization name or a Square Cash handle (please no Venmo, long story).&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-posca-pens-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-posca-pens-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-posca-pens-s.jpg&quot; alt=&quot;A blank notebook with a paint pen drawing of a bay with mountains behind it. A green and a blue pen are laid next to the notebook.&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Due to my life situation, this shelter-in-place time has been an exploration of the great indoors: finding a new thrill in &lt;a href=&quot;https://www.instagram.com/p/B94ZyAbgsB2/&quot;&gt;Posca paint pens&lt;/a&gt;; going for lunchtime walks (the highlight of my day, when I do squeeze them in); playing Animal Crossing in bits and pieces; working way too much; and getting in lots of video chatting time. I&#39;m thankful to have more opportunities to talk to my family on the other side of the country, and having a lot of fun with socially-distanced happy hours or art hangouts. My next project: sewing masks!&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;p&gt;Added to my highlights site: “&lt;a href=&quot;https://highlights.melanie-richards.com/book/make-time/&quot;&gt;Make Time&lt;/a&gt;” and “&lt;a href=&quot;https://highlights.melanie-richards.com/book/miracle-of-mindfulness/&quot;&gt;The Miracle of Mindfulness&lt;/a&gt;”. I swear I read about topics other than mindfulness!&lt;/p&gt;
&lt;picture class=&quot;c-web-preview c-web-preview--lighter&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-mar-2020-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-mar-2020-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-mar-2020-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-highlights-mar-2020-s.png&quot; alt=&quot;A grid of book covers on my highlights site&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;personal-site&quot;&gt;Personal Site&lt;/h2&gt;
&lt;p&gt;Didn’t make a whole ton of progress here, but did make body text and link underlines a little less contrasty, by choosing a slightly lighter grey for the text and knocking back underlines from black to a medium grey:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-link-diff-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-link-diff-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-link-diff-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-link-diff-s.png&quot; alt=&quot;Side by side: dark text and links on the left, less contrasted text and links on the right&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the Internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;These &lt;a href=&quot;https://www.instagram.com/luckylotusmi/?igshid=18pq59t6odrd3&quot;&gt;resin geode paintings&lt;/a&gt; are wild!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://papaya-whip.glitch.me/&quot;&gt;Named Color Dither&lt;/a&gt;: a teeny function that recolors images with named CSS colors&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/electrolemon/status/1182047291084959744?s=21&quot;&gt;This riff on the Succession theme&lt;/a&gt; had me in stitches 😂&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/veschwab/status/1242402509102120961&quot;&gt;Same girl, same.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webplatform.news/issues/2020-03-19&quot;&gt;My findings after browsing the web without a User-Agent header for one week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2020/03/maintaining-performance/&quot;&gt;Maintaining Performance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gwhitworth.com/blog/2020/03/please-dont-stick-to-tech/&quot;&gt;Please don&#39;t stick to tech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/science/archive/2017/11/rats-of-new-york/546959/&quot;&gt;New York City Has Genetically Distinct ‘Uptown’ and ‘Downtown’ Rats&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/science-and-health/2020/3/11/21173187/coronavirus-covid-19-hand-washing-sanitizer-compared-soap-is-dope&quot;&gt;How soap absolutely annihilates the coronavirus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spoon-tamago.com/2020/03/13/amabie-japanese-epidemic-yokai/&quot;&gt;Amabie: the Japanese Yokai That Can Stave Off Epidemics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marker.medium.com/what-everyones-getting-wrong-about-the-toilet-paper-shortage-c812e1358fe0&quot;&gt;What Everyone’s Getting Wrong About the Toilet Paper Shortage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;cooking&quot;&gt;Cooking&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;(Content warning: food)&lt;/em&gt; Starting a new section in the Learning Log for new recipes I&#39;ve tried out! Here&#39;s the key:&lt;/p&gt;
&lt;p&gt;
🤷‍♀️: fine, no pressing need to make again&lt;br /&gt;
👍: I like it, would cook again&lt;br /&gt;
🌟: I love it! &lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pinchofyum.com/morrocan-spiced-chickpea-glow-bowl&quot;&gt;Detox Moroccan-Spiced Chickpea Glow Bowl&lt;/a&gt;: 🌟 (despite the silly name)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://recipes.instantpot.com/recipe/chickpea-curry-2/&quot;&gt;Chickpea Curry&lt;/a&gt;: used chili powder instead of kashmiri chili, and doubled the garam masala. 🌟&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ministryofcurry.com/spinach-daal-instant-pot/&quot;&gt;Spinach Daal&lt;/a&gt;: 🌟&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Fonts with open source licenses</title>
      <link href="https://melanie-richards.com/blog/open-source-fonts/"/>
      <updated>2020-03-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/open-source-fonts/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-open-source-fonts-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-open-source-fonts-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-open-source-fonts-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-open-source-fonts-s.png&quot; alt=&quot;A decorative image that says &#39;Open Source Fonts&#39; using an open source font&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Typeface is &lt;a href=&quot;https://github.com/sebsan/Bagnard&quot;&gt;Bagnard&lt;/a&gt; by &lt;a href=&quot;https://github.com/sebsan&quot;&gt;sebsan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1227103041280602112&quot;&gt;started a new open source project&lt;/a&gt; the other day, and wondered where—other than &lt;a href=&quot;https://fonts.google.com/&quot;&gt;Google Fonts&lt;/a&gt;—I might find fonts for inclusion in a permissive public repo. Here&#39;s a list of resources I found for font files released with the &lt;a href=&quot;https://choosealicense.com/licenses/ofl-1.1/&quot;&gt;SIL Open Font License (OFL)&lt;/a&gt;:&lt;/p&gt;
&lt;h2 id=&quot;curated-resources&quot;&gt;Curated resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theleagueofmoveabletype.com/&quot;&gt;The League of Movable Type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open-foundry.com/&quot;&gt;Open Foundry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://usemodify.com/&quot;&gt;Use &amp;amp; Modify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Heck, just take a scroll through &lt;a href=&quot;https://www.are.na/frederic-brodbeck/open-source-typefaces&quot;&gt;Frederic Brodbeck&#39;s Are.na collection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;larger-libraries&quot;&gt;Larger libraries&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fontlibrary.org/en&quot;&gt;Font Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fontsquirrel.com/fonts/list/find_fonts?filter%5Blicense%5D%5B0%5D=open&quot;&gt;Font Squirrel &amp;quot;open&amp;quot; category&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/KyleAMathews/typefaces&quot;&gt;Kyle A Matthews typefaces repo&lt;/a&gt;: this is a collection of NPM packages to self-host fonts from the Google Fonts collection and beyond. I haven’t done an exhaustive review of available typefaces, but at time of writing there&#39;s &amp;gt; 1000 packages here so…a great jumping off point for finding more options.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;combining-licenses-in-one-project&quot;&gt;Combining licenses in one project&lt;/h2&gt;
&lt;p&gt;#iAmNotALawyer, but I imagine I&#39;ll munge together licenses within one &lt;code&gt;license.txt&lt;/code&gt; file: specifying/including the SIL license first for any relevant font files, and MIT for everything else.&lt;/p&gt;
&lt;h2 id=&quot;giving-back-to-open-source&quot;&gt;Giving back to open source&lt;/h2&gt;
&lt;p&gt;The fantastic thing about open source is that it is free and open, and helps foster creativity within the community. Writing code, designing typefaces, and making other open source contributions takes real human time, though, so whichever typefaces I go with, I’ll seek out a tip jar for the type designer(s). 👍&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Feb 2020: the Golden Triangle</title>
      <link href="https://melanie-richards.com/blog/learning-log-2002/"/>
      <updated>2020-03-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2002/</id>
      <content type="html">&lt;p&gt;Late in February, I headed out to India with my S.O. (R) and some friends to meet R&#39;s family and do some tourism in the Golden Triangle (Delhi ⇒ Agra ⇒ Jaipur). We were absolutely spoiled by R&#39;s lovely parents—I am now 78% roti—and got the chance to visit a dizzying number of monuments.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-india-arch-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-india-arch-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-india-arch-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-india-arch-s.jpg&quot; alt=&quot;Light streaming through a pointed archway; terracotta mosque ceiling with an intricate white design inside a large circle; intricate ironwork in a geometric pattern&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;Details from the mosque at the Taj Mahal and from Humayan’s Tomb&lt;/p&gt;
&lt;p&gt;Some things I particularly enjoyed from our more touristy activities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learning about the ancient Harappa civilization and viewing artifacts at the National Museum in Delhi. I&#39;d love to get my hands on some further reading.&lt;/li&gt;
&lt;li&gt;Islamic architecture: mosques, monuments, tombs, I love the intricate details and the masterful adherence to symmetry. This also highlighted for me a gap in my previous sightseeing.*&lt;/li&gt;
&lt;li&gt;Centuries-old strategies for climate control: cross-ventilation, blue and white paint for cooling, silver-painted convex mirrors for heating. Also filling one’s bedroom floor with rose water—I’m guessing when you’re the king, that gets changed out frequently?&lt;/li&gt;
&lt;li&gt;Gazing out at the built-up, mountainous terrain around Amer Fort in Jaipur.&lt;/li&gt;
&lt;li&gt;The luxury of a metro train every 4 minutes in Delhi. 🚉&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-s.jpg&quot; alt=&quot;Large structures in triangular shapes&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;I couldn’t help but feel transfixed by the mega-sized sun dials on the Jatar Mantar complex.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-dial-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-dial-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-jatar-mantar-dial-s.jpg&quot; alt=&quot;A large structure with a curved slope extending from the side&quot; /&gt;
        &lt;/picture&gt;
&lt;p :=&quot;&quot; class=&quot;caption&quot;&gt;Another vantage point of the world’s largest sundial.&lt;/p&gt;
&lt;p&gt;* &lt;em&gt;As an outsider, I’m not the right person to comment on this at length. But I do want to acknowledge the frustrating delta between the preservation of national Islamic monuments, vs. India’s recent anti-Muslim citizenship law and &lt;a href=&quot;https://www.nytimes.com/2020/02/25/world/asia/new-delhi-hindu-muslim-violence.html&quot;&gt;resulting escalated tensions (CW: graphic imagery)&lt;/a&gt;. People &amp;gt; buildings.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;As for side projects stateside…&lt;/p&gt;
&lt;h2 id=&quot;personal-site&quot;&gt;Personal Site&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Decided to build upon what I already have and improve the things that bother me, rather than completely start over with a redesign.&lt;/li&gt;
&lt;li&gt;Re-implemented Webmentions in the Eleventy version of my site and found &lt;a href=&quot;https://sia.codes/posts/webmentions-eleventy-in-depth/&quot;&gt;this walkthrough by Sia Karamalegos&lt;/a&gt; very helpful. There&#39;s something funky going on with date ordering in mentions on some but not all of the posts, so I need to play with this a little bit more.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;egg-weaving&quot;&gt;Egg Weaving&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-final-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-final-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-final-s.jpg&quot; alt=&quot;A tapestry featuring fried eggs with fluffy yokes on a navy background&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;After spending many months almost but not quiiiite finished, I finished sewing the header (top bit) to the back of the tapestry, added the loops for the bar, and hung this fried-egg weaving. 🎉🍳&lt;/p&gt;
&lt;h2 id=&quot;breathing&quot;&gt;Breathing&lt;/h2&gt;
&lt;p&gt;Love this sentiment from &lt;a href=&quot;https://twitter.com/shl/status/1225283973854588928?s=21&quot;&gt;Sahil Lavingia&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Reading is the inhale, writing is the exhale. Breathe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Related: &lt;a href=&quot;https://twitter.com/TatianaTMac/status/1222538813848735744&quot;&gt;this Mean Girls-esque acronym&lt;/a&gt; from Tatiana Mac.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/2019/12/30/792439555/making-art-is-good-for-your-health-heres-how-to-start-a-habit?mc_cid=5684a35f38&amp;amp;mc_eid=e2a5a07056&quot;&gt;Making Art Is Good For Your Health. Here&#39;s How To Start A Habit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.foodandwine.com/vegetables/the-difference-between-yams-and-sweet-potatoes-is-structural-racism&quot;&gt;The Difference Between Yams and Sweet Potatoes Is Structural Racism&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log, Jan 2020: routines and rhythm of business</title>
      <link href="https://melanie-richards.com/blog/learning-log-2001/"/>
      <updated>2020-02-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-2001/</id>
      <content type="html">&lt;p&gt;Decided to revert from Weeknotes back to monthly Learning Logs for various and sundry reasons. I think I may re-title the Learning Logs to be numbered, because that was fun in Weeknotes. That’ll be a nice first test of using a &lt;a href=&quot;https://docs.netlify.com/routing/redirects/#syntax-for-the-redirects-file&quot;&gt;Netlify redirects file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The past couple weeks I haven’t made a terrible amount of progress on my side projects. Right now I’m trying to figure out my routines and how they align with my energy levels throughout the day and week.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.robinrendle.com/essays/systems-mistakes-and-the-sea&quot;&gt;Systems, Mistakes, and the Sea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frankchimero.com/blog/2020/burnout-list/&quot;&gt;The Burnout List&lt;/a&gt;: I&#39;m in this post several times and I don&#39;t like it.&lt;/li&gt;
&lt;li&gt;Also eagerly enjoying Frank Chimero’s open redesign, with posts like &lt;a href=&quot;https://frankchimero.com/blog/2020/nose-first/&quot;&gt;Redesign: Nose-First&lt;/a&gt;, &lt;a href=&quot;https://frankchimero.com/blog/2020/looking-at-letters/&quot;&gt;Looking at Letters&lt;/a&gt;, &lt;a href=&quot;https://frankchimero.com/blog/2020/picking-typefaces/&quot;&gt;Picking Typefaces&lt;/a&gt;, and &lt;a href=&quot;https://frankchimero.com/blog/2020/scales-and-hierarchy/&quot;&gt;Scales &amp;amp; Hierarchy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/WICG/interventions&quot;&gt;Interventions&lt;/a&gt; is a discussion on user agent interventions re: web APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;privacy&quot;&gt;Privacy&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2020/01/08/spotify-brings-streaming-ad-insertion-technology-to-podcasts/&quot;&gt;Spotify brings streaming ad insertion technology to podcasts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2020/01/18/technology/clearview-privacy-facial-recognition.html&quot;&gt;The Secretive Company That Might End Privacy as We Know It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2020/01/ring-doorbell-app-packed-third-party-trackers&quot;&gt;Ring Doorbell App Packed with Third-Party Trackers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/sit-and-do-it/&quot;&gt;“You’ll be surprised how much you will do in a day if you sit and do it.”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.blog/2020/01/13/avoiding-burnout-as-an-ambitious-developer/&quot;&gt;Avoiding burnout as an ambitious developer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bit.ly/2EHCQck&quot;&gt;What Happens to Your Body on No Sleep&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getpocket.com/explore/item/remembering-nshu-the-19th-century-chinese-script-only-women-could-write&quot;&gt;Remembering Nüshu, the 19th-Century Chinese Script Only Women Could Write&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcompany.com/90440201/this-app-matches-marginalized-communities-to-therapists-who-share-their-background&quot;&gt;This app matches marginalized communities to therapists who share their background&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.microsoft.com/blog/2020/01/16/microsoft-will-be-carbon-negative-by-2030/&quot;&gt;Microsoft will be carbon negative by 2030&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;project-goals-for-february&quot;&gt;Project Goals for February&lt;/h2&gt;
&lt;p&gt;This is overly ambitious given that I also have travel coming up, but ya know, shoot for the moon:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📝 Write + publish 3 blog posts&lt;/li&gt;
&lt;li&gt;💻 &lt;strong&gt;This site:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Re-implement Webmentions on top of Eleventy&lt;/li&gt;
&lt;li&gt;Figure out what I want to get out of my site, what I want to communicate (i.e. deal with the identity crisis that is being a web platform PM that still wants to keep their design-dev background alive)&lt;/li&gt;
&lt;li&gt;Figure out if I want to completely redesign my site or just revamp what I have, and start making progress on whichever path I choose&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✂ &lt;strong&gt;Sewing:&lt;/strong&gt; sew some drawstring bags for my reusable makeup pads (I&#39;m trying to get back into sewing!)&lt;/li&gt;
&lt;li&gt;🍳 &lt;strong&gt;Weaving:&lt;/strong&gt; finally finish my egg weaving. All it needs are the final touches in order to hang it up. That’s all it has needed for months now.&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Studying:&lt;/strong&gt; build more knowledge in web networking &amp;amp; storage.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #22: swapping out Jekyll for Eleventy</title>
      <link href="https://melanie-richards.com/blog/weeknotes-22/"/>
      <updated>2020-01-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-22/</id>
      <content type="html">&lt;h2 id=&quot;draft-jam&quot;&gt;Draft Jam&lt;/h2&gt;
&lt;p&gt;I’ve been thinking about a project modeled after game jams, which is where developers build a game from scratch on a compressed timeline (e.g. a couple days). I thought it would be neat to devote one Saturday, every other month, to turning blog post drafts into published posts. I’m tabling this idea for now because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I know at some point I’m going to get cranky about setting aside Saturdays to run the project. I wish that weren’t the case, but it is.&lt;/li&gt;
&lt;li&gt;The project as currently designed doesn’t really encourage the creation of writing habits.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There is still something to explore here, some community to build around sharing through writing. Maybe that’s getting together an in-person writing crew on regular weekday mornings. Maybe that’s simply a hash tag where folks can share what they’re writing, find peer reviewers, and encourage each other. I’ll keep this idea simmering on the back burner.&lt;/p&gt;
&lt;h2 id=&quot;converting-my-site-from-jekyll-to-eleventy&quot;&gt;Converting my site from Jekyll to Eleventy&lt;/h2&gt;
&lt;p&gt;This time of year, I tend to be in the mood to redesign my website, which leads to plenty of unnecessary emotional suffering. This year I plan to keep the base theme generally in tact, but make some improvements on top of it: a nicer landing page, add back a projects section, updates to the blog index and info page, some readability things on blog posts.&lt;/p&gt;
&lt;p&gt;January 2nd, I cracked open Windows Terminal and found that my Ruby gems had gotten into a funky state on WSL 2. I did what any enterprising developer would do: rewrite the site on a new tech stack. 😂&lt;/p&gt;
&lt;p&gt;In all seriousness, I’ve wanted to play around with &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;, and am kind of fed up with taking an [albeit mild] dependency on a language I don’t really know and am not currently motivated to learn better (Ruby). So this was a good opportunity to try out a Node-based static site generator.&lt;/p&gt;
&lt;p&gt;Y’all…Eleventy is FAST. I am so in love with how quickly builds compile. Eleventy can handle a bunch of different templating languages, so most things were fairly trivial to port over. I had to rewrite a shortcode, change some minor syntax things, and install some additional Markdown plugins, but with the exception of &lt;a href=&quot;https://www.11ty.dev/docs/dates/#dates-off-by-one-day&quot;&gt;fun with dates, as per usual&lt;/a&gt; things have gone pretty smoothly. After adding RSS, Webmentions, and doing a bit of file cleanup, I’ll be able to deploy the new Eleventy version on Netlify and…work on changes that will actually be observable to users.&lt;/p&gt;
&lt;h2 id=&quot;hindi-learning&quot;&gt;Hindi learning&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;(&lt;a href=&quot;https://melanie-richards.com/blog/2019-review#next-personal-goals&quot;&gt;Hindi learning is a seasonal goal&lt;/a&gt;)&lt;/em&gt; This week, I got to the first checkpoint in Duolingo, which covers Devanāgarī characters and a couple basic words. I’m going to go back over this first set of lessons several times, to set a good foundation for the rest of the course. I actually completely reset the course because I found discerning the difference between the syllables to be challenging. Reading &lt;a href=&quot;https://omniglot.com/language/articles/devanagari.htm&quot;&gt;this article on the script&lt;/a&gt; a couple weeks ago actually helped a lot.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Humanity can’t catch a break in 2020, apparently: two days into the year and we already have natural and man-made disasters on our hands. For the wildfires in Australia, &lt;a href=&quot;https://www.cnet.com/how-to/australian-fires-everything-we-know-and-how-you-can-help/&quot;&gt;this article provides context and action items&lt;/a&gt; and there is a &lt;a href=&quot;https://www.gofundme.com/f/fire-relief-fund-for-first-nations-communities&quot;&gt;Fire Relief Fund for First Nations Communities&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2019 in Review</title>
      <link href="https://melanie-richards.com/blog/2019-review/"/>
      <updated>2019-12-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2019-review/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seagulls-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seagulls-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seagulls-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seagulls-s.jpg&quot; alt=&quot;Seagulls swooping in the air above a grey beach on a delightfully dreary day&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;So long, 2019! Photo of La Push beach, WA in September.&lt;/p&gt;
&lt;p&gt;It’s the end of the year and time for another annual review!&lt;/p&gt;
&lt;p&gt;2019 has been an interesting one professionally, as the Microsoft Edge team has been working on top of Chromium to build the vNext version of the browser. It is incredibly refreshing to be able to ship preview versions of the browser quickly (at long last!), but it also means changing our processes and building up expertise in a new codebase.&lt;/p&gt;
&lt;p&gt;As for me, I’ve been contributing as a Program Manager to accessibility-related projects like implementing &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/Accessibility/UIA/explainer.md&quot;&gt;UI Automation&lt;/a&gt; in open source, support for &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/WebVTTCaptionStyling/explainer.md&quot;&gt;styled captions&lt;/a&gt; and &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/Accessibility/HighContrast/explainer.md&quot;&gt;Windows High Contrast&lt;/a&gt;, standardization of styling for said HC mode, and &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/Accessibility/VirtualContent/explainer.md&quot;&gt;ideas for making virtualized content more accessible&lt;/a&gt;. More recently, I’ve started working on projects to protect privacy and build user trust while browsing the web. Trust is a challenging space, and I’m looking forward to honing my PM craft by tackling these industry-wide challenges.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;My baby niece was born! She is the first kiddo of this generation in my family and potentially the happiest baby I’ve seen; accordingly we all are completely smitten with her.&lt;/li&gt;
&lt;li&gt;Gave my first international talk at the W3C Developer Meetup, &lt;a href=&quot;https://www.w3.org/2019/09/Meetup/speaker-melanie.html&quot;&gt;“Finessing forced-colors: tailoring the High Contrast experience”&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;At ViewSource, gave a longer version of my aforementioned talk, which covers &lt;code&gt;prefers-color-scheme&lt;/code&gt; and touches briefly on the future &lt;code&gt;prefers-contrast&lt;/code&gt; as well. &lt;a href=&quot;https://www.youtube.com/watch?v=Z_QZhoBrWPc&amp;amp;list=PLo3w8EB99pqLt4A5jZP5Fiw2Gi08CYj6H&amp;amp;index=3&amp;amp;t=0s&quot;&gt;“The Tailored Web: Effectively Honoring Visual Preferences”&lt;/a&gt; is my favorite of the two versions, as it tells a little bit more of the fuller story with regards to color and contrast preferences. Note: system color keyword &lt;code&gt;Text&lt;/code&gt; has since been renamed to &lt;code&gt;CanvasText&lt;/code&gt;, to disambiguate from other CSS properties’ values.&lt;/li&gt;
&lt;li&gt;Also at ViewSource, spoke on &lt;a href=&quot;https://www.youtube.com/watch?v=LB9yimgl58o&amp;amp;list=PLo3w8EB99pqLt4A5jZP5Fiw2Gi08CYj6H&amp;amp;index=14&amp;amp;t=0s&quot;&gt;my first panel&lt;/a&gt;, which to me is 1000x more terrifying than a talk I can prepare ahead of time.&lt;/li&gt;
&lt;li&gt;Started writing weeknotes to chronicle what I’m working on, thinking about, and reading.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;
&lt;p&gt;I baaaaarely made my &lt;a href=&quot;https://www.goodreads.com/user_challenges/14892646&quot;&gt;reading goal&lt;/a&gt; of 72 books &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1211121999952728064&quot;&gt;by the skin of my teeth&lt;/a&gt; (thank you, internet friends and short comics). Here are a few books I particularly enjoyed, in alphabetical order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/37976541-bad-blood&quot;&gt;Bad Blood: Secrets and Lies in a Silicon Valley Startup&lt;/a&gt; by John Carreyrou&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/20613761-citizen&quot;&gt;Citizen: An American Lyric&lt;/a&gt; by Claudia Rankine&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/42771901-how-to-do-nothing&quot;&gt;How to Do Nothing: Resisting the Attention Economy&lt;/a&gt; by Jenny Odell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/39317186-make-time&quot;&gt;Make Time: How to Focus on What Matters Every Day&lt;/a&gt; by Jake Knapp and John Zeratsky&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/29983711-pachinko&quot;&gt;Pachinko&lt;/a&gt; by Min Jin Lee: this is probably my favorite book of the year. ✨&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/34506912-the-prince-and-the-dressmaker&quot;&gt;The Prince and the Dressmaker&lt;/a&gt; by Jen Wang&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/19034943-the-secret-commonwealth&quot;&gt;The Secret Commonwealth (The Book of Dust #2)&lt;/a&gt; by Philip Pullman&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/20967058-the-secret-place&quot;&gt;The Secret Place (Dublin Murder Squad #5)&lt;/a&gt; by Tana French&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/35407505-why-art&quot;&gt;Why Art?&lt;/a&gt; by Eleanor Davis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For 2020, I won’t have a goal for total number of books read. Instead, I want to read 4 books that I owned at the beginning of the year for every new book I borrow/buy/am gifted.&lt;/p&gt;
&lt;h2 id=&quot;next-personal-goals&quot;&gt;Next personal goals&lt;/h2&gt;
&lt;p&gt;I’m not making annual goals this year either, but I am setting seasonal ones. The goals I’m currently working through for December 2019–February 2020 are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Health:&lt;/strong&gt; consistency in exercise, meditation, and going to bed on time (the last one is the hardest for me).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personal:&lt;/strong&gt; learn some Hindi for my upcoming trip to India in February! The Devanāgarī alphabet is tricky; I think it’ll take a bit to train my ear for sounds that seem very similar to me as a native English speaker.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Side Project:&lt;/strong&gt; I was aiming to get Draft Jam launched this season, but I’m having second thoughts about the project (I’ll go into this more in this week’s Weeknotes). I have some candidates for a replacement goal, but I wonder if it might be advantageous to focus instead on showing up consistently to experiment with new things.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Happy New Year!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #21: coming to you from rainy Florida</title>
      <link href="https://melanie-richards.com/blog/weeknotes-21/"/>
      <updated>2019-12-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-21/</id>
      <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/announcing-auto-layout/&quot;&gt;Auto Layout in Figma&lt;/a&gt; is a revelation! I must’ve spent hours of my life in the past futzing with rectangles in Illustrator every time I changed some text or added a new element to a component. I want this feature in every program (just imagining now how much time it would save me in PowerPoint).&lt;/li&gt;
&lt;li&gt;Work this week found me executing on a new-to-me user research task. I found it interesting that every iteration of the task took me 20 minutes less than the previous; usually getting better and more efficient at something new takes awhile, so it was interesting to note such a tight progress loop.&lt;/li&gt;
&lt;li&gt;Added &lt;a href=&quot;https://highlights.melanie-richards.com/book/how-to-do-nothing/&quot;&gt;“How to Do Nothing”&lt;/a&gt; to my highlights collection.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.24a11y.com/2019/building-an-accessible-bingo-web-app/&quot;&gt;Building an accessible bingo web app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/making-room-for-variation/&quot;&gt;Making Room for Variation&lt;/a&gt;: awesome writeup from Yesenia Perez-Cruz on how to make flexible design systems work, with some practical examples.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-web&quot;&gt;The web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@derek./how-is-nordvpn-unblocking-disney-6c51045dbc30&quot;&gt;How is NordVPN unblocking Disney+? It might be through YOUR own computer. Even if you’ve never used Disney+ or NordVPN.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.24a11y.com/2019/adding-people-with-disabilities-to-your-team/&quot;&gt;What adding people with disabilities to your team brings to the mix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2019/12/mint-late-stage-adversarial-interoperability-demonstrates-what-we-had-and-what-we&quot;&gt;Mint: Late-Stage Adversarial Interoperability Demonstrates What We Had (And What We Lost)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vox.com/the-highlight/2019/11/25/20975946/hobby-what-should-i-try-how-to&quot;&gt;How to have a true hobby, not a side hustle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #20: switching ALL the gears!</title>
      <link href="https://melanie-richards.com/blog/weeknotes-20/"/>
      <updated>2019-11-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-20/</id>
      <content type="html">&lt;h2 id=&quot;week-of-nov-15&quot;&gt;Week of Nov 15&lt;/h2&gt;
&lt;h3 id=&quot;thinking-and-doing&quot;&gt;Thinking and doing&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Overtime work this week is really cutting into my Pokémon Sword time.&lt;/li&gt;
&lt;li&gt;Chipping away at some adjustments to my upcoming &lt;a href=&quot;https://24a11y.com/&quot;&gt;24 Accessibility&lt;/a&gt; article (thanks to Sarah Higley for editing!)&lt;/li&gt;
&lt;li&gt;Thinking about how not everyone needs a five-year plan. If following your fancy has worked for you, who’s to say it can’t continue working for you? #abundanceMindset&lt;/li&gt;
&lt;li&gt;Fixed and closed a TWO YEAR OLD issue on my personal site. Feels good.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;draft-jam&quot;&gt;Draft Jam&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;(&lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-14/#draft-jam&quot;&gt;Original context on Draft Jam&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When I worked at Fuzzco (design studio) and on MS Edge as a combo dev/designer, switching back to design after a period of dev always felt slow going at first. Now that I’m full time Program Managing on the web platform, context switching to design feels—I’m not going to lie—a bit excruciating. On Saturday morning I tried working on some brand options for Draft Jam, really disliked everything I came up with, and ended up bouncing over to some dev work instead.&lt;/p&gt;
&lt;p&gt;I think this is okay, because I can get as far as I can on dev without having a design in mind, then switch back to design and spend some more time there. I’m trying out &lt;a href=&quot;https://www.11ty.io/&quot;&gt;Eleventy&lt;/a&gt; (static site generator) for the first time on this project. Digging how it feels lightweight, and fascinated by how un-opinionated it is on what types of files you use.&lt;/p&gt;
&lt;h2 id=&quot;week-of-nov-22&quot;&gt;Week of Nov 22&lt;/h2&gt;
&lt;p&gt;Ended up abandoning the &lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-18/#chemex-timer&quot;&gt;Chemex Timer project&lt;/a&gt; because I found a way to work around limitations I was running into in iOS &lt;a href=&quot;https://support.apple.com/en-us/HT208309&quot;&gt;Shortcuts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Quick note:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;The built-in timer on iOS does not support concurrent timers, ugh.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The Chemex Timer utility would’ve kept time on the various phases needed to brew coffee in a Chemex.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Basically, instead of trying to chain together uses of the iOS timer and then running into a race condition where I couldn’t stop the first timer fast enough, I used the Shortcuts “scripting” feature to play a sound after waiting for given intervals of time to pass.&lt;/p&gt;
&lt;p&gt;I could’ve continued building out this utility for funsies and practice, but eh, I have plenty other side project ideas to get my hands on.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/16138&quot;&gt;Mental models&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-web&quot;&gt;The web&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcompany.com/90423457/50-years-ago-today-the-internet-was-born-in-room-3420&quot;&gt;50 years ago today, the internet was born in Room 3420&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2019/11/04/business/secret-consumer-score-access.html&quot;&gt;I Got Access to My Secret Consumer Score. Now You Can Get Yours, Too.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2018/03/for-women-and-minorities-to-get-ahead-managers-must-assign-work-fairly&quot;&gt;For Women and Minorities to Get Ahead, Managers Must Assign Work Fairly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2018/02/if-youre-so-successful-why-are-you-still-working-70-hours-a-week&quot;&gt;If You’re So Successful, Why Are You Still Working 70 Hours a Week?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kottke.org/19/11/the-secret-to-enjoying-a-long-winter&quot;&gt;The Secret to Enjoying a Long Winter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://onezero.medium.com/hospital-algorithms-are-biased-against-black-patients-new-research-shows-7ab4cc896fb3&quot;&gt;Hospital Algorithms Are Biased Against Black Patients, New Research Shows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/story/truth-about-amazon-food-stamps-tax-breaks/&quot;&gt;Bernie Sanders and the Truth About Amazon, Food Stamps, and Tax Breaks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #19: shiny toys</title>
      <link href="https://melanie-richards.com/blog/weeknotes-19/"/>
      <updated>2019-11-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-19/</id>
      <content type="html">&lt;p&gt;Over the weekend I decided to be slightly ridiculous and get the new &lt;a href=&quot;https://www.microsoft.com/en-us/p/surface-laptop-3/8vfggh1r94tm&quot;&gt;Surface Laptop 3 in Sandstone&lt;/a&gt; (disclaimer: I work for Microsoft). I’ve really enjoyed my Surface Pro 4, especially as a drawing tablet, but I’ve wanted a (personal) true laptop on Windows for awhile. The new laptop is so preeeetty, and the keys and trackpad feel like butter.&lt;/p&gt;
&lt;p&gt;To break in the new device, I started pixelling a doorway that I walked by the other night and thought was neat:&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-swansonia-step1-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-swansonia-step1-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-swansonia-step1-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-swansonia-step1-s.png&quot; alt=&quot;Pixel art showing dark windows and a blue-and-red stained glass sign bearing the name &#39;Swansonia&#39;&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I may add a little bit more detail to the left window (or not, I’ll see how I feel) and then get started on the doorway area. Yes, this is a multi-session endeavor: pixel art takes me forever.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/press/releases/federal-court-rules-suspicionless-searches-travelers-phones-and-laptops&quot;&gt;Federal Court Rules Suspicionless Searches of Travelers’ Phones and Laptops Unconstitutional&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #18: time for coffee!</title>
      <link href="https://melanie-richards.com/blog/weeknotes-18/"/>
      <updated>2019-11-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-18/</id>
      <content type="html">&lt;h2 id=&quot;chemex-timer&quot;&gt;Chemex Timer&lt;/h2&gt;
&lt;p&gt;Instead of making progress on Draft Jam, I ended up working a bit on the design for that’s a timer for the various phases of Chemex brewing. I think about making this little web app every time I make coffee and have to watch my stopwatch for the various timings.&lt;/p&gt;
&lt;p&gt;I took this opportunity to finally start playing with Figma in earnest. The &lt;a href=&quot;https://www.figma.com/c/plugin/731841207668879837/Image-Palette&quot;&gt;Image Palette plugin&lt;/a&gt;, which pulls a palette out of a given image, is super fun:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/figma-plugin-m.jpg&quot; alt=&quot;Brown color palettes abstracted from and displayed beneath 3 different photos of coffee. Each palette feels very different than the last.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In other first Figma impressions: it seems weird that, unless there’s an update I haven’t found in the UI, &lt;a href=&quot;https://spectrum.chat/figma/general/how-do-i-define-a-new-frame-size~e16dfec2-1c1c-41e7-b78d-1d9451556a29&quot;&gt;you can’t define a custom frame size&lt;/a&gt; (Figma’s notion of an artboard).&lt;/p&gt;
&lt;p&gt;I got a little impatient with the vector tools in Figma and ended up bouncing over to Illustrator to work on an app icon:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/chemex-icon-v1.png&quot; alt=&quot;An icon that’s a blend between a Chemex brewer and an hourglass&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Once I got the icon in situ:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/chemex-icon-v1-iphone.jpg&quot; alt=&quot;The icon displayed small on an iPhone, looks a little bit muddy&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I decided that I need to re-introduce more contrast (that I had previously removed) and perhaps simplify details a bit. I’m also going to look into a dark-on-light option as well.&lt;/p&gt;
&lt;h2 id=&quot;right-%5Bhealth%5D-habits%2C-right-time&quot;&gt;Right [health] habits, right time&lt;/h2&gt;
&lt;p&gt;This week I’m grateful for two health habits which hadn’t truly resonated with me in the past but, like an ultimately-beloved album, have now found me at the right time:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Running:&lt;/strong&gt; allow me to say that I don’t actually look forward to going for a jog, primarily because what I’d rather be doing with my solo time is sleeping or reading or working on a project. That said, I’m currently enamored with running: for me, it is the most resource-efficient exercise in terms of both money and planning. I feel accomplished and capable when I come back from a jog, no matter how “well” I ran that day. What I love most about running is the time to observe the world around me, to window-shop for houses or note who has weird stuff in their front yard. As the leaves rapidly change in Seattle—marking nearly a year of my new practice—running has become an active meditation on the passing of seasons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Meditation:&lt;/strong&gt; speaking of which, I’ve tried meditation several times before, and it actually feels like it might stick this time. I still need to work on meditating daily, and my mind wanders constantly, but I’ve already noticed how a small time investment can make a big difference on processing thoughts and emotions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;We’ve been reading &lt;a href=&quot;https://www.goodreads.com/book/show/44334073-tools-and-weapons&quot;&gt;Tools and Weapons&lt;/a&gt; for a book club at work, through which I discovered &lt;a href=&quot;https://www.microsoft.com/en-us/corporate-responsibility/airband/technology&quot;&gt;TV “white spaces”&lt;/a&gt;, aka unused TV channels, can be used to provide broadband internet access.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/2019/10/12/why-im-digging-eleventy&quot;&gt;Why I’m Digging Eleventy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.washingtonpost.com/business/2019/10/14/colleges-quietly-rank-prospective-students-based-their-personal-data/&quot;&gt;Student tracking, secret scores: How college admissions offices rank prospects before they apply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/magazine/archive/2019/11/why-dont-i-see-you-anymore/598336/&quot;&gt;Why You Never See Your Friends Anymore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vice.com/en_us/article/43k7z3/nationwide-fake-host-scam-on-airbnb&quot;&gt;I Accidentally Uncovered a Nationwide Scam on Airbnb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #17: 👻🎃</title>
      <link href="https://melanie-richards.com/blog/weeknotes-17/"/>
      <updated>2019-11-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-17/</id>
      <content type="html">&lt;p&gt;Happy Halloweek!&lt;/p&gt;
&lt;h2 id=&quot;draft-jam-(original-context))&quot;&gt;Draft Jam (&lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-14/&quot;&gt;original context&lt;/a&gt;))&lt;/h2&gt;
&lt;p&gt;Started setting up a Mailchimp account for Draft Jam and forgot about that whole you-legally-need-a-physical-address bit to sending email newsletters. Three things are true:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If I perceive the rule as moral-to-neutral, I am a rule follower.&lt;/li&gt;
&lt;li&gt;I don&#39;t want to put my home address on this newsletter.&lt;/li&gt;
&lt;li&gt;P.O. boxes are $140 a year.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Which means that updates for those interested in Draft Jam will be pushed out via RSS or social media . 😄 Unless I discover that I can use my professional mailing address (again, rule follower) in this instance.&lt;/p&gt;
&lt;p&gt;After some administrative work on the project, I started doing a bit of mood boarding and scribbling down some random thoughts on design elements. Next up is to start playing in Illustrator with some ideas for the brand.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #16: *autumn intensifies*</title>
      <link href="https://melanie-richards.com/blog/weeknotes-16/"/>
      <updated>2019-10-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-16/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-foliage-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-foliage-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fall-foliage-s.jpg&quot; alt=&quot;A trail with lots of trees all in yellow for fall&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Fall foliage along a river-side trail in Leavenworth, WA&lt;/p&gt;
&lt;p&gt;I’ve been thinking about whether I want to change the frequency of these posts, because they can be hard to keep up week-over-week. I do like Weeknotes because they provide an honest and informal view into how a person thinks and works; you can see naturally how a person’s capacity for doing stuff ebbs and flows. For now, I’ve decided to keep the weeklies, and just move writing them to Fridays. I’m building a personal weekly review habit at work, and so I think it would be nice to go over my work stuff for the week, then type up my Weeknotes while I’m already in a reflective mood.&lt;/p&gt;
&lt;p&gt;If you’re wondering what I write about in my weekly reviews at work, I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Review what I accomplished that week (clarifying impact where needed) and anything particularly interesting that happened&lt;/li&gt;
&lt;li&gt;Write down my prioritized tasks for the next week&lt;/li&gt;
&lt;li&gt;Capture anything I’m currently thinking about: what I want to improve at, strategies that might make me a more effective PM, any feedback I’ve received, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The weekly reviews I do for myself make it SO MUCH EASIER to type up Official semi-annual reviews, because the answers are all right there. I’d like to start a practice reviewing my personal notes seasonally or annually, so I can observe how and in which direction I’m growing.&lt;/p&gt;
&lt;h2 id=&quot;draft-jam&quot;&gt;Draft Jam&lt;/h2&gt;
&lt;p&gt;Not much time for personal projects this week, but did get around to some small administrative items for &lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-14/#draft-jam&quot;&gt;Draft Jam&lt;/a&gt;: I set up the project email address and ordered SSL sertificates for my registered domains.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-platform&quot;&gt;Web platform&lt;/h3&gt;
&lt;p&gt;Improve ALL the things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.windows.com/msedgedev/2019/10/15/form-controls-microsoft-edge-chromium/&quot;&gt;Improving form controls in Microsoft Edge and Chromium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2019/10/16/privacy-tweaks-limiting-referrer/&quot;&gt;Improving Privacy by Limiting Referrers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://theweek.com/articles/864481/much-more-than-cooking&quot;&gt;It&#39;s so much more than cooking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hbr.org/2019/10/entrepreneurs-who-sleep-more-are-better-at-spotting-good-ideas&quot;&gt;Entrepreneurs Who Sleep More Are Better at Spotting Good Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://advice.shinetext.com/articles/blame-it-on-the-zzzs-7-sneaky-ways-a-lack-of-sleep-can-derail-us/&quot;&gt;Blame It On the Zzzs: 7 Sneaky Ways a Lack of Sleep Can Derail Us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://advice.shinetext.com/articles/the-7-types-of-rest-you-need-to-actually-feel-recharged/&quot;&gt;The 7 Types of Rest You Need to Actually Feel Recharged&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #15: autumn and proactive engagement</title>
      <link href="https://melanie-richards.com/blog/weeknotes-15/"/>
      <updated>2019-10-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-15/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pumpkins-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pumpkins-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-pumpkins-s.jpg&quot; alt=&quot;A cairn of pumpkins in a sunny pumpkin patch&quot; /&gt;
        &lt;/picture&gt;
&lt;h2 id=&quot;batching-tasks&quot;&gt;Batching tasks&lt;/h2&gt;
&lt;p&gt;A couple months ago I read &lt;a href=&quot;https://maketime.blog/&quot;&gt;“Make Time”&lt;/a&gt; by John Zeratsky and Jake Knapp, which encourages you to choose a “highlight”, or a daily priority to focus on above all else. A highlight should take 60–90 minutes. One of the authors’ suggestions was to batch smaller tasks and use that as a highlight. I batched some to-dos I was dragging around into a few buckets: home-based tasks, errands, phone-based tasks, and online tasks. I found that working in batches is extremely satisfying, because you can knock a whole bunch of things out at once, instead of scheduling 1–2 per day and feeling cruddy when you have to reschedule them time and again.&lt;/p&gt;
&lt;h2 id=&quot;proactive-collective-action&quot;&gt;Proactive collective action&lt;/h2&gt;
&lt;p&gt;Learning that Github (owned by my current company, Microsoft) has &lt;a href=&quot;https://twitter.com/evan_greer/status/1181745056698572802&quot;&gt;renewed a contract with ICE&lt;/a&gt; was incredibly frustrating. I applaud the &lt;a href=&quot;https://www.washingtonpost.com/context/letter-from-github-employees-to-ceo-about-the-company-s-ice-contract/fb280de9-2bc3-40d5-b1a5-e3b954bf0d25/&quot;&gt;Github employees&lt;/a&gt; and &lt;a href=&quot;https://github.com/MSWorkers/support.Githubbers&quot;&gt;Microsoft employees&lt;/a&gt; who called for Github to cancel this contract. This was also a good reminder to me to find a way to &lt;em&gt;proactively&lt;/em&gt; engage with my fellow employees to take action on building a more ethical tech industry. A mad dash to help out when something happens does not always pan out well, in part because at a big company it can be really challenging to connect with the folks you need. Gotta get plugged in early.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2019/10/chinas-global-reach-surveillance-and-censorship-beyond-great-firewall&quot;&gt;China’s Global Reach: Surveillance and Censorship Beyond the Great Firewall&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2019/09/30/same-site-cookies-by-default/&quot;&gt;Same-Site Cookies By Default&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #14: many travels, much talking</title>
      <link href="https://melanie-richards.com/blog/weeknotes-14/"/>
      <updated>2019-10-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-14/</id>
      <content type="html">&lt;p&gt;Once again it’s been a bit since I last put together a Weeknotes post, and for good reason: I spent the past nearly-three weeks traveling outside of the U.S. I&#39;ve never been gone from home for this long of a stretch, as evidenced by feeling homesick about a week and a half in. Much respect to the constant travelers among us in the web industry! Regardless, it was a productive couple of weeks in which I got to chat with many web friends, old and new.&lt;/p&gt;
&lt;h2 id=&quot;tpac%3A-fukuoka%2C-japan&quot;&gt;TPAC: Fukuoka, Japan&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fukuoka-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fukuoka-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fukuoka-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fukuoka-s.jpg&quot; alt=&quot;Sunset scene from a high window in Fukuoka, with a couple office buildings, the sea, and distant mountains&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;TPAC is the annual, week-long conference for standards groups at the W3C. It’s essentially 5 days of meetings, and provides the opportunity for different groups to cross-pollinate and share new ideas. The longer I spend working on the web platform, the more this entails scheduling conflicts at TPAC, which was especially the case this year. The flip side is that this community feels more and more like home; there are so many fantastic people working on the open web, and I feel lucky to know more of them with each passing year.&lt;/p&gt;
&lt;h3 id=&quot;w3c-developer-meetup&quot;&gt;W3C Developer Meetup&lt;/h3&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/w3c-dev-meetup-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/w3c-dev-meetup-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/w3c-dev-meetup-s.jpg&quot; alt=&quot;Me speaking at the podium at the W3C Web Developer Meetup&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Photo via &lt;a href=&quot;https://twitter.com/TravisLeithead&quot;&gt;Travis Leithead&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Alongside standards body meetings, the W3C holds a developer meetup to connect local developers with the standards community. I gave a talk at the meetup this year on new standards for styling in forced color modes (e.g. Windows High Contrast); &lt;a href=&quot;https://github.com/melanierichards/talks/tree/master/2019/tpac-hc&quot;&gt;“Finessing forced-colors” slides and resources&lt;/a&gt; are online. Incidentally, this was my first international presentation.&lt;/p&gt;
&lt;h2 id=&quot;view-source-conference%3A-amsterdam%2C-netherlands&quot;&gt;View Source conference: Amsterdam, Netherlands&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-windmills-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-windmills-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-windmills-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-windmills-s.jpg&quot; alt=&quot;Windmills looming behind some tall grasses blowing in the wind&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Zaanse Schaans is very windy. Turns out the Dutch knew what they were doing.&lt;/p&gt;
&lt;p&gt;After spending some personal time exploring Japan and avoiding too much time-zone yoyo’ing, I hopped on over to the Netherlands for View Source. I’ve never been to the country before, so naturally had to squeeze in just a bit of tourism time at the Rijksmuseum and the windmills of Zaanse Schaans.&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/viewsource-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/viewsource-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/viewsource-s.jpg&quot; alt=&quot;Me speaking on stage at View Source, in front of a slide showing various Windows High Contrast themes&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Resting speaker face? Photo via &lt;a href=&quot;https://twitter.com/viewsourceconf/status/1178600212010606593&quot;&gt;View Source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At &lt;a href=&quot;https://2019.viewsourceconf.org/#schedule&quot;&gt;View Source&lt;/a&gt; I gave a longer version of my inclusive color and contrast talk: incorporating some guidance on styling for dark mode alongside styling for forced color modes, and touching briefly on future &lt;code&gt;prefers-contrast&lt;/code&gt; standards. The recording is not yet online, but I’ve uploaded &lt;a href=&quot;https://github.com/melanierichards/talks/tree/master/2019/color-contrast-view-source&quot;&gt;slides and other resources for “The Tailored Web”&lt;/a&gt;. I’m eager for those recordings to come online, as there’s lots of great content on the roster: like a framework for perf culture from &lt;a href=&quot;https://twitter.com/shrell&quot;&gt;Sharell Bryant&lt;/a&gt; and a focus on privacy from &lt;a href=&quot;https://twitter.com/selenamarie&quot;&gt;Selena Deckelmann&lt;/a&gt; and a couple of my Microsoft colleagues &lt;a href=&quot;https://2019.viewsourceconf.org/#lillian&quot;&gt;Lillian Kravitz&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/ryancropp&quot;&gt;Ryan Cropp&lt;/a&gt; (who gave their first talk!).&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/viewsource-panel-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/viewsource-panel-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/viewsource-panel-s.jpg&quot; alt=&quot;The View Source panel participants listening to Desigan Chinniah speaking in turn&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Curious what Dees was saying at this point in the panel. Photo via &lt;a href=&quot;https://twitter.com/MSDev_NL/status/1178614037170573314&quot;&gt;MSDev NL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also at the conference, I spoke on &lt;a href=&quot;https://twitter.com/viewsourceconf/status/1178622975584677889&quot;&gt;a panel about commitments to the web platform&lt;/a&gt;. I’d never participated in a panel before, so I’m grateful to &lt;a href=&quot;https://twitter.com/torgo&quot;&gt;Daniel Appelquist&lt;/a&gt;’s inclusive and considerate moderation style. I have to say I was a bit nervous about said panel—I feel more comfortable with public speaking the more I can “prepare”—but felt richly rewarded by getting to know my fellow participants. In general, meeting people is what I love most about conferences, and View Source was an excellent venue in which to do so.&lt;/p&gt;
&lt;h2 id=&quot;home-again&quot;&gt;Home again&lt;/h2&gt;
&lt;p&gt;Took a couple days off at the end of last week to recuperate, which—against better judgement—swiftly turns into me working on side projects instead of lazing around on the couch…&lt;/p&gt;
&lt;h3 id=&quot;draft-jam&quot;&gt;Draft Jam&lt;/h3&gt;
&lt;p&gt;Two of my recent personal goals are to write more blog posts, and to encourage more folks to likewise share their thoughts. A lot of us filter ourselves out of the conversation (“this has already been blogged about before”, “is this even interesting to anybody but me?”), but I believe everyone has something to share, and the web industry needs to hear from more voices. To this end, I think it might be fun to hold “draft jams”: weekend-long, mostly-online events where folks collectively focus on turning their draft ideas into publishable blog posts.&lt;/p&gt;
&lt;p&gt;So far I’ve got a couple domains registered, a site map sketched out, and a bit of copy written. But stay tuned! I&#39;m thinking January 2020 will be a great time for the first draft jam.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cloudfour.com/thinks/an-html-attribute-potentially-worth-4-4m-to-chipotle/&quot;&gt;An HTML attribute potentially worth $4.4M to Chipotle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2019/09/an-html-element-potentially-worth-18m-to-indiegogo-campaigns.html&quot;&gt;An HTML Element Potentially Worth $18M to Indiegogo Campaigns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/blog/how-a-designer-makes-background-patterns-to-push-her-creativity/&quot;&gt;How a designer makes background patterns to push her creativity&lt;/a&gt;: gotta add that color palette plugin to my repertoire!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2019/10/coil-to-monetize-prompts/&quot;&gt;Is Using Coil to Monetize Prompts Gonna Work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.filamentgroup.com/lab/5g/&quot;&gt;5G Will Definitely Make the Web Slower, Maybe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/the-career-management-document/&quot;&gt;An Essential Tool for Capturing Your Career Accomplishments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.usatoday.com/story/news/nation/2019/09/01/hurricane-dorian-waffle-house-index-disasters/2187708001/&quot;&gt;&#39;Waffle House Index&#39; is a real thing during disasters. How does the restaurant chain do it?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qz.com/work/1703963/businesses-should-pay-attention-to-consumers-with-disabilities/&quot;&gt;The disabled community is the world’s third-largest economic power&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2019/09/11/technology/california-passes-landmark-bill-to-remake-gig-economy.html&quot;&gt;California Bill Makes App-Based Companies Treat Workers as Employees&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #13: the waning summer</title>
      <link href="https://melanie-richards.com/blog/weeknotes-13/"/>
      <updated>2019-09-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-13/</id>
      <content type="html">&lt;p&gt;It’s been about a month since I last wrote some weeknotes, which I suppose is a datapoint in and of itself. My free time as of late has been filled with visiting family, burning the midnight oil, working on upcoming conference talks (I don&#39;t have much speaking experience but/so these take me foreeeevvver), and trying to grab the tail end of a mild summer.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lapush-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lapush-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-lapush-s.jpg&quot; alt=&quot;Piles of drift wood at La Push beach, with rock formations in the foggy sea&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;La Push Beach #2, Olympic Peninsula, WA&lt;/p&gt;
&lt;p&gt;Over Labor Day weekend, my S.O. and I headed out to the Olympic Peninsula to finally explore the &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/hall-of-mosses&quot;&gt;Hoh Rainforest&lt;/a&gt; and meander down &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/second-beach&quot;&gt;the beach at La Push&lt;/a&gt;. As the crow flies, the peninsula is quite close to Seattle, but it takes 3½–5 hours to get to various points of interest. With many other hikes much closer in drive-time radius (#blessed), this means I&#39;ve been to Olympics…twice. I hope to make it out there more frequently in the future because there is immense and varied beauty everywhere you go. Feeling: very lucky to live in such a beautiful state; called upon to support local tribal rights and climate justice; and grateful to have gotten a solid and restful break between projects at work.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/tararobertson/status/1156292056874008576&quot;&gt;This low-tech Apple Watch&lt;/a&gt; (image alt: small buttons sewn on felt, to mimic the clustered view of app icons on the Apple Watch)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/presentcorrect/status/1164160900103843841?s=21&quot;&gt;Tim Pugh’s pleasing arrangements of rocks and other nature bits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2019/08/pitching-writing-publications/&quot;&gt;Pitching Your Writing To Publications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/advice-for-technical-writing/&quot;&gt;Advice for Technical Writing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hiddedevries.nl/en/blog/2019-08-23-equality-a-reading-list&quot;&gt;Equality: a reading list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/2019/08/25/754190347/giant-pumice-raft-floating-towards-australia-could-help-replenish-great-barrier-&quot;&gt;Giant Pumice Raft Floating Toward Australia Could Help Replenish Great Barrier Reef&lt;/a&gt;: never rooted for a pumice stone before, but here we are.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #12: going more indie web with Webmentions</title>
      <link href="https://melanie-richards.com/blog/weeknotes-12/"/>
      <updated>2019-07-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-12/</id>
      <content type="html">&lt;h2 id=&quot;webmentions&quot;&gt;Webmentions&lt;/h2&gt;
&lt;p&gt;I’ve been working on getting &lt;a href=&quot;https://indieweb.org/webmention.io&quot;&gt;Webmentions&lt;/a&gt; up and running on my blog posts. If you’re familiar with the pingbacks and trackbacks of Wordpress yore, Webmentions are a similar concept. Website A can send Website B a notification that Website A contains a reference to B. These can include things like social media posts (like the example on &lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-10/&quot;&gt;Weeknotes #10&lt;/a&gt;, hi Dave 👋) or response articles, and can be displayed similarly to comments on Website B.&lt;/p&gt;
&lt;p&gt;Some resources that were helpful to me in setting up receipt of Webmentions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://indieweb.org/Webmention-developer&quot;&gt;IndieWeb on Webmentions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webmention.io/&quot;&gt;Webmention.io itself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aarongustafson/jekyll-webmention_io/&quot;&gt;Aaron’s Jekyll plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brid.gy/&quot;&gt;Bridgy&lt;/a&gt;, for connecting social media mentions (I’ve filtered out likes and reposts, considering these vanity metrics)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Next I need to &lt;a href=&quot;https://jordanmerrick.com/2017/10/14/netlify-and-ifttt/&quot;&gt;set up Netlify to automatically build every few hours&lt;/a&gt;. I also want to keep thinking through the UX of how Webmentions are displayed beneath posts, as it can be a little “what…the heck…is this?” if you’re unfamiliar and expect a comment box.&lt;/p&gt;
&lt;h2 id=&quot;how-to-help-targeted-immigrants-in-the-u.s.&quot;&gt;How to help targeted immigrants in the U.S.&lt;/h2&gt;
&lt;p&gt;Switching gears to a more serious topic…I would characterize this administration’s immigration practices as crimes against humanity; reporting from the camps make me sick to my stomach, especially when so many detainees have sought asylum in the U.S. to keep their families &lt;em&gt;safe&lt;/em&gt; from targeted violence. If you feel likewise (and I hope you do), here are some ways to help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2019/06/24/opinion/border-kids-immigration-help.html&quot;&gt;Children Shouldn’t Be Dying at the Border. Here’s How You Can Help.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lawyersforgoodgovernment.org/blog/2019/6/21/what-can-you-do-to-help-immigrants-whose-rights-are-under-attack&quot;&gt;What can YOU do to help immigrants whose rights are under attack?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.marketwatch.com/story/this-is-what-it-costs-to-free-one-immigrant-from-detention-2018-06-20&quot;&gt;Advocates say the fastest way to help immigrants separated from their children: Post their bail&lt;/a&gt;: goes into a little more detail about paying into bail funds. You’re going to want an ad blocker on this site, and CW for suicide.&lt;/li&gt;
&lt;li&gt;Several prompts for calls to lawmakers on &lt;a href=&quot;https://5calls.org/&quot;&gt;5calls.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aclu.org/know-your-rights/immigrants-rights/&quot;&gt;Immigrants’ Rights&lt;/a&gt; and &lt;a href=&quot;https://www.immigrantdefenseproject.org/raids/&quot;&gt;info on immigration raids for allies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://queeringthemap.com/&quot;&gt;Queering the Map&lt;/a&gt;: so many pins. So many feelings. 😭&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;[Drop caps &amp;amp; design systems](&lt;a href=&quot;https://product.voxmedia/&quot;&gt;https://product.voxmedia&lt;/a&gt; .com/2019/6/17/18524029/the-ballad-of-drop-caps-and-design-systems)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.alexonsager.net/2013/06/04/behind-the-scenes-pokemon-fusion.html&quot;&gt;Pokemon Fusion: Behind the Scenes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2019/07/17/finding-where-fixes-landed-in-chrome-edge-chromium/&quot;&gt;Livin’ on the Edge: Dude Where’s My Fix?!?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://theaspergian.com/2019/06/09/autism-autistic-communication-differences/&quot;&gt;Autistic Communication Differences &amp;amp; How to Adjust for Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@jamsusmaximus/how-to-set-your-personal-okrs-and-stick-to-them-632acec44084&quot;&gt;How to set your Personal OKRs and stick to them&lt;/a&gt;: something I’m trying out, since I always try to do 5000 things with my personal time, which is not conducive to getting things done.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #11: staycation weekend</title>
      <link href="https://melanie-richards.com/blog/weeknotes-11/"/>
      <updated>2019-07-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-11/</id>
      <content type="html">&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-alki-framed-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-alki-framed-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-alki-framed-s.jpg&quot; alt=&quot;View of Puget Sound from Alki Beach&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Having been #blessed with actually-summery weather last weekend, my S.O. and I hopped over to West Seattle to meander in &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/schmitz-preserve-park&quot;&gt;Schmitz Preserve Park&lt;/a&gt;, grab a beer at a brewery, and walk along Alki Beach. We were just a couple neighborhoods from our usual haunts, but as we walked past sunbathers and shaved-ice stalls, it was incredible to me how easy it was to access the feeling that I was away on vacation.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h2 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scottohara.me//blog/2019/07/08/a-toast-to-a11y-toasts.html&quot;&gt;A toast to an accessible toast...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/indieweb-and-webmentions/&quot;&gt;IndieWeb and Webmentions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://overreacted.io/preparing-for-tech-talk-part-2-what-why-and-how/&quot;&gt;Preparing for a Tech Talk, Part 2: What, Why, and How&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://overreacted.io/preparing-for-tech-talk-part-3-content/&quot;&gt;Preparing for a Tech Talk, Part 3: Content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2019/07/javascript-knowledge-reading-source-code/&quot;&gt;Improve Your JavaScript Knowledge By Reading Source Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://advice.shinetext.com/articles/guess-what-being-consistently-good-enough-can-unlock-your-greatness/&quot;&gt;Guess What? Being Consistently &#39;Good Enough&#39; Can Unlock Your Greatness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nosidebar.com/decluttering-minimalism/&quot;&gt;The Difference Between Decluttering and Minimalism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nosidebar.com/minimalism-and-books/&quot;&gt;Minimalism and Books: Tips on Letting Go&lt;/a&gt;: relevant to my interests.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #10: Happy birthday, America! Do better.</title>
      <link href="https://melanie-richards.com/blog/weeknotes-10/"/>
      <updated>2019-07-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-10/</id>
      <content type="html">&lt;h2 id=&quot;independence-day-resolutions&quot;&gt;Independence Day resolutions&lt;/h2&gt;
&lt;p&gt;A friend I used to work with—and whom I’m most likely to run into at marches and rallies—shared &lt;a href=&quot;https://www.crustaceansingles.com/2018/07/resolve-to-be-better.html&quot;&gt;this comic&lt;/a&gt; around the 4th of July (aka Independence Day for the United States):&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/independence-day-resolutions.jpg&quot; alt=&quot;A single-panel comic with one upbeat and one confused stick figure conversing; conversation follows&quot; /&gt;&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Text alternative for the comic dialog&lt;/summary&gt;
  &lt;p&gt;Person A: So, have you decided on your Independence Day resolutions yet?&lt;/p&gt;
  &lt;p&gt;Person B: My…what?&lt;/p&gt;
  &lt;p&gt;Person A: You know…like what specific injustices do you plan to rebel against in the coming year?&lt;/p&gt;
&lt;/details&gt;
&lt;p&gt;&lt;strong&gt;I LOVE THIS IDEA.&lt;/strong&gt; Unquestioning patriotism doesn’t resonate with me—believing that my country can do better, and I can be part of that, does resonate. So I really love the action of tying civic goals to this holiday. Starting this year, I’m choosing (quietly) 2–3 top priorities where I can focus my energy and resources.&lt;/p&gt;
&lt;h2 id=&quot;including-remote-colleagues&quot;&gt;Including remote colleagues&lt;/h2&gt;
&lt;p&gt;Being the only person calling into a meeting—where everyone else is physically present—reminds me that I can do a better job of making sure my remote colleagues are heard. It is really, really hard to interject into a conversation, so I want to be better at polling the folks on the phone every so often.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Speaking of remote colleagues, the only links I set aside this week are from a one Eric Lawrence:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2019/06/24/surprise-undead-session-cookies/&quot;&gt;Surprise: Undead Session Cookies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textslashplain.com/2019/07/05/challenges-with-federated-identity-in-modern-browsers/&quot;&gt;Challenges with Federated Identity in modern browsers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #9: gimme a break</title>
      <link href="https://melanie-richards.com/blog/weeknotes-9/"/>
      <updated>2019-07-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-9/</id>
      <content type="html">&lt;h2 id=&quot;taking-breaks-for-productivity&quot;&gt;Taking breaks for productivity&lt;/h2&gt;
&lt;p&gt;A couple weeks ago I was feeling a little bit frayed around the edges and decided to take a couple days off work to simply chill. The funny thing is that I felt the same way almost exactly a year ago, which is fairly instructive—I’ve got to take some downtime before mid-June rolls around. Maybe that’s a little…obvious to some, but like others, I have a hard time stepping away from the work to rest. I want to acknowledge here that (rather unfortunately) PTO is a privilege that not everyone has. But for those who do, sometimes taking a short break to recharge can be far more beneficial to productivity than powering through on fumes.&lt;/p&gt;
&lt;h2 id=&quot;balc-accessibility-remediation&quot;&gt;BALC accessibility remediation&lt;/h2&gt;
&lt;p&gt;(&lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-3/#starting-accessibility-remediation-on-an-old-project&quot;&gt;Context in Weeknotes #3&lt;/a&gt;) I started simplifying the layout of some pages that had inaccessible filters, which are also no longer very applicable. For example, filtering design grads based on where they wanted to live in 2014 makes no sense in 2019+. In the process of simplifying the layout, I started using CSS Grid here (again, 2019), then decided to write these parts as components (in the design sense, thank you Web Components for making this confusing) and started porting other parts of the site over to the new components. If you give a mouse a cookie, he&#39;ll ask for a glass of milk...In any case, now I&#39;ve got dust all over the place, and none of this pushed to production yet, but there you are. Progress?&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/responsible-javascript-part-2/&quot;&gt;Responsible JavaScript, part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://advice.shinetext.com/articles/how-to-actually-enjoy-and-stick-with-your-new-years-goals/&quot;&gt;How to Actually Enjoy—And Stick With—Your New Year&#39;s Goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://doist.com/blog/complete-guide-to-deep-work/&quot;&gt;The Complete Guide to Deep Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ted.com/talks/laura_vanderkam_how_to_gain_control_of_your_free_time/up-next&quot;&gt;How to Gain Control of Your Free Time (video)&lt;/a&gt;: found this advice particularly inspiring, will have to try out writing about future me&#39;s past year to set priorities!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.brucelawson.co.uk/2019/why-would-a-screen-reader-user-have-a-braille-display/&quot;&gt;Why would a screen reader user have a braille display?&lt;/a&gt;: not the reason I was expecting this article to touch on (a break from the cognitive load of aural output).  👨‍👧‍👦&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://melmagazine.com/en-us/story/i-staked-out-my-local-dominos-to-see-just-how-accurate-its-pizza-tracker-is&quot;&gt;I Staked Out My Local Domino’s to See Just How Accurate Its Pizza Tracker Is&lt;/a&gt;: hard-hitting journalism!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.windows.com/msedgedev/2019/06/27/tracking-prevention-microsoft-edge-preview/&quot;&gt;Introducing tracking prevention, now available in Microsoft Edge preview builds&lt;/a&gt;: much as I love the internet, there’s a lot of junk out there. Excited for this privacy feature we shipped!&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #8: I’m an auntie!</title>
      <link href="https://melanie-richards.com/blog/weeknotes-8/"/>
      <updated>2019-06-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-8/</id>
      <content type="html">&lt;p&gt;My niece was born within the past week, making me a first-time auntie! I might be biased 😇, but she’s an especially adorable tiny person and I can’t wait to meet her in person when I visit my sister in a few weeks. Moments like these make it hard to live far away from family, but I’m looking forward to spending quality time with my new niece and her parents as the initial crush of visitors recedes a bit.&lt;/p&gt;
&lt;h2 id=&quot;cabin-weekend-in-packwood%2C-wa&quot;&gt;Cabin weekend in Packwood, WA&lt;/h2&gt;
&lt;p&gt;Over the weekend a few friends and I stayed at a cabin near-ish to Mt. Rainier. This was one of those magical couple of days where all of nature conspires to please you with its immense beauty, everyone’s mood is relaxed and easy, and all is well in life.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-packwoodlake-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-packwoodlake-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-packwoodlake-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-packwoodlake-s.jpg&quot; alt=&quot;Panoramic view of an aqua lake with snow-capped mountains beyond&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;It was too early in the season to actually hike on Rainier, but we got the chance to stretch our legs on the trail to &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/packwood-lake&quot;&gt;Packwood Lake&lt;/a&gt; and were rewarded by beautiful aqua waters.&lt;/p&gt;
&lt;p&gt;There were also these odd Seussical clustered flowers at a certain point along the trail. &lt;span class=&quot;u-sr-only&quot;&gt;Deleted text&lt;/span&gt; &lt;del&gt;I’m still trying to ID them, so let me know if you happen to be savvy with Washington wildflowers:&lt;/del&gt; &lt;span class=&quot;u-sr-only&quot;&gt;Inserted text&lt;/span&gt; &lt;ins&gt;Based on &lt;a href=&quot;https://twitter.com/AmeliasBrain/status/1141114811306000384&quot;&gt;Amelia Bellamy-Royds’s sleuthing&lt;/a&gt;, these seem to be &lt;a href=&quot;https://www.wildflower.org/gallery/result.php?id_image=34431&quot;&gt;Xerophyllum tenax&lt;/a&gt; aka Common Beargrass.&lt;/ins&gt;&lt;span class=&quot;u-sr-only&quot;&gt;End inserted text&lt;/span&gt;&lt;/p&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seussflowers-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seussflowers-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-seussflowers-s.jpg&quot; alt=&quot;Tall flowers with vertical clusters of white blossoms and a large central stamen&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;In wildlife this weekend, we spotted: two very sturdy-looking deer on the drive into Packwood (blessedly they decided to stay on their side of the highway); electric-blue dragonflies zipping along at Packwood Lake; and a tiny hummingbird hovering overhead of the backyard hammock.&lt;/p&gt;
&lt;p&gt;On Sunday after checkout, my S.O. and I squeezed in an extra hike. We intended to head to Kelly Butte, but the GPS led us to a dead-end road where some dude was just trying to shoot a couple targets in peace. He sent us over to &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/green-lake&quot;&gt;Green Lake trailhead&lt;/a&gt; where we indulged a bit of spontaneous hiking. I’m still not clear if the body of water we saw was the actual advertised lake, but this was a peaceful, forested trail and a great end to our time in the national forests before driving back to Seattle.&lt;/p&gt;
&lt;h2 id=&quot;catching-up-on-lit-highlights&quot;&gt;Catching up on lit highlights&lt;/h2&gt;
&lt;p&gt;When not tromping throught the woods, I updated my &lt;a href=&quot;https://highlights.melanie-richards.com/&quot;&gt;highlights collection&lt;/a&gt; with a couple more books: &lt;a href=&quot;https://highlights.melanie-richards.com/book/big-magic/&quot;&gt;Big Magic&lt;/a&gt; by Elizabeth Gilbert, &lt;a href=&quot;https://highlights.melanie-richards.com/book/mindset/&quot;&gt;Mindset&lt;/a&gt; by Carol Dweck, and &lt;a href=&quot;https://highlights.melanie-richards.com/book/upstream/&quot;&gt;Upstream&lt;/a&gt; by Mary Oliver.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zachleat.com/web/facepile/&quot;&gt;The Crushing Weight of the Facepile&lt;/a&gt;: stealing this for when I implement Webmentions on my blog.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/what-if-we-got-aspect-ratio-sized-images-by-doing-almost-nothing/&quot;&gt;What if we got aspect-ratio sized images by doing almost nothing?&lt;/a&gt;: assuming those attributes are present. ☺&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.trello.com/hack-anxiety-at-work&quot;&gt;How To Hack The Anxiety Roadblock And Get More Done&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://randsinrepose.com/archives/the-builders-high/&quot;&gt;The Builder’s High&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.paciellogroup.com/blog/2019/06/disability-etiquette-university-of-guelph-accessibility-conference/&quot;&gt;Disability Etiquette&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.seattlemet.com/articles/2018/6/19/around-the-clock-at-pike-place-market&quot;&gt;Around the Clock at Pike Place Market&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #7: foggy-day hikes</title>
      <link href="https://melanie-richards.com/blog/weeknotes-7/"/>
      <updated>2019-06-14T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-7/</id>
      <content type="html">&lt;p&gt;Another double-feature weeknotes covering the past couple weeks. 🤷‍♀️&lt;/p&gt;
&lt;p&gt;On Sunday of Memorial Day weekend I went with my S.O. for a hike on &lt;a href=&quot;https://www.wta.org/go-hiking/hikes/ira-spring-memorial&quot;&gt;Ira Spring Trail&lt;/a&gt;, with Mason Lake as our destination; you can also follow the trail to Bandera Mountain. Either way, you’re going to get quite a bit of elevation in a short distance.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-iraspring-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-iraspring-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-iraspring-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-iraspring-s.jpg&quot; alt=&quot;A chain of verdant mountains with a ring of fog hanging halfway up the peaks&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;We drove through light showers on Sunday morning, which were pretty much cleared up by the time we got on the trail. This made for a lovely view of the surrounding mountains, with fog hanging low in the valleys.&lt;/p&gt;
&lt;p&gt;This was probably my favorite hike of the year thus far, because despite being a fairly short distance and not hiking to the peak, we had tons of sweeping views off the side of the mountain.&lt;/p&gt;
&lt;p&gt;One of my favorite things is a strong smell of pine, which doesn’t happen consistently even if you’re completely surrounded by pine/fir trees. I’d like to look into exactly what helps bring forward the scent, but I suspect recent rains help, because this was a very piney hike.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masonlake-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masonlake-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masonlake-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-masonlake-s.jpg&quot; alt=&quot;A partially snowy peak and some pine trees reflected and their reflection in a calm lake&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;We stopped for lunch at Mason Lake, where a food-motivated chipmunk was very inquisitive and snow still hung around the trail. A light rain hitting the surface of the lake and little bugs skating across the water made this a Very Good Day.&lt;/p&gt;
&lt;p&gt;Trails hiked earlier this year: [Vashon] &lt;a href=&quot;https://twitter.com/soMelanieSaid/status/1084659950662574080&quot;&gt;Island Center Forest&lt;/a&gt; and &lt;a href=&quot;https://www.instagram.com/p/BsmLSiBBD6Y/&quot;&gt;Point Robinson Park&lt;/a&gt;, &lt;a href=&quot;https://www.instagram.com/p/BvXYc2_h5WM/&quot;&gt;Coal Creek Falls&lt;/a&gt; and a bunch of connected tiny trails in the Cougar Mountain area, &lt;a href=&quot;https://www.instagram.com/p/BvsXwzyBLrg/&quot;&gt;Poo Poo Point&lt;/a&gt; (first redux in WA), &lt;a href=&quot;https://www.instagram.com/p/Bwle-MxhJ_L/&quot;&gt;Teneriffe Falls&lt;/a&gt;, and &lt;a href=&quot;https://www.instagram.com/p/BxbF73bBlAs/&quot;&gt;Little Si&lt;/a&gt;. We hiked Little Si when we felt too lazy to go for Mt. Si, and were pleasantly surprised by how sublime and lovely the hike was.&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/prokaryota/status/1132744852129636353?s=21&quot;&gt;Birds that sew&lt;/a&gt;?! In the video, the Common Tailorbird is poking holes in two leaves with its beak, then sewing them together with more plant material.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zzz.dog/&quot;&gt;Zdog&lt;/a&gt; is a JS engine for &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; that creates pseudo-3D effects for “flat” illustration. &lt;a href=&quot;https://codepen.io/desandro/pen/vdwMyW&quot;&gt;Here is a good example&lt;/a&gt;. CW: both links contain continuous motion.&lt;/li&gt;
&lt;li&gt;I like that &lt;a href=&quot;https://katydecorah.com/&quot;&gt;Katy Decorah’s site&lt;/a&gt; is a simple paginated list of personal and professional explorations, categorized by adventures, code, epicurean, notes, and playlists. It’s like “bringing your whole self” in a chill format.&lt;/li&gt;
&lt;li&gt;As someone interested in both typography and internationalization, I can’t wait to dig into Donny Trương’s &lt;a href=&quot;https://vietnamesetypography.com/&quot;&gt;Vietnamese Typography&lt;/a&gt;. (via &lt;a href=&quot;https://twitter.com/TatianaTMac/status/1136646712292810752&quot;&gt;Tatiana Mac&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;til&quot;&gt;TIL&lt;/h2&gt;
&lt;p&gt;Lenses are named after lentils; &lt;em&gt;lens&lt;/em&gt; is the Latin for “lentil”. (via &lt;a href=&quot;https://www.goodreads.com/book/show/25663961-how-not-to-die&quot;&gt;How Not to Die&lt;/a&gt;; silly title, interesting book)&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://matuzo.at/blog/building-the-most-inaccessible-site-possible-with-a-perfect-lighthouse-score/&quot;&gt;Building the most inaccessible site possible with a perfect Lighthouse score&lt;/a&gt;: evilly poetic demonstration of the value of manual testing&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bradfrost.com/blog/post/reducing-motion-with-the-picture-element/&quot;&gt;Reducing motion with the picture element&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scottohara.me/blog/2019/05/22/contextual-images-svgs-and-a11y.html&quot;&gt;Contextually Marking up accessible images and SVGs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hiddedevries.nl/en/blog/2019-05-24-baking-accessibility-into-components-how-frameworks-help&quot;&gt;Baking accessibility into components: how frameworks help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/2019-05-23-introducing-new-ways-to-keep-your-code-secure/&quot;&gt;Introducing new ways to keep your code secure&lt;/a&gt;: some helpful new features on Github&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/blog/2019/05/w3c-and-whatwg-to-work-together-to-advance-the-open-web-platform/&quot;&gt;W3C and WHATWG to work together to advance the open Web platform&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/prioritizing/&quot;&gt;Prioritizing&lt;/a&gt;: I especially dig Sarah’s approach to gauging whether tasks align with her values.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cupofjo.com/2019/05/how-to-prevent-sunday-scaries/&quot;&gt;A Trick for Making Weekends Feel Longer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adage.com/creativity/work/north-face-top-imagens&quot;&gt;The North Face used Wikipedia to climb to the top of Google search results&lt;/a&gt;: capitalism continues to eat the web ☹&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://destroytoday.com/writings/burning-out-and-finding-stability/&quot;&gt;Burning Out and Finding Stability&lt;/a&gt;: always appreciate people sharing their stories; so many can relate.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #6: canaries in flight</title>
      <link href="https://melanie-richards.com/blog/weeknotes-6/"/>
      <updated>2019-05-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-6/</id>
      <content type="html">&lt;p&gt;Last week, we released our &lt;a href=&quot;https://blogs.windows.com/msedgedev/2019/05/20/microsoft-edge-macos-canary-preview/#fDfwqLCZqc5IWL0F.97&quot;&gt;Canary ring of Microsoft Edge on MacOS&lt;/a&gt;! It’s wild to have a Microsoft browser on MacOS again, via our transition to working in the Chromium open source project. I didn’t know this before joining Microsoft a few years ago, but &lt;a href=&quot;https://en.wikipedia.org/wiki/Internet_Explorer_for_Mac_OS_X&quot;&gt;IE was available on MacOS&lt;/a&gt; in the late 90s and early aughts.&lt;/p&gt;
&lt;p&gt;In other Microsoft-y thoughts, why did it take me so long to learn more keyboard shortcuts for Outlook?! &lt;code&gt;CTRL + Q&lt;/code&gt; (mark as read) and &lt;code&gt;Backspace&lt;/code&gt; (archive) are my new jam.&lt;/p&gt;
&lt;h2 id=&quot;balc-accessibility-remediation&quot;&gt;BALC accessibility remediation&lt;/h2&gt;
&lt;p&gt;As mentioned in &lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-3/&quot;&gt;Weeknotes #3&lt;/a&gt;, I’m fixing accessibility issues in a project I built in 2013, &lt;a href=&quot;https://baladycreatives.com/&quot;&gt;Badass Lady Creatives&lt;/a&gt;. The week of May 19th I:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Made sure text in blog posts maxed out at a shorter line length (this was also bothering me from a purely visual perspective).&lt;/li&gt;
&lt;li&gt;Reduced the number of links in post “card” components, and added empty alt attributes to the thumbnails so that the images would be treated as presentational. Previously, alt text was adding clutter to link readout.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Separately from the main remediation project, I made sure that all traffic was directed over HTTPS.&lt;/p&gt;
&lt;h2 id=&quot;egg-tapestry-weaving&quot;&gt;Egg tapestry weaving&lt;/h2&gt;
&lt;p&gt;Took some me-time on the weekend to work on my &lt;a href=&quot;https://melanie-richards.com/blog/weeknotes-3/&quot;&gt;previously-mentioned egg tapestry&lt;/a&gt; while listening to too much Brooklyn 99. I’m so close to finishing this tapestry, finally! I wove the last couple inches of the design, wove the “header” (a section that gets tucked under and sewn to the back, to provide a clean edge to the work), and started trimming and weaving in the loose ends on the back. I’ll post a photo when this thing is finally done-done and hung!&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;web-design-and-development&quot;&gt;Web design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dannyguo.com/blog/automating-turbotax-data-entry-with-puppeteer/&quot;&gt;Automating TurboTax Data Entry With Puppeteer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rachelandrew.co.uk/archives/2019/05/23/css-grid-subgrid-lands-in-firefox-nightly/&quot;&gt;CSS Grid subgrid lands in Firefox Nightly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davidwalsh.name/resize-observer&quot;&gt;Resize Observer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.newyorker.com/tech/annals-of-technology/can-indie-social-media-save-us&quot;&gt;Can “Indie” Social Media Save Us?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://insider.windows.com/en-us/articles/new-microsoft-paint-accessibility-features/&quot;&gt;New Microsoft Paint Accessibility Features&lt;/a&gt;: paint’ing with the keyboard, oooh.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #5: Willkommen to Washington</title>
      <link href="https://melanie-richards.com/blog/weeknotes-5/"/>
      <updated>2019-05-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-5/</id>
      <content type="html">&lt;p&gt;I have a pro-bono client that I’ve worked with long-term the past couple years (10/10 would recommend for feeling connected to something larger than yourself). When we first put together the website, we did a “work party” retreat to get everyone in a room together to populate the site, ask technical questions, etc. This weekend we had a similar retreat in Leavenworth, WA to get things up and running for their 2019 conference. I’d recommend this somewhat unique way of working—instead of spreading out work across weeks and sporadic communications, you can get a whole lot done by sitting down together for a longer work session.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-leavenworth-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-leavenworth-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-leavenworth-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-leavenworth-s.jpg&quot; alt=&quot;Leavenworth, WA: a cozy street of Bavarian-style buildings with 3 mountains looming close behind&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;If you are unfamiliar, Leavenworth is a somewhat ridiculous little place east of the Cascades mountain range that is decked out in full Bavarian regalia. I’m talking: heavily-guarded corporate branding rendered here in ornate blackletter signage. Brats and pretzels aplenty. Leavenworth was struggling in the 1960s, so a group of business people got together and decided to reinvent the town as an Alpine village. This has worked out pretty well, especially around Oktoberfest. I’d never been and had always assumed there was some sort of cultural heritage here but nope: just a commercial idea that did really, really well. This was my first time to Leavenworth, and while I somehow managed not to eat a single Bavarian good, I was enamored by the mountains looming large behind the town.&lt;/p&gt;
&lt;p&gt;And: I also learned the pretty yellow flowers that popped up a week ago on I-90 medians is an invasive weed called &lt;a href=&quot;https://www.nwcb.wa.gov/weeds/scotch-broom&quot;&gt;Scottish broom&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;email-magic-%E2%9C%A8&quot;&gt;Email magic ✨&lt;/h2&gt;
&lt;p&gt;That lovely thing where you think your MX record is borked and then a message comes through! I broke said record when I moved my site to deployment on Netlify, attempted to fix it, and thought that didn’t do the trick. I’m very glad that it was an issue of particularly long propagation times because I was dragging my heels on debugging that (to the point of temporarily putting a different contact email up on my site).&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.deque.com/blog/the-state-of-accessibility-gaad-2019/&quot;&gt;The State of Accessibility: GAAD 2019&lt;/a&gt;: I’m…pleasantly surprised that this U.S. administration did something good for accessibility?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zachleat.com/web/google-fonts-display/&quot;&gt;Google Fonts is Adding font-display&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/a-few-functional-uses-for-intersection-observer-to-know-when-an-element-is-in-view/&quot;&gt;A Few Functional Uses for Intersection Observer to Know When an Element is in View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matthiasott.com/articles/into-the-personal-website-verse&quot;&gt;Into the Personal-Website-Verse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addyosmani.com/blog/lazy-loading/&quot;&gt;Native image lazy-loading for the web!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnet.com/news/for-people-with-disabilities-accessibility-techs-still-not-all-it-could-be/&quot;&gt;Accessibility tech has a lot of unfinished business to get right&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcompany.com/90344669/google-just-added-closed-captioning-to-everything-on-your-phone&quot;&gt;Google just added closed captioning to everything on your phone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #4: lots o’ links</title>
      <link href="https://melanie-richards.com/blog/weeknotes-4/"/>
      <updated>2019-05-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-4/</id>
      <content type="html">&lt;p&gt;Without further ado, lots o’ links!&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/koddsson/coworking-with&quot;&gt;coworking-with&lt;/a&gt;, a neat little utility to add coworking attribution to a commit&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;https://mymodernmet.com/free-vintage-sewing-patterns/&quot;&gt;huge repository of vintage sewing patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;This &lt;a href=&quot;https://dribbble.com/shots/6454763-Color-Composition-Testing-Temp-late&quot;&gt;color composition testing template&lt;/a&gt;, a clever little AI file to determine how well colors &lt;em&gt;actually&lt;/em&gt; play with each other, aesthetically.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;reading-%2F-watching&quot;&gt;Reading / watching&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Lots of fun stuff at &lt;a href=&quot;https://www.microsoft.com/en-us/build&quot;&gt;Build 2019&lt;/a&gt;! Here’s &lt;a href=&quot;https://blogs.windows.com/msedgedev/2019/05/06/edge-chromium-build-2019-pwa-ie-mode-devtools/#8TlixqGMlijJQ22X.97&quot;&gt;a lightweight overview of all our MS Edge news&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/info/2019/apr/04/revisiting-the-rendering-tier&quot;&gt;Revisiting the Rendering Tier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/&quot;&gt;Revisiting prefers-reduced-motion, the reduced motion media query&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adactio.com/journal/15050/&quot;&gt;Split&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rachelandrew.co.uk/archives/2019/05/07/getting-involved-with-the-web-platform/&quot;&gt;Getting involved with the web platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lflegal.com/2019/05/wcag-birthday/&quot;&gt;Happy Birthday WCAG — Now You Are Twenty!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scottohara.me/note/2019/05/07/resources.html&quot;&gt;Accessibility Resources&lt;/a&gt;: if you want to get started with web accessibility, this is a good list covering the what, why, and how.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnn.com/2019/04/30/business/impossible-meat-shortage/index.html&quot;&gt;America is running out of Impossible Burgers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kottke.org/19/04/why-everyone-is-watching-tv-with-closed-captioning-on-these-days&quot;&gt;Why Everyone Is Watching TV with Closed Captioning On These Days&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #3: the pile-up</title>
      <link href="https://melanie-richards.com/blog/weeknotes-3/"/>
      <updated>2019-05-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-3/</id>
      <content type="html">&lt;p&gt;The first rule of weeknotes is that you write them every week. 😅&lt;/p&gt;
&lt;p&gt;Work and (positive) family stuff has kept me busy lately, but here’s been what’s up over the few couple weeks.&lt;/p&gt;
&lt;h2 id=&quot;starting-accessibility-remediation-on-an-old-project&quot;&gt;Starting accessibility remediation on an old project&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://baladycreatives.com/&quot;&gt;Badass Lady Creatives&lt;/a&gt;, a blog and directory I used to run, is a classic example of the accessibility issues that are rampant across the web. I don’t update the site anymore, but judging from emails I get every few weeks, people still visit it. I’m going to try to change the design the least amount as I can in order to scope the project (directory pages will probably need to change a fair amount…), but I will be fixing the issues.&lt;/p&gt;
&lt;p&gt;First, I started by logging a bunch of issues found via quick validator scans and known here-be-dragons. I’m starting to fix issues that are present across the site, so I: added a missing landmark; fixed a bunch of heading levels where I was using various h-levels for their styling; and added a visible text label to the menu button. There’s a lot more to do—lots of text contrast issues as an example—so I’m just getting started.&lt;/p&gt;
&lt;h2 id=&quot;insert-egg-jokes-here&quot;&gt;Insert egg jokes here&lt;/h2&gt;
&lt;picture class=&quot;u-limit-width&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-egg-weaving-s.jpg&quot; alt=&quot;A tapestry weaving with fried eggs on a dark navy background, roughly 85% finished and still on the loom&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;After taking a couple months’ hiatus from weaving for unknown reasons, I’m very close to finishing my egg tapestry! I’ve churned through those last two eggs over the past couple weeks, and after this I never want to weave loops again. Perhaps it’s the way I’m doing it, but the yarn for the loops feels very slippy and prone to falling out if not locked in immediately and with great care.&lt;/p&gt;
&lt;p&gt;Why eggs? Why NOT eggs, my friend?&lt;/p&gt;
&lt;h2 id=&quot;on-the-internet&quot;&gt;On the internet&lt;/h2&gt;
&lt;p&gt;Learned the term &lt;a href=&quot;https://en.m.wikipedia.org/wiki/Gold_master_(disambiguation)&quot;&gt;“gold master”&lt;/a&gt;, admired &lt;a href=&quot;https://twitter.com/41Strange/status/1114647973109960705&quot;&gt;pigeons with fantastic feather collars&lt;/a&gt;, and giggled at &lt;a href=&quot;https://twitter.com/jarrydhuntley/status/1116935952302333952?s=21&quot;&gt;this video of tigers drinking, set to Yoshi noises&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Some of the articles I’ve read lately.&lt;/p&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/accessibility-for-vestibular&quot;&gt;Accessibility for Vestibular Disorders: How My Temporary Disability Changed My Perspective&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/accessibility-events/&quot;&gt;Accessibility Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.paciellogroup.com/blog/2019/04/think-like-an-accessible-ux-researcher-part-3/&quot;&gt;Think like an accessible UX researcher part 3: five common mistakes in usability testing and how to avoid them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gatsbyjs.org/blog/2019-04-18-gatsby-commitment-to-accessibility/&quot;&gt;Our Commitment to Accessibility in Gatsby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@sheribyrnehaber/the-perilous-pitfalls-of-accessibility-maturity-a5cdba1bfec7&quot;&gt;The “perilous pitfalls” of Accessibility Maturity&lt;/a&gt;: organizational considerations in creating accessible experiences&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://justin.stach.uk/how_we_built_the_most_accessible_grocery_app&quot;&gt;How we made the country’s most accessible grocery shopping app (without anyone noticing)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;work-and-productivity&quot;&gt;Work and productivity&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://greatergood.berkeley.edu/article/item/why_you_never_seem_to_have_enough_time&quot;&gt;Why You Never Seem to Have Enough Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://greatergood.berkeley.edu/article/item/how_to_only_do_things_you_actually_want_to_do&quot;&gt;How to Only Do Things You Actually Want to Do&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/science/2017/dec/04/would-you-be-willing-words-turn-conversation-around&quot;&gt;&#39;Would you be willing?&#39;: words to turn a conversation around (and those to avoid)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/nothing-fails-like-success/&quot;&gt;Nothing Fails Like Success&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.microsoft.com/on-the-issues/2019/04/15/were-increasing-our-carbon-fee-as-we-double-down-on-sustainability/&quot;&gt;We’re increasing our carbon fee as we double down on sustainability&lt;/a&gt; (disclaimer: I work for Microsoft and applaud any sustainability efforts!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.propublica.org/article/tsa-not-discriminating-against-black-women-but-their-body-scanners-might-be&quot;&gt;TSA Agents Say They’re Not Discriminating Against Black Women, But Their Body Scanners Might Be&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/technology/archive/2019/04/influencers-are-abandoning-instagram-look/587803/&quot;&gt;The Instagram Aesthetic Is Over&lt;/a&gt;: a striking reminder that authenticity can be its own performance.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://junkee.com/sekiro-game-difficulty/200666&quot;&gt;Video Game Difficulty Is An Accessibility Issue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #2: on not doing things</title>
      <link href="https://melanie-richards.com/blog/weeknotes-2/"/>
      <updated>2019-04-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-2/</id>
      <content type="html">&lt;p&gt;Between overtime and coming down with a cold (again) (possibly connected), this was a quiet week for side projects.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.the100dayproject.org/&quot;&gt;The 100 Day Project&lt;/a&gt; kicked off this week, and I gave serious thought to participating, and mulled over a couple different project ideas. I ended up deciding that though I’d really like to feel part of the collective effort to reclaim creative time, the parameters (do the same action for 100 days) don’t particularly suit the things I want to invest time in right now. Even fun things can feel like a chore if they’re not serving your values.&lt;/p&gt;
&lt;h2 id=&quot;always-learning&quot;&gt;Always learning&lt;/h2&gt;
&lt;p&gt;Rachel Andrew’s &lt;a href=&quot;https://rachelandrew.co.uk/css/&quot;&gt;CSS page&lt;/a&gt; bears this preamble:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have been figuring out CSS for 20 years. Every time I figure something out, I write it down.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I love the way Rachel phrased this. Learning never stops. It is easy to imagine that someone who is very knowledgeable on a topic Knows Everything and Never Struggles but we are all, always figuring it out as we go.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;h3 id=&quot;design-and-development&quot;&gt;Design and development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/differential-serving/&quot;&gt;Differential Serving&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/css-houdini-could-change-the-way-we-write-and-manage-css/&quot;&gt;CSS Houdini Could Change the Way We Write and Manage CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/yet-another-javascript-framework/&quot;&gt;Yet Another JavaScript Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://girliemac.com/blog/2019/04/02/javascript-i18n-reiwa-era/&quot;&gt;Reiwa - JavaScript International Date Format and Japan&#39;s New Imperial Era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alastairc.uk/2019/04/oddities-in-color-perception/&quot;&gt;Oddities in color perception&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;stuff-about-sleep-i-need-to-internalize&quot;&gt;Stuff about sleep I need to internalize&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zapier.com/blog/sleep-and-productivity/&quot;&gt;The Science of Sleep and Productivity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/codermeow/status/1114910728190697472&quot;&gt;This tweet from Crystal Martin’s abundance/scarcity talk&lt;/a&gt; (I hope the slides/video will be online somewhere, seems like it was a great talk!)&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Weeknotes #1: in which we begin again</title>
      <link href="https://melanie-richards.com/blog/weeknotes-1/"/>
      <updated>2019-04-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/weeknotes-1/</id>
      <content type="html">&lt;p&gt;Inspired by &lt;a href=&quot;https://medium.com/job-garden/a-pre-history-of-weeknotes-plus-why-i-write-them-and-perhaps-why-you-should-too-week-16-31a4a5cbf7b0&quot;&gt;this post on weeknotes&lt;/a&gt; (h/t &lt;a href=&quot;https://twitter.com/justinmduke/status/1110709291357343744&quot;&gt;Justin Duke&lt;/a&gt;), I’ve decided to try the concept out myself. I’ve been doing something similar for awhile in one fashion or another: a monthly learning log or reading log. But I like the idea of a faster-cadence, lo-fi update on what I’m working on, thinking through, reading, etc. Work-work will probably be covered here in generalities, but heck, let’s try this out.&lt;/p&gt;
&lt;p&gt;Here&#39;s my weeknotes for the week of March 24, 2019.&lt;/p&gt;
&lt;h2 id=&quot;project-of-the-day&quot;&gt;Project of the Day&lt;/h2&gt;
&lt;p&gt;I&#39;ve been experimenting with different ways of trying to deal with all the bajillion irons in the fire at work, and one idea I&#39;m testing out right now is a project of the day. Instead of having a laundry list of things to do on a particular day spread out across various different efforts (which are invariably more than a day&#39;s worth and just contribute to a feeling of chaos), I&#39;m trying to focus on just ONE main thing that needs to happen each day, for a total of 5 main projects each week. If I&#39;m done early, cool—start the next project on the list.&lt;/p&gt;
&lt;p&gt;I do also need time to deal with the more reactionary items on the list, so along with the daily project I&#39;m reserving set time in my daily schedule for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Answering emails&lt;/li&gt;
&lt;li&gt;Triaging bugs&lt;/li&gt;
&lt;li&gt;&amp;quot;Quick&amp;quot; items (whatever fits in the timebox: so I&#39;m not randomized, but also not dragging small items along day after day and losing context / eating up more time in the long run)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Meetings still pose a challenge to focused time.&lt;/p&gt;
&lt;h2 id=&quot;new-moon-ide-theme&quot;&gt;New Moon IDE theme&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/new-moon.png&quot; alt=&quot;A code editor with a middle-dark grey background, and pastel-ish primary colors for the foreground&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I recently started using Tania Rascia’s &lt;a href=&quot;https://taniarascia.github.io/new-moon/&quot;&gt;New Moon theme&lt;/a&gt; in VS Code, and I have to say it’s the &lt;em&gt;perfect&lt;/em&gt; contrast level for me. I’d suggest checking it out if you like dark IDE themes but find pure-black backgrounds a bit wearing on the eyes!&lt;/p&gt;
&lt;h2 id=&quot;imposter-syndrome&quot;&gt;Imposter syndrome&lt;/h2&gt;
&lt;p&gt;Having completely changed my career/role a year ago, I can confirm that no matter what I’m doing, I’ll probably always have imposter syndrome and/or feelings of inadequacy. This is freeing in its own way: running from it will not help. You can only do your best to work through it and focus on meeting what the project needs.&lt;/p&gt;
&lt;h2 id=&quot;reading&quot;&gt;Reading&lt;/h2&gt;
&lt;p&gt;Technically these articles were read across March, rolling the (non-exhaustive) March reading log into these first weeknotes.&lt;/p&gt;
&lt;h3 id=&quot;web-design-and-dev-articles&quot;&gt;Web design and dev articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/projects/million/&quot;&gt;The WebAIM Million&lt;/a&gt;: the top million home pages have an average of 59.6 detectable errors.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ericwbailey.design/writing/2019-03-05-fighting-uphill.html&quot;&gt;Fighting Uphill&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/projects/practitionersurvey2/&quot;&gt;Survey of Web Accessibility Practitioners #2 Results&lt;/a&gt;: fascinating to note how the survey participant demographics compare to the general web profession population.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://equalentry.com/qa-with-leonie-watson-accessibility-engineer-and-director-tetralogical/&quot;&gt;Q&amp;amp;A With Léonie Watson, Accessibility Engineer and Director, TetraLogical&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://csswizardry.com/2019/03/cache-control-for-civilians/&quot;&gt;Cache-Control for Civilians&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/canary-in-a-coal-mine-how-tech-provides-platforms-for-hate&quot;&gt;Canary in a Coal Mine: How Tech Provides Platforms for Hate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/responsible-javascript-part-1&quot;&gt;Responsible JavaScript: Part I&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://axesslab.com/skip-links/&quot;&gt;Your skip links are broken&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;other-interesting-articles&quot;&gt;Other interesting articles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.forbes.com/sites/alicegwalton/2017/10/05/different-types-of-meditation-change-the-brain-in-different-ways-study-finds/&quot;&gt;Different Types Of Meditation Change Different Areas Of The Brain, Study Finds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/technology/archive/2019/03/hottest-chat-app-teens-google-docs/584857/&quot;&gt;The Hottest Chat App for Teens Is … Google Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@ccgraves/im-disabled-and-not-some-other-word-ab70e54aefd5&quot;&gt;I’m Disabled (And Not Some Other Word)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nymag.com/intelligencer/2018/12/how-much-of-the-internet-is-fake.html&quot;&gt;How Much of the Internet Is Fake? Turns Out, a Lot of It, Actually.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/windows/desktop/uxguide/inter-keyboard&quot;&gt;Keyboard [interaction design docs]&lt;/a&gt;: casually reading about keyboard patterns on Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;accessibility-camp-seattle&quot;&gt;Accessibility Camp Seattle&lt;/h2&gt;
&lt;p&gt;If you’re local to the Pacific NW, consider attending &lt;a href=&quot;https://accessibilitycampseattle.org/&quot;&gt;Accessibility Camp Seattle&lt;/a&gt;! Last year’s &lt;a href=&quot;https://accessibilitycampseattle.org/event-info/#whats-an-unconference&quot;&gt;unconference&lt;/a&gt; felt like new friends coming together to share their experiences, learnings, and explorations in a low-pressure environment. This would be a great event whether you’re newly curious about accessibility, or if you’re always open to learning more. Thinking of what I might suggest for a session… 🤔&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>“Semantics to Screen Readers” on A List Apart</title>
      <link href="https://alistapart.com/article/semantics-to-screen-readers"/>
      <updated>2019-03-21T00:00:00.000Z</updated>
      <id>https://alistapart.com/article/semantics-to-screen-readers</id>
      <content type="html">
        <p>An in-depth walkthrough on the role of accessibility APIs in making web content accessible to assistive technologies.</p>
        <a href="https://alistapart.com/article/semantics-to-screen-readers">Read the article on A List Apart</a>
      </content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Hobbies and Hustles: Reading Log, Feb 2019</title>
      <link href="https://melanie-richards.com/blog/reading-log-1902/"/>
      <updated>2019-03-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/reading-log-1902/</id>
      <content type="html">&lt;p&gt;Short list this month and a few weeks late 😅&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bradfrost.com/blog/post/dont-get-clever-with-login-forms/&quot;&gt;Don’t Get Clever with Login Forms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://uxmovement.com/mobile/solid-vs-outline-icons-which-are-faster-to-recognize/&quot;&gt;Solid Vs. Outline Icons: Which Are Faster to Recognize?&lt;/a&gt;: further underlines how squishy it is to understand icon recognizability and usability. Not sure I quite agree with the “button selection” section: a mute button that goes from outlines to solid fills when activated feels right to me. Side note, I would like the design industry to standardize on mute button stylistic treatment, because “does the line through the mic mean I&#39;m muted or not?” introduces a fair amount of paranoia into calls where I don’t want to add noise.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sophieshepherd.com/2017/06/14/learning-to-be-chill.html&quot;&gt;The Road to Burnout is Paved With Context Switching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.glamour.com/story/how-to-care-less-about-work-stress&quot;&gt;Here’s Why You Should Care Less About Your Work&lt;/a&gt;: a bit click-baity of a title, but worth a read.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manrepeller.com/2019/02/trap-of-turning-hobbies-into-hustles.html&quot;&gt;The Modern Trap of Turning Hobbies Into Hustles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/technology/archive/2019/02/when-kids-realize-their-whole-life-already-online/582916/&quot;&gt;When Kids Realize Their Whole Life Is Already Online&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Tea and GTD: Learning Log, Jan 2019</title>
      <link href="https://melanie-richards.com/blog/learning-log-1901/"/>
      <updated>2019-02-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1901/</id>
      <content type="html">&lt;h2 id=&quot;react&quot;&gt;React&lt;/h2&gt;
&lt;p&gt;My secret web dev shame is that I haven’t really used any modern JS UI frameworks and libraries, never having worked on a project that I felt truly called for using something like React or Vue. That being said, I’ve wanted to build side projects using a couple different tools, so I can appreciate &lt;em&gt;firsthand&lt;/em&gt; how other web developers are working today. In January I just started reading the &lt;a href=&quot;https://reactjs.org/docs/getting-started.html&quot;&gt;React docs&lt;/a&gt; and such, and will have to think about what to build…&lt;/p&gt;
&lt;h2 id=&quot;(not)-microwaving-tea&quot;&gt;(Not) microwaving tea&lt;/h2&gt;
&lt;p&gt;For some reason, “Brits upset about microwaved tea” has been popping up on my radar lately. I use an electric kettle to heat water for coffee and tea, but was not sure why microwaving is such a cardinal sin. It’s just…one other way to get hot water, right? Assuming the tea bag is added &lt;em&gt;after&lt;/em&gt; the water is microwaved and yet this is still egregious.&lt;/p&gt;
&lt;p&gt;There are a couple different competing ideas and pseudo-science around this topic, but the best explanation I can find is that: different teas are best heated to particular temperatures; you can’t control the temperature of hot water in the microwave as you can with an electric kettle; and thus heating your tea to the wrong temperature can make it taste bitter and gross.&lt;/p&gt;
&lt;p&gt;The more you know… 🌈☕️&lt;/p&gt;
&lt;h2 id=&quot;getting-things-done&quot;&gt;Getting Things Done&lt;/h2&gt;
&lt;p&gt;Late last year I thought I’d finally find out with the fuss was with the “Getting Things Done” method. Supposedly you want the *original* edition of David Allen’s book, and instead of ordering it through a third-party Amazon seller, lazy me just decided to look up articles with distilled versions of GTD:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lifehacker.com/335269/practicing-simplified-gtd&quot;&gt;Practicing Simplified GTD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lifehacker.com/182318/empty-your-inbox-with-the-trusted-trio&quot;&gt;Empty Your Inbox with the Trusted Trio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lifehacker.com/270404/how-to-make-your-to-do-list-doable&quot;&gt;How to Make Your To-Do List Doable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hamberg.no/gtd/&quot;&gt;GTD in 15 minutes – A Pragmatic Guide to Getting Things Done&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zapier.com/blog/gtd-getting-things-done/&quot;&gt;Easy GTD®: How to Get Things Done or Get Back on the GTD Wagon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.macworld.com/article/1044327/web-apps/tipsinbox.html&quot;&gt;The inbox makeover&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Too soon to tell how well simplified GTD is working out, though I can say greatly reducing my email folder filing system has been really nice…&lt;/p&gt;
&lt;h2 id=&quot;a-few-articles&quot;&gt;A few articles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://designobserver.com/feature/26-years-85-notebooks/6067&quot;&gt;26 Years, 85 Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2019/01/accessible-page-navigations-in-single-page-apps/&quot;&gt;Accessible Page Navigation in Single Page Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://daverupert.com/2018/09/color-cycling-image-pixels-with-workers/&quot;&gt;Color Cycling with Workers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rachelandrew.co.uk/archives/2019/01/30/html-css-and-our-vanishing-industry-entry-points/&quot;&gt;HTML, CSS and our vanishing industry entry points&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinkleon.com/2018/09/14/paper-monuments-to-human-effort/&quot;&gt;Paper monuments to human effort&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raptitude.com/2018/12/why-the-depth-year-was-my-best-year/&quot;&gt;Why the Depth Year Was My Best Year&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What have you learned this month?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2018 in Review</title>
      <link href="https://melanie-richards.com/blog/2018-review/"/>
      <updated>2019-01-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2018-review/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2018-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2018-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2018-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-2018-s.jpg&quot; alt=&quot;Three images: a small cabin near a creek, a moody horizon on the Puget Sound, and the sun nearly set across the bay&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Some local adventures near water this year: walking the Denny Creek trail and dreaming of a cabin in the woods by a stream; drifting near Deception Pass to spot whales; a truly excellent weekend with friends at Birch Bay.&lt;/p&gt;
&lt;p&gt;This blog hasn’t been updated since March, which coincides perfectly with a period of tremendous, though quiet, growth for me. I was hired onto the Microsoft Edge team in 2015 as a designer/developer, and over the past couple years have been picking up other activities on the web platform team. I was interested in having more direct impact on the web platform, and so in 2018, I started a new role as a feature program manager for Microsoft Edge. PMing is about identifying the next impactful work for a particular feature space (for me, accessibility); engaging in web standards discussions; helping facilitate new work internally; and partnering with other teams and the community so that the web platform meets their needs (reeeally oversimplifying here for brevity).&lt;/p&gt;
&lt;p&gt;It is fascinating to be surrounded by people who are familiar and dear to you, but essentially embark on a new career. PMing has meant further calling and building upon existing skills; picking up new ones; getting familiar with processes; and rapidly gaining deeper domain knowledge. Add to this some &lt;a href=&quot;https://github.com/MicrosoftEdge/MSEdge/blob/master/README.md&quot;&gt;big changes for the web platform&lt;/a&gt;, and you have a very interesting year.&lt;/p&gt;
&lt;p&gt;In all things, I can’t help but focus on everything I could be doing better. I could be faster, more deeply technical, more connected, more vocal, more insightful. No matter how much we can reasonably accomplish in a period of time, I always wish it were more. But as I reflect on day zero vs. now, I’m thinking maybe there is in fact a lot to be proud of.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;p&gt;Again, a quiet year for tangible and specific highlights to mention here, but here’s a few:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I ran my first (half-day) workshop on CSS Grid at &lt;a href=&quot;https://beyondtellerrand.com/blog/wrap-up-munich-2018&quot;&gt;beyond tellerrand in Munich&lt;/a&gt;, and gave a lunch-track talk on grid layout.&lt;/li&gt;
&lt;li&gt;My &lt;a href=&quot;https://twitter.com/csswg/status/988551628172083201&quot;&gt;first direct spec contribution&lt;/a&gt; was &lt;a href=&quot;https://www.w3.org/blog/CSS/2018/04/23/css-align-3-pre-cr-update/&quot;&gt;published in the CSS alignment spec&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;I joined the &lt;a href=&quot;https://www.w3.org/WAI/ARIA/&quot;&gt;ARIA Working Group&lt;/a&gt; at the W3C, and have really enjoyed getting to know and work with the folks in the group. In general, I’ve met a lot of really awesome people this year working in accessibility.&lt;/li&gt;
&lt;li&gt;One of my sisters moved out to Seattle (near me) in the spring, and the other is expecting a baby. In 2019, I’m going to be a first-time aunt!&lt;/li&gt;
&lt;li&gt;Of my bucket list items, I: ate dumplings at Din Tai Fung, went whale watching, and took an archery lesson. The lesson was like…five minutes long, as there’s not much to the basics. Archery is fun.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;family&quot;&gt;Family&lt;/h2&gt;
&lt;p&gt;I don’t tend to talk about heavier life moments in my year-in-review, but I did lose one of my grandmothers this year; she passed away while I was on a business trip, and that was tough. My family held her memorial closer to her birthday (she’s a 4th of July baby), and it was really special to gather with her friends and hear so many people say such wonderful things about her. It didn’t occur to me until someone mentioned it, but I have never heard her speak an ill or impatient or judgemental word against anyone. Ever. That’s kindness goals. Love you, Mom Mom.&lt;/p&gt;
&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;
&lt;p&gt;I accidentally read 72 books out of a goal of 52. Incidentally, 72 is my goal for 2019, so probably a year from now I&#39;ll be writing &amp;quot;I read 90 books!&amp;quot;. This is the silver lining of a long commute.&lt;/p&gt;
&lt;p&gt;Here are a few I particularly enjoyed, in alphabetical order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/30971707-all-grown-up&quot;&gt;All Grown Up&lt;/a&gt; by Jami Attenberg&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/33846708-the-black-tides-of-heaven&quot;&gt;The Black Tides of Heaven&lt;/a&gt; by J.Y. Yang&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/series/221766-borne&quot;&gt;Borne series&lt;/a&gt; by Jeff VanDerMeer. I liked &amp;quot;The Strange Bird&amp;quot; best of the two stories, but I&#39;d say it would be best to read &amp;quot;Borne&amp;quot; first.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/31147267-the-changeling&quot;&gt;The Changeling&lt;/a&gt; by Victor LaValle had me like &amp;quot;WHAT DID I JUST READ&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/13623785-the-cutting-season&quot;&gt;The Cutting Season&lt;/a&gt; by Attica Locke&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/7093952-faithful-place&quot;&gt;Faithful Place&lt;/a&gt; by Tana French&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/27746288-goodbye-vitamin&quot;&gt;Goodbye, Vitamin&lt;/a&gt; by Rachel Khong&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/35068432-i-ll-be-gone-in-the-dark&quot;&gt;I&#39;ll Be Gone in the Dark: One Woman&#39;s Obsessive Search for the Golden State Killer&lt;/a&gt; by Michelle McNamara, RIP.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/6424171-jurassic-park&quot;&gt;Jurassic Park&lt;/a&gt; by Michael Crichton&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/26118005-my-best-friend-s-exorcism&quot;&gt;My Best Friend&#39;s Exorcism&lt;/a&gt; by Grady Hendrix. Sweetest book you&#39;ll ever read about an exorcism.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/22600836-sakana-vol-1&quot;&gt;Sakana&lt;/a&gt; by Mad Rupert, extremely adorable.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/series/120477-villains&quot;&gt;Villians series&lt;/a&gt; by V.E. Schwab&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I swear I read non-fiction and enjoyed some of it, but realistically it was a pretty fiction-heavy year.&lt;/p&gt;
&lt;h2 id=&quot;2019-theme&quot;&gt;2019 theme&lt;/h2&gt;
&lt;p&gt;My theme for 2019 is &lt;strong&gt;curiosity&lt;/strong&gt;. In every area of life, I’d like to pursue goals from a spirit of learning instead of a pressure to achieve. I’d like to ask more questions and generate more options. Instead of feeling discouraged by setbacks, I’d like to be curious about what other solutions I might find.&lt;/p&gt;
&lt;p&gt;Here’s to the new year!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Pigments and poetry: Learning Log, Feb 2018</title>
      <link href="https://melanie-richards.com/blog/learning-log-1802/"/>
      <updated>2018-03-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1802/</id>
      <content type="html">&lt;ul&gt;
&lt;li&gt;Rethinking my relationship to &amp;quot;wasted&amp;quot; work: those tasks you spend a good chunk of time on, but the results go unused. It’s not a “waste” of time, it’s effort you had to put in to better see where you were going and what the best outcome should be. False starts = building up to something.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/anatudor/status/965838510765862913&quot;&gt;This Twitter thread on documentFragment&lt;/a&gt; goes to show that the perf gains of this approach, as with most things, depends on context.&lt;/li&gt;
&lt;li&gt;Lemon seems like too bright a flavor to pair with chocolate, but I actually quite liked &lt;a href=&quot;https://www.theochocolate.com/product/lemon/&quot;&gt;this bar by Theo&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/heidi-gustafson-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/heidi-gustafson-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/heidi-gustafson-s.jpg&quot; alt=&quot;A grid of powder pigments from natural sourcecs&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;I&#39;m such a sucker for &lt;a href=&quot;https://www.instagram.com/heidilynnheidilynn/&quot;&gt;found pigments&lt;/a&gt;; these are &lt;a href=&quot;http://earlyfutures.com/about-ochre-pigments/&quot;&gt;ochre pigments collected by Heidi Gustafson&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/research/project/project-torino/&quot;&gt;Project Torino&lt;/a&gt; is a physical programming language for children with visual impairments. It seems there’s always some cool venture at my company that I hadn’t yet heard about (this one via Rob Whiting in the &lt;a href=&quot;https://a11ywins.tumblr.com/post/125378431293/a11y-slackers&quot;&gt;web-a11y&lt;/a&gt; Slack).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/andrew--r/frontend-case-studies&quot;&gt;Frontend Case Studies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Discovered &lt;a href=&quot;https://kimabeles.com/portfolio/smog-collectors/&quot;&gt;Kim Abeles&#39;s smog plates&lt;/a&gt; through the Good Food podcast. Abeles puts a stencil on a dinner plate, leaves it out on the roof in LA, and lets smog sediment settle on the open spaces of the plate. She&#39;s done these for the U.S. presidents, where she leaves a plate out for a longer or shorter time depending on the president&#39;s environmental record (longer for subjectively worse records).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jisho.org/&quot;&gt;Jisho&lt;/a&gt; is a super useful Japanese &amp;lt;=&amp;gt; English dictionary that even shows the stroke order for various kanji.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;interesting-reads&quot;&gt;Interesting reads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.atlasobscura.com/articles/shadows-from-the-walls-of-death-book&quot;&gt;How a Library Handles a Rare and Deadly Book of Wallpaper Samples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/science/archive/2018/01/what-was-this-article-about-again/551603/&quot;&gt;Why We Forget Most of the Books We Read&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/my-accessibility-journey-what-ive-learned-so-far&quot;&gt;My Accessibility Journey: What I’ve Learned So Far&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.buzzfeed.com/charliewarzel/the-terrifying-future-of-fake-news&quot;&gt;He Predicted The 2016 Fake News Crisis. Now He&#39;s Worried About An Information Apocalypse.&lt;/a&gt; This one is good, but it’s rough. Save to read when you’re in a good state of mind.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2017/04/06/opinion/why-authoritarians-attack-the-arts.html&quot;&gt;Why Authoritarians Attack the Arts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2018/02/16/opinion/sunday/tyranny-convenience.html&quot;&gt;The Tyranny of Convenience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ourdataourselves.tacticaltech.org/posts/30-on-weaponised-design/&quot;&gt;On Weaponised Design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some gloom and doom in the reads list this month, so to bolster you in these trying times:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If equal affection cannot be, &lt;br /&gt;&lt;br /&gt;
Let the more loving one be me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;—From &lt;a href=&quot;https://www.poets.org/poetsorg/poem/more-loving-one&quot;&gt;&amp;quot;The More Loving One&amp;quot;&lt;/a&gt; by W. H. Auden (via &lt;a href=&quot;https://www.rosieleizrowice.com/blog/damn-giving&quot;&gt;Rosie L.&lt;/a&gt;)&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Calligraphy and camouflage: Learning Log, Jan 2018</title>
      <link href="https://melanie-richards.com/blog/learning-log-1801/"/>
      <updated>2018-02-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1801/</id>
      <content type="html">&lt;div class=&quot;video-embed-wrap&quot;&gt;
  &lt;div class=&quot;video-embed&quot;&gt;
    &lt;iframe title=&quot;Sho Ha Hito Nari: Brushes, strokes and a reflection of self - Aoi Yamaguchi&quot; src=&quot;https://player.vimeo.com/video/251433669?title=0&amp;byline=0&amp;portrait=0&quot; width=&quot;640&quot; height=&quot;360&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;I went to &lt;a href=&quot;https://overcast.fm/+J1L8Aty4U&quot;&gt;beyond tellerrand Munich&lt;/a&gt; to give a workshop and a lunchtime presentation on CSS Grid. Though I spent most of the conference talking to folks at the Microsoft Edge booth (always awesome to meet a new community of designers/devs), I did catch &lt;a href=&quot;https://vimeo.com/251433669&quot;&gt;Aoi Yamaguchi’s fascinating presentation&lt;/a&gt;. Aoi is classically-trained in Japanese calligraphy, and has extended that practice to conceptually reinterpret characters and incorporate calligraphy into performance art. Really compelling and &lt;a href=&quot;https://vimeo.com/251433669&quot;&gt;worth a watch&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~Honesty time~&lt;/strong&gt; One of my intentions for the year was to be more patient with myself. I’ve realized this month that, for myself, I’ve created a false binary: “person who makes mistakes” vs “good / talented / kind / knowledgeable / capable person”. Being more aware of that mental trap seems like a good thing.&lt;/li&gt;
&lt;li&gt;New-to-me organization: &lt;a href=&quot;https://collegefund.org/&quot;&gt;American Indian College Fund&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://lovetosewpodcast.com/&quot;&gt;Love to Sew podcast&lt;/a&gt; is making me want to sew all the things! I’ve also been enjoying &lt;a href=&quot;https://helenscloset.ca/&quot;&gt;Helen’s Closet&lt;/a&gt;, a blog written by one of the cohosts. Helen does a weekly round-up of others’ projects, and always seems to include great diversity of style, body types, and backgrounds.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://overcast.fm/+J1L8Aty4U&quot;&gt;This Hurry Slowly episode on nature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/uk-news/gallery/2018/jan/24/camouflage-knitting-in-pictures&quot;&gt;Camouflage knitting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/camo-knit-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/camo-knit-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/camo-knit-s.jpg&quot; alt=&quot;A man in a gridded sweater that matches the gridded wall behind him&quot; /&gt;
        &lt;/picture&gt;
&lt;p :.caption=&quot;&quot;&gt;Very Garden State. Knitwear by Nina Dodd, photo by Joseph Ford&lt;/p&gt;
&lt;h2 id=&quot;interesting-reads&quot;&gt;Interesting reads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.textileartist.org/maker-excuse-maker/&quot;&gt;Are you a maker or an excuse maker?&lt;/a&gt; Not excited about the title of this one, but this article has great advice for cultivating a creative practice.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://motherboard.vice.com/en_us/article/kz3xyz/detroit-mesh-network&quot;&gt;Ignored By Big Telecom, Detroit&#39;s Marginalized Communities Are Building Their Own Internet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qz.com/1176962/map-how-the-word-tea-spread-over-land-and-sea-to-conquer-the-world/&quot;&gt;Tea if by sea, cha if by land: Why the world only has two words for tea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jacobinmag.com/2018/01/under-neoliberalism-you-can-be-your-own-tyrannical-boss&quot;&gt;Under Neoliberalism, You Can Be Your Own Tyrannical Boss&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ted.com/talks/zeynep_tufekci_we_re_building_a_dystopia_just_to_make_people_click_on_ads&quot;&gt;We&#39;re building a dystopia just to make people click on ads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/sections/thesalt/2018/01/15/577675950/meet-the-fearless-cook-who-secretly-fed-and-funded-the-civil-rights-movement&quot;&gt;Meet The Fearless Cook Who Secretly Fed—And Funded—The Civil Rights Movement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/samsung-internet-dev/perfectionism-anxiety-and-learning-to-be-kind-to-yourself-e3c23710704&quot;&gt;Perfectionism, anxiety and learning to be kind to yourself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raptitude.com/2017/12/go-deeper-not-wider/&quot;&gt;Go Deeper, Not Wider&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Intentions for 2018</title>
      <link href="https://melanie-richards.com/blog/2018-intentions/"/>
      <updated>2017-12-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2018-intentions/</id>
      <content type="html">&lt;p&gt;This year I’d honestly just like to enjoy being a person. I’m always so focused on feeling like I’m not doing enough professionally, or developing enough creatively, that the rest of my life takes the back burner. Which feels weird for me to say, because I’ve seen some of your annual review posts, and I’d like to know where y’all are getting your Timeturners.&lt;/p&gt;
&lt;h2 id=&quot;themes&quot;&gt;Themes&lt;/h2&gt;
&lt;p&gt;How I’d like to be in 2018:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Present:&lt;/strong&gt; savoring the present moment, letting the future worry about itself&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Patient:&lt;/strong&gt; this in the context of not being so hard on myself, of giving myself the space to explore instead of immediately demanding perfection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Process-oriented:&lt;/strong&gt; knowing that we do our best and perhaps most efficient work when we’re having fun, anyway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I didn’t initially mean to go with the alliteration at first, but when you have two words naturally starting with “p”, you can’t &lt;em&gt;not&lt;/em&gt; make the third one also start with “p”. In order to better stay on track with my themes this year, I’ll do some journaling every week or two to check in and see how I’m doing.&lt;/p&gt;
&lt;h2 id=&quot;intentions&quot;&gt;Intentions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;As I mentioned in my &lt;a href=&quot;https://melanie-richards.com/blog/2017-review/&quot;&gt;year in review post&lt;/a&gt;, I’m going for 52 books again. This year, though, 35 of them will be books I owned at the beginning of the year. Working on that backlog!&lt;/li&gt;
&lt;li&gt;Cooking more again, and improving my skills/trying new things in the kitchen. At the very least, getting back into the habit of cooking for the week every Sunday night.&lt;/li&gt;
&lt;li&gt;Making progress on a &lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;bucket list item&lt;/a&gt; once a month (progress on the reading goal doesn’t count, as that’s just my natural state 😉). The Pacific Northwest items are heavy on spring/summer activities, but there’s a few things I can do before then. In support of this, I’m making a routine of alternating “adventure” weekends with “rest” or “project” weekends.&lt;/li&gt;
&lt;li&gt;Finding community in the effort to effect positive change.&lt;/li&gt;
&lt;li&gt;I’m bad at keeping in touch long distance—aren’t we all? I’ll video chat with a friend once a month.&lt;/li&gt;
&lt;li&gt;Getting in creative time daily before work. I started doing this later on in 2017, and find a lot of value and joy in it, despite not being super consistent. Would like to show up more consistently this year, which also supports the effort to get to bed on time!&lt;/li&gt;
&lt;li&gt;This one is more clearly work-related: looking at my process monthly and seeing if there is anything I can do to make it more efficient, no matter how seemingly small.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What are your goals or intentions for 2018?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2017 in Review</title>
      <link href="https://melanie-richards.com/blog/2017-review/"/>
      <updated>2017-12-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2017-review/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2017-review-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2017-review-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2017-review-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/2017-review-s.jpg&quot; alt=&quot;A collage of scenes from Mexico City, Paris, a wedding, and New York City&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Street art in Mexico City; Musée D’Orsay in Paris; my sister’s wedding; NYC architecture.&lt;/p&gt;
&lt;p&gt;Someday the world will be at peace and won’t feel like a three-ring circus of horror and I can write about the positive personal stuff that happened and not feel weird about it. A girl can dream.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Joined the W3C &lt;a href=&quot;https://www.w3.org/Style/CSS/current-work&quot;&gt;CSS Working Group&lt;/a&gt; as a part of my role on Microsoft Edge. I’ve met a lot of wonderful people and while I feel like I’m just getting started there, I hope to contribute more in the future.&lt;/li&gt;
&lt;li&gt;Made a couple minisites: &lt;a href=&quot;https://melanie-richards.com/blog/highlights-minisite/&quot;&gt;a collection of book highlights&lt;/a&gt; and &lt;a href=&quot;https://bucketlist.melanie-richards.com/&quot;&gt;my bucketlist&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Gave my first real tech talk at the &lt;a href=&quot;https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES08&quot;&gt;Microsoft Edge Web Summit&lt;/a&gt; on CSS Grid.&lt;/li&gt;
&lt;li&gt;Spent quite a bit of time with family this year, despite the long distance: one of my sisters got married in the fall.&lt;/li&gt;
&lt;li&gt;Traveled to a couple new-to-me-places: Mexico City for a wedding, and Paris for work. Really enjoyed the vibes of both cities, and still daydreaming about a couple meals…&lt;/li&gt;
&lt;li&gt;Attended the reboot of &lt;a href=&quot;https://accessibilitycampseattle.org/&quot;&gt;A11y Camp Seattle&lt;/a&gt;. Met great new people, learned new things, and all around had a really lovely time.&lt;/li&gt;
&lt;li&gt;Had the pleasure of meeting a couple internet buddies IRL on a trip to New York.&lt;/li&gt;
&lt;li&gt;Built a(n appropriately visually-conservative) pro bono site for &lt;a href=&quot;https://courthousedogs.org/&quot;&gt;Courthouse Dogs Foundation&lt;/a&gt;. They help set up programs where dogs comfort children and other vulnerable victims of crime while testifying in court or in a similiarly-stressful situation.&lt;/li&gt;
&lt;li&gt;Got to do some freelance dev work on the side for a talented design shop here in Seattle. I love the chance to switch things up and work on a client site again.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;bye%2C-bye-birdy&quot;&gt;Bye, bye birdy&lt;/h2&gt;
&lt;p&gt;A few weeks ago I quit using Twitter cold-turkey and started hanging out a bit on &lt;a href=&quot;https://toot.cafe/@somelaniesaid&quot;&gt;Mastodon&lt;/a&gt;. Leaving Twitter was something I’d kind of been mulling over for a bit, despite having made many friends on the platform and getting quite a lot out of it in the past. One more stupid T— scandal made me throw up my hands and say, “yup, I’m out.” It was a combination of reasons for me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Not agreeing with how they were handling abuse of their platform. Given their track record and corporate imperative to satisfy shareholders, I didn’t have confidence in that changing anytime soon. In a way, I felt that my continued use was akin to tacit acceptance.&lt;/li&gt;
&lt;li&gt;The firehose of despair was not the best for my mental health. It’s good to be aware of and involved in the world, but do you need everyone’s take round the clock? Do you need to express a take on everything? Or just roll up your sleeves and get to work?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have to tell you, it feels really really good not being on Twitter anymore. I’m sure there are really good folks working for them and doing the best they can, and there are of course tons of good folks who are still on there and who I’ll need to find other ways to chat with, but it’s just not for me anymore.&lt;/p&gt;
&lt;p&gt;Mastodon is pretty similar in structure to Twitter, but from the beginning has prioritized safety structures and finer-grained control over your experience. All social media has issues, but thus far it feels like a gentler place to be. Such a simple thing that I really love is the “content warning” feature, where you can type in a warning label, and the main body of your message is hidden behind a toggle. This is really nice because it means I’m not sobbing right before bed at some speculative nightmare that popped up in my feed when I wasn’t prepared for it (yes, this happened). If you’d like to learn more about Mastodon, &lt;a href=&quot;https://medium.com/@GinnyMcQueen/toot-how-to-intro-to-mastodon-e5655bfa87d2&quot;&gt;check out this guide&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;
&lt;p&gt;I read 57 books this year, out of my goal of 52. Among my favorites were, in alphabetical order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/29496076-killers-of-the-flower-moon&quot;&gt;&lt;em&gt;Killers of the Flower Moon&lt;/em&gt; by David Grann&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/22318578-the-life-changing-magic-of-tidying-up&quot;&gt;&lt;em&gt;The Life-Changing Magic of Tidying Up&lt;/em&gt; by Mari Kondo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/28815371-the-mothers&quot;&gt;&lt;em&gt;The Mothers&lt;/em&gt; by Brit Bennett&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/32478499-our-cats-are-more-famous-than-us&quot;&gt;&lt;em&gt;Our Cats Are More Famous Than Us&lt;/em&gt; by Ananth Hirsh and Yuko Ota&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/25566675-piecing-me-together&quot;&gt;&lt;em&gt;Piecing Me Together&lt;/em&gt; by Renée Watson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/18223762-ranma-1-2-2-in-1-edition-vol-1&quot;&gt;&lt;em&gt;Ranma 1/2&lt;/em&gt; by Rumiko Takahashi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/30780283-white-tears&quot;&gt;&lt;em&gt;White Tears&lt;/em&gt; by Hari Kunzru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/25251757-you-will-know-me&quot;&gt;&lt;em&gt;You Will Know Me&lt;/em&gt; by Megan Abbott&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(&lt;a href=&quot;https://www.goodreads.com/user_challenges/6877688&quot;&gt;Full list of 2017 books&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;My raw reading goal for next year is also 52 books. Of these, I’m aiming to read 35 books that I owned at the &lt;em&gt;beginning&lt;/em&gt; of the year. I have an embarrassingly large backlog of books I own but haven’t yet read…time to make a dent in that backlog.&lt;/p&gt;
&lt;h2 id=&quot;2017-themes&quot;&gt;2017 Themes&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Do the most good.&lt;/strong&gt; Definitely stepped up my game when it comes to contributing time, money, expertise, and other resources to the common good. Of course, “the most good” always means there is more to do. One thing I’m working on right now is being better at participating on the local level. A lot of the local actions tend to be along the lines of, “omg attend this meeting tomorrow at 2pm on a workday over an hour away from the office!!” So it can be challenging, but there are activities where it is possible to plan ahead.&lt;/p&gt;
&lt;p&gt;I hope to &lt;em&gt;keep&lt;/em&gt; this level of contribution in times of greater “peace”, not just when it feels like the whole world is particularly on fire (acknowledging here the privilege that allowed me to not feel that way my entire life).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Connection.&lt;/strong&gt; I said that I wanted to “deepen my connection to people, planet, and time”. I suppose I would characterize the outcome here as a lot of stopping and starting. There was a blog I was setting up and decided felt weird. I’d do something to pursue connection and then get distracted. This focus would benefit from supporting routines, as well as journaling to check in every week or so. For theme #1, I was doing a monthly “what did I do for the world?” and something similar would probably work well here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Focus.&lt;/strong&gt; I think this will always be a struggle. I’ve been better about not working on 600 personal projects at once, but there’s still a lot of room for improvement in other areas where multiplicity doesn’t necessarily serve me or others well.&lt;/p&gt;
&lt;p&gt;2018 themes forthcoming in another post!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Murmurations and living lights: Learning Log, Dec 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1712/"/>
      <updated>2017-12-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1712/</id>
      <content type="html">&lt;p&gt;As I compile this month’s learning log, I’ve got the new(ish) Fleet Foxes album going on vinyl, while the trees rustle in the wind outside. It’s both a bit twee and a lovely synchronicity.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blanket-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blanket-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-blanket-s.jpg&quot; alt=&quot;A striped knitted blanket&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;More details of the blanket &lt;a href=&quot;https://www.instagram.com/p/BdK8gtpn-Pm/&quot;&gt;on Instagram&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I finally finished the &lt;a href=&quot;https://www.purlsoho.com/create/2015/09/04/rectangular-colorblock-bias-blanket/&quot;&gt;blanket I was knitting&lt;/a&gt; as a wedding present to my sister and her new husband! The tassels were a fun little finishing touch, I want to make 100 tassels now…this was my second knitting project (#2.5 if you count a partially-finished scarf), I think I’ll go for a smaller project next time around. 😅&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reading &lt;a href=&quot;https://www.amazon.com/Art-Fear-Observations-Rewards-Artmaking/dp/0961454733&quot;&gt;&amp;quot;Art and Fear&amp;quot;&lt;/a&gt; and thinking about art-making got me in the mood to observe process. ALL episodes of Art:21 are happily &lt;a href=&quot;https://art21.org/watch/&quot;&gt;available free to watch online&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I find it fascinating that &lt;a href=&quot;https://linkinprofile.com/&quot;&gt;Link in Profile&lt;/a&gt; is a business that exists simply because of one decision on a massive social media site, i.e. no linked URLs in Instagram posts.&lt;/li&gt;
&lt;li&gt;Discovering that even a half hour’s difference in sleep time has a huge effect on how well I’ll wake up and deal with the nonsense of the day.&lt;/li&gt;
&lt;li&gt;The Xmas decorations from the original Home Alone movie were gifted to the Chicago O’Hare airport, and are hung in the airport each year. (I learned this while half-asleep waiting for my flight to board)&lt;/li&gt;
&lt;li&gt;In Danish, candles are called &lt;em&gt;levende lys&lt;/em&gt;, or “living lights” (&lt;a href=&quot;https://www.amazon.com/dp/B01GONJFZ2&quot;&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;This month in extremely specific internet searches: &lt;a href=&quot;https://www.bing.com/search?q=when+does+the+jasmine+bloom+in+new+orleans&amp;amp;qs=n&amp;amp;form=QBRE&amp;amp;sp=-1&amp;amp;pq=when+does+the+jasmine+bloom+in+new+orleans&amp;amp;sc=0-42&amp;amp;sk=&amp;amp;cvid=56CCA86FA9114A7DA85DEAC174E841AD&quot;&gt;“when does the jasmine bloom in New Orleans”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=V4f_1_r80RY&quot;&gt;Starlings flying in a murmuration&lt;/a&gt;. As people mentioned in the comments, it sounds like the sea.&lt;/li&gt;
&lt;li&gt;Pixel art by Tumblr accounts &lt;a href=&quot;https://1041uuu.tumblr.com/&quot;&gt;1041uuu&lt;/a&gt; and &lt;a href=&quot;https://merrigo.tumblr.com/&quot;&gt;merrigo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.presentandcorrect.com/calciyummy&quot;&gt;Calciyummy&lt;/a&gt;, a collection of Japanese milk boxes&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.facebook.com/curbedny/videos/10155910955649598/?hc_ref=ARSLwGSa_ErsChUzxcu4lfYP41N5Fng9mHOtxbSxxwpkUi2OyQKSKico390OCtVOeV4&quot;&gt;This video about Weeksville, Brooklyn&lt;/a&gt;, a fascinating piece of new-to-me history&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;worthy-reads&quot;&gt;Worthy reads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rosieleizrowice.com/blog/problemwithroutines&quot;&gt;Monotony Collapses Time; Novelty Unfolds It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@maybekatz/on-the-design-of-womens-spaces-72bf8f396dc0&quot;&gt;On the Design of Women’s Spaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lithub.com/the-food-writer-who-lost-her-sense-of-smell/&quot;&gt;The Food Writer Who Lost Her Sense of Smell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/facebook-design/designing-against-misinformation-e5846b3aa1e2&quot;&gt;Designing Against Misinformation&lt;/a&gt;. A bit late to take back the implications of Facebook on U.S. politics in the recent past, but glad to see they’re at least trying to solve these tough problems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://subfictional.com/my-theory-patreon-doesnt-want-to-be-a-money-services-business/&quot;&gt;My theory: Patreon doesn’t want to be a money services business&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;“Your short-term actions must align with your long-term values.” TRUTH. (&lt;a href=&quot;https://nosidebar.com/live-fearlessly/&quot;&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;More truth: “Everyone is too busy worrying about their own shortcomings to penalize you for yours.” (&lt;a href=&quot;https://blog.safia.rocks/post/169078729720/things-i-learned-in-2017&quot;&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As a heavy year closes out, this passage from &lt;a href=&quot;https://onewillowapothecaries.com/a-hymn-for-optimism/&quot;&gt;A Hymn for Optimism&lt;/a&gt; is really resonating with me:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I believe in peace on earth—even if it was never supposed to arrive all at once, but meant to cycle like a constellation, sometimes hidden, sometimes obscured, and sometimes appearing over the horizon just as you thought to look up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here’s to learning many more new things in 2018!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Petrichor and migraine auras: Learning Log, Nov 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1711/"/>
      <updated>2017-12-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1711/</id>
      <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/34128219-la-belle-sauvage&quot;&gt;La Belle Sauvage (The Book of Dust #1)&lt;/a&gt; mentioned &lt;a href=&quot;https://www.google.com/search?tbm=isch&amp;amp;source=hp&amp;amp;biw=1440&amp;amp;bih=747&amp;amp;ei=pXX7WYg2j7CPA_HQrfAL&amp;amp;q=migraine+aura&amp;amp;oq=migraine+aura&amp;amp;gs_l=img.3..0l10.415.415.0.748.2.2.0.0.0.0.57.57.1.1.0....0...1.1.64.img..1.1.56.0...0.Q8htyYTRvko&quot;&gt;migraine auras&lt;/a&gt; and I thought for sure they existed only in the book, but no, apparently some people experience them. Also, &lt;a href=&quot;https://en.wikipedia.org/wiki/Espalier&quot;&gt;espaliers&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;git rebase&lt;/code&gt; still feels like “cut the blue wire! Not the red wire!”, but the more I have to use it, the more I can see myself making it a part of my workflow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.m.wikipedia.org/wiki/Petrichor&quot;&gt;Petrichor&lt;/a&gt; is the term for that earthy post-rain smell.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/HappyHooker1157/status/926118634975629312&quot;&gt;This barnacled basketball&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://magpiekingdom.com/&quot;&gt;Magpie Kingdom&lt;/a&gt;, an email newsletter covering Chinese current events in a accessible style&lt;/li&gt;
&lt;li&gt;The categories experience on the &lt;a href=&quot;https://here.awaytravel.com/&quot;&gt;“Here” blog by Away Travel&lt;/a&gt;, where hovering on a category points all the arrows on the page towards your cursor. Click on the pin icon in the upper-left to activate that view, as there’s no permalink to it. I also like how the titles are different typefaces, depending on the category the post is in.&lt;/li&gt;
&lt;li&gt;Podcast I’ve been enjoying: &lt;a href=&quot;https://thirstaidkitpodcast.tumblr.com/&quot;&gt;Thirst Aid Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://demos.littleworkshop.fr/infinitown&quot;&gt;Infinitown&lt;/a&gt;, a cute little/infinite WebGL experiment&lt;/li&gt;
&lt;li&gt;The accordion hover effect on my friend Anna’s &lt;a href=&quot;https://www.annaniess.biz/&quot;&gt;site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;worthy-reads&quot;&gt;Worthy reads&lt;/h2&gt;
&lt;p&gt;Mulling over this revelation from &lt;a href=&quot;https://here.awaytravel.com/articles/have-paint-brush-will-travel-artist-allison-kunath-on-trading-art-for-rent&quot;&gt;Have Paint Brush, Will Travel: Artist Allison Kunath On Trading Art for Rent &lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I did a cool performance a couple years ago where I painted blindfolded and I was talking to a performance artist after the event and mentioned it was the first time I’ve like done anything experimental like this and he was dumbfounded. He was like “What do you mean? Everything I do is an experiment!” And that just struck me. It’s such the polar opposite of the way I was approaching my work.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.newyorker.com/magazine/2017/11/06/is-bigfoot-likelier-than-the-loch-ness-monster/&quot;&gt;Fantastic Beasts and How to Rank Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/ideas/ethics-at-scale&quot;&gt;Ethics at scale&lt;/a&gt;, via &lt;a href=&quot;https://twitter.com/hj_chen&quot;&gt;HJ Chen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Vectors and mittens: Learning Log, Oct 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1710/"/>
      <updated>2017-11-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1710/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-macey-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-macey-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-macey-s.jpg&quot; alt=&quot;An illustration of my friend&#39;s dog&#39;s face, surrounded by you&#39;re a good girl, Miss Macey&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Some encouragement for my friend’s pit bull ^_^&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I did a couple days of #vectober, and then abandoned it. This is the third time this year I’ve abandoned a do-one-particular-thing-every-day project. I’m learning they’re just not the type of projects that I respond well to. If I’m trying to get better at something, that means I probably need more time to complete said thing, which means I’m not going to be happy with what I can make in an hour or two (not that I even have that much time daily).&lt;/li&gt;
&lt;li&gt;Took a class on &lt;a href=&quot;https://nordicmuseum.org/knitting/138685&quot;&gt;Sámi knitting techniques&lt;/a&gt; at the Nordic Museum and learned about some of the distinguishing elements of their mittens. We learned how to make a special twisted purl stitch, how to add a thumb and the top shape of the mitten, and how to make the little tassel that&#39;s attached to non-fishing mittens. The Sámi are a group indigenous to Scandinavia that I know almost nothing about, so I really appreciated hearing from classmates with Sámi heritage and getting a long list of resources from &lt;a href=&quot;https://www.ravelry.com/designers/laura-ricketts&quot;&gt;the instructor&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;good-design-and-dev-articles&quot;&gt;Good design-and-dev articles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/ueno/dear-ueno-how-do-i-learn-illustration-34b179a71385&quot;&gt;Dear Ueno: How do I learn illustration?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/the-art-of-comments/&quot;&gt;The Art of Comments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/the-guardian-mobile-innovation-lab/introducing-a-new-format-for-evolving-stories-281d2724b416&quot;&gt;Introducing a New Format for Evolving Stories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qz.com/522079/the-long-incredibly-tortuous-and-fascinating-process-of-creating-a-chinese-font/&quot;&gt;The long, incredibly tortuous, and fascinating process of creating a Chinese font&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/dianara-kasko-algorithmic-cakes-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/dianara-kasko-algorithmic-cakes-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/dianara-kasko-algorithmic-cakes-s.jpg&quot; alt=&quot;A cake made out of frosted abstract pieces&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;This algorithmic cake inspired by &lt;a href=&quot;https://www.mattshlian.com/&quot;&gt;Matthew Shlian’s art&lt;/a&gt; is one of Dianara Kasko’s many fascinating forays into creative baking.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dinara Kasko’s &lt;a href=&quot;https://www.dinarakasko.com/algorithmic-modeling-cakes/&quot;&gt;algorithmic cakes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dropbox.design/&quot;&gt;Evolving the Dropbox brand&lt;/a&gt;: divisive, but I’m glad to see a tech startup do something that&#39;s not blue and Open Sans.&lt;/li&gt;
&lt;li&gt;Jennifer Brook’s &lt;a href=&quot;http://jenniferbrook.com/work/what-color-is-the-earth&quot;&gt;What Color is the Earth?&lt;/a&gt; project&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/p/BZ31xRPATdZ/&quot;&gt;This animated Grecian vase&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;worthy-reads&quot;&gt;Worthy reads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.seriouseats.com/2015/03/spice-cabinet-spring-cleaning.html&quot;&gt;How to Clean Out Your Spice Cabinet and Organize it—for Good&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rosieleizrowice.com/blog/journal-for-anxiety&quot;&gt;3 Morning Journaling Techniques I Use To Tackle Anxiety&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@the_jennitaur/how-to-do-nothing-57e100f59bbb&quot;&gt;“How to Do Nothing”&lt;/a&gt; is a long read, but it is absolutely worth your time. I’ve read plenty of mindfulness-adjacent articles, but &lt;a href=&quot;https://www.jennyodell.com/&quot;&gt;Jenny Odell&lt;/a&gt; approached this subject in a fresh and illuminating way. This snippet about a rose garden threatened by commercial development really got my wheels turning:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;...those [public] spaces which are not seen as commercially productive are always under threat, since what they “produce” can’t be measured or exploited or even easily identified — despite the fact that anyone in the neighborhood can tell you what an immense value the garden provides.&lt;/p&gt;
  &lt;p&gt;Currently, I see a similar battle playing out for our time, a colonization of the self by capitalist ideas of productivity and efficiency. One might say the parks and libraries of the self are always about to be turned into condos.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And this quote by writer John Steinbeck is lovely:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When you collect marine animals there are certain flat worms so delicate that they are almost impossible to capture whole, for they break and tatter under the touch. You must let them ooze and crawl of their own will onto a knife blade and then lift them gently into your bottle of sea water. And perhaps that might be the way to write this book — to open the page and let the stories crawl in by themselves.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>CSS Grid talk at Microsoft Edge Web Summit</title>
      <link href="https://melanie-richards.com/blog/css-grid-summit/"/>
      <updated>2017-10-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/css-grid-summit/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-summit-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-summit-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-summit-s.jpg&quot; alt=&quot;Me smiling on stage at the Microsoft Edge summit&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;A couple weeks ago I gave &lt;a href=&quot;https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES08&quot;&gt;my first recorded talk&lt;/a&gt; at the &lt;a href=&quot;https://summit.microsoftedge.com/&quot;&gt;Microsoft Edge Web Summit&lt;/a&gt;! I spoke about CSS Grid, which our team is bringing to public builds in October 2017. The talk is introductory-level, basically going through how we got to Grid, how the bulk of the properties and property values work, and how you might consider integrating it into your workflow. &lt;a href=&quot;https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES08&quot;&gt;You can watch it here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My coworker Greg Whitworth touches more on the history of Grid &lt;a href=&quot;https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES11&quot;&gt;in his talk&lt;/a&gt; where he explains how we figure out what to build on the browser platform team, so that’ll be a great companion talk to watch!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log: Sep 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1709/"/>
      <updated>2017-10-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1709/</id>
      <content type="html">&lt;h2 id=&quot;things-i-learned&quot;&gt;Things I learned&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The projects I find most interesting are ones where their founders aren’t following the usual “shapes”, but have come up with their own way forward. By those shapes I mean familiar formats like a blog, a book, a shop, a conference, a freelance practice, etc. I’m fascinated by people who have found new ways to make money / pursue meaning / explore their interests and that inspires me to think a little more creatively about how to do the same.&lt;/li&gt;
&lt;li&gt;Typefaces with cut-off corners are said to be “chamfered” (via &lt;a href=&quot;https://fontreviewjournal.com/timmons-ny/&quot;&gt;Font Review Journal&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;journal-fodder&quot;&gt;Journal fodder&lt;/h2&gt;
&lt;p&gt;Inspired by this quote in &lt;a href=&quot;https://dianaberlin.com/&quot;&gt;Diana Kimball Berlin&#39;s&lt;/a&gt; email newsletter from Sarah J. Bray’s book, &lt;a href=&quot;https://gumroad.com/l/sarahjbray&quot;&gt;Gather the People&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“What is the most true for me right now?” Every day, once a day, I sit down with my pen and notebook and answer this question. The answer will eventually become either an email to my community, or a blog post, or it could be fodder for a tweet or a Facebook post. But first and foremost, it is an attempt to reflect on my work, to document it, and to make it better.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There are some follow-up questions to that as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What is the truest thing I learned today?&lt;/li&gt;
&lt;li&gt;What moved me today?&lt;/li&gt;
&lt;li&gt;What progress did I make today?&lt;/li&gt;
&lt;li&gt;What problem am I trying to solve right now?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;nice-bits-of-internet&quot;&gt;Nice bits of internet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The beautiful and thoughtful &lt;a href=&quot;https://fontreviewjournal.com/&quot;&gt;Font Review Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Katie Suskin’s &lt;a href=&quot;https://ktsuskin.com/&quot;&gt;stop-motion portfolio site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A huge collection of work by the &lt;a href=&quot;https://www.hillaryforamericadesign.com/&quot;&gt;Hillary for America design team&lt;/a&gt;. Just thinking about how much work this is and how much of a crunch period a political campaign necessitates kind of boggles the mind a little bit.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;interesting-reads&quot;&gt;Interesting reads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zachleat.com/web/fout-foit-history/&quot;&gt;A Historical Look at FOUT and FOIT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nytimes.com/2017/09/17/dining/cake-mix-alaska.html&quot;&gt;In Alaska’s Far-Flung Villages, Happiness Is a Cake Mix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://larahogan.me/blog/inclusion-math/&quot;&gt;Tracking compensation and promotion inequity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://qz.com/1039331/mlms-like-avon-and-lularoe-are-sending-people-into-debt-and-psychological-crisis/&quot;&gt;Multilevel-marketing companies like LuLaRoe are forcing people into debt and psychological crisis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.slate.com/blogs/browbeat/2015/07/06/from_the_big_bang_theory_to_roseanne_to_jane_the_virgin_why_do_tv_characters.html&quot;&gt;Why Do TV Characters All Own the Same Weird Old Blanket?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log: Aug 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1708/"/>
      <updated>2017-09-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1708/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanie-richards-august-pp-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanie-richards-august-pp-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanie-richards-august-pp-s.jpg&quot; alt=&quot;A collage and vector line art illustration&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;My contribution for &lt;a href=&quot;https://www.are.na/peaches/august-palette-party&quot;&gt;August’s Palette Party&lt;/a&gt;, a little project where some internet friends and I make a something based on a particular color palette. I started messing around with collage for this one and it just ended up in this creepy science-fictiony place.&lt;/p&gt;
&lt;p&gt;Subject-matter notes I updated this month: &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10783711&quot;&gt;accessibility&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/11413611&quot;&gt;animation/motion&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;week-of-july-30&quot;&gt;Week of July 30&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I meet with the rest of the &lt;a href=&quot;https://twitter.com/csswg&quot;&gt;CSSWG&lt;/a&gt; for a face-to-face meeting in Paris. The group wraps up open issues on existing specs, discusses process, and presents a few new proposals, like &lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/1594&quot;&gt;additive CSS&lt;/a&gt;, a new approach to &lt;a href=&quot;https://tabatkins.github.io/specs/css-shadow-parts/&quot;&gt;styling Shadow DOM components&lt;/a&gt;, and &lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/1693&quot;&gt;UA properties/variables&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;My first PR for &lt;a href=&quot;https://github.com/w3c/web-platform-tests&quot;&gt;web-platform-tests&lt;/a&gt; is merged in!&lt;/li&gt;
&lt;li&gt;Nice bits of internet: &lt;a href=&quot;https://twitter.com/nailpolishbot&quot;&gt;Nail polish bot&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/tinycarebot&quot;&gt;tiny care bot&lt;/a&gt;, &lt;a href=&quot;https://www.bonappetit.com/healthyish&quot;&gt;Bon Appetit Healthyish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good reads: &lt;a href=&quot;https://www.webdesignerdepot.com/2017/05/4-ways-use-functional-animation-in-ui-design/&quot;&gt;4 ways to use functional animation in UI design&lt;/a&gt;, &lt;a href=&quot;https://fulcrum.lever.co/monitoring-jank-how-we-found-the-slowest-parts-of-our-ui-b6ffd7386896&quot;&gt;Monitoring Jank: How we found the slowest parts of our UI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-august-14&quot;&gt;Week of August 14&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It&#39;s hard not to start off many of these logs with “this week feels so heavy”…Relevant read: &lt;a href=&quot;https://theestablishment.co/so-you-want-to-fight-white-supremacy-2b5735f22f9&quot;&gt;So You Want To Fight White Supremacy&lt;/a&gt;. The work will never be done. But whatever we can do to relieve iniquity is worth doing.&lt;/li&gt;
&lt;li&gt;I finish reading &lt;a href=&quot;https://abookapart.com/products/demystifying-public-speaking&quot;&gt;Demystifying Public Speaking&lt;/a&gt; by Lara Hogan. One thought that particularly struck a chord during the section on soliciting feedback from trusted sources: “When you get constructive criticism, recognize that that person thinks it’s important enough to share despite the discomfort in delivering it.” I know this to be true when giving feedback, so it’s important to remember while receiving it.&lt;/li&gt;
&lt;li&gt;Good read: &lt;a href=&quot;https://bradfrost.com/blog/post/things-you-could-be-doing-instead-of-designing-building-that-card-component-for-the-umpteenth-time/&quot;&gt;Things you could be doing instead of designing &amp;amp; building that card component for the umpteenth time&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-august-21&quot;&gt;Week of August 21&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Loving the concept and art style of &lt;a href=&quot;https://brooklyn-gamery.itch.io/breakup-squad&quot;&gt;Breakup Squad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nice bits of internet: &lt;a href=&quot;http://meowza.org/#drawllow&quot;&gt;Meowza’s #DrawllowFriday project&lt;/a&gt;, &lt;a href=&quot;https://funicular-freak.tumblr.com/&quot;&gt;funicular freak&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-august-28&quot;&gt;Week of August 28&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I’m so struck by this quote from an &lt;a href=&quot;http://girlsnightinclub.com/posts/interview-brit-bennett-the-mothers/&quot;&gt;interview with Brit Bennett&lt;/a&gt;: “Toni Morrison said that writers aren’t blocked, they’re just empty.”&lt;/li&gt;
&lt;li&gt;Nice bits of internet: &lt;a href=&quot;https://www.behance.net/gallery/47711707/The-Stealing-Project&quot;&gt;The Stealing Project&lt;/a&gt; (&lt;a href=&quot;https://zine.3dfordesigners.com/primitive/the-stealing-project&quot;&gt;via Primitive&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is the week of reminders for truths that are occasionally challenging to internalize:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The only thing you can’t improve upon is a blank page. Instead of continually deleting, restarting, rinse, repeat, just get something, anything down. It’ll save time in the long run, even if you end up scrapping most of it.&lt;/li&gt;
&lt;li&gt;This distinction &lt;a href=&quot;https://medium.com/the-year-of-the-looking-glass/taking-feedback-impersonally-7c0f3a8199d9&quot;&gt;Julie Zhuo mentions&lt;/a&gt; between a fixed and growth mindset. Buzzwords, but a worthy application:&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;I feel like I mention mindset pretty much every week, but I’ve found it to be completely transformative in my thinking. Really, go and read &lt;a href=&quot;https://www.amazon.com/Mindset-Psychology-Carol-S-Dweck/dp/0345472322&quot;&gt;Mindset by Carol Dweck&lt;/a&gt; if you haven’t already. A fixed mindset presumes that what you are capable of today is how capable you really are, which means every time you get critical feedback, you read it as a judgement on your person. &lt;em&gt;Hey, this thing you did isn’t great&lt;/em&gt; gets translated to &lt;em&gt;I’m&lt;/em&gt; not great. A growth mindset presumes that no matter where you are now, you can improve. If you believe that, then whenever someone tells you, &lt;em&gt;Hey, this thing you did isn’t great&lt;/em&gt;, you think, &lt;em&gt;Okay, that feedback was useful and it’ll help me do better next time&lt;/em&gt;. With a growth mindset, you start to crave feedback from as many people as possible, even critical feedback, because you realize it’s the fastest way for you to learn and improve.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/etsy-design/ready-when-you-are-3f6d3bfa1ee8&quot;&gt;(via Kate Matsumoto’s article)&lt;/a&gt;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log: Jul 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1707/"/>
      <updated>2017-07-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1707/</id>
      <content type="html">&lt;p&gt;Subject-matter notes I updated this month: &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/11024188&quot;&gt;designing for small screens&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;week-of-july-9&quot;&gt;Week of July 9&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;This is my first time using &lt;a href=&quot;https://www.w3.org/TR/css-grid-1/&quot;&gt;CSS Grid&lt;/a&gt; in a production site, and it’s magical! Edit: it&#39;s the &lt;a href=&quot;https://summit.microsoftedge.com/&quot;&gt;Microsoft Edge web summit site!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reading in &lt;a href=&quot;https://drafts.csswg.org/css2/ui.html&quot;&gt;CSS 2.2: User Interface&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;I remember the days when people would pick cursors for aesthetic reasons. I was a particular fan of &lt;code&gt;crosshair&lt;/code&gt;…now that I’m not 13 and I know better, yikes…&lt;/li&gt;
&lt;li&gt;&lt;code&gt;The outline created with the outline properties is drawn &amp;quot;over&amp;quot; a box, i.e., the outline is always on top, and does not influence the position or size of the box, or of any other boxes. Therefore, displaying or suppressing outlines does not cause reflow or overflow.&lt;/code&gt; I’ve started using outlines in cases where one state has a border and another does not—in order to prevent layout wobbles—but I hadn’t thought of it in the context of perf. Interesting.&lt;/li&gt;
&lt;li&gt;I guess I didn’t know about the &lt;code&gt;invert&lt;/code&gt; color keyword? Which would ensure that an outline color (or other property accepting this value) would get an inverted color from the pixels it lies on top of. So, one could cascade that across the whole site design instead of having to manage focus ring colors on top of light and dark backgrounds. Need to see what support is like for this because the very next spec paragraph allows UAs (user agents) to not support &lt;code&gt;invert&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I’m now done with reading through &lt;a href=&quot;https://drafts.csswg.org/css2/&quot;&gt;CSS 2.2&lt;/a&gt;! Skipped over reading the appendices because eh. If I need ’em I’ll read ’em. Now figuring out which specs to read next, based on interest level and timeliness.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-july-16&quot;&gt;Week of July 16&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Working on my first PWA (Progressive Web App)! It’s probably the simplest incarnation possible, because it’s a static HTML page that I’ve enabled a service worker on so it can be loaded offline. Just because it&#39;s the &amp;quot;simplest&amp;quot; use case doesn’t make it &amp;quot;simple&amp;quot;; can’t thank my coworker Patrick Kettner enough for walking me through some concepts. Some resources that were also helpful: &lt;a href=&quot;https://developers.google.com/web/fundamentals/getting-started/primers/service-workers&quot;&gt;Service Workers: an Introduction&lt;/a&gt;, &lt;a href=&quot;https://serviceworke.rs/&quot;&gt;Service Worker Cookbook&lt;/a&gt;, &lt;a href=&quot;https://webmanife.st/&quot;&gt;Manifestation&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/TR/appmanifest/#manifest-and-its-members&quot;&gt;Web App Manifest spec&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;CSS spec readings: &lt;a href=&quot;https://drafts.csswg.org/css-sizing/&quot;&gt;Sizing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-july-23&quot;&gt;Week of July 23&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Reading various CSS specifications and Github issues to prepare for the CSSWG face-to-face meeting next week!&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log: Jun 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1706/"/>
      <updated>2017-06-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1706/</id>
      <content type="html">&lt;p&gt;Subject-matter notes I updated this month: &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10697984&quot;&gt;logo design&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10698235&quot;&gt;Illustrator&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10783711&quot;&gt;accessibility&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;week-of-may-28-(second-half)&quot;&gt;Week of May 28 (second half)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Recently I was reading &lt;a href=&quot;https://www.goodreads.com/book/show/15843166-you-are-a-badass&quot;&gt;You Are a Badass&lt;/a&gt;, but decided I wasn&#39;t really in a self help-y mood (partially the state of affairs makes it harder to care about that sort of thing) and abandoned it. I remember one point the author made though, this week: that the stories we tell ourselves have an impact on how our lives actually pan out. I&#39;m realizing I&#39;ve told myself &amp;quot;I&#39;m not very good at logos&amp;quot;, and while that might have and might still be true, things might have played out a little differently if I had really dug into identity design. Never too late to try!&lt;/li&gt;
&lt;li&gt;In this vein, I watch another (see May write-up) video about logo design, this time about &lt;a href=&quot;https://skl.sh/2stNUC5&quot;&gt;the use of grids to structure logos&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In CSS specs, I finish reading about &lt;a href=&quot;https://drafts.csswg.org/css2/page.html&quot;&gt;paged media&lt;/a&gt; and start &lt;a href=&quot;https://drafts.csswg.org/css2/colors.html&quot;&gt;colors and backgrounds&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Picking back up on the Yeoman &lt;a href=&quot;https://github.com/melanierichards/generator-party-parrot&quot;&gt;generator&lt;/a&gt; I&#39;m building to scaffold web projects. I read the &lt;a href=&quot;https://yeoman.io/authoring/index.html&quot;&gt;create-your-own-generator docs&lt;/a&gt;, write a couple command line prompts for the generator, and add some basic project files. The built files are the same for each project &amp;quot;type&amp;quot;, so next I&#39;ll work on differentiating Jekyll, Wordpress, and HTML/other projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-june-4&quot;&gt;Week of June 4&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I decide that the adjustments I&#39;m making to my website don&#39;t feel genuine to me, so I smoosh together some of the old stuff and some of the new stuff and call it a day. And then ask a friend to yell at me if I try to make changes other than bug fixes and a11y improvements before the end of summer.&lt;/li&gt;
&lt;li&gt;CSS spec readings: &lt;a href=&quot;https://drafts.csswg.org/css2/colors.html&quot;&gt;colors and backgrounds&lt;/a&gt;, &lt;a href=&quot;https://drafts.csswg.org/css2/fonts.html&quot;&gt;fonts&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Apparently &lt;code&gt;cursive&lt;/code&gt; and &lt;code&gt;fantasy&lt;/code&gt; are appropriate values for the generic family names at the end of a font stack! &lt;code&gt;cursive&lt;/code&gt; sounds like it would end up with a pretty ok default font from the user agent (browser, etc), but not so sure how &lt;code&gt;fantasy&lt;/code&gt; would play out because that could be so many different decorative font families. Note to self: find out what the different UAs use for these fallbacks!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I bounce out of the CSS 2.2 specs to read about &lt;a href=&quot;https://www.w3.org/TR/css-flexbox-1/&quot;&gt;flexbox&lt;/a&gt; for some test-reviewing tasks.&lt;/li&gt;
&lt;li&gt;Learning about &lt;a href=&quot;https://www.udemy.com/learn-to-create-pixel-art-for-your-game/learn/v4/content&quot;&gt;pixel art&lt;/a&gt;. I&#39;m introduced to &lt;a href=&quot;https://www.piskelapp.com/&quot;&gt;this neat free pixel art editor&lt;/a&gt;, which has some nice tools for pixel art that Adobe software doesn&#39;t have.&lt;/li&gt;
&lt;li&gt;Neat stuff about &lt;a href=&quot;https://www.facebook.com/Vox/videos/703968476457424/&quot;&gt;photo colorization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-june-11&quot;&gt;Week of June 11&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CSS spec readings: &lt;a href=&quot;https://drafts.csswg.org/css2/fonts.html&quot;&gt;fonts&lt;/a&gt;, &lt;a href=&quot;https://drafts.csswg.org/css2/text.html&quot;&gt;text&lt;/a&gt;, &lt;a href=&quot;https://drafts.csswg.org/css2/tables.html&quot;&gt;tables&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;You can access system fonts for various use cases from the &lt;code&gt;font&lt;/code&gt; property; &lt;a href=&quot;https://drafts.csswg.org/css2/fonts.html#font-shorthand&quot;&gt;see details&lt;/a&gt;. That brings over not just font family, but also size, weight, etc. That kind of takes &amp;quot;use system fonts&amp;quot; to its logical extreme.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Making improvements for &lt;a href=&quot;https://dev.to/_bigblind/how-to-make-your-website-accessible-to-people-who-use-a-screen-magnifier&quot;&gt;users of screen magnifiers&lt;/a&gt; seems like it would help UX all-around.&lt;/li&gt;
&lt;li&gt;I spend an hour or two watching a &lt;a href=&quot;https://www.udemy.com/learn-to-create-pixel-art-for-your-game/learn/v4/overview&quot;&gt;video tutorial on pixel art&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good reads: &lt;a href=&quot;https://www.motherjones.com/politics/2016/09/black-teachers-public-schools-education-system-philadelphia/&quot;&gt;Black teachers matter&lt;/a&gt;, &lt;a href=&quot;http://sophieshepherd.com/2017/06/14/learning-to-be-chill.html&quot;&gt;The Road to Burnout is Paved With Context Switching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;weeks-of-june-18%2C-25&quot;&gt;Weeks of June 18, 25&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;These past couple weeks have been a bit all over the place, with sad thing and busy things (picked up some moonlighting work). I&#39;m hoping to reboot my morning &amp;quot;creative habit&amp;quot; in July because it has pretty much fallen by the wayside.&lt;/li&gt;
&lt;li&gt;CSS specs: &lt;a href=&quot;https://drafts.csswg.org/css2/tables.html&quot;&gt;tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Good reads: &lt;a href=&quot;https://www.nrdc.org/stories/forests-just-ones-mother-nature-used-make&quot;&gt;Forests, Just Like the Ones Mother Nature Used to Make&lt;/a&gt;, &lt;a href=&quot;https://axesslab.com/accessibility-according-to-pwd/&quot;&gt;Accessibility according to actual people with disabilities&lt;/a&gt;, &lt;a href=&quot;http://m.nautil.us/issue/46/balance/darwin-was-a-slacker-and-you-should-be-too&quot;&gt;creativity and rest&lt;/a&gt;, &lt;a href=&quot;https://medium.com/hard-work/the-80-20-rule-6a11c0bd6e43&quot;&gt;The 80/20 rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thanks to &lt;a href=&quot;https://qz.com/1007400/the-botanists-last-stand-the-daring-work-of-saving-the-last-samples-of-dying-species/&quot;&gt;The botanists’ last stand: The daring work of saving the last samples of dying species&lt;/a&gt; I, of course, now want to be a botanist.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Learning Log: May 2017</title>
      <link href="https://melanie-richards.com/blog/learning-log-1705/"/>
      <updated>2017-06-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/learning-log-1705/</id>
      <content type="html">&lt;p&gt;Subject-matter notes I updated this month: &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10687476&quot;&gt;generative art&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10697984&quot;&gt;logo design&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10699817&quot;&gt;identity design&lt;/a&gt;, &lt;a href=&quot;https://somelaniesaid.dropmark.com/426434/10698235&quot;&gt;Illustrator&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;week-of-apr-30&quot;&gt;Week of Apr 30&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I’m currently learning Blender for the 100 Day project (do one thing for 100 days). I had taken a quick Skillshare class and tried to jump in independently, but found the learning curve for Blender steep. Decided to go for a &lt;a href=&quot;https://www.udemy.com/blendertutorial/learn/v4/overview&quot;&gt;Udemy class&lt;/a&gt; during one of their super-sales, and I’m currently working through that.&lt;/li&gt;
&lt;li&gt;I keep trying to jump the gun and learn things that the Udemy course hasn’t covered yet, which leads me to run into the high learning curve of Blender and causes more frustration. I give up on what I was doing and decide to stick with the current “task”, which is to make an object out of basic shapes. I start in on a side table in my apartment, where my record player lives (yes I am a hopeless hipster).&lt;/li&gt;
&lt;li&gt;I decide that there’s somewhat of a mismatch between the idea of focusing on just one thing and how many different things I’d like to dabble in. I open up my 100 day project to creating a morning practice habit, just getting in some time for creative pursuits before work. I’ll probably spend quite a bit of it on 3D, though.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-may-7&quot;&gt;Week of May 7&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Continuing to work on rendering my side table. I’ve found out &lt;a href=&quot;https://blender.stackexchange.com/questions/63794/how-to-round-corners-of-plane/63815#63815&quot;&gt;how to round corners&lt;/a&gt; for the record player sitting on top of the table.&lt;/li&gt;
&lt;li&gt;I learn through &lt;a href=&quot;https://twitter.com/3dfordesigners/status/861980541935128576&quot;&gt;3D for designers&lt;/a&gt; that C4D Lite comes free with After Effects CC. I’ll have to look into that after my trip.&lt;/li&gt;
&lt;li&gt;Trip to Mexico City for a wedding and general merriment!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-may-14&quot;&gt;Week of May 14&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Back from my trip and back at my creative morning practice by midweek!&lt;/li&gt;
&lt;li&gt;I watch Kate Bingaman-Burt’s Skillshare class, &lt;a href=&quot;https://www.skillshare.com/classes/Drawing-Collections-Illustrating-Stories-through-Taxonomies/&quot;&gt;Drawing Collections: Illustrating Stories through Taxonomies&lt;/a&gt;. Kate mentions that if she uses a color once on a composition, she tries to use it again elsewhere so it feels more intentional and less random. Hadn’t really thought about it like that, and suppose it would work the opposite way, too.&lt;/li&gt;
&lt;li&gt;I’m working my way through the CSS 2.2 specification. This week I read &lt;a href=&quot;https://drafts.csswg.org/css2/visufx.html&quot;&gt;11 Visual effects&lt;/a&gt; and &lt;a href=&quot;https://drafts.csswg.org/css2/generate.html&quot;&gt;12 Generated content, automatic numbering, and lists&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;It occurs to me that I don’t really use the &lt;code&gt;clip&lt;/code&gt; property other than &lt;a href=&quot;https://webaim.org/techniques/css/invisiblecontent/&quot;&gt;accessibly, visually hiding something&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I was not aware that &lt;code&gt;open-quote&lt;/code&gt; and &lt;code&gt;close-quote&lt;/code&gt; are valid values for the &lt;code&gt;content&lt;/code&gt; property; I’d always used the curly quote-mark characters themselves. Using these values is &lt;a href=&quot;https://drafts.csswg.org/css2/generate.html#propdef-quotes&quot;&gt;better for internationalization&lt;/a&gt; than hard-coding characters in the &lt;code&gt;:before&lt;/code&gt; and &lt;code&gt;:after&lt;/code&gt; pseudo elements.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;spec-questions-to-investigate&quot;&gt;Spec questions to investigate&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;When would the value of &lt;code&gt;list-style-image&lt;/code&gt; not have an intrinsic height and width?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-may-21&quot;&gt;Week of May 21&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I decide as my &amp;quot;class project&amp;quot; for the Skillshare course I watched last week, I&#39;ll do a little gouache painting of some bugs and such that I&#39;ve Instagrammed. I just have a sketch composition thus far.&lt;/li&gt;
&lt;li&gt;Through &lt;a href=&quot;https://magenta.as/what-makes-a-great-book-cover-38001511325d&quot;&gt;this post on book covers&lt;/a&gt; I learn that &lt;a href=&quot;https://www.theguardian.com/books/2017/feb/17/dick-bruna-obituary&quot;&gt;Dick Bruna&lt;/a&gt; created the Miffy character, and that &lt;strong&gt;insouciant&lt;/strong&gt; means &amp;quot;free from concern, worry, or anxiety; carefree; nonchalant&amp;quot; (&lt;a href=&quot;https://www.dictionary.com/browse/insouciant&quot;&gt;dictionary.com&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;As I do pretty much every other month, I hate how my website looks and decide to make some adjustments. I&#39;d also like to do some generative art as part of this update.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/sections/goatsandsoda/2017/05/20/526573826/worms-land-a-great-job-working-with-gorgeous-indian-textiles&quot;&gt;Worms in the textile industry&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;week-of-may-28&quot;&gt;Week of May 28&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Via friends in the &lt;a href=&quot;http://morgane.com/pixel-lab&quot;&gt;Pixel Lab&lt;/a&gt; &lt;a href=&quot;http://learning-gardens.co/&quot;&gt;Learning Garden&lt;/a&gt;, I&#39;m reading &lt;a href=&quot;https://galaxykate0.tumblr.com/post/139774965871/so-you-want-to-build-a-generator&quot;&gt;this essay&lt;/a&gt; on generative art. I have a more solid idea of what I&#39;ll do for my site.&lt;/li&gt;
&lt;li&gt;Early this week in CSS specifications, I read CSS 2.2: &lt;a href=&quot;https://drafts.csswg.org/css2/page.html&quot;&gt;Section 13, Paged media&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To prep for a couple work projects, I watch a couple Skillshare videos on logo design. I have to say there&#39;s a lot about &lt;a href=&quot;https://skl.sh/2rURzfB&quot;&gt;Draplin&#39;s process&lt;/a&gt; that I&#39;m attracted to and decide to incorporate in the projects I&#39;m working on.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New side project: highlights minisite, and checking for interaction feature support</title>
      <link href="https://melanie-richards.com/blog/highlights-minisite/"/>
      <updated>2017-03-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/highlights-minisite/</id>
      <content type="html">&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/highlights-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/highlights-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/highlights-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/highlights-s.png&quot; alt=&quot;Screenshot of the highlights minisite&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;I read quite a bit, and wanted somewhere to keep highlights from books and articles. That “somewhere” is &lt;a href=&quot;http://highlights.melanie-richards.com/&quot;&gt;highlights.melanie-richards.com&lt;/a&gt;, a simple Jekyll site &lt;a href=&quot;https://github.com/melanierichards/highlights&quot;&gt;hosted on Github Pages&lt;/a&gt;. I’m not doing anything fancy to get the highlights into the project (for various reasons I won’t bore you with), just using some YAML data files.&lt;/p&gt;
&lt;p&gt;I did, however, come across a couple neat little use cases for interaction feature queries.&lt;/p&gt;
&lt;h2 id=&quot;handling-a-hover-dependent-interaction&quot;&gt;Handling a hover-dependent interaction&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/highlights-hover.gif&quot; alt=&quot;Screenshot of the fade effect&quot; /&gt;&lt;/p&gt;
&lt;p&gt;On the index of the highlights site, there’s an interaction where the base imagery of each book/collection cover is this rough cut-paper style digital illustration, and when you hover over the image it fades to a high-fidelity version of the cover. It’s a fun reveal, but not very useful when you don’t have hover capabilities on your current device. Enter &lt;a href=&quot;https://drafts.csswg.org/mediaqueries-4&quot;&gt;level 4 media queries&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Among the media query types introduced in this level of the specification is the ability to detect whether or not &lt;a href=&quot;https://drafts.csswg.org/mediaqueries-4/#hover&quot;&gt;the hover feature&lt;/a&gt; is available to the user. Two things to note here: 1) a mouse is not the only device input that can “hover” (some game console controllers have this capability, for example) and 2) this media query looks at the device’s “primary” inputs, so there’s some cases where hover is technically available, but this query would be falsey.&lt;/p&gt;
&lt;p&gt;On my site, I have the rough illustration in an SVG sitting in a link with the background image set to the high-fidelity cover. This SVG by default has an opacity of &lt;code&gt;0&lt;/code&gt;. If hover is available, the SVG has full opacity, and is animated to &lt;code&gt;0&lt;/code&gt; opacity on hover. The entire link has an opacity transition of &lt;code&gt;.75&lt;/code&gt; =&amp;gt; &lt;code&gt;1&lt;/code&gt;, so that even if the hover feature query is false or unsupported, there’s still visual feedback on the element. Here’s what that looks like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-CSS&quot;&gt;/* Using tag in the selector because .source__image is not a link on individual book pages and should not get these styles */

a.source__image {
  opacity: .75;
  transition: opacity 400ms;
}

a.source__image:hover {
  opacity: 1;
}

a.source__image svg {
  opacity: 0;
}

@media (hover) {
  a.source__image svg {
    opacity: 1;
    transition: opacity 400ms;
  }


  a.source__image:hover svg {
    opacity: 0;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can also check for the inverse, i.e. &lt;code&gt;@media (hover: none)&lt;/code&gt;, but I think this direction usually yields a better experience.&lt;/p&gt;
&lt;p&gt;At time of writing, interaction media queries are supported in Microsoft Edge, Chrome, Safari, Opera, and Android browser (&lt;a href=&quot;https://caniuse.com/#feat=css-media-interaction&quot;&gt;Can I Use link for posterity&lt;/a&gt;). I hope that Firefox supports them soon so that this feature can light up over there too!&lt;/p&gt;
&lt;h2 id=&quot;adding-a-non-intrusive-fade&quot;&gt;Adding a non-intrusive fade&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/highlights-fade.jpg&quot; alt=&quot;Screenshot of the fade effect&quot; /&gt;&lt;/p&gt;
&lt;p&gt;At the bottom of the highlights minisite, I have a fade effect. This is simply an &lt;code&gt;::after&lt;/code&gt; pseudo element with a gradient background applied, like so:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-CSS&quot;&gt;.page-wrap::after {
  display: block;
  content: &#39;&#39;;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10em;
  background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But wait! Any content that falls underneath this shadow will not be selectable or otherwise available for interaction. Here is where we use &lt;code&gt;pointer-events&lt;/code&gt;. What this property does is tells the browser when a particular element should be available for interaction; &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events&quot;&gt;read more on MDN&lt;/a&gt;. For this little fade here, we don’t want any user interaction, and we don’t want to block interactivity of elements falling beneath the fade pseudo element.&lt;/p&gt;
&lt;p&gt;So let’s remove all pointer events from the pseudo element:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;strong&gt;@supports(pointer-events: none) {&lt;/strong&gt;
  .page-wrap::after {
    display: block;
    content: &#39;&#39;;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10em;
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));
    &lt;strong&gt;pointer-events: none;&lt;/strong&gt;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In addition to the &lt;code&gt;pointer-events&lt;/code&gt; property, I’m also wrapping this entire declaration block within an &lt;code&gt;@supports&lt;/code&gt; rule, so that the fade pseudo element is only rendered on browsers that support both &lt;code&gt;@supports&lt;/code&gt; and &lt;code&gt;pointer-events&lt;/code&gt;. This way, more modern browsers have an enhanced design, and users in other browsers don’t get a broken experience. &lt;a href=&quot;https://caniuse.com/#feat=pointer-events&quot;&gt;pointer-events CSS&lt;/a&gt; has better support than &lt;a href=&quot;https://caniuse.com/#search=%40supports&quot;&gt;&lt;code&gt;@supports&lt;/code&gt;&lt;/a&gt;, but again, this is an enhancement.&lt;/p&gt;
&lt;p&gt;That’s about it for this post, but feel free to &lt;a href=&quot;https://github.com/melanierichards/highlights/&quot;&gt;poke around in the code&lt;/a&gt; or &lt;a href=&quot;http://highlights.melanie-richards.com/&quot;&gt;visit the minisite&lt;/a&gt;!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2016 in review</title>
      <link href="https://melanie-richards.com/blog/2016-review/"/>
      <updated>2016-12-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/2016-review/</id>
      <content type="html">&lt;p&gt;So. It feels a tad inappropriate to do a personal yearly review when the world feels a little messy and chaotic, but I’m a completionist and would like to have one of these reviews each year to look back on. So. Here we are, navel-gazing.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2016-review-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2016-review-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/2016-review-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/2016-review-s.jpg&quot; alt=&quot;Photo collage of Japan trip and Seattle-area explorations&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Photos from my Japan trip and explorations closer to home&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Had my &lt;a href=&quot;https://melanie-richards.com/blog/recap-of-talk-in-tulsa/&quot;&gt;first true speaking engagement&lt;/a&gt; in Tulsa, Oklahoma and talked about blogging as a part of career- and creativity-development.&lt;/li&gt;
&lt;li&gt;Went to Japan with friends and family! This was actually the first time I’ve been able to travel to a country where I needed to learn a new language to get around. I’d like to go back some day, so I’m doing some studying with Genki, Memrise, and looking into &lt;a href=&quot;https://www.wanikani.com/&quot;&gt;WaniKani&lt;/a&gt; for learning kanji.&lt;/li&gt;
&lt;li&gt;Accepted a PR into a public project I started, a first for me.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/p/BHSCsfGhweI/?taken-by=somelaniesaid&quot;&gt;Flew on a trapeze!&lt;/a&gt; Despite a life-long fear of heights.&lt;/li&gt;
&lt;li&gt;Made a collage-y illustration for my &lt;a href=&quot;https://blog.intercom.com/good-products-bad-businesses/&quot;&gt;friends at Intercom&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Spoke at the first PNW (Pacific Northwest) Web meetup &lt;a href=&quot;https://melanie-richards.com/blog/animating-gradients/&quot;&gt;about animating gradients&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Discovered &lt;a href=&quot;https://www.womenoncall.org/&quot;&gt;Women on Call&lt;/a&gt; through a coworker and am working on a site redesign with an awesome nonprofit!&lt;/li&gt;
&lt;li&gt;Read a LOT of books. &lt;a href=&quot;https://www.goodreads.com/user/year_in_books/2016/2236850&quot;&gt;Like, a lot&lt;/a&gt; (64). A few favorites: &lt;a href=&quot;https://www.goodreads.com/book/show/15811545-a-tale-for-the-time-being&quot;&gt;A Tale for the Time Being&lt;/a&gt;, &lt;a href=&quot;https://www.goodreads.com/book/show/23299512-this-savage-song&quot;&gt;This Savage Song&lt;/a&gt;, &lt;a href=&quot;https://www.goodreads.com/book/show/60931.Kindred&quot;&gt;Kindred&lt;/a&gt;, &lt;a href=&quot;https://www.goodreads.com/book/show/29340182-shrill&quot;&gt;Shrill&lt;/a&gt;, &lt;a href=&quot;https://www.goodreads.com/book/show/11486.The_Color_Purple&quot;&gt;The Color Purple&lt;/a&gt;, and &lt;a href=&quot;https://www.goodreads.com/book/show/25614525-while-the-city-slept&quot;&gt;While the City Slept&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Started &lt;a href=&quot;https://somelaniesaid.dropmark.com/347183&quot;&gt;logging articles I’ve read&lt;/a&gt;. Top 10 used tags: CSS, browsers / design / ux, a11y (accessibility), tutorial, dev / ethics / standards, race.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;on-goal-setting%3A-a-pluralistic-approach-seems-best&quot;&gt;On goal setting: a pluralistic approach seems best&lt;/h2&gt;
&lt;p&gt;I’ve experimented with several different means of setting and tracking goals this year, including a public repo that I have since taken down. The conclusion I’ve come to is this: different goals want different formats. Here’s some examples:&lt;/p&gt;
&lt;h3 id=&quot;some-goals-need-precise-totals&quot;&gt;Some goals need precise totals&lt;/h3&gt;
&lt;p&gt;I’m not super into exercising, mostly because I’d rather be doing 20 other things at the time. So I’ve found it most helpful to have a set number of times in a month that I need to exercise. The number has to be reasonable, but I can&#39;t slack very much week to week and still hit the total. Wiping the slate clean at the end of a week instead of the end of the month is too easy on me. :P&lt;/p&gt;
&lt;h3 id=&quot;others-do-better-as-habits&quot;&gt;Others do better as habits&lt;/h3&gt;
&lt;p&gt;I had a goal this year to hike a certain number of trails. I realized I was really just trying to take advantage of what my area has to offer, and perhaps going after a number of trails was actually too prohibitive. So I created a cadence for my weekends: one weekend is chill weekend, the next is adventure weekend. Repeat.&lt;/p&gt;
&lt;p&gt;Supposedly willpower is a finite resource we run out of, and so making something a habit (“I do x every Monday night at 8”) is more sustainable. I’m going to apply this in the new year to 1) fix my sleep schedule and 2) become a more consistently engaged and communicative citizen. &lt;a href=&quot;https://tinyletter.com/lookingtohelp&quot;&gt;This newsletter&lt;/a&gt; has been great for that, thus far.&lt;/p&gt;
&lt;h3 id=&quot;some-goals-are-just-suggestions&quot;&gt;Some goals are just suggestions&lt;/h3&gt;
&lt;p&gt;For the first half of the year, I was setting down a list of monthly goals, and tried to attack each of those goals. The result is you never get as much done as you want to, and end up feeling like you failed. So I now write my goals for the month on an index card, and divide them into 2 sections:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Priorities. These are things that really have to get done.&lt;/li&gt;
&lt;li&gt;&amp;quot;Maybe work on&amp;quot;. These are things that I’d like to get around to but not getting them done within the timeframe has no negative impact on my health or the promises I’ve made.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;themes-for-2017&quot;&gt;Themes for 2017&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Do the most good.&lt;/strong&gt; This one is ripped straight from my friend Krista’s &lt;a href=&quot;http://www.kristaengler.com/do-the-most-good&quot;&gt;stickers&lt;/a&gt;, one of which is affixed to my laptop. It’s a reminder to me to replace reactionary support with diligent citizenship. And for the moments when I get overwhelmed by all that is broken: “I cannot do all the good the world needs. But the world needs all the good I can do.” —Jana Stanfield&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Connection.&lt;/strong&gt; This theme is for my personal life. I want to deepen my connection to people, planet, and time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Focus.&lt;/strong&gt; I am a dabbler who will never be happy doing just one thing (hello, my &lt;a href=&quot;https://astrostyle.com/sagittarius-horoscope/&quot;&gt;Sagittarius friends&lt;/a&gt;). But I also want to finish things and pursue depth. I have a few ideas on how to practice focus in my creativity, but if anyone has any tips or resources, I would really really appreciate that.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What are your goals or themes for 2017?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Fun with animated gradients</title>
      <link href="https://melanie-richards.com/blog/animating-gradients/"/>
      <updated>2016-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/animating-gradients/</id>
      <content type="html">&lt;p class=&quot;popper-bg&quot; role=&quot;presentation&quot;&gt;
  &lt;span class=&quot;popper&quot;&gt;🎉&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post is an adaptation of a presentation I gave at the first &lt;a href=&quot;https://www.eventbrite.com/e/pnw-web-codepen-meetup-tickets-27661043927&quot;&gt;PNW Web Codepen Meetup&lt;/a&gt;. Disclaimer: I work on the Microsoft Edge browser platform team but represent my own opinions, yadda yadda.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I find it kind of funny that, now that we no longer need to 9-slice images to get a button with a gradient on it, CSS gradients are possibly somewhat underutilized. I am thankful we are no longer in an era of web design where everything needs to be mega glossed, but gradients are a little more versatile than you might think—especially when we add animation into the equation.&lt;/p&gt;
&lt;p&gt;Let&#39;s have fun with gradients!&lt;/p&gt;
&lt;h2 id=&quot;but-first%2C-let&#39;s-be-responsible-%3E%3A%5B&quot;&gt;But first, let&#39;s be responsible &amp;gt;:[&lt;/h2&gt;
&lt;p&gt;Some considerations to keep in mind when it comes to animating gradients:&lt;/p&gt;
&lt;h3 id=&quot;prefixing-tools&quot;&gt;Prefixing tools&lt;/h3&gt;
&lt;p&gt;Code generators can spit out some nasty stuff; Ana Tudor &lt;a href=&quot;https://codepen.io/thebabydino/full/pjxVWp&quot;&gt;explained some key problems&lt;/a&gt; with using gradient generators. If you choose to use pre- or post-processing tools, be sure to vet those for efficiency and accuracy—both prefixes and property values.&lt;/p&gt;
&lt;p&gt;Note: for simplicity&#39;s sake, my demos will be shown unprefixed.&lt;/p&gt;
&lt;h3 id=&quot;performance&quot;&gt;Performance&lt;/h3&gt;
&lt;p&gt;This is a complicated space because there are so many different factors that can differ page to page, but a good place to start is by consulting &lt;a href=&quot;https://csstriggers.com/&quot;&gt;CSS triggers&lt;/a&gt;. The site shows what CSS properties will cause the browser to do more rendering work on first load (the &amp;quot;change from default&amp;quot; column) and on subsequent changes to elements&#39; properties. &amp;quot;Layout&amp;quot; is when the browser calculates how elements are positioned and sized on the screen. &amp;quot;Paint&amp;quot; is when it draws pixels to the screen. Sometimes repaints are done in layers; &amp;quot;composite&amp;quot; refers to the step in the rendering process where the browser combines these layers.&lt;/p&gt;
&lt;p&gt;A CSS property can be said to be &amp;quot;expensive&amp;quot; when it triggers more of these rendering events, and so it might make sense to avoid applying it to a large number of elements or in quick succession. One thing to note, however, is that the information on CSS Triggers refers to changing CSS properties via JavaScript events. So some of these properties may be less expensive when modified via CSS animation @keyframes, as we will be doing in most of the following experiments. For example, Microsoft Edge tries to render these animated changes on the composite step wherever possible.&lt;/p&gt;
&lt;p&gt;This is all to say: test your code for performance, especially if you are making changes to properties that would change the dimensions or placement of an element within a page.&lt;/p&gt;
&lt;h3 id=&quot;accessibility&quot;&gt;Accessibility&lt;/h3&gt;
&lt;p&gt;Animation should be used to enhance an experience, not hinder it. The Web Content Accessibility Guidelines (WCAG) 2.0 document says that if an animation starts automatically, lasts more than 5 seconds, and is &amp;quot;presented in parallel&amp;quot; with other content, the user should be provided with the means to pause or stop that animation. Elements also should not flash more than 3 times per second; in Level AA compliance (legal compliance ranges between levels A–AAA), those flashes can be below &lt;a href=&quot;https://www.w3.org/TR/WCAG20/#general-thresholddef&quot;&gt;&amp;quot;general flash and red flash guidelines&amp;quot;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thsese guidelines can help improve experiences for those with seizures, cognitive disabilities, and motion sensitives, but can be beneficial to anyone trying to focus on a task or read some content. I&#39;ve paraphrased WCAG here, so I would suggest checking out &lt;a href=&quot;https://www.w3.org/TR/WCAG20/&quot;&gt;the official document&lt;/a&gt; in order to correctly follow compliance guidelines (see guidelines 2.2 and 2.3 in the link).&lt;/p&gt;
&lt;h2 id=&quot;related-properties&quot;&gt;Related properties&lt;/h2&gt;
&lt;p&gt;The experiments below make use of most of these properties related to background images, transitions, and animations:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;background-image
background-size
background-position

transition-property
transition-duration
transition-timing-function
transition-delay

animation-name 
animation-duration
animation-timing-function
animation-iteration-count
animation-direction
animation-play-state
animation-delay
animation-fill-mode
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There are shorthands for these properties (&lt;code&gt;background&lt;/code&gt;, &lt;code&gt;transition&lt;/code&gt;, &lt;code&gt;animation&lt;/code&gt;), but for clarity, I&#39;ll be using the non-shorthand versions.&lt;/p&gt;
&lt;p&gt;The experiments focus more on different effects you can achieve using these properties. For more in-depth information and available property values, you can refer to these CSS specifications: &lt;a href=&quot;https://www.w3.org/TR/css3-images/#gradients&quot;&gt;CSS images (gradients)&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/TR/css3-background/&quot;&gt;backgrounds and borders&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/TR/css3-transitions/&quot;&gt;transitions&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/TR/css3-animations/&quot;&gt;animations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, onto the experiments!&lt;/p&gt;
&lt;h2 id=&quot;experiment-%231%3A-instagram-link&quot;&gt;Experiment #1: Instagram link&lt;/h2&gt;
&lt;p&gt;What prompted me to explore animated/transitioned gradients is a little quirk I ran into while trying to style an instagram link on my personal site. Basically, I wanted to fade the background of the link from the Instagram brand gradient to the main color on my site.&lt;/p&gt;
&lt;p data-height=&quot;300&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;QKaVdA&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/QKaVdA/&quot;&gt;Gradient presentation: example 1&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;script async=&quot;&quot; src=&quot;https://assets.codepen.io/assets/embed/ei.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;The result is that the background gradient just flips to the solid color, rather than fading. I thought this might be because a linear gradient and a background color are two different property types, namely, a CSS image and a color. Sidenote: the &lt;code&gt;background&lt;/code&gt; shorthand property is not actually animatable, per the &lt;a href=&quot;https://www.w3.org/TR/css3-transitions/#animatable-properties&quot;&gt;CSS transitions specification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So next I tried faking a solid color with a gradient:&lt;/p&gt;
&lt;p data-height=&quot;300&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;EgodGw&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/EgodGw/&quot;&gt;Gradient pres: 1.b&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The fake solid color is a little messy, but the transitions spec requires an equal number of stops:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;gradient: interpolated via the positions and colors of each stop. They must have the same type (radial or linear) and same number of stops in order to be animated.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Woo hoo! That works...in Microsoft Edge. No transitions in Chrome, Firefox, or Safari. I didn&#39;t want this to be the only social media icon in the batch without a transition, so I had to do some pseudo element trickery:&lt;/p&gt;
&lt;p data-height=&quot;300&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;YGYJmd&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/YGYJmd/&quot;&gt;Gradient pres: 1.c&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The gradient is applied to the &lt;code&gt;::before&lt;/code&gt; pseudo element, whose opacity is changed on hover. One bonus from this approach is that &lt;code&gt;opacity&lt;/code&gt; is a less costly CSS change, perf-wise, per the CSS Triggers site.&lt;/p&gt;
&lt;h2 id=&quot;experiment-%232%3A-ripple-button&quot;&gt;Experiment #2: Ripple button&lt;/h2&gt;
&lt;p&gt;In this experiment, submitting a form (represented in the JavaScript pseudo-code as a click event) triggers a &amp;quot;ripple&amp;quot; animation effect on the submit button.&lt;/p&gt;
&lt;p data-height=&quot;300&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;bwaQow&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/bwaQow/&quot;&gt;Gradient pres: 3&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A pseudo element on the button has a repeating radial gradient backround. When the &lt;code&gt;submitted&lt;/code&gt; class is added to the button via click, a CSS animation changes the padding on the button, thereby revealing more rings and creating a &amp;quot;ripple&amp;quot;. The animation of &lt;code&gt;padding&lt;/code&gt; here is one we would have to pay attention to, perf-wise, as we are we are forcing the engine to have to do relayout through to composite for the duration of the animation. I initially considered changing the &lt;code&gt;background-size&lt;/code&gt; property to achieve this effect, but that has undesirable effects cross-browser, such as tiling the ellipses, or stretching them.&lt;/p&gt;
&lt;h2 id=&quot;experiment-%233%3A-gradient-as-marketing&quot;&gt;Experiment #3: gradient-as-marketing&lt;/h2&gt;
&lt;p&gt;Animated gradients can appeal to emotions in more obvious ways. An AC company could speak to frazzled, overheated customers by transitioning a splash area from a hot red to a cool blue:&lt;/p&gt;
&lt;p data-height=&quot;600&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;XjEdjW&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; data-preview=&quot;true&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/XjEdjW/&quot;&gt;Gradient pres: 4&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this example, the gradient background is divided into thirds: the first third is red, the middle transitions from red to blue, and the last third is blue. The background size is set to 300%, and its position is animated vertically. This way, we end on a completely &amp;quot;cool&amp;quot; background.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;transition-fill-mode&lt;/code&gt; property tells the browser how to apply the styles from the animation; by setting &lt;code&gt;forwards&lt;/code&gt; as the property value, we are saying that we want the browser to keep/apply the styles from the last frame of the animation (otherwise, the background would jump back to red).&lt;/p&gt;
&lt;h2 id=&quot;experiment-%234%3A-shiny-callout&quot;&gt;Experiment #4: shiny callout&lt;/h2&gt;
&lt;p&gt;Motion draws the eye. If you have a callout that you want to draw the user&#39;s attention to that is outside the flow of the main content, you could do a &amp;quot;shiny&amp;quot; effect:&lt;/p&gt;
&lt;p data-height=&quot;365&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;qaobLE&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; data-preview=&quot;true&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/qaobLE/&quot;&gt;Gradient pres: 5&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This effect employs the same general principles as #4, except this time we&#39;re animating at a 135deg angle, and the background is scaled to 400% so that the last quarter of the gradient covers the box when the animation ends.&lt;/p&gt;
&lt;p&gt;The example assumes the callout is at the top of the page. There&#39;s a 2 second delay but in production a longer delay (perhaps 5 seconds) would be better to allow the user time to cognitively process the page layout. If your callout is not at the top of a page, you may want hook this animation into a Javascript scroll event (in that case, you could instead use a CSS transition instead of an animation).&lt;/p&gt;
&lt;h2 id=&quot;experiment-%235%3A-%22plaid%22-loading-spinner&quot;&gt;Experiment #5: &amp;quot;plaid&amp;quot; loading spinner&lt;/h2&gt;
&lt;p&gt;Sometimes accidents can create interesting effects. This gradient is displayed at 200% background-size, and its position is set to 150%. This glitches out to create a somewhat &amp;quot;plaid&amp;quot; effect:&lt;/p&gt;
&lt;p data-height=&quot;300&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;PGRKmG&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; data-preview=&quot;true&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/PGRKmG/&quot;&gt;&#39;Plaid&#39; loading spinner&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The spinner only runs 4 times to account for accessibility benchmarks (if it were longer than 5s we&#39;d need to provide a way to turn the animation off). I do hope your content loads in less than 5 seconds.&lt;/p&gt;
&lt;h2 id=&quot;experiment-%236%3A-animated-intrinsic-placeholder&quot;&gt;Experiment #6: animated intrinsic placeholder&lt;/h2&gt;
&lt;p&gt;This experiment builds on the &lt;a href=&quot;https://daverupert.com/2015/12/intrinsic-placeholders-with-picture/&quot;&gt;intrinsic placeholder&lt;/a&gt; approach to prevent page jumping when images load. A &lt;code&gt;picture&lt;/code&gt; element has a top padding equal to the image ratio of the asset inside it, which will be positioned absolutely when it loads. You may need to throttle your connection to see this one.&lt;/p&gt;
&lt;p data-height=&quot;600&quot; data-theme-id=&quot;dark&quot; data-slug-hash=&quot;ORvjdj&quot; data-default-tab=&quot;css,result&quot; data-user=&quot;somelaniesaid&quot; data-embed-version=&quot;2&quot; data-preview=&quot;true&quot; class=&quot;codepen&quot;&gt;See the Pen &lt;a href=&quot;https://codepen.io/somelaniesaid/pen/ORvjdj/&quot;&gt;Instric placeholder animation&lt;/a&gt; by Melanie Richards (&lt;a href=&quot;https://codepen.io/somelaniesaid&quot;&gt;@somelaniesaid&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io/&quot;&gt;CodePen&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We can use some background sizing trickery on a radial gradient to produce a &amp;quot;breathing dots&amp;quot; effect. Sadly, this one doesn&#39;t perform super well in Chrome; the dots feel a bit shaky as the background size animates. This might be one where we choose to drop animation and just use gradients for their ability to provide a little repeat pattern without having to load an image asset.&lt;/p&gt;
&lt;p&gt;Those are my micro-experiments with animating gradients! Feel free to share your own in the comments.&lt;/p&gt;
&lt;h2 id=&quot;further-reading-and-referenced-links&quot;&gt;Further reading and referenced links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/css3-images/#gradients&quot;&gt;W3C specification: CSS images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/css3-background/&quot;&gt;W3C specification: backgrounds and borders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/css3-transitions/&quot;&gt;W3C specification: transitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/css3-animations/&quot;&gt;W3C specification: animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codepen.io/thebabydino/full/pjxVWp&quot;&gt;PSA: don&#39;t use gradient generators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://csstriggers.com/&quot;&gt;CSS Triggers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hongkiat.com/blog/writing-better-css/&quot;&gt;How to Write Better CSS with Performance in Mind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/WCAG20/&quot;&gt;WCAG 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cubic-bezier.com/&quot;&gt;Cubic Bezier&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Moved the reading journal</title>
      <link href="https://melanie-richards.com/blog/reading-journal/"/>
      <updated>2016-09-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/reading-journal/</id>
      <content type="html">&lt;p&gt;Quick heads up if you happen to be one of the handful of people that was following my reading journal on Github and want to find it again: &lt;a href=&quot;https://somelaniesaid.dropmark.com/347183&quot;&gt;I&#39;ve moved it to Dropmark&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I wanted to be able to tag items and explore them via tag, as well as get a quick glimpse of what kinds of things I was reading at particular time. I toyed with the idea of rolling my own solution for this, but decided to spend my side-project energy elsewhere. Besides, a service I use and love already has the functionality built in.&lt;/p&gt;
&lt;p&gt;What is this reading journal anyway? Basically a log of articles I&#39;ve been reading across design, development, liberal arts, etc. I started logging this at the beginning of the year because I thought it would be fun to look back on, especially as web standards and design practices morph over the years.&lt;/p&gt;
&lt;p&gt;Ending on a shameless plug: if you sign up for a Dropmark account with &lt;a href=&quot;https://dropmark.com/?ref=somelaniesaid&quot;&gt;my referral link&lt;/a&gt; and end up getting the paid version, we both get more storage! Whee!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>HTML5 Accessibility redesign</title>
      <link href="https://melanie-richards.com/blog/html5-a11y/"/>
      <updated>2016-09-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/html5-a11y/</id>
      <content type="html">&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-s.jpg&quot; alt=&quot;Screenshot of the HTML5 Accessibility website&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This redesign went up a couple months ago, but finally getting around to sharing here. David Storey and I (as Microsoft Edge team members) worked on a structural and aesthetic update to the HTML5 Accessibility website, a project created by The Paciello Group, an accessibility consultancy.&lt;/p&gt;
&lt;p&gt;The site shows whether or not browsers have implemented HTML5 features accessibly, such that users of assitive technology can interact with web content successfully. This of course helps inform web developers of potential issues to look out for, but the test pages also allow browsers to verify that they&#39;ve implemented features correctly.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-testpg-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-testpg-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-testpg-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-testpg-s.jpg&quot; alt=&quot;Screenshot of an article test page on HTML5 Accessibility&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;We started the redesign of the HTML5 Accessibility site in an unconventional place: on the structurally simplest pages. The test pages are what browser vendors use to verify if they&#39;ve implemented a feature accessibly. That means that while they should look nice and be a pleasant experience, it was important to us to restrict the markup only to what was absolutely necessary to render the information and tests—no extra HTML crufting up the screen reader or tabbing experience. We chose to start the design here where the code style was more restrictive to ensure that our design styles worked in this reduced form.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-logo-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-logo-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-logo-s.png&quot; alt=&quot;Orange-and-cream colored HTML5 accessibility logo.&quot; /&gt;
        &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;The large numeral 5 is made up of 5 lines.&lt;/p&gt;
&lt;p&gt;It is difficult to capture just how many ways people interact with web content. Instead of trying to jam all these accessibility concepts into one small mark, I opted for a more graphical representation of a unified effort.&lt;/p&gt;
&lt;p&gt;The orange color of this project&#39;s logo is a nod to the W3C&#39;s &lt;a href=&quot;https://www.w3.org/html/logo/&quot;&gt;branding for HTML5&lt;/a&gt;.&lt;/p&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/html5a11y-before-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/html5a11y-before-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/html5a11y-before-s.jpg&quot; alt=&quot;Screenshot of the previous HTML5 Accessibility version&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-table-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-table-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-table-s.jpg&quot; alt=&quot;Screenshot of HTML5 Accessibility support table&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;Our redesign of the main site was more than a re-skin. We restructured content so that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It was quicker to understand the purpose of the site&lt;/li&gt;
&lt;li&gt;The user could see inline in the table where accessibility support failed (expanded table row gives extra detail)&lt;/li&gt;
&lt;li&gt;The user could look at the set of elements they are interested in, instead of looking at one giant table&lt;/li&gt;
&lt;/ul&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-icons-xl.png&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-icons-l.png&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-icons-m.png&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-icons-s.png&quot; alt=&quot;Screenshot of HTML5 Accessibility support table&quot; /&gt;
        &lt;/picture&gt;
&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 1201px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-bottom-xl.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-bottom-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-bottom-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-html5a11y-bottom-s.jpg&quot; alt=&quot;Screenshot of the more information section of HTML5 Accessibility&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;This was a fun site to work on, and I&#39;m glad Steve Faulkner (of The Paciello Group) was interested in having us pitch in! You can see the live site at &lt;a href=&quot;https://html5accessibility.com/&quot;&gt;html5accessibility.com&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New illustration on the Intercom blog</title>
      <link href="https://melanie-richards.com/blog/intercom-illo/"/>
      <updated>2016-08-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/intercom-illo/</id>
      <content type="html">&lt;picture class=&quot;c-web-preview&quot;&gt;
          &lt;source media=&quot;(min-width: 801px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-intercom-illo-l.jpg&quot; /&gt;&lt;source media=&quot;(min-width: 501px)&quot; srcset=&quot;https://melanie-richards.com/assets/images/content/melanierichards-intercom-illo-m.jpg&quot; /&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-intercom-illo-s.jpg&quot; alt=&quot;Screenshot of my illustration on the Intercom blog&quot; /&gt;
        &lt;/picture&gt;
&lt;p&gt;My first freelance illustration project is up on the Intercom blog! Stewart Scott-Curran asked me for an editorial illustration in my collage style for &lt;a href=&quot;https://blog.intercom.io/good-products-bad-businesses/&quot;&gt;“Not all good products make good businesses”&lt;/a&gt;. The post describes what’s needed to scale a good idea into a profitable business, so one of the concepts I sketched for Stew was an abstract exploration in scale. We ended up going with that one, and I snuck in some awesome images of goofy inventions, like an old-school VR concept drawing.&lt;/p&gt;
&lt;p&gt;As I mentioned, this is actually the first time I’ve been hired to do a purely illustrative freelance project—as opposed to client work with a more holistic design and/or development task. It was a nice change of pace and assignment from my day-to-day, and I hope to work on more projects like this in the future! Thanks for the opportunity, Stew!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Just! Build! Websites!</title>
      <link href="https://melanie-richards.com/blog/just-build-websites/"/>
      <updated>2016-07-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/just-build-websites/</id>
      <content type="html">&lt;p&gt;The hosts of &lt;a href=&quot;https://shoptalkshow.com/&quot;&gt;Shop Talk show&lt;/a&gt; podcast (Chris Coyier and Dave Rupert) get asked a lot of questions about how to learn web development. Their mantra is &amp;quot;just build websites&amp;quot;; &lt;a href=&quot;https://shoptalkshow.com/mantra/&quot;&gt;there’s even a soundbite for it&lt;/a&gt;. As a person who learns by doing, I agree that getting your hands dirty with some web projects and filling in the gaps in your knowledge along the way is a beautiful way of doing things.&lt;/p&gt;
&lt;p&gt;What if you don’t know what kind of website to &amp;quot;just build&amp;quot;? To unblock people who want to improve their web design and development chops, I started a &lt;a href=&quot;https://github.com/melanierichards/just-build-websites&quot;&gt;list of side project ideas&lt;/a&gt; on Github. Feel free to check those out and submit a PR if you have an idea to add, and please do let me know if you come up with something inspired by the list, I’d love to see it!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Visual site update</title>
      <link href="https://melanie-richards.com/blog/new-site/"/>
      <updated>2016-05-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/new-site/</id>
      <content type="html">&lt;p&gt;Visual update on the site today! There&#39;s some new projects in the works that I&#39;m looking forward to sharing, but in the meantime, mostly just a fresh coat of paint around here. Chiefly because I got so sick of looking at the &lt;a href=&quot;https://dribbble.com/shots/1720056-Minor-Redesign&quot;&gt;bright orangey-pink bar&lt;/a&gt;, with its less-than-accessible color contrast. If you&#39;d like to test your color combos for legibility, &lt;a href=&quot;https://leaverou.github.io/contrast-ratio/&quot;&gt;Lea Verou&#39;s contrast checker&lt;/a&gt; is a good tool that can help check flat color pairs.&lt;/p&gt;
&lt;p&gt;Random notes about this update:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I switched from &lt;a href=&quot;https://getkirby.com/&quot;&gt;Kirby CMS&lt;/a&gt; to &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;. If I&#39;m choosing a CMS/templating engine for performance, I might as well go all-in on a static site generator (Kirby does some magic with PHP and text/image files in directories). So far enjoying it, though there&#39;s some features that I would consider &amp;quot;core&amp;quot; functionality that aren&#39;t quite there yet (pagination needs to be added via a plugin, for example).&lt;/li&gt;
&lt;li&gt;Left-aligning the page content?! Who have I become?&lt;/li&gt;
&lt;li&gt;I&#39;ll let you guess what the squares in the header are ;]&lt;/li&gt;
&lt;li&gt;In less fun news, I seem to have lost my Disqus comments. Looking to see if there&#39;s a way to restore. So if your previous comment is gone...we&#39;re still good.&lt;/li&gt;
&lt;li&gt;In the process of building the site, I tinkered around with my first experiments with client-side API requests. I ended up scrapping the idea I was working on, though I might do a post on it later. I&#39;ve actually removed a couple working bells-and-whistles from the site; the honest truth is I prefer a simple portfolio site.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Forever making little tweaks, so if you find something weird, feel free to &lt;a href=&quot;https://github.com/melanierichards/melanie-richards.com&quot;&gt;file an issue&lt;/a&gt;. Unless you&#39;re a current/former co-worker who likes to troll me for the lulz—take your funny business elsewhere, good sirs.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>A note on productive perseverance from Rebecca Mezoff</title>
      <link href="https://melanie-richards.com/blog/perserverance-rebecca-mezoff/"/>
      <updated>2016-03-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/perserverance-rebecca-mezoff/</id>
      <content type="html">&lt;p&gt;Came across a great idea from weaver &lt;a href=&quot;https://rebeccamezoff.blogspot.com/2016/03/when-what-you-make-doesnt-feel-so-great.html&quot;&gt;Rebecca Mezoff&lt;/a&gt; in my RSS feeds today:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So if you&#39;re weaving your first set of tapestries and you aren&#39;t all that happy with what is coming off your loom, keep trying! Give yourself some credit for working at it. The practice will pay off. Notice what you love about the piece even if it is something as small as a specific color or yarn choice. Notice that thing you like and write it down. Use that bit of information in the next iteration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&#39;d never thought of doing this before, but like all great ideas, it seems so obvious in hindsight. Instead of considering our lousiest projects as “failures” to be stored in a little box of shame and thus forgotten, we can make them work for us. No experience, then, is a loss.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Blogging about talking about blogging in Tulsa, Oklahoma</title>
      <link href="https://melanie-richards.com/blog/recap-of-talk-in-tulsa/"/>
      <updated>2016-01-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/recap-of-talk-in-tulsa/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-tulsa.jpg&quot; alt=&quot;Picture of downtown Tulsa next to a picture of me giggling in front of an illustrated background&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Downtown Tulsa; me with the giggles at Hogan Assessments. Both photos by Crystal Walters.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Last week I spoke about blogging as part of the creative career/process, and now I’m blogging about it! How meta. A milestone that I was quite nervous about—my first time speaking publicly—turned out to be an incredibly fun and rewarding experience.&lt;/p&gt;
&lt;p&gt;I’d never been to Tulsa before, or anywhere near Oklahoma for that matter, and was excited to see a new city. I couldn’t have had better guides (&lt;a href=&quot;http://www.artdirectorsoftulsa.org/&quot;&gt;Art Directors Club of Tulsa&lt;/a&gt;) to show me all the good stuff.&lt;/p&gt;
&lt;p&gt;We toured the studios and met members of &lt;a href=&quot;https://vimeo.com/firethief&quot;&gt;Fire Thief&lt;/a&gt;, &lt;a href=&quot;https://looseleafco.tumblr.com/&quot;&gt;Loose Leaf&lt;/a&gt;, and &lt;a href=&quot;http://roughhousecreative.com/&quot;&gt;Rough House&lt;/a&gt;; popped into &lt;a href=&quot;http://www.circlecinema.com/&quot;&gt;Circle Cinema&lt;/a&gt;; heard about the amazing things &lt;a href=&quot;https://www.tulsaglassblowing.org/&quot;&gt;Tulsa Glassblowing School&lt;/a&gt; is doing for local youth; browsed locally-made and vintage curiosities at &lt;a href=&quot;http://www.dwellingspaces.net/&quot;&gt;Dwelling Spaces&lt;/a&gt;; gawked at shmancy stonework downtown; shot a quick interview video at &lt;a href=&quot;https://www.hoganassessments.com/&quot;&gt;Hogan Assessments&lt;/a&gt;; and contemplated art at &lt;a href=&quot;https://ahhatulsa.org/&quot;&gt;AHHA&lt;/a&gt; and &lt;a href=&quot;https://108contemporary.org/&quot;&gt;108 Contemporary&lt;/a&gt;.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/weavings.jpg&quot; alt=&quot;Circular tapestry by Analise Stukenborg and weaving by Sarah Sullivan that looks vaguely like an American flag&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Left: “Grace” by Analise Stukenborg, right: “New Country” by Sarah Sullivan&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;There was so much good art in both those galleries, but I was especially excited to see fiber art alive and well in the heartland. The show at 108 Contemporary included excellent weavings by &lt;a href=&quot;https://sarahesullivan.tumblr.com/&quot;&gt;Sarah Sullivan&lt;/a&gt; and &lt;a href=&quot;https://www.instagram.com/analiseface/&quot;&gt;Analise Stukenborg&lt;/a&gt;, and a giant knit mural by &lt;a href=&quot;https://www.romyowens.com/&quot;&gt;Romy Owens&lt;/a&gt;. Romy mocked up the mural digitally and then divvied up the panels for people to knit. It’s an impressive piece, both in concept and in scale. I feel fired up to start some new weaving ideas!&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/romyowens-knitmural.jpg&quot; alt=&quot;Romy Owens’s knit mural landscape, from outside and inside the gallery&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Romy Owens&#39;s knit mural landscape, from outside and inside the gallery&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Everything I ate in Tulsa was so delicious I’m still dreaming about it: coffee and breakfast tacos at &lt;a href=&quot;http://www.chimeracafe.com/&quot;&gt;Chimera&lt;/a&gt;; muffuletta and gumbo at &lt;a href=&quot;https://lassallesneworleansdeli.com/&quot;&gt;Lassalle’s&lt;/a&gt;; chips, salsa, and guac at &lt;a href=&quot;https://www.therustycranetulsa.com/&quot;&gt;Rusty Crane&lt;/a&gt; (the kind I&#39;ve been missing while living in Seattle); local sausage pie at &lt;a href=&quot;http://www.eastvillagebohemian.com/&quot;&gt;East Village Bohemian Pizza&lt;/a&gt; that makes me kinda glad I’m no longer strictly vegetarian; and an excellent drink called “Wake up call” at &lt;a href=&quot;https://www.hodges-bend.com/&quot;&gt;Hodges Bend&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Oh yeah, and there was the speaking bit. Everyone I met from the ADC was so kind and friendly that by the end of the day the presentation felt a bit more like talking to friends. I shared my experiences with blogging and how that has unintentionally, surprisingly, shaped my entire design career thus far. I went over some of the many benefits of blogging as a part of the creative process, and talked about some of the more practical concerns too: pros and cons of different blogging services, scheduling, blog post topics, and $ opportunities. Everyone asked insightful questions that taught me a lot about what might not be apparent about my process from the outside.&lt;/p&gt;
&lt;p&gt;If you went to the show and need a refresher on links, these are for you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/content/03-blog/recap-of-talk-in-tulsa/tulsaadct-melanierichards-poster.jpg&quot;&gt;Image of the show poster&lt;/a&gt; w/ post topic ideas in the background&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coryetzkorn.com/blog/choosing-the-best-cms/&quot;&gt;Cory Etzkorn’s write-up&lt;/a&gt; of different content management systems, if you choose to use one of these in lieu of/alongside Tumblr or Medium&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://careers.microsoft.com/jobdetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=1&amp;amp;jid=214601&amp;amp;jlang=en&amp;amp;pp=ss&quot;&gt;Front-end designer job listing at Microsoft Edge&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All in all, great experience. I’m so thankful to Paul Woodard, Crystal Walters, Robbie Edwards, Dan Van Buskirk, and the rest of ADC Tulsa for bringing me out to meet a new-to-me design scene. Yours is clearly a talented, tight-knit, supportive community, and I am so happy to have met you all! Please say hi if you are ever in Seattle, I know some of you will be!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Upcoming talk in Tulsa</title>
      <link href="https://melanie-richards.com/blog/upcoming-talk-in-tulsa/"/>
      <updated>2016-01-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/upcoming-talk-in-tulsa/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-adctulsa-line-m.png&quot; alt=&quot;Drawings of blogs surrounding the words From Blerghing to Blogging: How to accidentally build a creative &#39;career&#39; by rambling on the internet&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Quick announcement that I&#39;ll be giving my first talk next week! It&#39;s hosted by the Art Directors Club of Tulsa at Living Arts Center, Tulsa, OK, on January 21 (doors at 6:30, presentation at 7:30). In true weirdo-Melanie style, the talk is called &amp;quot;From Blerghing to Blogging: How to accidentally build a creative &#39;career&#39; by rambling on the internet&amp;quot;. I&#39;ll be discussing how a few simple posts have unexpectedly shaped my entire path thus far. I&#39;ll also share ideas on how and why you might approach your own blogging practice.&lt;/p&gt;
&lt;p&gt;I have to admit I&#39;m a bit nervous, but honored to have asked to come out to Oklahoma and excited to meet everyone! If you&#39;d like to join in, up-to-date details for location, etc. can be found on the &lt;a href=&quot;http://www.artdirectorsoftulsa.org/homepage/melanie-richards&quot;&gt;ADC Tulsa website&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>2015 in Review</title>
      <link href="https://melanie-richards.com/blog/my-2015-in-review/"/>
      <updated>2016-01-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/my-2015-in-review/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/2015-year-review.jpg&quot; alt=&quot;A grid of photos, including a foggy mountain top, cherry blossoms on trees, knitting, a hand holding up wool roving, and Toronto skyline&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;2015 is a strange one to summarize. As a member of the collective, global community it felt like a particularly painful year. I hope that 2016 brings more peace, justice, and fairness, and less (well, none) of the violence and bigotry we&#39;ve had to endure, marathon-style, this year. I don&#39;t often get too #realtalk on here, but I hope that along with our personal resolutions we can all commit to treating people better within our small spheres of influence. Here&#39;s to learning more ways to become a kinder, gentler human!&lt;/p&gt;
&lt;p&gt;Back to 2015. On an individual scope, this felt like more of a quiet transitional year for me. In the 4.5 years since college graduation, I&#39;ve always balanced design and development, but this year it feels that I&#39;m shifting more towards the technical side of things. I have gotten to a point where I&#39;m pretty much exclusively interested in making things for screens, barring the occasional make-it-because-it-sounds-fun project.&lt;/p&gt;
&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Joined the Microsoft Edge platform team at the beginning of the year. I&#39;m designing and writing code there, a couple end-user projects, but mostly working on resources for external web developers. It has been extremely fascinating working on a browser team, and I&#39;m excited that we are working hard to be more transparent than IE has been known for in the past. People are very passionate about the web, and it&#39;s been quite fun learning from them.&lt;/li&gt;
&lt;li&gt;I &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;read the HTML spec&lt;/a&gt; for 100 days and learned a ton of minute details! I enjoyed taking a deeper dive into something so familiar, even though it often felt like a slog. I was proud to have finished the full 100 days, and a co-worker or two owe me a dollar, methinks...&lt;/li&gt;
&lt;li&gt;I didn&#39;t travel too much, but I did get out to Toronto for TCAF (comics arts festival)! Funny that my first visit to Canada is across the country, and not a 3-hour drive away to Vancouver. Toronto is a chill city, and I loved the festival: I got to meet so many comic artists that I&#39;ve admired for quite some time. My version of ~*~ starstruck ~*~.&lt;/li&gt;
&lt;li&gt;Got to see the cherry blossoms in full bloom at UW in the spring.&lt;/li&gt;
&lt;li&gt;I visited Golden Gardens at super low tide. It was EVERYTHING I HAD DREAMED OF in my fantasies of tide pools with lots of critters in them. Starfish, urchins, geoducks, crabs, barnacles, all manner of shellfish...&lt;/li&gt;
&lt;li&gt;Didn&#39;t hike as much as I wanted to, but my favorite outing was Mt. Ellinor, on the Olympic peninsula. The trail had a lot of variation, great pine smells in the older growth areas, and mountain goats! I did enjoy the super-dense fog when I hiked Bechler&#39;s Peak, though.&lt;/li&gt;
&lt;li&gt;I started learning Node, and I&#39;ve been beefing up on my library-less JavaScript!&lt;/li&gt;
&lt;li&gt;I&#39;ve started &lt;a href=&quot;https://github.com/melanierichards/reading-journal&quot;&gt;keeping track&lt;/a&gt; of all the interesting articles I read.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;recapping-2015-goals&quot;&gt;Recapping 2015 goals&lt;/h2&gt;
&lt;p&gt;I...don&#39;t want to talk about it. My overall goal was to &lt;a href=&quot;https://melanie-richards.com/blog/goals-for-2015&quot;&gt;focus and pare down my interests&lt;/a&gt;. I do think I&#39;ve spent time on a narrower set of interests, but I haven&#39;t always been good about focusing on personal projects long enough to complete them.&lt;/p&gt;
&lt;p&gt;Individual breakdown:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Illustration:&lt;/strong&gt; Ha. I did barely any personal illustration this year. You can hear crickets on my Dribbble account.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript:&lt;/strong&gt; I&#39;ve actually been pretty decent about working on my library-less JS skills! I have so, so much to learn, but I feel already that I have a much deeper understanding of web APIs, and how my scripting actually interacts with objects in the DOM. With jQuery, it was more like magic and a drawn curtain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Writing:&lt;/strong&gt; I wrote almost no fiction or poetry this year. I tried a little bit for Nanowrimo, but wasn&#39;t feeling it. In the back of my mind I sense that maybe I should be concerned about this, as writing had been a permanent fixture in my life and a valuable outlet. But it may also be that we change over the course of our lives and can enjoy different modes of expression along the way.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Weaving and knitting:&lt;/strong&gt; It&#39;s been great! Still doing basic stuff, but working with fibers has really clicked with me. Drawing has become an activity that feels too aggressive and intimidating to be relaxing, so it&#39;s been truly wonderful to find a hobby off the computer that allows me to do some restorative creative play.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;goals-for-2016&quot;&gt;Goals for 2016&lt;/h2&gt;
&lt;p&gt;What I&#39;d like to do this year is set some themes and then make monthly goals addressing those themes (&lt;a href=&quot;https://github.com/melanierichards/goals&quot;&gt;I ended up opening a GitHub repo for this&lt;/a&gt;). They are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Work towards better health habits. I&#39;ve picked up some bad habits due to changes in routine and schedules, and need to retool my habits to work with that schedule.&lt;/li&gt;
&lt;li&gt;Have more adventures!&lt;/li&gt;
&lt;li&gt;SHIP IT. It&#39;s ok to have personal projects that you never finish (it&#39;s all about learning), but I&#39;m really craving the posivibes of finishing things.&lt;/li&gt;
&lt;li&gt;Have a healthier emotional relationship to my work. I have no idea how to make measureable goals or habits around this one, so if you have any suggestions, I&#39;m all ears.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I do have a couple goals that are more cumulative for the entire year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read 40 books. I have a huge backlog of unread books that I own, so I&#39;m instituting a rule that I can only buy a new book after I&#39;ve read 5 I already own. The exception is book club books, and I may check out a book from the library at any time.&lt;/li&gt;
&lt;li&gt;Hike 10 new trails. I didn&#39;t do nearly as much hiking as I wanted to do in 2015, so I&#39;d like to fix that in 2016. I&#39;d like to get back to the Olympic Peninsula at least once.&lt;/li&gt;
&lt;li&gt;Go camping 3 times (with or without hiking). Gotta break in my new tent!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Happy New Year! Best of luck to everyone and their resolutions.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>More form factors, please!</title>
      <link href="https://melanie-richards.com/blog/more-form-factors-please/"/>
      <updated>2015-10-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/more-form-factors-please/</id>
      <content type="html">&lt;p&gt;Designing UI icon sets today can feel somewhat anachronistic: why does a floppy disk still connote save? Why does your TV have antennae? The struggle here is that if we made every icon match the technology it represents, we’d have a lovely bunch of rectangles.&lt;/p&gt;
&lt;p&gt;This is changing. Apple just released their Watch, which has a circular, albeit small, interface. The W3C is working on a &lt;a href=&quot;https://www.w3.org/TR/2015/WD-css-round-display-1-20150922/&quot;&gt;CSS spec for round displays&lt;/a&gt;. The draft proposes a border radius detection approach, which covers rectangles, rounded rectangles, ellipses, and perfect circles; it does not yet propose a solution for more complex display shapes: we’ll cross that bridge when we get to it.&lt;/p&gt;
&lt;p&gt;As I read the working draft, 5% of me thought, “oh, great. More complexity.” But the other 95% is SO JAZZED.&lt;/p&gt;
&lt;p&gt;First off, it will be interesting to see how web aesthetics change once again to meet the greater variety of screen shapes. With the mobile web we first served up different sites for “mobile” and “desktop”, then moved to responsive (fluid) strategies, and with that, simplified the mainstream aesthetic–not without pushback, off course. Will we see the same pattern with non-rectangular displays? Will we relax the death-grip aesthetics has on traditional design and give more thoughtful attention to UX and content strategy?&lt;/p&gt;
&lt;p&gt;Second, with greater support in the web community for non-rectangular displays, we will see a rise in new, more interesting form factors. Which means maybe someday I can use THIS:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/it-follows-shell-device.jpg&quot; alt=&quot;Screenshots from the film It Follows showing a character using a phone or e-reader shaped like a seashell&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;That’s a dual-screen e-reader (phone?) in a bivalve-shell casing, used by the character Yara in the indie horror film &lt;em&gt;It Follows&lt;/em&gt;. It appears in all its quirky glory because the director &lt;a href=&quot;https://www.avclub.com/article/david-robert-mitchell-his-striking-new-horror-film-216215&quot;&gt;didn’t want to date the film&lt;/a&gt; with a specific piece of technology. I want that e-reader badly. And I think someday it could exist.&lt;/p&gt;
&lt;p&gt;And this led me down a frenzied wormhole of “what-ifs”:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What if everyone could express their taste and personality not just in the color of their hardware or protective &lt;a href=&quot;https://www.amazon.com/Happy-Totoro-Phone-Shell-Iphone5/dp/B00K452P0Y&quot;&gt;possibly-Totoro-shaped&lt;/a&gt; cases, but in more complex form factors?&lt;/li&gt;
&lt;li&gt;What if you could apply fully-functional screens to other surfaces, like a film? Would we see an explosion of DIY culture around this, much like IKEA hacks?&lt;/li&gt;
&lt;li&gt;What if originality in devices became extremely important to fashion? Would we see a flood of new entrants in the industry from people who feel kind of “whatever” about the slightly-different-rectangle-of-the-year (me)? Would we have more diverse STEM fields?&lt;/li&gt;
&lt;li&gt;What if we had inexpensive devices that look like everyday objects, for at-risk people who need inconspicuous access to help?&lt;/li&gt;
&lt;li&gt;What if a device’s form factor could be designed to meet the specific needs of differently-abled people?&lt;/li&gt;
&lt;li&gt;What if the work already being done in these efforts could be available at accessible prices?&lt;/li&gt;
&lt;li&gt;What if devices could be designed to interlock with other devices, and act as a single computer when brought together (like a patchwork quilt)?&lt;/li&gt;
&lt;li&gt;What if we had industrial/product design college courses devote to designing non-standard devices? What would curious minds come up with, free of the pressure to sell x units?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I can’t wait to see what we’ll come up with.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Post Mortem, 100DaysOfSpec</title>
      <link href="https://melanie-richards.com/blog/post-mortem-100daysofspec/"/>
      <updated>2015-09-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/post-mortem-100daysofspec/</id>
      <content type="html">&lt;p&gt;Monday marked the end of my hundred day project, which was to read and take notes on the HTML specifications for 100 days. For those who aren’t familiar, that’s the technical documentation that tells how user agents (browsers, etc.) how to implement HTML interfaces, and tells HTML authors (web developers, etc.) how to use those features. It should be noted there’s wiggle room and areas for interpretation within both those spheres. You can see all my posts in the [100DaysOfSpec tag](&lt;a href=&quot;https://melanie-richards.com/blog/tag:100DaysOfSpec&quot;&gt;https://melanie-richards.com/blog/tag:100DaysOfSpec&lt;/a&gt; text: ).&lt;/p&gt;
&lt;p&gt;Because it took so much of my time—roughly an hour for 100 days—I thought it appropriate to do a quick post mortem on the reading.&lt;/p&gt;
&lt;h2 id=&quot;overall-impressions&quot;&gt;Overall impressions&lt;/h2&gt;
&lt;p&gt;Even though at times I felt I would rather be doing &lt;em&gt;literally anything else&lt;/em&gt;, I’m glad I chose this as my project for the 100 days challenge. It seems odd to have worked with HTML for years and never have read the closest thing HTML authors would have to a “holy text” (though just-build-websites and supplemental, nicely-packaged documentation are nice teachers…), and to attempt to read a text that is mostly dry cover-to-cover takes a bit of discipline.&lt;/p&gt;
&lt;p&gt;I learned a lot over the course of this reading, both about things work “under the hood”, and small authoring details that may not sync with how most people might use tags, attributes, etc. I can now obnoxiously retort “that’s not what the spec says”. Most importantly, when I am unsure of something, I now go straight to the HTML spec rather than chasing the best answer around in search results (or hoping that the sites I trust are up to date). I love that, because it’s a much more straightforward approach.&lt;/p&gt;
&lt;p&gt;The one thing that bothers me is the chasm between what the spec says user agents &lt;em&gt;should&lt;/em&gt; do, and what they &lt;em&gt;actually&lt;/em&gt; do. In a way this means that even our most basic text can’t be trusted. In most cases this should not be a problem, though, because we should be rigorously testing our work in each of the browser versions within our support agreements.&lt;/p&gt;
&lt;h2 id=&quot;process&quot;&gt;Process&lt;/h2&gt;
&lt;p&gt;When I started out reading, my goal was to write down only the most interesting factoids; as time went on, I ended up writing more and more down per post. Part of this is truly the presentation of more unknown material, but I’m a little bummed that the notes became summaries by the end.&lt;/p&gt;
&lt;p&gt;If I were to read the spec again—and I plan to tackle shorter chunks in the future—I think I would turn on the “developer styles” on offer. It’s nice to see how user agents should be implementing the features of HTML, but I could have covered a lot more ground if I were reading the bits catering towards HTML authors.&lt;/p&gt;
&lt;p&gt;I will say I’m very happy with how well it worked out to dedicate my commute home from working to continued learning. I’ll be reusing that process for other endeavors.&lt;/p&gt;
&lt;h2 id=&quot;should-i-read-the-spec%3F&quot;&gt;Should I read the spec?&lt;/h2&gt;
&lt;p&gt;Midway through the project, a beginner asked me if they should be reading the HTML spec, too. My first thought was “oh no please, save yourselves!” A more rational response is “later”. I don’t think it makes much sense for a beginner to read this document. Unless you crave this kind of technical reading, the spec will bore you to tears before you even get much of anything built. For beginners, if you like slow step-by-step guidance, there’s sites for that ([Codecademy](&lt;a href=&quot;https://codecademy.com/&quot;&gt;https://codecademy.com&lt;/a&gt; text: ), [Treehouse](&lt;a href=&quot;https://teamtreehouse.com/&quot;&gt;https://teamtreehouse.com/&lt;/a&gt; text: )), or there’s messing around with code and filling in the details from sites like the [Mozilla Developer Network](&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML&quot;&gt;https://developer.mozilla.org/en-US/docs/Web/HTML&lt;/a&gt; text: ).&lt;/p&gt;
&lt;p&gt;Once you get the basics down, the HTML spec is something you can refer back to in order to deepen your knowledge, or get an answer on a question “straight from the source”.&lt;/p&gt;
&lt;h2 id=&quot;what-might-be-a-good-way-to-read-the-spec%3F&quot;&gt;What might be a good way to read the spec?&lt;/h2&gt;
&lt;p&gt;If you’re working with HTML to build websites, here’s a few suggestions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click the button that says “Add developer styles”. This will hide any information that is meant more for browsers and other implementors of HTML interfaces. You can always turn this feature off if you’re curious about how something in particular works.&lt;/li&gt;
&lt;li&gt;If you’re the type of person who likes to read The Whole Thing, set aside a particular amount of time on a predictable schedule to read segments.&lt;/li&gt;
&lt;li&gt;If you’re not looking to read cover-to-cover, skim the table of contents to see if any sections jump out at you and read those. Browsing is an excellent method for drawing to our attention topics we might be overlooking. For example, images may seem old hat, but do you know the particulars of crafting a good &lt;code&gt;alt&lt;/code&gt; attribute for accessibility, in each of the many use cases?&lt;/li&gt;
&lt;li&gt;It may also benefit you to brush up on familiar areas, too. Working with a lot of forms on a current project? Maybe check out the form elements sections of the HTML spec to see what you might be missing.&lt;/li&gt;
&lt;li&gt;To reiterate, checking first with the spec is a great way to answer a question you might have about your HTML authoring. For example, when to use which sectioning element (section, article, main) and which of those elements can nest each other can be confusing. Instead of reading articles on people’s personal blogs which all claim to do things The Best Way, maybe check with the spec&lt;sup&gt;&lt;a href=&quot;https://melanie-richards.com/blog/post-mortem-100daysofspec/#fn-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; first.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Happy reading!&lt;/p&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;p id=&quot;fn-1&quot;&gt;1. If I were a different kind of person this could be an excellent catchphrase.&lt;/p&gt;
&lt;/section&gt;</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 100 of 100DaysOfSpec, 4.7.10.6 Offsets into the media</title>
      <link href="https://melanie-richards.com/blog/day-100-100/"/>
      <updated>2015-08-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-100-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;Omg! It’s here! I did it! All 100 (work)days. Planning to do a little recap post of the experience, so this one might feel a little anti-climatic as a last post.&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#offsets-into-the-media-resource&quot;&gt;4.7.10.6 Offsets into the media resource&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;media&lt;/strong&gt;&lt;code&gt;.duration&lt;/code&gt; returns the length of the media resource in seconds, assuming a zero start time. Can also return “NaN” (missing duration metadata) or “Infinity” (our case again of the ever-streaming radio station, for example).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;media&lt;/strong&gt;&lt;code&gt;.currentTime&lt;/code&gt; returns the playback position in seconds. You can also use this to jump the user to a particular point on the video or audio.&lt;/p&gt;
&lt;p&gt;A media resource has a media timeline, spanning from its “earliest defined position” to the duration as final position point. A start point can include an explicit time and date—I suppose this is involved in scheduled live streaming video/audio—and that info can be accessed using the &lt;code&gt;getStartDate()&lt;/code&gt; method. The start needs to be &amp;gt;= 0.&lt;/p&gt;
&lt;p&gt;The media timeline is always linear, even if the data it spans is discontinuous, out of order, or overlaps original timestamps. The example they give is two clips that have been combined into one video; they lose their old timelines and instead get the new combined one.&lt;/p&gt;
&lt;p&gt;The UA has been given the power to make a reasonable determination about timelines in the rare cases that a media resource has no explicit timelines or any timings at all (such as frame durations). Examples include animated GIFs and JPEG-push format.&lt;/p&gt;
&lt;p&gt;Media elements have a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;current playback position&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;official playback position&lt;/em&gt; (which is approximately the current, but “is kept stable while scripts are running”)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;default playback start position&lt;/em&gt;: originally set to zero sec, allows the element to be “seeked” before it’s done loading, which would come in handy, I think, if you want to jump the user to a particular point along the video/audio.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;show poster flag&lt;/em&gt;: set to true when the media element is created&lt;/li&gt;
&lt;li&gt;&lt;em&gt;initial playback position&lt;/em&gt;: initially zero seconds, updated when a media resource is loaded&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;code&gt;currentTime&lt;/code&gt; attribute returns the default playback start position; if zero, it returns the official playback position instead.&lt;/p&gt;
&lt;p&gt;There’s plenty more to this section and I thought I’d summon the strength to read the whole thing today, but nope nope nope nope. Way to finish strong! 🎉🎉🎉&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 99 of 100DaysOfSpec, loading the media resource, contd.</title>
      <link href="https://melanie-richards.com/blog/day-99-100/"/>
      <updated>2015-08-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-99-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;Continuing to read in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#loading-the-media-resource&quot;&gt;4.7.10.5 Loading the media resource&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some extra info after the algorithms from the previous days’ notes.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;preload&lt;/code&gt; attribute takes one of the following keywords, which can be changed while the media resourced is being buffered or played:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;none&lt;/code&gt;: hint that the user might not need this resource, or that the server can save on traffic.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt;: hint that the user might not need the resource, but it might be a good idea to fetch metadata and possibly the first few frames. Metadata includes dimensions, duration, etc, and fetching that will put the &lt;code&gt;readyState&lt;/code&gt; attribute at &lt;code&gt;HAVE_METADATA&lt;/code&gt;. If some frames are fetched, that attribute will likely be &lt;code&gt;HAVE_CURRENT_DATA&lt;/code&gt; or &lt;code&gt;HAVE_FUTURE_DATA&lt;/code&gt;. I’m curious as to what the use case might be for setting the &lt;code&gt;preload&lt;/code&gt; attribute to &lt;code&gt;metadata&lt;/code&gt;…maybe some perf black magic?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt;: Hint that the UA can load as much as it sees fit for the user.&lt;/li&gt;
&lt;li&gt;The empty string value for &lt;code&gt;preload&lt;/code&gt;, like the &lt;code&gt;auto&lt;/code&gt; keyword, has an Automatic state.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HTML authors can dynamically switch this &lt;code&gt;preload&lt;/code&gt; attribute value once playback begins (i.e. don’t download the video unless the user clicks play, in which case ZOMG DOWNLOAD NOW).&lt;/p&gt;
&lt;p&gt;The UA can choose to ignore the settings in this attribute, as it is just a hint. This is supposed to be in service of UX though: taking user settings or being smart about connectivity health. The &lt;code&gt;autoplay&lt;/code&gt; attribute can also override &lt;code&gt;preload&lt;/code&gt;. It’s okay, validation-wise, if those two attributes don’t agree.&lt;/p&gt;
&lt;p&gt;There’s a &lt;code&gt;buffered&lt;/code&gt; attribute that returns an object representing how much of the media resource the UA has buffered.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 98 of 100DaysOfSpec, media elements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-98-100/"/>
      <updated>2015-08-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-98-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;Continuing to read in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#loading-the-media-resource&quot;&gt;4.7.10.5 Loading the media resource&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-resource-fetch-algorithm%2C-contd.&quot;&gt;The resource fetch algorithm, contd.&lt;/h2&gt;
&lt;p&gt;Headings below are my own.&lt;/p&gt;
&lt;h2 id=&quot;algorithm-when-resource-is-available&quot;&gt;Algorithm when resource is available&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;When the algorithm is able to determine the media resource’s duration, dimensions, and “other metadata”, that means the resource is usable. This is when the UA can start doing timeline (playback positions, etc) and duration work. This is also when the height and width attributes are set, and a &lt;code&gt;resize&lt;/code&gt; event is fired. At the end of this work, the &lt;code&gt;readyState&lt;/code&gt; attribute is set to &lt;code&gt;HAVE_METADATA&lt;/code&gt; (+ &lt;code&gt;loadedmetadata&lt;/code&gt; DOM event, for you scripting folks).&lt;/li&gt;
&lt;li&gt;After this work, the UA enables relevant audio/video tracks specified on the media resource in the &lt;code&gt;audioTracks&lt;/code&gt;/&lt;code&gt;videoTracks&lt;/code&gt; object. The first one listed in &lt;code&gt;videoTracks&lt;/code&gt; is the selected video track, and all the others are disabled. This step can be triggered again by other events.&lt;/li&gt;
&lt;li&gt;“Once the readyState attribute reaches HAVE_CURRENT_DATA, after the loadeddata event has been fired, set the element&#39;s delaying-the-load-event flag to false. This stops delaying the load event.” The UA would also stop any buffering at this point.&lt;/li&gt;
&lt;li&gt;A UA is required to determine a media resource’s duration before playing the file.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;algorithm-after-the-media-resource-has-been-fetched-(possibly-before-decoded)&quot;&gt;Algorithm after the media resource has been fetched (possibly before decoded)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;UAs fire &lt;code&gt;progress&lt;/code&gt; event, set &lt;code&gt;networkState&lt;/code&gt; to &lt;code&gt;NETWORK_IDLE&lt;/code&gt;, fire &lt;code&gt;suspend&lt;/code&gt; event.&lt;/li&gt;
&lt;li&gt;Can reset &lt;code&gt;networkState&lt;/code&gt; to &lt;code&gt;NETWORK_LOADING&lt;/code&gt; if the UA ever needs to get more data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;algorithm-after-a-connection-interruption-forces-the-ua-to-give-up-fetching-(some-data-has-been-received)&quot;&gt;Algorithm after a connection interruption forces the UA to give up fetching (some data has been received)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fetching process gets canceled.&lt;/li&gt;
&lt;li&gt;The UA reports an error—and fires an &lt;code&gt;error&lt;/code&gt; event—and then the &lt;code&gt;networkState&lt;/code&gt; is at &lt;code&gt;NETWORK_IDLE&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;UA has to stop delaying the load event.&lt;/li&gt;
&lt;li&gt;The whole resource selection algorithm is aborted.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;algorithm-if-the-media-data-is-corrupted&quot;&gt;Algorithm if the media data is corrupted&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Like above, fetching gets cancelled, error stuff gets set/fired.&lt;/li&gt;
&lt;li&gt;If the &lt;code&gt;readyState&lt;/code&gt; attribute’s value is “equal to” &lt;code&gt;HAVE_NOTHING&lt;/code&gt;, the element’s poster frame is shown. Some conditional outcomes here for &lt;code&gt;networkState&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Like above, stop delaying load and abort the algorithm.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;algorithm-if-the-user-aborted-the-fetching-process&quot;&gt;Algorithm if the user aborted the fetching process&lt;/h2&gt;
&lt;p&gt;(For example, pressing a “stop” button). This part of the process is not triggered by the &lt;code&gt;load&lt;/code&gt; method itself being invoked during the algorithm.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The steps are pretty much the same as the last case, except that the error code is &lt;code&gt;MEDIA_ERR_ABORTED&lt;/code&gt;, and an &lt;code&gt;abort&lt;/code&gt; event is fired instead of an &lt;code&gt;error&lt;/code&gt; event.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;algorithm-if-the-media-data-has-%E2%80%9Cnon-fatal-errors-or-uses%2C-in-part%2C-codecs-that-are-unsupported%E2%80%9D&quot;&gt;Algorithm if the media data has “non-fatal errors or uses, in part, codecs that are unsupported”&lt;/h2&gt;
&lt;p&gt;The server has to cause the UA to render what it can handle. All other data is ignored.&lt;/p&gt;
&lt;h2 id=&quot;algorithm-when-the-media-resource-declares-a-ua-supported-media-resource-specific-text-track&quot;&gt;Algorithm when the media resource declares a UA-supported media-resource-specific text track&lt;/h2&gt;
&lt;p&gt;The algorithm has to go through the steps to expose that text track if the media data is set to CORS-same-origin. There’s a security issue with sending possibly sensitive info in subtitles across domains.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;One final note is that it’s quite possible that a media element would never reach the final step of the algorithm, which is aborting the algorithm itself. An example is a live-streaming infinite audio file for an online radio station.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 97 of 100DaysOfSpec, media elements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-97-100/"/>
      <updated>2015-08-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-97-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;Continuing to read in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#media-elements&quot;&gt;4.7.10&lt;/a&gt; Media elements&lt;/p&gt;
&lt;h2 id=&quot;the-resource-fetch-algorithm&quot;&gt;The resource fetch algorithm&lt;/h2&gt;
&lt;p&gt;Assumes an absolute URL has been provided by the resource selection algorithm.&lt;/p&gt;
&lt;p&gt;Like the resource selection algorithm, this is also a long one, so here’s just some brief hmm-interesting notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There’s a set of substeps to the algorithm to allow UAs to implement &lt;code&gt;preload=“none”&lt;/code&gt; (wait until user explicitly requests media resource).&lt;/li&gt;
&lt;li&gt;UAs can throttle data downloads, as well as allow users to block or slow those downloads. If the user blocks the download, the UA has to treat it as &lt;code&gt;stalled&lt;/code&gt;, as opposed to a scorched-earth closed connection.&lt;/li&gt;
&lt;li&gt;UAs can choose whether or not to download more content at any given time. Use cases include long buffering times, waiting on user input, or when the user navigates away from the page containing the media element. If the UA chooses to suspend the download they fire an event called, well, &lt;code&gt;suspend&lt;/code&gt;. The spec reminds us that the &lt;code&gt;preload&lt;/code&gt; attribute the author set on the media element is a hint as to what might be an appropriate buffering time for the file; that can help inform the UA’s decision.&lt;/li&gt;
&lt;li&gt;“The user agent may use whatever means necessary to fetch the resource”. Now THERE’S a thrilling action flick.&lt;/li&gt;
&lt;li&gt;“This specification does not currently say whether or how to check the MIME types of the media resources, or whether or how to perform file type sniffing using the actual file data.” It’s interesting to see a spot in the spec where no guidance is given because everyone is doing it differently and can’t agree on how to proceed. I assume there’s more areas like this than are called out, but this one is a big one.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More on this algorithm tomorrow.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 96 of 100DaysOfSpec, media elements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-96-100/"/>
      <updated>2015-08-25T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-96-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;Continuing to read in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#media-elements&quot;&gt;4.7.10&lt;/a&gt; Media elements&lt;/p&gt;
&lt;h2 id=&quot;4.7.10.5-loading-the-media-resource&quot;&gt;4.7.10.5 Loading the media resource&lt;/h2&gt;
&lt;p&gt;(Further headings in this post are my own)&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;media .load()&lt;/code&gt; method “causes the element to reset and start selecting and loading a new media resource from scratch”. This means any “pending events and callbacks” the media element may have are scrapped.&lt;/p&gt;
&lt;h2 id=&quot;the-media-element-load-algorithm&quot;&gt;The media element load algorithm&lt;/h2&gt;
&lt;p&gt;“All media elements have an autoplaying flag, which must begin in the true state.” I wonder why?&lt;/p&gt;
&lt;p&gt;Interesting that the media element load algorithm directs UAs to initially set particular attributes to Not-a-Number (NaN). I would have assumed that unset attributes would just be…empty.&lt;/p&gt;
&lt;h2 id=&quot;the-resource-selection-algorithm&quot;&gt;The resource selection algorithm&lt;/h2&gt;
&lt;p&gt;This algorithm is &lt;em&gt;invoked&lt;/em&gt; synchronously, but after a couple steps runs asynchronously (at the same time as other scripts and tasks). Suppose this is why there’s some setting and unsetting of the delaying-the-load-event to true.&lt;/p&gt;
&lt;p&gt;These media algorithms are pretty involved. I want to find the person(s) at work who implemented them and shake their hand(s).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 95 of 100DaysOfSpec, media elements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-95-100/"/>
      <updated>2015-08-24T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-95-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.10-media-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#media-elements&quot;&gt;4.7.10&lt;/a&gt; Media elements&lt;/h2&gt;
&lt;h3 id=&quot;4.7.10.3-mime-types&quot;&gt;4.7.10.3 MIME types&lt;/h3&gt;
&lt;p&gt;With some MIME types, you can describe the media resource with a &lt;code&gt;codecs&lt;/code&gt; parameters (&lt;code&gt;video/mp4; codecs=“stuffgoeshere”&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;MIME types are not necessarily a silver bullet, a guarantee that the UA can definitely play a media element with that resource. They’re merely suggestions that a resource is playable, and they can help &lt;strong&gt;rule out&lt;/strong&gt; the usability of some files (like if a resource’s MIME type is specified as “pineapple”, and I can’t play a pineapple file, that is helpful).&lt;/p&gt;
&lt;p&gt;Accordingly, the &lt;code&gt;canPlayType()&lt;/code&gt; method returns very non-committal messages: an empty string (can’t play), &lt;code&gt;maybe&lt;/code&gt;, or &lt;code&gt;probably&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;“The MIME type &lt;code&gt;application/octet-stream&lt;/code&gt; with no parameters is never a type that the user agent knows it cannot render.” It has to treat this type as if there’s not really any type information at all. The “no parameters” bit is important; if of a resource of this type has parameters, then it can be treated as a specific MIME type.&lt;/p&gt;
&lt;h3 id=&quot;4.7.10.4-network-states&quot;&gt;4.7.10.4 Network states&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;networkState&lt;/code&gt; attribute stores the media element’s current network activity. Values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NETWORK_EMPTY&lt;/code&gt;: nothing has happened yet&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NETWORK_IDLE&lt;/code&gt;: resource has been selected by the algorithm, but nothing currently happening&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NETWORK_LOADING&lt;/code&gt;: UA actively trying to download the resource’s data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NETWORK_NO_SOURCE&lt;/code&gt;: algorithm is active, but hasn’t found a resource to use yet&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 94 of 100DaysOfSpec, media elements</title>
      <link href="https://melanie-richards.com/blog/day-94-100/"/>
      <updated>2015-08-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-94-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.10-media-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#media-elements&quot;&gt;4.7.10&lt;/a&gt; Media elements&lt;/h2&gt;
&lt;p&gt;This section presents the media elements’ (&lt;code&gt;audio&lt;/code&gt; and &lt;code&gt;video&lt;/code&gt;) IDL interface and goes more into depth about commonalities across media elements. Those shared attributes include &lt;code&gt;src&lt;/code&gt;, &lt;code&gt;crossorigin&lt;/code&gt;, &lt;code&gt;preload&lt;/code&gt;, &lt;code&gt;autoplay&lt;/code&gt;, &lt;code&gt;mediagroup&lt;/code&gt;, &lt;code&gt;loop&lt;/code&gt;, &lt;code&gt;muted&lt;/code&gt;, and &lt;code&gt;controls&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.7.10.1-error-codes&quot;&gt;4.7.10.1 Error codes&lt;/h2&gt;
&lt;p&gt;Media elements have an error status associated with them: a &lt;code&gt;MediaError&lt;/code&gt; object stored in the &lt;code&gt;error&lt;/code&gt; attribute. It would appear that this status only tracks one most recent error at a time. You can return such an error code by getting &lt;code&gt;media .error.code&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Error codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MEDIA_ERR_ABORTED&lt;/code&gt;: fetching stopped at user’s request (stop loading a slow web page, I think might be an example)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MEDIA_ERR_NETWORK&lt;/code&gt;: a network error stopped the fetch. This error would be thrown only if the UA already determined that the media resource was a usable file; same with &lt;code&gt;MEDIA_ERR_DECODE&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MEDIA_ERR_DECODE&lt;/code&gt;: now here’s the BS-y error! “An error of some description occurred”. Ok?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MEDIA_ERR_SRC_NOT_SUPPORTED&lt;/code&gt;: “The media resource indicated by the src attribute was not suitable.”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.10.2-location-of-the-media-resource&quot;&gt;4.7.10.2 Location of the media resource&lt;/h2&gt;
&lt;p&gt;The only info I think might be new here since a previous section is that there’s a &lt;code&gt;currentSrc&lt;/code&gt; IDL attribute on the media element that gives…the current source. It starts out as an empty string, and could be accessed in scripting languages via &lt;code&gt;media .currentSrc&lt;/code&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 93 of 100DaysOfSpec, the track element</title>
      <link href="https://melanie-richards.com/blog/day-93-100/"/>
      <updated>2015-08-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-93-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.9-the-track-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-track-element&quot;&gt;4.7.9&lt;/a&gt; The track element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;track&lt;/code&gt; element allows authors to specify explicit external timed text tracks for media elements.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kind&lt;/code&gt;: lol why is this not called “type”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;src&lt;/code&gt;: required&lt;/li&gt;
&lt;li&gt;&lt;code&gt;srclang&lt;/code&gt;: BCP 47 language tag&lt;/li&gt;
&lt;li&gt;&lt;code&gt;label&lt;/code&gt;: user-visible title for track&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default&lt;/code&gt;: enable this track in absence of user preference overrides&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Keywords that can be used for the &lt;code&gt;kind&lt;/code&gt; attribute include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;subtitles&lt;/code&gt;: overlaid on video when it’s hard to understand the audio&lt;/li&gt;
&lt;li&gt;&lt;code&gt;captions&lt;/code&gt;: overlaid on video; more complete transcription of dialog and sounds, that could be considered complete enough for the hard-of-hearing to rely on&lt;/li&gt;
&lt;li&gt;&lt;code&gt;descriptions&lt;/code&gt;: “synthesized as audio”; descriptions of the visual video portion, for when those visuals are unavailable or unusable for whatever reason.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chapters&lt;/code&gt;: chapter titles for navigating through the video, which the UA interface displays as an interactive list.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt;: not displayed; “tracks intended for use from script”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Default value, if the &lt;code&gt;kind&lt;/code&gt; attribute is missing, is &lt;code&gt;subtitles&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Other notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Doesn’t have an end tag or ARIA roles.&lt;/li&gt;
&lt;li&gt;A media element (&lt;code&gt;video&lt;/code&gt; or &lt;code&gt;audio&lt;/code&gt;) can only have one each of a track element with: &lt;code&gt;kind&lt;/code&gt; attribute determined to be &lt;code&gt;subtitles&lt;/code&gt; or &lt;code&gt;captions&lt;/code&gt;, and with &lt;code&gt;default&lt;/code&gt; attribute true; &lt;code&gt;kind&lt;/code&gt; attribute as &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;default&lt;/code&gt;; &lt;code&gt;kind&lt;/code&gt; attribute as &lt;code&gt;chapters&lt;/code&gt;, default. I interpret the spec to mean that these conditions can be met when the &lt;code&gt;kind&lt;/code&gt; attribute defaults to &lt;code&gt;subtitles&lt;/code&gt;, instead of having to be explicitly set, but that is just an interpretation.&lt;/li&gt;
&lt;li&gt;Can have as many &lt;code&gt;track&lt;/code&gt; elements with &lt;code&gt;metadata&lt;/code&gt; in the &lt;code&gt;kind&lt;/code&gt; attribute as you want!&lt;/li&gt;
&lt;li&gt;One use case for multiple track elements is the option to have subtitles/captions in different languages.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 92 of 100DaysOfSpec, the source element</title>
      <link href="https://melanie-richards.com/blog/day-92-100/"/>
      <updated>2015-08-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-92-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.8-the-source-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-source-element&quot;&gt;4.7.8&lt;/a&gt; The source element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;source&lt;/code&gt; element allows authors to specify multiple alternative media resources for media elements.” That is, &lt;code&gt;audio&lt;/code&gt; and &lt;code&gt;video&lt;/code&gt; elements.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can’t stuff any content inside this element.&lt;/li&gt;
&lt;li&gt;Attributes besides globals are &lt;code&gt;src&lt;/code&gt; and &lt;code&gt;type&lt;/code&gt; (of resource). &lt;code&gt;src&lt;/code&gt; is required.&lt;/li&gt;
&lt;li&gt;No end tag or ARIA roles.&lt;/li&gt;
&lt;li&gt;Probably relevant to some folks: “Dynamically modifying a source element and its attribute when the element is already inserted in a video or audio element will have no effect.” You want to instead mess with the &lt;code&gt;src&lt;/code&gt; attribute on the &lt;code&gt;video&lt;/code&gt; or &lt;code&gt;audio&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;Hey, this area of the spec actually gives some example MIME types for the &lt;code&gt;type&lt;/code&gt; attribute! *celebratory trumpet sound*&lt;/li&gt;
&lt;li&gt;That type attribute can help the UA determine if the file is a useful media type worth fetching.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 91 of 100DaysOfSpec, the video element, contd. and the audio element</title>
      <link href="https://melanie-richards.com/blog/day-91-100/"/>
      <updated>2015-08-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-91-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-video-element&quot;&gt;4.7.6 The video element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.6-the-video-element%2C-contd.&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-video-element&quot;&gt;4.7.6&lt;/a&gt; The video element, contd.&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;UAs have to provide controls for closed captions, audio description tracks, etc. without “interfering” with the way a page would usually render. So, no thinking outside the box. ;]&lt;/li&gt;
&lt;li&gt;Can display the video content fullscreen or in a new window. Controls to enable alternate views also can’t mess with expected page rendering, but the UA can be freer with control placement when the video is in these independent views.&lt;/li&gt;
&lt;li&gt;The UA can “allow video playback to affect system features that could interfere with the user&#39;s experience”. The example they give is disabling screensaver that otherwise would have popped up while watching a longish video.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.7-the-audio-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-audio-element&quot;&gt;4.7.7&lt;/a&gt; The audio element&lt;/h2&gt;
&lt;p&gt;“An audio element represents a sound or audio stream.”&lt;/p&gt;
&lt;p&gt;Attributes, besides globals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;src&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cross origin&lt;/code&gt;: how these requests are handled&lt;/li&gt;
&lt;li&gt;&lt;code&gt;preload&lt;/code&gt;: hint at how much buffering needed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;autoplay&lt;/code&gt;: hint that the UA can autoplay the audio&lt;/li&gt;
&lt;li&gt;&lt;code&gt;media group&lt;/code&gt;: “Groups media elements together with an implicit MediaController”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loop&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;muted&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;controls&lt;/code&gt;: show the UA controls&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If it has a &lt;code&gt;src&lt;/code&gt; attribute set, can contain 0+ &lt;code&gt;track&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;If no &lt;code&gt;src&lt;/code&gt; attribute, 0+ &lt;code&gt;source&lt;/code&gt; elements, then 0+ &lt;code&gt;track&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;After these elements, the &lt;code&gt;audio&lt;/code&gt; element’s content model is transparent, which means whatever you can put in the element’s parent (or closest ancestor that isn’t also transparent…), you can put inside the element. In this case there is an exception against media elements.&lt;/li&gt;
&lt;li&gt;Also this element’s content is not exposed to the user, it’s fallback content for older browsers, not meant for accessibility (just like the fallback content in &lt;code&gt;video&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Only allowed ARIA role is &lt;code&gt;application&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 90 of 100DaysOfSpec, the video element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-90-100/"/>
      <updated>2015-08-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-90-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-video-element&quot;&gt;4.7.6 The video element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;p&gt;These notes extend the &lt;a href=&quot;https://melanie-richards.com/blog/day-89-of-100&quot;&gt;previous day’s post&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the UA can’t fetch a poster image by the URL stored in the &lt;code&gt;poster&lt;/code&gt; attribute on &lt;code&gt;video&lt;/code&gt;, there is no poster image. I assume the first frame of the video just gets used for preview?&lt;/li&gt;
&lt;li&gt;The video’s format has an impact on which frame is associated with a playback position.&lt;/li&gt;
&lt;li&gt;In UA’s implementation, the audio has to be synced up with video, “at the element&#39;s effective media volume”.&lt;/li&gt;
&lt;li&gt;The UA can choose to give visual cues on the &lt;code&gt;video&lt;/code&gt; element as to the element’s status.&lt;/li&gt;
&lt;li&gt;If the UA can’t render the &lt;code&gt;video&lt;/code&gt;, it can link out to another method of playback or the raw video data.&lt;/li&gt;
&lt;li&gt;Unless overridden by styling, the UA is beholden to rendering video content at its original aspect ratio, centered in the playback area, as large as possible without getting clipped in one direction or another.&lt;/li&gt;
&lt;li&gt;Intrinsic height and width of the playback area are determined from the poster frame, or the video resource as a backup, if available. Default “object size” is 300px x 150px (CSS pixels, since a device’s “effective” pixels is not a fixed value).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Didn’t get too far in today’s reading because somedays you just. aren’t. feelin’ it.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 89 of 100DaysOfSpec, param and video elements</title>
      <link href="https://melanie-richards.com/blog/day-89-100/"/>
      <updated>2015-08-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-89-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#embedded-content-0&quot;&gt;4.7 Embedded content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;4.7.5-the-param-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-param-element&quot;&gt;4.7.5&lt;/a&gt; The param element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;param&lt;/code&gt; element defines parameters for plugins invoked by object elements. It does not represent anything on its own.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is a child of an &lt;code&gt;object&lt;/code&gt; element, before flow content.&lt;/li&gt;
&lt;li&gt;Both possible attributes (&lt;code&gt;name&lt;/code&gt; and &lt;code&gt;value&lt;/code&gt;) need to be applied. Either one can have any value! When this condition is met, the &lt;code&gt;param&lt;/code&gt; defines a parameter for its parent &lt;code&gt;object&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;You can have any number of &lt;code&gt;param&lt;/code&gt; elements as children of &lt;code&gt;object&lt;/code&gt; elements (0+).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.6-the-video-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-video-element&quot;&gt;4.7.6&lt;/a&gt; The video element&lt;/h2&gt;
&lt;p&gt;“A &lt;code&gt;video&lt;/code&gt; element is used for playing videos or movies, and audio files with captions.”&lt;/p&gt;
&lt;p&gt;Attributes besides globals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;src&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crossorigin&lt;/code&gt;: how it handles requests from other origins&lt;/li&gt;
&lt;li&gt;&lt;code&gt;poster&lt;/code&gt;: frame to show before the video plays. Pretty neat. Value is a URL.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;preload&lt;/code&gt;: “hints how much buffering the media resource will likely need”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;autoplay&lt;/code&gt;: whether the video can be played on page load. The word used in the spec is “hint”. Which means that the UA has flexibility in whether or not to honor the autoplay…&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mediagroup&lt;/code&gt; “groups media elements together with an implicit MediaController”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loop&lt;/code&gt;: boolean&lt;/li&gt;
&lt;li&gt;&lt;code&gt;muted&lt;/code&gt;: also a boolean&lt;/li&gt;
&lt;li&gt;&lt;code&gt;controls&lt;/code&gt;: show UA controls&lt;/li&gt;
&lt;li&gt;&lt;code&gt;width&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;height&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Only one ARIA role available: &lt;code&gt;application&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fallback content is allowed for old browsers. Specifically not meant to fix accessibility (a11y) problems.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;strategies-for-a11y&quot;&gt;Strategies for a11y&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Captions embedded in the video or in external files using the &lt;code&gt;track element&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Sign-language tracks embedded or provided in additional synced-up &lt;code&gt;video&lt;/code&gt; elements&lt;/li&gt;
&lt;li&gt;Audio descriptions, embedded in video, or in an &lt;code&gt;audio&lt;/code&gt; element “slaved” to the video element. And here we have bias baked into technical jargon. &lt;code&gt;-__-&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Text in a WebVTT file referenced by a &lt;code&gt;track&lt;/code&gt; element, “synthesized” into speech by the UA. This tech can also provide chapter titles.&lt;/li&gt;
&lt;li&gt;Can also link to or display text transcripts close to the &lt;code&gt;video&lt;/code&gt; element.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 88 of 100DaysOfSpec, the object element</title>
      <link href="https://melanie-richards.com/blog/day-88-100/"/>
      <updated>2015-08-12T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-88-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-object-element&quot;&gt;4.7.4 The object element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin.”&lt;/p&gt;
&lt;p&gt;Attributes besides globals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;data&lt;/code&gt;: resource address&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;type&lt;/code&gt;: of resource (MIME type)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;typemustmatch&lt;/code&gt;: boolean for whether or not &lt;code&gt;type&lt;/code&gt; and Content-Type value are required to be in sync for the resource to be used. A good idea to use when the &lt;code&gt;data&lt;/code&gt; value comes from untrusted origins to prevent malicious attacks. Need to have both &lt;code&gt;data&lt;/code&gt; and &lt;code&gt;type&lt;/code&gt; attributes to use this.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;name&lt;/code&gt;: of nested browsing context&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;usemap&lt;/code&gt;: name of (optional) image map&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;form&lt;/code&gt;: can use to tie &lt;code&gt;object&lt;/code&gt; to a &lt;code&gt;form&lt;/code&gt; element&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;width&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;height&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ALL the element categories! (Well, almost).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can use &lt;code&gt;application&lt;/code&gt;, &lt;code&gt;document&lt;/code&gt;, &lt;code&gt;img&lt;/code&gt;, or &lt;code&gt;presentation&lt;/code&gt; ARIA roles.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;object&lt;/code&gt; element must have &lt;code&gt;data&lt;/code&gt; or/and a &lt;code&gt;type&lt;/code&gt; attribute.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There are a lot of events that trigger a task determining what the &lt;code&gt;object&lt;/code&gt; element represents. Could be good to look at in the future when trying to keep a page performant?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“The task source for this task is the DOM manipulation task source.” Ahhh I haven’t gotten to this section of the spec yet! I’m sure this has some sort of interesting implication for perf or something.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Attributes on the &lt;code&gt;object&lt;/code&gt; element, when determined to be a plugin, are passed to said plugin in the order they were added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Contents of &lt;code&gt;object&lt;/code&gt; elements are used as fallback content if and only if the referenced resource isn’t available (404 error, etc).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Plugins aren’t a nested browsing context.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 87 of 100DaysOfSpec, the embed element</title>
      <link href="https://melanie-richards.com/blog/day-87-100/"/>
      <updated>2015-08-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-87-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-embed-element&quot;&gt;4.7.3 The embed element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“The embed element provides an integration point for an external (typically non-HTML) application or interactive content.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Considered flow, phrasing, embedded, interactive, and palpable content. ALL the categories! Well, almost.&lt;/li&gt;
&lt;li&gt;Can’t contain descendants.&lt;/li&gt;
&lt;li&gt;No end tag.&lt;/li&gt;
&lt;li&gt;Can have these ARIA roles: &lt;code&gt;application&lt;/code&gt;, &lt;code&gt;document&lt;/code&gt;, &lt;code&gt;img&lt;/code&gt;, or &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Attributes, besides the globals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;type&lt;/code&gt;: a valid MIME type. I can’t seem to find the list they reference, but &lt;a href=&quot;https://www.freeformatter.com/mime-types-list.html&quot;&gt;here’s a mega list&lt;/a&gt;!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;width&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;height&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Any other attribute that has no namespace” More on this later.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lots of requirements on the &lt;code&gt;embed&lt;/code&gt; to be considered “potentially active”. Of note, the element is not a descendent of a media element, nor of an &lt;code&gt;object element that is not showing its fallback content&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No fallback content on the &lt;code&gt;embed&lt;/code&gt; element.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“If the user agent can’t find a suitable plugin when attempting to find and instantiate one for the algorithm above, then the user agent must use a default plugin. This default could be as simple as saying ‘Unsupported Format’.”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;That plugin has to be unloaded when the &lt;code&gt;embed&lt;/code&gt; element can no longer be considered potentially active.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If said plugin can’t be secured and “the sandboxed plugin’s browsing context flag is set on the embed element’s Document’s active sandboxing flag set”, the user agent should not load the plugin, and should show the &lt;code&gt;embed&lt;/code&gt; as a disabled plugin message (you’ve seen this for Flash, surely).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Plugins that cannot be secured are disabled in sandboxed browsing contexts because they might not honor the restrictions imposed by the sandbox”.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Any &lt;a href=&quot;https://en.wikipedia.org/wiki/Namespace&quot;&gt;namespace&lt;/a&gt;-less attribute other than &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;align&lt;/code&gt;, &lt;code&gt;hspace&lt;/code&gt;, and &lt;code&gt;vspace&lt;/code&gt; may be specified on the embed element, so long as its name is XML-compatible and contains no uppercase ASCII letters.” Those exceptions are for legacy embed stuff.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 86 of 100DaysOfSpec, the iframe element</title>
      <link href="https://melanie-richards.com/blog/day-86-100/"/>
      <updated>2015-08-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-86-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#the-iframe-element&quot;&gt;4.7.2 the iframe element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“The &lt;code&gt;iframe&lt;/code&gt; element represents a nested browsing context.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Considered flow, phrasing, embedded, interactive, and palpable content. Dang.&lt;/li&gt;
&lt;li&gt;Can set ARIA roles of &lt;code&gt;application&lt;/code&gt;, &lt;code&gt;document&lt;/code&gt;, &lt;code&gt;img&lt;/code&gt;, or &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Attributes, besides global:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt;: address of a page to contain&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;srcdoc&lt;/code&gt;: content of a page to contain. “The value of the attribute is the source of an iframe srcdoc document.” Quote marks, ampersands, left angle brackets, and some XML whitespace characters within the &lt;code&gt;srcdoc&lt;/code&gt; attribute have to be escaped. Check out &lt;a href=&quot;https://developers.whatwg.org/the-iframe-element.html#the-iframe-element&quot;&gt;this spec companion site&lt;/a&gt; for an example. The spec seems to suggest that these attributes should have an &lt;code&gt;html&lt;/code&gt; root element, but none of the examples I’ve seen elsewhere include it. If you’re looking for cross-browser support, however, &lt;a href=&quot;https://caniuse.com/#search=srcdoc&quot;&gt;you may be disappointed&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;name&lt;/code&gt;: a &lt;a href=&quot;https://www.w3.org/TR/html5/browsers.html#valid-browsing-context-name&quot;&gt;browsing context name&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;sandbox&lt;/code&gt;: extra security rules. Written as case-insensitive space-separated “tokens”, like how multiple class names are set on an element. “When the attribute is set, the content is treated as being from a unique origin, forms, scripts, and various potentially annoying APIs are disabled, links are prevented from targeting other browsing contexts, and plugins are secured.” You use the tokens in this attribute value to override some of these restrictions: &lt;code&gt;allow-forms&lt;/code&gt;, &lt;code&gt;allow-pointer-lock&lt;/code&gt;, &lt;code&gt;allow-popups&lt;/code&gt;, &lt;code&gt;allow-same-origin&lt;/code&gt;, &lt;code&gt;allow-scripts&lt;/code&gt;, and &lt;code&gt;allow-top-navigation&lt;/code&gt;. Would suggest reading the warnings in the spec as you can open up some security and/or embedding issues.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;width&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;height&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When an &lt;code&gt;iframe&lt;/code&gt; is removed from a document: “this happens without any unload events firing (the nested browsing context and its Document are discarded, not unloaded).” Good to noted if you’re trying to write a script listening for this event.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;iframe&lt;/code&gt; attributes get re-processed whenever the &lt;code&gt;srcdoc&lt;/code&gt; or &lt;code&gt;src&lt;/code&gt; (if no &lt;code&gt;srcdoc&lt;/code&gt;) attribute is manipulated.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“When a Document in an &lt;code&gt;iframe&lt;/code&gt; is marked as completely loaded, the user agent must synchronously run the &lt;code&gt;iframe&lt;/code&gt; load event steps.”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“A load event is also fired at the &lt;code&gt;iframe&lt;/code&gt; element when it is created if no other data is loaded in it.”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;iframe&lt;/code&gt; loading steps open up some vulnerabilities. “User agents may implement cross-origin access control policies that are stricter than those described above to mitigate this attack, but unfortunately such policies are typically not compatible with existing Web content.” :/&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The spec says that there is no fallback content for an &lt;code&gt;iframe&lt;/code&gt; as a nested browsing context is always created, but then immediately follows this with “In legacy user agents that do not support iframe elements, the contents would be parsed as markup that could act as fallback content.” Uh?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In XML, the &lt;code&gt;iframe&lt;/code&gt; has to be empty. In HTML, the content model is “text”, where the parsing algorithm returns only error-free phrasing content, and there are no &lt;code&gt;script&lt;/code&gt; element descendants. I’m a little unclear as to whether “text” refers to loose text or if phrasing content elements going into said algorithm are ok. Especially because the the markup is “treated” as text.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 85 of 100DaysOfSpec, alt text for images, contd.</title>
      <link href="https://melanie-richards.com/blog/day-85-100/"/>
      <updated>2015-08-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-85-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#alt&quot;&gt;4.7.1.1 Requirements for providing text to act as an alternative for images&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.16-when-a-text-alternative-is-not-available-at-the-time-of-publication&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#when-a-text-alternative-is-not-available-at-the-time-of-publication&quot;&gt;4.7.1.1.16&lt;/a&gt; When a text alternative is not available at the time of publication&lt;/h2&gt;
&lt;p&gt;The uses cases here generally seem to revolve around automated processes in which the end user didn’t supply any specific information about the image, or the point of the interface on which the image appears is so that the end user supplies the info.&lt;/p&gt;
&lt;p&gt;Direction here is to do this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-HTML&quot;&gt;&amp;lt;figure&amp;gt;
	&amp;lt;img src=“DSC82349082734.jpg”&amp;gt;
	&amp;lt;figcaption&amp;gt;Whatever info a machine can glean, such as file name or timestamp attached to the image file.&amp;lt;/figcaption&amp;gt;
&amp;lt;/figure&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Notably, this is a last-ditch effort.&lt;/p&gt;
&lt;p&gt;I actually think it’s weird that the spec includes this as a use case: “She has provided a caption for the image but not a text alternative. This may be because the site does not provide users with the ability to add a text alternative in the alt attribute.” It would be odd to ask non-technical, untrained users for a text alternative, and if such a user enters a description for an image (as in a photo gallery site) there’s a high chance that it’s a workable value for the alternative text. If the direction really is to to avoid this situation where you have a caption but no alt, I personally think it would be better to use the customer’s value than none at all (and now I’m wondering how many fights a working group had about this).&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.17-an-image-not-intended-for-the-user&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#an-image-not-intended-for-the-user&quot;&gt;4.7.1.1.17&lt;/a&gt; An image not intended for the user&lt;/h2&gt;
&lt;p&gt;If you’re using an image as a spacing hack or for web statistics, the &lt;code&gt;alt&lt;/code&gt; attribute is an empty string. Set &lt;code&gt;width&lt;/code&gt;/&lt;code&gt;height&lt;/code&gt; to &lt;code&gt;0&lt;/code&gt; where possible, in the latter or similar cases.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.18-icon-images&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#icon-images&quot;&gt;4.7.1.1.18&lt;/a&gt; Icon Images&lt;/h2&gt;
&lt;p&gt;“Use an empty &lt;code&gt;alt&lt;/code&gt; attribute when an icon is supplemental to text conveying the same meaning.”&lt;/p&gt;
&lt;p&gt;If the icon image adds more meaning to the surrounding text, though, you should add its text equivalent to the &lt;code&gt;alt&lt;/code&gt; attribute value.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.19-logos%2C-insignia%2C-flags%2C-or-emblems&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#logos,-insignia,-flags,-or-emblems&quot;&gt;4.7.1.1.19&lt;/a&gt; Logos, insignia, flags, or emblems&lt;/h2&gt;
&lt;p&gt;How you use the &lt;code&gt;alt&lt;/code&gt; text here depends on context:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the icon is the only content in a link, the &lt;code&gt;alt&lt;/code&gt; text describes where the link leads.&lt;/li&gt;
&lt;li&gt;If it’s a logo representing an “entity”, with no surrounding text to support it—as in a grid of “our customers” logos—set the &lt;code&gt;alt&lt;/code&gt; text to the name of said entity. Can also do &lt;code&gt;alt=“[logo] SuperCoolCompany”&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If that logo is accompanied by said entity name, set an empty &lt;code&gt;alt&lt;/code&gt; attribute on the &lt;code&gt;img&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;“If the logo is used alongside text discussing the subject or entity the logo represents, then provide a text alternative which describes the logo.” In the example, they don’t just give the name of the entity represented, they describe the general aesthetics of the logo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.1.1.20-captcha-images&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#captcha-images&quot;&gt;4.7.1.1.20&lt;/a&gt; CAPTCHA Images&lt;/h2&gt;
&lt;p&gt;I actually never knew what “CAPTCHA” stood for and it’s kind of BS: “Completely Automated Public Turing test to tell Computers and Humans Apart”.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you must use CAPTCHA images, an audio alternative must immediately precede or follow the image version.&lt;/li&gt;
&lt;li&gt;“To improve the accessibility of CAPTCHA provide text alternatives that identify and describe the purpose of the image, and provide alternative forms of the CAPTCHA using output modes for different types of sensory perception”&lt;/li&gt;
&lt;li&gt;The spec discourage CAPTCHA, as it is not even completely accessible when an audio alternative is included (what about people who can’t use the visual version nor the audio version?).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.1.1.21-guidance-for-markup-generators&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#guidance-for-markup-generators&quot;&gt;4.7.1.1.21&lt;/a&gt; Guidance for markup generators&lt;/h2&gt;
&lt;p&gt;Talkin’ about automated markup here. Dreeeeamweaver&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Get &lt;code&gt;alt&lt;/code&gt; text from users AT ALL COSTS!!!! (jk but ya rly)&lt;/li&gt;
&lt;li&gt;Can use a link’s &lt;code&gt;href&lt;/code&gt; attribute to determine a reasonable &lt;code&gt;alt&lt;/code&gt; value for an &lt;code&gt;img&lt;/code&gt; that is the link’s only child.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;figure&lt;/code&gt; and &lt;code&gt;figcaption&lt;/code&gt; to mark up image captions.&lt;/li&gt;
&lt;li&gt;For last resort situations, set the &lt;code&gt;alt&lt;/code&gt; attribute to empty if assuming a decorative image, or no &lt;code&gt;alt&lt;/code&gt; attribute if assuming the image is “a key part of the content”. Not sure how the automated service would make these assumptions, but I guess it’s a case-by-case, best judgement thing.&lt;/li&gt;
&lt;li&gt;You can set an empty &lt;code&gt;generator-unable-to-provide-required-alt&lt;/code&gt; attribute on the &lt;code&gt;img&lt;/code&gt;, which is non-conforming but shouldn’t trigger an error in conformance scanners. This is to prevent bogus &lt;code&gt;alt&lt;/code&gt; values for the sake of &lt;code&gt;alt&lt;/code&gt; text from markup generators.&lt;/li&gt;
&lt;li&gt;“Markup generators should generally avoid using the image&#39;s own file name as the text alternative.”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.1.1.22-guidance-for-conformance-checkers&quot;&gt;4.7.1.1.22 Guidance for conformance checkers&lt;/h2&gt;
&lt;p&gt;Code quality scanners have to flag a missing &lt;code&gt;alt&lt;/code&gt; attribute unless:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;img&lt;/code&gt; element is in a &lt;code&gt;figure&lt;/code&gt; element w/ a &lt;code&gt;figcaption&lt;/code&gt;, &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#figcaption-as-alt-condition&quot;&gt;like so&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;img&lt;/code&gt; element has an empty &lt;code&gt;generator-unable-to-provide-required-alt&lt;/code&gt; attribute.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As these conformance checkers are required to report these missing attributes, I think it would be a good idea for said checker to also share with the markup author that there are some cases in which the spec suggests an empty or missing &lt;code&gt;alt&lt;/code&gt; attribute, and to link out to this area of the spec. By the way, not sure if “missing” in the context of this subsection includes empty &lt;code&gt;alt&lt;/code&gt; attributes.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 84 of 100DaysOfSpec, alt text for images, contd.</title>
      <link href="https://melanie-richards.com/blog/day-84-100/"/>
      <updated>2015-08-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-84-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#alt&quot;&gt;4.7.1.1 Requirements for providing text to act as an alternative for images&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.9-a-purely-decorative-image-that-doesn&#39;t-add-any-information&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#a-purely-decorative-image-that-doesn&#39;t-add-any-information&quot;&gt;4.7.1.1.9&lt;/a&gt; A purely decorative image that doesn&#39;t add any information&lt;/h2&gt;
&lt;p&gt;I actually looked this up today. For images that are purely decorative, use an empty alt attribute (&lt;code&gt;alt=“”&lt;/code&gt;) on the img element. The spec encourages authors to try to include these images using CSS instead of through the markup, I think there are situations to demand use of the img tag instead.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.10-inline-images&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#inline&quot;&gt;4.7.1.1.10&lt;/a&gt; Inline images&lt;/h2&gt;
&lt;p&gt;“When images are used inline as part of the flow of text in a sentence, provide a word or phrase as a text alternative which makes sense in the context of the sentence it is apart of.”&lt;/p&gt;
&lt;p&gt;Section. Over.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.11-a-group-of-images-that-form-a-single-larger-picture-with-no-links&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#a-group-of-images-that-form-a-single-larger-picture-with-no-links&quot;&gt;4.7.1.1.11&lt;/a&gt; A group of images that form a single larger picture with no links&lt;/h2&gt;
&lt;p&gt;I’m just thinking right now that the people who put together this spec are really covering their bases. This whole section is a pretty awesome cheatsheet when you’re unsure of how to proceed w/ a particular &lt;code&gt;alt&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;In this case of a group of images that create a whole, you would put descriptive text on ONE of the images, and then set the others to an empty alt attribute (&lt;code&gt;alt=“”&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.12-image-maps&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#image-maps-0&quot;&gt;4.7.1.1.12&lt;/a&gt; Image maps&lt;/h2&gt;
&lt;p&gt;If the image meets &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#image-maps-0&quot;&gt;certain criteria&lt;/a&gt; such that it can be considered an image map, you HAVE to add meaningful &lt;code&gt;alt&lt;/code&gt; attributes, as it’s interactive content and needs to be accessible. You’d add said &lt;code&gt;alt&lt;/code&gt; attributes to the &lt;code&gt;img&lt;/code&gt; elements itself, and to the &lt;code&gt;area&lt;/code&gt; elements nested inside the &lt;code&gt;map&lt;/code&gt; element associated with the image.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.13-a-group-of-images-that-form-a-single-larger-picture-with-links&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#a-group-of-images-that-form-a-single-larger-picture-with-links&quot;&gt;4.7.1.1.13&lt;/a&gt; A group of images that form a single larger picture with links&lt;/h2&gt;
&lt;p&gt;In this case, each linked &lt;code&gt;img&lt;/code&gt; within the composite whole needs an &lt;code&gt;alt&lt;/code&gt; attribute.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.14-images-of-pictures&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#images-of-pictures&quot;&gt;4.7.1.1.14&lt;/a&gt; Images of Pictures&lt;/h2&gt;
&lt;p&gt;They’re referring here to photos, paintings, drawings, artwork, illustrations, etc. that “can convey a significant amount of information visually or provide a specific sensory experience, to a sighted person”.&lt;/p&gt;
&lt;p&gt;In these cases, you would write a brief description, a task in which “best judgement” is needed. I still think a good test would be to read the alt text and surrounding text out loud to someone (keeping in mind that a screen reader would typically announce presence of an image before or after the alt text).&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.15-webcam-images&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#webcam-images&quot;&gt;4.7.1.1.15&lt;/a&gt; Webcam images&lt;/h2&gt;
&lt;p&gt;“Webcam images are static images that are automatically updated periodically.” Puppy cam!&lt;/p&gt;
&lt;p&gt;The idea with these is that the vantage point of the camera is pretty fixed. The alt text is the title and time stamp (preferred to be in surrounding text, but alas…?), and there would be a caption for the photo via the &lt;code&gt;figure&lt;/code&gt; and &lt;code&gt;figcaption&lt;/code&gt; elements. The way this section is written is a little confusing because it’s hard to tell what the spec authors are advising and what they are saying gets returned by your typical webcam program.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 83 of 100DaysOfSpec, alt text for images, contd.</title>
      <link href="https://melanie-richards.com/blog/day-83-100/"/>
      <updated>2015-08-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-83-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#alt&quot;&gt;4.7.1.1 Requirements for providing text to act as an alternative for images&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.5-images-of-text&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#images-of-text&quot;&gt;4.7.1.1.5&lt;/a&gt; Images of text&lt;/h2&gt;
&lt;p&gt;Remember way back in the day when, in order to use a custom font, you had to display text as an image? And whole content or navigation areas of websites were totally inaccessible? Aww.&lt;/p&gt;
&lt;p&gt;Please don’t do that anymore.&lt;/p&gt;
&lt;p&gt;The spec also discourages this practice, but if you absolutely must use an image that’s only text—or you’re trying to un-suck a super old site without sinking too much time into it—the &lt;code&gt;alt&lt;/code&gt; text simply matches the text shown on the image.&lt;/p&gt;
&lt;p&gt;Other tips in this section:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the same text is repeated for visual impact, it’s not necessary to repeat it in the &lt;code&gt;alt&lt;/code&gt; text. Only put stuff there that would make sense if you read it out loud to somebody.&lt;/li&gt;
&lt;li&gt;If there’s other graphical info in the image besides just text, it may make sense to describe that in the &lt;code&gt;alt&lt;/code&gt; text as well: only if it adds value or meaning.&lt;/li&gt;
&lt;li&gt;For symbols that can’t be shown in Unicode, use the phonetic spelling of said symbol in the &lt;code&gt;alt&lt;/code&gt; attribute. But use Web fonts with character support instead wherever possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.1.1.6-images-that-include-text&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#images-that-include-text&quot;&gt;4.7.1.1.6&lt;/a&gt; Images that include text&lt;/h2&gt;
&lt;p&gt;Examples given are images that include both a chart and text. Simple direction is to make sure that the text in the image is also in the &lt;code&gt;alt&lt;/code&gt; text. You could alternatively do a short description in the &lt;code&gt;alt&lt;/code&gt; attribute and a longer version in other text in the markup, as we saw with the section on &lt;code&gt;alt&lt;/code&gt; text for charts.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#images-that-enhance-the-themes-or-subject-matter-of-the-page-content&quot;&gt;4.7.1.1.7&lt;/a&gt; Images that enhance the themes or subject matter of the page content&lt;/p&gt;
&lt;p&gt;These are images that the surrounding content doesn’t reference directly, but would add more information, context, or meaning.&lt;/p&gt;
&lt;p&gt;The big takeaway here is that you SHOULD have &lt;code&gt;alt&lt;/code&gt; text for such an image. How that is implemented is something you need to think through: it should be a description that allows the end user to understand why it was relevant to surrounding text, or what info/meaning can be gleaned from the image that can’t be from the text.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.8-a-graphical-representation-of-some-of-the-surrounding-text&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#a-graphical-representation-of-some-of-the-surrounding-text&quot;&gt;4.7.1.1.8&lt;/a&gt; A graphical representation of some of the surrounding text&lt;/h2&gt;
&lt;p&gt;“In many cases, the image is actually just supplementary, and its presence merely reinforces the surrounding text. In these cases, the alt attribute must be present but its value must be the empty string.”&lt;/p&gt;
&lt;p&gt;These are cases where no meaning is lost by removing the image, but it’s a nicer experience to have it included. Like if your text talks about how oranges are round fruits with bumpy/dimpled skins, and you have a photo of an orange to supplement that description.&lt;/p&gt;
&lt;p&gt;For images in this particular category, you could consider have a learn-more link in the image caption instead.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 82 of 100DaysOfSpec, alt text for images</title>
      <link href="https://melanie-richards.com/blog/day-82-100/"/>
      <updated>2015-08-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-82-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#alt&quot;&gt;4.7.1.1 Requirements for providing text to act as an alternative for images&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Heads up: there are many topics in this new subsection about alt text on images. Get ready!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alt&lt;/code&gt; attributes “are a primary way of making visual information accessible”. Concerning for accessibility (a11y) is when images are uploaded via WYSIWYG editors: many clients will need training on the value of adding good descriptors for images in whichever field controls the alt attribute content.&lt;/li&gt;
&lt;li&gt;Screen reader a11y is not the only reason why you’d want good alt attributes. See &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#alt&quot;&gt;this section of the spec&lt;/a&gt; for more scenarios in which this attribute would be helpful.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.7.1.1.2-general-guidelines&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#general-guidelines&quot;&gt;4.7.1.1.2&lt;/a&gt; General guidelines&lt;/h2&gt;
&lt;p&gt;“Except where otherwise specified, the alt attribute must be specified and its value must not be empty”. Purpose of the image determines how best to use the &lt;code&gt;alt&lt;/code&gt; attribute in its context.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.3-a-link-or-button-containing-nothing-but-an-image&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#a-link-or-button-containing-nothing-but-an-image&quot;&gt;4.7.1.1.3&lt;/a&gt; A link or button containing nothing but an image&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;alt&lt;/code&gt; attribute should describe the purpose of said link/button. For example, if my link is just a Twitter icon, it might say something like “Follow us on Twitter”, “@somelaniesaid on Twitter”, or “Twitter”. The surrounding text will likely have an impact on what reads out the best.&lt;/p&gt;
&lt;h2 id=&quot;4.7.1.1.4-graphical-representations%3A-charts%2C-diagrams%2C-graphs%2C-maps%2C-illustrations&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#graphical-representations:-charts,-diagrams,-graphs,-maps,-illustrations&quot;&gt;4.7.1.1.4&lt;/a&gt; Graphical Representations: Charts, diagrams, graphs, maps, illustrations&lt;/h2&gt;
&lt;p&gt;Two different things you can do here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alt&lt;/code&gt; content is exactly descriptive of the chart or what have you: reads out all axis labels, titles, values, etc. Should be able to understand all the data without looking at the image.&lt;/li&gt;
&lt;li&gt;There is other accessible text in the markup (like a caption for the chart) that writes out this exact description, and then the &lt;code&gt;alt&lt;/code&gt; content is more generally descriptive: “A pie graph representing this breakdown of most popular pies”). This is the recommendation if the &lt;code&gt;alt&lt;/code&gt; text would be very long or could benefit from more semantic structure (list, table, etc) than a dump of text.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 81 of 100DaysOfSpec, the img element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-81-100/"/>
      <updated>2015-08-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-81-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#embedded-content-0&quot;&gt;4.7 Embedded content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = User agents = Browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;img-element%2C-contd.&quot;&gt;img element, contd.&lt;/h2&gt;
&lt;p&gt;Semantics of an &lt;code&gt;img&lt;/code&gt; element, as determined by how &lt;code&gt;src&lt;/code&gt; and &lt;code&gt;alt&lt;/code&gt; attributes are set:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt; is set, &lt;code&gt;alt&lt;/code&gt; is an empty string: image is decorative or redundant with its surrounding contents. If the UA does a request and finds the image source is not available, it can choose not to render this image (and can give the user notice that it didn’t render). I suppose that would be a “broken image” icon.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt; is set, &lt;code&gt;alt&lt;/code&gt; is a non-empty string: this image is an important part of content. The &lt;code&gt;alt&lt;/code&gt; value should be a descriptor useful enough that the user would know what should have displayed there, if the image didn’t load—or if a user was browsing with a screen reader.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt; is set, &lt;code&gt;alt&lt;/code&gt; is not: “no textual equivalent of the image available.” If the image isn’t available in this case, the UA can choose to show that there’s an image here not being rendered. It can also try and grab caption information for the end user: if the &lt;code&gt;img&lt;/code&gt; is a descendent of a &lt;code&gt;figure&lt;/code&gt; and the only text info in that &lt;code&gt;figure&lt;/code&gt; is the contents of &lt;code&gt;figcaption&lt;/code&gt;, the UA can use the &lt;code&gt;figcaption&lt;/code&gt; contents as this image’s caption.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If neither &lt;code&gt;src&lt;/code&gt; nor &lt;code&gt;alt&lt;/code&gt; are set, the &lt;code&gt;img&lt;/code&gt; element doesn’t represent anything.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the &lt;code&gt;src&lt;/code&gt; is not set, but &lt;code&gt;alt&lt;/code&gt; is, the elements represents the &lt;code&gt;alt&lt;/code&gt; attribute’s text.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;alt&lt;/code&gt; attribute doesn’t store “advisory information”, as you might with the &lt;code&gt;title&lt;/code&gt; attribute.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you try to add any content to an &lt;code&gt;img&lt;/code&gt; element, it will be ignored.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Setting &lt;code&gt;usemap&lt;/code&gt; on the element shows that the image has an image map.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ismap&lt;/code&gt; set on a descendent of an &lt;code&gt;a&lt;/code&gt; element (which in turn has its &lt;code&gt;href&lt;/code&gt; attribute set), shows that the “element provides access to a server-side image map.” Is boolean and should only be used on elements that match this context.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;IDL dimension attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; return as rendered dimensions if the image is being rendered visually; intrinsic width and height if it’s not be rendered to a “visual medium”; 0 if the image is unavailable.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;naturalWidth&lt;/code&gt; and &lt;code&gt;naturalHeight&lt;/code&gt; return the intrinsic dimensions if the image is available, otherwise 0. I’m a bit shaky on what intrinsic actually means. Where is this grabbed from? Attributes set directly on the element? Something else?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some conditions here for when the &lt;code&gt;complete&lt;/code&gt; attribute would return true.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 80 of 100DaysOfSpec, img element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-80-100/"/>
      <updated>2015-07-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-80-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#embedded-content-0&quot;&gt;4.7 Embedded content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = User agents = Browsers, etc.&lt;/p&gt;
&lt;h2 id=&quot;img-element%2C-contd.&quot;&gt;img element, contd.&lt;/h2&gt;
&lt;p&gt;Current pixel density:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Initially undefined.&lt;/li&gt;
&lt;li&gt;“When an img element has a current pixel density that is not 1.0, the element&#39;s image data must be treated as if its resolution, in device pixels per CSS pixels, was the current pixel density.” So a 200px square image on a 2x screen is interpreted to be a 100px square image (hence, a blurry image if you choose to show it scaled to 200px square).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Didn’t know that the Document object stores a list of available images. UAs can copy these listed images to other documents (or remove). This would effectively be image caching so that an image doesn’t need to be fetched every time you encounter it.&lt;/p&gt;
&lt;p&gt;There’s a looooong algorithm for update an &lt;code&gt;image&lt;/code&gt; element’s image data. Interestingly, everything gets reset when you do this: the &lt;code&gt;img&lt;/code&gt; element gets put back in the unavailable state, and all its data is wiped. So switching out the &lt;code&gt;src&lt;/code&gt; may not be as performant as you might think (anecdotally, it can feel noticeable to the end user that “work” is being done, a flash or something similar).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UAs can’t support non-image files in the &lt;code&gt;img&lt;/code&gt; element. But…the spec doesn’t define what image types are. Alright, cool. As an aside there’s definitely some proprietary stuff going on with image file types.&lt;/li&gt;
&lt;li&gt;They also can’t run executable code in an image resource. Security!&lt;/li&gt;
&lt;li&gt;If the &lt;code&gt;src&lt;/code&gt; file is multi-page, like a PDF, only the first page is shown. I didn’t know you could use a PDF file in an &lt;code&gt;img&lt;/code&gt; element…but depending on how big the file is that seems wasteful from a weight perspective.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 79 of 100DaysOfSpec, 4.7 Embedded content (img element)</title>
      <link href="https://melanie-richards.com/blog/day-79-100/"/>
      <updated>2015-07-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-79-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading &lt;a href=&quot;https://www.w3.org/TR/html5/embedded-content-0.html#embedded-content-0&quot;&gt;4.7 Embedded content&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.7.1-the-img-element&quot;&gt;4.7.1 The img element&lt;/h2&gt;
&lt;p&gt;This section is going to take me daaaaays to read.&lt;/p&gt;
&lt;p&gt;“An img element represents an image.”&lt;/p&gt;
&lt;p&gt;Besides global attributes, can have these attributes set:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;alt&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;src&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;cross origin&lt;/code&gt; (handling of cross origin src requests; &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#cors-settings-attribute&quot;&gt;CORS attribute&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;usemap&lt;/code&gt; (for image maps, remember those?)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ismap&lt;/code&gt; (is it a server-side image map?)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;width&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;height&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Self-closing tag.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can be considered interactive content if has &lt;code&gt;usemap&lt;/code&gt; attribute&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can’t be used for layout or transparency hacks (&lt;em&gt;cough&lt;/em&gt; IE6).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;img&lt;/code&gt; element has these states:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unavailable&lt;/li&gt;
&lt;li&gt;Partially available&lt;/li&gt;
&lt;li&gt;Completely available: “at least the image dimensions are available”&lt;/li&gt;
&lt;li&gt;Broken: can’t even decode to get image dimensions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Even an &lt;code&gt;img&lt;/code&gt; element that is partially available is “said to be” available, which I presume has implications for scripts that check whether the image loaded. Which could be not what you want if you’re doing dimension work with JS. This is just me wondering out loud, I may not be interpreting something correctly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If scripting is turned on / available in the browsing context, the user agent (browser, etc) HAS to retrieve images immediately. Otherwise the UA could choose when to obtain the image, immediately or on demand.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On-demand-loaders can only make changes to the image when it’s in the “unavailable state” and has a &lt;code&gt;src&lt;/code&gt; attribute.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 78 of 100DaysOfSpec, 4.6 Edits, contd.</title>
      <link href="https://melanie-richards.com/blog/day-78-100/"/>
      <updated>2015-07-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-78-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#edits&quot;&gt;4.6 Edits&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All the sections I read today were non-normative and apply to &lt;a href=&quot;https://melanie-richards.com/blog/day-77-of-100&quot;&gt;yesterday’s reading&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.6.4-edits-and-paragraphs&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#edits-and-paragraphs&quot;&gt;4.6.4&lt;/a&gt; Edits and paragraphs&lt;/h2&gt;
&lt;p&gt;This is sort of a refresher from yesterday’s reading, but because having &lt;code&gt;ins&lt;/code&gt; and &lt;code&gt;del&lt;/code&gt; elements cross paragraphs (marked up with &lt;code&gt;p&lt;/code&gt; tags or implied) is hella confusing, you shouldn’t do that. Mark up each paragraph with &lt;code&gt;p&lt;/code&gt; tags, and apply &lt;code&gt;ins&lt;/code&gt; and &lt;code&gt;del&lt;/code&gt; elements as they make sense. Whole paragraph was added or deleted? Put the &lt;code&gt;p&lt;/code&gt; tag inside the edit element. Just a part of the paragraph? Put the edit element inside the &lt;code&gt;p&lt;/code&gt; element.&lt;/p&gt;
&lt;h2 id=&quot;4.6.5-edits-and-lists&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#edits-and-lists&quot;&gt;4.6.5&lt;/a&gt; Edits and lists&lt;/h2&gt;
&lt;p&gt;You can’t wrap a list item (&lt;code&gt;li&lt;/code&gt;) with an edit element because only list items are allowed as direct elemental children of &lt;code&gt;ul&lt;/code&gt; and &lt;code&gt;ol&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;You can, however, wrap the &lt;strong&gt;contents&lt;/strong&gt; of an &lt;code&gt;li&lt;/code&gt; with an &lt;code&gt;ins&lt;/code&gt; or &lt;code&gt;del&lt;/code&gt; element.&lt;/p&gt;
&lt;p&gt;If you wanted to show than a list item had been delete and replaced by another,  you can use one &lt;code&gt;li&lt;/code&gt;, with its direct descendants being a &lt;code&gt;del&lt;/code&gt; tag followed by an &lt;code&gt;ins&lt;/code&gt; tag. You COULD also use two &lt;code&gt;li&lt;/code&gt; elements, with an &lt;code&gt;ins&lt;/code&gt; and &lt;code&gt;del&lt;/code&gt; child respectively, but note that they’ll still count as 2 list items instead of one, which might have unwanted effects on scripts that spit out the number of list items, or numbering on &lt;code&gt;ol&lt;/code&gt; elements. You could always use attributes to change the number on a list item, but this could become unmanageable.&lt;/p&gt;
&lt;h2 id=&quot;4.6.6-edits-and-tables&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#edits-and-tables&quot;&gt;4.6.6&lt;/a&gt; Edits and tables&lt;/h2&gt;
&lt;p&gt;Content models for table elements can be tricky. There’s actually quite a lot under the hood for something that seems so antiquated as tables (they are obviously still relevant for tabular content, mostly speaking to their previous use as hacks for layout, and the stigma that carries).&lt;/p&gt;
&lt;p&gt;So if you want to use &lt;code&gt;ins&lt;/code&gt; and &lt;code&gt;del&lt;/code&gt; in tables, you have to do some things that might seem a bit annoying. To show that a whole row or column has been added or removed, you have to wrap the contents of each cell in a &lt;code&gt;ins&lt;/code&gt; or &lt;code&gt;del&lt;/code&gt; element. You can’t really show history of how cells have been shuffled around the table. Styling these entire rows/columns additions and deletions the way you want might require the use of classes, depending on the design.&lt;/p&gt;
&lt;p&gt;And that’s the end of Chapter 4.6, a shorter chunk of the HTML spec.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 77 of 100DaysOfSpec, 4.6 Edits (ins, del elements)</title>
      <link href="https://melanie-richards.com/blog/day-77-100/"/>
      <updated>2015-07-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-77-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#edits&quot;&gt;4.6 Edits&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.6.1-the-ins-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#the-ins-element&quot;&gt;4.6.1&lt;/a&gt; The ins element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;ins&lt;/code&gt; element represents an addition to the document.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cite&lt;/code&gt; attribute links to the edit source and/or more information.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;datetime&lt;/code&gt; attribute gives the date and optional time for when the change was made.&lt;/li&gt;
&lt;li&gt;Code examples given in the spec show an &lt;code&gt;ins&lt;/code&gt; element wrapped around &lt;code&gt;p&lt;/code&gt;. It would be a good idea to mark up an addition like this when there is no other in content in the &lt;code&gt;p&lt;/code&gt; tag besides an addition. You wouldn’t (or shouldn’t) add an empty &lt;code&gt;p&lt;/code&gt; tag to a document, so it also wouldn’t make semantic sense to have an addition to an otherwise empty paragraph.&lt;/li&gt;
&lt;li&gt;“&lt;code&gt;ins&lt;/code&gt; elements should not cross implied paragraph boundaries.” (See spec for an example)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.6.2-the-del-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#the-del-element&quot;&gt;4.6.2&lt;/a&gt; The del element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;del&lt;/code&gt; element represents a removal from the document.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Same &lt;code&gt;cite&lt;/code&gt; and &lt;code&gt;datetime&lt;/code&gt; attributes as the &lt;code&gt;ins&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;Same rule about not crossing implied paragraphs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.6.3-attributes-common-to-ins-and-del-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/edits.html#attributes-common-to-ins-and-del-elements&quot;&gt;4.6.3&lt;/a&gt; Attributes common to ins and del elements&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;cite&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the &lt;code&gt;cite&lt;/code&gt; attribute points to a really long document, you’re encourage to use a “fragment identifier” (&lt;code&gt;https://example.com/documentation#relevant-section&lt;/code&gt; for example) for the relevant portion of the cited document.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;cite&lt;/code&gt; value can be surfaced in a user agent’s UI so that they can follow the link to more info/context, but machines are the main benefactors of the attribute.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;datetime&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If set, has to be a &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#valid-date-string-with-optional-time&quot;&gt;valid date string&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If the algorithm that parses this attribute doesn’t return a valid date, there is none associated with the edit element.&lt;/li&gt;
&lt;li&gt;This is also a “private use” attribute can be shown to the user if the user agent (browser, etc.) wishes.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 76 of 100DaysOfSpec, bdi, bdo, span, br, wbr elements</title>
      <link href="https://melanie-richards.com/blog/day-76-100/"/>
      <updated>2015-07-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-76-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.26-the-bdi-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-bdi-element&quot;&gt;4.5.26&lt;/a&gt; The bdi element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;bdi&lt;/code&gt; element represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Essentially to prevent confusing the algorithm that handles direction of text when you have right-to-left text inside left-to-right text (or vice-versa).&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;dir&lt;/code&gt; attribute doesn’t inherit from its parent.&lt;/li&gt;
&lt;li&gt;Default value for &lt;code&gt;dir&lt;/code&gt; is &lt;code&gt;auto&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.27-the-bdo-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-bdo-element&quot;&gt;4.5.27&lt;/a&gt; The bdo element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;bdo&lt;/code&gt; element represents explicit text directionality formatting control for its children.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Essentially allows you to override the algorithm mentioned in the &lt;code&gt;bid&lt;/code&gt; notes.&lt;/li&gt;
&lt;li&gt;Obviously, you need to supply the element with directionality information. The &lt;code&gt;dir&lt;/code&gt; attribute can be set to &lt;code&gt;ltr&lt;/code&gt; or &lt;code&gt;rtl&lt;/code&gt; only. You can’t use auto because…that wouldn’t be an override.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.28-the-span-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-span-element&quot;&gt;4.5.28&lt;/a&gt; The span element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;span&lt;/code&gt; element doesn&#39;t mean anything on its own…”&lt;/p&gt;
&lt;p&gt;Basically just a hook for styling or global attributes. Probably of greatest interest to web devs is how this element relates to others, e.g. what you can put inside it. That would be [](&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#phrasing-content-1%E2%80%9Cphrasing&quot;&gt;https://www.w3.org/TR/html5/dom.html#phrasing-content-1“phrasing&lt;/a&gt; content”) elements.&lt;/p&gt;
&lt;h2 id=&quot;4.5.29-the-br-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-br-element&quot;&gt;4.5.29&lt;/a&gt; The br element&lt;/h2&gt;
&lt;p&gt;“The br element represents a line break.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Self-closing tag (&lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Can’t have children: elements or text.&lt;/li&gt;
&lt;li&gt;Could style fancily if you wanted to.&lt;/li&gt;
&lt;li&gt;Should only be used for semantically-necessary breaks in text (poetry, new lines in a physical address), as opposed to what a lot of people use them for: a hack for vertical spacing or for “thematic” breaks in text where two &lt;code&gt;p&lt;/code&gt; tags would be more appropriate.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.30-the-wbr-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-wbr-element&quot;&gt;4.5.30&lt;/a&gt; The wbr element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;wbr&lt;/code&gt; element represents a line break opportunity.”&lt;/p&gt;
&lt;p&gt;Never heard of this one before! You use it to tell the user agent that it’s okay to wrap a really long chunk of text that would otherwise be parsed as a single word and possibly overflow its container. You could use CSS to achieve something similar, but this would give you greater control and make the distinction on a semantic level, vs. just visual.&lt;/p&gt;
&lt;p&gt;Self-closing tag.&lt;/p&gt;
&lt;h2 id=&quot;4.5.31-usage-summary&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#usage-summary&quot;&gt;4.5.31&lt;/a&gt; Usage summary&lt;/h2&gt;
&lt;p&gt;I think it is nice that this section exists, as the “Text-level semantics” chapter is a long one.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 75 of 100DaysOfSpec, mark, ruby, rb, rt, rtc, and rp elements</title>
      <link href="https://melanie-richards.com/blog/day-75-100/"/>
      <updated>2015-07-24T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-75-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fun fact: I have never used any of the elements in today’s reading.&lt;/p&gt;
&lt;h2 id=&quot;4.5.20-the-mark-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-mark-element&quot;&gt;4.5.20&lt;/a&gt; The mark element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;mark&lt;/code&gt; element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Semantics inside a quotation: the HTML author is highlighting some text to give it more attention than the original source (“emphasis my own” type of deal).&lt;/li&gt;
&lt;li&gt;Semantics in main body content: highlighted text is relevant to the “user’s current activity”. I figured this would probably be text that changes given some interaction, and similarly the example in the spec is highlighting on text that matches an in-page search term.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;strong&lt;/code&gt; element is for emphasis; the &lt;code&gt;mark&lt;/code&gt; element is for relevance. A subtle difference.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.21-the-ruby-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-ruby-element&quot;&gt;4.5.21&lt;/a&gt; The ruby element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;ruby&lt;/code&gt; element allows one or more spans of phrasing content to be marked with ruby annotations.”&lt;/p&gt;
&lt;p&gt;So…I was a bit confused at first because I thought this was referring to Ruby the programming language. Huh? Why does this particular programming language get its own element? But, oh:&lt;/p&gt;
&lt;p&gt;“Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as &lt;em&gt;furigana&lt;/em&gt;.”&lt;/p&gt;
&lt;p&gt;Got it.&lt;/p&gt;
&lt;p&gt;Which is fun because the programming language was created by Japanese developer Yukihiro &amp;quot;Matz&amp;quot; Matsumoto. I suppose one could imply this is where the name comes from, but it doesn’t necessarily seem that way from a quick Wikipedia peek.&lt;/p&gt;
&lt;p&gt;Anyway. This whole section is completely new to me and I’m not sure how to share notes without just rewriting the spec, so I’m going to take the cop-out method here and &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-ruby-element&quot;&gt;link back to this section of the spec&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.22-the-rb-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-rb-element&quot;&gt;4.5.22&lt;/a&gt; The rb element&lt;/h2&gt;
&lt;p&gt;One of the things that melted my brain in that last section on &lt;code&gt;ruby&lt;/code&gt; was the omission of closing tags. It is ok to omit the end tag of &lt;code&gt;rb&lt;/code&gt; if the element is “immediately followed by an &lt;code&gt;rb&lt;/code&gt;, &lt;code&gt;rt&lt;/code&gt;, &lt;code&gt;rtc&lt;/code&gt; or &lt;code&gt;rp&lt;/code&gt; element, or if there is no more content in the parent element.” Same general concept applies to &lt;code&gt;rt&lt;/code&gt;, &lt;code&gt;rtc&lt;/code&gt; or &lt;code&gt;rp&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;As for the definition: “the &lt;code&gt;rb&lt;/code&gt; element marks the base text component of a ruby annotation.”&lt;/p&gt;
&lt;p&gt;This element doesn’t have any semantic meaning on its own: it helps a parent &lt;code&gt;ruby&lt;/code&gt; element decide what said &lt;code&gt;ruby&lt;/code&gt; element represents. If that parent doesn’t exist, the &lt;code&gt;rb&lt;/code&gt;’s representation is the same as its contents. Same general concept applies to &lt;code&gt;rt&lt;/code&gt;, &lt;code&gt;rtc&lt;/code&gt; or &lt;code&gt;rp&lt;/code&gt; elements.&lt;/p&gt;
&lt;h2 id=&quot;4.5.23-the-rt-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-rt-element&quot;&gt;4.5.23&lt;/a&gt; The rt element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;rt&lt;/code&gt; element marks the ruby text component of a ruby annotation.” The bits that give notation about the main &lt;code&gt;rb&lt;/code&gt; text.&lt;/p&gt;
&lt;h2 id=&quot;4.5.24-the-rtc-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-rtc-element&quot;&gt;4.5.24&lt;/a&gt; The rtc element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;rtc&lt;/code&gt; element marks a ruby text container for ruby text components in a ruby annotation.”&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;rtc&lt;/code&gt; element can be used for processing categorization of a &lt;code&gt;ruby&lt;/code&gt; element’s content.&lt;/p&gt;
&lt;h2 id=&quot;4.5.25-the-rp-element&quot;&gt;4.5.25 The rp element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;rp&lt;/code&gt; element is used to provide fallback text to be shown by user agents that don&#39;t support ruby annotations.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Has to come immediately before or after an &lt;code&gt;rt&lt;/code&gt; or &lt;code&gt;rtc&lt;/code&gt;, but can’t be jammed between two &lt;code&gt;rt&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;People often use the content of this element to put parentheses around the ruby text (&lt;code&gt;rt&lt;/code&gt; elements), that bit which gives notation to the main text of the &lt;code&gt;ruby&lt;/code&gt; element.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 74 of 100DaysOfSpec, sup, sub, i, b, and u elements</title>
      <link href="https://melanie-richards.com/blog/day-74-100/"/>
      <updated>2015-07-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-74-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This whole section of elements has such unsatisfyingly short names, ha.&lt;/p&gt;
&lt;h2 id=&quot;4.5.16-the-sub-and-sup-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-sub-and-sup-elements&quot;&gt;4.5.16&lt;/a&gt; The sub and sup elements&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;sup&lt;/code&gt; element represents a superscript and the &lt;code&gt;sub&lt;/code&gt; element represents a subscript.”&lt;/p&gt;
&lt;p&gt;To be used semantically, not stylistically. Examples are abbreviations in some languages, or mathematical expressions (exponents are what jumps to mind). Not mentioned by the spec, but labels corresponding to footnotes are a common and seemingly-appropriate use of &lt;code&gt;sup&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.17-the-i-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-i-element&quot;&gt;4.5.17&lt;/a&gt; The i element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;i&lt;/code&gt; element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text…”&lt;/p&gt;
&lt;p&gt;Examples they give of “different” text:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Taxonomic designation (“the majestic otter, &lt;em&gt;lutra lutra&lt;/em&gt;”)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Technical term&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Idiom from another language&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Transliteration&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Internal thought (as in a novel)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ship name in “Western” text&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the &lt;code&gt;i&lt;/code&gt; element contains text in another language, you should mark that language using the &lt;code&gt;lang&lt;/code&gt; attribute.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There are some overlaps with element eligibility where you might want to go with another element: &lt;code&gt;em&lt;/code&gt; for stressing emphasis, &lt;code&gt;dfn&lt;/code&gt; for defining a term.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It’s curious that the spec just assumes you know that the &lt;code&gt;i&lt;/code&gt; element is associated with italics. It’s not until the end of this section that it mentions the &lt;code&gt;i&lt;/code&gt; element can be italicized but doesn’t necessarily need to be. And it doesn’t mention in non-normative text that browsers will typically apply italics.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.18-the-b-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-b-element&quot;&gt;4.5.18&lt;/a&gt; The b element&lt;/h2&gt;
&lt;p&gt;“The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood…”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;As the &lt;code&gt;b&lt;/code&gt; element is so semantically vague and basically just a shortcut to styling, the spec encourages authors to find a more appropriately-semantic element where possible.&lt;/li&gt;
&lt;li&gt;Same note as &lt;code&gt;i&lt;/code&gt;, that &lt;code&gt;b&lt;/code&gt; is not necessarily bold.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.19-the-u-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-u-element&quot;&gt;4.5.19&lt;/a&gt; The u element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;u&lt;/code&gt; element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.”&lt;/p&gt;
&lt;p&gt;That was not really the description I was expecting. The spec suggests different elements you can use in lieu of the &lt;code&gt;u&lt;/code&gt; element in different cases because “authors are encouraged to avoid using the u element where it could be confused for a hyperlink”.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 73 of 100DaysOfSpec, code, var, samp, and kbd elements</title>
      <link href="https://melanie-richards.com/blog/day-73-100/"/>
      <updated>2015-07-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-73-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.12-the-code-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-code-element&quot;&gt;4.5.12&lt;/a&gt; The code element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;code&lt;/code&gt; element represents a fragment of computer code.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There’s no semantic way to designate the coding language. Classes are okay to use for syntax highlighting.&lt;/li&gt;
&lt;li&gt;You don’t HAVE to use &lt;code&gt;code&lt;/code&gt; inside &lt;code&gt;pre&lt;/code&gt;, just if you want to display this as a block of pre-formatted text. Throughout these posts I’ve been using the &lt;code&gt;code&lt;/code&gt; element inline.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.13-the-var-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-var-element&quot;&gt;4.5.13&lt;/a&gt; The var element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;var&lt;/code&gt; element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose.”&lt;/p&gt;
&lt;p&gt;There are many use cases where MathML would be a better choice for your markup (math equations more complex than your second-grade stuff). But &lt;a href=&quot;https://caniuse.com/#search=MathML&quot;&gt;MathML support&lt;/a&gt; is pretty much worthless, so.&lt;/p&gt;
&lt;h2 id=&quot;4.5.14-the-samp-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-samp-element&quot;&gt;4.5.14&lt;/a&gt; The samp element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;samp&lt;/code&gt; element represents (sample) output from a program or computing system.”&lt;/p&gt;
&lt;p&gt;Wait, so…could this be used to show output from web languages? Probably not, as the element is only allowed to contain &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#phrasing-content-1&quot;&gt;phrasing content&lt;/a&gt;. BUT THAT WOULD HAVE BEEN COOL.&lt;/p&gt;
&lt;h2 id=&quot;4.5.15-the-kbd-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-kbd-element&quot;&gt;4.5.15&lt;/a&gt; The kbd element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;kbd&lt;/code&gt; element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).”&lt;/p&gt;
&lt;p&gt;Where you place the &lt;code&gt;kbd&lt;/code&gt; element changes its semantic meaning, which I don’t think I’ve come across yet. I don’t think I can adequately explain that without re-stating the spec, so maybe just &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-kbd-element&quot;&gt;read the original&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 72 of 100DaysOfSpec, abbr, data, and time elements</title>
      <link href="https://melanie-richards.com/blog/day-72-100/"/>
      <updated>2015-07-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-72-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.9-the-abbr-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-abbr-element&quot;&gt;4.5.9&lt;/a&gt; The abbr element&lt;/h2&gt;
&lt;p&gt;Probably I should have tried to get through this section &lt;a href=&quot;https://melanie-richards.com/blog/day-71-of-100&quot;&gt;yesterday&lt;/a&gt;, as it can be tied in semantic meaning to the &lt;code&gt;dfn&lt;/code&gt; element.&lt;/p&gt;
&lt;p&gt;“The &lt;code&gt;abbr&lt;/code&gt; element represents an abbreviation or acronym, optionally with its expansion.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;title&lt;/code&gt; attribute on &lt;code&gt;abbr&lt;/code&gt; includes only its expansion: &lt;code&gt;&amp;lt;abbr title=“World Wide Web Consortium”&amp;gt;W3C&amp;lt;/abbr&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;It’s okay to use the element w/o a &lt;code&gt;title&lt;/code&gt; attribute to hook into some CSS styles. Only if it makes semantic sense (is actually an abbreviation/acronym), of course.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;title&lt;/code&gt; attribute on one &lt;code&gt;abbr&lt;/code&gt; element does not cascade to other &lt;code&gt;attr&lt;/code&gt; elements in the document containing the same text value.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.10-the-data-element&quot;&gt;4.5.10 The data element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;data&lt;/code&gt; element represents its contents, along with a machine-readable form of those contents in the value attribute.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;value&lt;/code&gt; attribute is required.&lt;/li&gt;
&lt;li&gt;Use cases:
&lt;ul&gt;
&lt;li&gt;Provide both a human-readable and a machine-readable format for information in one element. To be honest the only thing I could think of is a date with the ISO format on a &lt;code&gt;value&lt;/code&gt; attribute, but in that case you’d be better off using the &lt;code&gt;time&lt;/code&gt; element. Can anyone else think of an example?&lt;/li&gt;
&lt;li&gt;As another way to provide info to scripts, similar to how developers use &lt;code&gt;data-*&lt;/code&gt; attributes (those attributes feel more natural to me than using a &lt;code&gt;data&lt;/code&gt; element, but ya never know, this could be more semantic in some contexts).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.11-the-time-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-time-element&quot;&gt;4.5.11&lt;/a&gt; The time element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;time&lt;/code&gt; element represents its contents, along with a machine-readable form of those contents in the datetime attribute.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you don’t set a &lt;code&gt;datetime&lt;/code&gt; attribute, the &lt;code&gt;time&lt;/code&gt; element can’t have any element descendents (loosey-goosey text ok).&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;datetime&lt;/code&gt; value has to match one of the syntaxes &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-time-element&quot;&gt;listed in the spec&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 71 of 100DaysOfSpec, cite, q, and dfn elements</title>
      <link href="https://melanie-richards.com/blog/day-71-100/"/>
      <updated>2015-07-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-71-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.5.6-the-cite-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-cite-element&quot;&gt;4.5.6&lt;/a&gt; The cite element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;cite&lt;/code&gt; element represents a reference to a creative work. It must include the title of the work or the name of the author (person, people or organization) or an URL reference…”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No need to take such a literal tack with “creative”: pretty much any body of text created by a human being will do.&lt;/li&gt;
&lt;li&gt;What might be unclear from the definition of &lt;code&gt;cite&lt;/code&gt; is that it doesn’t contain the text content of the reference itself, just the title/name of where you got it from.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.7-the-q-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-q-element&quot;&gt;4.5.7&lt;/a&gt; The q element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;q&lt;/code&gt; element represents some phrasing content quoted from another source.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The UA inserts the quotation marks, so you shouldn’t add them yourself.&lt;/li&gt;
&lt;li&gt;Attributes include your standard global attributes, as well as &lt;code&gt;cite&lt;/code&gt;, which is a link out (valid URL) to the original source or more information.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;q&lt;/code&gt; element and plain text contained in quotations are equally semantic/valid ways of marking up a quotation from another source.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.8-the-dfn-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-dfn-element&quot;&gt;4.5.8&lt;/a&gt; The dfn element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;dfn&lt;/code&gt; element represents the defining instance of a term.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The definition that matches the term in the &lt;code&gt;dfn&lt;/code&gt; needs to be included in the nearest paragraph / description list group / section ancestor.&lt;/li&gt;
&lt;li&gt;What term exactly is being defined:
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;title&lt;/code&gt; attribute, if set on the &lt;code&gt;dfn&lt;/code&gt; element, otherwise…&lt;/li&gt;
&lt;li&gt;…if there is only one child element (including loose text), that is, an &lt;code&gt;abbr&lt;/code&gt; with a &lt;code&gt;title&lt;/code&gt; attribute, the term is that &lt;code&gt;abbr&lt;/code&gt;’s &lt;code&gt;title&lt;/code&gt;, otherwise…&lt;/li&gt;
&lt;li&gt;…it’s the &lt;code&gt;text&lt;/code&gt; content of the &lt;code&gt;dfn&lt;/code&gt; element.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;title&lt;/code&gt; attribute on the &lt;code&gt;dfn&lt;/code&gt; contains ONLY the term being defined.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dfn&lt;/code&gt; does not inherit &lt;code&gt;title&lt;/code&gt; for use in this way.&lt;/li&gt;
&lt;li&gt;“An &lt;code&gt;a&lt;/code&gt; element that links to a &lt;code&gt;dfn&lt;/code&gt; element represents an instance of the term defined by the &lt;code&gt;dfn&lt;/code&gt; element.”&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 70 of 100DaysOfSpec, strong, small, and s elements</title>
      <link href="https://melanie-richards.com/blog/day-70-100/"/>
      <updated>2015-07-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-70-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.5.3-the-strong-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-strong-element&quot;&gt;4.5.3&lt;/a&gt; The strong element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;strong&lt;/code&gt; element represents strong importance, seriousness, or urgency for its contents.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nested &lt;code&gt;strong&lt;/code&gt; elements increases “importance”.&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;strong&lt;/code&gt; does not change a sentence’s meaning.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.4-the-small-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-small-element&quot;&gt;4.5.4&lt;/a&gt; The small element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;small&lt;/code&gt; element represents side comments such as small print.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use cases: “disclaimers, caveats, legal restrictions, or copyrights”, also licensing requirements or attribution&lt;/li&gt;
&lt;li&gt;Not to be used just to “de-emphasize” something: a very common mistake, I’d think.&lt;/li&gt;
&lt;li&gt;Only for short amounts of text.&lt;/li&gt;
&lt;li&gt;It could make semantic sense to wrap a &lt;code&gt;small&lt;/code&gt; element in a &lt;code&gt;strong&lt;/code&gt; element, which would be important fine print (“read the fine print!”).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.5-the-s-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-s-element&quot;&gt;4.5.5&lt;/a&gt; The s element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;s&lt;/code&gt; element represents contents that are no longer accurate or no longer relevant.”&lt;/p&gt;
&lt;p&gt;If you wanted to mark up a document edit that is a deletion, you’d use the &lt;code&gt;del&lt;/code&gt; element instead.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 69 of 100DaysOfSpec, a, em elements</title>
      <link href="https://melanie-richards.com/blog/day-69-100/"/>
      <updated>2015-07-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-69-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#text-level-semantics&quot;&gt;4.5 Text-level semantics&lt;/a&gt;, a new section!&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.5.1-the-a-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element&quot;&gt;4.5.1&lt;/a&gt; The &lt;code&gt;a&lt;/code&gt; element&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Whoa: the &lt;code&gt;a&lt;/code&gt; element is categorized as 4 different types of content: flow, phrasing, interactive, and palpable.&lt;/li&gt;
&lt;li&gt;The content model is “Transparent, but there must be no &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#interactive-content-0&quot;&gt;interactive content&lt;/a&gt; descendant.” It makes sense that an anchor link can’t contain actionable elements, as its default behavior is to trigger a click event. “Transparent” is a little confusing: it means that the elements required/allowed inside an &lt;code&gt;a&lt;/code&gt; element are the same ones as allowed in its parent element—specifically, from the &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#kinds-of-content&quot;&gt;category of content&lt;/a&gt; that allowed the &lt;code&gt;a&lt;/code&gt; tag to be in the parent in the first place.&lt;/li&gt;
&lt;li&gt;Besides the default ARIA role (&lt;code&gt;link&lt;/code&gt;), you can set &lt;code&gt;button&lt;/code&gt;, &lt;code&gt;checkbox&lt;/code&gt;, &lt;code&gt;menuitem&lt;/code&gt;, &lt;code&gt;menuitemcheckbox&lt;/code&gt;, &lt;code&gt;menuitemradio&lt;/code&gt;, &lt;code&gt;tab&lt;/code&gt; or &lt;code&gt;treeitem&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If an &lt;code&gt;a&lt;/code&gt; element doesn’t have an &lt;code&gt;href&lt;/code&gt; attribute, it’s no longer considered a hyperlink, but a placeholder for a hyperlink. In this case, all the other attributes need to be removed.&lt;/li&gt;
&lt;li&gt;Dang, an &lt;code&gt;a&lt;/code&gt; element could contain a &lt;code&gt;section&lt;/code&gt; element and, obeying the “transparent” content model rules, still conform to the spec.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Available attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;href&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;target&lt;/code&gt;: spec mentions this is the browsing context for “hyperlink navigation and form submission”. Funny, because the general wisdom currently is that “buttons should be buttons”, i.e. don’t use an anchor link for a form submission.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;download&lt;/code&gt;: “Whether to download the resource instead of navigating to it, and its file name if so”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rel&lt;/code&gt;: relationship between the document and linked resource&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hreflang&lt;/code&gt;: language of the link resource&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: Hint for the type of the referenced resource. Intentionally en-vagueing with “hint for”. I believe I remember in a different section there being complicated instructions for parsing link type and this attribute being non-binding in some way…&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.5.2-the-em-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/text-level-semantics.html#the-em-element&quot;&gt;4.5.2&lt;/a&gt; The em element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;em&lt;/code&gt; element represents stress emphasis of its contents.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Having nested &lt;code&gt;em&lt;/code&gt; elements increase “level of stress”.&lt;/li&gt;
&lt;li&gt;Stress is not stylistic, it changes semantic meaning of a sentence.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some splitting-hairs stuff:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The em element isn&#39;t a generic &amp;quot;italics&amp;quot; element. Sometimes, text is intended to stand out from the rest of the paragraph, as if it was in a different mood or voice. For this, the i element is more appropriate.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;em&lt;/code&gt; element also isn&#39;t intended to convey importance; for that purpose, the &lt;code&gt;strong&lt;/code&gt; element is more appropriate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;See, this is a bit weird to me. Semantically changing the stress on a sentence more often does imply a different mood or voice. Stress can also convey importance. I think this is a judgement call situation.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 68 of 100DaysOfSpec, figure, figcaption, div, and main elements</title>
      <link href="https://melanie-richards.com/blog/day-68-100/"/>
      <updated>2015-07-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-68-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4 Grouping content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.4.11-the-figure-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-figure-element&quot;&gt;4.4.11&lt;/a&gt; The figure element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;figure&lt;/code&gt; element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Self-contained in this context simply means a complete thought, as opposed to an &lt;code&gt;article&lt;/code&gt; that can be published independently, outside of the original content.&lt;/li&gt;
&lt;li&gt;Can contain &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#flow-content-1&quot;&gt;flow content&lt;/a&gt;, followed or proceeded by &lt;em&gt;one&lt;/em&gt; optional &lt;code&gt;fig caption&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;Use cases: marking up illustrations, diagrams, photos, code listings, etc.&lt;/li&gt;
&lt;li&gt;When writing content for the &lt;code&gt;figcaption&lt;/code&gt;, provide identifying info that would allow you to move the 	&lt;code&gt;figure&lt;/code&gt; element to any position or order in the document, rather than using relative labelling (“below”, for ex).&lt;/li&gt;
&lt;li&gt;“A &lt;code&gt;figure&lt;/code&gt; element&#39;s contents are part of the surrounding flow.” So if the contents of the &lt;code&gt;figure&lt;/code&gt; are only “tangentially related” to the content around it, you’d want to use an &lt;code&gt;aside&lt;/code&gt; element, which could &lt;em&gt;in turn&lt;/em&gt; wrap a &lt;code&gt;figure&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.12-the-figcaption-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-figcaption-element&quot;&gt;4.4.12&lt;/a&gt; The figcaption element&lt;/h2&gt;
&lt;p&gt;No additional comments here.&lt;/p&gt;
&lt;h2 id=&quot;4.4.13-the-div-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-div-element&quot;&gt;4.4.13&lt;/a&gt; The div element&lt;/h2&gt;
&lt;p&gt;Funny that one of the most common HTML elements has such a short stub of an writeup. I suppose that matches its semantic vagueness: “The &lt;code&gt;div&lt;/code&gt; element has no special meaning at all.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Authors are strongly encouraged to view the &lt;code&gt;div&lt;/code&gt; element as an element of last resort, for when no other element is suitable.”&lt;/li&gt;
&lt;li&gt;Where &lt;code&gt;div&lt;/code&gt;s can come in handy, is by using &lt;code&gt;class&lt;/code&gt;, &lt;code&gt;lang&lt;/code&gt;, and &lt;code&gt;title&lt;/code&gt; attributes to lend common styles and semantics to groupings of elements.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.14-the-main-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-main-element&quot;&gt;4.4.14&lt;/a&gt; The main element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;main&lt;/code&gt; element represents the main content of the body of a document or application. The main content area consists of content that is directly related to or expands upon the central topic of a document or central functionality of an application.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No &lt;code&gt;article&lt;/code&gt;, &lt;code&gt;aside&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt;, &lt;code&gt;header&lt;/code&gt; or &lt;code&gt;nav&lt;/code&gt; element ancestors allowed!&lt;/li&gt;
&lt;li&gt;Has no effect on document outline (which is not implemented in browsers anyway).&lt;/li&gt;
&lt;li&gt;Doesn’t contain content that appears site-wide; should just be content unique to this page.&lt;/li&gt;
&lt;li&gt;Only one &lt;code&gt;main&lt;/code&gt; per page.&lt;/li&gt;
&lt;li&gt;UAs are encouraged:
&lt;ul&gt;
&lt;li&gt;to support keyboard nav to the &lt;code&gt;main&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;Make the &lt;code&gt;main&lt;/code&gt;’s first child element the next element to gain focus.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Not intended to denote the main section of a subsection in the document.&lt;/li&gt;
&lt;li&gt;Should use ARIA &lt;code&gt;role=“main”&lt;/code&gt; attribute on the &lt;code&gt;main&lt;/code&gt; while we wait on UAs to implement the default role.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And that’s the end of 4.4 Grouping content!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 67 of 100DaysOfSpec, ul, dl, dt, and dd elements</title>
      <link href="https://melanie-richards.com/blog/day-67-100/"/>
      <updated>2015-07-14T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-67-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4 Grouping content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.4.6-the-ul-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-ul-element&quot;&gt;4.4.6&lt;/a&gt; The ul element&lt;/h2&gt;
&lt;p&gt;“The ul element represents a list of items, where the order of the items is not important — that is, where changing the order would not materially change the meaning of the document.”&lt;/p&gt;
&lt;p&gt;Principles below are repeated from yesterday’s reading about the &lt;code&gt;ol&lt;/code&gt; element.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Considered palpable content if the element has at least one &lt;code&gt;li&lt;/code&gt; child element.&lt;/li&gt;
&lt;li&gt;Can contain as direct children &lt;code&gt;li&lt;/code&gt; and script-supporting elements.&lt;/li&gt;
&lt;li&gt;Quite a few ARIA role attributes available besides the default &lt;code&gt;list&lt;/code&gt;: &lt;code&gt;directory&lt;/code&gt;, &lt;code&gt;listbox&lt;/code&gt;, &lt;code&gt;menu&lt;/code&gt;, &lt;code&gt;menubar&lt;/code&gt;, &lt;code&gt;presentation&lt;/code&gt;, &lt;code&gt;tablist&lt;/code&gt;, &lt;code&gt;toolbar&lt;/code&gt;, or &lt;code&gt;tree&lt;/code&gt;. Get specific with your list semantics!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.7-the-li-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-li-element&quot;&gt;4.4.7&lt;/a&gt; The li element&lt;/h2&gt;
&lt;p&gt;“The li element represents a list item. If its parent element is an ol, or ul, then the element is an item of the parent element&#39;s list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other li element.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Restricted to use within an &lt;code&gt;ol&lt;/code&gt; or &lt;code&gt;ul&lt;/code&gt; element.&lt;/li&gt;
&lt;li&gt;Besides global HTML attributes, has ordinal &lt;code&gt;value&lt;/code&gt; attribute if it’s a child of an &lt;code&gt;ol&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;It is valid HTML to omit the closing tag if the list item is immediately followed by another &lt;code&gt;li&lt;/code&gt; or has no following siblings in the &lt;code&gt;ol&lt;/code&gt;/&lt;code&gt;ul&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default ARIA role is &lt;code&gt;listitem&lt;/code&gt;. You could instead set it to &lt;code&gt;menuitem&lt;/code&gt;, &lt;code&gt;menuitemcheckbox&lt;/code&gt;, &lt;code&gt;menuitemradio&lt;/code&gt;, &lt;code&gt;option&lt;/code&gt;, &lt;code&gt;tab&lt;/code&gt;, &lt;code&gt;treeitem&lt;/code&gt; or &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;“While it is conforming to include heading elements (e.g. h1) inside li elements, it likely does not convey the semantics that the author intended. A heading starts a new section, so a heading in a list implicitly splits the list into spanning multiple sections.”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.8-the-dl-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-dl-element&quot;&gt;4.4.8&lt;/a&gt; The dl element&lt;/h2&gt;
&lt;p&gt;The dl element represents an association list consisting of zero or more name-value groups (a description list). “Names” are marked up with &lt;code&gt;dt&lt;/code&gt; elements, values with &lt;code&gt;dd&lt;/code&gt; elements. You could use this markup structure to include a list of vocabulary words and definitions before a highly technical article.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-HTML&quot;&gt;&amp;lt;dl&amp;gt;
  &amp;lt;dt&amp;gt;Gold Level Sponsors&amp;lt;/dt&amp;gt;
  &amp;lt;dd&amp;gt;$1000+&amp;lt;/dd&amp;gt;
  &amp;lt;dt&amp;gt;Platinum Level Sponsors&amp;lt;/dt&amp;gt;
  &amp;lt;dd&amp;gt;$3000+&amp;lt;/dd&amp;gt;
  &amp;lt;dt&amp;gt;Double-Platinum Level Sponsors&amp;lt;/dt&amp;gt;
  &amp;lt;dd&amp;gt;$10,000+&amp;lt;/dd&amp;gt;
&amp;lt;/dl&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Considered palpable content if the element contains at least one name-value group.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You don’t necessarily need to have a one-to-one ratio of &lt;code&gt;dt&lt;/code&gt; and &lt;code&gt;dd&lt;/code&gt; elements; you could have several &lt;code&gt;dd&lt;/code&gt; (definitions) for one &lt;code&gt;dt&lt;/code&gt; (term), or use the same &lt;code&gt;dfn&lt;/code&gt; in 2+ &lt;code&gt;dt&lt;/code&gt; (terms) to link them to one &lt;code&gt;dd&lt;/code&gt; (definition).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For that reason, if there are multiple paragraphs in a value, those all need to go inside the same &lt;code&gt;dd&lt;/code&gt; element.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The spec notes to UAs that ordering of name-value groups could be significant. Unsure what they’re seeking to prevent there, maybe a UA might want to surface these definitions in a UI somehow?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Not to be used to mark up dialog.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.9-the-dt-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-dt-element&quot;&gt;4.4.9&lt;/a&gt; The dt element&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Can be used before &lt;code&gt;dd&lt;/code&gt; or &lt;code&gt;dt&lt;/code&gt; elements inside &lt;code&gt;dl&lt;/code&gt; elements&lt;/li&gt;
&lt;li&gt;Can’t have &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt;, &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sectioning-content-0&quot;&gt;sectioning content&lt;/a&gt;, or &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#heading-content-0&quot;&gt;heading content&lt;/a&gt; descendants.&lt;/li&gt;
&lt;li&gt;A dt element&#39;s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element.&lt;/li&gt;
&lt;li&gt;“The &lt;code&gt;dt&lt;/code&gt; element itself, when used in a &lt;code&gt;dl&lt;/code&gt; element, does not indicate that its contents are a term being defined, but this can be indicated using the &lt;code&gt;dfn&lt;/code&gt; element,” where &lt;code&gt;dfn&lt;/code&gt; is a child of the &lt;code&gt;dt&lt;/code&gt;. Unsure why it would be so, but I’m guessing whoever was in this working group wanted 2 different levels of semantic specificity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.10-the-dd-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-dd-element&quot;&gt;4.4.10&lt;/a&gt; The dd element&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Can be used after &lt;code&gt;dt&lt;/code&gt; or &lt;code&gt;dd&lt;/code&gt; elements inside &lt;code&gt;dl&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;A dd element&#39;s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 66 of 100DaysOfSpec, blockquote and ol elements</title>
      <link href="https://melanie-richards.com/blog/day-66-100/"/>
      <updated>2015-07-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-66-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4 Grouping content&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.4.4-the-blockquote-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-blockquote-element&quot;&gt;4.4.4&lt;/a&gt; The blockquote element&lt;/h2&gt;
&lt;p&gt;“The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations.”&lt;/p&gt;
&lt;p&gt;How that ends up looking, in code:&lt;/p&gt;
&lt;figure&gt;
  &lt;blockquote&gt;
    Hello yes I am a blockquote filled with many wonderous things culled probably from Ira Glass or a TED Talk full of wisdom and wonder and you should absolutely pay attention to my sage words.
  &lt;/blockquote&gt;
  &lt;footer&gt;
    —&lt;cite&gt;Mr. Fancypants&lt;/cite&gt;
  &lt;/footer&gt;
&lt;/figure&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;blockquote&gt;
  Hello yes I am a blockquote filled with many wonderous things culled probably from Ira Glass or a TED Talk full of wisdom and wonder and you should absolutely pay attention to my sage words.
  &lt;footer&gt;
    —&lt;cite&gt;Mr. Fancypants&lt;/cite&gt;
  &lt;/footer&gt;
&lt;/blockquote&gt;
&lt;p&gt;There’s some more examples you should consider perusing, but those are some super basic cases.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Another source” can be text from the same page by another person. For example, when you’re snarkily responding to someone else’s comment and would like to refrence their opinions directly in your comment.&lt;/li&gt;
&lt;li&gt;The optional &lt;code&gt;cite&lt;/code&gt; attribute is a valid URL to the original source, and is mainly for “private use”, though it can be surfaced by UAs if they desire.&lt;/li&gt;
&lt;li&gt;You can abbreviate, annotate, etc. but all notes about how you’ve changed the quote (“emphasis mine”, for example) go INSIDE the blockquote element. I suppose this helps keep the notations attached to the content if it gets parsed in interesting ways.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.5-the-ol-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-ol-element&quot;&gt;4.4.5&lt;/a&gt; The ol element&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Considered palpable content if the element has at least one &lt;code&gt;li&lt;/code&gt; child element.&lt;/li&gt;
&lt;li&gt;Can contain as direct children &lt;code&gt;li&lt;/code&gt; and script-supporting elements.&lt;/li&gt;
&lt;li&gt;Besides global HTML attributes, you can set &lt;code&gt;reversed&lt;/code&gt; (boolean value), &lt;code&gt;start&lt;/code&gt; (what value to start counting items at, default is &amp;quot;1&amp;quot;), &lt;code&gt;type&lt;/code&gt; (list style).&lt;/li&gt;
&lt;li&gt;Quite a few ARIA role attributes available besides the default &lt;code&gt;list&lt;/code&gt;: &lt;code&gt;directory&lt;/code&gt;, &lt;code&gt;listbox&lt;/code&gt;, &lt;code&gt;menu&lt;/code&gt;, &lt;code&gt;menubar&lt;/code&gt;, &lt;code&gt;presentation&lt;/code&gt;, &lt;code&gt;tablist&lt;/code&gt;, &lt;code&gt;toolbar&lt;/code&gt;, or &lt;code&gt;tree&lt;/code&gt;. Get specific with your list semantics!&lt;/li&gt;
&lt;li&gt;Should note for those that don’t know: you can set a value attribute on a list item inside an &lt;code&gt;ol&lt;/code&gt; element and disrupt the natural (ordinal) counting value. (1,2,3,4,500 or 10, 9, 8, 7.5…)&lt;/li&gt;
&lt;li&gt;The values for the type attribute are very shorthand: &lt;code&gt;type=&amp;quot;1&amp;quot;&lt;/code&gt; for decimal numbering (1., 2., 3.) or &lt;code&gt;type=&amp;quot;a&amp;quot;&lt;/code&gt; for lowercase alphabetical (a., b., c.), for example.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 65 of 100DaysOfSpec, hr and pre elements</title>
      <link href="https://melanie-richards.com/blog/day-65-100/"/>
      <updated>2015-07-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-65-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4&lt;/a&gt; Grouping content.&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.4.2-the-hr-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-hr-element&quot;&gt;4.4.2&lt;/a&gt; The hr element&lt;/h2&gt;
&lt;p&gt;“The hr element represents a paragraph-level thematic break”, as opposed to the old use for it as a decorative separator line.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Doesn’t take any child elements/nodes (including text); is a self-closing tag.&lt;/li&gt;
&lt;li&gt;Default ARIA role is &lt;code&gt;separator&lt;/code&gt;, but can set &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Doesn’t affect the &lt;a href=&quot;https://melanie-richards.com/blog/day-63-of-100&quot;&gt;document outline&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.4.3-the-pre-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-pre-element&quot;&gt;4.4.3&lt;/a&gt; The pre element&lt;/h2&gt;
&lt;p&gt;“ The pre element represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Takes any global ARIA role.&lt;/li&gt;
&lt;li&gt;I’ve pretty much exclusively used &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; for code, but can also be used for ASCII art or including an email and retaining hard break paragraphs and bullets.&lt;/li&gt;
&lt;li&gt;“…a leading newline character immediately following the pre element start tag is stripped.”&lt;/li&gt;
&lt;li&gt;Need to consider how placing something in a &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt; might strip away understanding that comes from semantic elements: an accessibility issue for users of screen readers, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Short one today. Spent much of my commute ogling the beauty of the PNW and daydreaming!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 64 of 100DaysOfSpec, document outlines and the p element</title>
      <link href="https://melanie-richards.com/blog/day-64-100/"/>
      <updated>2015-07-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-64-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sections&quot;&gt;4.3 Sections&lt;/a&gt; and &lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4&lt;/a&gt; Grouping content. Some of this post extends &lt;a href=&quot;https://melanie-richards.com/blog/day-63-of-100&quot;&gt;yesterday’s reading&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h3 id=&quot;4.3.10.2-sample-outlines&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sample-outlines&quot;&gt;4.3.10.2&lt;/a&gt; Sample outlines&lt;/h3&gt;
&lt;p&gt;The only comment I have here is it would be good to look at this set of code samples, which illustrate principles from &lt;a href=&quot;https://melanie-richards.com/blog/day-63-of-100&quot;&gt;yesterday’s reading&lt;/a&gt; on document outlines. As with any good set of examples, the first couple are pretty straightforward, and then they get into a little more weirdness.&lt;/p&gt;
&lt;p&gt;Okay I guess what I could say is: if no graphical UAs are implementing document outlines yet, does it make sense obsessing over how more unique markup structures will be parsed by this algorithm? Meh, maybe not.&lt;/p&gt;
&lt;h3 id=&quot;4.3.11-usage-summary&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#usage-summary-0&quot;&gt;4.3.11&lt;/a&gt; Usage summary&lt;/h3&gt;
&lt;p&gt;Examples on how sectioning elements, etc. should be used. What I think would&#39;ve gotten the message across better is if they combined all these examples into one longer chunk of markup, and then you could click on an element name (&lt;code&gt;article&lt;/code&gt;, etc) and that would highlight the tags of the element in question inside the cumulative code example.&lt;/p&gt;
&lt;h3 id=&quot;4.3.11.1-article-or-section%3F&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#article-or-section?&quot;&gt;4.3.11.1&lt;/a&gt; Article or section?&lt;/h3&gt;
&lt;p&gt;“A section forms part of something else. An article is its own thing.” L O L funny how the formality of your content changes when you’re writing up a non-normative section.&lt;/p&gt;
&lt;p&gt;…Okay, this section makes NO SENSE. Who wrote this? Actually laughing at the spec…sorry whoever, but this needs to be revisited.&lt;/p&gt;
&lt;h2 id=&quot;4.4-grouping-content&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#grouping-content&quot;&gt;4.4&lt;/a&gt; Grouping content&lt;/h2&gt;
&lt;p&gt;New section! Woo hoo.&lt;/p&gt;
&lt;h3 id=&quot;4.4.1-the-p-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/grouping-content.html#the-p-element&quot;&gt;4.4.1&lt;/a&gt; The p element&lt;/h3&gt;
&lt;p&gt;A paragraph!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Categories: flow and palpable content. Notably, palpable content needs to contain at least one node, which includes simple text that is not inter-element whitespace.&lt;/li&gt;
&lt;li&gt;You can omit the end tag if a &lt;code&gt;p&lt;/code&gt; element is immediately followed by one among a laundry list of elements (or if the parent element has no other content and is not an &lt;code&gt;a&lt;/code&gt; element), but again, if that’s somehow necessary there might be something else broken with your process or tools…&lt;/li&gt;
&lt;li&gt;There are other ways to acceptably create typographical paragraph breaks than using the &lt;code&gt;p&lt;/code&gt; tag: “ for instance using inline pilcrows (¶)”&lt;/li&gt;
&lt;li&gt;Should not be used when something more semantically specific is available.&lt;/li&gt;
&lt;li&gt;Can’t actually contain &lt;code&gt;ul&lt;/code&gt; or &lt;code&gt;ol&lt;/code&gt; elements. That’s not something I’ve wanted to do, because it doesn’t make sense to me semantically, but I had no idea it actually wasn’t allowed. I bet this stuff is all over the internet because fun with WYSIWYG!&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 63 of 100DaysOfSpec, the address element and document outlines</title>
      <link href="https://melanie-richards.com/blog/day-63-100/"/>
      <updated>2015-07-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-63-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sections&quot;&gt;4.3 Sections&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.3.9-the-address-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-address-element&quot;&gt;4.3.9&lt;/a&gt; The address element&lt;/h2&gt;
&lt;p&gt;“The &lt;code&gt;address&lt;/code&gt; element represents the contact information for its nearest &lt;code&gt;article&lt;/code&gt; or &lt;code&gt;body&lt;/code&gt; element ancestor.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can’t just use this element willy-nilly for anything that resembles an address (here’s all our offices blah blah), it has to be relevant contact information for the content on the page/in the article.&lt;/li&gt;
&lt;li&gt;You can’t stuff other content into an &lt;code&gt;address&lt;/code&gt; that otherwise contains proper contact info (like a “last modified” date).&lt;/li&gt;
&lt;li&gt;The reason why you have those content restrictions is that the UA is permitted to expose this info to the user somewhere in the UI besides where your HTML document has been rendered. For example, right-clicking on a page and seeing contact info in a “more info” pane.&lt;/li&gt;
&lt;li&gt;“Typically, the address element would be included along with other information in a footer element.”&lt;/li&gt;
&lt;li&gt;Lots of restrictions for this element’s content model: “Flow content, but with no heading content descendants, no sectioning content descendants, and no header, footer, or address element descendants.”&lt;/li&gt;
&lt;li&gt;Only allowed ARIA role is &lt;code&gt;contentinfo&lt;/code&gt;. That’s not the default value, which is sort of odd and the first time I’ve seen that so far (only one available, no default).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.3.10-headings-and-sections&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#headings-and-sections&quot;&gt;4.3.10&lt;/a&gt; Headings and sections&lt;/h2&gt;
&lt;p&gt;This section goes a little more into the semantics of headings and sections and how those are used to create page outlines.&lt;/p&gt;
&lt;p&gt;Makes sense to just paste the first bit on semantics: “The first element of heading content in an element of sectioning content represents the heading for that section. Subsequent headings of equal or higher rank start new (implied) sections, headings of lower rank start implied subsections that are part of the previous one.”&lt;/p&gt;
&lt;p&gt;&lt;code&gt;blockquote&lt;/code&gt;, &lt;code&gt;body&lt;/code&gt;, &lt;code&gt;fieldset&lt;/code&gt;, &lt;code&gt;figure&lt;/code&gt;, &lt;code&gt;td&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;are considered sectioning roots&lt;/li&gt;
&lt;li&gt;can have their own outlines&lt;/li&gt;
&lt;li&gt;their outlines do not contribute to their ancestors’ outlines&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;“Sectioning content elements are always considered subsections of their nearest ancestor sectioning root or their nearest ancestor element of sectioning content…” Sigh, I’m just copy-pasting everything today…I would also take a look at the code example they have there in the spec to demonstrate the principles listed above.&lt;/p&gt;
&lt;p&gt;For all this talk of semantics, the spec encourages devs to wrap sections with sectioning content elements, rather than rely on heading elements’ creation of implicit sections. Wonder if this is simply a coding style preference or seated in some real-world problem that comes with not using sectioning content elements.&lt;/p&gt;
&lt;h3 id=&quot;4.3.10.1-creating-an-outline&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#outlines&quot;&gt;4.3.10.1&lt;/a&gt; Creating an outline&lt;/h3&gt;
&lt;p&gt;We can’t rely on the outline algorithm yet for expressing document structure to the users. Conformance checkers have implemented this algorithm, but no “graphical browsers or assistive technology user agents”.&lt;/p&gt;
&lt;p&gt;Anyway, this algorithm creates an outline for a sectioning content or &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sectioning-root&quot;&gt;sectioning root&lt;/a&gt; element by looking through nodes in a DOM tree.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An outline has 1+ nested &lt;em&gt;sections&lt;/em&gt; that correspond to DOM tree nodes. Each of these can have a heading and its own nested subsections.&lt;/li&gt;
&lt;li&gt;This algorithm is the correct one to use when creating document outlines, like a ToC. If that ToC is interactive, the user should be jumped to whichever element node was used to create the &lt;em&gt;section&lt;/em&gt; in the outline. However, navigating to the first outline &lt;em&gt;section&lt;/em&gt; should always just take the user to the top of the document, even if there’s content preceding the first heading.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;body&lt;/code&gt; element outline == the document’s outline.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 62 of 100DaysOfSpec, h1–h6, header, footer elements</title>
      <link href="https://melanie-richards.com/blog/day-62-100/"/>
      <updated>2015-07-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-62-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sections&quot;&gt;4.3 Sections&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.3.6-the-h1%2C-h2%2C-h3%2C-h4%2C-h5%2C-and-h6-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements&quot;&gt;4.3.6&lt;/a&gt; The h1, h2, h3, h4, h5, and h6 elements&lt;/h2&gt;
&lt;p&gt;“These elements represent headings for their sections.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Besides default ARIA role (&lt;code&gt;heading&lt;/code&gt;), allowed to set &lt;code&gt;tab&lt;/code&gt; and &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;BIG THING: “h1–h6 elements must not be used to markup subheadings, subtitles, alternative titles and taglines unless intended to be the heading for a new section or subsection.” Which, according to the code sample, does not necessarily mean that you need to pair heading elements with &lt;code&gt;section&lt;/code&gt; elements in one-to-one pairs, but that semantically you are telling whatever parses your HTML document that this element signifies a new segment of info. So. Don’t use for stylistic reasons only.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.3.7-the-header-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-header-element&quot;&gt;4.3.7&lt;/a&gt; The header element&lt;/h2&gt;
&lt;p&gt;“The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element. A header typically contains a group of introductory or navigational aids.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sectioning element could mean the document &lt;code&gt;body&lt;/code&gt;: probably the most familiar usage to many people: &lt;code&gt;header&lt;/code&gt; element as universal site header.&lt;/li&gt;
&lt;li&gt;Can’t contain &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt;, or &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Besides default ARIA role (&lt;code&gt;banner&lt;/code&gt;), only allowed to set &lt;code&gt;presentation&lt;/code&gt;. Which is interesting because according to ARIA docs, the &lt;code&gt;banner&lt;/code&gt; role is reserved for site-wide info, whereas &lt;code&gt;header&lt;/code&gt; doesn’t necessarily need to be used in that context.&lt;/li&gt;
&lt;li&gt;Sample content for a &lt;code&gt;header&lt;/code&gt;: the usual heading elements (&lt;code&gt;h1–h6&lt;/code&gt;), table of contents, search, associated logos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;header&lt;/code&gt; != sectioning content. If you wanted content immediately following the closing tag (&lt;code&gt;&amp;lt;/header&amp;gt;&lt;/code&gt;) to be considered by parsers another section of content, you’d want to open up a sectioning element: &lt;code&gt;article&lt;/code&gt;, &lt;code&gt;aside&lt;/code&gt;, &lt;code&gt;nav&lt;/code&gt;, or &lt;code&gt;section&lt;/code&gt;. And/or MAYBE a heading element? Unclear, &lt;code&gt;h1–h6&lt;/code&gt; are not considered sectioning elements but seem to essentially signify similar hierarchy according to the spec.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.3.8-the-footer-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-footer-element&quot;&gt;4.3.8&lt;/a&gt; The footer element&lt;/h2&gt;
&lt;p&gt;“The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like. When the footer element contains entire sections, they represent appendices, indexes, long colophons, verbose license agreements, and other such content.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can’t contain &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt;, or &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Besides default ARIA role (&lt;code&gt;contentinfo&lt;/code&gt;), only allowed to set &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Don’t actually HAVE to appear at the end of a &lt;code&gt;section&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Same as with &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;footer&lt;/code&gt; != sectioning content.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 61 of 100DaysOfSpec, 4.3.3 The section element</title>
      <link href="https://melanie-richards.com/blog/day-61-100/"/>
      <updated>2015-07-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-61-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sections&quot;&gt;4.3 Sections&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UAs = user agents = browsers and other HTML document parsers/renderers&lt;/p&gt;
&lt;h2 id=&quot;4.3.4-the-nav-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-nav-element&quot;&gt;4.3.4&lt;/a&gt; The nav element&lt;/h2&gt;
&lt;p&gt;“The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No &lt;code&gt;main&lt;/code&gt; element descendants&lt;/li&gt;
&lt;li&gt;The only ARIA role you can set besides the default (&lt;code&gt;navigation&lt;/code&gt;) is &lt;code&gt;presentation&lt;/code&gt;. A presentational, non-semantic &lt;code&gt;nav&lt;/code&gt;? Sounds like someone’s doing responsive menu garbage.&lt;/li&gt;
&lt;li&gt;It’s chill to use list markup (&lt;code&gt;ul&lt;/code&gt;/&lt;code&gt;ol&lt;/code&gt;) where the nav = list(s) of links.&lt;/li&gt;
&lt;li&gt;This is for major lists of links, so no need to use &lt;code&gt;nav&lt;/code&gt; everywhere a link list appears (for example, in the &lt;code&gt;footer&lt;/code&gt;, which already stores info about the site/content).&lt;/li&gt;
&lt;li&gt;UAs can do different things with &lt;code&gt;nav&lt;/code&gt;, including skip over this content or provide it upon request instead of presenting it as content information. I don’t think I’ve run into that in default OS screen readers, but it’s worth noting if you’re deciding whether or not a link list inside page content should be in a &lt;code&gt;nav&lt;/code&gt;. This would encourage me to limit to site-wide nav and maybe a sidebar nav if it gets repeated from page to page (like documentation wikis) and isn’t integral to understanding the current page content.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;nav&lt;/code&gt; doesn’t always have to contain a list, which means you can also use this markup for navigation areas verbose (as in the example) and/or clever.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.3.5-the-aside-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-aside-element&quot;&gt;4.3.5&lt;/a&gt; The aside element&lt;/h2&gt;
&lt;p&gt;“The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No &lt;code&gt;main&lt;/code&gt; element descendants&lt;/li&gt;
&lt;li&gt;Default ARIA role is &lt;code&gt;complementary&lt;/code&gt;; also allowed are &lt;code&gt;note&lt;/code&gt;, &lt;code&gt;search&lt;/code&gt;, or &lt;code&gt;presentation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Good uses, according to spec: pull quotes, sidebars, advertising, groups of &lt;code&gt;nav&lt;/code&gt; elements&lt;/li&gt;
&lt;li&gt;Not for “parentheticals”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I would have liked to see whether aside is specifically meant for use outside of &lt;code&gt;main&lt;/code&gt; element. I think the implication is “yes”, but it’s unclear from the code examples, which do not contain a &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 60 of 100DaysOfSpec, 4.3.3 The section element</title>
      <link href="https://melanie-richards.com/blog/day-60-100/"/>
      <updated>2015-07-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-60-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-section-element&quot;&gt;The section element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Semantics with &lt;code&gt;section&lt;/code&gt; are a bit tricky. The spec says that they are thematic groupings of content, rather than a shortcut for styling large chunks of the page that need to be visually separated in some way (how most people have ended up using them). The idea is that “the theme of each section should be identified, typically by including a heading (h1-h6 element) as a child of the section element.” This seems a LITTLE fuzzy to me because I think it’s possible to have thematic groupings of content that don’t necessarily need an introductory &lt;code&gt;h1-h6&lt;/code&gt; tag. I’m thinking when this element was designed, the authors imagined applications for screen readers, feed readers, and other UAs that would parse web pages for consumption separate from their original styling.&lt;/p&gt;
&lt;p&gt;With the examples they give, though (especially the one with the fruit), the &lt;code&gt;section&lt;/code&gt; element by design can be almost as vague as the &lt;code&gt;div&lt;/code&gt; but OMG DON’T JUST USE IT FOR STYLING.&lt;/p&gt;
&lt;p&gt;By default, the &lt;code&gt;section&lt;/code&gt; element’s ARIA role is “region” and shouldn’t be explicitly set (redundant).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 59 of 100DaysOfSpec, 4.3 Sections</title>
      <link href="https://melanie-richards.com/blog/day-59-100/"/>
      <updated>2015-07-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-59-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#sections&quot;&gt;4.3 Sections&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hooray! Finally starting on elements outside the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4.3.1-the-body-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-body-element&quot;&gt;4.3.1&lt;/a&gt; The body element&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;body&lt;/code&gt; == document content. You need to have only one in your document to conform to HTML standards. To review a previous section—forget which—you can actually can drop an opening or closing tag under special conditions (see spec, because why bother doing this?).&lt;/p&gt;
&lt;p&gt;There’s…some craziness about event handler bubbling. For the &lt;code&gt;onblur&lt;/code&gt;, &lt;code&gt;onerror&lt;/code&gt;, &lt;code&gt;onfocus&lt;/code&gt;, &lt;code&gt;onload&lt;/code&gt;, &lt;code&gt;onresize&lt;/code&gt;, and &lt;code&gt;onscroll&lt;/code&gt; event handlers: the event handler content attributes would get triggered first on whatever element (child of &lt;code&gt;body&lt;/code&gt;) the handler is set on, then on &lt;code&gt;html&lt;/code&gt;, and THEN on &lt;code&gt;body&lt;/code&gt;, rather than triggering directly up the chain. “A regular event listener attached to the body using addEventListener(), however, would be run when the event bubbled through the body and not when it reaches the Window object.”&lt;/p&gt;
&lt;p&gt;I need to learn more about Javascript, because I feel like if I did, this would make more sense to me / leave a more impactful impression / explain some problems I might have while writing code.&lt;/p&gt;
&lt;h2 id=&quot;4.3.2-the-article-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/sections.html#the-article-element&quot;&gt;4.3.2&lt;/a&gt; The article element&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;article&lt;/code&gt; “represents a complete, or self-contained, composition” that could stand on its own for, say, syndication. Examples they give are: “a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget…” To me forum post/comment doesn’t match the definition of an article’s semantic value: yes, you can subscribe to comments, etc, via an RSS feed, but it doesn’t really make sense (to me) to independently distribute a comment without the original post.&lt;/p&gt;
&lt;p&gt;Interesting bits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can’t contain &lt;code&gt;main&lt;/code&gt; elements as descendants.&lt;/li&gt;
&lt;li&gt;Nesting &lt;code&gt;article&lt;/code&gt;s can be semantically sound.&lt;/li&gt;
&lt;li&gt;Nested &lt;code&gt;article&lt;/code&gt; elements should not be associated with author info that applies to the ancestral &lt;code&gt;article&lt;/code&gt; element.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And I’m just going to leave this here because I feel like it would come up for a lot of people in “when to use what”:&lt;/p&gt;
&lt;p&gt;“When the main content of the page (i.e. excluding footers, headers, navigation blocks, and sidebars) is all one single self-contained composition, the content should be marked up with a main element and the content may also be marked with an article, but it is technically redundant in this case (since it&#39;s self-evident that the page is a single composition, as it is a single document).”&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 58 of 100DaysOfSpec, 4.2.6 Styling</title>
      <link href="https://melanie-richards.com/blog/day-58-100/"/>
      <updated>2015-06-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-58-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#styling&quot;&gt;4.2.6 Styling&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“The &lt;code&gt;style&lt;/code&gt; and &lt;code&gt;link&lt;/code&gt; elements implement the LinkStyle interface.” When either is successfully processed (see spec for conditions), a &lt;code&gt;StyleSheet&lt;/code&gt; object is returned with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;type&lt;/strong&gt;: actual type of the contents must match the type specified&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;location&lt;/strong&gt;: No location for &lt;code&gt;style&lt;/code&gt; elements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;media&lt;/strong&gt;: Same as the &lt;code&gt;media&lt;/code&gt; content attribute. An empty string if the attribute wasn’t specified.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;title&lt;/strong&gt;: matches the &lt;code&gt;title&lt;/code&gt; attribute, if given.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;alternate flag&lt;/strong&gt;: for &lt;code&gt;link&lt;/code&gt; elements. Boolean value for whether or not the &lt;code&gt;link&lt;/code&gt; is an alternate stylesheet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A stylesheet (&lt;code&gt;link&lt;/code&gt;, &lt;code&gt;style&lt;/code&gt;, or otherwise) can be considered script-blocking if they meet a few cumulative conditions, which appears to be the standard case. The UA gets to choose when to stop attempting to load a stylesheet.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 57 of 100DaysOfSpec, 4.2.5 The meta element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-57-100/"/>
      <updated>2015-06-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-57-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-style-element&quot;&gt;4.2.6 The style element&lt;/a&gt;. UA = user agent = browsers and other applications that process HTML documents.&lt;/p&gt;
&lt;p&gt;For embedding CSS—well, styles in general, CSS implementation is not actually required by the spec—directly into a document (as opposed to linking to stylesheets or stuffing styles in an element’s &lt;code&gt;style&lt;/code&gt; attribute).&lt;/p&gt;
&lt;p&gt;Attributes on the &lt;code&gt;style&lt;/code&gt; element:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: The default value is &lt;code&gt;&amp;quot;text/css&amp;quot;&lt;/code&gt;. An unknown value in &lt;code&gt;type&lt;/code&gt; should be ignored by the UA as if it’s unsupported.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;media&lt;/code&gt;: tells what types of media the styles apply to. &lt;code&gt;Screen&lt;/code&gt;, &lt;code&gt;all&lt;/code&gt;, &lt;code&gt;print&lt;/code&gt;, etc. Default is &lt;code&gt;all&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;title&lt;/code&gt;: sets alternate style sheet sets. This attribute doesn’t inherit from ancestors.&lt;/li&gt;
&lt;li&gt;You shouldn’t set &lt;code&gt;charset&lt;/code&gt; on &lt;code&gt;style&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;code&gt;style&lt;/code&gt; element’s descendants and subresources get processed before &lt;code&gt;style&lt;/code&gt; itself. I suppose that’s something like an &lt;code&gt;@import&lt;/code&gt; rule. &lt;strong&gt;Note:&lt;/strong&gt; time spent fetching “critical subresources” blocks page load.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 56 of 100DaysOfSpec, 4.2.5 The meta element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-56-100/"/>
      <updated>2015-06-25T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-56-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-meta-element&quot;&gt;4.2.5 The meta element&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.2.5.3-pragma-directives&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#pragma-directives&quot;&gt;4.2.5.3&lt;/a&gt; Pragma directives&lt;/h2&gt;
&lt;p&gt;“When the http-equiv attribute is specified on a meta element, the element is a pragma directive.”&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http-equiv&lt;/code&gt; takes one of a defined set of values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;content-language&lt;/code&gt; (non-conforming)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content-type&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default-style&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;refresh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;set-cookie&lt;/code&gt; (non-conforming)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;content-language&quot;&gt;content-language&lt;/h3&gt;
&lt;p&gt;“This pragma is almost, but not quite, entirely unlike the HTTP Content-Language header of the same name.” Uh, ok? How? &lt;em&gt;shrug&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;content-type&quot;&gt;content-type&lt;/h3&gt;
&lt;p&gt;This character encoding declaration is an alternative means of setting the &lt;code&gt;charset&lt;/code&gt; attribute, which means your document shouldn’t have both a meta element with this &lt;code&gt;http-equiv&lt;/code&gt; attribute value, and a meta with the &lt;code&gt;charset&lt;/code&gt; set. It’s formatted like: &lt;code&gt;text/html; charset=&lt;/code&gt; with a &lt;a href=&quot;https://www.w3.org/TR/encoding/&quot;&gt;character encoding label&lt;/a&gt; at the end. The character encoding name is case-insensitive.&lt;/p&gt;
&lt;h3 id=&quot;default-style&quot;&gt;default-style&lt;/h3&gt;
&lt;p&gt;“This pragma sets the name of the default alternative style sheet set.” Curious who’s using this and why.&lt;/p&gt;
&lt;h3 id=&quot;refresh&quot;&gt;refresh&lt;/h3&gt;
&lt;p&gt;A timed redirect. Only the first meta element with &lt;code&gt;http-equiv=&amp;quot;refresh&amp;quot;&lt;/code&gt; will be run. The algorithm to parse this attribute value is the longest of the pragmas. Still, some aspects of the design of this interface are up to the UA: how they want to surface the time left to redirect, whether they want to show the URL the user will be directed to, how (and maybe if? not quite sure) they want to allow the user to cancel the redirect, etc.&lt;/p&gt;
&lt;p&gt;The formatting of this pragma: &lt;code&gt;content=&amp;quot;300; URL=nextpage.html&amp;quot;&lt;/code&gt;, where 300 is any positive integer, denoting seconds. You can drop off the URL bit and the page will simply refresh; if you include a new URL, the page will, after first loading, redirect to that new page.&lt;/p&gt;
&lt;h3 id=&quot;set-cookie&quot;&gt;set-cookie&lt;/h3&gt;
&lt;p&gt;“It is non-conforming. Real HTTP headers should be used instead.”&lt;/p&gt;
&lt;h2 id=&quot;4.2.5.4-other-pragma-directives&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#other-pragma-directives&quot;&gt;4.2.5.4&lt;/a&gt; Other pragma directives&lt;/h2&gt;
&lt;p&gt;Like the default metadata names, pragma directives can be extended; that is, added to the &lt;a href=&quot;https://wiki.whatwg.org/wiki/PragmaExtensions&quot;&gt;WHATWG Wiki PragmaExtensions page&lt;/a&gt;. Where metadata names can be used to accomplish the same goal as a potential new pragma...you should do that.&lt;/p&gt;
&lt;p&gt;Anyone can update the page, and each new entry needs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;keyword&lt;/li&gt;
&lt;li&gt;brief description&lt;/li&gt;
&lt;li&gt;specification&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is less direction about this process than the metadata names, and when you look at the extensions page, you see why: between allowed and proposed extensions, there’s a grand total of 3 pragma directives.&lt;/p&gt;
&lt;h2 id=&quot;4.2.5.5-specifying-the-document&#39;s-character-encoding&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#charset&quot;&gt;4.2.5.5&lt;/a&gt; Specifying the document&#39;s character encoding&lt;/h2&gt;
&lt;p&gt;There’s a whole of bunch of rules here. I’m not going to lie to you, I’m feeling too lazy to read this right now when I don’t need it. If I ever need anything besides utf-8, I’ll give this section a glance. #lifelonglearning&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 55 of 100DaysOfSpec, 4.2.5 The meta element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-55-100/"/>
      <updated>2015-06-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-55-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-meta-element&quot;&gt;4.2.5 The meta element&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.2.5.2-other-metadata-names&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#other-metadata-names&quot;&gt;4.2.5.2&lt;/a&gt; Other metadata names&lt;/h2&gt;
&lt;p&gt;There’s a page (&lt;a href=&quot;https://wiki.whatwg.org/wiki/MetaExtensions&quot;&gt;WHATWG Wiki MetaExtensions page&lt;/a&gt;) listing “extensions to the predefined set of metadata names”, and the cool thing is that anyone is free to add new names that must pass certain requirements (and surely if you put anything inappropriate up it will be, uh, pruned).&lt;/p&gt;
&lt;p&gt;There’s also a table on that page for “Proposals that don&#39;t meet the requirements for a registration”, and you might be surprised to find Facebook’s widely-used Open Graph metadata names in there. The reason? “The spec specifies this to be a value of the property attribute—not a meta keyword”&lt;/p&gt;
&lt;p&gt;The new metadata name entries must include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Keyword&lt;/em&gt;: should feel unique among existing entries&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Brief description&lt;/em&gt;: non-normative (not spec-binding)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Specification&lt;/em&gt;: a link out to further details about semantics and requirements. Doesn’t have to live in W3C land.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Synonyms&lt;/em&gt;: “A list of other names that have exactly the same processing requirements” The synonyms shouldn’t be used interchangeably, this is just an informational list for UAs who may want to support legacy content.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Status&lt;/em&gt;: proposed/ratified/discontinued. See the spec for a specific definition, but should be a bit self-explanatory. Maybe note that “discontinued” means that the metadata name is probably still in use somewhere in the wild. Anyone can change the status as long as their change makes sense. The open web, yay.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A metadata name can be removed if it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is redundant with existing values. Added as a synonym those values if it is benign, marked as “discontinued” if it has been identified as “harmful”.&lt;/li&gt;
&lt;li&gt;Has been languishing in the “proposed” state for 1+ months&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conformance checkers can use the WHATWG Wiki MetaExtensions page (cached or not) to show a metadata name as valid (proposed or ratified) or invalid (discontinued or not listed). More curiously, a conformance checker should offer to add a proposed metadata name value to the page whenever they come across a new one.&lt;/p&gt;
&lt;p&gt;Any name that would get a URL as the value should be “represented using the link element, not the meta element” and should’t be proposed or ratified.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 54 of 100DaysOfSpec, 4.2.5 The meta element</title>
      <link href="https://melanie-richards.com/blog/day-54-100/"/>
      <updated>2015-06-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-54-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-meta-element&quot;&gt;4.2.5 The meta element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;meta&lt;/code&gt; element is the catchall for any document-wide metadata you can’t provide using &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;base&lt;/code&gt;, &lt;code&gt;link&lt;/code&gt;, or &lt;code&gt;script&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;attributes&quot;&gt;Attributes&lt;/h3&gt;
&lt;p&gt;The available attributes are &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;http-equiv&lt;/code&gt;, &lt;code&gt;content&lt;/code&gt;, and &lt;code&gt;charset&lt;/code&gt;. You have to set &lt;code&gt;content&lt;/code&gt; if and only if one of the first two attributes are set.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;charset&lt;/code&gt;: specifies the document’s character encoding. Some rules in the spec about using in XML docs. Only one &lt;code&gt;meta&lt;/code&gt; element with &lt;code&gt;charset&lt;/code&gt; per document (HTML page).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content&lt;/code&gt;: “gives the value of the document metadata or pragma directive” (the pragma directive defines how the document should be processed).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: part of an attribute pair that specifies document metadata. &lt;code&gt;name&lt;/code&gt; tells what kind of metadata is being set, and &lt;code&gt;content&lt;/code&gt; gives the value for that piece of metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4.2.5.1-standard-metadata-names&quot;&gt;4.2.5.1 Standard metadata names&lt;/h2&gt;
&lt;p&gt;Used for the &lt;code&gt;name&lt;/code&gt; attribute.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application name&lt;/code&gt;: “a short free-form string giving the name of the Web application that the page represents”. Can only be one metadata element in the document with this set, and only if it’s a Web application.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;author&lt;/code&gt;: “a free-form string giving the name of one of the page&#39;s authors”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;description&lt;/code&gt;: “a free-form string that describes the page”. You should write this to be human-readable (as it will be used in places like search engine results), not stick a bunch of SEO garbage or machine-only details in it. Can only be one metadata element in the document with this set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generator&lt;/code&gt;: “must be a free-form string that identifies one of the software packages used to generate the document”. I suppose this would be useful when you open up an HTML file and think “who the hell wrote this CSS?!” and then see that this was generated by a desktop publishing app and feel totally fine about yanking out all the bad. Funny that they used “Frontweaver” as an example software package, obviously a nod to “Dreamweaver”.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;keywords&lt;/code&gt;: “a set of comma-separated tokens, each of which is a keyword relevant to the page”. People have abused the keywords so much that search engines for the most part no longer take this list into account in their algorithms.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 53 of 100DaysOfSpec, 4.2.4 The link element, contd.</title>
      <link href="https://melanie-richards.com/blog/day-53-100/"/>
      <updated>2015-06-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-53-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-link-element&quot;&gt;4.2.4 The link element&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;link-element-as-hyperlink&quot;&gt;link element as hyperlink&lt;/h2&gt;
&lt;p&gt;UAs (User Agents, for ex, browsers) can surface the link element as a clickable/tappable hyperlink somewhere in the UI; not too much strict guidance on how to do that. I didn’t realize that; I previously thought the link element was pretty much only for loading resources or creating relationships between pages for the sake of machines.&lt;/p&gt;
&lt;p&gt;Still uncertain of a living use case.&lt;/p&gt;
&lt;h2 id=&quot;media-attribute-on-the-link-element&quot;&gt;media attribute on the link element&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;media&lt;/code&gt; attribute—which describes what kind of media the document was made for, all, handheld, etc—is handled a little bit differently based on what type of link the element is. If it’s a hyperlink, it’s just sort of nice-to-have information.&lt;/p&gt;
&lt;p&gt;If the link is actually loading a resource, that resource has to be applied if and only if the “environment” the document is in matches the value of the media attribute (so you could conceivably load a resource only on handheld devices, for example).&lt;/p&gt;
&lt;p&gt;If you don’t set the media attribute, the default value is &lt;code&gt;all&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;hreflang-attribute&quot;&gt;hreflang attribute&lt;/h2&gt;
&lt;p&gt;Gives the language (human language in ISO values, not a coding language) the linked resource is in, but that’s “purely advisory”.&lt;/p&gt;
&lt;h2 id=&quot;type-attribute&quot;&gt;type attribute&lt;/h2&gt;
&lt;p&gt;Also purely advistory, containing a MIME type of the linked resource (likely you’ve seen &lt;code&gt;text/html&lt;/code&gt;). &lt;a href=&quot;https://www.freeformatter.com/mime-types-list.html&quot;&gt;Here’s a giant list of MIME types&lt;/a&gt;, can’t personally speak to how accurate or up to date that is.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;type&lt;/code&gt; attribute can help the UA/browser avoid trying to load a resource it doesn’t support, as UAs are supposed to assume—only when fetching—that the resource type matches the value given. No &lt;code&gt;type&lt;/code&gt; attribute present falls back to a default type. Lack of detail there suggests this may change given certain contexts.&lt;/p&gt;
&lt;p&gt;HOWEVER, UAs are not to trust the &lt;code&gt;type&lt;/code&gt; attribute to determine the resource’s type after it has been fetched. There’s a process for using the resource’s Content-Type metadata, and/or applying type sniffing rules.&lt;/p&gt;
&lt;p&gt;Only after determining the resource’s true type is the resource applied or not applied, according to UA support and some other rules about relationships between &lt;code&gt;rel&lt;/code&gt; and &lt;code&gt;type&lt;/code&gt; (for example, the UA should not apply a link with &lt;code&gt;rel=&amp;quot;stylesheet&amp;quot;&lt;/code&gt; and &lt;code&gt;type=&amp;quot;text/plain&amp;quot;&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id=&quot;title-attribute&quot;&gt;title attribute&lt;/h2&gt;
&lt;p&gt;Advisory unless it defines “alternative style sheet sets” on a stylesheet link. This attribute doesn’t inherit from the document &lt;code&gt;title&lt;/code&gt;, which makes sense because you’re linking up an external resource or document.&lt;/p&gt;
&lt;h2 id=&quot;sizes-attribute&quot;&gt;sizes attribute&lt;/h2&gt;
&lt;p&gt;Only used on link elements with &lt;code&gt;rel=&amp;quot;icon&amp;quot;&lt;/code&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 52 of 100DaysOfSpec, 4.2.4 The link element</title>
      <link href="https://melanie-richards.com/blog/day-52-100/"/>
      <updated>2015-06-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-52-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-link-element&quot;&gt;4.2.4 The link element&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Continuing on with document metadata today, and boy, the &lt;code&gt;link&lt;/code&gt; element section is dense.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;link&lt;/code&gt; elements &lt;em&gt;must&lt;/em&gt; have an &lt;code&gt;href&lt;/code&gt; (value is the URL of the resource) and a &lt;code&gt;rel&lt;/code&gt; attribute: “Relationship between the document containing the hyperlink and the destination resource”. Dropping either of these attributes renders the element useless, or is supposed to, at any rate.&lt;/p&gt;
&lt;p&gt;There are two basic types of &lt;code&gt;link&lt;/code&gt; elements: references to external resources and hyperlinks.&lt;/p&gt;
&lt;p&gt;One &lt;code&gt;link&lt;/code&gt; element can actually yield more than one “link” itself, depending on information stored in the &lt;code&gt;rel&lt;/code&gt; attribute. Which is a little unusual, as you think of most elements as having a 1:1 tag to semantic “item” ratio. The example they give:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;author license&amp;quot; href=&amp;quot;/about&amp;quot;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That one element creates two different hyperlinks that point to the same page.&lt;/p&gt;
&lt;h2 id=&quot;links-to-external-resources&quot;&gt;Links to external resources&lt;/h2&gt;
&lt;p&gt;For stylesheets and other resources that can be applied to the DOM,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“User agents may opt to only try to obtain such resources when they are needed, instead of pro-actively fetching all the external resources that are not applied.”&lt;/li&gt;
&lt;li&gt;When applying these resources, the UA needs to allow 404s and redirects. A redirecting fetched resource seems like an unsavory idea for performance, but there you go.&lt;/li&gt;
&lt;li&gt;While the browser/UA tries to obtain the resource stored in the &lt;code&gt;link&lt;/code&gt; element, the webpage/document has to be blocked from loading. Which is (partially) why we limit the number of external resources we use and attempt to keep their file sizes as small as possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More about the &lt;code&gt;link&lt;/code&gt; element in tomorrow’s spec reading.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 51 of 100DaysOfSpec, the base element</title>
      <link href="https://melanie-richards.com/blog/day-51-100/"/>
      <updated>2015-06-12T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-51-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#document-metadata&quot;&gt;4.2 Document metadata&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;4.2.3-the-base-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-base-element&quot;&gt;4.2.3&lt;/a&gt; The base element&lt;/h2&gt;
&lt;p&gt;“The base element allows authors to specify the document base URL for the purposes of resolving relative URLs, and the name of the default browsing context for the purposes of following hyperlinks.”&lt;/p&gt;
&lt;p&gt;There should only be one &lt;code&gt;base&lt;/code&gt; element (all but the first will be ignored), which has no content, but rather an &lt;code&gt;href&lt;/code&gt; and/or a &lt;code&gt;target&lt;/code&gt; attribute.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;base href=&amp;quot;https://example.com&amp;quot;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This element should precede all others that have URL attributes, as you’re basically setting the default domain for URL resolution. The only exception is the &lt;code&gt;html&lt;/code&gt; element; whatever is set in the &lt;code&gt;base&lt;/code&gt; element doesn’t bubble up to the root element.&lt;/p&gt;
&lt;p&gt;Here’s where you can kind of be evil with HTML alone: you could set the &lt;a href=&quot;https://www.w3.org/TR/html5/browsers.html#valid-browsing-context-name-or-keyword&quot;&gt;browsing context&lt;/a&gt; to be &lt;code&gt;_blank&lt;/code&gt;, which would be an absolute nightmare for sites with a lot of internal URLs.&lt;/p&gt;
&lt;p&gt;I’m trying to think of a case in which you’d want to set the base URL in this manner. Most of the time it would be redundant; you probably want relative URLs to resolve on the same domain that you’re already on. Ideas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If all your relative URLs will have/a/really/long/standard/structure and you want to save yourself some writing/bytes in the markup.&lt;/li&gt;
&lt;li&gt;You have both v1.0 and v2.0 of a website live and are incrementally bringing people over to the new site. You want to preserve the old version of a particular page (for now) but want the relative links off this page to resolve to the new version without requiring a redirect (which are not fun for perceived performance).&lt;/li&gt;
&lt;li&gt;You want to point relative links to a localhost URL when the site is opened from a file navigator.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I don’t know, this element seems like it would help you be lazy—er, efficient—but it seems it could easily be more trouble than it’s worth. It’s easy to forget what you can’t see, and so if you’re not diligent is checking links, you might direct traffic to broken pages or outdated destinations.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 50 of 100DaysOfSpec, html, head, and title elements</title>
      <link href="https://melanie-richards.com/blog/day-50-100/"/>
      <updated>2015-06-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-50-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/semantics.html#semantics&quot;&gt;4 The elements of HTML&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Awww yea, I’m halfway through the 100 day challenge and have made it to possibly the most exciting section: the documentation on HTML elements!&lt;/p&gt;
&lt;h2 id=&quot;4.1-the-root-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/semantics.html#the-root-element&quot;&gt;4.1&lt;/a&gt; The root element&lt;/h2&gt;
&lt;p&gt;root element === &lt;code&gt;html&lt;/code&gt; element&lt;/p&gt;
&lt;p&gt;Apparently there are some cases in which you can omit the &lt;code&gt;html&lt;/code&gt;element&#39;s start or end tag (when the first thing inside &lt;code&gt;html&lt;/code&gt; is not a comment, when the &lt;code&gt;html&lt;/code&gt; element is not immediately followed by a comment, respectively). Seems bizarre and messy to do so, especially when you’re encouraged to set the &lt;code&gt;lang&lt;/code&gt; attribute on the element.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#index-aria-global&quot;&gt;Global aria- attributes&lt;/a&gt; are allowed on the &lt;code&gt;html&lt;/code&gt; element.&lt;/p&gt;
&lt;h2 id=&quot;4.2.1-document-metadata%3A-the-head-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-head-element&quot;&gt;4.2.1&lt;/a&gt; Document metadata: The &lt;code&gt;head&lt;/code&gt; element&lt;/h2&gt;
&lt;p&gt;The head element is &lt;em&gt;the&lt;/em&gt; first child of an &lt;code&gt;html&lt;/code&gt; element, and it contains metadata about the page.&lt;/p&gt;
&lt;p&gt;A single &lt;code&gt;title&lt;/code&gt; element HAS to be used inside of the &lt;code&gt;head&lt;/code&gt;, unless “the document is an iframe srcdoc document or if title information is available from a higher-level protocol”. The example they give for such a protocol is the subject line of an HTML email.&lt;/p&gt;
&lt;p&gt;You can only have one &lt;code&gt;base&lt;/code&gt; element in the &lt;code&gt;head&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Like the &lt;code&gt;html&lt;/code&gt; element, there are also some special cases in which you can omit start/end tags for the &lt;code&gt;head&lt;/code&gt; element. But why would you do that? Keep your code clean and logical to humans.&lt;/p&gt;
&lt;h2 id=&quot;4.2.2-the-title-element&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/document-metadata.html#the-title-element&quot;&gt;4.2.2&lt;/a&gt; The title element&lt;/h2&gt;
&lt;p&gt;There can only be one!&lt;/p&gt;
&lt;p&gt;When writing your title text, you should think about how it reads divorced from the context of the page, like in a bookmark list. “Dinner Menu” =&amp;gt; “Dinner Menu at Cafe Richards”, for example. I most commonly see a pipe &lt;code&gt;|&lt;/code&gt; separating the name of the page and the name of the site the page is on. Which is great, but it kind of reads out funny in a screen reader, like VoiceOver. Possibly this is something you just get used to when you’re a screen reader user, but bonus points for human-readable titles never hurt.&lt;/p&gt;
&lt;p&gt;If you try to jam non-text child elements into a &lt;code&gt;title&lt;/code&gt; element, they will be ignored when the title is parsed.&lt;/p&gt;
&lt;p&gt;You can dynamically set the &lt;code&gt;document.text&lt;/code&gt; value with a scripting language.&lt;/p&gt;
&lt;p&gt;When the UA uses the &lt;code&gt;title&lt;/code&gt; value in their interface, like on a tab, the directionality of the title text has to match the directionality of the &lt;code&gt;title&lt;/code&gt; element within the webpage. So the tab for an R-to-L document will have text displayed R-to-L.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 49 of 100DaysOfSpec, 3.2.7 WAI-ARIA, contd.</title>
      <link href="https://melanie-richards.com/blog/day-49-100/"/>
      <updated>2015-06-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-49-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#wai-aria&quot;&gt;3.2.7 WAI-ARIA&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.7.4-implicit-aria-semantics&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-implicit-aria-semantics&quot;&gt;3.2.7.4&lt;/a&gt; Implicit ARIA Semantics&lt;/h2&gt;
&lt;p&gt;This handy table shows what ARIA semantics are implied on particular elements. Unlike the table in &lt;a href=&quot;https://melanie-richards.com/blog/day-48-of-100&quot;&gt;yesterday’s reading&lt;/a&gt;, these semantics can be overridden, with some restrictions.&lt;/p&gt;
&lt;p&gt;Interesting tidbits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can have the “button” role on a hyperlink (&lt;code&gt;a&lt;/code&gt; tag), even though common wisdom is “buttons should be buttons”. Live update: the spec actually points out this specific weirdness following the &lt;em&gt;Implicit ARIA Semantics&lt;/em&gt; table.&lt;/li&gt;
&lt;li&gt;Likewise, you can put the “main” role on an &lt;code&gt;article&lt;/code&gt;, even though there is a &lt;code&gt;main&lt;/code&gt; element.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These first two bullets I’ve listed here underline the impression to me that—like web dev as a whole—accessibility can be a muddy endeavor, a practice of choosing the most sensible-seeming option among all possible solutions that arise. I also wonder if this ability to role-swap between elements is around to help devs who may be locked into using particular elements for whatever reason, but who want to report those elements as something semantically different to screen readers, etc.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There are no restrictions as to which role you can put on an &lt;code&gt;img&lt;/code&gt; tag, as long as it doesn’t have an empty alt tag. W I L D.&lt;/li&gt;
&lt;li&gt;Pretty cool how you can get granular about an element’s semantics with ARIA. For example, you can set an &lt;code&gt;ol&lt;/code&gt; or &lt;code&gt;ul&lt;/code&gt; element’s role to “radiogroup”, for a list of radios (a pretty common way of marking up that pattern). Though, the &lt;a href=&quot;https://www.w3.org/WAI/tutorials/forms/grouping/&quot;&gt;W3C accessibility tutorials&lt;/a&gt; mark up radio lists using a fieldset/legend pattern with semantically-beige divs wrapping input-label pairs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;3.2.7.5-allowed-aria-roles%2C-states-and-properties&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#allowed-aria-roles,-states-and-properties&quot;&gt;3.2.7.5&lt;/a&gt; Allowed ARIA roles, states and properties&lt;/h2&gt;
&lt;p&gt;This non-normative (UAs are not beholden to conform to this section, at least not in this spec) table lists ARIA properties you are required to and able to use with elements of a particular ARIA role. It includes some global states and properties that can be used in conjunction with any ARIA role.&lt;/p&gt;
&lt;p&gt;This table would be great to scan for someone just learning what the different roles are, as it has short descriptions of each ARIA role. There’s some interesting stuff in here you might be inclined to misuse if you just looked for an ARIA role with the correct-sounding name (been there, done that). For example, the description of the &lt;code&gt;complementary&lt;/code&gt; role: “A supporting section of the document, designed to be complementary to the main content at a similar level in the DOM hierarchy, but remains meaningful when separated from the main content.”&lt;/p&gt;
&lt;p&gt;Also interesting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;grid&lt;/code&gt; role allows you to tell screen readers that a set of ambiguous divs is laid out like a table and contains tabular information. “Why not just use a table?” is a whole other, angsty conversation.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;group&lt;/code&gt; role seems like a curious little thing I’d like to research more. Definition: “A set of user interface objects which are not intended to be included in a page summary or table of contents by assistive technologies.”&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 48 of 100DaysOfSpec, 3.2.7 WAI-ARIA</title>
      <link href="https://melanie-richards.com/blog/day-48-100/"/>
      <updated>2015-06-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-48-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#wai-aria&quot;&gt;3.2.7 WAI-ARIA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I didn’t have any thoughts on &lt;em&gt;3.2.6 Requirements relating to the bidirectional algorithm&lt;/em&gt;, so I&#39;m skipping ahead to &lt;em&gt;3.2.7 WAI-ARIA&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;ARIA stands for “Accessible Rich Internet Applications”.&lt;/p&gt;
&lt;p&gt;External resources referenced in this section:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rawgit.com/w3c/aria-in-html/master/index.html&quot;&gt;Using WAI-ARIA in HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/WAI/PF/aria-practices/&quot;&gt;WAI-ARIA 1.0 Authoring Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/wai-aria/roles#role_definitions&quot;&gt;ARIA role definitions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/wai-aria/states_and_properties#state_prop_def&quot;&gt;ARIA state and property definitions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can use ARIA roles and attributes on HTML elements (in fact, user agents are required to support ARIA semantics on all HTML elements), but you shouldn’t use them in a way that contradicts the elements’ &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-strong-native-semantics&quot;&gt;innate semantics&lt;/a&gt;. Browsers’ implementation of ARIA includes &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-implicit-aria-semantics&quot;&gt;“default implicit ARIA semantics”&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.7.1-aria-role-attribute&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#aria-role-attribute&quot;&gt;3.2.7.1&lt;/a&gt; ARIA Role Attribute&lt;/h2&gt;
&lt;p&gt;Any HTML element can have an ARIA role attribute. The value is structured just like a class attribute’s value: space-separated “tokens”. The role that’s actually used is the first “token” that is &lt;a href=&quot;https://www.w3.org/TR/wai-aria/roles#isAbstract&quot;&gt;non-abstract&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.7.2-state-and-property-attributes&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#state-and-property-attributes&quot;&gt;3.2.7.2&lt;/a&gt; State and Property Attributes&lt;/h2&gt;
&lt;p&gt;Among these are some &lt;a href=&quot;https://www.w3.org/TR/wai-aria/states_and_properties#global_states&quot;&gt;global ARIA states and properties&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ARIA states and properties are not always meaningful, and you might set one that doesn’t actually get processed at all. The spec suggests reading in the &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-strong-native-semantics&quot;&gt;“Strong Native Semantics”&lt;/a&gt; and &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-implicit-aria-semantics&quot;&gt;“Implicit ARIA Semantics”&lt;/a&gt; subsections.&lt;/p&gt;
&lt;h2 id=&quot;3.2.7.3-strong-native-semantics&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#sec-strong-native-semantics&quot;&gt;3.2.7.3&lt;/a&gt; Strong Native Semantics&lt;/h2&gt;
&lt;p&gt;There’s a really great table in this section you should check out because for the elements in the table, web devs should not use any roles that are not listed. Furthermore, setting the roles listed in the table would actually in theory be REDUNDANT, since they’re implicitly processed as having these roles by the browser. I say in theory because the spec is not always implemented correctly or completely, cross-browser, so in 2015 it would be wise to set these explicitly where it makes sense to you.&lt;/p&gt;
&lt;p&gt;Learning in real-time here: I see some roles I have explicitly set in a project that are already implied by the browser.&lt;/p&gt;
&lt;p&gt;More about ARIA semantics coming up in the next post.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 47 of 100DaysOfSpec, data-* attributes</title>
      <link href="https://melanie-richards.com/blog/day-47-100/"/>
      <updated>2015-06-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-47-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes&quot;&gt;3.2.5.9 Embedding custom non-visible data with the data-* attributes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“ A custom data attribute is an attribute in no namespace whose name starts with the string ‘data-’, has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.”&lt;/p&gt;
&lt;p&gt;To review, these custom attributes allow you to store data that you might use in Javascript, for example, and you can guarantee that user agents won’t—at least, aren’t allowed to—add any future attributes starting in “data-”.&lt;/p&gt;
&lt;p&gt;There is an &lt;code&gt;element.dataset&lt;/code&gt; object that contains an element’s data- attributes (name-value pairs). Hyphenated data attributes become camelCase in the returned object.&lt;/p&gt;
&lt;p&gt;The algorithms that manipulate the data attributes or their content basically undo all the work that the user agent does in creating the dataset object (insert &amp;quot;data-&amp;quot; back in, convert back to hyphenation from camelCase).&lt;/p&gt;
&lt;p&gt;These data- attributes are super useful and powerful, but web devs are supposed to build their pages to be functional without the attributes (which, in a way, in practice is sort of like saying “without Javascript” since you’re probably adding data- attributes for use with a scripting language).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 46 of 100DaysOfSpec, The dir attribute</title>
      <link href="https://melanie-richards.com/blog/day-46-100/"/>
      <updated>2015-06-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-46-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#global-attributes&quot;&gt;3.2.5 Global attributes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;%5B3.2.5.7%5D(link%3A-https%3A%2F%2Fwww.w3.org%2Ftr%2Fhtml5%2Fdom.html%23classes)-the-class-attribute&quot;&gt;[3.2.5.7](link: &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#classes&quot;&gt;https://www.w3.org/TR/html5/dom.html#classes&lt;/a&gt;) The class attribute&lt;/h2&gt;
&lt;p&gt;Ah, finally the meaning of “tokens” is clarified! The class attribute is a “set of space-separated tokens”, making each “class” a token. So in my very professional definition, an individual nugget (“word”) of text instead a string. ;]&lt;/p&gt;
&lt;p&gt;Duplicates are ignored when returning individual classes from the attribute.&lt;/p&gt;
&lt;p&gt;The spec states “there are no additional restrictions on the tokens authors can use in the class attribute” other than being space-separated. I still can’t apply styles using CSS to classes led with an integer (1, 2, 3, 4), at least in Chrome. So either that’s missing from the documentation, a requirement in the CSS specs (there’s no one document anymore), or a bug/design decision on the part of one or more browsers. Gotta get my giant spy magnifying glass out.&lt;/p&gt;
&lt;p&gt;Like many/most leading front-end devs, the spec urges semantic class naming (.button--primary), as opposed to presentational (.blue).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 45 of 100DaysOfSpec, The dir attribute</title>
      <link href="https://melanie-richards.com/blog/day-45-100/"/>
      <updated>2015-06-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-45-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-dir-attribute&quot;&gt;3.2.5.6 The dir attribute&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.5.6-the-dir-attribute&quot;&gt;3.2.5.6 The dir attribute&lt;/h2&gt;
&lt;p&gt;This is a global attribute describing the direction of text. The value can be ltr (left-to-right), rtl, or auto.&lt;/p&gt;
&lt;p&gt;In the case of auto, the direction will be determined automagically using the contents of the element. The spec says, “the heuristic used by this state is very crude (it just looks at the first character with a strong directionality...)”, so “auto” is basically a hail-Mary pass for when you really don’t know the direction of the language.&lt;/p&gt;
&lt;p&gt;It also says “For textarea and pre elements, the heuristic is applied on a per-paragraph level.” I suppose this is because the spec’s authors thought there was a fairer chance of these longer-form elements having mixed language contents.&lt;/p&gt;
&lt;p&gt;No missing/invalid value defaults on the &lt;code&gt;dir&lt;/code&gt; attribute. But…the algorithm requires a particular value when certain conditions are met. I suppose that’s a little different: setting a default value (probably easier) vs. actually following the spec and implementing the full algorithm as directed.&lt;/p&gt;
&lt;p&gt;“...elements from other namespaces always just inherit their directionality from their parent element, or, if they don&#39;t have one, default to ‘ltr’.”&lt;/p&gt;
&lt;p&gt;The HTML element’s other attributes can have directionality. &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#directionality-capable-attribute&quot;&gt;Certain attributes&lt;/a&gt; can have a different direction than the element itself; this direction is measured using the same “crude” look-at-the-first-character algorithm. Otherwise, attributes get the same direction as the element&#39;s &lt;code&gt;dir&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;And finally, the spec urges people to denote the text direction in HTML rather than CSS, so that the designation is always tied to the &lt;em&gt;content&lt;/em&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 44 of 100DaysOfSpec, The translate attribute</title>
      <link href="https://melanie-richards.com/blog/day-44-100/"/>
      <updated>2015-05-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-44-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#global-attributes&quot;&gt;3.2.5 Global Attributes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.5-the-translate-attribute&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-translate-attribute&quot;&gt;3.2.4.5&lt;/a&gt; The translate attribute&lt;/h2&gt;
&lt;p&gt;The translate attribute defines whether or not to translate the element&#39;s text when the page is localized. Values are easy: “yes” or “no”. If not set, the element inherits this attribute.&lt;/p&gt;
&lt;p&gt;What this attribute’s value does in practice is set a translation mode on the element (“no-translate” or “translate-enabled”). If the element doesn’t have the attribute set, it also inherits translation mode. If the element is the root element, its translation mode is “translate-enabled”.&lt;/p&gt;
&lt;p&gt;There is a list of an element’s attributes that can and should be translated, if the translate attribute was set to “yes”. Good to know it’s not just the text contents of the element; this is actually something I was wondering the other day, for practical application on a project.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 43 of 100DaysOfSpec, 3.2.5 Global Attributes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-43-100/"/>
      <updated>2015-05-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-43-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#global-attributes&quot;&gt;3.2.5 Global Attributes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.5.3-the-lang-and-xml%3Alang-attributes&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-lang-and-xml:lang-attributes&quot;&gt;3.2.5.3&lt;/a&gt; The lang and xml:lang attributes&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;lang&lt;/code&gt; attribute sets the “primary” language of an element (in a &lt;a href=&quot;https://tools.ietf.org/rfc/bcp/bcp47.txt&quot;&gt;BCP 47&lt;/a&gt; value). I don&#39;t know that I&#39;ve ever noticed it on a tag other than &lt;code&gt;html&lt;/code&gt;. Child elements inherit &lt;code&gt;lang&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lang&lt;/code&gt; is used on any HTML element, &lt;code&gt;xml:lang&lt;/code&gt; is used on an HTML element in an XML document, and can also be used within other namespaces if specifically allowed (like in MathGL or SVG).&lt;/p&gt;
&lt;p&gt;To return the language of a node, the UA needs to find the closest ancestor with a &lt;code&gt;lang&lt;/code&gt; attribute. If this goes bottom up instead of top down, that would be pretty inefficient if the html element is the only one with a language set.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;xml:lang&lt;/code&gt; takes precedence over &lt;code&gt;lang&lt;/code&gt; in this parsing, if both are set on the same element.&lt;/p&gt;
&lt;p&gt;If the attribute is nowhere to be found, the UA looks at the “pragma-set default language”, which appears to be the language set by a meta tag in the head of the HTML file. If that&#39;s not found, it looks to HTTP to find any language info.&lt;/p&gt;
&lt;p&gt;The language never defaults to a particular language (that would be biased and very easily incorrect); if there is no information that matches known values, the language of the document will be treated as “unknown”.&lt;/p&gt;
&lt;p&gt;“User agents may use the element&#39;s language to determine proper processing or rendering (e.g. in the selection of appropriate fonts or pronunciations, for dictionary selection, or for the user interfaces of form controls such as date pickers).”&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 42 of 100DaysOfSpec, 3.2.5 Global Attributes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-42-100/"/>
      <updated>2015-05-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-42-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#global-attributes&quot;&gt;3.2.5 Global Attributes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.5.1-the-id-attribute&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-id-attribute&quot;&gt;3.2.5.1&lt;/a&gt; The id attribute&lt;/h2&gt;
&lt;p&gt;Other than being unique, at least one character, and devoid of spaces, &amp;quot;there are no other restrictions on what form an ID can take; in particular, IDs can consist of just digits, start with a digit, start with an underscore, consist of just punctuation, etc.&amp;quot; A couple of surprises there. I&#39;ve had a couple of cases in which I&#39;ve had to prefix a classname with text so that styling wouldn&#39;t choke on a classname starting with a digit. Bless the poor souls who have to inherit IDs made entirely of punctuation.&lt;/p&gt;
&lt;p&gt;&amp;quot;Particular meanings should not be derived from the value of the id attribute.&amp;quot; Unsure what is meant here.&lt;/p&gt;
&lt;h2 id=&quot;3.2.5.2-the-title-attribute&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-title-attribute&quot;&gt;3.2.5.2&lt;/a&gt; The title attribute&lt;/h2&gt;
&lt;p&gt;To be honest, I don&#39;t think I&#39;ve ever used a title attribute on anything other than an image or anchor link. But as mentioned in the last post, it&#39;s chill to use it on any HTML element.&lt;/p&gt;
&lt;p&gt;The spec warns not to rely on the title for anything important, due to accessibility problems. Chiefly not being able to trigger the title when interacting with keyboard or touch. But if we don&#39;t have finger-hover technology on consumer mobile devices within the next 5 years, I&#39;ll be shocked.&lt;/p&gt;
&lt;p&gt;If an element doesn&#39;t have a title attribute set, the implication is that the nearest ancestral title also applies to this element. You would need to override with a title attribute on the item itself, even an empty string, in order to clear that implication. The title algorithm should actually return this, not just someone on an HTML working group being fussy about ~&lt;em&gt;~meaning~&lt;/em&gt;~&lt;/p&gt;
&lt;p&gt;You can force line breaks in titles, but &amp;quot;caution is advised&amp;quot;. Well...why? Mileage may vary or it will actually break something? Who knows!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 41 of 100DaysOfSpec, 3.2.5 Global Attributes</title>
      <link href="https://melanie-richards.com/blog/day-41-100/"/>
      <updated>2015-05-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-41-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#global-attributes&quot;&gt;3.2.5 Global Attributes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These attributes can be added to any HTML* element:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;accesskey&lt;/li&gt;
&lt;li&gt;class&lt;/li&gt;
&lt;li&gt;contenteditable&lt;/li&gt;
&lt;li&gt;dir&lt;/li&gt;
&lt;li&gt;hidden&lt;/li&gt;
&lt;li&gt;id&lt;/li&gt;
&lt;li&gt;lang&lt;/li&gt;
&lt;li&gt;spellcheck&lt;/li&gt;
&lt;li&gt;style&lt;/li&gt;
&lt;li&gt;tabindex&lt;/li&gt;
&lt;li&gt;title&lt;/li&gt;
&lt;li&gt;translate&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;*Specifically HTML. An element in another namespace, like XML, doesn&#39;t get these attributes, but inherits from an ancestral HTML element.&lt;/p&gt;
&lt;p&gt;There&#39;s also a long list of event handler content attributes that can be set on any HTML element. Spans things like events from user input, changes to the document, changes to audio/video status, etc. The list is interesting because you could call &lt;code&gt;onvolumechange&lt;/code&gt; on a div, but that would be ineffectual.&lt;/p&gt;
&lt;p&gt;As mentioned earlier in the spec, you can also place a custom data attribute (&amp;quot;data-[whateveryouwantgurl]&amp;quot;) on any HTML element.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 40 of 100DaysOfSpec, 3.2.4.3 Paragraphs, in Content Models</title>
      <link href="https://melanie-richards.com/blog/day-40-100/"/>
      <updated>2015-05-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-40-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#paragraphs&quot;&gt;3.2.4.3 Paragraphs&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.3-paragraphs&quot;&gt;3.2.4.3 Paragraphs&lt;/h2&gt;
&lt;p&gt;A &amp;quot;paragraph&amp;quot; in the spec connotes more than the &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag. In fewer words, it is a chunk of text (phrasing content) discussing a discreet idea. A paragraph could also be, for the spec&#39;s purposes, an address, a part of a form, a byline, or a poem stanza.&lt;/p&gt;
&lt;p&gt;Some elements (a, ins, del, map) can &amp;quot;straddle&amp;quot; paragraphs, and so the UA needs to ignore these elements when interpreting which portions of phrasing content are individual &amp;quot;paragraphs&amp;quot;. Judging from the first example given, this seems like a protection against messy markup.&lt;/p&gt;
&lt;p&gt;Reading the other examples starts to get like one of those puzzles where you have to guess how many triangles there are in an abstract design. Bananas!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 39 of 100DaysOfSpec, 3.2.4 Content Models, contd.</title>
      <link href="https://melanie-richards.com/blog/day-39-100/"/>
      <updated>2015-05-19T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-39-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#content-models&quot;&gt;3.2.4 Content Models&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.8-palpable-content&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#palpable-content&quot;&gt;3.2.4.1.8&lt;/a&gt; Palpable content&lt;/h2&gt;
&lt;p&gt;Elements with a content model that allows flow or phrasing content should contain at least one &amp;quot;node&amp;quot; of palpable content. Possibly how you&#39;ve heard this manifest is &amp;quot;you shouldn&#39;t have an empty &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag&amp;quot;. Likely the most common use case of people neglecting to include palpable content is when they add an empty container to a page, to be filled in with Javascript.&lt;/p&gt;
&lt;p&gt;The spec &amp;quot;encourages&amp;quot; conformance checkers to flag an error/warning/notice when they find elements empty of palpable content.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#palpable-content&quot;&gt;Check out the spec&lt;/a&gt; for the full list of palpable content elements, which also includes non-inter-element-whitespace text. Some of these elements have conditions on them; for example, a &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; counts as palpable content if it has at least one &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; child.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.9-script-supporting-elements&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#script-supporting-elements&quot;&gt;3.2.4.1.9&lt;/a&gt; Script-supporting elements&lt;/h2&gt;
&lt;p&gt;script, template.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.2-transparent-content-models&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#transparent-content-models&quot;&gt;3.2.4.2&lt;/a&gt; Transparent content models&lt;/h2&gt;
&lt;p&gt;Elements with a &amp;quot;transparent&amp;quot; content model inherit the content model of the parent, and have the same descendent requirements as this parent.&lt;/p&gt;
&lt;p&gt;If a transparent element doesn&#39;t have a parent, its content model is treated as flow content.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 38 of 100DaysOfSpec, 3.2.4 Content Models, contd.</title>
      <link href="https://melanie-richards.com/blog/day-38-100/"/>
      <updated>2015-05-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-38-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#content-models&quot;&gt;3.2.4 Content Models&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.6-embedded-content&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#embedded-content&quot;&gt;3.2.4.1.6&lt;/a&gt; Embedded content&lt;/h2&gt;
&lt;p&gt;&amp;quot;Embedded content is content that imports another resource into the document, or content from another vocabulary that is inserted into the document.&amp;quot;&lt;/p&gt;
&lt;p&gt;Includes audio, canvas, embed, iframe, img, math, object, svg, and video. On occasion (spoiler alert!) the spec will define fallback content for these elements.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.7-interactive-content&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#interactive-content&quot;&gt;3.2.4.1.7&lt;/a&gt; Interactive content&lt;/h2&gt;
&lt;p&gt;These elements have an activation behavior, &amp;quot;normally culminating in a click event&amp;quot;. The user can trigger a synthetic &amp;quot;click&amp;quot; by other means, such as voice input or keyboard navigation.&lt;/p&gt;
&lt;p&gt;If a click() method triggered the synthetic click, &amp;quot;the isTrusted attribute must be initialized to false&amp;quot;. Seems like a security measure.&lt;/p&gt;
&lt;p&gt;If you ever wondered how fussy this stuff is, here&#39;s a good example: &amp;quot;Click-focusing behavior (e.g. the focusing of a text field when user clicks in one) typically happens before the click, when the mouse button is first depressed, and is therefore not discussed here.&amp;quot;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 37 of 100DaysOfSpec, 3.2.4 Content Models, contd.</title>
      <link href="https://melanie-richards.com/blog/day-37-100/"/>
      <updated>2015-05-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-37-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#content-models&quot;&gt;3.2.4 Content models&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.3-sectioning-content&quot;&gt;3.2.4.1.3 Sectioning content&lt;/h2&gt;
&lt;p&gt;Defines &amp;quot;scope of headings and footers&amp;quot;. A lot of people only use &lt;code&gt;header&lt;/code&gt; and &lt;code&gt;footer&lt;/code&gt; elements for the universal, presentational header and footer of a website. However, these elements add meaning to sectioning content.&lt;/p&gt;
&lt;p&gt;Elements in this category:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;article&lt;/li&gt;
&lt;li&gt;aside&lt;/li&gt;
&lt;li&gt;nav&lt;/li&gt;
&lt;li&gt;section&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of these might have a heading and an outline.&lt;/p&gt;
&lt;p&gt;There are other elements that are &amp;quot;sectioning roots&amp;quot;—&lt;em&gt;not&lt;/em&gt; sectioning content—but they can have an outline, as well.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.4-heading-content&quot;&gt;3.2.4.1.4 Heading content&lt;/h2&gt;
&lt;p&gt;Heading elements: &lt;code&gt;h1&lt;/code&gt;, &lt;code&gt;h2&lt;/code&gt;, … &lt;code&gt;h6&lt;/code&gt;. These are headers of sections that can be marked up inside a &lt;code&gt;section&lt;/code&gt; or stand alone.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.5-phrasing-content&quot;&gt;3.2.4.1.5 Phrasing content&lt;/h2&gt;
&lt;p&gt;Text of the document, and elements that mark up text within the &amp;quot;intra-paragraph level&amp;quot;.&lt;/p&gt;
&lt;p&gt;Check out the full list in the spec, because there are a lot of surprises there (to me, at least): form elements, canvas, object, select, video…I was expecting elements that seemed strictly text-oriented.&lt;/p&gt;
&lt;p&gt;Text can apparently mean anything, re: content models:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;nothing&lt;/li&gt;
&lt;li&gt;Text nodes&lt;/li&gt;
&lt;li&gt;sometimes its own content model&lt;/li&gt;
&lt;li&gt;also a phrasing model&lt;/li&gt;
&lt;li&gt;can be inter-element whitespace (like that moment when you&#39;re first starting out when you realize carriage returns in your code are ignored and collapsed).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;quot;Text nodes and attribute values must consist of Unicode characters, must not contain U+0000 characters, must not contain permanently undefined Unicode characters (noncharacters), and must not contain control characters other than space characters.&amp;quot;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 36 of 100DaysOfSpec, 3.2.4 Content Models</title>
      <link href="https://melanie-richards.com/blog/day-36-100/"/>
      <updated>2015-05-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-36-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#content-models&quot;&gt;3.2.4 Content models&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Just gonna leave this here: &amp;quot;an HTML element must have contents that match the requirements described in the element&#39;s content model. The contents of an element are its children in the DOM, except for template elements, where the children are those in the template contents (a separate DocumentFragment assigned to the element when the element is created).&amp;quot;&lt;/p&gt;
&lt;p&gt;Space characters are &lt;em&gt;always&lt;/em&gt; allowed between elements. This is something that sort of happens naturally when authoring documents, but I feel like I&#39;ve heard similar questions (&amp;quot;can I/should I put spaces here?&amp;quot;) from beginners. This space is called &lt;strong&gt;inter-element whitespace&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Inter-element whitespace is ignored when processing the document&#39;s semantics and whether or not the contents&lt;/p&gt;
&lt;p&gt;HTML elements can be &amp;quot;orphan&amp;quot; nodes. Interestingly: &amp;quot;creating a td element and storing it in a global variable in a script is conforming, even though td elements are otherwise only supposed to be used inside tr elements&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1-kinds-of-content&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#kinds-of-content&quot;&gt;3.2.4.1&lt;/a&gt; Kinds of content&lt;/h2&gt;
&lt;p&gt;Elements can (and nearly always do) belong to more than one category:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Metadata&lt;/li&gt;
&lt;li&gt;Flow (encompasses almost all other categories, except for some of &amp;quot;metadata&amp;quot;)&lt;/li&gt;
&lt;li&gt;Sectioning&lt;/li&gt;
&lt;li&gt;Heading&lt;/li&gt;
&lt;li&gt;Phrasing&lt;/li&gt;
&lt;li&gt;Embedded&lt;/li&gt;
&lt;li&gt;Interactive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&#39;s a &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#kinds-of-content&quot;&gt;nice little chart, too&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.1-metadata-content&quot;&gt;3.2.4.1.1 Metadata content&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Metadata content:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Defines presentation/behavior of the rest of the content (like CSS styling) or&lt;/li&gt;
&lt;li&gt;Sets relationship of doc to other documents (like next and previous links) or&lt;/li&gt;
&lt;li&gt;&amp;quot;Conveys other &#39;out of band&#39; information.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Not sure what files under that last misc item, feel like &amp;quot;title&amp;quot; might be a good example unless that falls under the category for whatever reason.&lt;/p&gt;
&lt;p&gt;Short list of example elements: &lt;em&gt;base, link, meta, noscript, script, style, template, title&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.2.4.1.2-flow-content&quot;&gt;3.2.4.1.2 Flow content&lt;/h2&gt;
&lt;p&gt;Most elements in the &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;, see spec for full list.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 35 of 100DaysOfSpec, 3.2 Elements</title>
      <link href="https://melanie-richards.com/blog/day-35-100/"/>
      <updated>2015-05-14T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-35-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#elements&quot;&gt;3.2 Elements&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.2.1-semantics&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#semantics-0&quot;&gt;3.2.1&lt;/a&gt; Semantics&lt;/h2&gt;
&lt;p&gt;Elements, attributes, and attribute values have meaning! Allows browsers, search engines, and other HTML processors to know how to present HTML documents. I like how the example lingers on how semantic markup is meaningful for accessibility (speech-based screen readers).&lt;/p&gt;
&lt;p&gt;The semantics of a page can change over time (for example, modifications made to the markup via Javascript), so a user agent needs to update the document&#39;s presentation according to these changes to the document.&lt;/p&gt;
&lt;h2 id=&quot;3.2.2-elements-in-the-dom&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#elements-in-the-dom&quot;&gt;3.2.2&lt;/a&gt; Elements in the DOM&lt;/h2&gt;
&lt;p&gt;The spec &lt;em&gt;requires&lt;/em&gt; implementation of the HTML elements listed in the spec, and all these elements need to be accessible to scripting languages.&lt;/p&gt;
&lt;p&gt;All element interfaces (I think this is being used as a synonym for API?) inherit from the HTMLElement interface. Some elements don&#39;t have any other requirements for implementation outside of this root interface. Not quite sure of an example there, as they are not given, but I wonder if the &lt;code&gt;span&lt;/code&gt; element has no further requirements, being a pretty semantically-vague element. This being the spec, though, I wouldn&#39;t be surprised if there were another 8 different rules about how to process a span.&lt;/p&gt;
&lt;p&gt;The HTMLUnknownElement interface is used for non-spec-defined elements.&lt;/p&gt;
&lt;p&gt;Attributes in the main interface include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;title&lt;/li&gt;
&lt;li&gt;lang&lt;/li&gt;
&lt;li&gt;translate (boolean value)&lt;/li&gt;
&lt;li&gt;dir&lt;/li&gt;
&lt;li&gt;dataset (read-only)&lt;/li&gt;
&lt;li&gt;hidden (boolean)&lt;/li&gt;
&lt;li&gt;tabIndex&lt;/li&gt;
&lt;li&gt;accessKey&lt;/li&gt;
&lt;li&gt;accessKeyLabel&lt;/li&gt;
&lt;li&gt;contentEditable&lt;/li&gt;
&lt;li&gt;isContentEditable (boolean)&lt;/li&gt;
&lt;li&gt;spellcheck (boolean)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;3.2.3-element-definitions&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#element-definitions&quot;&gt;3.2.3&lt;/a&gt; Element definitions&lt;/h2&gt;
&lt;p&gt;This section details what-to-expect from element definitions, which include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The element&#39;s categories:&lt;/strong&gt; used for defining the element&#39;s content models.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contexts in which this element can be used:&lt;/strong&gt; can be redundant info to content model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content model&lt;/strong&gt;: rules on which elements need to be included as children/descendents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tag omission in text/html:&lt;/strong&gt; defines when an element&#39;s tag can be self-closing  (like an &lt;code&gt;&amp;lt;img /&amp;gt;&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content attributes:&lt;/strong&gt; attributes that can set on the element; some are normative (required by spec, listed first), and some are not.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DOM interface&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unless restrictions are listed, attributes can contain any text value.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 34 of 100DaysOfSpec, 3.1.3 DOM tree accessors</title>
      <link href="https://melanie-richards.com/blog/day-34-100/"/>
      <updated>2015-05-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-34-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#dom-tree-accessors&quot;&gt;3.1.3 DOM tree accessors&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3.1.3-dom-tree-accessors&quot;&gt;3.1.3 DOM tree accessors&lt;/h2&gt;
&lt;p&gt;&amp;quot;The html element of a document is the document&#39;s root element, if there is one and it&#39;s an html element, or null otherwise.&amp;quot; &amp;lt;— LOL stating the obvious but yeah I guess if this is a legally-binding document for UAs in some markets, sure.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;head&lt;/code&gt; attribute is the first &lt;code&gt;head&lt;/code&gt; element. What happens if you&#39;re silly and include two &lt;code&gt;heads&lt;/code&gt;? I modified a page to include a second head with a CSS file in it and: &lt;a href=&quot;https://validator.w3.org/check&quot;&gt;the w3c validator&lt;/a&gt; throws errors as &amp;quot;stray start tag head&amp;quot;, &amp;quot;link element between head and body&amp;quot;, and &amp;quot;cannot recover after last error. Any further errors will be ignored&amp;quot;. Latest browsers across the board appear ignore the second &lt;code&gt;head&lt;/code&gt;without displaying a warning in the console.&lt;/p&gt;
&lt;p&gt;Hey! You can have a title on an SVG element. Makes sense, it &lt;em&gt;is&lt;/em&gt; a document. By the way, the &lt;a href=&quot;https://svgwg.org/svg2-draft/&quot;&gt;SVG spec&lt;/a&gt; was recently updated, that should be interesting and possibly more readable than the HTML spec.&lt;/p&gt;
&lt;p&gt;The document&#39;s &lt;strong&gt;body element&lt;/strong&gt; is the first &lt;code&gt;body&lt;/code&gt; OR &lt;code&gt;frameset&lt;/code&gt; element.&lt;/p&gt;
&lt;p&gt;The images, embeds, plugins, links, forms, and scripts attributes defined in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-document-object&quot;&gt;3.1.1&lt;/a&gt; all return an HTMLCollection (ex: &lt;code&gt;document.images&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;getElementsByName()&lt;/strong&gt; method returns a NodeList with all the elements in the document that match the name passed to the method; these elements are listed in order of appearance and not by how many Oscars they&#39;ve won.&lt;/p&gt;
&lt;p&gt;&amp;quot;Supported property names&amp;quot; comes from the &amp;quot;name&amp;quot; attribute on applet, exposed embed, form, iframe, img, and exposed object elements in the document, as well as from IDs on applet, exposed object, and img elements that do not have empty &amp;quot;name&amp;quot; attributes. Duplicate names are ignored, and if an element has both a &amp;quot;name&amp;quot; and an &amp;quot;ID&amp;quot;, the ID wins. &lt;em&gt;The ID always wins...&lt;/em&gt;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 33 of 100DaysOfSpec, Resource metadata management</title>
      <link href="https://melanie-richards.com/blog/day-33-100/"/>
      <updated>2015-05-12T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-33-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in  &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#resource-metadata-management&quot;&gt;3.1.2 Resource metadata management&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3.1.2-resource-metadata-management&quot;&gt;3.1.2 Resource metadata management&lt;/h2&gt;
&lt;p&gt;&amp;quot;In the case of HTTP, the referrer IDL attribute will match the Referer (sic) header that was sent when fetching the current page.&amp;quot; From reading elsewhere, it does indeed seem that the referrer value can&#39;t be changed directly in a scripting language, like Javascript. You can modify the user&#39;s browsing history, though (history.pushState(), history.replaceState()), basically accomplishing the same thing.&lt;/p&gt;
&lt;p&gt;Non-normative note on cookies: &amp;quot;If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), a SecurityError exception will be thrown on getting and setting.&amp;quot;&lt;/p&gt;
&lt;p&gt;Some documents are said to be &amp;quot;cookie averse&amp;quot;: those with no &amp;quot;browsing context&amp;quot; (so that&#39;s N/A to a web page you navigate to in a browser) and with an address lacking a &amp;quot;server-based naming authority&amp;quot;. I&#39;m unsure of what would be an example of a document that is inherently cookie averse—can&#39;t seem to find a use case other than user-disabled cookies—so probably this is not something to worry about as a web dev, but possibly as a UA.&lt;/p&gt;
&lt;p&gt;document.lastModified is returned in the user&#39;s time zone.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 32 of 100DaysOfSpec, Semantics, structure, and APIs of HTML documents</title>
      <link href="https://melanie-richards.com/blog/day-32-100/"/>
      <updated>2015-05-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-32-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;YESSSS, starting a new chapter! Reading in &lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#documents&quot;&gt;3.1 Documents&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some redundant information on the document&#39;s address, feels more in the context of a web developer than a user agent though.&lt;/p&gt;
&lt;p&gt;A document is immediately available after being created with a script using the createDocument() or createHTMLDocument() DOM methods. If that document is not created with a referrer (absolute URL), the document referrer is an empty string.&lt;/p&gt;
&lt;h2 id=&quot;3.1.1-the-document-object&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/dom.html#the-document-object&quot;&gt;3.1.1&lt;/a&gt; The Document object&lt;/h2&gt;
&lt;p&gt;Nice little definition of the Document interface. The contents should not be terribly surprisingly for those familiar with HTML. I assume that everything listed in the definition is essentially made accessible to scripting languages.&lt;/p&gt;
&lt;p&gt;The document&#39;s attributes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Domain&lt;/li&gt;
&lt;li&gt;Referrer&lt;/li&gt;
&lt;li&gt;Cookie(s)&lt;/li&gt;
&lt;li&gt;lastModified&lt;/li&gt;
&lt;li&gt;readyState&lt;/li&gt;
&lt;li&gt;Info you set in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of your document: title, dir, body, head, images, embed, plugins, links, forms, scripts&lt;/li&gt;
&lt;li&gt;User interaction attributes, like hasFocus()&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Days 29–31 of 100DaysOfSpec, 2.7 Common DOM Interfaces, contd.</title>
      <link href="https://melanie-richards.com/blog/day-29-31-100/"/>
      <updated>2015-05-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-29-31-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Since the past week has been super busy with travel, I&#39;m catching up on a few days. Combining a couple into one post as I don&#39;t have much commentary on this algorithm-heavy section.&lt;/p&gt;
&lt;h2 id=&quot;2.7.2-collections&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#collections&quot;&gt;2.7.2 Collections&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One thing that&#39;s sort of frustrating about the HTML spec with regards to how UAs should handle certain things, is that the document will say &amp;quot;x is a y&amp;quot;, but never give a satisfactory definition of what &amp;quot;y&amp;quot; is. A &amp;quot;collection&amp;quot; is an example of this; it seems a bit arbitrary. It seems like this is not entirely accidental in this case...&lt;/p&gt;
&lt;h2 id=&quot;2.7.4-transferable-objects&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#transferable-objects&quot;&gt;2.7.4 Transferable objects&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&amp;quot;Some objects support being copied and closed in one operation. This is called transferring the object, and is used in particular to transfer ownership of unsharable or expensive resources across worker boundaries.&amp;quot;&lt;/p&gt;
&lt;p&gt;^ Seems pretty chill to me (great technical insights I have here). One example they give has to do with arrays, and the other with messaging/communication between documents.&lt;/p&gt;
&lt;p&gt;It appears that doing this &amp;quot;transferring&amp;quot; is a destructive process, like taking a sticker off a sheet and putting it on the cover of a notebook. I&#39;m unsure of the scope of this destruction: whether the transferred object can only be used once on a page load or session or other small scope, or if that&#39;s forever-ever.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 26 of 100DaysOfSpec, 2.7 Common DOM Interfaces</title>
      <link href="https://melanie-richards.com/blog/day-26-100/"/>
      <updated>2015-05-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-26-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#cors-settings-attributes&quot;&gt;2.7 Common DOM Interfaces&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.7-common-dom-interfaces&quot;&gt;2.7 Common DOM Interfaces&lt;/h2&gt;
&lt;p&gt;IDL = interface definition language&lt;/p&gt;
&lt;p&gt;&amp;quot;If a reflecting IDL attribute is a DOMString attribute whose content attribute is defined to contain one or more URLs&amp;quot; What attribute would that be? First thing that springs to mind is srcset, but that string also contains commas and size information. Not just space-separated URLs, which is what this section would imply. Add to the list of questions!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 24 of 100DaysOfSpec, Fetching Resources, contd.</title>
      <link href="https://melanie-richards.com/blog/day-24-100/"/>
      <updated>2015-04-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-24-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#fetching-resources&quot;&gt;2.6 Fetching Resources&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.6.5-extracting-character-encodings-from-meta-elements&quot;&gt;2.6.5 Extracting character encodings from meta elements&lt;/h2&gt;
&lt;p&gt;No comments on this algorithm.&lt;/p&gt;
&lt;h2 id=&quot;2.6.6-cors-settings-attributes&quot;&gt;2.6.6 CORS settings attributes&lt;/h2&gt;
&lt;p&gt;CORS stands for &amp;quot;Cross-origin resource sharing&amp;quot;, and it allows secure resources (font files, for example) to be requested from one domain to another. That&#39;s pretty much the only experience I have with it: setting—very carefully—the CORS configuration for font files in .htaccess.&lt;/p&gt;
&lt;h2 id=&quot;2.6.7-cors-enabled-fetch&quot;&gt;2.6.7 CORS-enabled fetch&lt;/h2&gt;
&lt;p&gt;Pretty much one big algorithm in this section. Notable: the CORS mode can be &amp;quot;NO CORS&amp;quot;, and still a resource might be treated differently. Some resources have a default behavior &amp;quot;taint&amp;quot;; these resources will be fetched, but considered cross-domain requests; the UA can choose to surface this as a cross-site access error in the console. Other resources have a default behavior of &amp;quot;fail&amp;quot;, which will be completely blocked (and may also be reported as an error in the console).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 23 of 100DaysOfSpec, Fetching Resources, contd.</title>
      <link href="https://melanie-richards.com/blog/day-23-100/"/>
      <updated>2015-04-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-23-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#fetching-resources&quot;&gt;2.6 Fetching Resources&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.6.3-encrypted-http-and-related-security-concerns&quot;&gt;2.6.3 Encrypted HTTP and related security concerns&lt;/h2&gt;
&lt;p&gt;UAs should warn users of certificate errors (this section also applies to HTTP-over-TLS, shown as &amp;quot;https://&amp;quot; links); they should also either not download the resources that contain certificate errors, or act as though these resources weren&#39;t encrypted at all. Notably, a page can&#39;t just be whitelisted after a secure visit, the UA has to run this check every time.&lt;/p&gt;
&lt;p&gt;This section goes through some examples of the above. One fun application of this part of spec that I&#39;ve run into in real time is styling third-party applications for clients. Often, these applications are served over https, but might not have local storage for fonts, stylesheets, and images. You need to have hosting for these resources that also has a secure certificate; an SSL cert seems to range from a couple bucks to a couple hundred dollars per year.&lt;/p&gt;
&lt;h2 id=&quot;2.6.4-determining-the-type-of-a-resource&quot;&gt;2.6.4 Determining the type of a resource&lt;/h2&gt;
&lt;p&gt;There&#39;s a whole other spec for &lt;a href=&quot;https://tools.ietf.org/html/draft-ietf-websec-mime-sniff-03&quot;&gt;MIME-type sniffing&lt;/a&gt;, whee! Essentially, MIME-sniffing is determining what type of file/resource is being requested. User agents have to be careful to follow the spec precisely, because if they return a different MIME type than the server, that could result in security issues.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 22 of 100DaysOfSpec, 2.6 Fetching Resources</title>
      <link href="https://melanie-richards.com/blog/day-22-100/"/>
      <updated>2015-04-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-22-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#fetching-resources&quot;&gt;2.6 Fetching Resources&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;First of all: this is the second week in a row that I&#39;ve skipped over the whole weekend. That actually had way more to do with a busy work season than laziness, but since we&#39;re in the mode of building habits, this trend underlines two things I know subconciously:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If I have work that is not yet finished that can&#39;t be done within normal work hours, it is very hard for me to put it down and attend to other important elements of life.&lt;/li&gt;
&lt;li&gt;It is so much easier to make time for something when you have a specific chunk of time blocked out for it. Using my commute to read the spec has helped me keep consistent on work days.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now on to today&#39;s reading.&lt;/p&gt;
&lt;h2 id=&quot;2.6-fetching-resources&quot;&gt;2.6 Fetching resources&lt;/h2&gt;
&lt;p&gt;The protocol that the spec describes is http, likely the most familiar/obvious to most folks.&lt;/p&gt;
&lt;h2 id=&quot;2.6.2-processing-model&quot;&gt;2.6.2 Processing model&lt;/h2&gt;
&lt;p&gt;I don&#39;t think I&#39;ve ever seen a 204 No Content response code... (described here as when an absolute URL has a scheme the user agent doesn&#39;t support, or has a scheme &amp;quot;that does not define a mechanism to obtain the resource&amp;quot;). Their example is a mailto: link, but modern browsers handle those intelligently and never surface an error code to the user. Of course, not all UAs are browsers.&lt;/p&gt;
&lt;p&gt;There&#39;s a step in the algorithm about updating cookies, unless the block cookies flag is enabled. I&#39;m tempted to read more about how flags work—to me, as consumer, they are just checkboxes—but that sounds like going deep in the weeds...&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 18 of 100DaysOfSpec, URLs</title>
      <link href="https://melanie-richards.com/blog/day-18-100/"/>
      <updated>2015-04-23T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-18-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in [2.4 Common infrastructure, URLS](&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#urls&quot;&gt;https://www.w3.org/TR/html5/infrastructure.html#urls&lt;/a&gt; text: ).&lt;/p&gt;
&lt;h2 id=&quot;2.5.1-terminology&quot;&gt;2.5.1 Terminology&lt;/h2&gt;
&lt;p&gt;Some familiar stuff in this section, like if you don&#39;t specify a valid URL in an href attribute, you&#39;ll get a fallback of the document&#39;s URL.&lt;/p&gt;
&lt;h2 id=&quot;2.5.2-resolving-urls&quot;&gt;2.5.2 Resolving URLs&lt;/h2&gt;
&lt;p&gt;Describes how to parse a relative URL (another-page.html) to an absolute URL (&lt;code&gt;https://example.com/another-page.html&lt;/code&gt;). Though not stated in this section of the spec, it should be mentioned that not every URL needs to start with http:// or https://. These are just examples of protocols, which also include ftp://, file://, the newly proposed HTTP/2, etc.&lt;/p&gt;
&lt;p&gt;Encoding is UTF-8.&lt;/p&gt;
&lt;h2 id=&quot;2.5.3-dynamic-changes-to-base-urls&quot;&gt;2.5.3 Dynamic changes to base URLs&lt;/h2&gt;
&lt;p&gt;Any changes to the xml:base attribute or a document&#39;s base URL logically are applied to all descendants, elements in the document, etc.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 17 of 100DaysOfSpec, Common Microsyntaxes forevah</title>
      <link href="https://melanie-richards.com/blog/day-17-100/"/>
      <updated>2015-04-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-17-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#colors&quot;&gt;2.4 Common microsyntaxes, color&lt;/a&gt; and down through 2.4.10 Media queries.&lt;/p&gt;
&lt;h2 id=&quot;2.4.6-colors&quot;&gt;2.4.6 Colors&lt;/h2&gt;
&lt;p&gt;A &amp;quot;simple color&amp;quot; has a value 0-255 for the RGB channels of digital color. A &amp;quot;valid simple color&amp;quot; is the hex code for the color, preceded by the &amp;quot;#&amp;quot; symbol. Notably, it&#39;s seven characters long—#000000, not #000 shorthand. Serializing simple colors returns lowercase for all the digits (#ffffff vs #FFFFFF).&lt;/p&gt;
&lt;p&gt;The spec includes an algorithm for parsing legacy color values, like &amp;quot;dodgerblue&amp;quot; (aww, the ol&#39; days of tables and color names). A cool reason not to use these legacy names: it takes nine steps to parse a hex code, and 20 steps—plus five substeps—to parse a legacy color name.&lt;/p&gt;
&lt;h2 id=&quot;2.4.7-space-separated-tokens&quot;&gt;2.4.7 Space-separated tokens&lt;/h2&gt;
&lt;p&gt;&amp;quot;A set of space-separated tokens is a string containing zero or more words (known as tokens) separated by one or more space characters, where words consist of any string of one or more characters, none of which are space characters.&amp;quot;&lt;/p&gt;
&lt;p&gt;In unordered and ordered sets, none of the tokens are duplicated.&lt;/p&gt;
&lt;p&gt;Some sets of tokens require certain allowed values, and all handling of case sensitivity is done on a case-by-case (heh) basis.&lt;/p&gt;
&lt;p&gt;I&#39;m unsure of what is the application/use for tokens. In my experience, &amp;quot;token&amp;quot; has a strong correlation with security and authentication. But it seems token here is a very general term for &amp;quot;misc piece of data we want to store and use&amp;quot;. I&#39;m going to have to put this on the to-ask-my-colleagues list.&lt;/p&gt;
&lt;h2 id=&quot;2.4.8-comma-separated-tokens&quot;&gt;2.4.8 Comma-separated tokens&lt;/h2&gt;
&lt;p&gt;The same as above, but with commas. The space characters are optional, though. Why would the spec have two different syntaxes for sets of tokens? My guess is that both were already in production, so they came up with guidelines that fit both syntaxes.&lt;/p&gt;
&lt;h2 id=&quot;2.4.9-references&quot;&gt;2.4.9 References&lt;/h2&gt;
&lt;p&gt;Just gonna leave this here: &amp;quot;A valid hash-name reference to an element of type type is a string consisting of a &amp;quot;#&amp;quot; (U+0023) character followed by a string which exactly matches the value of the name attribute of an element with type type in the document.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;2.4.10-media-queries&quot;&gt;2.4.10 Media queries&lt;/h2&gt;
&lt;p&gt;A media query successfully &amp;quot;matches the environment&amp;quot; if the string is empty or simply has space characters. So...you could use it as a hack for styling things only in a browser that supports media queries.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 16 of 100DaysOfSpec, Common Microsyntaxes forevah</title>
      <link href="https://melanie-richards.com/blog/day-16-100/"/>
      <updated>2015-04-21T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-16-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#dates-and-times&quot;&gt;2.4 Common microsyntaxes, dates and times&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.9-durations&quot;&gt;2.4.5.9 Durations&lt;/h2&gt;
&lt;p&gt;A duration is a number of seconds. I wrote &amp;quot;quite simply&amp;quot; at first and then backspaced over that right quick because &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#durations&quot;&gt;look&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://knowyourmeme.com/memes/one-does-not-simply-walk-into-mordor&quot;&gt;One does not simply&lt;/a&gt; convert months/years into seconds. BUT you can give a duration in units of weeks, days, hours, minutes, and seconds.&lt;/p&gt;
&lt;p&gt;The algorithm for parsing the duration string has quite a few steps, including but not limited to FUN WITH LOOPS!&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.10-vaguer-moments-in-time&quot;&gt;2.4.5.10 Vaguer moments in time&lt;/h2&gt;
&lt;p&gt;Heh, I like the title of this subsection. This describes a &amp;quot;valid date string with optional time&amp;quot; and how to parse it. I think in order to understand what that actually means, I&#39;d probably have to go back over the algorithms and compare differences. Seeing as I don&#39;t need to know that level of depth to do my work, I&#39;m going to say &amp;quot;meh&amp;quot; and move right along from the &amp;quot;Dates and times&amp;quot; subsection of &amp;quot;Common Microsyntaxes&amp;quot;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 15 of 100DaysOfSpec, 2.4 Common Microsyntaxes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-15-100/"/>
      <updated>2015-04-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-15-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So, I skipped out on spec reading for an entire weekend, Friday–Sunday. Oops. Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#dates-and-times&quot;&gt;2.4 Common microsyntaxes, dates and times&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.7-global-dates-and-times&quot;&gt;2.4.5.7 Global dates and times&lt;/h2&gt;
&lt;p&gt;A global date and time (on the Gregorian calendar) smashes together year, month, date, hour, minute, second, and fraction of a second. Unlike other time microsyntaxes covered on previous readings, this one actually does include the time zone offset.&lt;/p&gt;
&lt;p&gt;TIL that UTC, the current time zone structure, was created in the &amp;quot;mid-twentieth century&amp;quot;. On times preceding UTC:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Time before the formation of time zones must be expressed and interpreted as UT1 times with explicit time zones that approximate the contemporary difference between the appropriate local time and the time observed at the location of Greenwich, London.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;2.4.5.8-weeks&quot;&gt;2.4.5.8 Weeks&lt;/h2&gt;
&lt;p&gt;Who ever decided weeks should be seven days? So awkward.&lt;/p&gt;
&lt;p&gt;A week in HTML-spec land is European: it starts on a Monday (as it does in my heart). Each week in the year gets a consecutive number, starting with 1 (sorry nerds). There&#39;s some guidance about when a year has 52 or 53 weeks.&lt;/p&gt;
&lt;p&gt;The week string is in ISO format, like this: &lt;em&gt;2015-W03&lt;/em&gt;, where the two digits at the end are that week number described above.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 11 of 100DaysOfSpec, 2.4 Common Microsyntaxes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-11-100/"/>
      <updated>2015-04-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-11-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#common-microsyntaxes&quot;&gt;2.4 Common microsyntaxes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.4-times&quot;&gt;2.4.5.4 Times&lt;/h2&gt;
&lt;p&gt;Like the microformats yesterday, a &amp;quot;time&amp;quot; still doesn&#39;t contain a time zone, just hour, minute, second, and fraction of a second.&lt;/p&gt;
&lt;p&gt;Hours are given in military time (0 &amp;lt;= hour &amp;lt;= 23). By the way, I always find it interesting when I come across an American who has their phone clock set to the 24-hour system.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.5-floating-dates-and-times&quot;&gt;2.4.5.5 Floating dates and times&lt;/h2&gt;
&lt;p&gt;A &amp;quot;floating date and time&amp;quot; contains both the date and time information.&lt;/p&gt;
&lt;p&gt;When it becomes a &amp;quot;valid &lt;em&gt;normalized&lt;/em&gt; floating date and time string&amp;quot;, it does not contain a U+0020 SPACE character (which a &amp;quot;valid floating date and time string&amp;quot; can have), and the time is &amp;quot;expressed as the shortest possible string for the given time (e.g. omitting the seconds component entirely if the given time is zero seconds past the minute)&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.6-time-zones&quot;&gt;2.4.5.6 Time zones&lt;/h2&gt;
&lt;p&gt;Re, time zone offsets: &amp;quot;This format allows for time-zone offsets from -23:59 to +23:59. In practice, however, right now the range of offsets of actual time zones is -12:00 to +14:00, and the minutes component of offsets of actual time zones is always either 00, 30, or 45. There is no guarantee that this will remain so forever, however; time zones are changed by countries at will and do not follow a standard.&amp;quot;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 10 of 100DaysOfSpec, 2.4 Common Microsyntaxes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-10-100/"/>
      <updated>2015-04-15T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-10-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Currently reading in &lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#common-microsyntaxes&quot;&gt;2.4 Common microsyntaxes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;2.4.5-dates-and-times&quot;&gt;2.4.5 Dates and times&lt;/h2&gt;
&lt;p&gt;Surprise, surprise, we&#39;re using the Gregorian (standard Western) calendar. The spec actually—accurately—notes that that decision stems from &amp;quot;cultural biases&amp;quot;.&lt;/p&gt;
&lt;p&gt;Libraries that parse dates have to be reviewed to make sure they conform to the spec, which is more specific than ISO8601 formats, for example.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.1-months&quot;&gt;2.4.5.1 Months&lt;/h2&gt;
&lt;p&gt;A valid &amp;quot;month&amp;quot; string holds no information about time zones. It does, however, include the year. I would have assumed the browser parsed year, month, and day separately.&lt;/p&gt;
&lt;p&gt;The spec says that two ASCII digits are used to denote the month portion of the month string (four for the year), but confusingly wherever in the spec it mentions months it does not include leading zeroes.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.2-dates&quot;&gt;2.4.5.2 Dates&lt;/h2&gt;
&lt;p&gt;A valid &amp;quot;date&amp;quot; string contains the &amp;quot;month&amp;quot; string (which itself includes year and month), and a date string. It also does not hold any time zone information.&lt;/p&gt;
&lt;p&gt;What&#39;s unclear to me is the difference between a &amp;quot;date string&amp;quot; and a &amp;quot;date component&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;2.4.5.3-yearless-dates&quot;&gt;2.4.5.3 Yearless dates&lt;/h2&gt;
&lt;p&gt;Here&#39;s where things get interesting &lt;em&gt;(non-web-nerds whisper, &amp;quot;you sure?&amp;quot;)&lt;/em&gt;! You can have a valid &amp;quot;yearless date&amp;quot; string that contains just the month portion of the month string, and the day string. So a month string itself fails without a year, but a month string, without a year portion, as part of a date string is ok?&lt;/p&gt;
&lt;p&gt;When you don&#39;t specify a year, Leap Day is allowed.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 9 of 100DaysOfSpec, 2.4 Common Microsyntaxes, contd.</title>
      <link href="https://melanie-richards.com/blog/day-9-100/"/>
      <updated>2015-04-14T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-9-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The big takeaway from this section as a whole, for me, is seeing how much is involved in handling numbers.&lt;/p&gt;
&lt;h2 id=&quot;2.4.4.3-floating-point-numbers&quot;&gt;2.4.4.3 Floating-point numbers&lt;/h2&gt;
&lt;p&gt;I had to looking up floating-point numbers because the spec assumes some familiarity with it. I either have never heard the term &amp;quot;significand&amp;quot; or have forgotten it from a math class long ago; there was also no clear-cut example to visualize. Wikipedia (sorry) has &lt;a href=&quot;https://en.wikipedia.org/wiki/Floating_point&quot;&gt;more info on floating points&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2.4.4.4-percentages-and-lengths&quot;&gt;2.4.4.4 Percentages and lengths&lt;/h2&gt;
&lt;p&gt;Confused as to why the algorithm for &amp;quot;parsing dimension values&amp;quot; would return numbers &amp;gt;= 1.0, or an error. For lengths I think that makes sense (for example, a text value has characters or it doesn&#39;t), but wouldn&#39;t there be a need for %s smaller than 1? I think I&#39;m misunderstanding something about how this algorithm would be used or what it&#39;s supposed to measure. Need to start tagging these notes with &amp;quot;TO-ASK&amp;quot; ;]&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 8 of 100DaysOfSpec, 2.4 Common Microsyntaxes</title>
      <link href="https://melanie-richards.com/blog/day-8-100/"/>
      <updated>2015-04-13T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-8-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today&#39;s reading demonstrates how UAs should handle and format different types of data.&lt;/p&gt;
&lt;h2 id=&quot;2.4.1-common-parser-idioms&quot;&gt;2.4.1 Common parser idioms&lt;/h2&gt;
&lt;p&gt;So many space characters: U+0020 SPACE, &amp;quot;tab&amp;quot; (U+0009), &amp;quot;LF&amp;quot; (U+000A), &amp;quot;FF&amp;quot; (U+000C), and &amp;quot;CR&amp;quot; (U+000D). Having trouble figuring out what these different spaces actually are...&lt;/p&gt;
&lt;h2 id=&quot;2.4.2-boolean-attributes&quot;&gt;2.4.2 Boolean attributes&lt;/h2&gt;
&lt;p&gt;You can&#39;t have &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; on a boolean attribute. It is simply whether the attribute exists or not. If the attribute does exist, its value (when checking for expected/standard values) is case-sensitive and can&#39;t have leading or trailing whitespace.&lt;/p&gt;
&lt;h2 id=&quot;2.4.3-keywords-and-enumerated-attributes&quot;&gt;2.4.3 Keywords and enumerated attributes&lt;/h2&gt;
&lt;p&gt;Enumerated attributes can take as their value a keyword from a specified list. Each of those keywords represents a &amp;quot;state&amp;quot;. There can be some overlaps as to which has which state; non-conforming values so old sites don&#39;t break; and two default values: an &amp;quot;invalid&amp;quot; default and a &amp;quot;missing value&amp;quot; default.&lt;/p&gt;
&lt;p&gt;Again, in order to match an expected value, the keyword is case-sensitive and can&#39;t have extraneous white spaces.&lt;/p&gt;
&lt;p&gt;&amp;quot;The empty string can be a valid keyword.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;2.4.4-numbers&quot;&gt;2.4.4 Numbers&lt;/h2&gt;
&lt;p&gt;The spec is very specific about what a negative number is.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 7 of 100DaysOfSpec, 2.3 Case-sensitivity and string comparison</title>
      <link href="https://melanie-richards.com/blog/day-7-100/"/>
      <updated>2015-04-12T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-7-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I don&#39;t have much to say on today&#39;s section (other than I now know the ASCII uppercase letters range from U+0041 to U+005A, and lowercase letters range from U+0061 to U+007A), so I guess I&#39;ll comment on progress so far:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I&#39;ve already skipped a day (last Friday). Oops.&lt;/li&gt;
&lt;li&gt;At some point last week I was thinking &amp;quot;it&#39;s possible I might actually finish before the 100 days are up!&amp;quot; Meh, not feeling that way now. But I did start thinking about what I&#39;d read after finishing the HTML W3C recommendation. My first thought was reading the CSS spec, but apparently CSS3 doesn&#39;t exist as a single document (possibly because, as I read in another section of this HTML spec, that CSS support as a whole is not required of browsers). Rather, there appears to be separate documents covering different topics in CSS. I did see Nerd Twitter get excited over a &lt;a href=&quot;https://svgwg.org/svg2-draft/&quot;&gt;new draft of the SVG spec&lt;/a&gt;...&lt;/li&gt;
&lt;li&gt;I&#39;m somewhat regretting that I did not choose something visual for my 100-day project. It&#39;s been really fun seeing everyone else&#39;s work come in, and I&#39;m a little jealous that my project isn&#39;t as sexy from a designer&#39;s perspective. This comes back to the classic problem of web designers (or anyone whose work straddles two disciplines): push to be really great at aesthetics? Work to improve dev skills? Try to be perfect at all the things?!&lt;/li&gt;
&lt;/ol&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 6 of 100DaysOfSpec, 2.2 Conformance requirements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-6-100/"/>
      <updated>2015-04-11T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-6-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The spec discourages writing vendor-specific extensions, because, as we can see from history, the web works better when we work together (I CRINGE from the after-school-special nature of that last sentence, but I stand by the sentiment, dangit).&lt;/p&gt;
&lt;p&gt;The W3C gives guidelines for when extensions absolutely MUST be used for experimental features: if you just need XML for markup features (and not HTML), you define a custom namespace for that feature.&lt;/p&gt;
&lt;p&gt;If you want something new in the HTML syntax, &amp;quot;extensions should be limited to new attributes of the form &#39;&lt;code&gt;x-vendor-feature&lt;/code&gt;&#39;, where vendor is a short string that identifies the vendor responsible for the extension, and feature is the name of the feature.&amp;quot; Browsers and other user agents can&#39;t just come up with new HTML elements; that would be a major threat to interoperability (things all working the same, cross-browser). New experimental attributes have to have a &amp;quot;x-vendor&amp;quot; prefix so they don&#39;t crash with other browsers&#39; implementations in the future, until there&#39;s a new standard (things we see with CSS prefixes). Attributes with &amp;quot;x-&amp;quot; or &amp;quot;_&amp;quot; in the name will never be an official part of the HTML language.&lt;/p&gt;
&lt;p&gt;DOM extensions, such as methods, need to be vendor prefixed as well.&lt;/p&gt;
&lt;p&gt;No extension can contradict or be non-conformant to the spec.&lt;/p&gt;
&lt;p&gt;When an extension is needed cross-browser, UAs can go through the process of getting it added to the official spec or have a new spec written (in practice, becomes an &lt;strong&gt;applicable specification&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&amp;quot;User agents must treat elements and attributes that they do not understand as semantically neutral.&amp;quot;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 4 of 100DaysOfSpec, 2.2 Conformance requirements, contd.</title>
      <link href="https://melanie-richards.com/blog/day-4-100/"/>
      <updated>2015-04-09T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-4-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#dependencies&quot;&gt;Today&#39;s section&lt;/a&gt; summarizes all the sub-specifications the HTML spec relies on, and what terms are defined in those specifications.&lt;/p&gt;
&lt;p&gt;Particularly interesting term lists (to me, anyway) include parts of URLs, CORS (cross-origin resource sharing), DOM features, and DOMException types.&lt;/p&gt;
&lt;p&gt;&amp;quot;Web IDL&amp;quot; is referenced here. TIL that &amp;quot;IDL&amp;quot; stands for &amp;quot;interface definition language&amp;quot;. According to the W3C recommendation on &lt;a href=&quot;https://www.w3.org/TR/WebIDL/&quot;&gt;Web IDL&lt;/a&gt;, it is &amp;quot;an IDL variant with a number of features that allow the behavior of common script objects in the web platform to be specified more readily.&amp;quot; This is still a bit unclear to me, seems like a library to help user agents wire up functionality more easily and consistently, but I think this is a can of worms to open another time. Unless you, dear hypothetical reader, have some insights. ;]&lt;/p&gt;
&lt;p&gt;We&#39;re not really even getting to the meat of the spec yet but from the list of DOM features you already get a sense of just how much is under the surface of our prettily-packaged elements and properties. The &lt;code&gt;comment&lt;/code&gt; interface is listed in these features; I wonder how many lines of code it takes from the UA just to have HTML comments work correctly.&lt;/p&gt;
&lt;p&gt;&amp;quot;UIEvent&amp;quot; seems as though it would encompass quite a bit.&lt;/p&gt;
&lt;p&gt;Note to self: figure out what a &amp;quot;Blob&amp;quot; actually is. I hear this word being thrown around and smile and nod to myself. &lt;a href=&quot;https://www.w3.org/TR/FileAPI/&quot;&gt;W3C says&lt;/a&gt; &amp;quot;immutable raw binary data&amp;quot;. Cool, very helpful. &lt;a href=&quot;https://msdn.microsoft.com/en-us/library/windows/apps/hh453178.aspx&quot;&gt;To read later&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;QUITE CURIOUSLY, user agents are not required to support CSS &amp;quot;as a whole&amp;quot;, but they do have to support the Media Query language.&lt;/p&gt;
&lt;p&gt;And finally it should be mentioned that user agents aren&#39;t actually required to support CSS, Javascript, or HTTP, even within the UA subcategory of web browsers and other interactive UAs. These are simply the most ubiquitous choices for styling, scripting, and network protocols.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 3 of 100DaysOfSpec, 2.2 Conformance Requirements</title>
      <link href="https://melanie-richards.com/blog/day-3-100/"/>
      <updated>2015-04-08T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-3-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today I realized the &amp;quot;Add developer-view styles&amp;quot; not only does some stylistic things, it also hides entire chunks of content. So I guess that&#39;s useful, if you want to ignore the information for user agents. For my purposes, I&#39;m reading everything.&lt;/p&gt;
&lt;h2 id=&quot;2.2.1-conformance-classes&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#conformance-classes&quot;&gt;2.2.1&lt;/a&gt; Conformance classes&lt;/h2&gt;
&lt;p&gt;&amp;quot;User agents are not free to handle non-conformant documents as they please&amp;quot;. Sites gotta fail consistently!&lt;/p&gt;
&lt;p&gt;The spec&#39;s list of the categories of user agents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web browsers and other interactive user agents&lt;/li&gt;
&lt;li&gt;Non-interactive presentation user agents
&lt;ul&gt;
&lt;li&gt;Render HTML/XHTML docs w/o interactive capabilities&lt;/li&gt;
&lt;li&gt;Same conformance rules as web browsers, etc, except for the interactive bits&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Visual user agents that support the suggested default rendering
&lt;ul&gt;
&lt;li&gt;Can be one of the above two categories, but supporting the default is not required&lt;/li&gt;
&lt;li&gt;This section talks about overriding some parts of the default rendering to make things more accessible the user. It seems odd that that wouldn&#39;t just be baked into the suggested rendering (legacy issue? Political issue?).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User agents with no scripting support&lt;/li&gt;
&lt;li&gt;Conformance checkers
&lt;ul&gt;
&lt;li&gt;&amp;quot;Automated conformance checkers are exempt from detecting errors that require interpretation of the author&#39;s intent.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Data mining tools
&lt;ul&gt;
&lt;li&gt;If you&#39;re not rendering a document, your requirements are centered around semantics.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Authoring tools and markup generators
&lt;ul&gt;
&lt;li&gt;Obviously, these need to spit out conforming documents.&lt;/li&gt;
&lt;li&gt;WYSIWYGs are included in this category, which is interesting because it is very possible (speaking as a person who has built many Wordpress sites for clients) for an individual to do some bananas stuff in a WYSIWYG editor.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 2 of 100DaysOfSpec, Common Infrastructure</title>
      <link href="https://melanie-richards.com/blog/day-2-100/"/>
      <updated>2015-04-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-2-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&quot;2-common-infrastructure&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#infrastructure&quot;&gt;2&lt;/a&gt; Common Infrastructure&lt;/h2&gt;
&lt;p&gt;When writing up documentation, there&#39;s a (valid) temptation to write a different version of the document for each distinctive user type. The authors of the HTML spec probably don&#39;t have that luxury—i.e. it&#39;s trouble enough getting everyone to agree on just one document—so the HTML spec covers the concerns of both web devs working on websites, and browsers that need to adhere to the new standards.&lt;/p&gt;
&lt;p&gt;It probably does make sense, though, to pay attention to what the other side needs to do. Web browsers can better design for how features are intended to be used; web developers can better grasp how things are working under the hood, and what the responsibilities of the web browser are.&lt;/p&gt;
&lt;p&gt;All this is to say that this section seems, at the outset, more oriented towards web browsers as audience.&lt;/p&gt;
&lt;h2 id=&quot;2.1-terminology&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#terminology&quot;&gt;2.1&lt;/a&gt; Terminology&lt;/h2&gt;
&lt;p&gt;If you&#39;re following along with these notes, it may be useful to read this section in case any specific ~&lt;em&gt;~ vocab terms ~&lt;/em&gt;~ are referenced again.&lt;/p&gt;
&lt;h2 id=&quot;2.1.1-resources&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#resources&quot;&gt;2.1.1&lt;/a&gt; Resources&lt;/h2&gt;
&lt;p&gt;A feature cannot be considered &amp;quot;supported&amp;quot; if the browser can handle some but not all of its &amp;quot;critical aspects&amp;quot;. The example they use is a browser that knows the dimensions of an MPEG-4 file but doesn&#39;t support the compression format. I mean, makes sense.&lt;/p&gt;
&lt;h2 id=&quot;2.1.3-dom-trees&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#dom-trees&quot;&gt;2.1.3&lt;/a&gt; DOM trees&lt;/h2&gt;
&lt;p&gt;&amp;quot;The root element of a &lt;code&gt;Document&lt;/code&gt; object is that &lt;code&gt;Document&lt;/code&gt;&#39;s first element child, if any. If it does not have one then the &lt;code&gt;Document&lt;/code&gt; has no root element.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;2.1.5-plugins&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/infrastructure.html#plugins&quot;&gt;2.1.5&lt;/a&gt; Plugins&lt;/h2&gt;
&lt;p&gt;Plugins aren&#39;t &amp;quot;child browsing contexts of the &lt;code&gt;Document&lt;/code&gt;&amp;quot; and don&#39;t add any Node objects to the &lt;code&gt;Document&lt;/code&gt;; the example they use is a PDF viewer inside the browser.&lt;/p&gt;
&lt;p&gt;The spec actually doesn&#39;t prescribe how user agents (browsers) support and implement plugins, or whether they need to do so at all.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Day 1 of 100DaysOfSpec, Introduction</title>
      <link href="https://melanie-richards.com/blog/day-1-100/"/>
      <updated>2015-04-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/day-1-100/</id>
      <content type="html">&lt;p&gt;&lt;em&gt;I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. &lt;a href=&quot;https://melanie-richards.com/blog/100-day-project&quot;&gt;Read the initial intent/backstory&lt;/a&gt;. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec. Subsections not listed below were read without comment.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Everything in today&#39;s reading was not part the HTML standard, just background info.&lt;/p&gt;
&lt;h2 id=&quot;1.1-background&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#background&quot;&gt;1.1&lt;/a&gt; Background&lt;/h2&gt;
&lt;p&gt;I figured most of this first chapter would be fluff I wouldn&#39;t need to cover, but waddaya know, something new in the first section: HTML was originally used for &amp;quot;semantically describing scientific documents&amp;quot;.&lt;/p&gt;
&lt;p&gt;Probably this is something they say when someone sits you down to have &amp;quot;the HTML talk&amp;quot;? I don&#39;t know, never had it.&lt;/p&gt;
&lt;h2 id=&quot;1.4-history&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#history-0&quot;&gt;1.4&lt;/a&gt; History&lt;/h2&gt;
&lt;p&gt;This subsection is not that long but would be worth a complete read. Probably most interesting to me was the gap in HTML&#39;s evolution (as HTML) between 1998–2003/2004. This was something I was vaguely aware of but I hadn&#39;t realized the gap was quite that long.&lt;/p&gt;
&lt;h2 id=&quot;1.5.3-design-notes-%3E-extensibility&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#extensibility1.5.3&quot;&gt;1.5.3&lt;/a&gt; Design notes &amp;gt; Extensibility&lt;/h2&gt;
&lt;p&gt;It&#39;s interesting that the spec refers to classes as a way devs can &amp;quot;effectively [create] their own elements&amp;quot;. I have simply thought of this attribute as a &amp;quot;hook&amp;quot; I can use to apply styles and interactivity, but I suppose, yea, you&#39;re basically creating a new Thing.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;data-*=&amp;quot;&amp;quot;&lt;/code&gt; attributes are &amp;quot;guaranteed to never be touched by browsers&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;1.7.1-structure-of-this-specification-%3E-how-to-read-this-specification&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#how-to-read-this-specification&quot;&gt;1.7.1&lt;/a&gt; Structure of this specification &amp;gt; How to read this specification&lt;/h2&gt;
&lt;p&gt;&amp;quot;First, it should be read cover-to-cover, multiple times. Then, it should be read backwards at least once.&amp;quot; Very cute, W3C.&lt;/p&gt;
&lt;p&gt;Interestingly (though still logical), in the vocabulary of the spec, a &amp;quot;producer&amp;quot; is a developer of websites and a &amp;quot;consumer&amp;quot; is a web browser.&lt;/p&gt;
&lt;h2 id=&quot;1.9-a-quick-introduction-to-html&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#a-quick-introduction-to-html&quot;&gt;1.9&lt;/a&gt; A quick introduction to HTML&lt;/h2&gt;
&lt;p&gt;This section contains a diagram that shows how markup gets split up into different nodes in the DOM tree, &amp;quot;an in-memory representation of a document&amp;quot;. Curiously, spaces (except for those at the beginning/end of the HTML file) and line breaks yield &amp;quot;Text&amp;quot; nodes.&lt;/p&gt;
&lt;h2 id=&quot;1.9.1-writing-secure-applications-with-html&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#writing-secure-applications-with-html&quot;&gt;1.9.1&lt;/a&gt; Writing secure applications with HTML&lt;/h2&gt;
&lt;p&gt;I was aware of cross-site scripting attacks via links and form submissions, but I hadn&#39;t thought of a hacker&#39;s ability to use &lt;code&gt;img&lt;/code&gt; maliciously (using the &lt;code&gt;onload&lt;/code&gt; attribute to run scripts is the example they cite).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cross-site request forgery&lt;/em&gt;: the vocab term for when another site maliciously makes server requests, acting as a user.&lt;/p&gt;
&lt;h2 id=&quot;1.10-conformance-requirements-for-authors&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#conformance-requirements-for-authors&quot;&gt;1.10&lt;/a&gt; Conformance requirements for authors&lt;/h2&gt;
&lt;p&gt;Explains why &amp;quot;presentational markup&amp;quot; (attributes like color, border) from previous versions of HTML were dropped: bad for accessibility, harder to maintain, larger doc sizes. Aww, the good ol&#39; days of tabular layouts (JUST KIDDING, folks).&lt;/p&gt;
&lt;p&gt;&amp;quot;It is also worth noting that some elements that were previously presentational have been redefined in this specification to be media-independent: &lt;code&gt;b&lt;/code&gt;,&lt;code&gt;i&lt;/code&gt;, &lt;code&gt;hr&lt;/code&gt;, &lt;code&gt;s&lt;/code&gt;, &lt;code&gt;small&lt;/code&gt;, and &lt;code&gt;u&lt;/code&gt;.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;1.11-suggested-reading&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/html5/introduction.html#suggested-reading&quot;&gt;1.11&lt;/a&gt; Suggested reading&lt;/h2&gt;
&lt;p&gt;A bunch of links for further reading.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Reading the spec—The100DayProject</title>
      <link href="https://melanie-richards.com/blog/100-day-project/"/>
      <updated>2015-04-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/100-day-project/</id>
      <content type="html">&lt;p&gt;If it hasn&#39;t come up in your feed yet, The Great Discontent / Elle Luna are running a version of a &lt;a href=&quot;https://thegreatdiscontent.com/100days&quot;&gt;100-day project&lt;/a&gt;, wherein you work on the same type of creative task for 100 days straight. It&#39;s not a new concept—in fact, this version was inspired by the Yale design program—but I wanted to jump on the chance to explore a theme alongside many other creatives. Collective power of will, focusing the innate need to &amp;quot;make&amp;quot;, etc.&lt;/p&gt;
&lt;h2 id=&quot;i&#39;m-reading-the-html-specification&quot;&gt;I&#39;m reading the HTML specification&lt;/h2&gt;
&lt;p&gt;Before this 100 day project came up, I was thinking it would be cool to read &lt;a href=&quot;https://www.w3.org/TR/html5/&quot;&gt;the official HTML spec&lt;/a&gt; and live-tweet or blog it. I abandoned the idea because reading—actually reading—the whole thing just seemed too daunting, or that I would get bored or distracted by other projects and give up.&lt;/p&gt;
&lt;p&gt;But reading &amp;quot;as much as I can&amp;quot; in 100 days, that&#39;s something I can do.&lt;/p&gt;
&lt;h2 id=&quot;why-read-the-spec%3F&quot;&gt;Why read the spec?&lt;/h2&gt;
&lt;p&gt;Like many other web professionals, all my development skills are self-taught. I&#39;ve worked to fill in the cracks in my knowledge by reading blog posts, etc., but I&#39;m sure there&#39;s a lot to be gained from reading the official HTML specifications. Chiefly, I&#39;m looking to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Correct misconceptions I might have about HTML or how to use it&lt;/li&gt;
&lt;li&gt;Learn new things: some quirks or attributes of familiar elements, etc&lt;/li&gt;
&lt;li&gt;Pick up more knowledge about ARIA roles and other considerations in accessibility&lt;/li&gt;
&lt;li&gt;Be able to speak more intelligently about why we do x or y&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&#39;s also something a bit weird about not having the read (or not regularly consulting) the closest thing front-end developers have to a &amp;quot;holy text&amp;quot;. Blog posts are better packaged for human reading, but I&#39;d like to get information straight from the source more frequently.&lt;/p&gt;
&lt;h3 id=&quot;the-version-i&#39;m-using&quot;&gt;The version I&#39;m using&lt;/h3&gt;
&lt;p&gt;I&#39;m reading &lt;a href=&quot;https://www.w3.org/TR/html5/&quot;&gt;the official recommendation&lt;/a&gt;, rather than &lt;a href=&quot;https://www.w3.org/html/wg/drafts/html/master/&quot;&gt;the nightly draft&lt;/a&gt;. This version is of course not as current, but I wanted to work from something stable, stamped with a seal of approval.&lt;/p&gt;
&lt;h2 id=&quot;how-this-will-work&quot;&gt;How this will work&lt;/h2&gt;
&lt;p&gt;I conveniently have a one-hour commute and a laptop, so I&#39;ll be using this daily chunk of time to read the specifications and write up a blog post with my notes and comments. I&#39;ll tweet the blog post using #100DaysOfSpec.  Some designers will get in a tizzy because they will think I&#39;m doing 100 days of spec work, and I will get a chuckle out of it (maybe).&lt;/p&gt;
&lt;h3 id=&quot;a-disclaimer&quot;&gt;A disclaimer&lt;/h3&gt;
&lt;p&gt;I am an employee of Microsoft, which obviously is active in the web community. Any opinions, comments, etc. in this blog post series are strictly my own. I do not speak on the behalf of my employer, and thus no comments should be taken as representative of Microsoft&#39;s official opinion of the spec.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Goals for 2015</title>
      <link href="https://melanie-richards.com/blog/goals-for-2015/"/>
      <updated>2014-12-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/goals-for-2015/</id>
      <content type="html">&lt;p&gt;I&#39;ve &lt;a href=&quot;https://melanie-richards.com/blog/execute&quot;&gt;referenced it before&lt;/a&gt;, but a classic issue that comes up for me is an interest in too many things. Lack of focus has been helpful in some cases (especially as the role of a designer expands to include All The Things), but I worry that it distracts from achieving real depth in any one thing.&lt;/p&gt;
&lt;h2 id=&quot;resolution&quot;&gt;Resolution&lt;/h2&gt;
&lt;p&gt;For 2015 my main goal is to, you know, chill out and focus on just a couple topics in creativity and life-long learning.&lt;/p&gt;
&lt;p&gt;And those topics, in order of priority:&lt;/p&gt;
&lt;h3 id=&quot;illustration&quot;&gt;Illustration&lt;/h3&gt;
&lt;p&gt;I tend to work mostly on web projects these days, so improving my illustration chops would be a logical complement to web design and development. My goal is to log 300 hours outside of work to illustration practice (~6 hours a week). The ultimate goal is to be able to execute several styles quickly.&lt;/p&gt;
&lt;p&gt;6 hrs/wk feels a little light, but given all the other things a human does with their time it&#39;s at least realistic and can be adjusted.&lt;/p&gt;
&lt;h3 id=&quot;javascript&quot;&gt;Javascript&lt;/h3&gt;
&lt;p&gt;Dev is an easy place to hear the siren song of exciting new things. For now I&#39;ll be focusing on Javascript: filling in the cracks in my prior knowledge, working more in vanilla JS (as opposed to jQuery), learning how to write more efficient scripts. JS is such a huge, huge world now so there&#39;s still plenty of room for exploration. 150 hours (~3 hrs/wk).&lt;/p&gt;
&lt;h3 id=&quot;creative-writing&quot;&gt;Creative Writing&lt;/h3&gt;
&lt;p&gt;The older I get, the less I write. I don&#39;t feel the need to cultivate creative writing as a Real Skill, but I&#39;d like to not lose touch with this outlet entirely. Once a week should suffice.&lt;/p&gt;
&lt;h3 id=&quot;weaving-%26-knitting&quot;&gt;Weaving &amp;amp; Knitting&lt;/h3&gt;
&lt;p&gt;I&#39;ve been shopping for indoor activities: something with a creative angle that will keep my hands busy, but not precious enough that I feel the need to be good at it. I recently dabbled in weaving on a simple peg loom, and with a little bit of knitting. I&#39;d like to keep exploring these fiber crafts—maybe take a class?—instead of bouncing around to something else, as I am wont to do.&lt;/p&gt;
&lt;p&gt;Okay, that&#39;s it. Planning to do a quarterly check-in to review how things are going. What is your resolution this year (design-related or otherwise)?&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>I 💖 Internet, Vol II.</title>
      <link href="https://melanie-richards.com/blog/i-heart-internet-ii/"/>
      <updated>2014-12-17T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/i-heart-internet-ii/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-iheartnet-ii.gif&quot; alt=&quot;I love the internet, rendered in pixel art with floating sparkles&quot; /&gt;
          &lt;/picture&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://10x2014.tumblr.com/&quot;&gt;10x2014&lt;/a&gt;, presumably redesigns of &lt;a href=&quot;https://www.ericrmortensen.com/&quot;&gt;Eric Mortensen&lt;/a&gt; and &lt;a href=&quot;https://www.skinnyships.com/&quot;&gt;Richard Perez&lt;/a&gt;&#39;s favorite albums of 2014.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aerialwallpapers.tumblr.com/&quot;&gt;Aerial wallpapers&lt;/a&gt;, oooooh.&lt;/li&gt;
&lt;li&gt;I dig Dribbble profiles that read as a cohesive whole, but don&#39;t feel too expected. &lt;a href=&quot;https://dribbble.com/BurntToast&quot;&gt;BurntToast Creative&lt;/a&gt;&#39;s work has a nice noodley quality to it.&lt;/li&gt;
&lt;li&gt;My mom is &lt;a href=&quot;https://www.washingtonpost.com/blogs/style-blog/wp/2014/12/02/no-youre-not-sleeping-enough-and-its-a-big-problem-15-scary-facts-in-new-natgeo-doc/&quot;&gt;always right&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Obsessed with &lt;a href=&quot;http://prizepins.com/collections/all&quot;&gt;all these pins&lt;/a&gt;. I haven&#39;t seen enamel pins with loose linework before, pretty awesome.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://godspeedyoublacknerd.com/post/100072539171/justskippingalong-the-fade-to-black-oh-my-god-i&quot;&gt;Meep&lt;/a&gt;, via &lt;a href=&quot;https://twitter.com/beep&quot;&gt;@beep&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://joyang.ca/artwork/year-of-the-snake/&quot;&gt;This little snakey&lt;/a&gt;. Joy Ang&#39;s work hits some pretty special highs for me.&lt;/li&gt;
&lt;li&gt;If you ever get to design a flag, you&#39;re supposed to draw it in a 1.5 x 1 inch rectangle. I know some people who thumbnail this way with any illustration, but it&#39;s &lt;a href=&quot;https://99percentinvisible.org/episode/vexillonaire/&quot;&gt;particularly handy for flags&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I always forget &lt;a href=&quot;https://compressor.io/&quot;&gt;this lossless image compressor&lt;/a&gt; exists. I usually use &lt;a href=&quot;https://imageoptim.com/&quot;&gt;ImageOptim&lt;/a&gt;, a desktop app.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;i&#39;ve-been-sitting-on-these-for-a-few-weeks-but-whatever%2C-still-cool%3A&quot;&gt;I&#39;ve been sitting on these for a few weeks but whatever, still cool:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Shopify did a great job updating their &lt;a href=&quot;https://www.shopify.com/blog/15714308-introducing-responsive-checkout&quot;&gt;checkout system&lt;/a&gt; for the responsive world. I&#39;ve always been curious about how third party apps/platforms non-destructively update their product, and I like Shopify&#39;s solution: you can &amp;quot;opt-in&amp;quot; to the new responsive checkout (and downgrade if you wish), so if your no-longer-engaged developer wrote custom CSS for the legacy solution, your checkout won&#39;t look totally bonkers.&lt;/li&gt;
&lt;li&gt;This. Keyboard. Gif. App. &lt;a href=&quot;http://blippy.com/&quot;&gt;THIS KEYBOARD GIF APP!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Happened to look at &lt;a href=&quot;https://muffduff.com/journal/palouse&quot;&gt;these photos of Idaho&lt;/a&gt; by Tyler Thompson while listening to &lt;a href=&quot;http://rd.io/x/QZ6DrDdNGkQ/&quot;&gt;The Album Leaf&lt;/a&gt;, and I must say, it&#39;s a pretty chill mashup.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vine.co/v/OeAUB3raTlD&quot;&gt;Turtle powerrrr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;New-to-me ear candy: &lt;a href=&quot;http://www.rdio.com/artist/MisterWives/album/Reflections/&quot;&gt;&amp;quot;Reflections&amp;quot; by MisterWives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The cover of &lt;a href=&quot;https://designers.mx/mixes/rpheus&quot;&gt;this playlist&lt;/a&gt; is so, so satisfying.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://googlewebmastercentral.blogspot.com/2014/11/helping-users-find-mobile-friendly-pages.html&quot;&gt;Yet another reason&lt;/a&gt; to build mobile-friendly websites.&lt;/li&gt;
&lt;li&gt;Some nice &lt;a href=&quot;https://mrdiv.tumblr.com/&quot;&gt;abstract gifs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Been waiting for this: you can now &lt;a href=&quot;https://t.co/3ab934VfSg&quot;&gt;search your own tweets&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Everyone loves the new &lt;a href=&quot;https://www.youtube.com/watch?v=k4YRWT_Aldo&quot;&gt;Beyoncé video&lt;/a&gt;, right? Right. I love that she (or her team?) made something that feels very relatable / down-to-earth.&lt;/li&gt;
&lt;li&gt;Trying to figure out who built the new &lt;a href=&quot;https://www.cinerama.com/&quot;&gt;Cinerama&lt;/a&gt; site. The ticketing system—a custom job?—feels really smooth.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Short Run Seattle Haul</title>
      <link href="https://melanie-richards.com/blog/shortrun-seattle-haul/"/>
      <updated>2014-11-18T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/shortrun-seattle-haul/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul7-m.jpg&quot; alt=&quot;A pile of comics in various styles layered on top of a desk&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Comics are sort of design-related, and therefore relevant to this blog, right? Right.&lt;/p&gt;
&lt;p&gt;Last week was &lt;a href=&quot;https://www.shortrun.org/&quot;&gt;Short Run Seattle&lt;/a&gt;, a local festival celebrating comics, art, and small publishing. I&#39;ve never actually had the privilege of living in a city with a comics fest (not to mention two, as there&#39;s also the Emerald City Comic Con, due in spring) so it was a real treat to attend talks and geek out at the book fair with a BUNCH of other people. I want to share the love for some old favorites and new-to-me local talent, so here&#39;s my haul:&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul3.jpg&quot; alt=&quot;Photo of comics&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Newest books from two comic artists I&#39;ve followed for awhile: Yumi Sakugawa and Liz Prince.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul4.jpg&quot; alt=&quot;Photo of comics&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;A few items from John Porcellino&#39;s table—he&#39;s a distributor for other people&#39;s comics as well—Anne Emond, Alabaster, John Porcellino&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul5.jpg&quot; alt=&quot;Photo of comics&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Björn, Pam Wishbow, Kazimir Strzepek&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul6.jpg&quot; alt=&quot;Photo of comics&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;A bunch of little guys from James Stanton&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul2.jpg&quot; alt=&quot;Photo of comics&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Issues of the ever-free comics quarterly, The Intruder. Apparently these guys do some cool stuff in the comics community around town, as well.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-shortrun-haul8.jpg&quot; alt=&quot;Photo of book&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;The only non-comics book I bought. It&#39;s a mix of photos and poems–half of which are in Japanese, which I don&#39;t read–and what I suspect is magic. All by Yoshinori Henguchi.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;If I had 3 wishes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;More $$$ so that I could have bought all the things.&lt;/li&gt;
&lt;li&gt;There&#39;s a certain aesthetic to the stuff I walked away with; wish I had picked up a couple more of the &amp;quot;grotesque&amp;quot;-style stuff I was considering.&lt;/li&gt;
&lt;li&gt;That the aisles were a little bit wider, as it got a little hard to navigate around popular tables. That being said, this is a fairly new festival so their venue options might be limited. And I&#39;ve never been to a comics fest before, so, what do I know?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All in all, fantastic group of &lt;a href=&quot;https://www.shortrun.org/exhibitors/&quot;&gt;exhibitors&lt;/a&gt;. So many awesome things to see that I think I even missed a couple (how did I miss &lt;a href=&quot;https://mareodomo.com/&quot;&gt;Mare Odomo&lt;/a&gt;&#39;s table?!). Can&#39;t wait until next year!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>I 💖 Internet, Vol I.</title>
      <link href="https://melanie-richards.com/blog/i-heart-internet-i/"/>
      <updated>2014-10-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/i-heart-internet-i/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/gamesquares.png&quot; alt=&quot;A grid of pixel art pulled from game imagery&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Pixels and facades, mmmm.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gamesquares.tumblr.com/&quot;&gt;Game Squares&lt;/a&gt;, a sneaky-peek games Tumblr run by Dom2d.&lt;/li&gt;
&lt;li&gt;Two favorite things combined: &lt;a href=&quot;https://www.behance.net/gallery/14924437/8-bit-Ghibli&quot;&gt;8-bit Ghibli&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Seattle converted Columbus Day to &lt;a href=&quot;https://time.com/3476651/seattle-indigenous-peoples-day/&quot;&gt;Indigenous Peoples&#39; Day&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://toolstools.tools/&quot;&gt;toolstools.tools&lt;/a&gt;, via &lt;a href=&quot;https://twitter.com/kyleturman&quot;&gt;Kyle&lt;/a&gt;. The sounds match the tools so perfectly.&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;https://www.webpagetest.org/&quot;&gt;website performance tester&lt;/a&gt; with really robust settings and results, via &lt;a href=&quot;https://twitter.com/mannieschumpert&quot;&gt;Mannie&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sorry #gamergate, you introduced me to Zoe Quinn&#39;s &lt;a href=&quot;http://www.depressionquest.com/&quot;&gt;Depression Quest&lt;/a&gt;. Really interesting concept and format.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.snacksquarterly.com/&quot;&gt;SNAAAAAAAAACKS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hard-hitting journalism on the &lt;a href=&quot;http://m.theatlantic.com/technology/archive/2014/05/the-best-way-to-type-__/371351/&quot;&gt;shrug emoticon&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Look what people can do with &lt;a href=&quot;https://www.etsy.com/listing/187096459/proper-fry-up-necklace&quot;&gt;polymer clay&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;Draw me like one of your &lt;a href=&quot;https://www.frenchgirlsapp.com/&quot;&gt;French girls&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisiscolossal.com/2014/10/tant-de-forets-trailer/&quot;&gt;Beautiful trailers&lt;/a&gt; for &lt;em&gt;Tant de Forets&lt;/em&gt;, an animated short by Burcu Sakur and Geoffrey Godet&lt;/li&gt;
&lt;li&gt;I&#39;m not a big movie buff but I&#39;m VERY into what &lt;em&gt;Every Frame a Painting&lt;/em&gt; is doing. &lt;a href=&quot;https://www.youtube.com/watch?v=5V-k-p4wzxg&quot;&gt;Example&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Text processing in Coda is &lt;a href=&quot;https://twitter.com/somelaniesaid/status/528221614304157697&quot;&gt;a lovely thing&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>And lo, there was a portfolio section</title>
      <link href="https://melanie-richards.com/blog/portfolio-update/"/>
      <updated>2014-10-07T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/portfolio-update/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-portfolio-update.jpg&quot; alt=&quot;A grid of preview images comprising a portfolio index page&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Finally got around to putting some (albeit older) work up on the site. Though there&#39;s some great newer stuff I can&#39;t share yet, it&#39;s nice to have work on the site again. &lt;a href=&quot;https://melanie-richards.com/portfolio&quot;&gt;Check it out&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>fcodampcamp (Fuzzco Retreat, 2014)</title>
      <link href="https://melanie-richards.com/blog/fuzzco-retreat/"/>
      <updated>2014-09-28T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/fuzzco-retreat/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip.jpg&quot; alt=&quot;Photo of a waterfall&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Triple Falls, North Carolina&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;A week ago I joined the rest of my Fuzzco buddies for our second annual company retreat in North Carolina. I&#39;ve been remote working for the past three months so it was great to check in again with these goofs (and others who expertly scuttled away from the lens):&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip2.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip3.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip4.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;p class=&quot;caption&quot;&gt;Most likely to jump in a hole, Cory Etzkorn&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip5.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip6.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip7.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Brandon on the edge of the world.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip9.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip10.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip11.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Josh and the bear log, which, for the record, I think looks more like a wolf.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip13.jpg&quot; alt=&quot;Photo of a Fuzzco friend&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Totally candid, I swear. The lovely Carly.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzcotrip14-m.jpg&quot; alt=&quot;A circular yellow-greenish squishy nature thing in the palm of someone’s hand&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;And of course, Helen found something gross and picked it up. Standard.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;To save this post from total vacation-slide hell, I should mention that Fuzzco &lt;a href=&quot;https://fuzzco.com/jobs/&quot;&gt;is hiring&lt;/a&gt;, and these really are great people to work with and break pretty much all the forest rules with.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>That Which Has Happened, Summer 2014</title>
      <link href="https://melanie-richards.com/blog/happenings-summer-2014/"/>
      <updated>2014-09-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/happenings-summer-2014/</id>
      <content type="html">&lt;p&gt;So much has happened since I last updated my personal blog that I thought I&#39;d scoop it all into one tidy post. Let&#39;s. Dive. In.&lt;/p&gt;
&lt;h2 id=&quot;a-cross-country-move&quot;&gt;A cross-country move&lt;/h2&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/seattle7-m.jpg&quot; alt=&quot;View of downtown Seattle and Puget Sound from on high on the Space Needle&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;From one port city to another.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;On the last day of June, I packed up all my things and moved nearly 3,000 miles across the country from Charleston, SC to Seattle, WA. I&#39;ve had one eyeball on the Emerald City for a few years, and it felt like a good time to start a new adventure. I feel quite lucky to continue to work for the amazing people at Fuzzco.&lt;/p&gt;
&lt;p&gt;Though I miss the guys and gals from back East (and Two Boroughs Larder ramen with shishito peppers), it feels really good to be here. And for those considering cold-moving to a new city, I&#39;m thinking about a blog post detailing everything I&#39;ve learned in the process.&lt;/p&gt;
&lt;p&gt;I&#39;m excited to be a part of the creative community in Seattle, so if you&#39;d like to grab coffee/beer/boba tea sometime, let&#39;s do it! Email: mr[at]&lt;a href=&quot;http://melanie-richards.com/&quot;&gt;melanie-richards.com&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;press-for-badass-lady-creatives&quot;&gt;Press for Badass Lady Creatives&lt;/h2&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/press.jpg&quot; alt=&quot;Press for Badass Lady Creatives&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;A couple different bits of press for &lt;a href=&quot;https://baladycreatives.com/&quot;&gt;Badass Lady Creatives&lt;/a&gt; all happened to make landfall around the same time: I was interviewed for CHARLIE’s &lt;a href=&quot;https://readcharlie.com/2014/05/28/13935/#.VA_fNWRdUu8&quot;&gt;50 Most Progressive&lt;/a&gt;, the July issue of &lt;a href=&quot;https://www.nczeitgeist.com/writing/#/how-melanie-richards/&quot;&gt;HOW magazine&lt;/a&gt;, and the &lt;a href=&quot;https://blog.dribbble.com/post/87213273371/timeout-with-melanie-richards&quot;&gt;Dribbble Timeout&lt;/a&gt; series. Many thanks to the sweet people who gave me another forum in which to share BALC.&lt;/p&gt;
&lt;h2 id=&quot;weapons-of-mass-creation-fest&quot;&gt;Weapons of Mass Creation Fest&lt;/h2&gt;
&lt;p&gt;Oh my, this was a special conference. &lt;a href=&quot;https://wmcfest.com/&quot;&gt;WMC Fest&lt;/a&gt; is one of the most affordable conferences I&#39;ve ever heard of, which may contribute to its refreshingly relaxed, friendly atmosphere (and Midwesterners really are that nice). I finally met some COMPLETELY RAD Twitter buds in person, and got to meet some great new people.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pitchdesignunion.com/&quot;&gt;Margot Harrington&lt;/a&gt;, &lt;a href=&quot;https://onlymoreneverless.com/&quot;&gt;Stewart Scott-Curan&lt;/a&gt;, &lt;a href=&quot;https://www.jefffinley.org/&quot;&gt;Jeff Finley&lt;/a&gt;, and the rest of the WMC Fest gang did a fantastic job putting this conference together. They prioritized a speaker lineup that better represents all the many perspectives our design community has to offer. Between a thoughtful speaker roster and the panels discussing race, gender, and the validity of “do what you love”, the tone of this conference was “let&#39;s look out for each other, let&#39;s be good to each other”.&lt;/p&gt;
&lt;h2 id=&quot;working%2C-working%2C-working&quot;&gt;Working, working, working&lt;/h2&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://greenheartsc.org/&quot;&gt;
          &lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-thegreenheartproject.png&quot; alt=&quot;A screenshot of The Green Heart Project website&quot; /&gt;
          &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;Of course, this whole time I&#39;ve also been working. While I can&#39;t show a lot of Fuzzco projects yet, &lt;a href=&quot;https://greenheartsc.org/&quot;&gt;The Green Heart Project&lt;/a&gt; was one of my favorite clients to work with in 2014: Drew and Karalee are such enthusiastic, positive people. And designing for kids (and their parents) is such a fun challenge; I could spend days drawing wee veggies if no one stopped me. &lt;a href=&quot;https://greenheartsc.org/&quot;&gt;View the live site&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;interview-on-the-metis-blog&quot;&gt;Interview on the Metis Blog&lt;/h2&gt;
&lt;a class=&quot;c-web-preview&quot; href=&quot;https://www.thisismetis.com/blog/interview-designer-melanie-richards&quot;&gt;
          &lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/metis.png&quot; alt=&quot;Screenshot of Metis interview&quot; /&gt;
          &lt;/picture&gt;&lt;/a&gt;
&lt;p&gt;Semi-recently, the lovely House &lt;a href=&quot;https://www.thisismetis.com/blog/interview-designer-melanie-richards&quot;&gt;interviewed me&lt;/a&gt; for the Metis blog. It was fun to share a little bit about how I got into web design and front-end development, which might be helpful to beginning web creatives taking Metis’s courses.&lt;/p&gt;
&lt;h2 id=&quot;a-new-site%2C-sort-of.&quot;&gt;A new site, sort of.&lt;/h2&gt;
&lt;p&gt;Though I still consider it temporary*, I did a little fussing with the site. For this version, I strayed from Typekit offerings in favor of &lt;a href=&quot;https://www.myfonts.com/fonts/hvdfonts/brandon-text/&quot;&gt;Brandon Text&lt;/a&gt; and Griffin Moore’s &lt;a href=&quot;https://okgriffin.com/range/&quot;&gt;Range&lt;/a&gt;. This is also the first time I’m using &lt;a href=&quot;https://getkirby.com/&quot;&gt;Kirby&lt;/a&gt;, a flat-file CMS. I had previously used Wordpress to power my site, but I felt the simplicity of a designer’s portfolio/blog doesn’t warrant the bloat of WP, or the load time spent making database requests (particularly when my host’s MySQL server gets bogged down).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;* Do as I say and not as I do, eh? Someday I will have a body of work up.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;H’okay, that’s everything in life up to this point. Bring on the autumn!&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Introducing the UFGD c/o 2014!</title>
      <link href="https://melanie-richards.com/blog/22-ufgd-2014/"/>
      <updated>2014-05-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/22-ufgd-2014/</id>
      <content type="html">&lt;p&gt;I’m a big believer in honoring where you came from, and the University of Florida Graphic Design program is like a second family to me. So from now on, I’ll share the portfolios from each new graduating class. Introducing c/o 2014! What a talented bunch:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://percybatalier.com/&quot;&gt;Percy Batalier&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.kellydcarpenter.com/&quot;&gt;Kelly Carpenter&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://laurencastro.com/&quot;&gt;Lauren Castro&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://lindseymarie.us/&quot;&gt;Lindsey Marie Freeman&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.clarkeharris.com/&quot;&gt;Clarke Harris&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;http://www.kaitlynirvine.com/&quot;&gt;Kaitlyn Irvine&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.juliakarraker.com/&quot;&gt;Julia Karraker&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://devinelida.com/&quot;&gt;Devin Elida Kelly&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.derrickligon.com/&quot;&gt;Derrick Ligon&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;http://www.allanlopez.co/&quot;&gt;Allan Lopez&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://kellimcadams.com/&quot;&gt;Kelli McAdams&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.jmcdade.com/&quot;&gt;Jason McDade&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://willmelendez.com/&quot;&gt;Will Joel Melendez&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://c-nguyen.com/&quot;&gt;Crystal Nguyen&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;https://www.nicoleruggiero.com/&quot;&gt;Nicole Ruggiero&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;http://www.natysuarez.com/&quot;&gt;Natalie Suarez&lt;/a&gt;,&lt;br /&gt;
&lt;a href=&quot;http://janetvargas.com/&quot;&gt;Janet Vargas&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Congrats to you all, and best of luck in your new adventures! May you make all your upcoming decisions based on what’s right for you—not what you think is expected of you.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>New Fuzzco Work, The Nickelodeon</title>
      <link href="https://melanie-richards.com/blog/the-nickelodeon/"/>
      <updated>2014-04-02T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/the-nickelodeon/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;a href=&quot;https://nickelodeon.org/&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzco-nick.jpg&quot; alt=&quot;The Nickelodeon screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m so excited to finally share this project: a new identity and website for &lt;a href=&quot;https://nickelodeon.org/&quot;&gt;The Nickelodeon&lt;/a&gt;! The Nick is an alternative/indie theater in Columbia, South Carolina. For an organization that has a huge influence on local culture, it was important to us to make this rebrand feel intelligent, fun, and a bit off-beat.&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzco-nick2.jpg&quot; alt=&quot;The Nickelodeon&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Check back on this page during the Indie Grits festival!&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzco-nick3-m.jpg&quot; alt=&quot;The Nickelodeon screenshot&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;The “About” page is actually enormous, and it’s one of my favorites, including the “spine” of staff bios. I’ll spare you, though, and just &lt;a href=&quot;https://nickelodeon.org/about&quot;&gt;link to the full thing&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-fuzzco-nick4.jpg&quot; alt=&quot;The Nickelodeon screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The full site is live at &lt;a href=&quot;https://nickelodeon.org/&quot;&gt;nickelodeon.org&lt;/a&gt;. To see more applications of the identity, check out the &lt;a href=&quot;https://fuzzco.com/work/the-nickelodeon/&quot;&gt;full project case study&lt;/a&gt; on the Fuzzco site.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Badass Lady Creatives on the Dribbble Blog</title>
      <link href="https://melanie-richards.com/blog/balc-dribbble/"/>
      <updated>2014-03-31T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/balc-dribbble/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;a href=&quot;https://blog.dribbble.com/post/81308965887/weekly-replay&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/baladycreatives-dribbble.jpg&quot; alt=&quot;Badass Lady Creatives featured on the Dribbble blog&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.dribbble.com/post/81308965887/weekly-replay&quot;&gt;Starting this week&lt;/a&gt;, Weekly Replay (a recap feature on the Dribbble blog) will include Dribbble users featured on Badass Lady Creatives. I’m so excited that these talented designers and illustrators will gain exposure on another outlet!  Many thanks to &lt;a href=&quot;https://susannabaird.blogspot.com/&quot;&gt;Susanna Baird&lt;/a&gt; and the rest of the Dribbble team.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Sedimentary is Responsive</title>
      <link href="https://melanie-richards.com/blog/sedimentary-is-responsive/"/>
      <updated>2014-03-10T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/sedimentary-is-responsive/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;a href=&quot;https://readsedimentary.com/&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-sedimentary.jpg&quot; alt=&quot;The index of my poetry blog, Sedimentary&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My poetry and prose blog, &lt;a href=&quot;https://readsedimentary.com/&quot;&gt;Sedimentary&lt;/a&gt;, is now responsive! It’s actually the most basic layout ever—just post stacked on top of post—but the CSS hasn’t seen any love since four-ish years ago. I’d like to start writing more fiction, so I thought it might help with motivation to do some spring cleaning: changing to wide posts from columns to support longer-format writing, Freight Text’ing it up, and actually buying &lt;a href=&quot;https://readsedimentary.com/&quot;&gt;a domain name&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you’d like to follow my writing blog in all its melodramatic glory, it’s hosted on &lt;a href=&quot;https://readsedimentary.com/&quot;&gt;Tumblr&lt;/a&gt; and is connected to a Twitter account (&lt;a href=&quot;https://readsedimentary.com/&quot;&gt;@readsedimentary&lt;/a&gt;).&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Be Cool, Big Blogs</title>
      <link href="https://melanie-richards.com/blog/be-cool-big-blogs/"/>
      <updated>2014-01-30T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/be-cool-big-blogs/</id>
      <content type="html">&lt;p&gt;Giant blog machines have come up with some rock-solid ways to increase page views, thereby increasing ad revenue. Occasionally these methods are obnoxious: slideshow posts where each bullet point is a new page, and my least favorite, RSS feeds that only show excerpts (requiring you to read on the site instead of in your preferred reader). But I get it. Gotta make the big bucks.&lt;/p&gt;
&lt;p&gt;All understanding aside, I want to point out that it is objectively nasty to post about a person’s work and never link to their site. After seeing something awesome on a wildly-popular blog today, I clicked on the designer’s name, expecting to be taken to her portfolio. Instead, the link routed to an internal page containing all posts written about said designer (in this case, just the one). There was no designer-specific data—including portfolio URL—on that page. Out of curiosity, I clicked back to the article, hunted around for a link, and found nothing.&lt;/p&gt;
&lt;p&gt;So, Big Blog has thousands of followers. The post has been shared (at time of writing) 1,200 times from the post’s share buttons alone. They will surely profit from reader traffic on the blog post, but they couldn’t link directly to the creator? They just had to crank the number of impressions?&lt;/p&gt;
&lt;p&gt;Obviously, I ended up Googling the designer’s name and found her portfolio. Pretty quick task, sure. But to consciously exclude a link to the original source of the work in favor of an internal link is bad journalism, bad UX, and just plain rude.&lt;/p&gt;
&lt;p&gt;Big Blogs, you need to find a balance between profitability and respecting the people who essentially create your content. This stuff just feels sleazy and it is not helping your brand.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>January Refresh CHS, Stitch Design Co.</title>
      <link href="https://melanie-richards.com/blog/refresh-stitch/"/>
      <updated>2014-01-22T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/refresh-stitch/</id>
      <content type="html">&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/spoletooffice-m.jpg&quot; alt=&quot;Spoleto office&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;The Murray Center in Charleston, aka Spoleto USA&#39;s main office.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Charleston is one of several cities with a local chapter of &lt;a href=&quot;http://refreshingcities.com/&quot;&gt;Refresh&lt;/a&gt;, a group which seeks to inspire and maintain local creative communities. In &lt;a href=&quot;http://refreshcharleston.com/&quot;&gt;Charleston&lt;/a&gt;, this looks like a somewhat-quarterly event with presentations, munchies, and mingling—lead by the ever-energetic &lt;a href=&quot;https://about.me/karlhudsonphillips&quot;&gt;Karl Hudson Phillips&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Yesterday’s &lt;a href=&quot;http://refreshcharleston.com/&quot;&gt;RefreshCHS&lt;/a&gt; event was held at the beautiful (seriously) Spoleto Festival office, where &lt;a href=&quot;https://twitter.com/tami_draws&quot;&gt;Tami Boyce&lt;/a&gt;’s artwork hung on the walls and the founders of &lt;a href=&quot;https://stitchdesignco.com/&quot;&gt;Stitch Design Co.&lt;/a&gt; gave a great presentation on their client-driven process.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/stitchpresentation.jpg&quot; alt=&quot;Stitch&#39;s presentation&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Amy and Courtney talk about how Stitch got started.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Stitch was founded by Amy Pastre and Courtney Rowson, who bought a letterpress together and started a side business: Sideshow Press. After much positive feedback on their letterpress work, they decided to pursue design full-time. Thus, Stitch was born five years ago.&lt;/p&gt;
&lt;p&gt;Throughout their presentation, Amy and Courtney stressed the importance of involving the client in the design process. Their MO is to meet people face to face, ask insightful (and many) questions early, and show a bit more process work than might be the norm.&lt;/p&gt;
&lt;h2 id=&quot;highlights-from-the-presentation&quot;&gt;Highlights from the presentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It is not uncommon for Stitch to show 10–15 logos in one presentation. The number is pretty high, but the concepts are thoughtfully picked, and the intent is to involve the client.&lt;/li&gt;
&lt;li&gt;Stitch helps clients see past the bare-minimum deliverable; for &lt;a href=&quot;https://www.stitchdesignco.com/work/view/mixson-bath-and-racquet-club&quot;&gt;Mixson Racquet Club&lt;/a&gt; (at the time a brand new destination sort of in the middle of nowhere), they printed invitations on tennis towels.&lt;/li&gt;
&lt;li&gt;Taking business risks helps you empathize with clients, who are investing real money into design work.&lt;/li&gt;
&lt;li&gt;When clients have a hard time articulating their feedback, the designers gently ask questions to guide the conversation to a more specific, meaningful place. They also remind the client that they don’t necessarily have to pick what has already been presented.&lt;/li&gt;
&lt;li&gt;When convincing clients to go with a larger print budget, usually “the idea sells it”, but a good logical case to make is: “why bother spending the money if you’re not going to do it right?” [paraphrased]&lt;/li&gt;
&lt;li&gt;As for red flags, the founders are wary of clients who aren’t willing to sit down and talk at the beginning of a project. They seek out partners who would enjoy their design process, rather than be at odds with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My favorite moment in the presentation was when Amy and Courtney were describing how they got their hands on their first letterpress. They ordered the machine from Briar Press, a woman who was getting rid of all her things in order to serve as an overseas missionary. Amy and Courtney were expecting a table-top press, and were shocked when the Chandler &amp;amp; Price machine came in on a flatbed truck. The designers said that they blocked Meeting St. (a busy downtown street) for an hour, and ended up having to borrow a forklift from a company across the way. Both said they were glad they didn’t know what they were getting themselves into—they wouldn’t have dared to go for it if they knew the press would be so huge.&lt;/p&gt;
&lt;p&gt;See more of &lt;a href=&quot;https://stitchdesignco.com/&quot;&gt;Stitch&lt;/a&gt;’s work on their website, and if you’re in Charleston, check out Refresh on &lt;a href=&quot;https://twitter.com/refreshchs&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.facebook.com/refreshchs&quot;&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Resources for Friends of Design</title>
      <link href="https://melanie-richards.com/blog/resources-for-friends-of-design/"/>
      <updated>2014-01-16T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/resources-for-friends-of-design/</id>
      <content type="html">&lt;p&gt;A couple of days ago I had the honor and pleasure to Skype with this year’s senior class in the University of Florida Graphic Design program. Next month, these smart and talented students will present &lt;a href=&quot;https://www.facebook.com/LigatureDesignSymposium&quot;&gt;Ligature 23&lt;/a&gt;, this year’s installment of the student-run design symposium. If you find yourself in Gainesville, FL on February 7, you can see &lt;a href=&quot;https://frankchimero.com/&quot;&gt;Frank Chimero&lt;/a&gt; and &lt;a href=&quot;https://katebingamanburt.com/&quot;&gt;Kate Bingaman-Burt&lt;/a&gt; speak for free. Plus a gallery of hand-selected student work!&lt;/p&gt;
&lt;p&gt;Anyway, the seniors asked me which blogs I read and which development resources I’d recommend. I’m actually working on a longer blog post series for the dev stuff, but here’s a few links to get everyone started:&lt;/p&gt;
&lt;h2 id=&quot;a-sampling-of-the-blogs-i-follow%3A&quot;&gt;A sampling of the blogs I follow:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://boxesandarrows.com/&quot;&gt;Boxes and Arrows&lt;/a&gt;: UX&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bpando.org/&quot;&gt;BP&amp;amp;O&lt;/a&gt;: Branding, Packaging, &amp;amp; Opinion&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://csswizardry.com/&quot;&gt;CSS Wizardry&lt;/a&gt;: CSS best practices&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.designworklife.com/&quot;&gt;Design Work Life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.featureshoot.com/&quot;&gt;Feature Shoot&lt;/a&gt;: photography&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcodesign.com/&quot;&gt;Fast Co. Design&lt;/a&gt;: there’s so much of this that I usually just swipe through Feedly really fast to see which posts grab my attention&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.underconsideration.com/fpo/&quot;&gt;For Print Only&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kottke.org/&quot;&gt;Kottke&lt;/a&gt;: liberal arts&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/&quot;&gt;A List Apart&lt;/a&gt;: THE WEB&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://manhattan-nest.com/&quot;&gt;Manhattan Nest&lt;/a&gt;: hilarious home reno blog&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mocoloco.com/&quot;&gt;MoCo Loco&lt;/a&gt;: industrial/product design&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://plentyofcolour.com/&quot;&gt;Plenty of Colour&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.remodelista.com/&quot;&gt;Remodelista&lt;/a&gt;: interior design&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.septemberindustry.co.uk/&quot;&gt;September Industry&lt;/a&gt;: doesn’t update much, but it’s always really good stuff&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.underconsideration.com/quipsologies/&quot;&gt;Quipsologies&lt;/a&gt;: assorted stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those are the more general blogs; if I’m into someone’s work or the stuff they say on Twitter, I’ll follow their personal blog as well.&lt;/p&gt;
&lt;h2 id=&quot;for-learning-web-development%3A&quot;&gt;For learning web development:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://24ways.org/&quot;&gt;24Ways&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.abookapart.com/&quot;&gt;A Book Apart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://caniuse.com/&quot;&gt;Can I Use&lt;/a&gt;: check browser support&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.codecademy.com/&quot;&gt;Codecademy&lt;/a&gt;: walkthroughs/exercises for several web languages&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/the-css-box-model/&quot;&gt;CSS Box Model explanation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/&quot;&gt;CSS Tricks&lt;/a&gt;: Chris Coyier knows the answer to any CSS question, possibly&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fivesimplesteps.com/collections&quot;&gt;Five Simple Steps&lt;/a&gt;: lots of design manuals in there, too&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.siteleaf.com/&quot;&gt;SiteLeaf&lt;/a&gt;: I recently interviewed &lt;a href=&quot;https://jessicaharllee.com/&quot;&gt;Jessica Harllee&lt;/a&gt;, who built her portfolio site using the SiteLeaf CMS, and loved it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sitepoint.com/&quot;&gt;SitePoint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://smashingmagazine.com/&quot;&gt;Smashing Magazine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/community/webed/wiki/Main_Page&quot;&gt;W3C&lt;/a&gt;: the guys that lead the internets. Not to be confused with W3Schools, which is &lt;a href=&quot;https://www.w3fools.com/&quot;&gt;frowned upon&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.webplatform.org/wiki/Main_Page&quot;&gt;Web Platform Docs&lt;/a&gt;: The “Beginners Guide” has a lot of great info on web fundamentals&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two related tips: always check the date on blog posts with code examples in them. There may be more up-to-date information. And if you’re the book-learning type, I’d recommend eBooks over print books. Development changes so quickly, so it doesn’t make sense to invest more money into something that will at some point be outdated and taking up physical space.&lt;/p&gt;
&lt;h2 id=&quot;additional-resources&quot;&gt;Additional Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jessicahische.is/heretohelp&quot;&gt;Jessica Hische’s resources list&lt;/a&gt;. Also check out Jessica&#39;s personal projects and blog posts, because she is so incredibly generous with her knowledge. Even with &lt;a href=&quot;https://jessicahische.is/thinkingthoughtsaboutpricing&quot;&gt;pricing&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Update in 2026: &lt;a href=&quot;https://www.qualtrics.com/articles/customer-experience/ux-design-glossary/&quot;&gt;User Experience (UX) Design Glossary&lt;/a&gt;. Thanks for the suggestion, Harper L!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks again, folks! See you at Ligature.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Contributor on DWL / Photography by Melissa Toms</title>
      <link href="https://melanie-richards.com/blog/contributor-on-dwl-photography-by-melissa-toms/"/>
      <updated>2013-12-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/contributor-on-dwl-photography-by-melissa-toms/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;a href=&quot;https://www.designworklife.com/2013/12/04/introducing-melanie/&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-ondwl-m.png&quot; alt=&quot;The Design Work Life blog announcing my new column&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happy to announce that starting next Wednesday, I’ll be posting weekly on &lt;a href=&quot;https://www.designworklife.com/2013/12/04/introducing-melanie/&quot;&gt;Design Work Life&lt;/a&gt;. My series is essentially an extension of &lt;a href=&quot;https://baladycreatives.com/&quot;&gt;Badass Lady Creatives&lt;/a&gt; (not-so-coincidentally, &lt;a href=&quot;https://baladycreatives.com/&quot;&gt;that site&lt;/a&gt; also launched yesterday), a project that I run which celebrates professional women in the creative industries. On DWL, I’ll be posting interviews, round-ups, badass women in history, and other lady creative news. It’s been interesting working from a social-media-first approach, but I’m so happy to have a permanent home for more robust posting.&lt;/p&gt;
&lt;p&gt;I needed a landscape portrait for my posts on DWL, but having zilch—I tend to run away from the camera and/or make bizarre faces—&lt;a href=&quot;https://www.melissatoms.com/&quot;&gt;Melissa Toms&lt;/a&gt; and I held a quick portraiture sesh. She did such a great job and has such a warm personality that it was easy to relax.&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms1.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms2.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Melissa is really great at event and food photography, often shooting with our mutual friend &lt;a href=&quot;https://oliviaraejames.com/&quot;&gt;Olivia Rae James&lt;/a&gt;.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms4.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Need to eat this, stat; shot at Monza in Charleston, SC&lt;/figcaption&gt;&lt;/figure&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms3.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Melissa also shoots some really beautiful, moody photos:&lt;/p&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms5.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melissatoms6.jpg&quot; alt=&quot;Photo by Melissa Toms&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Seriously, that looks like a painting.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Melissa’s site is in the works, but you can follow her on &lt;a href=&quot;https://www.flickr.com/photos/54800960@N03/&quot;&gt;Flickr&lt;/a&gt; or &lt;a href=&quot;https://instagram.com/mel_toms&quot;&gt;Instagram&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Advice to Stick to One&#39;s Forehead</title>
      <link href="https://melanie-richards.com/blog/advice-to-stick-to-ones-forehead/"/>
      <updated>2013-10-20T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/advice-to-stick-to-ones-forehead/</id>
      <content type="html">&lt;p&gt;It’s nice to troll through old computer files. Found a (questionably type-set) image of this A++ advice from Ira Glass:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which Jonathan Safran Foer summarizes in three words (from &lt;em&gt;Everything is Illuminated&lt;/em&gt;):&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/jsf.jpeg&quot; alt=&quot;&amp;quot;We are writing&amp;quot; repeated over and over again to fill a full printed page&quot; /&gt;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Announcing Badass Lady Creatives</title>
      <link href="https://melanie-richards.com/blog/announcing-badass-lady-creatives/"/>
      <updated>2013-08-06T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/announcing-badass-lady-creatives/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;a href=&quot;https://pinterest.com/BAladycreatives/boards/&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-baladycreatives-screenshot-m.jpg&quot; alt=&quot;Badass Lady Creatives on Pinterest&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m pleased to announce that &lt;a href=&quot;https://pinterest.com/BAladycreatives/boards/&quot;&gt;Badass Lady Creatives&lt;/a&gt; is a thing that exists on the Internet! In the recent past there’s been some drama about lack of female speakers and panelists at conferences in the creative/tech industries. What often goes unnoticed—and which I find more telling—are the small, pervasive ways in which praise, accolades, and respect are unevenly distributed.&lt;/p&gt;
&lt;p&gt;The aim of &lt;a href=&quot;https://twitter.com/baladycreatives&quot;&gt;Badass Lady Creatives&lt;/a&gt; is to celebrate a wider set of talented individuals. It’s not a fix-all—and there are other worthy topics, re: diversity—but it’s a start. At this moment, there is a &lt;a href=&quot;https://pinterest.com/BAladycreatives/boards/&quot;&gt;Pinterest&lt;/a&gt; account that will serve as a directory of actively-working creative women, and a &lt;a href=&quot;https://twitter.com/baladycreatives&quot;&gt;Twitter&lt;/a&gt; account that will share our favorite pins and news from said ladies. If these networks are not your thing, never fear: I/we are hoping to expand to other media, as well.&lt;/p&gt;
&lt;p&gt;Speaking of we, I’m so grateful to have some design-comrades curating this directory along with me. Many thanks to &lt;a href=&quot;https://pitchdesignunion.com/&quot;&gt;Margot Harrington&lt;/a&gt;, [Joseph Hughes](text: &lt;a href=&quot;http://www.northcoastzeitgeist.com/&quot;&gt;http://www.northcoastzeitgeist.com/&lt;/a&gt;), &lt;a href=&quot;https://unequal-design.com/&quot;&gt;Dylan Lathrop&lt;/a&gt;, &lt;a href=&quot;https://fuzzco.com/&quot;&gt;Helen Rice&lt;/a&gt;, &lt;a href=&quot;https://mariarogal.com/&quot;&gt;Maria Rogal&lt;/a&gt;, and &lt;a href=&quot;https://onlymoreneverless.com/&quot;&gt;Stewart Scott-Curran&lt;/a&gt; for coming on board with this project!&lt;/p&gt;
&lt;p&gt;Parting thoughts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Though the first pins are very US/UK-centric, we plan to feature women on an international scope.&lt;/li&gt;
&lt;li&gt;Our definition of women is fluid. If you call yourself a lady, you are one.&lt;/li&gt;
&lt;li&gt;This is a merit-based project. Women will be featured because they are good at what they do.&lt;/li&gt;
&lt;/ul&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Launched this week, Off-Work</title>
      <link href="https://melanie-richards.com/blog/launched-this-week-off-work/"/>
      <updated>2013-07-27T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/launched-this-week-off-work/</id>
      <content type="html">&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/off-work.png&quot; alt=&quot;Off-Work&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://off-work.com/&quot;&gt;Off-Work&lt;/a&gt;, a gallery of personal design work, launched this Tuesday. The site is &lt;a href=&quot;http://ryanjhubbard.com/&quot;&gt;Ryan Hubbard&#39;s&lt;/a&gt; brain-baby; he wanted to encourage himself and his friends to blow off creative steam on a regular basis. The illustrations also just &lt;em&gt;happen&lt;/em&gt; to be sized for desktop backgrounds. We’ve been working on O-W for too many moons than we care to admit, but it’s awesome to see all those coffee-shop sessions come into fruition. I can’t wait until there’s more posts up on the site; with only one post per person, it appears to be a blog-style site, but each person actually has their own horizontal slideshow.&lt;/p&gt;
&lt;p&gt;Fun observation from &lt;a href=&quot;https://twitter.com/eileentjan&quot;&gt;Eileen Tjan&lt;/a&gt;: “…unintentional color scheme for first posts? ha. :D” Yep, all our illustrations happened to be green, yellow, black, and white.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This project was designed/conceived by Ryan, built by yours truly.&lt;/em&gt;&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Refresh CHS</title>
      <link href="https://melanie-richards.com/blog/refresh-chs-june/"/>
      <updated>2013-06-05T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/refresh-chs-june/</id>
      <content type="html">&lt;p&gt;Last night was my first event with &lt;a href=&quot;http://refreshcharleston.com/&quot;&gt;Refresh Charleston&lt;/a&gt;, and by “with”, I mean I was sitting in the audience, drinking a beer, and repeatedly dropping my stubby Staedtler 3B. Refresh events are sort of like micro conferences. They’re meant to inspire and connect local creatives, and from what I gather, have somewhat of a digital emphasis (welcome to 2013).&lt;/p&gt;
&lt;p&gt;The first talk last night at &lt;a href=&quot;https://www.blueion.com/&quot;&gt;Blue Ion&lt;/a&gt; was “Man vs Magnet vs Work: Giving Yourself First Hold”. Matt Smithson (aka &lt;a href=&quot;http://www.manvsmagnet.com/&quot;&gt;Man vs Magnet&lt;/a&gt;) discussed avoiding burnout by managing your work-life balance. The advice was familiar (say no, give yourself first priority, “go outside and elsewhere”), but it’s the sort of message the falls out of my brain weekly and needs to be repeated over and over until I finally start taking multivitamins and walk breaks.&lt;/p&gt;
&lt;h3 id=&quot;yay-things-about-%E2%80%9Cman-vs-magnet-vs-work%E2%80%A6%E2%80%9D&quot;&gt;Yay things about “Man vs Magnet vs Work…”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;“I am a human being…not a human doing” — Deepak Chopra. BOOM!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sheplusplus.stanford.edu/&quot;&gt;The She++ project&lt;/a&gt;, &lt;a href=&quot;http://www.manvsmagnet.com/She&quot;&gt;one of Matt’s clients&lt;/a&gt;, aims to level out the gender imbalance in the computer science industry. There’s several social reasons why we don’t see as many ladies in tech, and I am excited to see what She++ does.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://manvsmagnet.com/Ford-Foundation-Celebrating-the-International-Fellowships-Program&quot;&gt;This entire animation&lt;/a&gt; was done in a week, with just ONE long night at the office. The power of work/life balance.&lt;/li&gt;
&lt;li&gt;Charleston is still a small city, and the creative industry occasionally feels like a small inbred family where everyone knows each other. It was AWESOME seeing work from someone I’ve never met before, and I’m excited that there’s still more talent to discover in my city. And if you do one thing, watch &lt;a href=&quot;http://www.manvsmagnet.com/Battle-Of-The-Album-Covers&quot;&gt;&amp;quot;Battle of the Album Covers&amp;quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/KelJar&quot;&gt;Kelsey Jarett&lt;/a&gt; (of BlackBaud) and &lt;a href=&quot;https://twitter.com/bunmun&quot;&gt;Ben Wong&lt;/a&gt; (BlueIon, formerly BlackBaud) gave the night’s second presentation, “How Dr Seuss Can Help You Rock Digital Storytelling.” They explored how the familiar fictional story arc can be used as a model for building brands online.&lt;/p&gt;
&lt;h3 id=&quot;in-a-nutshell%3A&quot;&gt;In a nutshell:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Introduction. This sets the scene and defines the status quo. A bit like, “what is life like without the brand?” Using characters (specific names and places!), even if they’re real people, helps.&lt;/li&gt;
&lt;li&gt;Conflict. Interrupts the status quo. Kelsey and Ben say that a problem correctly introduced “creates doubt about the outcome.” The user will wonder, “if don’t [buy this/support that cause], then maybe [undesirable thing] will happen.” Oh, psychology.&lt;/li&gt;
&lt;li&gt;Climax. Shows how the brand will change the status quo defined in the introduction. Encourages user action.&lt;/li&gt;
&lt;li&gt;Conclusion. Results of the action. The audience should feel as though they had a hand in this outcome = customer loyalty&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;yay-things-about-%E2%80%9Chow-dr-seuss%E2%80%A6%E2%80%9D&quot;&gt;Yay Things About “How Dr Seuss…”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.thesilenthistory.com/&quot;&gt;&amp;quot;The Silent History&amp;quot;&lt;/a&gt;, a location-based, collaborative novel&lt;/li&gt;
&lt;li&gt;Introduce new characters when a brand starts to feel stale. They should align with the brand, but add something new (ex: State Farm “Mayhem” character)&lt;/li&gt;
&lt;li&gt;One audience member mentioned that on a recent project, they individually surveyed each of the client’s team members to see what they though their company story/personality was. In the commonalities lies truth (or at least a collective illusion but wow that’s another conversation).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking forward to see what inspiration and camaraderie the next Refresh brings. Check out &lt;a href=&quot;http://refreshingcities.com/&quot;&gt;this list&lt;/a&gt; to see if Refresh is in your city.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Synthesize, My Friends</title>
      <link href="https://melanie-richards.com/blog/synthesize-my-friends/"/>
      <updated>2012-12-04T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/synthesize-my-friends/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-justlove.jpg&quot; alt=&quot;Poster with a collage of drawn plants that says &#39;All my best friends eat sunshine&#39;&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Way back in September my (18×24 in.) poster design was added to &lt;a href=&quot;https://thejustloveproject.com/&quot;&gt;The Just Love Project&lt;/a&gt;, which looks to raise money for children’s education and other basic needs. &lt;a href=&quot;https://www.joshuakrohn.com/&quot;&gt;Joshua Krohn&lt;/a&gt; charged us all to design something about love, so naturally I decided to go rogue and wax poetic about plants. You can still &lt;a href=&quot;https://thejustloveproject.bigcartel.com/product/the-just-love-project-september&quot;&gt;buy the poster&lt;/a&gt; in all its half-tone glory, or check out all the illustrations &lt;a href=&quot;https://thejustloveproject.com/blog/36143058450&quot;&gt;at the upcoming show&lt;/a&gt;.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>And Everything Looks Like a Giant Cupcake</title>
      <link href="https://melanie-richards.com/blog/giant-cupcake/"/>
      <updated>2012-08-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/giant-cupcake/</id>
      <content type="html">&lt;p&gt;This week I’ve sort of been obsessed by M83’s &lt;a href=&quot;http://grooveshark.com/s/Raconte+Moi+Une+Histoire/4ehAN7?src=5&quot;&gt;Raconte-Moi Une Histoire&lt;/a&gt;, a track whose main vocals are a little girl describing a rainforest-frog-induced trip. Googling led me to a &lt;a href=&quot;https://pitchfork.com/features/interviews/8680-m83/&quot;&gt;Pitchfork interview with Anthony Gonzalez&lt;/a&gt;, in which Gonzalez discussed a child-like undercurrent in his synthy music:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When I first moved to L.A., I was feeling a bit weird. I was alone, working in my apartment, and suddenly I had these weird memories about being a child. It made me melancholic, crying alone in my apartment, thinking about something I’ll never be able to redo. For me, this album is a tribute to those years of innocence where everything was perfect. I had the perfect childhood. My father was a policeman, and my mother sold fabric in her small store. They were very normal, very simple. When you’re young, you can do anything. And the more I grow up, the less I think that way. Through my music, I’m really trying to convince myself that I can do it. It’s like therapy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What a beautiful, pure way to work. It’s so easy to wrap yourself in a giant stressball of needs and objectives and shouldn’ts when you’re creating in exchange for money. But it’s continually clear: a zen-like state of childlike joy can help us make something much more magnetic.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Alvin and the Girl Scouts</title>
      <link href="https://melanie-richards.com/blog/alvin-and-the-girl-scouts/"/>
      <updated>2012-07-29T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/alvin-and-the-girl-scouts/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gs-cover-m.jpg&quot; alt=&quot;Girl Scout Handbook cover&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;A few weeks ago I picked up this 1960-edition of the Girl Scout Handbook at an estate sale. I don’t own much ephemera—being in a constant war of thing-like vs. too-much-junk anxieties—but I loved the cover, the illustrations, and I really wanted to spend some time with the content. Not only is the separation of half a century intriguing, I’d always wanted to be a Girl Scout. I think it’s the badges.&lt;/p&gt;
&lt;p&gt;Yesterday I looked at the credits page for the first time and was surprised to see the designer for the cover was &lt;a href=&quot;https://www.alvinlustig.com/&quot;&gt;Alvin Lustig&lt;/a&gt;. This particular edition was printed 5 years after Lustig passed away, but there’s still something magical about finding a piece by such a prominent designer, which was used and appreciated (?) by its original intended audience.&lt;/p&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gs-singlepages.jpg&quot; alt=&quot;Girl Scout Handbook interior&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;That original audience is a little girl named LaBonney Parnell, who gave herself near-perfect scores on all the good citizen quizzes.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gs-laws.jpg&quot; alt=&quot;Girl Scout Handbook interior&quot; /&gt;
          &lt;/picture&gt;
&lt;figure class=&quot;&quot;&gt;&lt;picture&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gs-countries.jpg&quot; alt=&quot;Girl Scout Handbook interior&quot; /&gt;
          &lt;/picture&gt;&lt;figcaption&gt;Appropriate, as the Olympics are upon us.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-gs-outdoors.jpg&quot; alt=&quot;Girl Scout Handbook interior&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Illustrations are by &lt;a href=&quot;https://www.google.com/search?num=10&amp;amp;hl=en&amp;amp;site=&amp;amp;tbm=isch&amp;amp;source=hp&amp;amp;biw=1086&amp;amp;bih=989&amp;amp;q=%22eleanor+dart%22+illustraotr&amp;amp;oq=%22eleanor+dart%22+illustraotr&amp;amp;gs_l=img.3...678.4962.0.5105.26.14.0.12.0.0.76.765.14.14.0...0.0...1ac.IB5qFI7Jw0A#num=10&amp;amp;hl=en&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=gYoVUJDQJoi88AT2jYHoDA&amp;amp;ved=0CEkQvwUoAQ&amp;amp;q=%22eleanor+dart%22+illustrator&amp;amp;spell=1&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&amp;amp;fp=ecda5c9499c48f68&amp;amp;biw=1086&amp;amp;bih=989&quot;&gt;Eleanor Dart&lt;/a&gt; and &lt;a href=&quot;https://www.google.com/search?num=10&amp;amp;hl=en&amp;amp;site=&amp;amp;tbm=isch&amp;amp;source=hp&amp;amp;biw=1086&amp;amp;bih=989&amp;amp;q=%22eleanor+dart%22+illustraotr&amp;amp;oq=%22eleanor+dart%22+illustraotr&amp;amp;gs_l=img.3...678.4962.0.5105.26.14.0.12.0.0.76.765.14.14.0...0.0...1ac.IB5qFI7Jw0A#hl=en&amp;amp;tbm=isch&amp;amp;sa=1&amp;amp;q=%22alison+cummings%22+illustrator&amp;amp;oq=%22alison+cummings%22+illustrator&amp;amp;gs_l=img.3...37400.41143.1.41221.18.16.1.0.0.6.133.1547.8j8.16.0...0.0...1c.lTms4mfBmw4&amp;amp;pbx=1&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&amp;amp;fp=ecda5c9499c48f68&amp;amp;biw=1086&amp;amp;bih=989&quot;&gt;Alison Cummings&lt;/a&gt;, neither of whom I can find much on.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Lord Have Mercy, Pre-T33n Design</title>
      <link href="https://melanie-richards.com/blog/lord-have-mercy/"/>
      <updated>2012-05-03T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/lord-have-mercy/</id>
      <content type="html">&lt;p&gt;I am giddy.&lt;/p&gt;
&lt;p&gt;I’ve been thinking a lot lately about my discovery of HTML, right around sixth grade, and how that pushed me down a track to becoming a web-focused designer. Thinking about table-based layouts made me nostalgic, and I wished that I had saved some record of my earliest attempts at making sites.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;https://web.archive.org/&quot;&gt;Wayback Machine&lt;/a&gt;, I can finally show off the travesty I was making in the early days of user-generated web (and would love to see your tragic firsts too!).&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards_homepage.jpg&quot; alt=&quot;Expage screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here we have &lt;a href=&quot;https://web.archive.org/web/20021008041711/http://www.expage.com/glowygirl&quot;&gt;expage.com/glowygirl&lt;/a&gt;, my very first website. At the time I hadn’t heard of Geocities or Angelfire, so in order to build a site on Expage I had to register one page at a time. I’m guessing the empty box had an image that wasn’t cached. Fruity Raindrops was the successor, the pinnacle of my pre-teen sites, if you could call it that. Sadly the Wayback Machine didn’t save much from there.&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards_menu-m.jpg&quot; alt=&quot;Expage screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The content menu. Yes, that background is animated. All girly websites at the time had Me, You, and Fun Stuff sections. If you were “creative,” you named them something interesting. Apparently I deemed myself ~&lt;em&gt;~ The Princess ~&lt;/em&gt;~&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards_pagenames.jpg&quot; alt=&quot;Expage screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Page name suggestions! If you can read them.&lt;/p&gt;
&lt;p class=&quot;c-web-preview&quot;&gt;&lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards_award.jpg&quot; alt=&quot;Expage screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Apparently I was cool enough to distribute awards. Yay for circa-2002 marketing tactics.&lt;/p&gt;
&lt;p&gt;And finally, Melanie’s website tips, 2002, verbatim:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use a layout to keep it nice and neat.&lt;/li&gt;
&lt;li&gt;Don’t be a copy-catter off of other sites.&lt;/li&gt;
&lt;li&gt;Offer to link peeps on ur site.&lt;/li&gt;
&lt;li&gt;Include graphics on ur site.&lt;/li&gt;
&lt;li&gt;Have things available for peeps to put on their site.&lt;/li&gt;
&lt;li&gt;Make ur page bright and colorful.&lt;/li&gt;
&lt;li&gt;Don’t have a bunch of pop-ups–they get ANNOYING!&lt;/li&gt;
&lt;li&gt;Have a page rater.&lt;/li&gt;
&lt;li&gt;Have lots of subpages.&lt;/li&gt;
&lt;li&gt;Learn tons of html from &lt;a href=&quot;http://www.funky-chickens.com/&quot;&gt;http://www.funky-chickens.com&lt;/a&gt; make sure all linx r correct–broken linx get ANNOYING, 2&lt;/li&gt;
&lt;li&gt;Get a guestbook from somewhere lyk &lt;a href=&quot;http://www.bravenet.com/&quot;&gt;http://www.bravenet.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In fact, get a lot of kewlio things @ Bravenet.&lt;/li&gt;
&lt;li&gt;Don’t b boring! Here’s boring: your name, shoutouts, thanks 4 goin 2 my site, tell ur friends about it. I’ve seen a lot lyk that and they honestly stink!&lt;/li&gt;
&lt;li&gt;Have fun and CONSTANTLY expand ur site! Effort will b noticed!&lt;/li&gt;
&lt;/ol&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Execute</title>
      <link href="https://melanie-richards.com/blog/execute/"/>
      <updated>2012-05-01T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/execute/</id>
      <content type="html">&lt;p&gt;I have a theory that everyone’s best assets are also their worst. To remind myself of the dangers of wanting to learn everything, here’s a partial list of the things I’ve wanted to learn—in some cases, to deepen partial knowledge—in the past year:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Illustration, bookmaking, history (local, federal, world), human-interest journalism, microfiction, zine crafting, hiking, novel-writing, photography, street hockey, screen-printing, Riso printing, linocut printmaking, cross-stitching, sewing, cooking, Ruby on Rails, Russian language, video art, performance art, dance (hip-hop, modern, ballet), spoken-word poetry, singing, public speaking, short-story-collection writing, starting a new language, saving an old one, gardening, grilling, woodworking (whittling, making furniture), Polish language, the art of cocktail-ery?, stamp collecting, Chinese brush painting, Norse mythology, [deep understanding of] local and federal government, international relations, the science of environmental policy, etymology, Esperanto, Communist wooden language, EVERYTHING ABOUT COLD PLACES EVER, etc, etc, etc…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Curiosity is the creative’s life blood. But to attempt to become sufficiently adept at all of the above would be a lifelong struggle with distraction, half-baked attempts, and I’m guessing, a pinch of loneliness. It’s few of us that can be good at everything, so we have to pick: what’s important now? What gives me life? What makes me a better designer, a happier person?&lt;/p&gt;
&lt;p&gt;Priorities.&lt;/p&gt;
</content>
    
  </entry>
  
  
  
  <entry>
    
      <title>Creeper Doodles</title>
      <link href="https://melanie-richards.com/blog/creeper-doodles/"/>
      <updated>2012-04-26T00:00:00.000Z</updated>
      <id>https://melanie-richards.com/blog/creeper-doodles/</id>
      <content type="html">&lt;picture class=&quot;&quot;&gt;
          &lt;img src=&quot;https://melanie-richards.com/assets/images/content/melanierichards-creepy-doodles-m.png&quot; alt=&quot;Doodled pattern&quot; /&gt;
          &lt;/picture&gt;
&lt;p&gt;Knew I wanted to draw something tonight but couldn’t think of what. Decided to just doodle with an empty mind; somehow &lt;em&gt;Clockwork Orange&lt;/em&gt; popped in my head and this creepo doodle pattern spiraled out from there.&lt;/p&gt;
</content>
    
  </entry>
</feed>