Golang Weekly - The smallest Go binary

Plus what's new in GoLand, how to parse spreadsheets from Go, GoReleaser 1.17, and treating ourselves to some Gin. |

#​455 — April 11, 2023

Unsub  |  Web Version

ℹ️ As mentioned last time, Go Weekly is now sent on Tuesdays, so if you missed us at all, we're now back on schedule 😄
Peter Cooper, your editor

Together with  Teleport logo

The Go Weekly Newsletter

The Smallest Go Binary - 5KB? — I thought this sounded a bit silly at first, especially dated April 1st, but the author (also the main maintainer of purego) had an interesting use case: they wanted to use Go’s assembler but not Go’s runtime. Turns out it’s possible, with a lot of fiddling around. Note: You will almost certainly never need to do this yourself, but it's fun to see the parts involved in doing so.

Over Engineered

Developing a RESTful API with Go and Gin — It’s neat to see a tutorial like this pop up on the official Go site. It walks through the basics of using Gin to create a simple RESTful API that stores its data in memory for simplicity.

Official Go Docs

What's Next in Kubernetes Access? — Manage and audit access to all Kubernetes infrastructure - databases, clusters, and more - using biometrics rather than shared tokens and gain visibility on all actions in a K8s pod with full session recordings, all with a free trial of Teleport.

Teleport | goteleport.com sponsor

FerretDB 1.0: An Open Source MongoDB Alternative — FerretDB is an interesting project we’ve been following over the past year. Built in Go, it converts MongoDB’s wire protocol queries into SQL with Postgres on the backend, so you can reproduce the MongoDB experience but without its controversial license change.

Peter Farkas

What's New in GoLand 2023.1 — GoLand is a popular (though commercial) IDE in the Go space, often coming in second only to VS Code, so it’s interesting to see what they’ve added. The latest version introduces a vulnerability checker and vulnerable package updater, improved gRPC tooling, and the ability to run ‘scratch’ files with non-standard-library packages.



How Do You Name Your Go Variables — While this is a simple question on the surface, it often generates a ton of very strong opinions and lively discussion, as it did with the Lobsters community.


Send Transactional Emails with Golang — Step-by-step guide with three different methods: SMTP, 3rd party email provider, and with notification infrastructure.

Courier.com sponsor

How to Secure a Go App with JWT — Authentication and authorization with middleware while staying stateless with REST.

Dilara Görüm

🛠 Code & Tools

Excelize: Library for Working with Excel Spreadsheets — Read and write XLAM / XLSM / XLSX / XLTM / and XLTX files. A long time library that keeps going from strength to strength. GitHub repo.


GoReleaser v1.17: Go Binary Build and Delivery Tool — The motivation for GoReleaser is to simplify the release process by building binaries for multiple platforms, creating a GitHub release, and even releasing a Homebrew formula. GitHub repo.

Carlos Alexandro Becker

Authorization Simplified with an Open-Source Authorizer Written in Go — Topaz is a Go native authorization service with built-in support for every authorization model: RBAC, ABAC, and ReBAC.

Aserto sponsor

Tokenizer: Pure Go Implementation of OpenAI's Tokenizer — When you use OpenAI’s GPT, input and output is delivered in ‘tokens’ which are not the same as characters, syllables or words, but somewhere in between. Truly mindboggling.

Wahlmann and Wendt

bearclaw: A Tiny Static Site Generator“makes converting markdown into websites easy.” Offers an RSS feed too. Possibly worth considering if you want something even simpler than Hugo.




Site Reliability Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

🧑‍💻 Got a job listing to share? Here's how.

🕰   ICYMI (Some older stuff we might have missed)

GitHub Actions and Go — A CI workflow for Go you can reuse and tailor to your own needs. See the final build.yml.
Oleg Kovalov

Comprehensive Guide to Testing in Go — Covers things like table-driven tests, fuzzing, and parallel tests.
Alexandre Couëdelo

Efficiently Writing Binary Data..or speeding up writing binary data in Go by 14x. Serializing data structures is a common need, but in some cases you may need a more efficient option than binary.Write.
Javier Honduvilla Coto

Speeding Up a CLI App with Concurrency
Michael Cuffaro


