Golang Weekly - A Charm-ed life for Go CLI tooling

Plus oapi-codegen v2, detecting goroutine leaks, and using Go instead of Rust to build a desktop app. |

#​483 — November 7, 2023

Unsub  |  Web Version

Together with  Dragonfly

Go Weekly

Charm Raises $6M to Build the Next Generation of the Command Line — Like much of the Go community, we’ve been huge fans of Charm’s approach to building useful Go-based tools and CLI libraries (such as Bubble Tea), so this is fantastic news. It’s mostly not about the money raised, either, but a roundup of Charm’s work in the area of CLI development and the projects they’ve released so far.

Toby Padilla and Christian Rocha (Charm)

Why a Team Used Go Instead of Rust to Develop a Desktop AppKrater, a desktop app for debugging Laravel apps, was initially developed in Rust using Tauri, but shifted to using Go with Wails due to Go’s developer experience.

Ronald Pereira

A Data Store Built for Modern Workloads — Dragonfly is a drop-in Redis replacement. Applications built on Dragonfly get the speed, reliability, and scalability that modern apps require, allowing you to deliver incredible experiences to your users while reducing costs and complexity.

Dragonfly sponsor

Go, Containers, and the Linux Scheduler — If you’re running Go in containers, the runtime will create one thread per CPU core regardless of any limit set by the container runtime. This can lead to significant GC cycle times, but GOMAXPROCS is your friend and it’s easy to apply.

River Phillips

QUICK BITS:

Generic Sorting in Go 1.21: A Tale of Two Performances — An analysis of the performance of the new generic slices.Sort function introduced in Go 1.21 reveals that while it provides a faster sorting method for numbers, it unexpectedly underperforms when sorting strings. This issue on GitHub might help you understand why, and how it may be resolved.

Andreas Auernhammer

Running the “Reflections on Trusting Trust” Compiler — Russ tells the story of Ken Thompson (co-creator of Unix) giving a talk on how to create a backdoor in a C program in the early 80s, which Russ attempts to recreate in Go.

Russ Cox

📰 Classifieds

Join Sticker Mule's "kick ass" team as a Site Reliability Engineer! Our software team operates from 17 countries and we're looking for more exceptional engineers to join our Security team.


Lead a team of engineers to shape the future of live video at Dyte: Lead an engineering team responsible for critical backend systems and APIs. Optimize, scale, and play a pivotal role in shaping product direction.


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

How We Reduced oapi-codegen's Dependency Overhead by ~84% — How to reduce the size of a module’s dependencies by taking advantage of module pruning. (More on the actual release, below.)

Jamie Tanna

Exploring Columnar Compression Challenges in Go
Jamie Brandon

🛠 Code & Tools

oapi-codegen v2: OpenAPI Client and Server Code Generator — A popular set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions, now with far fewer dependencies than before. If you want to see how to use it, start here.

DeepMap, Inc

The Redis Client for Go v9.3 – Now with JSON — The official Redis client takes a big step forward with direct support for JSON (which is directly supported by Redis when using the RedisJSON module).

Redis Team

Free Course: Introduction to Temporal Cloud — Check out our new course on the role and features of Temporal Cloud, designed for new and experienced users alike.

Temporal Technologies sponsor

DoltgreSQL: Postgres-Compatible Database with Version Control FunctionalityDolt is a long-standing Go-powered database providing a ‘git for data’-style experience with branching, cloning, merging and more, using the MySQL wire protocol. DoltgreSQL offers the same but emulates a Postgres server.

Daylon Wilkins

env 10.0: Parse Environment Variables to Structs — Simple, no dependencies, and supporting all built-in types as well as time.Duration, encoding.TextUnmarshaler and url.URL – you can define a custom parser function for any other type you want to support, too.

Carlos Alexandro Becker

GoLeak 1.3: Goroutine Leak Detector — Use this to detect if there are any unexpected goroutines running at the end of a test.

Uber Engineering

💬 QUOTE

“The best programs are the ones written when the programmer is supposed to be working on something else.”

___
Melinda Varian

n

Older messages

Some Go tricks and treats

Tuesday, October 31, 2023

Plus how pointers are the 'broccoli' of Go. | #​482 — October 31, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Awesome Go: Thousands of Categorized Go Resources — A useful

Wishing the 'if err != nil's away..

Tuesday, October 24, 2023

Plus using fuzzing to find a Go bug, a modern alternative to 'watch', and an Atari emulator in Go. | #​481 — October 24, 2023 Unsub | Web Version Together with Bosch Go Weekly ! 'Bang'-

Go 1.22's improved HTTP routing capabilities

Thursday, October 19, 2023

Plus the Go-powered Linux distro, and Lip Gloss turns the tables. | #​480 — October 17, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Better HTTP Server Routing in Go 1.22 — Back in May,

Considering a v2 of encoding/json

Tuesday, October 10, 2023

Plus getting your head around type inference in Go. | #​479 — October 10, 2023 Unsub | Web Version Together with Crunchydata Go Weekly Thinking About a Better encoding/json — Led by Joe Tsai, but with

It's Go vs Rust again

Tuesday, October 3, 2023

Plus a native Go SSH client, and Rob Pike's off to Australia. | #​478 — October 3, 2023 Unsub | Web Version Together with Three Dots Labs Go Weekly Rust vs Go: A Hands-On Comparison — Despite all

You Might Also Like

Daily Coding Problem: Problem #1708 [Medium]

Tuesday, March 4, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Indeed. Given a 32 -bit positive integer N , determine whether it is a power of four in

Underscore Naming, Flask-SQLAlchemy, Kivy, and More

Tuesday, March 4, 2025

Single and Double Underscore Naming Conventions in Python #671 – MARCH 4, 2025 VIEW IN BROWSER The PyCoder's Weekly Logo Single and Double Underscore Naming Conventions in Python In this video

Dial An Advertiser ☎️

Tuesday, March 4, 2025

Things like phone books existed before phone books. Here's a version for your browser. Hunting for the end of the long tail • March 4, 2025 I've decided to stop being so unfair to myself with

Ranked | The World's Top 20 Economies by GDP Growth (2015-2025) 📊

Tuesday, March 4, 2025

Halfway through the 2020s, here's a report card on the top 20 economies and their progress since 2015. View Online | Subscribe | Download Our App Presented by Hinrich Foundation NEW REPORT:

Open Source Isnt Dead...Its Just Forked

Tuesday, March 4, 2025

Top Tech Content sent at Noon! Augment Code: Developer AI for real eng work. Start for free Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, March 4,

LW 172 - How to Make Compare at Pricing Show at Checkout    

Tuesday, March 4, 2025

How to Make Compare at Pricing Show at Checkout ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ Shopify Development news and articles Issue 172 -

Issue 165

Tuesday, March 4, 2025

💻🖱️ A single click destroyed this man's entire life. Fake murders get millions of YouTube views. Zuckerberg can now read your silent thoughts. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

This top multitool is under $30

Tuesday, March 4, 2025

Thinnest phone ever?📱; ArcoPlasma; Siri alternatives 🗣️ -- ZDNET ZDNET Tech Today - US March 4, 2025 GOTRAX 4 electric scooter I finally found a high-quality multitool for under $30 Compact and durable

Post from Syncfusion Blogs on 03/04/2025

Tuesday, March 4, 2025

New blogs from Syncfusion ® Stacked vs. Grouped Bar Charts in Blazor: Which is Better for Data Visualization? By Gowrimathi S Learn the difference between the stacked and grouped bar charts and choose

⚙️ GenAI Siri

Tuesday, March 4, 2025

Plus: TSMC's hundred billion dollar investment ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