fabiochiu/medium-articles huggingface dataset:
React Native Pixel Ratio
Tags: Notes, React Native

Learn more. Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Make Medium yours. Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore
…and if we in Typescript want to cast a variable to something that accepts only one of several literal strings?
By: Arno Teigseth
Tags: Typescript, JavaScript, Backend, React Native, Frontend

I had this problem:

Was creating a multi-purpose alert function that would prompt a user for something. And now I wanted to choose input type dynamically.

Now, I had a hard time finding a way to convince the linter/compiler (?) that the inputType supplied ‘could’ be one of the literals mentioned in the error box. Normally I would type it correctly, but the AlertInput.type member does not have its type exported in any way, so I can’t import it as a type. Also tried redefining the type (see the comment above) before assigning, but was out of luck again.

After some googling, I tried this and it worked:

type: <any>inputType,

Ey! No errors

Not sure this is the best solution though? Is there a safer way to do this, instead of using <any>?

Having written this, at least I will remember what might be done when trying to cast a string variable into something taking a set of literal strings :P
Building standalone expo app locally with Turtle CLI
By: Rahul Ravindran
Tags: Android, React Native, Makefile, Android App Development, Expo

Building standalone expo app locally with Turtle CLI

This should be a short post. One thing I struggled with when building Drone Trails on Android using expo is testing firebase login functionality. Expo provides two ways to do this — one is using google sign in web and the other one is the native experience. Here is the official link suggesting it can only be used in standalone apps. If you are like me and love testing on the expo client itself, it’s a pain when you want to test firebase login. You need to build and upload to expo every single time you want to test your apk.

Around a few days back, I found out you can install turtle locally. The same build tools that expo utilizes. Let’s go through step-by-step process to do this.

Step 1 — Install Turtle

$ npm install -g turtle-cli

This step is super simple. Install turtle cli.

Step 2 — Lock in turtle and expo SDK version

$ turtle setup:android --sdk-version 39.0.0

This step is important to make sure the build version expo is using and the one you use locally is the same. Expo versions bump pretty often, so don’t get caught in the rabbit hole in here.

Step 3 — Fetch keypair from expo

To do this, you need to do expo build at least once. This is because expo generates the keypair for you. Honestly, this is much more easier than having to maintain the keystore locally.

This will generate the keypairs. To fetch the keypairs locally. You can perform this command at the root of your project.

$ expo fetch:android:keystore

This will generate the keystore files locally.

Step 4 — Make it easy with a Makefile recipe

I have the recipe ready for Android, but I think you can make it for iOS just by changing some bits of code. The contents of the Makefile are below. I usually split out the Makefile and the actual script to make it easier to maintain.

You need turtle cli and python3 to do this. This is because we are hosting the server content using that. You will need the following variables

KEYSTORE_FILE: path to the file you get when you fetch the keystore details from expo command.

USER: You can replace USER with your username or just use the variable as is.

KEYSTORE_ALIAS: This value is the one you get from the cli for fetching keystore details.

mkdir $(pwd)/local-releases
React Native AsyncStorage — Persisting data to Local or Device Storage
By: Trevor Buntin
Tags: Startup, React Native Tutorial, React Native, React Native App, React Native Development

We assume you already have the code for a UI screen implemented and we won’t bore you with that. But Before showing you the code on how to use AsyncStorage, you should note that:

AsyncStorage is a key-value storage system that is global to the app.

is a that is global to the app. it is unencrypted and asynchronous.

and It should be used instead of LocalStorage.

At QuickComponent, we have used React Native AsyncStorage to give users an excellent offline experience with complete backend in all templates.

Add the dependency to your project using npm or yarn

yarn add @react-native-community/async-storage

The Simple Code

import AsyncStorage from '@react-native-community/async-storage'; const WISHLIST = '@WISHLIST'; //simple key title const storeWishlist = async (email, data) => {

const compoundKey = email + WISHLIST;

try {

await AsyncStorage.setItem(compoundKey, JSON.stringify(data));

} catch (err) {

console.log(err);

}

}; const retrieveWishlist = async (email) => {

const compoundKey = email + WISHLIST;

let result = null;



if (!email) {

return false;

} try {

result = await AsyncStorage.getItem(compoundKey); if (result !== null) {

return JSON.parse(result);

} return false;

} catch (err) {

console.log(err);

return false;

}

}; const deleteWishlist = (email) => {

const compoundKey = email + WISHLIST; AsyncStorage.removeItem(compoundKey);

};

(get a free and premium mobile template with the complete backend at QuickComponent)

Taking advantage of AsyncStorage from React Native, and using an e-commerce store as an example, the methods in the code above simply store, retrieve and delete a user wishlist base on the user email passed.

The methods:

storeWishlist() — This method takes an email and the data to store(wishlist). It uses the email to form a compound key with the already defined simple key (@WISHLIST). This key is used to store a unique record for that particular user.

