The Web Interface to Octave project makes it possible to use Octave remotely through your web browser.
What is Octave?
Octave is a GNU scientific/numerical computing environment, which allows the user to perform typical numerical calculations, such as finding solutions to systems of nonlinear equations, scientific visualization, etc., using a very simple command line user interface to quite sophisticated libraries, such as LAPACK, QUADPACK, FFTW, etc. It is available for a variety of operating systems, including Linux and Windows.
Octave is quite often referred to as a MATLAB clone, because of its very high level of compatibility with this leading and highly advanced numerical computing environment. MATLAB has a plenitude of features that are beyond Octave's capabilities, but in most daily computational tasks Octave serves quite well. Contrary to MATLAB, which is a commercial top rank system, Octave is a free software - and quality software, as you may expect from an open source project.
What is Web Interface to Octave?
Web Interface to Octave lets people use Octave remotely. The user sends the commands to a remote server, next all required computation is done on the server, and finally the user is presented with the results (text or graphics). The only requirements to use such a remote service are:
* Internet connection
* web browser (cookies enabled)
Publicly available services providing Web Interface to Octave
There is currently at least one such service publicly available: hara.mimuw.edu.pl/weboctave. Try it! Remember not to abuse the hospitality of such public services. Use "Your files -> Delete all files" button to clear your workspace and not occupy unnecessary amounts of disk space during the sessions. Service provider will love your kindness.
Can this help me?
How can such a remote computing with Octave be helpful to you? Here are some scenarios:
* Somewhere in the country... You have just been struck with a brilliant idea, but unfortunately have left your laptop at home! Can you test your solution, immediately? With Web Interface to Octave, it's simple: just find any terminal with internet connection (an internet cafe, or someone else's laptop), open a web page providing the service, e.g. hara.mimuw.edu.pl/weboctave - and have a ride!
* You have heard something about Octave, but still are not convinced enough to install it onto your PC... Now, Web Interface to Octave makes it easy for you to test most of Octave's capabilities to make the only right conclusion: Octave is worth installing!
* There is no installable binary distribution of Octave for the computer you own, or you find it not possible to compile Octave from the source code on your machine. Don't worry! You still can use the power of Octave either if your friend provides you with a Web Interface to Octave installed on his/her machine, or you can always log in to a publicly available service, such as hara.mimuw.edu.pl/weboctave!
* As you are frequently changing your computers, you need a single, fixed, remotely accessible place where you may keep your (small) Octave working files and data. With Web Interface to Octave's "Your account" feature, you can create your own space and the next time access data and functions you created last session - no matter where you are.
WARNING: Web Interface to Octave have poor protection against execution of unwanted or dangerous code on the server. Thus it is NOT supposed to run on servers with important or secret data without additional security means.
Currently WebOctave is supposed to run in Linux-like operating systems. Installing it to non-Linux system would need some additional work and for the present is not supported.
1) Unpack webctave archive to a directory available to be accessed by WWW server.
1a) Depend on your permission policy, you may have to change premissions, in order to files be accessible by WWW server. Particularly, you have to change permissions to directories "data" and "Logs" to be writeable by WWW server.
2) Create database to be used by WebOctave.
3) Set database entries. Use "setup/db.sql" script, but edit it first to supply the database name.
4) Copy "config/config.php.example" to "config/config.php".
5) Edit "config/config.php" and set your preferences. You have to set database data.
Now your WebOctave environment is ready to work and should be accessible by any web browser.
Web Interface to Octave is supposed to run Octave commands from a web browser. Browser have to set cookies on.
1) Commands and plots
Octave commands may be run in Commands tag. User have to enter command into textbox, then click Submit to Octave button. Computations would be done on the server side and output will be shown below command textbox.
Attention: There is time and space limit imposed on tasks (look at "config/config.php.example).
Plots will be placed also in Plots tag. They may be examined and downloaded.
Attention: WebOctave supports only basic set of plot commands (plot, mesh,semilogx,...). Any plot-altering commands (xlabel, legend,...) will not work. hold on/off works, but you will have all partial plots in output.
Commands, output and plots for are preserved between sessions. Look at next section for more information.
Web Interface to Octave supports both anonymous and non-anonymous users. New user may be created in Account tag.
Both anonymous and logged users have the same rights. However, if anonymous user wants to have his session saved, he have to use the same browser on the same computer. Logged user has his session preserved on any computer.
Attention: Session informations are deleted after long period of inactivity (30 days).
3) User-defined functions
User may define his own Octave's functions. Functions may be created and managed by Functions tag. User may change old functions by Show Functions subtag or define new with Define Function subtag. Remember to end function with "endfunction" command, not just "end".
New functions may be also defined in Commands tag directly in Octave commands textbox. After clicking Submit to Octave they will be created and may be used in the computation immediately.
User may govern his files by Files tag. For the present it is possible to examine files or to delete them.
· GNU Octave
· SQL server
· WWW server with PHP>=5 support