[SOLVED] React native fbsdk next error | Could not find or use auto-linked library

 After upgrading my react native fbsdk to react native fbsdk next, I encountered an error like this.

Could not find or use auto-linked library 'swiftCompatibility50'

.... and so on.

It has something to do with the swift files from a package you installed/linked. To solve this you have to create some sort of swift bridge by just creating an empty swift file in your xcode/workspace.

  1. open XCode
  2. create new file, select swift file
  3. confirm "Create Bridging Header"
  4. clean and build

Here are the guides that helped me.

  1. https://stackoverflow.com/questions/50096025/it-gives-errors-when-using-swift-static-library-with-objective-c-project/56187043#56187043
  2. https://github.com/facebookarchive/react-native-fbsdk/issues/755#issuecomment-653043458


SOLVED | Installing featherjs cli - feather command not found in zsh terminal after installing

Below are the steps I did to sort out the issue.

Step 1: Check the location of your global modules.

  • It is important to know where your global node modules are being installed, just type the command in your terminal "npm -g root" to see the location. Most likely it is under "/usr/local/lib/node_modules".

Step 2: Compare the npm root location to your npm config prefix.

  • Based on my observation, it looks like global packages will be installed based on the location you put in your npm config prefix. Just enter the command in your terminal "npm config get prefix" to see the location. You should see something like this "/usr/local" if your npm root looks this "/usr/local/lib/node_modules". If not then you have to change the path of your prefix.

Step 3: Re-install the package and restart your terminal




Ripple XRP Price Analysis Today January 2, 2021

Last month, a few days after the Flare token snapshot, XRP dive down due to the SEC lawsuit that was filed by Jay Clayton the day before he resign from his position as SEC Chairman.

The XRP price went down further as US crypto exchanges started halting XRP trades due to the fear that they might get sued as well.

The dip went down to $0.174 from $0.778 but right now it is starting to crawl back up currently trading at around $0.23.

Today I will try to discuss the XRP price on what to expect in the coming days based on what I see on the current XRP chart. This is not a investment / financial advice so trade at your own risk.


If you look at the 30min timeframe you can clearly see that it is forming a triple top trying to break the $0.25 price. Triple top is considered bearish in general.

From its low ($0.17) you can see that it is creating a higher low, an up trend, however; due to the fact that it failed to break $0.25 three times there is a big chance that it will go down again if it fails to break $0.25 within this week. It will either re-test the $0.17 again or go down further depending on how the Ripple lawsuit goes.

My Standing

I still believe in long term for XRP and I believe that this lawsuit will be resolved just like any other lawsuit that Ripple faced months and years ago. They will either win the case or pay the fines if they lost against SEC.

It is risky but imagine the price if Ripple will win this case. High risk high reward.


Huawei React Native OneSignal Setup

Open the link below and follow step 1 to step 5.3


Note step 4.3:

Make sure to provide the SHA256 for both debug and release keystore in your huawei config (step 4.5) so that the push will work if you plan to test the push using the command "react-native run-android".

The debug keystore is located under android/app.

If you want to know how to check the SHA256 inside the keystore just refer to the guide below.


Hope this helps


Get android keystore information from APK file

 Just run the command below

keytool -list -v -keystore <keystore-file>

and replace <keystore-file> with your keystore file. You can go directly to the folder and run

keytool -list -v -keystore mykeystore.keystore

or you can specify the path like

keytool -list -v -keystore ~/path/to/my/keystore/mykeystore.keystore


Solved No bundle url present when running React Native on iOS simulator

 There are two main reasons why this happened.

1. Your are unable to connect to the localhost. This can be fixed by tweaking your xcode info.plist. See image below:

2. If you have a history of using VPN or if you are using VPN then you have to turn on your VPN in order to connect to the react native bundler.

In other words, this is a network issue and not a react native issue so make sure to double check your network settings. As for me the cause was the VPN so I need to turn it on when running react native iOS simulator.

Hope this helps


Solved | Unable to export .p12 certificate in Keychain

The main reason why you can not generate .p12 certificate in your keychain because you are using a Certificate Signing Request that is not related to your mac device in generating that certificate that you want to export as .p12.

My scenario was, I reformat my mac mini and use the Certificate Signing Request that was generated before the reformat thinking that they the same. So I created several certificates using the old Certificate Signing Request and when I tried to export the certificate to .p12, the .p12 file type option was disabled.

