#​410 — May 6, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

📄  The Design Decisions Behind the Go Language and Environment — In an article for the ACM, the creators of Go discuss the origins of the language, their goals in creating it, and the design choices they made leading up to the first major change to the language in a decade (we won't spoil, but you know what it is..)

Cox, Griesemer, Pike, Taylor, and Thompson

An Experience Report After 6 Months of Go — A developer at Sourcegraph reflects on his experiences in working with Go after nearly three years of C++. This is beautifully presented and explained - more posts like this please.

Varun Gandhi

Troubleshoot and Optimize Golang App Performance with Datadog APM — Datadog’s APM generates detailed flame graphs to help you identify bottlenecks and latency in your Golang code. Navigate seamlessly between app traces, logs and metrics to troubleshoot and optimize performance issues fast. Try Datadog APM free.

Datadog APM sponsor

A Gentle Introduction to Generics in Go — Oh no, another article about generics, I hear you cry. Well yes, but this is particularly beginner friendly and led by the code – a good, tight summary.

Dominik Braun

Breaking the Monolith at Twitch — Twitch is one of a large group of successful companies that began life running as a monolithic Ruby on Rails app but they’ve written about where they went from there, how Go entered the picture, and their current practices.

Mario Izquierdo (Twitch)

Quick bits:

Jobs

Senior Software Engineer - 100% Remote (Argentina | Canada | EU) — Building cloud-native, real-time payment technology using Go, AWS, GCP, K8s, Docker, Terraform and Nats. Find out more here.
Form3

Golang Engineers — 100% Remote (North/South America & Europe) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects.
Ardan Labs

Senior Software Engineer Backend (m/f/x) — We’re seeking an experienced Golang dev to support us in building a next-gen tech platform that will offer our users and partners a first-class service.
Aroundhome

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

Building a Serverless Backend for Slack on AWS Lambda — A straightforward tutorial covering building a Slack app that integrates with the Giphy API for animated GIF goodness. It has an up to date twist, too, by using Lambda’s new ‘function URL’ feature rather than using API Gateway. The code itself is in Go.

Abhishek Gupta

▶  'Go and PHP Sitting in a Tree...' — Roses are red, violets are pretty.. can Go help your PHP be less sluggish? This show focuses on RoadRunner, a high performance PHP app server and load balancer built in, yes, Go.

Go Time Podcast podcast

🛠 Code & Tools

Go Cover Treemap: Generate Treemaps for Go Cover Profilesgo test can create coverage profiles so you can analyze test coverage in detail. This neat entirely browser-based tool (no data is uploaded anywhere) creates visualizations from such profiles and there are some examples if you don’t have any of your own to hand.

Nikolay Dubina

Generic Data Structures 1.0 — A collection of generic data structures written in Go covering things like B-trees, hashmaps, multimaps, double linked lists, and stacks.

Zachary Yedidia

Introducing ArcticDB: An Embeddable Column Database — Polar Signals came to the conclusion (detailed here) that continuous profiling requires a columnar database, so they built it in Go.

Frederic Branczyk (Polar Signals)

TinyGo 0.23.0: Now with Support for Go 1.18 — TinyGo is a Go compiler specifically targeting embedding systems and WebAssembly. v0.23.0 adds LLVM 14 support, Go 1.18 support (though not all language features), support for a few new boards, and improved RP2040 support too.

TinyGo

Keep Up with the Latest in Startups, Tech, & Programming in Just 5 Min

TLDR Newsletter sponsor

go-github v44.0: A Go Client for the GitHub v3 API — For the REST API. For the v4 GraphQL API use this instead.

Google

go-mysql 1.5: A Pure Go Library for the MySQL Network Protocol — Not your typical MySQL client but for when you need to interact with other clients and servers at a low level.

siddontang

ListMonk: Self-Hosted Newsletter and Mailing List Manager
Kailash Nadh