If an XForms browser was relatively small and easy to install, then IT departments may be willing to install one. Or, make it a pluggin, similar to Flash (which also has a forms technology of its own, I would note.) There is actually an XForms implementation done in Flash, under development at DENG.
So yes, while it might be easier to format the forms, and you have easier client side actions and validation, you cannot really trust the information when it arrives at the server. All the same validation must be performed again.
That's exactly the point of XForms. It allows you to specify validation in a declarative fashion, using XML Schema and simple XPath expressions. These same validation declarations can be used on the server side, and indeed, can be programmaticaly derived from existing constraints.
Some folks may be using Relax NG on the server side, instead of XML Schema. While XForms 1.0 doesn't provide for RNG (Relax NG) Schema validation, it doesn't require very much change to the standard to do so, and I fully expect that it will be present in both the standard and implementations, precisely because of the point you are making: client-side validation that has to be hand recoded from the native server-side declaration (e.g. into crashy JavaScript) isn't much use.
I would like to hack my DirecTivo, but the only thing I can find is a hack where you take out the disk, install an old image on it (which btw I hear Tivo has forced sites to remove), boot up, patch it, and then install the later image, patch it, and the install TivoWeb. I would be willing to do this -- I hacked the I-Opener and the Audrey -- but the Tivo needs sofyware updates (the season pass manager was added in one) and you have to redo all that if you do. So "uterly unhackable" was an overstatement.
(what open-source anything ever is truly complete, tested, and waranteed). After six months of futzing with Freevo I finally gave up and got TiVO for $4.95 with a new satellite installation from Value Electronics, which came with free installation, oddly enough done by Vladimir of Sputnik TV.
The DirecTiVO pretty much works like it's supposed to, but it's utterly non-hackable, and contrary to your implication that it's completed and tested, I find that about twice a month it goes into a bad skip / synch mode and stops responding to menus for minutes at a time, fails to record large sections of TV, and eventually I have to pull the plug (and re-apply the one hack that works).
So while I'd love to have an open-source solution that works (and maybe this Knoppix+MythTV is it), I'd also love to have a commercial solution that works. Neither is perfect though.
> New technologies take time to get established. Obvious but true. Think of how long it took for video rental stores to get a DVD section. There's a difference: DVD's work.
When I got to the MIT AI lab in 1979, the Escape E button to call the elevator and the Escape D button to buzz the door were a little old and needed repair. There was no TCP implemented, only its predecessor NCP, and there was a HOSTS file, not DNS.
congratulations, you've found a bug. *hang* We found that kids tended to freak when the computer did something really unexpected, so rewarding them with a "congratulations" made it softer.
In the Apple II implementation, it then printed out a string asking you to report what you were doing, do a hex dump, and send in a postcard. That was helpful in the early days, and I found and fixed a GC crash that way (something that never got fixed in Krell Logo, an MIT licensee, but they continued to promote their product as "exactly equivalent to Terrapin Logo except for cost" and C*nsumer Rep*rts believed them). Plus, it gave the kids a feeling they were helping us out when they were in an undoubtedly helpless situation. My favorite postcard had explaination "This was in using Logo with first-graders."
For the C64 version, there was no debugger as on the Apple II, and so nothing much to do after printing the message...
Waitaminit, Logo was written in LISP??? Logo and Lisp are internally similar, but Logo has an infix syntax.
Are you also the guy who wrote the book? Logo was my first non-BASIC programming language, I was about 12 then. I wrote the technical documentation and some parts of the manual, but the main work was done by Virginia Grammer and Paul Goldenberg and edited by Mark Eckenwiler. See the scans for other people's names. I've put some scans of the 264 (uh, Plus-4) at http://graflex.org/klotz/logo and will put more stuff there as I get time. The page numbers on the 264 title page are errata, probably fixed by publication time.
They were going to call it the Plus/4 (for the four applications in the ROM) but they couldn't get a trademark because of the "plus 4" knickers, which are an extra 4 inches long.
I wrote Logo for the Commodore-64 (and incidentally the Commodore 264 -- 50,000 ROM cartridges sitting in a warehouse) and the very short-lived Commodore-16, based on work we did at the MIT Logo laboratory for the Apple II and others. I needed a lot of page 0 registers, and had no need for basic, but I did need the disk to work, so I got on a plane and went to King of Prussia, PA and met with some nice folks at Commodore, and they gave me ROM listings on green paper, and I carefully checked each address to see if it was used.
They brought in the 3 guys who developed the SID and VIC chips and let us ask them questions, but wouldn't tell us their names, for fear of poaching. It was kinda humerous.
When I later had trouble debugging some interrupt routines, they made a special 6510 chip for me, since they owned the fab MOS Techology that made the chips (the 6510 is a 6502 with 8-bit IO at location 0 and 1, which was a big pain for Logo since we used to be carefree about taking CAR and CDR of NIL internally...took me a month to root those out). The special chip had an extra pin that said whether the chip was fetching I or D, and then we bought a Nicolet-Paratronics 16-channel logic analyzer, and Commodore supplied us with a PET and a Basic program to run it. You clipped the logic analyzer onto the chip, ran the PET program, and said for example "Start looking when location 64 is written". The cool thing was that since the logic analyzer was always watching the data, and the PET did the analysis, you could set a breakpoint up to something like 256 instructions before your condition happened. That was the world's coolest debugger (and I've used them all from, ITS HACTRN to Lisp Machines to Scheme).
We asked for a feature to be put in the VIC chip to let you do splitscreen graphics/text mode, kinda like in the Apple II. The VIC guy said it could be done with an interrupt routine. I told him I didn't want any screen jitter, and he assured me it would work fine. It did, except in "doublecolor" mode, and the boundary between the two modes shifted. So I hacked around it a bit with some NOPS and got it mostly stable, and did what any normal programmer would do: I documented it as a feature, and called it the "Doublecolor Status Line" in the index and said, "This is normal and should be no cause for concern."
There was also a ".OPTION" command that was a controlled equivalent to PEEK and POKE described elsewhere in Basic, and it let me put in hack features that were cheap to add. So.OPTION "FORWARD 1 would let you control the line algorithm, that kind of thing (not sure if that made it into the release.) I documented it with a quote from The Firesign Theatre's "I Think We're All Bozos On This Bus:" "Sometimes the options controlled by.OPTION are only loosely related to the primtives used, but there they are," which was inspired by "Living in the future is a little like having bees in your head, but there they are." The French translation of the manual was particularly amuzing!
Get yourself a cellular repeater (about $700) and install it in your house. You indicate that Cingular is fine outside the house, then a repeater would make it fine inside the house.
I bought the one from CellAntenna.com for $499 and it works quite well with my hiptop. I'm 1300m from the T-Mobile/Cingular tower, but I got no coverage inside except in certain spots; and now with it in I get great coverage in two rooms and OK in a third, at least good enough for GPRS. I'm considering upgrading the indoor antenna to one with 5dBd gain for $49, and also getting on my roof with a ladder to raise the antenna up higher on my TV pole, to get above the neighbor's hedges.
Plus the ATT tower is in the same location, so my ATTWS friends who come over report better signal too.
I'm starting a company to sell pieces of sticy tape to put on jewel cases. If anybody removes the tape to open the jewel case with the intent to copy the CD, I'll sue them.
And don't reply to me with any confounded ideas about how to remove sticky tape from jewel cases or I'll sue you too.
That ought to be worth at least -- one million dollars.
Last weekend I got a call from Comcast offering me Cable Internet service for an introductory rate of $21.95/mo. I asked how fast and the telecaller said, "Six hundred and thirty five gigabytes." I said, "Per month? Per hour? Per second?" She said, "Per second, sir."
I asked, "Can I run servers?" She said, "Yes sir!" I said, "On port 80 and port 25?" She said, "On all ports, sir."
I said, "Before I sign up I'd like to speak to your supervisor to confirm this great deal."
Sadly, the deal evaporated when I got to speak the the sympathiser, but she was interested in what I wanted. I told her I had 1Mb/1Mb symmetric access and static 8 IP addresses, and she asked what they could do to get me to move to Comcast Cable Internet service. I suggested perhaps symmetric service 1.5Mb/1.5Mb would be nice, or perhaps 3Mb down and a portable Class C netblock to do multi-homing with my current 1Mb SDSL uplink. She wrote it all down and said she'd pass my request along.
I'm still smarting at the lose of the 635GB/sec downlink for $21.95/mo though!
Around October '99, there was a tiring spate of Y2K messages of increasing stridency. After one particularly annoying message about Microsoft Offfice, I sent a message purportedly from the updates office to my local group, stating that "it has come to our attention that many of you have Office Calendars that are not Y2KCompliant, and expire on December 31, 1999. Please take steps to upgrade your Office Calendar to one that is Y2K compliant. Office Calendars are available in the office supplies room, or at local stationery and supply stores." I had some other text about failure to comply, inspections, etc. The only person who caught the hoax was a guy who authored many IETF RFC's on mail. The other people just assumed it was more hysteria.
Back in the 1980's the MIT Lisp Machines had a generalized time parser calle time:date. When a date was needed, it parsed a generaldate. I set the INQUIR database for a co-worker to say his birthday was the string "today"so every time he logged in, it said, "Happy Birthday, Ed." It took him three years to find it.
Why were you using EMACSfrom the console? In those days, most people had a Decwriter for a console...
On prep, the console was a vt100. It was on top of prep. I was using Emacs to edit a file, probably. My office was on the 4th floor and prep was on the 7th. Once or twice I also kinda leaned on prep while typing and hit the red button too.
He was talking about not wanting a Vax 780 or probably even a 750, which was what ARPA had declared to be the standard ARPA grant platform.
For years, the GNU project ran on a Vax 750 called "prep.ai.mit.edu", but it was at MIT on the 7th floor of Tech Square, not in RMS's house (which burned down, by the way). Quite a few times I crashed prep by using the vt100 on top of it and typing ^P in Unix EMACS (as opposed to ITS EMACS on the PDP-10). ^P takes you to the machine boot ROM on a Vax -- equivalent to taking you to the BIOS immediately on an Intel PC.
It was a while before I figured out how to recover and continue running Unix. So I probably lost the GNU project a few files due to fsck lossage...
I assume that your subject line is intended to imply that RPN order is unnatural for humans.
It's amusing, though, because the word order you chose is almost exactly what Japanese uses.
So your point is culturally relative, not universal.
I;RPN;a silly;UI;archaic;and;is;humans;for;think
watakushi wa;RPN ga;ningen no tame ni;okashii;UI;de;furui;to omou
All I had to do was add the particles in italics (wa=topic, ga=subject, ni=for, to=quote, no = of) and move "for [sake of] humans" a little earlier in the sentence.
It's really only very slightly awkward sounding. A native speaker would probably have said "okashikute furui" (funny 'n' old) but I chose to keep your separation.
It also sounds a little presumptious, though, with the topic marker being the speaker; a native would probably have put the "I" nearer the verb at the end, to de-emphasize it, but I again tried to retain your tone.
When the HP-28 first came out, I worked for Hal Abelson and Gerry Sussman. They were quite pleased with it because it had the lambda operator, and sent back some suggestions to HP about how to implement lexical closures (as in Scheme and other languages). HP took their advice in subsequent versions. The RPN function language that the 28 and its successors use is very much like Scheme, but with RPN instead of prefix notation.
See here. These were the keyboards that provided Control and Meta in EMACS, as you can see in the four keys at the bottom.
SAIL (Stanford AI Lab) and the MIT AI Lab both had them, and the displays were 512x512 pixel green-screen displays that were bitmapped frame buffers on a PDP-11, built out of the first Intel 1Kbit semiconductor memory, attached to MIT and SAIL's respective PDP-10s.
I believe the MIT keyboards were slightly different but I can't find a picture of them, just the SAIL version. The keys felt really luxurious. I'm pretty sure the space bar was bigger. The ESC (27) key looked like a little diamond, and the big roundish key in the top left was labeled "ESCAPE" but was a key that went straight to the PDP-11 -- at MIT you could call the elevator to the 8th or 9th floor with ESCAPE E, buzz the 9th-floor door with ESCAPE D, look at a FINGER display of MIT AI with ESCAPE F, or look at someone else's buffer (there were 16, minus one for finger) with ESCAPE n F. The CALL button in the upper right was also for the PDP-11 and you pressed that to attempt to get a frame buffer. Often during the day we couldn't get one, so we had to work at night. The PDP-10 was faster at night anyway...
Does it sync itself to my PC so I don't lose all my data if I lose the device? Yes, it syncs to their back-end service and you can access the data through a browser. Other access is coming (http, sync).
My favorite bug followed me from one system to the next!
I was writing Logo for the 512K Macintosh. The only programming environment supported for the Mac in 1984 and 1985 was Pascal on the Lisa, but we wrote our code in C on a 68000 running Unix and cross-compiled to the Mac using the SUMEX PCC compiler.
Anyway, I was changing something in the garbage collector, compiled on the 68000 running Unix, and got an assembler error that was something like this:
00800: #,1,$,g,a,q:2 Illegal Instruction
It was really weird -- I had no idea how the compiler could output an illinst. I narrowed it down to this line: marked = 0x80000000 & addr;
I turned to a different computer, the Logo interpreter running on the Mac 512 behind me, and typed 2^31 and it printed out Result: #,1,$,g,a,q:2
At this point I ran screaming down the hall.
When I came back, I looked at the source for PCC itoa() (if anybody still has this you can reproduce it and tell me the exact string) and it had if (value which of course fails on -2147483648. But the failure mode was pretty spectacular.
The Logo on the Mac had the same bug because it was running the SUMEX libc, which of course had the same bug.
I ust patched it with if (i == 0x80000000) return "-2147483648";
If an XForms browser was relatively small and easy to install, then IT departments may be willing to install one. Or, make it a pluggin, similar to Flash (which also has a forms technology of its own, I would note.)
There is actually an XForms implementation done in Flash, under development at DENG.
So yes, while it might be easier to format the forms, and you have easier client side actions and validation, you cannot really trust the information when it arrives at the server. All the same validation must be performed again.
That's exactly the point of XForms. It allows you to specify validation in a declarative fashion, using XML Schema and simple XPath expressions. These same validation declarations can be used on the server side, and indeed, can be programmaticaly derived from existing constraints.
Some folks may be using Relax NG on the server side, instead of XML Schema. While XForms 1.0 doesn't provide for RNG (Relax NG) Schema validation, it doesn't require very much change to the standard to do so, and I fully expect that it will be present in both the standard and implementations, precisely because of the point you are making: client-side validation that has to be hand recoded from the native server-side declaration (e.g. into crashy JavaScript) isn't much use.
I would like to hack my DirecTivo, but the only thing I can find is a hack where you take out the disk, install an old image on it (which btw I hear Tivo has forced sites to remove), boot up, patch it, and then install the later image, patch it, and the install TivoWeb. I would be willing to do this -- I hacked the I-Opener and the Audrey -- but the Tivo needs sofyware updates (the season pass manager was added in one) and you have to redo all that if you do. So "uterly unhackable" was an overstatement.
Or am I wrong and there is a better way?
(what open-source anything ever is truly complete, tested, and waranteed).
After six months of futzing with Freevo I finally gave up and got TiVO for $4.95 with a new satellite installation from Value Electronics, which came with free installation, oddly enough done by Vladimir of Sputnik TV.
The DirecTiVO pretty much works like it's supposed to, but it's utterly non-hackable, and contrary to your implication that it's completed and tested, I find that about twice a month it goes into a bad skip / synch mode and stops responding to menus for minutes at a time, fails to record large sections of TV, and eventually I have to pull the plug (and re-apply the one hack that works).
So while I'd love to have an open-source solution that works (and maybe this Knoppix+MythTV is it), I'd also love to have a commercial solution that works. Neither is perfect though.
> New technologies take time to get established. Obvious but true. Think of how long it took for video rental stores to get a DVD section.
There's a difference: DVD's work.
When I got to the MIT AI lab in 1979, the Escape E button to call the elevator and the Escape D button to buzz the door were a little old and needed repair. There was no TCP implemented, only its predecessor NCP, and there was a HOSTS file, not DNS.
congratulations, you've found a bug. *hang*
We found that kids tended to freak when the computer did something really unexpected, so rewarding them with a "congratulations" made it softer.
In the Apple II implementation, it then printed out a string asking you to report what you were doing, do a hex dump, and send in a postcard. That was helpful in the early days, and I found and fixed a GC crash that way (something that never got fixed in Krell Logo, an MIT licensee, but they continued to promote their product as "exactly equivalent to Terrapin Logo except for cost" and C*nsumer Rep*rts believed them). Plus, it gave the kids a feeling they were helping us out when they were in an undoubtedly helpless situation. My favorite postcard had explaination "This was in using Logo with first-graders."
For the C64 version, there was no debugger as on the Apple II, and so nothing much to do after printing the message...
Waitaminit, Logo was written in LISP???
Logo and Lisp are internally similar, but Logo has an infix syntax.
Are you also the guy who wrote the book? Logo was my first non-BASIC programming language, I was about 12 then.
I wrote the technical documentation and some parts of the manual, but the main work was done by Virginia Grammer and Paul Goldenberg and edited by Mark Eckenwiler. See the scans for other people's names. I've put some scans of the 264 (uh, Plus-4) at http://graflex.org/klotz/logo and will put more stuff there as I get time. The page numbers on the 264 title page are errata, probably fixed by publication time.
They were going to call it the Plus/4 (for the four applications in the ROM) but they couldn't get a trademark because of the "plus 4" knickers, which are an extra 4 inches long.
I wrote Logo for the Commodore-64 (and incidentally the Commodore 264 -- 50,000 ROM cartridges sitting in a warehouse) and the very short-lived Commodore-16, based on work we did at the MIT Logo laboratory for the Apple II and others. I needed a lot of page 0 registers, and had no need for basic, but I did need the disk to work, so I got on a plane and went to King of Prussia, PA and met with some nice folks at Commodore, and they gave me ROM listings on green paper, and I carefully checked each address to see if it was used.
.OPTION "FORWARD 1 would let you control the line algorithm, that kind of thing (not sure if that made it into the release.) I documented it with a quote from The Firesign Theatre's "I Think We're All Bozos On This Bus:" "Sometimes the options controlled by .OPTION are only loosely related to the primtives used, but there they are," which was inspired by "Living in the future is a little like having bees in your head, but there they are." The French translation of the manual was particularly amuzing!
They brought in the 3 guys who developed the SID and VIC chips and let us ask them questions, but wouldn't tell us their names, for fear of poaching. It was kinda humerous.
When I later had trouble debugging some interrupt routines, they made a special 6510 chip for me, since they owned the fab MOS Techology that made the chips (the 6510 is a 6502 with 8-bit IO at location 0 and 1, which was a big pain for Logo since we used to be carefree about taking CAR and CDR of NIL internally...took me a month to root those out). The special chip had an extra pin that said whether the chip was fetching I or D, and then we bought a Nicolet-Paratronics 16-channel logic analyzer, and Commodore supplied us with a PET and a Basic program to run it. You clipped the logic analyzer onto the chip, ran the PET program, and said for example "Start looking when location 64 is written". The cool thing was that since the logic analyzer was always watching the data, and the PET did the analysis, you could set a breakpoint up to something like 256 instructions before your condition happened. That was the world's coolest debugger (and I've used them all from, ITS HACTRN to Lisp Machines to Scheme).
We asked for a feature to be put in the VIC chip to let you do splitscreen graphics/text mode, kinda like in the Apple II. The VIC guy said it could be done with an interrupt routine. I told him I didn't want any screen jitter, and he assured me it would work fine. It did, except in "doublecolor" mode, and the boundary between the two modes shifted. So I hacked around it a bit with some NOPS and got it mostly stable, and did what any normal programmer would do: I documented it as a feature, and called it the "Doublecolor Status Line" in the index and said, "This is normal and should be no cause for concern."
There was also a ".OPTION" command that was a controlled equivalent to PEEK and POKE described elsewhere in Basic, and it let me put in hack features that were cheap to add. So
Get yourself a cellular repeater (about $700) and install it in your house. You indicate that Cingular is fine outside the house, then a repeater would make it fine inside the house.
I bought the one from CellAntenna.com for $499 and it works quite well with my hiptop. I'm 1300m from the T-Mobile/Cingular tower, but I got no coverage inside except in certain spots; and now with it in I get great coverage in two rooms and OK in a third, at least good enough for GPRS. I'm considering upgrading the indoor antenna to one with 5dBd gain for $49, and also getting on my roof with a ladder to raise the antenna up higher on my TV pole, to get above the neighbor's hedges.
Plus the ATT tower is in the same location, so my ATTWS friends who come over report better signal too.
I'm starting a company to sell pieces of sticy tape to put on jewel cases.
If anybody removes the tape to open the jewel case with the intent to copy the CD, I'll sue them.
And don't reply to me with any confounded ideas about how to remove sticky tape from jewel cases or I'll sue you too.
That ought to be worth at least -- one million dollars.
Last weekend I got a call from Comcast offering me Cable Internet service for an introductory rate of $21.95/mo. I asked how fast and the telecaller said, "Six hundred and thirty five gigabytes." I said, "Per month? Per hour? Per second?" She said, "Per second, sir."
I asked, "Can I run servers?"
She said, "Yes sir!"
I said, "On port 80 and port 25?"
She said, "On all ports, sir."
I said, "Before I sign up I'd like to speak to your supervisor to confirm this great deal."
Sadly, the deal evaporated when I got to speak the the sympathiser, but she was interested in what I wanted. I told her I had 1Mb/1Mb symmetric access and static 8 IP addresses, and she asked what they could do to get me to move to Comcast Cable Internet service. I suggested perhaps symmetric service 1.5Mb/1.5Mb would be nice, or perhaps 3Mb down and a portable Class C netblock to do multi-homing with my current 1Mb SDSL uplink. She wrote it all down and said she'd pass my request along.
I'm still smarting at the lose of the 635GB/sec downlink for $21.95/mo though!
Around October '99, there was a tiring spate of Y2K messages of increasing stridency. After one particularly annoying message about Microsoft Offfice, I sent a message purportedly from the updates office to my local group, stating that "it has come to our attention that many of you have Office Calendars that are not Y2KCompliant, and expire on December 31, 1999. Please take steps to upgrade your Office Calendar to one that is Y2K compliant. Office Calendars are available in the office supplies room, or at local stationery and supply stores." I had some other text about failure to comply, inspections, etc. The only person who caught the hoax was a guy who authored many IETF RFC's on mail. The other people just assumed it was more hysteria.
Back in the 1980's the MIT Lisp Machines had a generalized time parser calle time:date. When a date was needed, it parsed a generaldate.
I set the INQUIR database for a co-worker to say his birthday was the string "today"so every time he logged in, it said, "Happy Birthday, Ed." It took him three years to find it.
Why were you using EMACSfrom the console? In those days, most people had a Decwriter for a console...
On prep, the console was a vt100. It was on top of prep. I was using Emacs to edit a file, probably. My office was on the 4th floor and prep was on the 7th. Once or twice I also kinda leaned on prep while typing and hit the red button too.
He was talking about not wanting a Vax 780 or probably even a 750, which was what ARPA had declared to be the standard ARPA grant platform.
For years, the GNU project ran on a Vax 750 called "prep.ai.mit.edu", but it was at MIT on the 7th floor of Tech Square, not in RMS's house (which burned down, by the way). Quite a few times I crashed prep by using the vt100 on top of it and typing ^P in Unix EMACS (as opposed to ITS EMACS on the PDP-10). ^P takes you to the machine boot ROM on a Vax -- equivalent to taking you to the BIOS immediately on an Intel PC.
It was a while before I figured out how to recover and continue running Unix. So I probably lost the GNU project a few files due to fsck lossage...
I just use vncserver :1 and tell Emacs to open a frame on :1.
This device looks really snazzy and I like the jewelry, but I'm pretty happy with my hiptop, which now supports SSH for free after this week's over-the-air firmware update, and it has a full keyboard. I've written a spreadsheet and a peer-to-peer sharing app, hacked on an IRC app, and written some other stuff for it, all with their Java SDK.
I assume that your subject line is intended to imply that RPN order is unnatural for humans.
It's amusing, though, because the word order you chose is almost exactly what Japanese uses.
So your point is culturally relative, not universal.
All I had to do was add the particles in italics (wa=topic, ga=subject, ni=for, to=quote, no = of) and move "for [sake of] humans" a little earlier in the sentence.It's really only very slightly awkward sounding. A native speaker would probably have said "okashikute furui" (funny 'n' old) but I chose to keep your separation.
It also sounds a little presumptious, though, with the topic marker being the speaker; a native would probably have put the "I" nearer the verb at the end, to de-emphasize it, but I again tried to retain your tone.
When the HP-28 first came out, I worked for Hal Abelson and Gerry Sussman. They were quite pleased with it because it had the lambda operator, and sent back some suggestions to HP about how to implement lexical closures (as in Scheme and other languages). HP took their advice in subsequent versions. The RPN function language that the 28 and its successors use is very much like Scheme, but with RPN instead of prefix notation.
I had an HP-25, which I sadly sold to get the 29C, and now a 15C and a HP-32SII. Lately I bought an HP-35, an HP-21, and an HP-35 for cheap...
BTW, I am unrelated to Klotz Electronic in the above post, but I'm intrigued!
See here. These were the keyboards that provided Control and Meta in EMACS, as you can see in the four keys at the bottom.
SAIL (Stanford AI Lab) and the MIT AI Lab both had them, and the displays were 512x512 pixel green-screen displays that were bitmapped frame buffers on a PDP-11, built out of the first Intel 1Kbit semiconductor memory, attached to MIT and SAIL's respective PDP-10s.
I believe the MIT keyboards were slightly different but I can't find a picture of them, just the SAIL version. The keys felt really luxurious. I'm pretty sure the space bar was bigger. The ESC (27) key looked like a little diamond, and the big roundish key in the top left was labeled "ESCAPE" but was a key that went straight to the PDP-11 -- at MIT you could call the elevator to the 8th or 9th floor with ESCAPE E, buzz the 9th-floor door with ESCAPE D, look at a FINGER display of MIT AI with ESCAPE F, or look at someone else's buffer (there were 16, minus one for finger) with ESCAPE n F. The CALL button in the upper right was also for the PDP-11 and you pressed that to attempt to get a frame buffer. Often during the day we couldn't get one, so we had to work at night. The PDP-10 was faster at night anyway...
Does it sync itself to my PC so I don't lose all my data if I lose the device?
Yes, it syncs to their back-end service and you can access the data through a browser. Other access is coming (http, sync).
My favorite bug followed me from one system to the next!
I was writing Logo for the 512K Macintosh. The only programming environment supported for the Mac in 1984 and 1985 was Pascal on the Lisa, but we wrote our code in C on a 68000 running Unix and cross-compiled to the Mac using the SUMEX PCC compiler.
Anyway, I was changing something in the garbage collector, compiled on the 68000 running Unix, and got an assembler error that was something like this:
00800: #,1,$,g,a,q:2 Illegal Instruction
It was really weird -- I had no idea how the compiler could output an illinst. I narrowed it down to this line:
marked = 0x80000000 & addr;
I turned to a different computer, the Logo interpreter running on the Mac 512 behind me, and typed
2^31
and it printed out
Result: #,1,$,g,a,q:2
At this point I ran screaming down the hall.
When I came back, I looked at the source for PCC itoa() (if anybody still has this you can reproduce it and tell me the exact string) and it had
if (value
which of course fails on -2147483648. But the failure mode was pretty spectacular.
The Logo on the Mac had the same bug because it was running the SUMEX libc, which of course had the same bug.
I ust patched it with
if (i == 0x80000000) return "-2147483648";
Yow.
>which states that "eBay prohibits the listing of items or products to be delivered electronically through the Internet"
Then why don't they shut down those zillion "INCREDIBLE PRICE ON [popular item] INFORMATION" auctions that sell only coupon codes for discounts?