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!
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!
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+!
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.
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...
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
Shoutout to the PeakFinder app for identifying which mountains/hills you are seeing!
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%!)
Oh, to clarify - the issue with plugins is with Biome, not Nx!
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.
It really is! So good :)
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).
Ah yeah, I should just remove it, it's a janky old wordpress thing that I haven't updated in over a decade, lol.
Awesome! Really glad you're enjoying it!
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).
TypeScript!
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.
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.
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.
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.
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!
Haha, awesome! I've still got mine on display (appropriately) in my bathroom!
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!)
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?
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...
Great to see you, too!
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!
Haha yeah, I just fixed it - it was firing every minute!!! Messed up the cronjob syntax, lol. Thanks for the heads-up.
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!
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!
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!