Viewing WeBWork’s Interactive Images without Java

View the interactive images with any tool you want, even Google.com.

WeBWork is an open-source online homework system built using Java, which is definitely not the most secure way to run a web application. (Read more: Why are Java’s Vulnerabilities One of the Biggest Security Holes on Your Computer?).

Luckily, most of the time the user can get along without running Java; however, sometimes problems can happen, involving interactive images that cannot be displayed normally without Java enabled.

There is another way to have the similar thing without risking having Java. The process consists of two steps: First, find the function expression you have, and second visualize that function with proper tools.

For example, the following image shows a problem where the image cannot be displayed.

Problematic problem.

To find the exact function expression you are dealing with, it needs a little understanding of how the system works. The problem you actually see is a result of combining a predefined prototype with several randomly generated parameters. Those parameters can be found in the page source within
tag like this:

While the prototype may need some search on the Internet. Usually, it can be found in some open source repositories. Here, the value of “INPUT_FILE” hints us to search for “trace-5b”, leading to the problem prototype definition hosted on Github.

On line 52 it shows the function to use, and the lines above it show how the parameters are generated.

Now, with all the information ready, you can visualize the function using whatever tool you like. Perhaps the easiest way is to utilize Google search. Like the image shown below.

The plot by Google is interactive, just like what you would expect from the original WeBWork system.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax