Debugging Your Tango
This is going to be a lot more meaningful to you if you’ve got some kind of experience with programming. For the technically minded, one of the convenient things about tango is that you can debug iteratively. Your ability to take advantage of this depends a lot on how you choose to think about tango.
If you’re focused mostly on memorized patterns (the more traditional method of learning and thinking about social dances), then dancing is like programming in a compiled language (like C). You have to write chunks of your program completely, then compile to binary, then execute, then read cryptic error messages, then make a change somewhere, then compile, then execute, repeat as necessary. If you’re lucky, then you have access to some well-documented source code and a good IDE to simplify the process of debugging. But very often, you’re looking at fairly large chunks of code and procedures trying to find out exactly where in the chain things are going wrong.
For me, working with Argentine Tango is a lot closer to writing in Perl or PHP. These are interpreted rather than compiled, and can be written and executed almost on the fly. You can see the output of single lines or control loops simply by adding print statements anywhere you want to check what’s going on. If the problem seems too large, it’s trivial to extract a small piece of code, simplify it and build it back up again to something more complex. Even better, you get your results almost in real-time which makes it easier to rapidly prototype, tweak and improve the code you’re working on.
Once you get a handle on leading and following, and understanding that everything is made up of the same fairly simple elements, you can apply the very same debugging technique to Argentine Tango. Everything that you lead in tango will have some kind of real-time output from the follower (including null statements). If you’re paying attention, it’s possible to tweak your lead in real time and monitor the output/print statements/follower reaction to see if it’s working or not.
If the combination you’re working on seems too complex, stop trying to run it as a combination. Break it down into all of its component steps and check each one to find where the problem is. If you go through it slowly, maybe you find that you’ve got all the techniques and transitions down cold except for problems in step 5 and step 8. If you can figure that out, then you can understand that there’s no reason to keep re-running it from step 1. Extract out technique 5 and technique 8 and work on them alone until you can fix the technique that’s presenting the problem. Then try putting tech 5 and tech 8 together, and then reverse them. Then try putting in 6 and 7 between them. Then rearrange them all. Eventually you’ll find that putting 1-8 together is trivial, and maybe 5-8 alone is much more interesting or that 475 is very cool and that you can put any sequence together with very little effort. Now you’re coding/improvising on the fly, you’ve got your flow and it’s all coming together. If you hit another problem somewhere, just back up a line or two, add another print statement (pay attention to what the follower does) and compare it to what you expected. If it works, move on, if not, rewrite the code.
2 Comments
RSS feed for comments on this post.
Leave a comment
Sorry, the comment form is closed at this time.
Debugging Your Tango
Tangophilia: Debugging Your Tango
f the combination you’re working on seems too complex, stop trying to run it as a combination. Break it down into all of its component steps
Trackback by tango, the world and I — 20030919 @ 11:59
Tangophilia: Debugging Your Tango
Debbugging, as it is used in comupter science, is probably not the term many people use when dancing tango, but Jason has some valid points…
For me, working with Argentine
Trackback by tango, the world and I — 20031107 @ 6:48