Frequently Asked Questions

Question #1: I think ToonTalk isn't working right. What can I do?

Question #2: Could you please explain to me how to do an equivalent of a DO LOOP with ToonTalk?

Question #3: I want to use ToonTalk but I'm visually impaired. Any suggestions?

Question #4: What is the difference between erasing a number and removing it completely from the box in a robot's thought bubble?

Question #5: How can I make a scale to tip to one side in a robot's thought bubble and also remove the pads on both sides of the scale so my program will work with numbers or text?

Question #6: How do I jump to a puzzle I want to work on?

Question #7: I don't like the size and location of Tooly, the Toolbox, and his friends. How can I change this?

Question #8: How can I get help from inside of ToonTalk?

Question #9: I have a robot but don't know what he does. How can I find out?

Question #10: I want to make lots of changes to the box in a robot's thought bubble but it is too small to work on. What can I do?

Question #11: ToonTalk always asks me my name when it starts. And it remembers me. What is going on?

Question #12: I want everyone in class to start out with a notebook and city that is different from the one supplied by ToonTalk. Can I do this?

Question #13: I sometimes take things out of a notebook or Tooly by mistake. Do I have to use Dusty to get rid of it?

Question #14: Can I train a robot to put pictures together?

Question #15: Can you personalize birds? It's really difficult to remember which lives where.

Question #16: I want a robot to run if something is NOT true, how do I do that?

Question #17: I read that I can "post" robots, however I don't know how.

Question #18: It seems that sometimes when a robot is finished working, Dusty is made to vacuum up stuff on the floor even if this is not part of the robot's training. Could you please help to explain it?

Question #19: Frank asks, "When I exit to edit a picture the picture comes up in my web browser even though I have Microsoft Paint set as the default program for opening .png files. Can anyone suggest a way to do this more efficiently?"

Question #20: I'm using the Touching Who? sensor so my robots can respond to collisions between pictures but when a picture is touching more than one thing only one is shown. How can I get it to react to all the things it is touching?

Question #21: Miki in London asks, "If you have a robot that takes the inputs x and y, can you train it to work on a condition like 'x+y>1'?"

Question #22: There are so many ways of saving things in ToonTalk. Which one should I use when?

Question #23: Miki asks, "How long is a piece of string? (Or rather; is there any way to get a robot to measure the length of a text string?)"

Question #24: Jackie writes, "Give a stack of numbers on a nest to a robot to train the robot - in the thought bubble, the robot
manipulates the stack of numbers as though it were the top number only - no stack, no nest. If the robot takes off the top number, there's nothing underneath. This means that you can't train the robot to manipulate any number on a stack other than the top number. Happily, the trained robot treats a stack on a nest given to him as a stack, and removes one number at a time, (so the demo puzzles work fine) but if you wanted to, say, train a robot to do something different with alternating numbers on a stack on a nest, that would not be possible."

Question #25: Is there a Mac or Linux version of ToonTalk?

Question #26: What is the best way to get good screen shots from ToonTalk?

Question #27: Why can't I hear Marty after installing ToonTalk on Windows XP? Why doesn't ToonTalk 2 running under Windows XP or 2000 remember what I've done in previous sessions? How do I run with 256 colors in Windows XP?

Question #28: Ryan asks how can I make the animation of the explosion (found in the Pictures notebook) start over again?

Question #29: I noticed that Marty is able to say numbers even when they have hundreds or thousands of digits. How can I see what he is saying?

Question #30: Sometimes when I pick up a text pad and type control-c then the text ends up on the clipboard. Other times there is an XML encoding with my text inside. What is going on?

Question #31: I have a team of robots on the back of a picture that have finished working but if they set off a bomb they blow up the picture, how can I stop them?

Question #32: I keep forgetting which function key does what. Can you help?

Question #1: I think ToonTalk isn't working right. What can I do?

Answer: Click here for more help.

Question #2: Fadia Markar in Switzerland asks "Could you please explain to me how to do an equivalent of a DO LOOP with ToonTalk?"

