#​382 — October 8, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Rewriting Go Source Code with AST Tooling — Go’s code analysis tools are amongst the best but what about rewriting code? go/ast lets you convert Go code into syntax trees which can then be manipulated and turned back into Go code, so why not give it a go? Eli investigates.

Eli Bendersky

Ebiten 2.2.0 Released with Nintendo Switch Support — A pretty sparse release post as they tend to be from Ebiten, but the popular 2D game library for Go is only getting better and better. Support has been added for native fullscreen in macOS, there are new vector graphics APIs, and you can even build games for the Nintendo Switch handheld with it now.

Hajime Hoshi

Shortcut Puts the Agile in Agile and the “Can” in Kanban — Imagine how much more you could get done if your project management tools didn't make you sigh. Shortcut is the ideal solution for task management, bug tracking, iteration planning, and reporting. Delight the scrum gods and give us a try for free.

Shortcut (formerly Clubhouse.io) sponsor

Which Go Router Should I Use? — Alex looks at four popular routing options, citing the pros and cons of each and wrapping it up with a nice decision flowchart and a list of other routing options.

Alex Edwards

Three Things Go Needs Right Now More Than Generics? — Getting generics into Go has taken a lot of time and attention from the core team, which means other needs have been back-burnered. Do you agree with Ryan’s list? It led to a huge discussion on Hacker News.

Ryan Collingham


  • All, or at least much of, Twitch's source code has been leaked/stolen in a rather substantial attack on the popular streaming service and Go appears to be the main language they use in the development of their many backend services.

  • Go 1.17.2 and Go 1.16.9 have been released – these are minor point releases to fix up a security issue when functions are invoked from WASM modules.

  • A ▶️ three-minute segment of the Practical AI podcast touches on why a recent "State of Data Science" survey showed a relative lack of Go and Rust usage in the field.

  • Someone who barely knows Go tries to get GitHub Copilot to write a basic CLI game for them for scratch. ▶️ It went pretty well. (6 minutes.)

📕  Book: 'Go Brain Teasers' — A new book by teacher, Go contributor, and author Miki Tebeka containing 25 puzzles to enhance your Go understanding. You can grab three chapters as sample PDFs on the page.

The Pragmatic Bookshelf

🎧  The 200th Episode of the Go Time Podcast — First, congratulations to the Go Time and Changelog team for keeping a podcast go-ing for so long, but second, if you want something fun to listen to this weekend, you might like this as they’ve celebrated with a game of Gophers Say!

Go Time Podcast

Faster Time Parsing — The author works for a fraud detection company and they work with a lot of string-based timestamps in Go, much to the author’s regret, so he’s been looking at ways to speed up parsing RFC3339 timestamps.

Phil Pearl

▶  Reversing in Action: Go Malware Used in the SolarWinds Attack — This is hugely “above my paygrade”, as they say, but it’s a well produced video digging deep into reverse engineering some malware written in Go.

Ivan Kwiatkowski (Kaspersky)

Get Started with Go and InfluxDB - An Intro to Time Series Data

InfluxData sponsor

Capacity and Length of a Slice in Go — There are some nice visuals in this explanation of the oft compared and confused data types.


▶  Concurrency Primitives of Go: How and How Not to Use Them — Considering wait groups, mutexes, channels, and more.

Piyush Verma


Senior Software Engineer, Platform | Remote within US Timezones | Full-Time — Build the platform our teams use to ship innovative telehealth and workflow tools for over 1.8 million clinicians.

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 Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

🛠 Code & Tools

Inbucket 3.0: A Disposable Webmail Server with Built-In SMTP, POP3, and More — An email testing service that will accept messages for any email address and make them available via Web, REST and POP3 interfaces. No external dependencies, either.


BunRouter: Fast and Flexible Zero Allocations HTTP Router — Pushing gradually to a 1.0 release which we’ll cover when it drops.

Vladimir Mihailenco et al.

Task 3.9.0: A Task Runner / Make Alternative Written in GoOfficial homepage.

Andrey Nering

sh: A Shell Parser, Formatter, and Interpreter

Daniel Martí