Honorary Doctorate Speech at Kyoto University

From Viewpoints Intelligent Archive
Jump to: navigation, search
so thank you very much I
don't  understand
Japanese so it was very easy  to
sit through the introduction
as
I  mentioned a little while ago during the
  ceremony this
day is a day in  remembrance
of our friend Minko  kambayashi
who just
a few days from now
  five years ago died
suddenly of a  cerebral hemorrhage and
shocked all
of  us who knew him and loved him and
I
gave  the title of this talk before
I prepared  it and when I started
actually turned into a somewhat  different talk
so hopefully you'll
like  the talk i'm going to give rather
than  the one I'm not going to give
and our
  friend kambayashi San was a
man who  improved
the present and looked into
the  future and tried to help it grow and
besides
his great interest in children  he was Dean
of informatics here and a  computer
scientist for for many years  and
one of the things that we wonder  about in computing
is does computer  science
itself have a future and
what I  mean by that is not whether
computing  has a future because it is obviously
  inserted itself into every part of
the  lives of ever
more people on the on the  planet
but whether the
forward-looking
  study and understanding and
invent  of computing
that's another story  because
in fact compared
to much of the  work that was going on in the 60s
and  70s when people were actively trying to
  find out what a computer science could
  mean much less of that kind
of inquiry  is going on today and
by this I mean  little science
word in computer
science  come to mean something like
the other  real sciences or
will it be like the  science and library science or
social  science which means
a gathering of  knowledge but not in
the principled way  that physics and chemistry
and biology  have
been able to revolutionize our  understanding of
phenomena by using very  different
techniques than simply the  gathering of knowledge and
similarly
we  have a term called software engineering
  which was also an aspiration
in the late  60s and
the aspiration was to be
a  discipline like that which
caused the  empire state building
to be built in  less than a year including
the  demolishing of
the original site less  than
a year demolish build the empire  state building and
start occupying it  done by
a little less than 3,000 people  I
don't think there is any large-scale
venture we could do in computing today  that
could organize 3,000 people to do  something
as involved
in complex an  artifact as the
Empire State Building so  both these cases the
Science in Computer
Sciences and aspiration and the  engineering and software
engineering is  an aspiration and the question is
  whether these aspirations can be turned  into something
or whether what we have  right
now will be deemed
good enough and  I don't think it I don't think it
is  good enough so here's a one way to
think  about one or two of
the problems a
  400-page book is about twenty thousand
  lines of some language and
the foot of  books is about
fifteen books and about
  three hundred thousand lines in some
language and the Empire State Building  is about
twenty two thousand books high  or about
440 million lines in some  language
and seems like a lot
but  consider that just
Microsoft Vista and  the microsoft
office together are
about  260 million lines
of code that's about  thirteen thousand books
nobody has ever  read those books I
don't think anybody  at Microsoft
could tell you exactly what  that code does
could tell you how to fix  it could tell
you how to improve it and
so we take two extremes
looking at these  figures one extreme
says well that's the  size that's the actual
complexity of the  functionality delivered
here that
in  functionality by the way required me
to  reboot my computer before
giving this  talk because it couldn't adjust the  software
on it couldn't adjust to the  projector in
such a way to allow the  application to display
the full screen  correctly so
in those two hundred sixty  million lines of code at least that
  feature is not in there yet
so that will  probably require an
  a million lines of code or
the other  extreme is that
this 260 million
lines  of code is grossly
bloated
that very
little that contributes to any kind of  functionality whatsoever
and it's really  kind of a mess
n I'm not really just  picking on
Microsoft because a very  large worldwide
company I call it lfp  for
large financial product company
  their suite of products
