Announcing GoReleaser v2
The new major version of GoReleaser is here!
The new major version of GoReleaser is here!
Introduction: In this detailed discussion, Bill delves into the critical aspects of networking within Kubernetes clusters, emphasizing the necessity of properly defining services to manage internal and external communication effectively. Learn the critical role of service definit...
I recently needed to process some data from a Google Sheet in a Go program, and was looking for the most straightforward way to do so on my local machine. This post lists some approaches that I found to work, with full source code. To access the Sheets API, you'll …
I've recently been doing some work to commit files directly to a GitHub repository using the API, as part of my work on dependency-management-data. When you're updating a file with GitHub, you need to specify the sha of the file that you're updating, which can be retrieved in one...
I started working as the Director of Technology at Spotlight PA the Tuesday after Memorial Day, 2019, over five years ago. There have been a lot of changes in technology, journalism, and the world since then, not least of which was the COVID-19 pandemic. I thought this anniversar...
If you, like me, release your projects to the Snap Store using GoReleaser, you might need to eventually update the secret. It seems to me that the secret expires every year, and this is the time of the year I need to renew mine. To help future me, this is my recipe on how to do...
We all know, that Docker technology is great and brings us many advantages, but also, unfortunately, Docker images include many attack surfaces on different layers.
Introduction: In this installment of the Ultimate Software Design series, Bill guides us through setting up a Kubernetes environment using Kubernetes inside Docker (kind). He breaks down the structure of Kubernetes and offers insights into effective cluster management, ensuring a...
The night is dark and full of errors, so how should we handle these gracefully and safely in our Rust programs? Let’s introduce two of every Rust programmer’s favourite types: Option and Result.