Hi, Eric!<p>Thanks for writing this up! "Autodesk is not the street" is a wonderful reply. I appreciate having your account and the actual letters to separate what happened from the story that grew around it.<p>I also remember you developing something called Warp (not IBM's ill-fated operating system), if I have the name right -- an early predecessor to QuickTime VR. Am I remembering that correctly?<p>Your description of the EyePhone, Polhemus tracker, and data glove brought back memories of VPL and Body Electric, which I later worked on as Bounce. There’s a rich history of Forth running through VR, graphics, and live performance that I’d love to compare notes about.<p>I knew Michael Perry through Laxen and Perry Forth (and Strawberry Music Festival), which Mitch Bradley built on in developing Forthmacs and Sun Forth, leading to Open Firmware. There’s Young Harvill’s Swivel 3D, written in Forth, in the VPL world too.<p>And the late Marc de Groot developed Meme, the Multitasking Extensible Messaging Environment: a multi-user networked virtual-world system programmed in multitasking Forth. His June 1994 announcement emphasized portable executable behavior for objects, not just geometry, with code that could travel efficiently over the network. I dug up his website and announcement and posted them here (including some Tales of the Great TCL Wars):<p><a href="https://news.ycombinator.com/item?id=22342800">https://news.ycombinator.com/item?id=22342800</a><p><a href="https://web.archive.org/web/19990125100147/http://www.immersive.com/" rel="nofollow">https://web.archive.org/web/19990125100147/http://www.immers...</a><p>And here is his patent on Meme, which has 53 citations, including Philip Rosedal's Distributed Simulation patent (who made Second Life and High Fidelity):<p><a href="https://patents.google.com/patent/US6421047B1/en" rel="nofollow">https://patents.google.com/patent/US6421047B1/en</a><p>Another wonderful part of this history is Coco and Peter Conn’s HOMER & Associates. They hired Forth, Inc. to program their Homer II visual mixing console, and got Chuck Moore himself to write the host software!<p>Paul Rother worked alongside Chuck, learning Forth and programming the individual visual channels. The console had 24 channels with their own Z80s, a master Z80 running multitasking PolyForth in 32K, touch-sensitive sliders, and a “joystick bumper” like a Mustang gearshift. You could perform visual sequences, record them, and overdub corrections like an audio mix, then take the recording and slide trays to the optical printer.<p>Paul later got a CAT-700 framebuffer running as a Forth paint system alongside the optical-printer controls. Coco remembers its early use on Abracadabra and Atomic Dog.<p>I posted Coco’s and Paul’s accounts to Hacker News with Coco’s permission:<p><a href="https://news.ycombinator.com/item?id=29261868">https://news.ycombinator.com/item?id=29261868</a><p>I’ve also collected the story, sources, and photographs here. Paul’s account describes working with Chuck directly:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/characters/coco-conn/homer-forth-flying-logos.md" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/characters/paul-rother/sources/1982-homer-and-associates.md" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>There are linked collections for Coco, Peter, Paul, and Chuck:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/tree/main/characters/coco-conn" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/tree/main...</a><p><a href="https://github.com/SimHacker/WillWrightShowForFood/tree/main/characters/peter-conn" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/tree/main...</a><p><a href="https://github.com/SimHacker/WillWrightShowForFood/tree/main/characters/paul-rother" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/tree/main...</a><p><a href="https://github.com/SimHacker/WillWrightShowForFood/tree/main/characters/charles-moore" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/tree/main...</a><p>I’ve been bringing Forth and hand-controlled graphics together again on a somewhat unlikely machine: a PDP-7 running in the browser.<p>Mitch Bradley and Claude recently wrote a beautiful PDP-7 Forth in one day. Its inner interpreter takes three instructions, using XCT to execute thread cells whose opcodes select the behavior. I integrated it into my Cabinet PDP-7 emulator, with a Type 340 vector display, Mitch's 3D turtle written in Forth, and an emulated fictional hand-tracking peripheral, as if the Data Glove + Polhemus existed in 1967, that plugs into the PDP-7 cabinet with its own IOT instructions wrapped with a Forth API.<p>The browser tracks your hand with the webcam and exposes the coordinates through PDP-7 device registers. Forth running inside the emulated machine reads those registers and draws the hand. The camera processing stays in the browser; only tracking numbers enter the emulated machine, converted to 18 bit integers in the scale compatible with the Forth lookup table trig words and turtle graphics coordinate system. The hand tracking library uses floating point, so the idea is to have the virtual hardware interface do all the pre-processing so it's convenient to program in Forth.<p>Here’s ULTIMATE HAND, implemented in PDP-7 assembly and Forth:<p><a href="https://hyperties.org/cabinet/ultimate-hand/" rel="nofollow">https://hyperties.org/cabinet/ultimate-hand/</a><p>It’s Minsky and Shannon's Ultimate (aka Useless) Machine, except your hand becomes its hand. Allow the camera, hold up your hand with your palm away and fingers up, and the box opens and carries your hand toward the switch. Touch the switch with a fingertip and it retreats into the box. The arm positions the hand, but you control its finger shapes.<p>Ultimate (aka Useless) Machine:<p><a href="https://en.wikipedia.org/wiki/Useless_machine" rel="nofollow">https://en.wikipedia.org/wiki/Useless_machine</a><p>Ultimate Hand Forth code with turtle graphics:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/tapes/pdp7forth/ultimate-hand.fs" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>Forth datahand device driver:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/tapes/pdp7forth/datahand.fs" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>TypeScript datahand PDP-7 device adaptor emulator:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/src/plugins/datahand.ts" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>TypeScript hand tracking device emulator (MediaPipe wrapper):<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/src/plugins/hand.ts" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>Simple Forth data hand tester (point the light pen at the fingers to see their names -- the tooltips are in the 340 display user interface overlay, not drawn by the PDP-7):<p><a href="https://hyperties.org/cabinet/hand/" rel="nofollow">https://hyperties.org/cabinet/hand/</a><p>The Ultimate Machine itself is an emulated fictional PDP-7 device with its own IOT instructions to inspect and control it, whose only purpose is to turn itself off (through a state machine with configurable delays), which exposes its state to the PDP-7 so it can render an animated view with vector turtle graphics with Forth:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/src/plugins/ultimate.ts" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>And it wouldn't be classically Turing Complete without a Turing Machine co-processor device -- a lot like the 340 display -- with its own IOTs and instruction set via DMA, that represents code and tape in PDP-7 memory. When it runs off the end of the tape window, it tapefaults: (temporarily) halting and sending an interrupt to the PDP-7, so it can implement virtual infinite tape memory, potentially using compression, extended memory, or other devices like disk or paper tape:<p><a href="https://hyperties.org/cabinet/turing/" rel="nofollow">https://hyperties.org/cabinet/turing/</a><p>Turing Machine fictional co-processor device emulator:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/src/plugins/turing.ts" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>Mitch’s Forth:<p><a href="https://github.com/MitchBradley/pdp7forth" rel="nofollow">https://github.com/MitchBradley/pdp7forth</a><p>The hand device and Forth graphics documentation:<p><a href="https://github.com/SimHacker/WillWrightShowForFood/blob/main/packages/cabinet/HAND-TRACKING.md" rel="nofollow">https://github.com/SimHacker/WillWrightShowForFood/blob/main...</a><p>Here's a demo of other stuff the PDP-7 emulator can do, including displaying the source code and scans of the line printer listing from 1971 of the original code it's executing:<p><a href="https://www.youtube.com/watch?v=lo8kdY-5i6c" rel="nofollow">https://www.youtube.com/watch?v=lo8kdY-5i6c</a><p>Did you encounter Marc or Meme? I’d love to hear what other Forth connections you remember from the Autodesk and Sense8 days.
there's LSD, and there's LSD, but you heard that and know that. And I don't mean quality Hoffman "LSD 25" vs city part of town cook & shitty storage but purposefully bad formulas.<p>Or when some kids are invited to parties and everybody else dropped twice the amount when the door opens and then everyone thinks it's a joke the new kids can't interface with the absolute garbage of bags of words that miss any point whatsoever. ...<p>wait a minute, holy shit! The PC IS LSD.<p>But it's a 9/10 thing all the way up and down. "There's a bigger fish, better quality, better design" but the few percent pumping out creative, productive and ludicrously progressive stuff are in none of these funnbunny-nice-to-see-you-again groups ...<p>bad roll, bad luck, what a waste of time these cultures, authors and books were, holy shit
That was an inspiration for my NeWS PostScript visual programming and debugging environment, the PSIBER Space Deck and Pseudo Scientific Visualizer, and the paper I wrote about it in 1989 quotes Gibson:<p>Abstract:
The PSIBER Space Deck is an interactive visual user interface to a graphical programming environment, the NeWS window system. It lets you display, manipulate, and navigate the data structures, programs, and processes living in the virtual memory space of NeWS. It is useful as a debugging tool, and as a hands on way to learn about programming in PostScript and NeWS.<p>PostScript Source Code Available Here:
<a href="http://www.donhopkins.com/home/pub/NeWS/litecyber/" rel="nofollow">http://www.donhopkins.com/home/pub/NeWS/litecyber/</a><p>Introduction:
Cyberspace. A consensual hallucination experienced daily by billions of legitimate operators, in every nation, by children being taught mathematical concepts … A graphic representation of data abstracted from the banks of every computer in the human system. Unthinkable complexity. Lines of light ranged in the nonspace of the mind, clusters and constellations of data. Like city lights, receding ....<p>[Gibson, Neuromancer]<p>Too bad the PC was more like PCP, the only drug that everything the government tell your about it is true. And Elon Musk's favorite excuse for pissing his pants all the time.