John Resig
banner
johnresig.com
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)
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!
October 25, 2025 at 8:50 PM
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.
September 14, 2025 at 12:22 PM
Shoutout to the PeakFinder app for identifying which mountains/hills you are seeing!
August 8, 2025 at 2:19 PM
Oh, to clarify - the issue with plugins is with Biome, not Nx!
February 18, 2025 at 2:12 PM
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.
February 15, 2025 at 1:17 PM
It really is! So good :)
February 15, 2025 at 3:06 AM
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).
February 15, 2025 at 3:05 AM
Ah yeah, I should just remove it, it's a janky old wordpress thing that I haven't updated in over a decade, lol.
February 14, 2025 at 1:28 PM
Awesome! Really glad you're enjoying it!
February 14, 2025 at 1:16 AM
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).
February 14, 2025 at 1:12 AM
TypeScript!
February 14, 2025 at 12:56 AM
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.
February 14, 2025 at 12:43 AM
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.
January 29, 2025 at 11:33 AM
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.
January 19, 2025 at 4:22 PM
Haha, awesome! I've still got mine on display (appropriately) in my bathroom!
December 19, 2024 at 9:08 PM
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!)
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.
library.stanford.edu
December 14, 2024 at 5:24 PM
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?
December 13, 2024 at 7:54 PM
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...
December 13, 2024 at 12:32 PM
Great to see you, too!
December 12, 2024 at 3:53 AM