ChatGPT is a language model developed by OpenAI, a leading artificial intelligence research company. It is based on the transformer architecture and has been trained on a massive dataset of text from the internet to produce human-like responses to a wide range of topics.

Part of any website are the domains and URLs that users type in their browsers in order to reach a web page. However, it can be challenging to manage should it need to be changed. Thankfully, there are URL redirects for that.
URL redirect (forwarding) allows you to forward your domain visitors to any URL of your choice, either to a new domain or a different website altogether.
In an Apache web server, use the following rewrite rules in your .htaccess file.

Generating an SSH key
- Open Terminal
- Generate your key pair using your email address
$ ssh-keygen -t ed25519 -C "your.email@example.com" Generating public/private ed25519 key pair
- When prompted to "Enter a file in which to save the key," press Enter to accept the default file location
$ Enter file in which to save the key (~/.ssh/id_ed25519): ~/.ssh/[id_keyfile]
- At the prompt, simply press enter for an empty passphrase
$ Enter passphrase (empty for no passphrase): [press enter] $

In July of 2020, GitHub announced its intent to require the use of token-based authentication for all Git operation and on August 13, 2021, the password authentication will be deprecated. With SSH keys, you can connect to GitHub, including Drupal, without supplying your username and password each time you push or pull changes to or from the repo.
Follow the steps below to connect to GitHub and Drupal with SSH keys from your local environment.

"Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you." - getcomposer.org

Export database
Export your database to create a backup using the following command:
$ mysqldump --opt --hex-blob [-h host] -u [user] -p [database] > [database].sql
Compress with gzip
You can also compress your database on-the-fly with gzip:
mysqldump --opt --hex-blob [-h host] -u [user] -p [database] | gzip -c > [database].sql.gz
Show progress
To show progress, you can use pv:

GnuPG is a complete and free implementation of the OpenPGP standard encryption.
Installing GPG
GPG is available in Windows and many distributions of Linux, including a graphical user interface (GUI) that is easy to use. However, I prefer using the command line tools instead.
Red Hat / CentOS
sudo yum install gnupg
Ubuntu / Debian
sudo apt-get install gnupg
Note: Use gpg2 (version 2.x)

Rsync (remote sync) is a linux utility to synchronize local and remote files and directories, mainly used in terminal.
I use this mainly in downloading/uploading files and directories from and to remote servers or even local files. I use rsync as well with shell scripts for backups that are ran automatically daily using the crontab utility.

When installing a SSL certificate with a private key that is encrypted with a passphrase, you must decrypt the private key first. You can identify whether a private key is encrypted or not by opening the private key (.key or .pem file) using a text editor or command line. You should see the text ENCRYPTED if the private key is encrypted.

Windows servers use .pfx files which contain the public key file (SSL certificate file) and the private key file. However, this can also be converted to .pem files to be used on Linux server using OpenSSL.

There is already basic article on upgrading Drupal 8 to Drupal 9, however, there is a bit more to consider, with my current setup of Drupal using composer.

Prerequisite
- A Solr server running either on your local environment or on another server
Create a new Solr server
- Open your browser and login to your Drupal site
- Go to Configuration -> Search and metadata -> Search API
- Click the Add server button
- In the Add search server page, enter the following information
- Server name: Solr
- Backend: Solr
- Solr Connector: Standard
- Solr host: staging.upanupstudios.co