Go 1.22's improved HTTP routing capabilities

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, we linked to a discussion about enhancing http.ServeMux’s routing capabilities. In July, it became a proposal, and now Eli Bendersky gives a practical example of what the new multiplexer can offer and compares it against gorilla/mux. Hacker News hosted an extensive discussion too, with debate over the pros and cons of having a panic occur when multiple routes match and the use of magic strings vs. verb-specific methods. Go 1.22 is expected in early 2024, so expect to see more on this topic before then.

Eli Bendersky

Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital.

Ardan Labs Consulting sponsor

Why Gokrazy is Really Cool — Did you know there’s a minimal, Go-focused Linux implementation targeting the Raspberry Pi? gokrazy lets you deploy Go programs as ‘appliances’ on such devices (think something minimal like Alpine Linux but just for Go).

Xe Iaso

Retries: An Interactive Study of Common Retry Methods — A fantastic article packed with visual examples that explore different methods of retrying requests to show why some methods are better than others, concluding in some Go code implementing an ideal strategy.

Sam Rose

🚨 Go 1.21.3 and 1.20.10 were released. The main fix was for a widely-discussed HTTP/2 vulnerability where malicious clients could easily overwhelm HTTP/2 servers.

👥 Garrit Franke demonstrates how to organize multiple git identities, perhaps as a way to maintain separation between work and personal use.

🎤 The Go Time podcast discussed their experiences at GopherCon which took place last month in San Diego.

▶️ Popular Go YouTuber Anthony GG explained how he structures his new Go projects.

🏢 The Go team has been maintaining a collection of Go case studies covering companies like American Express, Dropbox, Cloudflare, and Uber.

📗 The Go101.org books have all been updated to Go 1.21 standards.

🛠 Code & Tools

Lip Gloss 0.9: 'My, How the Tables Have Turned'Lip Gloss provides a ‘fluent’-style API for stylizing text output from your programs, and has just added support for drawing tables (see above). The release post (linked) helpfully includes a quick tutorial to creating your own tables. GitHub repo.

Charm

Go OpenAI 1.16.0: Use OpenAI's APIs from Go — Provides access to ChatGPT, GPT-3, GPT-4, DALL-E, Whisper, and OpenAI’s embeddings. They maintain a nice collection of example uses in the README, and have just added one showing how to do semantic similarity comparisons between embeddings.

Sasha Baranov

📰 Classifieds

🗣️ Introducing: Timeline view for your Temporal Workflows! Learn more about visualizing Workflows in your own cluster, or in Temporal Cloud.


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

▶  Gosh: Writing Go at the Command Line“I’ve written a tool called gosh which I think fills a hole in the Go toolkit. Many languages offer a way to write code and execute it directly at the command line, Go doesn’t so I wrote gosh.”

Nick Wells

log/slog Handler Interface to Correlate with OpenTelemetry Spans — If you use both slog and OpenTelemetry, this may be for you. It adds various bits of information to the log record to assist in correlating against OTel spans.

Remy Chantenay

TruffleHog: Finds Leaked Credentials All Over The Place — Much as pigs will hunt for truffles, this Go-powered ‘hog’ will work its way through git repos, S3, your file system, and elsewhere, looking for secrets and other such nuggets you might not want out in the wild.

Truffle Security

Algernon: A Small Self-Contained Pure Go Web Server — With Lua, Markdown, HTTP/2, QUIC, Redis, MySQL and Postgres support.

Alexander F. Rødseth

n

Older messages

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

Fixing Go's for loops, for real

Tuesday, September 26, 2023

Plus we say hi to GopherCon 2023, GitHub's support for passkeys, and GoLand's latest EAP. | #​477 — September 26, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Organizing a Go

Explaining Go's WebAssembly System Interface support

Tuesday, September 19, 2023

Plus a simple Go static server, looking at JSON with 'fx', and gocron springs back into life. | #​476 — September 19, 2023 Unsub | Web Version Together with Fusion Auth Go Weekly fx 30: The Go-

Let's get optimizing

Tuesday, September 12, 2023

Plus some love for the Go gopher, and Go takes 8th place in IEEE's language roundup. | #​475 — September 12, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Profile-Guided Optimization

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 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