Luke Edwards

Luke Edwards

@lukeed.bsky.social

Dogs & Developer tools

1.7K followers122 following103 posts

Luke Edwards reposted

Deno 2.3 is here: 🌱 deno compile with FFI & Node native add-ons πŸ“¦ Local npm packages ⭐ deno fmt CSS/HTML/SQL in tagged templates πŸ”­ OTel event recording & tracing in distributed services and more β€” deno.com/blog/v2.3

deno.comDeno 2.3: Improved deno compile, local npm packages, and moreDeno 2.3 adds new features for deno compile and deno fmt, support for using local npm packages, several performance improvements, and more. Here are the biggest highlights.

Published empathic@1.1 πŸŽ‰ (benchmarks below) Many packages are eagerly joining the @e18e.dev effort but (understandably) have existing support restrictions to maintain & so can't make as much progress as they'd like. This release helps with that~! (cont.)

error: TypeError: fetch failed at node:internal/deps/undici/undici:13178:13 at processTicksAndRejections (node:internal/process/task_queues:95:5) at runNextTicks (node:internal/process/task_queues:64:3) at process.processImmediate (node:internal/timers:454:9)

Writing a new database client was easier than (still) trying to get its transitive `require` and `module` usage to transpile and/or polyfill correctly If anyone knows this fix I'd be happy to delete my client: ReferenceError: module is not defined

clsx baked directly into svelte πŸŽ„

Svelte@svelte.dev

Day 24 β€” Svelte now handles `class` attributes with github.com/lukeed/clsx. Much more powerful than the `class:` directive, but since this is Svelte you still get dead code elimination of unused styles! 🎁 docs svelte.dev/docs/svelte/... 🎁 demo svelte.dev/playground/6...

These first images are actually BEST CASE for URLPattern since it was returning null (not a match) .. because user error The other images & benchmarks in this thread are corrected. URLPattern is about 100x (!!!) slower to yield β€œmatching” results.

^ bsky.app/profile/luke... I’m still figuring out bsky, sorry for threading noise

Luke Edwards@lukeed.bsky.social

here's updated benchmark realistically, an app/router would *not* be doing `new URL` every time it's testing a match, but I added it here as regexparam's worst-case and to be apples-to-apples for full URL normalization. (same esbench link)

so... i was looking at some other JS routers/app servers 1) a LOT more exist than there was pre-Polka & pre-Worktop days 2) regexparam is everywhere 3) people generally inline regexparam (sometimes w/ link) ... I guess that's more appealing for 300b libs? 4) and, most surprisingly/worryingly...

View full thread

(cont) You're paying for all this. Either: 1. Bigger-than-needed VMs 2. More-than-needed Lamdas/Workers/etc 3. The rest of your app isn't doing enough to encroach resource limits All cuz the README wants to show 2M req/sec instead of ~200k btw lol, no FaaS does 20k/s from a single instance~! πŸ™„πŸ˜’

so... i was looking at some other JS routers/app servers 1) a LOT more exist than there was pre-Polka & pre-Worktop days 2) regexparam is everywhere 3) people generally inline regexparam (sometimes w/ link) ... I guess that's more appealing for 300b libs? 4) and, most surprisingly/worryingly...

View full thread

(cont) which means your App has v significant memory leak. All for a mediocre README benchmark result. These routers may assume/require serverless environments, where "memory leaks dont matter" ...except that most FaaS dont kill/reset your App after every request.

(cont) They're generally kept alive & serve traffic until N idle timeout. And some snapshot memory for quicker resume, which means the cache is prefilled with the same MISS / volatile garbage. FaaS will spawn new instances according to demand; generally CPU or RAM*** load (sometimes raw req count)

so... i was looking at some other JS routers/app servers 1) a LOT more exist than there was pre-Polka & pre-Worktop days 2) regexparam is everywhere 3) people generally inline regexparam (sometimes w/ link) ... I guess that's more appealing for 300b libs? 4) and, most surprisingly/worryingly...

(cont) Many routers have an internal match cache; which I guess is (cough, cheating) for Routing benchmarks? Cache Key is usually `method + req.pathname` which means Apps with dynamic routes (most do) using these routers have very infrequent cache HITs Very few of these actually *clear* the cache

Luke Edwards reposted

Has anyone had recent success with Paddle? They've been giving me this crap CSP error & docs say "localhost should be fine" but it isnt I'm using sandbox & checkout URL has been changed to any/all variations I can imagine Looks like bad HTTP header on their end.. deadend?

Has anyone had recent success with Paddle? They've been giving me this crap CSP error & docs say "localhost should be fine" but it isnt I'm using sandbox & checkout URL has been changed to any/all variations I can imagine Looks like bad HTTP header on their end.. deadend?

To help dev-twitter settle in, I made a quick little thing to help find your people here πŸ€“ It includes scripts to export your GitHub and/or Twitter follows to a file. And then in a localhost app, it allows you to automate searching & following of your social rolodex ✨ github.com/lukeed/blues...

You are up to date.