Distributed Live Coding with Sonic Pi
Live Coding systems encourage us to think extremely differently about programming languages and take ideas such as those found in reactive programming to the next level. For example, in addition to considering standard requirements such as reliability, efficiency and correctness we are also forced to deal with issues such as:
- liveness,
- concurrency,
- coordination
- determinism
- time
What is it like to think fluently with such concepts? How might these ideas apply and benefit your development practices? The object of this highly interactive workshop is not to just cover these questions but give you your own initial experiences to draw from. Together, we'll learn how to work with all these imprtant concepts using Sonic Pi - whilst having a lot of productive fun.
Together we'll learn the basics of live coding through time using music as our guiding metaphor. However, we'll continually explore which domains other than music where live interaction and manipulation of running processes is both relevant and important.
Once we have mastered the basics of live coding with time, we will end the workshop by building a live distributed reactive event system that will enable us to collaboratively jam together.
This workshop is friendly and open to everyone. No programming knowledge is required, although the rabbit hole is so deep that seasoned programmers will still find many new things to learn and experience.
Note: this is the only workshop that will explore the principles of reactive programming whilst making sick beats.
Please come along with a laptop with Sonic Pi pre-installed (http://sonic-pi.net)