more on jBoard

Several of our lecture halls have multiple beamers and I finally managed to get my jBoard software and my macbook to make use of them. I actually had jBoard showing the previous page on a connected second display for some time already (if you switch the laptop to non mirroring mode the operating system sees two screens and tells Java so). But for lecture hall application you want TWO external monitors and you want to see one of them mirrored to your laptop screen. Getting two displays connected can be solved by means of a USB to VGA adapter (yes there are such things and one can even find mac drivers for them). This additional display is not very fast but completely sufficient for showing things like the last page (which is basically static anyway). The final trick now is to find out that one can actually tell mac os x to mirror the internal display to only one of the two external ones. To do this one has to option-drag the desired display onto the internal main one in the arrange pane of the monitor control panel. Thats it. Two external displays one of them showing the same as the internal one.

another julia web repl stress test
• winstonWeb.png:

I figured that the great 2d plotting library [[https://github.com/nolta/winston][winston] for [[http://julialang.org/][julia] can generate svg - which could be piped to the web frontend for direct rendering. Works in principle (the above exapmle plot is one from the winston examples). Only at the moment I need to write the svg into a temp file and read it back in since I have not yet found out how to get the render direectly as a string (or memorymapped file), should be possible though.

Also made zooming work for the webGL rendering (still need encompass and dragging to make me happy there).

julia and webgl/scenejs Recently I experimented with some webGL graphics for the browser REPL of [[http://julialang.org/][julia] (the language). The 3d things are done using SceneJS» for now (to get rid of all the administrative OpenGL stuff). It looks like this (the surfaces are webGL renders and would be rotatable if this wasn't a screenshot):

Some remarks on this:
• The whole thing was easier than I expected: julia does a very good job (although - as always - some things need to get used to). The bottleneck seems to be the json parsing of the arrays that are handed over to the browser for rendering. I don't know if there are more efficient ways to do the data transfer.
• The surfaces shown are a Helicoid and an Enneper surface.
• It turns out that chrome does a better job than firefox or safari, since the latter two seem to be unable to antialias the graphics at the moment.
• It shouldn't be hard to add support for camera, color, light, and similar settings, but I am still undecided on the sceneJS backend. Maybe one wants something more slender. Plus, I didn't see that sceneJS supports flatshading or quad meshes, at the moment (both of which I would like to see).

jBoard

I wrote my own Blackboard software, so that I could use wacom (or similar) tableds, smart boards, for lectures. Mixed with simple plain typing. The main challenge was to figure out some way to get typing math formulas suitable for "live" use. It has pressure sensitive (very important) pen input, one can past images and (partially) MathML, The formula input is LaTeX style where feasable and more realtime adapted otherwise. ^ and _ for example will generate super and subscripts, but one does not need braces if the script is more than one charakter: In LaTeX one would write "$x_{k,l}$", here it would be "m x_k,l" m enters the "math mode", "_" enters the subscript and "" exits it. To type the greek letter alpha one can either use LaTeX style \alpha or just type a, etc... Note, that the text rendering is not done by LaTeX, it is a simpler realtime engine written in Java. Here is a screenshot and the pdf generated from that page: (oops... just noticed that the pdf viewer ate the BlackboardBold Fonts... damn will have to fix that - so the image and pdf are without them just now...fixed)

* example2.png: