Becoming the engineering manager of the Go team

Plus thinking about enums, colors, email testing, LLMs, and even jQuery.. |

#​497 — February 27, 2024

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Robust Generic Functions on Slices — The core library offers some great generic functions for slices, and understanding how each functions (modifies the slice, creates a new slice, etc.) is crucial to avoiding errors, especially with some of the changes in 1.22. Some good further reading is also suggested.

Valentin Deleplace (The Go Blog)

Go 'Enums' Suck — While the title feels click-baity, and Go doesn’t have true enums, the post raises some interesting points around the use cases for enums, how the workarounds are more annoying than they could be, and offers a new approach to make things a little better.

Steven McCutcheon

Go! Unlock Your Tech Potential with Ardan Labs Consulting — Struggling with skill gaps, development speed or complex tech challenges? Ardan Labs specializes in Go, Rust, Docker and K8s to accelerate your software development, optimize architecture, and manage tech debt. Let us supercharge your team!

Ardan Labs Consulting sponsor

Solving the One Billion Rows Challenge in Go — The so-called One Billion Rows challenge aims to see how fast Java can aggregate (min, mean, and max) 1,000,000,000 values from a text file. Here, Shraddha tries it in Go, walking through each step going from a time of over 6 minutes to just 14 seconds.

Shraddha Agrawal

QUICK BITS:

  • Sameer Ajmani, the engineering director of the Go team at Google, has written about his transition into management as someone who never wanted to be a manager. He's also written about Go's growth between 2012-2016.

  • The latest version of the official Go language server – gopls 0.15.0 – has landed, with support for "zero config" gopls workspaces and improved initial behavior in more complex scenarios. It's the final release that works with Go 1.18, too.

  • Git 2.44 is the first new Git release of 2024 and Taylor Blau takes a look at the enhancements.

TinyGo 0.31.0: Now with Go 1.22 Support — A small step for a version number, a giant leap for small Go-kind, as the “Go compiler for small places” gains Go 1.22 support, a macOS arm64 native binary release build, Nim flake support, and upgrades to LLVM 17.

Ron Evans

▶  A Practical Look at Building REST APIs in Go 1.22 — Building a quick REST API in just several minutes using the new Go 1.22 approach.

TutorialEdge

Add Fully-Featured Auth to Your Go App with Two Lines of Code — Easy, secure, and affordable: pick three. FusionAuth is auth built for devs, by devs.

FusionAuth sponsor

Faster Blogging with Glee: Why a Tool Shifted from Python to GoGlee is a Python Go-based tool for turning Markdown files into posts for Ghost-powered blogs. This post briefly touches on the (rather unsurprising) reasons they rewrote the formerly Python-based tool into Go.

Lince Mathew

🎨 Adding Color to Terminal Output in Go — Shows first without any dependencies at all, but then how fatih/color can make it tidier.

Stephanie You

🛠 Code & Tools

gemini-cli: Access Gemini Models from the Command Line — Eli shows of a new Go-powered CLI tool he’s built for doing data analysis work with Google’s Gemini models.

Eli Bendersky

goquery: jQuery-esque HTML/DOM Manipulation Methods — A jQuery-a-like approach for working with HTML from Go. Much like jQuery itself, it’s been around for many years, but the latest release (v1.9) adds a generic Map function and requires Go 1.18+.

Martin Angers and Contributors

Podinfo: A Go Microservice Template for Kubernetes — A tiny Go-powered app to showcase best practices when running microservices within Kubernetes, including health checks, graceful shutdown, structured logging, ant building multi-arch container images.

Stefan Prodan

📰 Classifieds

🪝 Reliably receive, authenticate, transform, filter, route, & deliver webhooks at scale with Hookdeck. Try the receiving webhooks quickstart.


📧 Forward Email is an email forwarding service able to boast being entirely open source. They use quantum-safe, individually encrypted SQLite mailboxes too.

Risor 1.4: Embeddable Scripting for Go Apps — Risor is a fast, lightweight pure-Go scripting language targeting devops and cloud integration use cases and that interoperates with existing Go libraries (learn more here). v1.4 adds support for the go and defer keywords, channels, HTTP servers, and more.

