Hacker News new | past | comments | ask | show | jobs | submit login
Siteswap (wikipedia.org)
110 points by Schiphol on Dec 2, 2020 | hide | past | favorite | 39 comments



Not a (serious) juggler, but I first heard about siteswap in a roundabout way, through this github repo that collects quotes about notations.

It has an excepted quote from Wright that blew my mind:

> So we decided to invent a notation for juggling. Now this didn’t happen overnight—this took some considerable time—and our early attempts were very poor. They were inadequate to describe many of the tricks we thought a notation should be able to describe. And eventually we hit on a scheme that seemed to work. And we used it to write down loads of different juggling tricks that we knew.

> We discovered that if we arranged those tricks in just the right way, they fell into a pattern. There was an underlying, unsuspected structure. As long as you had the courage to leave gaps. And this goes back to things like the Periodic Table, when Mendeley was writing down all the elements—he realized that if you arranged them all according to function, then there were gaps, and that then predicted the existence of chemical elements.

> Well, we were predicting the existence of juggling tricks. And it worked! We actually found juggling tricks that no one had ever done before.

(https://github.com/hypotext/notation)

What's so cool is that you can predict gaps in knowledge by developing a notation to (honestly) describe what you do know.


Something like making invalid states unrepresentable—if you do that, then any state that's representable must be valid.


I remember reading somewhere that in practice this failed -- I think there was a programming language where there all possible syntax mapped to a valid program, which meant that true syntax errors were much harder to find.


Canonicalization versus error-correcting codes; ideally, a programming language syntax should be such that the Hamming distance beteen any two valid programs is at least 2, for the same reasons that you want parity bits on RAM, even (especially) if you're trying to encode the data stored in that RAM in a way that makes every bit pattern a valid whatever-you're-encoding.

Edit: basically, communication from the programmer to the compiler is a lossy channel, and needs error-detection, but human brains don't do parity codes well, so syntactic redundancy is the way to go.


Unfortunately you are looking for useful programs, not just valid ones.


*Mendeleev


It’s like the periodic table of juggling


"It wasn’t just that the pace of juggling achievement seemed to be accelerating. The patterns of the objects themselves were also changing. In the ’80s, a few jugglers with academic backgrounds had developed something called “siteswap” — a mathematical notation for objects in motion. Siteswap is to juggling what a musical score is to a piano player. A juggler conversant in siteswap can look at a string of numbers — say, 7 5 3 1 — and know that the numbers are telling him to juggle four objects so that their arcs peak at four different heights. (The numbers refer to relative altitude.) Gatto never took to siteswap, but others did; the notation helped them imagine and execute wild new patterns, and through the ’90s and 2000s the aesthetic of high-end technical juggling started to change. You can see it in the work of a modern juggler like Thomas Dietz, a lanky German who uses a lot of siteswap patterns. Watching Dietz is like walking through a gallery of Sol LeWitt paintings; you know that the patterns come from math, but you also know a human is painting them."

(from https://grantland.com/features/anthony-gatto-juggling-cirque..., which is the best read you're likely to find on juggling and juggling culture)


There’s a guy who recorded a 90 minute training session by Gatto in 2000. In 2017, he still was flabbergasted about it: https://youtube.com/watch?v=yjoBZei2xmY.

Original video of that session at https://youtube.com/watch?v=gtsaTMdKVTM.


My favorite siteswap that I can actually juggle (once or twice in a row) is 97531. That's 5 balls thrown in such a way that they reverse order - the first ball comes back last and vice versa. Also, all the balls reach their apex at the same time, making a vertical line of balls.

Here's me doing it, twice in a row, a long time ago: http://www.complang.tuwien.ac.at/schani/jugglevids/97531twic...


I really like 441. It's simple and fairly easy, but has a really nice feel when you get it going. Like an asynchronous version of the box. I like doing the 4 throws as outside throws and then the 1 is almost a handoff in the center.

https://www.youtube.com/watch?v=71xgThS46bI


For someone who has no talent whatsoever in stuff like that, I must say it almost looks like magic what you are doing. Well done!


It does look almost like magic, and it is an amazing achievement, but mostly it's down to dedication and hard work, not talent. Talking about "talent" in this context is almost always down-playing the work that's gone into it.

The number of people who genuinely have talent in this sort of thing is very, very small. For the vast majority it's a willingness to work on it, and a good teacher. You can be an auto-didact, but that's then an additional skill.

Almost anyone can learn 3, can learn Mills Mess, can learn the basics of 4, and get learn a few dozen 3 ball tricks and patterns.

Getting to 5 requires significant dedication, but the reason most people don't do it is because they don't invest the time required.

Talent isn't a myth, but it's seriously over-rated, and usually just an excuse for not putting in the work. It doesn't need an excuse -- if you don't want to put in the work then don't.

But it's almost invariably not a lack of talent.


That is a very valid comment. Thank you for that perspective. I think you are right.


Hard agree. Talent is overrated.


Nice to see this here ... thanks for submitting it.

(Note: If you're wondering why I make this apparently content-free comment, check the article and my username)

My favourite SiteSwap is 5551, because (a) it's one of the very first ones we found using the not-yet-fully-developed notation, (b) it's superb practice for 5 (if done starting with either hand), and (c) the pattern it fits into is very satisfying.

Here's that pattern, and here's how we found it:

    4
    5 3
    5 5 2
    . . . .
    5 5 5 5 0
It's also part of a family that includes 441, which is my other favourite, for mostly the same reasons:

    1
    3 1
    4 4 1
    5 5 5 1
    6 6 6 6 1
    7 7 7 7 7 1
The last of those I worked on a lot when getting to 7 balls.


The article was honestly a bit confusing for me with no juggling knowledge, but this video I found helped a lot with a visual demo of how the numbers are actually used [1].

[1] https://www.youtube.com/watch?v=NsIlQDhMKro


In my university's juggling club, two discrete camps of jugglers emerged: The "social" jugglers (partner juggling, much chatting, tricks more playful and less technical) and the "mathematical" jugglers (practicing on their own, hard technical tricks, don't talk to me). The two camps mapped quite nicely on the respective faculties as well (HUM/STEM). I always thought juggling is one of these activities that really amplifies the introvert/extrovert and people-oriented/thing-oriented personality traits. Anyway, one of the two camps was really into site swaps and the other not at all.


The thing about juggling is that technical difficulty doesn’t map super well to how impressive the tricks look to untrained crowds. Beyond a certain point the extra difficulty is only really noticeable to other jugglers.


Ha that made me laugh. I'm a professional juggler who now codes for a living. Because the whole people-oriented thing isn't working out that well this year..


There's also math-inclined partner juggling. See the "social siteswaps" DVD, and https://passist.org/ for example. Oh, and of course: https://www.juggle.me.uk/passing/ (RIP Aidan Burns)


Outside of University, a third crowd gathered at the bottom of corridors and dilapidated stairwells, throwing whatever scraps they could find into the air or onto their bodies in whichever pattern would let them move onto a new one https://youtu.be/SVpQlNaDzW8?t=2020 A siteswapper once tried(?) noting the patterns: https://youtu.be/Aldm6n7Sg4M?t=2231


I was once juggling three balls to kill time while standing in a queue in a packed customs hall at an airport with thousands of other people, and someone from across the hall yelled "4 4 1"!


Some fun explorations of siteswap I've done before: https://joshuamorton.github.io/2017/01/25/juggling/


Since I dabbled in wanting to learn Prolog for the umteenth time a few days ago, I can't help but notice that this looks like something which could be a nice challenge to implement in Prolog.

I also envy jugglers for this simple notation. I am into flow arts, in particular Poi, and would love to have a simple notation like this.


This website http://www.prechacthis.org/ is driven by Prolog https://github.com/prechac/prechacthis/tree/master/src/pl

I believe this juggle-dance routine https://vimeo.com/23958929 was put together using this tool. Neat use of prolog.


A minor point: siteswap "co-developer" Bruce Tiemann, mentioned in the article, is the younger brother of Michael Tiemann, G++ developer, Cygnus co founder and now Open Source Affairs VP at Red Hat.


I always enjoy the Xscreensaver visual that features a juggler with random siteswap patterns. Sometimes they're quite mesmerizing!


Really cool, got deep in to this theory 15-20 years ago when I was learning to juggle. There was a Java applet visualizer of some sort if I remember correctly.

Now, here's a web-based visualizer for different patterns: http://ydgunz.github.io/gunswap/


I first learned about this during the last lecture of my multivatiable calculus class. The professor, this goofy Swedish guy Richard Ehrenborg, liked to give novelty lectures in the period following a big exam. He talked about how he started getting into juggling in grad school and eventually discovered some new juggling patterns via work with this notation and some abstract algebra. Honestly most of the math stuff went over my head, but he stood on the desk and juggled so it's stuck in my memory.

Looks like one of the sources in that article was written by him and his wife (another math professor who I have also happened to have taken a course from): http://www.sciencedirect.com/science/article/pii/S0012365X96...


Fun fact: a collection of jugglers is called a neverthriving.


Well, it was by some book in 1400AD [according to https://www.haggardhawks.com/post/neverthriving], but I've been juggling for 30+ years, including at festivals throughout the US and Europe, and never heard the word before.


The Minnesota Neverthriving http://www.neverthriving.org/

The Neverthriving is proud to support and help run Mondo Juggling Festival.


Juggling websites in the 90s is my history with the internet that so many seem to be nostalgic for. An advancement in a hobby going straight from colleges to a 10-year-old in a small town via unstyled html.


I remember getting an international money order to buy a spiral bound book from England (maybe?) and waiting weeks for it to show up. All to discover I don't have much affinity for working from the notation.


The most interesting part of juggling patterns, to me, is how many other kinds of math they are related to. For instance, you can map them to braids in a very interesting way.


If you plotted a juggling routine with time as the 3rd axis, the balls would trace out the braid.

I remember having this realization randomly while doing a standard 3-plait braid (I don't even remember what I was braiding) and realizing I was doing the exact same motion as juggling. Super weird


I wonder how many site swaps make interesting braids. You have some discretion in where the plaits go [inside vs. outside throws, crossing vs. non-crossing simultaneous throws if unspecified], which would help.


There is a very strong resemblance between these patterns and the function of a neural network




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: