Alkanyx Blog

Coding tutorials, Design and Lifestyle

Explore blog entries

React Native - Getting started

Javascript is crossing the borders of operating systems for some while now. There are a lot of frameworks and libraries out there that allows you to write your app for about any platform you wish. You can pick react.js / angular / vue for web development, Ionic / Cordova / React Native for mobile development or Electron for desktop apps.

In this article however, we are going to concentrate on React native development for mobile applications that will run on Android and Ios. What I really like about React Native in comparison with other frameworks like Ionic or Cordova, React Nati

by Sebastian Schiau, 2 months ago

You may also be interested in

Most important SEO factors of 2018 for beginners


When it comes to Search Engine Optimization, there isn’t an exact recipe, as the ranking signals are now probably in the rage of thousands, we can’t pretend we know exactly what they are.  What we know though, is how much of an impact optimizing the most important SEO factors has ( in the real world ).

This article’s goal is to walk you trough what we consider to be some of the most important SEO ranking factors in 2018.

While reading along, you will hear us mentioning about SEO ranking factors as being on-page and of-page. Difference between them is:

  •  On-page SEO refers to factors taking place on your actual site, like content, urls and code.
  •  Off-page SEO refers to actions taken to improve your site ranking and trustworthiness by building the right inbound links network  and social signals.

On-page SEO factors

·    Content, Content, Content

Now, high quality content is maybe the most important factor when it comes to on-page SEO.  Try to keep your content lengthy, useful and unique. Updated content is also liked by Google, but try to make low magnitude changes when updating.

§  Site title

Make sure to contain your keyword, be relatable to page’s content and be brief and descriptive. As for the actual length, keeping it around ~60 chars is idea.

§  Site URL

Make sure to contain your keyword and match your page title. It should be human readable and words should be separated by hyphens while stop words and punctuation should be avoided.  Ideal URL length is around ~60 characters, but everything under 100 characters is okay.

§  Site meta description

Although meta description is not that important as it used to, it can offer you a lot of control over your indexed pages. It should contain your keyword and be around 150 characters long, as Google’s May update truncates everything above that.

§ Keyword in important HTML tags

Make sure your keyword is present in important tags, like H1, H2, H3, bold and italic

§ Images

Your images should have suggestive file names, alt descriptions even captions and descriptions

§  Sitemap AND/OR Solid Internal Links Structure

Make sure not to have broken links and avoid redirects. If you are not using a sitemap, your internal links structure should be well balanced and avoid excessive internal links.

§ Robots txt

Make sure your robots.txt file is not disallowing search engines to crawl any important sections of your website, while keeping private internal stuff.


Make sure your site is protected by SSL encryption. You can now get free certificates using something like Let's Encrypt and Certbot.

§  Mobile friendly

Mobile friendliness is again one of the most important factors of on-page SEO. Make sure your website is looking good on all mobile devices.

§  Page speed

Page speed is an important factor because it denotes the usability of the site, just as the mobile optimizations.

§ Contact us, TOS and Privacy pages

The pages mentioned above also denotes credibility not only for your users but also for Search engines.

Off-page SEO factors

§ Links, Links, Links

Backlinks are the most important SEO factor, both on and off page. However, your links must be high quality, from high authority domains, relevant and similar websites links and also diverse links.

§  Domain age

It is a common fact among SEO gurus that domain age and sometimes even registration length makes your website look better for search engines. Also a clean domain history is required for successful projects.  Keyword present in the domain is also a plus, but websites with keyword in domain and thin content might get penalized.

§  Server location, IP History

According to some experts, search engines tends to boost the ranking of websites based on their server location and IP history, which should be clean and with no spam antecedents. Also, keep in mind shared hosting servers are a bit more risky than VPS/dedicated servers.

·   Social signals and Social usage

How many times your site or page has been shared on Facebook and Twitter might actually make a difference, as social signals are always to keep in mind when optimizing your SEO. As a starting pack, websites with Facebook pages that has a lot of likes or a Twitter profile with many followers might just get you the boost you are looking for. Also, as most of the real world business are on LinkedIn, a profile on it might help you too.


