In this case 25 lines of code is 50 kB of image binary.
Also it cannot be searched via search engine. Nor can it be read with screen reader.
Never should I receive a Java exception hundreds of lines long as a cut off JPEG file.
Or a screenshot of a Google Sheet missing the information you’re talking to me about.
Hopefully this sparks a little “wow I wonder if my image of text was also hard to read like I just experienced” moment.
I mean, if such coloring it's going to be done, it should be done with HTML/CSS.
For the OP article, for screenreaders perhaps you are sugesting people to use the alt attribute or similar.
Obviously, many things have changed since then. We've experimented extensively and moved back and forth with using DuckDB for our internal cloud processing architecture. We eventually settled on just using it for reading the data and then handling everything else in custom workers. Even using TypeScript, we achieved close to 1M events/s per worker overall with very high scalability. However, our use-case is quite distinct. We use a custom query engine (for sequence processing), which has driven many design decisions.
Overall, I think DuckDB (both vanilla and WASM version) is absolutely phenomenal. It also matured since my original blog post. I believe we'll only see more and more projects using it as their backbone. For example, MotherDuck is doing some amazing things with it (e.g., https://duckdb.org/2023/03/12/duckdb-ui) but there are also many more exciting initiatives.
Wasm's binary format is indeed a stack-based virtual machine, but that is not how it is executed. Optimizing VMs convert it to SSA form, basic blocks, and finally machine code, much the same as clang or gcc compile native library code.
It is true that wasm has some overhead, but that is due to portability and sandboxing, not the stack-based binary format.
> On top of the above, memory available to WASM is limited by the browser (in case of Chrome, the limit is currently set at 4GB per tab).
wasm64 solves this, by allowing 64-bit pointers and a lot more than 4GB of memory.
The feature is already supported in Chrome and Firefox, but not everywhere else yet.
I'm still not clear what at its core it's done differently (in a way that couldn't be bolted on to a subset of the JVM)
What is WASM doing to facilitate recompiling native code that isn't practical to do on the JVM
I‘m using a (older) v1.29.1 dev version with https://sql-workbench.com w/o any bigger issues.
I’m not sure if this goes against the CloudFlare TOS tough (last time I checked they had some provisons against processing images).
0: https://blog.cloudflare.com/updated-tos/
1: The restriction still exists at https://www.cloudflare.com/service-specific-terms-applicatio... under "Content Delivery Network (Free, Pro, or Business)".
I‘m running it on AWS Lambda functions with some success.