---
title: "A Go playground entirely in the browser"
publication: "Go Weekly"
issue: 380
published_at: "2021-09-24"
canonical_url: "https://golangweekly.com/issues/380"
---

Plus taming Go memory usage, a TinyGo release, and native fuzz testing is merged into master. |        

#​380 — September 24, 2021 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/380)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ltno09pldsomhfthf9a3.jpg)](https://www.akitasoftware.com/blog-posts/taming-gos-memory-usage-or-how-we-avoided-rewriting-our-client-in-rust)  

[Taming Go’s Memory Usage, or 'How We Avoided Rewriting Our Client in Rust'](https://www.akitasoftware.com/blog-posts/taming-gos-memory-usage-or-how-we-avoided-rewriting-our-client-in-rust) — Another story of memory profiling whose highlights include many lessons learned, like “stream, don’t buffer” and how an increasingly common approach of rewriting something in Rust just gives you _different_ problems to manage. 

Mark Gritter   

[A WebAssembly-Powered Browser 'Go Playground'](https://go-playground-wasm.vercel.app/) — Unlike the long standing official [Go Playground](https://play.golang.org/) where code is executed on a server, the idea here is that Go code is executed within your browser with [Goscript](https://github.com/oxfeeefeee/goscript) doing the heavy lifting. 

Zack Radisic   [![\](https://copm.s3.amazonaws.com/d66ea58f.png)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html/?utm_source=Cooperpress%20PrimaryV4) 

[Gophers - Opportunity is Knocking](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html/?utm_source=Cooperpress%20PrimaryV4) — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. 

Ardan Labs sponsor   

**QUICK BITS:** 

- Native fuzz testing support has [been merged into master](https://twitter.com/katie_hockman/status/1440082486692773897) meaning it'll appear in Go 1.18. More on [what that means and how to play with it here](https://go.dev/blog/fuzz-beta).
- [go-test-trace](https://github.com/rakyll/go-test-trace) can now [get involved with an existing distributed trace](https://twitter.com/rakyll/status/1438204488968380416).
- I've not got all the details, but [▶️ here's TinyGo being used](https://twitter.com/sago35tk/status/1441342987368161286) for a touch-based demo on a tiny watch-sized screen.   

[Go-App: A Way to Build Progressive Web Apps with Go?](https://go-app.dev/) — Using WebAssembly under the hood, you get to declare your frontend interface entirely in Go using an interesting fluent API and no HTML at all. A curious idea. 

Maxence Charriere   

▶[On the Little Known Team That Keeps Go _Go_ing](https://changelog.com/gotime/198) — An episode focused on the team behind adding new features to the `go` command, implementing tools like `gopls`, etc. 

Go Time Podcast podcast      

Jobs  

[Senior Software Engineer (Go) - 100% Remote, UK/EU Only](https://www.form3.tech/careers/job-application?gh_jid=4003519002) — Solve complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster. 
Form3   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-go&utm_content=go) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

[Secure Integrations with Circuit Breaker in Go](https://dev.to/he110/circuitbreaker-pattern-in-go-43cn) — The concept with an example implementation using Sony’s [gobreaker.](https://github.com/sony/gobreaker) A nice pattern to have in your toolbox. 

Elijah Zobenko   

[Implementing a Generic Filter Function](https://preslav.me/2021/09/22/implementing-a-generic-filter-function-in-golang/) — This is a nice, easy-to-follow way to introduce generics. 

Preslav Rachev   

[Go Generics Have a New 'Type Sets' Way of Doing Type Constraints](https://utcc.utoronto.ca/~cks/space/blog/programming/GoGenericsTypeSets) 
Chris Siebenmann   

[Applying Modern Go Concurrency Patterns to Data Pipelines](https://medium.com/amboss/applying-modern-go-concurrency-patterns-to-data-pipelines-b3b5327908d4) 
AMBOSS   

[Simplified JSON Handling in Go](https://alanstorm.com/simplified-json-handling-in-go/) 
Alan Storm  

🛠 Code & Tools  

[TinyGo 0.20.0 Released](https://github.com/tinygo-org/tinygo/releases/tag/v0.20.0) — The LLVM-based ‘Go compiler for small places’ (and WebAssembly) continues to take small steps forward with Go 1.17 support, bug fixes, and support for a few new ESP32-C3 based boards. 

TinyGo   

[go-quartz: Simple, Zero-dependency Scheduling Library for Go](https://github.com/reugn/go-quartz) — Inspired by the similarly named [Quartz scheduler](https://github.com/quartz-scheduler/quartz) for Java. 

Eugene R.   

[Tangram: An Automated Machine Learning Framework](https://www.tangram.dev/) — It’s written in Rust but you can train a model from a CSV file and then make ‘predictions’ from Go code. [GitHub repo](https://github.com/tangramdotdev/tangram). 

Tangram Team   

[Powerful API and Analytics Makes Building Video in Your Go App a Snap](https://get.mux.com/2T5q3LL) 

Mux sponsor   

[Echo 4.6: A High Performance, Minimalist Web Framework](https://github.com/labstack/echo) — A framework aimed at building REST APIs complete with a router, middleware framework, HTTP/2 support, automatic TLS with Let’s Encrypt, and more. v4.6 adds new [request logger middleware](https://github.com/labstack/echo/blob/master/middleware/request_logger.go). 

LabStack LLC   

[OpenTelemetry Go API and SDK 1.0 Released](https://github.com/open-telemetry/opentelemetry-go) — OpenTelemetry provides the ability to measure your code performance and metrics, forwarding this data to observability platforms, like Prometheus. 

OpenTelemetry   

[bree: A Go B-Tree Implementation](https://github.com/amit-davidson/btree) — Intended for learning purposes and is a very small, tight implementation which is [explained here](https://itnext.io/all-about-b-trees-and-databases-8c0697856189). 

Amit Davidson   

[Bleve 2.2.0: A Modern Text Indexing Library for Go](https://github.com/blevesearch/bleve) 
bleve   

[rqlite 6.6.0: A Distributed Relational Database Built on SQLite](https://github.com/rqlite/rqlite) 
rqlite         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
