Advertisement · 728 × 90

Posts by arv

Post image

I wanted an app that would let me see my remaining Codex and GitHub Copilot usage quotas as easily as I can see my remaining battery life. Prompted Codex, went to the gym, came back to this. Nice.

1 week ago 16 2 3 1
The Great CSS Expansion CSS now does what Floating UI, GSAP ScrollTrigger, Framer Motion, and react-select used to require JavaScript for. Here is exactly how much that saves, why these libraries were painful beyond their size, and what the platform still hasn't figured out.

Amazing post. I hope web devs understand this as downstream of antitrust pressure on Apple re: iOS & other browsers.

@open-web-advocacy.org won the headcount Apple poured in since '20 because it allowed them to claim engagement w/o threatening the app store:

blog.gitbutler.com/the-great-cs...

1 week ago 46 7 1 2

This always makes me sad.

Fixing it requires that I update a bunch of upstream dependencies which I'm unlikely to do.

2 weeks ago 0 0 0 0
The Change — A recent change to CSS fixes this issue: position: sticky can now track the nearest scrolling container per axis.

The Change — A recent change to CSS fixes this issue: position: sticky can now track the nearest scrolling container per axis.

A nine-year-old CSS spec issue has been resolved! 🎉

`position: sticky` now tracks the nearest scrolling container per axis. Want to stick an element to a scroll container AND the document? Soon possible.

Chromium only for now, but great to see this land!

https://www.bram.us/2026

2 weeks ago 36 2 2 0
A detailed digital illustration of a Casio F-91W digital watch on a dark background, showing the time 09:25:38 on Saturday the 4th. The watch features the classic black resin case and band with blue accent lines and the iconic WR (water resist) badge.

A detailed digital illustration of a Casio F-91W digital watch on a dark background, showing the time 09:25:38 on Saturday the 4th. The watch features the classic black resin case and band with blue accent lines and the iconic WR (water resist) badge.

This is absolutely beautiful and very well done.

> Nothing you own is finished. Everything exists in a state of permanent incompletion, permanently needing.

https://www.terrygodier

2 weeks ago 164 70 7 18

However, if the string is a `SeqTwoByteString` and large it has to do a linear scan which of course is not so fast.

Anyone have any tricks up their sleeves to detect if a string is a a two byte string in O(1)?

2 weeks ago 0 0 0 0

This RegExp is O(1) if the string is `SeqOneByteString` 🎉

```js
const isOneByte = !/[^\x00-\xff]/.test(str);
```

2 weeks ago 0 0 1 0
Advertisement

We're officially one dot oh now 🎉

3 weeks ago 4 0 1 0
Preview
Zero 1.0 First Stable Release

Zero to 1.0

After two years of work, 50+ releases, thousands of commits, and hundreds of bugfixes, we are officially declaring Zero stable and ready for production workloads.

zero.rocicorp.dev/docs/release...

3 weeks ago 97 15 6 1

@diabrowser.com bsky.app/profile/orpa...

Opensearch please.

4 weeks ago 1 0 0 0
Post image

@vite.dev 8

I need to figure this one out...

1 month ago 0 0 0 0

This will greatly simplify our tests!

♥️

1 month ago 1 1 0 0
Slide comparing manual vs automatic handling of fake timers in a Vitest test.

Top-left code shows a test using fake timers manually:
	•	vi.runAllTimersAsync() to flush framework internals (e.g. Angular sync)
	•	vi.advanceTimersByTimeAsync(300) to handle debounce
Annotations explain both steps are required and can slow tests.

Bottom-left note explains that since Vitest 4.1.0, a “fast-forward” mode can automatically advance timers.

Right side shows simplified code using:
	•	vi.setTimerTickMode('nextTimerAsync')
No manual timer flushing or advancing is needed.

Footer includes author handle (@yjaaidi / @younesjd.dev) and a link to marmicode testing content.

Slide comparing manual vs automatic handling of fake timers in a Vitest test. Top-left code shows a test using fake timers manually: • vi.runAllTimersAsync() to flush framework internals (e.g. Angular sync) • vi.advanceTimersByTimeAsync(300) to handle debounce Annotations explain both steps are required and can slow tests. Bottom-left note explains that since Vitest 4.1.0, a “fast-forward” mode can automatically advance timers. Right side shows simplified code using: • vi.setTimerTickMode('nextTimerAsync') No manual timer flushing or advancing is needed. Footer includes author handle (@yjaaidi / @younesjd.dev) and a link to marmicode testing content.

Debounces, delays, intervals... they either break your tests or slow them down.

⏩ Since @vitest.dev 4.1.0, you can now "fast-forward" time in your tests with `nextTimerAsync` tick mode.

