44 min listen
Creating a Terrestrial Telescope using Nerves & LiveView with Lucas Sifoni
FromElixir Wizards
ratings:
Length:
50 minutes
Released:
Nov 7, 2024
Format:
Podcast episode
Description
Today on Elixir Wizards, Lucas Sifoni, an indie developer from southwest France, shares his experience prototyping a remote-controlled terrestrial telescope using Elixir, Nerves, Rust, and various hardware components.
Lucas explains the basic components of a telescope, the challenges faced during the development process, and the benefits of using Elixir and Nerves for hardware projects. Lucas emphasizes the importance of simulating hardware components and testing assumptions before working with physical devices, as well as the value of literate programming and executable blog posts for documenting and sharing hardware projects.
The conversation also touches on the Elixir community's low fragmentation and high-quality libraries, the seamless interoperability between Elixir and other languages like Rust, and the potential for using Livebook in hardware projects. Lucas encourages listeners to explore Nerves and build their own hardware projects, highlighting the supportive and engaging Nerves community. He also gives a shout-out to the Nerves core team for their incredible work on powerful features like live-upgrading hardware components.
Topics discussed in this episode:
Challenges in optimizing wiring and PCB design for the prototype
Benefits of Elixir and Nerves for hardware projects
Communicating with Arduinos using serial connections and pattern matching
Leveraging binary pattern matching and construction in Elixir for hardware
Balancing educational value and real-world usability
Learning CID software and parametric design for 3D printing components
Growing interest in Nerves and hardware projects within the Elixir community
Simulating hardware components and testing assumptions before physical implementation
Literate programming and executable blog posts for documenting hardware projects
Using Elixir's interoperability with Rust for performance-critical tasks
Elixir's low fragmentation and high-quality libraries for various domains
Potential for using Livebook in hardware projects, with some limitations
Encouraging listeners to explore Nerves and build their own hardware projects
Links mentioned
https://lucassifoni.info/
https://www.rust-lang.org/
https://go.dev/
https://lisp-lang.org/
https://ubuntu.com/
https://hexdocs.pm/iex/IEx.html
https://nerves-project.org/
https://lucassifoni.info/blog/prototyping-elixir-telescope-code-beam/
https://github.com/Lucassifoni/oiseaux
https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html
https://www.raspberrypi.com/
https://mangopi.org/
https://store.arduino.cc/products/arduino-nano
https://elixir-circuits.github.io/
https://www.erlang.org/doc/apps/runtimetools/scheduler.html
Binary pattern matching in Elixir with PNG parsing example https://zohaib.me/binary-pattern-matching-in-elixir/
Lucas’ Code Beam Talk: https://www.youtube.com/watch?v=q7bleFzA11c
https://github.com/membraneframework-labs
https://github.com/talklittle/ffmpex
https://studio.blender.org/training/3d-printing/
https://www.autodesk.com/products/fusion-360/personal
https://en.wikipedia.org/wiki/Parametricdesign
https://www.exem.fr/
https://www.kikk.be/exhibitions/collectif-lab212-nicolas-guichard-beatrice-lartigue/
https://livebook.dev/
https://github.com/elixir-nx/bumblebee
https://github.com/rusterlium/rustlerhttps://www.youtube.com/watch?v=q7bleFzA11c Special Guest: Lucas Sifoni.
Lucas explains the basic components of a telescope, the challenges faced during the development process, and the benefits of using Elixir and Nerves for hardware projects. Lucas emphasizes the importance of simulating hardware components and testing assumptions before working with physical devices, as well as the value of literate programming and executable blog posts for documenting and sharing hardware projects.
The conversation also touches on the Elixir community's low fragmentation and high-quality libraries, the seamless interoperability between Elixir and other languages like Rust, and the potential for using Livebook in hardware projects. Lucas encourages listeners to explore Nerves and build their own hardware projects, highlighting the supportive and engaging Nerves community. He also gives a shout-out to the Nerves core team for their incredible work on powerful features like live-upgrading hardware components.
Topics discussed in this episode:
Challenges in optimizing wiring and PCB design for the prototype
Benefits of Elixir and Nerves for hardware projects
Communicating with Arduinos using serial connections and pattern matching
Leveraging binary pattern matching and construction in Elixir for hardware
Balancing educational value and real-world usability
Learning CID software and parametric design for 3D printing components
Growing interest in Nerves and hardware projects within the Elixir community
Simulating hardware components and testing assumptions before physical implementation
Literate programming and executable blog posts for documenting hardware projects
Using Elixir's interoperability with Rust for performance-critical tasks
Elixir's low fragmentation and high-quality libraries for various domains
Potential for using Livebook in hardware projects, with some limitations
Encouraging listeners to explore Nerves and build their own hardware projects
Links mentioned
https://lucassifoni.info/
https://www.rust-lang.org/
https://go.dev/
https://lisp-lang.org/
https://ubuntu.com/
https://hexdocs.pm/iex/IEx.html
https://nerves-project.org/
https://lucassifoni.info/blog/prototyping-elixir-telescope-code-beam/
https://github.com/Lucassifoni/oiseaux
https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html
https://www.raspberrypi.com/
https://mangopi.org/
https://store.arduino.cc/products/arduino-nano
https://elixir-circuits.github.io/
https://www.erlang.org/doc/apps/runtimetools/scheduler.html
Binary pattern matching in Elixir with PNG parsing example https://zohaib.me/binary-pattern-matching-in-elixir/
Lucas’ Code Beam Talk: https://www.youtube.com/watch?v=q7bleFzA11c
https://github.com/membraneframework-labs
https://github.com/talklittle/ffmpex
https://studio.blender.org/training/3d-printing/
https://www.autodesk.com/products/fusion-360/personal
https://en.wikipedia.org/wiki/Parametricdesign
https://www.exem.fr/
https://www.kikk.be/exhibitions/collectif-lab212-nicolas-guichard-beatrice-lartigue/
https://livebook.dev/
https://github.com/elixir-nx/bumblebee
https://github.com/rusterlium/rustlerhttps://www.youtube.com/watch?v=q7bleFzA11c Special Guest: Lucas Sifoni.
Released:
Nov 7, 2024
Format:
Podcast episode
Titles in the series (100)
José Valim, Creator of Elixir: Today on Elixir Wizards we are joined by none other than José Valim, the inventor of Elixir! Coming from the Ruby on Rails world, José found his way to functional programming and we hear all about the evolution of his philosophy and thought process around the time of the creation of the language. He gives us some great insight into why functional programming is so appealing to him and the problems he wanted to solve by creating Elixir. We chat about other languages and his use of Erlang, Elixir's three biggest influences and some important characters in the story. José also shares a bit of personal, behind the scenes stuff about his schedule and how he tries to stay as productive as possible. We finish off the chat, talking about performance and the measures José has taken in this regard. For all this and more from a true Elixir wizard, be sure to tune in! by Elixir Wizards