Peter Reeves's Avatar

Peter Reeves

@peterreeves.bsky.social

Web developer in Sydney. Interested in Electric Unicycles (EUCs) and board games. (He/Him)

87 Followers  |  482 Following  |  133 Posts  |  Joined: 18.10.2024  |  1.8463

Latest posts by peterreeves.bsky.social on Bluesky

A cat wearing a yellow helmet and standing atop an electric unicycle, looking at a rain cloud and screaming "Why is it always raining?"

A cat wearing a yellow helmet and standing atop an electric unicycle, looking at a rain cloud and screaming "Why is it always raining?"

02.08.2025 23:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

What is it about threejs itself and related projects that makes them all just JS with no TypeScript definitions? I really want the culture around threejs to embrace TypeScript already. I'm not thrilled about building 3D web apps with no type safety at all.

02.08.2025 04:39 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Asynchronous Svelte ยท sveltejs svelte ยท Discussion #15845 This is a long document; get yourself a cup of tea. tl;dr You can now use the await keyword in Svelte โ€” in your <script>, inside $derived expressions, and in your markup โ€” by installing the async b...

github.com/sveltejs/sve... the section "Async SSR" under "Future Work" talks about it a bit.

01.08.2025 02:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

My understanding is that this is a temporary limitation that will get lifted when they add SSR to remote functions.

01.08.2025 01:29 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Just hit a fucking CORS issue because `fetch` behaves differently to `XMLHttpRequest`. The web is the most blursed platform ever.

23.07.2025 07:21 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

My girlfriend and I are also looking to buy a our first place later this year somewhere in Sydney. I am not looking forward to the amount of paperwork and other nonsense ๐Ÿ˜…

22.07.2025 03:51 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Unfortunately as an Australian I'm legally required to own a pair of thongs (Flip Flops) despite my hatred for them.

21.07.2025 00:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Signals really do feel like a game changer, they're so predictable and flexible. It's no wonder they're what everyone is moving to.

If I ever had to go back to vanilla for whatever reason, I'd still be pulling in a signals library for sanity reasons.

20.07.2025 01:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Frameworks (svelte in my case) eventually ended up being the ladder out of that craziness. Yes you have to shift mindset a bit, but the power is worth it.

Especially with modern frameworks using signals, it so easy now to just mutate a field and know that the UI will update correctly every time.

20.07.2025 01:48 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I used to use vanilla JS for all my projects years ago, but every single one eventually devolved into a pile of spaghetti. Most click events would call several gigantic "update" functions in the hope of getting the UI into the right state.

20.07.2025 01:48 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

In particular the type safety around `<slot name="..."></slot>` is just so much better when it's replaced with a function. I get better autocomplete with TypeScript, and I can actually get errors if I've missed a snippet that the wrapper expects.

16.07.2025 05:54 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I've updated a Svelte codebase to v5 recently, and snippets are much better than the old <slot> stuff. Passing data from the wrapper to the inner content is so much better with snippets, especially when dealing with multiple slots.

16.07.2025 05:51 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

100% this. I wish the Windows start menu did everything EXCEPT for search the web. I just want to be able to bash out a program/command name and hit enter. If I want to search the web, I'll use a web browser. Why the fuck would I want to search from the start menu?

11.07.2025 03:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Is it possible to have pnpm run multiple tasks (e.g. multiple dev servers) with one command? It's the main thing I'm currently using TurboRepo (with npm) for, but TurboRepo feels a bit heavy for my usecases, and I'm curious if there's a simpler setup.

10.07.2025 03:02 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Just hit a fun scenario where prettier removes parenthesis from an expression, but oxlint with the "fix" flag adds them back in (which in my opinion, is the correct choice).

I can't wait for the oxc formatter to come out so I can rip out prettier from my projects.

10.07.2025 01:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I love how well all the colours match

10.07.2025 01:15 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Hrm, though I now see the "duplicate CSS" issue in my test project. Well, it's still a useful thing to know.

05.07.2025 12:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

To answer your question @shivan.xyz, I was just doing `import "./styles.css"` at the top of my script tags (and just choosing long CSS class names to avoid collisions), but I'll be using `@import "./styles.css"` in the style blocks from now on.

05.07.2025 12:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Holy crap that's amazing, I did not know `@import` did that! How did you find out about that? I can't see any mention of that functionality in the docs.

05.07.2025 12:28 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If it's small, repeat myself. If it's large, import a CSS file.

05.07.2025 05:55 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

What's changed since the initial proposal?

03.07.2025 10:45 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Valid HTML files are also valid Svelte files, just like in Astro.

01.07.2025 09:20 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Lenny from The Simpsons placing a "0" on a sign reading "Days without UTF-8 issue in Excel"

Lenny from The Simpsons placing a "0" on a sign reading "Days without UTF-8 issue in Excel"

Me right now

24.06.2025 14:48 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I can't believe we're in this era where React, Svelte, Solid, and other frameworks are all investing heavily in new ways to stream data, but you can't get any of them to display a progress bar because JS has API holes you could fly the fucking moon through.

22.06.2025 02:51 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Yeah, nullish coalescing is neat, but I could work around that if it wasn't in the language.

I can't work around functionality that used to exist in `XMLHttpRequest` but doesn't exist now (because things rightfully use `Request` & `Response`, and `XMLHttpRequest` doesn't exist in node anyway)

22.06.2025 02:36 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I wish they'd stop spending so much effort on adding more syntax sugar and such to JavaScript and just fix up some of the existing API stuff first.

22.06.2025 02:36 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I shouldn't have to NPM install a fucking package to just send a fucking HTTP request and get fucking progress events.

Am I the only web dev that cares about this?!

22.06.2025 02:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Another day, another "why the fuck does `fetch` STILL not have progress events?!" occurrence that derails my project and makes me lose all momentum. Please for the love of god: browsers, Node, Deno, whoever. Just add download AND upload progress events to fetch. How did you release it in this state?

22.06.2025 02:20 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

For big projects? Absolutely.

It's looking good, but you haven't checked that `typeof id === "number"` and such for all the fields though.

You might be better off using something like Zod:
zod.dev

20.06.2025 11:36 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ahh, upon re-reading your post I see you're talking about the React Compiler. Ignore my above post ๐Ÿ˜…

12.06.2025 05:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@peterreeves is following 20 prominent accounts