In Indian classical music, we have Jugalbandi, where two lead musicians or vocalist engage in a playful competition. Lets say there is jugalbandi between a Flutist and a Percussionist (say using Tabla as the instrument). Compositions rendered by the flutist will be heard by the percussionist who will replay the same notes, but now on Tabla and vice-versa is also possible.You can find additional information on this wikipedia page and to get an idea here is the Youtube video:
In a similar way, we perform Code Jugalbandi to see how solution to a problem looks different using different instruments. There would be multiple such rounds during the Jugalbandi, where the Jugalbandists would change instruments to give the audience a feel of solution rendition using different instruments.
Our hope is that a Code Jugalbandi session -
- Would give people confidence that being polyglot can be within their reach.
- Promote learning by observation employing comparison and contrast - a natural way for human mind to grasp new things.
- It can also become a source of inspiration to try out a new stuff, be it languages or frameworks or anything etc...
- Also, people from one camp can peek at the other camp and tell themselves - "ah look! its similar! or it does that better!" etc..
Code Jugalbandi Notes, Sketches, etcSo far we have run Code Jugalbandi in 3 different formats:
Structure of a Demonstration
- Intro to musical Jugalbandi, play this video and let it speak for itself (I know the resolution of the video is not that great, but I found (based on search results I got) it to be the most apt video to convey idea in less than 2 minutes to a large audience). The audience is smart enough to relate Musical Jugalbandi to Code Jugalbandi.
- Introduce the opp person (this assumes you have 2 people, but if you have more scale it accordingly).
- Make it clear to the audience to not focus on syntax and its okay not to follow through syntax, but really capture the essence of things beyond syntax.
- Each Jugalbandi round is a melody.Aim for about max 15 mins per melody.
- During the melody, limit the code lines visible at any given time to a max of 10, so that it reduces the cognitive load.
During a melody
- Say you are the Brahma of a melody, and when playing (showing - demo) your melody, you can do loud thinking and/or soliloquies as you code along.
- Once Brahma is done creating, Krishna replays the same melody differently and again thinks aloud while demoing it.
- After both Brahma and Krishna are done, they converse reflecting upon the approach, pro and cons of each. This natural conversational style, like the fire-side chats will be very reinforcing and involve the audience.
- At the end of a jugalbandi round - both bow down to the audience to indicate completion of the current round.
Repeat the above for multiple melodies.