1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# Copyright (C) 2013-2021 Yuchen Pei.
# Permission is granted to copy, distribute and/or modify this
# document under the terms of the GNU Free Documentation License,
# Version 1.3 or any later version published by the Free Software
# Foundation; with no Invariant Sections, no Front-Cover Texts, and
# no Back-Cover Texts. You should have received a copy of the GNU
# Free Documentation License. If not, see <https://www.gnu.org/licenses/>.
# This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
#+title: jst
#+date: <2015-04-02>
jst = juggling skill tree
If you have ever played a computer role playing game, you may have
noticed the protagonist sometimes has a skill "tree" (most of the time
it is actually a directed acyclic graph), where certain skills leads to
others. For example,
[[http://hydra-media.cursecdn.com/diablo.gamepedia.com/3/37/Sorceress_Skill_Trees_%28Diablo_II%29.png?version=b74b3d4097ef7ad4e26ebee0dcf33d01][here]]
is the skill tree of sorceress in
[[https://en.wikipedia.org/wiki/Diablo_II][Diablo II]].
Now suppose our hero embarks on a quest for learning all the possible
juggling patterns. Everyone would agree she should start with cascade,
the simplest nontrivial 3-ball pattern, but what afterwards? A few other
accessible patterns for beginners are juggler's tennis, two in one and
even reverse cascade, but what to learn after that? The encyclopeadic
[[http://libraryofjuggling.com/][Library of Juggling]] serves as a good
guide, as it records more than 160 patterns, some of which very
aesthetically appealing. On this website almost all the patterns have a
"prerequisite" section, indicating what one should learn beforehand. I
have therefore written a script using [[http://python.org][Python]],
[[http://www.crummy.com/software/BeautifulSoup/][BeautifulSoup]] and
[[http://pygraphviz.github.io/][pygraphviz]] to generate a jst (graded
by difficulties, which is the leftmost column) from the Library of
Juggling (click the image for the full size):
|