Get started with virtual machines by installing macOS in Linux

Computer and smartphone on desktop
Computer and smartphone on desktop
Photo by Linus Mimietz on Unsplash

Virtual machines provide you with the opportunity to run and test other operating systems without the need for extra hardware.

This guide will show you how to install macOS on Ubuntu Linux so that you can test and run your macOS native apps. If you’re using another Linux distro, I have provided a link on how to install QEMU/KVM at the bottom of this article.

Installing a Virtual Machine Manager

This guide uses the QEMU/KVM, a lightweight emulator, and virtualizer for running virtual machines. You can install it using the command below. In addition, you will install some Python tools.


GNOME 40: one of the most popular Linux desktop environments just got better

screenshot by author(Mwiza)

GNOME has taken a huge leap. The current version of GNOME is 3.38 and instead of releasing GNOME 4.0. GNOME has decided to name the newest version: GNOME 40. All I can say is: what a leap!

When the software version naming changes so drastically as it has with GNOME, it is usually a sign of a significant shift from the normal, GNOME 40 is no exception.

This article takes a look at some of the major GUI adjustments that have been introduced in GNOME 40.

The Dock

The most notable GUI change that you are greeted with is that the dock…


All you need to know about how to find files in Linux

Photo by Wil Stewart on Unsplash

The ability to quickly search for and find the files that we are looking for based on certain criteria is very vital in this digital age of mass data.

Modern operating systems provide us with tools for searching files on our file system. One such tool is the Find Utility, a powerful command-line utility that is available on Linux and other Unix- based operating systems.

This guide shows you how to use the Find Command to easily find the files that you are looking for on your PC.

A Brief Intro To the Find Command

The Find Command searches for data in real-time. It works by recursively…


How to install software packages on Ubuntu Linux and other Debian based distros

Photo by Hack Capital on Unsplash

When it comes to installing software on Linux, you are not restricted to one single method. There are plenty of ways of installing software on your Linux system including compiling the software code yourself.

This guide explores five different ways in which you can install software on Linux Ubuntu and other Debian-based distros. All the methods will work on other Debian-based distros, except for the first method as distros might have unique GUI-based solutions.

1. Ubuntu software center

For a long time, people believed that the Linux operating system is only for geeks that are glued to the terminal, churning out commands at the…


Getting started with data visualization in Angular

Photo by Adeolu Eletu on Unsplash

Data is the gold of the 21st century, but for data to be meaningful, it has to be well presented for the user to make sense of it. Graphs and charts are one the best ways of making data presentable.

In this guide, we will take a look at how to present your data to users using a pie chart in Angular. We will do so, with the help of the ng2charts library.

The ng2charts library is based on the famous visualization library: chart.js. However, unlike chart.js …


The most important commands for managing Linux processes

Photo by Surface on Unsplash

In Linux, an instance of a running program is referred to as a process. Each process on a Linux system is uniquely identified by a process ID (PID).

Linux provides us with several command-line tools for easily managing processes. This article covers tools such as top, ps, and kill.

Knowing how to manage processes is a critical part of system administration and or keeping your system in good shape.

Listing processes with ps

Apart from the process ID, each process also has other properties such as CPU utilization, memory usage, and time spent in the CPU, etc.

One of the ways you can display…


The 1 single command for changing user passwords in Linux

Photo by ThisIsEngineering from Pexels

The importance of passwords and the role it plays in our digital life cannot be emphasized enough. Passwords are probably our first line of defense when it comes to securing digital content.

Linux is by nature a multi-user operating system, meaning that you can share a Linux machine with other users. This is especially true for shared servers in the cloud. Without a solid password, unauthorized users may easily gain access to your content.

Fortunately, Linux is a robust and secure platform. And it offers a simple and intuitive way of managing user passwords from the command terminal.

A regular…


Choosing a Linux distro to use

Image by OpenClipart-Vectors from Pixabay

There are hundreds of Linux distros to choose from, so it is not strange that you may struggle to find the ideal flavor for your needs.

When it comes to choosing a Linux distro, we often start with the wrong question: What is the best Linux distro? Rather, we ought to ask: What is the best Linux distro for my needs or my project?

In this guide, I talk about some of the popular Linux distros that I have experimented with. …


Switch between several versions of Node.js on Linux

Coding desk setup
Coding desk setup
Photo by Caspar Camille Rubin on Unsplash.

If you’ve ever had trouble running a project because you do not have a compatible version of Node.js installed, then you are not alone. Luckily, there is an easy fix for this.

With Node Version Manager (NVM), you can install several versions of Node.js on your machine and choose which version to use depending on the project you want to run.

NVM is an open source project that aims to ease the management and installation of Node.js.

Installing NVM

Installing NVM in Linux is pretty straightforward. Open your command terminal and then run the following command:

The…


The Single Responsibility Principle (SRP) with an example in Angular

Photo by Thomas Park on Unsplash

Have you ever come across a class or method with so much going on that your head starts to spin?

The Single Responsibility Principle (SRP) is a best practice methodology that states that a function, method, or class should have one main specific purpose.

Having classes or functions which have a lot of purposes makes your code hard to read, understand, difficult to trace bugs, and hard to maintain in the long run.

Creating smaller classes, functions, or modules that are geared for some specific purpose will lead to more robust, and maintainable code. …

Mwiza Kumwenda

I develop software by profession. My interests include: history, economics, politics & enterprise-architecture. I am a child of God.

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