Golang Weekly - 1 million concurrent tasks

Plus Google drops SimHospital on us, lots of data structures, and a C to WASM to Go odyssey. |

#​461 — May 23, 2023

Unsub  |  Web Version

Together with  Courier logo

Go Weekly

How to Start a Go Project in 2023 — The same author wrote a similar piece in 2018; a bit has changed since then. While this may be aimed at new gophers, experienced folks could find something to take away. “Older guides will mention setting up your $GOPATH. This is something you can comfortably ignore in 2023.” Quite!

Ben E. C. Boyter

On Adding a Reverse Operation to slices — The slices package defines several useful functions for working with slices, but there’s no way to reverse one in-place. This idea seems to be popular, though. There’s already a patch, and Russ Cox just recently put the idea forward to be reviewed at a proposal review meeting with the result being a 'likely accept.'

Alan Donovan et al.

We Built a Custom User Notification Center for Go Apps — This customizable service can be dropped into any front end and give the user a centralized place to interact with all things notifications like important alerts, customizable preferences, and even toast messages.

courier․com sponsor

A Guide to Zap Logging in GoZap is a popular, high-performance leveled logging option for Go and here’s a particularly well written, comprehensive, and practical walkthrough.

Better Stack Team

IN BRIEF:

Let's Enhance http.ServeMux's Routing? — Jonathan Amsterdam has kicked off a discussion that he hopes will lead to a proposal to extend the standard HTTP multiplexer’s capabilities by adding HTTP method-based routing and support for wildcards in matched paths. It goes deeper than you’d expect and if you have any interest in HTTP serving and routing game, dive in.

Jonathan Amsterdam

C to WASM to Go — Adding MySQL-compatible regex support to Dolt (a Git-inspired SQL database) proved quite a journey with the simplest solution still being complex. This post touches on CGo, WebAssembly, go embed, and a slew of other tools and technologies.

Daylon Wilkins (DoltHub)

Video: Most Common Kubernetes Security Misconfigurations — Anaïs and Ben discuss Kubernetes misconfigurations, what they are, and how to identify, prevent, and fix them.

Teleport | goteleport․com sponsor

Using a Go Package in Python via Gopy — Gopher and Python sitting in a tree.. etc. etc. Gopy generates CPython extensions from Go packages, so you can use Go code from Python.

Arjun Mahishi

Steps to Build a 'Snake' Game in GoEbiten is ideal for this.

Kuldeep Singh

If you like this sort of thing, last year's guide on building a Pong game was good too. (Part two.)

🛠 Code & Tools

Mods: Charm-ing AI for the Command Line? — Those Charm folks (of Bubble Tea fame) are back again with another command line concoction: this time in the shape of an OpenAI-powered command line AI tool for analyzing code, making recommendations, writing docs, and more.

Charm

go-datastructures 1.1: Numerous Threadsafe Data Structures — There’s a lot packed in here: queues, heaps, trees, sets, tries, skiplists, graphs, and often multiple types of each.

Workiva

Auth. Built for Devs, by Devs — Easily add login, registration, SSO, MFA, user management and a bazillion more auth features to your Go application.

FusionAuth sponsor

Simulated Hospital: Generate Realistic, Configurable Hospital Patient Data — Sadly it’s not a rehash of 1997’s Theme Hospital, but if you have to work with patient data (think HL7v2 records), then this ‘SimHospital’ might make your local testing and development easier and safer.

Google

Gain: High-Perf io_uring Networking Framework in Pure Go — Currently only Linux is supported and it’s considered a not-for-prod alpha.

Paweł Gaczyński

Neotest: A Framework for Interacting with Tests from NeoVim — If you’re a NeoVim user, this is for you. It’s written in Lua but neotest-go extends it to support working with Go-based tests.

Rónán Carrigan et al.

  • FerretDB 1.2 – Open MongoDB alternative. Now with a SQLite backend option.

  • VHS 0.5 – CLI 'home video recorder'. "Write terminal GIFs as code for integration testing and demoing your CLI tools."

  • Roaring 1.3
    ↳ Compressed bitmap data structure.

  • Lancet 2.2
    ↳ 100+ common reusable functions for Go.

  • Buf 1.19
    ↳ CLI for working with Protocol Buffers.

  • DNSControl 4.0
    ↳ DSL to sync your DNS to multiple providers.

  • OpenFGA 1.1
    ↳ Google Zanzibar-inspired permissions engine.

