Golang Weekly - Go on the Xbox?

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 Labs

The Go Weekly Newsletter

Make Your Go Programs Use Less Memory.. Maybe — betteralign is a tool to detect structs that would use less memory if their fields were sorted and to then, optionally, sort such fields. It’s a fork of Go’s own fieldalignment tool that skips generated or test files, skips specially marked structs, doesn’t drop comments, and similar DX enhancements.

Dinko Korunic

Implementing a Generic Set Type — To celebrate the first anniversary of generics in Go (Go 1.18 was released in March 2022), John decided to build something useful with them: a generic Set type, complete with useful methods.

John Arundel

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

The Power of Single-Method Interfaces — Eli shows why single-method interfaces (sometimes called SMIs) can do whatever higher order functions can do and more, and why they provide a more general and powerful approach even if they’re more verbose in some cases.

Eli Bendersky

🕹  Ebitengine 2.5: The 2D Game Engine for Go — v2.5 of the long standing library includes initial, limited Xbox support, extra vector drawing functions, improved control over the blending of graphics and colors, and more. Project homepage.

Ebitengine Team

a[low:high:max] — An Uncommon Slice Trick — You might be used to seeing a slice like a[low:high] but what about one with a third index? This third index can be used for setting the capacity of a slice and James quickly shows it off here.

James Smith

IN BRIEF:

Replay 2023: Call for Presenters Is Now Open! — It’s our 2nd year of Replay and we want you to be a part of it! Check out our blog post on why you should submit your exciting talk today.

Temporal Technologies sponsor

Synchronization Patterns in Go — A concise article that plays a little with mutexes, semaphores, channels, and problems that can occur like race conditions.

Noam Yadgar

How We Solved an OOM Issue in TiDB with GOMEMLIMITGOMEMLIMIT, introduced in Go 1.19, is a variable for setting a soft memory limit for the Go runtime.

Xiqian Shao

The Simplicity of Single-File Go Deployments
Stephan Schmidt

🛠 Code & Tools

Participle 2.0: A Simple Parser Package — Aims to provide a straightforward and idiomatic way to define parsers in Go using a familiar approach of using struct field tags to define a grammar, so if you’ve used encoding/json before, you’re well on your way.

Alec Thomas

v8go 0.9.0: Execute JavaScript from Go — Lets you create V8 contexts and run code eval-style. v0.9 updates the V8 versions supported (10.9 and 11.1).

Roger Chapman

Go OpenAI: Use OpenAI's APIs from Go — Provides access to ChatGPT, GPT-3, GPT-4, DALL-E, and Whisper. Formerly known as go-gpt3.

Sasha Baranov

O’Reilly’s Identity-Native Infrastructure Access for Kubernetes — Get your free copy to learn about identity-based infrastructure access and how it differs from secret-based approaches.

TELEPORT | goteleport․com sponsor

hot-reload: Hot Reload Development for Go in Docker Containers — Just a bit of configuration, and you’re off. (Also, we love that a hospital open-sourced this.)

Departement of Clinical Research, University Hospital Basel

Frenzy: Postgres Wire Protocol Aware Mirroring Proxy — It’s early days for this Go-based Postgres proxy, but it’s fun to see something at this stage that does actually work and may be useful if you need to build something similar of your own.. “It’s suuuuuper hacky but in 2 hours of work I was able to proxy some queries!”

Kelly Sommers

Jobs

Site Reliability Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

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.

🕰 ICYMI (Older stuff we may have missed...)

n

Older messages

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

Google's new distributed Go app framework

Friday, March 3, 2023

Plus a Go telemetry update, Uber's Go style guide, an introduction to Ent, and a new IMAP library. | #​450 — March 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

A particularly Charming issue

Friday, February 24, 2023

Plus keep your Java out of our Go, a Go Solitaire game, git hook management, and a Go-powered Web browser. | #​449 — February 24, 2023 Unsub | Web Version I'm not sure what's up, but

Go quirks and intermediate tricks

Friday, February 17, 2023

Plus the Go powered balloon over Europe. | #​448 — February 17, 2023 Unsub | Web Version Together with Cockroach Labs logo The Go Weekly Newsletter Purego: A Dynamic Way to Call C Functions from Go

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