comes to about  350 million
lines of code or about  17,000
books and their user interface  has a
grand total of one hundred and  forty five thousand
different screens  they use
that term screens because i  think they are still
living back in the  days of the IBM 3270 where
that term was  actually invented so
I doubt seriously  whether the functionality
actually  delivered is in any way
commensurate  with the amount of code that
people have  to deal with and of course that code is  not
organized nearly as nicely as a book  that
actually looks more like like this  looks like kind of like a garbage
dump  that's kind of what it is and
it's the  kind of thing that would be condemned
if  anybody could ever look at it but
if you  look at a garbage dump through
a window  about this big a little
part of it only  looks slightly messy
if you could look  at the entire garbage
dump of code I  think we would be horrified
that's not  really a dumb
because people have to  live
with this people usually don't live  on a dump so
perhaps this is a city  after
a great disaster where people
are  still forced to live
and part of this I think comes
from the  small horizons that
our brains naturally
  have our brains
are set up to worry  about what's going to happen
the next  few minutes and next few hours and we
can remember fairly vividly the things  that happened a
few minutes ago and a  few years ago
but everything else is  kind of blurry and
because nothing
much  happened 100,000 years ago
the evolution
  didn't make our brains
to be in tune  with the idea of progress as
our brains  are made for coping not for
progression  and so if there is a change it's a  little
change one way or the other or a  complete disaster but
the idea of making  things remarkably better
in some way is  not in our common
sense reasoning the  problem is we live
in a time where this  little window of
a few years behind 1970
  and a few years ahead of 1970 it
actually part of a progression looks  kind of like this
partly caused by  Moore's Law
and partly caused by the  Industrial
Revolution and a number of  other factors
and the problem
is is that  when you look at a small
exponential curve that can look linear  and our
brains love linear things and so
  we actually have to focus our will on
  change
  to try and understand whether
this  change is actually really a linear  change
like our brains wanted to or  whether it's one of these horrible
so
  again because our our brains are so
  limited whenever we have
to deal with  very large things
we're just overwhelmed  by them and we start
turning large  things into religions
so instead of  thinking about the
content of 10,000  books we start believing
it so 200  million lines of
code is too large for  us and most
people have never read a  thousand
books so 20
million lines of  something is a lot and
if somebody were  to present
us with a hundred books worth  of something that's a lot
10 books
we  can get through 10 books is maybe what
we're supposed to read in a in a year at  college
so that's one thousandth the 200
  million lines there and one book is
omething we could probably handle  twenty
thousand lines of something we  could handle if you could imagine a  large
software system
that could be  expressed in twenty thousand
lines of  something that
would actually be  something like a Moore's law for  software
right now we have an inverse  Moore's law
for software because as the
  positive Moore's law for software for
  hardware is chugging along we have the  interesting
property that but much of  the applications
we use on this machine  anyway actually
take longer now to load  than they did 20 years ago
so what it  means is is that
no matter
how much the
  silicon factories in the world are
  improving the speed and
capacity the  software people are actually taking
that  speed in capacity away
now of course this might be necessary  I've
met many people who think this is a  necessary thing
that actually what we  have today is the best
of all possible  worlds so we'll we'll
see whether that's  really true now the other
problem is  that 20,000 things
can be too much so  here are 20,000
wires this is a real  picture and on a staged
picture I'll not  tell you where it this
picture was taken  but the
person who started this off did  it very innocently
one place had to be  connected to another place and
person got a wire and connected it up  and another
place had to be connected to  another place and so
that person or  another person got a wire and connected  it
up and pretty much pretty soon they  had this
and this is kind of the way  most software grows
simple
little things  can be handled but if
those things don't  scale you wind up with this and
the
couple of years I've been asked  embarrassing questions by
my wife who is  a writer and a
an artist and here
is a  actual screen
shot of her cinema sighs  display
at her home and
I just  segregated the software
questions about so as one kind of  software on
the Left can sort of see  what it is and there's
another kind of  software on the right and her question
  is well in these apps here
on the Left  like Microsoft Word and
photoshop and so  forth I can
she says I can see and do  WYSIWYG authoring so
the stuff is right  there and I
can make a change in it and  it shows me the change and it's
fairly  easy to work with but
right all the stuff that has to do with  the web well
it isn't WYSIWYG and so
I  have to go into special editing modes I  have to
use the wiki I have to edit  through a keyhole I have
to do many  different kinds of
things well it's  embarrassing enough for
her to ask me  about that
  what's even more embarrassing is the  stuff
