John Resig's Avatar

John Resig

@johnresig.com

Creator of jQuery, Chief Software Architect at Khan Academy, Japanese print nerd. https://johnresig.com/ https://ukiyo-e.org/ (bot: @ukiyo-e.org)

8,783
Followers
1,920
Following
47
Posts
12.08.2023
Joined
Posts Following

Latest posts by John Resig @johnresig.com

Tanstack Server functions have both middleware and input validation. I have no need for a public API at the moment, but that might change. For now they meet my needs very well!

25.10.2025 20:50 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I've been using @tanstack.com Start for a new project and it's super good. The server functions completely replace the need for TRPC/GraphQL/REST, the middleware is composable and fully typed, and having TSRouter's nice typing and stateful search params is icing on the cake. A+!

25.10.2025 11:30 πŸ‘ 84 πŸ” 6 πŸ’¬ 3 πŸ“Œ 0

In an era where folks are using AI to remove creative and artistic expression it feels especially poignant to see these very handmade art pieces depicting technology. I hope we can continue to pass down our creative pursuits to future generations, like Marilou is doing.

14.09.2025 12:22 πŸ‘ 19 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
John Resig standing in front of a woven wall hanging depicting the internals of a computer chip.

John Resig standing in front of a woven wall hanging depicting the internals of a computer chip.

John Resig standing in front of a woven wall hanging depicting the internals of a computer chip.

John Resig standing in front of a woven wall hanging depicting the internals of a computer chip.

Got to see two dream art pieces yesterday: weavings depicting computer chips by the Navajo weaver Marilou Schultz. They were on display at MoMA and were incredible to see in person. So intricate and detailed, but also handmade and steeped in tradition. More info: www.moma.org/magazine/art...

14.09.2025 12:22 πŸ‘ 42 πŸ” 3 πŸ’¬ 2 πŸ“Œ 0
The IFComp 2025 logo is an ornate gold-framed mirror with silhouetted profile, stylized text β€˜IFComp,’ crown, stars, moons, and a banner reading 2025.

The IFComp 2025 logo is an ornate gold-framed mirror with silhouetted profile, stylized text β€˜IFComp,’ crown, stars, moons, and a banner reading 2025.

πŸŽ‰ The 31st Annual #IFComp is live!

85 new interactive fiction entries are ready for you to play and judge. (You only need to rate 5 to cast a ballot!)

Read more about this year's competition at blog.ifcomp.org

Or just dive straight in: ifcomp.org/ballot

01.09.2025 15:04 πŸ‘ 39 πŸ” 40 πŸ’¬ 0 πŸ“Œ 4

Shoutout to the PeakFinder app for identifying which mountains/hills you are seeing!

08.08.2025 14:19 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I stepped down from management last year to focus on architecture at @khanacademy.org full-time; big impact on my dev velocity!

* Architecture decision records I authored: 14 (πŸ†™ 250%)
* Decision Records I personally approved: 70 (πŸ†™ 94%)
* PRs reviewed: 1,276 (πŸ†™ 20%)
* PRs authored: 546 (πŸ†™ 333%!)

24.07.2025 11:27 πŸ‘ 31 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Oh, to clarify - the issue with plugins is with Biome, not Nx!

18.02.2025 14:12 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yeah, that's a good callout, that's something that doesn't appear to be working right. I do have the default extensions cache rule turned on, but it does seem like it's not caching it. Having to have a proxy worker seems... not ideal. I'll reach out to the CF folks.

15.02.2025 13:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

It really is! So good :)

15.02.2025 03:06 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

So this is all server-side render time, so wall time is the total time it took to process the request and return it to the user. Whereas CPU time is the time actually spent rendering. Sub-requests are fetch()es to other resources from the worker (usually image upload handling).

15.02.2025 03:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Ah yeah, I should just remove it, it's a janky old wordpress thing that I haven't updated in over a decade, lol.

14.02.2025 13:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Awesome! Really glad you're enjoying it!

14.02.2025 01:16 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's certainly something I considered, for sure! Thankfully R2 is S3-API-compatible, D1 is just sqlite, and the thin wrapper around React Router is easy to replace with something else. I'm finding it to be much better than rolling my own (which I was doing before).

14.02.2025 01:12 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

TypeScript!

