Ash's Avatar

Ash

@ash.pink

🌱 The Web and Stuff - Software Engineer at @sanity.io ✨ ui πŸ’• server 🌈 html 🦦 css βš›οΈ react πŸ”Œ ts 🌍 Chichester, UK πŸ“  https://ash.gd

139
Followers
158
Following
223
Posts
22.05.2023
Joined
Posts Following

Latest posts by Ash @ash.pink

Side note (for the pedantic reader): rotate: x … isn’t a real CSS propertyβ€”normally you’d write transform: rotateX(…). If you keep the demo as‑is, browsers will just ignore that line, which is probably not what you want. But that’s a technical footnote you can address later when you actually flesh out the code.

Side note (for the pedantic reader): rotate: x … isn’t a real CSS propertyβ€”normally you’d write transform: rotateX(…). If you keep the demo as‑is, browsers will just ignore that line, which is probably not what you want. But that’s a technical footnote you can address later when you actually flesh out the code.

Yet another AI telling me individual transform properties don't exist...

18.02.2026 21:15 πŸ‘ 11 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - Effect-TS/effect-smol: Core libraries and experimental work for Effect v4 Core libraries and experimental work for Effect v4 - Effect-TS/effect-smol

Today, we launched Effect v4 beta πŸš€

Rewritten runtime. Smaller bundles. Unified package system.

Performance: v4 is faster and lighter than v3 across the board.

Rewritten runtime: lower memory overhead, faster execution, simpler internals.

Full announcement:

effect.website/blog/release...

18.02.2026 17:35 πŸ‘ 29 πŸ” 4 πŸ’¬ 2 πŸ“Œ 0

I have no doubt in that, and I certainly admire your work πŸ’–. I hope my cynicism didn’t come across as nastiness.

16.02.2026 18:51 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Really cool, I can’t wait to see what you make 😊. Please forgive my cynicism, it tends to be my first instinct nowadays.

Great on licensing front, but I’m a bit less confident in the longevity of a tool made in service of a commercial platform. At least, thinking in the geologic time scale of git.

14.02.2026 21:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Another observation: look at the jj and GitButler projects side by side, and tell me which one you’re more confident will exist as a healthy open source project in two years time (e.g. unencumbered by being owned by Microsoft, or VC compelling them to make a platform play, un-enshittified).

14.02.2026 21:14 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

I agree with you. In a way, it feels a bit more aligned with git conceptually. I’m a huge fan of people having options.

I just looked at the docs again, and I must say that its (what appears to be) native integration with GitHub to handle stacked PRs looks ace.

14.02.2026 21:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It’s great they have a CLI now, but I’m not sure there’s anything about GitButler that I find more compelling than jj. I’ve exercised my jj muscle quite a bit, and it feels like second nature.

_Having said that_, am I the kind of person who’d get drawn in by a binary named `but`? You know I am.

13.02.2026 20:58 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

$ jj describe -m "Hello, world!"

04.02.2026 21:08 πŸ‘ 209 πŸ” 41 πŸ’¬ 6 πŸ“Œ 9
Preview
Enhanced Cloudflare Workers adapter β€” Waku Now with automatic adapter selection, static builds, and access to bindings.

⛩️ Just released Waku v1.0.0-alpha.1, a React Server Components framework!

Cloudflare Workers support is out of experimental and now works out of the box. See waku.gg/blog/cloudfl...

There is a breaking change to API routes. See github.com/wakujs/waku/... for the migration guide.

06.01.2026 13:02 πŸ‘ 30 πŸ” 2 πŸ’¬ 2 πŸ“Œ 1

The real singularity is just google using slop to fake a browser feature that actually exists in multiple browsers. Who made the demo? No one. Who needs it? No one. Devrel no longer requires developers on either end. Capital has become sentient and self-sustaining.

We did it! πŸŽ‰

21.12.2025 18:07 πŸ‘ 32 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
CSS Grid Lanes is now in Safari Technology Preview 234.

