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

Learn How to Use AI to Reach Your Full Potential, newsletterest1!

Sunday, May 19, 2024

3 Ways AI Can Help Your Writing ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌ ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌  ͏ ‌

Software Testing Weekly - Issue 220

Saturday, May 18, 2024

Software Testing Conferences 📚 View on the Web Archives ISSUE 220 May 18th 2024 COMMENT Welcome to the 220th issue! Have you ever been to a testing conference? They're a great way to learn about

📶 Is a Cellular iPad Worth It? — How to Prevent YouTube From Taking Over Your Screensaver

Saturday, May 18, 2024

Also: This Robot Vacuum Can Clean Stairs, and More! How-To Geek Logo May 18, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by

Weekend Reading — Objection-oriented programming

Saturday, May 18, 2024

This week we find a power-up box, replace GitHub Actions with Maven XMLs, avoid the worst website in the world, revisit RTO policies, “listen” to OpenAI employees, watch our Slack private messages, do

Daily Coding Problem: Problem #1445 [Easy]

Saturday, May 18, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Jane Street. The United States uses the imperial system of weights and measures, which

You don’t have to take our word for it…

Saturday, May 18, 2024

You can probably tell how excited we are to re-launch our Gigantic courses – which bring on-demand product management training for today's modern Product Managers and Product Leaders. In fact, we

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In

Visualized | Life Expectancy by Region (1950-2050F) 📊

Saturday, May 18, 2024

This map shows life expectancy at birth for key global regions, from 1950 to 2050F. View Online | Subscribe Presented by Voronoi: The App Where Data Tells the Story FEATURED STORY Life Expectancy by

New Wi-Fi Vulnerability Enables Network Eavesdropping via Downgrade Attacks

Saturday, May 18, 2024

THN Daily Updates Newsletter cover The DevSecOps Playbook: Deliver Continuous Security at Speed ($19.00 Value) FREE for a Limited Time A must-read guide to a new and rapidly growing field in

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In