Bonus: To Avoid ( Penalties )

§  Keyword stuffing in title / meta description

Using excessive keywords in your content, title, meta description or URLs might get you penalized. You can use them multiple times in your content, but just make sure they’re usage is in context and not forced.

·   Paid / Low quality / Spammy Links

There aren’t many things Google hates more than paid or spammy links. Make sure your link building strategy is clean and safe.

·    Pure / User-generated Spam

Google doesn’t like spam, so try to stay in the safe zone as much as possible.

§  Duplicate content / pages

Google doesn’t like duplicate content, so avoid penalizations by not duplicating content or pages. Use canonical tags when needed.

§ Sneaky Redirects / Doorway pages

§  Getting hacked / hosting malicious pages or hosting piracy content

§  Hiding text

§  Popups

That's it for now guys! If you think I've skipped something important, let me know ;)

Take care and don't let your SEO go wild.

Best Cities to Live in as a Digital Nomad

Digital nomads… Two words that seem to contradict each other, don’t they? How can you be nomadic and digital at the same time? Travelling digitally? No, not exactly. Yes, there’s a lot of travelling involved, but there’s nothing digital about the travels-it’s the same as an individual boarding a plane and flying to another country.

The difference between normal travelers and digital nomads is the reason for the journey. Most people go on holiday while some travel for work, but digital nomads work while travelling. That’s what sets a digital nomad apart. Relying on a means of sustenance while constantly on the move.

This is only made possible because of telecommunication technologies like the internet. The internet permits digital nomads to earn a living outside they’re host countries. With access to it, digital nomads can easily work from anywhere in world remotely.

The Lifestyle of the Digital Nomad

The digital nomad’s way of living is quickly being adopted by many people. It is really gaining momentum, and two reason for this are advancement in technology and the pervasiveness of internet connectivity the world over. The fact that remote work contracts between freelancers, business men and even corporations is now becoming staple is also a factor that has contributed to the rise and consolidation of digital nomads.

Living in such a style warrants flexibility. There’s no room for digital nomads to be tied down because their work demands they keep moving around. As such, digital nomads rarely stay in a single place for little more than one to three months. They prefer urban as against rural locations too. The former will provide them with the necessary infrastructure to get work done, but the latter may not always be a conducive environment for such things.

Perhaps one of the best things about being a digital nomad is the opportunity it presents you to live a more than comfortable life. Since digital nomads mostly target developing countries to serve as their host countries, it means they can get better value from earnings. And the reason for this? Cost arbitrage. Digital nomads work remotely for clients in more developed and affluent countries, meaning their earnings will have more value in their host countries due to the low cost of living.

And another thin: A digital nomad is technically still a tourist since he’s not a permanent resident of his host country, but hardly will anyone ever know this. They assimilate with the people and adapt to the environment so easily they become part of the locals.

The Best Cities for a Digital Nomad

It’s one thing to be a digital nomad, but knowing where to head to in pursuit of a digital career is something on its own. Not every city can provide digital nomads with what they need. Luckily, there are still many cities perfect for them. Even better, such cities can be found in every continent and every part of the world. All that’s left is to choose the best ones.

 In Europe – Berlin, Germany

In North America – Austin, Texas

In Africa – Cape Town, South Africa

In Asia – Bangkok, Thailand

In Australia – Sydney, Australia

The things is, each of these countries boast facilities and infrastructure that cater to the needs of the digital nomad. Choosing one or all of them will yield different experiences but ultimately, the goal of the digital nomad will still be reached.

Berlin, Germany


Berlin’s relatively low cost of living is one of the major reasons it attracts digital nomads. It goes without saying that being the capital of Germany, it’s an urban and advanced city. The myriad of co-working spaces is what every digital nomad needs: Launch/CO, House of Clouds, Alte Kantine and Betahaus are just a few of them.

When it comes to comfort, the nightlife in Berlin is sure to satiate even the hardest, party-going digital nomads. Techno clubs dot so many places in it. And these nightclubs are just one of the many attractions.


