#325 — August 14, 2020

Unsubscribe  |  Read on the Web

Go Weekly

Go 1.15 Released — Hit up the release notes to go through everything that’s new, but the highlights include substantial improvements to the linker, better allocation in some cases, and various core library improvements. This is a step forward for Go, however, rather than a feature-packed leap. Do note, though, that some people ran into issues with TLS connections involving certificates without SANs (now fixed in this case but may cause issues elsewhere).

The Go Blog

Proposal: Register-Based Go Calling Convention — This proposal hopes to increase performance (well, throughput) by changing the Go ABI’s stack-based calling convention to a register-based version. This won’t affect most Go developers at a day to day level, but feel free to read on for the gritty details.

Austin Clements

Remote Instructor-Led Go, Docker, Kubernetes, & Python Training — We offer live-streaming remote training sessions for individual engineers and companies that want to augment their knowledge in Go, Docker, Kubernetes, and Python. We’ve trained over 5,000 engineers via our carefully crafted classes.

Ardan Labs sponsor

Why Go Modules Are Faster Than GOPATH — The short answer is modules usually end up having to download much less code (in some cases, zero code) for a given set of dependencies. Hurray for progress!

Tyler Bui-Palsulich

AWS Lambda Now Supports Go on Amazon Linux 2 — AWS Lambda, Amazon’s serverless platform, has supported Go directly for a while now, but support has now been extended to the newer Amazon Linux 2 runtime.

Amazon Web Services

💻 Jobs

Senior Software Engineer at Even (Anywhere) — Help people break the paycheck-to-paycheck cycle. Build w/ Go, React Native, GraphQL, Postgres, Bazel. Remote encouraged.

EVEN

Software Engineer - Want to Build a Platform Ecosystem in Go? — Skool is hiring its 2nd backend engineer in Los Angeles, CA. Go, PostgreSQL, Redis, Elasticsearch, Docker. Apply now.

SKOOL

Find a Job Through Vettery — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

📘 Tutorials

How Go 1.15 Improved Converting Small Integer Values to Interfaces — This gets in the weeds a bit, but the short answer is a static array of integers that can be pointed to instead of a heap allocation.

Chris Siebenmann

Create a Serverless Go App for AWS Lambda — A basic, entry level tutorial to using Go in a serverless context.

Shubham Chadokar

Deploying Serverless Go Functions with Netlify — It’s a bit convoluted, but the end process of having Go functions in your JAMstack might just be worth it.

Todd Birchard

The Go Security Checklist

Sqreen sponsor

Lessons from Go: Keep Calm and Use the Byte Array — Byte arrays are ubiquitious in Go, despite being hidden being abstractions in other languages. And this is a good thing.

Preslav Rachev

▶  Let's Build a Concurrent Download Manager — A practical 20 minute screencast. GitHub repo.

Muhammad Usman

What Is the Extension Interface Pattern in Go?

Emmanuel Sys

🛠 Code & Tools

Multiple Progress Bar: Progress Bars for Go CLI Apps — Straightforward textual progress bars with support for rendering multiple bars at the same time (such as for tasks running concurrently). v5.3.0 just came out.

Vladimir Bauer

immudb: A Lightweight, High-Speed Immutable Database — An open source data that boasts no data mutation APIs at all and a ‘tamper-evident’ history system. It’s built in Go. GitHub repo.

immudb

Optimize Your Go Applications in One Place — Datadog APM enables you to visualize how requests propagate through your distributed infrastructure. Try it for free today.

Datadog APM sponsor

Excelize 2.3: A Library for Reading and Writing Excel Files — Read and write XLSX files, set and read cell values, add charts. v2.3.0 lets you set cell values concurrently, and provides some new APIs for improved access to formatting and columns.

360 Enterprise Security Group, Endpoint Security, inc.

Dynamo: An Expressive DynamoDB Library — This week’s new release improves support for null and empty values.

Greg Greg

Oscar: Next Generation Building Tool for NothingYes, this is a joke/lighthearted project! You’d use this to make it look like you’re being productive when you’re not (obligatory xkcd reference).

dongdong

Got: Go Package and CLI Tool for Downloading Large Files Over HTTP Faster — The technique used is to concurrently download numerous ranges of the desired file which can be quicker in many cases (but may also be frowned upon if it causes extra load).

Mohamed El Bahja

httpmock: Easy Mocking of HTTP Responses From External Resources

Jared Morse

Sarama: A Go Client Library for Apache Kafka 0.8+

Shopify