đŸ‡ș🇩 #​407 — April 8, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

Getting Familiar with Workspaces — Generics schmerenics.. it’s time for Go 1.18’s other big feature to have its day in the sun: workspaces. “Workspaces in Go 1.18 let you work on multiple modules simultaneously without having to edit go.mod files for each module.” Beth breaks down how to get started.

Beth Brown (Go Team)

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

Faster Sorting with Go Generics — Ah yes, back to those generics again.. :-) Eli gets practical with a reimplementation of bubble sort (rarely the best sorting algorithm, but one that’s easy to understand) in interface and generics-based versions to provide a comparison.

Eli Bendersky

Comparing Go vs. C in Embedded Applications — Go isn’t suited to every embedded use case but there’s a lot of potential to getting a better experience with Go than C in many situations. This is a quick comparison though oddly TinyGo is missing from it and should be on your radar.

Marcin Pasinski

Quick bits:

Jobs

Lead Backend Developer (Golang) and More — Enjoy building scalable infrastructure in Go? Stream is hiring.
Stream

Open Source Go Developer (Remote or in the Netherlands) — We are building a decentralized healthcare infra for the Netherlands. It is open source and gaining traction. Come join our team.
Nuts Foundation

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 Can We Prevent Legacy From Creeping In? — One of the higher level Go Time episodes oriented around a group chat about legacy code and avoiding issues related to it, including in multi language environments (though Go itself is now 13 years old..)

Go Time Podcast podcast

Go Generics for Field Level Database Encryption — If you found bubble sort (above) too complicated, a simpler problem like database encryption might be up your street 😁 This post digs into using generics, struct tags and reflection to implement a generic solution to a data encryption problem.

Josh Wales

🛠 Code & Tools

gh-dash: A GitHub CLI Dashboard Extension — A TUI app for displaying a dashboard of pull requests and issues filtered however you like.

Dolev Hadar

Goyave: An Elegant Go REST Framework — Provides structure, routing, a configuration system, and, importantly, pretty extensive documentation and sample code. GitHub repo.

Jérémy Lambert

Using Z3 Theorem Prover to Analyze RBAC

Teleport sponsor

A Postgres Wire Compatible SQLite Proxy — What if you could use Postgres client tools.. but to work with SQLite databases on remote servers? That’s the idea put forward by this interesting experiment.

Ben Johnson

GoBGP: BGP Implemented in Go — The Border Gateway Protocol (BGP) is a fundamental Internet protocol for exchanging routing information between systems.

GoBGP Community

sqlc 1.13: Generate Type Safe Go(lang) from SQL — You write SQL queries, run sqlc to generate code and interfaces for those queries, then write Go code that calls the aforementioned code. v1.13.0 is packed with small improvements.

Kyle Conroy

SQLBoiler 4.9: Generate a Go ORM Tailored to Your Database Schema — The idea is that you create your schema at the database level first and then this interrogates the schema and generates ORM code for Go based upon the actual design.

Volatile Technologies Inc.

The Official MongoDB Go Driver 1.9.0 — “Connection storm mitigation” is a fun sounding feature for anything.
MongoDB, Inc.

Orb: Types & Utilities for Working with 2D Geo and Planar/Projected Geometric Data
Paul Mach

FastHTTP 1.35.0: A Fast HTTP Package for Go
Aliaksandr Valialkin

Ebiten 2.2.6: Simple 2D Game Library for Go
Hajime Hoshi