North America, Austin Texas


Texas is a place that gives birth to technological and business startups. This city is very colorful, and it accommodates a diverse range of cultures. Artistic and musical organizations are only two things that add life to this city that perpetually shines with bright lights.

Digital nomads should feel right at home here, because few cities can rival Texas in terms of comfort and exotic experiences. The digital nomad is all about work and adventure, and he can find both in Texas.


Cape Town, South Africa


If you’re a digital nomad and you don’t mind living in place defined by ancient culture, dance, music and food, then Cape Town should be your next stop. More than work, travelling to such a place will enlighten and educate you about an ancient people. Such a thing can only, truly be experienced in person.

In terms of work, Cape Town is one of those cities in Africa where strong, 4g internet is accessible. The co-working spaces are not limited in number either. And the abundance of startups there is just another attractive feature for the digital nomad. There’s even a Silicone Cape initiative in the city that has had people dubbing Cape Town as the Silicon Valley of Africa.


Bangkok, Asia


Bangkok might even rival Berlin in terms of cost of living. With as little as-or even less than-$300 per month for rent, finding a great and comfortable accommodation shouldn’t prove too much of a hassle. Food is great and comes in exotic tastes and flavors; and the transport system is fluid and functional-uber taxis, metro systems, etc.

Cafes are in abundance too, so the digital nomad can easily go there with nothing but his laptop. Free Wi-Fi is not unheard of too, so working in this city will be made much easier because of the comforts mitigating it.


Sydney, Australia


Sydney is a large, bustling metropolis. Perfect for a digital nomad. There are no shortages of co-working spaces, with Tank Stream Lab, Fishburners and Hub Sydney being three of the most popular ones. At 35mbps, the internet speed is more than decent too.

When the digital nomad is not working, he can find rest and relaxation in Sydney’s popular beaches. Come to think of it, he can even work while relaxing at the beaches. That alone is enough reason to head to Sydney, not to mention other attractions like the Opera House.

Living cost in the city can be quite expensive though, but still not expensive enough to dissuade any digital nomad from the more pleasant aspects of the city and the opportunities it presents.


So the choice is left to the digital nomad. He can travel anywhere in this world and still find work. He has no restrictions save those he puts on himself. In the end, it’s all about flexibility while working, and no other profession can grant you these two things as being a digital nomad does.

Installing LAMPP stack on Centos 7

In the following article I will guide you through the process of setting up a fresh LAMP environment on a Centos 7 server with Apache, PHP 7 and MariaDB.

I chose a DigitalOcean droplet for this server but you can use whatever hosting provider you, since the setup steps are pretty much the same for all hosting providers. As shown in the image below, I chose a 2GB of RAM, single CPU and  50GB of SSD for $10 a month.


Create Dropplet and access credentials

Before hitting that create button, don’t forget to create a set of SSH Keys and add it to your droplet  if you want to login to your server via SSH Keys. In order to create the SSH Keys you can follow the Windows tutorial or Linux/MacOS tutorial.

As the Windows tutorial wasn’t quite matching my Windows 10 config, I had to improvise a bit, by doing the following:

  •  Generate the keys with following commands instead of PuttyGen
  • cd C:\Users\Qdev\.ssh
  • ssh-keygen -t rsa
  • Import the generated private key into PuttyGen and export the private key again as .ppk
  • Load up the PuttyGen generated .ppk file into Putty, add your user and IP and you are ready to go

I have decided to use regular login as fallback, so I had to set the PasswordAuthentication Yes parameter inside  /etc/ssh/sshd_config and restart the ssh daemon via service sshd restart. Now that you are here, as a additional security measure, you can also disable root login by updating the line PermitRootLogin no

Either way you choose to use your server ( SSH Keys or Regular credentials ), after initial login, don’t forget to create a privileged user, and use that one instead of root for further usage:


adduser dev
passwd dev
gpasswd -a dev wheel
usermod -d /var/www/ username #( change homedir for easier access if using SFTP )



 I personally like nano as my file editor, so on each fresh system I start by installing it. You can ignore this step if you use another editor:

