Live data from Hacker News

Tiny WASI – A tiny WASI runtime written in TypeScript

github.com

11–20 of 22 posts

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#13

    clock_time_get( id: number, precision: number, timeOut: number ): number {
      ...
      view.setUint32( timeOut, ( now * 1000000.0 ) % 0xFFFFFFFF, true );
      view.setUint32( timeOut + 4, now * 1000000.0 / 0xFFFFFFFF, true );
Oh no. As they say, something something and off-by-one errors.

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#14

Earlier quoted context omitted.

Big downvote from me. Tiny projects are the best way to learn a system. Nobody needs a higher bar for getting started learning some tech. Do a tiny/toy version and keep improving (either in that project or your next one)! Edit: or in this case it seems the tiny is the goal itself. That's cool too. See also: suckless.org, UNIX philosophy, etc.

Are we going to post every 200-line project to HN too? Tiny projects are fine, but they don't all need to be posted to HN.

Lots of tiny projects get posted here and get lots of positive attention. It seems mostly to depend on the audience who looks and the time of day when it becomes widely visible. HN itself welcomes posting projects, “show” being a first class part of the site (which if I’m not mistaken this was originally a “show” post). Maybe just show your lack of interest by looking at the next thing?

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#15
post #2

This has ~5 syscalls written, almost everything is "undefined", not sure why it got posted. If you want an actual complete tiny WASI runtime in TypeScript, Deno has a full one: https://deno.land/std@0.127.0/wasi/snapshot_preview1.ts

Wasmer has also a Rust-compiled-to-Wasm runtime available for Deno: https://deno.land/x/wasm@v1.0.2/README.md

And here is the more lightweight and flexible (in some ways) one from Wasmer, before they completely rewrote it in Rust:

https://github.com/sagemathinc/JSage/tree/main/packages/wasi

It took me some work to track down the old version, fix some bugs in it, and keep it going. But I personally find the old version very useful too, and if you can see from the comments that it has an interesting history.

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#17

Earlier quoted context omitted.

Big downvote from me. Tiny projects are the best way to learn a system. Nobody needs a higher bar for getting started learning some tech. Do a tiny/toy version and keep improving (either in that project or your next one)! Edit: or in this case it seems the tiny is the goal itself. That's cool too. See also: suckless.org, UNIX philosophy, etc.

Are we going to post every 200-line project to HN too? Tiny projects are fine, but they don't all need to be posted to HN.

"Tiny projects are fine, but they don't all need to be posted to HN."

I rather would have more tiny projects, than political discussions to dive in, to be honest.

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#18

clock_time_get( id: number, precision: number, timeOut: number ): number { ... view.setUint32( timeOut, ( now * 1000000.0 ) % 0xFFFFFFFF, true ); view.setUint32( timeOut + 4, now * 1000000.0 / 0xFFFFFFFF, true ); Oh no. As they say, something something and off-by-one errors.

No post body was provided.

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#19

clock_time_get( id: number, precision: number, timeOut: number ): number { ... view.setUint32( timeOut, ( now * 1000000.0 ) % 0xFFFFFFFF, true ); view.setUint32( timeOut + 4, now * 1000000.0 / 0xFFFFFFFF, true ); Oh no. As they say, something something and off-by-one errors.

Thanks for raising this issue, it's fixed now!

Re: Tiny WASI – A tiny WASI runtime written in TypeScript

#20
post #2

This has ~5 syscalls written, almost everything is "undefined", not sure why it got posted. If you want an actual complete tiny WASI runtime in TypeScript, Deno has a full one: https://deno.land/std@0.127.0/wasi/snapshot_preview1.ts

The Deno WASI runtime doesn't run in a browser, it only runs in Demo. So this tiny mostly unimplemented API is still infinitely more useful to me than the Deno implementation.
Post reply on HN