参加してきました。
とりあえず
以下あたりのチェック必要。
- Nerves
- あと個人的には組織に導入するために、なナニを共有して欲しいです
- @TheErlEF をフォローの件
- https://erlef.org/ 参加の件
- 手持ちの FPGA デバイス、cockatris 対応してるのか確認のこと
- Broadway
そして以下にて、採取したメモを列挙。
Hastega
- Data は増えたが CPU power の向上は止まっている (from 2003)
- コアの数は増えている
- it requires parallel computing to us
- but we have no effective parallel programming languages
- The world with destuctive updates is … Dystopia
- Elixir is a drastic solution
- Elixir is immutable
- Flow にインスパイアされて作りました
- like a berserk samurai てww
- プログラミングの本質はデータ変換
- Hastega 改名らしい
- The Penta (Five) Elemental Way -> Pelemay
Flow
- 今日は入門編に近いカンジの話
- そうか、Enum とか map とかパイプからの Flow なのか
&1
というナニをすっかり忘れてる件orz- 例の 2h な処理時間を 6m30s で、というやつ
- Broadway SQS とかに対応 (たいしょうがいせい)
現在の進化まで
- shinjuku.ex の方の発信
- 昔話を、とのこと
- バージョンダウンてw
- iex 二つでメセジそうしんなデモ
- sigil て何だろう
- iex 実行しつつ GETTING STARTED を読みすすめる方式
- try-elixir.herokuapp.com
- erlang-mruby?
- v1 でたのいつだろ
- Broadway 確認してみよう
仮想発電所
- きくちさんだ!
- small hydropower
- RasPi x3
- RasPi 壊れるので自作
- VPP という考え方 (発電クラウド)
- PLC 文化と IoT、クラウドの文化を融合させたい
- RasPi を工場で活用
- なんで Elixir なのか
- へいこう、へいれつ (軽量スレッド)
- たいしょうがいせい (死んだらいきかえる)
- Ladder Logic Diagram
- デバイスをプロセスとして表現できる
- メッセージドリブンな形にすることで無限ループ使わなくて良い
- 要素を supervisor で監視
- IoT/CLoud と FA の世界の深い谷
- Elixir で谷を埋める
- Ladder 図を Elixir プログラムに
- PLC を Elixir 箱で痴漢
何故に製品の質が上がるのか
- なぜ、Elixir で製品開発するのか
- Japan Elixir Association
- 阻害要因、がある (あります)
- 業界/組織/チームの監修やルール、こじんのすきるやかんがえ、きげん、よさん
- 信頼と教官、そして論理
- 何を探求すべきか
- 利用者に価値を提供する製品を生む
- 製品リリース時の事故をさけたい
- 夜は寝たい (現実は寝れない事例が多そう)
- なぜ寝れない事例が多いのか (機能が増えて品質も上がる)
- 機能追加による構成の肥大化,機能の密結合
- 技術にも品質がある、という書籍
- 複雑さの増加に共なう技術品質の低下
- 技術品質の問題で事故すると価値はゼロになる
- 技術品質を保つ活動
- プロトタイプ作ると一旦ステる
- 未然ぼうし、さいはつぼうし、もんだいけんち
- 技術品質を保つために安全なものを使う
- 安全が特徴の言語
- Erlang
- Stop the World が無い
- Java, NOde > erlang > ruby, php
- 複数 CPU を効率的につかえるので効率的
- 安全 > 速度
- Erlang VM はバージョンアップで性能が上がる
- バージョンアプも簡易
- OTP チームブログ
- SSA て何
- Socket ライブラリを作っているとのこと
- プロセスかんで共有できるかうんた
- Clojure の影響 (部分的にシンプル)
- シンプルさは信頼性の前提条件
導入したきっかけとこれまでのふりかえり
- 導入のきっかけはあるプロダクト
- 大量データ、中身が微妙
- https://goad.io/ でふかしけん
- ライブラリの不足がネックだった
- 採用云々、twitter してみると意外にいいかも
ERLANG ECOSYSTEM FOUNDATION
- http://erlef.org
- カリフォルニアにある non-profit な団体
- erlang otp で動く滑ての言語
- いくつかの working group がある
- Grant Proposal (目的と貢献と結果をまとめて活動を支援)
- @TheErlEF をフォローしましょう
優秀な人が土木には必要
- 環境土木の話
- 葉隠
- 技術が身につくソフトウェアとは
- 図面の間違いを見つける
- 地形データ、計画 3D、用地境界の自動操作
- 九州北部豪雨の災害査定
- どろーんにれーざーすきゃなをつけて地形データを取得 (UAV)
導入事例紹介
- 2.5 年運用した事例など紹介
- 登山者向けオフライン地図
- メインは RoR でサブが Phoenix
- Upload と Suggest な API を Phoenix で提供
- Phoenix が ElasticSearch を叩いている (Suggest)
- 2.5 年でトラブルなし
- 安定しすぎで存在を忘れる
- レスポンス 10ms
- リソース、t2.small x 2 で最初の 2 年
- CPU usage 10% 以下
- 安定しててレスポンスも早くてリソース消費も低い
- upload API について
- upload が遅い、upload が重くなると他に影響していた
- アドバンテージが無い状態
- しゃしんの変換が遅い
- メモリ消費 150MB 程度
- その分 ImageMagick が使えるメモリが増えた
- トラブル : Elixir が RO な filesystem に云々で disk full だったために出てた不具合
Cockatrice
- FPGA サボッてる < わし
- data flow procesing
- 作るの面倒
- こういごうせい (HDL 書くの面倒)
- いろいろな HLS
- Elixir で書けたらいいよね
- Cockatrice
- 石化 == ハードウェア化
- 直感的に書ける
- 超並列
- defcockatrice
- DMA 転送による通信 i/f
- Zynq がターゲット
- Avnet Ultra96-V2
- Nerves
Alchemist and D/OX
- DX, OX?
- deployment な情報 (悩みどころ、らしい)
- developer experience
- operation experience
- good d/ox, bad d/ox
- 技術的負債が多いか少ないか
- 自動化、マニュアルオペレーション
- development cycle について
- 自動化、良いアーキテクチャの選択
- レガシーコード改善ガイド
- delivery/scaling (Good OX?)
- mix new の次でテスト入れる
- “stress” という MIX_ENV
- 2, 3 ヶ月ごとで負荷試験
- 簡単に試験できる、が大切
- モニタリング BEAM metrics 取れるように (負荷試験で見る)
- deploy について (k8s)
- impedance mismatch
- k8s とか違う文化?
- k8s と世界観が異なる
- DON’T GUESS, MEASURE
- hot code swap は辛い
- daemonize
- mix release
- CI 化
- multi server (build server からサーバへ)
- depoy w/autoscale
- k8s cluster
- deployment is big automation issue
ヤマザキさん
- 何故 Jastin-san を呼んだのか
- 第二次徴収征伐って 1866 夏なんだ
- Nerves 確認必要だな
Nerves Project
- product modeling
- embedded and web programming share the same problems
- resilient (しなやかな堅牢性)
- reproducible (高い再生産性)
- Reasonable
- How do we build maintainable embedded systems?
- 長期にわたる保守性
- Linux Kernel / Elixir / Nerves (Application Logic)
- working towards reproducible builds (tedious)
- Whitelist approach (最小構成)
- distributed computing demo
- RasPi3 1.4GHz quad core + RasPi0 x9 -> 13 cores 5.5Gb Ram
- 独立したコンピュータが連携
- NerversHub?
- Phoenix CHannel はリアルタイム通信得意
- NervesHub
- 無線だけでリアルタイムなナニ
- scale できる (resilient につながる)
- NervesHub Update Demo
- firmware update server
- ネットワークごしで firmware の更新が可能
- 動かしながら update できる
- 再起動必要 (当たり前)
- Elixir and Nerves give your company a competitive advantage
- Embedded Linux が動けば OK
- Elixir Circuits (github.com/elixir-circuits/circuits_)
- CryptoAuthentication chip
- ATECC508/608A (RasPi に実装可能)
- http://docs.nerves-hub.org
- nerves-key 使って沿革操作もできる
- Dockerfile ある模様
- elixirforum.com/c/nerves-forum
- elisir-slackin.herokuapp.com
- nerves のコミュニティ作りたいね
Elixir for IoT
- https://github.com/shaga/NervesaddonBoard
- NervesKey socket 付き
- データ中心開発パラダイム
- edge server や cloud でも疲るランタイムとしての Nerves
最後
- 今あるものが成熟した姿を描く
- 12 年先の IoT
- IoT で何をするのか
- Lumen?
- FPGA の方が GPU よりも早い (予測の性能)
懇親会
たかせさんにお声かけ頂き、Justin-san とちょっとだけ話ができて嬉しかったです。Elixir 活動頑張ろう。