❤️ credit goes to Andrew Scott (@angular.dev team)

🧑‍🍳 recipe → cookbook.marmicode.io/angular/test...

1 month ago 37 5 3 0
Discord conversation where someone notes React's package size (171.6 kB) looks tiny compared to Vue (2.5 MB), then a reply points out that's because react-dom (7.3 MB) wasn't included — making the sizes more comparable.

Discord conversation where someone notes React's package size (171.6 kB) looks tiny compared to Vue (2.5 MB), then a reply points out that's because react-dom (7.3 MB) wasn't included — making the sizes more comparable.

1 month ago 0 1 0 0

I voted 🇫🇷🗽

1 month ago 1 0 0 0
Advertisement
Video

❤️

1 month ago 1 0 0 0

Interesting. One "clean" API might be to export all the functions. It would require using `.call(this, ...)`. Not the most ergonomic but very standard compliant.

You would also need a way to create the "native" instance object.

1 month ago 1 0 0 0
Preview
You had a story You had a story you used to tell yourself about how you got here in life. You’d share the story with others. Maybe you’d be at a party, and someone would ask what you do, and you’…

Another master piece by @nolanlawson.com

nolanlawson.com/2026/02/18/y...

The passion of becoming a programmer really resonates with me.

Thank you Nolan.

1 month ago 0 0 0 0
Video

Man customizable select is sooo cool! Modern CSS is another level of powerful.

svelte.dev/playground/8...

2 months ago 49 6 3 0

The shadow of the sun is long indeed.

5 months ago 1 0 0 0
Preview
Zero Docs The official documentation for Zero by Rocicorp.

I'm really sold on fine grained reactivity - all the way from your database (zero.rocicorp.dev) to your UI (zero.rocicorp.dev/docs/solidjs)

6 months ago 4 0 1 0

One thing that I'm a bit unclear on at this point is `update`. Based on the presentation all it did was rerender but what does it mean to rerender?

What about DOM state (selection, scroll position)?
What about JS state?

6 months ago 0 0 1 0

I'm also intrigued by the higher level events they designed. It looks really nice.

We did this in Closure Library but we didn't get it right and in the end it wasn't used much. Here is our "action" event.

github.com/google/closu...

6 months ago 1 0 1 0

I really like where @remix.run is going in v3. So much less magic and using the platform for its strength.

Disclaimer: I designed and implemented ES6, custom elements, shadow dom, some "modern" dom apis (classList, template element, append, remove...), making EventTarget concrete etc...

6 months ago 7 0 2 1
Advertisement

4 years ago today you passed away. I wish I could turn back time and come and rescue you.

8 months ago 2 0 0 0
BCD Watch

Not exactly the same but @igalia.com has an RSS feed for keeping track of new features in browsers. bcd-watch.igalia.com

10 months ago 2 0 0 0
Post image

ZVM - Zero View Management
@aaronboodman.com introduced the incredible tech that enables the zerosync.dev sync engine to almost instantaneously update realtime queries.

10 months ago 5 1 0 0
Tony Blair saying the climate plan based on phasing out fossil fuels is doomed to fail

Tony Blair saying the climate plan based on phasing out fossil fuels is doomed to fail

Tony Blair being lobbyist for Saudi oil

Tony Blair being lobbyist for Saudi oil

A story in two parts

11 months ago 5 2 1 0
X post by Timothy Snyder (@TimothyD
...),  posted 6 hours ago. The post reads, "The people Attorney General Bondi is calling 'terrorists' have had no trial and no chance to defend them. We do not know they are. Ignoring the Constitution does not make us safe. It puts us all in peril."

X post by Timothy Snyder (@TimothyD ...), posted 6 hours ago. The post reads, "The people Attorney General Bondi is calling 'terrorists' have had no trial and no chance to defend them. We do not know they are. Ignoring the Constitution does not make us safe. It puts us all in peril."

I know this first hand. When I was a child, my entire community was branded as spies and sabateurs, justifying our internment inside barbed wire camps for years without due process, trial or charge.

1 year ago 60483 17069 1002 482
Preview
How About Tomorrow? | Aaron Boodman on Building Zero, Local-First, and Living in Hawaii Aaron Boodman joins us to chat about his tech journey from building Greasemonkey, working on Google Chrome, being obsessed with sync on the web, Replicache, to his new project, Zero.Links:The Expan...

Had a really fun time talking to @thdxr.com and Adam about @zero.rocicorp.dev, Replicache, and how (and why!?) I came to spend the majority of my career working on sync.

Hear the Rocicorp / Aaron backstory here:

tomorrow.fm/126

1 year ago 10 1 0 0