8 ms·
Ergonomics of the Symbolics Lisp Machine
- endlessvoid94 12y agoseems to be down, does anyone have a mirror?
- pjmlp 12y agoThe web site runs on a small ARM board, maybe it was HNed.
- eudox 12y agoNeither the archive nor Google Cache seem to have it.
- edwintorok 12y agoI tried web.archive.org/save/http://<url> http://<url>, but I got 'Access Forbidden for URI http://lispm.de/symbolics-lisp-machine-ergonomics' http://lispm.de/symbolics-lisp-machine-ergonomics'. The site itself loads fine in both firefox and chromium, but doesn't work with wget/curl. Probably some protection against robots / automated downloaders.
- pjmlp 12y agoSometimes I wonder how much better the computing would be if Lisp Machines had succeeded in the industry and UNIX never left the lab.
- happycube 12y agoConsidering most of the Internet was developed under UNIX machines, the alternate universe would be almost unrecognizable, for good or bad.
- im3w1l 12y agoNot necessarily. Convergent evolution is a thing.
- pjmlp 12y agoThat is wrong. Most of what the Internet is was already in place at Xerox PARC labs.
- hga 12y agoAnd a whole lot was done on PDP-10s, which were in many ways the first Lisp Machines. DEC asked various groups including AI researchers what they needed when designing the PDP-6, which was essentially the PDP-10 prototype, and its 36 bit word size (common back then, because that was enough to encode 10 decimal digits, the pre-computer standard for scientific calculations) was matched with a 18 bit word addressed address space, so one word could be a natural CONS cell, and there were useful instructions for that. In the fullness of time, long after 1963, 18 bits of 36 bit words totaling 1 MiB of 9 bit bytes was crippling, but that much memory was at the time unimaginable. MIT's proposal some time later to have a full address space of memory built was a big thing, some said it couldn't be done. Which gets into one big difference between Xerox PARC Altos and their software and UNIX(TM) for the first decade or so: they were seriously constrained by memory. Altos were 16 bit machines, also word addressed, so a total of 128 KiB, although they had a bank switching feature. The bigger PDP-11s had a split Instruction and Data (I&D) feature so that a program could have 64 KiB of code, and due to the MMU, 58 KiB of data and 8 KiB of stack, also for a total of 128 KiB, although you could get fancy with overlays as BSD 2.x did to support TCP/IP. I believe this resulted in significant differences in software and system design, e.g. part of MIT's going for The Right Thing was using systems with large (for the time) address spaces. Whereas the smaller systems PARC and UNIX systems required more compromises, although occasionally that had good results, e.g. UNIX pipelines and the conventions that developed from them.
- ChuckMcM 12y agoIt is a bit more nuanced than that, ARPANet was a lot of DEC machines, USC and USC-ISI had a number of DEC-10's on the network. Usenet was however primarily a bunch of UNIX (or UNIX like) machines. They traded in their modems for nifty connections to the Internet and carried a lot of the same protocols with them. Much of the Internet protocols were developed in college labs with the ability to 'plug in' different UNIX configurations (the BSD sockets stuff) and since the code was tested well on UNIX was often the operating system on the machine that connected someone to the emerging Internet at the time. Lisp systems were popular for research, but were not used extensively for networking research. I expect it was in part a compatibility issue with BSD's socket stuff (where a lot of research was happening). A more interesting alternate history for me would be if the folks doing system research had settled on a functional language like Haskell rather than a procedural one like C, what would our APIs look like today. I say that because I suspect that using C as a the language of choice was more influential than the OS of choice.
- aidenn0 12y agoI personally think it would have proceeded at a slower pace, and would have been more expensive. The tradeoffs may or may not have been worth it, but there seemed to be an obsession with doing it Right rather than doing it cheap and quick. Even today it would be financially beneficial to buy a $70k workstation over a $2k workstation for a developer if there was a significant boost to productivity; each developer costs you well over $70k per year, and you can't double your productivity by hiring twice as many developers.
- crististm 12y agoYou may be right but considering today's situation, it really looks like a local maximum. Cheap and fast can get you only that far. What I wonder is why for 20+ years there was no successful free software project that would mimic the Lisp Machines.
- aidenn0 12y agoIt takes a lot of attention to detail to make software like the lisp machines. Most free software projects stop at "Good Enough" so we end up with e.g. slime.
- coldtea 12y agoWe'll all have a 10kg Lisp Machine, with full VGA (640x480) resolution running in our desktop right now! And something like Gopher.
- hetid 12y agoLisp Machines would have become cheap. Similar software divergence would happen. There would be an increased separation from normal people and programmers. Lisp would become a serious thing used by all programmers. Or maybe another thing like UNIX would've replaced Lisp Machines quickly.
- rayiner 12y ago78% better.
- seanewest 12y agoLisp Machines succeeding and UNIX never leaving the lab are not mutually inclusive.
- protomyth 12y agoWell, the 8-bits, Lisa, Macintosh, and Windows would have still been with us. So, I guess AT&T Sys V and BSD would have not happened which gets rid of Sun and makes one wonder what Dr. Tanenbaum and Mr. Torvalds would have worked on. I guess the second vector would have been what Steve Jobs would have built after leaving Apple (NeXTSTEP, the ultimate user friendly LISP machine?!?). Maybe Dylan would have worked in its infix form. I would imagine that intelligent people would have worked at getting the same problems solved in a different form. [edit] Instruction Sets from Intel, IBM, MIPS, Motorola would have been really different. Personally, I wanted the Forth machines to rule :)
- rjsw 12y agoThe ancestors of InterfaceBuilder for NeXT STEP were written in Lisp, though not for Lisp Machines.
- lispm 12y agoActually they were. The Interface Builder was sold also for the TI Lisp Machine - the TI MicroExplorer running in a Mac. Expertelligence developed the access to the Macintosh Toolbox for TI and also ported the Interface Builder to the MicroExplorer. Thus you could develop Mac-style user interfaces on the TI Microexplorer, including using the Interface Builder, which ran on the Lisp Machine and talked to the Mac for the UI display/interaction. Here is a video which shows it running on a TI Micro Explorer, a Nubus Board in a Mac II. https://vimeo.com/62618532 https://vimeo.com/62618532
- rjsw 12y agoIt was originally written for LeLisp running natively on the Mac though.
- owenversteeg 12y agoSite's down, here's a pastebin of the text: http://pastebin.com/6kkCTgjg http://pastebin.com/6kkCTgjg Neither archive.org nor Google Cache have this. Weird. Video from article: http://vimeo.com/83886950 http://vimeo.com/83886950 Image 1: http://i.imgur.com/r62FSfE.jpg http://i.imgur.com/r62FSfE.jpg Image 2: http://i.imgur.com/xsxutc3.png http://i.imgur.com/xsxutc3.png Image 3: http://i.imgur.com/zL9DFbr.png http://i.imgur.com/zL9DFbr.png
- zokier 12y ago> Video from article: http://vimeo.com/83886950 http://vimeo.com/83886950 The things that stood out to me were that a) boy, it was a slow system. Sure vi etc are more spartan, but even back then I'd imagine the were significantly faster than this Lisp machine. b) mouse was clearly the hot new thing, it is used lot more than what I think would be optimal.
- lispm 12y agoThat was a 5 MIPS machine with just 40 megabyte RAM. The UI ran over a 10 Mbit/sec Ethernet X11 connection on a remote machine.
- zokier 12y agoI suppose I meant that they probably were bit ahead of their time and overly ambitious. Performance and especially latency are critically important for interactive applications. The designers must have been fully aware of the performance characteristics and hardware limitations at the time, but still they decided to ship such system. Maybe they should have taken a look in the mirror and notice that the hardware is not ready for what they were making and downscaled it to fit, then incrementally grow those features back when they become more practical.
- lispm 12y agoThe goal was not to have a fast vi, for writing applications in a slow way. If you wanted vi, there were other systems. It was a system for research of development of advanced software, often with complex GUIs. Symbolics sold for several years into the CAD and 3d-graphics markets.
- eudox 12y agoRelated: A huge collections of images showing Symbolics UI and the software written for it: http://lispm.de/symbolics-ui-examples/symbolics-ui-examples.html http://lispm.de/symbolics-ui-examples/symbolics-ui-examples....
- agumonkey 12y agoNice, but I wouldn't confuse static images with the underlying semantic graph of live objects that's not visible in pictures.
- DonHopkins 12y agoPrecisely! 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
- gcb0 12y agothat keyboard, along with the space cadet one, is an aberration. It is too complex for novices, with too many keys. And not optimal to the initiated, as key combinations are much more efficient. anyone with the slightest ergonomic knowledge cringe just by glancing at those things.
- babo 12y agoAn important point of the article: lisp machines were design for the elite professionals.
- qbrass 12y agoBoth that keyboard and the space cadet have fewer keys than an IBM PC keyboard.
- gcb0 12y ago1. thats a straw man argument. the keypad, etc do not count much. 2. i never said the ibm pc keyboard was any god either :)
- hga 12y agoI used this keyboard, as well as the ones for MIT-AI's graphics terminals from which it was inspired, and a 2nd generation of those (long story), at the same time I was using "standard" keyboards including the IBM PC's, and if you have the ability to ignore keys you don't need, you can focus on the home keys and Control and Meta (and ideally use the key left of A as rubout/backspace; it not being Caps Lock is not really a problem for coders). The big issue is that the IBM layout is Ctrl-Alt, whereas the Lisp Machine was [too many other "bucky bits"]-Meta-Ctrl. Since I learned EMACS with the latter layout, for many years I just remapped those keys on other systems.
- bane 12y agoOut of curiosity, what were things that these systems did poorly or that we know not to do these days?
- adwf 12y agoCosting $70,000 for the base machine would be one thing.
- lispm 12y agoA later MacIvory was a third of that.
- pavement 12y ago$23,000 is still a pretty penny.
- lispm 12y agoI have for example this NXP1000, with twice the RAM: ftp://ftp.ai.sri.com/pub/mailing-lists/slug/930331/msg00117.html $18,700 in 1992. The last hardware Lisp Machine type. Many years later I got mine for free from a telco equipment manufacturer.
- michaelmike 12y agoI don't see the relevance. I, too, can easily find dead-end hardware that was expensive years ago that no one wants today. Most are just happy someone is taking that crap out of their hands. It's big, heavy, has strange power requirements, people forgot how to even turn it on and get it running, etc.
- deleted 12y ago[deleted]
- 12y ago
- crististm 12y agoI've managed today to boot OpenGenera in a Linux VM. It took me a couple of weeks but it finally works. I intend to have a look myself at what the fuss is all about. If you're interested, here are some pointers to relevant resources (snap4.tar.gz image works as advertised): http://www.advogato.org/person/johnw/diary/12.html http://www.advogato.org/person/johnw/diary/12.html http://www.cliki.net/VLM_on_Linux http://www.cliki.net/VLM_on_Linux http://libarynth.org/vlm_on_linux http://libarynth.org/vlm_on_linux The opengenera tar-ball can be found in the intertubes. Tip: Use Ubuntu 7.04 x86-64 to save you some trouble. I don't know what is the most recent distro that works but 10.10 doesn't. You get a blank window because recent X servers are missing something. Before proceeding with the installation, complete the Ubuntu image with relevant archive server URLs to be able to apt-get with ease.
- segmondy 12y agoWhat's the fuss all about? A lot, but please bear in mind the time this was developed. We are now in 2014. We are talking about something about 30 yrs old. A good way to really compare is to go compare with an Apple ][.
- blahber 12y ago/sad I think multimedia computing, as introduced by Amiga did more for AI, speaking in terms of games, than the Lisp Machines. I do think the jack of all trades approach is useful for sharing data across computers and professions. It's sad to see the demise of the professional multimedia computer to tablets and tablet-laptops.
- crististm 12y agoYes - I'm aware about what this is about. From the point of view of a developer, all demos show something that is missing in today's tools. To compare it to Apple ][ is a bit too stretched. Lisp machines were developer machines. Machines for professionals in computing technology. We don't have that today. For example, what is the equivalent package or distro that transforms your PC in a "developer machine". You don't have anything like that. All you can do is stitch together some emacs/vi/gdb whatever and search some blogs when you're stuck. And beyond that you are not able to go and fix some IDE bugs _live_. Today we're missing a machine for professional programmer.
- jf 12y agoI own a Symbolics Lisp Machine (a MacIvory). I'm in San Francisco and would be happy to show it to anybody who's interested and in the San Francisco Bay Area. Be warned, I'm still learning how to use Genera, so we'd be learning how to use the system together.
- mehmetemre 12y ago> It was completely programmable with all source code. It was also not for 'playing' around - for that it was too expensive. As a software developer you could focus on your task and the whole operating system was supporting you. There was no piece of software that was not accessible in a few mouse clicks. Everything could be inspected, everything was up for modification. Software was live and dynamic. Not dead and static like today. There was no boundary between software development and software usage. This reminds me of Smalltalk environment like Pharo. I recently realised that there were so much things in common between Lisp and Smalltalk environments (by Lisp environments I mean what we have today like SLIME+Emacs or LightTable). I also think that LightTable has a huge potential for being a successor of Lisp machines and _really_ integrated development environments.
- lispm 12y agoPharo runs on top of something, running on top of something else, ... Genera on the Lisp Machine runs on the metal. It is the process scheduler, it does handle the bus interrupts, it receives the network packets, it writes the bytes to the disk controller, it sets the bits in the graphics card, it writes the sound bytes to audio interface, the network packets are Lisp arrays, ...
- cpr 12y agoYes, but don't forget the microcode level that runs the Lisp code. Some very small bits of the OS were written in microcode (as few as possible), IIRC. (It's been a long time since I was hanging around the AI Lab. ;-)
- lispm 12y agoThe processor instruction set was implemented in Microcode. It was optimized to run compiled Lisp code. There was also a Lisp to Microcode compiler, though I haven't used it.
- rjsw 12y agoThe microarchitecture of the MIT/LMI/TI machines wasn't particularly complicated, it had pipelined 3-address load-store instructions just like the first RISC CPUs. Apart from the functions to handle each Lisp instruction the microcode was basically a simple RTOS. In my view, the clever part of the design was in picking the minimal features needed from the microcode to allow everything else to be writtin in Lisp. There was a proposal from Sun for a Java OS that seemed to me to copy the same split. It is a pity that all the Ivory papers that were in journals still seem to be behind paywalls.
- cpr 12y agoThe real ergonomics of the LispM were due to the wonderful Microswitch keyboards, which have never been equalled since. To use one was a kind of revelation into the the apotheosis of keyboard use. (The old, original Tom Knight AI Lab keyboards were even slightly more wonderful; the later Microswitch LispM keyboards never quite equalled the originals in terms of tactilely satisfying feel.) (For a long while after leaving MIT (ran the MIT-EECS LispM and DEC-20 machines) I used one of the custom-made Lawrence Livermore run of Microswitch keyboards, driving a custom 68K board which turned the up/down events into standard RS-232 for use with standard CRT terminals. I think I still have that keyboard somewhere in the now-long-abandoned kids' play junk.)
- ScottBurson 12y agoThose were nice keyswitches, but the modern Cherry MX is also excellent. I would be hard pressed to pick a favorite between the two of them. The Cherries have a lighter touch and a little "snap", both of which I like.
- seanmcdirmid 12y agoI'm still going on a vintage Model M. Heavy touch, satisfying clank on each stroke.
- gcb0 12y agomodel m is overrrated amd loud. cherry stopped in time. alps lowered standards to fight off bad income. ...good switches help you feel the key and avoid bottom out. i personally like old complex alps, but everyone will like something different.
- hga 12y ago"good switches help you feel the key and avoid bottom out" To deal with bottoming out, using Cherry Blue switches, I've found that these red dampeners work very nicely: http://www.amazon.com/gp/product/B00AZQ3966/ http://www.amazon.com/gp/product/B00AZQ3966/ There are also thicker ones that have better stocking: http://www.amazon.com/Cherry-Rubber-O-Ring-Switch-Dampeners/dp/B00AZQ2OF8/ http://www.amazon.com/Cherry-Rubber-O-Ring-Switch-Dampeners/... and the same company has a nice key puller: www.amazon.com/gp/product/B00AZCGF7K/
- pnathan 12y agoWhat kind of systems today in the software development field are produced by experts for experts? The only ones I can think of are languages like C++ or Rust. Perhaps emacs and vi...
- catenate 12y agoI use Inferno to develop software, as a virtual OS over top of Linux or Windows. Its community doesn't see any value in writing software just to make it easy to use for newbies. It is still actively maintained, with new changes from Plan 9 development. There are even some new software tools developed in it (eg, I wrote a build tool). Maybe this qualifies?
- madengr 12y ago"It was also grounded in the believe that software development is best done by small groups of very good software engineers working in a networked environment." Wow, what a quote. Now can we repeatedly beat that into management's head.
- wilfredhughes 12y agoI'd love to play with a Lisp Machine. I live in London, UK, so sadly I can't see any way of using one (either a physical device or a VM). There are pirate copies, but I don't want to go that route. What lisp machine articles often miss is contrast to other related projects. Complete introspectable systems: How does the experience compare with using Pharo Smalltalk today? Sure, it doesn't provide a kernel, but it's a pretty complete* system that's very reflective and open to modification. Running a lisp userland: There are Common Lisp replacements for Emacs, CL window managers, and one or two Lisp Machine style GUI libraries (CLIM). However, most Lispers seem to be happy using other WMs and Emacs. Do the CL applications miss something that the Lisp Machine environment provided, or were the alternatives more compelling somehow? Other Lisp Machines: The MIT CADR is open source and available online[1]. Lisp Machine articles seem to focus on Symbolics software, what is that the CADR lacks? rms allegedly reimplemented many Symbolics features on MIT Lisp machines. I'm often struck by how many Lisp Machine features have been implemented on other systems (e.g. CLIM, versioned file systems) yet haven't gained many users. There must be stories here. 1: http://www.unlambda.com/cadr/ http://www.unlambda.com/cadr/ *: Of the developers I've met, Emacs hackers seem to live in Emacs more than Smalltalkers in their image. For example, there are multiple Emacs twitter packages, but I've not seen any applications (only libraries) for tweeting from inside a Smalltalk image. I'm not sure what this says about the respective environments.
- rjsw 12y agoThere is also an emulator for the TI Explorer [1] that maybe gives more of the feel of using the development environment. I still hope to be able to run the final version of the LMI software environment on the CADR emulator but haven't had much time to work on it recently. 1: http://www.unlambda.com/index.php?n=Main.Meroko http://www.unlambda.com/index.php?n=Main.Meroko
- lispm 12y ago> How does the experience compare with using Pharo Smalltalk today? Genera is a full operating system running directly on Lisp Machine hardware. A CPU which runs a stack machine. The network code goes down to the packets and the Ethernet card driver. > There are Common Lisp replacements for Emacs, CL window managers, and one or two Lisp Machine style GUI libraries (CLIM). A few thousand developer years is the difference. Sophistication. Polishing. Applications. > rms allegedly reimplemented many Symbolics features on MIT Lisp machines. He didn't. He tried to help LMI, but stopped soon. Symbolics, LMI and then TI developed a lot of more software. Much more. > I'm often struck by how many Lisp Machine features have been implemented on other systems (e.g. CLIM, versioned file systems) yet haven't gained many users. There must be stories here. Versioned file systems existed before and after Lisp Machines. For example DEC's VMS had a versioned file system. CLIM was the attempt to develop a portable standardized version of the GUI library of Symbolics. It failed to gain real traction: too different, not very polished, everybody had already a different GUI toolkit, ... Here is an example of using a high-end Lisp machine application for 3d graphics: https://www.youtube.com/watch?v=8RSQ6gATnQU https://www.youtube.com/watch?v=8RSQ6gATnQU https://www.youtube.com/watch?v=6VmJVNYfxDc https://www.youtube.com/watch?v=6VmJVNYfxDc