Google's new distributed Go app framework

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

Opting In to Transparent Telemetry in Go — A debate around adding telemetry to the Go toolchain has been rolling for the past few weeks. Now there’s a new development: “By far the most common suggestion was to make the system opt-in (default off) instead of opt-out (default on). I have revised the design to do that.” There are some downsides to that, of course.

Russ Cox

Service Weaver: Google's Framework for Writing Distributed Go Apps — A new open-source framework from Google that lets you “write your (Go) application as a modular monolith and deploy it as a set of microservices” to get the best of both worlds, namely: “the development velocity of a monolith, with the scalability, security, and fault-tolerance of microservices.” If you fancy something more technical and less salesy, Robert Grandl has a quick introduction here.

Google Open Source

Review Changes Made to Your Tailscale Network — Staying on top of what’s happening in your network is easier than ever with Tailscale’s configuration audit logs, which let admins review changes made to your Tailscale network, such as added devices, updated ACLs, or new DNS settings.

Tailscale sponsor

A Beginner's Guide to Creating a Webapp with Ent — A practical introduction to using Ent, an open-source entity framework for Go for modelling and querying data, by way of building a simple content management system.

Rotem Tamir

Uber's Go Style Guide — Want to know how a large Go organization writes Go? Take a ride with this guide that covers guidelines, some performance issues, and stylistic concerns.

Uber

IN BRIEF:

From Go on EC2 to Fly.io: More Fun, Less Cost? — Ben talks about switching a couple of side projects from an EC2 instance to up and coming no-ops platform Fly, and how he resolved some sticking points like running background jobs in Go without cron.

Ben Hoyt

Unlocking the Power of Zero Knowledge Proofs with Gnarkgnark is a library for creating zkSNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) zero knowledge proof applications.

Farhan

Try Temporal 101 in Go — In this beginner’s course, you’ll learn the basic building blocks of Temporal to develop an app that communicates with an external service.

Temporal Technologies sponsor

Build Your Own Database From Scratch — A book that’s still under development that uses Go but is language agnostic. A few chapters are ready to read, including on implementing B-trees in Go.

James Smith

Why to Defer Your Mutex Unlocks — One for the best practice list?
Emir Ribic

Import Leads From Google Forms Into Your CRM with OpenFaaS
Alex Ellis

🛠 Code & Tools

Gluon: A High-Performance IMAP (Server-Side) Library — This is aimed at mail system implementers and server-side IMAP management, but this post digs into the details about why that’s a tricky thing to build and how Proton, the folks behind the privacy-first email platform Proton Mail, pulled it off. GitHub repo.

Proton

✉️ You've Got Mail: If you'd prefer a complete 'out of the box' mail server experience with a Go-powered system, check out Mox which implements SMTP, IMAP4, and numerous email specs in a single open source mail server.

algnhsa 1.0: AWS Lambda net/http Server Adapter — Enables running Go webapps on AWS Lambda and API Gateway/ALB without changing existing HTTP handlers.

Artem Krylysov

Tuple, a Lightning-Fast Pairing Tool Built for Remote Developers — High-resolution, crystal-clear screen sharing, low-latency remote control, and less CPU usage than you'd think possible.

Tuple sponsor

Graph 0.16: Generic Library for Creating Graph Data Structures — Supports different kinds of graphs such as directed graphs, acyclic graphs, or trees. This week’s 0.16.0 release adds support for integrating storage backends of your choice by implementing a Store interface.

Dominik Braun

PNGR: Dockerized (Postgres + Nginx + Go + React) — Starter kit for a webapp that includes user and session management, JWT authentication, and a basic CRUD example.

Karl Keefer

Find Your Total Build Minutes with GitHub Actions and Go

Alex Ellis

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.

  • pdfcpu 0.4
    ↳ PDF processing library. (Great logo!)

  • conc 0.3
    ↳ Better structured concurrency for Go.

  • Render 1.6
    ↳ Easily render JSON, XML, HTML & more.

  • Macaron 1.5
    ↳ Modular Web framework.

  • Miller 6.7
    ↳ Swiss army knife for name-indexed data.

  • Buf CLI 1.15
    ↳ Tool for working with Protocol Buffers.

  • go-git 5.6
    ↳ Extensible pure Go Git implementation.

n

Older messages

A particularly Charming issue

Friday, February 24, 2023

Plus keep your Java out of our Go, a Go Solitaire game, git hook management, and a Go-powered Web browser. | #​449 — February 24, 2023 Unsub | Web Version I'm not sure what's up, but

Go quirks and intermediate tricks

Friday, February 17, 2023

Plus the Go powered balloon over Europe. | #​448 — February 17, 2023 Unsub | Web Version Together with Cockroach Labs logo The Go Weekly Newsletter Purego: A Dynamic Way to Call C Functions from Go

Should the Go toolchain collect usage data?

Friday, February 10, 2023

Plus using profiling to optimize the Go compiler, Go's famous fan, and getting down to the bits and bytes. | #​447 — February 10, 2023 Unsub | Web Version Together with Retool logo The Go Weekly

The one with Go 1.20

Friday, February 3, 2023

Plus entering the memory arena, a call for speakers, and improving the observability of Go services. | #​446 — February 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

Grab yourself a Go-flavored mocktail

Friday, January 27, 2023

Plus a new Go podcast, a Go powered feed reader, and someone has some Go beefs. | #​445 — January 27, 2023 Unsub | Web Version Together with Ardan Labs The Go Weekly Newsletter Mocktail: A Tasty,

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 🎄🎁 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