Monday, October 19, 2015

Call and concept word cloud

People tell me that I frequently make square dance puns. When they aren't dancers themselves, they just don't understand how much these words come up in everyday conversation, or how some random phrase could have the feeling "that could be a call!". I wanted to demonstrate what square dancing vocabulary looked like so I grabbed the lists of calls and concepts, basic through C3B from Vic's list and the "Lynette teach tapes" C4 from Dana's flashcards, cleaned them up a little, and put them into a webapp for making custom word clouds. Cleaning involved naively tokenizing the calls and removing words used to list concepts or calls with parameters (e.g. anyone, fraction) as much as formatting characters. I don't claim to have done it comphrensively or even well =). There are also many ways to list / count calls, and this is just one arbitrary way.

The moral of the story is that we ought to be calling this activity "cross dancing" (already taken?).

Basic through C4:



Basic through Plus is much less intimidating:


For calls, I think it would be cool to look at n-grams rather than just single words, but the 1-grams would dominate so maybe they'd have to be examined separately.

Wednesday, September 3, 2014

Installing sdplayer 2.00 on OSX

I was inspired to try to get sdplayer working on my mac the other day when I encountered a tape I wanted to try mentally following that ended up being too fast for this, and I kept struggling to get it back to the beginning of each sequence using a normal music player. Since this seems like it would be useful info, here was how I eventually got it to work (on OSX 10.8.2):

1. Download the sdplayer 2.00 source code, and extract its files into a directory.
2. Download and install Qt if you don't already have it. It doesn't matter where you install it, but note in particular the path to the qmake program it will include for clang. For me, that was <base Qt directory>/<version number>/clang_64/bin/qmake.
3. Download and install VLC if you don't already have it. If you somehow install this somewhere other than /Applications/VLC.app, change the paths in (5) and (8) below.
4. If you have a relatively recent version of Qt, which I believe means a version starting with 5: in the line "#include <QtGui/QApplication>" in main.cpp, replace "QtGui" with "QtWidgets", and in the line "QT     += core gui" in SdPlayer.pro, replace "gui" with "widgets"
5. Add the following section at the bottom of SdPlayer.pro:
macx {
  INCLUDEPATH += "/Applications/VLC.app/Contents/MacOS/include"
  # path to vlc libraries
  LIBS += -L"/Applications/VLC.app/Contents/MacOS/lib"
  LIBS += -lvlc
}
6. Run <path to qmake> -makefile -macx -o Makefile SdPlayer.pro

7. Run make clean && make

8. Now the weirdest step. I understand very little of this entire install process, but this one the least. Run otool -L SdPlayer.app/Contents/MacOS/SdPlayer and note the line about libvlc, or try to run ./SdPlayer.app/Contents/MacOS/SdPlayer and note which .dylib file it complains about (for me it is @loader_path/lib/libvlc.5.dylib). Then use that <bad path> to run:
install_name_tool -change <bad path> /Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib SdPlayer.app/Contents/MacOS/SdPlayer
And then you should be able to run sdplayer either from the command line, from Finder, or from Spotlight (once it finds it). Enjoy!


Sunday, May 25, 2014

Self-teaching levels

Over the course of two sets of about three months each, a year or so apart, I learned C3A and C3B on my own: zero formal instruction, and very little informal instruction. Having been reasonably successful in these endeavors, I thought I would share some of my thoughts, advice, and resources for dancers teaching themselves new levels.

Before embarking on this entry, I'd like to say that I advocate strongly for learning levels through formal classes with several students, rather than on one's own (but why I feel that would should be its own entry here!). However for various reasons, not everyone learns every level that way.

Have experiences you'd like to share? I'd love to hear about them by blog comment, social media, or email.

Self-teaching "prerequisites"

There are some qualities I think successful self-teaching dancers most likely have, so dancers considering it may want to assess their amounts of these qualities before attempting their first level.
  • Square dance "maturity"
