---
title: "A fun performance spelunking story"
publication: "Go Weekly"
issue: 375
published_at: "2021-08-13"
canonical_url: "https://golangweekly.com/issues/375"
---

Plus running Go on bare metal, lots of great releases, and a Go-powered MIDI router. |        

#​375 — August 13, 2021 

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

📋 Next week we're taking a brief summer's break so **the next issue will be on Friday, August 27** – thanks for reading and we'll see you again then :-)
__
_Peter Cooper, editor_    

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/vb1jhs2oqtale16ahme1.jpg)](https://storj.io/blog/a-tale-of-two-copies)  

[A Tale of Two Copies](https://storj.io/blog/a-tale-of-two-copies) — This is quite the saga of chasing down a performance issue and you can actually _feel_ Jeff’s exasperation at times. While the culprit is found, the journey is the takeaway. 

Jeff Wendling   

[Common Anti-Patterns in Go Web Applications](https://threedots.tech/post/common-anti-patterns-in-go-web-applications/) — An excellent checklist to post for your team to ensure they don’t slip into these patterns and, instead, write loosely coupled code that keeps them productive and happy. 

Miłosz Smółka   [![\](https://copm.s3.amazonaws.com/05c0b6cf.png)](https://dashboard.redisgreen.net/goweekly) 

[Fast Redis Hosting and Analytics](https://dashboard.redisgreen.net/goweekly) — RedisGreen databases include seamless online upgrades, SSL encryption, key size tracking, memory mapping, and more. 

RedisGreen sponsor   

[Awesome Go: Over 2000 Go Links, Library and Tools](https://awesome-go.com/) — We link this epic resource of Go links, libraries, projects every several months and it’s still getting frequent updates (unlike many ‘awesome’ lists nowadays). As well as being a useful resource, if you have a Go project of your own, _you can [add it to the list](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md)_ and become a part of Go history :-) 

Awesome Go   

[Handling Errors From Deferred Functions in Go](https://trstringer.com/golang-deferred-function-error-handling/) — It’s easy to mishandle errors in this case, but just as easy to do it right. 

Thomas Stringer   

[An Old Hacker's Tips on Staying Employed](https://madned.substack.com/p/an-old-hackers-tips-on-staying-employed) — These are great and reinforce a couple of global truths: 1. The tech you’re using doesn’t matter, and 2. No one cares about your career as much as you do, so take care of it. 

Mad Ned   

[Running a Go Application on Bare Metal](https://icexin.com/post/running-go-application-on-bare-metal/) — The creator of [eggos](https://github.com/icexin/eggos) (a Go unikernel) shares some demos. 

icexin     

Jobs  

[Senior Software Engineer (Go) - 100% Remote, UK/EU Only](https://www.form3.tech/careers/job-application?gh_jid=4003519002) — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster. 
Form3   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-go&utm_content=go) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

[`map[string\]interface{}` in Go](https://bitfieldconsulting.com/golang/map-string-interface) — Part of a series, this article dives into Go’s answer to the untyped map including when and when not to use it. 

Bitfield Consulting   

▶[Data Streaming and Benthos with Mihai Todor and Ashley Jeffs](https://changelog.com/gotime/192) — A discussion on data streaming and particularly on the Go-powered [Benthos](https://www.benthos.dev/) stream processing system we’ve linked to numerous times now. 

Go Time Podcast podcast   

["Go Keeps Surprising Me with Its Careful Design and Specification"](https://utcc.utoronto.ca/~cks/space/blog/programming/GoCarefulDesign) 
Chris Siebenmann   

[Learning Go by Examples: Creating a Bot for Discord](https://dev.to/aurelievache/learning-go-by-examples-part-4-create-a-bot-for-discord-in-go-43cf) 
Aurélie Vache  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/yrck4dk3pmmfrayoj1ht.jpg)](https://github.com/plewto/Pigiron)  

[Pigiron: A MIDI Routing Utility with Extensive OSC Interface](https://github.com/plewto/Pigiron) — You’d use this if you have a variety of MIDI devices, sources or destinations and want to script them together, modify MIDI messages, etc. 

Steven Jones   

[Dasel: Query and Update Data Structures from the Command Line](https://github.com/TomWright/dasel) — Think of `jq`, but for many more formats, such as JSON, TOML, YAML, XML, and CSV. Can be used as a CLI tool or as a Go package. 

Tom Wright   

[Run Faster and Safer Than Linux with Open Source Unikernels](https://github.com/nanovms/ops) 

NanoVMs sponsor   

[Optimus: An Easy, Reliable, and Fast Workflow Orchestrator for Data Transformation, Data Modeling, etc.](https://github.com/odpf/optimus) — Configure jobs (using YAML) for data transformations, such as BigQuery to Kafka, and add hooks to those jobs to handle any data workflow. 

Open Data Platform   

[Croc: Easily and Securely Send Things From One Computer to Another](https://github.com/schollz/croc) — Croc has some cool features, such as cross-platform transfers, end-to-end encryption, and resumable transfers. 

Zack Scholl   

[Authboss: Authentication in a Box for Go Web Projects](https://github.com/volatiletech/authboss) 
Volatile Technologies Inc.   

**QUICK RELEASES:** 

[Bleve 2.1.0](https://github.com/blevesearch/bleve/releases/tag/v2.1.0) – Text indexing library.
 [sqlc 1.9.0](https://github.com/kyleconroy/sqlc/releases/tag/v1.9.0) – Generate type safe Go from SQL.
 [Maddy 0.5.0](https://github.com/foxcpp/maddy/releases/tag/v0.5.0) – Complete SMTP email server.
 [grpc-go 1.40.0](https://github.com/grpc/grpc-go/releases/tag/v1.40.0) – Go gRPC (HTTP/2-based RPC) implementation.
 [go-github 38.1.0](https://github.com/google/go-github) – Client for the GitHub API v3.
 [MongoDB Go Driver 1.7.1](https://github.com/mongodb/mongo-go-driver/releases/tag/v1.7.1)         

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
