Refurb weekend: the Symbolics MacIvory Lisp machine I have hated
oldvcr.blogspot.com
oldvcr.blogspot.com
> Portable Genera, an official port of the VLM to Intel and ARM done under contract for existing customers. While this version isn't publicly available as of this writing, it's still actively developed.
Wilder is that the MIT Lisp Machine branch is also being actively developed, and it has a clear legal situation today. To the point that there are several (simulated) CADR's on the Chaosnet talking to each other over the Internet. :-)
See: Rolex watches, Bugatti cars, Chanel clothes, etc.
My evil plan would be to go on for other types of incredibly rare hardware that could run in emulation while the physical interface with the human can be replicated with reasonable accuracy with modern technology.
A PC keyboard is not ideal for a Xerox Star, or a Symbolics, but is quite fine for an Amiga, Atari ST or Archimedes
Anyway, yes, small-batch artisanal handmade keyboards cost a lot of money.
> Build quality has diminishing returns.
Of course it does. But the point where the gradient tilts might surprise you.
I have tried a Unicomp modern replica of an IBM Model M. It was not a very nice keyboard, IMHO. It felt and sounded cheap and plasticky, with poor quality mouldings, rough edges, and so on.
This was a $150 replica device. It did not feel like hundred-and-fifty buck hardware. It felt a bit cheap and nasty.
(The owner told me it died not that long afterwards.)
This is the problem: proper quality kit costs, even if it's a modern reproduction of a mass-produced item from 30-40 years ago.
I agree: it's a ridiculously expensive keyboard. But the cheaper repro I tried disappointed me badly.
In any case, the layout is more important than key feel (unless it's absolutely terrible) - for many machines you NEED those keys and, if they are in the same positions than they used to be, the experience is a lot better.
I contacted the company. Turns out their address was within half an hour's walk from my old apartment in Prague. I thought I could at least try one.
Nope. It's just a mailing address. Actually they are in a remote part of the country, at least 3-4 hours' travel away.
I've been meaning to write a blog post about it but I'm still finishing shakedown (currently chasing a wiring problem that messes up multi-key chords on the homerow)
The conclusion I drew after researching the subject and talking to people was it's not viable unless you're planning to turn it into an actual product and sell large numbers later on. Looks like the manufacturers are assuming you'll follow up with large orders.
But then you want the keycaps, and each special keyboard has its own set .. double injection moulds are expensive unless you do a large batch.
I know very little about keyboards (not much beyond reading a matrix, which is something I did once, 30+ years ago), but I’m in.
I would imagine by now there would be a KiCAD wizard that would generate a standard keyboard with extra rows and columns if needed and all customisation would be dragging the switch footprints to their positions for the non 1:1 keys.
Keycaps can be blank, laser eroded and resin filled, dye sub, or any other technique.
By compromise on accuracy I just mean they won't be the chunky doubleshot ABS keycaps like the originals. You can definitely still make something that looks nice and has the symbols you'd want.
Around 2001, AMEX fraud detection system was still developed on Genera, then OpenGenera running on Alpha workstations, but for deployment it was compiled using Franz's Allegro Common Lisp to run on "normal" servers.
About 2014-2015? I remember seeing more than 100k USD in publicly visible support contracts for US federal agencies related to Symbolics systems, which might have been related to the part stock and repairs done by symbolics remnant mentioned in the article - I know for certain that repair work continued to happen until at least 2018 (I talked with one of the people doing the repairs on contract).
There does seem to be a small residual market, enough to support a little pro work. "Who" and "where" might be confidential, but "how big" and "why" or "what" could be fascinating.
I would love to know more about those.
These recursive acronyms are causing a stack overflow in my brain.
Very well played.
That said, high school was a long time ago, so I might be way off :)
You had special key sequences so you could even hard reboot the machine if it got stuck. Both the CADR and Lambda have simulators that work very well and are Free Software.
You won’t be missing out much by using a simulator. :-)
Most University labs had a machine room where the Symbolics machines (if they had those) were standing (large, too noisy fans, drawing 1 kw or more electricity, ...). Cables for the console (1 Megapixel b/w screen, keyboard, mouse and digital audio) went from there into the offices. All one could hear were the clicks from the Symbolics mechanical keyboards.
The LMI and Explorer machines had some interesting hardware stuff. Too bad, that both companies left the business very early ...
Accelerators were available for the Symbolics machines, too. IIRC there were DSPs. Also an interface to the Pixar Image Computer and to Connection Machines. Or the FrameThrower, a programmable Framebuffer.
Symbolics also definitely had an edge in graphical processing, though I've seen mentions suggesting that for pure CAD works that didn't require high-definition video output Explorers sold quite well?
The XL400 and XL1200 were large & loud beasts. You would not want to have them near you.
> Symbolics also definitely had an edge in graphical processing, though I've seen mentions suggesting that for pure CAD works that didn't require high-definition video output Explorers sold quite well?
Symbolics was also widely used in HDTV quality productions.
For CAD work I have no idea how big the market was. But for example iCAD was probably one of the applications that were making new stuff possible via parametric CAD. Then there was CAD in electronics and chip design...
Unfortunately it seems like Explorer software is way less documented :/
"Recently the National Aeronautical and Space Administration (NASA) used Symbolics' high-definition technology to analyze HDTV video images of the Discovery launch in real-time. This high-definition system enabled NASA engineers to get an instant replay of critical launch systems. The engineers were able to enhance and enlarge high-resolution images of the lift-off in order to analyze the condition of and spot potential problems with space shuttle tiles."
I would NEVER imagine a graphical console that’s connected that way to a machine. This is why preserving these machines is so important - it’s hard to even know the tech we’d lose (and be doomed to reinvent) when the machines are lost to time.
[1] https://tumbleweed.nu/lm-3/
[2] https://metebalci.com/blog/cadr-lisp-machine-and-cadr-proces...
I'll try configuring a FreeBSD VM and see if I can get NFSv2 running there, then it's just the trick of figuring out how to make the Genera VM talk on my actual network instead of just that tap...
For integration of some of the network details, you need NIS (aka Yellow Pages).
The big issue is X11, because around X.Org R7 they have made changes that result in hangs of the Genera X11 client in certain conditions, including IIRC handling of modifier keys - and crucially it will hang on shutting down the machine (for example to save new image).
There are patches for everything other than NIS (and you can avoid using NIS), but you have to hunt for them. AFAIK they are included as part of Portable Genera.
Also if you can recommend me a userland NFSv2 server I'll give that a shot too.
As for patched systems, I know I have seen places which had patched images to load from, but there's non-trivial chance that they are slightly bitrotted.
One place is here http://www.jachemich.de/vlm/genera.html
Of course, Portable Genera has official patches for the issues involved.
I would love to hear more about this. I have a friend whose mother-in-law was involved in a startup that was selling software for LISP Machines back in the day. She's told me a little about it but I am seeing if I can get more info.
Would you be willing to keep me in the loop if you ever do get around to writing a book? Email is: accounts5 [at] [HN username, minus g].com
One of the interesting "what could have been" moments of computing history is Apple's exploration of Lisp in the late 1980s and during the first half of the 1990s. Such projects include:
- Apple's original plans for the Newton, which included an OS written in Lisp.
- The Dylan programming language, which I've heard can be thought of as Scheme with the Common Lisp Object System. Dylan was originally designed to be the official language used to develop Newton apps. Originally Dylan had an S-expression syntax, but this was changed to a more Algol-like syntax due to the prevailing opinion among many that an Algol-like syntax would be easier for C/Pascal/C++ programmers to adopt. However, the Newton ended up using a C++-based operating system, and NewtonScript, which wasn't based on a Lisp, was created as the language for developing Newton apps.
- SK8 (https://en.wikipedia.org/wiki/SK8_(programming_language) ), which was dubbed "HyperCard on steroids," was written in Common Lisp.
In an alternate timeline, we could've been using Apple devices built on a Lisp foundation. This is probably the closest we've gotten to Lisp machines on the desktop, as opposed to specialized AI workstations that cost five figures in 1980s dollars.
Then again, things worked out well for Apple after the NeXT purchase. The OpenStep API (which became Cocoa) and Objective-C was (and still is) solid infrastructure than can be thought of as a "pragmatic Smalltalk" desktop, though in recent years I feel Apple has been moving on from NeXT influences and is doing its own thing now with Swift.
They can be forgiven, at the time. Now we have evidence that thinking is wrong. Today we have half of everyone and their dog, as Web programmers, using a syntax originally chosen by very technical systems programmers. (Bell Labs researchers -> C -> Oak -> Java -> JavaScript.)
Almost no Web developers are systems programmers, and this is just a poor syntax for the work, and needlessly cryptic, but they can pick up even this bad syntax just fine.
Now we know that, whether you use curly braces, parentheses, whitespace, or something else is not the barrier to learning a programming language. It's one of the most absolutely trivial things about it to learn.
Knowing this, the next time I hear someone say "We can't use this syntax, because it will just totally break people's brains, even though the higher grammar, semantics, libraries, domain frameworks, and everything else are different anyway, and are orders of magnitude harder to learn, we need to make it look superficially like something it's not, because people are full of poo"... I'm ready to appropriate the Lily Allen song: https://www.youtube.com/watch?v=KUHqFhnen0U
It seems like Javascript inherits more directly from lisp than any of the other languages mentioned, except for the syntax. As a result Javascript is a lisp without macros, which is a sad concept. (In this sense, I very much agree with you.)
But for people new to the craft, syntax matters: Chris Okasaki found that the one thing that helped students get over the hump and really start to understand scopes and blocks was significant whitespace.
Strangely enough, they found that Lisp syntax was easier to pick up, because it was simpler. (In general, the first word in the parentheses tells you what to do with the rest. Not other punctuation to remember, precedence parsing rules, etc.)
We're usually not developing languages for people with zero experience, but if someone wants to twist my arm to use Lisp syntax...
But today, all of those excuses have been long gone for a long time.
Clojure is as mainstream and box checking as you can get, much less all of the other zillion projects out there.
And yet.
No great renaissance. Still talked about in hushed tones. "Only those snobby hacker guys use that."
And what single thing has remained and controversial about Lisps?
The syntax.
JavaScript demonstrated that a dynamic language with garbage collection, closures, and functional elements, and native data structures, can be used for everything from web pages to enterprise backends. Many of the things folks complained about in Lisp environments, JavaScript "suffers" from as well.
I know I'm not completely on top of things, but I think JavaScript has been reasonably successful and gained some popularity.
And behold, of all the things it does not share with Lisps: the syntax.
I'm reasonably confident if the hackers at Netscape came out with "S-Script" for their browser, it would be a historical curiosity. As desperate as people were to get scripting in browsers, they would have likely stuck with Explorer, VBA, and everything would be in a VBA clone today.
S-expressions have had their chance, and the wisdom of the crowds have not bought into them.
On a more serious note, anecdotes are not data, correlation has to be proven. Lisps may not be popular (a fate they share with most c-syntax language without corporate money) but also absolutely un-dead at that point. I am fine with it. In fact, as someone who earns good money with mostly JS, I couldn’t care less, I wouldn’t touch JS with a stick for my personal projects.
The C++ like syntax was a kind of honey trap for C++ devs, the actual runtime and language semantics are closer those from Smalltalk/Objective-C, hence why Strongtalk and SELF JIT research did fit so well into Hotspot.
One day the world of computing will realise the mistakes it made and having at least maps of the forks in the road that it didn't take will help it to find its way out of the jungle.
I’m pretty sure by the time I got Sk8 it was download only.
Thanks!
Did this not cripple macros?
That one to two year delay absolutely destroyed any momentum Dylan could have had, and also made implementation of a Dylan-compatible language much more (needlessly) complex for a perceived benefit that never materialized.
Instead of being able to focus on implementing optimizations, tools, and frameworks, everyone trying to participate in the Dylan ecosystem had to spend that time on syntax bullshit instead, and still do. It really pains me that the other Dylan ecosystem players didn't immediately drop the Algol-style syntax for the much simpler Lisp-style one when Apple dropped Dylan, and to this day OpenDylan uses the infix syntax.