There are several ways to deploy Docker images on Microsoft Azure. My favorite one is Azure App Service/Web Application for Containers. This is the closest to Google Cloud Run.
Google released a new version of the Google Auth library. It had a bug that broke Google Login on Android for API 26 and earlier. This impacted my small but popular Music Player app in Google Play. It reveals the […]
Data Loaders allow transparent batching of requests to a data provider (e.g. database). More often than not, this leads to reduced latency and better performance without forcing an explicit batching of requests for the API users, for example, your frontend […]
Recently, I came across Nillion‘s whitepaper. Nillion at its core is trying to be a new decentralized encrypted data-processing layer. Here’s how it works.
Generics in Go were added about a year back in Go 1.18. In my experience they are great and they fix one of the biggest roadblocks in terms of writing reusable code in Go. I’ll illustrate that with an example. […]
If you create GitHub Actions via GitHub’s UI by going to the URL of the form https://github.com///actions/new, it provides templates for setting up the build. However, the template is broken. There are four problems with the default template
Go language does not have the concept of a class directly. It, however, has a concept of an interface as well as a struct. I’ll illustrate how this can be used to build most of the inheritance constructs that a […]
Writing tests at an early-stage startup is always heatedly debated. If a function has one call, adding a unit test doubles the number of calls, this not only doubles the current work but even slows down future code changes 2X! […]
RPC calls allow one service to call functions in another service as if it is a part of the same service. And unlike a REST API, one gets strong type checking. The two services can even be in different languages. […]
While trying to install a custom exception handler to catch uncaught exceptions (crashes), I ended up writing