Links

Layers of Flavor: A Farmers Market Guide to Alliums (foodwise.org)

The Allium genus encompasses over 600 different species, including edible varieties like chives, garlic, leeks, onions, and shallots. Garlic and onion are among the oldest cultivated plants, dating back thousands of years. Their origins are believed to be in Asia, the Middle East, and Northern Africa before spreading around the world, cultivated for culinary and medicinal purposes and used in sacred practices. The strong flavor and smell of alliums, which is due to the presence of sulfur compounds, also makes them a natural pest deterrent on the farm.

How we’re approaching theming with modern CSS (piccalil.li)


:root {
  /* Fluid type scale */
  --size-step--2: clamp(0.6944rem, 0.6376rem + 0.284vi, 0.84rem);
  --size-step--1: clamp(0.8333rem, 0.7488rem + 0.4228vi, 1.05rem);
  --size-step-0: clamp(1rem, 0.878rem + 0.6098vi, 1.3125rem);
  --size-step-1: clamp(1.2rem, 1.028rem + 0.8598vi, 1.6406rem);
  --size-step-2: clamp(1.44rem, 1.2016rem + 1.1918vi, 2.0508rem);
  --size-step-3: clamp(1.728rem, 1.402rem + 1.6302vi, 2.5635rem);
  --size-step-4: clamp(2.0736rem, 1.6323rem + 2.2063vi, 3.2043rem);
  --size-step-5: clamp(2.4883rem, 1.8963rem + 2.9602vi, 4.0054rem);
  --size-step-6: clamp(2.986rem, 2.1974rem + 3.943vi, 5.0068rem);
  --size-step-7: clamp(3.5832rem, 2.5392rem + 5.2201vi, 6.2585rem);

  /* Fluid space scale */
  --space-3xs: clamp(0.25rem, 0.2256rem + 0.122vi, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.4268rem + 0.3659vi, 0.6875rem);
  --space-xs: clamp(0.75rem, 0.6524rem + 0.4878vi, 1rem);
  --space-s: clamp(1rem, 0.878rem + 0.6098vi, 1.3125rem);
  --space-m: clamp(1.5rem, 1.3049rem + 0.9756vi, 2rem);
  --space-l: clamp(2rem, 1.7561rem + 1.2195vi, 2.625rem);
  --space-xl: clamp(3rem, 2.6341rem + 1.8293vi, 3.9375rem);
  --space-2xl: clamp(4rem, 3.5122rem + 2.439vi, 5.25rem);
  --space-3xl: clamp(6rem, 5.2683rem + 3.6585vi, 7.875rem);

  /* Colours */
  --color-light: #ffffff;
  --color-light-shade: #f3f5f7;
  --color-dark: #000000;
  --color-mid: #ebebeb;
  --color-mid-shade: #dedede;
  --color-midnight: #4a4e69;
  --color-midnight-shade: #22223b;
  --color-eggshell: #f2e9e4;
  --color-blue: #3b71fe;
  --color-blue-glare: #eef6fd;
  --color-slate: #4f5563;
}

  --leading: 1.5;
  --leading-short: 1.3;
  --leading-fine: 1.1;
  --leading-flat: 1;
  --leading-loose: 1.7;
  --kerning: normal;
  --kerning-tight: -0.04ch;
  --kerning-loose: 0.1ch;
  --text-size-base: var(--size-step-0);
  --text-size-lede: var(--size-step-1);
  --text-size-meta: var(--size-step--1);
  --text-size-heading-1: var(--size-step-5);
  --text-size-heading-2: var(--size-step-4);
  --text-size-heading-3: var(--size-step-3);
  --text-size-heading-4: var(--size-step-2);
  --text-size-prose: var(--text-size-base);
  --space-gutter: var(--space-m);
  --space-gutter-s: var(--space-s);
  --space-gutter-l: var(--space-l);
  --space-regions: var(--space-xl);
  --size-wrapper-max-width: 1135px;
  --color-global-bg: var(--color-light);
  --color-global-text: var(--color-dark);
  --color-surface-bg: var(--color-mid);
  --color-surface-bg-interact: var(--color-mid-shade);
  --color-surface-text: var(--color-dark);
  --color-surface-text-interact: var(--color-dark);
  --font-base: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui,
    helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
  --font-display: var(--font-base);
  --font-lede: var(--font-base);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --focus-ring: 2px solid currentColor;
  --focus-ring-offset: 2px;

