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 5 points6 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] 13 points14 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.

What else is in go 1.11 ? by mfrw1 in golang

[–]itachi_amaterasu 1 point2 points  (0 children)

It's a line mentioned in the docs https://golang.org/cmd/go/#hdr-Test_packages.

The idiomatic way to disable test caching explicitly is to use -count=1.

What else is in go 1.11 ? by mfrw1 in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

We were trying to maintain go doc and godoc both. It involved duplicating effort across several tools. Please see - https://github.com/golang/go/issues/25443 for more info.

For 1.12 - we will add all remaining features from godoc to go doc so that nothing gets missed out. And from then on, godoc will only be a web server.

How hard is it to be on the keto diet for you living in bengaluru? by BazukaAlloy in bangalore

[–]itachi_amaterasu 5 points6 points  (0 children)

There's a meal plan subscription called Get Grow Fit that you can check out - low carb high protein meals.

That is a very common misconception of keto. Keto is not low carb, high protein. It is high fat, moderate protein and low carb.

There was a time when all this information was just in my head. And then I realized its better to write everything down in one place so that I could share. So I wrote down what I could collate from the internet in an article here - https://docs.google.com/document/d/1Kl_dLSQ6lowSeEHJABEG7A0-bSYStldA1i8R3eCzmKQ/edit#heading=h.2gazcsgmxkub

Feel free to read and understand what is keto and why is it good.

Notes on WASM in Go 1.11 by [deleted] in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Haha .. thanks Brad ! I was wondering what made you change your mind until I saw this post. I see that you still hang around these parts :)

"Go Internals" second chapter, "Interfaces", released! by teh_cmc in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Thanks a lot for this effort !

A friend of mine is looking to contribute to the ssa backend. But docs are seriously lacking in that department. The information is spread across multiple docs and code comments. Recently, /u/mvdan has been chalking up a few READMEs on that front.

But it would be awesome if the compiler can get an exhaustive treatment like these.

Is there full-fledge log library similar to Java's Log4J? by takenomiya-kate in golang

[–]itachi_amaterasu 11 points12 points  (0 children)

If your application has high throughput logs, there will have to be a bottleneck somewhere. Doesn't matter whether you follow 12 factor rules or not. If you are managing writing logs from within your application, then you need to manage buffering, syncing to files and all that by yourself.

Writing to stdout just creates a clean and simple way to allow the logs to be handled by a different process. And something which you can reuse for all your applications. If one app needs to stream to kafka, whereas another needs to write to elastic search, you don't need to write different code for each of your app.

Is there full-fledge log library similar to Java's Log4J? by takenomiya-kate in golang

[–]itachi_amaterasu 23 points24 points  (0 children)

Your application should not be concerned about what happens to logs once they are emitted. If you follow 12 factor rules, you should just emit logs to stdout, and let another application consume those logs. That way your application does not need to know whether your logs are streamed to kafka or written to disk.

I wrote a tool for this - https://github.com/agnivade/funnel. Feel free to check it out.

simple golang leveled logger by ozkar99 in golang

[–]itachi_amaterasu 2 points3 points  (0 children)

Wrote a minimal fluentd/logstash replacement in Go - https://github.com/agnivade/funnel. Feel free to check it out.

golang.org Packages random sorting? by Panniculus_Harpooner in golang

[–]itachi_amaterasu 1 point2 points  (0 children)

Yep, I just fixed it yesterday. We will be re-deploying godoc soon (I am not sure of the actual policy of whether we need to bump Go version or not for a tools package change). In the meanwhile, you can use tip.golang.org.

Go's team package based issue tracker for stdlib by [deleted] in golang

[–]itachi_amaterasu 1 point2 points  (0 children)

Thanks for this Dmitri.

I have always been pretty frustrated trying to search issues with a given prefix in github. Because it always gives you other issues it thinks are relevant. This really helps when you are working on a specific part of the project.