HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Media for Thinking the Unthinkable

Bret Victor · Vimeo · 41 HN points · 20 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Bret Victor's video "Media for Thinking the Unthinkable".
Vimeo Summary
Presented at the MIT Media Lab on April 4, 2013.

Talk outline: http://worrydream.com/MediaForThinkingTheUnthinkable/
Personal preface: http://worrydream.com/MediaForThinkingTheUnthinkable/note.html

For more information about the demos --

1. Scientific paper. http://worrydream.com/ScientificCommunicationAsSequentialArt/
2. Circuit. http://vimeo.com/36579366
3. Digital filter. http://worrydream.com/ExplorableExplanations/
4. Multitrack signal processing. (first time presented)
5. Nile viewer. https://github.com/damelang/nile
6. Drawing tool. http://vimeo.com/66085662

Bret Victor -- http://worrydream.com
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
> It's not deliberately designed to keep people out

Surely you must realize that you're protesting this because it has this reputation, though?

And surely you must realize that it has this reputation for a reason?

When I was a teenager and took my first calculus course, I struggled with summation for three days. When I finally went to my dad he looked at me funny and said "your teacher is an idiot, isn't he? It's a for loop."

I had been writing for loops for seven years at that age. I almost cried. It was like a lightswitch.

The problem was always that nobody had ever actually explained what the symbol meant in any practical way. Every piece of terminology was explained with other terminology, when there was absolutely no reason to do so.

Mathematics has the reputation for impermeability and unwelcomingness for a reason.

It's because you guys are ignoring us saying "we want to learn, please write out a cheat sheet" and saying "yes, but don't you see" instead of just building the easy on-ramp that every other field on earth has built

.

> > You might be tired of wandering into someone else's area of expertise and telling them: > > You must change! You must make it more accessible!

No, we generally just fix the problem. If people are saying "this isn't accessible enough," we just work on it.

I would like for you personally to be aware of Bret Victor's work. He's incredibly potent and clear on these topics.

Programmers work really really hard on learnability and understandability. This is a big deal to us. That's why we can't understand why it's not a big deal to you.

http://worrydream.com/LearnableProgramming/

We have, in fact, mostly given up on waiting for you, and started to make our own tooling to understand your work, using obvious principles like live editors and witnessable effects.

http://worrydream.com/MediaForThinkingTheUnthinkable/

Edit: those are the talk notes. Wrong link, sorry. I should have used this instead: https://vimeo.com/67076984

This is a big part of how we criticize ourselves, is for failing to provide the tooling to allow new modes of approach.

https://www.youtube.com/watch?v=PUv66718DII

We frequently think of our programming languages as new modes for thought. This line of discussion is particularly popular in the Lisp, Haskell, and Forth communities, though it crops up at some level everywhere.

We frequently think that the more opaque the language, the less useful it is in this way.

That's why programming languages, which are arguably 70 years old as a field, have so much more powerful tools for teaching and explanation than math, which is literally older than spoken language

You guys don't even have documentation extraction going yet. We have documentation where you have a little code box and you can type things and try it. You can screw with it. You can see what happens.

This is why we care about things like Active Reading and explorable explanations.

http://worrydream.com/ExplorableExplanations/

This is why we care about things like live reactive documents. It really changes your ability to intuitively understand things.

http://worrydream.com/Tangle/

Math hasn't grokked non-symbolic communication since Archimedes, that's why it took nearly two thousand years to catch up with him.

We are asking you to come into step with the didactic tools of the modern world. It's not the 1850s anymore. We have better stuff than blackboards.

Are these flat symbolic equations cutting it for you guys to communicate with one another? Sure.

