Advertisement · 728 × 90

Posts by Ash

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...

2 months ago 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...

2 months ago 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.

2 months ago 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.

2 months ago 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).

2 months ago 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.

2 months ago 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.

2 months ago 2 0 1 0

$ jj describe -m "Hello, world!"

2 months ago 209 40 6 8
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.

3 months ago 30 2 2 1
Advertisement

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

3 months ago 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/

4 months ago 62 15 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.

4 months ago 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....

4 months ago 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.

4 months ago 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...

4 months ago 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.

4 months ago 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...

4 months ago 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...

5 months ago 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...

5 months ago 167 25 4 6
Advertisement
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.

5 months ago 679 483 56 334
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...

5 months ago 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.

5 months ago 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...

5 months ago 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...

5 months ago 33 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

5 months ago 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...

5 months ago 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...

5 months ago 21 8 2 2
Advertisement
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...

5 months ago 7 1 0 0