she likes was invented in the 70s  the
stuff she didn't like was invented  in the 1990s
about 20 years later so
in  fact a large percentage of
software a lot of people used today  because it's connected
to the web is  actually inferior
to stuff that was done  before and for
no good reason whatsoever
there was nothing about the
web that  prevents
it from being WYSIWYG and easy  to use
it was the people's attitudes
who  did the web browsers that prevented this  not
anything technical and so
we call  lists reinventing the flat tire
in most  sciences
your cautioned against  reinventing the wheel
because you're  supposed to have read
about what people  have done before and
but it happens but
  it's really bad when the reinvention of
  stuff is worse than the original stuff  because
people have paid attention to  what's what's
been going on and so
basically we could say the present
  doesn't compute we're in a
situation  where the hardware capacity
allows a lot  of stuff that
doesn't scale very well to  barely survived
but in fact it survives
  at the expense of being able to improve
  it make changes understand
forth so this is what we want to look at  in this
little talk today
when way of  looking at this is when a new
idea  appears like the printing press there
  are two separate ways of looking at this  new
idea one is as news news
is  incremental to what you already know and  so
when the people saw the Gutenberg
  Bible their reaction
was oh this is I  understand this
this is doing much more
cheaply a much  more quickly what the monks did
by hand  so this is an improvement to
what I  already know and in fact the Catholic  Church
did not think to suppress the  printing press because
it seemed to be  working
for them who's making more
  Bibles but along with news if
the idea  has some
potency there's also new and
what was knew about the printing press  was going
to be in about a hundred years  or so was
the invention of science and  the invention of new ways
of governance  so Kings were on their
way out and the  power of the Catholic Church
was on its  way out and nobody realized it because  they
didn't think about what was knew  about the printing press and
usually  when something new comes along there's
a  change in outlook it's not just
something incremental there's a  different way of looking at things and
  in this case the outlook shifted from a
  world that believed things to
a world in  which people started learning
how to  argue about things how
to be suspicious  of things rather than believing
things  and the
problem with ideas is
that our  brains are set up for News News
is  simple news
is incremental it can be  told very quickly we've
been doing it  for a hundred thousand years but new
  might require you learn something
for  five years before you can truly  appreciate
the new idea sonu
is not very  popular most things
that are new are  converted into news or done away with
  entirely they're modified
in some form  that tries to
kill off what's new and  just use it as something
that's a mere  improvement rather than a change
  everybody likes change if
you talk to  them everybody likes
change except for  the change part so
people are talking  about change all the time but the
the  actual ability
face of a new I  is very difficult for
most people in our  favor
Canadian Marshall McLuhan said
  this about goldfish I don't know who  discovered
water but it wasn't a fish  but he meant we are the fish
and the  water the fish is swimming in is
our  beliefs most
of our beliefs we can't see  we can't even remember that
we have them  because we treat our beliefs as reality
  rather than
arbitrary things that
we  just happen to learn because we grew
up  one place and not another I McLuhan
was  very good at pointing out the
difference  between news and new
so one of the  things he pointed out about news is
that  the present for most people is only seen
  in terms of the past it's
interpreted by  what people already
know and it's  thought of as reality
well it seems  reasonable I mean that's
all we bring  isn't it into each present
moment is the  sum
total of what we have been how can  we deal with
the President and nettie in  any other way
one of his great lines was
he said until I believe it I can't even  see it
another thing
McLuhan said is  that you
shouldn't try
to worry about  whether something is true or false
or  good
or bad when you first encounter it  because
if you do you're bringing your
  past to make that judgment instead
of  worrying about things are good or bad  true
or false you should simply try and
find out what is going on and he meant  try to look
at the present as it is
so  this is a new idea for humans
because  most humans are brought up in a culture  and
they think of new as
something that  is damaging
to their reality
rather than  thinking of their reality
as a  construct an ax and a perspective
and  McLuhan pointed
out that artists and  scientists can see some
of the present  for itself and they do this in different  ways
and because they can see the  present a little bit they
can also see a  little bit of the future that
is  basically what we have to do in
our  field and also for our children
now why  is this difficult
it has to do with the  makeup of human
genetics across the  planet
we can learn new behaviors
but  part of our behaviors come out of what
  we are as human beings for instance if  you look at
