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)

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

Elixir Community News

https://twitter.com/josevalim/status/1472956310207533057 – José Valim concluded his Advent of Code live streaming.
https://www.twitch.tv/josevalim – Find them all on his Twitch Channel.
https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s – New Elixir proposal for "for" comprehensions
https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5 – Github gist showing proposed change
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 – The Machine Learning working group has worked on many projects this year. You can get involved.
https://twitter.com/sean_moriarity/status/1473017611994734593 – Dockyard sponsoring Sean Moriarity's work on Nx and Axon
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 – Quinn Wilton's explanation on significance
https://github.com/michalmuskala/jason/releases/tag/v1.3.0 – Jason 1.3 released with new features
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 or email at [email protected]

Discussion Resources

https://twitter.com/nathanwillson/status/1466389153503866892
https://gems.nathanwillson.com/ – Play with it online
https://github.com/nbw/gems – Source code
https://en.wikipedia.org/wiki/Yukihiro_Matsumoto
https://tonejs.github.io/
https://webassembly.org/ – WASM
https://www.ableton.com/en/
https://en.wikipedia.org/wiki/MIDI
https://webaudio.github.io/web-midi-api/
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/ – The set of global regions that Fly.io supports
https://github.com/bitwalker/libcluster
https://twitter.com/gotbones – Bitwalker on Twitter
https://www.erlang.org/doc/man/pg.html

Guest Information

https://twitter.com/nathanwillson – on Twitter
https://github.com/nbw/ – on Github
https://nathanwillson.com – Blog
https://gems.nathanwillson.com – GEMS project running online

Find us online

Message the show - @ThinkingElixir
Email the show - [email protected]
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sponsored By:

Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Twitter Mentions