Curtis Myzie

Mailpit 1.14: Email and SMTP Testing Tool — Built in Go, Mailpit is a general email testing tool and API for all developers. You can use it to view emails “sent” through its mock SMTP server, store emails, and even relay them on. v1.14 introduces an optional POP3 server if you want to fetch the emails into a client.

Ralph Slooten

  • gologin 2.5 – Chainable login http.Handlers for numerous auth providers.

  • NutsDB 1.0.4 – Embeddable, persistent key/value store in pure Go.

  • Excelize 2.8.1 – Library for working with Excel spreadsheets.

  • Sarama 1.43 – Go library for Apache Kafka.

  • zap 1.27 – Fast, structured, leveled logging.

  • Air 1.51 – Live reload for Go apps.

n

Older messages

Go is popular.. again!

Tuesday, February 20, 2024

Plus a look at `goto`, and reflecting on Go 1.22's http.ServeMux enhancements. | #​496 — February 20, 2024 Unsub | Web Version Together with Tuple logo Go Weekly The HTTP Routing Enhancements in Go

The one with Go 1.22 everywhere

Tuesday, February 13, 2024

Plus feeding a hungry mouse, why to start with the standard libraries, and how Mat Ryer writes Go HTTP services after all these years. | #​495 — February 13, 2024 Unsub | Web Version Together with

'I don't scoff at 2% improvements'

Tuesday, February 6, 2024

Plus a brief history of dependency management in Go, and the Go survey is still open. | #​494 — February 6, 2024 Unsub | Web Version Together with Crunchydata Go Weekly Testing Out Profile-Guided

Go 1.22 Release Candidate 2

Tuesday, January 30, 2024

Plus the latest Go survey, the future of JSON in Go, and Mat Ryer serenades us with Go docs. | #​493 — January 30, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly The Latest Go Developer

Russ Cox on Go changes

Tuesday, January 23, 2024

Plus optimizing compiler performance, and Rust vs Go redux. | #​492 — January 23, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Rust vs Go in 2024? — A perennially popular post from

You Might Also Like

Architecture Weekly #178 - 6th May 2024

Monday, May 6, 2024

This time, we discussed biases. Biases on the perspective on our technologies, so not seeing their evolutions. We also checked how biases can impact our knowledge, collaboration and eventually also the

WP Weekly 192 - WP Biz - Brands Merged, Woo Cart Popup, Fastest Hosting

Monday, May 6, 2024

Read on Website WP Weekly 192 / WP Biz The 'business of WordPress' is buzzing for sure, be it the acquisition of plugins or the massive Envato ownership change. Also, WordPress content brands

SRE Weekly Issue #423

Monday, May 6, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

⚠️ Avoiding AI Scams on Social Media — An Open Source Google Photos Alternative

Sunday, May 5, 2024

Also: Reviewing the Customizable Drop Mechanical Keyboard, and More! How-To Geek Logo May 5, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to

Daily Coding Problem: Problem #1432 [Medium]

Sunday, May 5, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This question was asked by Snapchat. Given the head to a singly linked list, where each node also has a “random”

PD#572 Good Ideas in Computer Science

Sunday, May 5, 2024

Ideas every programmer likes and why Garbage Collection and Object Oriented Programming don't count ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#454 API Layer & Fetch Functions

Sunday, May 5, 2024

ixing API and UI code quickly leads to messy and unmaintainable code ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

The Shiny Toy Syndrome & Tiny macOS utility apps I love

Sunday, May 5, 2024

Lex launching its redesign, Raycast shares another monthly update packed with AI updates, prompts should be designed not engineered, and a lot more in this week's issue of Creativerly. Creativerly

Hyundai antes up $1B for AV startup Motional and Elon unplugs the Tesla Supercharger team

Sunday, May 5, 2024

Plus, layoffs come for Luminar, Fisker and Ola View this email online in your browser By Kirsten Korosec Sunday, May 5, 2024 Image Credits: Motional Welcome back to TechCrunch Mobility — your central

C#504 Adventures serializing absolutely everything in C#

Sunday, May 5, 2024

A fantastic journey porting Newtonsoft.Json to System.Text.Json ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