human beings across the  planet and give
them present them with a  new tool or a new idea
about ninety-five  percent of them will
evaluate that new  tool or idea as to
whether it  contributes to
their current goals so  most people are already working
things they have plans they have goals  and
they stick to those plans and goals  very strongly and
if the new tool or new  idea doesn't contribute
to those plans  or goals they will reject
it but about  five percent of its look
at it in a  different way five percent of
human  beings might change their current plans  and goals
in the presence of a new idea  so it's one in
20 now if we look at  human beings in
a different way  eighty-five percent of
us do most things
because
other people deemed them and  important doesn't
call outer directed  the
goals that are chosen the rewards  that are gotten
our gotten by living in  a society makes sense because
we're  social animals about fifteen percent
of  us have more inner rewards
or less  affected by what
other people think and  if you combine these two
ways of looking  at things you got a picture that looks a
  bit like this where only one percent
of  us is inter directed
and interested in  ideas and tools and
the other extreme  is that eighty percent
of us is outer  directed and
very conservative
holding on to our goals and very  instrumental in our thinking
these are  the two
dominant reasons why new ideas  have a hard
time penetrating and the  newer an idea
is the more unusual it is  the
more difficult it is because the  eighty percent of us
actually doesn't  think about the ideas so
much as looks  for consensus and so
a typical time even
  for trivial ideas to reach
consensus for  the eighty percent is about
thirty years  and more complicated
ideas may take 50  years or
even longer so for this group
  change has to be more or less almost  agreed
on by everybody before the change  happens
and then four
percent of us  think a lot of engineers
are in this  group are interested in
ideas and tools  and want
to work on problems the society  deems important and
about fourteen  percent of us is very
dangerous if you  think
about what it means to be inter
  directed and very stubborn in your own
  pursuit of goals this group
makes a lot  of politicians and
managers and so forth
  so they this is a tough group to
with so this is a very simple way of  looking
at human beings but it
gives a  lot of explanation as to why though
is relatively simple to come up with  brand new ideas
that are very powerful  it is very very difficult
to disseminate  those ideas
so we go back to 1970 and  take
a look about what was news back  then it was mainframes
the spinning tape  drives
big computers owned by companies  sort
of factory models of computing
and  a strong belief that
you should always  get hardware and your operating
programming language and your tools and  your user
interface from a vendor they  should
not try to make your own and many  of these
ideas are still very prevalent  today
for instance cloud computing and
  dealing with vendors covers the space  very
well and
then right at the same  time about
two dozen people from a  community of several hundred
at xerox  parc were doing
things that were  completely at odds with the news
so  personal computing
distributed networks
making
your own tools doing everything
  that was new and the
focus was not on  factory computing but
on but on end  users so
these are if you will this is  the eighty percent versus
the one  percent and the
outlook of
the
this  group is
a little too complicated to try  and sum
up in a talk so I just picked  one
one part of the outlook that I think
  is kind of a good way of thinking
about  the way this research
community thought  and that is it was a no
centers outlook  that
is no discernible center no
  hierarchy and
because this group was  also responsible for
inventing the  internet
simple way of thinking about  this is that everything
is kind of like  the internet so
the network's themselves  were distributed
whether it was a  ethernet or an Internet
inside the  computers there was no operating
system  there was what you might think of
internet all the way down it's kind of  interesting to think about a
machine  like this in
which if you calculate it
out it has about the capacity and the  entire  computing
power of the entire Internet  in the
80s Moore's
law and so you'd  expect if you looked inside
here you'd  find something that had thousands
of  virtual machines and dozens
of physical  processors acting
very much like your  own local internet
in fact being a cash  for
the process he's running on the  internet that's kind
of the way we  thought of it back then but instead
what  you find is something from the 60s  called an
operating system that  essentially stovepipes
most things in a  very very bad
way makes it very  difficult
to integrate things whereas  it's very easy to integrate
on the  internet
and of course if you have a  distributed
physical
or virtual object  system sending
messages around you don't  need a programming language
because  you're already sending
in a programming language and that  context
is simply putting some sort of  reasonable syntax on
the messages now  just think if the
people who many years  later did HTTP
realize what they were  doing they
could have come up with some  conventions for using HTTP
which would  have made it the programming language of
  the entire internet that would be  incredibly
