#​380 — September 24, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Taming Go’s 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' — Unlike the long standing official Go Playground where code is executed on a server, the idea here is that Go code is executed within your browser with Goscript doing the heavy lifting.

Zack Radisic

Gophers - Opportunity is Knocking — 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:

Go-App: A Way to Build Progressive Web Apps with Go? — 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 Going — 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 — 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) — 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 — 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 — The concept with an example implementation using Sony’s gobreaker. A nice pattern to have in your toolbox.

Elijah Zobenko

Implementing a Generic Filter Function — 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
Chris Siebenmann

Applying Modern Go Concurrency Patterns to Data Pipelines
AMBOSS

Simplified JSON Handling in Go
Alan Storm

🛠 Code & Tools

TinyGo 0.20.0 Released — 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 — Inspired by the similarly named Quartz scheduler for Java.

Eugene R.

Tangram: An Automated Machine Learning Framework — It’s written in Rust but you can train a model from a CSV file and then make ‘predictions’ from Go code. GitHub repo.

Tangram Team

Powerful API and Analytics Makes Building Video in Your Go App a Snap

Mux sponsor

Echo 4.6: A High Performance, Minimalist Web Framework — 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.

LabStack LLC

OpenTelemetry Go API and SDK 1.0 Released — 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 — Intended for learning purposes and is a very small, tight implementation which is explained here.

Amit Davidson

Bleve 2.2.0: A Modern Text Indexing Library for Go
bleve

rqlite 6.6.0: A Distributed Relational Database Built on SQLite
rqlite