Key phrases

Older messages

'Til Tuesday

Friday, March 31, 2023

Plus it's Go 1's 11th birthday, a GUI app for viewing Go execution traces, and a new way to make and use network block devices. | #​454 — March 31, 2023 Unsub | Web Version ℹ️ A quick

Go on the Xbox?

Friday, March 24, 2023

Plus the power of single method interfaces, a new way to optimize structs, and a simple parser package built upon struct field tags. | #​453 — March 24, 2023 Unsub | Web Version Together with Ardan

Structured logging is a go

Friday, March 17, 2023

Plus real world Go concurrency examples, flame graphs, and there's more than one way to structure a Go project. | #​452 — March 17, 2023 Unsub | Web Version Together with Shortcut The Go Weekly

The journey to faster JSON parsing

Friday, March 10, 2023

Plus Go re-enters the TIOBE top 10, using multi-module workspaces, and what the Go team is talking about. | #​451 — March 10, 2023 Unsub | Web Version Together with Ardan Labs The Go Weekly Newsletter

Google's new distributed Go app framework

Friday, March 3, 2023

Plus a Go telemetry update, Uber's Go style guide, an introduction to Ent, and a new IMAP library. | #​450 — March 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

Apple Vision Pro, MacBook Air & iOS 17 🌎, StackOverflow moderator strike 👨‍💻, CSS blend modes 🎨

Tuesday, June 6, 2023

Apple's augmented reality headset, the Apple Vision Pro, will launch early next year starting at $3499. Sign Up|Jobs|Advertise|View Online TLDR Together With CleanMyMac X TLDR 2023-06-06 Mac full

Digest #106: I love git-blame-someone-else! 😳

Tuesday, June 6, 2023

Digest #106: I love git-blame-someone-else! 😳 #106: I love git-blame-someone-else! This week, I've compiled yet another selection of the latest insights, tutorials, and tools in the DevOps space

[New post] Microsoft .NET Code Analysis: The Rijndael and Rijndaelmanaged Types Are Superseded

Tuesday, June 6, 2023

dotNetDave posted: " Since September 2021, the Rijndael and RijndaelManaged types have been superseded by the AesManaged type. Although Rijndael is still supported in .NET, it is generally not

The Rust I wanted had no future — and Our right to challenge junk patents is under threat

Monday, June 5, 2023

Issue #1154 — Top 20 stories of June 06, 2023 Issue #1154 — June 06, 2023 You receive this email because you are subscribed to Hacker News Digest. You can open it in the browser if you prefer. 1 The

Here’s all of TechCrunch’s reporting from day one of WWDC 2023

Monday, June 5, 2023

TechCrunch Newsletter TechCrunch logo The Daily Crunch logo By Christine Hall Monday, June 05, 2023 Today, our team brings you all of the ooey, gooey Apple WWDC 2023 keynote goodness, including

JSK Daily for Jun 5, 2023

Monday, June 5, 2023

JSK Daily for Jun 5, 2023 View this email in your browser A community curated daily e-mail of JavaScript news Mini-Game Using Only HTML, CSS and JavaScript Start by creating an HTML file and open it in

Max Q - Max Q: Another day, another delay

Monday, June 5, 2023

TechCrunch Newsletter TechCrunch logo Max Q logo By Aria Alamalhodaei Monday, June 05, 2023 Hello and welcome back to Max Q! In this issue: Pixxel's new investor Mission delays for Boeing, Rocket

Daily Coding Problem: Problem #1118 [Easy]

Monday, June 5, 2023

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. What does the below code snippet print out? How can we fix the anonymous

Physical vs. Digital Games: Should You Buy Physical Games?

Monday, June 5, 2023

Did You Know?: The enormous geodesic polyhedron, Spaceship Earth, at the center of Walt Disney World's Epcot park, is clad in 11324 silvered isosceles triangles. If a perfect polyhedron, it would

DeveloPassion's Newsletter #124 - Polywork

Monday, June 5, 2023

Hello everyone! I'm Sébastien Dubois, your host (I'm on Twitter). You're receiving this email because you signed up for DeveloPassion's Newsletter. Thank you for being here with me ✨