useful instead of the ad hoc  set
of know 20,000
wires or the garbage  dump that
we have today but they didn't  realize
what it was that they were doing  and
of course people talk a lot about  mash mash
ups but in fact that was
the  way things were done back in the 70s
because that's what you get when you  have objects
that integrate through a  user interface
so and the
inner the user  interface does not care where
is that's actually generating these  things it's a
way of presenting a whole  bunch of things that
same  I'm in
some relationship and these  relationships
can be driven by by
making  relationships between them and
so what  we would call an application would
  actually be just a set of useful objects  working
together with no stovepiping  like we have today
then finally the idea  was let's not
have any mainframes let's  just make zillions
of personal computers  and
these personal computers themselves  had
virtual processors so the original  Alto at
xerox parc had 16 virtual  processors
so the whole thing was done  without
centers from top to bottom the
  hardware and the software and of course  some
of these ideas came out into the  80s
and we use them today but what's  interesting is
what ideas did come out
which were mainly the ones that had no  competitors like
the ethernet there just  wasn't anything that competed with it  and
to a much smaller extent the user  interface
but in fact as
programming techniques and the  architectural techniques
almost none of  it came out what
we got is what we had  in
the early 60s and pretty much what we  have today
and underneath this is this
  glorious thing called the internet which  now has
several billion knows has never  broken has
never had to be stopped in  order to be fixed all of those
things  that could be possible with the software
  systems of today but because of the way  they're made
simply aren't have never
happened and it'll be very hard to make  happen in the future
so one of the
ways  you get rid of 20,000 something's is
by  finding an abstraction that
will deal  with what what this
thing is doing what  this thing is doing is simply getting
messages to go from one place to another  and
the being able to string a wire from
one place to another means that at some  point you have to
being able to send a message from any  one node to another
node and by the way  that's just what the
  ethernet and the internet do but
they  did it by virtualizing what
used to be  switches into a message
passing  situation and so
instead of having an  increment that doesn't scale
you can  almost always make something
that scales  very very well by completely
  virtualizing the computer you have into
  some new kind of computer that's kind of  the message
of this talk so
when  computers came about
they had features  let's
make more of them the
message of  personal computing was the it's the end  user
that's the important part of this  because
a human is going to wind up  using them and therefore
the hard part  of the design problem has to do
with how  you deal with the end user
one of my  favorite
people on the planet is  Jeanette wing
she is
great computer  scientist theoretical
computer scientist  the Dean of computer science
at CMU and  she's currently the funder of most
he computer science funding in the  United States and
you can see she has a  very unique way
of teaching because she  is a black belt in
karate and I  understand the
students in her class  really listen when
she talks and her
  definition about computing
is it's the  automation of abstractions which i think  is a pretty
good sentence
but we have
to  think about that for a second because
  what if you were born in
10,000 BC with  an IQ of 500
or what if you were born  Leonardo
in the 15th century
leonardo  was smarter than anybody in this room  but
he couldn't invent a single motor  for
any of his vehicles that he wanted  so
even though he was smarter than most  of the people who have ever
lived on the  planet he wasn't smart enough he
to be  born into a different century
here's a  guy who wasn't nearly as smart as
  Leonardo Henry Ford but
he was born at  the right time when there is knowledge
  that came out of science and
the  improvements in engineering to
start  inventing internal
combustion engines  which had been invented a few years
  before in Germany and all of a sudden  that