sudo yum install nano

Another thing I will do with this server, is to assingn a domain name to it, so then we can easily access the web server and even the other services by pointing to it instead of the IP address. This can be done by updating your domain  nameservers, making point to digitalocean nameservers, and then in the digitalocean panel, you will need to park your domain, as in the picture below.



Installing the LAMP Stack

We will now start installing the LAMP Stack, including PHP 7.2, MariaDB, Apache and couple additional security related programs.

1)      Install PHP 7.2

sudo yum install
sudo yum install
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72
sudo yum -y install php php-opcache
sudo yum -y install php-mysqlnd php-pdo php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel


2)      Install MariaDB

sudo yum -y install mariadb-server mariadb
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo mysql_secure_installation

 Then when the mysql installation prompt will start, you will just have to go with these simple options:

Enter current password for root (enter for none): Just press enter

New password: Root Pass

Re-enter new password: Root Pass

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Reload privilege tables now? [Y/n] Y


After installation is complete, what I usually do instead of using softs like PHPMyAdmin, is I create a mysql user with remote access so I can manage the databases via clients like HeidiSQL. Run the command below and  enter the root password entered in the steps above.


mysql –u root –p 

This will create a user with access over all DBs and will only be allowed to connect from specified IP address. To allow remote access from any IP, use a wildcard (%)


Then if you want to use another MySql user for your actual web apps, create another like down below



3)      Install Apache

sudo yum -y install httpd #( should be already installed)
sudo systemctl start httpd.service
sudo systemctl enable httpd.service


Create a folder to serve your actual website:

sudo mkdir /var/www/html/
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html


Add the Apache virtualhosts:

sudo mkdir /etc/httpd/sites-enabled && sudo nano /etc/httpd/conf/httpd.conf

Then at the end of that configuration file, add the following line  IncludeOptional sites-enabled/*.conf

After you've addded that line, it's time to create a new virtualhost file for our domain, so we will start by creating a new file like this one:

sudo nano /etc/httpd/sites-enabled/


 And inside this file you will need to add something like this:

<VirtualHost *:80>
    DocumentRoot  /var/www/html/

<Directory /var/www/html/>
 Options +FollowSymLinks
 RewriteEngine On

 Save that file and restart the Apache server with sudo apachectl restart. You can then repeat this procedure to serve as many domains you want.


 Additonal security implementations

1) Fail2ban

 Fail2ban will automatically ban continuous failed SSH logins, in the case you chose not to use SSH keys.

sudo yum install fail2ban
sudo systemctl enable fail2ban
sudo nano /etc/fail2ban/jail.local

 And inside the config file, you can add the following rules or update them as you wish:

# Ban hosts for one hour:
bantime = 3600
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
enabled = true
ignoreip =
findtime = 600
maxretry = 3

ignoreip =


2)  Mod_evasive

Mod_evasive is an Apache module that will ban abusive HTTP requests made by users. This will be able to handle low to moderate DDOS attacks on your server.

sudo yum install mod_evasive –y
sudo nano /etc/httpd/conf.d/mod_evasive.conf

Then to get you started, here are some rules to get you started:

DOSHashTableSize   3097
DOSPageCount        20
DOSSiteCount       100
DOSPageInterval    1
DOSSiteInterval     1
DOSBlockingPeriod  120


3)  Install SSL with CertBot

SSL is a must these days, so grab your certificates using Certbot and following commands

sudo yum install certbot-apache
sudo certbot –apache

When you are asked about domains to install the certificates for, leave blank for all of them. In order to automatically renew your certificates, let's add a cron rule to renew them once 3 months, so open up the crontab with sudo nano /etc/crontab and add the following line:

5 8 * * 0 root certbot renew --quiet > /dev/null 2>&1

This should get your data secured.

Now if everything worked well, you should have your own LAMP server ready to go! This should be enough for your favourite PHP powered apps like Wordpress/Joomla/Drupal or PHP Frameworks like Laravel/Symfony/CakePHP.