QNAP Network-attached storages (NAS) has a Container Station (not installed by default, available since QTS 4.2 or above), which can support lightweight virtualization technologies including Docker and LXC, allowing you to operate multiple isolated Linux system on QNAP NAS.

Container Station by default does not support installing a Docker via a Dockerfile. In this tutorial, you will learn how to assemble a Docker image using a Dockerfile in QNAP NAS.

What is a Dockerfile?

A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.


  • QTS 4.2 or above
  • Container Station (can…

Difficulty: ★★☆☆☆
Supported Unity version: Unity 5 or higher

It is a common task to save and load data in a game. In this short tutorial, I will cover several ways to save and load data.


  • Basic knowledge of C# Unity script
  • Basic knowledge of creating simple layout in Unity

Which method should I choose?

If your data is a simple number, text or boolean (true/false), you should use Method 1.

If your data contains complex data, such as player’s location, complex object model, you should use Method 2.

Method 1: Using PlayerPrefs

This is a mechanism that remembers simple settings for the player between game sessions such as…

Since March 2019, Hong Kong Monetary Authority (HKMA) starts approving virtual bank licenses. So far there are 8 enterprises getting the license.

╔═══════════════════╦══════════════════════════════╦═══════════════╗ ║ Virtual Banks ║ Main Investors ║ Website ║ ╠═══════════════════╬══════════════════════════════╬═══════════════╣ ║ LIVI VB LIMITED ║ BOC(HK),JD Digits,Jardines ║ Link ║ ║ MOX BANK LIMITED ║ SCHK,PCCW Limited,HKT,Ctrip ║ Link ║ ║ ZA Bank ║ ZA International ║ Link ║ ║ WeLab Bank ║ WeLab ║ Link ║ ║ Ant Bank ║ Ant Financial ║ Link ║ ║ Airstar Bank ║ Xiaomi and AMTD Group ║ Link ║ ║ Fusion Bank ║Tencent,ICBC,Hillhouse Capital║ Link ║ ║ PAO Bank…

Difficulty: ★★☆☆☆
Supported Unity version: Unity 2018.2 or higher

Roll a dice and move forward


It’s not difficult to make a simple board game that rolls a dice and move forward. Here is how to do so.


  1. Basic knowledge of Unity C# programming


Step 1: Create a 3D Project

Creating a 2D project is also fine, but it is easier to illustrate the idea in 3D.

Step 2: Create the first step using a 3D Cube

Add a cube by selecting Unity menu > Game Object > 3D Object > Cube, and resize it to X = 1, Y = 0.1, …

Difficulty: ★☆☆☆☆
Supported Unity version: Unity 5 or higher


Switching between scenes is a basic task you want to achieve when developing your game in Unity. Here’s how to do so.


  1. Unity game project (either 2D or 3D is fine)
  2. Two scenes: the tutorial below will guide you in creating the scenes
  3. Basic knowledge of C# programming


In this tutorial, I will teach you how to navigate from a Title Scene to a Game Scene. In the Title Scene, there will be a “Start Game” button. After the player pressed the button, it will navigate to Game Scene.

Step 1…


hashcat is the world’s fastest password cracker and first and only in-kernel rule engine. It relies on the CPU or GPU power to test the passwords based on either pattern (rules) or by brute-force attacks. Yet one computer cannot have adequate computing power to crack passwords in a reasonable time, therefore we need a tool like Hashtopolis to help distribute the password cracking workload to other computers.

Hashtopolis is a multi-platform client-server tool for distributing hashcat tasks, which aim to crack passwords, to multiple computers. The main goals for Hashtopolis’s development are portability, robustness, multi-user support, and multiple groups management.

So what’s the problem?

macOS now no longer ships with PEAR, but installation is quite easy.


  1. Homebrew (install instructions)
  2. autoconf: use command: brew install autoconf
  3. Xcode command-line tools: xcode-select --install

Install PEAR

cd /tmp
curl -s -O
sudo php install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin

Upgrade PEAR

sudo pear channel-update
sudo pecl channel-update
sudo pear upgrade-all --ignore-errors

Configure PHP

First, you have to find out which php.ini you’re using.

php --ini

Find the “Loaded Configuration File:” line. If no php.ini file is loaded, you can create one at /etc/php.ini with the following contents:

include_path = ".:/usr/local/lib/php/pear"

You can double confirm the newly created php.ini …

After 2 days of hard work in setting up the scene in Unity, I will focus on creating a hexagonal tilemap sprite sheet today.

Quick links of Day 1 & Day 2:

The tool I use to create is Adobe Illustrator, which is convenient to create vector graphics.

Let Day 3 begin!

First, we create an artboard with 1024 x 1024px. Before we decide how big is each tile, let’s study different tile designs:

Different Tile Design & their dimensions

The width & height values are just for illustrating the aspect ratio. They have different viewing angles, and I personally like the first or second one…

After a whole day of torture by Unity problems (see Day 1), I can finally start building my first Tilemap. Let me recap what I have got so far:

I use Unity 2019.3 to create a 2D project, aiming to create a 2D game based on a Hexagonal Tilemap. I have downloaded an asset package as well as 2 Unity packages via the Asset Store and Package Manager respectively.

Then, we add a tilemap via menu: Game Object > 2D Object > Hexagonal Point Top Tilemap. Two game objects will be added to Project Hierarchy, Grid, and its child Tilemap.

2 Game Objects added to Hierarchy

While coronavirus strikes, I am forced to stay home to keep social distancing. Well, it’s quite boring at home, therefore I decided to learn something new — making a 2D game in Unity.

Though I teach Game Development at school, there are always areas that I have never visited before. This time I want to learn about Hexagonal Tilemap, which was introduced in Unity 2018.2.

Let the Day 1 begin!

A good thing about Unity is there is a wide range of assets available in their Asset Store, and some of them are free! To start with, I created a…

Raptor Kwok

I write stuffs. Novels, programs, mobile apps, journal papers, etc.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store