Everyone knows parrots can speak simple sentences. But most scientists have assumed parrots aren't capable of more complex forms of language; that's the province of higher-order animals like humans and chimps. In the last few years, though, the MIT professor Irene Pepperberg has been conducting some rather amazing experiments with her pet grey parrots. One of them, Alex, has been able to grasp some incredibly nuanced uses of language, as Pepperberg desribes in an interview at The Edge:
Posted by Clive Thompson at October 28, 2003 05:24 PM
Trackback Pings
TrackBack URL for this entry: http://www.collisiondetection.net/mt3/mt-tb.cgi/551
Listed below are links to weblogs that reference Polly wanna discuss relativistic ontology?:
Tracked on March 15, 2005 5:12 PM
Animals are running the same algorithms as humans for a lot of tasks.
But don't forget. Duck hunters still use the trick of sending four hunters into a blind, and then having one leave. Ducks can't count, so they think that the zone is safe after one hunter leaves.
Animals run many of the same routines that we run. But they ain't running all of them. By the same token, what routines are we failing to run.
I can be simultaneously aware of what every student in my class is talking about. I am still amazed to find that my associate teacher didn't hear the anti-semitic conspiracy theory being preached in one corner or the utter self-loathing being muttered by a student off in another.
Perahps personality differences can be attributed to different processing strategies.
Posted by: Elvis Wiseheim's Grader at November 6, 2003 9:36 PM
Posted by: Online Casino at January 16, 2004 4:22 PM
A variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.
Posted by: Newton at January 19, 2004 7:56 PM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Brian at January 19, 2004 7:56 PM
Being able to understand that basic idea opens up a vast amount of power that can be used and abused, and we're going to look at a few of the better ways to deal with it in this article.
Posted by: Beatrice at January 19, 2004 7:56 PM
Let's see an example by converting our favoriteNumber variable from a stack variable to a heap variable. The first thing we'll do is find the project we've been working on and open it up in Project Builder. In the file, we'll start right at the top and work our way down. Under the line:
Posted by: Lucas at January 19, 2004 7:56 PM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Thomas at January 19, 2004 7:56 PM
But some variables are immortal. These variables are declared outside of blocks, outside of functions. Since they don't have a block to exist in they are called global variables (as opposed to local variables), because they exist in all blocks, everywhere, and they never go out of scope. Although powerful, these kinds of variables are generally frowned upon because they encourage bad program design.
Posted by: Evan at January 19, 2004 7:56 PM
Being able to understand that basic idea opens up a vast amount of power that can be used and abused, and we're going to look at a few of the better ways to deal with it in this article.
Posted by: Alice at January 19, 2004 7:56 PM
A variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.
Posted by: Alexander at January 19, 2004 7:56 PM
When a variable is finished with it's work, it does not go into retirement, and it is never mentioned again. Variables simply cease to exist, and the thirty-two bits of data that they held is released, so that some other variable may later use them.
Posted by: Simon at January 19, 2004 7:56 PM
We can see an example of this in our code we've written so far. In each function's block, we declare variables that hold our data. When each function ends, the variables within are disposed of, and the space they were using is given back to the computer to use. The variables live in the blocks of conditionals and loops we write, but they don't cascade into functions we call, because those aren't sub-blocks, but different sections of code entirely. Every variable we've written has a well-defined lifetime of one function.
Posted by: Jesse at January 19, 2004 7:56 PM
Posted by: julia at January 24, 2004 8:11 PM
VIDEO CHAT ROOM -
is a free webcam site that allows people from all over the world (from more than 120 different countries) to host their very own live webcam or just hang out and watch other people's live web cam feeds. Welcome to Join. Its FREE
video chat room
Posted by: VIDEO CHAT ROOM at November 12, 2004 7:20 AM
Animals are running the same algorithms as humans for a lot of tasks.
But don't forget. Duck hunters still use the trick of sending four hunters into a blind, and then having one leave. Ducks can't count, so they think that the zone is safe after one hunter leaves.
Animals run many of the same routines that we run. But they ain't running all of them. By the same token, what routines are we failing to run.
I can be simultaneously aware of what every student in my class is talking about. I am still amazed to find that my associate teacher didn't hear the anti-semitic conspiracy theory being preached in one corner or the utter self-loathing being muttered by a student off in another.
Perahps personality differences can be attributed to different processing strategies.
Posted by: Elvis Wiseheim's Grader at November 6, 2003 9:36 PM
Nice site. thx.
Posted by: Online Casino at January 16, 2004 4:22 PM
A variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.
Posted by: Newton at January 19, 2004 7:56 PM
Inside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Brian at January 19, 2004 7:56 PM
Being able to understand that basic idea opens up a vast amount of power that can be used and abused, and we're going to look at a few of the better ways to deal with it in this article.
Posted by: Beatrice at January 19, 2004 7:56 PM
Let's see an example by converting our favoriteNumber variable from a stack variable to a heap variable. The first thing we'll do is find the project we've been working on and open it up in Project Builder. In the file, we'll start right at the top and work our way down. Under the line:
Posted by: Lucas at January 19, 2004 7:56 PM
The rest of our conversion follows a similar vein. Instead of going through line by line, let's just compare end results: when the transition is complete, the code that used to read:
Posted by: Thomas at January 19, 2004 7:56 PM
But some variables are immortal. These variables are declared outside of blocks, outside of functions. Since they don't have a block to exist in they are called global variables (as opposed to local variables), because they exist in all blocks, everywhere, and they never go out of scope. Although powerful, these kinds of variables are generally frowned upon because they encourage bad program design.
Posted by: Evan at January 19, 2004 7:56 PM
Being able to understand that basic idea opens up a vast amount of power that can be used and abused, and we're going to look at a few of the better ways to deal with it in this article.
Posted by: Alice at January 19, 2004 7:56 PM
A variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.
Posted by: Alexander at January 19, 2004 7:56 PM
When a variable is finished with it's work, it does not go into retirement, and it is never mentioned again. Variables simply cease to exist, and the thirty-two bits of data that they held is released, so that some other variable may later use them.
Posted by: Simon at January 19, 2004 7:56 PM
We can see an example of this in our code we've written so far. In each function's block, we declare variables that hold our data. When each function ends, the variables within are disposed of, and the space they were using is given back to the computer to use. The variables live in the blocks of conditionals and loops we write, but they don't cascade into functions we call, because those aren't sub-blocks, but different sections of code entirely. Every variable we've written has a well-defined lifetime of one function.
Posted by: Jesse at January 19, 2004 7:56 PM
Posted by: julia at January 24, 2004 8:11 PM
VIDEO CHAT ROOM -
is a free webcam site that allows people from all over the world (from more than 120 different countries) to host their very own live webcam or just hang out and watch other people's live web cam feeds. Welcome to Join. Its FREE
video chat room
Posted by: VIDEO CHAT ROOM at November 12, 2004 7:20 AM