CSS Grid Lanes is now in Safari Technology Preview 234.

Check out all the revised demos of Grid Lanes in Safari Technology Preview 234!

webkit.org/demos/grid3/

20.12.2025 01:31 πŸ‘ 62 πŸ” 16 πŸ’¬ 2 πŸ“Œ 2

To rely on LLMs as a source of knowledge in a constantly changing, unpredictable, and chaotic world is nuts to me. To reduce discovery of knowledge to what was scraped at some past snapshot in time, and assume it’s an accurate portrayal of the world right now? Seems like a huge loss.

04.12.2025 13:19 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Is there a way to check whether an anchor exists? E.g. to apply fallback styles if it doesn’t. The closest Iβ€˜ve come up with so far is giving the anchor element a class that reflects the anchor name, and then using the `:has` pseudo-class to infer whether it exists: codepen.io/Ash/pen/QwNm....

26.11.2025 21:40 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

If you’ve ever wrestled with getting the right ancestor of an element to be positioned, and dealt with the trade-offs that often come with that, positioning an element relative to any other feels like a superpower.

26.11.2025 16:00 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

CSS anchor positioning is absolutely flippin’ radical. If you haven’t explored it yet, it allows you to size and position an element relative to any other element on the pageβ€”not just its ancestors.

developer.mozilla.org/en-US/docs/W...

26.11.2025 15:55 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Announcing ReScript 12 | ReScript Blog ReScript 12 arrives with a redesigned build toolchain, a modular runtime, and a wave of ergonomic language features.

ReScript 12 is here!

A major step toward a leaner, faster, simpler toolchain.

This release refines the language and embraces ReScript’s own identity.

Blog: rescript-lang.org/blog/release...

Notes: github.com/rescript-lan...

Huge thanks to everyone who helped move ReScript forward.

25.11.2025 15:04 πŸ‘ 41 πŸ” 15 πŸ’¬ 4 πŸ“Œ 6
On Dependency Cooldowns - InsanityBit

I think the dependency "cooldown" approach is fundamentally flawed and a total distraction from the work that would actually solve supply chain issues - sandboxing and attestation.

insanitybit.github.io/2025/11/22/o...

24.11.2025 16:01 πŸ‘ 20 πŸ” 4 πŸ’¬ 0 πŸ“Œ 1
let lows = Iterator.from([0, 1, 2, 3]);
let highs = Iterator.from([6, 7, 8, 9]);

let lowsAndHighs = function* () {
  yield* lows;
  yield* highs;
}();

Array.from(lowsAndHighs); // [0, 1, 2, 3, 6, 7, 8, 9]

let lows = Iterator.from([0, 1, 2, 3]); let highs = Iterator.from([6, 7, 8, 9]); let lowsAndHighs = function* () { yield* lows; yield* highs; }(); Array.from(lowsAndHighs); // [0, 1, 2, 3, 6, 7, 8, 9]

ECMAScript excitement πŸ˜‰

Congrats to @michael.ficarra.me on advancing Iterator Sequencing to Stage 4 at TC39 today πŸŽ‰

let it = Iterator.concat(it1, it2, ...)

It helps you create an iterator by stitching together a sequence of iterators πŸ‘

github.com/tc39/proposa...

18.11.2025 05:24 πŸ‘ 38 πŸ” 5 πŸ’¬ 1 πŸ“Œ 1
const {
  shape,
  color,
  mass,
} = await Promise.allKeyed({
  shape: getShape(),
  color: getColor(),
  mass: getMass(),
});

const { shape, color, mass, } = await Promise.allKeyed({ shape: getShape(), color: getColor(), mass: getMass(), });

ECMAScript excitement πŸ˜‰

Congrats to my coworker @ashley-c.bsky.social at TechAtBloomberg on advancing Await Dictionary to Stage 2.7 at TC39 today πŸŽ‰

