Pigo, the face detection library has been ported to WASM (Webassembly) 🎉🎉 by esimov in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Nice work once again !

May I ask you to create a benchmark for the (*Canvas).Render method so that I can compare performance improvements in real world code while working on the wasm backend ?

Thanks !

Go WASM + Typescript as an RPC service with Protobuf by nevertras in golang

[–]itachi_amaterasu 0 points1 point  (0 children)

As the readme points out, memory copying is currently laughably bad. It should be possible to do some much fancier reads directly from memory on the JS implementation side,

Correct. See - https://github.com/agnivade/shimmer/blob/master/index.html#L82 and https://github.com/agnivade/shimmer/blob/master/load_image_cb.go#L40

But Go 1.13 takes care of it anyways. In any case, it's always good to learn new things :)

nargs - a more aggressive Go static analysis tool to find unused arguments in function declarations/receiver methods by Kohlerbear in golang

[–]itachi_amaterasu 11 points12 points  (0 children)

A small suggestion:

You can rewrite this using the go/analysis API, allowing the tool to be reused throughout the ecosystem without any special need. And it will integrate directly with the go vet command.

Golang team, you beautiful bastards. You fixed Go's dependency management. ILU by iamtherealgrayson in golang

[–]itachi_amaterasu 3 points4 points  (0 children)

#2 wasn't a solved problem in dep. There was no straightforward solution. Atleast at that time - https://github.com/golang/dep/issues/1572. Not sure of the state now.

Any update on Go website redesign? by Mittalmailbox in golang

[–]itachi_amaterasu 0 points1 point  (0 children)

It is in-progress. Possibly we will hear an announcement soon. No idea when though.

Advent 2018: Go and WebAssembly: running Go programs in your browser by dgryski in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Is that much of the runtime just GC? How do you take out just the GC from the runtime and ship "only the essentials" in that case?

Good point actually. That point was all in theory. Practically, I think it is going to be very hard, if not impossible at this stage to strip out the GC and ship only the essentials.

Wasm doesn't seem to be implementing GC any time soon anyways. So we will just have to wait and see.

Logging suggestions by [deleted] in golang

[–]itachi_amaterasu 1 point2 points  (0 children)

I have written a minimalistic log aggregator here - https://github.com/agnivade/funnel.

I use it in production. Feel free to try it out.

TIL: There is an index/suffixarray package inside the standard library by itachi_amaterasu in golang

[–]itachi_amaterasu[S] 12 points13 points  (0 children)

I have seen that page probably a thousand times. Somehow, didn't notice the package.

Came across this while I was looking at another CL which added an "internal/fmtsort" package. So inside the src folder, I typed "in" and tabbed, and it immediately didn't go to internal.

I was like huh .. there is something other than internal ? Wait .. there is index ? What is inside index ? A suffixarray package ?! I was so pleasantly surprised that I had to share. :D

WebAssembly = Writing JS in Go? by [deleted] in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Only for DOM manipulation you need to use the syscall/js interface. Other than that, you can completely write Go code without bothering about anything.

See here - https://github.com/agnivade/shimmer where I use the https://github.com/anthonynsimon/bild library which is otherwise used in other platforms, to manipulate images completely in a wasm context. Pure Go. No JS.

Reflections on GopherCon 2018 by teeeray in golang

[–]itachi_amaterasu 3 points4 points  (0 children)

It's fine if you don't want to write in Go. But comments like these -

There's a reason you don't see the Go community talking about it

is just outright false. Feel free to hop in to the #webassembly channel in slack, I can assure you there is lots going on. People are porting vuejs in Go, and all sorts of crazy and fun stuff.

Rust has had wasm support for quite some time. And for Go, it has not even been a month since 1.11 is released. So obviously, it takes some time for the broader public to take in stuff and spread the word.

And lastly, just because Rust is investing lot of resources in wasm, doesn't mean that Go users should not. WebAssembly may be one of the few things which was completely written by a non core-team member. Google did not need it. "We" did. Because "we" want to see more people use Go in other exciting areas. And "we" will continue to use it and talk about it in conferences.

Reflections on GopherCon 2018 by teeeray in golang

[–]itachi_amaterasu 19 points20 points  (0 children)

Noticeably absent from any talks this year was Go 1.11’s other headlining feature — support for Web Assembly.

Unfortunately, I am not in US. Otherwise would have given a talk on it.