Announcing GoReleaser v2.4

New release coming in hot! new: create macOS app bundles. Initially they are only usable with dmgs, more uses might be added in the future. (only on pro) Example: # .goreleaser.yml app_bundles: - bundle: com.goreleaser.goreleaser icon: www/docs/static/goreleaser.icns...

Constraints in Go

Freedom is nothing without constraints, and Go’s generics gives us a powerful way to build polymorphic types and functions constrained by type sets. Let’s geek out.

Generic types in Go

What kind of idiot would carry a package for someone when they've absolutely no idea what's inside it? Well, generic types in Go are exactly like that, only in a good way.

Using AI to aid color scheme migrations

Recently I found a good use case for AI when migrating my dotfiles to another theme. This is a short post about it.

Managing JSON Field Tags and Value Handling in Go - Ep.3

Introduction: Welcome to Episode 3 of JSON for Engineers! In this episode, Miki Tebeka explores the intricacies of JSON field mapping and value handling, especially when working in strongly typed languages like Go. This session covers the practical challenges of matching JSON fie...

Managing JSON Field Tags and Value Handling in Go - Ep.3

Introduction: Welcome to Episode 3 of JSON for Engineers! In this episode, Miki Tebeka explores the intricacies of JSON field mapping and value handling, especially when working in strongly typed languages like Go. This session covers the practical challenges of matching JSON fie...

Awesome Go gets even more awesome

#​529 — October 29, 2024 Unsub  |  Web Version Go Weekly Awesome Go: Almost 3000 Categorized Go Resources — A perennially useful resource that continues to get frequent updates (almost non-stop), and well worth revisiting in this...

Transitioning from C and C++ to Rust: A Beginner’s Guide

Introduction: As you embark on the journey from C or C++ to Rust, you’ll discover a world of exciting possibilities. Rust’s emphasis on safety, concurrency, and performance can significantly enhance your programming toolkit. This beginner’s guide on transitionin...

Watermill 1.4 Released (Event-Driven Go Library)

It’s Autumn over here, and it usually means another release of Watermill! 🍂 It’s hard to believe it’s already been five years since the v1.0 release. In case you’re new to Watermill, here’s TL;DR. Watermill is a Go library for building message-dri...

Fearless Concurrency Ep.4: Understanding Mutexes and Thread Safety in Rust

Introduction: Welcome to Episode 4 of Fearless Concurrency in Rust! In this episode, we explore how Rust’s ownership and borrowing rules impact multithreaded programming, focusing on the complexities of managing memory in a concurrent environment. We’ll break down how Rust&rs...