JL Hand siteswap feature
Pattern: R5xL5L5xL5xR5R5x

Pattern: 5
Manual settings: hss = 411

Background●●

Given an asynchronous siteswap, it is by default assumed to be juggled withright and left hands throwing alternately.
For patterns where hands do not throw alternately, multiple confusing terms
and notations are prevalent.
○
○
○

●

Terms like ‘galloped patterns’, ‘hurries’ and ‘polyrhythms’ are used.
JoePass supports a notation to comprehend ‘hurries’. Usual mathematical rules of siteswap
notation like average test and permutation test are rendered irrelevant in this notation.
Juggling Lab supports use of hand specifiers (R and L) and throw modifiers (x) to represent
such patterns. This complicates the notation, check for a valid sequence and invention of new
sequences.

Further complications in notation (passing, synchronous) arise when morethan two hands (i.e., more than one juggler) are involved in an asynchronous
pattern.

Alternative Solution●Just as the siteswap sequence decides the order in which objects are thrown, a ‘handsiteswap sequence’ (HSS) can be specified to capture information about the order in which
the hands throw1.
○●

Any asynchronous object siteswap sequence (OSS) involving any number of jugglers canbe accurately and succinctly represented with this approach.
○●●For example, Prechac patterns containing fractional throws can be represented without needing either
fractional throws or passing notation.

The usual average and permutation tests apply to both OSS and HSS.
Easy to invent new patterns.
○○●

The default of hands throwing alternately corresponds to the HSS ‘2’.

Any valid OSS can be combined with any valid HSS to give a valid juggling pattern.
Only exception is if the HSS has a ‘0’, i.e., no hand is available at a beat where the OSS has a non-zero throw,i.e., there is an object scheduled to be thrown at that beat.

Dwell times can be individually maximized for each hand based on when it throws next.
1.

Polster B, ‘The Mathematics of Juggling’, NY: Springer, 2003, pp. 110-112

Example (Solo Juggler)
Pattern (oss): 42
Manual settings: hss = 13●

Common Interpretation: “Galloped” 423○○●

JL asynchronous notation: R4 R2x L4 L2x
○
○
○

●

No straightforward way to mimic galloped timing in simulators.
Actual pattern looks rhythmic and not galloped.
Lengthy representation.
Need to change default dwell beats to a value less than 1.
Does not optimize the dwell time to enable 4 throws to be thrown lower.

JL synchronous notation: (2, 2T)! (0, 2x)! (2T,2)! (2x, 0)!
○○○

Lengthy representation.
Why should we need synchronous notation for an asynchronous pattern?
Needs understanding of synchronous notation, throw modifiers and suppressed beats.

Example (Asynchronous Prechac)
Pattern: 5
Manual settings: hss = 4●

Common (Prechac) interpretation: 2.5p○○●

JL synchronous notation: <(0,5xp) (5xp,0) | (0,0)! (0,5p) (5p,0)!>○●Involves fractional throws and modifiers to indicate passes.
Need modified average theorem and permutation test to check validity and determine number ofjugglers and objects.
Apart from synchronous notation, suppressed beats and throw modifiers, also needs knowledge ofpassing notation to represent what is essentially an asynchronous pattern.

The oss/hss approach is essentially how Tarim envisaged asynchronous Prechacpatterns.
○○Tarim suggested class of patterns which combined any oss with hss = 2*(number of Jugglers).
Hand assignment envisaged by Tarim was same as our default hand assignment.

Example (Experimenting with patterns)
Take any oss and combine it with any hss. For example,
Pattern: 7
Manual settings: hss = 423●●

Though all throws are 7’s, the difficulty level for individual hands is different. Arguably, thehand throwing every third beat has the easiest role.
Roles can be identified and assigned for jugglers with different skill levels*. For example○○○

Manual settings: hss = 423; handspec = (2,1)(,3)■
assigns the easy role to Juggler 2, right hand.
Default handspec is (3,1)(,2). This also creates different difficulty levels for jugglers 1 and 2 and also different
difficulty levels for the 2 hands of Juggler 1.
Use handspec = (,1)(,2)(,3) to view pattern with 3 jugglers. Jugglers 1 and 2 have same difficulty level,Juggler 3 has easier role.

*See next slides for handspec feature.

Additional Manual Settings●Automatic dwell time maximization can be disabled/reenabled by setting
dwellmax = false/true.
○●If at a beat oss number = hss number, hold can be enabled/disabled by
setting hold = true/false.
○●

For single juggler this allows equivalent behaviour to JL extended notation using handspecifiers R and L and throw modfier x.

With dwellmax = false and hold = true, it will mimic JL extended notation with throw modifier
H explicitly specified for all throws which can be ‘held’.

Hand assignments for different jugglers can be customized with handspec
key.
○○○
○

Number of hands determined from HSS.
Max number of jugglers allowed = number of hands = numHands.
Default number of jugglers = ceil of (numHands/2)
For default and custom hand assignment, see examples on next slides.

Example default hand assignment
Let hss = 375. Then numHands = 5 and number of Jugglers = ceil(5/2) = 3.
Hand numbering is as follows for hss = 375:
Beat123456789101112hss3753

753753

75Hand

1

23

1

45

1

32

1

54

Default hand assignment assigns all right hands, then loops back to assign left hands.
Hand #Assignment

123Juggler 1,
Right hand

Juggler 2,
Right hand

Juggler 3,
Right hand

4
Juggler 1,
Left hand

5
Juggler 2,
Left handExample custom hand assignment
hss = 375. Number of hands, number of jugglers and hand numbering same as previous slide.
Let us define the following custom hand assignment:
Manual settings: hss = 375; handspec= (2, 3) (1, ) (, 5) (4, )Interpretation:●●●nth bracket pair in handspec represents nth juggler. Thus, we now have 4 jugglers.
In each bracket pair, the first number is the left hand of the corresponding juggler and thesecond number the right hand.
If a juggler should use only one hand, do not specify any number for the unused hand.

The custom hand assignment for the above handspec is as follows:
Hand #Assignment

1
Juggler 2,Left hand

2
Juggler 1,Left hand

3
Juggler 1,Right hand4
Juggler 4,
Left hand

5
Juggler 3,
Right hand