ICAML provides shell access

Data Science is largely executed on Linux operating systems. However, Linux is still not widely used as a client operating system. Given the power of fast Internet connections, Node.js, Docker, and the ICAML cluster, it becomes possible to get access to a remote shell with only some browser on the client machine. No installations, no SSH, etc.

We provide such an environment for all our students and members and thereby make it possible to work with Linux without any additional software installation. We only expect an Internet browser at the client. The users can install whatever software stack they need through Docker images and we can provide running instances of such Linux operating systems in a browser. This is a great step towards barrier-free teaching. And even if you break the system, we reinstall it just in a second by running a fresh container.

Background

A central part of learning to work with Data Science software is to start using and loving the Linux operating system and the GNU tools for data manipulation. It will solve many of your problems, if you can deal with some of these tools. In order to simplify teaching, learning, and using, we decided to provide shell access via a web browser. On the shoulders of Node.js, Docker, and Debian, we can provide shell login directly in the browser. The system supports full VT100 terminal capabilities such that you can use interactive terminal software sucha s emacs and vim easily.

It is meant to enable all ICAML members to use Linux tools without having a Linux installation at all. Keep with your Windows and the excellent Microsoft Office Suite for your everyday work. Don't worry about which Linux to install, on which hardware, dual boot or inside a VM. Just enjoy and learn on ICAML.org!

If you want to have your own shell experience reserved for you, drop a line to artem.leichter@ikg.uni-hannover.de or any other ICAML staff member.

Note that this service - as all ICAML services - is for teaching only. Your image can be stopped, interrupted, and deleted at all times without prior notice. Take care not to disturb the others by making expensive calculations. If you want to do this, reach out to us.

How do I do this?

  • Design your container (extend wetty, see pakuna:/home/martin/services/emacsterm) and add the software you need (no X windows, though)
  • Run your container with proper mounts and port forwarding and remember the hostname and global port and test it until you are ready.
  • Ask our staff if we can host the container for you. We run it and you can access it via HTTPS.

Some caveats

  • Be sure to use only SSL (443), otherwise passwords and other information is sent unencrypted.
  • Don't run the container as root !!!
  • Don't add all your favourite software. Docker images should be lean and clean.
  • Possibly limit the execution time and memory fraction of the container such that it does not interfere other services on the cluster.
  • If wanted, mount the GPU stuff into the container (possibly start with nvidia-docker or mount the devices and drivers to the docker image)