---
title: "Go's great for working with LLMs"
publication: "Go Weekly"
issue: 523
published_at: "2024-09-17"
canonical_url: "https://golangweekly.com/issues/523"
---

Plus running Go in the browser, using Go for scripting, and Go's ranking against other languages. |        

#​523 — September 17, 2024 

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

Together with [![WorkOS\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_514,h_98/e_make_transparent/co_white,e_outline:9/tdfxwgk852ui9leli4wm.png)](https://workos.com/?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q32024)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gq1hrtwnublkjqvgwh9s.jpg)](https://go.dev/blog/llmpowered)  

[Building LLM-Powered Applications in Go](https://go.dev/blog/llmpowered) — The post describes some different approaches to creating a Retrieval-Augmented Generation (RAG) server with different toolsets: Gemini + Weaviate, LangChain, and Genkit. Go’s natural strengths seem to play well in the modern LLM/RAG arena. 

Eli Bendersky   [![\](https://copm.s3.amazonaws.com/2b9b9f5a.png)](https://workos.com/?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q32024) 

[WorkOS: The Modern Identity Platform for B2B SaaS](https://workos.com/?utm_source=cpgo&utm_medium=newsletter&utm_campaign=q32024) — WorkOS is a modern identity platform for B2B SaaS, offering flexible and easy-to-use APIs to integrate SSO, SCIM, and RBAC in minutes instead of months. It's trusted by hundreds of high-growth startups such as Perplexity, Vercel, Drata, and Webflow. 

WorkOS sponsor   

[Notes on Running Go in the Browser with WebAssembly](https://eli.thegreenplace.net/2024/notes-on-running-go-in-the-browser-with-webassembly/) — Eli explains the basics of calling Go from JavaScript, manipulating the DOM, using TinyGo to reduce the size of the resulting WASM binary, and running things concurrently using Web Workers. 

Eli Bendersky   

**IN BRIEF:** 

- There's less than a week to [fill out the latest Go community survey](https://go.dev/blog/survey2024-h2).
- The RedMonk developer analyst firm has put out [a Q3 2024 ranking of programming languages](https://redmonk.com/sogrady/2024/09/12/language-rankings-6-24/) with Go at 12th place. Ahead of Rust, at least!
- [TamaGo](https://www.phoronix.com/news/TamaGo-Bare-Metal-Go-ARM) is a framework for running Go apps on bare metal ARM/RISC-V SoCs.
- The _Go Time_ podcast's latest episode [▶️ digs into home automation with Go.](https://changelog.com/gotime/330)
- [A look at changes to channel-based timers in Go 1.23.](https://go.dev/wiki/Go123Timer)   

[Using Go Instead of Bash for Scripts](https://blog.kowalczyk.info/article/4b1f9201181340099b698246857ea98d/using-go-instead-of-bash-for-scripts.html) — Using Go to replace your scripts means only having to write the script once for all your platforms and not having to relearn OS-specific scripting languages. It’s more code, but that could be a small price to pay. 

Krzysztof Kowalczyk   

[Cryptography in Go: AES Encryption](https://bitfieldconsulting.com/posts/aes-encryption) — The last of a three-part excerpt from [John’s book](https://bitfieldconsulting.com/books/crypto) on Go and cryptography. You’re challenged with a couple of enciphering/deciphering problems using AES in Go, complete with John’s answers and explanations. 

John Arundel   

[Don't Pretty Print Your API's JSON Response Body](https://www.jvt.me/posts/2024/09/16/api-pretty/) — In other words, avoid spending time and resources doing something users can do on their own. 

Jamie Tanna      

📰 Classifieds   

🚀 The first GoLand 2024.3 EAP build is out! [Boost your productivity](https://blog.jetbrains.com/go/the-goland-2024-3-early-access-program-has-started/?var=1&utm_source=cooperpress&utm_medium=cpc&utm_campaign=goland&utm_content=170924) for free with the newest IDE features and improved performance. 

--- 

[Dragonfly (25k GitHub stars)](https://www.dragonflydb.io/?utm_campaign=cooperpress_go_sep24&utm_source=cooper_press&utm_medium=email&utm_content=Go%20Weekly) is a modern Redis replacement. Organizations that switch to Dragonfly can see 25X performance improvements.      

📄 [How to Implement Server-Sent Events in Go](https://www.freecodecamp.org/news/how-to-implement-server-sent-events-in-go/) – [Server-Sent Events](https://en.wikipedia.org/wiki/Server-sent_events) (SSE) is a Web technology for pushing updates from a server to a client without WebSockets. Alex Pliutau 

📄 [Transparent Proxy Implementation using eBPF and Go](https://cloudchirp.substack.com/p/transparent-proxy-implementation) Teodor J. Podobnik 

📄 [Dockerizing a Go API with MySQL and Docker Compose Support](https://blog.pradumnasaraf.dev/dockerizing-go-api) Pradumna Saraf 

📄 [A GitHub Trick to Find the Commit That Deleted a File](https://devblogs.microsoft.com/oldnewthing/20240909-00/?p=110234) Raymond Chen  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/d03pqwf2emnyno85b2ba.jpg)](https://play.tinygo.org/)  

[The TinyGo Playground (Now With More Resources)](https://play.tinygo.org/) — [TinyGo](https://tinygo.org/)’s playground lets you write code with simulated hardware (like LEDs, etc.) in your browser and now has double the CPU and RAM for your testing pleasure. It can now also show power consumption estimates for your code. 

TinyGo Project   

[Script 0.23: 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   

[Streamline Your Product Delivery with monday dev](https://monday.com/lp/tech?utm_medium=affiliates&utm_source=cooperpress&utm_banner=go_newsletter&utm_campaign=us-en-brand-dev-go_newsletter) — From ideation to launch, monday dev makes product delivery faster and simpler, all in one place. 

monday dev sponsor   

[Maelstrom: A Fast, Contained Test Runner for Multiple Languages](https://maelstrom-software.com/) — Currently supporting Go, Rust, and Python, this suite of tools runs tests in isolated micro-containers and claims to ‘just work’ with your existing tests. Those tests can then run on your local machine or across an entire cluster. [GitHub repo.](https://github.com/maelstrom-software/maelstrom) 

Maelstrom   

[PG Back Web 0.3: A Postgres Backup System with Web Interface](https://github.com/eduardolat/pgbackweb) — A Go-powered app for bringing a bit more of a friendly user interface to Postgres backups, as well as scheduled backups, backup monitoring, and webhooks. 

Luis Eduardo   

[FAIR: A Go Library for Serving Resources 'Fairly'](https://github.com/satmihir/fair) — Designed to ensure fairness in resource-constrained environments by distributing said resources evenly across multiple clients. 

Mihir Sathe   

- 🤖 [Mods 1.6](https://github.com/charmbracelet/mods/releases/tag/v1.6.0) – Charm's pipelineable AI CLI client. Now with more models.
- ⬛⬛⬜⬜⬜ [progressbar 3.15](https://github.com/schollz/progressbar) – Basic thread-safe progress bar.
- [pgxmock 4.3](https://github.com/pashagolub/pgxmock) – Mock driver to test Postgres interactions in Go.
- [Copacetic 0.8](https://github.com/project-copacetic/copacetic) – CLI tool for directly patching container images.
- [OpenTelemetry-Go 1.30](https://github.com/open-telemetry/opentelemetry-go) – OpenTelemetry Go API and SDK.
- [go-github 65.0](https://github.com/google/go-github) – Client library for the GitHub v3 API.         

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
