News for hackers. Stuff that matters.
Re:PDP-10 Incompatible Timesharing System emulator by larsbrinkhoff on Monday July 10, 2023 @07:02AM (#36664633)
It's hard to convey in words how convenient this is. Sometimes when you're debugging, you want to do file system things. In Unix you'd somehow switch out of the debugger to the shell (type ^Z or switch window, or something), do the thing, and then go back. With ITS you can just do it right away, and it somehow feels so right. Similarly, the debugger-shell has built-in math operators, so it can be your desktop calculator without switching context.

The system is wide open to a fault, even extending to the "kernel" memory image being available for debugging with just a few keystrokes.

Re:PDP-10 Incompatible Timesharing System emulator by gumby on Monday July 10, 2023 @07:58AM (#36665104)
It should be no surprise that the lispm had a similar experience. Instead of a shell it had a REPL of course but the debugger was always entered when something went wrong, and of course it was trivial to fix something and continue.

Bill Gates once laughed to my face when I described this as a feature.

Re:PDP-10 Incompatible Timesharing System emulator by DonHopkins on Monday July 10, 2023 @12:25PM (#36668644)
Reposting this from the 2014 HN discussion of "Ergonomics of the Symbolics Lisp Machine":

https://news.ycombinator.com/item?id=7878679

http://lispm.de/symbolics-lisp-machine-ergonomics

https://news.ycombinator.com/item?id=7879364

eudox on June 11, 2014

Related: A huge collections of images showing Symbolics UI and the software written for it:

http://lispm.de/symbolics-ui-examples/symbolics-ui-examples....

agumonkey on June 11, 2014

Nice, but I wouldn't confuse static images with the underlying semantic graph of live objects that's not visible in pictures.

DonHopkins on June 14, 2014

Precisely! When Lisp Machine programmer look at a screen dump, they see a lot more going on behind the scenes than meets the eye.

I'll attempt to explain the deep implications of what the article said about "Everything on the screen is an object, mouse-sensitive and reusable":

There's a legendary story about Gyro hacking away on a Lisp Machine, when he accidentally trashed the function cell of an important primitive like AREF (or something like that -- I can't remember the details -- do you, Scott? Or does Devon just make this stuff up? ;), and that totally crashed the operating system.

It dumped him into a "cold load stream" where he could poke around at the memory image, so he clamored around the display list, a graph of live objects (currently in suspended animation) behind the windows on the screen, and found an instance where the original value of the function pointer had been printed out in hex (which of course was a numeric object that let you click up a menu to change its presentation, etc).

He grabbed the value of the function pointer out of that numeric object, poked it back into the function cell where it belonged, pressed the "Please proceed, Governor" button, and was immediately back up and running where he left off before the crash, like nothing had ever happened!

Here's another example of someone pulling themselves back up by their bootstraps without actually cold rebooting, thanks to the real time help of the networked Lisp Machine user community:

ftp://ftp.ai.sri.com/pub/mailing-lists/slug/900531/msg00339.html