# 357 — April 9, 2021

Unsubscribe  |  Read on the Web

Go Weekly

PTerm: A Modern Go Module to Beautify Console Output — Boasting 100% test coverage and support on Windows, Linux, and macOS, PTerm wants to be your go-to package for creating attractive command line interfaces. Out of the box you get things like bar charts, bulletpoint lists, text centering, spinners, tables, and more. Check out the GitHub repo for screenshots and examples.

PTerm Contributors

Spaghetti: A Dependency Analysis Tool for Go Packages — An interactive Web-based tool (that you run locally) to explore and understand the dependencies of a Go program with the aim of finding ways to eliminate dependencies and clean things up.

Alan Donovan

Redis 6.2 on RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.

RedisGreen sponsor

▶  The Trials and Tribulations of Testing in Go — Why to test, where to test, how to test, and what should you even be testing anyway? Most developers will have faced challenges during testing and a handful of Go developers got together to discuss them in this 73-minute show.

Go Time Podcast podcast

TiDB 5.0: A Distributed HTAP Database — TiDB is a database written in Go and compatible with MySQL’s wire protocol that offers horizontal scalability and aimed at HTAP (Hybrid Transactional and Analytical Processing) workloads. 5.0 adds an experimental list partitioning feature, invisible indexes, and improved ‘desensitization’ of personal data in error messages and logs.


Quick bits:
  • Popular commercial IDE GoLand has a new release in the shape of 2021.1. It adds Go 1.16 support, lets you build programs remotely via Docker, SSH and WSL 2, and supposedly the Apple M1 experience is also improved.
  • The 'ten commandments' of Go. Thou shalt not leak resources, indeed.

📘 Tutorials and Stories

Go HTTPS Servers with TLS — A straightforward introduction to running TLS-driven HTTPS servers directly from Go including how the handshaking works, how to generate self signed certificates directly from Go, and a basic example of client authentication.

Eli Bendersky

Getting Started with the AWS Cloud Development Kit and Go — Go support for AWS CDK is now in ‘Developer Preview’ and ready to try. This post covers setting up a new AWS CDK app and how to deploy stacks synthesized in Go.

Mitchell Valine (Amazon Web Services)

Book a Demo. Ship Fast. Rest Easy. LaunchDarkly — Testing in production is scary til it's not. Get control of your code to reduce risk & reclaim your nights and weekends.

LaunchDarkly sponsor

import "context" — A look at context and some of the reasons and approaches around its use.

Steve Azzopardi

Examples of Go Compared to Node.js — A Rosetta Stone (of sorts) contrasting approaches to the same tasks in both Go and Node.js. BTW, if you ever work Node.js-side, we have a newsletter for that ;-)

Miguel Mota

The Evolution of a Go Programmer — We linked this bit of humor back when it came out, but since it’s been doing the rounds again on social.. you might fancy another laugh (or not).

Aleksandr Krivoshchekov

Observability Won’t Replace Monitoring (Because It Shouldn’t)

Lightstep sponsor

'Go is a Great Programming Language'”.. despite my criticisms of it, Go remains one of the best programming languages I’ve ever used, and I have a great deal of respect for it.”

Drew DeVault

🛠 Code & Tools

Lip Gloss: Style Definitions for Nice Terminal Layouts — This is somewhat different to PTerm (featured above) but provides an interesting fluent-style API for stylizing text output from your programs.


MacDriver 0.1: Native Mac API Access for Go — A toolkit for working with Apple/Mac APIs and frameworks in Go formed of both bindings for Objective C and wrapped versions of certain frameworks.

Jeff Lindsay

RxGo 2.5.0: Reactive Extensions for the Go Language — If you’re familiar with RxJS in the JavaScript world, this is the same idea for Go.


go-ldap 3.3: Basic LDAP V3 Functions for Go Developers — Implements three LDAP related specifications (RFCs 4511, 3062, and 4514).

Michael Mitton et al.

twodeeparticles: Engine-Agnostic 2D Particle System Simulator for Go — Gotta admit, I like the name.

Maik Schreiber

oapi-codegen 1.6: Generate Go Client and Server Boilerplate From OpenAPI 3 Specs
DeepMap, Inc

Vald: A Highly Scalable Distributed Vector Search Engine
Vald Team

💻 Jobs

Full Stack Go Opening at Cyber Product Startup (Remote) — Cyber role responsible for developing and designing frontend web architecture and supporting APIs.


Back-End Engineer (Bitcoin Mining) — We're looking for experienced Golang engineers to join our team and work on rewarding projects in the crypto mining industry.

Luxor Technologies

Wynter Is Looking for Developers to Join Its Research Panel — Give feedback on digital products and landing pages, get paid $10-$50 per survey. Super low-key commitment, 10-15 mins per survey.

Wynter Research Panels