Elixir Wizards is an interview-format podcast, focused on engineers who use the Elixir programming language. Initially launched in early 2019, each season focuses on a specific topic or topics, with each interview focusing on the guest's experience and opinions on the topic. Elixir Wizards is hosted by Eric Oestrich and Sundi Myint of SmartLogic, a dev shop that’s been building custom software since 2005 and running Elixir applications in production since 2015. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)
Elixir Wizards Dojo: Nerves Part 1 with Frank Hunleth and Justin Schneck
Welcome to the first part of our extra special Elixir Wizards Dojo. A mashup made in partnership with ElixirConf Japan, in today’s episode, we pose questions asked by the Japanese Nerves community to Nerves core team members, Frank Hunleth and Justin Schneck. After introducing our guests, we talk about which companies make use of Nerve and explore its use cases by looking at FarmBot, an open source robotic farming tool. Justin and Frank take turns explaining the differences between soft and hard real-time — a springboard to show how Nerve excels within its ‘middle-ground of complexity’, production-orientated niche. From Halloween pranks to growing Sichuan chili peppers in the office, Justin and Frank share the projects that they’ve built using Nerves and emphasize its wide applicability. We discuss how Nerves has been both officially and unofficially ported to different devices, why people send Frank random pieces of hardware in the mail, and the differences between open-source and making your work publicly available. Justin and Frank commiserate over the challenge of working with Bluetooth and the beauty of the Nerves community in pushing innovation. We chat more about Nerves, including how you can extend the functionality of file systems, before Justin and Frank unpack their roadmap for Nerves’s future. Tune in to learn more about the Nerves Project, a system that can add a great deal of agility to any development cycle.
Key Points From This Episode:
- Introducing our guests and this episode’s focus on the Japanese Elixir community.
- The double-edge of broadcasting your excitement about Elixir projects.
- Looking at FarmBot as a practical use-case to show off what Nerve can do.
- Differences between soft and hard real-time using FarmBot as an example.
- What Nerves excels at; acting as a gateway for other processors.
- Justin and Frank share the projects that they’ve built using Nerves.
- A brief digression where Justin shares his love of Chinese Sichuan cooking.
- What other markets are making use of Nerves in their product cycle.
- The unique ‘middle-ground’ of complexity that Nerves is best suited to address.
- Porting Nerves to different devices and what devices need to run Nerves.
- Open-source versus making work public and how Justin took some of his Bluetooth work public.
- The challenges of working with Bluetooth.
- Hear how a group in the community is making a Nerves keyboard.
- How you can extend the functionality of a file system on Nerves.
- Nerves’s features that make it such an excellent tool within a production environment.
- When deploying with Nerves Hub, learn how to configure Wi-Fi modules with different devices.
- Starting with a facelift, Frank and Justin share their roadmap for Nerves’s future.
- How companies Vary and SmartRent have contributed to the longevity of Nerves.
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
ElixirConf — https://elixirconf.com/2020
Frank Hunleth — https://www.linkedin.com/in/fhunleth/
Justin Schneck — https://www.linkedin.com/in/justinschneck
Susumu Yamazaki — https://twitter.com/zacky1972
Nerves Project — https://www.nerves-project.org/
Nerves Project Open Collective — https://opencollective.com/nerves-project
Nerves Project GitHub — https://github.com/nerves-project/nerves_pack#erlang-distribution
Nerves Kiosk System GitHub — https://github.com/nerves-web-kiosk/kiosk_system_rpi3
FarmBot — https://farm.bot/
Rose Point — https://www.rosepoint.com/
The Food of Sichuan — https://www.amazon.com/Food-Sichuan-Fuchsia-Dunlop/dp/1324004835
Lance Halvorsen — https://www.linkedin.com/in/lance-halvorsen-07a102/
Atom VM GitHub — https://github.com/bettio/AtomVM
Lichee Pi Zero — https://licheepizero.us/
Pavlok — https://pavlok.com/
Harald GitHub — https://github.com/verypossible-labs/harald
Bluetooth with Nerves Notes GitHub — https://gist.github.com/fhunleth/fae46998609814ae4a8abd44f6f08188
Fwup GitHub — https://github.com/fhunleth/fwup
‘Building a keyboard with Elixir’ — https://medium.com/swlh/building-a-keyboard-with-elixir-fc7bd3f60ec3
Vintage Net Wizard GitHub — https://github.com/nerves-networking/vintage_net_wizard
Grizzly GitHub — https://github.com/smartrent/grizzly
SmartRent Careers — https://smartrent.com/careers/
Very Possible Careers — https://www.verypossible.com/careers
Show Notes - Japanese
Elixir Wizards Dojo 第一部 Frank Hunleth と Justin Shneck
Episode S4E13a: 概要
Elixir Wizards Dojo スペシャル番組の第一部にようこそ。ElixirConf JPとのパートナーシップによるマッシュアップです。今日のエピソードでは、日本のNervesコミュニティからの質問をNervesコアチームのメンバーであるFrank Hunleth と Justin Schneck に尋ねます。ゲストの2人を紹介した後、Nervesを使用する会社のことや、ファームボット(オープンソースのロボティック農業ツール)に見る使用事例を探ります。JustinとFrankが交互にソフトリアルタイムとハードリアルタイムの違いを説明し、Nervesが「複雑さの中立的立場」、生産指向のニッチという点で優れていることを示します。ハロウィンのいたずらから、オフィスで育つ四川の唐辛子栽培まで、JustinとFrankはNervesを使用して構築したプロジェクトを紹介し、その幅広い応用性を強調します。Nervesが公式・非公式にさまざまなデバイスに移植された方法についてや、なぜみんながFrankにランダムなハードウェアを郵送するのか、オープンソースと単に作品を公開することの違いについて話し合います。JustinとFrankはBluetoothの機能開発の課題に同情し、イノベーションを推進する上でのNervesコミュニティの美点について語ります。さらにNervesについて話が進み、どのようにファイルシステムの機能性を拡張するのかや、JustinとFrankがNervesの将来のロードマップについて披露します。どのような開発サイクルにも「アジャイルに」できるシステムである、Nerves プロジェクトについてより詳しく知りたいという人は、是非聴いてください。
このエピソードのみどころ
ゲストの紹介と、日本のElixirコミュニティに対するこのエピソードの焦点
Elixirプロジェクトについての興奮を広める上での「両刃」
ファームボットに見るNervesが実現できる実事例
ファームボットを例にした、ソフトリアルタイムとハードリアルタイムの違い
Nervesの何が優れているのか: 他のプロセッサへのゲートウェイの役割
JustinとFrankが共有する、Nervesで今まで構築してきたプロジェクトの数々
Justinが愛する四川料理についての軽い脱線
Nervesを製品サイクルに応用する他のマーケットや事例
Nervesが扱うのに手ごろな複雑さの独特の「中間基盤」
Nervesの異なるデバイスへの移植とNervesを実行させるのにどんなデバイスが必要
オープンソースと作品を公開することの違いと、どのようにJustinがBluetoothでの仕事の一部を公開したか
Bluetoothの開発作業のチャレンジ
コミュニティのグループがどのようにNervesキーボードを作っているか
どのようにNervesのファイルシステムの機能性を拡張するか
本番環境で優れたツールとなる上でのNervesの機能
Special Guests: Frank Hunleth and Justin Schneck.