plus the Industrial Revolution  allowed
Henry Ford to make vehicles that  Leonardo
could only dream of by the  millions so
knowledge generally Trump's  IQ
if you know a lot it helps
mart but if you're smart and you don't  know a lot it
doesn't help much and  finally
what's more important than  knowledge is
outlook I realized when I  was explaining
this talk this morning  that I should have put Isaac Newton
in  there because it was Newton more than  any
other single person that made Henry  Ford possible
by completely changing
outlook on what the physical universe  was like as
far as European civilization
  was concerned what outlook does
is to  give you a stronger way
of looking at  things by
changing your point of view  and that point of view informs
every  part of it it tells you what kind of  knowledge to
get and it also makes you
  appear to be much smarter so
a person  with relatively normal IQ plus
the  calculus is smarter than our committee  Archimedes
was in ancient Greece
so I  like to say knowledge is silver but
  outlook is gold I dare
say that in most  schools in the United
States most  universities and most graduate schools
  attempt to teach knowledge
rather than  outlook and yet
we live in a world that  has been changing out from
under US and  its outlook that we need to deal
with  that and by contrast to these two IQ
is  just a big lump of lead
  it's one of the worst things in
field that we have clever people in it  because
like Leonardo none of us is  clever
enough to deal with the scaling  problems that that we're dealing
with so  we need to be less clever and be
look at things from better points of  view so
if we go back to Jeanette here  what we really
want to say is computing  is the automation of abstractions
in  powerful outlooks we
must find those  also now
if we go back to reinventing  the flat tire question
what's in the  browser
well JavaScript it's a  programming
language the do em
and other  graphics not very good
but what's  interesting is the two of these together
  is
more powerful
computationally than  the alto was it park in the 70s
and the  alto could do all of these things
user  interface and the development
system and  desktop publishing all of that stuff  WYSIWYG
in about 10,000 lines of code
  it's not a
lot of code this
code was  virtualized and so if
we go back to the  browser again we
could say well why  don't we just do it Xerox
PARC let's  let's forget about JavaScript and
just  use JavaScript as an alto it's actually  faster than
an alto but let's not let
  JavaScript seep into the better
  architecture we need to do
our WYSIWYG
  environment inside a browser so
going to draw a line there and we're  going to say okay this
is machine code  here it's not
the way we want a program  but we can make something out of it
so  we get the guy who did this at
xerox  parc originally dan ingles and on
top of  that we put a real architecture
known to be able to build these kinds of  environments and lo
and behold if you go  to
lively
colonel  type lively colonel into
google and do  it in Safari especially you'll
get to  see an entire WYSIWYG environment
done  completely in the browser without any  downloadable
executables this has always  been possible
and I believe it is a
  black mark against our field that even
though it has always been possible  almost nobody who's working
with this  modern software realizes
it's impossible  or realizes how to do it this
don't think we quite have a real field  now
I believe we're in danger of losing  computer science completely
so one way  of looking at it is
the simple way of  looking at computers is they
can be  programmed and people
are incrementing  this by making systems using
programs  that are kind of like the computer that  are programming
language their programming  with
but in fact the computer is more  interesting
than that it can be  programmed to be like any mechanism
you  want including a completely different
kind of computer completely different  kind of programming language and
that's  what we should be doing I believe
most  of the sludge most of the bloat has
to  do with trying
to make very very large  structures out of
just bricks rather  than trying to invent arches
so
  inventing abstraction here is something
  that we have to be very careful with we  don't
want to take the news the
abstractions that come to mind when you  think of
aggregating blick bricks you  get piles
and walls and what we need are
  these non-obvious structures that
give  us enormous ability to scale
without  having
to use lots of material
and in  fact abstractions that
have great power  tend to be able to go on t-shirts
so  Maxwell's
equations it's not it's not a  complete test
but generally speaking if
you have a good idea you should be able  to invent the mathematics
express that idea  so Maxwell's
equations works pretty well  equals mc-squared
works pretty well you
can put the American Constitution on a  t-shirt and
you can put the
programming language and maybe still the  greatest of all
time
something like a system psychology in  that