Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Businesses Software IT Technology Apple

Skunkworks At Apple -- The Graphing Calculator Story 642

avitzur writes with a link to the story behind the Macintosh Graphing Calculator. An excerpt from this strange account: "It's midnight. I've been working sixteen hours a day, seven days a week. I'm not being paid. In fact, my project was canceled six months ago, so I'm evading security, sneaking into Apple Computer's main offices in the heart of Silicon Valley, doing clandestine volunteer work for an eight-billion-dollar corporation."
This discussion has been archived. No new comments can be posted.

Skunkworks At Apple -- The Graphing Calculator Story

Comments Filter:
  • by Anonymous Coward on Tuesday December 21, 2004 @10:24PM (#11155197)
    Pacific Tech's Graphing Calculator has a long history. I began the work in 1985 while in school. That became Milo, and later became part of FrameMaker. Over the last twenty years, many people have contributed to it. Graphing Calculator 1.0, which Apple bundled with the original PowerPC computers, originated under unique circumstances.

    I used to be a contractor for Apple, working on a secret project. Unfortunately, the computer we were building never saw the light of day. The project was so plagued by politics and ego that when the engineers requested technical oversight, our manager hired a psychologist instead. In August 1993, the project was canceled. A year of my work evaporated, my contract ended, and I was unemployed.

    I was frustrated by all the wasted effort, so I decided to uncancel my small part of the project. I had been paid to do a job, and I wanted to finish it. My electronic badge still opened Apple's doors, so I just kept showing up.

    I had many sympathizers. Apple's engineers thought what I was doing was cool. Whenever I gave demos, my colleagues said, "I wish I'd had that when I was in school." Those working on Apple's project to change the microprocessor in its computers to the IBM PowerPC were especially supportive. They thought my software would show off the speed of their new machine. None of them was able to hire me, however, so I worked unofficially, in classic "skunkworks" fashion.

    I knew nothing about the PowerPC and had no idea how to modify my software to run on it. One August night, after dinner, two guys showed up to announce that they would camp out in my office until the modification was done. The three of us spent the next six hours editing fifty thousand lines of code. The work was delicate surgery requiring arcane knowledge of the MacOS, the PowerPC, and my own software. It would have taken weeks for any one of us working alone.

    At 1:00 a.m., we trekked to an office that had a PowerPC prototype. We looked at each other, took a deep breath, and launched the application. The monitor burst into flames. We calmly carried it outside to avoid setting off smoke detectors, plugged in another monitor, and tried again. The software hadn't caused the fire; the monitor had just chosen that moment to malfunction. The software ran over fifty times faster than it had run on the old microprocessor. We played with it for a while and agreed, "This doesn't suck" (high praise in Apple lingo). We had an impressive demo, but it would take months of hard work to turn it into a product.

    I asked my friend Greg Robbins to help me. His contract in another division at Apple had just ended, so he told his manager that he would start reporting to me. She didn't ask who I was and let him keep his office and badge. In turn, I told people that I was reporting to him. Since that left no managers in the loop, we had no meetings and could be extremely productive. We worked twelve hours a day, seven days a week. Greg had unlimited energy and a perfectionist's attention to detail. He usually stayed behind closed doors programming all day, while I spent much of my time talking with other engineers. Since I had asked him to help as a personal favor, I had to keep pace with him. Thanks to an uncurtained east-facing window in my bedroom, I woke with the dawn and usually arrived ten minutes before Greg did. He would think I had been working for hours and feel obliged to work late to stay on par. I in turn felt obliged to stay as late as he did. This feedback loop created an ever-increasing spiral of productivity.

    People around the Apple campus saw us all the time and assumed we belonged. Few asked who we were or what we were doing.When someone did ask me, I never lied, but relied on the power of corporate apathy. The conversations usually went like this:

    Q: Do you work here?
    A: No.
    Q: You mean you're a contractor?
    A: Actually, no.
    Q: But then who's paying you?
    A: No one.
    Q: How do you live?
    A: I live simply.
    Q: (Incredulously) What are you doing
  • by justforaday ( 560408 ) on Tuesday December 21, 2004 @10:36PM (#11155279)
    Ummm, the story being told took place nearly 10 years ago
  • Filled with Gems (Score:5, Informative)

    by Lizard_King ( 149713 ) on Tuesday December 21, 2004 @10:40PM (#11155310) Journal
    The secret to programming is not intelligence, though of course that helps. It is not hard work or experience, though they help, too. The secret to programming is having smart friends.

    classic...
  • Re:Wow (Score:3, Informative)

    by Anubis350 ( 772791 ) on Tuesday December 21, 2004 @10:53PM (#11155373)
    its runs under classic (not osx native unfortunately, though it runs perfectly fine even so), and yes its included. You can find it in the "Applications (Mac OS 9)" folder on your HD (not you you, since you dont run osx, but anyone running osx can).
  • by xtal ( 49134 ) on Tuesday December 21, 2004 @10:56PM (#11155397)
    There's a hidden trick in OSX to get a graphic calculator from the standard one. I never knew why it wasn't there all the time - there's one or two easter eggs in there - and they're all fully functional from what I can tell.

    This would explain it nicely, or at least, provide more romantic one than a plain old easter egg.

  • Re:Wow (Score:5, Informative)

    by avitzur ( 105884 ) on Tuesday December 21, 2004 @11:03PM (#11155440) Homepage
    >No, the graphing calculator doesn't come with OS X.
    It is available for OS X now. You can download the free release from http://www.PacificT.com/FreeStuff.html [pacifict.com] (Well, at least you will be able to after the server recovers from the Slashdot Effect. :)
  • by avitzur ( 105884 ) on Tuesday December 21, 2004 @11:28PM (#11155573) Homepage
    > a company that canned me

    No. There was a line in the story that got dropped on the editing room floor. I was offered a job as an employee on a new project when the old project was cancelled. I just wasn't interested in the new project. I prefered to be working on educational software.
  • by Yaztromo ( 655250 ) on Tuesday December 21, 2004 @11:30PM (#11155582) Homepage Journal
    Feel free to share the hidden trick with the rest of the class :)

    Find the Calculator icon in the Finder, and select "Get Info" (or press Command-I after clicking on the calculator). In the plug-ins section, select the "Add" button, and in the resulting file dialog, browser your way to the Calculator -> Contents -> Resources. Select any/all of the *.calcview directories, and press "Choose". Presto -- open the Calculator and select the "View" menu item, and your new plug-in views will be available.

    Now for the caveat. Ever since one of the 10.3 updates (10.3.3 maybe?), none of the plug-ins work anymore. But in the event they ever fix this, you now know how to activate different view modes.

    I doubt that the graphing capability built into the calculator has anything to do with the Graphing Calculator application, as the one built into the regular Calculator is supposedly 2D only, whereas the Graphing Calculator supports 3D graphs as well.

    Yaz.

  • by Anonymous Coward on Tuesday December 21, 2004 @11:34PM (#11155609)
    Do I need to take a photo of my Mac?

    I mean, seriously, I just bought a Cordless Optical Logitech ($20CDN, woohoo) today to replace my corded Optical Logitech mouse...

    Oh, boo-fucking-hoo, I have to take the mouse Apple sent me! At least you could bitch about the cord being too damn short (they assume you'll use it with the USB Keyboard Hub)

    This post brought to you by a working scroll wheel and right-click contextual menus. Because both exist in MacOSX.
  • by bob beta ( 778094 ) on Tuesday December 21, 2004 @11:38PM (#11155635)
    Imagine a world where if you didn't legally work for Apple, you couldn't write a program for their computer.

    It really wasn't that long ago that you had to request an extension from Apple to get a 'legitimate' Mac application up and running. Sure, they were developer friendly, but you didn't want them not liking you at Cupertino.

    I worked at a company that had a small skunkworks developing a medical diagnostic device. That team applied and became registered Apple Developers. Their status later expired, but it was a small closed project so it didn't really matter.

    You couldn't just go out and buy Turbo C and sling code for the Mac at that time.

  • by goMac2500 ( 741295 ) on Wednesday December 22, 2004 @12:05AM (#11155777)
    Well, it wasn't Steve. He wasn't even at Apple when Graphing Calculator was done. :)
  • by bokmann ( 323771 ) on Wednesday December 22, 2004 @12:19AM (#11155850) Homepage
    Uh, you most certainly could buy compilers and tools such as Macintosh Programmers Workshop, ThinkC and ThinkPascal from Symantec, and Codewarrior from Metrowerks. I was exclusively a Mac programmer from 1985 - 1996.

    The 'extension' of which you speak is equivalent to the file extensions under dos, like .exe, .txt, .doc, etc. MacOS has meta-data about each file - a 4 digit code identifying the file type, and a 4 digit code identifying the file that created it (which allows for some neat capabilities such as having two files of the same type, but opened by different applications when they are double-clicked on.)

    The only reason you had to 'register' an extention with Apple was so other applications could know, for sure, what kind of file an extention represented. There is nothing to stop anyone from using any code they desired, just as there is nothing to stop me from naming a file with an ending like '.dll' under dos/windows... it just isn't a prudent thing to do.
  • by Anonymous Coward on Wednesday December 22, 2004 @12:38AM (#11155939)
    I'm too lazy to figure out what my account is, so I guess I'm an anonymous coward, but I worked with Ron at the time, and still hang out with him. The story is true, and NuCalc/Graphing Calculator got started just as he describes. I even have the embroidered NuCalc shirt he gave me as a memento.

    Now, should you see anything similar in some upcoming release of some unspecified operating system, check to see whether it's the real deal (Graphing Calculator from PacificT http://www.pacifict.com/Gallery.html [pacifict.com]), or something else.
  • by Sycraft-fu ( 314770 ) on Wednesday December 22, 2004 @01:11AM (#11156100)
    Actually Microsoft has a hardware accelerated UI in Windows XP. Read up on GDI+. Also, for newer cards with real programmable GPUs (pretty much Ati 9000, and nVidia FX and up) they use the shaders to accelerate Windows Media playback.

    Either way, I'm not so sure the UI acceleration thing was a blinding flash of the obvious, I think it was more hardware needing to get to a certian point. It wasn't until about mid 1999 that a card (TNT2) existed that even had the basic 3d capibility to do what would be needed for a user interface. Even so, at that level, all you could really do was make a window a big texture stretched on a polygon. Neat, but faily useless.

    Real useful UI acceleration didn't become feasable until cards became Graphics Processing Units in fact, which means some programability. The GeForce 3, which came about in 2001, was the first consumer level card that could be really considered for that.

    So I don't think it was an idea that really had to think in. I remember hearing people musing about using the Voodoos for UI acceleration (and having those more knowledgable tell them why that wouldn't work), I think it was just a matter of the hardware advancing to a point where it was sufficiently useful for things other than playing games.
  • by aaronl ( 43811 ) on Wednesday December 22, 2004 @01:22AM (#11156153) Homepage
    Try Shift+F10 - same as a right click. Similarly CTRL+ESC is the start menu, CTRL+SHIFT+ESC is Task Manager, Windows+Pause is System Properties, etc.
  • by mpaque ( 655244 ) on Wednesday December 22, 2004 @01:41AM (#11156223)
    ...it won't make the mistake of starting off with Display Postscript aka Quartz which is not 3D based to begin with. Prepare to be leapfrogged.

    2D is just 3D with some constants in the matrix. No, really.

  • by iamacat ( 583406 ) on Wednesday December 22, 2004 @05:32AM (#11156966)
    PacificT.com offers a free download of "the original Graphing Calculator, beloved by students and teachers, which Apple has bundled on all machines since the introduction of the Power Macintosh in 1994". But when you actually run it, you can not edit any provided examples - even y = x^2 - because "they have been created with commercial version". Documentation makes no mention of what is actually supported by free software and equation editor lets you enter full syntax supported by version 3. You just get messages asking you to order their $100 stuff when you try something like x+y=1.

    Now, how would the original program created by unpayed volunteers in '94 know to nag users about their future $$$ product? The answer is easy, because Graphing Calculator saves documents in simple text format. For example:
    GraphingCalculator 1.4;
    Window 447 21 1247 661;
    PaneDivider 248;
    DrawGraph 0;
    Expr x+y=1;
    Simply changing the first line to "GraphingCalculator 3.0;" and opening it again magically causes all the missing features to be supported! Of course now it doesn't let you edit the document until you change the version back. I bet both programs are compiled from the same source with a few #ifdef NAG blocks.

    Nothing is really wrong with that, except for misleading claims and that nagware rather destroys the original sentiment of authors who wanted to release a useful program without even getting payed. This is not "Version 1.4", it's "Version 3.0 demo". Otherwise it would come with original documentation and examples that actually show you how to use the free program.
  • by avitzur ( 105884 ) on Wednesday December 22, 2004 @05:41AM (#11156990) Homepage
    That is 1.4b3. It is still in beta testing. We're still working on it. I need to do is fix those example files which were created for the full version. If you type y=x^2 into a new empty document, it will work. For a comparison of the features in 1.4 vs. 3.5, see http://www.pacifict.com/FreeStuff.html [pacifict.com]. The 150-page PDF book, "Learning Math" in the help menu is almost entirely devoted to the features of the free version. You can download that by itself or browse it at http://www.pacifict.com/Books.html [pacifict.com]
  • by Anonymous Coward on Wednesday December 22, 2004 @10:38AM (#11158090)
    Let me describe it so that even a windows user can understand:

    It would be like right-clicking on a file, selecting 'Properties...' and seeing this:

    File Type: TEXT
    Opens in : WORD

    And another file would have:

    File Type: TEXT
    Opens in : WPAD

    One text file would have a Word icon, the other a Wordpad icon. But you wouldn't be prevented from opening either file from either application.

    I haven't used Macs in years, but I do think this is a nice feature.
  • Re:EA? (Score:2, Informative)

    by Anonymous Coward on Wednesday December 22, 2004 @11:30AM (#11158646)
    "Same Pay. Same coolness. Better recognition. Maybe even a job offer somewhere."

    ...although lacking the benefits of apparently rigorous interface and QA testing, leading to the inevitable CLI with a half-assed GUI tacked on a year or two later and missing half the functionality of the CLI it was supposed to replace.

    And it's "would have," not "would of."

Pound for pound, the amoeba is the most vicious animal on earth.

Working...