Skip to content
0:00 / 0:00

#lisp#commonlisp#remoteagent

The Remote Agent Experiment: Debugging Code from 60 Million Miles Away

Google TechTalks

349K subscribers • 56 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Ron Garret, former NASA engineer

Intermediate. Assumes working knowledge.

23K views14 years ago1 recommendation

Systems programmingProgramming languagesLisp and ClojureDebugging

Ron Garret explains how NASA engineers remotely debugged Lisp code on the Deep Space 1 spacecraft from millions of miles away.

Google Tech Talk February 14, 2012 Presented by Ron Garret. ABSTRACT The Remote Agent Experiment: Debugging Code from 60 Million Miles Away The Remote Agent Experiment (RAX) was an autonomous control system for an unmanned interplanetary spacecraft called New Millennium Deep Space 1 (DS1). In May, 1999, control of the DS1 spacecraft, a $150-million asset, was handed over to the Remote Agent software for three days. It was the first -- and, to date, the last -- time that an interplanetary spacecraft has been under fully autonomous control. RAX was a resounding technological success, but a political disaster. Instead of paving the way for future autonomous missions, RAX is the reason that NASA has not flown an autonomous mission since. This talk is about the lessons learned from an ambitious but ultimately failed attempt to introduce technological change into a large, bureaucratic organization, the limitations of static code analysis, and the unique challenges of debugging code when the round-trip ping time is 45 minutes. Slides available at flownet.com/ron/RAX2.pdf Dr. Ron Garret is a software engineer turned entrepreneur and angel investor. He has co-founded three startups and invested in a dozen others. In a previous life he was an AI and robotics researcher at the NASA Jet Propulsion Lab where he led the development of one of the four major components of the Remote Agent. In 2000 he went to work for what was at the time an obscure little Silicon Valley startup called Google, where he was the lead engineer on the first release of AdWords, and the author of the Google Translation Console. He is currently working on launching a new startup company.

Why it's here

1 person recommends this

What people say. Highly recommended by engineers as a classic talk on the power of Lisp's REPL for remote debugging in safety-critical space missions.

dmiton Hacker News • Recommends

On “NASA Pulls Off 160-Million-Mile Software Patch”

Related Google Tech Talk: Debugging Code from 60 Million Miles Away link to this video Ron Garret talks about DS1, a project in the 90s where a small team used Lisp to send an autonomous craft into space in a third of the time and at a fraction of the cost of previous comparable projects. (Yes, I couldn't have made up a more HN-friendly story if I tried.)

lisperon Hacker News • Mentions

On “The Power of Ten – Rules for Developing Safety Critical Code”

> What part of the stuff from that link was written in Lisp? All of it. (Except for an IPC system which was written in C. See link to this video if you want to know the whole story.) > Would you answer them? I'll answer a few of them. > if Lisp is so wonderful compared to C, how come so many more safety-critical systems are written in C? Politics mainly. And inertia. And the sunk cost fallacy. > Is it because the entire profession is blind, and only you and a few enlightened ones realize how wonderful Lisp is? Yes. Pretty much. > Or is it because people that have done this for decades see more problems with Lisp than you are aware of? They, like you, think they see problems, but they, like you, are wro…

lisperon Hacker News • Mentions

On “Lisp as an Alternative to Java (1999)”

A more detailed (and accurate) account: link to this video Stuart got one significant factual detail wrong: the race condition was in Lisp code.

gkyaon Hacker News • Mentions

On “Lisping at JPL (2002)”

There's this (edit: 2012 Google Tech Talks) video: link to this video "The Remote Agent Experiment: Debugging Code from 60 Million Miles Away" by Ron Garret. IDK how similar it is to the 1998 talk by him you refer to. I guess he's around here by the nick "lisper".

informatimagoon Hacker News • Mentions

On “In space, no one can hear you kernel panic”

Unless you write it in CL, in which case you get a debugger REPL, and you can debug it hundred of million of km away. link to this video

_emacsomancer_on Hacker News • Mentions

On “NASA tries to jog Voyager 1's memory from 15B miles away”

I'm reminded of Ron Garrett's writing/talks on remote debugging the Remote Agent for the New Millennium Deep Space 1 (DS1).0, 1 0: The Remote Agent Experiment: Debugging Code from 60 Million Miles Away - link to this video 1: NASA Programmer Remembers Debugging Lisp in Deep Space - link

lisperon Hacker News • Mentions

On “EURISKO Lives”

This is what I was mainly known for: link link I think I'm most proud of this: link link though it didn't make nearly as much of a splash. I was also the tech lead on the New Millennium Deep Space One Remote Agent Executive, which sounds cool, but was really kind of a disaster. See: link to this video if you want the gory details.

iLemmingon Hacker News • Mentions

On “Ask HN: 30y After 'On Lisp', PAIP etc., Is Lisp Still "Beating the Averages"?”

It's actually not that hard to explain, yet without experiencing it firsthand, it is hard to see what this REPL fuzz is about. So, let's take a minimal, simple example: if True: print("Hello, Python!") and the equivalent code in Clojure: (when true (println "Hello, Clojure!")) In Clojure, you can send any expression fragment like a single symbol, list or even incomplete code and it will be evaluated according to its context. So, you can sent `true`, you can send `println` and you can even send `(when true println)` or `(when true (println))`, or even `(when true ,,,, (println))` (you can replace commas with line breaks if you want) and it will still be evaluated. In Python, you can send `Tru…