rich harris
@rich-harris.dev
my life is derp and i do derp shit
on behalf of those of us who can't vote here: thanks, nyc
November 5, 2025 at 2:43 AM
on behalf of those of us who can't vote here: thanks, nyc
why did no one tell me about @perfnow.nl? this conference is fantastic
October 30, 2025 at 10:38 AM
why did no one tell me about @perfnow.nl? this conference is fantastic
fork(() => {
sausage_fingers = true;
});
sausage_fingers = true;
});
October 27, 2025 at 3:36 PM
fork(() => {
sausage_fingers = true;
});
sausage_fingers = true;
});
if you're ever confused about the origin of a state change in your @svelte.dev app, we just shipped a nice quality of life enhancement to the `$inspect(...)` rune (svelte.dev/docs/svelte/...) — it now automatically prints a stack trace. @pngwn.at goaded me into it
October 22, 2025 at 2:37 PM
if you're ever confused about the origin of a state change in your @svelte.dev app, we just shipped a nice quality of life enhancement to the `$inspect(...)` rune (svelte.dev/docs/svelte/...) — it now automatically prints a stack trace. @pngwn.at goaded me into it
yeah the example is using node built-ins because that's what the commenter on the issue was using. but it's just a File object which a lot of things work with natively. e.g if you were using vercel blob you could just do this (which works today, just without streaming)
October 20, 2025 at 4:34 PM
yeah the example is using node built-ins because that's what the commenter on the issue was using. but it's just a File object which a lot of things work with natively. e.g if you were using vercel blob you could just do this (which works today, just without streaming)
In our work slack we have a firehose-svelte channel which posts relevant stuff from here, reddit, HN and so on. this is the typical X post — calling it low-effort would be too kind. it's just all spam and bots and people having the same conversations in a loop and i want nothing to do with it
September 26, 2025 at 6:42 PM
In our work slack we have a firehose-svelte channel which posts relevant stuff from here, reddit, HN and so on. this is the typical X post — calling it low-effort would be too kind. it's just all spam and bots and people having the same conversations in a loop and i want nothing to do with it
doesn't appear to work in firefox, requires login, is generally kinda slow, and i mostly get a bunch of errors whenever i try and use it. i don't want to be mean, it has some cool features and i know a lot of smart people spent years on it, but honestly there has to be another option
September 26, 2025 at 1:58 AM
doesn't appear to work in firefox, requires login, is generally kinda slow, and i mostly get a bunch of errors whenever i try and use it. i don't want to be mean, it has some cool features and i know a lot of smart people spent years on it, but honestly there has to be another option
so i have to call set in my event handler? i can't just have an optimistic version of a value that was passed to me? because this is the sort of thing i would want to do
September 25, 2025 at 11:50 PM
so i have to call set in my event handler? i can't just have an optimistic version of a value that was passed to me? because this is the sort of thing i would want to do
> standard async behaviour
You're thinking about this all wrong. `ui = f(state)`, right? So let's think about this in terms of functions. If you had something like this, you wouldn't expect the function to immediately return and then update the return value. you get the value when it's ready.
You're thinking about this all wrong. `ui = f(state)`, right? So let's think about this in terms of functions. If you had something like this, you wouldn't expect the function to immediately return and then update the return value. you get the value when it's ready.
September 16, 2025 at 3:19 PM
> standard async behaviour
You're thinking about this all wrong. `ui = f(state)`, right? So let's think about this in terms of functions. If you had something like this, you wouldn't expect the function to immediately return and then update the return value. you get the value when it's ready.
You're thinking about this all wrong. `ui = f(state)`, right? So let's think about this in terms of functions. If you had something like this, you wouldn't expect the function to immediately return and then update the return value. you get the value when it's ready.
alright i think that's enough
September 10, 2025 at 4:08 PM
alright i think that's enough
not that i have to explain myself to some bloke on the internet, but this was my initial prompt, after which it immediately fucked up
anyway feel free to vacate my mentions
anyway feel free to vacate my mentions
August 28, 2025 at 10:56 PM
not that i have to explain myself to some bloke on the internet, but this was my initial prompt, after which it immediately fucked up
anyway feel free to vacate my mentions
anyway feel free to vacate my mentions
I keep giving LLMs a chance to impress me, whenever I encounter a boring task that they should be good at, and they keep shitting the bed. Not like 'this was too hard a problem for fancy autocomplete' shitting the bed, like 'randomly deleting swathes of code' shitting the bed
August 28, 2025 at 6:43 PM
I keep giving LLMs a chance to impress me, whenever I encounter a boring task that they should be good at, and they keep shitting the bed. Not like 'this was too hard a problem for fancy autocomplete' shitting the bed, like 'randomly deleting swathes of code' shitting the bed
If I pick this as my security question will I remember that the answer I submitted was "every year, dumbass"
August 22, 2025 at 7:20 PM
If I pick this as my security question will I remember that the answer I submitted was "every year, dumbass"
copilot complained that the repo doesn't have copilot instructions on a comment **in the PR in which copilot is generating copilot instructions**, in case you wondered how the robot uprising is going
August 12, 2025 at 1:07 PM
copilot complained that the repo doesn't have copilot instructions on a comment **in the PR in which copilot is generating copilot instructions**, in case you wondered how the robot uprising is going
how your email finds me
August 2, 2025 at 12:26 PM
how your email finds me
after reading this i decided it was finally time to become a @gothamist.com supporter, so i am pleased to announce that i will soon be the owner of a cool new mini tote
August 1, 2025 at 1:15 PM
after reading this i decided it was finally time to become a @gothamist.com supporter, so i am pleased to announce that i will soon be the owner of a cool new mini tote
we just released SvelteKit remote functions. feel like 'minor change' undersells it a little tbh
✅ await in components svelte.dev/docs/svelte/...
✅ remote functions svelte.dev/docs/kit/rem...
🔜 async SSR
truly can't wait to ship the rest of this stuff
✅ await in components svelte.dev/docs/svelte/...
✅ remote functions svelte.dev/docs/kit/rem...
🔜 async SSR
truly can't wait to ship the rest of this stuff
July 31, 2025 at 9:12 PM
we just released SvelteKit remote functions. feel like 'minor change' undersells it a little tbh
✅ await in components svelte.dev/docs/svelte/...
✅ remote functions svelte.dev/docs/kit/rem...
🔜 async SSR
truly can't wait to ship the rest of this stuff
✅ await in components svelte.dev/docs/svelte/...
✅ remote functions svelte.dev/docs/kit/rem...
🔜 async SSR
truly can't wait to ship the rest of this stuff
interesting, if not surprising, that the biggest usage gap between X and bsky is among 'learners that use AI' followed by 'learning to code'
X is officially for noobs* and sloppers**
* non-pejorative
** pejorative
X is officially for noobs* and sloppers**
* non-pejorative
** pejorative
July 29, 2025 at 8:32 PM
interesting, if not surprising, that the biggest usage gap between X and bsky is among 'learners that use AI' followed by 'learning to code'
X is officially for noobs* and sloppers**
* non-pejorative
** pejorative
X is officially for noobs* and sloppers**
* non-pejorative
** pejorative
long overdue but we made the SvelteKit router more type-safe. docs for `resolve(...)` and `asset(...)` at svelte.dev/docs/kit/$ap...
July 24, 2025 at 8:19 PM
long overdue but we made the SvelteKit router more type-safe. docs for `resolve(...)` and `asset(...)` at svelte.dev/docs/kit/$ap...