🇺🇦 #408 — April 22, 2022
😅 Two weeks ago we forgot to mention that we were taking a week off for Good Friday, so if you thought you missed an issue last Friday, don't worry.. you didn't! :-) No planned breaks until at least August now, so we're back every Friday for the foreseeable. Sorry about the confusion.
__
Peter Cooper and Glenn Goodrich
The Go Weekly Newsletter
The Go Developer Survey 2021 Results — The survey results are out. While they’re broadly in line with previous years, there are always a few interesting things that pop up, as well as getting to see where the community wants the team to focus next (bear in mind 'generics' was a top demand for many years!). Some key points:
- Over 55% of respondents use Go on a daily basis.
- The most common languages being used for projects Go was considered for are Rust and Python.
- Improved depdendency management and debugging tools are the two top improvements Gophers want to see.
- Linux's popularity has dipped slightly, macOS stayed flat, and Windows has become more popular (going from 19% in 2020 to 24% in 2021).
- 73% of Gophers still have yet to try fuzzing.
The Go Blog
RedisGreen: Secure, Scalable, Full-Featured Redis Hosting — The latest Redis features, instrumented and scaled with the tools teams need as they grow.
RedisGreen sponsor
When To Use Generics — We’ve linked to Ian’s neat talk on generics before, but now his general guidelines for using generics have been written up and shared on the official Go blog.
Ian Lance Taylor
A Deep Dive into Go for OpenFaaS Functions — The creator of OpenFaaS (a functions as a service layer for Kubernetes) details the new Go templates in OpenFaaS that make life a lot easier (and your apps more robust), as well as improvements that came courtesy of Go 1.18.
Alex Ellis
Quick bits:
-
Go is moving to using pdqsort, a faster drop-in replacement for the current sorting algorithm. pdqsort (short for pattern-defeating quicksort) is a new-ish algorithm combining quicksort's fast average case with heapsort's fast worst case.
-
Go 1.18.1 and 1.17.9 were released including three security fixes.
-
Corey Quinn, everyone's favorite AWS analyst and Twitter snarkshark, has written about learning Go from a motivation of 's**tposting' about it – I gotta say I like the cut of his jib, and he even invites us to make fun of his code. It's learning by doing and having fun.
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
Senior Software Engineer Backend (m/f/x) — We’re seeking an experienced Golang dev to support us in building a next-gen tech platform that will offer our users and partners a first-class service.
Aroundhome
Senior Software Engineer - 100% Remote (Argentina | Canada | EU) — Building cloud-native, real-time payment technology using Go, AWS, GCP, K8s, Docker, Terraform and Nats. Find out more here.
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
SMTP Protocol Basics From Scratch in Go — At its core, email is based around open protocols and, in theory, you can spin up your own code to do sending and receiving with nothing else required. Phil gives it a go from Go.
Phil Eaton
▶ Discussing Go Code Organization Best Practices — We’ve all got code sat around that we reuse between projects - how best to organize it? The Go Time crew discuss.
Go Time Podcast podcast
Revisiting Arrays and Slices with Generics — Learn Go with Tests has been a long standing learning resource in the Go world and it’s neat to see it getting updated like this.
Learn Go with Tests
Should You Commit the Vendor Folder in Go? — Because there are no absolutes.
Lane Wagner
🛠 Code & Tools
Triangle 2.0: Convert Images to Art with Delaunay Triangulation — Takes your images, makes them more triangle-y. From the creator of the Pigo Go face-detection library.
Endre Simo
panicparse: A Panic Stack Trace Parser and Debugging Tool — "Crash your app in style"(!) Helps debugging crashes and deadlocks in heavily parallelized process. Go 1.17 and 1.18 are now both fully supported.
M-A
goda: Go Dependency Analysis Toolkit — List or make cool graphs of what your program is using, including slicing them by OS or test packages or lots of other options.
Loov
Free Activity Feeds & Chat APIs for Qualifying Teams
Stream sponsor
TruffleHog: Finds Credentials All Over The Place — Much as pigs will hunt for truffles, this Go-powered ‘hog’ will work its way through git repos, S3, your file system, and elsewhere, looking for secrets and other such nuggets you might not want out in the wild.
Truffle Security
aws-lambda-go: Go Libraries, Samples, and Tools for AWS Lambda — Libraries, samples and tools to help you build functions for AWS’s flagship serverless platform. v1.30.0 has added request and response types for Lambda’s new Lambda Function URLs feature.
Amazon Web Services
Qmgo: An Easier-to-Use MongoDB Driver — It’s based upon the official MongoDB go driver but aims to provide an easier to use interface.
Qiniu Cloud