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...

Most Startups Should Not Invest in ML/AI (yet)

Chances are you should instead be investing in data engineering so you can take a deep look at your properly labeled and processed data instead of throwing hundreds of thousands of dollars in Machine Learning (ML). ML isn’t magical, you need a lot of clean, labeled data. Th...

Slow Down in Startup Innovation

Looking back at the last 10 years, two specific trends are very clear to me, here they are highlighted by Fred Wilson: “The massive experiment in using capital as a moat to build startups into sustainable businesses has now played out and we can call it a failure for the m...