It took a year to ship WebAssembly in Anubis

53 points by cadey 12 hours ago on lobsters | 9 comments

ssokolow | 6 hours ago

I built a harness that I call "chromesweep" that lets me spawn many Googles Chrome (term c.f. Attorneys General, et.al)

Nice joke, except that it would be "Chromes Google" if you're following what's going on with "Attorneys General". "Attorneys General" is the plural because "Attorney General" got stuck half-way between French and English grammar rules.

If it had completed the transition, it'd be "General Attorney" or "General Attorneys", but instead it follows French "[noun] [adjective]" ordering instead of English "[adjective] [noun]" ordering... and we don't hang the pluralizing "s" off the adjective.

("Notary Public" too. It took until I was in my 30s to realize that it was a weird way to say "A notary, available to the public" rather than "A member of the public who's 'notary'")

[OP] cadey | 4 hours ago

I hate to tell you this but you fell for the intentional harmless rage bait I leave in every article. Congrats! I targeted this one to be subtle. You're the first to catch it.

rudis | 3 hours ago

As a non-native speaker, I thank the both of you for explaining. This grammatical construction had been low-key confusing me for so long, truly we are all better off for being in a community <3

ssokolow | 2 hours ago

If you'd like a little history and additional context, this RobWords video is good:

Is English just badly pronounced French?

ssokolow | 2 hours ago

No problem. It got a smile out of me nonetheless.

For those like my colleague wondering why purpose-designed PoW functions like RandomX aren't really appropriate, the answer is RandomX has too big an asymmetry for mobile vs desktop, harder to tune for low memory targets, and finally is easy to accelerate without specialized hardware (the whole goal of the design is to make CPU mining the only viable architecture).

RandomX would be easier for the adversaries mining with FFI than honest parties in the browser.

kangalio | 2 hours ago

RandomX has too big an asymmetry for mobile vs desktop

Interesting, how come? Seeing how mobile CPUs are general-purpose too.

harder to tune for low memory targets

Referring to the fact that 2 GB RAM is required for RandomX's "fast mode"?

easy to accelerate without specialized hardware (the whole goal of the design is to make CPU mining the only viable architecture)

If CPU mining shall be the only viable architecture, is that not exactly what we want? In fact, RandomX's README says RandomX [...] minimizes the efficiency advantage of specialized hardware.

kneeawn | 5 hours ago

Thanks for the hard work! I think my favorite part of your write-ups are hearing about the random tools you build along the way. Love the idea of chromesweep. Do other people have ways they’ve found success with for maintaining compatability against targets that move as much as web browsers?

classichasclass | 5 hours ago

The JavaScript implementation of the WebAssembly proof would also be needed for those minority architectures that don't have browser JITs yet, so I appreciate it's there.