A system of trust or maybe distrust

A distributed system is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single understandable system to the end-user.

In other words, a number of independent computers linked by a network.

With all those machines interacting with each other and there being multiple parts of the system on different machines, how do we verify what information is true?

Let us break it down a little bit further.

Software relies on a system of hierarchy. Meaning, the machines need to know where to turn to for their commands. Being that…


What chess means to me

Today marks the seven-year anniversary of my signing up for Chess.com. Chess.com is a site that pairs people from around the world together for lives games of chess. So I thought I would share some of my thoughts on what chess means to me.

I grew up with chess being in the house. My mother had bought my father a really nice set from Russia before they had even gotten married. I remember playing with the pieces well before I knew how to play the actual game. I don’t know when I first learned to play with my father but…


A personal thank you

In many cultures around the world, there is a concept of giving thanks and appreciation. In Judaism, it is a central theme. When a person gets up in the morning the very first thing they are supposed to say is ‘Modeh Ani’ thanking God for giving life back to the person. This is still while lying in bed!

So I would like to use this platform to say thank you. Thank you to my friends for helping me in my time of great need. My father always told me, “you want to know if you have real friends? Show up…


Since tonight is the 1st night of Chanukah I thought I would share something about this Jewish holiday.

A quick rundown of what Chanukah is about.
In the second century BCE, Israel was ruled by the Seleucids (Syrian-Greeks). They tried to force the Jews to accept Greek culture and beliefs instead of observing Judaism and believing in God. A small band of Jews who called themselves the Maccabees rose up against them. Led by Judah the Chashmonite (who was the son of the high priest) they fought and defeated the Greeks. They did this despite the Jews being poorly armed…


Assuming you have a React Native Firebase app and now you want a simple tutorial on how to use Firebase Storage, you came to the right place.

First, let’s understand how it works and some key concepts.

Let us compare it to how your computer filing system works. I am going to split it up into 3 categories: 1. Hard Drive 2. Folders 3. Files.

The Hard Drive is where the information is stored. It has a specific amount it can hold. It can have a unique name.

With Firebase Cloud Storage you need to ‘set aside’ space to act…


Starting from April 30, 2020 Apple requires that all existing applications using external 3rd party login services (such as Facebook, Twitter, Google etc) must ensure that Apple Sign-In is also provided. This means that the app I am working on which uses Google Sign-In (with Firebase) now needs to be updated with Apple Sign-In.

This provides its own set of challenges because for some reason although the Apple Identity Token returns a name, it doesn’t show up in the credential that is sent to Firebase. Also, the Apple Identity Token does not return a PhotoURL. …


Before you get started you need to follow the guide on React Native docs to get a signed release APK.

Once that is done you are ready to begin.

# Using RubyGems (Preferred method)
sudo gem install fastlane -NV

# Alternatively using Homebrew
brew install fastlane

Once that is done, install the Fastfile.

In your project directory
cd android/
fastlane init
Fastlane will then ask you for your Package Name. You can find it in the AndroidManifest.xml (android/app/src/main/AndroidManifest.xml) on the second line package=”com.packageName” .
You can then skip entering the path to the json secret file (we will get to that again…


I wrote a blog previously on how to upload your React Native app to TestFlight. But what happens if you want to send your app out to get tested by people that aren’t on your team?

So there are a couple of options that Apple allows. One of them is sending out your app to be beta tested. This requires your app to be sent to Apple for review. After your app has been approved you can invite people or groups to beta test the app through their email or invite (you are using TestFlight so it works the same…


When it comes to developing an app one of the most frustrating things that could happen is not knowing where an error is coming from.

Errors are software engineers' bread and butter. It is our guidepost to what we are doing wrong and what we are doing right. It forces us to closely examine our code to see what is wrong and make adjustments accordingly. …


Routing and navigation for your React Native apps

React Native is similar to React, however, it is sometimes good to remember that you are building an application and not a web page. So when it comes to navigation things work differently as well. Normally, you would use something like an <a> tag to link to a different page or even the same page by pushing the URL onto the browser history stack. Since React Native doesn’t have that we need to use something else.

Enter… React Navigation
An easy to use library with built-in components that are completely customizable.

Let us start from the beginning.

Stack Navigator

The Stack navigation…

Zalmy Muskal

Software Engineer NYC

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store