The world is a dynamic mess of jiggling things–if you look at it right. And if you magnify it, you can hardly see anything anymore, because everything is jiggling in their own patterns, and there are lots of little balls and... It's lucky that we have such a large scale of view of everything that we can see them as things, without having to worry about all these little atoms all the time. permalink
A drawing is an archive of its maker's muscles. permalink
Hardware: the parts of a computer system that can be kicked. permalink
Dynamics (physics) simulations consist of objects and data. Objects are merely repositories of data. When you see an object, such as a 3D ball on your screen, it’s because the object has geometry data attached to it, which by convention a 3D software package draws in the viewer and renders.
The data attached to objects is, in some sense, arbitrary: it can be pretty much anything. There are no constraints on how a piece of data is named or what it contains. But only certain names and types of data are meaningful to dynamics solvers. permalink
Artificial intelligence will not replace artists, but artists who decide to not use it, could be replaced by artists that do. permalink
I divide my officers into four groups. There are clever, diligent, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and diligent -- their place is the General Staff. The next lot are stupid and lazy -- they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the intellectual clarity and the composure necessary for difficult decisions. One must beware of anyone who is stupid and diligent -- he must not be entrusted with any responsibility because he will always cause only mischief. permalink
Pour des raisons suffisamment évidentes chaque génération traite la vie qu'elle trouve à son arrivée dans le monde comme une donnée définitive, hors les détails à la transformation desquels elle est intéressée. C'est une conception avantageuse, mais fausse. A tout instant, le monde pourrait être transformé dans toutes les directions, ou du moins dans n'importe laquelle; il a ça, pour ainsi dire, dans le sang. C'est pourquoi il serait original d'essayer de se comporter non pas comme un homme défini dans un monde défini où il n'y a plus, pourrait-on dire, qu'un ou deux boutons à déplacer (ce qu'on appelle évolution) mais, dès le commencement, comme un homme né pour le changement dans un monde créé pour changer. permalink
Failure free operations require experience with failure. permalink
Most people find the concept of programming obvious, but the doing impossible. permalink
Imagine a world in which physicists did not have a single concept of equations or a standard notation for writing them. Suppose that physicists studying relativity wrote the "einsteinian" m ↗ c2 ↩ E instead of E = mc2, while those studying quantum mechanics wrote the "heisenbergian" ; and that physicists were so focused on the syntax that few realized that these were two ways of writing the same thing.
Computer scientists are so focused on the languages used to describe computation that they are largely unaware that those languages are all describing state machines. permalink
Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells.
A computational process is indeed much like a sorcerer's idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer's spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform. permalink
Mechanics is the study of those systems for which the approximations of mechanics work successfully. permalink
The "easy to learn and natural to use" has became a sort of a god to follow. The marketplace is driving it, and it’s successful, and you could market on that basis. But how do you ever migrate from a tricycle to a bicycle? A bicycle is very unnatural and hard to learn compared to a tricycle, and yet in society it has superseded all the tricycles for people over five years old. So the whole idea of high-performance knowledge work is yet to come up and be in the domain. permalink
Looking back, I think we made a complete mistake when we were doing the interface at PARC because we assumed that the kids would need an easy interface because we were going to try and teach them to program and stuff like that, but in fact they are the ones who are willing to put hours into getting really expert at things. permalink
User tests revealed that casual users don’t easily understand the idea of references, or having multiple references to the same value. It is easier to understand a model in which values are copied or moved, rather than assigning references. permalink
Have you ever put together a jigsaw puzzle? Takes a lot of time and effort, right? What if, when you were finished putting it together, a friend of yours looked at it and said "Yup, looks done" — and then started telling everyone that HE was the one who solved it? permalink
A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. permalink
It has always seemed odd to me that computer science refers to the number of operations necessary to execute an algorithm as the “complexity” of the algorithm. For example, an algorithm that takes O(N3) operations is more complex than an algorithm that takes O(N2) operations. The big-O analysis of algorithms is important, but “complexity” is the wrong name for it.
Software engineering is primarily concerned with mental complexity, the stress on your brain when working on a piece of code. Mental complexity might be unrelated to big-O complexity. They might even be antithetical: a slow, brute-force algorithm can be much easier to understand that a fast, subtle algorithm. permalink
Layers, modules, indeed architecture itself, are means of making computer programs easier to understand by humans. The numerically optimal method of solving a problem is almost always an unholy tangled mess of non-modular, self-referencing or even self-modifying code - whether it's heavily optimized assembler code in embedded systems with crippling memory constraints or DNA sequences after millions of years of selection pressure. Such systems have no layers, no discernible direction of information flow, in fact no structure that we can discern at all. To everyone but their author, they seem to work by pure magic.
In software engineering, we want to avoid that. Good architecture is a deliberate decision to sacrifice some efficiency for the sake of making the system understandable by normal people. Understanding one thing at a time is easier than understanding two things that only make sense when used together. That is why modules and layers are a good idea. permalink
In my opinion, what many people mean by the word "understand" simply isn't practical or relevant to mathematics. For example, it often carries the connotation that understanding something means reducing it to something obvious (e.g. something the speaker can "picture"), or that understanding is about what something "is" rather than about how you can use it. permalink
The industrial explosion on earth began just two or three hundreds years ago. Now if technological civilizations can last tens of thousands of years, how do you explain the extraordinary coincidence that you were born in the first few generations of this one? permalink
The ultimate display would, of course, be a room within which the computer can control the existence of matter. A chair displayed in such a room would be good enough to sit in. Handcuffs displayed in such a room would be confining, and a bullet displayed in such a room would be fatal. permalink
L'expérience mystique est une expérience corporelle, et non pas simplement intellectuelle, de l'acquisition et de la transmission du savoir. C'est l'idée que la connaissance s'acquiert par la chair, par le déni et le contrôle de la chair, à travers la souffrance exercée sur son propre corps. Ce monde-là, cette "forme de vie" qui est celle du ressenti, de la compréhension corporelle, est un monde qui n'est plus immédiatement intelligible passé la fin du XVIIe siècle. Michel de Certeau l'avait élégamment montré, et Pierre Chaunu l'avait souligné dans un article sur ce qu'il appelle le "tournant antimystique" de l'Europe catholique dans les années 1660-1680 . Il s'opère au fil du XVIIe siècle une espèce de grande remise en ordre des savoirs et des expériences, qui dissocie de plus en plus la connaissance de l'expérience corporelle. Et c'est la montée en puissance de la médiation du texte, du livre comme support du savoir, qui autorise cette disqualification du corps comme lieu du savoir. On n'apprend plus dans une relation corporelle en face à face avec un maître ou avec Dieu, on transite par le corps intermédiaire d'un imprimé, de quelque chose qu'on peut "détacher" d’une situation donnée. A la fin du XVIIe siècle, ce monde d'avant, cet univers de l’expérience mystique, n'est déjà plus compréhensible, alors comment le serait-il aujourd'hui ? permalink
Museums have separated art from normal experience. permalink