#​421 — July 22, 2022

Unsubscribe  |  Read on the Web

✍️ I've been playing with the OpenAI DALL-E 2 text-to-image generator a lot in the past week and it came up with today's header graphic! I've been amused at some of its creations and have featured some of the oddest blue gophers I could conjure up at the end of this issue ;-)
__
Your editor, Peter Cooper

The Go Weekly Newsletter

Steve 'spf13' Francia is Leaving the Go Team — Steve is a highly prolific developer and has contributed a lot to Go so far, whether in work on the core team or in creating Hugo and Cobra. There’s no tasty drama here (sorry) but Steve’s reflections on his time with the Go team and the Go community more broadly are certainly worth a read. Best of luck to him in the future!

Steve Francia

Exploring the Go Language as a Medium for Creative Programming — The creator of the Pigo face detection library reflects on Go’s strengths in the field of creative programming (essentially working with multimedia and front-end tech in this case). It’s neat to see Go’s use cases continue to broaden over time, Python-style.

Endre Simo

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

Implementing a Simple jq Clone in Go, and the Basics of Go Memory Profiling — Phil discusses partial (or “fuzzy”) parsing and much of the post shows how he handles profiling, debugging, and improving a codebase. It’s long, but you’ll learn something.

Phil Eaton

QUICK BITS:

  • The latest version of the VSCode Go extension is out and supports inlay parameter hints (though you need to turn them on).

  • It might not be for you but the Go Time podcast has taken on ▶️ the topic of learning Go covering the resources available, the best approaches to take, etc. so it might be worth sharing with anyone you know looking to pick up the language.

  • GoLand IDE user? JetBrains' Ekaterina Zharova shares some of its 'hidden gems'.

Jobs

Developer Advocate and Technical Content Creator — The GoLand team is looking for a developer advocate and a technical content creator.
Jetbrains

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

Build a Slack App to Follow What Your Teammates Are Listening To on Spotify — A surprisingly thorough walkthrough of creating something cool and a little different.

Alexandre Cabral

How to Write Syntax Tree-Based DSLs in Go — Victor uses structs and recursion to create a DSL that evaluates algebraic expressions. And don’t worry, you don’t need to know much math to follow it.

Victor Brun

Implementing a Segment Tree in Go — A tree structure used for storing information about intervals or segments.
Rostyslav Toch

▶  Refactoring Unit Tests During the TDD Process
Mark Bradley

🛠 Code & Tools

Lensm: A New Tool for Viewing Disassembled Code — You might not need to look so deeply at your resulting Go apps, but if you do, this sort of tool is valuable and Lensm goes beyond what go tool objdump does. Tool aside, this is a fantastic release post that also digs into some of the techniques that went into creating the app.

Egon Elbre

Swag: Automatically Generate RESTful API Documentation with Swagger 2.0 — Add special annotations in comments to your API’s source code and Swag creates Swagger 2.0 API documenmtation. Has plugins for libraries like Gin, Buffalo, Chi, Mux, and more.

Swaggo

Debug Go Apps Without Stopping Them in Prod. Try Rookout Free Today

Rookout sponsor

Connect: A 'Slim' Way to Build gRPC-Compatible HTTP APIs — The idea is you write a Protobuf schema and Connect generates code for the routing, marshalling and related housekeeping to offer the API over HTTP.

Buf

Plow 1.3: A High-Perf HTTP Benchmarking Tool — Uses fasthttp under the hood and offers a Web-based UI for measuring results. We linked this several months ago but it’s just had a fresh release.

ddc et al.

⚡️ QUICK RELEASES:

Logrus 1.9 – Structured, pluggable logging for Go.
rqlite 7.6 – Lightweight, distributed database built on SQLite.
tproxy 0.5 – CLI tool to proxy and analyze TCP connections.
eBPF 0.9.1 – Pure-Go library to work with eBPF programs.
pg_timetable 4.8 – Advanced scheduling extension for Postgres.
Benthos 4.4.1 – Stream processing made operationally mundane.

😆 Whoa, OpenAI Let Me Loose on DALL-E 2!

You try and tell me you don't want one of those fuzzy things in the top right photo.. I'm seriously considering getting someone to make one! 😁