Uh oh!
This demo uses
Shared Array Buffers,
and requires Chrome due to
an open issue in Firefox.
Try it by starting Chrome
from the command-line with the
arguments
--js-flags=--harmony-sharedarraybuffer --enable-blink-feature=SharedArrayBuffer
Browsix makes core Unix features available in web applications (including processes, pipes, signals, sockets, and a shared file system) and extends JavaScript runtimes for C, C++, Go, and Node.js programs so they can run in a Unix-like environment within the browser.
This split-panel editor uses Browsix
to run programs from the TeX Live suite
in the browser. When you hit the
"Build PDF" button in the
upper right, Browsix runslatex main.tex;
bibtex main.aux;
latex main.tex;
latex main.tex
in sequence, with each command
executed as a process in its
own Web Worker, to generate
(or regenerate) the PDF shown
below on the right. Running
these four commands takes
between 40 and 80 seconds.
A faster version of this demo using Shared Array Buffers for blocking syscalls in asm.js is available here, which should work in all browsers.