This became real a lot quicker than I thought π
There's also a talk about this tomorrow at PlanetNix!
bsky.app/profile/surm...
This became real a lot quicker than I thought π
There's also a talk about this tomorrow at PlanetNix!
bsky.app/profile/surm...
`builtins.wasm` is now a (experimental) thing in @determinate.systemsβ nix, with a PR open for upstream nix.
This lets you extend the nix language by compiling C/C++/Rust/etc into safely sandboxed, platform-independent plugins!
determinate.systems/blog/builtin...
What a flex :D
Fwiw, it was similarly easy on the spec side. The algorithm was fully specβd, just not attached to any globals. And after the spec was written, it took 3 years or something for browsers to go βwell I suppose this is kinda useful?β π
do you like geology puns and have an unhealthy obsession with package management? ππ¦
weβre building a nix-based monorepo build system (in Rust!) at Shopify and weβre hiring.
global, remote, high-autonomy. DMs open.
www.shopify.com/careers/soft...
Thank you!! Fixed :)
I have been working on the nix & Rust codebase that builds Shopifyβs monorepo, and thereβs so much left to do that we need help.
If you are interested, apply here to join us! DM me if you have questions!
www.shopify.com/careers/soft...
I dug into progressive image rendering and found a bunch of common assumptions aren't quite true.
β‘οΈ JPEG & WebP progressive-renders worse in Safari
β‘οΈ AVIF _does_ support progressive
β‘οΈ But JPEG XL in Safari doesn't
β‘οΈ JPEG XL decodes much slower than AVIF
β¬οΈ and more
jakearchibald.com/2025/present...
It can handle 400 megapixel manga like no other
JSConf.eu throwback for me
Take a look at ImHex!!
This is so perfect for you. Can't wait to see you crush it.
AlternativprojektsinterressantheitsverstΓ€rkung
`enum` yes, `const enum` no. Gotta love TS sometimes :3
You know your JS13k submission is going well when you have to resort to `btoa` and other seemingly stupid hacks to get below the file size limit.
if this type of thing makes you say βthis is cursed af, where do i sign upβ DM me, weβre looking for some teammates
For now, I established the convention the the parameters must be pointers to byte arrays containing UTF-8 encoded JSON strings. I think thatβs actually quite feasible.
But the real deal would be to use the Wasm component model imo
Nix friends: How terrible is this idea?
I added `builtins.runWasm` to nix, allowing you to call out to Wasm. The Wasm is reset every time, so the functions remain pure. This gives you a (performant?) escape hatch for things that Nix is missing. E.g parsing YAML (here: via Rust)
π Making XML human-readable without XSLT.
Turns out, JavaScript works pretty well!
jakearchibald.com/2025/making-...
I guess I grouped all kinds of implementation bugs into the "interoperability" category. Probably not super fair to folks working on interop π
I had to learn it for my UK citizenship test. I didn't do very well, just barely enough to pass.
I mean, something working in one browser and not the other is a failure of either interoperability or specification.
The thing is that Firefox on iOS is not even Firefox. But whenever I see multiple rAF's nested, especially with a setTimeout sprinkled in, I gotta summon Jake.
@jakearchibald.com plz fix
Me, sitting behind a cuddly toy of a fox. Ok it's obviously Firefox.
Starting my new role on Monday. Could be anywhere.
let arr = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]); console.log(arr.toBase64()); // 'SGVsbG8gV29ybGQ=' console.log(arr.toHex()); // '48656c6c6f20576f726c64' let string = 'SGVsbG8gV29ybGQ='; console.log(Uint8Array.fromBase64(string)); // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]) string = '48656c6c6f20576f726c64'; console.log(Uint8Array.fromHex(string)); // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])
ECMAScript excitement π
Congrats to @bakkot.com on advancing UInt8Array βοΈ Base64/Hex to Stage 4 at TC39 this week π
UInt8Array.prototype.
toBase64
toHex
UInt8Array.
fromBase64
fromHex
It lets you convert directly between binary data and Base64/Hex strings π
Super happy with hyperoptic
Oh that's interesting. I wonder if this is from the merge of ChromeOS and Android.
Let me see if I can install nix :3
I spent hours and hours trawling through the sites of some of the world's best web developers, and despite the horrors I regularly experience in my daily work in Big JavaScript Territory, what I saw left me hopeful:
infrequently.org/2025/07/links/
No, I'd want `x.a` to still be an error, which would not be the case with `any`. With `?.` I feel like I'm opting in to props that TS is not aware of