Jobs

Game of Realms Contributor in Gno.land — Want to do something different? Help build Gno.land, the next-generation smart contract platform for web3. We hire contributors.
Gno.land

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.
Hired

🧑‍💻 Got a job listing to share? Here's how.

n

Older messages

The latest Go survey results

Tuesday, May 16, 2023

Plus Go-powered robots, parsing Go with regular expressions, and a big serving of Barf. | #​460 — May 16, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly The Go Developer Survey 2023 Q1

A modest proposal?

Tuesday, May 9, 2023

Plus Go 1.20.4, a way to visualize call graphs, Go GUI bindings, and a pure Go machine learning library. | #​459 — May 9, 2023 Unsub | Web Version Together with Teleport logo Go Weekly go-callvis:

Writing an OS in Go?

Tuesday, May 2, 2023

Plus random testing, a turbocharged gRPC workflow, and a plea to OpenAI. | #​458 — May 2, 2023 Unsub | Web Version Together with Helios Go Weekly Rueidis 1.0: A Fast Redis Client with Caching —

Test gains and memory drains

Tuesday, April 25, 2023

Plus a real time strategy game built in Go, and a mutation testing tool. | #​457 — April 25, 2023 Unsub | Web Version Together with Courier logo Go Weekly How to Troubleshoot Memory Leaks with Grafana

What do you get when you cross a LLaMA with a Gopher?

Wednesday, April 19, 2023

Plus when TinyGo beats C++, domain driven design in Go, and how Go calls Windows' APIs. | #​456 — April 18, 2023 Unsub | Web Version Together with JetBrains The Go Weekly Newsletter Go's Error

You Might Also Like

📧 Did you want this discount?

Thursday, March 6, 2025

​ Hey, it's Milan. I want to make sure you see this today because it may be gone this weekend: There are 29 coupons left to join Pragmatic REST APIs with 30% off. After that, the price goes back to

Tiny Type On Yellow Pages ☎️

Thursday, March 6, 2025

That time phone books got a font upgrade. Here's a version for your browser. Hunting for the end of the long tail • March 5, 2025 Tiny Type On Yellow Pages Why AT&T had to redesign its primary

Simplify Kotlin Error Handling

Thursday, March 6, 2025

View in browser 🔖 Articles Goodbye try-catch, Hello runCatching! Exception handling in Kotlin just got cleaner! This article explores how runCatching can replace traditional try-catch blocks, making

JSK Daily for Mar 5, 2025

Wednesday, March 5, 2025

JSK Daily for Mar 5, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Unions and intersections of object types in TypeScript In this blog post, we explore what

Daily Coding Problem: Problem #1709 [Medium]

Wednesday, March 5, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Given an array of integers, write a function to determine whether the array

How Swiss Tables make Go 1.24 faster

Wednesday, March 5, 2025

Plus a way to call external library functions without Cgo. | #​544 — March 5, 2025 Unsub | Web Version Together with pgAnalyze Go Weekly Faster Go Maps with Swiss Tables — One of Go's newest

Mapped | European Fertility Rates by Country 👶

Wednesday, March 5, 2025

The population replacement threshold is a fertility rate of 2.1. In 2025, all of Europe, except one small nation, is well below that level. View Online | Subscribe | Download Our App Invest in your

Trust in JS supply chain; sync vs. async code; JIT vulnerabilities; parseInt() and keycap emojis; V8

Wednesday, March 5, 2025

We have 10 links for you - the latest on JavaScript and tools Secure your JavaScript dependencies. socket.dev Sponsor Open source code makes up 90% of most codebases. Socket detects what traditional

The importance of flow state for developers

Wednesday, March 5, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

This beefy phone is a projector too 📽️

Wednesday, March 5, 2025

Biggest tech opps; How Firefox changed; Drone flying tips -- ZDNET ZDNET Tech Today - US March 5, 2025 GOTRAX 4 electric scooter A smartphone that's also a projector? I tested it, and it's