Are they cutting it for you guys to onboard new talent, or make your wealth available to the outside? No. (Do you realize that there is an outside to you, which isn't true of most technical fields anymore?)

These problems are not unique to mathematics, of course. Formal logic is similar. Within my own field of programming, the AI field is similar, as is control theory, as tends to be database work. They don't want to open the doors. You have to spend six years earning it.

But the hard truth is there are more difficult fields than mathematics that have managed to surmount these problems, such as physics (which no, is not applied mathematics,) and I think it might be time to stop protesting and start asking yourself "am I failing the next generation of mathematicians?"

An example of who I believe to be genuinely good math communicators in the modern era are Three Blue One Brown.

.

> > Believe me, mathematicians are tired of non-mathematicians wandering up and saying: > > Look! Computer programs are easy and intuitive and everyone can understand them, even without training! Make math like that!

Then fix the problem.

It IS fixable.

.

> Do you really believe that math notation is deliberately designed to make it hard for people untrained in math to learn how to use it?

Given the way you guys push back on being asked to write simple reference material?

No, but I understand why they do.

.

> Do you really believe that no one has tried to make it more accessible?

No. Instead, I believe that nobody has succeeded.

Try to calm down a bit, won't you? People tried to explain Berkeley sockets in a simple way for 12 years before Beej showed up and succeeded. The Little Schemer was 16 years after Lisp.

Explaining is one of the very hardest things that exists.

We're not saying you didn't try! The battlefield is littered with the corpses of attempts to get past Flatland.

We're just saying "you haven't succeeded yet and this is important. Keep trying."

.

> Do you really believe you know more about why math notation is what it is than mathematicians and trained mathematics educators do?

No. The literal ask is for you to repair that. Crimeny.

Jensson
> Surely you must realize that you're protesting this because it has this reputation, though?

I've never heard anyone make this accusation until I read it here on HN today. The reputation doesn't seem to be widespread.

> Programmers work really really hard on learnability and understandability. This is a big deal to us. That's why we can't understand why it's not a big deal to you.

How to better teach math is like one of the most studied topics in education since it is so extremely important for so many outcomes. People learn programming faster since programming is simply easier, not because more effort has been done to make programming easy. There hasn't, way more effort has been put into making math easy and the math we have is the results of all that work.

https://en.wikipedia.org/wiki/List_of_mathematics_education_...

> Given the way you guys push back on being asked to write simple reference material?

Nobody pushes back on writing simple reference manuals. There are tons of simple reference manuals for math everywhere on the internet, in most math papers, in most math books, everywhere! Yet still people fail to understand it. Many billions has been put trying to improve math education, trying to find shortcuts, trying to do anything at all. You are simply ignorant thinking that there are some quick fix super easy to implement things that would magically make people understand math. There isn't. It is possible that math education could get improved, but it wont be a simple thing.

JohnHaugeland
> > Surely you must realize that you're protesting this because it has this reputation, though? > > I've never heard anyone make this accusation until I read it here on HN today. The reputation doesn't seem to be widespread.

blinks really?

It's kind of a famous thing. Teachers are taught how to cope with math phobia; other subjects (with the exception of dissection) generally do not create this effect.

.

> How to better teach math is like one of the most studied topics in education since it is so extremely

Unsuccessful

Many other disciplines are equally important and don't have the desperation for repair that math does

It's so bad that it's gotten into popular music a dozen times; you can easily point to Tom Lehrer, Weird Al, even 2 Chainz for broaching the topic

.

> People learn programming faster since programming is simply easier

Keep telling yourself that

Remember who's cracking things like four coloring.

.

> There hasn't, way more effort has been put into making math easy and the math we have is the results of all that work.

You seem not to be results focused.

.

> Nobody pushes back on writing simple reference manuals.

The person I was responding to was. Three different people have with me in this thread alone.

Notice that you've changed the topic to "reference manuals," which ๐—ถ๐˜€ ๐—ป๐—ผ๐˜ ๐˜„๐—ต๐—ฎ๐˜ ๐˜„๐—ฎ๐˜€ ๐—ฏ๐—ฒ๐—ถ๐—ป๐—ด ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐—ฒ๐—ฑ

Ostensibly this is the part at which you launch into an explanation about how a simple cheat sheet that says things like " || usually means absolute value or magnitude" somehow isn't possible, even though it totally is

Next you'll explain how simple summary symbols like that are somehow harder than Haskell, which was able to produce a cheat sheet just fine

In reality, mathematicians just don't have the faintest clue how difficult other fields are, and are too busy patting themselves on the backs for their challenging intellects to realize that their work is under-used due to their inability to produce legends and keys

.

> Yet still people fail to understand it.

You're not producing what's being requested, then you're surprised that what you're actually producing isn't working.

.

> trying to find shortcuts, trying to do anything at all.

All that's being requested is a two page operator cheat sheet. If you'd stop wisely pontificating and just try it, you'd find it's really quite straightforward.

I produced one for my students. It's just that my own education in mathematics only goes so far.

๐—œ๐˜ ๐—ด๐—ฒ๐—ป๐˜‚๐—ถ๐—ป๐—ฒ๐—น๐˜† ๐—ถ๐˜€ ๐—ป๐—ผ๐˜ ๐—ฑ๐—ถ๐—ณ๐—ณ๐—ถ๐—ฐ๐˜‚๐—น๐˜

You are doing the refusing you insist nobody's doing, right now

.

> You are simply ignorant thinking that there are some quick fix super easy to implement things

Not really, no.

I've succeeded at this.

You are protesting against things that were not requested. Nobody asked for any "quick fixes." Nobody asked for any "magical make understand."

These are things you said, not things I said.

I said something very simple and very practical. Something that very much can be done.

I want a two page PDF which puts operators next to their names, so the load on my memory is lower.

Every time I ask that, some math fan goes on forever about how things I never asked for aren't possible, and ties that up with personal attacks.

๐—ง๐—ต๐—ถ๐˜€ ๐—ถ๐˜€ ๐˜„๐—ต๐˜† ๐—บ๐—ฎ๐˜๐—ต ๐—ต๐—ฎ๐˜€ ๐—ถ๐˜๐˜€ ๐—ฟ๐—ฒ๐—ฝ๐˜‚๐˜๐—ฎ๐˜๐—ถ๐—ผ๐—ป. ๐—ฌ๐—ผ๐˜‚ ๐—ด๐˜‚๐˜†๐˜€ ๐—ฐ๐—ฎ๐—ป'๐˜ ๐—ฎ๐—ป๐˜€๐˜„๐—ฒ๐—ฟ ๐˜€๐—ถ๐—บ๐—ฝ๐—น๐—ฒ ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐—ถ๐—ผ๐—ป๐˜€, ๐—ฎ๐—ป๐—ฑ ๐˜๐—ต๐—ถ๐—ป๐—ธ ๐˜๐—ต๐—ฒ ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ ๐—ถ๐˜€ ๐˜€๐—ผ๐—บ๐—ฒ๐˜๐—ต๐—ถ๐—ป๐—ด ๐—ผ๐˜๐—ต๐—ฒ๐—ฟ ๐˜๐—ต๐—ฎ๐—ป ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ถ๐—ป๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† ๐˜๐—ผ ๐˜€๐—ฝ๐—ฒ๐—ฎ๐—ธ ๐—ฝ๐—น๐—ฎ๐—ถ๐—ป๐—น๐˜† ๐—ผ๐—ฟ ๐—ฝ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐—ฒ ๐—ฎ๐—ฑ๐—ฒ๐—พ๐˜‚๐—ฎ๐˜๐—ฒ ๐˜€๐˜๐—ฟ๐—ฎ๐—ถ๐—ด๐—ต๐˜๐—ณ๐—ผ๐—ฟ๐˜„๐—ฎ๐—ฟ๐—ฑ ๐—ฑ๐—ผ๐—ฐ๐˜‚๐—บ๐—ฒ๐—ป๐˜๐—ฎ๐˜๐—ถ๐—ผ๐—ป.

Please keep the insults to yourself. Thanks.

.

> It is possible that math education could get improved

Please stop trying to solve every problem. Nobody asked you to take on that Herculean task. What was actually requested was a simple two page PDF. That's a thing that a single person can do in an hour (well, maybe as a webpage, making an actual PDF is a hassle.)

The constant attempt to change the topic to some greater thing blinds you to how easy fixing this actually is.

The statisticians can do it: http://web.mit.edu/~csvoss/Public/usabo/stats_handout.pdf

This isn't far off: https://en.wikipedia.org/wiki/Glossary_of_mathematical_symbo...

Seriously, nobody is saying "solve math education for all people."

For `|x|` it would just say "absolute value, magnitude, length, or cardinality."

It's a quick reference chart for people who already know the material but haven't actively used it for ten years, and to help know what to google for the rare cases where you don't. It doesn't teach anything.

This shouldn't be a big deal, and people keep asking for it because it would *really* help

klibertp
> What was actually requested was a simple two page PDF.

But this is impossible, because, as I learned today, "math is a small field without money for things like this".

Thanks to my discussion here I was able to shift my perspective. Instead of thinking about an abstract thing, like "improving readability of math papers to non-mathematicians", I understood that I have to focus on people! In other words, on a bunch of guys frustrated that other STEM guys earn multiples of what they earn, even though their fields are so much "easier". Why would they help those various others use their work? They worked so hard to create the papers, living in a (shared with a philosopher) one bedroom apartment, writing their revolutionary insights on tissues stolen from McDonalds with a piece of charcoal - while those others can afford to buy computers (and even paper) easily, even though they don't work as hard as mathematicians at all!

It's just so unfair, and of course it's not like mathematicians are jealous or anything (not at all! really! honest!), it's just genuinely so much "harder" to do math, that most of those others won't be able to understand no matter what! Even if they actually listened to the masses and did as requested, the mathematicians already know that it would be useless, so there's no point in trying. Also, this is obvious, but worth noting: saying that most people are simply too dumb to ever understand the intricacies of math is not a prejudiced bias, ok, that's simply a conclusion of centuries of research into math education!

I honestly stopped expecting they'll do anything sensible ever, unless they really have no other choice. You might win against some people, but you won't ever defeat human nature.

JohnHaugeland
Imagine saying that it's impossible to make a 2 page PDF because there's no money for it

Honestly

Jensson
The fact that the teaching material is so horrible is probably the biggest reason learning programming is so easy, because if the teaching material would be any good then the CS grads would actually know difficult things and it would be harder for me to compete. But as is it is trivial to learn what they did, because they don't learn much. For programming it didn't take me long to learn programming well enough to get into Google and work on services with a million QPS or distributed machine learning training, because programming is really really simple. Not because you are good at teaching, no, I just sat and learned on my own just writing programs, all program tutorials and helps were horrible.

> But this is impossible, because, as I learned today, "math is a small field without money for things like this".

Of course it isn't impossible, that was never the problem here. Mathematicians have written plenty of such cheat sheets, you can find them everywhere just by Googling. Here is one for physics:

https://en.wikipedia.org/wiki/List_of_common_physics_notatio...

Here is one for math:

https://en.wikipedia.org/wiki/Glossary_of_mathematical_symbo...

Can you please understand that you are complaining that nobody created something that many many people have created many times over? I found those by googling "physics notation" and "math notation". Was that really too hard for you? If you want a cheat sheet specific for CS related papers, then that cheat sheet has to be written by someone with a CS background since a mathematician wont know what is useful to you, and neither will he know what quirky notation CS people use in their own papers since every domain of math has its own quirks.

What you are doing here is the equivalent of a guy wanting to learn python, and then going to the C++ comitee and complaining that no language is well documented online, and even when the C++ committee nicely shows you that in fact there is documentation of python online you still complain and say that nobody cares about your woes because that python documentation was in fact not easy enough for you to read!

klibertp
> because programming is really really simple

Millions of programmers that work hard and for a long time to master their trade are just dumb for not learning it instantly, like you. Poor bastards, deluding themselves they do somehow advance the field, while in reality programmers are just doing "tabs vs spaces" over and over again, and any kind of advancement is given to them by our benevolent mathematical overlords.

No. We've worked for decades to make programming this simple. You're driving an obviously overpowered car in a race, but choose to conveniently forget about its specs once you win.

> Mathematicians have written plenty of such cheat sheets, you can find them everywhere just by Googling. Here is one for physics

Sure they were created. I never said they weren't, so please stop insinuating that. I (not GGP) said specifically:

> It has literally nothing to do with explaining the syntax *close to where it's used*.

And that is not being done, so I really don't understand how the rest of the paragraph has anything to do with me.

> say that nobody cares about your woes because that python documentation was in fact not easy enough for you to read!

So? What's wrong with that? Are you telling me I'm dumb? Is it really all you can do?

Well, it's either that I'm simply an uneducated idiot, or that the documentation indeed could be better. You seem to default to the former. Well, I feel differently about that.

Jensson
> So? What's wrong with that? Are you telling me I'm dumb? Is it really all you can do?

No, I am saying that people take a long time to understand this. Programmers expects things to have a simple explanation behind it since in programming everything does have a simple explanation, since computers can only do very few things. But in math you quickly expand to concepts beyond, even as early as calculus you add infinities and continuous quantities and how to work with those, you can't ever program those things since those operations cannot be expressed using finite instructions. There is no "this function performs an integral on this other thing and is expressed using these steps of operations".

For example, lets say you want to sum 1/N^2 for N from 1 to infinity. How would you express that? You can't do it in a loop, since the loop never ends. You can stop at an arbitrary point, but how do you know that stopping there results in a good value? You can't, unless you do the math, calculus is a good tool to solve that. With it we can show that summing 1/N results in an infinite result, while 1/N^2 settles on a value and creates a way for you to calculate that value with error bars.

klibertp
> you can't ever program those things since those operations cannot be expressed using finite instructions.

And now you're telling me that Mathematica, Maple and the like don't exist. Yeah, we can't express the concepts directly, but if we're very good at one thing, it would be emulation.

> How would you express that?

Like this:

    >>> from sympy import *
    >>> i, n, m = symbols('i n m', integer=True)
    >>> # For example, lets say you want to sum 1/N^2 for N from 1 to infinity. 
    >>> Sum(1 / n ** 2, (n, 1, oo))
      โˆž
     ____
     โ•ฒ
      โ•ฒ   1
       โ•ฒ  โ”€โ”€
       โ•ฑ   2
      โ•ฑ   n
     โ•ฑ
     โ€พโ€พโ€พโ€พ
    n = 1
Would do the same with the integral. There's even that strange elongated S and everything...
Jensson
You didn't program the sum, you just created a program that looks like the math symbols.
klibertp
I said: emulation. You don't actually need to stretch your mind to infinity to reason about it, right? I mean, you're not a matrioshka brain the size of a star, right? (Just making sure) So if your mind can cope with infinities by using just the very finite storage accessible to you, what prevents computers from doing the same? Like this:

    >>> summation(1 / n ** 2, (n, 1, oo))
     2
    ฯ€
    โ”€โ”€
    6
Dunno, seems legit? How come it appeared, even though my computer has only 32gb of ram, waaaay too little to hold infinity?

EDIT: obviously, I still didn't program it myself! I'm dumb, after all. But someone apparently did.

EDIT2: and that person also made sure that even the dumber coders (like me) can use, and benefit from, the tool they wrote.

Jensson
A computer understands instructions. You can give it instructs to loop and sum values. Those aren't instructions telling the computer what an infinite sum is. Math is about making humans understand such concepts, we have yet to be able to program those concepts.

For example, when you write a sum in python then the computer will sum the values and do the work for you. But when you write an infinite sum like that, you the human still has to do all the math work figuring out what to do with it, so you didn't circumvent the need to do math at all. The computer doesn't understand the sum. You can program simple simple rules for it to try to simplify it, but it still isn't nearly as versatile as a skilled human. For example this problem is a basic problem from a first year course, it makes sense that someone programmed in the human derived solution for it, but they haven't actually programmed the logic for infinite sums into the computer.

klibertp
> The computer doesn't understand the sum.

That's obvious? Computers don't understand anything. They're just machines. What did you expect?

> you the human still has to do all the math work figuring out what to do with it

Yeah. But with this tool, as dumb as I-the-human am, I am able to do that math even if I don't understand it, but more importantly I also have a much better chance of understanding what's happening. That's because the explanation is close to the place where it's needed (in a docstring, one key press away) and it is expressed in a way that I'm most familiar with (as code).

You're going to tell me that if I want to use math, I have to let go of every preconception I had and crawl into Plato's cave, to see the light in the darkness. I'm too dumb to do this, unfortunately, and a little bit too busy. It took me almost five years to really master C++ programming after all, while you skimmed Stroustrup's book and went on to write Qt the next day.

> but they haven't actually programmed the logic for infinite sums into the computer

They did. Just not the whole of it. Are you sure it's impossible to improve to the point where a skilled human no longer holds the definitive advantage?

Computers can't understand anything. But they are very good at blindly following the rules. The question is not what to do to make computers understand infinity, but what set of rules can emulate the real thing well enough. We're getting there. Maybe in another 100-200 years CS will swallow maths, who knows?

Jensson
> That's obvious? Computers don't understand anything. They're just machines. What did you expect?

They do arithmetic's perfectly.

> You're going to tell me that if I want to use math, I have to let go of every preconception I had and crawl into Plato's cave, to see the light in the darkness.

No, math is a huge with an extreme amount of flexibility and power. You have lists of solutions like this one, you can add those in a program and then have the program look them up and spit out answers, with maybe some simple algebra testing:

https://en.wikipedia.org/wiki/List_of_mathematical_series

But nobody will be able to just program all solutions to all math problems like that, or give you a bible of everything to look up, as nobody knows what math is useful to you specifically. This is why every field that applies math tend to create their own subfield in math, like mathematical physics or chemistry or statistics or computer science. They create their own compendiums of useful notation and results that you can use. Nobody understands even a fraction of all of that and where it is useful, instead you will have to understand what discipline the paper you are reading is coming from, usually noted somewhere on the paper, and then look that up. For someone doing computer science you mostly look at the subfields statistics, probability, combinatorics and algorithmic complexity. Most of those papers will be written by people who do math mostly on the side though, not pure mathematicians. Pure mathematicians mostly works on problems that are too abstract for programming. (Pure vs applied, probability statistics and combinatorics are examples of applied math fields).

Edit: So from my perspective the main problem you have is that CS professors have yet fleshed out and formalized the subfield Computer Science math. When I studied higher level physics all the math was taught by physics professors, since mathematicians doesn't understand that math, it is mostly developed by physicists. Why doesn't CS do the same? You can't expect mathematicians to do that work for your field, as there are too many fields depending on math and too few mathematicians to handle everything.

klibertp
> They do arithmetic's perfectly.

So does abacus. Even something like this: https://www.youtube.com/watch?v=GcDshWmhF4A is capable of doing arithmetic. Does that mean that the marbles somehow understand what addition is?

> look them up and spit out answers,

Wolfram Alpha does this, and let me tell you: things I couldn't understand listening to lectures and trying to work through handbooks (well, most of them were hand-me-downs from the '60s, so take that as you will), became clear in just a few days of work. I didn't cancel my subscription for 2 years after that, out of gratitude.

