/var/log/messages

Sep 7, 2019 - 5 minute read - Comments - programming

ElixirConfJP

参加してきました。

とりあえず

以下あたりのチェック必要。

  • 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

最後

  • 今あるものが成熟した姿を描く
  • 12 年先の IoT
  • IoT で何をするのか
  • Lumen?
  • FPGA の方が GPU よりも早い (予測の性能)

懇親会

たかせさんにお声かけ頂き、Justin-san とちょっとだけ話ができて嬉しかったです。Elixir 活動頑張ろう。

Hugo-Octopress を別端末で Modal Verbs

comments powered by Disqus