#306 — April 3, 2020

Unsubscribe  :  Read on the Web

Golang Weekly

Running Go in the Browser with WebAssembly and TinyGo“Writing Go code for the browser is a reality today. But it’s no picnic.” There’s a bit of noodling around to do, but the ultimate result of getting a graphical chess game into the browser without needing a server is undoubtedly cool.

Mariano Gappa

Some Go Quirks — Simon details some issues he’s found in Go that aren’t related to issues that everyone always mentions (generics, etc.) as well as how he worked around them.

Simon Bernier St-Pierre

Get Better Insight into Redis with RedisGreen — Modern hosting and monitoring services include memory usage maps, seamless scaling, key size tracking, and more.

RedisGreen sponsor

GoLand 2020.1 Reaches Beta — GoLand is a popular (commercial) Go IDE from JetBrains and so many neat features are now fully baked in including Go module support and smart code completion. This is the last release before the final that you can try without having a GoLand ‘subscription’.

GoLand Blog

How to Programatically Generate Gorgeous Social Media Images — Posts with media get more engagement on social media, so if that’s important to you, this is a fun Go-powered way to do the job.

Mat Ryer

A Collection of 100+ Popular LeetCode Problems Solved in Go — No cheating! This is just for learning. LeetCode is a puzzle-based platform for building up your dev skills and one developer has shared his attempts (he got a job at Hashicorp from it, so he can’t have been too bad 😄).

Austin Gebauer

💻 Jobs

Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.


Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.


▶ Get ready for your next role: PluralSight is free for the entire month of April. Stay Home. Skill Up. #FreeApril — SPONSORED

📚 Articles & Tutorials

Building a Reddit Bot in Go with MiraMira provides a straight-forward API for working with Reddit.

Sagindyk Urazayev

Logging in Go: Choosing a System and Using it — One for people who are relatively new to Go and weighing up the options for doing logging in their apps. Complete with examples.

Ayooluwa Isaiah

Choosing Between Rust or Go? — Damien Stanton has worked with both Go and Rust and presented on the subject. As with all of these discussions, there is no final choice but the insights are interesting.


The Go Security Checklist — From code to infrastructure, learn how to improve the security of your Go applications with the Go security checklist.

Sqreen sponsor

▶  Developing Applications with Go and MongoDB — A look at how to develop apps with MongoDB and the Go programming language through basic CRUD operations, RESTful APIs, and GraphQL with MongoDB Realm.

Nic Raboy

Why I'm Switching to JavaScript from Go — OK, this one caught me out for a few seconds but it’s an April Fool’s joke (I hope!).. Enjoy it for what it is 😂

Roberto Clapis

🛠 Code & Tools

progressbar 3.0: A Basic Thread-Safe Progress Bar

Zack Scholl

gomodifytags 1.4: A Go Tool to Modify struct Field Tags — Makes life easier if you want to work with editing, updating, or adding tags in a struct field. Integrates with vim, Atom, Emacs, and VS Code.

Fatih Arslan

Pester: Increased Resiliency for Go's net/http Client — Wraps Go’s net/http to add backoff and retry strategies.

Seth Ammons

Molecule: A Library for Parsing Protobufs Efficiently — Not just efficiently, but with zero-allocations too. Still alpha level but a promising complement to existing packages.

Richard Artoul

Beta Launch: Code Performance Profiling - Find & Fix Bottlenecks

Blackfire sponsor

Go-TinyTime: A 'Tiny' Time Object — Uses 4 bytes of memory vs the 24 bytes of a time.Time{}.. a pretty small win, so only think situations where you’re storing a lot of dates at the same time, embedded situations, timezones aren’t important, etc. Go-TinyDate is the same idea but for day-level precision only.

Lane Wagner

RocketMQ Client Go 2.0: An Apache RocketMQ Client — Supports ‘almost the full features’ of Apache RocketMQ (a distributed messaging and data processing platform), such as pub and sub messages, ACL, and tracing.

The Apache Software Foundation

Chisel: A Fast TCP Tunnel Over HTTP — A perfect use case for Go when you can get such things down to a single executable.

Jaime Pillora

Goro: A High-Level Machine Learning Library — Last week we linked to Gold, a new reinforcement learning library, now we have a Keras-esque ML library from the same folks.


Gin 1.6.2: The Popular Go HTTP Web Framework