But, most of the papers out there don't use interactive platforms for publishing. Even though they could. But as you said, that would be too much work, so they simply don't. I accepted it, it's all good now.

> Pure mathematicians mostly works on problems that are too abstract for programming.

I was pretty sure we're not talking about "pure" math. I mean, we both agree that that particular branch is of interest to a tiny minority. Of course the pure mathematicians can stay inside their ivory tower forever, nobody cares. Notice that I repeated the word "use" multiple times. I was trying to imply having a goal that's not mathematical in nature.

EDIT:

> Why doesn't CS do the same? You can't expect mathematicians to do that work for your field, as there are too many fields depending on math and too few mathematicians to handle everything.

I... don't know. That's a very good question. Yes, teaching math in CS depts is generally outsourced to mathematicians. It was like that for me. You may be right, that could be the reason to all my problems.

So, you mean that if we want to have math that's understandable for programmers, we need to make it ourselves? Fair enough if so, I think.

Jensson
> Wolfram Alpha does this, and let me tell you: things I couldn't understand listening to lectures and trying to work through handbooks (well, most of them from the '60s, so take as you will), became clear in just a few days of work. I didn't cancel my subscription for 2 years after that, out of gratitude.

Wolfram Alpha didn't program everything, but it includes most things you will see in an undergrad. In my undergrad we used a 500 page reference book containing most of the formulas and notations of STEM undergrad programs, wolfram alpha is basically that book written as a program.