retrieveWishlist() — This method takes an email and uses that to form a compound key with the already defined simple key (@WISHLIST). This compound key is then used to retrieve the previously stored data that is to the passed.

deleteWishlist() — This method takes an email and uses that to form a compound key with the already defined simple key (@WISHLIST). It uses the key to delete the data(wishlist) belonging to the email passed.

You might not want to delete a user wishlist after logout. We, therefore, form a compound key with the user email since it is always unique for each user. So if a new user uses this app, the previous user should always find his wishlist available whenever he logs in.

for more information or other methods that you might need, check out the official documentation here
React native : Drag and drop between two lists
By: Devanshani Rasanjika
Tags: React, Drag And Drop, React Native, Flatlist

I have working on a react native app which needs to implement drag and drop dashboard which is able to drag drop and swap items between 2 lists dynamically by changing only the back end Json response. For the implementation I have used react-native-drax and need to install dependencies react-native-gesture-handler. In this post I’m going to share how I built it.

Here’s what the finished drag drop and swap dashboard looks like:

So Let’s get to do it!

Set up project:

The first thing you need to do is set up the project. I have used react native CLI to do and you can find more information from here.

Since functionality is dynamic and simple I’m going to do the implementation in the App.js.

Here’s what the initial component looks like:

Import dependencies and define sample back end Json response:

Now let’s import the dependencies and define the format of the back end Json response of the draggable item list and receiving item list and assign both to two different state variables. Here I have used state Hook to declare state variables. For the initial implementation I have hard coded the Json response in the App.js. Later we can have a back end API to get the dashboard item list in the same format and we can assign two arrays to the state hook.

Inside the draggable item list and receiving item list arrays you can see I have include all the properties of each item as array objects.

Receiving zone component :

Here state variable receivingItemList mapped to list using array map function to render ReceivingZoneUIComponent dynamically. Here items are swap between two lists inside onReceiveDragDrop function using array index. We can get the array index of the draggable item using event.dragged.payload.

Draggable component:

Here state variable dragItemMiddleList rendered inside DraxList dynamically using DragUIComponent. We can use the array index as the dragpayload , so draggable item can access using event.dragged.payload inside receiving zone.

Finished implementation:

Below is the full App.js component. Finally we need to wrap the view inside GestureHandlerRootView to work with gesture handlers and styles should be added as below.

const gestureRootViewStyle = { flex: 1 };

And that’s it for this post! This implementation is simple but you can build on top of it to make your drag drop and swap between lists more dynamic and feature rich.

You can find the full source code from here.

Thank you for reading!
React Native with Class Components
By: Michele Toninelli
Tags: Methods, React Native, Old Version, Setstate, Class Component

I personally started use React/React Native with functional components and hooks. And I think it’s a more direct and short way to control the React lifecycle.

But I found many time myself facing a class component (in not recent files) and I decided to study it and this is a summary of its methods.

There are two files LifecycleA and LifecycleB (parent and child) with logs and comments for a better understanding. Below their logs.

LifecycleA.js (parent)

In this parent LifeCycleA class there is also a simple counter. A button that updates the state. The setState function is synchronous and has a callback function, as second argument, that is triggered when the state is changed.

LifecycleB.js (child)

If you copy and paste this two components in your old project (I used react native 0.59.10) you can understand the lifecycle parent>child.

I left comments inside both components. There I explain when each one has to be used.

Running this example, the logs order are:

constructor A

getDerivedStateFromProps A

render A

constructor B

getDerivedStateFromProps B

render B

componentDidMount B

componentDidMount A

Then when you press the button in LifecycleA, the state changes and the logs are:

state.count update

getDerivedStateFromProps A

shouldComponentUpdate A

render A

getDerivedStateFromProps B

shouldComponentUpdate B

render B

getSnapshotBeforeUpdate B

getSnapshotBeforeUpdate A

componentDidUpdate B

componentDidUpdate A

That’s it.

For more info React Native keeps the old versions doc archive:

https://archive.reactnative.dev/docs/getting-started
Request tracker and global errors logging strategy with Reactotron and React native
By: Wellington Júnior
Tags: Networking, React Native, Logging, Reactotron, Request Tracing

Sometimes we need a simple debbuggin and logging method to improve the software development process.

For a react native app we can use Reactotron tool, available for macOs, Linux and Windows.

Download and install Reactotron (simple install). Create a new react native app with the command below (requires npm):

npx react-native init myapp

3. Install Reactotron in project

npm i --save-dev reactotron-react-native

4. Let’s configure ours loggs and trackers in Reactotron. Add one file on the root with the name ReactotronConfig.js, with the content:

import Reactotron, {networking,trackGlobalErrors} from ‘reactotron-react-native’; if (__DEV__) {

const tron = Reactotron

.configure()

.useReactNative()

.use(networking()) // tracker for all http requests

.use(trackGlobalErrors()) // logging all global errors

.connect(); console.tron = tron;

}

