Virtual Environments

2 min readMar 12, 2022

A Virtual Government Would Be Nice (2)

Previous entry

The Artist’s Cousin, Probably Mrs. William Bell (Mathilde Musson, 1841–1878),
Edgar Degas, French

A virtual environment is an “app” that allows you to run one environment (OS) as if it were a single app by “installing” another environment (OS) on top of it.

If you are not familiar with it, you can think of the relationship between an NES emulator running on a Nintendo Switch, for example, or you can imagine installing iOS as an app on an Android phone. Just as you can insert a “(virtualized) game cassette” into an “NES running on a Switch,” you can install a “virtualized app” into the virtual environment.

In such a way, developers have done many things, such as putting Linux on top of Windows, Windows on top of Mac, more Linux on top of that Windows, creating several Linux on top of Linux, making a LAN with each other, and experimenting.

A virtual environment is like simulating another OS (e.g., Windows) on top of one OS (e.g., Mac), so naturally, it will be slower than the original environment (real environment) and seems to be just meaningless somehow.

Nevertheless, virtual environments have the great advantage that you can easily create and discard “a clean OS with nothing in it yet” or “an OS with only the necessary development tools already installed.”

As you can see from the aforementioned, a “clean environment” has the massive advantage that “development tools can be installed as-is (probably) if you do as written.

Consequently, there are more and more cases nowadays where a recipe for a virtual environment (e.g., Docker image) that is known to work well with a specific development tool is given out as part of the package. To install a single tool, they include an OS to run it. It’s like attaching an NES console to an NES game, where the contents and the container are swapped strangely.

Despite this complicated mechanism, the developers wanted a clean environment (no interference from past history). My feeling is that the difference in time between a clean installation and a corrupt installation is almost a hundred times worse than a clean installation. What should have taken an hour to install would take 100 hours (five days) to eliminate the unidentified behavior.

So, without further ado, let’s talk about the government mentioned in the title.

Next entry (coming soon)