#​384 — October 22, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Introducing sqlcomment: Database Perf Analysis with Ent and Google's SqlcommenterEnt is an entity framework that acts as an ORM for modeling and querying data in and from Go. It’s worth investigating on its own merits, but this post looks at an interesting next step using Google’s Sqlcommenter tool to bridge the gap between ORM and understand database performance by way of usefully verbose SQL comments.

Amit Shani (Ent)

▶  Discussing eBPF and Go — eBPF provides a sandbox that can run code inside the Linux kernel and it’s pretty awesome – we’ve linked to tutorials about using eBPF from Go before, but this is an hour-long chat about the possibilities.

Go Time Podcast podcast

The DevSecGuide to Infrastructure as Code — Research on the state of IaC security, practical steps for building a DevSecOps culture, and tips for embedding security throughout the DevOps lifecycle.

Bridgecrew sponsor

Building Rich CLI Apps with Go's Built-in Templating — How the developers of a CLI tool extend the text/template package to enable richer output.

Barak Amar

You Don't Need a Library for File Walking in Go — Before 1.16, walking file trees incurred a level of overhead that led to multiple open-source packages trying to solve the problem, but now Go’s shoes are better made for walking.

Ben Boyter

QUICK BITS:

Jobs

Senior Software Engineer, Platform | Remote within US Timezones | Full-Time — Build the platform our teams use to ship innovative telehealth and workflow tools for over 1.8 million clinicians.
Doximity

Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solve complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.
Form3

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

How to Schedule a Task at a Specific Time in Go — I’ve never needed to do this at this level, but it’s nice to have the option..

Stephen AfamO

Build Serverless Apps with Go and Custom Handlers on Azure — An 8-unit tutorial on creating Azure Functions using Go. The units are short, though, so this is quickly consumable.

Microsoft

Why You Should Use Dedicated Constructors in Go — Go’s aim for simplicity can, sometimes, lead to problems as a codebase grows. This tip will definitely keep your structs flexible and your future self less frustrated.

Lukas Lukac

Why Network Engineers Should Learn Go
Darren Parkinson

🛠 Code & Tools

Toxiproxy 2.2: A TCP Proxy to Simulate 'Chaotic' Network and System Conditions — A tool you can use to see how your app copes with outages in third party APIs, databases, network accessible caches, etc. It’s written in Go but there are client libraries for numerous languages to use it from test suites.

Shopify

panicparse: A Panic Stack Trace Parser and Debugging Tool“Crash your app in style”(!) This tool, which you’d use to help in debugging crashes and deadlocks in heavily parallelized processes, has just been updated to support Go 1.17.

M-A

Slug 1.11.0: URL-Friendly Slug Creator with Multiple Language Support — For example: slug.Make("Hellö Wörld хелло ворлд") creates "hello-world-khello-vorld".

GoSimple

Build Video for Your Go App That Just Works

Mux sponsor

UUID 4.1.0: A Pure Go Implementation of UUIDs — Create and parse UUIDs as defined in RFC-4122 covering versions 1, 3, 4 and 5.

The Go Commune

RoadRunner 2.5: A High Perf PHP Application Server and Load Balancer — A PHP app server, load balancer and process manager. Includes a PSR-7/17 compatible HTTP and HTTP/2 server and can replace a Nginx+FPM setup.

Spiral Scout

MacDriver 0.2: 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

Chroma 0.9.4: A Pure Go General Purpose Syntax Highlighter — Brings most of the features of Pygments to Go.

Alec Thomas

sqlhooks 2.0: Attach Hooks to Any database/sql Driver — An unobtrusive way to instrument SQL queries.

Gustavo Chaín

pgmetrics 1.12: Collect and Display Stats from Running Postgres Servers — Written in Go, and here’s an example of its output. v1.12 adds Postgres 14 and PgBouncer 1.16 support, including collecting new PG14 specific stats. GitHub repo.

RapidLoop

go-imap 1.2: An IMAP4 Library for Clients and Servers
Simon Ser