14 comments

[ 3.6 ms ] story [ 43.4 ms ] thread
This looks awesome but I feel like it would get old really fast writing any amount of code on that tiny keyboard. Somehow doesn't stop me from wanting one though.
Typing on the keyboard is surprisingly fun.

For larger programs you can interact with the Lisp Badge via a serial console. Here's a setup for using Emacs's built-in serial support. This makes programming the Lisp Badge very similar to working in SLIME, with an on-target REPL and the ability to evaluate code fragments onto the target:

http://forum.ulisp.com/t/emacs-for-programming/236/13

I used that mode to port Emacs's Tetris to the Lisp Badge:

http://forum.ulisp.com/t/tetris-on-the-lisp-badge/945

After (save-image) and unplugging from serial, I had a portable Lisp-hackable handheld gaming system. I made small tweaks to the game code -- like new cheat modes or modified sound effects -- with the built-in keyboard.

It's hard to tell but it looks like they have open- and close-parenthesis on the base (un-shifted) layer, which is awesome.

That always puzzled me about the Space Cadet on the Symbolics Lisp Machines... you designed a machine from scratch that is ostensibly intended to be used and programmed with an awful lot of lisp code, but you expect the programmer to hit Shift+0 and Shift+9 each time they want a paren? C'mon.

Anyways this looks awesome; wish I had a use case for it.

The Symbolics Space Cadet keyboard had dedicated paren keys:

http://xahlee.info/kbd/space-cadet_keyboard.html

Here's the rumor I heard from Gumby about why it was designed that way:

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

DonHopkins on July 29, 2016 | parent | context | favorite | on: Unexecute

The Lisp Machine keyboard had dedicated open and close parenthesis keys, so you could hold a hefty bag of nitrous oxide in your other hand while you typed s-expressions.

qwertyuiop924 on July 29, 2016 [–]

Wait, what are you doing with that nitrous oxoide? Should I start worrying?

DonHopkins on July 29, 2016 | parent [–]

Reflecting on the S-expressions I just typed!

qwertyuiop924 on July 29, 2016 | root | parent [–]

Well, when you're done with the nitrous oxide, just toss whatever you wrote into the obfuscated code contest.

DonHopkins on July 29, 2016 | root | parent [–]

There's a reason the paren keys had really fast auto-repeat!

Edit by way of reply since the edit window is closed:

I apparently have seen pics of what I thought was the symbolics space cadet but apparently it's some other keyboard with parens on 0 and 9.

My bad.

The MIT Lisp Machine keyboard and also the Symbolics keyboard(s) had parentheses on shift-9 and shift-0. They also had unshifted parentheses a row below, right next to the P.
Interesting, on AZERTY (french) keyboards, parentheses are unshifted. They are on 5 and on ° (the key just right of 0). On the other hand, { is on alt gr on 4, [ on alt gr on 5, ] on alt gr ° and } on alt gr + (right of °). I wonder if it influences the programming languages that people prefer, even just a bit. Or maybe the style? Unshifted parenthesis makes function call easier for example.
I know it sounds silly, but one of the things that I particularly like about Lisp is the lack of the shift key. Notably, you can use identifiers-like-this. Yea, I haven't made the plunge to move () off the shift key, but I barely notice it compared to having to alwaysTypeLikeThis or type_like_this.

The keyboard fatigue adds up, and it's just an intangible I like about the language.

The original Lisp badge (or rather, SCHEME badge):

Design of LISP-Based Processors or, SCHEME: A Dielectric LISP or, Finite Memories Considered Harmful or, LAMBDA: The Ultimate Opcode, by Guy Lewis Steele Jr. and Gerald Jay Sussman, (about their hardware project for Lynn Conway's groundbreaking 1978 MIT VLSI System Design Course) (1979) [pdf] (dspace.mit.edu)

http://dspace.mit.edu/bitstream/handle/1721.1/5731/AIM-514.p...

HN discussion (excerpted with updated archive.org links):

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

gavinpc quoted Alan Kay from this video:

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

gavinpc on Jan 9, 2015 | next [–]

Here is Alan Kay from a talk that was just on HN today.

https://www.youtube.com/watch?v=ubaX1Smg6pY&t=8m9s

    The amount of complication can be hundreds of times more than the
    complexity, maybe thousands of times more.  This is why appealing to
    personal computing is, I think, a good ploy in a talk like this because
    surely we don't think there's 120 million lines of code—of *content* in
    Microsoft's Windows — surely not — or in Microsoft Office.  It's just
    incomprehensible.
    
    And just speaking from the perspective of Xerox Parc where we had to do this
    the first time with a much smaller group — and, it's true there's more stuff
    today — but back then, we were able to do the operating system, the
    programming language, the application, and the user interface in about ten
    thousand lines of code.
    
    Now, it's true that we were able to build our own computers.  That makes a
    huge difference, because we didn't have to do the kind of optimization that
    people do today because we've got things back-asswards today.  We let Intel
    make processors that may or may not be good for anything, and then the
    programmer's job is to make Intel look good by making code that will
    actually somehow run on it.  And if you think about that, it couldn't be
    stupider.  It's completely backwards.  What you really want to do is to
    define your software system *first* — define it in the way that makes it the
    most runnable, most comprehensible — and then you want be able to build
    whatever hardware is needed, and build it in a timely fashion to run that
    software.

    And of course that's possible today with FPGA's; it was possible in the 70's
    at Xerox Parc with microcode.  The problem in between is, when we were doing
    this stuff at Parc, we went to Intel and Motorola and pleading with them to
    put forms of microcode into the chips to allow customization and function
    for the different kinds of languages that were going to have to run on the
    chips, and they said, What do you mean?  What are you talking about?
    Because it never occurred to them.  It still hasn't.
https://news.ycombinator.com/item?id=8860722

DonHopkins on Jan 9, 2015 | prev | next [–]

I believe this is about the Lisp Microprocessor that Guy Steele created in Lynn Conway's groundbreaking 1978 MIT VLSI System Design Course:

https://web.archive.org/web/20210131033223/http://ai.eecs.um...

My...

Being able to only upvote you once feels so little.

Many thanks to sharing this information with us.