Joel Feiner's Shodor Website

I am a programmer here at Shodor and I have worked on a number of projects since I started in the summer of 2005. These projects are detailed below. In addition to doing major projects, I have also helped out in teaching the summer workshop students, and I have, of course, done plenty of O.D.A.A. (such as moving the office four times).

Source code is available for the Java projects below only to people at Shodor. If you are interested in getting the source code, please email me at jfeiner@shodor.org. Source code comes in a Unix tarball (e.g., file.tar.gz). WinZip should be able to open these files and there are certainly other free programs for Windows that can do the same.

Summer 2006 Projects

Drug Model Applet

Drug Model Applet
Source Code

This applet is along the lines of the multidosage applet above, but is rewritten from scratch and has a different interface. The purpose of the applet is to let the user set several parameters such as drug dosage and the way the body absorbs the drug, and then see what happens to the concentration of the drug in the stomach, blood and excretions over time.

MASTER Toools Rewrite (And Other CGI)

Fractal Microscope
Snowflake Tool
Cardioweb
Carbon Cycle (not complete yet)
Diprotic Acid (not complete yet)
Fossil Fuel Model (not complete yet)
Population Dynamics (not complete yet)

The MASTER tools are a collection of applets and server-side (CGI) applications that investigate some mathematical or scientific field. They come with documentation and curriculum. My purpose in all this was to rewrite the CGI applications to be modern and secure. I had to rewrite a decent amount of dusty old Perl code from 1996, and that was quite a learning experience.

Equation Parser

Equation parser is a Shodor library for interactivate that parses and evaluates equations. It had a number of problems and inflexible design. I took it upon myself to rewrite it (as part of another project). The new version is mostly complete and the next phase is testing and adding in little edge features to make sure existing applets and libraries continue to work properly.

Interactivate Repository Layout and Policy Revamp

Documentation

Jacob Fraimow and I chose to come up with policies for the new Subversion repository that contains all the code for interactivate. It's been a very large project, but it will hopefully help in the development process. It is currently in the very early development and testing stages.

Winter 2005/2006 Projects

NCTM Limits Applet

NCTM Limits Applet (current)
NCTM Limits Applet (for Interactivate)
Source Code

This applet is intended to illustrate what happens with infinite series, which sometimes converge to a limit, and sometimes don't. The applet lets the user continue to add ever decreasing slices, and the sum eventually reaches a limit (indicated by the blue line). For the harmonic series, however, the sum never converges towards a limit and continues growing forever. This applet uses animation to make the graphics a little prettier. It was the first time I ever used animation in a Java applet.

Octave Case Studies

Daisyworld Case Study
Newton's Method Case Study
Gas Laws Case Study
Gaussian Plume Model [not ready yet]

Octave is an open-source clone of MATLAB. We are developing a handbook with an overview/cheatsheet for Octave and a series of case studies which not only explain Octave concepts, but also increase understanding of different fields in science and math. The case studies shown above are very rough and will need much revision. Dozens more will likely be developed by me and other interns.

Multidosage Applet

Multidosage Applet
Source Code

I am modifying this applet to use a more advance model of drug absorption and excretion. So far, I have added extra inputs and some currently commented out code which will deal with the extra parameters.

Summer 2005 Projects

Grid Computing Applet

Grid Computing Applet
Grid Computing Applet Documentation
Source Code

This was my main project for the summer and the one for which I was hired at Shodor. It is still not quite complete yet, but it is rather close. The applet is supposed to simulate a weather model running on in a large scale grid computing environment. The grid/computing network is designed by the user of the applet, and some parameters for the weather model are set and then the simulation is run. It displays how long the simulation took, what kind of resources were used and so forth. The applet will later fit into a larger curriculum targetted at early high school students. It is supposed to help students investigate the realities and trade-offs involved in both weather modelling as well as large scale and grid computing. [this project is mostly on hold right now.]

Integration Tool

Integration Tool
Source Code

The goal of this project was to rewrite the Integration Tool, which was originally a perl script that crashed the server when run (and obviously needed to be rewritten). Simon let me rewrite it and I did so in Java and now it doesn't crash (for the most part). I still need to do some further testing to make sure that everything works properly and I need to make the webpage in which the applet is embedded look nicer. That should be done by the end of the summer (mostly finished now in January).

Mohr's Circle Applet

Mohr's Circle Applet
Source Code

The purpose of the applet is simple: to illustrate Mohr's circle, which is a technique for finding the principle stresses on an object. The applet is supposed to replace a MATLAB "applet" which was somewhat broken and hard to use and dependent on MATLAB. The applet is part of a project that Kevin McGoff is working on, which also involves writing a tutorial on the subject and related curriculum.