I know there are people who have somehow even learned mainstream on their own, but it's far more probable that this process will work if the learner has some "maturity" in square dancing. It's hard to define what this should entail, but I think at least: ability to read definitions and map them to physical actions; ability to read formations and scale them to how they look in real life; ability to mentally follow at least one dancer through a call; the "concept" (ha) of what a concept is (perhaps through computer science/math background even without having learned Advanced, as there are certainly analogues there).
  • Excellent memory
This one's probably obvious, but the first step for many people/levels will be to memorize the definitions of the calls (or some method for mapping call name to physical action, if not the actual definition). Resources are only becoming more readily available, so teach tapes / drill sequences that add calls over time may exist, but it's still necessary to have a memory such that you don't need people helping to perform the calls. The fastest self-teaching method, sometimes called "powertooling", has memorization of all the calls as its first (and sometimes only) step.
  • Dedication
This one's probably obvious too! Self-teaching can be exhilarating and fun, but it requires a lot of patience and desire to learn the level to put in enough time. To be fair, the powertooling approach (memorization but little to no practice) requires less time as long as you have the memorization skills and confidence to dance a level based solely on knowing the definitions.

Possible journeys

Most people I talk to about self-teaching see the following path of two steps:
  • Beginning: memorize the definitions
  • End: try to go to a dance or get a caller to call simple stuff for a square that includes you.
I see two potential intermediate steps (one, or both in either order):
  • studying with written choreography
  • studying with spoken choreography
If these are available to you and the level you're studying, I think they're great for building confidence, skill, and the easy paging-in of calls that real level dancers have. Of course if you are truly learning by  yourself, it's difficult to use choreography to study! Square dancing is a team activity, and suffers when you try to do it alone. However if you have dedication and enough skill at dancing and scrambling, it's possible. (My third-of-a-studio kitchen turned into a dance hall for awhile!)

In my personal experience, I used only written choreography for C3A (plus maybe watching a few youtube videos), while I used written choreography and then a lot of drill spoken choreography for C3B. I felt significantly more confident before my first C3B dance, though this could have been partially due to having gone the self-teaching route before. I think I performed relatively better at C3B as well, but the difference was probably not large.

Studying with written choreography

There's a good amount of written choreography on ceder.net (possibly elsewhere as well, but not that I've sought out). These are sequences filterable by level, "difficulty", and even by call. Some are full sequences, squared set to squared set, while some start and end at well-known intermediate formations (zero boxes and zero lines).

I would filter to the level I was learning and just go down the whole list imagining I was the couple 1 girl dancer and thinking through my end positions. It's basically impossible for me to be able to follow enough dancers that I can imagine crashes or funny calls or to always have the exact formation in my head, and in all cases I wanted to check that I was correct, so I would usually follow along in sd. Whenever I felt checking my position, I'd catch up sd by typing in each call, and then verify my current position. For easier sequences I could perform this check only a couple times during the sequence, or even just at the end, but for harder ones I'd type in each call after I thought about it. The easy sequences helped my memorization and paging in of calls, and the harder ones helped me check my deeper understanding. Want more practice? You can go through the material up to four times as different dancers. Of course the biggest problem with written choreography is the fact that none of it is in real time, which leads me to my next section.

Studying with spoken choreography

If you have access to spoken choreography, it can be a good aid for memorization and paging in calls fast enough, since it is at real speed or close to it (while you can still pause or repeat whenever you want). If you're studying alone you'll need to dance with seven phantoms, but being able to actually move in the patterns of the level is tremendously helpful. Even without the other people, you develop some muscle memory for the common cases. It can be extra fun because it gives you a little exercise and momentum, and you may even like the music!

Secret option C: when you have callers or experienced dancers helping along

Some people may have access to callers and dancing groups that will work with them for a tip every so often as they're learning. I did not do this (except one tip from a tape when I'd just about memorized C3A), but I suspect it would work similar to drill sequences except that it'd be more realistic in terms of teamwork and difficulty. I fall on the low end of confidence in a level I'm new at, especially if I've only been learning by myself, so this kind of education would probably be more stressful for me than it's worth. However for people who more readily believe that they're not burdening the dancers helping them, it sounds like a very useful option.

