#​443 — January 13, 2023

Unsub  |  Web Version

Together with  Retool logo

The Go Weekly Newsletter

What’s New in Go 1.20: Language Changes — The first in a (scheduled) three-part series, this post discusses tweaks to interfaces, generics, unsafe, as well as a new slice to array conversion technique.

Carl M. Johnson

In related news, Go 1.20 release candidate 3 has just been released – its main fix is for this macOS bug so Mac users are particularly encouraged to test against it. Go 1.19.5 and 1.18.10 have also been released this week.

Embedding Our New React UI in Go — Flipt serves its web application from a single Go binary, embedding the static assets therein. Go 1.16’s native embedding set them on a journey that led to React and it works pretty well - no Next.js needed.

George MacRorie (Flipt)

Retool Is the Fast Way to Build Internal Tools — Retool provides a powerful platform to build your UI, connect your data, and publish your app in record time. With 100+ powerful and production ready UI components, you can write custom code nearly anywhere to customize how your apps look and work.

Retool sponsor

Git Forge SourceHut to Block the Go Module Mirror — The creator of SourceHut first complained about Go’s module mirror/proxy ‘DDoSing’ his open source hosting service early last year and it seems it’s still an issue. Could this latest move encourage Google to update its approach?

Drew DeVault

Designing Go Libraries — A long article (based on a talk) that discusses various properties of a well-designed library along with a variety of best practices.

Abhinav Gupta

IN BRIEF:

▶  Zero Allocations and Benchmarking in Go — Practical 17-minute screencast on improving some simple code by reducing the number of allocations made.

Anthony GG

How to Build More Reusable Go Code using Uber's Fx — FX is a dependency injection framework from Uber that can help make your codebase more flexible and maintainable by avoiding coupling between modules.

The Devops Guy

Why Go Was the Right Choice for CockroachDB — 89.6% of CockroachDB is written in Go, with a smattering of TypeScript, Starlark, Yacc, and a few other languages.

CockroachDB sponsor

Writing a Toy Redis Server in Go — The author is writing a book on creating a simple Redis-like server in Ruby and is exploring the same idea in multiple languages. His Go journey took a couple of stops due to race conditions in his initial version.

Pierre Jambet

🛠 Code & Tools

goread: A Terminal-Based RSS / Feed Reader — This newsletter has an RSS feed if you want to test it out. Built using the wonderful Bubble Tea TUI framework.

Adam Piaseczny

gnet 2.2: High-Performance, Non-Blocking, Event-Loop Networking Library“It makes direct epoll and kqueue syscalls rather than using the standard Go net package, and works in a similar manner as netty and libuv.”

Andy Pan

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use.

Shortcut (formerly Clubhouse.io) sponsor

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

WORTH A LOOK:

  • Awesome Go Style – Curated list of Go style guides.

  • GoReplay – Capture and replay live HTTP traffic in a test environment.

  • dicom – Parse DICOM medical imagery from Go.

  • retry-go – Simple retry mechanism.

  • ov – Feature-rich terminal pager.