---
title: "Building a code search index in Go"
publication: "Go Weekly"
issue: 438
published_at: "2022-11-25"
canonical_url: "https://golangweekly.com/issues/438"
---

Plus a natural language detector, AWS's new Go-powered container tool, and I'm certainly feeling fuzzy. |        

#​438 — November 25, 2022 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/438)  

Together with [![Akuity\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_50/e_make_transparent/co_white,e_outline:4/xos2opctn6ln3cvjpkvb.png)](https://akuity.io/akuity-platform/?utm_source=newsletter&utm_medium=cooperpress-primary&utm_campaign=golangweekly)  

The _Go Weekly_ Newsletter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/q2l3xprql39cbdyhibx0.jpg)](https://www.youtube.com/watch?v=7KWPiRq3ZYI)  

▶[Fuzz Testing Made Easy](https://www.youtube.com/watch?v=7KWPiRq3ZYI) — At GopherCon 2022, former Go core team member Katie Hockman presented a neat, accessible intro to fuzz testing starting from theoreticals and moving into a live demo. A great overview of a new Go 1.18’s feature that _wasn’t_ generics ;-) _(24 minutes.)_ 

Katie Hockman   

If you'd prefer to read rather than watch, [there are some docs for that.](https://go.dev/security/fuzz/)  

[Awesome Go: Over 2000 Categorized Go Resources](https://awesome-go.com/) — A perennially useful resource that continues to get _very_ frequent updates. This means it’s a fantastic place to [contribute projects of your own](https://github.com/avelino/awesome-go/blob/main/CONTRIBUTING.md) too :-) 

Awesome Go   [![\](https://copm.s3.amazonaws.com/dd9b4eb8.png)](https://akuity.io/akuity-platform/?utm_source=newsletter&utm_medium=cooperpress-primary&utm_campaign=golangweekly) 

[Argo CD as a Managed Service, from the Creators of Argo](https://akuity.io/akuity-platform/?utm_source=newsletter&utm_medium=cooperpress-primary&utm_campaign=golangweekly) — With its agent-based architecture, the platform increases security, reduces traffic between Kubernetes clusters and Argo control plane, and automatically tunes Argo so that it accommodates the changing size of your infrastructure. Try out for free. 

Akuity sponsor   

[Building a Custom Code Search Index in Go for searchcode.com](https://boyter.org/posts/how-i-built-my-own-index-for-searchcode/) — If the sentence “The use of trigrams inside a bloom filter search is as far as I can tell unique” excites you, then you should get a cup a coffee and read this post. [searchcode.com](https://searchcode.com/) is a neat source code search engine to check out separately, too. 

Ben E. C. Boyter   

[SSH Port Forwarding with Go](https://eli.thegreenplace.net/2022/ssh-port-forwarding-with-go/) — Why use `ssh` when you can script it with Go instead? If you’ve not played with [/x/crypto/ssh](https://pkg.go.dev/golang.org/x/crypto/ssh), this is a thorough and practical primer. 

Eli Bendersky   

▶[How Do Go Programs Keep Working?](https://www.youtube.com/watch?v=moS35OlJBmY) — Certainly a question I’ve asked myself.. This time it’s not the quality of my code that’s of concern but Go’s long term backwards compatibility. (If this sounds familiar, Russ gave a similar talk at GopherCon 2022 but the slides and audio are much better in this remote talk.) 

Russ Cox   

▶[How Pinterest Delivers Software at Scale](https://changelog.com/gotime/257) — Nishant Roy, an engineering manager at Pinterest, went on _Go Time_ to talk about how Pinterest ships its software, its observability stack, Go-based services and more. 

Go Time Podcast podcast   

[Generating Stripe-Like Webhook Signatures](https://getconvoy.io/blog/generating-stripe-like-webhook-signatures/) 
Subomi Oluwalana  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/djoffymtce7yzu9j5f5j.jpg)](https://github.com/bitfield/script)  

[Script: Make It Easier to Write Shell-like Scripts in Go](https://github.com/bitfield/script) — Makes tasks like reading files, counting lines, making simple HTTP requests, and running subprocesses easier with an array of fluent chainable functions to make using Go in a scripting context a happier experience. 

John Arundel   

[Introducing Finch: A Go-Powered Tool for Container Development](https://aws.amazon.com/blogs/opensource/introducing-finch-an-open-source-client-for-container-development/) — AWS has built a new open-source CLI tool for building, running, and publishing Linux containers. macOS only for now. 

Amazon Web Services   

[Replace Your Notification Microservice with a Google Ventures Backed SaaS](https://www.courier.com/?utm_campaign=cooper-press&utm_source=email&utm_medium=go-newsletter-11-25-sponsored-link&utm_content=homepage) — Never again have to code another notification template or have to search in multiple platforms trying to debug failed sends. 

Courier.com sponsor   

[Lingua 1.1: A Natural Language Detection Library](https://github.com/pemistahl/lingua-go) — Got text? Lingua will tell you which language it’s written in. Lingua supports long and short texts and handles around 75 languages. This week’s [v1.1 release](https://github.com/pemistahl/lingua-go/releases/tag/v1.1.0) adds a faster but less accurate option and a way to measure the classifier’s confidence a text is written in a specific language. 

Peter M. Stahl   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/bnggss69b8tvluae1xs5.jpg)](https://github.com/wader/fq)  

[fq 0.1: Like `jq` But for Binary Formats](https://github.com/wader/fq) — If you’ve got MP3s, images, videos, etc. and you want to break them apart and dig into their underlying format, this provides some interesting ways to do that. 

Mattias Wadman   

- [VHS 0.2](https://github.com/charmbracelet/vhs)
 ↳ Record CLI activity to GIFs.
- [GoReleaser 1.13](https://github.com/goreleaser/goreleaser)
 ↳ Deliver Go binaries as fast and easily as possible.
- [bitset 1.4](https://github.com/bits-and-blooms/bitset)
 ↳ Go package implementing bit fields.
- [Kubo 0.17](https://github.com/ipfs/kubo)
 ↳ An IPFS implementation in Go.    

Jobs  

[Golang Engineers — 100% Remote (North/South America & Europe)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects. 
Ardan Labs   

[Site Reliability Engineer](https://www.stickermule.com/career/2482befb-4aa7-4372-98d7-042aaf774315) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 
Sticker Mule   

[Find a Job Through 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           

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

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

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