Concrete resources

Here are some relevant resources are available to everyone. I have used many of them at one time or another.
  • Definitions
  • Written choreography
  • Spoken choreography
    • Youtube videos of sequences/tips (all levels, quality varies wildly)
    • Drill tips from Tony Collingwood (C3A and C3B, though there may also be plus tips on the site, and 2-couple dancing at many levels); this was my primary source of studying C3B other than the definition list, and I loved it
    • Tapes from Keith Rubow (A2-C4, mostly C1-C4) - these are not free, but will be the best quality for the most realistic tips, and are not prohibitively expensive. If you know anyone who runs tape groups, they may also be willing to share some of the tapes in hopes that they will gain a talented dancer afterwards!
    • Winchesters - challenge singing calls, almost all of which have some C4 calls you'd have to learn for the purpose of trying them out if you're not learning C4

Thursday, December 19, 2013

Echo like a echo

Thanks to my eyes on the ground at the Tech Squares 2013 challenge weekend, I got to hear about some cool specialty tips that were called. The same caller who came up with the Pavlovian tip shared several new ideas in sequences or tips, one of which I wanted to write about here.

This idea was a new metaconcept that took as arguments a <concept> and a <call> and said to do the call, do the call with the concept applied, and then do the call again. It was described to me as "kind of a play on echo." I agreed and thought it was so nicely symmetric that there had to be a nice existing way to define it succinctly. After a bunch of half-baked attempts (including one vastly more complicated but I believe still correct*), I came up with: echo [like a] [echo <concept> <call>].

