Common pitfalls of GitHub Actions

If you create GitHub Actions via GitHub’s UI by going to the URL of the form, it provides templates for setting up the build. However, the template is broken.

There are four problems with the default template

Read More

A day at Joshua Tree National Park

Joshua Tree National Park, about a three-hour drive from the city of Los Angeles, is home to Joshua Trees. If you have a day to spend, I would recommend a hike followed by the viewpoints.

Joshua Tree National Park at dusk

Joshua Tree National Park at dusk

Read More

Inheritance in Go language

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 language like Java or C++ offers.

Read More

A week in Kenya

This was my first trip to Africa. I have been to Egypt before. But Egypt has a more middle-eastern vibe to it than an African one. Compared to Egypt, in Kenya, almost everyone speaks English. And compared to Egypt, much less touting. Kenya is known for its world-famous Masai Mara reserve. Apart from seeing the big five animals (lion, leopard, rhino, elephant, and Cape buffalo), I would recommend a trip to the coastal city of Mombasa.

Read More

Bad and good ways to test code

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! Further, if the code is not finalized, it is legitimate to ask why even bother writing test code. Here’s a better way to write tests

Read More

GraphQL vs gRPC

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.  gRPC is a great framework for implementing an RPC service.

Another language-agnostic framework for making RPC calls is GraphQL. Many people don’t think of GraphQL that way, however, it can serve the same purpose.

Both GraphQL and gRPC are modeled as server and client-side frameworks. So, which one should you use?

GraphQL is a superior option when one is planning to build an API service that’s exposed to the Internet. Even more so, because multiple queries can be combined into one.

gRPC, however, is better for the use case where the gRPC server is a private service not exposed to the public network.

The different layers of a web applications

There are three mandatory layers of any non-trivial user-facing web application. Storage, compute and view. The view is the front-end website and the mobile app(s). The storage is the database layer like MySQL or Mongo DB. The compute layer is the actual backend service serving the web content and related APIs.

Read More

The biggest impact of ChatGPT

In the decade of the 2010s, after Facebook became mainstream, social became a building block for websites. A lot of websites added a concept of user profiles consisting of a name, a display picture, a profile description, and the ability to see/follow the activity stream of other users. Slowly, this became the standard expectation.

ChatGPT will have a similar impact. More and more users will get used to asking questions in natural language. Eventually, all the FAQ and knowledge-base articles would be replaced with a single box where users will ask a question in their preferred natural language. And then even the idea of actions would switch over to that one box, that users can use to navigate around and perform actions in the web applications.

Malta in winters

We visited Malta in winter. Water activities are not possible in winter, so, this post will tell you what else there is to do in Malta.

If you have only one day then go to Mdina. If you have two days, then do Gozo as well. If you have three days, then do the old temples. And if you have four days then do Valetta as well.

  1. The island has excellent public transport that you can count on. 1.5 Euro one-way ticket valid for a 2-hours journey in any direction.
  2. I would recommend staying in Sliema or St. Julian’s for maximum comfort. If you want a Mediterranean-style stay then go to Valetta or Mdina instead.
  3. The Tallinja app gives better suggestions than Google Maps regarding intra-island public transport.

Read More