/* Custom property configuration */
:root {
  --color-global-bg: var(--color-light);
  --color-global-text: var(--color-midnight-shade);
  --color-surface-bg: var(--color-blue);
  --color-surface-bg-interact: var(--color-dark);
  --color-surface-text: var(--color-light);
  --color-surface-text-interact: var(--color-light);
  --button-radius: 1.5em;
  --font-lede: Georgia, serif;
  --font-display: 'Khula', sans-serif;
  --text-size-heading-1: var(--size-step-6);
}

/* Specific theme styles and settings */
.intro {
  --space-regions: var(--space-2xl) var(--space-3xl);
  --sidebar-target-width: 11ch;

  background: linear-gradient(
    85deg,
    var(--color-blue-glare) 35%,
    var(--color-light-shade) 100%
  );
}

.intro .sidebar {
  /* Going straight for gap so it doesn't affect the wrapper */
  gap: var(--space-s) var(--space-l);
}

.lede {
  font-style: italic;
}

.quote {
  position: relative;
  border-radius: 1em;
  overflow: hidden;
}

.quote img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.quote q {
  quotes: none;
  background: var(--color-midnight-shade);
  color: var(--color-light);
  padding: 0.5em 1em;
  background: rgb(from var(--color-midnight-shade) r g b / 70%);
  backdrop-filter: blur(2px);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.grid {
  --space-flow: var(--space-l);
}

United MAX Hit by Falling Object at 36,000 Feet - AvBrief.com (avbrief.com)

Whatever hit the plane, it was an enormously rare event and possibly the first time anything has collided with an aircraft at that altitude other than a projectile launched with that intended purpose. The plane diverted without incident to Salt Lake City where the approximately 130 passengers were put on another plane to finish the last half of the 90-minute flight. Apparently only one layer of the windshield was damaged, and there was no depressurization. The crew descended from 36,000 feet to 26,000 feet for the diversion, likely to ease the pressure differential on the remaining layers of windshield. Neither the airline nor FAA have commented.

Hah! I mean, it could have gone a lot worse. And it's much funnier because all was well.

But imagine the pilots!

Umm...how do we tell passengers...something just hit our windshield..from space. And we have to do an emergency landing.

"Just doing things" is not a path to value (productpicnic.beehiiv.com)

Been following Pavel for a long while now across various platforms. This is one of his posts that resonates greatly:

[...I've] thinking about the axioms of my own product development practice; I hesitate to call it a design practice because there are so many other moving parts that are necessary before your users can actually have an experience

One axiom is: doing design requires that you first establish an environment in which design is possible and valuable. It is insufficient to be able to practice the methods of design if the goals those methods help you reach are not (v

valued in your context

Another axiom is: doing design means following a design process. While it is possible to produce outputs that resemble design artifacts without practicing the process, you are not designing as such. Of course, there is no hard line between what is and is not a design process; for me it is a set of principles rather than linear steps one can follow.

These top-down processes all failed, and will all continue to fail, for one simple reason: certainty can only be achieved through bottom-up understanding of reality, rather than top-down dictation of what executives want to be real. And from the ashes of that failure, a new idea rises: that since everything is broken anyway, the only remaining course of action for a “high agency” contributor is to ignore the system and “just do things.”

A threat model for accessibility on the web - Alice (alice.boxhall.au)

So many exhausting arguments could be avoided by treating the needs of disabled users as a primary, non-negotiable requirement for web features. These needs should be considered at every phase of design, right from inception on; features which don't meet accessiblity requirements should not be shipped. It should not be down to accessibility specialists to monitor repositories and meetings to try and find proposals which carry accessibility risks, and undertake the Sisyphean task of pushing back on proposals which are already considered “mature”.

Until we begin the design process of all web features with a genuine effort to understand user needs, and consistently factor in that reality that the needs of disabled users will be for the most part neglected by developers (whether by their own choices, or the choices of their management chain), we will keep failing these users. We will keep shipping features you have to “hold right” in order not to exclude or harm disabled users, and disabled users will continue to be excluded and harmed. We will keep giving accessibility specialists (many of whom are also disabled users) an ever-increasingly impossible task.

Getting this right requires a bit more work up-front, but – just as it is with front-end development – ultimately saves potential years of clean-up work (or having to scrap projects after years of effort), as well as avoiding harming disabled users. It's work that is plainly worth doing, and I wish it was the norm.