[rescue] Mac Appliance

Patrick Giagnocavo rescue at sunhelp.org
Fri Aug 3 21:45:30 CDT 2001


On Fri, Aug 03, 2001 at 09:26:23PM -0400, Dave McGuire wrote:
> On August 3, dave at cca.org wrote:
> > I keep forgetting that insanely weird fact: the original Lisa had
> > paging but not pre-emptive multitasking.
> 
>   Eeeek, I didn't know the Lisa had paging.  That's scary.
> 
> > Ok, so why did they go with cooperative? I don't believe it was 
> > considered a good idea. Pre-emptive had to have been considered
> > too "expensive" in *some* fashion...
> 
>   I really have no idea.  I don't think it was a particularly good
> decision, and it has resulted in some problems.  There's just no
> explaining some design decisions.  Take the 8086 architecture's
> segmented addressing, for example. ;)   *BARF*

I have a theory, theory only, but based on behavior.

Theory: this is just the way that the original team members thought about
it.  Remember that the original MacOS did not have ANY kind of multitasking;
it wasn't until System 6.x with MultiFinder that they even began to address
the issue.

Also, look at the design of subsequent systems by eg Andy Hertzfeld and you
will see similar  design decisions and mistakes.  

Andy went on to start General Magic, which was a PDA with a built-in modem,
etc.  It was slow, had a segmented memory architecture, etc.

Used the same CPU as Palm (MOT Dragonball), but where the Palm was sparse
and zippy enough for use, the GM device was cute, with beautiful graphics
but too slow for real use.  (sound familiar yet?)

They spent all this time designing a wonderful system - but then they didn't
include a TCP/IP stack.  When RAM got fragmented, you had to "clean-up" -
which was a stop-the-world memory collector.  (this was the exact same
problem with the Mac - opening and closing apps could cause memory
fragmentation, requiring a restart to clear the problem)

But of course, since apps were developed in C++, you didn't get to use the
memory collector yourself - so programmers could and did write
memory-hogging, shoot-yourself-in-the-stack pointer nightmares.  Did their
C++ libs emulate anything under Windows or Unix?  Heck no!  They didn't even
maintin the APIs between devices and OS revs.

If they had instead embedded a rapid command interpreter like TCL on a bare
metal OS...

The architecture was closed.  You couldn't add more RAM (unless you bought
SRAM cards to fit in the PCMCIA port, which were real expensive).  They
didn't have handwriting recognition, so an on-screen keyboard popped up -
but you could tap the letters faster than the CPU could display them!

In short, General Magic is almost out of business and burned thru something
like 70 million of VC money.  And their web site doesn't have HEIGHT and
WIDTH tags on their gifs.  Now they are trying to sell J2EE/ VoiceXML
solutions.

Well, that's enough time spent on Andy Hertzfeld.

You want a REAL programmer?  Try Avie Tevanian or Bud Tribble...

./patrick



More information about the rescue mailing list