---
title: "What the current global situation means for Go"
publication: "Go Weekly"
issue: 305
published_at: "2020-03-27"
canonical_url: "https://golangweekly.com/issues/305"
---

Plus more Go news and links.       

#305 — March 27, 2020 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*):[Read on the Web](https://golangweekly.com/issues/305)   

NOTE: After sending it was raised to us that the people in the feature graphic are not exactly practicing safe social distancing(!) — this didn't occur to us at the time, but luckily they are all members of the same household.. stay safe out there, folks!  

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1585311288/bx9wwecan2ao55sakctv.jpg)](https://blog.golang.org/pandemic)  

[Go, the Go Community, and the Pandemic](https://blog.golang.org/pandemic) — An official post from three core team members on how the pandemic is affecting our community along with resources on things like online training, open-source, job postings, and current 1.15 impacts. 

The Go Blog   

[How to Use Diago to Diagnose CPU and Memory Usage in Go Programs](https://remy.io/blog/how-to-use-diago-to-diagnose-cpu-and-memory-usage-in-go-programs/) — Diago is a visualization tool that takes pprof output (profile, heap) and displays them in a tree format in the terminal. 

Rémy Mathieu   [![\](https://copm.s3.amazonaws.com/6e41750b.png)](https://www.enterprisedb.com/postgres-tutorials/how-use-postgresql-go?utm_source=Cooperpress&utm_medium=ad) 

[How to Use PostgreSQL Together with the Programming Language Golang (Go)](https://www.enterprisedb.com/postgres-tutorials/how-use-postgresql-go?utm_source=Cooperpress&utm_medium=ad) — Here are some step-by-step instructions on how to configure, connect and launch Go application with PostgreSQL. 

EnterpriseDB sponsor   

[Announcing RxGo v2: Reactive Extensions for Go](https://medium.com/@teivah/introducing-rxgo-v2-e7e369faa99a) — RxGo is a Go implementation of ReactiveX, making it akin to RxJS, etc. if you want to write asynchronous programs oriented around streams of events/observables, pipelines, etc. The [‘Getting Started’ docs](https://github.com/ReactiveX/RxGo#getting-started) will help clarify the ideas. [GitHub repo.](https://github.com/ReactiveX/RxGo) 

Teiva Harsanyi   

[typex: Examine Go Type Structures, Interfaces and Transitive Dependencies](https://github.com/dtgorski/typex) — In other words, print out a tree structure of Go packages and their type structures and interfaces on the command line. 

Daniel T. Gorski  

💻 Jobs  

[Find a Dev Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers. 

Vettery   

[Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring](https://angel.co/company/stream/jobs/241159-backend-software-engineer-go) — Like coding in Go? We do too. Stream is hiring in Amsterdam. [Apply now](https://angel.co/company/stream/jobs/241159-backend-software-engineer-go). 

Stream  

📚 Articles & Tutorials  

[Quickly Find Rust Program Bottlenecks Online Using a Go Tool](https://pingcap.com/blog/quickly-find-rust-program-bottlenecks-online-using-a-go-tool/) — So, the next time a Rustacean tells you how good Rust is, ask them to come find you when they need to find issues in their Rust app 😄 

PingCAP   

[Object Fingerprinting for Efficient Data Ingestion](https://klotzandrew.com/blog/object-fingerprinting-for-efficient-data-ingestion) — Using a custom JSON unmarshal function to build a hash for objects that can be used for efficient comparison of already ingested objects. 

Andrew Klotz   

[Video Streaming for Go](https://get.mux.com/2wantJ8) — Build video for your app that Just Works™. Mux's Video API makes it super easy to build video or live streaming into any app. 

Mux sponsor   

[Working with Postgres Transactions in Go](https://mohitkhare.me/blog/transaction-on-postgres-golang/) 

Mohit Khare   

[How Does Monzo Keep 1,600 Microservices Spinning?](https://www.theregister.co.uk/2020/03/09/monzo_microservices/) — Go only gets a brief mention here, but the entire tech stack might be a template for tackling complex distributed systems.  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/nbamj6w3ekyl5ldu2gfv.jpg)](https://github.com/JetSetIlly/Gopher2600)   

[Gopher2600: An Atari VCS Emulator](https://github.com/JetSetIlly/Gopher2600) — A relatively feature-complete emulator that includes controller support and gameplay recording. 

Stephen Illingworth   

[ION: A Distributed Real-Time Communications (RTC) System](https://github.com/pion/ion) — Powered by both Go and Flutter, ION supports WebRTC, as you’d expect, as well as a few other protocols for video conferencing, live streaming, etc. 

Pion   

[lmdrouter: A Go HTTP Router for AWS API Gateway-Invoked Lambda Functions](https://github.com/aquasecurity/lmdrouter) — A simple-to-use library for writing serverless functions that work upon API Gateway proxy requests. 

Aqua Security   

[tube: A YouTube-like Video Sharing App](https://github.com/prologic/tube) — Want to deploy your own YouTube-esque site but running by your own rules? Worth a try. Supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feeds. 

James Mills   

[Faster CI/CD for All Your Software Projects Using Buildkite](https://buildkite.com/?pk_campaign=golangweekly-270320&pk_source=cp-golangweekly&pk_medium=newsletter) 

Buildkite sponsor   

[Logrus 1.5: A Feature Rich Structured Logger](https://github.com/sirupsen/logrus) — Supports JSON formatting, hooks (for sending certain log entries to external services, say), plus it’s API compatible with the standard library’s logger too, so try dropping it in. 

Simon Eskildsen   

[Gold: A Reinforcement Learning Library](https://github.com/aunum/gold) — Provides a set of agents that can be used to solve challenges in various environments. 

AUNUM   

[Duit: A Simple Money Tracker, Built with Go and Mithril.js](https://github.com/RadhiFadlillah/duit) — A complete, simple money tracking web app. 

Radhi  

💌 A valuable message from Russ Cox   

Over on the golang-dev mailing list, Russ Cox posted [a valuable message](https://groups.google.com/d/msg/golang-dev/UxvN1W2B-zg/Vx1H8icfAwAJ): 

Go development is not isolated from world events; work on Go always comes second to more basic concerns like personal and family health and safety. Nearly all of us are working at reduced capacity these days. I expect that capacity to drop further over the next few months.
 
[...]
 
 If our own working capacity is reduced but we keep the same timelines, then we must reduce the scope of what we expect to be in the release. Some new features or planned won't make it. That's OK - we'll get them next time. We all need to accept that, for our own work and work by others.
 
Most of all, let's all please be extra kind and charitable with each other. It's always good advice to remember that you don't know what external stresses are affecting the person on the other end of the email, review thread, or GitHub comment, but it's especially important now. 

The above is just a quick summary of the main points, but it's also [worth reading in full.](https://groups.google.com/d/msg/golang-dev/UxvN1W2B-zg/Vx1H8icfAwAJ) Thanks Russ.         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
