program for scientific collaboration and teaching over Internet
Java Scala Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
example
project
src/main
.gitignore
LICENSE
README.md
activator
activator-launch-1.3.7.jar
activator.bat
build.sbt

README.md

New mathpump

mathpump2 is an improved mathpump; the main improvement is the use of JavaFX instead of Swing. I also tried to simplify installation/configuration.

You should use the older mathpump if you cannot install Java 8 with JavaFX.

Introduction

Mathpump is a simplistic remote collaboration tool for mathematicians and other researchers. It could be particularly useful for those researchers who tend to think by drawing pictures (theoretical physics).

Mathpump

Bob uses Inkscape to draw a picture, which is incrementally transmitted to the Alice's computer so she can look at it. She answers by drawing her own picture, which is transmitted to Bob. Transmission happens every time the svg file is saved.

The transmission requires a special server. That is, both Bob and Alice can have their machines under a firewall. But the server (run by Charlie) has to have some ports open. We recomment that Charlie buy a cheap VPS. The server is the standard RabbitMQ. This README only explains how to setup the client (Alice and Bob). If you are Charlie, please read docs/setup-server.md.

Wacom device

A Wacom device is recommended. As they change rapidly, some present difficulties with Linux. See, for example, my writeup on CTL-480, similar steps should theoretically work also for other models. It is useful to map one of Wacom buttons to Save File in Inkscape.

Client setup

This manual is for Linux. The installation on Windows should be completely analogous.

Prerequisites

  1. Install JDK of Java 8 and JavaFX. If you install from Oracle, then JavaFX is already bundled. With OpenJDK they are separate. For example, on Debian:

    aptitude install openjdk-8-jdk openjfx

  2. Install sbt

  3. Install git

  4. Install Inkscape

Building

Then execute the following commands:

git clone https://github.com/amkhlv/mathpump2
cd mathpump2
sbt assembly

This actually takes some time, depending on your Internet connection. Maybe 20 min or so.

This will create the file: target/scala-2.11/mathpump2-assembly-1.0.jar

Configuration and running

cd example/

See example/README.md

You will need three things from Charlie:

  1. trustStore (a file)
  2. password
  3. truststore passphrase

Known bugs

If you try to copy-paste a large bitmap image into your Inkscape window, this may crash the program.

Also, the loss of Internet connection will lead to crash. In this case, the restart of the client program is needed (for both Alice and Bob).

When restarting, make sure that old instances of mathpump2 were stopped. After stopping mathpump run ps in terminal and see if there are any instances of java still remaining. Kill them.