2014/09/22

Kernel/VM探検隊@沖縄 に行ってきた

2014/09/21(Sun) に Kernel/VM探検隊@沖縄 があったので行ってきました。

いわゆる低レイヤーとかておい人達の集まりらしい Kernel/VM が沖縄でもやるらしいやったー、てな感じで行ってきました。

とりとめもなく列挙していくと

過激に含まれる C++ 成分、interactive に plot される graph、発表中に消えるPC、 Terminal なのに出てくる画像、セキュリティポリシな上から目線(?)、Linux kernel reading by gbd + qemu-kvm、 セキュリティフィックスだけになっちゃった ELILO、突然のMonad、計算機(物理)、lisp祭りとツッコミ祭り、Kernel探検 to CPU Idle Time、とつぜんの 98 とか Windows NT

という流れ。発表聞いた身からするとだいたいあっているのだけれど列挙だけするとカオスっぽい。

個人的にておかったのは @fadis_ さんの LLVMで後からコンパイルするC++ ですかねー。
コンパイル時の型チェックをぶん投げて実行時型チェック+実行コード生成。
実行時にコンパイルするという謎の手法でした。
C++分からない+レイヤ低いの分かないので若干謎。
利点があるのかもしれないけれど型チェックぶん投げてるので何そのコンパイラ再実装ー、って感じでした。


懇親会ではぱいかじ。
懇親会で話を聞いてて思ったけれど kernel level のレイヤはそんなに触ってないので異文化っぽかったかなー、と。
Serial の話とかを当然のようにしたりするけれどあまり分からなかったりなので。
ボードとか触るぜー、みたいなことやってないなー。
何気に型の話が結構あって気になるんだけれど型なー、ってなったりした Kernel/VM でした。

2014/09/21

Slack + github + Travis CI で gem の開発環境を作ってみた話

noir って gem を作ってたりするのですが、テストは書いているけれど CI 回していなかったので Travis CI を導入してその通知を Slack で受け取る、みたいな環境にしてみた忘備録。


Slackの導入

Slack は開発用のチャットみたいなサービスらしいです。
各 room ごとにメンバーは招待制。
github や Travis CI といったサービスとの連携がデフォルトで結構できるようになってます。

まずは Slack からアカウントの作成。
company なんてものは無いので atton で作ってみる。
そうすると atton.slack.com とかでアクセスできるようになるみたいです。
そこから room の作成。 今回は noir にしてみました。
ちなみに公式のクライントが Mac, iOS, Android ともにあるみたいです。

github 通知の導入

room 名から Configure Integrations を押すと導入する一覧が出てくるので github を選択。 
github でサインインして通知する channel を選択。
通知用の notifications channel を作っておいたのでそこを選択。
すると push したりするとその channel に通知が流れてくるようになります。

Travis CI 通知の導入

また Configure Integrations を押して Travis CI を選択。
Travis CI の場合は .travis.yml に設定を書いてねー、と言われるのでそれに従う。
今回は notification channel に通知を送りたいので
$ bundle install travis
$ travis encrypt "company_name:token" --add notifications.slack
 を設定。そうするとテストの通知が流れてくるようになりました。便利。


Slack の notification 設定が細かくて結構便利なので暫く使ってみようかなー、ってしてます。
何気に Travis CI の設定ログとか書いてないのでそこもあとで書くかなー。