#333 — October 9, 2020
Golang Weekly
Embedding Python in Go — There are a couple of ways to skin this, um, snake, and Chris takes the more approachable but less performant one. This article provides a great entry point into the world of Python-Go interoperability though.
Chris Korneck
Finding Goroutine Bugs with TLA+ — I suspect most developers don’t have first hand experience with ‘formal methods’ (a rigorous approach to defining the specifications of code in order to verify it) but TLA+ is one way to write formal specifications and here’s an example of writing a spec to test a Go feature.
Hillel Wayne
Remote Instructor-Led Go, Docker, Kubernetes, Terraform, & Python Training — We offer live-streaming remote training sessions for individual engineers and companies that want to augment their knowledge in Go, Docker, Kubernetes, Terraform, and Python. We’ve trained over 10,000 engineers via our carefully crafted classes.
Ardan Labs sponsor
Prisma Client Go: Auto-Generated and Type-Safe Database Client — The name Prisma might ring some bells if you’re in the JavaScript space, but they now have an alpha quality query builder for Go that is pitched as an alternative to things like GORM or SQLBoiler. Early days but worth watching this space.
Prisma
Increasing http.Server Boilerplate — The boilerplate here adds on the ability to listen on sockets, automatic HTTPS redirect, and graceful shutdown.
Bojan Živanović
⚡️ Quick bytes:
- The proposal for
errors.ErrUnsupportedhas been accepted. - Amazon CloudWatch Agent is now open source, written in Go (here's the code), and included with Amazon Linux 2.
💻 Jobs
Sr. Software Engineer at CrowdStrike (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 projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team
Find Your Next Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.
Vettery
📘 Tutorials
Go, WebAssembly, HTTP Requests and Promises — A guide to interacting with JavaScript from Go delivered in a WebAssembly context.
Alessando Segala
Automating Go Integration Tests with Docker — Integration tests are slow and often have external dependencies (like a database), so pushing them into Docker can help keep them isolated and maintainable. There are multiple approaches to this, and this is just one.
James Dudley
Creating PowerPoint Slides From Templates — Creating Powerpoint slides from templates is useful in content generation. Danish illustrates this with UniOffice.
UniDoc UniOffice sponsor
Environment Variables in Golang — A lot of this is 101, but I did learn about os.ExpandEnv for easy string substitution of environment variables.
LoginRadius Engineering
Correlating Logs — How to use middleware to create and track correlation IDs for a single request through a system.
Filip Nikolovski
Some Basic and Common Uses of Regular Expressions in Go — A brief piece aimed squarely at beginners, but that may be you :-)
Gregory Schier
Polymorphism in Limbo and Go 2 — Drawing a comparison in code between Limbo (a language developed at Bell Labs by Rob Pike and others) and Go’s forthcoming generics.
Sean Hinchee
🛠 Code & Tools
Bit: An Experimental, Modern CLI for Git — Brings some extra niceties to the idea of git, including file and branch name autocompletion, command and flag suggestions, and even some new commands.
Chris Walz
Hetty: A HTTP Toolkit for Security Research — An intercepting HTTP proxy with a Web interface and proxy log viewer. The aim is to become an open source alternative to commercial software like Burp Suite Pro.
David Stotijn
pospop: High Performance Positional Population Counting — You’d use this for counting set bits in sets of values which has value in areas like statistics and machine learning.
Robert Clausecker
Getting Started with OpenTelemetry and Distributed Tracing in Go
Lightstep sponsor
Elsa: A Minimal, Secure Runtime for JavaScript and TypeScript Written in Go — Joining Deno in the land of new JS runtimes this year comes the Go-powered Elsa which uses QuickJS rather than V8. It feels somewhat more experimental, but it’s always fun to see such projects, and if you don’t like it.. you can 🎵 let it go... let it go...
Elsaland Team
MTProto: A Fully-Native Go Implementation of the Telegram API — For if you want to work with Telegram’s protocol at a low level. Be warned, this has a rather ‘animated’ README(!)
Xelaj Technologies
HAProxy Configuration Parser — I’m a hugely vocal fan of HAProxy, a popular TCP and HTTP load balancer/proxy, and I can’t think of a use for this, but maybe you can!
HAProxy Technologies
ksqlDB Go Library 0.04 — A client for the Kafka-native ksqlDB event streaming database.
Robin Moffatt