React Native

There are tons of hyped-up claims surrounding React Native that are worth addressing.

The reasons why companies run for React Native are usually,

  1. We already use Javascript for the website and now, we can build apps in that as well.
  2. We can use one codebase for Android, iOS, and web apps. Or at least, Android and iOS apps.
  3. Facebook uses it

Read More

Android: Catching NDK crashes

On Android catching Java exceptions is easy via UncaughtExceptionHandler. Catching NDK crashes is a bit more convoluted. Since the native stack is probably corrupted, you want the crash handler to run on a separate process. Also, since the system might be in an unstable shape, don’t send the crash report to your web server or do anything fancy. Just write the crash report to a file, and on the next restart of the app, send to your web server and delete it from the disk. I ended up using jndcrash package for this.

Read More

Egypt in 8 days

Egypt, locally known as Misr (मिस्र) is world-famous for its pyramids and ancient polytheist temples. I made a trip to Egypt in Nov 2020, during the COVID-19 era. Given the general lack of tourism, it was a great time to travel since I didn’t face any queues and in many temples, I was the sole visitor.

Very few people outside of the tourism industry understand English, so, it is good to make yourself aware of a few basic phrases. The equivalent of “hello” is  “As-salamu alaykum”.  To ask for a price, say “bekam da“. And of course learn the common numbers like five (hamza), three (thlath), ten (ashri), and twenty (ashrin) since these are what you will encounter on the street. And “I don’t understand Arabic” is “Ana mish fahem al Arabee”.

As a vegetarian, I did not face any problems finding food since Falafel and Ful sandwiches are aplenty and available for cheap (1-5 EGP per sandwich). The national dish Koshari is neither delicious nor nutritious. The Egyptian Pizza, Feteer, however, is darn delicious.

Read More

Docker: Be careful about the scratch image

After I wrote my previous post, some suggested that I can cut down the image size further by using a “scratch” image. And that’s true, “scratch i”s a reserved 0-sized image with nothing in it. And utilizing a scratch binary image did cut down the size of the final Docker image from 13MB to 7.5MB. Pretty good, right? Except the image cannot do an SSL cert verification because of the missing SSL certs!!!

Failed to reach google.com: Get https://google.com: x509: certificate signed by unknown authority

Read More

Glacier National Park in 4 days

Glacier National Park, Montana is considered to be one of the most gorgeous national parks in the US. We went there in September 2020. It wasn’t snowing but the weather was still pretty erratic with random cold showers during the day. So, I would recommend going no later than August. Also, the east side, which has native American reservations were closed to prevent COVID-19 spread.

Dressing in at least three layers is highly recommended as the weather changes dramatically with heights and the time of the day.

Read More

Indeterminate Progress bar is an inferior UX design

60 milliseconds is when we notice something isn’t immediate. Any user interaction, that involves sending data over the network or doing heavy computation on it, usually takes way longer than 60 milliseconds. So, we end with a progress bar. There are two broad categories of progress bars, one that shows the absolute/relative progress, a determinate progress bar, and one that does not an indeterminate progress bar.

Read More

Things to do in Dominica – The nature island of the Caribbean

  1. Dominica, the nature island, is not easily accessible via the mainland United States. The airport is small and only propeller planes can land here.
  2. The island is beautiful and is the only Caribbean island to have a rainforest. It is known to have 365 rivers.
  3. The currency is East Caribbean Dollar (1 USD = 2.7 XCD). The USD has full acceptance, though.
  4. Kalalau is the national dish. Its a soup made from Dakshin, and I would recommend trying it out.
  5. Public transport is better than most other islands but is still limiting if your itinerary is jam-packed.
  6. There are two towns, Roseau and Portsmouth. I would recommend staying in Roseau if you don’t have a rental car since most tours, taxis, and buses depart from there.
  7. Most good activities are on the south side of the island. The south faces the calmer Caribbean sea while the north side faces a more turbulent the Atlantic Ocean.

Read More

How many source-code repositories should a startup have

Recently, this question came up during the discussion. “How many source-code repositories should a startup have?”

There are two extreme answers, a single monorepo for all the code or repository for each library/microservice. Uber, for example, had 8000 git repositories with only 200 engineers! I think both extremes are wrong. Too many repositories make it hard to find code and one single repository makes it harder to do simple things like testing, bisecting (to find buggy commit), deciding repository owners.

Read More

-->