Dealing with phone numbers in contact book

If you are building an app that uses the user’s contact book then their certain gotchas to avoid. Telephone country codes are prefix-free If a country has a country code “+91”, then no other country will get a country code like “+912” or “+913”. This scheme ensures that numbers are inherently unambiguous. Telephone numbers can have multiple representations Since most people don’t dial internationally, telecom systems implicitly assume a domestic call....

Machu Picchu

Things to do in Cusco (Peru)

Cusco or Cuszo, an Andean city in South America, was the seat of the Inca empire and is home to the world-famous Machu Picchu. I would recommend staying near the city center of Plaza De Armas (“Parade Square”). Most tourist activities are in and around the area.

Incremental testing: save time and money on CI for monorepo

To use monorepo or not is an eternal debate. Each has its pros and cons. Let’s say you decide to go with monorepo, one major issue you will face over time is slow testing. Imagine a monorepo, consisting of an Android app, an iOS app, some backend code, some web frontend code. On only very few occasions will someone modify more than one of those simultaneously. Further, most of these projects confined to their directories would be using different build systems as well, for example, gradle for Android, yarn/npm for Javascript, go/rust/java/npm for the backend. The total build time and test time will only grow over time. It annoys developers making small modifications to their part of the codebase. And it slows down the development velocity drastically.

Fooled by Randomness

Book Summary: The Black Swan: The Impact of the Highly Improbable by Nassim Nicolas Taleb

The book posits a unique viewpoint to understand randomness and unpredictability in the world around us. Rather than trying to predict the improbable black swans, it focuses more on how not to be adversely impacted by them.

How to deploy side projects as web services for free

In 2020, the web is still the most accessible permission-less platform. For the past few months, I have been playing and building side projects to simplify my life. I started with a Calendar Bot for scheduling events, DeckSaver for downloading decks from Docsend, AutoSnoozer for email management, and StayInTouch for maintaining follow-ups. When I started on this journey, I had the following in my mind. Cost of domain ~ 12$ a year or 1$ a month Cost of a VM ~ 10$ a month

Docker 101: A basic web-server displaying hello world

A basic webserver Docker containers are small OS images in themselves that one can deploy and run without worrying about dependencies or interoperability. All the dependencies are packed in the same container file. And the docker runtime takes care of the interoperability. You are not tied to using a single language or framework. You can write code in Python, Go, Java, Node.js, or any of your favorite languages and pack it in a container. Consider a simple example of a Go-based webserver

Lassen Peak

Lassen Volcanic National Park: The most family-friendly park near San Francisco

Lassen Volcanic Park has a lot to offer for everyone. The park has wide roads, and most tourist spots are easily accessible. Here’s what I would recommend Subway cave Lava tubes - easy 1/3 mile underground hike Hydrothermal Areas - Hydrothermal areas from where Sulpher escapes regularly. Some right next to the road and some accessible via a short hike. Walk and play on snow-covered areas - all along the park...

Consoles by Google

A single developer has to sometimes deal with 7 different consoles by the same company…

Half Dome

Things to do in Yosemite National Park

Strenuous hikes Half Dome hike 17-miles 12-hours with a breath-taking dangerous climb holding chains on the majestic half dome at the end. This hike requires a permit for the final half dome climb. The Clouds Rest Trail 12-miles 7-hours hike. The trail ends at a point higher than the Half dome. One gets a great view of the park as well as the Half dome from here. I would recommend doing only one of these two hikes in a single trip....

Troubleshooting Android Emulator: "Emulator: Process finished with exit code 1"

Emulator: Process finished with exit code 1 You opened AVD Manager in Android Studio and tried to start an AVD, you got “Emulator: Process finished with exit code 1”. Following are the steps to debug this Find out the name of the emulator. Click the down arrow 🔽 which is to the right of play arrow ▶️, to find out the name of the AVD. Let’s say the name is “Nexus_5X_API_28_x86”....