layout | title | permalink |
---|---|---|
page |
Works |
/works/ |
A collection of public works that I've contributed to.
I was the principal developer of the
EUVE Guest Observer Analysis Software
(ADASS I EGO,
ADASS I EES,
ADASS IV,
ADASS VI,
EUVE,
EGOS UG,
code)
from 1990 thru 1997.
The main innovation in this package is the Comprehensive Event Pipeline
program.
This program implemented a number of processing modules that could be configured at run time into a processing pipeline.
This concept is derived from the End-to-End System
used during the development of the satellite's scientific payload.
Where the EES used individual programs with Unix pipes,
CEP is a single program where buckets
of events are passed between modules.
The Google search is EUVE Guest Observer Analysis Software
Around 1996 I wrote a Satellite Communications Java applet for Dr. Isabel Hawkins and Dennis Biroscak as part of an educational outreach program associated with the EUVE mission.
It is difficult to run in 2017 due to the security changes made in browsers.
Chrome no longer supports Java applets.
On my Mac I first had to add cse.ssl.berkeley.edu
to the Exception Site List
in the Java Control Panel
.
This panel is located under System Preferences...
and then selecting Java
.
On the panel, select the Security
tab and the Edit Site List ...
.
Also make sure that Enable Java content in the browser
is selected.
After the security set up is complete, the
animation
will run on the page http://cse.ssl.berkeley.edu/lessons/indiv/dataflow/animation.html
.
On Safari, it opens up a separate window with two toggle buttons.
The animination shows the wireless lines of communication from
the EUVE operations center in Berkeley to the EUVE satellite.
EUVE was in Low-Earth Orbit completing an orbit in 90 minutes or so.
Geosynchronous satellites are located in much higher orbits
and complete an orbit in 24 hours - thus appearing stationary from the Earth.
The green line show the domestic space network components.
From the former
Onizuka Air Force Base
in Mountain View, CA to the geosynchronous Domsat 2 satellite.
Domsat 2 relays the signal to
Goddard Space Flight Center
which in turn relays the signal to DomSat 1 (in geosynchronous orbit).
The gray lines are segments in the
Near Earth Network.
The signal is relayed from Domsat 1 through
White Sands ground station
and back up to
TDRS also in geosynchronous orbit.
The final, red, link is intermitent from TDRS to the EUVE satellite.
Surprisingly this work is on the first page of the Google search for Satellite Communication Simulation and is first for EUVE Satellite Communication Simulation
This Triangulation applet uses Java in the browser to build interactive, as well as static diagrams, of Delaunay Triangulations. Due to security concerns, some adjustments to the browser may be needed before this page will display properly.
I wrote markover
(github, npmjs)
in 2013.
It revisits Knuth's 1984 literate programming paradigm using HTML, CSS, and javascript.
The Literate Programming style emphasizes readability: a source document can be tangled
into code or weaved
into a document.
markover
targets an single class: methods in the class can be built incrementally with explanitory text intermixed with the source code.
The tone of the document tends to be informal, as one developer might write to another.
Awkward development issues can be discussed in-situ as well as links to useful resources.
I wrote pry
(github, npmjs,
Smileupps)
in 2015.
It is a self-replicating Couchapp deployment tool based in part on markdown.js
.
A live deployment of pry
is located on IBM Cloudant
featuring its online editor.
I wrote LP Workbench (github), in 2016. It is an educational web app for instructing students on the Simplex linear programming algorithm for solving real, integer, and mixed problems. The problems are specified in canonical form using the notation in An Introduction to Linear Programming and Game Theory, Third Edition by Paul R. Thie and G. E. Keough. Students can adjust the tableau by pivoting, adjusting variables and constraints.
I wrote mapline
(github, npmjs) in 2014.
It is a nodejs module that streams an input line by line.
I have a few guides on deploying a couchapp from 2014: hello-couchapp (github) using a file attachment, hello-again-couchapp (github) without a file attachment, and hello-couchapp-revisited (github) which separates out the HTML, CSS, and javascript components slightly.