My situation and understanding for the Coronavirus pandemic

In the current Coronavirus pandemic situation, I’m staying at home, completely isolated, and got some time to write a blog article on it!

I’m a thirty-seven years old guy having fifteen years of experience in the IT industry and currently, working in New Zealand for the past eight months. FYI, I’m not affected by the virus, yet!

I have a family in India! A lovely beautiful wife married to me for nine years and counting. A one year three months old cute son. My old lovable father and a caring mother.

Now, New Zealand is at alert level four lockdown. I’m locked down at home for the past two weeks and will stay the same for the next four weeks at least. My family is also locked down at home for the past week and they have to stay the same for the next three weeks at least. They have enough food stock for a month. So do I. Apparently, we don’t have a crisis, so far!

However, my little son, who used to go for a stroll in the morning every day and felt very joyful after coming back, is no longer able to go out for a stroll! My father, who is a teacher, couldn’t spend much time without seeing his students, now have to remain at home! I used to go to the gym and then to the office every day, loved my busy schedule, now have to work from home! I supposed to go to India to visit my family in July and I’m not sure if that will be possible anymore!

This is my situation, so far! I have a ‘hope’ of getting back to normal life within the next four or six or eight weeks. ‘Hope’, that’s all we have left, right?

PHP Dependency Management Tool – Composer and Packagist

Composer is an application-level PHP dependency management tool. It will seamlessly install and update the packages that you declare as your PHP project’s dependencies. Composer pulls the latest packages from the PHP package repository, Packagist. However, it is not a package manager. 

Nils Adermann and Jordi Boggiano have developed the tool and first released it in March 2012. Composer manages the packages within a specific directory by default, not globally. It does have a global command and support for the global project as well. In general, the composer handles package dependencies per-project basis. The idea behind Composer is based on the node‘s npm concept.

What is a library or a package?

As a PHP programmer, you must know that everyone searches on the internet for a readily available class file to achieve certain functionality. So, that way we don’t have to code some functionality on our own. Therefore, we could save some time.

Remember the early age techniques of including a third party class file in your PHP project for handling different requirements like the file upload or to export a data grid into an excel file format or send an email using third party SMTP! Things are not that simple anymore. Now you have to handle User Authentication with social media login support, Request Routing with custom routing pattern matching, File Uploading with extension restriction and remote storage support, etc. It is good that the functionalities are still readily available on the internet, however, the fact is, the single class files have now become packages including multiple class files and directories.

Ubuntu 16.04 / Apache2 / NGINX / PHP7.0 FPM / MariaDB / Varnish

Using NGINX reverse proxy along with the Apache webserver improves the performance of the websites significantly! So, I decided to give it a try. I have configured a lot of webservers earlier with Apache and PHP or Lighttpd and PHP modules. However, I was doing this type of setup for the first time!

I decided to configure a server with Linux – Ubuntu 16.04 LTS, Apache2 as a webserver, NGINX reverse proxy for Apache2, PHP7.0 FPM module for processing server-side PHP scripting, MariaDB server (a community-developed fork of the MySQL), and some other necessary modules to run the server independently. In this article, I will describe the whole procedure that I’ve followed. I will also list all the SSH commands that I’ve used while preparing the server.

Initial Server Setup and Configuration

First of all, I’ve used a 2GB dedicated server with Ubuntu 16.04 LTS version from DigitalOcean to test the setup. After logging in to the server with “root” (or with a sudoer user), first, you have to check if the environment variables are set properly or not. This is to avoid some warnings during other modules installation. Many times, the locales are not set properly by the hosting providers while deploying the server. Therefore, Run the following commands to configure it properly.
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales

How to generate backlinks to your website

If you have done a bit study on Search Engine Optimisation, you must have come across the term “backlinks”. Backlink has become one of the important factors in SEO along with authoritative content. If you have a website and you want it to rank in the search engine results, you should really consider how to generate backlinks to your website.

What is a backlink, why it is important, and how it can help your site’s SEO?

Backlinks are the hyperlinks directed towards your website from other web resources. These are known as inbound links as well. When other websites, web pages, and web directories hyperlink to your website, that is considered as a backlink.

It creates a huge impact on the presence of a website in search engine results. Search engines calculate page rankings using multiple factors to display search results and backlink is one of those. When a search engine runs its algorithm to decide the relevance of a website to a keyword, it considers the number of quality inbound links to the website. Furthermore, the search engine evaluates the content of the website to determine the quality of an inbound link. When links to your website come from other websites and those websites have related content to your website, these inbound links are considered more relevant to your website. The higher the relevance of inbound links from more authoritative websites, the greater their quality.

