The 2006 Israeli Juggling Convention

This year’s Israeli Juggling Convention was one of those very few conventions where everything comes together: great people, excellent shows, nice weather, a beautiful location, good food, lots of fun stuff to do and enough time to enjoy it all. The IJC is one of my favorite conventions and this year’s was arguably the best ever, certainly the best I’ve had the pleasure to attend. Scott Selzer has already written a very comprehensive report on this convention and I share most his sentiments, so I’ll focus on my personal experiences here and on what stood out for me most at this convention.

In juggling circles Israel is probably most renowned for its amazing young talents, the best known of which are most likely Ofek and Segev Shilton, who were of course attending the convention. Ofek is still a little rascal, laughing and joking all day long, and sometimes getting a bit into trouble (not really!). He’s starting to learn English in school. I can’t wait to be able to talk to him without interpreter or gesturing and wild guessing. Segev has grown up like mad during the past year and he looks great!

To give you an impression of the juggling level in Israel here are two examples: There are two kids (Ofek, 11, and Dekel, 13) who can do 3 Diabolos in the air as well as in the string, with little difficulty. The 7 ball endurance lasted at least 30 seconds, maybe even close to a minute, and was won by 14 year old Bar Mualem.

The guests this year were fantastic! The show they put together was the best I’ve every seen, anywhere, and I’ve seen quite a few! This is all the more remarkable in the light of the fact that they only had very little time to prepare and rehearse the show. How they did it, I don’t know. I’m just very thankful that I was there to see it.

Maksim Komaro came, together with his musician/juggling-partner Markus Lahtinen. I’ve seen Maksim perform before but this was the first time I’ve met him in person. He’s a very relaxed and friendly guy, as is Markus. They performed an absolutely wonderful, well choreographed and technically difficult half-hour show (in addition to their act in the international show) which was rightfully met with standing ovations. Markus plays contrabass and interacts very creatively with Maksim, who screams Finnish curses when he drops. It comes over quite positively, though, probably because he seems so nice and friendly.

Matt Hall I’ve seen perform at the EJC in Svendborg. Matt’s a great guy! He loves talking to people, giving workshops and hanging out in the gym. He’s always the first to jump up for standing ovations. I always assumed that he does juggling professionally, so I was very surprised to hear that he’s a (first class, from the looks of it) Japanese teacher at a High School.

Then there’s Tr’espace, the German/Swiss Diabolo Duo. They completely blew me away, both personally as well as professionally. Their act is by far the best Diabolo act I’ve ever seen and they’re such warm, friendly and interesting people! I can’t wait to meet them again.

I didn’t hang out with the guys from La Petit Travers much and I even missed their one-hour show, but I was quite impressed by what they did in the international show. Technically not overly difficult, but meticulously choreographed and very funny. Well worth seeing!

Jochen and Florian from Get The Shoe are, of course, celebrities. I knew Jochen personally but only got to know Florian in Israel. Not only that, I also performed a very disgusting act involving a glass of water and a toothbrush with them in one of the renegades. It was truly an honor. I don’t think I need to mention that their act is one of the best – ever. Everybody already knows.

Another highlight for me was Ori Roth’s performance in the Avi Rosenberg 3 ball competition. This competition is held anually (alternating between clubs and balls) in memory of Avi Rosenberg, an Israeli juggler who died in a car accident, and is sponsored by Avi’s family. Ori did a routine very reminiscent of Luke Burrage’s three ball act. He uses custom (or at least customized) music and juggles perfectly in synch with it, in his typical humble, detached style, rarely dropping. Technically, his act is certainly on par with Luke’s and it’s just as funny. Not surprisingly, Ori won the competition, with Maksim taking second place.

As much as I enjoy juggling and all that, the real reason why I came to this year’s Israel convention was a different one, though. Insiders already know that what really made me take this trip was the chance to again play Diski all day long! For those who don’t know (shame on you!) here’s what it’s all about: Diski is played on a wooden table which is divided into two halves – one for each player – by a wall which has a single hole in the middle. On each player’s side there’s an elastic string attached which runs across the board. Each player starts with 4 wooden disks. The objective is to get all disks through the hole into the other player’s half and to do this by shooting them back to the string which reflects them forward in the direction of the hole. It all sounds very difficult but it’s easy to grasp if you see a video of it, so here is Naama Roth (Ori’s sister) kicking Ofek’s ass (even though Ofek’s cheating – he’s holding the string and uses it like a catapult instead of shooting the disks against the string).

In concluding I’d like to say again that this was one of the best conventions I’ve ever been to and I’d like to thank Itsik, Ron, all the other organizers, the performers, and all the people at the convention for making this magical week possible!

More photos from the convention and from Jerusalem will be coming up over time on my Flickr page.

Advertisements

A Siteswap Puzzle

While I desperately tried to solve a Sudoku at a Juggling Convention Thomas Furtner had the idea to a somewhat similar kind of puzzle with Siteswaps: In a rectangular matrix every row (from left to right) and every column (from top to bottom) must be a valid siteswap (with throws from 1 to 9).

At home I started implementing a program to generate such matrices. Here’s one example:

1 1 1
1 1 1
1 1 1