> I was pretty sure we're not talking about "pure" math. I mean, we both agree that that particular branch is of interest to a tiny minority. Of course the pure mathematicians can stay inside their ivory tower forever, nobody cares. Notice that I repeated the word "use" multiple times. I was trying to imply having a goal that's not mathematical in nature.

But then your main problem are mostly with computer scientists or statisticians math papers, not mathematicians. The problem with papers written by people who apply math is that usually they don't really understand the math, they just apply it, so they can't explain it well. There isn't much you can do about that. And papers written by pure mathematicians, they sure do understand what they do, but it uses mountains of abstractions in order to make the problem possible for a human to reason about so it wont be easy to understand either.

For example, most who study statistics views the math as a tool to solve problems. They wont put in the effort to fully understand it, and can therefore just give you the second hand explanations they learned themselves, and the result is that those explanations likely will be missing a lot of things. Pure mathematicians however wont understand the way you want to use the math as a tool, so they might have a full explanation or the math but they wont understand how to apply it in your field, so their explanations will also be bad. What you need is someone who did the work to study the pure math side, and then did a lot of work applying math, and then explain it. Such people are extremely rare though. I went that route, I knew a few others who did, but most of those I know didn't. They either went pure or applied, not both.

klibertp
> wolfram alpha is basically that book written as a program.

