Category Archives: MacOS

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

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

How to Open Multibyte CSV File Containing East Asian Characters (Chinese, Japanese, Korean) in Excel on MacOS

Excel on MacOS has its own quirk when dealing with CSV file. If you have a CSV file that is encoded with UTF-8 and contains entries in multibyte characters from East Asian languages such as Chinese, Japanese, Koreans, opening the file in Excel on MacOS may give you some surprise. Instead of showing the East Asian characters, Excel will display garbled characters.

Let us a run experiment to explain this case. We will use Node JS to create a CSV file, encode the file using UTF-8 and then try to open it using Excel on MacOS. Continue reading

ReactJS: Changing Default Port 3000 in create-react-app

Last update: January 15, 2022

If you are doing frontend development nowadays, you may have heard about ReactJS or may be actively using it in your projects. Introduced to the public five years ago, React has transformed into a library of choice for a lot of frontend developers that is easily certified by the enormous stars at its Github page (more than 100,000 stars). React was relicensed into MIT license almost a year ago, which only catapulted its popularity into a new high. The MIT license is a more commercial friendly license compared to the BSD + patents license that was previously used by React.

Creating a frontend project is easy with the help of scaffolding tools and boilerplates. Among the available choices is create-react-app, a React bootstrapping utility that takes care the laborious tasks of setting up a React project without much intervention about how the project should be structured. Given this nature, create-react-app is less assumed a boilerplate and more of a toolkit. Continue reading