Notes on “Media for Thinking the Unthinkable”

in #tech8 years ago

These are some notes from Bret Victor's Media for Thinking the Unthinkable:

Science = SystemTheory.

Engineering = TheorySystem.

ScienceSystemEngineering (two approaches for understanding systems).

The representations that we use of the system are how we think about it. Our representations are
how we understand the system and what we understand about it.

  • In order to create more powerful systems we need more powerful representations.

Incomprehensible. Text can be a low bandwith channel (think of it as lossy compression). Instead of letting
the readers create a [probably] incomplete picture in their heads, we can transmit the information
in a higher bandwidth medium:

Understand the picture in the writer's head and instead show that.

  • Don't stop at describing the system, show its behavior, how it works.

Just as there are odors that dogs can smell and we cannot, as well as sounds that dogs can hear and we cannot, so too there are wavelengths of light we cannot see and flavors we cannot taste. Why then, given our brains wired the way they are, does the remark ‘Perhaps there are thoughts we cannot think’ surprise you? Evolution, so far, may possibly have blocked us from being able to think in some directions; there could be unthinkable thoughts.

Richard Hamming — The Unreasonable Effectiveness of Mathematics in the Natural Sciences

Unthinkable thoughts?

  • We can't see cells or galaxies, but by building tools like microscopes and telescopes we can
    first perceive them and then understand them.

There could be unthinkable thoughts...

...yes, but, we can create tools that adapt these unthinkable thoughts to the way our minds work
(and so we can think about them).

  • Bret mentions that "writing made thoughts visible". I'd complement that with language makes
    thoughts transmittable
    . Not only to others, but to ourselves (be it by writing them or by saying
    them aloud). As he mentions though, speech is transient, fleeing.

  • WritingReasonRational thinking.


It took us ~800 years to go from this:

To this:

Easier to think about, easier to manipulate. What if x is not a number but a concept like a
velocity, or going further, a member of an abstract group?

  • It's interesting to note that the birth of mathematics as we know them today is not a mathematical
    concept per se but a better user interface.

  • Thinking unthinkable thoughts → Representations to make invisible things visible.


Jerome Bruner talks about three different ways people think about things:

EnactiveIconicSymbolic

In modern UI terms they might be:

InteractiveVisualSymbolic

Interactive: thinking by doing (actively exploring).
Visual: thinking by seeing (especially seeing many things in parallel (it allows us to do
comparisons/analogies/etc).
Symbolic thinking by logic, reasoning (think of code, equations, written text).

  • Moving from something in symbolic mode (like a circuit diagram) to an interactive mode (watch the
    video
    ) changes the way we think about the system. We can manipulate it, test assumptions, and in
    general, play with the system to get a better understanding of it. The results of all these things
    are visible to us by working in "visual mode", so by combining the three of them we can get a
    better understanding of the underlying concepts.

By manipulating symbols inside a system (playing with it, see Explorable
Explanations
) we can start to develop an intuition
about the problem.


How do we create these representations?

There's a great expresiveness and directness in drawing, when you want to see something it's right
there. Drawing is too limited though (wheter it is on paper or in Illustrator). Traditionally we've
moved away from drawing and instead we write code that does the drawing. Code is the perfect example
of the symbolic mode we talked about before. Instead of worrying about code, we can create tools
that help us draw these dynamic visualizations.


To summarize:

To get a better understanding of systems we need:

  • We need to see the behavior of the system.
  • We need to see the state/variables of the system, make comparisons, etc.
  • We need to see multiple representations of the system.
  • We need to be able to interact with the system.
  • We need to abstract individual systems and look at families of systems (to compare them, extract
    common knowledge, abstract even more, etc).
Sort:  

Congratulations @febuiles! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Semi Finals - Day 1


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @febuiles! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 56912.97
ETH 2334.70
USDT 1.00
SBD 2.37