Exactly! Which is why I love it, and why I think it would be good to extend it to encompass more than just that one book, too.

> The problem with papers written by peo I went that route, I knew a few others who did, but most of those I know didn't. ple who apply math is that usually they don't really understand the math, they just apply it, so they can't explain it well.

This is already a third time you said something that made me really think again about the issue...

It sound very plausible. I think I've probably never even seen a proper maths paper. I've been struggling with math, but it didn't occur to me that a part of the reason (other than me being dumb) was that the authors struggled with it too! Were I in their place, I would definitely also try to reduce the amount of explanations to the absolute minimum, so that there's less of a chance I'll be called out for it.

EDIT:

> I went that route, I knew a few others who did, but most of those I know didn't.

I'm not joking, this is very serious: is it possible to learn from you somewhere/somehow? Because you're incredible, honestly, your patience is not running out even now, this deep into comments thread; and you really can speak in programming - this much I can see - and I think you're at least as competent on the other side (though I obviously can't judge it myself, so I'm deferring to (your) authority that I came to believe in). I'd be incredibly happy if I could somehow get a bit of your help.

(Seriously, I'm not sarcastic or anything, this is 100% honest. EDIT2: well, I still disagree with you on some points :P but I think if it's from you, I wouldn't have a problem with actually listening to you)

Jensson
> Exactly! Which is why I love it, and why I think it would be good to extend it to encompass more than just that one book, too.

I agree with this. Just that writing such programs is hard, it isn't something anyone can do.

> I've been struggling with math, but it didn't occur to me that a part of the reason (other than me being dumb) was that the authors struggled with it too!

I studied both theoretical physics and pure maths to a grad level. You really notice how the physics professors struggles explaining the math and gloss over things, while the mathematicians doesn't. The physicist are experts at solving and reasoning about physics problems, not maths, as soon as the math solves their problem they stop thinking about the math. It is a part of the reason I went to math afterwards, I wanted better explanations.

> I'm not joking, this is very serious: is it possible to learn from you somewhere/somehow? Because you're incredible, honestly, your patience is not running out even now, this deep into comments thread; and you really can speak in programming - this much I can see - and I think you're at least as competent on the other side (though I obviously can't judge it myself, so I'm deferring to (your) authority that I came to believe in). I'd be incredibly happy if I could somehow get a bit of your help.

I think I have some mental disability where my feelings don't remember things. So even though I hated some of your other comments that doesn't mean anything about other things. I just like discussing things and explaining, taking my time to think etc.

If you want to talk about something you can reach me at {removed}. I'll remove this later. I don't really care much about people learning who I am, but I don't want it to be obvious. I love discussing things, but few people really like discussions like this. So just hit me up and we can talk. I don't always have the right views and opinions, but I never stop thinking about arguments or reasons. I just changed my mind so many times that by now I've seen most arguments and it is rare to change my mind more now.

Edit: You can ask me about math or anything.

klibertp
> I think I have some mental disability where my feelings don't remember things.

You're not the only one - I also hated some of the things you've said about programming; I couldn't help it, programming is a large part of my identity, so I got defensive really fast.

But that doesn't matter, I mean, we're just talking here, I think none of us has really any bad intentions, and I really benefited from this exchange a lot. And it's not like you wanted to specifically hurt me with what you said, so even if I felt hurt I won't cry you a river because of that :)

