Disclaimer
The ivi/vinci
program is a research tool, not a commercial product. We offer it for downloading free of charge in a spirit of sharing and of making the tool available to others who think it might be useful. It must be understood, however, that especially in regard to the vinci
component, we have never had the time or resources to test it thoroughly enough. Though it serves us well, we sometimes encounter errors or even crashes, particularly if the input data departs far enough from what the program expects. We make no claims about its quality and give no warranties. Please accept it for what it is, and use it at your own risk.
We would like to hear about interesting applications, along with suggestions for additions or generalizations to fill gaps that you encounter, but we cannot undertake to respond to questions or to reports of errors.
Environments
ivi/vinci
is written in C and forms a single executable. It has been compiled for a variety of environments, in particular:
- Linux 64 bit systems. This has been tested on Debian, Ubuntu, and RedHat, but should work on other systems as well.
- Mac OS X. The version provided should run under MacOS Mojave or Catalina, and possibly others as well. If you experience difficulties with an earlier version, contact us.
- Raspberry Pi. This was compiled on a VM under MacOS but should work on a regular Pi.
- FreeBSD. This was compiled on a VM under MacOS but should run on a 64-bit FreeBSD machine as well.
ivi
can be made to work under Windows. Previous iterations required installation of Cygwin, but now the Windows Subsystem for Linux may be installed within Windows. This makes available features of Ubuntu Linux and enables installation of the Linux version of ivi
(see above). Unfortunately, as noted below, ivi
requires the Latin1 character set, which as far as we know cannot be installed in the WSL. The best alternative is to set up a Linux virtual machine using VirtualBox or VMWare or some other product and installing a Linux client.
Downloading and installing ivi/vinci
ivi/vinci
works in a terminal environment and requires that the ncurses libraries be installed. The versions provided here all have the ncurses library statically compiled into the program. The causes the program to become larger, but allows it to work without further adjustments after download.
Choose one of the options below, depending on your operating system. Click on the link and the download should begin:
- For the Linux version, click here.
- For the MacOS version, click here.
- For the FreeBSD version, click here.
- For the Raspberry Pi version, click here.
The downloaded file will be placed in your default Downloads directory. If you look there, depending on the version you have downloaded, you should see something like this:
ivi.linux.static.tar
or this:
ivi.macos.static.tar
or this:
ivi.freebsd.static.tar
or this:
ivi.pi.static.tar
If you don't see one of these, there has been a problem with the download: either the file was not copied, or it was not placed in the proper directory. Check these problems and if necessary, ask a more knowledgeable user for assistance.
The program file has been downloaded in a packed format designed to ensure that it arrives safely. Your operating system may unpack it automatically. If not, you will need to do that manually in a terminal window. We use the tar
format. To untar
the package, type:
tar xvf ivi.linux.static.tar <Return>
or
tar xvf ivi.macos.static.tar <Return>
or the appropriate equivalent filename.
For convenience, you should now rename the file you have downloaded from its longer name (like ivi.linux.static
) to the shorter name of simply ivi
. This may be accomplished by means of the mv command. To do this, type:
mv ivi.linux.static ivi<Return>
or
mv ivi.macos.static ivi<Return>
or the appropriate equivalent.
In the case of MacOS, you may need to edit your .profile file in your home directory by adding the following line at the end:
export TERMINFO=/usr/share/terminfo
This will ensure that ivi
will know which terminal type to use.
Now, check whether the program will run by typing in the terminal window:
./ivi <Return>
You should see a screen that looks like this:

To exit ivi, first make sure you are in command mode by typing <Ctrl c>, then type:
GO <Return>
GO is short for GOodbye. You should be returned to the terminal window.
Before going any further, you should familiarize yourself with the ivi editor and then with the vinci
operations for generation. A more complete manual may be found here. Explore and have fun! Please send us any comments on what you have used the system for and what improvements you would like to see.
Character set issues
ivi
uses the ISO-8859-1 character set, sometimes known as Latin1. This is both for historical reasons and also to ensure that each character is represented by a single byte, which is not the case in UTF-8, for example.
In both MacOS and Linux, the character set of the terminal can be changed by editing the properties of the terminal environment. Unfortunately, it appears that the Windows Powershell does not make Latin1 available, even with the Windows Subsystem for Linux. If you are planning to do multilingual work, then a better choice in that case is to create a virtual Linux machine using VMWare or VirtualBox.
ivi
and xvivi
As we mentioned earlier, there exists a command line version of ivi
called xvivi
. Its primary use is in a pipeline environment where some program sends it a series of commands and receives its output, without the overhead of a terminal window. It is xvivi
that underlies both the VinciLingua system and a number of dynamic exercises, where a PHP script on a webpage allows a learner to refresh the question set dynamically.
Obtaining versions of xvivi
requires the same steps as ivi
. To obtain the appropriate tarfiles, click on one of the links below:
- For the Linux version, click here.
- For the MacOS version, click here.
- For the FreeBSD version, click here.
- For the Raspberry Pi version, click here.
and untar the file as described above.
Postscript: installing ivi for access by all users (for more advanced users)
In the preceding sections, we have assumed that ivi
will be installed in a directory in your account, along with all the data files to be worked on. If you have authority, in other words, if you have superuser (administrator) privileges, it might be worthwhile to install ivi
in a directory where it will be available from all directories. A command like this should work. Go to the directory where ivi is located and type:
sudo cp ivi /usr/local/bin/ivi
If this command (or one like it) succeeds, typing ivi in any directory will call up the program.
If you don't have superuser privileges, another alternative is to place ivi
in some directory which is in your path (that is, the set of places where the system will search to find a command to be executed). You can set the path for your particular system without superuser privileges. Search internet sites for explanations on how to do this on your particular system. Once this has been done, you will no longer need to type ./ before ivi in order to call it up (./ tells the system to look for a command in the local directory.)