#​465 — June 20, 2023

Unsub  |  Web Version

Together with  Courier logo

Go Weekly

Initializing Large Static Maps in GoDolt is an SQL database implemented in Go and it needed to bring a lot of static data tables into its binary for string collation purposes. The team's first approach hurt performance, so they worked through some alternative methods and compared them against each other.

Aaron Son (DoltHub)

math/rand/v2: A New API for math/rand? — Russ suggests using the standard library’s math/rand as a starting point and extending it into a ‘v2’ variant with a variety of backwards incompatible changes like removing deprecated features and changing a couple of the RNG implementations.

Russ Cox

Revolutionize User Engagement with a Notification Inbox: Go SDK — The ultimate notification center for web and mobile apps, ensuring timely and tailored messages for users to stay in touch with what is happening inside the app. Say goodbye to overwhelmed email experiences and hello to optimized user experiences!

Courier.com sponsor

Focus on the Happy Path with the 'Step Functions' Pattern — No, not AWS Step Functions, but an approach to chaining the execution of a string of Go functions together in an easy to manage way.

Preslav Rachev


▶  Comparing Stacks for Building REST APIs: Go vs the World — You’ll need some time to work through these, but it’s interesting to see a single developer take on the task of implementing a CRUD-style REST API in ten different ecosystems. ▶️ The Go-based one leans on the now-archived Mux, but you can also enjoy quick tours of doing the same in Java, Rust, PHP, C#, and others.

Francesco Ciulla

kubectl Cheat Sheet — Your guide on how best to integrate the most common kubectl commands and helpful tools for further optimization.

Teleport | goteleport.com sponsor

▶  Go Pointers: When and How To Use Them Efficiently
Anthony GG

AutoML Pipeline for Tabular Data on VertexAI in GoVertex AI is Google Cloud’s machine learning platform – for now.
Paolo Galeone

🛠 Code & Tools

Dasel: Query and Update Data Structures from the Command Line — 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

Pie 2.7: A Utility Library for Dealing with Slices — Ways to work with slices with a focus on type safety, performance and immutability.

Elliot Chance

GoAWK: An AWK Interpreter Written in GoAWK is a text processing language with a long history. GoAWK has recently been updated, but if you missed it back in the day, Ben did a great blog post explaining the project.

Ben Hoyt

Tuple – The Fastest Way to Onboard New Devs — Waste hours verbally steering on Zoom? New hires learn your codebase faster with Tuple. Trusted by over 40,000 devs.

Tuple sponsor

Dbmate: A Lightweight, Framework-Agnostic Database Migration Tool — Written in Go but can be used alongside database-using apps written in any language. Supports MySQL, Postgres, SQLite and ClickHouse.

Adrian Macneil

Anywherelan: A Mesh VPN System Built in Go — Think WireGuard or Tailscale but.. not. It’s fully peer to peer with no third-party coordination servers required and works on Windows, Linux, and Android.


pgfs: fs.FS Implementation Atop Postgres's Large Objects API
Mohamed Attahri


Join the Gno.land Team — Get to gno us! Sign up for a Q&A with our team to learn about joining Gno.land and building the next-gen smart contract platform.

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

  • Mergo 1.0 – Helper to merge structs and maps.

  • FerretDB 1.4 – A database that acts like MongoDB but uses Postgres for storage.

  • Goxygen 0.5 – Generate Web projects with Go and Angular, React or Vue.

  • sh 3.7 – Shell parser, formatter, and interpreter.

  • RoseDB 2.1 – Bitcask-inspired key/value storage engine.

  • Dolt 1.5 – SQL database with a Git-like approach to data.

  • Hertz 0.6.5 – HTTP microservices framework.

  • Ginkgo 2.11 – Go testing framework.