Of course it’s rather boring, so I imposed some other constraints. First, each siteswap must contain at least two different throws. Second, the puzzle must not contain the same siteswap twice. For the purposes of this puzzle I defined two siteswaps as equal if they are identical or one of their rotations is identical, i.e., 531 is the same siteswap as 531, 315, and 153.

With these additional contraints matrices like this were created:

7 4 4
4 1 7
7 1 1

This looks much better but I found out pretty quickly that square matrices are very unsuited for this type of puzzle since one can add or subtract (if possible) the period length to any element in the matrix and all siteswaps will still be valid. Hence I went to 3×4 matrices and finally got some interesting matrices:

8 1 3 8
9 1 1 5
7 4 8 5

Now the only thing left is to remove as many elements in the matrix as possible so that it still gives a unique solution:

8   3
  1
  4 8 5

The program to generate these puzzles is implemented in GNU Prolog using the Constraint Logic Programming extension CLP(FD). Constraint Programming allows the solution of some classes of problems just by writing down the constraints they are subject to. The constraint solver does the rest – usually very efficiently. The classic example is the “SEND+MORE=MONEY” problem, an implementation of which is given on the Wikipedia Constraint Programming Page. I’ll show you how this is applicable to siteswaps!

We need to define what a siteswap is. Mathematically speaking, the sequence t_0, t_1, …, t_n-1 is a valid siteswap if and only if the sequence (t_0 + 0) mod n, (t_1 + 1) mod n, …, (t_n-1 + n-1) mod n is a permutation of the sequence 0, 1, …, n-1. Since all elements of the modified sequence are “mod n” this is the same as saying that all elements in the modified sequence must different from each other, i.e., no two elements must be the same.

This brings us to the implementation of the siteswap constraints. I’ll use a slightly simplified notation here so as not to scare away people unfamiliar with Prolog syntax. These are the constraints for a siteswap with period 3:

is_siteswap([T0,T1,T2]) :-
    domain([M0,M1,M2], 0, 2),
    M0 = (T0+0) mod 3,
    M1 = (T1+1) mod 3,
    M2 = (T2+2) mod 3,
    all_different([M0,M1,M2]).

The first line is the introduction to the definition of a predicate – similar to a function in C or a procedure in Pascal. Our predicate “is_siteswap” takes one argument, namely a list of three variables T0, T1, T2, which represent the three throws in the siteswap.

The second line declares three more variables, namely for the modified sequence. The declaration tells the constraint solver that these variables will be numbers in the range from 0 to 2 (CLP(FD) can only deal with whole numbers).

The next three lines “generate” the modified sequence. It looks like simple algebra, but at this point there are no calculations involved, because this predicate must work even if one of the Ts is unknown. If it couldn’t do that, it would only be good for checking whether a siteswap is valid!

The last line is a call to a predicate built into CLP(FD) which makes sure that all Ms are different, as required for valid siteswaps.

Now that we have written it we can do several things with this predicate. The simplest of all is checking whether a siteswap is valid:

valid_test :-
    is_siteswap([5,3,1]),
    labeling([]).

The only thing new here is the call to the predicate “labeling” which really starts the constraint solver. It is called with a list of variables for which it is supposed to find values satisfying all the constraints. Since we are only interesting in checking the validity of a siteswap we have no variables, so we call it with an empty list. In this case it can only either succeed or fail. Not surprisingly, it will succeed, because 531 is a valid siteswap.

Another thing we can use our predicate for is completing an “unfinished” siteswap:

complete_test(X) :-
    domain([X],1,9),
    is_siteswap([5,3,X]),
    labeling([X]).

The second line here tells the constraint solver that X must be in the range 1 to 9. The last line orders the constraint solver to solve for X. The answers it will give are 1, 4, and 7.

We could also use the predicate to generate all siteswaps with period 3 and throws in the range from 1 to 9 (or any other range):

generate_test([T0,T1,T2]) :-
    domain([T0,T1,T2],1,9),
    is_siteswap([T0,T1,T2]),
    labeling([T0,T1,T2]).

My little program, which you can download here (you’ll need GNU Prolog to run it) implements several other constraints, notably the “non-triviality” constraint (making sure that a siteswap contains at least two different throws) and the “not-equal” constraints (making sure two siteswaps are different). My Prolog never was much to write home about and has degenerated noticably during the past few years, plus I’m rather lazy, so this program is certainly not an example of good Prolog style!

If you’re curious about constraint programming, the Wikipedia article probably isn’t the worst place to start.

For the puzzle freaks, here are some more:

2     4        3 1       5   2            1 6
3 3          1 1           7 5 2      1     1
  1 2 6      8 2  2      2     6        2 4 2

SuperMag is Fun!

Icosahedron Extension Thingy

SuperMag is a magnet construction kit and it’s lots of fun. I have even written a webpage about it with lots of examples, tips, and tricks. SuperMag is similar to GeoMag, which appears to be somewhat more widely known. The main difference is that SuperMag has two different lengths of bars which makes it possible to build a larger variety of structures without resorting to the panel approach GeoMag has taken. Not that I’m saying that GeoMag is bad – they’re both great, just different.