Daniel Dennett on Tools To Transform Our Thinking

preview_player
Показать описание
__________________________

Filmed at the Royal Geographical Society on 22nd May 2013.

Daniel Dennett is one of the world's most original and provocative thinkers. A philosopher and cognitive scientist, he is known as one of the 'Four Horseman of New Atheism' along with Richard Dawkins, Sam Harris and the late Christopher Hitchens.

On May 22nd he came to Intelligence Squared to share the insights he has acquired over his 40-year career into the nature of how we think, decide and act. Dennett revealed his favourite thinking tools, or 'intuition pumps', that he and others have developed for addressing life's most fundamental questions. As well as taking a fresh look at familiar moves -- Occam's Razor, reductio ad absurdum -- he discussed new cognitive solutions designed for the most treacherous subject matter: evolution, meaning, consciousness and free will.

By acquiring these tools and learning to use them wisely, we can all aspire to better understand the world around us and our place in it.
Рекомендации по теме
Комментарии
Автор

So sad this brilliant mind is no longer with us.

zachgoff
Автор

he looks like a santa dispensing knowledge rather than presents

BMNNystrom
Автор

"Sometimes the only thing more dangerous than a question is an answer."

-The Grand Nagus

bradgrady
Автор

0:00:30, "You can't do much carpentry with your bare hands, you can't do much thinking with your bare brain."! I like it.

dewinthemorning
Автор

"A thought, even a possibility, can shatter and transform us." - Nietzsche

PaulJackino
Автор

Today we are over-saturated with raw data but very short on the kind of slow, deep, critical thinking that gets to real knowledge. In fact a lot of folks seem to believe that informatio is knowledge, it isn't.

willhart
Автор

I just downloaded an app to your necktop...

drevilatwork
Автор

I've struck cultural gold. How have I never heard of this bloke before today? Subbed and belled.

jackmack
Автор

My god, those questions were so bad. Dennett is such a trooper.

myltnlp
Автор

Cenk Uygur: Master of the "surely" alarm! (14:15)

shnedergaard
Автор

A comment regarding the need for human interaction for decision making and problem solving (approx. 1 hour 6 mins): If an individual were to see one's own flaws in endless loops, as individuals we would all be paralyzed! We will go into endless computations of finding flaws with our own thoughts, remain paralyzed and be devoured by a predator. For mere survival, we need to have some degree of certainty (even if it is a false one) to goad us into fight and/or flight and/or befriend decisions.

Hence, nature's solution for improving our capacity for decision making and problem solving has been "human interaction".

viswaghosh
Автор

Our species. Dude is arrogant, beyond knowing.

davemojarra
Автор

The maket trend can turn around very quickly. In fact, the indexes often switch from a bear market to a bull market when the news is at its worst and the mood of investrs is at its lowest point. I read an article of people that grossed profts up to $150k during this crash, what are the best stocks to buy now or put on a watchlist?

africanboi
Автор

A comment regarding the comparison of two lotteries (approx. 30:34 mins). One reason why "Lottery B" is unfair: The winning ticket is chosen out of all the tickets that have been printed and NOT out of the number of tickets sold. In reality, the number of tickets sold would be less than number of tickets printed. Hence, in "Lottery B" it is possible that the winning ticket may NOT have been sold to anyone!

viswaghosh
Автор

Someone telling you they've cracked the fate vs free-will problem should set off loud alarms. 

kleinbottled
Автор

Consciousness is not understood by anyone yet, so to state any absolutes about consciousness is just guessing.  Theories are fine, but my issue with Dennet is that he states his theories as absolutes.

technowey
Автор

2:30, THANK GOD, someone who calls a hypothesis a hypothesis, instead of calling it a theory.

prwexler
Автор

For the past two months I've been playing with Dennetts "RodRego" two-instruction computer...

RodRego has no concept of RAM, only registers.
RodRego cannot read or set its registers _(I know right? This is crazytown!)_
RodRego has only two instructions that can either increment or decrement a register, by ONE.
Each RodRego instruction always contains the address of the next instruction to run

The ONLY conditional flow control that RodRego has, is that when it tries to decrement an empty register, it causes a jump to a different address (the optional, 'ERROR' address) which is also specified in the decrement (DEB) instruction.

Nevertheless, it is a Universal Turing Machine that can compute ANYTHING given enough instructions and a large enough register space : ) It has the simplest programming language ever, as you might imagine for a two-instruction computer ... but is one of the most difficult to master!

Anyway... I was hooked on the challenge of coding for RodRego...