> If you want to talk about something you can reach

Thank you! Saved it. The thing is, I have this inferiority complex caused by not understanding much about math even if I try to learn it. In college I was already good at programming, so I didn't have much interest or need to learn math back then. And later, when I realized that it would actually be a good idea to learn some, I found myself completely alone with it. I mean, nobody around me cared at all, there were no lecturers to go and ask questions to, no peers that would be solving the same problems at the same time, nothing, just the Internet, Wolfram, and a lot of head banging. I realized too late that I've made it this hard for me basically myself.

But what's done is done, so I started thinking about how to cope with the situation. And I came up with the idea that if someone explained maths to me in terms I'm familiar with from programming, it would be much easier for me to digest. But, there are no materials like that. That's understandable given the very specific path you'd need to take to be able to write or create them... And you've taken that exact path. Honestly, at this point I wouldn't mind you calling me an idiot and programming a children's game, if only I could understand the things that were eluding me for years.

Again, thank you. I will write an email, definitely.

Jensson
> You're not the only one - I also hated some of the things you've said about programming; I couldn't help it, programming is a large part of my identity, so I got defensive really fast.

Also, although I'm saying that learning programming is relatively easy, it is a field that is hard to master. The difficulty isn't understanding what a function does, but understanding how to architect a huge complex system so that you can still reason about it afterwards. Those systems will all be made up of those simple instructions though. That is different from math, in math the systems you invent often are entirely new things and can't get divided into simpler things.

Apr 10, 2020 · vchak1 on Ode to J
While I really like array programming languages in general, I think what is really an elegant balance of readability and conciseness is the nile language and its application to rasterization. Highly concise, yet very readable.

See this Bret Victor talk, at 25:03. https://vimeo.com/67076984

Feb 20, 2020 · ThouYS on Explorabl.es
Hadnโ€™t heard of Case yet, but Bret Victor is an absolute visionary. His talks โ€œMedia for Thinking the Unthinkableโ€ [1] and โ€œThe Humane Representation of Thoughtโ€ [2] are eye-openers!

[1] https://vimeo.com/67076984

[2] https://vimeo.com/115154289

Oct 17, 2016 · neokya on Vim for Humans
This is exactly what I feel too.

After watching Bret Victor's talk https://vimeo.com/67076984, I feel like Vim way of using computers is backward. I am probably wrong because I never got proficient with Vim. Using it only when I SSH to remote server.

weaksauce
for text editing and specifically text editing code... vim's command set is amazing. it's short verbs for editing text that are easily remembered.

d delete

c change

t 'til

f find

a after

i insert

u undo

o open a new line

p paste or put

n next occurance

b back a word

y yank (copy)

v visual

ect.

coupled with an object that are less friendly to learn but there aren't that many of them

w word

e end of word

