It's finally done! π I am so excited to announce "Communicating Chorrectly with a Choreography", the first zine from my research group!
Read online and print your own free copies: https://decomposition.al/zines/
Thread! π
It's finally done! π I am so excited to announce "Communicating Chorrectly with a Choreography", the first zine from my research group!
Read online and print your own free copies: https://decomposition.al/zines/
Thread! π
Making research zines has been a dream of mine for a long time. Back in 2019, I experimented with zine creation as an optional assignment in my undergrad distributed systems class (https://decomposition.al/blog/2019/06/29/my-students-made-zines-and-so-can-yours/).
In 2021, part of my NSF CAREER proposal involved integrating zine creation into my team's research process. You can read my proposal and the context behind it here: https://decomposition.al/blog/2022/01/31/career-building-reliable-distributed-systems-with-refinement-types/
The CAREER proposal was awarded in 2022. The next step was to recruit a student to work on zines with me, but it had to be the right person. The next time I taught undergrad distributed systems was in winter 2024, and I revived the zine assignment with the not-so-secret ulterior motive of finding a student who had the right combination of interests and skills.
Ali Ali's course project (https://recurse.social/@lindsey/112650716146274673) blew me away. I hurried to apply for funding for him to do more.
Attached: 1 image Some of you also know that my partner, Alex, plays fighting games competitively. When I was teaching about safety and liveness properties, I offhandedly used fighting games as an example of a setting in which liveness matters more than safety. Well, my student was inspired by that lecture... Presenting "Fighting Faults in Distributed Systems" by Ali Ali! Formatted for reading on screen: http://decomposition.al/CSE138-2024-01/zines/zine-ali.pdf Formatted for booklet printing: http://decomposition.al/CSE138-2024-01/zines/zine-ali-booklet.pdf
Happily, my REU supplement request was funded, and Ali and I began working together in July. This zine is the result of a six-month collaboration. Ali is responsible for all of the drawings (though I made suggestions here and there), and we worked together on the writing.
It may not surprise you to learn that making just one zine took much longer than I expected -- this was supposed to be a summer project -- and the zine doesn't cover nearly as much material as I originally thought it would. π
Have I mentioned that Ali is amazing, by the way? He's now graduated with his BS in CS from UC Santa Cruz and is on the job market -- you should hire him! https://www.linkedin.com/in/almali/
I can vouch for Ali's strong performance in both my PL and distributed systems courses, but much more importantly, he's a great collaborator, clever, creative, and a joy to work with. His work on the zine showed me that he deeply *got* the concepts and could craft a compelling story around them. Hire him!
Now, about the zine itself!
Our goal was to create an approachable and fun introduction to choreographic programming. It's not specific to any particular programming language, but near the end we mention a few choreographic languages, with a particular focus on Choral (https://choral-lang.org/) and my group's own work on HasChor (https://dl.acm.org/doi/10.1145/3607849) led by my awesome PhD student, Gan Shen (https://gshen42.github.io/).