#389 — November 26, 2021
Go Weekly
Faster Software Through Register Based Calling in Go 1.17+ — A look at how the change to register based calling looks under the hood - and why it improves performance.
Menno Finlay-Smits
AWKGo: An AWK-to-Go Compiler — AWK is a long standing (44 years!) text processing DSL, and the author of GoAWK (an AWK interpreter) has gone back the other way to create AWKGo (a transpiler). He explains how it works here, along with some benchmarks against various AWK interpreters.
Ben Hoyt
ButterCMS Melts into Your App: ButterCMS.GetPage("home") — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for Go today. Free for 30 days.
ButterCMS sponsor
Go Does Not Need a Java Style Garbage Collector — A technical but easily accessible explanation of why Java, in particular, needs a particularly ‘fancy’ GC but a language like Go does not.
Erik Engheim
▶ Building a Terminal App with Bubble Tea — Bubble Tea is a framework for building attractive terminal-based apps with Go.
Nicolás Parada
IN BRIEF:
-
Long available at
play.golang.org, the Go Playground is now at go.dev/play. The consolidation under the go.dev domain continues. -
Keep an eye on golang.christmas next Wednesday – it's a Go-themed advent calendar.
-
📖 The Pragmatic Bookshelf has a sale on right now (code is on their homepage) and have books like Powerful Command-Line Applications in Go, Distributed Services with Go and Go Brain Teasers available if you're itching for a read. (We have no commercial relationship with them.)
-
On the topic of Black Friday, Jon Calhoun, popular Go blogger, is also doing a Black Friday sale on his video courses: Web Development with Go and Test with Go. Or just enjoy his 6 tips for using strings in Go for free ;-)
Jobs
Senior Golang Engineer (Cloud, Microservices, REST APIs) (Romania Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks.
Crowdstrike
Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team
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
Testing Shell Commands in Go — If you’re using the exec package to run shell commands, you know testing is pretty tricky. Anton created an approach that makes testing easier and works over SSH, as well.
Anton Sergeyev
From JPEG to JFIF via an io.Writer — JFIF is essentially an extension of JPEG in terms of file format.
Nigel Tao
▶ Build a Go Serverless App in 5 Minutes with Serverless Stack — Short and sweet to help you get started fast.
TutorialEdge
▶ Maintenance in the Open — Building and maintaining an open-source project incurs a lot of work beyond merely pushing code and writing a README – this week’s Go Time covers long term project maintenance and planning.
Go Time Podcast podcast
🛠 Code & Tools
Sonic: 'Blazingly Fast' JSON Serializing for Go — Go’s standard JSON decoder isn’t known for its speed, so that opens up opportunities for libraries like this. It leans on assembly so isn’t the most portable, though. fastjson is another to consider.
Bytedance Inc.
imgproxy 3.0: A Standalone Image Resizing and Conversion Server — If you’ve got a lot of graphics assets on the Web and want to dynamically resize or convert them on the fly without relying on a third party service, this is a Go-powered self hostable option.
imgproxy
Sourcegraph Makes It Easier to Find and Fix Things Across All of Your Code, Faster
Sourcegraph sponsor
The Official MongoDB Go Driver 1.8.0 — Provides support for features added in MongoDB 5.1.
MongoDB, Inc.
Ferret: A Declarative Web Scraping System — Written in Go but you write scripts in a BASIC-esque declarative language. Can be used standalone or within Go itself. Been around a few years now. Some background info.
MontFerret