Better Go concurrency for 2023

#​442 — January 6, 2023

Unsub  |  Web Version

The Go Weekly Newsletter

Conc: Better Structured Concurrency for Go — Go’s concurrency story is a good one, but Conc aims to make it even safer and easier by providing abstractions for various concepts (think pools, concurrent mapping and iteration, and panic catching) and techniques so that goroutine leaks and unhandled panics can become a thing of the past.

Sourcegraph

Go 1.20 Cryptography — The second release candidate of 1.20 is out, and some key crypto changes land, with new implementations of some old (and vulnerable) packages, including a new ECDH package, a replacement for math/big (with a performance hit) with more to come (hopefully…)

Filippo Valsorda

Build Your Team’s Private Network with Tailscale — Tailscale makes it easy to connect all your team’s devices and development environments in a way that feels like magic. Now you can access remote devices and resources, and collaborate like never before.

Tailscale sponsor

IN BRIEF:

The Go Libraries That Never Failed Us: 22 Libraries You Need to Know — While there are other lists out there (the huge Awesome Go, for example), this one is tightly curated and only includes libraries they’ve used in production. Also, they’ve included some anti-patterns to avoid using the libraries incorrectly.

Robert Laszczak (Three Dots Labs)

Faster Go Code by Being Mindful of Memory — Arthur breaks down Day 6 of his Go-based Advent of Code solution from a performance perspective that highlights how to profile an application, or a function, followed by both simple and more advanced tweaks.

Arthur Busser

🛠 Code & Tools

Wish 1.0: Makes Building SSH-Based Apps in Go Easier — If you want to build an app that users can ssh into, Wish brings together a variety of niceties to doing it with Go. Check out this basic BubbleTea-based example, for instance. v1.0 came out just before Christmas.

Charm

Pushup: A Page-Oriented Web Framework — Pushup has some great features including hot reload and support for htmx and inline partials, giving a lot of interactivity with minimal JS. Also, it compiles your app down to a single binary, so deployment is easy. It’s considered to be ‘preview, pre-release’ quality only right now, so try it and give feedback. GitHub repo.

Paul Smith

GopherLua 1.0: A VM and Compiler for Lua in Go — Want to add scripting capabilities to your Go app using one of the best known and trusted languages for the task? (That’s Lua, by the way..) This is a Lua 5.1-compatible VM and compiler that can also let you embed Lua support into Go host programs.

Yusuke Inuzuka

graphql-go 1.5.0: A GraphQL Server with a Focus on Ease of Use“The goal of this project is to provide full support of the GraphQL draft specification with a set of idiomatic, easy to use Go packages.”

Richard Musiol

  • Fyne 2.3
    ↳ Cross platform GUI in Go inspired by Material Design. Now with a new theme.

  • Miller 6.6
    ↳ CLI multitool for CSV, TSV, JSON & other data.

  • FerretDB 0.8
    ↳ Imagine the MongoDB protocol but on top of Postgres.

  • 🕒 progressbar 3.13 – Thread-safe CLI progress bar.

  • Fiber 2.41 – Express.js-style web framework.

  • fq 0.2jq for binary formats.

  • go-github v49.0 – GitHub v3 API client library.

Jobs

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

Site Reliability Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

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

https://golangweekly.com/issues/442

Created 2y | Jan 24, 2023, 8:21:18 PM


Login to add comment