Ep. 7: Building Resilient Go Applications: Key Error Handling Techniques

Introduction: Going into more detail on error handling, Bill provides a comprehensive overview of effective strategies and best practices for Go developers. By exploring the nuances of error management, he equips developers with the tools needed to write more reliable and maintai...

A pragmatic guide to Go module updates

I thought I would share some quick bits about how to do go.mod version bumps.

Go's 'range over functions' iterators and avoiding iteration errors

A quick Go quiz

#​511 — June 18, 2024 Unsub  |  Web Version Go Weekly Why People are 'Angry' Over Go 1.23 Iterators — ‘Angry’ feels overstated to us, but there’s been a lot of robust debate about Go’s proposed new iterator helpers (see the...

Ep. 6: GoRoutines and Error Handling: Essential Techniques for Software Engineers

Introduction: Continue the dive into the complexities of Go’s concurrency model in this segment of the “Ultimate Software Design” series, where Bill shares essential techniques for managing GoRoutines. Here are three fresh takeaways: Understand the critical ro...

Using Go's `database/sql` to query an arbitrary columns of unknown type(s)

As part of some work I'm doing on dependency-management-data to add a pure-Go database browser, I want to be able to accept arbitrary SQL and query it. However, I found that trying to do this with Go's database/sql, this didn't work super nicely with the anys that get returned by...

Live website updates with Go, SSE, and htmx

In case you missed the memo, the Single Page Application hype period is over, and we’re now back to PHP and jQuery, I mean rendering HTML on the server. I’m excited! It brings me back to the early 2000s when we were all web developers, not frontend or backend engineer...

Errors, errors, and errors again

#​510 — June 11, 2024 Unsub  |  Web Version Go Weekly An Applied Introduction to eBPF with Go — eBPF is a technology that allows running sandboxed programs within the Linux kernel, enabling a wide range of advanced networking, secu...

Ep. 5: Efficient Concurrency in Go: Managing GoRoutines and Load Shedding

Introduction: In this installment, Bill delves into the concept of load shedding in Go, explaining its importance in managing GoRoutines and ensuring clean shutdowns. How to manage GoRoutines using a parent-child relationship model to prevent orphan GoRoutines. The role of lo...

Starlink: installation, first impressions, and running it through UniFi

This weekend’s side quest: installing Starlink as my second internet provider. Here’s how it went.