Log in

No account? Create an account
Forth Machine - Luke's Weblog [entries|archive|friends|userinfo]
Luke Gorrie

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Forth Machine [Jul. 22nd, 2007|10:26 am]
Luke Gorrie

This XO is one hell of a machine :-)

If you press the appropriate key during boot you drop into a Forth shell within the Open Firmware boot loader. The Forth system is easy to learn enough to poke around with.

The coolest demo is test-all to put the hardware through its paces. Here you see the video camera in action, talk into the microphone and hear it playback, scan all wireless access points in the area, and more.. all done with a tiny-winy bit of Forth code and no operating system!

How can it be so? Well you can find out with introspection: see test-all beautifully decompiles and pretty-prints the function. You can chase your way around the whole machine finding what hardware is inside and oogling its self-test routines to see how to tickle it. If you crash the machine you can be rebooted to the prompt in about five seconds and ready for more trouble.

This reminds me vividly of the good old days from 5-years-old when my C=64 would boot directly to a BASIC prompt (L..O..A..D...) up through hacking the Amiga in ASMONE as a teenager. That was really all I needed to be productive in life and the XO seems way cooler, even before booting the operating system :-)

What lucky kids :-)


From: ext_52574
2007-07-22 09:34 am (UTC)

Have you left Sweden yet and if so where are you now ?

Cheers, Tobbe
(Reply) (Thread)
[User Picture]From: lukego
2007-07-22 09:41 am (UTC)
Explain at Erlounge on tuesday :-)
(Reply) (Parent) (Thread)
[User Picture]From: alogic
2007-07-22 11:20 am (UTC)
I want this device!
(Reply) (Thread)
[User Picture]From: leon03
2007-07-22 07:00 pm (UTC)
PPC-based Macintoshes use Open Firmware, though I haven't messed around with it much. For whatever reason, Apple decided to get rid of Open Firmware when they moved to Intel.
(Reply) (Thread)
[User Picture]From: graydon
2007-07-22 08:32 pm (UTC)
IMO it would be even better if they machine started and stayed at the text prompt. At least until you enter a few words to start a GUI. Perhaps that's too much of a long shot though.

GUIs are just too easy to mistake for magic. I'm convinced that the early experience of a young kid sitting at an early machine and knowing that the machine processed words before anything else, was very important in producing a generation of programmers. At the risk of sounding like a coot: "kids today" all know how to use computers, more than any of my colleagues ever did, but they're completely hopeless at -- or uninterested in -- imagining how they work.
(Reply) (Thread)
[User Picture]From: lukego
2007-07-22 09:44 pm (UTC)
I think I agree.

My first computer experience from age 5 was always having to type LOAD "*",8,1 to load my games. This lead naturally into small impatient experiments (e.g. is it OK to leave off ,1? yes, so what did it mean? etc).

Maybe this explains why I dislike XDM/GDM and prefer to always type 'startx' on each boot. :-)

Now I'm curious to know what the computer experience would be for guys like me and you who are born later, e.g. around 1990. I think that I've been the youngest programmer in every group I've ever worked with so I actually don't know.

How was your entry into the programming game, btw?
(Reply) (Parent) (Thread)
[User Picture]From: graydon
2007-07-23 04:02 am (UTC)
First machine when I was 4 or 5: my dad brought home a ZX81. Cassette tape, ROM BASIC. Didn't know how to "program" then but played games and punched words into it.

Later a borrowed PET from my dad's school, then my school got Apple IIs (where we were very briefly toted off to logo lessons every week), and since TRON was in the theaters around then I was actually thinking it might be cool to turn out as a programmer. I did a class project on programming languages (that I think consisted of learning what the abbreviations "BASIC", "COBOL", "FORTRAN" and "LISP" meant). Home eventually acquired a C64, which I did a little summer camp on for programming before getting a modem and a stack of pirated games.

By then it all turned to games and BBSing for 7 or 8 years though. Fido and eventually usenet. Didn't get back into programming until the 2nd Amiga (ARexx) and finally only took to it "for real" when I switched to a 386 with Coherent, thus C, live internet, MUDs, perl, etc.
(Reply) (Parent) (Thread)
[User Picture]From: pufpuf
2007-07-23 08:34 am (UTC)
it's like sun (microsystems) :)
(Reply) (Thread)