An Editorial Note
Martin died suddenly in late December, 2000. He had a heart attack on the way to work on the Muni; at the end of the line, the bus driver came over to try to wake the guy who'd fallen asleep. I've set up this mirror of his site, as there are many good things here, such as his software.
Obviously, the email addresses no longer work. Only he knows the passphrases to his PGP key. His last employer, ThinkLink, went bust in the dot-com implosion a month after his death, which shows what an asset he was.
If you have any questions about the site, Martin, or anything else, feel free to contact me at jon@callas.org. If you want to contact him, encrypt your message to his PGP key, print it out, and burn it. That way it will get to him without being read along the way. -- Jon Callas
Also, Martin's (and my) friend, Andy Leslie has a memorial page at this link. I suppose if more people have meorial pages, we can collect them all here. Send mail.
This was last updated on 30 September 2001.
An Autobiography, of Sorts
I am a senior software engineer at
ThinkLink, Inc., an Internet startup that will provide integrated
voice-mail, e-mail, etc. You can join our "public beta" at
ThinkLink.com
Before joining ThinkLink, I worked at Apple
Computer Inc. where I implemented the SCSI subsystem for the
MacOS X Server
operating system. Before joining Apple in 1992, I worked for almost
20 years at Digital Equipment
Corporation, first in Sweden, then at Dec's main office in
Maynard, MA, under the
clock
tower.
I have been a computer programmer, off and on, since 1962,
learning on the original (vacuum tube) Illiac computer, then on
TRASK,
a Swedish transistorized "grandchild" of Illiac which, fortunately,
could be programmed in
Algol-60. Between 1972 and 1993, I
worked at Digital Equipment Corporation in a variety of support roles,
including corporate support for RSTS/E, the Decus-C
programming language, and Dennis Klatt's
DECtalk
speech synthesizer. You can find more information on DECtalk at
this
speech-friendly site.
While in Sweden, I helped translate three Swedish films:
I am Curious Yellow, I am Curious Blue, and They Call Us Mods.
In my spare time, I run with the
San Francisco Hash House Harriers. Actually, if the truth be known,
"running" may be a bit of an overstatement in my case.
If I had more spare time, I'd do more with my new
Amateur Radio license.
Right now, I'm just struggling to learn the
Morse Code.
Publicly Distributed Software
Throughout my career, I have benefitted from source code written
by others, and believe that, as a professional, I have a
responsiblity to repay this debt to my mentors by sharing my knowledge
and experience, in the form of computer source code, with my community.
For example, the C pre-processor I wrote for Decus C was distributed
with a number of other projects including the MIT X-Windows X11R5
release and, at one time, the Gnu C compiler.
SunClock
|
SunClock is a very large applet that requires full Java 1.1 support. It
displays the sunrise/sunset terminator, the phase of the moon, times
of sunrise, sunset, moonrise, moonset, and can be used to display
times of Jewish and Muslim prayer and religious obligation (not
fully implemented yet). SunClock was rated "Top 5% WebApplet" by
Jars. It conforms to the
100% Pure Java specification but has not been validated.
|
SimpleSun
|
SimpleSun is a simpler version of SunClock with no interaction,
moon, or clock that should load much faster. SimpleSun is
compatible with Java 1.1 and Java 1.0.2. SimpleSun was rated
"Top 25% WebApplet" by Jars.
SimpleSun should run on all browsers that support Java, even
those that do not support the modern Java 1.1 standard.
|
SimpleSunImage
|
SimpleSunImage is a rewrite of Simple SunClock
with an improved sun ephemeris algorithm and a better image
(courtesy of Geosphere Inc.).
SimpleSunImage requires Java 1.1 support.
|
SunSphere (Obsolete)
|
SunSphere displays a spherical image of the earth showing the
sunrise and sunset terminators that. It makes the
odd shape of the terminator (on a rectangular map) understandable.
It is a substantial applet, and tends to overwhelm some browsers.
SunSphere was rated "Top 5% WebApplet" by
Jars. SunSphere conforms to the
100% Pure Java specification but has not been validated.
Note: this version of SunSphere requires full Java 1.1 support
and will not work on some browsers.
This is the original release of SunSphere and has been
superseded by SunSphereImage.
|
SunSphereImage (New)
|
SunSphereImage displays a spherical image of the earth showing the
sunrise and sunset terminators. It makes the
odd shape of the terminator (on a rectangular map) understandable.
It is a substantial applet, and tends to overwhelm some browsers.
The original version of SunSphereImage was rated "Top 5% WebApplet" by
Jars, however this version has
not yet been rated. SunSphereImage conforms to the
100% Pure Java specification (with a few minor disagreements)
but has not been validated.
Note: SunSphereImage requires full Java 1.1 support
and will not work on current releases of Netscape Navigator
on MacOS without the "MRJ in a Box" package.
|
JavaInfo
|
The JavaInfo applet displays all system information that is
available to applets running in the Java security "sandbox."
It can also display memory usage and estimate the performance
of the Java environment. The memory status and response
test display panels may be used independently of JavaInfo.
|
Countdown
|
The Countdown applet counts down to a specified date,
such as the next millenium, then up from that date.
The digits glow green before the date, orange after.
|
MakeHomePage
|
MakeHomePage is the Java application (not an applet) that I
use to construct the simple list of links I use as my
web browser home page. When it runs, it reads a file named
HomePage.src and writes
a file named HomePage.html,
which you then designate as the "default home page" in your
browser's preference dialog. To use it, copy
HomePageBuilder.java
to your system and compile it with your Java application
development tool. MakeHomePage uses a Macintosh-specific
method to set the output file's semantic information (the
creator and file type). This should work on non-Mac
systems: please let me know if you have problems using
MakeHomePage. Note that this is an extremely simple program
that lacks robust error handling. Be sure that the HomePage.src
file is in the same folder (directory) as the application.
Under the name HomePage.src, an earlier version of MakeHomePage
was rated "Top 25% WebApplet" by Jars.
|
MorsePractice
|
MorsePractice is a Java application (that can run as an applet)
that I am using to learn Morse Code. It requires the unsupported
sun.audio internal classes, but these are available
on most Java environments. When you run MorsePractice, you
can listen to individual Morse Code symbols, to text that
you type, or learn the code using either randomly-generated
symbols or randomly-generated amateur radio contacts (QSO's).
You can click on buttons to hear individual characters,
The official distribution of MorsePractice is at
http://homepage.mac.com/k6mam/
|
Decus C
|
Decus C is the first "open source" C compiler and the second C
compiler written outside of Bell Labs. It runs on and generates code
for the Dec PDP-11
minicomputer architecture.
|
TINI Hacks
|
The TINI Internet Appliance
is a complete Java-enabled server on a 72 pin SIMM, including a network
interface. I am writing a Servlet to support secure operations on an
Java-enabled iButton.
Here are some TINI utilities.
|
Iron Chef
|
|
You may use the following PGP
keys to communicate with me.
|
|
DSS (PGP 5.0)
|
Fingerprint:
6B10 B8DD 5E94 BBAA 4ABD 13B0 8950 D1DC 26C4 551C
ID:
0x26C4551C
|
|
RSA (PGP 2.x)
|
Fingerprint:
86AC 7D97 9CB5 CBDB 0F0A CFFE 7443 3F7B
ID:
0x744432C9
|
Paper Tape
|
This is a short essay on obsolete paper-tape formats,
particularly the five-channel format commonly called Baudot,
Teletype, or Telex (the latter are trademarks). This essay also
describes the format used by the Illiac computer.
|
| |