#​417 — June 24, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

▶  An Introduction to Fuzzing in Go — An official, three-minute, introductory video from Google on getting started with Go’s newest fuzz testing features (or, if you prefer, a written tutorial). Elsewhere, Khaled Yakdan writes about improvements being made to fuzzing for Go 1.19 – a lot of work has gone into this.

Nooras Saba (Google)

Making Code Faster — When someone with Tim’s experience talks about improving code performance, it never makes for a bad read. Here he shares a story of profiling some Go code. His approach is simple: Test, Benchmark, Refactor, Iterate.

Tim Bray

Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you.

Ardan Labs sponsor

How Uber Halved Its Go Monorepo CI Build Time — Uber rocks a monorepo setup for its Go-based back-end services and libraries and a downside was a cascade of checks and complexity when making changes to widely used dependencies within the monorepo. This post digs into the problem and how Uber works around it (to some extent, anyway).

French, Rukas, Tan (Uber)

How to Build Your Package Docs Locally — It started with an aim: “I wanted to see a rendering of my module docs as they would on pkg.go.dev locally before publishing” – and since godoc is deprecated, Milan figured out how to do it with pkgsite.

Milan X

Quicker bits:

A Faster Development Experience with Vite, Hugo and PreactHugo is a fantastic Go-powered static site generator but sometimes you might need to wander onto the JavaScript path a little.. Dawid found Vite to help a lot with getting everything 🎵 working together.

Dawid Prośba

Jobs

Senior Backend Go Engineer - Remote (US) — Petabytes of data, millions of requests a second! Help us build our AdTech platform. Go, GCP, gRPC, Bigquery, Bigtable, Spanner.
MadHive

Senior Backend Software Engineer - Remote — Hiring experienced Go developers interested in building open source software around networking, security and distributed systems.
Teleport

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

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

🛠 Code & Tools

Viddy: A Modern Go Alternative to watch — It’s not every day we see a Clockwork Orange themed project. The idea here is viddy can execute commands on a periodic basis but you get niceties like ‘time travel’, attractive output, and paging.

Takumasa Sakao

Render 1.5: Easily Render JSON, XML, Binary Data, and HTML Template Responses — A package for rendering various types of output in a more structured way if you’re putting together a Go-powered HTTP service, say.

Cory Jacobsen

A wolfSSL Wrapper for Lightweight SSL/TLS in GowolfSSL is a lightweight, portable SSL/TLS library targeting IoT and embedded environments. The repo includes examples of creating a server or client with it.

wolfSSL

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

TLDR Newsletter sponsor

Cobra 1.5.0: A 'Commander' for Modern Go CLI Interactions — A popular toolset for creating flexible Go-based CLI apps. v1.5 introduces the ability to mark flags/options are required or exclusive as a group (e.g. needing --username and --password to both be present).

Steve Francia

Gopherlings: Learn Go by Fixing Tiny Incorrect Programs — 18 very simple programs to fix, but it’s an interesting format and would be fun to see at a larger scale or for specific niches?

Patricio Whittingslow for beginners

A Simple/Minimal Tcl Interpreter Written in Go — A learning exercise explained here.

Steve Kemp

QUICK RELEASES:

Benthos 4.3 – Fancy stream processing made simple.
PanicParse 2.3 – Parse panic stack traces.
phonenumbers 1.1 – Parse and validate phone numbers.
tproxy 0.3 – CLI tool to proxy and analyze TCP connections.
Clash 1.11 – A rule-based tunnel built in Go.
Hertz 0.1 – Go framework for HTTP microservices.
Kagome 2.8 – Self-contained Japanese morphological analyzer.