HNHacker News
TopNewBestAskShowJobs

alankay1

4,043 karma · joined January 25, 2016

submissionscomments
alankay1··on What did Alan Kay and Steve Jobs talk about at the 2007 iPhone keynote?
I was disappointed that something better than Smalltalk wasn't on the Mac and iPhone (Smalltalk was truly wonderful in the context of the 70s, but we considered it just a step in a good direction).

Not understanding Hypercard was one of Apple's largest mistakes in the world of end-users. It was a real breakthrough in something that end-users could really handle and be usefully programmable by them. Besides not understanding its significance on the Mac, we (old Parc hands) pleaded until we were blue in the face to make HC the basis of a really good web browser (it was a great model of a symmetric author-consumer media tool). Missing the latter was a tragedy.

In the light of the first comment, we could then contemplate an end-user system that combined what was great about Hypercard, Smalltalk, and some other experience from the 80s (e.g. the use-cases from Ashton-Tate "Framework", etc.).

alankay1··on Alan Kay on Lisp
Simula can't be praised too highly, and it was a huge influence. But if you take the care to check, you will find out that what I termed "Object Oriented" was quite different from Simula in (what I thought were) important ways. And if you are looking for the earliest inventions of ideas like these, there are several that predate Simula (take a look at that HOPL II chapter mentioned above)
alankay1··on Alan Kay answers “What was it like to be at Xerox PARC when Steve Jobs visited?”
See my comments above. And if you take a look to see what the Alto could really do graphically, and even more so the Dorado, you would not worry about speed. The decisions were for other reasons.
alankay1··on Alan Kay answers “What was it like to be at Xerox PARC when Steve Jobs visited?”
See my comment above, including the last paragraph
alankay1··on Nov 10 CHM: Live Xerox Alto demo with original PARC development team
Brian Silverman, who has done some miraculous "bringing back software to life" (and some HW as well), has always wanted to do this.

The problem here is partly that no one is quite sure "which" TX-2 has to be emulated, and, worse, where to find the specs. The machine was a research computer and constantly tinkered with, including changing instructions and formats. Also, Sketchpad was written in a macro-assembler (Coral) which was idiosyncratic to say the least.

But I would advise contacting Brian to chat about this...

alankay1··on Alan Kay Answers “Is There a Successor to Smalltalk?”
The Alto only had 1024 words (4k bytes) of microcode, so it is included in the estimate. The NoteTaker used several 8086s (the first ones) and was entirely in Smalltalk except for 6k bytes of 8086 code.

i.e. "math wins"! ... when coupled into the design of the entire system.

And ... we would have loved to have had more microcode!

alankay1··on Alan Kay is still waiting for his dream to come true
What he means is that names are a local convention, and scaling soon obliterates the conventions. Then you need to go to descriptions that use a much smaller set of agreed on things (and you can use the "ambassador" idea from the 70s as well).
alankay1··on Alan Kay is still waiting for his dream to come true
Yes, this got very clear in a hurry even in the ARPAnet days, and later at Parc. (This is part of the Licklider "communicating with aliens" problem.)

Note that you could do a little of this in Linda, and quite a bit more in a "2nd order Linda".

I've also explained the idea of "processes as 'ambassadors'" in various talks (including a recent one to the "Starship Congress").

