There's no nil to panic

#​485 — November 21, 2023 Unsub  |  Web Version Go Weekly River: A Fast, Robust Job Queue for Go + Postgres — A new beta, open-source job queue “for building fast, airtight applications” that’s written in Go and takes advan...

Third party Emacs packages that I use (as of November 2023)

Happy birthday to Go

#​484 — November 14, 2023 Unsub  |  Web Version Go Weekly Fourteen Years of Go — Russ recaps a productive year for Go that included the introduction of profile-guided optimization (PGO), enhanced coverage profiles to improve testin...

Go modules and the domain expiry problem

Using a Markov chain to generate readable nonsense with 20 lines of Python

Describes a simple Markov chain algorithm to generate reasonable-sounding but utterly nonsensical text, and presents some example outputs as well as a Python implementation.

Retrieval Augmented Generation in Go

I've been reading more and more about LLM-based applications recently, itching to build something useful as a learning experience. In this post, I want to share a Retrieval Augmented Generation (RAG) system I've built in 100% Go and some insights I learned along the way. Some li...

Fourteen Years of Go

Happy Birthday, Go!

Demystifying function parameters in Go

In this post we're going to talk about how (and why!) different types of function parameters behave differently in Go. If you're new (or even not-so-new) to Go, this can be a common source of confusion and questions. Why do functions generally mutate maps and slices, but not o...

People skills for developers

In the second part of this series on career skills for software engineers, we’ll look at how to deal with that trickiest of species: human beings.

People skills for developers

In the second part of this series on career skills for software engineers, we’ll look at how to deal with that trickiest of species: human beings.