Listen "12: All a Flutter over NIFs and Ports with Connor Rigby"
Episode Synopsis
We catch up with Connor Rigby and learn about his recent Flutter work for Nerves. We take this opportunity to get his perspective on when to choose NIFs or Ports for native integrations, how to make NIFs more portable, get a recommendation for multimedia processing and much more!
Show Notes online - http://podcast.thinkingelixir.com/12 (http://podcast.thinkingelixir.com/12)
Elixir Community News
- https://twitter.com/chris_mccord/status/1299377514545057792 (https://twitter.com/chris_mccord/status/1299377514545057792) – Chris McCord doing work on LiveView uploads
- https://hex.pm/blog/vulnerability-report-system (https://hex.pm/blog/vulnerability-report-system) – Hex.pm received a new security feature
- https://github.com/erlang/rebar3/releases/tag/3.14.0 (https://github.com/erlang/rebar3/releases/tag/3.14.0) – Rebar3 version 3.14 released
- https://lpil.uk/blog/gleam-v0.11-released/ (https://lpil.uk/blog/gleam-v0.11-released/) – Gleam v0.11 was released
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://binarynoggin.com/making-nifs-portable/ (https://binarynoggin.com/making-nifs-portable/)
- https://binarynoggin.com/connor-rigby-joins-binary-noggin/ (https://binarynoggin.com/connor-rigby-joins-binary-noggin/) – Announcement that Connor joined BinaryNoggin
- https://flutter.dev/ (https://flutter.dev/) – Google’s Flutter project
- https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview (https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview) – Mike Binns article that prompted his post
- https://github.com/OpenKinect/libfreenect (https://github.com/OpenKinect/libfreenect)
- https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler)
- https://github.com/elixir-circuits/circuits_uart (https://github.com/elixir-circuits/circuits_uart) – Project Connor uses as a template for Ports
- Nerves doesn’t use NIFs at all internally
- http://erlang.org/doc/tutorial/c_port.html (http://erlang.org/doc/tutorial/c_port.html)
- http://erlang.org/doc/tutorial/nif.html (http://erlang.org/doc/tutorial/nif.html)
- http://erlang.org/doc/man/erl_nif.html (http://erlang.org/doc/man/erl_nif.html)
- https://github.com/ConnorRigby/elixir-python-port-example (https://github.com/ConnorRigby/elixir-python-port-example)
- http://erlport.org/ (http://erlport.org/)
- https://www.membraneframework.org/ (https://www.membraneframework.org/)
- https://github.com/membraneframework (https://github.com/membraneframework)
- https://octoprint.org/ (https://octoprint.org/)
Guest Information
- https://twitter.com/pressy4pie (https://twitter.com/pressy4pie) – on Twitter
- https://github.com/ConnorRigby/ (https://github.com/ConnorRigby/) – on Github
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/12 (http://podcast.thinkingelixir.com/12)
Elixir Community News
- https://twitter.com/chris_mccord/status/1299377514545057792 (https://twitter.com/chris_mccord/status/1299377514545057792) – Chris McCord doing work on LiveView uploads
- https://hex.pm/blog/vulnerability-report-system (https://hex.pm/blog/vulnerability-report-system) – Hex.pm received a new security feature
- https://github.com/erlang/rebar3/releases/tag/3.14.0 (https://github.com/erlang/rebar3/releases/tag/3.14.0) – Rebar3 version 3.14 released
- https://lpil.uk/blog/gleam-v0.11-released/ (https://lpil.uk/blog/gleam-v0.11-released/) – Gleam v0.11 was released
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://binarynoggin.com/making-nifs-portable/ (https://binarynoggin.com/making-nifs-portable/)
- https://binarynoggin.com/connor-rigby-joins-binary-noggin/ (https://binarynoggin.com/connor-rigby-joins-binary-noggin/) – Announcement that Connor joined BinaryNoggin
- https://flutter.dev/ (https://flutter.dev/) – Google’s Flutter project
- https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview (https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview) – Mike Binns article that prompted his post
- https://github.com/OpenKinect/libfreenect (https://github.com/OpenKinect/libfreenect)
- https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler)
- https://github.com/elixir-circuits/circuits_uart (https://github.com/elixir-circuits/circuits_uart) – Project Connor uses as a template for Ports
- Nerves doesn’t use NIFs at all internally
- http://erlang.org/doc/tutorial/c_port.html (http://erlang.org/doc/tutorial/c_port.html)
- http://erlang.org/doc/tutorial/nif.html (http://erlang.org/doc/tutorial/nif.html)
- http://erlang.org/doc/man/erl_nif.html (http://erlang.org/doc/man/erl_nif.html)
- https://github.com/ConnorRigby/elixir-python-port-example (https://github.com/ConnorRigby/elixir-python-port-example)
- http://erlport.org/ (http://erlport.org/)
- https://www.membraneframework.org/ (https://www.membraneframework.org/)
- https://github.com/membraneframework (https://github.com/membraneframework)
- https://octoprint.org/ (https://octoprint.org/)
Guest Information
- https://twitter.com/pressy4pie (https://twitter.com/pressy4pie) – on Twitter
- https://github.com/ConnorRigby/ (https://github.com/ConnorRigby/) – on Github
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.