alankay1··on Alan Kay is still waiting for his dream to come true
In 2004 I wrote a tribute to the research community I grew up in "The Power of the Context" (http://www.vpri.org/pdf/m2004001_power.pdf) and this will possibly help with some of your questions. I was just one of many in this community, and as I said at a recent Stanford lecture "The goodness of the results depends primarily on the goodness of the funders". Every era has enough of the kind of people who like to "ask what would real progress be?" and then try to make it happen. The large differences in "real progress" have fluctuated as the good funding has fluctuated (right now and for quite a few years, there has been almost none).

A very important first step in this is to put a lot of work into "learning to see the present" and then where it came from (this is a lot of work, and it's not what human minds generally want to do). This will free up most thinking, will open up many other parts of the useful past, and especially about much better futures.

alankay1··on Alan Kay is still waiting for his dream to come true
1. The definitions are the boundary -- these are what are used to make the interior. The analogy is to definitions (used to be called axioms) in math. Simple for math (because it is only about itself). Difficult for science because we can't just make up the definitions, we have to try to find ones that have some mappings to "out there".

A boundary for chemistry is the physics standard model. Within physics the model is pretty accurate but unsatisfying as far as knowledge. They would like to have a better boundary, and get the standard model (and the key constants) from it. But it makes a good boundary for chemistry to make excellent chemical models.

Similarly (oversimplifying here) chemistry makes a good boundary of definitions for molecular biology.

Note that in this scheme of thinking, the "knowledge and meanings" exist inside the boundary, but don't include the boundary.

One of the issues addressed in this approach is how to make progress in "knowing" without infinite regresses. Philosophically, it is a kind of pragmatism.

As I mentioned elsewhere, science is a negotiation between two different kinds of things not a set of truths. It has many things in common with mapping (and making good maps is a branch of science, and one of the real starts of real science).

2. We are predisposed to believe things. Bacon's notion of why we needed to invent a "new science" is to create a set of processes and heuristics that would help us deal with and get around to some extent "what's wrong with our brains".

As a young scientist, I got the warning that is given to most young scientists "Beware, you always find what you are looking for!"

Some of the interesting examples of good science turning into belief revolve around Newton and both Maxwell's Equations and the orbit of Mercury (neither are "Newtonian"). And if you look at the history you'll see that Newton was a lot less Newtonian than many of his followers.

And yes, we also seem to have some things that are easier to imagine than others -- gods, demons, witches, etc seem easy, but future floods etc seem hard.

3. Sure. E.g. if you think things have to be circles, then this will be part of your implicit context for thinking about orbits. Geocentric used circular orbits and then epicycles to correct them and save the theory (and some great metaphors there for lots of human thinking). But it's important to realize that Copernicus also used circular orbits, and they also used epicycles to save that theory. Kepler worked with Brahe and admired him, so decided to trust his measurements. This led to a different model. The planets themselves didn't care about any of the models.

The definitions are still not -true- and the neighborhood is still not the phenomena. It's just better. You only get Newton from Kepler, not Maxwell or the orbit of Mercury and then Einstein for both.

alankay1··on Alan Kay is still waiting for his dream to come true
Yes, it's not the apparent logic in the operations that counts but the choice of definitions (and these include the definitions of the operations). I wrote a paper for the "Mind-Body Conference" in 1975 that discussed this. The idea is that "reasonable things" are done within "stable neighborhoods of 'truth' " that can be thought of as regions whose boundaries are the definitions. Inside we pretend the definitions are true, while the larger view from above knows the neighborhood is arbitrary.

This is an old idea (e.g. Euclid). The "modern" part of it is that the definitions are not assumed to be true outside the neighborhood. This is simple and powerful because the results are larger worlds that can be compared to others and to phenomena and experiment (and without setting up dogmas and religions).

Because of the way human minds work, there will be tendencies to think the definitions are "actually true" (and so the logic inside the boundaries) if they and the conclusions are appealing. But the form of this knowledge helps keep us saner if we are diligent about drawing the maps and boundaries correctly.

Much of science has this character, and the model helps to understand what it means to "know" something scientifically. Science is a negotiation between "what's out there?" and what we can represent inside our heads via phenomena on the one hand and the "boundaries and neighborhoods" on the other. Einstein's nice line about "math vs. reality" hits it perfectly ("As far as the laws of mathematics refer to reality, they are not certain, and as far as they are certain, they do not refer to reality.").

Newton's Principia was a huge step along these (and many other lines). He completely separates out the math part in the first large parts of the work. And only then does he start looking to see how the math models map onto observed phenomena.

To say it again, Science is partly about being very careful about how the definitions map to "out there".

In terms of context, if you are aware that you are in contexts -- the first step! -- and aware and careful about the ones you are using -- the next steps! -- there is a chance that "reasonable thinking" might happen.

alankay1··on Alan Kay is still waiting for his dream to come true
Bret is a great thinker and designer
alankay1··on Alan Kay is still waiting for his dream to come true
When Neil Postman was a grad student he followed Marshall McLuhan around for a few months. One thing he noted was that McLuhan -- when argued with or when asked a question never directly replied, but just came out with another one of his zinger "koans". Neil said he finally realized that McLuhan was not concerned about whether people were agreeing with him or even understanding him, but was most aimed at getting them to think at all!

I've never been able to pull this off, but McLuhan had a real point. Socrates had the idea (via Plato) that there "was truth" and careful thinking would get everyone to the same place. (Much of science has this assumption (if you throw in a lot of experimentation and debugging as part of the careful thinking). In any case, a reasonable explanation in science is not in the form of sentences.

One of the key ideas here is that modern understanding is a lot more than changing from one set of sentences to another. (This is a huge problem for humans because for tens of thousands of years and more there were no significant differences between our models and our sentences.) Now some of our models can't be reasonably represented in sentences, but for many cases we still have to use sentences to point at the models (or don't even use the models at all).

To me, the consequence of all this is that most of the work needed to be done on thinking about important difficult problems is not primarily "logic" (in the sense of dealing with premises, operations, and inferences) but "extra-logical" (trying to understand contexts and boundaries and models and tests before trying to do anything like classical thinking).

I often try to point out in talks that modern thinking is "not primarily logical" and this is what I'm driving at.

alankay1··on Alan Kay is still waiting for his dream to come true
I'll avoid trying to reply to this. The Roman poet Juvenal quipped "But who will guard the guardians?" referring to one of the main problems of any republic. Plato had one suggested solution, and the US founders had another. Today we have something quite different than either had imagined.

One key question for "civilization" has usually centered around the extent to which enough children can learn to reach beyond their genes to embrace ideas and behaviors that have been invented for the better.

Another key question revolves around the trade-offs between individual choices vs "smartest choices". This reflects the distribution of talents, outlooks, skills, knowledge, etc in any population. And also the distribution of what various people need to "feel whole". (These are often at odds with larger organizations of societies.)

alankay1··on Alan Kay is still waiting for his dream to come true
It's an extensible language with a meta system so you can make each and every level of it do what you want. And, as I mentioned, the first version of Smalltalk (-72) did not have a convention to use a selector. The later Smalltalks wound up with the convention because using "keywords" to make the messages more readable for humans was used a lot in Smalltalk-72.
alankay1··on Alan Kay is still waiting for his dream to come true
You need to have "things that can answer questions". I'd like to get the "right answer" when I ask a machine for someone's date of birth, and similarly I'd like to get the right answer when I ask for their age. It's quite reasonable that the syntax in English is the same.

? Alan's DOB

? Alan's age

Here "?" is a whole computer. We don't know what it will do to answer these questions. One thing is for sure: we are talking to a -process- not a data structure! And we can also be sure that to answer the second it will have to do the first, it will have to ask another process for the current date and time, and it will have to do a computation to provide the correct answer.

The form of the result could be something static, but possibly something more useful would to have the result also be a process that will always tell me "Alan's age" (in other words more like a spreadsheet cell (which is also not "data" but a process)).

If you work through a variety of examples, you will (a) discover that questions are quite independent of the idea of data, and (b) that processes are the big idea -- its just that some of them change faster or slower than others.

Add in a tidy mind, and you start wanting languages and computing to deal with processes, consistency, inter-relations, and a whole host of things that are far beyond data (yet can trivially simulate the idea in the few cases its useful).

On the flip side, you don't want to let just anybody change my date of birth willy nilly with the equivalent of a stroke of a pen. And that goes for most answers to most questions. Changes need to be surrounded by processes that protect them, allow them to be rolled back, prevent them from being ambiguous, etc.

This is quite easy stuff, but you have to start with the larger ideas, not with weak religious holdovers from the 50s (or even from the way extensional way math thinks via set theory).

alankay1··on Alan Kay is still waiting for his dream to come true
My perspective is that our planet is small but there are lots of people. "Biology is variation" so there are wide distributions of properties. I like the idea of "Equal Rights" (and also think that it's necessary). The systems that are critical, including the human systems, are non-linear and intertwined. The combination of these is that the human society needs to find - invent - how to organize itself.

This is very much in the spirit of the thinking that led to the American Constitution, and Tom Paine's "Instead of having the King be the Law, we can have the Law be the King".

We need solutions that allow further thinking and design to be done.

One way to look at this is to ask questions about "human nature" and to what extent does it need to be followed and to what extent should we try to teach (even train) the children to act in "designed ways" -- for example, not trying to take revenge.

The interesting and difficult parts of goals like these are that we have humans in the mix while trying to come up with better societal designs. For example, even the best forms of socialism have been "gamed" incessantly, and often fatally, by humans only interested in "harvesting" for themselves.

This is one of many reasons why well thought out versions of social reform have often been destroyed when the implementation phase is started "Every one loves Change, except for the Change part!"

alankay1··on Alan Kay is still waiting for his dream to come true
Yes, "collections" and other such things in Smalltalk are "the Christian Scientists with appendicitis". Our implementations were definitely compromises between seeing how to be non-imperative vs already having the "devil's knowledge" of imperative programming. One of the notions we had about objects is that if we had to do something ugly because we didn't have a better idea, then we could at least hide it behind the encapsulation and the fact that message sending in the Smalltalks really is a request.

Another way of looking at this is if an "object" has a "setter" that directly affects a variable inside then you don't have a real object! You've got a data structure however much in disguise.

Another place where the "sweet theory" was not carried into reality was in dependencies of various kinds. Only some important dependencies were mitigated by the actual Smalltalks.

Two things that helped us were that we did many on the fly changes to the system over 8-10 years -- about 80 system releases -- and including a new language every two years. This allowed to avoid getting completely gobbed up.

The best and largest practical attempt at an ontology is in Doug Lenat's CYC. The history of this is interesting and required a number of quite different designs and implementations to gather understanding.

alankay1··on Alan Kay is still waiting for his dream to come true
Mathematics is a plural for a reason. The idea is to invent ways to represent and infer that are not just effective but help thinking.

I don't think Smalltalk is well suited to represent any algebra (the earliest version (-72) was closer, and the next phase of this would have been much closer as a "deep" extensible language.

A data structure is something that allows fields to be "set" from the outside. This is not a good idea. My original approach was to try to tame this, but I then realized that you could replace "commands" with "requests" and imperatives with setting goals.

alankay1··on Alan Kay is still waiting for his dream to come true
A selector is an object -- so that is pure -- and its use is a convention of the messaging, and the message itself is one object, that is an instance of Class message.

What's fun is that every Smalltalk contained the tools to make their successors while still running themselves. In other words, we can modify pretty much anything in Smalltalk on the fly if we choose to dip into the "meta" parts of it, which are also running. In Smalltalk-72, a message send was just a "notify" to the receiver that there was a message, plus a reference to the whole message. The receiver did the actual work of looking at it, interpreting it, etc.

This is quite possible to make happen in the more modern Smalltalks, and would even be an interesting exercise for deep Smalltalkers.

alankay1··on Alan Kay is still waiting for his dream to come true
My goals are a lot bigger than Hoppe's (and I fervently hope for something much better than his vision).
alankay1··on Alan Kay is still waiting for his dream to come true
Take a look at the how the US responded to WWI re "free speech" etc, and you'll see that we haven't hit bottom yet. But we have fulfilled H.L. Mencken's 1919 prophesy:

“As democracy is perfected, the office of president represents, more and more closely, the inner soul of the people. On some great and glorious day the plain folks of the land will reach their heart's desire at last and the White House will be adorned by a downright moron.” H.L. Mencken, 1919

alankay1··on Alan Kay is still waiting for his dream to come true
We should get "Fast Company" to interview you -- you'd do a better job! (Actually I think I did do a better job than their editing wound up with.)

Your comments and criticism of the NSF are dead-on (and is the reason I gave up on NSF a few years ago -- and I was on several of the Advisory Committees and could not convince the Foundation to be tougher about its funding autonomy -- very trick for them admittedly because of the way it is organized and threaded through both Congress and OMB).

One way to look at it is there is a sense of desperation that has grown larger and larger, and which manifests both in the powerless and the powered.

alankay1··on Alan Kay is still waiting for his dream to come true
Yes, the SICP follows "simulate data" ideas much further back in the past, including the B5000 computer, and especially the OOP systems I did. But the big realization is that there are very few things that are helpful when they are passive, and the non-passive parts are the unique gift of computing. The question is not whether ideas from the past can be simulated (easy to see they can be if the building blocks are whole computers) but what do we "mean by 'meaning' "?

Good answers to this are out of the scope of HN, but we should be able to imagine -processes- moving forward in both our time and in simulated time that can answer our questions in a consistent way, and can be set to accomplish goals in a reasonable way.

alankay1··on Alan Kay is still waiting for his dream to come true
The Alto didn't get any faster, and there was not a lot of superfast microcode RAM (if we'd had more it would have made a huge difference). In the beginning we just got Smalltalk-72 going in the NOVA emulator. Then we used the microcode for a variety of real-time graphics and music (2.5 D halftone animation, and several kinds of polytimbral timbre synthesis including 2 keyboards and pedal organ). These were separate demos because both wouldn't fit in the microcode. Then Dan did "Bitblt" in microcode which was a universal screen painting primitive (the ancestor of all others). Then we finally did the byte-code emulator for Smalltalk-76. The last two fit in microcode, but the music and the 2.5 D real-time graphics didn't.

The Notetaker Smalltalk (-78) was a kind of sweet spot in that it was completely in Smalltalk except for 6K bytes of machine code. This was the one we brought to life for the Ted Nelson tribute.

alankay1··on Alan Kay is still waiting for his dream to come true
I should have mentioned a few other things for the later Smalltalks. First, selectors are just objects. Second, you could use the automatic "message not understood" mechanism to field an unrecognized object. I think I'd do this by adding a method called "any" and letting it take care of arbitrary unknown objects ...
alankay1··on Alan Kay is still waiting for his dream to come true
See the comment by scroot above. It meshes with yours, but recognizes that the underlying culture has gone in directions that are undermining real progress and value of life. This is why I've put a fair amount of time along with many others in trying to get elementary education to a better place. I think we'll have to grow a few generations of "civilization carriers" to pull out. (And, yes, I've been staggered at the low place that much of computing has gotten to, but it is reflecting much larger cultural problems.)
alankay1··on Alan Kay is still waiting for his dream to come true
Clear thoughts and summary!
alankay1··on Alan Kay is still waiting for his dream to come true
Take a look at the first implemented Smalltalk (-72). It implemented objects internally as a "receive the message" mechanism -- a kind of quick parser -- and didn't have dedicated selectors. (You can find "The Early History of Smalltalk" via Google to see more.)

This made the first Smalltalk "automatically extensible" in the dimensions of form, meaning, and pragmatics.

When Xerox didn't come through with a replacement for the Alto we (and others at Parc) had to optimize for the next phases, and this led to the compromise of Smalltalk-76 (and the succeeding Smalltalks). Dan Ingalls chose the most common patterns that had proved useful and made a fixed syntax that still allowed some extension via keywords. This also eliminated an ambiguity problem, and the whole thing on the same machine was about 180 times faster.

I like your biological thinking. As a former molecular biologist I was aware of the vast many orders of magnitude differences in scale between biology and computing. (A typical mammalian cell will have billions of molecules, etc. A typical human will have 10 Trillion cells with their own DNA and many more in terms of microbes, etc.) What I chose was the "Cambrian Revolution Recursively": that cells could work together in larger architecture from biology, and that you can make the interiors of things at the same organization of the wholes in computing because of references -- you don't have to copy. So just "everything made from cells, including cells", and messages made from cells, etc.

Some ideas you might find interesting are in an article I wrote in 1984 -- called "Computer Software" -- for a special issue of Scientific American on "Software". This talks about the subject in general, and looks to the possibility of "tissue programming" etc.

alankay1··on Alan Kay is still waiting for his dream to come true
Yes re: FPGAs -- they are definitely the modern placeholder of microcode (and better because you can organize how the computation and state are hooked together). The old culprit -- Intel -- is now offering hybrid chips with both an ARM and a good size patch of FPGA -- combine this with a decent memory architecture (in many ways the hidden barrier these days) and this is a pretty good basis for comprehensive new designs.
Page 1 of 12Next →