How to Install Node JS 22 on macOS High Sierra

MacOS is an operating system that often becomes OS platform of choice for developers. With a vast ecosystem built around Apple products and services, developers may find it so convenient to use macOS for developing software. Besides convenience felt through the rich user experience, high usability, and intuitive UI, macOS has been known as a stable OS platform due to tight integration between the hardware and software. If you use macOS running on MacBook to develop software, you can experience first-hand how stable the system is. System freeze due to faulty driver or OS issue is quite rare. The machine just works and it works fine for years.

But here is actually the actual issue. After few years using the machine, you realize that Apple has officially dropped the support for the macOS version running on your MacBook and at the same time you can not upgrade to the latest macOS version because the hardware powering the MacBook is not supported anymore in the latest or newer macOS version. As Apple drops the support for the OS, software vendors also drop the support for their software products. Now, you’re left with software that still works fine but you cannot upgrade to the latest or near latest version of the software through its official distribution channel. This is since there is no newer version in the software release that supports the version of macOS you currently use.

Continue reading

SSL vs TLS Protocol Differences and Comparisons

As we move the communication and various aspects of life online, ensuring the secure communication through the internet has only grown in importance. It is essential, as for example, that the financial transactions executed on the web and apps are secure and untampered. Security of the networked communication and the Internet in general ensures the confidentiality, integrity, and availability of data.

To achieve such security, security protocols for the Internet have been developed and evolved as internet becomes more pervasive and connects more people, applications, and systems. One of the security protocols is Secure Socket Layer (SSL), which is often used to refer to Transport Layer Security (TLS). The SSL/TLS protocol specifies a set of rules for establishing secure communication between two endpoints, a client and a server, over non secure network.
Continue reading

How to Install and Configure Nginx on Ubuntu 20.04

If you dabble in website/backend development, devops, or system administration, Nginx may not be a foreign name. This piece of open source software was first released in 2004 as an alternative to Apache web server. The main focus of Nginx was on performance and stability, primarily achieving a web server that could handle a lot of concurrent connections and hence addressing the C10K problem. The popularity of Nginx has been growing steadily since its initial public release. It has evolved to become a top choice in web server category. According to W3Techs, there are more than 43% of global top 10,000 websites and 44% of global top 1,000 websites running on Nginx in February 2022. Continue reading

Check Time Machine When MacOS Does Not Show the Actual Free Disk Space

In this post, we will explore a small quirk of MacOS. The title should be self-explanatory but might not be so obvious to heavy GUI users. Let’s take a closer look into this seemingly-feature-not-bug behavior on MacOS.

Time Machine is a built-in tool on MacOS for performing partial or full system backup. Time Machine works by taking snapshots of the system and storing those snapshots at external storage devices connected to the machine. To restore the backup, another built-in tool named Migration Assistant is used. Both Time Machine and Migration Assistant are GUI tools. These built-in tools enable users to conveniently transfer or migrate the content of an old Mac, be it documents, user accounts and settings, to a new Mac.

A full backup created with Time Machine can be restored by Migration Assistant through simple GUI-based flow. The process of copying all files from old Mac to the new Mac handled by Migration Assistant is performed with minimum user intervention. This really saves the time compared to performing the data transfer or copying manually. Continue reading

How To Update Node.js on MacOS: Hindsight on Old Mac

Updating packages and apps on MacOS is usually a trivial task. There are several avenues available, depending on the personal preference and degree of familiarity with various tools available on Mac. Now consider a case for updating Node.js (and subsequently npm) on MacOS. What are the options?

tl;dr Updating Node.js with lightweight package manager such as n is less error prone especially for older MacOS version

Let’s start by listing the options on our perusal.

Option 1: Download the installer from nodejs.org and install the binary

This option is ideal for the first installation. It is less ideal for update / version upgrade or if we want to maintain several nodejs versions on the machine. Continue reading