---
title: "Random numbers in Go, version 2"
publication: "Go Weekly"
issue: 465
published_at: "2023-06-20"
canonical_url: "https://golangweekly.com/issues/465"
---

Plus how and when to use Go pointers effectively, Mergo 1.0, and just how much Go is 'admired and desired.' |        

#​465 — June 20, 2023 

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

Together with [![Courier logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_280,h_50/e_make_transparent/co_white,e_outline:7/clkuuoftwiz8z2xjnkhb.png)](https://github.com/trycourier/courier-go)  

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ryvif3nkfqsyfugqhxae.jpg)](https://www.dolthub.com/blog/2023-06-16-static-map-initialization-in-go/)  

[Initializing Large Static Maps in Go](https://www.dolthub.com/blog/2023-06-16-static-map-initialization-in-go/) — [Dolt](https://github.com/dolthub/dolt) 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`?](https://github.com/golang/go/discussions/60751) — 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   [![\](https://copm.s3.amazonaws.com/00a9327b.png)](https://github.com/trycourier/courier-go) 

[Revolutionize User Engagement with a Notification Inbox: Go SDK](https://github.com/trycourier/courier-go) — 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](https://preslav.me/2023/06/14/golang-focus-on-the-happy-path-with-step-functions/) — No, not [AWS Step Functions](https://aws.amazon.com/step-functions/), but an approach to chaining the execution of a string of Go functions together in an easy to manage way. 

Preslav Rachev   

**IN BRIEF:** 

- 🔊 We linked to the 15-minute weekly Go podcast [Cup o'Go](https://cupogo.dev/) when it launched and it's still going strong with [▶️ the latest episode](https://cupogo.dev/episodes/why-would-they-change-math-math-is-math-also-the-internet-is-on-strike-and-other-go-news) talking about the Reddit strike, [Women Who Go](https://www.womenwhogo.org/), and [Fyne](https://fyne.io/).
- If GitHub is looking a little different for you lately, [here's why.](https://github.blog/2023-06-15-exploring-github-with-the-redesigned-navigation-now-in-public-beta/) They've redesigned their navigation system and it's now being gradually pushed out.
- [GoLand 2023.3 EAP 5 has landed](https://blog.jetbrains.com/go/2023/06/16/goland-2023-2-eap-5/) with improvements to how you update dependencies in `go.mod` files, plus extra Kubernetes and Docker features.
- The [2023 Stack Overflow Developer Survey results](https://survey.stackoverflow.co/2023/) are out and Go has fared reasonably well coming in as the 13th [most popular technology](https://survey.stackoverflow.co/2023/#technology-most-popular-technologies) (lucky for some), 9th in the list of ['admired and desired' languages](https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages), and did very well in the list of [top paying technologies](https://survey.stackoverflow.co/2023/#section-top-paying-technologies-top-paying-technologies) too.
- VMware Labs has [announced support for Go workers](https://wasmlabs.dev/articles/go-support-on-wasm-workers-server/) on its Wasm Worker Server.    

▶[Comparing Stacks for Building REST APIs: Go vs the World](https://www.youtube.com/playlist?list=PLPoSdR46FgI4K36elsmeoUynDUXhjvtEn#stacks) — 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](https://www.youtube.com/watch?v=aLVJY-1dKz8&list=PLPoSdR46FgI4K36elsmeoUynDUXhjvtEn&index=7) leans on the now-archived [Mux](https://github.com/gorilla/mux), but you can also enjoy quick tours of doing the same in Java, Rust, PHP, C#, and others. 

Francesco Ciulla   

[kubectl Cheat Sheet](https://goteleport.com/blog/kubectl-cheatsheet/?utm_campaign=0411KubectlBlog&utm_medium=partner&utm_source=golang) — 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](https://www.youtube.com/watch?v=3WsEDZRif6U) 
Anthony GG   

[AutoML Pipeline for Tabular Data on VertexAI in Go](https://pgaleone.eu/golang/vertexai/2023/06/14/automl-pipeline-tabular-data-vertexai-go-golang/) — [Vertex AI](https://cloud.google.com/vertex-ai) is Google Cloud’s machine learning platform – for now. 
Paolo Galeone  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nytoggbflsg9hyq1xtve.jpg)](https://github.com/TomWright/dasel)  

[Dasel: Query and Update Data Structures from the Command Line](https://github.com/TomWright/dasel) — 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](https://github.com/elliotchance/pie) — Ways to work with slices with a focus on type safety, performance and immutability. 

Elliot Chance   

[GoAWK: An AWK Interpreter Written in Go](https://github.com/benhoyt/goawk) — [AWK](https://en.wikipedia.org/wiki/AWK) 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](https://benhoyt.com/writings/goawk/) explaining the project. 

Ben Hoyt   

[Tuple – The Fastest Way to Onboard New Devs](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=sponsorship-blitz&utm_content=Go+Newsletter_Onboarding+Link) — 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](https://github.com/amacneil/dbmate) — 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](https://github.com/anywherelan/awl) — 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. 

Unknown   

[pgfs: `fs.FS` Implementation Atop Postgres's Large Objects API](https://pkg.go.dev/mohamed.attahri.com/pgfs) 
Mohamed Attahri     

Jobs  

[Join the Gno.land Team](https://docs.google.com/forms/d/e/1FAIpQLSexAk7JObOd6FSQXm6Qx91DXYKCgqo65NXdRIZXn6-EatL4Ew/viewform) — Get to gno us! Sign up for a Q&A with our team to learn about joining [Gno.land](https://gno.land/) and building the next-gen smart contract platform. 
Gno.land   

[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) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired      

- [Mergo 1.0](https://github.com/imdario/mergo) – Helper to merge structs and maps.
- [FerretDB 1.4](https://github.com/FerretDB/FerretDB) – A database that acts like MongoDB but uses Postgres for storage.
- [Goxygen 0.5](https://github.com/Shpota/goxygen) – Generate Web projects with Go and Angular, React or Vue.
- [sh 3.7](https://github.com/mvdan/sh) – Shell parser, formatter, and interpreter.
- [RoseDB 2.1](https://github.com/rosedblabs/rosedb) – Bitcask-inspired key/value storage engine.
- [Dolt 1.5](https://github.com/dolthub/dolt) – SQL database with a Git-like approach to data.
- [Hertz 0.6.5](https://github.com/cloudwego/hertz) – HTTP microservices framework.
- [Ginkgo 2.11](https://github.com/onsi/ginkgo) – Go testing framework.         

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