disabled p12 certification option

So I tried generating a new Certificate Signing Request and re-generate all the certificates using the new Certificate Signing Request and it worked. The .p12 option is now enabled.


Solved | React Native Images and assets won't load after updating XCode to version 12.0

This morning I was shocked while I was working on my react native project, my Xcode crashed and suddenly asked me to install some component updates.

After the installation, the Xcode version became 12.0, and all the simulators are now running on iOS 14 while my react native project is running on version 0.61.5.

All the images and icons no longer work after I run the app on the iOS 14 simulator. It turns out the issue happens mostly on react native projects running below version 0.63 so the solution was to patch my RN0.61.5 to RN0.63.0 without doing an upgrade.

Patch code:

diff --git a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
index 21f1a06..2444713 100644
--- a/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
+++ b/node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m
@@ -272,6 +272,9 @@ - (void)displayDidRefresh:(CADisplayLink *)displayLink
 - (void)displayLayer:(CALayer *)layer
+  if (!_currentFrame) {
+    _currentFrame = self.image;
+  }
   if (_currentFrame) {
     layer.contentsScale = self.animatedImageScale;
     layer.contents = (__bridge id)_currentFrame.CGImage;
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
new file mode 100644
index 0000000..361f5fb
--- /dev/null
+++ b/node_modules/react-native/scripts/.packager.env
@@ -0,0 +1 @@
+export RCT_METRO_PORT=8081

Here are the steps:

1. run "npm i -g patch-package"
2. Make a new folder called patches in the root directory of your project.
3. Make a new file called react-native+0.63.0.patch inside that folder
4. Copy and Paste the source code above inside the react-native+0.63.0.patch file.
5. run "patch-package" on the root of the project

You'll see some warnings about the possible issues you might encounter but so far after I run the "patch-package" everything works again. Hope this helps.



If you re-install the node modules, this will delete the RN0.63.0 patch you generated, so you have to run the "patch-package" again.


[SOLVED] Jest: NavigationContainer error | An update to ForwardRef(NavigationContainer) inside a test was not wrapped in act

[SOLVED] Jest: NavigationContainer error | An update to ForwardRef(NavigationContainer) inside a test was not wrapped in act


describe('Entry Point Android', () => {
let getByTestId;
let androidWrapperInstance;

beforeAll(async () => {
const utils = render(<App />);
getByTestId = utils.getByTestId;
androidWrapperInstance = getByTestId('android_wrapper');

afterAll(() => {

it('should render android wrapper', async () => {


describe('Entry Point Android', () => {
let getByTestId;
let androidWrapperInstance;

beforeAll(async () => {
const utils = render(<App />);
getByTestId = utils.getByTestId;
androidWrapperInstance = getByTestId('android_wrapper');

afterAll(() => {

it('should render android wrapper', async () => {

It appears that the error has something to do with the setTimeout inside React.useEffect in my component. My component looks like this:

import React from 'react';
import SplashScreen from 'react-native-splash-screen';
import WrapWithProvider from './WrapWithProvider';
import AppNavigator from './AppNavigator';
import {
} from '@react-navigation/native';
export default function App() {
React.useEffect(() => {
setTimeout(() => {
}, 3000)
}, []);

return (
<AppNavigator />

I hope this helps.


[SOLVED] Task 'installDebug' not found in project error in Mac after using zsh terminal

This error is caused by the terminal no longer identify your environment variables which you set up in "~/.bash_profile" in the previous Mac OS version.

The ZSH terminal is now using "~/.zprofile" for the environment variables so to solve this issue, all you need to do is copy everything inside your "~/.bash_profile" to your "~/.zprofile" and everything should work normally.


MAC Terminal Commands are no longer working [SOLVED]

The problem started when I was trying to install Visual Studio Code and I was trying to add the path below inside my bash profile so I can easily launch Visual Studio Code using the command "code .".

export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

After saving it and relaunched my terminal, everything went wrong. I can no longer do the "ls", "bash", "sudo", "nano", and so on. The only command that was available to me was "cd" and that was it. I went panic for a minute because I am not sure how to edit the bash profile anymore now that all the commands are no longer found.

I went to the folder where the bash profile is located via "Finder" by:

1. opening Finder

2. click Go option from the top menu

3. click Go to Folder from the drop down menu

4. in the box type in "~/"

5. click the button "Go".

The bash profile file is hidden so we need to find a way to display it. Most guides online will teach you how to show hidden files via terminal but we do not have that option right now due to our terminal commands are not working so another way to display hidden files is by keyboard command.

CMD (command) + SHIFT + . (dot)

Once you press these keys all together, the bash profile file will show.

So opened it via text editor and remove the export path I added earlier, restarted my terminal and everything is back to normal.


Litecoin Miner (ltcminer.us) review, Is it a SCAM or a Legit Litecoin mining site? [UPDATE]

litecoin halving
Litecoin Halving Countdown (https://www.litecoinblockhalf.com/)

Litecoin halving is on its way and it is 52 days left, everyone is excited and hyped trying to accumulate as many Litecoin as they can. As for me I have no budget yet so I look around online to see if I can mine Litecoin for free.


I found this interesting website called LitecoinMiner (ltcminer.us) that allows you to mine Litecoin for free.

Litecoin Miner (ltcminer.us) review, Is it a SCAM or a Legit Crypto mining site?

They also have 4 different packages for you to upgrade which increases the amount of Litecoin you can mine per day, but for me I want to stick to the free plan until it is proven legit based on the number of successful withdrawals I can get.

Right now I currently mined 0.00028500 LTC in just a few minutes and I am expecting 0.0035 LTC / day. The minimum withdrawal amount is 0.01 LTC which I think it will take a week before I can get my first withdrawal request.


Right now I can not conclude but I am hoping that it is not a scam, but hey! anything can change anytime. I will be updating this post and keep you all updated about the status of this free Litecoin mining website.



I waited weeks to be able to request a withdrawal, I was able to request three times but unfortunately all of my requests are pending.

My first request is pending for more than 10 days already so I guess it would go the same as to my other requests. And for that I can conclude that this is a scam site and a total waste of time.

Workmines.com Update, my experience and final conclusion

Two weeks ago I stumbled upon this great making money online opportunity in youtube where you just watch videos and earn money from it.

Lots of YouTubers were promoting this site (Workmines.com) and showed proof of payments that they are earning this $xxxx amount of money every week (sounds too good to be true).

Even though I have doubts in my head I still joined the program because I wanted to find out if it is real and so I can share my experience to people out there who are trying to make money online.

So I created an account and play with it for 3 days. I did the math and it turns out I can really hit the minimum cashout amount per week and if I upgrade my account, this will give me a good amount of payout per week.

Took a day to decide what upgrade plan to purchase so I did some math and came to decide to get the EXPERT PLAN which costs me $94.20 good for 1 year. This plan is expected to return $117.28 per month which is great, in just a month I can get my investment back plus a $23.08 profit.

I went on completing my workmine tasks every day until the payout day came. I was able to accumulate $42.30 on that day (June 6, 2019 Thursday) so I requested a withdrawal amount of $40 and waited 24 hours for the payment to reflect.

I checked my online wallet the next day and no payment came through from workmines and that is when my hope of getting that $40 payout keeps getting lower and lower as hours passed by. I did some checking online to see if other users are experiencing the same thing and they did. I tried accessing the workmines website to see if I got available tasks (which is expected to reset already) but nothing is there, no more tasks the whole 24 hours.

The next 24 hours (June 8, 2019) I checked my online wallet again and still nothing came through so I checked the workmines website again and BOOMM!!! the website is down showing different kinds of .net errors. I keep on checking that day to see how the site is going and also did some checking again to see if other users are experiencing the same thing and they did even those youtubers who promoted the website also experienced it.

Long story short, all of us workmines users waited a week for the site to go back online and hoping that they pay us out once they are back in business. Today is the 9th day from the day I got scammed and today is the day that I will conclude that Workmines will not going to go back online anymore and for that I tag them as 100% SCAM SITE.

Note: I do not easily conclude online money making opportunities as scam, I always test it, invest on them if necessary and wait for further results before I conclude.


SOLVED React Native android build error GC overhead limit exceeded


Today I recently encountered an error while building four react native android applications, the error was:

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> GC overhead limit exceeded
* What went wrong:
Execution failed for task ':app:transformClassesWithMultidexlistForRelease'.
> GC overhead limit exceeded


It appears it has something to do with the memory of the machine or pc, all I did was restart my pc to clear all the previous processes and clean up the memory usage and then build the app again.

I also noticed that while I was developing for 5 hours, my machine was slowly slowing  down which gave me the hint to restart my pc. Anyways, restarting your machine or pc should fix this issue 95% of the time. Hope this helps.


SOLVED ReactNative WebRTC update issue | Android O (--min-api 26)


I recently upgraded my ReactNative WebRTC version from "1.58.3" to "1.67.1" which causes my app to fail when building or even running it. The exact error I encountered is:

D8: Invoke-customs are only supported starting with Android O (--min-api 26)
D8: Static interface methods are only supported starting with Android N (--min-api 24): org.webrtc.EglBase org.webrtc.EglBase.create()


1. In your project root directory go to "android/app/" and open the file build.gradle

2. Copy and paste the code below within the android config.

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8


Build you react native app again and it should work.


SOLVED Cabal ArenaKnights unable to open client

1. Download Cabal ArenaKnight here (You need to login first) and choose GoogleDrive Mirror since it is faster than the torrent (at least in my experience).

2. Install the downloaded AKCNAsetup.exe file.

3. Go to the folder you selected during the game installation process. This is the folder where you chose to install the game.

Note: Inside the folder you will see the cabalmain.exe file and if you open it, it will just launch the game guard and after that it closes and nothing will happen.

4. In the folder you should see a file "AKCNAmerica.exe".

Cabal ArenaKnights private server unable to open client SOLVED

Note: This file exist because I chose North America as my server. There are two options (North America and Europe), if you choose Europe as your server, the filename I think would be "AKCEurope.exe".

5. Open "AKCNAmerica.exe" or "AKCEurope.exe" and it should download the files / assets required to run the game based on these servers.

SOLVED Cabal ArenaKnights unable to open client

6. After downloading the assets / patch click the button "Finish" and it should launch the client perfectly. This will create a shortcut in your desktop called "AKC NorthAmerica" or "AKC Europe". This shortcut will be used if you to want launch the game again and this time, it will just download two files.

SOLVED Cabal ArenaKnights unable to open client
Relaunch game

SOLVED Cabal ArenaKnights unable to open client
Launching the game login

SOLVED Cabal ArenaKnights unable to open client
Selecting in-game server

SOLVED Cabal ArenaKnights unable to open client
Starting the game
Hope it helps.


Get string values from Android strings.xml in React Native


I am working on a mobile app project that contains multiple app builds in React Native. Whenever I build a specific app, the string called "app_name" inside my


keeps on changing. I intended to do this so that the native part of my code knows what app I was building.

My goal here is to get the value of the string "app_name" so that can be able to render a specific asset(s) or use a specific java function intended for that app.


I have my strings.xml looks like this:

All I did was create a String function and inside that function I use getResources() and getString() to get the string value of app_name inside strings.xml;

Here is the code:

Using this approach, I am now able to pass the values inside strings.xml to my react native app. I was able to compare the value of the function appName() using appName().equals("appone") that return either true if match or false if not match.

Hope it helps.


Mobile-First, Responsive and Adaptive design differences

Due to the amount of people who are using smart phones these days, people (
entrepreneurs) realize that they can expand their market if their websites can be used properly in both mobile and desktop. Because of this, the development of "mobile-friendly" websites came in and later on until this day it is commonly called responsive websites.

Due to the term "responsive" is being widely used these days for websites that has built-in mobile display. New developers get confused if they are being introduced to these other mobile design terms such as "adaptive" and "mobile-first".

In this topic we will clear that one out in order for us to have a better understanding on what type of websites we are developing.

What is mobile-first design?

Mobile-first design is a "development strategy" wherein you consider first how your website displays in mobile. This development strategy uses two different approach called "responsive" and "adaptive" design.

What is responsive design?

Responsive design is a technical approach where the developer is more focused on how the website element behaves in different device platforms by using specific CSS sizing unit or relative length such as percentage (%), vw (viewport width), vh (viewport height) . . and so on or certain display type such as flex.

This allows the website app elements to automatically adjust in any screen sizes without any delay. In some cases this approach is a bit slower in terms of performance since you will be using the same assets all over specially if you are browsing the website app using older devices. But hey! there are lots of ways to optimize this type of approach such as asset caching and proper data handling.

What is adaptive design?

From the word "adapt" meaning, something suitable for a new use or purpose. Adaptive design is sometimes misunderstood as responsive but they are totally different in terms of how they behave and being presented to the user.

In a simple explanation, adaptive design is a technical approach where you create different components that will render in different platforms or devices using media query or user agent. This type of design approach is quite expensive and hard to maintain because of different components that you have to look in to. But in most cases this is a lot faster compared to responsive because you will be using or rendering specific assets in a specific platform or device.

One good example of this is when you decide to provide better user experience to your users who are using older phones. That means you have to create a component and use lightweight assets so it can render fast in older devices.

Visual Presentation of Adaptive and Responsive design

Mobile-First, Responsive and Adaptive design differences

What to use?

This depends on the available resources you have but in most cases, responsive design is preferred by many due to these general reasons:

  • Google friendly
  • Fast development at lower cost
  • Single code base which means easy to maintain
Hope it helps.


Enabling your blogger blog SSL certificate without custom domain

This guide is pretty simple and straight forward. While most topics talk about enabling free SSL certificate to custom domains, I would like to tell you also that there is free SSL certificate to the default blogger domain such as:


It is amazing how Google give their users the ability to have such an expensive features for free and if you are using blogger I would encourage you to make the most out of this amazing free feature by enabling it now.

To enable it all you need to do is go to Settings > Basic and under HTTPS section, there you can see a drop down menu. Just select YES then save the changes and you are all good to go. The SSL will work in almost immediately.

Enabling your blogger blog SSL certificate for encrypted and secure connection without custom domain
Enabling SSL from the drop down option

Enabling your blogger blog SSL certificate for encrypted and secure connection without custom domain

I would like to add that for custom domains, there is an additional option which is the HTTPS AVAILABILITY. Normally for custom domains you have to purchase and SSL certificate from a third party vendors and connect it to your custom domain manually. But with blogger's free SSL, this option allows you to connect blogger SSL to your custom domain without any hassle in to your end.

Enabling your blogger blog SSL certificate for encrypted and secure connection without custom domain
Enabling SSL to custom domains

All the images you posted or uploaded in to your blog will also resolve to HTTPS. Hope it helps.


Error running 'app': Default Activity not found on Android with Kotlin


I started learning Android and decided to use Kotlin instead of Java so I setup my first project and added MainActivity.kt and started running it in debug mode. I was so excited to run my first native app and see the output but this error killed my excitement.

Error running 'app': Default Activity not found on Android with Kotlin

It felt like I am in between two planets colliding when seeing this error so I took time to do some research and got a solution.


Inside AndroidManifest.xml you have to add the code below within activity tag.

It should look like this:

I ran the code again and it worked perfectly.


Deploying React JS App to Firebase Hosting

Firebase hosting was launched on May 13, 2014 and it is one of my favorite firebase features because it allows you to deploy your static web files such as CSS, HTML, Javascript and other files, as well as dynamic Node JS apps.

Today I will be providing steps on how to deploy your React JS app so it can be live online through Firebase hosting.

Assuming that you already have your React JS app ready to be deployed, but if not you can create a new project just for testing purposes.


Login to your firebase account and click GO TO CONSOLE at the top right corner of the page.



Click the box ADD PROJECT to setup a new project. Each project account has its own hosting feature.



Enter the name of your project (project ID will be generated automatically, you can change it but I prefer to use the generated one to keep it unique). Check all the three(3) boxes and click the button "Create project" to finish setting it up.


Once the project is ready, it should display like this:


Click "Continue" so you will be redirected to Firebase control panel or console panel.


Open your terminal and change your directory to where your React project is located.

$cd Documents/reactjs/awesomeproj/


Make sure to install Firebase Tools CLI globally.

$sudo npm install -g firebase-tools

Make sure it is successfully installed by checking the version:

$firebase --version


Login to your Firebase account through firebase CLI in the terminal by entering the command:

$firebase login

When asked "Allow Firebase to collect anonymous CLI usage and error reporting information?" type Y and press enter.

$firebase login
? Allow Firebase to collect anonymous CLI usage and error reporting information? (Y/n) Y

This will going to open a page and allows you to select the Google account you want to link to your firebase project.

After selecting an account it will ask for permission that Firebase CLI will access your Google account. Just click button "Allow" to proceed.

Once successful the page will display:

firebase CLI successful access

And your terminal should display:

$ Success! Logged in as testemail@gmail.com


Build your React JS app in order for it to run in Firebase hosting environment. To build your app just run the command below inside your React JS project root directory.

$npm run build


Initialize firebase inside your app by running:

$firebase init

  • When asked "Which Firebase CLI features do you want to setup for this folder?". Just choose "Hosting: Configure and deploy Firebase Hosting sites".
  • When given an option to "Select a default Firebase project for this directory:". Choose the project name we created in step 3.
  • When asked "What do you want to use as your public directory? (public)", just type "build" and enter.
  • When asked "Configure as a single-page app (rewrite all urls to /index.html)?", type "y" and enter.
  • When asked "File build/index.html already exists. Overwrite? (y/N)", type "N" and enter.

Below is how my setup looks like:

=== Hosting Setup

Your public directory is the folder (relative to your project directory) that
will contain Hosting assets to be uploaded with firebase deploy. If you
have a build process for your assets, use your build's output directory.

? What do you want to use as your public directory? build
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
? File build/index.html already exists. Overwrite? No
i  Skipping write of build/index.html

i  Writing configuration info to firebase.json...
i  Writing project information to .firebaserc...

  Firebase initialization complete!

After initializing firebase hosting, you can now deploy your app by running the command below:

$firebase deploy

Once you successfully deploy your app, the Hosting URL will be provided to you. If you go to your Firebase account's console page and click Hosting on the left side under Develop category, you can see your temporary website URL which can be changes later on if you decided to purchase a domain and connect it to your app by clicking the button "Connect domain".


Remove bootstrap text input outline when focused in Meteor React

Recently I installed the bootstrap v4.0 and used some of the components and noticed this slightly transparent shadow or outline around text input and also in some other components such as buttons and so on.

I am using MeteorJS React so I was a bit puzzled on how to remove it. Did some search and tried possible solutions using JQuery but got no luck so I tried the simple CSS in react way and add the {outline: 'none', boxShadow: 'none'} and it worked. Here is the code:

Hope this helps.


RF Online Server Setup INI config Generator

This RF online server INI generator is based on Rigzone's [Guide] ** RF v2.2.3.2 Server SetUP **. Please check the link for the database configuration and further details on how to use the generated INI. Thanks

Server Setup Name:

Your Host IP Address:

Your Port:

Your MS SQL Server Name:

Your MS SQL Server Username:

Your MS SQL Server Password:

Your ODBC Driver:

Your User Database Name:

Your Billing Database Name:

Your World Database Name:

Your HBK Path:

Your History Path:

Select Nation Code:



No Data Yet




No Data Yet


No Data Yet


No Data Yet


No Data Yet


No Data Yet


Javascript Email format validation checker, check @ and dots


I have done some searching on how to capture email address top level domain name dots and the number of @ sign. Most codes I found returned true if I enter like.


I want a maximum of two dots and one @ sign only which caters domain such as:


and so on.


Below is a code I created that will caters your email validation needs.

If you want to increase the number of accepted dots (.) just increase the value 4.

Hope it helps.

Display an array of texts using alert with line break in javascript


I have an array of string messages / texts and I want to display it using alert function in javascript. I managed to display them using join() function but I can not display them with line break at the end of each message / text and remove all the commas in between each text / message. Basically I want to display these texts like a list, below is my sample code:


What you did on your "test2" code is that you join all the texts and then added a break line at the end of it. Regarding the commas in between, you need to use the replace() function and regex to remove them. I believe what you are looking for this:

Copy and paste the code above in your browser console and press enter. It should display like a list.


Show Remote MySQL Database Table List in Ubuntu


I would like to know how to connect to MySQL database remotely and display the list of tables of my database. I tried doing it in my terminal through:




But nothing works, all it shows are the help options and variables.


All you need to do is use the mysqlshow instead of mysql like:


It should give you the list of table of your database like this:

 Password should be -pPASSWORD not -p PASSWORD.

Show Remote MySQL Database Table List in Ubuntu
MySQL Table list in Ubuntu terminal


Steps in uploading your MeteorJS project to Heroku with GitHub CI

Assuming that you already have a MantraJS or a MeteorJS project and you are wondering how to make your project available online because you are tired of running it on localhost. Well today, I will show you the step by step guild on how to deploy your Meteor or Mantra JS application to Heroku.

Why Heroku?

There are 2 reasons why:

1. They have a free plan that is good enough for testing or starter projects.

2. They have an easy to use interface.

So let's get on with it. Since we will be using GitHub as our CI (Continuous Integration), it is important that you push your project to GitHub, here is the guide on how to do it.

Creating a GitHub Repository

1. Login to your GitHub account or sign up if you do not have an account yet.

2. Create a new GitHub Repository by clicking the button "New Repository" on the right hand side of your GitHub dashboard.

Uploading your MantraJS or MeteorJS project to Heroku and GitHub Step by Step Guide
Creating Repository 1.1

3. Fill out the Create New Repository Form

4. You can use either public or private option; however, the private option has payment.

5. Make sure the "Initialize this repository with a README" is UNCHECKED so that the repository will not be initialized or created automatically.

Uploading your MantraJS or MeteorJS project to Heroku and GitHub Step by Step Guide
Creating Repository 1.2: Step 3, 4  and 5
Just leave the "Add .gitignore" and "Add a license" option below to None.

6. Then click the button "Create Repository".

7. You will be given a guide on how to add the created GitHub repository to your project. (DO NOT CLOSE THE WINDOW YET)

Uploading your MantraJS or MeteorJS project to Heroku and GitHub Step by Step Guide

Uploading Project to GitHub

1. Open your terminal or CMD if you are using Windows Operating system.

2. Go to the folder or directory where your project is located via terminal or CMD.

3. Once you are inside the project folder, go back to your web browser and open the guide on how to create GitHub repository to your project. Follow the steps highlighted on the screenshot below.

Uploading your MantraJS or MeteorJS project to Heroku and GitHub Step by Step Guide
Creating Repository 1.3
NOTE: If you are using MantraJS or any project that has or uses NODE MODULES, you need to create a ".gitignore" file inside your project folder and inside the file just put "node_modules" (without double quotes). This will make the push or upload faster.
  • echo "# SampleProject" >> README.md - This will create a file named README.md inside your project folder.
  • git init - this will create a folder ".git" where your GitHub configuration is being set up.
  • git add README.md - You are notifying GitHub that you made changes to your git repository by adding a README.md file. However, since we will be adding our whole project files to git, you have to use "git add --all" instead of "git add README.md".
  • git commit -m 'first commit" - You are saving those changes you added. You can change the string "first commit" to any message you want (of course it has to be related to changes you made).
  • git remote add origin https://github.com/neilakoh/SampleProject.git - you are adding and connecting your remote git repository to your local git repository.
  • git push -u origin master - You are now uploading your files to your remote git repository (GitHub).
You will be asked to enter a username and password, just enter your GitHub username and password and it should go through.

Deploying your project from GitHub to Heroku

1. Login to your Heroku account

2. Click the button "Create New App" / "Create App".

3. Enter the name of your app (I named it "aboutonline") and select a runtime region (choose United States if you are outside Europe).

4. Click the button "Create App". You will be redirected to the "Deploy" page.

5. Under the "Deployment method" section click the option "GitHub". See screenshot below.

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Selecting the GitHub CI

6. Under the section "Connect to GitHub", just search the repository of your application. In this guide I created the repository with the name "SampleProject".

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Searching the GitHub Application Repository

7. Click the button "Connect" on the right hand side of the search result if your app is successfully located.

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Search Result if the repository is successfully located

8. Click the "Settings" at the top menu.

9. Under the section "Config Variables" click the button "Reveal Config Vars". This is where you add the ROOT_URL and the MONGO_URL of your application.

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Location for MongoURL and RootURL configuration

10. On the first box enter "ROOT_URL" or "MONGO_URL" and on the second box enter the value of your"ROOT_URL" or "MONGO_URL" and then click the "Add" button. See image below.

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Connecting your application to your domain name or web address and database

NOTE: Your domain name or web address is located at the bottom under the section "Domains"

11. Below, under the section "Buildpacks" click the button "Add Buildpack"

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Adding buildpack necessary to run your application on the web

12. A pop-up box will show up, just add the line below and click "Save changes":


Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Adding the buildpack URL

13. After adding the buildpack, go back to Deploy page.

14. Click the check box "Wait for CI to pass before deploy".

15. Click the button "Enable Automatic Deploys".

16. Click the button "Deploy Branch".

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Final Stage in deployment process. Step 14 to 16

This will build the application from your GitHub repository and point it to your ROOT_URL (web address) and MONGO_URL (database). Once it is done deploying your application you should be able to see your website when you access your domain name.

Uploading your MantraJS or MeteorJS project to Heroku using GitHub CI Step by Step Guide
Finish result
17. Done

Please comment below if you have questions, thanks.