My search began when I realized that I was confused. I was confused by what people did and what they said. I was confused by my responses to other people, how interacting with other people affected me. And I was confused about how I worked. Why I did the things I did, why I felt the way I did, why sometimes things were easy for me, and sometimes they were hard.

I learned very early in my life that I needed to critically analyze what other people told me. Not simply to identify truth or falsehood, but to identify useful messages in lies and harmful messages hidden in apparently truthful statements.

At the age of 11 I taught myself to program on a TRS-80, and in the process I discovered how to learn through play and exploration. Of course I had been learning in this way all along, but this was when I discovered the truth about how I learned. This realization has changed my approach to everything.

Computer programming confused me, so my search continued. By focusing on how I thought about programming, I quickly became very skilled. I learned how to explore problems and dissolve them into useful pieces. I learned how to design and express solutions in many programming languages and environments. I learned the theory of computation and how it is tied to philosophy, logic, mathematics and natural languages.

I worked in industry for 20 years, starting with internships. I've worked on large and small systems in low level and high level languages. I've done signal processing for engineering systems and developed web interfaces. I've worked alone, and in teams. I've run software teams launching companies.

Programming still confused me. I was frustrated and confused by how difficult it was to do programming well. In general it is very difficult to implement a simple idea, in a simple way that is simple to use. Even under ideal circumstances and in the best designed system, complexity grows faster than the code base. This dooms many projects to failure.

I am now coming to grips with the true nature of this problem, and with its solution. The problem rests in the nature of knowledge and meaning. The implications extend far beyond computer science and I intend to write articles on this topic for Less Wrong.

A core idea that I am exploring is the context principle. Traditionally, this states that a philosopher should always ask for a word's meaning in terms of the context in which it is being used, not in isolation.

I've redefined this to make it more general: Context creates meaning and in its absence there is no meaning.

And I've added the corollary: Domains can only be connected if they have contexts in common. Common contexts provide shared meaning and open a path for communication between disparate domains.

A core idea that I am exploring is the context principle. Traditionally, this states that a philosopher should always ask for a word's meaning in terms of the context in which it is being used, not in isolation.

I've redefined this to make it more general: Context creates meaning and in its absence there is no meaning.

And I've added the corollary: Domains can only be connected if they have contexts in common. Common contexts provide shared meaning and open a path for communication between disparate domains.

Some examples: In programming, an argument or m... (read more)

-3adsenanim10y"The implications extend far beyond computer science" In one way they do, in another they are very simple. "The problem rests in the nature of knowledge and meaning" Some things have simple answers, others are complex, but, if there is a mind to ask the question, then?

Welcome to Less Wrong! (2010-2011)

by orthonormal 1 min read12th Aug 2010805 comments

42


This post has too many comments to show them all at once! Newcomers, please proceed in an orderly fashion to the newest welcome thread.