Thoughts on Generative AI and anime

For a little while, I’ve been considering the potential impact of generative Artificial Intelligence on various areas of our lives, more recently I’ve had very interesting conversations about applying AI to help the creations of manga/animé. This blurb was writing to...

Rust vs Go in 2024

Which is a better choice, Rust or Go? Which language should you choose for your next project, and why? How do the two compare in areas like performance, simplicity, safety, features, scale, and concurrency?

"Stray Pointers" interview

Not technical writing, but Jim Lawless interviewed me on his "Stray Pointers" podcast. We discuss Forth, C, CGI, Python, Go, and AWK.

A closer look at Go 1.22

#​491 — January 16, 2024 Unsub  |  Web Version Go Weekly Initial Thoughts on Go 1.22 — 1.22 is due next month, but the release candidate gives us a look at plenty of changes and improvements coming down the pike, including new defa...

How to unpublish/redact/undo/retract a Go release

I recently rolled out go-semantic-release on dependency-management-data (DMD) to make managing the changelog a little easier, by taking Conventional Commits and converting them to a much nicer changelog. While dependency-management-data is actively used in production by several o...

Git branches as a social construct

Ultimate Go Tour

I have always appreciated the Go Team investing time on providing the community with the Go Tour. This website is designed to help developers get started in learning the Go programming language. The nice part of the website is that it provides an interactive environment where one...

What’s New in Go 1.22: reflect.TypeFor

The first release candidate for Go 1.22 is out, which means it’s almost time for the final release and it is time for me to blog about what I worked on this cycle. As usual, my contributions were small, but they were mine, so I’m going to talk about them from a behind-the-sce...

Sign in with Google in Go

This post provides some code samples for implementing a "Sign-in with Google" flow for your web application in Go. For an overview of auth/authz and the OAuth protocol, please refer to my earlier post about Sign-in with GitHub. Sign-in with Google has existed in one for...

How do you represent a JSON field in Go that could be absent, `null` or have a value?

If you're a follower of my blog you'll know that just one of the Open Source projects I maintain is the oapi-codegen OpenAPI-to-Go code generator. Last year, we received a feature request to handle the case where a JSON field may be one of three states - unspecified, set to null,...