Promise.all returns positional results as an array. Promise.allKeyed allows named results inside an object πŸ‘

github.com/tc39/proposa...

18.11.2025 06:33 πŸ‘ 167 πŸ” 25 πŸ’¬ 4 πŸ“Œ 6
Preview
Exclusive: Ofcom is monitoring VPNs following Online Safety Act. Here's how Ignoring VPNs risks creating ineffective laws, but tracking them threatens people's privacy

The British government admits it is now monitoring VPNs use by UK residents. Regulator Ofcom has contracted with an AI-powered surveillance service to detect the number of citizens using VPNs to evade the Online Safety Act.

The UK tech minister has said a VPN ban is on the table.

11.11.2025 23:39 πŸ‘ 682 πŸ” 483 πŸ’¬ 56 πŸ“Œ 336
Preview
Toasts GitHub no longer uses toasts because of their accessibility and usability issues.

β€œGitHub no longer uses toasts because of their accessibility and usability issues.”

Music to my ears!

primer.style/accessibilit...

12.11.2025 07:36 πŸ‘ 102 πŸ” 23 πŸ’¬ 5 πŸ“Œ 8
Preview
pnpm 10.21 | pnpm Added support for Node.js runtime installation for dependencies and a setting for configuring trust policy.

@pnpm.io getting better by the day

pnpm.io/blog/release...

I still can't believe that a one-person package manager is doing better than npm CLI, owned by a corporate, where the resources of the two projects are incomparable.

Draw your own conclusions.

10.11.2025 11:37 πŸ‘ 38 πŸ” 4 πŸ’¬ 2 πŸ“Œ 0
Code example showing `content: open-quote` and `content: close-quote`.

Code example showing `content: open-quote` and `content: close-quote`.

Did you know that you can localize quotes right in CSS?

Now you do! 🫡

www.stefanjudis.com/today-i-lear...

10.11.2025 18:09 πŸ‘ 53 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0
Head in the Zed Cloud For the past five months I've been leading the efforts to rebuild Zed's cloud infrastructure.

"Our current backend has been chugging along since basically the beginning of the company. We knew that we needed a full reboot of our backend... Enter Zed Cloud."

@maxdeviant.com reflects on how we're rebuilding our cloud infra in Rust and Cloudflare:

maxdeviant.com/posts/2025/h...

10.11.2025 18:38 πŸ‘ 34 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
pnpm env <cmd> | pnpm Manages the Node.js environment.

[Not new, but new to me] You can install Node.js versions via pnpm (think alternative to nvm).
pnpm.io/cli/env

10.11.2025 13:34 πŸ‘ 6 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Server-Sent Events Are Here! First-class support for mocking Server-Sent Events lands in MSW.

πŸ“£ Huge news: MSW ships a first-class support for Server-Sent Events! Develop, test, and debug your apps with the new `sse()` API.

Learn more: mswjs.io/blog/server...

05.11.2025 15:17 πŸ‘ 43 πŸ” 6 πŸ’¬ 4 πŸ“Œ 0
Preview
Reforging the ReScript Build System | ReScript Blog ReScript 12 introduces a completely new build system that brings intelligent dependency tracking, faster incremental builds, and proper monorepo support.

So this crab jumped into our build system and things got out of hand.

End result: a brand new, super fast ReScript build system.

rescript-lang.org/blog/reforgi...

04.11.2025 09:20 πŸ‘ 21 πŸ” 8 πŸ’¬ 2 πŸ“Œ 2
Preview
Iterator - JavaScript | MDN An Iterator object is an object that conforms to the iterator protocol by providing a next() method that returns an iterator result object. All built-in iterators inherit from the Iterator class. The ...

JavaScript engine support for Iterator methods does look good now: developer.mozilla.org/en-US/docs/W...

My chapter on iteration explains how they work: exploringjs.com/js/book/ch_s...

29.10.2025 18:50 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0