hugo@gandalf.cs.cmu.edu (Peter Su) (07/28/86)
Keywords: Multitasking not useful? Oh c'mon guys, be real. If multi-tasking isn't a useful feature then why are desk accessories such a big deal? For that matter, why is Switcher so popular? Why do people LOVE the Shell buffers in the Epislon editor that runs on theat heathen machine from you know who? The answer is that even this limited and kludged version of multitaksing is a VERY useful feature. I've been programming on Macs and Lisas for a long time now. What do I spend my time doing mostly? No, not typing in code, no, not debugging I spend most of my time watching the stupid machine compile things. I could be doing thousands of better and more interesting things if the damn thing could compile in the background! But NO, the Mac's operating system is so brain damaged, and the hardware is so "un-there", that this is just impossible. Beyond that, if the mac could multitask, then one could do much more with this than just print spooling and compiling in the background. *Real* pipes would be possible, not these silly hacks with temp. files. This is not only more elegant, but also faster, since no temp files have to be written and copied and deleted. But, people will now accuse me of being one of those "Unix bigots". Well, maybe I am, but that's just because I have used Unix more than anything else, and I happen to like it not only for programming, but for everything I do. What else does multitasking offer? Well, suppose your editor can talk to subprocesses. Then almost any language you have can be used to extend the capabilities of the editor. You can write filters that take input from editor buffers that do everything from fixing long lines to pretty printing your pascal programs, to telling the time, to playing ELIZA. You could write text formatters that run under the editor. You can read the error messages of ANY compiler, and automatically find them in the right buffer, you can read electronic mail from your favoite editor, and on and on and on. I know all these are possible, people do it all the time in EMACS. (Now i'm gonn abe falmed for being an "EMACS bigot"...but oh well) What could you do with multitasking on the Mac? Well you tell me the next time you watch Macwrite or Word sit there and SSSLLLOWWLY change the font on your entire document. Gee, you could go and work on the illustrations, or log into your favorite BBS and read some mail, or go and hack up something better than Macwrite so you never have to deal with it again. Or maybe the next time you have to wait half an hour for that monster spreadsheet to calculate itself, you could work on the presentation that goes along with it, or you could go work on that database that needs to be out next week. The point is that multitasking affects the performace of the computer in much more subtle ways than just being able to run your C compiler and Megaroids at the same time. It allows one person to do the work of many,while the computer sits and does all the boring repetitive tasks that one would rather not have to watch it do. Oh well, all this flaming aside, I really do like the Mac. It's a great little box. But it could be a lot better. Cheers, Pete -- ARPA: hugo@cmu-cs-gandalf.arpa BELL:412-681-7431 UUCP: ...!{ucbvax,ihnp4,cmucspt}!hugo@cmu-cs-gandalf.arpa USPS: 5170 Beeler St., Pittsburgh PA 15213 QUOT: "You are in a twistly little maze of passages, all different." -- ARPA: hugo@cmu-cs-gandalf.arpa BELL:412-681-7431 UUCP: ...!{ucbvax,ihnp4,cmucspt}!hugo@cmu-cs-gandalf.arpa USPS: 5170 Beeler St., Pittsburgh PA 15213 QUOT: "You are in a twistly little maze of passages, all different."
shebanow@ernie.Berkeley.EDU (Mike Shebanow) (07/29/86)
(ugh ugh ugh) Uh Oh. I can see that my short, harmless message about multitasking is going to get me in a lot of trouble. I didn't say that multitasking was USELESS, I just said that most people really don't really use it to its fullest advantage, and that its absence was NOT enough of a flaw in and of itself to make MPW an inferior development environment. I like mulittasking. I don't think its useless. I wish the Mac had it. But I still say that even without multitasking that MPW is a better and more productive development environment than your basic UNIX system, which was the whole point of that statement. Is everybody happy now? Andy
ngg@bridge2.UUCP (Norman Goodger) (08/07/86)
> I've been programming on Macs and Lisas for a long time now. What do I > spend my time doing mostly? No, not typing in code, no, not debugging I > spend most of my time watching the stupid machine compile things. I could > be doing thousands of better and more interesting things if the damn thing > could compile in the background! But NO, the Mac's operating system is so > brain damaged, and the hardware is so "un-there", that this is just > impossible. > > > Oh well, all this flaming aside, I really do like the Mac. It's a great > little box. But it could be a lot better. > > Come on lets get serious, You are all trying to compare a $1500 Computer with the processing power of a mini or mainframe. Sure Multi-tasking would be nice, sure it would be nice to have it print several documents while you communicate with a BBS or whatever. The Mac was never designed to be what you are trying to Make it, future Macs may be a totally different story, but stop jumping on the MAC to do things it was never designed or able to do. If you want multi-tasking on your Mac...get more than one!!! The Mac in comparsion to other Computers is the best buy for its software and power over the competition in its range..lets leave the Vaxes and minis out of it.... Norm Goodger Bridge Communications Sysop-MacInfo BBS 415-795-8862
gib@unirot.UUCP (gib wallis) (08/08/86)
In article <205@bridge2.UUCP> ngg@bridge2.UUCP (Norman Goodger) writes: >> I've been programming on Macs and Lisas for a long time now. What do I >> spend my time doing mostly? No, not typing in code, no, not debugging I >> spend most of my time watching the stupid machine compile things. I could >> be doing thousands of better and more interesting things if the damn thing >> could compile in the background! But NO, the Mac's operating system is so >> brain damaged, and the hardware is so "un-there", that this is just >> impossible. >> >> >> Oh well, all this flaming aside, I really do like the Mac. It's a great >> little box. But it could be a lot better. >> >> Come on lets get serious, You are all trying to compare a $1500 > Computer with the processing power of a mini or mainframe. Sure > Multi-tasking would be nice, sure it would be nice to have it > print several documents while you communicate with a BBS or > whatever. The Mac was never designed to be what you are trying > to Make it, future Macs may be a totally different story, but stop > jumping on the MAC to do things it was never designed or able to > do. If you want multi-tasking on your Mac...get more than one!!! > The Mac in comparsion to other Computers is the best buy for its > software and power over the competition in its range..lets leave I think if you were comparing the mac to YESTERDAY's conceptions of mini and micro, yes, but by todays standards, no way! A CoCo with os-9 can handle multi-tasking so I'm told, and what of the Amiga? I don't think the CoCo was DESIGNED as a multi-tasking machine, but the software's coming out [for the mac too, if you get gib.juicy-rumours] it changed it quite a bit. What I want tho, is to have everything built into the operating system. I don't mean "pseudo-multi-tasking" like switcher or servant, but the real stuff. The 68000 is a VERY powerful chip compared to others in the past, and should easily be able to handle the memory management footwork with some clever programming. No, the mac WASN'T designed for multi-tasking with stuff built into the ROM for it like with the amiga, but the time for it is LONG overdue! Mac-er's of the net, unite! We have nothing to lose but our carriers! ..!caip!unirot!gib OR gib@unirot.UUCP disjointer: the above has nothing to do with my employer. It's my mummy's fault for raising me so bad! -- ..!caip!unirot!gib OR gib@unirot.UUCP "Power can command wealth, but wealth can't always command power."
corwin@hope.UUCP (John Kempf) (08/09/86)
> >> Oh well, all this flaming aside, I really do like the Mac. It's a great >> little box. But it could be a lot better. >> >> Come on lets get serious, You are all trying to compare a $1500 > Computer with the processing power of a mini or mainframe. So? why shouldn't a mac be able to multi task? Convergent Technology puts out a nice little Unix Box (CT's Miniframe) that multi tasks very nicely. It runs on a Mc68010 (10MHz) with 1/2 Meg. of RAM (just like the mac) and works for up to 8 users. For that matter, the Amiga is supposed to multitask (I'll see it when I believe it -- I still think that the amiga is a toy). -cory "Welcome my son, Welcome to the machine" VOICE: (714) 788 0709 UUCP: {ucbvax!ucdavis,sdcsvax,ucivax}!ucrmath!hope!corwin ARPA: ucrmath!hope!corwin@sdcsvax.ucsd.edu USNAIL: 3637 Canyon Crest apt G302 Riverside Ca. 92507
tim@ism780c.UUCP (Tim Smith) (08/11/86)
>No, the mac WASN'T designed for multi-tasking with stuff built into >the ROM for it like with the amiga, but the time for it is LONG overdue! > Oh come on! The Mac has as much ROM support for multi-tasking as the Amiga :-) But seriously, the problem is not the Mac os. It is the hardware. Apple was right to not try to put multi-tasking on the Mac. Without an MMU, multi-tasking is dangerous. -- "I *DO* believe in Mary Worth" Tim Smith USENET: sdcrdcf!ism780c!tim || ima!ism780!tim Compuserve: 72257,3706 Delphi || GEnie: mnementh
dwb@well.UUCP (David W. Berry) (08/12/86)
For printing in the background get a copy of MaxPrint. This is a print spooler which really works. It works quite well with all the applications I've tried it with so far and prints quite well to the Imagewriter. They do have a note about it only working with the Imagewriter and not working with AppleTalk printers. It installs as a DA and allows you to specify which drive should be used for sppooling. Thus you could create a sizeable RamDisk and spool to it and have things work quite well. I have noticed no problems just spooling it to a SCSI hard disk although you would probably want to avoid spooling to floopy. It also comes with a RamDisk program that seems to work adequately although I actually prefer RamStart+. -- David W. Berry dwb@well.uucp dwb@Delphi dwb@GEnie 293-0752@408.MaBell
jimm@amiga.UUCP (James D. Mackraz) (08/12/86)
>> Come on lets get serious, You are all trying to compare a $1500 >> Computer with the processing power of a mini or mainframe. > >So? why shouldn't a mac be able to multi task? Convergent >Technology puts out a nice little Unix Box (CT's Miniframe) that >multi tasks very nicely. It runs on a Mc68010 (10MHz) with 1/2 >Meg. of RAM (just like the mac) and works for up to 8 users. For >that matter, the Amiga is supposed to multitask (I'll see it when >I believe it -- I still think that the amiga is a toy). The Amiga has a message-passing multitasking kernel that works great, is very fast, in use by many programs, supports 68881 in a multitasking environment, has no problem with the CSA 14/16 MHz 68020, and I think you are a dink. It is becoming apparent, though, that the protection and relocation offered by an MMU will provide significant benefits during software development, when running buggy programs, and in situations that shared code is desirable without restriction on the addressing mode of the programs. And another thing, one main thing that separates the Amiga with the CSA expansion from a VAX (with which it compares in CPU benchmarks) is I/O bandwidth. Compared to the IWM disk controller, though, ... Jim Mackraz Not representing official policy this time.
daveh@cbmvax.cbm.UUCP (Dave Haynie) (08/12/86)
> Keywords: CPU doesn't matter for multi-tasking > >>No, the mac WASN'T designed for multi-tasking with stuff built into >>the ROM for it like with the amiga, but the time for it is LONG overdue! >> > Oh come on! The Mac has as much ROM support for multi-tasking > as the Amiga :-) > Really? That's amazing! The MAC ROM really has support for synchronization of separately running tasks, task swapping, task prioritization, intertask signal and message passing, task based exception processing, etc.? Then why do they waste all of their comparatively limited ROM space (actually Write-Protected RAM on the Amiga) with these routines if they don't intend to use them. Or are they used by the MAC OS but not accessable to the user? The Amiga starts up tasks for the Workbench, possibly a CLI, the mouse, the keyboard, the disk, the timer, etc. all as a part of normal operation. > But seriously, the problem is not the Mac os. It is the hardware. > Apple was right to not try to put multi-tasking on the Mac. Without > an MMU, multi-tasking is dangerous. It would be better stated that without an MMU, sloppy programming in a multitasking environment is dangerous. With the MMU, if I allocate a 1K chunk of memory and then write to it as a 2K chunk, the hardware protects it from being clobbered, whereas without the MMU I could stomp on memory being used by another process or task. But its still my error that's causing the problem. In a properly written program, I won't have the ability to clobber the memory of another task. > -- > "I *DO* believe in Mary Worth" > > Tim Smith USENET: sdcrdcf!ism780c!tim || ima!ism780!tim > Compuserve: 72257,3706 Delphi || GEnie: mnementh -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "I gained nothing at all from Supreme Enlightenment, and for that very reason it is called Supreme Enlightenment." -Gotama Buddha These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
daveh@cbmvax.cbm.UUCP (Dave Haynie) (08/13/86)
> > For that matter, the Amiga is supposed to multitask (I'll see it when > I believe it -- I still think that the amiga is a toy). > -cory Could you elaborate on your opinion of the Amiga, based on what you know of it. I am assuming you have studied it enough to draw you opinions, otherwise you're merely stating a prejudice here. -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "I gained nothing at all from Supreme Enlightenment, and for that very reason it is called Supreme Enlightenment." -Gotama Buddha These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
shebanow@ernie.Berkeley.EDU (Mike Shebanow) (08/14/86)
(he he he) Well, I must say that all you people out there are being unfair to the Amiga. It does have a complete multitasking kernel, even if it doesn't have memory management. Besides, it isn't Commodore's fault that the OS crashes every 10 minutes, right? ( :-) ). Andrew Shebanow
daveh@cbmvax.cbm.UUCP (Dave Haynie) (08/14/86)
> > (he he he) > > Well, I must say that all you people out there are being unfair to the > Amiga. It does have a complete multitasking kernel, even if it doesn't > have memory management. > > Besides, it isn't Commodore's fault that the OS crashes every 10 > minutes, right? ( :-) ). > > Andrew Shebanow My office Amiga has run for weeks on end without crashing. The OS itself is sold, as are finished applications. The memory management is missed of course during program development and when running early beta copies of software, since a program bug can crash the machine. Of course, a program bug can crash any machine. The one at home crashes regularly when I'm running programs I've written, at least until they're (hopefully) debugged. But Lattice C is much to slow in compiling for me to crash it, even with the worst of my programs, every ten minutes :-). -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "I gained nothing at all from Supreme Enlightenment, and for that very reason it is called Supreme Enlightenment." -Gotama Buddha These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
tim@ism780c.UUCP (Tim Smith) (08/16/86)
In article <617@cbmvax.cbmvax.cbm.UUCP> daveh@cbmvax.cbm.UUCP (Dave Haynie) writes: >> >>>No, the mac WASN'T designed for multi-tasking with stuff built into >>>the ROM for it like with the amiga, but the time for it is LONG overdue! >>> >> Oh come on! The Mac has as much ROM support for multi-tasking >> as the Amiga :-) >> > >Really? That's amazing! The MAC ROM really has support for synchronization >of separately running tasks, task swapping, task prioritization, intertask >signal and message passing, task based exception processing, etc.? Then >why do they waste all of their comparatively limited ROM space (actually >Write-Protected RAM on the Amiga) with these routines if they don't intend >to use them. Or are they used by the MAC OS but not accessable to the >user? The Amiga starts up tasks for the Workbench, possibly a CLI, the >mouse, the keyboard, the disk, the timer, etc. all as a part of normal >operation. > You seem to have missed my ":-)" symbol! The Amiga stuff is in write-protected RAM. Thus, the Mac has as much *ROM* support for multi-tasking, i.e., none. > >> But seriously, the problem is not the Mac os. It is the hardware. >> Apple was right to not try to put multi-tasking on the Mac. Without >> an MMU, multi-tasking is dangerous. > >It would be better stated that without an MMU, sloppy programming in a >multitasking environment is dangerous. With the MMU, if I allocate a 1K >chunk of memory and then write to it as a 2K chunk, the hardware protects >it from being clobbered, whereas without the MMU I could stomp on memory >being used by another process or task. But its still my error that's >causing the problem. In a properly written program, I won't have the >ability to clobber the memory of another task. But what about the person using commercial software? There seem to be a hell of a lot of sloppy programmers out there! I don't want to do any serious work under multi-tasking unless I know the program is safe or I have an mmu to protect me from other peoples mistakes. Actually, I want an mmu even if I am not multi-tasking! Before I got a Hyperdrive for my Mac, program development consisted of these steps: 1. Boot machine 2. Create ram disk 3. Copy System, Finder, and library files to ram disk 4. edit/compile/link/program 5. Run program 6. when program crashes machine go back to step 1 With an mmu, step 6 could have been: 6. when program tries to crash machine, go back to step 4 which would save a lot of time. -- "I *DO* believe in Mary Worth" Tim Smith USENET: sdcrdcf!ism780c!tim || ima!ism780!tim Compuserve: 72257,3706 Delphi || GEnie: mnementh
daveh@cbmvax.cbm.UUCP (Dave Haynie) (08/18/86)
> > In article <617@cbmvax.cbmvax.cbm.UUCP> daveh@cbmvax.cbm.UUCP (Dave Haynie) writes: >>> >>>>No, the mac WASN'T designed for multi-tasking with stuff built into >>>>the ROM for it like with the amiga, but the time for it is LONG overdue! >>>> >>> Oh come on! The Mac has as much ROM support for multi-tasking >>> as the Amiga :-) > > You seem to have missed my ":-)" symbol! The Amiga stuff is in > write-protected RAM. Thus, the Mac has as much *ROM* support for > multi-tasking, i.e., none. OK, I'll give ya that one. For the moment. >>It would be better stated that without an MMU, sloppy programming in a >>multitasking environment is dangerous. With the MMU, if I allocate a 1K >>chunk of memory and then write to it as a 2K chunk, the hardware protects >>it from being clobbered, whereas without the MMU I could stomp on memory >>being used by another process or task. But its still my error that's >>causing the problem. In a properly written program, I won't have the >>ability to clobber the memory of another task. > > But what about the person using commercial software? There seem to be > a hell of a lot of sloppy programmers out there! I don't want to do > any serious work under multi-tasking unless I know the program is safe > or I have an mmu to protect me from other peoples mistakes. That's certainly TRUE. When you consider that many of the programmers out there haven't written for anything other than an IBM PC, though, you can understand this. It took awhile for lots of good MAC applications to be written, much of this was learning curve, since the MAC was a very new kind of machine that could do alot of things for you if you let it. Also, the MAC suffered from Apple's closed-box policies and the lack of documentation. The Amiga has tons of documentation available for the developer, you can get virtually any piece of information you need. Though it has an even steeper learning curve since now a programmer does have to be careful that when he does a "m = malloc(100)", he doesn't try to then do a "*(m+150) = 'x'". An MMU would help you here, even on a singletasking machine. > > Actually, I want an mmu even if I am not multi-tasking! Before I got > a Hyperdrive for my Mac, program development consisted of these steps: > > 1. Boot machine > 2. Create ram disk > 3. Copy System, Finder, and library files to ram disk > 4. edit/compile/link/program > 5. Run program > 6. when program crashes machine go back to step 1 > > With an mmu, step 6 could have been: > > 6. when program tries to crash machine, go back to step 4 > > which would save a lot of time. With the exception of 2. (AmigaDOS has an automatic, dynamically sizing RAMDisk built in), you could easily follow the same cycle on the Amiga. Depending upon the type of crash, however, you may be given the chance to cleanly shut down any other processes that are running. And you always get to externally debug the system from the monitor if you like. > -- > "I *DO* believe in Mary Worth" > > Tim Smith USENET: sdcrdcf!ism780c!tim || ima!ism780!tim > Compuserve: 72257,3706 Delphi || GEnie: mnementh -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "I gained nothing at all from Supreme Enlightenment, and for that very reason it is called Supreme Enlightenment." -Gotama Buddha These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
lewis@axiom.UUCP (Lewis Gordon Pringle Jr.) (08/22/86)
> > But seriously, the problem is not the Mac os. It is the hardware. > > Apple was right to not try to put multi-tasking on the Mac. Without > > an MMU, multi-tasking is dangerous. > > It would be better stated that without an MMU, sloppy programming in a > multitasking environment is dangerous. With the MMU, if I allocate a 1K > chunk of memory and then write to it as a 2K chunk, the hardware protects > it from being clobbered, whereas without the MMU I could stomp on memory > being used by another process or task. But its still my error that's > causing the problem. In a properly written program, I won't have the > ability to clobber the memory of another task. No. You've missed several important points. Context switch time is much less if all you have to do is move around page table entries, rather than whole blocks of global data. The mac maintians lots of global information which it is not "buggy" to update. What this means is that it would take too long to let each application have time to run if the OS has not MMU support. Also, there are UserInterface issues that you are glossing over. The mac was not designed to do MultiProcessing, and so it was OK for Apple to leave many issues unresolved. Like when a backround process puts up a dialog box, what happens? SIGTTOU ? You get two dialog boxes from different applications at the same time? Maybe you have different classes of applications, and only non-interactive ones can be run in the backround? Lotsa possabilities! Its not as simple as just putting in scheduling code, and allowing new process creation primitives. Some real thought needs to be done. -- Disclaimer: I'm just trying to assure my place in the AssHoles Hall Of Fame. UUCP: lewis@axiom@{linus,harvard,lpi,drilex,adelie}.UUCP
tim@hoptoad.uucp (Tim Maroney) (08/25/86)
I'm currently working on UNIX-style multitasking software for the Mac (experimentally). Naturally, the biggest problem with multitasking, whether Switcher, Servant, or mine, is the lack of memory management hardware in the Macintosh. I was thinking about putting together a memory-management add-on board which would run a simple dual-processor multitasking Mac OS (using the 68000 as a hardware controller, and a 68010 at 10 MHz with no bus arbitration for user-mode software). I was going to use a 10 MHz 68451 chip or two for the memory management, but it turns out that this takes 200 ns to translate a logical address to a physical one. This is clearly not acceptable performance. Anyone know of good memory management chips that would be reasonably compatible with Motorola hardware? (I know, I know: "Why don't you burn your own logic arrays?") This project would be a spare-time thing for my own fun, but if it worked out particularly well I would consider licensing or selling the board. Incidentally, the Mac Programmers' Workshop contains strong hints that the forthcoming new Mac will contain a Motorola 68851 Paged Memory Management Unit chip. This chip is scheduled to be released last quarter this year or first quarter next; Apple obviously has obtained some advance copies and played with them, at the least. I'd like to do the same, obviously, but there are a few little availability problems.... -- Tim Maroney, Electronic Village Idiot {ihnp4,sun,well,ptsfa,lll-crg,frog}!hoptoad!tim (uucp) hoptoad!tim@lll-crg (arpa) These are the official opinions of the Vatican Council of Bishops.
srm@iris.berkeley.edu (Richard Mateosian) (08/26/86)
>Incidentally, the Mac Programmers' Workshop contains strong hints that the >forthcoming new Mac will contain a Motorola 68851 Paged Memory Management >Unit chip. This chip is scheduled to be released last quarter this year or >first quarter next; Apple obviously has obtained some advance copies and >played with them, at the least. I'd like to do the same, obviously, but >there are a few little availability problems.... I believe that a board implementing a reasonable subset of the 68851 functionality has been available from Mot for a long time. Richard Mateosian ...ucbvax!ucbiris!srm 2919 Forest Avenue 415/540-7745 srm%ucbiris@Berkeley.EDU Berkeley, CA 94705