EW S4E13b EPISODE 13b [INTRO] [00:00:03] JE: Elixir Wizardsへようこそ。この番組はSmartLogicが提供するPodcastです。SmartLogicは,ボルチモアに拠点を置くWeb・モバイル開発の会社です。私の名前はJustus Eapenで,共同ホストのEric Oestrichとともに,今回のホストを務めます。 今日は,ElixirConf JPとのスペシャルパートナーシップ,Elixir Wizards Dojoのパート2です。この最初のコラボレーションでは,Nervesに注目します。今日のエピソードでは,NervesコアチームからConnor Rigbyと,みなさんご存知,Elixir Wizardsのスペシャルホストで,Elixir コミュニティにも多大な貢献をしている Todd Resudek との対談を聴いてみましょう。Elixir Wizards Dojo のパート2も是非お楽しみください。 [CONVERSATION WITH CONNOR and TODD] [00:00:45] JE: お二人ともよろしくお願いします。Connor, この番組は初めてではないと思うけど,カンファレンスのエピソードの1つに参加したことがあったよね? [00:00:52] CR: 今までに数回番組に出演していたように思います。覚えていないなあ。2回か3回くらいかな? 1つがカンファレンスのだったと思うね。 [00:01:01] JE: Lonestar のですよね? [00:01:02] CR: そう,実際に番組のゲストとして一度か二度参加したことがあるように思うね。覚えていないけど。 [00:01:08] JE: 近いうちにこの番組に再び参加してもらいましょう。この番組は,ちょうど進行中なので。永遠に続きます。この — このPodcastは素晴らしいので,いつまでも続くことでしょう。Elixirコミュニティが成長し続け,爆発し続ける限り,僕たちはここで番組を続けます。そして,Toddがレギュラーです。 [00:01:24] TR: そうですね。 [00:01:25] CR: 彼は今では自分自身のWizardの称号を得ているね。 [00:01:28] JE: 彼は自分自身のWizardの称号を得ている。 [00:01:29] TR: うん,見たよ。それを見せて娘に言ったさ。「ねえ,これは何だと思う?」娘は言ったさ。「ああ,それはパパとタコスだね」というのは,それは私のネコを抱いていたので。説明が要るね。私のタコスという名前のネコを抱いていたからだね。 [00:01:41] JE: そうだね,よろしくお願いします。「チェックイン(近況の確認)」として,みなさんの人生をふりかえってみたかったのです。ここにひどいダジャレがあって,そんなに悪いのかと思っていたんだけど,質問は,不老不死の薬のElixirをコロナ対策による外出自粛期間中に飲んだかい? [00:01:57] TR: ああ,それは恐ろしいね。飲んでないよ。 [00:01:59] CR: そのダジャレは,かなりひどいね。 [00:02:01] TR: わからないよ。 [00:02:02] JE: そんなにひどく飲まないね。 [00:02:04] TR: 私も飲まない。 [00:02:05] JE: なんてこった。ダジャレが完璧に滑るのが好きだね。 [00:02:08] TR: 完全に滑ったね。 [00:02:09] JE: 良かろう。どうですか? [00:02:14] TR: — 悪いニュースがあるんだけど,最近起こったことは,スタンディングデスクを買ったということだね。それは野心的だった,というのは,以前はずっと座りっぱなしだったので,スタンディングデスクで「立って仕事をしよう」と思ったんだけど,結局そうしなかったんだ。そして,ある日,オフィスの椅子にもたれかかっていたら,オフィスの椅子の溶接部を壊してしまったんだ。これは僕の体への挑戦状だと思ったね。僕の兄弟に代わりにどの椅子を買うべきなんだろうかと聞いたら、彼は言ったよ。「何で立って仕事をしないの?今,ほとんどの人がやっているよ」しかたなく,立って仕事をするようになったんだ。 [00:02:46] JE: ねぇTodd,僕も君と同じように立ってみようか。 [00:02:48] TR: 申し分ない。スタンディングデスクで立って仕事をするコツは,部屋に椅子を置かないことだね。そうすると,立っているしかなくなる。それが僕の外出自粛の出来事だね。 [00:02:59] CR: スタンディングデスクの状況を思い描く必要があるね。僕は,いつも座ってばかりだ。僕の椅子も同じように壊れていることを認めなければならないね。ちょうどいい位置に座っていると,きしむような大きな音がするんだ。これは多分,サインだね。そろそろスタンディングデスクを手に入れるときのように思う。 [00:03:15] JE: ねえ,今日の番組中にもその音が鳴るかもしれないね。 [00:03:18] TR: スタンディングデスクを手に入れるか,それともランニングマシンを手に入れるか。ランニングデスクではなくて,体重を減らすためのランニングマシン,体重を減らせば,僕みたいに椅子を壊すことはないだろうからね。僕にとっては,体型を整えるより,スタンディングデスクにお金を使う方が簡単だね。 [00:03:33] CR: お金を使うことは,常に問題を解決する最も簡単な方法だからね。 [00:03:36] TR: そうですね。 [00:03:37] JE: Ericが質問をしていますが — 私が内容をよく把握できなかったので、Ericに喋ってもらいましょう。 [00:03:43] EO: ええ。Twitter でエピソードをお知らせしたところ、Toddに突っ込んだ質問が来ました。あなたの好きなメタル音楽のサブジャンルは何ですか?それから、なぜRhapsody of Fireを挙げたのでしょう? [00:03:58] TR: 素晴らしい質問だね、Eric。スウェーデン、ノルウェー、デンマーク、ドイツのリスナーの皆さんは、この質問に対する答えをすでに知っているでしょう。なんせ、生まれながらのメタルっ子という訳だからね。パワーメタルのバンド、Rhapsody of Fireが私のフェイバリットの1つです。いったい誰が、こんな的を射た質問を書いてくれたんだろう!? 今そこで聴いている君かい? ええ、私はパワーメタルが大好きです! 君もそうかはわかりませんが、Connor。パワーメタルをすぐ見分けるための方法の1つは、ファンタジー要素があるかどうかを観察することです。ジャケットの画が「ダンジョンズ・アンド・ドラゴンズ」の表紙みたいだったり、騎士、炎、または剣について歌われていたりしたら、パワーメタルである可能性が非常に高い。たとえば、その手の元祖だったら、「Dio」なんかそうだね。Dioのアルバムは聴いたことがある? ・・・ない? オーケー。 [00:04:46] CR: これまでパワーメタルのDioについて考えてみたことは特になかったけど、君が話していることはとてもよくわかる気はするね。 [00:04:51] TR: そうそう、話が早いね! メタルのファンタジー要素って、最近はエクストリームメタルやブラックメタルの方にやや移っていったんだけど、Dioはファンタジー要素を持つメタルの元祖だと思っているんだ。もしパワーメタルが好きだったら、DragonForceをチェックしてみてください。 [00:05:05] CR: 「Guitar Hero III」で遊んだことがあるなら、DragonForceを勧めようと思っていたんだ。あの曲で一番難しかったのはパワーメタルのイントロだったかな。 [00:05:13] JE: ああ、聴いたことがあるな。Connor、君の好きなサブジャンルって何? [00:05:17] CR: メタルのサブジャンル・・・いやごめん、よく知らないんだ。実は、僕はパワーメタルをあまり聴かないんだ、Toddが聴くほどにはね。でも、パンクメタルやポストハードコアはたくさん聴くよ。 [00:05:28] EO: いいねえ! とてもすばらしいね。 [00:05:30] JE: なんの話をしてるのか、僕にはさっぱりわかりません・・・ [00:05:31] EO: いやいや。 [00:05:32] JE: 僕みたいに、話をただ聴いてるだけの人に向けて、メタルの定義をしてくれませんか? [00:05:36] TR: よし、いまからメタル・ポッドキャストにしよう。 [00:05:37] JE: バイオリンのときみたいに、ね。じゃあ、「メタルとはなにか」を教えてくれませんか。 [00:05:41] TR: Connor、さっそく話しちゃって大丈夫ですか? 君ならこのギャップを埋められると思うんだけど。メタルは、Black Sabbathから始まったと思っています。それは1970年、そう、Unixのタイムスタンプみたいなものだね。1970年ってのは — [00:05:55] JE: — 時の始まり。 [00:05:56] TR: UNIX だけじゃなくメタルにとっても時の始まりだ。メタルの幕開けとして、Black SabbathとDeep Purpleのファーストブレイクがあったんだけど、これはそのまんまメタルにとってのファーストブレイクだった、とも思っています。それから、NWOBHM(訳注:1970年代後半のイギリスで起こった、ヘヴィメタルのムーブメント)があったんだ。それが本当に一大ムーブメントになった時だよ。Iron MaidenやJudas Priestなどがそうですね。 [00:06:18] JE: うん、この2つのバンドは聴いたことがあるな。うん。 [00:06:20] TR: まさに、英国ヘビーメタルのニューウェーブだ。その後、いろいろジャンルが分かれていったんだ。本当に良いジャンルやサブジャンルのほとんどは、なぜか北欧から出てくるんだよね。 [00:06:30] JE: 待って、ヘヴィーメタルって言ってたけど、他には何て言ってたの? [00:06:33] TR: ああ、NWOBHM。 [00:06:35] JE: どう違うんですか? Black Sabbathは知ってるけど。 [00:06:41] TR: 第2波みたいなものですね、後から来た。79年か80年の、Iron Maidenのファースト・アルバムのころだったと思う。 [00:06:48] CR: そんなに細やかなところまでチェックしてたっていうのがすごいですよね。 [00:06:51] TR: ああ、本当にハマってしまってね。本当にハマっている人と言えば、Sam Dunnはメタルに関するドキュメンタリー映画をたくさん作っているドキュメンタリー映画作家です。 [00:07:00] JE: なるほど。Ryan HolidayがIron Maidenのことをよく話しているので、私も少しだけ聴いてみたんです。サブジャンルって、音楽性で分かれているのでしょうか、それとも年代的に分かれているのでしょうか? [00:07:09] TR: 両方少しずつで、だね。でも大抵は、音楽性でのジャンル分けがされている。 エクストリーム・メタル、ブラック・メタル、「ノルウェーの」ブラック・メタル、パワーメタル。ヴァイキング・メタルはちょっと変わったメタル物だね。 [00:07:22] CR: そうそう、ヨーロピアンメタルにも色々なバージョンがあるんですよね。 [00:07:26] EO: チャットで質問があがってるんですが、これはオランダの作曲家だと思うんですけど、エイリオン・プロジェクトのArjun Lukasenです。(訳注:「エイリオン」・・・ハードロック・ギタリストArjun Lukasen主宰のロックオペラ・プロジェクト)お二人とも聴いたことはありますか?- 私は前に聴いたことがあります。彼はオペラを書いて、ヘビーメタルと融合させるんだ。アルバムなんかでね。非常に興味深いプロジェクトですよね。 [00:07:52] CR: それは興味深いやり方ですね。Metallicaはサンフランシスコ交響楽団と何枚かアルバムを出していますが、素晴らしい芸術作品だと思っています。僕はもうMetallicaにはあまり興味がないんだけど、なぜかメタルバンドに交響楽団がコラボレーションすると、不思議な並行世界ができてしまうんだよね。 [00:08:11] JE: ああ、これは聴いてみたいな。「S&M」。(訳注:「Symphony & METALLICA」Metallicaが1999年に発表したライブアルバム) [00:08:14] CR: ええ。 [00:08:14] JE: Metallicaとサンフランシスコ交響楽団!ええ、チェックしてるよ。聴いているよ。ワクワクしますね。 [00:08:21] EO: ではメタルミュージックから離れて次の話題に。 [00:08:25] TR: もどんなきゃね。 [00:08:26] EO: もうこれ、メタルポッドキャスト。 [00:08:28] JE: Elixirネタかい? だよね、Elixir Wizards なんだから。アプリケーションとかNervesが使えるような局面とかについて随分話したんだけど、実のところToddがやってる斬新なネタについて聞きたいんだ。数日前だったかな、数週間前だったかな、最近Todd がTwitterに投稿したのがすごく気に入ってて。 [00:08:55] TR: そうだな、先週だったと思うよ。 [00:08:57] JE: それが何なのか、何をするのか、何が出来るのか話してもらえるかな。 [00:09:00] TR: もちろん。基本部分を書き直しているので、今は、一旦僕の手元にあるんだ。Bolt って読んでるんだけど、ネットワークモニタなんだ。見てもらうと、これが何に見えるかというと、こいつはpingを打つ… こいつは fping を使う小さなRaspberry Pi Zeroで、Nerves 用に用意したファイアウォール下のネットワークにつながってるんだ。90秒ごとに Google の DNS サーバに fping をして、あとパケットロスとかネットの速度計測なんかをする、つまりネットワークの状況を監視するんだ。ネットの状態が悪くなってくると… それには緑と黄色と赤のLEDがついててネットワークの状態を示してるんだけど、しまいには赤になってシャットダウンをかける… それには通信用のモデムやルータがつながってるリレーもあって、15秒でルータなんかを再起動させるんだ。 [00:09:56] JE: これは販売するのかい? 文字通りに最新の何かを作ったんだろう? [00:10:00] TR: 売ったりはしないと思うよ。こんなの売るなんて聞いたことない。誰かが言ってたけど再起動の仕組みが入ってるルータとかあるようだし。そのことは話してなかったね。あともう少し機能を付け足したんだ。ルータが毎朝4時に再起動するように、つまり24時間ごとに電源をオフ・オンするんだ。しばらくしておかしくなったルータの電源を自分でオフ・オンしなくて済むからね。でもこれも誰かがもうそんなのルータに入ってるって言うんだ。僕はそんなの聞いたことなかったんだけどね。 [00:10:22] CR: オレ様のルータは DD-WRT みたいな Linux ベースで作った独自のファームウェアで、cron そのものがあるんだ。だからスクリプトを書いておくことができて、一時期使ってたよ。毎晩自分でリブートさせるんだ。インターネットが何でおかしんだとか毎度悩むより楽だからね。 [00:10:42] TR: そうそう、よく知られた問題なんだよ。それでもってもう少し機能があるんだ。ネットの品質をかっこ良いグラフにする機能を追加してあるから、ネットの調子が最悪なのがいつごろなのかをはっきりさせることができたりする。 [00:10:55] EO: どこにでもあるようなRaspberry Piにそれを入れてくれたから、毎時スピードテストしてくれてるよ。あるときテラバイト級のデータを使ったときがあって、スピードテストがおかしくならないようにとっさにスピードテストを止めて後で元に戻したことがあったよ。 [00:11:14] TR: そうそう、ただのpingやfpingだからね。そんな状況には対応してないね。 [00:11:21] EO: 何かを過剰にダウンロードする… 例えばウィキペディアを毎時ダウンロードするとかして、ネットのテストをしたほうがいいんじゃないかな。 [00:11:29] TR: そうさ、Arch Linux の ISO イメージの最新版を常に手元においておくとかね。 [00:11:33] JE: Connorはどうだい?最近やった何か面白いプロジェクトで、Nervesの強力さが伝わるような話はないかな? [00:11:41] CR: ああ、最近だとNervesではそんなにエキサイティングなことはしてないね。Frankと一緒に2DグラフィックライブラリーのFlutterを動かしてるよ。なんかKioskの代わりに使える、フルwebブラウザエンジンみたいな。画面はこんな感じだね。まぁ、大抵のスクリーンで動くよ。これはUIを作る面白い手法で、多分Scenicより少し良く出来てて、デバイス上のフルwebブラウザインスタンスより幾分気が効いた感じかな。今もそれやってるんだけど、Flutterは本当に皆の役に立つようになると思うよ。 [00:12:21] TR: それってGoogleのFlutter? [00:12:23] CR: ああ、そうそう。Dartの。正直Flutterについてはあまり詳しくないけどね、Dartで書いて動かすってこと以外は。 [00:12:31] TR: ああ、僕としてはDartがまだ息してたことに驚きだよ。 [00:12:34] JE: ちょっと割り込んでいいかな。GUIの話してるんだけど、えーと、まずはFlutterとかDartが何なのかわからない人のために、簡単な説明してくれる? [00:12:43] CR: FlutterとかDartが何かまだちゃんとわかってないんだよね。わかってるのは、今取り組んでて・・・ [00:12:49] EO: 僕たちはちょっと試しに使ったことあるから、多分少しなら解るよ。 [00:12:52] CR: じゃあ、続けてよ。 [00:12:53] EO: まぁ、基本的には君が説明したものだけど。Flutterはフレームワークだね。FlutterはフレームワークでDartは言語。それで、Dartの…Dartは僕には最近のJavaScriptみたいに見えるな、本質的にだけど。それはコンパイルして…基本的にはReact Nativeみたいに思ってくれていいよ。JavaScript書いて、それがネイティブアプリとかWebアプリにコンパイルされる。 [00:13:13] CR: Flutter使った人達から聞いた共通認識はそれはReact Nativeなんだけど、ガラクタではないって感じ。React Native使ったことないからそれがガラクタかどうか知らないけど、とりあえず、何人かから聞いたから、この表現使うけど。 [00:13:26] JE: あぁ、SmartLogicでは、React Nativeが愛用されてるね。もしReact Nativeプロジェクトやっているなら、私達は助けられるので、どうぞ私達のところに来て、話しかけてみて。もしかして、あなたは開発のベストプラクティスについてのTIPSを持ってる?リスナーのみんなが誰も気にしないなら、Flutterからこちらの話題に移行するよ。現実に目を向けてみよう。GUIアプリのような、アプリ開発のベストプラクティスってある? [00:13:48] TR: 自分はPhoenixを使うのがいいと思う。Scenicの利用を好む人がたくさんいることは知っているんだけど、多分… [00:13:52] JE: Nerves上のPhoenix? [00:13:54] TR: ponchoアプリとしてのPhoenix。 [00:13:56] JE: ponchoアプリって何? [00:13:57] TR: あぁ、ponchoアプリは、umbrellaアプリのようなものだけど、より良くて、でも横暴な感じも少ない。 [00:14:02] JE: もうちょい詳しく。 [00:14:04] TR: ええ、それは多分モノレポで、基本的にファームウェアとWebアプリが同居したようなもんだと、と自分は推測しているよ。完全に別アプリにすることもできるけど、UIが必要なときは、普通これを使うよ。Phoenixアプリを作成すると、データストアは通常、何かを取得する必要がある場所で、そこはNervesに依存しない。普通、Nervesは、センサーデータをクラウドにアップロードし、次にWebアプリはクラウドから読み取る。 [00:14:30] CR: あぁ、それは自分も試そうとしてるんだよ。デバイス自体にネイティブUIを用意することはこじんまりとした隠し芸だけど、誰もがいじりたくない場所で、2020年時点では自分はそれほど役立つとは思ってないんだ。Webブラウザからコントロールしたいだけ。クラウドに接続して、Webブラウザ経由でコントロールすれば、みんなハッピーにできる。 [00:14:54] TR: そうなんだよ、Drizzle 2000を見ると、実物のトグルスイッチがある。デバイスからアクセス可能にしたい場合は、物理スイッチが必要になる。本当に煩わしいGUIか何かを持っているとしたら、私にはわからない…私の脳はそのように機能しないんで。 [00:15:11] JE: Drizzle 2000って何、Todd? [00:15:13] TR: オーノー。Justus、それは芝生のスプリンクラーの未来だよ。それが2000年とした理由。それは自分自身への挑戦として始まったばかり。より多くのゾーンを処理できる、新しいスプリンクラーコントローラーシステムを手に入れる必要があったんだよ。 [00:15:32] CR: あなたには必要だったんだね。 [00:15:33] TR: うん、まぁ。僕は裏庭に草を置き、水をやる必要があったんだよ。 [00:15:38] EO: これはJustinが言っていたことなんだけど、エンジニアは、何かを買ってきて、さらにそれを自分で開発するため、2回分のお金を使うということです。 [00:15:45] TR: なるほど。僕に関しては、使った費用はもっと少なかったですね。費やした時間数も計算してみると、たぶんときどき休憩も挟んでいるとして、自分で開発する分は1時間あたり15セントくらいで収まっていると思うね、既製品を買うのと比べてね。そして、こういった経験は、僕が自身にこんな確認をするための多大なる学習経験にもなりました - "これは僕のスキルでもなんとかなるものなのだろうか、Nervesの用途として向いているものだろうか?" という。 [00:16:10] JE: 君自身がスプリンクラーのハードウェアを「インストール」することはありませんでしたか? [00:16:13] TR: ええと、なぜですか? どういうことかな? [00:16:15] JE: 地面に、ってことですが。 [00:16:16] TR: ああ、「地面にインストール」ですね。それは簡単なことだよ。 [00:16:19] JE: 簡単なんですね。じゃあ、僕もやってみようかな。純粋に個人的興味からの質問なんだけどね。 [00:16:24] TR: うん。まずね、自分でditch cuttersを買ってきてください。ditch witchと呼ばれていると思います。ガソリンで動く機械で、見た目は掘削機みたいなやつです。地面に潜っていくチェーンソーみたいなね。 [00:16:35] JE: それって、1日300ドルくらいのコストが掛かるんじゃないですか? [00:16:37] TR: いえいえ。80ドルくらいだと思います。 [00:16:39] JE: やれやれ。掘削機を持ってきて、自分の庭を荒らすことになるのか。このスプリンクラーを作ったのって、区画の調整とか、ハードウェアのようなものですよね?タイミングの話とかもあったんですよね?今では他の人もこれを使っている。 [00:16:53] TR: 聞いた話では、ね。 [00:16:55] EO: Drizzle 2000(ToddのNervesを使ったスプリンクラーシステム)のユーザーだという方から質問/コメントが1件ありましたので、少なくとも2人のユーザーがいる、ということにはなりますね。 [00:17:04] TR: うん。そうですね。ミシガン州だったと思うのですが、ある人がいました。 名前は覚えていないんだけど、彼は私に少し突っ込んだ質問をくれて、実際に動かしている写真を送ってきてくれました。あれはよかったな。John Carstensが今やってるのは知ってる。Drizzleは今、Drizzleの組織に移され、Eliasという名前の紳士がいて、私とNervesのコアチームのJohn Carstensとで共同メンテナンスをしています。タッチスクリーンとかそんな感じのものを付け加えるようなアップグレードをしようとしてるみたいだよ。 [00:17:35] JE: 僕たちは適切な紹介をしていませんでした。Connor、あなたはNervesコアチームの主要な貢献者の一人ですね。あなたのコード部分について、少し質問したいですね。Toddさんは最大の貢献者の一人だと思います。だってTodd、あなたはDrizzle 2000とあなたのプロジェクトとですべてのカンファレンスに参加しているからです。 [00:17:52] CR: Toddは、私が今まで見た中で最も完成度の高い趣味プロジェクトを持っていて、もはやMVPと言えるほどのレベルまで完成しています。 [00:17:59] JE: まさにMVPです。つまり、私が言っているのはそういうことです。ベンチャーキャピタルでハードウェアを扱っている人を何人か紹介してあげることもできますし、そのネットワークモニターを使って販売することもできるでしょう。ぜひやってみてほしいな! [00:18:10] TR: ぜひそうしたいね。500万ドルから入札を始めましょうか。 [00:18:14] CR: おおっと直球勝負ですね! すばらしいね。 [00:18:18] JE: へぇ、スゴイいいね!あ、Connorはもうちょっと突っ込んだ話ができるんじゃない?君がNervesのどの部分を担当しているかもうちょっと話してくれると、Nervesシステムについてリスナーが違ったアイデアを得られるんじゃないかな。 [00:18:33] CR: 担当って言われると、わからないな、分けてるわけじゃないし、でもVintage Netって呼ばれる新しいネットワークライブラリの作業をたくさんしてるね。たーくさん仕事した。ここ数週間はWi-Fiメッシュのサポートを追加するための仕事をしてたよ。それはマジで楽しいプロジェクトになりそう。僕の担当をはっきりさせたいとしたら、まぁそうだな、GitHubの僕のコミットグラフを見たら、コミットの多くがネットワークライブラリだってことだね。 [00:18:57] JE: Vintage Netについて具体的な質問があるんだけど、どうやってデバイスのブート後にnode.connectを使っている他のデバイスとVintage Netを接続してるの? [00:19:06] CR: Nerves packのリポジトリにその例があったと思う。インターネットに接続したら、他のnode.connectと同じだよ。クッキーを取得して、ネットワークに接続する。ネットワーク上の他のノードにショートネームあるいは設定していればロングネームでアクセスしているかぎり、それはただのnode.connectで、自動的に動作するよ。コードのどこでもいいから、それを配置するだけでいい。 同じように(今言ったことを)自動的にやる他のツールがあったと思うけど、まだ試したことはないや。Nervesのクールなとこはブート後で、それが単に普通のElixirアプリケーションであることだよ。ElixirでできることならなんでもNervesでもできる。知らないところで自動的にいろいろやってくれるPhoenixとは対象的かもね。Nervesには、Elixirの最低限の実行可能なものしか無いから、Nervesを使うならElixirの標準的なツールはすべて使ってね。 [00:19:58] JE: この質問のいくつかを読んでいるよ。僕が思いつくのは,きっと興味深いと思うんだけど,「キオスク端末」に関することで,ただ僕には正確にはわからないです。僕はキオスク端末が何であるのかさえわからないから,たぶん,君たちが明確にしてくれるんじゃないかと思います。キオスク端末を国際化するにはどうしたらいいですか? [00:20:15] TR: 僕が知っていることを説明します。Connorがキオスクにどれだけ関わってきたかは知りません。キオスクは,Le Toteから生まれたプロジェクトだと思います。これは今までのLe Toteの倉庫内でのニーズから生まれたものでした。キオスクに対する僕の考え方は,本質的には単にWebアプリを実行しているということです。Raspberry PiをセットアップしてWebアプリを起動するだけで,最初にRaspberry Piのごちゃごちゃした起動ログが表示されることはなく,いきなりフルスクリーンのChromiumなどが起動します。だから,これはみんなもできることですが,Raspberry Piが起動してからChromiumが起動するまでに多くのステップがあり,小さな設定ファイルがたくさんあります。それを国際化することは,Webサイトを国際化することと同じです。それは単なるWebサイトです。 [00:20:54] CR: そうだね。そのため,キオスクという名称はChromiumに由来するんだ。Chromiumがキオスクモードを持っていて,キオスクモードで起動できるんだ。基本的にはフルスクリーンにして画面全体をキャプチャし,URLバーなどを非表示にする。つまり,Electronといってもいいでしょう。Electronは,多かれ少なかれ,キオスクモードのChromiumのようなものであり,舞台裏でChromiumをOSイベントに接続する魔法をかけているんだ。 そう,Toddが言ったように,Webアプリを国際化できる方法であれば,その方法で実行できるよ。Elixirでは,Phoenixが使用しているgettext (https://github.com/elixir-gettext/gettext)があります。これは,国際化を実行する人への私の提案です。 [00:21:32] JE: あまり簡単にはしていないように思えるね。簡単にはならないんじゃない。でも、先に話していたponchoアプリに全てを入れられることを考えると、kioskのような一つに集約しているアプリを実行するなら、日々使っているテクノロジーと全部同じだよね。どのくらいシンプルにできるのかわからないけど、いい質問だったね。この質問でこのセグメントを終えたんだけど、Nervesを使ったハードウェア開発の未来がたどり着く先に興味があるんだ。理想的なのってどんな感じ?達成不可能かもしれないけど、理想郷的なNervesプロジェクトって? [00:22:06] CR: 僕にとっては、機能を作成している時にNervesで作業をしていることを忘れさせるものが必要だ。ランダムな細かいハードウェアのことを気にせずにするために何かできることがあれば、やろうと思ってるよ。Vintage Netでは、Frankがネットワークのライブラリにパワーマネジメントを追加する仕事をしてる。LTEのモデムなら、おかしくなったら電源を切って入れ直すとかね。 ユーザーがコードで対処するのではなくて、僕らがVintage Netにサポートを追加しているから自動的にやってくれる。僕は単にハードウェアのランダムで細かいことを心配したくない。Elixirが動く最低限の実行可能なマシンで、全てをElixirでやるんだ。 [00:22:52] TR: だね。とても複雑なプログラムを実行していて、それをCで動かそうとしている場合、言い忘れたけどCプログラマーだったらね、マルチスレッド化したり、マシン上のすべてのコアを使用して、それを追跡したり、すべてのメモリを管理したり、その他すべてを管理したりするのはとても難しいよ。Drizzle2000(ToddのNervesを使ったスプリンクラーシステム)では、Elixirは各ゾーンの状態、スケジュール、天気予報とセンサーデータを同時に管理してて、それらが相互作用する、だからElixirはすごく適してたよ。 僕にとって(Drizzleは)NervesとErlangを使う良いユースケースだったよ。今後のことだけど、SmartRentのMatt Ludwigsにプロジェクトのことを話したよ。トレーニングをするつもりじゃなかったんだけど、今年のNervesConfでトレーニングの申請をしたんだ。ただスケジュールがバラバラになっちゃんたんだけど。僕らの一つのゴールはタッチスクリーン付きのデバイスを作ることだね、Google Homeみたいな、何だっけGoogleのタッチスクリーンがついたやつ。Google Home Max?なんかそんなので、Nervesが組み込まれてるやつ。 [00:23:55] JE: 君は家に(Google Homeは)持たないって思ってたけど、、(訳注: たぶんToddはGoogleを信じてないという共通認識が話者にある) [00:23:58] TR: 笑、Gmailを使ってるからGoogle Homeを持ってるよ。GoogleとAmazonが75%ずつ僕のデータを持つより、Googleが100%持つ方がいいって決めたんだ。そうしたら [00:24:13] CR: Googleに全部送ったら、、 [00:24:16] TR: そうしたら僕は自分のGoogleへの忠誠心を心配するだけでいいからね笑 [00:24:19] JE: ほら、それは私がAppleを使おうとするのと同じだよ。 "Appleは何でも手に入れられるけど、誰も何も手に入れられない" [00:24:24] TR: 君はたぶん賢いね、Siriが能無しってっことを除いてはね。 [00:24:27] JE: ええ。いや、Siriが使えないのは、それはデータを悪用して賢くしないからだよ(訳注: 暗に他社がデータを悪用してると言ってる) [00:24:32] TR: だね。それがAlexaが賢い理由だね、たぶん。JohnとConnorがネットワーク、特にメッシュネットワークを頑張っているように、僕のゴールはインスタンスにとってのBolt (訳注: これのことか? https://netflixtechblog.com/introducing-bolt-on-instance-diagnostic-and-remediation-platform-176651b55505 ) みたいなネットワークモニターだね。接続したらすぐにネットワーク上にあるものを検知するようなね。そのハブはネットワーク上に新しいNervesデバイスがあることを検知し、テレメトリを取得し始める。ハブ一つあれば、全てのデバイスが見えるような。 [00:25:07] JE: 現実的だね。 [00:25:09] TR: うん、みんなが特にメッシュネットワークに力を入れているからね。Justinが言ってたみたいにカンファレンス駆動開発になると思う。ElixirConfのトレーニングに採用されたら、あちゃー、動かすのに六ヶ月だね。 [00:25:26] JE: うん、以前は僕もカンファレンス駆動開発をやってたんだけど、代わりにMCをやることにしたよ。準備が少なくて済むし笑。ElixirConfの宣伝をすると、今年のElixirConf(US)もデジタルで開催されます。僕らもどう関わっていくか活動してるところです。今見ている人はオンラインElixirConfのチケットを買ってください。CFPは土曜日で終わると思うので、この部分は収録から編集しときます(訳注: 翻訳時点では編集されてませんでした)ElixirConfはコミュニティの原点だ。みんなに参加してほしい。それに今はオンラインだからとてもアクセスしやすいよ。 [00:26:02] TR: Sophieに感謝しよう。今年のあるトレーニングを彼女がやるんだ。感謝しよう。時間とお金と興味があったらElixirConfのSophieのトレーニングをチェックしてね。 [00:26:13] JE: 今年のElixirConfもたくさんの参加費等の資金援助があると思います。ここで質問があります。じゃあ、簡単な質問から。Nervesと他のIoTソリューションとを比較したケーススタディと、どこにそれを見つけたのか、それから、あなたはトップオブマインドの分析結果を知っていますか? [00:26:30] CR: 私は個人的にNervesほど包括的なソリューションは知らないので、ほかと比較することはできないですね。 [00:26:37] JE: 地味に自慢してる? [00:26:39] CR: いやいや自慢じゃないよ、僕はこれ以上の競争力を持つものを知らないので。他にも小規模なIoTソリューションはありますが、名前は思い浮かびませんが、このポジションを狙っている企業がいくつかあることは知っています。 それは、コンセプト的な負荷の量と、出荷状態で得る製品化準備の量に関しては、全く及ばないです。Build rootは、Nervesのベースとなるツールであり、そこから独自のツールをスピンアウトすることができますが、あなたはまだNervesですでに作られているすべてのツールをビルドする必要があります。それらは作られ、実証済みで、すでに存在するものです。 解決策は、すでに例があり、私たち全員も独自の解決策を展開しているため、もし我慢してオリジナルを編み出しても、上手くいくことはありません。 いくつかのケーススタディがありました。私が参加したケーススタディでは、Erlangのソリューションが私の前の会社のNervesの仕事であるファームボットに入っていきました。それがどこで終わったのかは覚えていません。彼らのブログのどこかにあると思います。 [00:27:40] JE: あぁ、ファームボットにいたんですね。 [00:27:42] CR:私はファームボットにいた。ええ、私はファームボットでのNerves担当でした。 [00:27:45] JE: 自分でやるとしたら、どれだけの時間とお金がかかるんだろう? [00:27:50] CR: ファームボットでは、いくらで買えるのか覚えていませんが、とても簡単に買えるようにしました。支払いするだけでロボットが送られてきて、Wi-Fiのパスワードを入力するだけで、あなたのために作物を育ててくれます。 [00:28:03] JE: コンプリート版を買うと本当に高いですよね。 [00:28:05] CR: それは分かりません、本当に高いかどうかは。 [00:28:07] TR: 数千ドルのケタ単位の違いですね。 [00:28:10] CR: 前に出てた、開発中だと思う新しい製品は、公式に販売されていたけど、FarmBot Expressという新しいバージョンは1,100ドルとかそのぐらいの値段だと思う。 [00:28:22] EO: Genesisみたいですね。(訳注:Farmbot Genesis・・・Farmbot最初の市販バージョン) [00:28:25] CR: そうですね。Genesisはオリジナルモデルで、それがすべての付属品が付いています。最終的にいくらになるのか覚えていませんが、2,000ドルくらいでしょうか、3,000ドルくらいでしょうか。 [00:28:38] TR: 54平米をこなす大物は、5,500ポンドでした。 [00:28:43] CR: そう、XLモデルはとてつもなく巨大です。もしあなたがXLモデルが必要かどうか疑問に思ったとしたら、ほぼ間違いなくXLモジュールは必要ありません。あまりに巨大だからね。 [00:28:53] JE: 3メートル×6メートル。そうですね、ほとんどの人はそんなスペースを持ってないですからね。 [00:28:57] CR: 1台分のスペースがあったのですが、XLバージョンを作るために、オフィスの駐車場を全部占領してしまいました。とても巨大なものなのです。 [00:29:09] TR: FarmBot Express Maxは、2,000ドル安いので3,200ドル。それからXLがある。そう、2000があって、それからエクスプレスが1500ドル。 [00:29:23] JE: これだったら、買いですね。 [00:29:24] CR: Justin Schneckは持ってますよね。 [00:29:25] JE: 間違いなくね。やってみました。これはとてもクールです。今までのなかで最高だと思う。これは、水やりだけ? 植物に水をやる以外に何をするのかな? [00:29:33] CR: そうですね。Genesisのツールシステムはとてもクールなもので、マグネット式のツールヘッドがあり、どんなツールでも組込むことができます。ユーザーが作ったツールがたくさんあるのは知っていますが、形状がとてもシンプルで、3Dプリンターで印刷できます。土壌センサーがあり、そこには真空ポンプが付いていて、種を拾ったり置いたりすることができます。 [00:30:01] TR: 私の記憶だと、草刈りのヘッドを持っているところが一番かっこいいと思っていました。 [00:30:08] CR: フロント側に小さなクリップがあります。今もあるかどうかはわからないけど、おそらく一番シェアされているのは、ファームボットの頭の部分だと思うんだけど、この先がとがっていて、まるで怒っている表情みたいなアタッチメントを持っていて、植物を完全に破壊するんだ。土の下に直接突っ込んで、植物を完全に取り除いてしまうのです。 [00:30:26] JE: モーターは地面に突き刺さるほどのパワーを持っています。 [00:30:29] CR: ああ、これのモーターはギアを使っていて ベルト駆動なんだ。前のプロジェクトで使ったことがあるんだけど、実際に温室を倒したことがあるんだ。トルクがすごいんですよ。 [00:30:42] JE: 白熱してきましたね。すみません、ちょっと話が脱線してしまいました。 僕は農場に住んでいます。農業はしていないけど、できるだけライトな農園をやりたいと思っています。ただ、あまり外に出ることがないんですよね。ファームボットはそれを解決してくれそうな気がします。外に出て葉巻を吸って、ウイスキーを飲んで、そこに座って古い本を読みたい。農場には行きたくない —。 [00:31:04] CR: まるでレトロ・フューチャーに出てくるような農場だ。 [00:31:06] JE: そうだね。まさにそれが望みだよ。そうそう、今度Nervesを使ってライブストリーミングしようと思うんだ。Nervesでどうやってライブストリーミング動画を流せるか話そうよ。 [00:31:16] CR: ファームボットにもカメラはあるよ。前に言ったかも知れないけど、ファームボットは完全にオープンソースなんだ。もし、その辺の機能をハックしてみたかったらやってみるといいよ。 [00:31:25] EO: ああ、Connor、君はBinary Nogginでちょいちょいカメラのアップグレードをやってるんだっけ? [00:31:30] CR: そうだね。どの程度話していいのかわからないけど、いくつか紹介しようか。僕はよくMembraneを使ってて、それも一種のフレームワークで、もっと愛されて然るべきだと思う。すごくクールなんだよね。マルチメディアの処理をしてくれるフレームワークなんだ。ElixirConfなどのカンファレンスでも何度かアナウンスあったけど、かなりエキサイティングだと思うよ。 とにかく、Membraneを使えばネットワークに繋がったカメラの処理ができるよ、動画データを全部ね。僕らのプロジェクトでは実際にNervesを使っているというというわけではないんだけど、マルチメディア処理をやってみたければ、Nervesとの相性はばっちりだと思うよ。NervesはただのElixirだからね、普通に上手くいくはずだよ。 [00:32:08] JE: もうほとんどプラグアンドプレイだ。それで、ストリーミングの部分はどうするの? [00:32:12] CR: そうだね、どうやってビデオのデータを取得するかによるんじゃないかな。僕が関わったケースだと、複数のネットワークカメラがあって…全部がとは言わないけど、いくつかのまさに標準と言うべきフォーマットを使う。H.264エンコーディングは…それは基本的にストリーミングビデオデータ向けに作られたネットワーク・プロトコルだね。Twitchで使われてるやつで、おそらくたいていのところで使われてる。Membraneはパケットのエンコードやデコードの手間なところは全部やってくれる。ただビデオデータを流し込めば、やりたいことは何でもやれるよ。HTTPを使ってストリーミングしてくれ、とかMJPEG(Motion JPEG)にしてくれとか、なんかそんな感じ。画質はめちゃくちゃいいわけじゃないけど、でも、ちょっと手を加えれば、RDPとかRTESP経由でH.264のストリーミングなんてこともできる。 [00:32:59] TR: Gregと僕は去年のElixirConfでRaspberry Piのカメラを使ったトレーニングをやったよ。もし、その時に使ったコードに興味があればGregのGithubリポジトリのOmni-eyeってプロジェクトにある。そこにはElixirのビルドに加え、Raspberry Piのカメラとストリームに接続するコードが全部あるよ。 [00:33:21] CR: ああ、Raspberry Pi cameraを使うのはいい出発点だね。それはraw JPEGフレームを吐き出す。それをストリーミングするとしたら、かなり重いんだけど。とはいえ、解像度次第かな。カメラから毎秒30フレームのraw JPEGのフレームを吐き出される。それは…JPEGがファイルフォーマットだから、本来ストリーミングする用じゃないんだ。最近のwebブラウザではMJPEG化がサポートされていて、基本的にただ連続的にHTTP GETを可能な限り早くやってるだけなんだけど、かなりいい結果が得られる。もし、デバイスがローカルネットワークで接続されてたら毎秒15〜20フレームという感じかな。 [00:33:56] JE: ちょっと前から僕はアグリテック(農業技術)にハマってしまったみたいなんだよね。というのも、君達Nervesを使ってるBoweryって会社に注目してるでしょ。 [00:34:08] CR: ああ、Boweryについてはよくわからないよね。彼らは神出鬼没で「やあ、僕らはNervesを使ってこれをやってるよ」みたいな感じで、僕らは「めっちゃクールだね」みたいな。そして彼らは去っていく。 [00:34:17] JE: そうだね。彼らに電話するよ。Boweryに電話してる… [00:34:21] CR: いいね、来てもらうべきだよ。僕はもっとBoweryについて知りたいな。 [00:34:24] JE: 僕らは君達がどうNervesを使ってるか知りたいんだ。今、君達のサイトをみてるんだけど、拠点はNottingham, Marylandか、僕のいるNew Jerseyからそんなに遠くはないね。 [00:34:33] CR: そうだね、彼らはすごいクールだよ。彼らがNerves Slackに現れた時に時々やり取りするけど、その後彼らはまたインターネットの虚空に去っていく。僕は今も彼らに注目してるんだ。面白いことやってるよね。知る限り、彼らはまだNerves使ってるけど、今後も使っていって欲しいな。 [00:34:49] JE: 多分彼らも歩み寄ってくれるんじゃないかな?僕ももう少し忍び寄って向こうででも話せる人見つけてみるよ。ここでUSでのIoTと農業に関しての質問を取り上げようか。Nerves使ってでも広くアメリカでの農業系ハードウェア技術でもいいけど、何かあるかな? [00:35:10] TR: 今はかなり色々あると思うよ。地元でJohn Deereって奴がいくつも契約取ってて、全部アグリテック関連なんだけど。なんか、彼らはかなり大きいそれ用の部署持ってるらしいよ。 [00:35:21] JE: 彼らはNervesを使ってるの? [00:35:22] TR: いや、Nervesは使ってないね。知る限り使ってない。ただ、一般的な話で、アグリテックは結構な市場規模だと思うよ。大きな産業のように思える。 [00:35:33] CR: アグリテックは次の大きなブームになると思うよ、IoT関係でね。僕は普段そんなにIoTって言葉を使わないんだ、なんかモヤッとしてるからね。IoTは特に農業関係ではかなり流行ると思うな、インターネット接続を伴った観点でね。 [00:35:50] TR: 僕の義理の父も興味持ったよ。彼は裏庭でホップを育ててるんだけど、土壌の監視とか、あらゆることに使いたいみたい。彼曰く「次の10億ドル産業はここにある」って。 [00:36:04] CR: そうだね。つまり、皆それを望んでるか、望まれてるのを知ってる。そして、資産家がこの問題に取り組もうとしているのを知ってる。まさに次の大きな動きになりそうだよね。この5年位、僕はNervesを農業関係でいじってきたけど、一旦は解決しても、そこには植物について認識すべきというだけでなく、学習が必要という意味でも、解決すべき問題がいっぱいあって、まさに大きな課題になりつつあると感じるよ。僕はAI系の技術について詳しくはないけど、その辺は解決に近づいていて、そこからは僕ら技術オタクは機械的な部分やソフトウェアの側面に集中できるはずだよ。 [00:36:46] JE: Connorどこに住んでるの?大体でいいけど。 [00:36:49] CR: 僕はMorro Bayってカリフォルニアのセントラルコーストの小さい街に住んでる。PCH(パシフィック・コースト・ハイウェイ)のすぐ側だよ。 [00:36:56] JE: ファームボットみたいなのを自分で作ったことあるかい?それか・・・ [00:36:59] CR: ないね。だからファームボットをやってるんだ。自力で作らなくていいからね。それとも、自分でボットを組み立てたことあるか、ってこと? [00:37:05] JE: そう、えーと、ボット自体を組み立てたことあるか、ってこと。 [00:37:07] CR: そうだね。設計を手伝ったりとかそういうのはやってないけど、いくつか組立てたことはあるよ。それは、たぶん、機械的な要件にもよるけど2〜3日で作れる。 [00:37:14] JE: わかった。理解した。 [00:37:16] TR: Webサイトではたった1時間でできるってあるけど。 [00:37:18] CR: それは新しいやつだね。FarmBot Expressでしょ。僕自身は組み立てたことはないけど、完成品は見たことあるよ。中国の製造パートナーので、ホントに簡単に作れるようにしてくれたんだ。彼らは3つの主要部品とドライバーセットを出荷してて、あとはネジ止めするだけだよ。モータードライバーの組み立て方で、それはオート…オートレベルそのものとまでは言わないけど、自動で水平を保ってくれて、モーターやトラッキングシステムがちゃんと機能するようになってるんだ。 だから精密なツールは全く要らない。黒魔術とかも要らない。ただネジ止めして2,3の主要な部品を組み立てるだけで準備完了だ。かなりクールだよね。 [00:37:58] JE: さて、みなさん。そろそろ終わりの時間が近づいてきました。残りの時間で、リスナーに質問したり何かをリクエストをしたり、何か宣伝したり、個人的な自己PRをしたりしてみてはいかがでしょうか。ご自由にどうぞ。 [00:38:11] EO. それと、聴きたいアルバムを1枚教えてください。 [00:38:15] TR: おお、すばらしい! じゃあ、まずは聴きたいアルバムから。もし、あなたがConnorみたいにパンク・ミュージックが好きで、メタルはまだよくわからない方だったら、Iron Maidenが1980年に発表したファーストアルバムを聴いてみてください。アルバム名は、そのままセルフタイトルです。とてもパンクなサウンドだよ。メタルっていう感じは、ほとんどしないんじゃないかな。ぜひ聴いてみてください。個人的な自己PRですが、母音なしで「@sprsmpl」とオンライン検索してください。それぐらいかな。 [00:38:39] CR: 僕がおすすめするアルバムなんだけど、Iron Maidenのファーストアルバムを聴いた直後に、Metallicaのファーストアルバムを聴けばいいんじゃないかな。妙に似ているし、何かをやり遂げようって気持ちにさせてくれるからね。それからノリノリで盛り上がればいいんだよ。個人的な自己PRだけど、まだ完成はしていないけど「Flutter」の宣伝をしようかな。だって、みんなにとって本当に楽しいプロジェクトになると思うから。 まだ作っているところではあるんだけど。僕とFrankは、参加してからまだ一週間ほどしか経っていませんが、楽しいプロジェクトになることと確信しています。数週間前にTwitterでネタバレ注意喚起のツイートを投稿したところ、多くの人が興味を示してくれたし、とても面白いツールになると思います。 [00:39:21] TR: 私が働いている会社、Simplebetを紹介しましょう。Simplebet.ioです。 アメリカでは、(新型コロナウィルスの影響で)止まっていたスポーツが再開し始めたので、まもなくサービスを開始できます。とってもクールなものに取り組んでいてね。生粋のギャンブラーの方や、スポーツくじを楽しんでいる方には、ぜひチェックしてみてほしいな。 [00:39:38] CR: うん、すごくいいと思うよ。じゃあ、Binary Nogginも紹介しておきますね。私たちはソフトウェアのコンサルティングをしています。もし自前のNervesデバイスを必要としているならお役に立てますよ。 [00:39:47] JE: すばらしいですね。今日の番組でお会いできたこと、とても光栄で、この上ない喜びでした、Todd Resudek。ふたたびお目にかかれたことも嬉しかったです、Todd。またすぐにお会いしましょう。Connor Rigby、またお会いできてうれしいです。また近いうちにインタビューできれば、と願っています。どうもありがとうございました。 [00:40:03] CR: 最高だね。 [00:40:04] JE: 視聴者のみなさん,Elixir Wizards Dojo に参加してくださって,誠にありがとうございます。Nervesチームのゲストのみなさん,ElixirConf JP のオーガナイザーのみなさん,質問を共有してくださったコミュニティのみなさんに感謝します。 ゲストのFrank Hundleth, Justin Schneck, Todd Resudek, Connor Rigby,そして,共同ホストのEricに再び感謝します。Eric, 全ての月の番組で私に対応してくれてありがとう。 Elixir Wizards は SmartLogic のPodcastです。SmartLogicは,常に新しいプロジェクトに挑戦しています。Elixir, Rails, Reactを用いたWebアプリケーション,Kubernetesを用いたインフラプロジェクト,React Nativeを用いたモバイルアプリの開発に取り組んでいます。もし私たちがお手伝いできるようなプロジェクトをお持ちでしたらお知らせくださると嬉しいです。Live Streamを発信するTwitchに登録するのを忘れずに。Podcastで聞いている方は、Podcastの登録と評価もお願いします。お気に入りの全てのプラットフォームで,私たちをシェアしてください。また,次週のElixir Wizardsに参加して,ElixirとElixirエコシステムについてのディスカッションを聴いてください。 [00:41:00] PF: 今日のElixir Wizards Dojoをお聴きいただき,ありがとうございました。Nerves Project のメンバー,ElixirConf JP のみなさん,質問を送ってくださった方,本当にありがとうございました。Podcast のゲストの,Frank Hundleth, Justin Schneck, Todd Resudek と Connor Rigby,そして,Podcast のホストのEric OestrichとJustus Eapenもありがとうございました。 Elixir Wizards は,SmartLogicのPodcastです。SmartLogicは,Elixir, Rails, ReactやKubernetesなどを使って,カスタムのWebアプリケーションをお作りします。そして,React Nativeでアプリも作っている会社です。もしこのようなプロジェクトがあれば,是非SmartLogicにご連絡してください。お待ちしております。 Elixirについて,もっとお聴きになりたい方は,Elixir Wizards の Podcast をsubscribeして,また来週もお聴きください。 [END]