5. In index.js file, import the ReactotronConfig file.

import ‘./ReactotronConfig’;

6. On the android device or emulator, you need to redirect port 9090 from the device to your local machine. For that, we will change the android script in the package.json file

"scripts": {

"android": "adb reverse tcp:9090 tcp:9090 && npx react-native run-android", ...

7. Now, you can run ‘npm run android’ on the terminal, with the Reactotron open.

For testing, add this two lines in your App.js file:

console.tron?.log('App initialized with Reactotron!');

fetch('https://google.com').then(res => {});

The result is below:

Obs: Always use console.tron?.log(message or object), because this way you don’t need to worry with the production mode.

Thank’s for reading. If you have any questions or feedback leave a comment!
React Native Facebook Login
By: Trevor Buntin
Tags: Startup, Facebook Login, React Native Tutorial, React Native, React Native Development

Social media Authentication like Facebook login is becoming necessary while building the authentication flow of a mobile app. In React Native, this can easily be achieved in a few minutes.

Requirements

expo-facebook

Go ahead and install expo-facebook dependency with:

expo install expo-facebook

The only method you need

import * as Facebook from 'expo-facebook'; Facebook.initializeAsync({ appId: 'APP_ID', }); const logInWithFacebook = async () => { try { const { type, token, expirationDate, permissions, declinedPermissions, } = await Facebook.logInWithReadPermissionsAsync({ permissions: ['public_profile'], }); if (type === 'success') { // Get the user's name using Facebook's Graph API const response = await fetch( `https://graph.facebook.com/me?access_token=${token}`, ); Alert.alert('Logged in!', `Hi ${(await response.json()).name}!`); } else { // type === 'cancel' } } catch ({ message }) { alert(`Facebook Login Error: ${message}`); } };

(If you need an already implemented solution with a cool UI, check out this free mobile template at QuickComponent where Facebook login is implemented.)

With a valid Facebook application ID in place of APP_ID, the code above will prompt the user to log into Facebook then display the user’s name. This uses React Native’s to query Facebook’s.

Valid methods you can always call on Facebook include:

Facebook.logOutAsync() — available to logout currently authenticated user

Facebook.getAuthenticationCredentialAsync() — return the authenticated user credentials if exist and null if no user exists.

For more information on other methods, you might need, visit the official documentation of expo-facebook here

Also, get a free template with Facebook Login already implemented and other premium templates with the complete backend at QuickComponent.
Start and create a React Native app on your device
By: Beranger Natanelic
Tags: React, React Native, Application Development

Using React Native CLI

The following content is true for a macOS development OS for an Android device. If you have an other config, check this link.

Tools needed!

Before starting, we will need the following tools :

Node & NPM : Be sure you have a recent version

➜ npm -v

6.14.8

➜ node -v

v14.15.1

Homebrew : Package Manager, we will use it for the coming installation (download here).

Watchman : React Native use Watchman to trigger actions when files are changed. Simple installation using Homebrew : brew install watchman

Java Development Kit : If you have are using an Android device. Run :

brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

Android Studio : You will need to download Android Studio AND install Android SDK + Android SDK Platform.

According to React Native documentation, you have to install Android 10 (Q) SDK in particular. To download this specific SDK, open Android Studio, click on the bottom “Configure” button and open SDK Manager.

Then, check the box next to “Show Package Details” in the bottom right corner. Look for and expand the Android 10 (Q) entry, then make sure the following items are checked (as shown on the screenshot) :

Android SDK Platform 29

Intel x86 Atom_64 System Image or Google APIs Intel x86 Atom System Image

Same story in the SDK Tools tab, be sure version 29.0.2 is selected. If not, download this SDK version.

Lastly, add the following lines to your PATH:

export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools

You have all the required tools to get started.

LIFTOFF!

Now, open a terminal and run :

npm install -g react-native-cli

Then :

react-native init YourProjectName

Pray a few minutes and here you go!

The created folder contains your React Native app.

Run on device

You have to enable USB debugging on your device.

First, enable the “Developer options” by going to Settings → About phone → Software information. Tap the Build number row at the bottom seven times. You can then go back to Settings → Developer options to enable “USB debugging”.

You can now plug in you device via USB.

Open a terminal, type :

adb devices

If everything worked well, in the folder ./Library/Android/sdk/platform-tools you should have an “adb” executable. It allows us to detect plugged in devices. In your terminal you should see :

➜ ~ adb devices

List of devices attached

4T89626CC176362736 device

Then, go to YourProjectName folder and simply run :

react-native run-android

…

HA!

What did you think?

Couldn’t be so easy right?

Actually if it does work after the first try, you’re a real hero.

Never happened to me.

It should display a “Welcome to React” message.
Integrate CodePush with React Native for OTA Updates
By: Bulat Gusmanov
Tags: React, React Native

When to Update

Over-the-Air (OTA)

Let’s say you’ve got all of your app logic in a src directory and your latest round of updates has only made changes inside of that directory. That means you most likely can ship that update out over the air!

If you’re only modifying your JavaScript or image assets, it means that information can be bundled up and shipped out over the air because all of the underlying APIs are the same as they were before, your interaction with them is the only thing that has changed.

A word of caution. Use this extreme flexibility with caution — you really shouldn’t be making significant changes to your app like this. You don’t want to be changing the functionality of your app by changing how things work or by adding features. Doing so can get you in trouble with Apple/Google.

I like to think about it in terms of SEMVER. If it’s a patch version (bug fix, minor improvement) it can go out OTA. If it’s a major or minor version change, I’m going to send it via the regular app store approval process.

App Store

I already touched on one instance where you would want to go through the app store and that’s whenever you make a decently significant change in your app; even though it’s a pain to wait it’s best to play it safe and go through the normal process.

The other time you’ll want to go through the app store is when you make any changes to the native app (that being the ios and android directories in your project). You may be thinking you never touch those, so you never have to go through the app store…

But that’s not true. Just about any time you upgrade React Native you’re modifying the native project; or whenever you add a third party package. That’s a change to your native project and will require you to go through the app store to ensure everything works correctly.

When in doubt, go through the app store.
Everything You Need To Know About Hoisting in JavaScript
By: Janith Gamage
Tags: JavaScript, Angular, React Native, React, Nodejs

What Is Hoisting?

It's easier to understand what hoisting is with an example. Let's take a look at the code snippet below.

Here you can see that the printVariable function is called before it's defined, and the variable passed into the function is also used before it’s defined. But still, if you run the code, you'll notice that the program doesn't throw any errors. It simply prints undefined in the console. It seems that the program is somehow aware of these elements in the code that are yet to be defined. The magic behind this is hoisting.

Hoisting is achieved by allocating memory locations for the variable declarations, class declarations, and function declarations in your code when compiling. Therefore it feels like these elements are hoisted/lifted to the top of their scope so that the program is aware of them beforehand.

The snippet below shows the sequence in which the elements in the code above would be read by the compiler, resulting in the impression of being hoisted/lifted. It’s important to remember that hoisting is related to how the compiler reads through a program and that it doesn't literally alter the code.
Integrating Zoom SDK into React Native iOS - by Stefan Majiros
By: Stefan Majiros
Tags: Video Meetings, React Native, iOS, Mobile App Development, Zoom

by Stefan Majiros

What is this about

In this article written in December 2020 I will show you techniques for integrating Zoom SDK into iOS apps built with React Native. I decided to create this tutorial to help people save time and also because other Zoom wrappers for RN did not work as I would expect.

We will implement 3 methods: initZoom, joinMeeting and startMeeting.

NOTE: Link to repo with example app is in the end of this article.

Android Part

If you want to see how to download and setup API keys for Zoom SDK, or setup Android part, just read about it here:

Let’s start

So, let’s assume that you downloaded Zoom SDK (or cloned my repo with my example and SDKs).

Here is how downloaded Zoom iOS SDK look like:
React Navigation to add routing to your React Native application
By: Peter Bae
Tags: App Development, React Native, Hybrid App Development, Mobile App Development, React

If you have used React before, you probably gotten a lot of aid from utilizing react-router. However, it is difficult to apply it to a React Native application. After all, react-router relies on using the DOM, but a RN app doesn’t provide one.

In a RN application, we will be using React Navigationto help us navigate through pages. React Navigation is the officially supported library from the RN team, and you can also study up on some alternatives (etc, React Native Navigation)

So, since I don’t want to waste your time, lets get started!

Note: I will be assuming you know the basics ;)
Top Free Courses to Learn React
By: Rishabh Malviya
Tags: React, Free Course, React Native, How To

List of Free Courses

Here is a list of courses to learn to React. All of these are free of cost but still have more value than many paid Courses. These courses not like 50–60 hrs courses with tons of projects in them. This list of courses is great to get an overview of React Environment. After going through a few of these courses, you will have enough knowledge to create your Projects in React.

After understanding the fundamentals of React, You will get you should continue with React or not?

Official Documentation

Learning Libraries or Frameworks from the documentation is the best way to understand the concepts from the developer side of the Library. React has a well maintain documentation about its terminology and working. It has a clear code editor sidewise to try out the concept. Whenever you are stuck on a big project must check out the documentation to render out the problem.

The Beginner’s Guide to React — Egghead.io

If you want to get an overview of React without touching the keyboard, then you should go through this course. This course will build a solid foundation of basic concepts in React. Each lesson in this 28-part course is a single index.html file. This thing keeps your focus on React instead of managing directories. You will also learn how to move into a more productive-ready development environment and deploying your app to Netlify.

Learn React for free — Scrimba.com

This course is the perfect starting point for any React beginner. The instructor, Bob Ziroll has covered key features of React in 58 lectures. This course has a different approach to practical implementation by editing the directory to the instructor’s code. You will learn JSX all the way up to React Hook that is a new concept in React. In the end, you come up with two simple but Amazing apps to React. Make sure to check this out.

For a complete list check it out
Live NPM package patching with patch-package
By: Erik Burger
Tags: React, NPM, JavaScript, React Native

NPM packages are great. Without them, our lives as developers would be much, much harder. In fact, I’d probably be doing something more fun for a living. Like herding cats. Or juggling chainsaws.

But as great as they are, there will come a time when there’s a bug in one of the NPM packages you use. No problem right? Create an issue on the package’s Github repo. Or, being the professional you are, create a pull request with the fix.

And they you wait…

And wait…

And w..

Yeah, no. That’s not acceptable.

So you fork the repo and use this as your package source. Or you create your own NPM package from your fork.

But wouldn’t it be great if there were an easier way? A much, much easier way?

Enter patch-package.

Patch-package is the simplest way I have found so far to well..patch a package.

How to install

Installation is dead simple. Add

"scripts": {

...other scripts

"postinstall": "patch-package"

}

to your package.json file and install patch-package using yarn:

yarn add patch-package postinstall-postinstall

How to use

To use patch-package, make your changes right in the package code in node_modules and run patch-package . That’s it! It’ll create a patches folder containing the diffs needed to update the package version you installed with the changes you made.

A live example

To show you how it works, I’m going to apply a patch to the react-native-keyboard-aware-view package.

At time of writing this article, using the <KeyboardAwareView> from the react-native-keyboard-aware-view package results in the following warning:

Which obviously sucks. The fix is rather simple and there’s no less than 2 pull requests made on the repo. But the repo seems rather dead. So let’s fix it ourselves.

First, we’ll open up the file node_modules/react-native-keyboard-aware-view\lib\CodeKeyboardAwareView.js . Then we look up all instance of the method call Animated.timing and add the line useNativeDriver: false to the config parameter (there’s 3 instances).

Then we reload our app to make sure the warning has gone away. It has, so we successfully patched the package.

Then, we run patch-package :

And voila! Patch-package has create a patch file for us. A snippet from it looks like this:

Which clearly shows the change we made.

Now, because we installed postinstall yarn will run our patches every time we install a new package. We can also force a patch by running patch-package without parameters.

And that’s how easy patch-package makes it to fix a bug in your local code while waiting for your PR (you are still creating a PR, right?) to be merged into the official package.

I hope you find this useful. If so, let me know by clapping or commenting! Happy to hear from you!
Of course, I’m learning about CI/CD with JavaScript apps for mobile and web environments, read…
By: Manuel Garcia
Tags: Gitlab Ci, Typescript, JavaScript, React Native, Nodejs

Of course, I’m learning about CI/CD with JavaScript apps for mobile and web environments, read posts like this of these topics would be cool.
Acquiring Perspective
By: Diego Varela
Tags: Growth, Point Of View, Opinions, Perspective

Photo by Chris Barbalis on Unsplash

Acquiring Perspective

I usually have to do regular checks with my cardiologist. This time was the first time was on Video Conference and of course new protocol. It is weird to get a cardiologist only to check you on video, but the Dr. knows me well to see if there is anything to be checked. After breaking the ice on the conversation, the chat started with the how do you feel and I addressed my answer like even though that it was a crappy year for everyone, I had the immense fortune to keep my job, be healthy, family healthy and also live in what I call home, and yes, I gained a few pounds because I had to be a home shelter, so, taking that perspective, I think I am pretty well

Please don’t take me wrong. I had the most exhausting year for my mind, and also, I guess it was the toughest on learning, so it wasn’t paradise at all. Still, the fact to be able to evaluate facts from different points of view helped me reduce bias and go away from mainstream comments.

Taking it to work-wise, we naturally tend to gather, team, or group with people whose thinking is alike (actually, people do that in every environment). The exercise I started doing is to leverage people’s opinions that aren’t at all alike mine — factoring in, seeing if there was the elephant in the room I wasn’t seeing.

It is a painful exercise, it leads probably to discussions, it is annoying for the first time, and probably you can’t do it every day. Still, it is worth getting everyone’s opinion and building your perspective or opinion among all the thought streams.

I like to be a perspective person, and I encourage everyone to train and use the rearview mirror to see where you come from, where you are, what you are and leverage that into the situation you stay in. There is much suffering, and after the exercise, you may probably find you aren’t in that wrong position after all.
Why We Love Rope
By: Ena Dahl
Tags: Sexuality, Opinion, Bondage, Shibari, Spirituality

When I started writing my article on how I experience being bound and suspended in rope, I was struck by an overwhelming curiosity about what it feels like to be on the other end. Since my experience is mainly as a model, I wanted to better understand what it’s like in their shoes; is it as good for you as it is for me?

Do rope tops feel the same kind of euphoric catharsis as bottoms, or do they have another type of experience entirely?

The answer my rigger sent back to my questions touched me so deeply it inspired me to seek answers from other rope lovers too; what attracts them to Shibari, and how do they experience tying or being tied?

The responses I received were all stunning and unique, yet had many traits in common. Both tops and bottoms speak unanimously about entering a type of rope-space; a mindset where few outside things seem to matter for the duration of the session. The riggers poetically describe feelings of intense focus and of tuning into their models to decipher their needs and wants. Models, on the other hand, overwhelmingly feel comforted and held while given the opportunity to let go.
Does the thought really count?
Tags: Opinion, Crypto, Advice, Intentions, Business

Does the thought really count?

I’ve been living life all wrong. Whenever I mess something up, flake out on plans or give up on something before it’s done I always used to justify my actions because I had good intentions.

As it turns out though, no one cares about your intentions. I learned that pretty quick after starting a commission based sales job, let me tell ya.

When someone pays $7500 to order a bedroom suite and sectional and you tell them you can get it here next Tuesday, they expect it to be here next Tuesday. End of story. If it ends up getting pushed back by six to eight weeks, they aren’t going to care how much the situation is stressing YOU out or how many other customers have stuff on backorder, or the fact that we’re in the middle of a pandemic and timeframes can change on a day-to-day basis.

What matters to them is they literally have handed you $7500 on agreement that their furniture will be here on the day promised to them. And that’s understandable!

Your intentions don’t matter if you can’t deliver

It’s sure nice of you to want to do good by someone; you have a kind heart. Awesome. If you wanna be successful though, you’re gonna have to work on the whole delivery part because nobody cares if you were trying to be nice while coming across as an asshole. Or cancelling plans or breaking promises or other agreements.

I learned this simple little trick from a retail veteran and to my surprise it hasn’t only helped keep my customers happy, but also it has boosted the quality and depth of my personal life and relationships.

The unexpected thing is that it has helped me significantly with picking investments! There are so many projects out there with next level economics and huge, game-changing goals. And they pump based on speculation and then inevitably fail and dump due to lack of delivery nine times out of ten. It’s the tried and true projects with real partnerships, big trusted names and clear use cases — stuff that has been tested, audited and can demonstrate a real working product. The stuff that can actually deliver, in less words.

Anyway, this mantra can be applied to almost anything in business and personal life, and I encourage you all to use it ✌
Hi again, Mx. W,
By: Jay Toran
Tags: Opinion, News, Society, Government, Politics

Hi again, Mx. W,

Found this quote from AZ Quotes by Helen Keller (yeah, some consider AZ Quotes disreputable):

Until the great mass of the people shall be filled with the sense of responsibility for each other’s welfare, social justice can never be attained.

I think most here would agree. But IMV (In My View), which is probably exceedingly unpopular, this includes the T.Rump supporters. Of course, I acknowledge other points of view, too.
【評論】2020年日本時事新聞回顧
By: Chang
Tags: 政治, 時事, Opinion, 社會, 日本

Learn more. Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Make Medium yours. Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore
I Want to Start #NobodyAsksForYourOpinion
By: Prily Calista
Tags: Mindset, Journal, Mind, Opinion

So, basically a while ago, something came up on my mind. I have a realization that during my college years, I often found myself with hesitation and doubt to speak up about my mind and my opinions. On public or even social media. There is a confession that even I have doubt to admit to myself and only few people that notice it, maybe. It’s a confession that I don’t even admit to myself. That I’m a shy and introverted person. I mean, is it… something to be embarrassed about? Is it… not a good thing? Now that I’m writing in on a public platform, will it be a boomerang for me? Will I be judged based on my confession? Is it a one brave step for me to write it on public? Surely I don’t sound shy and introverted when I’m writing this. But, what harm could it give me if I write, admit, and post it online? Well, maybe it’s a way for me to practice my confidence to let my mind and opinions about certain things be heard and known.

During that realization, a thought came, something that made me a little bit more accepting about myself. What if, before someone says “Nobody asks for your opinion” or “Nobody asked” to me, I say that to myself first? Accepting that, yeah, my mind and opinion might not be accepted or heard, but at least it’s out there. What if someone says “You’re wrong” or “You make no sense”, I accept that possibility first? No matter if someone thinks I’m ridiculous. It might sound easy as I’m typing it right now, but surely it will be a practice, and not an instant one. But it’s something that I’m willing to work on because I believe there is someone out there that has the same thought as me.

I guess, with that short explanation, I will start writing my mind and opinion here if I get something come up. I’m quite curious of how it turns out and hopefully, it brings me good.

-Prily
Why We Should Make 2020 the Year of Resilience
By: Victoria A. Fraser
Tags: Opinion, Inspiration, Resilience, Psychology, Personal Development

What is Resilience?

According to Psychology, Resilience is our ability to cope during a crisis and come back stronger. Instead of letting adversity and challenges tear us down, we choose to face them, to heal, and to continue our course.

Some research suggests resilience has a genetic predisposition. The good news is that many of us are resilient in some capacity. Yes, some of us are naturally better at it than others, but I believe it can be learned as well. As with everything, genetics and environmental factors are always interacting in some capacity. The layman's term for this is Nature vs Nurture. Psychologists have often taken a stance on which affects our development more. That said, these days most agree that it’s a mix of both.

If you don’t think of yourself as resilient, well I’d like to argue you are more resilient than you think. Winnie the Pooh phrased it better than me though.

“You are braver than you believe, stronger than you seem, and smarter than you think.” ~ Winnie the Pooh

And if you don’t believe that, well let’s look at ways you can improve your resilience by learning from others.

What Builds Resilience?

There are a lot of traits associated with people who are highly resilient. Here are a few ways to build your own resilience. And don’t worry, I’ll elaborate on each one with research.

Here are 4 traits that build resilience:

Internal Locus of Control

High Rates of Optimism

Social Support

Strong Moral Compass

Internal Locus of Control

The Locus of Control refers to the degree to which you believe you are in control of a situation. If you think all your problems are out of your control it would be external. If you see yourself as still in control it would be considered internal. Resilient people have an internal sense of control and that helps them perform better. This makes sense since feeling in control reduces anxiety and that makes adapting to a challenge easier.

High Rates of Optimism

Optimism is another trait that has some basis in our genes, and I’m sure I fall into this pool. My family has gone through some difficult times, but we have always been happy. Being more optimistic leads to more success when faced with challenges, as seen in this study on university students.

Social Support

Resilient people also look for emotional support in times of trouble. In this paper, they provide evidence that seeking social support leads to better psychological hardiness. A close social network is a key factor in reducing depression and coping with adversity.

Strong Moral Compass

Having a clear moral compass and internal belief system is another way to increase your resilience. In this study, having a strong moral compass and ethics was found in resilient people as well. This makes sense since decision-making would be easier if you follow your own beliefs on what is right and wrong.
Bitcoin And Terrorism Network Funding Action.
Tags: Cryptocurrency, Opinion, News Articles, Terorisme, Bitcoin

Bitcoin is reportedly funding terrorist acts. But is it really happening?

The peer-to-peer version of Bitcoin, which has been discussed since January 2009, supports online payments made directly from one party to another without any financial reasons, only transacting via an algorithm using a technology called blockchain with its sophistication to decentralize existing databases. encrypted and connected across all its networks and protects its users by eliminating personal data.

Seeing that in 2015, Interpol was charging Bitcoin. As a result, about 40% of the money that goes to Bitcoin is related to crime. These illegal transactions include the sale and purchase of drugs, hacking, pornography, money laundering and funding for terrorist acts.

By 2018, the idea is thought to have emerged from the University of Sydney research team, arguing that “a quarter of Bitcoin users and half of all transactions using Bitcoin are attributed to illegal activity.” they also estimate Bitcoin is worth $ 72 billion per year through various illegal transactions.

In late 2017, someone named Shahnaz owned $ 60,000 worth of bitcoins, he first exchanged them for US Dollars and then distributed them to well-known ISIS network groups in Pakistan, China, and Turkey as a recommendation.

In the report “Terror in the Dark” published by the Response Center for Radicalization and Terrorism it states that “there is no indication of using Bitcoin to support acts of terrorism, especially on a large scale”. The report said the terrorist group is more familiar with a transaction system called Hawala than using Bitcoin.

Etymologically, Hawala means “transfer” on the basis of “trust”. Hawala is a traditional funds transfer system popular in the Middle East with an agent-to-agent system right up to the final receipt. reportedly an annual remittance of $ 500 billion is circulating on the Hawala system.

These terrorist acts were self-financed, they came from relatively well-off families. They finance acts of terror with their own wages, they are willing to lose everything in order to complete the mission, even life becomes very trivial to them, especially just to give up money, “said Richard Barrett, an officer of the United Nations (UN).

It might be less efficient if the existence of bitcoin is said to fund acts of terrorism, Bitcoin may be more difficult to use for transactions, especially in countries with minimal technological infrastructure. unless it is made easy to exchange it for physical currency.
Why are Home alone and How the grinch stole Christmas the most sought-after movies during the holidays?
By: Vive Akugha
Tags: Opinion, Christmas, Home Alone, Holidays, The Grinch

Image credit-Pinterest

My initial answer was that they are timeless classic movies, but I was wondering about why they are timeless classics. I noticed the continuous trends from the movies and the support they receive especially during each holiday season. According to the Merriam-Webster dictionary, classic is defined as “serving as a standard of excellence: of recognized value” and timeless as “not restricted to a particular time or date”.

Dr. Suess’ How the grinch stole Christmas was first a published book in 1957 and has had many adaptations ever since. The latest movie was in 2018 but the 2000 movie starring Jim Carrey seems to be the most memorable. Many years after, it is still being embraced and stapled as a Christmas must-watch. The movie was recently named the #1 movie on Netflix’s most popular movie list according to Purewow.com. This is a great example of it standing the test of time to still be quoted, watched and praised.

Jim Carrey’s personality and delivery as a comedian then an actor amplified the likeness to the Grinch’s character. I have often seen comparisons of the Grinch to the realities of adult livelihood and accepted for being relatable as well. The most memorable lines and the costume are often repeated or recreated.
4 Thought-Provoking Arguments Why My Friends and I Adore Catcalling
By: Eszter Brhlik
Tags: Opinion, Self, This Happened To Me, Harassment, Social Justice

The internet is filled with all the negative aspects of catcalling. Indeed, the majority of women are frustrated, disturbed, and sometimes even scared by men who comment either nicely or slightly inappropriately on their appearance. Women judge, fight, and deem catcalling to be ‘street harassment’. Many people and even some studies demand catcalling to be criminalized as of its negative effects on women and society as well.

Let us pause for a moment.

Is this really of such a big issue? I mean, I understand. We have to draw a strict line between what is appropriate and what is already harassment. But I think, with catcalling we went a bit too far. Yes. I think our society is becoming radically feminist in this regard, and the other side of the story is widely underrepresented, unpopular, and unheard.

First, I have to admit, my friends and I genuinely enjoy being catcalled. It brightens up our days and gives us a slight confidence boost. We might be the smaller group of women, but we do exist.

Second, we sometimes forget catcalling usually comes from the somewhat less educated members of our society who might not be able to lead a social interaction according to our standards. They might solely want to express their adoration even though it is in a less accepted way aka via whistling, shouting, and commenting.

Third, if we say catcalling has to be penalized, where do we draw a line? Should gazing be already punished by prison? Are the phrases ‘sexy’ or ‘hi beautiful’ already inappropriate enough to make the abuser pay hundreds of bucks?

Lastly, if we claim how horribly catcalling objectifies women, I have to ask a thought-provoking question: Is that truly a wrong thing? Why should a blue-collar worker for example be aware of my intellectual value, when all he can see is my big booty walking by next to him?

Let’s unravel the less-discussed factors of catcalling with its positive aspects.
The problem is not that Americans love to suffer.
By: W. Les Kendrick
Tags: Opinion, Society, Economics, Culture, Politics

The problem is not that Americans love to suffer. The problem is that life needs meaning and purpose and imposed suffering is one, but not the only way, to provide that. If you read Victor Frankel’s book “Man’s Search for Meaning” you get a sense of how important meaning is to surviving the worst of times (in his case the Holocaust). If you have a why, the how can be endured.

In addition to purpose and meaning, we also need capability and skills and we are sorely lacking in that. If we lack the skills to deal with the challenges of life we tend to lash out in fear or anger. So my other book recommendation would be almost anything by Nassim Taleb, but especially “Antifragile” in which he talks about how to arrange your life so some of the stressors serve to make you stronger. In the end, I don’t think we are choosing, overtly, to suffer, but it is a consequence of the lack of meaning and capability that pushes us in that way. And some suffering, of course, is just a fact of life.
Asking opinion can eliminate fear away
By: Albert Roy
Tags: Opinion, Medical, Apps, Health, Mobile

Source — Pexels

Asking for a medical opinion online was anxiety for the people. And they are hesitant and afraid to doubt the professional doctors who treated them, and perhaps they think it may lead to a backlash. There are several different situations when you might want to get a second medical opinion on your diagnosis or treatment plan. To get online medical consultations, apps like Second Opinion can help.

Why Second Opinion is Important

If you are not ready to get a second opinion, it may lead to a wrong diagnosis or the need to go for unwanted surgeries. A recent study explains the potential value of seeking a second opinion in this situation. The researcher found that 80% of the people who sought a second opinion for a complicated medical condition had a new or refined diagnosis that changed their treatment plan, and 19% of the diagnosis changed completely. And it will prevent adverse events caused by inaccurate diagnoses or treatments.

When Should You Ask?

People may have pain in a particular part of the body. But your doctor may say another issue so that people will get panic at that time. It may affect in many ways

People may have a doubt or hesitation about the diagnosis.

Whether the treatment will be a success or how it is going to work.

And the surgery is hazardous, or it will be minor.

How Do You Ask?
Opioid Crisis is back in the news with more lawsuits.
By: Marcia Frost
Tags: Opioid Crisis, Opinion, Chronic Pain, Addiction, Opioid Epidemic

Opioid Crisis is back in the news with more lawsuits. My opinion on the matter has not changed since I wrote this: https://link.medium.com/S12pvr3dscb