miner
December 05, 2016
410

# Juggling Patterns and Programs

The art of juggling has fascinated people since the days of ancient Egypt. In this talk, we posit that juggling theory can inform software development. We start with the mathematical insights of Claude Shannon, renowned as the father of Information Theory. After introducing “siteswap” notation, we use Clojure to visualize juggling patterns. Finally, we review some interesing results in neuroscience regarding juggling.

Presented at Clojure/conj 2016.

## miner

December 05, 2016

## Transcript

4. ### Metaphor Alert RH ~ incidental complexity Me ~ essential complexity

https://schani.wordpress.com/tag/juggling/

in1980s

7. ### Uniform Juggle • one throw at a time • alternating

hands • constant rhythm

fountain

fountain
10. ### Shannon’s Juggling Theorem • Flight time • Dwell time •

Vacant time • number of Balls • number of Hands
11. ### Complex Made Hard • B ≈ F • F ≈

(sqrt height) • small errors compound

13. ### Shannon’s Juggling Theorem • Flight time • Dwell time •

Vacant time • number of Balls • number of Hands
14. ### Lessons from Shannon • historical analysis • domain understanding •

choosing right abstraction • exploring trade-offs
15. ### Science of Juggling • Peter J. Beek and Arthur Lewbel

• Scientiﬁc American, November, 1995, Volume 273, Number 5, pages 92-97 • www.juggling.org/papers/science-1/
16. ### Siteswap Notation • sequence of integers • e.g. 531 =

[5, 3, 1] …, 5, 3, 1, 5, 3, 1, … • 3 = standard three-ball cascade • odd for cascade, even for fountain • empty 0, switch1, hold 2

18. ### Inventors • Paul Klimek - UC Santa Cruz 1981 •

Bruce Tiemann and Bengt Magnusson - Caltech 1985 • Michael Day, Colin Wright and Adam Chalcraft - Cambridge 1985
19. ### Number of Balls • average of throws, must be an

integer • 531 (/ (+ 5 3 1) 3) 㱺 3 • 71 (/ (+ 7 1) 2) 㱺 4 • 97531 (/ (+ 9 7 5 3 1) 5) 㱺 5
20. ### Validate Pattern (defn siteswap? [pattern] (let [cnt (count pattern)] (or

(zero? cnt) (apply distinct? (map #(mod % cnt) (map-indexed + pattern))))))

siteswap?))
22. ### Orbits • Decompose pattern into orbits (sub-patterns) • 531 =

501 & 030 • 4413 = 4000 & 0400 & 0013 • 97531 = 90001 & 07030 & 00500 • Practice separately
23. ### Quil • Clojure library for graphics and animations • quil.info

• Rastelli - Clojure juggling library

25. ### 97531 2 balls in 90001 2 balls in 07030 1

ball in 00500

㱺 315 㱺 135
27. ### New Patterns • add period to element: 33 㱺 53

• swap sites i & j • add distance earlier, subtract distance later • guarantees same landing schedule • 333 㱺 531 531 㱺 441

30. ### Siteswap Features • simple data representation • ﬂexible interpretation •

sharing • composition • veriﬁcation • generation
31. ### Additional Resources • juggling.org • thewjf.com • wikipedia.com • siteswap.net/JsJuggle.html

• jugglinglab.sourceforge.net
32. ### The Mathematics of Juggling • Book by Burkard Polster, Monash

University • Survey article based on his book • www.qedcat.com/articles/juggling_survey.pdf • YouTube videos on juggling
33. ### – Burkard Polster The way that I feel when I

look at a nice equation is the same way I feel when I look at a nice juggling pattern.
34. ### Allen Knutson • Math professor at Cornell • Siteswap FAQ

on rec.juggling • YouTube video on mathematics of juggling
35. ### Neuroscience • Plasticity In The Adult Brain: Why We Care

About Taxi Drivers & Jugglers • Marc W. Haut, PhD • youtube.com/watch?v=JVsZVW2HRYQ • nature.com/nature/journal/v427/n6972/full/ 427311a.html
36. ### Jennifer Slaw: Juggling Life • TEDxPrincetonlibrary talk • motivational speaker,

teaches juggling • improves memory, concentration, ﬂexibility, patience, balance • youtube.com/watch?v=S- Rohq5649A