October 10th, 2018

Most research software works only in UNIX

What is UNIX?

UNIX is an operating system

  • invented in 1969 at Bell Labs (AT&T)
  • developed in the 1970s
  • under constant development ever since
  • multi-user
  • multi-tasking
  • system for servers, desktops and laptops.

UC Berkeley adapted UNIX for research

How can we use UNIX at home?

Types of UNIX

There are many different versions of UNIX they share common similarities

Each company had its own version: HP/UX Solaris, Minix, Ultrix, AIX, DG/UX, Irix and Unix

It was easy to adapt a program from one machine to another: “Open architecture”

Today the most popular varieties of UNIX are MacOS X and Linux

The origin of Linux

On 1991, Finish student Linus Torvalds decided to write a Kernel that did the same as commercial UNIX Kernel did

Doing the same but without using any of the original code

This way he could avoid copyright issues

He made this program free to download and modify by anybody

Open source

This project is one of the best examples of on-line collaboration enabled by the Internet

No company is owner of the system. Instead, thousands of voluntaries help with small parts

Instead of starting from 0, you find something 90% as you want, you add 10%, and give it back

Then someone else adds another 10%, and so, and so

Stone soup legend

a traditional story

Some travelers come to a village, carrying nothing more than an empty cooking pot.

Upon their arrival, the villagers are unwilling to share any of their food stores with the hungry travelers.

Then the travelers go to a stream and fill the pot with water, drop a large stone in it, and place it over a fire.

Stone soup legend

One of the villagers becomes curious and asks what they are doing.

The travelers answer that they are making “stone soup”,

which tastes wonderful and which they would be delighted to share with the villager,

although it still needs a little bit of garnish, which they are missing, to improve the flavor.

Stone soup

Stone soup legend

The villager, who anticipates enjoying a share of the soup, does not mind parting with a few carrots, so these are added to the soup.

Another villager walks by, inquiring about the pot, and the travelers again mention their stone soup which has not yet reached its full potential.

The villager hands them a little bit of seasoning.

More and more villagers walk by, each adding another ingredient.

Stone soup legend

Finally, the stone (being inedible) is removed from the pot,

and a delicious and nourishing pot of soup is enjoyed by travelers and villagers alike.

Although the travelers have thus tricked the villagers into sharing their food with them, they have successfully transformed it into a tasty and nutritious meal which they share with the donors.

Wikipedia

Stone soup

Most scientific software is Open Source

Science has always been about sharing. Scientific knowledge is for everybody.

That is why UNIX is good for academia, and vice-versa

Big companies did not like Open Source. It was against their business

But today even IBM and Microsoft support Open Source

Handling big collaboration projects

To handle open source projects with hundreds of people around the world, Linus Torvalds and others developed a system called Git in 2005

It is one of the important tools in modern projects

In 2008 a website called GitHub was created, to store open source projects

Most of scientific programs are distributed through GitHub

On June 4, 2018, Microsoft announced its trying to buy GitHub for USD 7.5 billion

Linux distributions

Kernel + Programs = Distribution

Linux is really only the kernel

Most of the programs, including the shell, were developed by GNU project at MIT

The selection of which programs include in a system is called a distribution

There are many Linux distributions

Literally hundreds. Some of the most known are:

  • Red Hat
    • Fedora
    • CentOS
  • Debian
    • Ubuntu
      • Mint
      • Lubuntu
      • Ubuntu MATE
  • openSUSE

Delete everything?

The best way to use Linux is to replace Microsoft Windows™ completely

But that can be painful if you have used windows for a long time

Some tools allow you to split your disk in two halves

  • One for Microsoft Windows™
  • One for Linux

Using Command line inside Windows

CMD

Power shell

Git-Bash for Windows https://gitforwindows.org/

VirtualBox - VMware

a system inside a system

VMware inside Windows™

Linux subsystem for Windows

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Connecting to a remote server

We can use a server for this course

If you cannot install Linux in your computer, you can use one of the servers in our University

I will send to each one a personal username and password

You are legally responsible for your account. Be careful

To connect to the server you need only one program: PuTTY

PuTTY

PuTTY Configuration

I will tell you how to fill this