So, I decided to write my own version of the VM in C, to run on a 64-bit machine ... with 16 registers "R00 - R15". But I extended it slightly .... in my version, R00 and R15 are special.

R15 (also known as RDATA) is a general purpose register, but it has a secondary use...
R00 (also known as RSHIFT) is a fake register. It does NOT hold a value, it is used to control I/O ... think of it like generating a 'read' or 'write' interrupt

If you Increment R00/RSHIFT ... it causes RDATA to be sent to the standard output stream.
If you Decrement R00/RSHIFT ... it causes RDATA to set to the next value on the standard input stream.

But : If there is currently no data to be read from the input stream, and you Decrement RSHIFT ... it generates an exception (just like decrementing an empty register does) causing flow control to jump to the optional ERROR address supplied in the current instruction. This way, you can identify End-Of-File conditions, or sit idling for input.

So, armed with my next generation "RodRego NG", new and improved ... I set about conquering the world ; )

First, I reduced it to a single instruction "TAC" ... for "Touch and Continue" ... it has three parameters . TAC {register} {direction} {addr1} {eaddr} ... by making 'direction' a parameter I reduce this to a single instruction computer. And, because it's a single instruction - you don't need to write it... so, is that a zero instruction computer?

opcodes look like...
{register} {direction} {addr1} {optionally: addr2}

Registers can be R00-R15, RDATA or RSHIFT.
Addresses can be relative (prefix with +/-), absolute (no prefix) or labels (leadingalpha)
Addr2 is optional, and if it's -0 (the current instruction) then it's a halt, because that would always be a loop
Direction is a '+' or '-' character, indicating the direction to move the register.
Labels in my code begin with ":" ... comments start with a '#'


First thing I realised is that my real CPU has more than 16 registers, so RodRego code can be compiled to run natively on a regular PC !!!! So I wrote a cross-compiler for RodRigo to amd64 ... it's fairly easy...

*INC R11 {addr1}* or, in my code, *R11 + {addr1}*

becomes an INC instruction and if {addr1} points anywhere other than the next instruction, you insert a JMP too. Otherwise, you just let it fall through.

*DEB R11 {addr1} {addr2}* or, in my code, *R11 - {addr1} {addr2}*

becomes a DEC instruction, with a JNO (Jump in No Overflow) to the next instruction (addr1) followed by a XOR {reg} {reg} to zero the register and a JMP {addr2} to handle the exception of decrementing an empty register.

Now, you have the rax, rbx, rcx, rdx, rsi, rdi, rbp, rsp, r8, r9, r10, r11, r12, r13, r14 and r15 registers... so, there ARE 16 64-bit registers. But they can't all be treat the same, so you need to give some a multiple purpose role... which means swapping values in and out when a few of the poorly mapped RodRigo registers are used. This just means ignoring RSP/RBP (the stack pointers) and bracketing the above code with some additional code so that RAX, RBX, RCX and RDX can double for RodRegos R4, R5, R6 and R7, wherever those registers are used... thus keeping rsp/rbp free and rsi, rdi as background value stores for R4/R5, with R6 and R7 on the stack to be switched into regular registers as needed.

So, by tracking labels in your code to keep the addresses correct, and a little care about which intel registers you use, you can spit out cross-compiled RodRigo code that runs natively on your PC.

To handle my 'special IO registers' for RodRego-NG I replace any INC or DEC operations on R00/RSHIFT with a CALL to a tiny stub routine that either outputs the contents of R15/RDATA or inputs data to R15/RDATA ... and boom, with just a few bytes more my RodRego can process streaming data and produce streaming data ... with redirected iostreams, so it can process files... link inputs and outputs from other RodRegos in a chain... or even user IO and feed my RodRegos from the console..


Then, this week I got adventurous...

If I can turn (difficult to write) RodRego code into native amd64 code... I should be able to turn the much simpler intel 16bit ASM into RodRego. And that would eventually allow me to code in C and produce intel code for the tiny 16-bit 286 .com model, convert those opcodes to RodRigo to create very complex native RodRigo code... and then, crosscompile the rodrigo code into amd64 native code to make use of the extended registers : O

All it would need is a library of intel opcodes and their RodRego equivalent, using placeholders for registers and labels ... keeping track of used registers... etc...


In short... Now I'm getting into basic compiler design... and so, I just want to say :

DAMN YOU DENNETT !!! I hope you burn in hell ; ))))

garychap
Автор

This video is life changing, thanks. You had me with the stat at 1:28. You are doing great work, thanks for sharing.

kirkman
Автор

32:58 aka "Is it worth it, let me work it. I put my thing down, flip it and reverse it."

franklyspeaking