Modules Part 04: Mirrors, Checksums and Athens

Series Index Why and What Projects, Dependencies and Gopls Minimal Version Selection Mirrors, Checksums and Athens Gopls Improvements Vendoring Introduction One of the longer standing questions I had when first learning about modules was how the module mirror, checksum database a...

Go for Cloud

Go has been continuously growing in the past decade, especially among the infrastructure teams and in the cloud ecosystem. In this article, we will go through some of the unique strengths of Go in this field. We will also cover some gotchas that may not be obvious to the users at...

4K display on MacOS: the saga

I recently got a 4K display, and it didn’t work as I expected on my MacBook Pro. This is what I tried, what worked and what didn’t. The display I got is the Dell U2718Q. Its a 27", 4K, IPS display. And its pretty good. The display I got; Photo from...

Docker Images : Part I - Reducing Image Size

Series Index Reducing Image Size Details Specific To Different Languages Going Farther To Reduce Image Size Introduction When getting started with containers, it’s pretty easy to be shocked by the size of the images that we build. We’re going to review a number of tec...

GKE using Traefik as the ingress controller

I recently fall into a trap using Traefik as the ingress controller in one cluster. I decided to write about it with hopes it maybe help someone else. Context We got the architecture like this: Cloudflare -> Traefik LoadBalancer -> Traefik Pods -> App Pods Traefik was r...

Our first Braintrust LA Event

This week, Chang Xu and I are running our very first Braintrust LA event. While the event is private and we won’t talk about who’s presenting and who’s attending, I wanted to share with you a note we wrote to the attendees. The idea of organizing Braintrust LA c...

/uses

Sometimes people ask me what my setup looks like for remote work. I decided to try and keep a more-or-less updated list of the hardware and software I’m using. People call usually call such pages “my /uses page”. So, here’s mine. Hope you’ll find it...

Security Privacy & Trust: Major 2020 Themes

Security, Privacy and Trust will be major themes in 2020. Looking at this arm report, 30% of surveyed folks were more concerned in 2019 over data privacy and security than they were in 2018. Add the elections, legal actions against Google & Facebook, Apple and others pushing...

GoReleaser: 3 years later

GoReleaser’s journey begins in December 21, 2016: the day I made its very first commit. It has been a long road since then. I didn’t have big aspirations for it. Just wanted to reliably automate my workflow in another project, so, the first version was pretty hacky,...

Inlined defers in Go

Go’s defer keyword allows us to schedule a function to run before a function returns. Multiple functions can be deferred from a function. defer is often used to cleanup resources, finish function-scoped tasks, and similar. Deferring functions are great for maintability. By...