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.

JetBrains

IN BRIEF:

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.

Lobsters

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.

QI-ANXIN GROUP

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.

bearclaw

QUICK RELEASES:

Jobs

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.
Hired

🧑‍💻 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

n

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

You Might Also Like

The Power of an Annual Review & Grammarly acquires Coda

Sunday, December 22, 2024

I am looking for my next role, Zen Browser got a fresh new look, Flipboard introduces Surf, Campsite shuts down, and a lot more in this week's issue of Creativerly. Creativerly The Power of an

Daily Coding Problem: Problem #1645 [Hard]

Sunday, December 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Implement regular expression matching with the following special characters: .

PD#606 How concurrecy works: A visual guide

Sunday, December 22, 2024

A programmer had a problem. "I'll solve it with threads!". has Now problems. two he ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

RD#486 (React) Things I Regret Not Knowing Earlier

Sunday, December 22, 2024

Keep coding, stay curious, and remember—you've got this ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🎶 GIFs Are Neat, but I Want Clips With Sound — Your Own Linux Desktop in the Cloud

Sunday, December 22, 2024

Also: 9 Games That Were Truly Ahead of Their Time, and More! How-To Geek Logo December 22, 2024 Did You Know Dextrose is another name for glucose, so if you see it listed prominently on the ingredients

o3—the new state-of-the-art reasoning model - Sync #498

Sunday, December 22, 2024

Plus: Nvidia's new tiny AI supercomputer; Veo 2 and Imagen 3; Google and Microsoft release reasoning models; Waymo to begin testing in Tokyo; Apptronik partners with DeepMind; and more! ͏ ͏ ͏ ͏ ͏ ͏

Sunday Digest | Featuring 'The World’s 20 Largest Economies, by GDP (PPP)' 📊

Sunday, December 22, 2024

Every visualization published this week, in one place. Dec 22, 2024 | View Online | Subscribe | VC+ | Download Our App Hello, welcome to your Sunday Digest. This week, we visualized public debt by

Android Weekly #654 🤖

Sunday, December 22, 2024

View in web browser 654 December 22nd, 2024 Articles & Tutorials Sponsored Solving ANRs with OpenTelemetry While OpenTelemetry is the new observability standard, it lacks official support for many

😸 Our interview with Amjad Masad

Sunday, December 22, 2024

Welcome back, builders Product Hunt Sunday, Dec 22 The Roundup This newsletter was brought to you by AssemblyAI Welcome back, builders Happy Sunday! We've got a special edition of the Roundup this

C#537 Automating Santa's Workshop with NServiceBus

Sunday, December 22, 2024

Using event-driven architecture for effective gift delivery 🎄🎁 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