Backlinks help to get more organic traffic to your website. More organic traffic means more popularity and more new visitors!

Bootstrap 4 Introduction – What’s New

Bootstrap is a well-known and essential platform for web developers and front-end developers. Currently, the latest version of Bootstrap is v3.3.6. The Bootstrap project has stepped into their fourth birthday on 19th August 2015 and on the same day they have announced the upcoming version of Bootstrap 4.

Currently, it’s in the alpha stage and the source code is available in a GIT branch for forks. They have not declared the final release date of Bootstrap 4 yet. However, there is a predeclared development plan of having a few “alpha” releases, then two “beta” and two “RCs” (release candidates), and then the final version will be released.

Importantly, they have also announced that, unlike withdrawing further support for v2.x after the release of v3.0, which was a mistake, they will continue the support for v3.x after the release of Bootstrap 4.

Update 12th May 2020:

The team has released the latest stable version Bootstrap 4 (v4.5.0) today.

There are major changes that have been made in Bootstrap 4 and it is a rewrite of almost the entire project. Very old browser support has been dropped, moved from LESS to SCSS, switched from the px unit system to the em based unit system, some components have been dropped, and some new components have been added. Let’s see what are the changes and new features in Bootstrap 4.

HTTP Status Codes for RESTful APIs

HTTP status codes are the response codes supplied by the web servers against any HTTP request. These codes are 3-digit integer values where the first digit of the code specifies one of five classes of response. There are different series of HTTP status codes. Each status code series have their own status category and each status code has a specific meaning.

1xx = Informational – It means the request has been received and the process is continuing.
2xx = Success – It means the action was successfully received, understood, and accepted.
3xx = Redirection – It means further action must be taken in order to complete the request.
4xx = Client Error – It means the request contains incorrect syntax or cannot be fulfilled.
5xx = Server Error – It means the server failed to fulfill an apparently valid request.

All the HTTP status codes are a part of the HTTP/1.1 standard. The Internet Assigned Numbers Authority (IANA) maintains the official registry of the HTTP status codes.

Moroccan grilled chicken recipe

On festive days, you do not need to go to a restaurant always! Rather, you can cook some delicious dishes at your home. It’s far better to have fun with your family and friends at your home rather than going outside. We love chicken recipes. Chicken dishes are so easy to prepare and it takes a little time to cook. So I and Supratim tried this Moroccan grilled chicken recipe at home following the Sananda magazine. It really tastes good!

Moroccan grilled chicken is a flavorful appetiser dish especially enjoyed with green salad or tossed salad, white sauce, and a chilled strong beer 🙂

How to create a jQuery plugin – basic concepts

jQuery is a popular term known to the web developers and web designers. We use various jQuery plugins to serve different purpose and functionality of a website. Nowadays, lots of jQuery plugins are available on the internet for almost every functionality needed. You can easily find a required plugin here “http://plugins.jquery.com/“. Web developers and designers tend to just download the plugin from the internet and use it in the web page to achieve the functionality. Very few of us need to write custom jQuery script blocks to do some special or customized functionality. Rather than writing scattered jQuery script blocks, it is always a better idea to create jQuery plugin to wrap them up in a method and use the custom jQuery plugin when needed! That keeps the web page clean and the script is more manageable. So let’s learn the basic concepts and anatomy of a jQuery plugin and how to write your own plugin.

Postfix configuration in ubuntu

Postfix is a free and open-source mail transfer agent. It is the most suitable, easy to configure, and widely-used Sendmail programme for a dedicated web server. I’ve a dedicated server hosted by Digital Ocean and the server is configured with LAMP stack. Recently I needed an email with the blogpipers.com domain to verify the domain with Sendgrid – a transactional email platform. So I’ve googled around and found this mailing software as the most suggested one. Then I searched a bit more for the setup and configuration and it seemed very easy to me.

PHP 7 – what’s new and feature spotlight

You might already know that PHP 7 is now a stable release. PHP 7 is a new major version, still it has very few backward incompatible changes. However, lots of functions have been deprecated. This is the most important version update for PHP since the release of PHP 5 in the year of 2004. Drastic performance improvements along with reduced memory consumption will supercharge your web application. The new Zend Engine 3.0 enables your website with 2x faster performance and 50% better memory consumption than PHP 5.6 which allows you to serve more concurrent visitors without adding a new hardware. PHP 7 is based on the PHPNG AKA PHP Next-Gen project, that was led by Zend. Also, PHP 7 now has support for 64-bit Windows system which was lacking in 5.x version. However, it was already supported in the Linux 64-bit platforms and local LAMP stacks. Besides the performance enhancements, PHP 7 has introduced many new features, like new operators, type declarations, anonymous classes, namespace imports, etc.