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

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 Handling is a Form of Storytelling — That’s probably one of the kindest ways I’ve heard Go’s approach to error handling described, but the author makes the argument that good error messages add up and tell a story.

Preslav Rachev

Staying on the theme of errors, Dolthub's Max Hoffman also wrote about where panics have their place, how panicking is faster than raising errors, and the tradeoffs you need to consider between the two.

Try GoLand 2023.1! — This version introduces the vulnerability checker and better navigation through gRPC code. We’ve also updated the Code Vision feature so that GoLand now shows both the number of implementations for an interface and its method specifications.

JetBrains sponsor

Improving Tailscale via Apple’s Open Source — This is only related to Go in as much as Tailscale’s client is written in it, but it’s an interesting tale of how digging through some of Apple’s code has paid dividends in improving Tailscale’s own functionality.

Mihai Parparita (Tailscale)

Tailscale's Jordan Whited also wrote about optimizations made to push Tailscale into the '10Gb/s club' and where some loop unwinding in Go helped.

The Tao of Go“If we were to approach software development in Go in a sensitive, intelligent way, following the natural contours of the language and the problem rather than trying to bulldoze them out of the way, what would that look like? Let’s try to establish a few general principles.”

John Arundel

IN BRIEF:

An Indepth Look at Go's Windows Calls — After analyzing a variety of Go malware, the author ended up picking up a lot about how Go calls Windows’ APIs under the hood. This is detailed and not for the faint of heart.

Leandro Froes

Six Best Practices for Kubernetes Audit Logging — Cohesive auditing policies? Reliable backends? Here’s why you need all that plus RBAC, consistent log formats, and more.

Teleport | goteleport․com sponsor

▶  Why Go is Great for Command-Line Tools — The latest in a line of short YouTube videos from Google selling the benefits of Go, we assume, to companies and teams considering Go but not yet using it. (3 minutes)

Go Team

How Go Fixed Everything That Was Wrong with Programming — A bold claim, but unsurprisingly this is an opinion piece ;-)

Jan Kammerath

🛠 Code & Tools

llama.go – It's Like llama.cpp in Pure Go — This is exciting, but there’s a lot to unpack if you’re not into modern large language models. If you’ve heard of ChatGPT, it relies on a ‘large language model’ (LLM) and LLaMA is Facebook/Meta’s attempt at producing one of their own. llama.cpp is a C++ app to use the LLaMA model efficiently, and now llama.go is a Go attempt. Oh, and you need a lot of memory. Phew.

Serge Gotsuliak

Queue 1.2: Generic, Thread-Safe Queue Implementations — Specifically, blocking, priority and circular queues.

Adrian Brad

Domain Names for Go Programmers at Porkbun.com — Porkbun has the best domain names for Go programmers to show off your work. Get .app, .dev, and more at the best prices.

Porkbun Domain Registrar sponsor

Opengist: A Self-Hosted Pastebin — A git-powered Gist-like pastebin app with more features than you might exepct.

Thomas Miceli

go-mask: Library for Masking Sensitive Information — Mask sensitive information or data that you don’t want to output by setting tags on structs.

showa

µDiff: A Small Diffing Library — Implements the 📄 Myers’ algorithm for finding differences between strings.

Ayman Bagabas

QUICK RELEASES:

Jobs

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 smallest Go binary

Tuesday, April 11, 2023

Plus what's new in GoLand, how to parse spreadsheets from Go, GoReleaser 1.17, and treating ourselves to some Gin. | #​455 — April 11, 2023 Unsub | Web Version ℹ️ As mentioned last time, Go Weekly

'Til Tuesday

Friday, March 31, 2023

Plus it's Go 1's 11th birthday, a GUI app for viewing Go execution traces, and a new way to make and use network block devices. | #​454 — March 31, 2023 Unsub | Web Version ℹ️ A quick

Go on the Xbox?

Friday, March 24, 2023

Plus the power of single method interfaces, a new way to optimize structs, and a simple parser package built upon struct field tags. | #​453 — March 24, 2023 Unsub | Web Version Together with Ardan

Structured logging is a go

Friday, March 17, 2023

Plus real world Go concurrency examples, flame graphs, and there's more than one way to structure a Go project. | #​452 — March 17, 2023 Unsub | Web Version Together with Shortcut The Go Weekly

The journey to faster JSON parsing

Friday, March 10, 2023

Plus Go re-enters the TIOBE top 10, using multi-module workspaces, and what the Go team is talking about. | #​451 — March 10, 2023 Unsub | Web Version Together with Ardan Labs The Go Weekly Newsletter

You Might Also Like

The Power of an Annual Review & Grammarly acquires Coda

Sunday, December 22, 2024

I am looking for my next role, Zen Browser got a fresh new look, Flipboard introduces Surf, Campsite shuts down, and a lot more in this week's issue of Creativerly. Creativerly The Power of an

Daily Coding Problem: Problem #1645 [Hard]

Sunday, December 22, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Implement regular expression matching with the following special characters: .

PD#606 How concurrecy works: A visual guide

Sunday, December 22, 2024

A programmer had a problem. "I'll solve it with threads!". has Now problems. two he ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

RD#486 (React) Things I Regret Not Knowing Earlier

Sunday, December 22, 2024

Keep coding, stay curious, and remember—you've got this ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🎶 GIFs Are Neat, but I Want Clips With Sound — Your Own Linux Desktop in the Cloud

Sunday, December 22, 2024

Also: 9 Games That Were Truly Ahead of Their Time, and More! How-To Geek Logo December 22, 2024 Did You Know Dextrose is another name for glucose, so if you see it listed prominently on the ingredients

o3—the new state-of-the-art reasoning model - Sync #498

Sunday, December 22, 2024

Plus: Nvidia's new tiny AI supercomputer; Veo 2 and Imagen 3; Google and Microsoft release reasoning models; Waymo to begin testing in Tokyo; Apptronik partners with DeepMind; and more! ͏ ͏ ͏ ͏ ͏ ͏

Sunday Digest | Featuring 'The World’s 20 Largest Economies, by GDP (PPP)' 📊

Sunday, December 22, 2024

Every visualization published this week, in one place. Dec 22, 2024 | View Online | Subscribe | VC+ | Download Our App Hello, welcome to your Sunday Digest. This week, we visualized public debt by

Android Weekly #654 🤖

Sunday, December 22, 2024

View in web browser 654 December 22nd, 2024 Articles & Tutorials Sponsored Solving ANRs with OpenTelemetry While OpenTelemetry is the new observability standard, it lacks official support for many

😸 Our interview with Amjad Masad

Sunday, December 22, 2024

Welcome back, builders Product Hunt Sunday, Dec 22 The Roundup This newsletter was brought to you by AssemblyAI Welcome back, builders Happy Sunday! We've got a special edition of the Roundup this

C#537 Automating Santa's Workshop with NServiceBus

Sunday, December 22, 2024

Using event-driven architecture for effective gift delivery 🎄🎁 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