Create Haskintos USB

Step 1: Down load Unibeat anh MultiBeat from

Step 2: Download Mac OS HighSierra from app Store ( not the full image/package)

Step 3:  After down load HighSierra from step 2, run these command to prepare/create img file for Unibeat:

Open Terminal and run: sudo -s
Enter admin credentials to gain root access and cut-n-paste the following 3 commands

mkdir /Applications/Install\ macOS\ High\
cd /macOS\ Install\ Data
find . -mount | cpio -pvdm /Applications/Install\ macOS\ High\

PS: Wait /enter until it complete


Step4: Insearch a 16GB USB and format it with GUID / Extend Journal Mac

Step 5:  run Unibeat and create USB installer of MacOS

Step 6: on the PC need to install MacOS , boot to Bios and set EFI boot, AHCI Sata mode…

Step 7: Boot from USB installer of MacOS  and install MacOS

Step 8: Install multibeat on HDD

Full instruction over here:

Add/remove passphrase to a private key

Of course you can add/remove a passphrase at a later time.

  • add one (assuming it was an rsa key, else use dsa)
    openssl rsa -aes256 -in your.key -out your.encrypted.key
    mv your.encrypted.key your.key

    the -aes256 tells openssl to encrypt the key with AES256.

    As ArianFaurtosh has correctly pointed out: For the encryption algorithm you can use aes128aes192aes256camellia128camellia192camellia256des (which you definitely should avoid), des3 or idea

  • remove it
    openssl rsa -in your.key -out

    you will be asked for your passphrase one last time
    by omitting the -aes256 you tell openssl to not encrypt the output.

    mv your.key

How to detect changes in a directory with Bash

Sometimes it may be useful to have a script detect whether the contents in a directory have changed since the last time script was run, but excluding some of the files or directories inside. This may be used, among other things, to make backups, for example: there are situations where, instead of doing incremental backups, one might want to do a full backup, but only if there are any changes. Notice that I’m not talking about “monitoring” a directory in real time to detect changes (for that, check out inotify).

The stat way

To check a complete directory without excluding anything inside it, it’s probaly enough to use stat.

You can use a script like this:

The way it works is quite simple. The script somehow needs to keep track of the results of running stat on the directory from one time to the next. To do this, it just uses a text file (specified by the variable OLD_STAT_FILE): if the file exists, it will load its contents in the variable OLD_STAT, if not, it will just set OLD_STAT to any string (‘nothing’, in the example). Then, the script just runs stat on the directory, and compares the result with the OLD_STAT value, if they differ, it means that there was some change in the directory. In such case, you can do whatever you want (backup the directory, or whatever) and then you need to update the contents of the text file where you keep the result of stat -t.

Excluding things from the directory

If we want to check whether the directory has changed but excluding one or more files or directories inside the main directory, we can take a different route. The general process is the same: keep and “old status” of the directory and compare with the “new status”, but instead of using stat we can use a series of commands.

Here’s the code for the new script:

