A story about Lisp remote debugging

Revised slightly, but mostly taken from the free Apress book online: Practical Common Lisp

REPL = Read-Eval-Print Loop
SLIME = Superior Lisp Interaction Mode for Emacs

Even when the Lisp app is deployed, there’s often still a way to get to a REPL.
you can use the REPL and SLIME to interact with the Lisp that’s running a Web server at the same time as it’s serving up Web pages. It’s even possible to use SLIME to connect to a Lisp running on a different machine, allowing you for instance, to debug a remote server just like a local one.

An impressive instance of remote debugging occurred on NASA’s 1998 Deep Space 1 mission. A half year after the space craft launched, a bit of Lisp code was going to control the spacecraft for two days while conducting a sequence of experiments. Unfortunately, a subtle race condition in the code had escaped detection during ground testing and was already in space. When the bug manifested in the wild–100 million miles away from Earth–the team was able to diagnose and fix the running code, allowing the experiments to complete.

One of the programmers described it as follows:

Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem.

Advertisements

Definition of the word Maya ;-)

Maya Ma”ya (m[aum]”y[aum]), n.
1. (Hindu Philos.) The name (in Vedantic philosphy) for the
doctrine of the unreality of matter, called, in English,
idealism; hence, nothingness; vanity; illusion.
[1913 Webster]