全体的に

Perl 以外の話が例年にも増してたいへん多かったように感じた。といってもやっぱり Perl を知ってること前提にして他の話題、というパターンが多いように感じた。リアルタイムで聞けなかったトークも結構多かったので録画の公開が楽しみ。

以下のほかにもいろいろ聞いたけど、特に印象深かったものについて

500 Can't connect to yapcasia.org:443 (certificate verify failed): Dockerとか vagrant とかちょっともはや人に聞けない感じになりつつあるけど、自分で試すモチベーションが今まで沸いてなくてさっぱり知らなかったので、発表で概要だけでも掴めたのがよかった。

500 Can't connect to yapcasia.org:443 (certificate verify failed): モルガンスタンレー社内の Wiki システム (TWiki) の話だったんだけど、社内システム自体が1都市につき2つのDC、そのセットが世界3箇所に冗長化されてるとからしくて、なんかすごかった。あと TWiki の集計マクロとかがやたら高機能で、なるほどな〜と思ったりした。

500 Can't connect to yapcasia.org:443 (certificate verify failed): コンパイル遅いのがかなり厳しい。sbt で差分コンパイルしても最高の依存元を最高に書き変えるとやっぱりフルビルドだぜって言ってた。コンパイル時間とか全く本質的ではないのに、依存元へのコード変更を入れるのを避けるモチベーションになるのは厳しい感じがする。

500 Can't connect to yapcasia.org:443 (certificate verify failed): 自分の発表と結構かぶりそうだなと思ってビクビクしつつ聞いたけど、マコピーさんはちゃんと体系的に電子工学学んだ人みたいで、仕事でも使っているようなので、ちょっと自分とはレベルが違いすぎるんだけど、そういう人でもハードウェアっぽい人とは出会いがないのか〜と思うところがあった。

LT の g0v.tw の話、かなり面白かった。日本でもできるのかな〜と考えてしまう。

自分の発表について

完全に Perl に関係ないし、普段の温度感から、みんなあんまりドライバとか物理層には興味がないのだと思っていて、発表もシーンとなるのを想像していたが、思ったより人がいっぱいきてくれたし、ウケが良かった。「やってみたくなった」という人が何人かいたので嬉しかった。

その後ちょくちょく質問があったけれど、仕事では一切物理層触っていないので、これは完全に趣味の話です。

僕は、回路設計や基板設計といえば、それ系の大学いって体系的に勉強した人しかできないものだ、という思いこみがあったのだけれど、プログラムを書くのと同じように独学でもそれなりに楽しんで理解しながら学習することができるということが、最近わかってきた。

とはいえ、とにかくこういうのは基礎が大事で、特に質の高いエネルギーを広範囲に扱う分野なので、うっかり事故を起こして火事とか起こさないようなベース知識がとにかく必要だし (ICは良く燃える)、設計はできないけど既存の組み立てるだけはやるみたいな電子工作おじさんになりたくないみたいな気持ちが大きくあって、そういう意味でも基礎が大事と感じる。

独学で体系的に電子工学を1からモチベーションを保ちながら学ぶ良い方法があったらいいけど、結構むずかしい。特にモチベーションを保つためには「適度な問題」の供給が必須だけど、普通の教科書ではそういった問題は載っていない。

アマチュア無線について

もうちょいアマチュア無線の話も聞きたかったみたいなことを一瞬聞いたけど完全に時間に入らないのと、YAPC の趣旨からすると離れすぎるので (話したいことはあるけど) 殆ど入れなかった。

アマチュア無線をはじめて良かったのは「適度な問題」がたくさんあって、「次はあれをやろう」というのが結構続きやすいとかがある。すぐ思いつくだけでも以下のようなものがそこそこの難易度かつ実用的に実装できる。

  • エレキー
  • オーディオピーキングフィルタ
  • USB インターフェイス

これは本来アマチュア無線をはじめるときに思っていた意図とは違うけど良かった。それと試験勉強のためにオームの法則から基礎をやりなおしたのも役に立っている。

この日記読みかえすとアマチュア無線周辺の問題意識から Chrome App でログツール作ったり、golang で SDR っぽいことしたりもしていて、今までやったことないことをはじめるきっかけとして多大に役に立ってる。

「勉強」できないエンジニアなので、適切な問題の供給がされないと学習が全くできない。これは基本的に非効率だけど、適切な問題さえあれば楽しいので無限に掘りさげて学習できる。きっかけを作るためのアマチュア無線というのは結構いいなと考えてる。

Raspberry Pi Model B+ (Plus) - Raspberry Pi

Raspberry Pi

3.0 / 5.0

第一級アマチュア無線技士試験問題集 (合格精選400題) - 吉川忠久

吉川忠久

3.0 / 5.0

基礎からよくわかる無線工学―第1級・第2級アマチュア無線技士国家試験準拠 - 吉川 忠久

吉川 忠久

3.0 / 5.0

  1. トップ
  2. tech
  3. YAPC::Asia Tokyo 2014 の感想

Slack 側の設定

チームアドミンの Gateways で Enable IRC gateway してもらう

Tiarra 側の設定

plain text を有効にしない場合 SSL のみになるので tiarra 側でも SSL の設定をする。Tiarra over SSL without stone に書かれている通りだけど、リリース版の tiarra はだいぶ古いっぽいので、最新のを svn でチェックアウトしてくる

$ svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra-head

IO::Socket::SSL を入れた perl を用意する (普通に開発してると入ってるけど、デフォルトでは入ってないっぽい)

/path/to/my/perl /path/to/tiarra-head/tiarra


で起動するように変える。

Tiarra の conf

networks に

name: xxxx-slack

を追加して設定を書く。設定は https://my.slack.com/account/gateway に書いてある。エンコーディング設定を忘れずに…

xxxx-slack {
    host: xxxx.irc.slack.com
    port: 6667 
    user: xxxx
    password: xxxxxxx
    in-encoding: utf8 
    out-encoding: utf8 

    ssl {
        version: sslv23
        ca-path: /etc/ssl/certs
    }    
}

ca-path は ubuntu の場合は上でいい (sudo apt-get install ca-certificates が必要)

まとめ

Tiarra は実行環境 (perl) アップデートしても Tiarra 自体をアップデートしても config 全く書きかえず使い続けられてやばい。10年以上普通に使ってる。

  1. トップ
  2. tech
  3. Slack に Tiarra から接続する (SSL)