Domain: parc.com
Stories and comments across the archive that link to parc.com.
Comments · 75
-
Re:Extremely ironic...
So, what kind of "innovations" has been created by Microsoft?
Just the one that I can think of - use-based dynamic menus. Perhaps someone can point me to earlier cases of this, but I still like it and still find them useful.Xerox InterLISP-D/LOOPS, 1982. On a bitmapped display. With a windows and a mouse.
-
Re:this comment is copyrighted, but nice try, JOBSlucky Bezos didn't run out and try to patent the idea
I thought it was Jobs (hint, hint PARC) who built his business on other people's innovations.
-
Re:LISP, the religion
"It (the former) tells you the set of messages (or methods, whatever you wanna call them) that it is legal to send to the value in question. It tells you what kind of thing the value is supposed to be. How can that not be useful in analysis?"
Well, it doesn't help any in a language where anything and everything can be done at run-time. Most problems that benefit from this type of analysis are hard, and most hard problems are very dynamic. Besides which, what benefit would this have for analysis beyond the static type-checking already in the static (Java) compiler?"Their most important purpose is to absolve developers of the responsibility of keeping backward compatibility for those members."
And also absolve them from the responsibility of designing their classes well the first time."Sometimes you want to hide your implementation so you can actually change it without breaking third-party code."
What if the third-party code needs to change some of the code you didn't design right the first time (or it may be impossible to do period)? Pure black-box abstractions break down pretty quickly for practical reasons (ever hear the term "glue code"?). See the Open Implementation concept. -
Open Implementation is the answer
I see a lot of posts pointing out the infexibility of software objects/components and the need for custom "wheels." I think the former can largely be blamed on the direction modern, statically-compiled programming languages took in their use of data hiding and mandatory encapsulation as "abstractions." Kiczales' Open Implementation group at PARC showed that this actually inhibits code reuse by preventing the customization of "the wheel." Open Implementation is supported by reflection and some aspects of the Meta-Object Protocol (although in most cases this is total overkill), and this is the central idea behind Kiczales' current work in Aspect-Oriented Programming. But in practice, I find relatively simple things, like function advising (and more recently Costanza's dynamically scoped functions), and CLOS's before, after, and around methods are enough to take care of almost all customization problems that arise. Sometimes, breaking data hiding rules can also be useful.
-
Better readers needed
-
DataGlyphs predate the PARC spinout
By quite a bit, actually. Look here down around 1989.
Also, on the same history page, in the Mid 80's section, you'll see an entry for an expert system named Pride developed at PARC. Pride helped Xerox design their first line of desktop copiers, and is quite famous within the company.
I worked for (long lamented) Xerox AI systems from 1986-88, and consulted for them off and on through 1994, which is how I know about this. -
"Stacks" in Longhorn...
Recently, there was a Slashdot article [slashdot.org] here about a "piles" feature that Apple had patented in June 2001 that sounds very familiar. Screenshot of piles [mac.com] here looks different, but the concepts appear similar:
It doesn't much look like Apple's "Piles" but more like PARC's Hyperbolic Tree, of 1994. This bit of software was spun off into a company named Inxight. Navigate their website using a Hyperbolic Tree. (good to see they eat their own dog food.) :-) (double click an end point when you want to follow a link)
If M$ finds a good use for Hyperbolic Tree navigation in Longhorn, more power to them. I have played with it off and on since 1998 and have found that without a mega-huge (as in 1600*1200+) resolution screen, you can't get much out of it. -
Re:Why?
There are two fairly interesting ten year old user interface techniques from (formerly Xerox) PARC: Toolglasses and Magic Lenses that make effective use of see-through windows. A hardware advance that makes it easy/economical to widely deploy this UI technique is a Very Good Thing.
As it is, only a few companies Alias|Wavefront comes to mind) actually uses this rarely seen interaction technique.
I'm sure part of the reason TG/ML is rare is due to Software Patent issues. -
Re:disgusting
You mention that OOP suffers from similar problems to AOP but the paper you link doesn't describe the half of it. When you said...
Sounds like a disgusting way of trying to legitimise hacks to me. Changing code in ways it wasn't meant to be changed, guaranteed to break lots of things (hence the "horribly easy to accidentally create infinite recursion" reference... no shit Sherlock!)
...you could have easily been talking about implementation inheritance, since it suffers from exactly that problem. Still, implementation inheritance is standard in all modern, popular OO languages because it's so powerful and as long as you try to use it correctly, you probably won't hang yourself.
AOP is another step down that road I think. Objects are powerful, but occasionally confusing - aspects are something along those lines to. There are still problems that need to be worked out before AOP takes off - aspect composition, or feature interaction for one - and I don't think anyone (apart from the evangelists) is really sure if AOP is going to be a big thing.
Btw, I heard a whisper that Gregor Kiczales, the guy credited with pioneering a lot of this stuff, thought that AOP had diverged from what he originally intended. Certainly, the original AOP paper seems to describe something completely different. Make of it what you will... -
I bought it - its worthless!
I bought it back in january, after first learning about AOP. At the time, it was the only book I could find directly on AOP, with a second coming in feb. Otherwise, the only other text source I could find was Generitive Programming.
So I bought it, and I was excited when I began reading. Then I found out it was just a bunch of JSP and other then the first 25 pages, very little content. Now I admit I put it down a good 25 or so pages later and skimmed through the rest, but I was extremely disapointed in it. Instead I've been grabbing all of the ECOOP workshop documentation.
In the end, it was worth the money. No, not for the book, god no! But by getting me excited and reading the ACM Communication articles and then talking to my adviser about it. It turns out the editor for the AOP material in the ACM communications is a professor at my school, and even better is happy to let me help her out next semester (I'm extremely swamped now). So now I'm considering doing the thesis option on my masters. I'll spend the summer reading REAL material.
My opinion: AOP is awesome but the book is a waste of money. Here are a few good readings:
Alternatives to AOP
Generitive Programming chapter
AOP publication
AOD 2002 workshop
ECOOP97 -
Re:Where's this useful?
I did a paper on AOP last semester. Basically, AOP not only gives you an object-oriented view of the code, but also splits it up according to other aspects of its functionality, like "security", or "debugging". Then, when you want to add a certain functionality to multiple objects, all you do is name all of the class methods that are affected (called a "joinpoint"), and then write one section of code, instead of changing each and every object (or class) that you would have to do if you were using an OO language. Go to http://www.parc.com/groups/csl/projects/aspectj/i
n dex.html and look at some of the PPT presentations. They describe it pretty well. -
Like PARC's Presto Document System?This sounds a lot like PARC's Presto Document System. Hope they didn't patent too much of that work.
Cheers,
Soulfry
-
Re:Shocking arrogance
Apache is a (sic) "IIS Killer"
I think you have it backwards. IIRC, httpd was originally written by NCSA at the University of Illinois at Urbana, on some flavor or another of BSD or SYSV Unix (BSD, if I remember right...), and is older than NT3.1, at least for purposes of availability. Apache is the end result of a bunch of server admins patching the NCSA sources after NCSA quit supporting httpd (A Patchy Web Server).
The concept of the GUI (and the mouse, for that matter) date back to Xerox PARC in 1975. Incidentally, that was the same time MSwas founded. IIRC, they were selling a BASIC interpreter for some architecture or another of Intel 8008 or 8080 (anybody know the answer to that one?), probably for PL/1, out of Albuquerque, NM. Apple released the first real GUI desktop machine with the LISA in 1983. Windows 1.0 was released around '85 or '86 (the "look-and-feel" suit of Apple vs. MS was basically tossed out because Apple's UI was too close to the PARC Star UI).
As far as invention and innovation go, look to Universities and pure R&D shops. Don't look to Microsoft, unless you want accounting and marketing innovation. DOS has a rather interesting history, as does IE, at least as far as the licensing deals go.
"Do you want to live in a world where things like the GUI, 3D graphics, wordprocessing, webserving, and other commercial products were never developed?"
Most, if not all, of these technologies, originated either on pure proprietary platforms, long since extinct, or on some flavor or another of unix. Word processing in its most raw form has existed since computing cycles became cheap enough for it to be practical. 3D really took off with SGI IRIX and SGI GL, and moreso with OpenGL. In all fairness, MS did join the OpenGL steering council, but they needed to find a way to get around the limitations of the Windows GDI under NT 3.1 so that they could go after the CAD/engineering market.
I will credit you with your point about the arrogance, and to a lesser degree, the "chasing taillights" syndrome. Many people will not try something presented to them with the "[insert commercial product here] Killer" as the main advertising point.
-
Close enough: holographic stereogramsI worked as an undergrad in the MIT lab in the mid-1990's and probably the first thing I did was break the holovideo system. I had no idea that the tip of a soldering iron is electrically grounded; I touched it to a live wire and promptly sent the power supply up in smoke and very nearly fried some custom wirewrap circuit boards. Fortunately, I wasn't fired (thanks Steve!) and I learned a lot about holography over the next few years. While I don't work on holograms today, that early exposure to research was invaluable and convinced me to pursue a career in image processing.
The MIT holovideo system does compute interference patterns, which are used to diffract light. It's the real deal in terms of focusing light in the right place. A lot of math techniques are used to reduce the computation, but the important part is there - directing light in the right places.
I don't know what's changed over the last half decade or so, but "way back then" there was one main difference between the holovideo system and traditional holograms. For holovideo, the diffraction patterns were calculated from a whole bunch of 2-D computer graphic images (i.e. the view from each angle) rather than a real live 3-D object. Perceptually, there is no significant difference between a holographic stereogram and a hologram, as long as enough viewing angles are used. But from a technical standpoint the creation technique is different -- so it has a different name.
By the way, one of the biggest annoyances was showing off the state-of-the-art holovideo system or still holograms to visitors, and having people consistantly say "Wow, those holograms look really bad." Everyone just assumed we'd at least be as good as Princess Leia in Star Wars; after all that movie was made decades ago, right?
-
Re:Modular Robots
You should look at http:The PolyBot by xerox parc.
Very reconfigurable ;) -
DataGlyphs
If I had to guess, they're probably incorporating some of Xerox's DataGlyph technology to make this work. If someone were to digitally alter the image, it'd break the code that stored within the image. Yet at the same time, the image can be printed, snail-mailed, scanned, and then digitally verified that it has not been altered.
-
User Interface Group @ PARC
Seems like one possible source would be the User Interface Research Group at PARC. These are the same folks who invented the Windowing user interface.
-
User Interface Group @ PARC
Seems like one possible source would be the User Interface Research Group at PARC. These are the same folks who invented the Windowing user interface.
-
Re:Methodology?I tried to find out in a question to Craig Silverstein a few months back. Unfortunately my question wasn't picked out
:(My bet is that they use Topic Detection & Tracking techniques and a variation of the Scatter/Gather approach. The latter one was invented at Xerox Parc where Craig Silverstein used to work.
-
WashPARC, Hungarian, AspectJ, TRIZFormer Xerox PARC'ers Kiczales and Simonyi are a dynamite combination.
In the superb 1985 book Programmers at Work, Simonyi talks about the loved and hated Hungarian naming convention, programming and meeting other famous programmers:- "
...the guys at Apple, like Bill Atkinson [one of the Lisa programmers who later developed the MacPaint program for the Apple Macintosh computer] -- I think Atkinson is the greatest--and Bill Budge [who programmed Pinball Construction Set for Electronic Arts]. These guys are all great.
We don't have much to talk about. We feel good vibes and exchange three or four words. I know that if one of these guys opens his mouth, he knows what he is talking about. So when he does open his mouth and he does know what he is talking about, it's not a great shock. And since I tend to know what I am talking about, too, I would probably say the same thing, so why bother talking, really? It's like the joke tellers' convention where people sit around and they don't even have to tell a joke. They just say the joke number and everybody laughs. It would be great to be able to work with all these guys, but we are business competitors. I think we could do incredible stuff together. Maybe the Martians will invade and we will have to do a Manhattan project in computers. We would all be shipped to New Mexico. Who knows?"
Czarnecki's 2000 book Generative Programming reviews work from both Simonyi and Kiczales on "intentional programming". Read the sample chapter to find out what Intentional Software (Manhattan Project of computing?) may be subsetting-for-future-supersetting. The subjet is domain-specific developent.
Review table-oriented programming for historical context. Then learn about TRIZ (Theory of Inventive Problem Solving), a heuristic methodology created by Russian Genrich Altschuller. From Terninko's 1998 Systematic Innovation:-
".. A patent was rarely given, so most inventors applied for an author's certificate. The Soviet government owned the intellectual property that the author's certificate documented, so the certificate was merely an acknowledgement of the inventor's contribution. Ironically, it is the simple, direct format of the author certificate that facilitated Altschuller's research into the inventive process
... During the formulation of TRIZ, Altshuller and colleagues reviewed tens of thousands of author's certificates and patents.
In 1946, Altshuller decided that he must create a new science for the theory of invention ... author certificates ... included a cover sheet, a one-page sketch and a short invention description. This simple format made it easy to identify underlying patterns of the inventive process ... Altshuller identified patterns frequently used in the more innovative patents.
... These patterns identified in the development of a design contain two major components: regularities in design evolution, and principles used in innovative solutions. Altshuller's observations led to an additional breakthrough; since the evolution of engineering design was a process governed by definable laws, it could be taught ... a revolution in the field of inventive problem solving had begun.
... Altshuller and his boyhood friend, Raphael Shapiro ... in a 1948 letter to Stalin ... criticized the inventive process used throughout the nation and offered some measures to improve the methodology. Their proposed improvements were an embroyonic form of TRIZ. Unfortunately, their patriotism and valuable ideas were not rewarded. Altshuller and Shapiro were charged with "inventing with the purpose to do harm to the country." After a year of interrogation and torture, they were sentenced to 25 years in a prison camp above the Arctic Circle.
What would have been a hellish existence for most people became a time of significant intellectual growth and productivity for Altshuller. The prison camp contained dozens of professors, eminent scientists, musicians, and artists, all of whom were jailed during Stalin's great Purges. As a result, Altschuller's education continued. Because fellow prisoners were happy to have someone who was eager to learn and listen for hours, the prison camp became Altshuller's private university. The worst punishment for Altshuller was the prohibition on writing. A prisoner could be beaten cruelly and placed in a cell if he were found in possession of a notebook. Despite this considerable obstacle, Altshuller continued to develop the science of innovation.
Stalin died in 1953, and Altshuller and Shapiro were released one year later ... publishing their first article on principles of their theory in a 1956 issue of a scientific magazine ... Under the pseudonymn Altov, Altshuller wrote science fiction stories to earn his living. But here again he found an application for TRIZ in the creation of many of the ideas for his futuristic devices and creatures.
... During the 1970s, translations of Altshuller's books and articles circulated in Germany and Poland, eventually reaching Japan, the U.S.A. and other Western countries ... Only two of Altshuller's books have been translated into English ... key findings are explained in these books, which reflect his study of over 200,000 patents, focusing on 40,000 identified as containined the most innovative design solutions.
Traditional problem solving builds on past experiences ... What if we have never encountered a problem analagous to the one we face? This obvious question reveals the shortcomings of our standard approach to inventive problems. A table of conflicts (Contradiction Table, Appendix D) between 39 design parameters (Table 1) answers this question of how we can face an unfamiliar conflict by offering 1201 generic problems that were solved using at least one of 40 generic principles (Appendix C and Table 2).
TRIZ Applications:- elementary school using TRIZ
- weapons technology, Kowalick
- Cringely on Kowalick updating TRIZ for GM and NASA
- more refs
--
bay area colo w/remote console and reboot
open-source java - "
-
Truckin at Xerox PARC, 1983Check out the "Truckin" game at Xerox PARC in 1983. Teams had just one or two days to design and implement their players that were then pitted against each other as everyone gathered around and watched. It was designed to teach a language, not test programming skills. At that is succeeded -- I lost big-time, but had a ball and learned a lot.
Sure been a lot of progress in the last 20 years...
-
be afraid
This amazing resiliance demonstrated by electronics (not just this but also Mir and Poineer 10, and there are probably others), combined with the fact that electronics are starting to get smart and escape (as reported on Slashdot, but I can't find the story now), is rather alarming. Sure, right now it's durable space probes and escaping benign experimental robots, but what will happen in the near future? You'll throw out your toaster and the thing will come back ten years later seeking revenge. Combine this with the work on modular robots and you won't only have a pissed toaster out for vengeance, but it'll be riding on that lawn mower you tossed earlier, firing AOL CDs and spraying used motor oil. *shudder*
-
Technology behind news.google.comIs it possible to have some information on the technology behind news.google.com?
In particular:
1. Do you use any Topic Detection & Tracking techniques.
2. How do you cluster news stories? Do you use a Scatter/Gather approach.
3. Is the news site going to be available through an API?
-
Re:Xerox
The Active Badges themselves were made by Olivetti, I believe. They operated on an IR-based system, so if you didn't want someone to know where you were, you could just put in your pocket and point the LED towards your leg, or something similar.
The social aspects were explicitly explored, and left a legacy of awareness at PARC. For example, see "Challenge Five: Social Implications of Aware Home Technologies" in At Home with Ubiquitous Computing: Seven Challenges W. Keith Edwards and Rebecca E. Grinter.
-
Re:My advice.
They've seem to have lowered their standards, but when I was fresh out of undergrad these guys demanded a PhD in CS and a PhD in either Physics or Math.
2! At that point I realized that I would never work on the bleeding edge of software. :-(