It's designed for pre-rendering. The AMP JS knows when it's being speculatively rendered and prioritizes the most important and cheapest things. Additionally, this pre-rendering can happen in a privacy-preserving way
In the non-preloaded case, taking a random post here, I see a median speed index of 1.611s on non-AMP but 2.051s on AMP. In both cases the HTML loads in ~400ms, but the HTML version can paint the HTML right away while the AMP version is still waiting on JS. Then the AMP version spends 600ms downloading and executing the AMP runtime and extension scripts. Once AMP has loaded it's smarter than the HTML version about what to load, deprioritizing below the fold resources, but it's already too far behind to catch up. The HTML page is fully loaded in about the time it takes the AMP page to finish rendering above the fold.
In contra dance you take one step for every beat of music, and it's all built around powers of two:
The music is also generally built around powers of two:
tune / \ A B / \ / \ A1 A2 B1 B2Each section (A1, A2, B1, B2) then also divides into powers of two, with two clear 8-beat phrases, each of which generally has a clear 4-count and 2-count.
These power-of-two figures generally need to align with the powers of two in the music. So while you could have a dance that did:
a dance that did:
64 / \ 32 ... / \ 16 ... / \ 8 8 / \ / \ 4 4 4 4The former is fine:
16 / \ 8 long lines / \ balance 4 / \ roll rollbut the latter doesn't fit well:
16 / \ 8 8 / \ / \ balance lines lines 4 go in go out / \ / \ roll roll
Of course, a dance could be an even worse fit. Consider:
Now, some figures don't exactly fit a tree. The main exception is the swing which always runs until the end of the current sixteen count:
These can look a little strange:
16 / \ 8 more swing / \ balance swingbut the key thing is that the swing has to finish the 16 count. So you can have:
This means the dancers need to be able to hear the 4 count, 8 count, and 16 count to figure out when to start and end figures.
What about the 32 and 64 counts? They keep the dancers from getting lost. Consider the dance, The Baby Rose:
A "square" tune is one that breaks down into our nice even tree:
64 / \ 32 ... / \ 16 ... / \ 8 8 / \ / \ 4 4 4 4It supports the dancing, and makes it easy to hear where the figures go. When you're playing, or picking tunes, you want to make sure that each of these different levels of the tree will be apparent to the dancers.
Now, different dances need different things. For example, here's the B2 (last 16 counts) of Chuck the Budgie:
This dance would go great with a tune that really gave a clear four count ("chunky") while a B2 of:
While you're unlikely to find a tune that has exactly the right rhythmic structure to support a particular dance, you also have a lot of freedom in how you play the tune. For parts that are flowy with long figures and mushy transitions (hey into right shoulder round) then don't accent the 4 or 8 and let the structure of the tune indicate the 16/32/64. Similarly, if the transitions are precise (balances, lines) then make a clearer break.
If you're playing for a dance and choosing standard 32-bar jigs and reels most of this will come very naturally. On the other hand, if you want to take pop songs and DJ them, you're going to run into the problem that they don't tend to have this "square" structure. They often have an 8-count, but they probably don't have all the levels of the tree up to the 64-count. You can pick songs that do, modify ones that don't, or just go ahead with things that don't have clear phrasing (that's what people usually seem to do). One thing I'd love to see someone play with is adding a tiny bit of extra embelishment on top of songs to signal the 16-count, 32-count, and 64-count.
Being the name of a historically oppressed group of people, over the past few years there's been a push to switch away from the term. People suggested alternatives and debated their merits, callers tested them out at dances and figured out what worked, and at this point it looks to me like we're landing on "right shoulder round". Examples:
So one question, then, is whether the display ads business is overall positive or negative for the world. I think it's generally positive, despite some downsides: the majority of websites are funded through ads, and this has allowed an enormous diversity of information to flourish. I can afford to write for fun and run this site without ads on it , but many people with interesting things to say can't. The New York Times can convince some people to pay, but a subscription-only web would be much worse. Overall, ads are a very progressive and democratic way of funding things: everyone can read and everyone can write, not just people who can pay.
On the other hand, it's not ideal. Ads are often annoying, and can get in the way of what you're trying to read. They can be slow to download or execute and delay the rest of the page. Similarly, they can download large images or videos using up your metered data plan. While sometimes ads fill a beneficial function of informing you about something you'll honestly be better off from having purchased, other times they're trying to convince you to spend your money foolishly.
Since there are only ~300 contra dances and ~40k zip codes I decided to do everything client side. The browser downloads a file of dances (json) that looks like this:
... ["http://www.nbcds.org/", "Santa Rosa CA", "Fridays and Saturdays", 15, 38.44, -122.71, ""], ["http://www.nbcds.org/", "San Rafael CA", "Saturdays", 12, 37.97, -122.53, ""], ["http://www.nbcds.org/", "Sebastopol CA", "Saturdays", 12, 38.4, -122.82, "Larks / Ravens"], ...
And a file of zip codes (json) that looks like this:
Dates were still up in the air, but looking for times when the Masonic Hall, Amy, and Audrey were all available, and avoiding conflicts with other events, the weekend of March 22nd looked best. I signed a contract with the hall and confirmed with Amy and Audrey in early June, and then sent out a progress report. This started a long process of getting feedback from people on specifics of the weekend, trying to make sure I was thinking about all the things people like and don't like in a weekend.