(Note - very different from: echo [like a echo <concept>] <call>, if that's even legal syntax, which would just be: twice <call>. I'd probably want to pronounce that one "echo like an echo..." and the fact that this confusion is possible means I don't want to say "like an" for the correct parse.)

Let's go through the parsing of this definition.
echo [like a] [foo] means do the last part of foo, then do foo.
echo <concept> <call> means do <call> with <concept> applied, then do <call>
So expanding our "foo", echo [like a] [echo <concept> <call>] means do the last part of echo <concept> <call>, then do echo <concept> <call>.
And simplifying this: do <call>, then do <call> with <concept> applied and then do <call>, which is just what we wanted.

This does not, however, preserve the three-part structure of the original metaconcept... it instead has two parts, the second of which has two parts (how everyone wishes they could do swing and mix, right?). I thought of an alternative definition that DOES preserve the three parts: sandwich [twice <call>] around <concept> <call>. However I still find this a wordier definition because it includes <call> two times, and it uses "twice" which is a bit silly.

*reverse echo [like a reverse order] [reverse echo <concept> <call>] ... maybe?

Thursday, October 24, 2013

Tidbits from dances #1

Yesterday night Midnight Squares had Richard Tuck call C3A. It was a great, pretty fast pace and seemed to be about the right level for the floor, where we mostly got stuff but sometimes went over sequences.

One call that stuck out was, from a quarter tag with the centers in a wave: initially concentric relay the shadow. We ends just kind of stood there until someone had the presence of mind to give some brief directions ("step to a wave around the outside" or something like that). Very cool application of concentric!

Distortion and naming: a brief complaint

Sometimes - and perhaps more often than I'd like - I'll make a mistake and still be really sure I'm correct. Sometimes I'll even insist on this dancing this mistake the second time around! One of these instances happened the other day when we were in an O with ends facing centers and the call was percolate. I'm used to doing percolate from an eight chain, but I (and probably most dancers) am more familiar and comfortable with doing it from generalized lines. And so, in my end position of the O, I went ahead and tried to do a big block percolate instead of an O percolate. I was so confused when no one else seemed to be going as far as I was, as I thought I had to get all the way to the other end of the O! After two attempts, someone said something about columns, and I realized what I was doing.

Isn't it odd that (at C3A anyway) we have three names for distorted column-like setups and only one for line-like setups when 1) we condense the setup into one term (i.e. not counting "{disconnected, distorted, offset, magic} {lines, columns}")? Stagger, butterfly, and O all mean columns, while only big block means lines. Does this continue to be true at higher levels or does it even out? I'd prefer some other syntax, like "(in your) {staggered, butterfly, O} {columns, lines}" (and getting rid of the term "big block" altogether). Parallelogram and (at C3B) trapezoid seem to be in a class of their own, because they by themselves can refer to either columns or lines but the setups are not ambiguous between them.

Saturday, August 31, 2013

Unusual applications: hop

I find that one of the best ways to learn a call well is to dig into unusual applications. Perhaps surprisingly I don't say this because it allows you to encounter those applications before they are called (which would typically give you an edge), but because it makes you focus so much on the call that it drills it into your head. After writing this entry, I'll probably never forget hop again!

For reference, the definition of "<anyone> hop" from Callerlab is "Starting formation - Any applicable non T-Bone 2 x 2 (usually Facing Couples). Designated dancers Walk as others Dodge; all Hinge. Ends in a Wave or Inverted Line. Anyone Hop is a 2-part call."

Basic C3A familiarizes us with the two most standard applications of hop: from facing couples and from a miniwave box. (The latter already feels "less standard" to me, maybe because of the partner hinge, maybe because the leaders can't see what's going on.)

When introducing variations, first I thought about whether more or fewer than two of the four people could be asked to hop, i.e. "everyone hop" or "no one hop". It wouldn't make sense for a leader to be told to hop, so "everyone hop" can only be done from facing couples (pass thru and hinge), but "no one hop" can be done from any box (half sashay and hinge). The flow may be terrible, but on Phantom Columnist we mostly care about legality!

Finally I came to the weirdest variation I could think of that was still symmetric: from facing couples, having one side of the box hop. This seems questionable because it will cause collisions and they must be resolved partway through the call (but we do that with other calls, e.g. many varieties of tally ho). If heads are facing sides and  "heads hop" is called, the sides will half sashay and collide to right hands with the new head they are facing, on their original plane. The fact that this puts all four dancers in the spots of two dancers originally means many cases will get some offset. In particular, from lines facing the walk and dodge + collision will put dancers in a 100% offset parallelogram and then the hinge will put them in clumps.

 3B>   4G<

 1G>   2B<

 4B>   3G<

 2G>   1B<

heads hop

  .     .    2B^   3BV

  .     .    4G^   1GV

 3G^   2GV    .     .

 1B^   4BV    .     .


From an eight chain thru, if the ends are told to hop, the call ends in nice parallel waves instead of the tidal wave that would result from the typical application of hop! I would then expect centers hop from an eight chain to end with the real dancers in outside phantom boxes.

 3GV   4BV

 3B^   4G^

 2GV   1BV

 2B^   1G^

ends hopcenters hop
 4G>   3B>

 3G<   4B<

 2B>   1G>

 1B<   2G<

 3B>   4G>

 4B<   3G<

  .     .

  .     .

  .     .

  .     .

 1G>   2B>

 2G<   1B<


And what about, from lines facing, "ends hop"? The centers would slide over to the end spots and the ends would pass thru, each colliding with a center and taking right hands. Then all would hinge to end in outside phantom lines. Meanwhile if it were "centers hop," the collision (and hinge) would put everyone in normal waves.

 4BV   3BV   3GV   4GV

 2G^   1G^   1B^   2B^

ends hopcenters hop
 2G>    .     .    2B>

 3B<    .     .    3G<

 1G>    .     .    1B>

 4B<    .     .    4G<

 1G>   1B>

 4B<   4G<

 2G>   2B>

 3B<   3G<

Coming to a caller near you? Probably not, but it's fun to explore weird behavior of even simple calls.