14.02.2025 00:56 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

So I made a lot of architectural changes. Previously it was on Digital Ocean with some ancient Node template thing, now it's full React SSR. Hosting was $5/month, but slower, and not SSR - image hosting was $$$, easily over $100/month. My hosting costs would've been higher if I was doing SSR, too.

14.02.2025 00:43 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Cloudflare panel showing the 24 hour performance of the worker. 440k requests, 11ms CPU time, 35ms wall time, no errors.

Cloudflare panel showing the 24 hour performance of the worker. 440k requests, 11ms CPU time, 35ms wall time, no errors.

I ported ukiyo-e.org over to @cloudflare.social Workers + R1 (image hosting, about 1TB) + D2 (for DB and search) recently and I'm super happy with it, it's a great experience! Have it using React Router v7 + React 19, about 11 mil dynamic requests/month, served in under 35ms! Total cost ~$25/month.

14.02.2025 00:23 πŸ‘ 119 πŸ” 13 πŸ’¬ 17 πŸ“Œ 1

We do a ton of it at @khanacademy.org, for all components and in different states. Super helpful in catching regressions. We use Chromatic on top of @storybook.js.org.

29.01.2025 11:33 πŸ‘ 11 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1

React, React Router (v5 currently), GraphQL w/ Apollo, custom design system, ESLint, Prettier, TS, Jest. In the process of moving to a monorepo setup, probably using @nx.dev. Will likely move to vitest and Vite for prod builds post-Rolldown. Want to use Biome but blocked on some missing plugins.

19.01.2025 16:22 πŸ‘ 9 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

We just moved @khanacademy.org over to using @rspack.dev today for our prod builds, from Webpack 5. We saw build times improve by about 2min or so (approx. 3min -> 1min). It was extremely easy to move to from Webpack, highly recommended for anyone on the fence!

17.01.2025 00:18 πŸ‘ 57 πŸ” 9 πŸ’¬ 3 πŸ“Œ 1

Haha, awesome! I've still got mine on display (appropriately) in my bathroom!

19.12.2024 21:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
David Rumsey Map Center | Stanford Libraries About us We are the premiere historical cartographic collection on the West Coast and hold one of the world’s great collections available for public research and global digital access.

I wonder if it might be because maps are generally stored in libraries, not museums? For example: library.stanford.edu/libraries/da... (not making it right, I’d love a map museum!)

14.12.2024 17:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I'd do the B/W. It looks like the keyblock on the color one has been pretty much obliterated with a lot of the fine detail lost, unfortunately. I'm guessing it's a later meiji period printing, based on the pigment colors, but with the original (beaten up) blocks?

13.12.2024 19:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

So cool! You can see the impact of this pigment being imported into Japan on kimonos (and in prints). Before (1847): ukiyo-e.org/image/mfa/sc... After (1878): ukiyo-e.org/image/arteli...

13.12.2024 12:32 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Great to see you, too!

12.12.2024 03:53 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

We are now 100% using Lingui for translation at Khan Academy! Wrote some gnarly codemods to completely convert our codebase and then set up a nightly job to convert `master` and fix bugs as they came up. Made it possible to do the conversion in one morning with no errors!

11.12.2024 15:22 πŸ‘ 7 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Haha yeah, I just fixed it - it was firing every minute!!! Messed up the cronjob syntax, lol. Thanks for the heads-up.

10.12.2024 15:56 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Meet Khanmigo: The student tutor AI being tested in school districts | 60 Minutes
Meet Khanmigo: The student tutor AI being tested in school districts | 60 Minutes YouTube video by 60 Minutes

Some of Khan Academy's AI work was featured last night on 60 Minutes with Anderson Cooper: www.youtube.com/watch?v=Ia3C... it's been really cool getting to work on this, really glad that this is having a positive impact on students and teachers!

09.12.2024 20:12 πŸ‘ 28 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1

Mask buddies!! It’s good for so many reasons… jealous of your pottery class, that sounds like so much fun! Definitely share what you make, would love to see it!

07.12.2024 03:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This is actually really great news! We were finding memory usage to be pretty comparable between Webpack and Rspack (even though Rspack is orders-of-magnitude faster) so this would be an even greater win!

05.12.2024 17:35 πŸ‘ 15 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1