Answer: The DO or FOR loops of ordinary programs usually consist of 4 parts: an index variable (let's call ours "i"), an increment that describes how much should be added to "i" (or subtracted from "i" if the increment is negative), a stop condition (for example, "i < 100"), and a body that get run repeatedly until the stop condition is true.

In ToonTalk, first I'd create a box with 4 holes:
[i | < | stop | increment]
where i, stop, and increment are numbers and "<" is a scale.  I'd give the box to a robot and train him to copy "increment" and drop it on "i".  I'd then train him to do whatever I wanted in the "body" of the loop.  When finished training the robot I would use Dusty the Vacuum to erase "i" (the number in the first hole of the box in the robot's thought bubble).

To do something after the loop terminates I would train another robot and drop this robot on the first one so it would end up behind it in line. This means the first robot will get a chance to work if the box matches.

See, for example, the factorial example in the Examples notebook.

Question #3: I want to use ToonTalk but I'm visually impaired.

Answer: Click here for tips how to customize ToonTalk in ways that may help.

Question #4: What is the difference between erasing a number and removing it completely from the box in a robot's thought bubble?

Answer: The general rule for a robot's thought bubble is that it should contain the kind of box the robot will be happy with. He'll be happy with a box with more detail than he's thinking of. So erasing a number means that the robot will be happy with any number pad in that location while removing it means that anything (even text pads or other boxes) are fine. Erasing a number is a way of expressing what computer programmers call a type test. A good ToonTalk programming style is to erase as little as possible to make the robot work in all the situations you want him to.

Question #5: How can I make a scale to tip to one side in a robot's thought bubble and also remove the pads on both sides of the scale so my program will work with numbers or text?

Answer: You can pick up the scales and type '+' or '-' until it goes to the state you want. The scale will stay in that state until it is activated by typing space to it.

Question #6: How do I jump to a puzzle I want to work on?

Answer: You can find the puzzle directory of ToonTalk installation folder on your hard disk and double click on the puzzle number you want to start. If you look at your log file in the users directory in the ToonTalk folder in My Documents, you'll see what puzzle numbers you did last time. Some puzzles build upon earlier work. If you start with one of those puzzles ToonTalk may offer to send you back a few puzzles. You can also repeatedly press Pause on the keyboard and keep skipping to the next puzzle.

Question #7: I don't like the size and location of Tooly, the Toolbox, and his friends. How can I change this?

Answer: You can use Pumpy to change the size of Tooly, the magic wand, Dusty, and your notebook. You can even change the size of Pumpy by copying him and using the copy to change his size. This is a great way to get more room if you'd rather work with small items. You can also leave your tools on the edge of the screen and use the function keys to call them to you. (See keyboard commands, for the details.) When you are done with them they'll return to where they were.  

Question #8: How can I get help from inside of ToonTalk?

Answer: Marty, the Martian, will give a complete description of an item if you call for him (via F1) while holding or pointing to an item. This is particularly useful for getting a description of what a robot does.

Question #9: I have a robot but don't know what he does. How can I find out?

Answer: In addition to getting Marty to describe the robot (see above), you can use the Magic Wand to obtain a copy of the box the robot was originally trained to work on. The magic wand's button should show 'O' for original for this to work. You can use the wand on the box in a robot's thought bubble and then give the restored copy to the robot and watch him work. If there is a team of robots you can watch the team work or if you want to focus on a particular robot you can break the team apart by sucking them up with Dusty and then spitting them out again.

Question #10: I want to make lots of changes to the box in a robot's thought bubble but it is too small to work on. What can I do?

Answer: You can use Dusty to vacuum out the entire box in a robot's thought bubble and then have him spit it out on the floor. It should be much bigger and easier to edit. If not, you can use Pumpy to expand the box. You can make the changes you want and then drop the box back into the empty thought bubble. When returning the box be sure to drop it over the thought bubble and not the robot because giving it to the robot is a signal you want to retrain the robot.

Question #11: ToonTalk always asks me my name when it starts. And it remembers me. What is going on?

Answer: When you give your name to ToonTalk it maintains files in the ToonTalk folder in the My Documents folder. These files are there so you don't have to start over again each time you start ToonTalk. The files start with the name you gave ToonTalk. Spaces are removed from your name. These files include a user model and changes to your notebook. The user model (the USR file) contains your customization options, the state of your puzzle game play, and what actions you've done so that Marty only suggests new things. If you haven't used ToonTalk for a while or want to restart the puzzle game then you should either come up with a new name for yourself or remove the USR file with your name. Your notebook is stored in a BOK.XML file. If you made changes to your notebook that you regret you can remove or rename the BOK.XML file with your name. If you have saved things in your notebook and don't want to lose them you can save them. When you save a city, an XML.CTY file with your name is saved. If you see files with ending with a number followed by XML (e.g. Sally.15.xml) then that contains the notebook on page 15 of your main notebook.

If you want someone to use ToonTalk, but not maintain any files, you can add "-t 1" to the command line so that all users are treated as temporary users. If you always want to give the same name to ToonTalk and don't want to be asked, you can double click on your USR file.

Question #12: I want everyone in class to start out with a notebook and city that is different from the one supplied by ToonTalk. Can I do this?

Answer: Yes, read this.

Question #13: I sometimes take things out of a notebook or Tooly by mistake. Do I have to use Dusty to get rid of it?

Answer: If you drop something on a stack, and it is identical to the items of the stack, it goes back to the stack. For example, suppose you take a notebook out of your notebook and then want to put it back. If the notebook you took out was on page 1 originally, then you'll have to set it back to page 1 before dropping it back.

Question #14: Can I train a robot to put pictures together?

Answer: For many games and graphics applications you need to have robots add pictures to pictures. Here's one way to do it. Put into a box a remote control for how a picture looks (this will be the background picture) and put in other holes pictures that you want to add. Train a robot when given this box to copy a picture and flip it over. Take out the remote controls from the new picture's notebook that you'll need (for example, the position and size controls). Flip the picture back over and drop it on the remote control for the looks of the background picture. Then train the robot to change the remote controls you took out as appropriate. For this robot to work in general you may need to use Dusty to erase some of the pictures in the box in his thought bubble.

Question #15: Lulu in London asks "Can you personalize birds? It's really difficult to remember which lives where."

Answer: While holding a bird you can type its name or short description. If you type to a nest with an egg in it then the nest and the bird when it hatches will have the same label. If you want to label a bird with a picture then you can use Pumpy to make a bird very large and drop a picture on her T-shirt. If the picture extends past her T-shirt, the drop is interpreted as giving her the picture to take to her nest. If it fits completely inside her shirt, it is added. It also helps to keep birds and nests in boxes and use labels on boxes to help remember which is which.

Question #16: I want a robot to run if something is NOT true, how do I do that?

Answer: Since a robot will only run if the robots before him have rejected the box, you can make a robot that checks the positive version of your condition. This "dummy" robot is trained to do nothing. Erase the conditions from your robot and place it behind the dummy robot. Then it'll run only if the conditions of the dummy robot are not true. Alternative that works when you want a robot to run if two numbers or text pads are not equal is to use scales in the thought bubble. After training your robot copy it and and edit the thought bubbles so that one copy has the scale tilting to the left and the other one tilting to the right.

Question #17: Tyler Breisacher asks "I read that I can "post" robots, however I don't know how. "

Answer: Click here.

Question #18: Ben and Ivan Filippenko ask "It seems that sometimes when a robot is finished working, Dusty is made to vacuum up stuff on the floor even if this is not part of the robot's training. Could you please help to explain it?"

Answer: Robots do clean up after themselves whether trained to or not. Besides keeping things tidy, this enforces a good programming practice. When a robot uses the floor, this is like using "local variables" in conventional programming languages. And as with such languages there is an automatic recycling of the memory used for local variables when exiting that part of the program. If a robot was holding Dusty the Vacuum when you finished training him he will not automatically clean up. This is a good way to program robots to fill new houses with things.

Question #19: Frank asks, "When I exit to edit a picture the picture comes up in my web browser even though I have Microsoft Paint set as the default program for opening .png files. Can anyone suggest a way to do this more efficiently?"

Answer: If you edit PictureEditor to have the value "mspaint.exe", it should fix this problem. This isn't set as the default because on some versions of Windows Microsoft Paint can't edit PNG picture files.

Question 20: I'm using the Touching Who? sensor so my robots can respond to collisions between pictures but when a picture is touching more than one thing only one is shown. How can I get it to react to all the things it is touching?

Answer: The Touching Who sensor can be vacuumed by Dusty, it will then show the next thing being touched if there is one. You can have a robot on the back of your picture that does nothing but wait for a picture on the Touching Who sensor and vacuums it off.

Question 21: Miki in London asks, "If you have a robot that takes the inputs x and y, can you train it to work on a condition like 'x+y>1'?"

Answer: A single robot can't have a complex conditional test like this. You can get a team of robots do to this. The first robot copies x and y into a new hole that will hold x+y. Next to that hole is a scale and next to that is a '1'. Another robot can match for the scale showing that x+y is greater than 1. In general, that robot should then get rid of the extra box or boxes created by the first robot.

In the field of concurrent logic programming this issue is referred to as "deep guards" vs. "flat guards". A guard is equivalent to the contents of the thought bubble of a robot. Deep guards can simplify the expression of some programs but are very hard to implement well. The problem is that suspended processes (robots waiting for something to arrive on nests in ToonTalk) test to see if the guard is true whenever something changes (in ToonTalk whenever a bird covers a nest that a robot is waiting on). If the guard is deep this could mean a large computation is needlessly recomputed.

In ToonTalk there is another reason to avoid deep guards - the expression of conditionals in ToonTalk is visual. A robot accepts a box if the box visually matches the box in his thought bubble. More complex conditionals would require a more complex notion of conditionals.

Question #22: There are so many ways of saving things in ToonTalk. Which one should I use when?

Answer: When you have created something, for example, trained a robot then dropping it on an empty page of your main notebook will save it so that it'll be there next time you run ToonTalk with the same user name. If you have lots of related things then you can put them in a box or a blank notebook and put that in the main notebook. Note that only things in the main notebook will be there next time you run ToonTalk. If you have many things on the floor or many houses that you've changed, then save the entire city. If you want to save something to share with others (or with yourself under a different user name), then pick it up and press the Pause button on your keyboard and choose 'Save to File' in the resulting dialog page. Note that if your creation includes pictures or sounds that you've made or imported into ToonTalk then be sure the check mark is there so the result includes your media files. Your creation is saved as a TT file that can be sent to others and brought into ToonTalk by double clicking on it or dragging it into ToonTalk. If you have something that doesn't include media files and you want to send it by email then you can type control-c and then when in your mail program type control-v. This is also good if you want to see how ToonTalk encodes your object.

Question #23: Miki asks, "How long is a piece of string? (Or rather; is there any way to get a robot to measure the length of a text string?)"

Answer: If you drop a text pad on an erased box, then the box changes so that there is one letter in each hole. If you then drop that box on an erased number, the number will change to the number of holes in the box. This is a bit wasteful since you shouldn't have to make ToonTalk create the box but this will work.

Question #24: Jackie writes, "Give a stack of numbers on a nest to a robot to train the robot - in the thought bubble, the robot manipulates the stack of numbers as though it were the top number only - no stack, no nest. If the robot takes off the top number, there's nothing underneath. This means that you can't train the robot to manipulate any number on a stack other than the top number. Happily, the trained robot treats a stack on a nest given to him as a stack, and removes one number at a time, (so the demo puzzles work fine) but if you wanted to, say, train a robot to do something different with alternating numbers on a stack on a nest, that would not be possible."

Answer: This is a deliberate design choice. Consider what would happen if when training the robot you could remove things from a stack on a nest. Suppose you trained a robot to remove 3 numbers from the stack. Then when the robot is running it would expect 3 items on the nest but in his thought bubble he only checked that there was a number on top. The "story" here is that when the robot is given the box with a stack of numbers on a nest, he only sees the top number. So he imagines himself working on the box containing the top number only. Robots don't have X-ray vision.

I think you are right that it is impossible to train a robot to do something different with alternating numbers. But you can train two robots where each one does something different with the numbers. In order to get the robots to alternate, you'll need to make them use another box hole to contain a number or text pad that indicates which one should run next. Then join the two robots together.

Question #25: Is there a Mac or Linux version of ToonTalk?

Answer: There are no versions of ToonTalk that run directly on either an Apple Macintosh computer or a computer running Linux. ToonTalk has been successfully tested on Macs running Virtual PC 4.0 and later. ToonTalk should be able to run on Linux under a Windows emulator that can deal with DirectX.

Question #26: What is the best way to get good screen shots from ToonTalk?

Answer: Click here.

Question #27: Why can't I hear Marty after installing ToonTalk on Windows XP? Why doesn't ToonTalk 2 running under Windows XP or 2000 remember what I've done in previous sessions? How do I run with 256 colors in Windows XP?

Answer: Click here.

Question #28: Ryan asks how can I make the animation of the explosion (found in the Pictures notebook) start over again?

Answer: Currently the only way to reset a built-in animation like the explosion is to set its Which Picture? sensor. E.g. if you drop 1 on the sensor then it is changed but since the only permissible value is 0 it becomes 0 again. But as a "side effect" of the change the animation cycle is reset. What would be much clearer and more intuitive would be to have the Animation Finished? sensor work as a remote control as well. This way you could change it from "yes (the animation is over)" to "no (it is not)" and the animation would be reset.

Question #29: I noticed that Marty is able to say numbers even when they have hundreds or thousands of digits. How can I see what he is saying?

Answer: You can take your number and drop it on an erased text-to-speech sound pad. If you want to copy and paste the text into some other program then read the answer to the following question.

Question #30: Sometimes when I pick up a text pad and type control-c then the text ends up on the clipboard. Other times there is an XML encoding with my text inside. What is going on?

Answer: There are two kinds of text pads in ToonTalk. One that uses a fixed with font and the other uses a variable width font. The default for cutting and pasting text into and out of ToonTalk is the variable text font. If you paste some text into ToonTalk and edit it (or erase it and drop your text on it) then you'll be sure that when you type control-c it'll end up on the clipboard as plain text. Note that if you change the color or put things on the back of the text pad then it'll be saved as XML regardless.

Question #31: I have a team of robots on the back of a picture that have finished working but if they set off a bomb they blow up the picture, how can I stop them?

Answer: If a robot vacuums up the box he's working on then the team will stop for good. If this happens on the back of a picture ToonTalk tidies up and removes the team as well.

Question #32: I keep forgetting which function key does what. Can you help?

Answer: You can press F10 to see what the function keys do. Pressing F10 again will remove the help on the screen. Or you can print (and laminate) this and put it on your keyboard.

 

home | search | purchase | manual | news | info | games | faq | support | downloads | endorsements | press | contact us