Math professor, open textbook author and evangelist, programmer. My CV

A free, open textbook. This book is a college level precalculus and trigonometry text. A full course package was developed
for this text as part of the Washington Open Course Library project.

A free, open textbook. This book is a survey of contemporary mathematical topics, most non-algebraic, appropriate for a college-level
topics course for liberal arts majors, or a general quantitative reasoning course.

A site listing other high quality free and open math textbooks.

Graph explicit, polar, and parametric curves. Calculate roots/zeros, max/mins, and intersections of graphed functions.
Basic calculator functions. (Web based).

Graph explicit and parametric surfaces, and parametric curves. (HTML5, web based).

Graph explicit, implicit, and parametric surfaces, vector fields, and parametric curves. (Java, web based).

Graph explicit, implicit, polar, and parametric curves, piecewise functions, and vector fields. (Java, web based).

Investigate 1st-4th order ODES and systems of 2-3 functions, with 2D and 3D graphs. (Java, web based).

A 2D graphing tool using SVG (Web based)

Draws a histogram from a frequency table. Does not do any calculations (Web based)

Draws comparative boxplots from one, two, or three 5-number summaries. Does not do any calculations (Web based)

Creates an graph of the normal curve or t-distribution, and can shade critical regions
and show the location of the test statistic. Does not do any calculations (Web based)

Calculates probabilities for a normal or t distribution, given mean and standard deviation (Web based)

Select a question and options and generate a customized link into a flash card generator, with problems in
arithmetic and basic algebra (Web based)

Visually explore integer multiples

Numerically solve systems of first order differential equations using a 4th order Runge-Kutta method.

A simple graph explorer for a line with sliders for slope and intercept. Intended as a demo of jsxGraph.

A simple graph explorer for a parabola with sliders for the parameters. Intended as a demo of jsxGraph.

IMathAS is a web-based math assessment and homework system. It is a course/learning management system and testing system featuring algorithmic questions, similar to WebWork, Webassign, and publisher systems like iLrn, MathXL, etc. IMathAS is written in PHP, and uses MySQL. IMathAS is released under the GPL

This set of scripts provide functions for converting ASCIIMath calculator style notation to TeX strings, and provide drop-in replacements for ASCIIMathML.js providing serverside image rendering when the client does not support MathML.

Also available are a server-side ASCIIMath to TeX script, and a Moodle filter for rendering ASCIIMath notation as images

These scripts are derived from Peter Jipsen's ASCIIMathML script.

These graphing projects consist of 3D, 2D, and ODE graphing applets, built off the incredible JavaView API. They are written in Java. Please note that while my source is being released under the GPL, the JavaView API is not GPL'd and is not open-source. Please view the copyright notice from the creators of JavaView. Running the Grapher on your local machine also requires a free registration of JavaView

If you just wish to put the grapher applets on your website, you do not need the source code. You can download the compiled .jar files from the grapher page. View Source on the grapher pages to see how to embed the applet in an HTML file.

Download source code: 3D Grapher source, 2D Grapher source, ODE Grapher source

A joint project with Peter Jipsen of Chapman University, these plugins use Peter's incredible ASCIIsvg and ASCIIMathML scripts to allow for live editing of math and graphs in the TinyMCE online text editor. These plugins require no modification to the TinyMCE editor, and provides image-based fallback for math and graph when the browser does not support MathML and/or SVG.

This project is a super-simple file and image browser for the TinyMCE editor using Amazon S3 for file storage. Code for multi-user systems can be added so each user has their own file storage. Requires PHP5.

A javascript script that allows you to lock the header row and column of an html table. Example and download