#​523 — September 17, 2024

Unsub  |  Web Version

Together with  WorkOS

Go Weekly

Building LLM-Powered Applications in Go — 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

WorkOS: The Modern Identity Platform for B2B SaaS — 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 — 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:

Using Go Instead of Bash for Scripts — 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 — The last of a three-part excerpt from John’s book 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 — 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 for free with the newest IDE features and improved performance.


Dragonfly (25k GitHub stars) is a modern Redis replacement. Organizations that switch to Dragonfly can see 25X performance improvements.

📄 How to Implement Server-Sent Events in GoServer-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 Teodor J. Podobnik

📄 Dockerizing a Go API with MySQL and Docker Compose Support Pradumna Saraf

📄 A GitHub Trick to Find the Commit That Deleted a File Raymond Chen

🛠 Code & Tools

The TinyGo Playground (Now With More Resources)TinyGo’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 — 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 — 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 — 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.

Maelstrom

PG Back Web 0.3: A Postgres Backup System with Web Interface — 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' — Designed to ensure fairness in resource-constrained environments by distributing said resources evenly across multiple clients.

Mihir Sathe