ivi/vinci downloads

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.

ivi/vinci is written in C and forms a single executable. It has been compiled for a variety of environments, in particular:

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
code>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:

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:


or this:


or this:


or this:


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>


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>


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:

ivi window

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:

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.)