Sign in

Luke Edwards

@lukeed.bsky.social
1.7K followers 122 following 103 posts

Dogs & Developer tools

PostsRepliesMedia
Luke Edwards @lukeed.bsky.social · 04/06/2026
static.klipy.com
Man Working Under A Rock In Office
ALT: Man Working Under A Rock In Office
140
Luke Edwards @lukeed.bsky.social · 04/06/2026
TBD, but hopeful! I was putting in double time to try working on my Cf-oriented OSS projects (worktop, dog, production-saas). With Hono they seemed to have learned lesson but I dunno what’s happening behind the scenes or if it’s a happy timezone side effect. All 👀 on them now
120
Luke Edwards @lukeed.bsky.social · 04/06/2026
A little bit less :) I was there pitching they hire you before Vercel scooped you up
370
Luke Edwards @lukeed.bsky.social · 22/04/2026
Shipping 7.0 without programmatic api is a mistake. This alias mapping + reexport is going to be a messy web come 6-8 months when 7.1 rolls out
090
Reposted by Luke Edwards
Cassie Evans @cassiecodes.bsky.social · 28/07/2025
AI isn't "increasing efficiency" if other people end up having to parse, fact check and correct your work.
38017
Luke Edwards @lukeed.bsky.social · 23/06/2025
Oh no
020
Luke Edwards @lukeed.bsky.social · 10/06/2025
new framework :)
110
Luke Edwards @lukeed.bsky.social · 10/06/2025
Ah gotcha. The latter. I’m looking to make a new builder/renderer. Basically a stand-in for storybook/html or storybook/preact
200
Luke Edwards @lukeed.bsky.social · 10/06/2025
To a working end? Wdym
100
Luke Edwards @lukeed.bsky.social · 10/06/2025
Trying to write a custom Storybook renderer. Anyone have any starters/pointers?
110
Luke Edwards @lukeed.bsky.social · 19/05/2025
Equal parts Bond and Bond villain 👤
020
Reposted by Luke Edwards
Deno @deno.land · 01/05/2025
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.com
Deno 2.3: Improved deno compile, local npm packages, and more
Deno 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.
0699
Luke Edwards @lukeed.bsky.social · 29/04/2025
empathic@1.1 🔸Adds CommonJS support 🔹Allows Node 14 engines No code changes or bloating were needed on my end 💪 **The entire package is still less than 2kB and still fast.** The benchmarks compare `empathic/` submodules to their counterparts across the ecosystem. More: github.com/lukeed/empat...
github.com
040
Luke Edwards @lukeed.bsky.social · 29/04/2025
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.)
1286
Luke Edwards @lukeed.bsky.social · 20/03/2025
Released `hrana` -- a 1kB libsql/hrana client 🔸runtime agnostic, works anywhere 🔹transaction and batch stmt support 🔸CI includes a cron check for Hrana spec updates 🔹dual JSR and npm publish, with provenance 🔸strictly typed 👉 github.com/lukeed/hrana /cc @tur.so
070
Luke Edwards @lukeed.bsky.social · 23/01/2025
Monomorphism and variable reuse were the keys. Once that happens then a recursive function helps a bit too
110
Luke Edwards @lukeed.bsky.social · 14/01/2025
Going straight to top of the current leaderboard is a good move 👍
010
Luke Edwards @lukeed.bsky.social · 14/01/2025
It’s v cool but also well known that anything would be a massive performance improvement over the existing/angular signals
110
Luke Edwards @lukeed.bsky.social · 13/01/2025
Thanks ☺️ I have an argv parser that probably ~700b and 10m op/s but purposefully doesn’t support all the normal features… ~1.5ops is good enough 😅
020
Luke Edwards @lukeed.bsky.social · 07/01/2025
Then perhaps bun for you? Not sure as this isn’t an issue for me. I run into fetch failed every time I try to use Node since 18
000
Luke Edwards @lukeed.bsky.social · 07/01/2025
At that point it’s easier to use something else. undici was perhaps the final dagger that had me leave Node (where I can help it) Deno ftw
110
Luke Edwards @lukeed.bsky.social · 07/01/2025
I wish Node didn’t embed a pure JS polyfill and call it a day
110
Luke Edwards @lukeed.bsky.social · 07/01/2025
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)
170
Luke Edwards @lukeed.bsky.social · 27/12/2024
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
040
Luke Edwards @lukeed.bsky.social · 24/12/2024
clsx baked directly into svelte 🎄
0341
Luke Edwards @lukeed.bsky.social · 19/12/2024
😂😂😂
010
Reposted by Luke Edwards
Evan You @evanyou.me · 19/12/2024
As a result, Rolldown is now the fastest possible bundler you can run in the browser. Here are the numbers when bundling a benchmark app with 2.5k modules: - esbuild: 22.19s - Vite (via Rollup): 4.52s - Rolldown: ⚡️613.43 ms Try it out yourself on StackBlitz: stackblitz.com/~/github.com...
stackblitz.com
StackBlitz
117718
Luke Edwards @lukeed.bsky.social · 18/12/2024
is GCP Postgres (Cloud SQL) supported? I'm guessing it would be since RDS is
100
Luke Edwards @lukeed.bsky.social · 14/12/2024
Not sure that I caused much of anything 😅 to be clear the benchmarking didn’t include Node cuz it’s still WIP there
000
Luke Edwards @lukeed.bsky.social · 11/12/2024
Plus HMR Engineering is its own role
030
Luke Edwards @lukeed.bsky.social · 11/12/2024
I’ll wait for it to stabilize a bit but it’s worth the effort. Current project isn’t using any js runtime & don’t wanna add
000
Luke Edwards @lukeed.bsky.social · 11/12/2024
Thanks, figured :) thought id ask since it took a while to get set up last night haha Was looking to embed rolldown into a rust app directly
100
Luke Edwards @lukeed.bsky.social · 10/12/2024
/cc @boshen.github.io
100
Luke Edwards @lukeed.bsky.social · 10/12/2024
are @rolldown.rs crates purposefully not published?
140
Luke Edwards @lukeed.bsky.social · 10/12/2024
The only caveat (for Object.keys) is some mraleph article that showed that loops over an Object.keys() list makes it a static list and faster access … somehow making the extra loop cost worth it..? Fuzzy memory but it’s somewhat there. Overall yes 1000%
030
Luke Edwards @lukeed.bsky.social · 07/12/2024
It’s semantically different to pass in a URL vs an object of properties. The latter would/still necessitate normalization because it’s just a way to pass in raw string values for the parts cared about URL = “this is fully parsed and normalized, skip to stage 2”
000
Luke Edwards @lukeed.bsky.social · 07/12/2024
Ok
100
Luke Edwards @lukeed.bsky.social · 07/12/2024
Hence hope for amending spec, adding init: URL type, which leads to fast path
240
Luke Edwards @lukeed.bsky.social · 07/12/2024
i believe in you 😉
120
Luke Edwards @lukeed.bsky.social · 07/12/2024
Right, that makes sense why string is faster. I get that reasoning, but on the spec level, I would argue that passing in a URL *should* be taken as truth, *because* the setters are always running ensuring a valid, serializable instance. Doing all that work again is redundant, esp per property.
100
Luke Edwards @lukeed.bsky.social · 07/12/2024
found it: bsky.app/profile/luke...
010
Luke Edwards @lukeed.bsky.social · 07/12/2024
There's no special mention given to `if received a URL, take it as is` And to your point: extra R.I.P if not using Ada parser.. cuz then the `new URL` cost is heavier.
110
Luke Edwards @lukeed.bsky.social · 07/12/2024
Yes, this is the problem -- or at least why passing in URL is significantly slower: urlpattern.spec.whatwg.org#high-level-o... Point 8 says that for *every* property, it must be canonicalized, which must be done by creating *its own* URL for parsing So passing in a URL loops all properties; is N+1
urlpattern.spec.whatwg.org
URL Pattern Standard
130
Luke Edwards @lukeed.bsky.social · 07/12/2024
buckle up
040
Luke Edwards @lukeed.bsky.social · 07/12/2024
Yeah I'm seeing the same. String inputs are the fastest (but still slow overall). Passing in any object, including a proper URL instance is slower than strings It seems like every object property goes thru canonicalization, which creates its own URL urlpattern.spec.whatwg.org#canonicalize...
urlpattern.spec.whatwg.org
URL Pattern Standard
120
Luke Edwards @lukeed.bsky.social · 07/12/2024
I'm seeing this on Chrome and Deno What it suggests to me is that non-strings are converted back to string, then for each URLP property, doing repeating parsing -> canonicalization step Sure it may invoke Ada/URL a number of times in that process, but my point is that it shouldnt be at all.
100
Luke Edwards @lukeed.bsky.social · 07/12/2024
See linked benchmarks I’m not coming for or doubting Ada. I don’t think Ada is even involved in what I’m benchmarking given that Node isn’t pictured anywhere here. URLP.exec(“https…”) faster than URLP.exec({ pathname }) faster than URLP.exec(URL) faster than URLP.exec(new URL)
urlp.ec
100
Luke Edwards @lukeed.bsky.social · 06/12/2024
Yes I followed that work 👍 A simple `input instanceof URL ? input : …` should already make a big difference. But I have concerns with the way the spec reads, cuz it specifically calls for a fresh state every time.
020
Luke Edwards @lukeed.bsky.social · 06/12/2024
bsky.app/profile/luke...
010
Luke Edwards @lukeed.bsky.social · 06/12/2024
Great but is the spec amendable or too far gone? Rebuilding a URL state every exec (even if given URL{} instance) seems not great
320