Listen "79: Collaborative Music in LiveView with Nathan Willson"
Episode Synopsis
We talk with Nathan Willson about GEMS, his collaborative music generator written in LiveView. He explains how it's built, the JS sound library integrations, what could be done by Phoenix and what is done in the browser. Nathan shares how he deployed it globally to 10 regions using Fly.io. We go over some of the challenges he overcame creating an audio focused web application. It's a fun open-source project that pushes the boundaries of what we think LiveView apps can do!
Show Notes online - http://podcast.thinkingelixir.com/79 (http://podcast.thinkingelixir.com/79)
Elixir Community News
- https://twitter.com/josevalim/status/1472956310207533057 (https://twitter.com/josevalim/status/1472956310207533057) – José Valim concluded his Advent of Code live streaming.
- https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – Find them all on his Twitch Channel.
- https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s (https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s) – New Elixir proposal for "for" comprehensions
- https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5 (https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5) – Github gist showing proposed change
- https://twitter.com/guieevc/status/1002494428748140544 (https://twitter.com/guieevc/status/1002494428748140544) – Presentation picture about ~90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang.
- https://erlef.org/wg/machine-learning (https://erlef.org/wg/machine-learning) – The Machine Learning working group has worked on many projects this year. You can get involved.
- https://twitter.com/sean_moriarity/status/1473017611994734593 (https://twitter.com/sean_moriarity/status/1473017611994734593) – Dockyard sponsoring Sean Moriarity's work on Nx and Axon
- https://twitter.com/importantshock/status/1471585318658793485 (https://twitter.com/importantshock/status/1471585318658793485) – GitHub's syntax highlighting now uses the Tree-sitter grammar for Elixir
- https://twitter.com/wilton_quinn/status/1471803799064887300 (https://twitter.com/wilton_quinn/status/1471803799064887300) – Quinn Wilton's explanation on significance
- https://github.com/michalmuskala/jason/releases/tag/v1.3.0 (https://github.com/michalmuskala/jason/releases/tag/v1.3.0) – Jason 1.3 released with new features
- https://www.lambdadays.org/lambdadays2022/ (https://www.lambdadays.org/lambdadays2022/) – Lambda Days conference will be Feb 10-11, 2022 and will be a hybrid conference
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://twitter.com/nathanwillson/status/1466389153503866892 (https://twitter.com/nathanwillson/status/1466389153503866892)
- https://gems.nathanwillson.com/ (https://gems.nathanwillson.com/) – Play with it online
- https://github.com/nbw/gems (https://github.com/nbw/gems) – Source code
- https://en.wikipedia.org/wiki/Yukihiro_Matsumoto (https://en.wikipedia.org/wiki/Yukihiro_Matsumoto)
- https://tonejs.github.io/ (https://tonejs.github.io/)
- https://webassembly.org/ (https://webassembly.org/) – WASM
- https://www.ableton.com/en/ (https://www.ableton.com/en/)
- https://en.wikipedia.org/wiki/MIDI (https://en.wikipedia.org/wiki/MIDI)
- https://webaudio.github.io/web-midi-api/ (https://webaudio.github.io/web-midi-api/)
- https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html (https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html) – The human ear detects a half-millisecond delay in sound
- https://fly.io/docs/reference/regions/ (https://fly.io/docs/reference/regions/) – The set of global regions that Fly.io supports
- https://github.com/bitwalker/libcluster (https://github.com/bitwalker/libcluster)
- https://twitter.com/gotbones (https://twitter.com/gotbones) – Bitwalker on Twitter
- https://www.erlang.org/doc/man/pg.html (https://www.erlang.org/doc/man/pg.html)
Guest Information
- https://twitter.com/nathanwillson (https://twitter.com/nathanwillson) – on Twitter
- https://github.com/nbw/ (https://github.com/nbw/) – on Github
- https://nathanwillson.com (https://nathanwillson.com) – Blog
- https://gems.nathanwillson.com (https://gems.nathanwillson.com) – GEMS project running online
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
Show Notes online - http://podcast.thinkingelixir.com/79 (http://podcast.thinkingelixir.com/79)
Elixir Community News
- https://twitter.com/josevalim/status/1472956310207533057 (https://twitter.com/josevalim/status/1472956310207533057) – José Valim concluded his Advent of Code live streaming.
- https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – Find them all on his Twitch Channel.
- https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s (https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s) – New Elixir proposal for "for" comprehensions
- https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5 (https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5) – Github gist showing proposed change
- https://twitter.com/guieevc/status/1002494428748140544 (https://twitter.com/guieevc/status/1002494428748140544) – Presentation picture about ~90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang.
- https://erlef.org/wg/machine-learning (https://erlef.org/wg/machine-learning) – The Machine Learning working group has worked on many projects this year. You can get involved.
- https://twitter.com/sean_moriarity/status/1473017611994734593 (https://twitter.com/sean_moriarity/status/1473017611994734593) – Dockyard sponsoring Sean Moriarity's work on Nx and Axon
- https://twitter.com/importantshock/status/1471585318658793485 (https://twitter.com/importantshock/status/1471585318658793485) – GitHub's syntax highlighting now uses the Tree-sitter grammar for Elixir
- https://twitter.com/wilton_quinn/status/1471803799064887300 (https://twitter.com/wilton_quinn/status/1471803799064887300) – Quinn Wilton's explanation on significance
- https://github.com/michalmuskala/jason/releases/tag/v1.3.0 (https://github.com/michalmuskala/jason/releases/tag/v1.3.0) – Jason 1.3 released with new features
- https://www.lambdadays.org/lambdadays2022/ (https://www.lambdadays.org/lambdadays2022/) – Lambda Days conference will be Feb 10-11, 2022 and will be a hybrid conference
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://twitter.com/nathanwillson/status/1466389153503866892 (https://twitter.com/nathanwillson/status/1466389153503866892)
- https://gems.nathanwillson.com/ (https://gems.nathanwillson.com/) – Play with it online
- https://github.com/nbw/gems (https://github.com/nbw/gems) – Source code
- https://en.wikipedia.org/wiki/Yukihiro_Matsumoto (https://en.wikipedia.org/wiki/Yukihiro_Matsumoto)
- https://tonejs.github.io/ (https://tonejs.github.io/)
- https://webassembly.org/ (https://webassembly.org/) – WASM
- https://www.ableton.com/en/ (https://www.ableton.com/en/)
- https://en.wikipedia.org/wiki/MIDI (https://en.wikipedia.org/wiki/MIDI)
- https://webaudio.github.io/web-midi-api/ (https://webaudio.github.io/web-midi-api/)
- https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html (https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html) – The human ear detects a half-millisecond delay in sound
- https://fly.io/docs/reference/regions/ (https://fly.io/docs/reference/regions/) – The set of global regions that Fly.io supports
- https://github.com/bitwalker/libcluster (https://github.com/bitwalker/libcluster)
- https://twitter.com/gotbones (https://twitter.com/gotbones) – Bitwalker on Twitter
- https://www.erlang.org/doc/man/pg.html (https://www.erlang.org/doc/man/pg.html)
Guest Information
- https://twitter.com/nathanwillson (https://twitter.com/nathanwillson) – on Twitter
- https://github.com/nbw/ (https://github.com/nbw/) – on Github
- https://nathanwillson.com (https://nathanwillson.com) – Blog
- https://gems.nathanwillson.com (https://gems.nathanwillson.com) – GEMS project running online
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.