---
title: "Go is popular.. again!"
publication: "Go Weekly"
issue: 496
published_at: "2024-02-20"
canonical_url: "https://golangweekly.com/issues/496"
---

Plus a look at `goto`, and reflecting on Go 1.22's http.ServeMux enhancements. |        

#​496 — February 20, 2024 

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

Together with [![Tuple logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_102,h_40/e_make_transparent/co_white,e_outline:5/qp571egcdphpynhtnexv.png)](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=Q1_2024&utm_content=Go+Newsletter_Primary)  

Go Weekly  

[The HTTP Routing Enhancements in Go 1.22](https://go.dev/blog/routing-enhancements) — The Go team’s official take on the new HTTP routing enhancements in Go 1.22: _“Go 1.22 brings two enhancements to the `net/http` package’s router: method matching and wildcards. These features let you express common routes as patterns instead of Go code.”_ These features are not universally adored so far, however. 

Jonathan Amsterdam   

💡 Willem Schots' [URL path parameters in routes](https://www.willem.dev/articles/url-path-parameters-in-routes/) tutorial provides a fantastic example-led introduction to some of what's possible.  

[Go Enters the Top 10 in the TIOBE Index (Again..)](https://www.infoworld.com/article/3712690/go-language-hits-top-10-in-the-tiobe-index.html) — This story has been doing the rounds on social media, though the same author wrote [a similar story a year ago](https://www.infoworld.com/article/3689949/golang-returns-to-the-top-10.html). We also covered Go making it into TIOBE's top 10 _six_ years ago (in [issue 168](https://golangweekly.com/issues/168)) so don’t read too much into this (especially given [how the stats are obtained](https://www.tiobe.com/tiobe-index/programminglanguages_definition/)). Nonetheless, #8 is the _highest_ position Go has reached, so that’s neat. 

Paul Krill (Infoworld)   [![\](https://copm.s3.amazonaws.com/02b9b738.png)](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=Q1_2024&utm_content=Go+Newsletter_Primary) 

[Pairing - An Underrated Way to Collab with Other Devs](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=Q1_2024&utm_content=Go+Newsletter_Primary) — Tuple "makes pair programming with co-workers and friends fun again". Try it for free and find out why staff engineers at Figma can't stop talking about Tuple. 

Tuple sponsor   

[Calling C from Go](https://ericchiang.github.io/post/cgo/) — A handy post containing various examples, including passing arrays, strings, and other types from Go to C. Knowing how to properly invoke C code is another arrow in your quiver and could improve your understanding of Go a little, too. 

Eric Chiang   

🔥 [Fuego: A Nest-Inspired API/Web Framework for Go](https://go-fuego.github.io/fuego/) — _“The only Go framework generating OpenAPI documentation from code. Inspired by Nest, built for Go developers.”_ Here’s [a 'hello world' example](https://go-fuego.github.io/fuego/docs/tutorials/hello-world) along with full docs. Or jump into the [GitHub repo](https://github.com/go-fuego/fuego). 

Fuego, Inc.   

_QUICK BITS:_ 

- 🇮🇹 The [GoLab conference](https://golab.io/) took place in Italy a few months ago and they've just uploaded [▶️ lots of the talk videos](https://www.youtube.com/@golabconference9448/videos) – there's gold here, but we're still going through them.
- Vercel has been transitioning their Turborepo app from Go to Rust for a while, and they've blogged [about the final stages of doing that](https://vercel.com/blog/finishing-turborepos-migration-from-go-to-rust) and _'reaching the limits of the Go sandwich'._
- [▶️ Disney uses a Go-powered service](https://www.youtube.com/watch?v=UN1kW5AHid4) to capture over a billion emojis during live events.
- A tale of [scaling Go to 192 cores.](https://jazco.dev/2024/01/10/golang-and-epoll/)   

[Kubernetes CPU Limits and Go](https://www.ardanlabs.com/blog/2024/02/kubernetes-cpu-limits-go.html) — Go’s runtime doesn’t inherently know that it’s running within a Kubernetes environment, so you may want to take CPU limits and `GOMAXPROCS` into account if you’re doing this. 

William Kennedy   

[Give Go's `goto` a `retry`?](https://ammar.io/blog/go-goto-retry) — It's surely only a mild exaggeration to say many of us were brought up to 'never use `goto`' but a lot of developers have a strong aversion to its use. Nonetheless, Go has it, it’s used in the standard libraries, and it can be useful in a variety of cases. 

Ammar Bandukwala   

[How to Monitor for Keywords on Reddit with Go](https://kwatch.io/how-to-monitor-keywords-on-reddit-with-golang) — Reddit’s JSON API makes it pretty easy to scan but YMMV. 

Arthur at KWatch   

▶[Give Superpowers to Your Go App with WebAssembly and Extism](https://www.youtube.com/watch?v=ZCSDBVX96yI) 
Philippe Charrière   

[Understanding a Recent Optimization to `reflect.TypeFor`](https://utcc.utoronto.ca/~cks/space/blog/programming/GoReflectTypeForOptimization) 
Chris Siebenmann  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qay4qanip72movts5gqt.jpg)](https://github.com/brianvoe/gofakeit/releases/tag/v7.0.0)  

[Gofakeit v7: The Random Data Generation Library](https://github.com/brianvoe/gofakeit/releases/tag/v7.0.0) — You can ask it to generate things like random names, email addresses, phone numbers, job titles, and more, or have it help to [populate structs](https://github.com/brianvoe/gofakeit?tab=readme-ov-file#struct) using annotated data types. v7 integrates with Go 1.22’s `math/rand/v2` which can simplify usage in some cases shown in the release notes. ([Main docs](https://github.com/brianvoe/gofakeit?tab=readme-ov-file#installation).) 

Brian Voelker   

[ObjectBox Go 1.8: A Fast, Embedded Database for Go Objects](https://github.com/objectbox/objectbox-go) — Store objects in ObjectBox and find them again using [powerful queries](https://golang.objectbox.io/queries). v1.8 adds support for an in-memory database. 

ObjectBox Ltd.   

[WorkOS, the modern identity platform for B2B SaaS](https://workos.com/?utm_source=cpgolang&utm_medium=newsletter&utm_campaign=q12024) — WorkOS provides easy-to-use APIs for authentication, user identity, and complex enterprise features like SSO and SCIM. 

WorkOS sponsor   

[AWS Lambda Web Adapter: Run HTTP Webapps More Easily on AWS Lambda](https://github.com/awslabs/aws-lambda-web-adapter) — A Rust project in Go Weekly? 🫣 Fear not, this is a handy adapter that makes it easy to run apps built in _any_ language more easily on AWS’s serverless platform by letting them stick to their usual HTTP serving ways with the adapter bridging the gap. 

Amazon Web Services Labs   

- [go-redis 9.5](https://github.com/redis/go-redis/releases/tag/v9.5.0) – Redis client library. _(Be aware that [this version can fail](https://github.com/redis/go-redis/issues/2911) when used against older versions of Redis prior to v7.2.0)._
- [testfixtures 3.10](https://github.com/go-testfixtures/testfixtures) – Ruby on Rails-esque test fixtures for Go.
- [go-fault 1.0.2](https://github.com/lingrino/go-fault) – Inject faults using HTTP middleware.
- [Vale 3.1](https://vale.sh/) – A linter for natural language/prose.
- [Miniflux 2.1](https://miniflux.app/) – Minimalist and opinionated feed reader.
- [MongoDB Go Driver 1.14](https://github.com/mongodb/mongo-go-driver/releases/tag/v1.14.0) – The official Go driver for MongoDB.
- [eBPF 0.13](https://github.com/cilium/ebpf/releases/tag/v0.13.0) – Pure-Go library to work with eBPF programs.
- [go-resiliency 1.6](https://github.com/eapache/go-resiliency) – Resiliency patterns for Go.
- [Mockery 2.42](https://github.com/vektra/mockery) – Mock code autogenerator.     

🕰️ ICYMI (_Older links, still worth checking out_) 

- 🤖 The ability to run large language models (LLMs) locally is one of the more exciting developments around AI, and [Ollama is a Go-powered tool](https://eli.thegreenplace.net/2023/using-ollama-with-langchaingo/) to make it happen that's becoming increasingly popular in the space. [Official homepage](https://ollama.com/).
- Kyle Passarelli looks at [how to optimize your testing functions for readability](https://www.kpassa.me/posts/scenarios/), and the benefits of doing so.
- Here's a look at [building a realtime HTTP audio streaming server in Go](https://medium.com/@icelain/a-guide-to-building-a-realtime-http-audio-streaming-server-in-go-24e78cf1aa2c), including the ability to broadcast to clients using multiple loops, a ticker, and buffers.           

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