( sentence

{ paragraph

text blocks are directly what you want to change

" double quotes

' single quotes

( parenthesis

{ curly brackets

t tag

ci( change inside the (

da" deletes around the double quote, etc.

it's easy to compose sentences for editing text.

this person does more to explain why: http://stackoverflow.com/questions/1218390/what-is-your-most...

I already see a bunch of people posting and upvoting Bret Victor's "Inventing on Principle", but I think his "Media for Thinking the Unthinkable" is better.

https://vimeo.com/67076984

Nov 29, 2015 · calvins on The Utopian UI Architect
What you're missing is that Bret Victor isn't the author of that web page.

If you want to some of his inspired UX, view https://vimeo.com/67076984

vxNsr
Ah thanks, I knew someone with the amount of work (just from that page) wouldn't make such an obvious blunder.
buovjaga
If you mean http://worrydream.com/ it is made by Bret Victor himself.
See also Brett Victor's "Media for Thinking the Unthinkable": https://vimeo.com/67076984
sabertoothed
It was 2 am in the UK and I wanted to sleep. I had to watch the whole video. It's excellent. Absolutely brilliant! Thank you for the link.

Now it's 3 am. :(

Admittedly the first sentence in the README.md points to relevant information (http://setosa.io/ev/) However, yes, they should have included the one sentence description on that page it links to in the README.md itself.

Explained Visually (EV) is an experiment in making hard ideas intuitive inspired the work of Bret Victor's Explorable Explanations. See http://worrydream.com/ExplorableExplanations/ to learn more about Explorable Explanations.

See "Media for Thinking the Unthinkable" (Bret Victor, 2013) https://vimeo.com/67076984 and videos from https://vimeo.com/worrydream/videos for more context. Also, http://explorableexplanations.com (by Nicky Case) is a.... page that exists.

vicapow
Pull request? :)
Apr 06, 2015 · 2 points, 0 comments · submitted by simkus9
Eventually, academic papers should be interactive because taking advantage of electronic media can communicate so much more.

See this talk on "Media for Thinking the Unthinkable" by Brett Victor: http://vimeo.com/67076984

There still have to be a bunch of changes before we get there.

marcosdumay
I agree with your general statement, but I completely disagree with anybody implying that the correct time is now or just a few years in the future.

We do not know how to use interactive documents well.

daureg
What about the other way around: making LaTeX documents more interactive. One can fill forms in pdf or embed javascript, see for instance this motor animation made with tikz: http://www.texample.net/tikz/examples/wankel-motor/
Dec 04, 2013 · dave809 on World of Mathematics
Exactly my thought, This kind of math visualization has been on my mind ever since watching the talk "Media for Thinking the Unthinkable"[0] by Bret Victor. I would totally be into contributing to this project

[0] http://vimeo.com/67076984

If you haven't watched it yet, I like Media for Thinking the Unthinkable even better: http://vimeo.com/67076984
joeblau
Awesome, thanks for the link. I have it queued up--I'm going to watch it after I submit my app to Apple :)
Jul 31, 2013 · chas on The Future of Programming
Bret has previously given a talk[1] that addresses this point. He discusses the importance of using symbolic, visual, and interactive methods to understand and design systems. [2] He specifically shows an example of digital filter design that uses all three. [3]

Programming is very focused on symbolic reasoning right now, so it makes sense for him to focus on visual and interactive representations and interactive models often are intertwined with visual representation. His focus on a balanced approach to programming seems like a constant harping on visualization because of this. I think he is trying to get the feedback loop between creator and creation as tight as possible and using all available means to represent that system.

The prototypes I have seen of his that are direct programming tend not to look like LabView, instead they are augmented IDEs that have visual representations of processing that are linked to the symbolic representations that were used to create them. [4] This way you can manipulate the output and see how the system changes, see how the linkages in the system relate, and change the symbols to get different output. it is a tool for making systems represented by symbols but interacting with the system can come through a visual or symbolic representation.

[1] http://worrydream.com/MediaForThinkingTheUnthinkable/note.ht...

[2] http://vimeo.com/67076984#t=12m51s

[3] http://vimeo.com/67076984#t=16m55s

[4] http://vimeo.com/67076984#t=25m0s

Huh? Bret's talks short on specifics?

His talks constantly feature working demos of the ideas he is pushing, subtly demonstrating a lot of well-thought-out interaction design details. If you watch his "Media for Thinking the Unthinkable" (http://vimeo.com/67076984) it's a gold mine of specifics. I've watched it several times and always pick some new ideas for my UI design work.

The difference to a run-of-the-mill talk is that he is showing the details, not telling the details.

RogerL
Thanks for the link.

I have the exact opposite reaction to the video. He is solving toy problems with toy ideas. I think his page Kill Math (http://worrydream.com/KillMath/) illuminates this point. I don't think he can think symbolically very well (no insult intended, I can't think visually very well). There are certainly times where graphing things make a lot of sense, but to throw out analytical math? Come on. By and large he is getting the "feel" of a system, but he cannot really reason about it, prove things about it, extend it, or design new systems with vision (there are obvious counterexamples).

In another video he shows an IDE where he scrubs constants, and it changes the behavior of the concurrently running program (changing the size of an ellipse or tree branch). It's neat. But, again, toy problem. First of all, we shouldn't be programming with constants. Second, anything complicated will have relationships between the data - scrubbing one value will just end up giving you nonsense. Third, it just doesn't make any sense in many contexts. I work in computer vision currently, and I can't think of anything but the most superficial way I could incorporate scrubbing. He made some comment about how no one could know what a bezier curve is unless they had a nice little picture of it in their IDE to match the function call. That's silly. I actually use splines and other curve fitting in my work, and I have to actually understand the math. Do I use cubic splines, a Hermite interpolation, bezier, or something else? I don't decide that by drawing some pictures - the search space is too big, I'll never cover all the possibilities. I have to do math to figure out the best choice.

In that same video he went on to demonstrate programming binary search using visual techniques. Unfortunately he wrote a buggy implementation, and stood there exclaiming how his visual technique found a different bug. It did, a super trivial one, but it completely failed to reveal the deeper issue. And, there was no real way for his visual method to have found it.

Visualization is an very powerful tool, but it is one tool in the toolchest. There is a scene in the movie Contact with Jodie Foster using headphones to listen to the SETI signal. We all know that is bogus - the search space is far too vast for aural search to work.

His ideas are terribly wrong headed. Make interfaces to help give us intuition? Absolutely! Use graphics where analytics fail. Of course! But don't conclude that math is a "freakish knack", as he does, or that math is some sort of temple (he calls mathematicians "clergy", and then goes on to throw in an insult that many are just pretending to understand).

I posted in another comment how crazy it would be to have a calculator that scrubs. Well, he shows one on that page. Really? The day bridge designers start using scrubbing apps to design our bridges is the day I'm never crossing a bridge again.

Edit to add: his website is another example of this. I can't find anything on it. There are a bunch of pictures, and my eyes saccade around, but what is here, what is his point? I dunno. I can click, and click, and click, and start to get an idea, but there is always more hidden away behind pictures. It's barely workable as a personal website, and would be a disaster as a way to organize anything larger. I don't mean to pick on it - as an art project or glimpse into how he thinks, it's great. I just point out it illustrates (pun kind of intended) the strengths and limits of visual presentation. You tell me, for example, without grep or google search, whether he has written about coffee.

If you disagree, please reply in pictures only! ;)

Jul 31, 2013 · mietek on The Future of Programming
So, have you seen Media for Thinking the Unthinkable?

http://vimeo.com/67076984

The working code for the Nile viewer presented is on GitHub:

https://github.com/damelang/nile/tree/master/viz/NileViewer

Bret Victor, who has been inspired[1] by Doug Engelbart, has showcased plenty of innovative ways on design/user interaction on his presentations/writtings:

* Magic Ink[2]

* Stop Drawing Dead Fish[3]

* Drawing Dynamic Visualizations[4]

* Media for Thinking the Unthinkable[5]

* LearnableProgramming[6]

* Inventing on Principle[7]

[1] http://worrydream.com/Engelbart/

[2] http://worrydream.com/#!/MagicInk

[3] http://vimeo.com/64895205

[4] http://vimeo.com/66085662

[5] http://vimeo.com/67076984

[6] http://worrydream.com/LearnableProgramming/

[7] http://vimeo.com/36579366

Jul 21, 2013 · DanielRibeiro on Ideas for Computing
Where's our version of "The Mother of all Demos" ?

Bret Victor, who has been inspired[1] by Doug Engelbart, has showcased plenty of innovations on his presentations/writtings:

* Magic Ink[2]

* Stop Drawing Dead Fish[3]

* Drawing Dynamic Visualizations[4]

* Media for Thinking the Unthinkable[5]

* LearnableProgramming[6]

* Inventing on Principle[7]

[1] http://worrydream.com/Engelbart/

[2] http://worrydream.com/#!/MagicInk

[3] http://vimeo.com/64895205

[4] Drawing Dynamic Visualizations

[5] http://vimeo.com/67076984

[6] http://worrydream.com/LearnableProgramming/

[7] http://vimeo.com/36579366

A great example in this vein:

http://worrydream.com/ScientificCommunicationAsSequentialArt...

You can mess with the sliders, etc.

Video @ http://vimeo.com/67076984

egocodedinsol
I love BV!

fwiw I considered using the Strogatz paper as an example for consistency (maybe it could become something of a standard for reimagining paper layouts), and use tangle or knockout, but I decided to get feedback sooner rather than later after reading a line in pg's essay today re: procrastination.

May 29, 2013 · 5 points, 0 comments · submitted by aston
May 29, 2013 · 11 points, 2 comments · submitted by zodiac
chrbutler
Wow!
pwang
Great stuff from Bret, as always.

It's interesting to me (and I imagine that it's frustrating for him) that he has been trying to hammer home the same core concepts and principles for years now, but many people fixate on certain small aspects of what he's trying to say, and miss the broader picture painted by his website and various demonstrations on there.

May 28, 2013 · 23 points, 2 comments · submitted by Dekku
geg3
This resonates with me deeply. The idea that representations of active things should be active themselves, in pursuit of building intuition and understanding, is a central motivation for my current project. I feel like some of my own thoughts were just expanded upon, clarified, and handed back to me. Real inspiration. Thanks for posting.
Dekku
You're welcome.
Video is available now: http://vimeo.com/67076984
nswanberg
Discussion here: https://news.ycombinator.com/item?id=5783106
michael_nielsen
It's been submitted at least three times. All three submissions disappeared off the front page, and two are dead, because it's being flagged. The fact that it's being flagged -- multiple times, I believe -- makes me sad.
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.