NoCache

Preview of Uninstall Nginx Completely on Debian/Ubuntu-Based Linux

Uninstall Nginx Completely on Debian/Ubuntu-Based Linux

Cyrus Kao

This guide will cover how to completely uninstall the Nginx web server (including its dependencies, modules, configuration files and logs) on Debian/Ubuntu-based Linux distros (e.g. Linux Mint, Pop!_OS, Elementary OS). It's useful when you're trying to reinstall a clean Nginx server.

Preview of Fix Failed to Save Optimized SVG in Inkscape on Linux

Fix Failed to Save Optimized SVG in Inkscape on Linux

Cyrus Kao

If you encountered the error Failed to import module 'scour'. while saving a drawing as optimized SVG in Inkscape, it means you're missing the scour package on your system. And here is a quick fix for Arch-based (Manjaro, EndeavourOS) and Debian/Ubuntu-based (e.g. Linux Mint, Pop!_OS, Elementary OS) Linux distros.

Preview of Uninstall MySQL Completely on Debian, Ubuntu, Linux Mint, Pop!_OS, Elementary OS

Uninstall MySQL Completely on Debian, Ubuntu, Linux Mint, Pop!_OS, Elementary OS

Cyrus Kao

If you encounter some technical problems with a package on Linux, the first thing you do is probably try to reinstall it. But the configuration is still there after the package is removed, so everything goes right back to the start after reinstalling it. That's why this guide will cover how to completely purge MySQL.

Preview of Install and Secure MySQL on Debian, Ubuntu, Linux Mint, Pop!_OS, Elementary OS

Install and Secure MySQL on Debian, Ubuntu, Linux Mint, Pop!_OS, Elementary OS

Cyrus Kao

MySQL is probably the most-used relational database in the world despite the fierce competition between SQL databases (e.g. PostgreSQL, MariaDB). This tutorial will cover how to set up MySQL on Debian/Ubuntu based Linux distros in CLI, so all the steps could be done through SSH without the need for a graphical interface.

Preview of How to Install Telegram Desktop on Arch Linux/Manjaro

How to Install Telegram Desktop on Arch Linux/Manjaro

Cyrus Kao

Telegram Desktop is the official client for Telegram Messenger. It's also open-source. The source code is available on Github. We'll be installing Telegram Desktop from the official repository of Arch Linux on Arch-based distros. There is a community package called telegram-desktop that pretty much automates the installation process for us.

Preview of Install GNOME Web (Epiphany) on Arch Linux/Manjaro in One Line of Command

Install GNOME Web (Epiphany) on Arch Linux/Manjaro in One Line of Command

Cyrus Kao

GNOME Web (aka Epiphany) is the default web browser for GNOME desktop environment. Although the popularity of it is not growing significantly, it's one of my must-have browsers. The reason behind that is because it's the few WebKit based browser on Linux still maintained, comes particularly handy when testing websites.

Preview of Install Vivaldi Browser on Arch Linux/Manjaro in One Line of Command

Install Vivaldi Browser on Arch Linux/Manjaro in One Line of Command

Cyrus Kao

Vivaldi is another Chromium based browser, but not fully open-source. And to my surprise, Manjaro Cinnamon actually ditched Firefox for Vivaldi as their default web browser. In case you're an Arch Linux user or didn't install the Cinnamon edition of Manjaro, this tutorial will cover how to install Vivaldi in single line of command.

Preview of Setup Cloudflare Dynamic DNS (DDNS) with CLI on Windows, Mac, Linux

Setup Cloudflare Dynamic DNS (DDNS) with CLI on Windows, Mac, Linux

Cyrus Kao

Cloudflare API v4 enables users to update DNS records programmatically, which makes Dynamic DNS (DDNS) implementation possible. I recently wrote a CLI tool called cf-ddns-cli in Node.js to update DNS A (IPv4) and AAAA (IPv6) records with your current IP address, and it's available in Windows, Mac and Linux.

Preview of Auto Delete Expired Documents in MongoDB with Node.js (TTL Index)

Auto Delete Expired Documents in MongoDB with Node.js (TTL Index)

Cyrus Kao

TTL Indexes in MongoDB are very useful for storing data like logs or user sessions. The document will remove itself after a certain amount of time which is specified by the index. This tutorial will be done in both JavaScript and TypeScript using Node.js with node-mongodb-native, which is the official MongoDB Node.js driver.

Preview of How to Change the Version of TypeScript Compiler in VSCode

How to Change the Version of TypeScript Compiler in VSCode

Cyrus Kao

By default, VSCode uses its own TSC (TypeScript Compiler), which is usually not the latest version of TypeScript. To enable the latest features, we'll need to install TypeScript in our package's dependencies and select the version from node_modules in VSCode (.vscode/settings.json).

Preview of Check If an URL is Internal or External in JavaScript/TypeScript

Check If an URL is Internal or External in JavaScript/TypeScript

Cyrus Kao

Knowing whether a link is internal or external is essential for setting rel in HTML a tag. For an external link, noreferrer noopener nofollow is usually recommended. To test a full URL or relative path in JavaScript/TypeScript, we'll be using the URL constructor. It's available in both browsers and Node.js.

Preview of Fix "Permission Denied" while Executing Bash (Shell) Script on Linux

Fix "Permission Denied" while Executing Bash (Shell) Script on Linux

Cyrus Kao

If you encounter an error like bash: ./script.sh: Permission denied when executing a bash (shell) script, meaning the script file itself is not permitted to execute. And it makes no difference even if you run it with sudo. To fix this, we'll be using the chmod command on Linux to modify the permissions of the script file.