The structure of this script is similar to the previous one. Instead of using stat we are using the sha1sum of something to control whether things have changed or not. The key line in this script is where we assign NEW_SUM, let’s disect it:

  • find $DIR_TO_CHECK/* \! -path "$PATH_TO_EXCLUDE" -print0: First, we get a list of all the files in the directory withfind. Using the parameter -path preceded with \! tells find to exclude the specified path. You may specify more than one path repeating that same structure (\! -path $PATH_1 \! -path $PATH_2 ...). We use -print0 to force findto separate the file names with a null character, instead of a new line (we need that to pipe things properly intoxargs).
  • xargs -0 du -b --time --exclude=$PATH_TO_EXCLUDE: We get a list of all those files (excluding the path or paths that we want to ignore) with their disk usage (size), and a date and time of last modification. That is, each line of the output has the form ” 
  • sort -k4,4: We sort the previous list by the 4th field, which is the full path of the file or directory. This sorted list, in a way, reflects the “status” of the whole directory we want to check. If a file or directory is added, removed or renamed, or the size or modification time of any line in this listing changes, this listing will reflect that change.
  • sha1sum: A sum (for example a sha1 sum) of the previous listing is a way to encode the “status” of our directory (excluding whatever we want to exclude). So, at this point, doing the sha1sum of the list we obtain a piece of data that encodes somehow a particular state of the directory.
  • awk '{print $1}': This is done just to clean up the output of sha1sum.

That’s all there is to it. Each time the script is run, it calculates this key sum. If the current sum differs from the old one (that was read from the file), we can be sure that something changed in our directory.


PRINCE2 project management with OpenProject

When managing complex projects, it is beneficial to use a project management methodology for guidance. PRINCE2 is one of the most popular and widely used methodologies available.

What is PRINCE2?

PRINCE2 (or Projects in Controlled Environments) offers a structured process for projects & provides recommendations for each project phase. It is one of the leading project management methodologies (next to PMBOK (from the Project Management Institute)) and used in over 150 countries.

Basic principles of PRINCE2

PRINCE2 provides a clear structure for projects and is based on 7 principles, 7 themes and 7 processes as described by

7 Principles

PRINCE2 is build on seven principles which represent guiding obligations and good practices.

The 7 Principles are:

  •  Continued Business Justification: A project must make good business sense (justified use of time and resources, clear return on investment).
  • Learn from Experience: Previous projects should be taken into account. Project teams use a lessons log for this purpose.
  • Define Roles and Responsibilities: The decision makers in the project are clearly defined. Everyone in the project knows what they and others are doing.
  • Manage by Stages: Difficult tasks are broken into manageable chunks, or management stages.
  • Manage by Exception: The project board is only informed if there is or may be a problem. As long as the product is running well, there is not a lot intervention from managers
  • Focus on Products: Everyone knows ahead of time what is expected of the product. Product requirements determine work activity.
  • Tailor to the Environment: The PRINCE2 methodology can be tailored and scaled. Projects which are adjusted based on the actual needs perform better in general than projects which use PRINCE2 dogmatically.


7 Themes

In addition to these 7 Principles, there are 7 Themes which are addressed continually throughout the project. They provide guidance for how the project should be managed. They are set up at the beginning of the project and then monitored continually to keep the project on track:

  • Business Case: This theme is used to determine if a project is worthwhile and achievable. It is related to the principle of Continued Business Justification.
  • OrganisationProject managers are required to keep a record every team member’s roles and responsibilities. It is related to the Define Roles and Responsibilities principle.
  • Quality: At the beginning of the project the project manager defines what constitutes the quality of the projects. This is related to the Focus on Products principle.
  • Plans: A plan is set up which describes how objectives are going to be achieved. It is focused on cost, quality, benefits, timescale and products.
  • Risk: Uncertain events during the project are identified, assessed and controlled. They are recorded in a risk log. Positive risks are called opportunities, negative risks are called threats.
  • Change: How to handle change requests and issues which arise during the project. Changes shouldn’t be avoided but they should be agreed on before they are executed.
  • Progress: This principle is about tracking the project. This allows project managers to verify and control if they are performing according to the project plan.


7 Processes

To structure the step-wise progression through a project, there are 7 Processes. Every one of the steps is overseen by the project manager and approved by the project board:

  • 1. Starting up a project
    • Create a project mandate to answer logistical questions about the project. It covers the purpose of the project, who will carry it out and how to execute it.
    • From the project mandate a project brief is derived, as well as lessons log and discussions with project members.
    • A project team is assigned.
  • 2. Initiating a project
    • During this stage project manager determines what needs to be done to complete the project and outlines how the performance targets will be managed (cost, time, quality, benefits, risks, scope)
  • 3. Directing a project
    • This is an ongoing process covering the entire life time of the project.
    • The project board manages activities such as initiation, stage boundaries, guidance, project closure.
  • 4. Controlling a stage
    • Project managers break the project into work packages / manageable activities and assigns them to the project members.
    • The project manager oversees and reports the work package progress.
  • 5. Managing product delivery
    • This manages how the communication between the team and the project manager is controlled.
    • The activities include accepting, executing and delivering work packages.
  • 6. Managing stage boundaries
    • The project manager and the board review every stage. The board decides whether to continue the project. The project manager records lessons learned with the team for the next stage.
    • This process includes
      • Planning the next stage
      • Updating the project plan
      • Updating the business case
      • Reporting the stage end or producing an exception plan
  • 7. Closing a project
    • In the final process the project is closed. This includes decommissioning the project, identifying follow-on actions, preparing project evaluation and benefits reviews, freeing up leftover resources and handing over products to the customer