Jordan Eldredge

@capt.dev

Engineer on http://relay.dev at Meta | Made http://webamp.org | Hacking on GraphQL Server for TypeScript http://grats.capt.dev

You may be tempted to roll your eyes and say that this was obvious, but there is a substantive difference between pointing out there is a slippery slope and having solid evidence that Ring's CEO is planning to expand Search Party beyond lost pets. Kudos to 404 Media.

Jason Koebler@jasonkoebler.bsky.social · 6mo ago

Scoop: Ring's CEO told staff Search Party is not going to be just for dogs, according to a leaked email I obtained. Said it is "first for finding dogs" before suggesting it would be expanded to be used for crime: www.404media.co/leaked-email...

There’s a lawsuit against WhatsApp making the rounds today, claiming that Meta has access to plaintext. I see nothing in there that’s compelling; the whole thing sounds like a fishing expedition.

Remembering the time a few months ago where I asked Claude to write a Bach chorale using LilyPond and then do 10 iterations of critical feedback and improvements. It ended up with this hilarious monstrosity. The reviews it gave the final draft were quite impressive...

A simple Bach choraleBach choral with many ordainments and flourishes

Happy New Year 🎉 New year, new resolutions: fewer null checks, clearer error handling, and getting nullability right in GraphQL. Let's see how far we get this year.

I updated grats.capt.dev internal snapshot tests to serialize using markdown and the result is so nice! Snapshot output now has syntax highlighting and nice readable headings showing what each bit of the output means.

Bild

maybe not the best moment for it but i finally condensed my “why react server components” into a short blurb that does well on HN

Server Components is not really related to SSR.
I like to think of Server Components as componentized BFF ("backend for frontend") layer. Each piece of UI has some associated "API" with it (whether REST endpoints, GraphQL, RPC, or what have you). Server Components let you express the dependency between the "backend piece" and the "frontend piece" as an import, instead of as a `fetch` (client calling server) or a <script> (server calling client). You can still have an API layer of course, but this gives you a syntactical way to express that there's a piece of backend that prepares data for this piece of frontend.
This resolves tensions between evolving both sides: the each piece of backend always prepares the exact data the corresponding piece of frontend needs because they're literally bound by a function call (or rather JSX). This also lets you load data as granularly as you want without blocking (very nice when you have a low-latency data layer).
Of course you can still have a traditional REST API if you want. But you can also have UI-specific server computation in the middle. There's inherent tension between the data needed to display the UI (a view model) and the way the data is stored (database model); RSC gives you a place to put UI-specific logic that should execute on the backend but keeps composability benefits of components.

Ever wonder how GraphQL clients like Relay keep your app’s data perfectly in sync without extra network calls? 🤯 Meta’s Sabrina Wasserman breaks down the core engine behind modern GraphQL clients. Watch here 👇 www.youtube.com/watch?v=hz0...

Local Data Consistency With GraphQL - Sabrina Wasserman, Meta

Have you ever wondered how GraphQL clients like Relay keep local data consistent across surfaces, ensuring that changes made within a session are seamlessly ...

youtube.com

I think the npm client should probably follow pnpm in making post-install scripts be opt-in and recording that decision in package-lock, so if a package that was previously inert suddenly has a post-install script, it wouldn't execute. www.sonatype.com/blog/the-sec...

The Second Coming of Shai-Hulud: Attackers Innovating on npm

Sha1-Hulud returns to npm with automated, self-replicating malware and pipeline persistence. Sonatype details the campaign and how to stay protected.

sonatype.com

I simply refuse to accept that police ever have to look like this. this is just pure cosplay. it should be illegal for cops to be dressed like soldiers going to war.

police dressed as military in front of a police tankpolice dressed in camo like soldiers like total knobscops dressed head to toe in camo like full kit wankers

Local reasoning. Zero over-fetching. Seamless pagination. Optimistic updates. Consistent UI. Tiny bundles. Built in lock-step with #GraphQL; Meta's Jordan Eldredge shares The Big Ideas in #Relay to enhance user experience and developer velocity. youtu.be/yInL1aPZjvI

The Big Ideas in Relay - Jordan Eldredge, Meta

Relay, Meta’s advanced GraphQL client for React, has many innovative capabilities not available in other clients. We will explore these capabilities, what th...

youtube.com