#303 — March 13, 2020

Unsubscribe  :  Read on the Web

Golang Weekly

Database Basics: Creating a SQL Database System from Scratch — A multi-part series which starts with an extensive look at creating a basic SQL parser, adding an in-memory backend, and a simple REPL.

Phil Eaton

▶  An Introduction to Rust from Go's Perspective — Also billed as ‘Rust for Gophers’, this is an hour long talk (audio not great, sadly, but the video and live coding sections are good) to bring Go developers up to speed with Rust.

Damien Stanton

Do You Need Go, Docker or Kubernetes Training? — We offer on-site, remote and video corporate training for engineers that want to learn Go, Docker and/or Kubernetes. Having trained over 5,000 engineers, we have carefully crafted these classes for students to get as much value as possible.

ArdanLabs sponsor

Go Breaks Into The Top 10 in the TIOBE Index — Yes, the TIOBE index is a much critiqued attempt to index programming languages by their relative popularity but it’s been around a long time so Go finally breaking into the top 10 (up from #18 a year ago) is nonetheless notable relative to other languages.


Oragono 2.0: A Modern IRC Server Written in Go — Supports modern IRC chat features (e.g. IRCv3), UTF-8, and as of this week’s version 2, persistent history support, LDAP support, and full ‘bouncer’/always-on client support too.


An Announcement to Go Event Organizers over COVID-19 — Google has placed a ban on all international travel for employees until further notice and no Go team members intend to travel internationally until at least May 2020. As well as taking this into account, there are ways you can notify the community about the state of your events (including emailing us, if you need to get the word out).

Carmen Andoh (Google)

💻 Jobs

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


Senior Software Engineers (Go) - 100% Remote (UK/EU Only) — Award winning scale-up, providing cloud-native, real-time payments technology to major banks and fintechs. Remote-first culture.


Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.


📘 Articles & Tutorials

go test -v Streaming Output in Go 1.14+go test -v now streams t.Log output as it happens rather than waiting until the end yielding a ‘quality of life improvement’ for integration-style tests where there might be messages you’d be keen to know about in real time.

Dave Cheney

Working with Dates in Go — Covers two situations that can be problematic.. adding a day or a week to an existing date, and the misuse of time.Time for working with dates.

Filip Borkiewicz

Why Are My Go Executable Files So Large? — An engineer’s mission to uncover what was causing his executable files to be 25% larger than the source code.

Cockroach Labs sponsor

How to Test CLI Apps Built with Cobra

Gianluca Arbezzano

Elixir-Style Actors in Go — This developer’s ‘foray into Elixir’ inspired the creation of Elixir-style actors in Go. Interesting though ultimately I’m not convinced this approach is necessary.

Preslav Rachev

Are Large Slices More Expensive Than Smaller Ones? — Dave thinks out loud.

Dave Cheney

🛠 Code & Tools

An Arkanoid Clone written in Go — For those who weren’t gaming in the 80s, think a bat and ball game 😄 This one is written in Go, uses the Ebiten 2D game engine, and follow an entity component system (ECS) architecture.


Emoji: A Minimalistic Emoji Package — Want to print emojis from Go? 👍 This provides a simple Go API with which to do so. For example: emoji.ThumbsUp

Enes Çakır

Easily Build Beautiful Video Experiences into Your Go App

Mux sponsor

cli 2.2: A Fast Way to Build Go CLI Apps — You’ll need the v2 docs to get a feel for all the features available here, but think bash and zsh auto-completion, flags, subcommands, help text, and more.

Jeremy Saenz and Contributors

faas: Turn Any Go Function into an API? — Basically a lightweight way to turn a function into an HTTP service wrapped within a container.


GoAWK: An AWK Interpreter Written in GoAWK is a text processing language with a long history.

Ben Hoyt