2014-07-01: Asakusa.rb #267, 今期のアニメ予定

Asakusa.rb #267 だった。RedDotRubyConf の話とかをきいた。

RedDot Ruby Conf 2014 - Dark side of ruby のスライド を見ながら、せやなーと思いながらみんなで 78p の ==,eql?,equal? の違いに苦しんだ。

どっちかが hash と関係しているという事だけ覚えてた。後、2.0 からは Flonum が入ったので 64-bit だと挙動ちがったりするんだよね。

2014 夏期アニメの予定

https://gist.github.com/sorah/3b55901c449fd6268ccc

まともに期待してるの、SAO2, P4GA, 花物語で、あとはちょっと期待してるのがアカメが斬る!、あたり。

Published at 2014-07-01 23:00:00 +0900

2014-06-27: 天下一 InfluxDB 勉強会, gondler

天下一InfluxDB勉強会 に行ってきた。

古いデータ間引いてくれないと不便な事もあると思うんだけどなあ。もうちょっと見守っていきたい。あとLevelDB ぜんぜんしらなかったけど面白そうなかんじだった。

gondler

ec2nm では go get でもインストールできるけど一応 gondler も使えるようにしている。

ただ、gondler 環境下だと同じリポジトリのパッケージを相対パスでしかビルドできなくてなんでだろうと思ってた。まあそれもそのはずで、gondler がつける $GOPATH の下に自分自身がいないからなんだよね。かといって gom "github.com/sorah/ec2nm/ec2nm" をすると今度はただ別途 clone されるだけという…

というわけで #6 というパッチを書いて、既存の GOPATH の中にあったら推察しててきとうに gondler の GOPATH 内に symlink を貼るような挙動に変えた。ついでに gom メソッドが path option に対応したりしてます。

ISUCON 4

優勝賞金100万円!今年もやります 第4回 ISUCON 開催と日程のお知らせ #isucon : ISUCON公式Blog

問題作成を担当する事になりました。既に大御所から「楽しみにしてますよ…」みたいな事を言われて怯えていますが、楽しめる問題を作成するために頑張っています。

アニメ

  • ノーゲーム・ノーライフ: 打ち切りエンドっぽいけど致し方ない。
  • 極黒のブリュンヒルデ: 新 OP なんなの。

キャストの声が判別できてしまうと楽しめなくなってくるのでアニメつらい。花澤香菜さんの分かりやすさは置いといて、ブリュンヒルデの小鳥とかころあずだし、一週間フレンズ。の藤宮さんもまあ聞いてれば天ちゃんだ〜ってなるし、もうだめかもしれない。

Published at 2014-06-27 23:00:00 +0900

2014-06-26: 喉の痛み, sorah/ec2nm

喉が痛いのちょっと待てばなおるやろと気にしてなかったんだけど、起きたら QoL が悪化する程度まで酷くなってたので午前中やすんで病院いった。こうして有給は消えていく

もらった薬のんだら、抑えてるだけで治ってるわけじゃないんだけど、痛みはやわらいだので西洋医学すごい! って思ってた。

ec2nm

https://github.com/sorah/ec2nm

Go の習作で EC2 の DescribeInstances 叩いて Name タグを元にレコードをつくって、EC2 インスタンスの private IP を返せる DNS サーバを書いてみた。便利。

recruit

SIer出身歓迎!基盤を開発したいアーキテクトウォンテッド! - クックパッド株式会社の求人 - Wantedly

個別に声かけてもらっても対応できるとおもいます。

Published at 2014-06-26 23:00:00 +0900

2014-06-18: Ruby 開発者会議, Shibuya.rb

(週末に思い出しながら書いてます)

Ruby 開発者会議だった。今回の主な議論はとりあえず minitest 4 wrapper であるところの test/unit を消したけど、test-unit.gem 2 をバンドルしたいよね、というところですとうさんを読んでいろいろ喋っていた。

今回は minitest 5 とかこれまでの bundle library と違って、こっちからお誘いをかけているので話がやや難しいのである。

https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140618Japan

議事録、英語でやっぱり欲しいという需要はあるようなんだけど、最初から誰かが英語でかきはじめたので話聞きながら英語をつらつら書いてた。英語の読み書きしてるとそっちに集中しちゃってときどき話聞きこぼしてた。つらい。

また、Ruby のリポジトリはコミットしないけどパッケージには gem ファイルとして含める bundle gem (仮称) の扱いについてもいろいろと。

合わせて読みたい: Ruby 開発者会議6月に参加してきた - HsbtDiary(2014-06-18)

shibuya.rb

開発者会議でヒカリエ入場するときちょっと遅れてしまったので、Shibuya.rb の受付でお世話になったのだけど、その関係上ちょっと Shibuya.rb に顔を出した。

switch_point についてがやがやと話してる D 社の軍団がいていろいろ問い詰められて答えたりしてた。

またネガティブな話になるけど、写真とったらすごい顔しながら近付いてきて「携帯見せろ、写真消せ」と言ってくる人間がいまして、結構悪印象だった。後から確認したところ会場ホスト DeNA の人間ではないし、Shibuya.rb 自体は写真問題ないとのこと。ただ写真やめてくれませんかって言うだけなのにねぇ。

Published at 2014-06-18 23:00:00 +0900

2014-06-17: 映画勉強会: サマーウォーズ, unite-ghq

2 ヶ月ぶりに映画勉強会に参加 (社内有志の集まり)。サマーウォーズ久々にみた。途中で DVD がダメっぽくて DVD Player.app が「破損している部分をスキップ中」みたいな事をしばしば言ってきたので途中で iTunes rent に切り替えた。便利。

久々に、というか HD 画質ではじめて見て気付いたんだけど、1h33m45s から 5 秒くらい raise(DRbConnError, "#{uri} = #{$!.inspect}") の行が見えた。 (DRbProtocol#.open)

druby 、ビビッドレッドオペレーションでも出演していたはずだし、定番なのかなー。 後は突っ込み所満載だけどまあまあ。いやー人間が解読できるのは最高のセキュリティだなー。

iOS Developer Program

諸事情で新規アカウントとりなおした。土曜深夜に払って、今日の昼くらいに activate されていた。 前のアカウントから iTunes Connect で transfer app して、device の uuid 登録しなおして、証明書も取得しておいて一旦放置。

ESXi 5.5

そういえば Realtek サポートしてませんでしたね。完全に無念。

unite-ghq

https://github.com/sorah/unite-ghq を作った。 ghq list ひっぱってきて unite で絞り込めるようにして、enter で :lcd できます。便利。シェルでは percol 使って同じようにしているし。

Published at 2014-06-17 23:00:00 +0900

2014-06-14: #kosenconf 6 周年記念パーティ, Apple Store Omotesando, ghq, ...

P6142292.jpg

高専カンファレンス 6 周年記念パーティ @ pixiv に行ってきた。
写真: https://www.flickr.com/photos/sora_h/sets/72157644773723399/

めでたい。去年も今頃パーティやってた気がする。あと、遅刻しました。

全体的にまあ交流しにいったようなもんだから問題なかったし、いつもの人達とワイワイできて楽しかった。

で、 ネガティブな話をすると 、途中あきらかに営業活動っぽいのがあって、個人的には微妙な心境だった。へー、はー。みたいな。どこまで企業の営業活動とか、身内のリクルーティングを許すかって難しいけど、あきらかになんかよくわからん営業活動されても正直へーって感じ。

「ついで」のリクルーティングくらいなら行きすぎなければいいと思うよ。でもまあ、営業活動でただ映像みるみたいなのに時間割くかねぇ。みんな本当におもしろかったの? あれ。彼らスポンサリングしてないよね? いやまあ、それ言いだすとじゃあ業務で作ったの一切紹介できねーじゃねーか、ってなるんだろうけど、ふだんあんま親しみない人がやってきて映像みせたりすんのは、なんか微妙な感じ。むずかしいね。

なんかもやもやしてるけど、所詮モヤモヤなので運営サイドに直接口頭でぶつけるのもあれなので、ここにメモっておいた。

帰宅時

夜、Apple Store Omotesando に寄れそうだったので寄ってみた。広いなー、という感じ。あとは普通の Apple Store。Genius Bar とかのスペースも広いから、今度からは表参道で予約とろうかなあ。

その後の帰宅途中にハートビーツの藤崎さんに遭遇した。(声かけ事案…) 最初顔と名前が一致できず挙動不審になってしまった。こんな事もあるんだなあ。

代々木・新宿くらいからなら歩いて帰れる。最近はあちこちローソン寄って帰る事が多い。雪歩のラバストを手に入れたので概ね満足した。

ghq

https://github.com/motemen/ghq

Go では $GOROOT/src/github.com/user/repo みたいな感じのディレクトリ構造と定まっているんだけど、これを普通に生活する上でも使ってしまえばいいんじゃないかみたいなそういう感じの go で書かれたツール。 詳細は ghqを使ったローカルリポジトリの統一的・効率的な管理について - delirious thoughts を見るとよいと思う。

まあ今迄 ~/git/:lang/:name (~/git/ruby/rails とか) に置いてたのだけど、これはこれで微妙なところもあって (ruby 本体は ~/git/c/ruby ? いやいや、うーん)、まあ適当に運用してた。でもまあユーザー名とかで区切っちゃうのも悪くないし golang とかと親和性高いよね〜 ってなって移行。

移行時は hsbt さんの日記 にあったスクリプトをベースに、↑ のディレクトリ構成に対応させたものをつかった https://github.com/sorah/config/blob/master/script/ghq-migration.rb

あとはディレクトリが深くなるので percol で絞りこんだりするシェル関数を書いたり zshrc gcd()

$ gcd ruby/ruby #=> cd ~/git/ruby/ruby or ~/git/github.com/ruby/ruby
$ gcd #=> launch percol then chdir to selection

percol、便利ですね。AWS のインスタンス絞り込んで ssh + csshX も金曜とかから導入したけど、捗る。

talk 力

http://zachholman.com/talk/the-talk-on-talks/

@holman 氏のプレゼン力、トーク力はすごいと思ってて憧れている。 The talk on talks には彼の経験から語られている tips なんだけど、スライドよりもこれ自体の video を見るといいかも。

(最初見たときは video なかったけど、追加されてたので見た)

トーク下手なので speaking.io、通読しておこうと思う…。

@RooandQoo gif

raq.gif

めでたい。

Published at 2014-06-14 23:00:00 +0900

2014-06-13: ろくがつじゅうさんにち

金曜日だ。

str_dn_2030.gem

ソニー マルチチャンネルインテグレートアンプ STR-DN2030
ソニー (2012-10-25)
売り上げランキング: 1,260

家では STR-DN2030 をつかってる (日記: 2013年買ってよかった物) のだけど、いい加減 ES Remote という公式リモコンアプリがしんどいなーと思ってた。

まあちょっと解析すればわかるのでは、とサボってたのだけど、少し Wireshark でパケットを食べてみたら普通に解析できたので gem にした: https://github.com/sorah/str_dn_2030

副産物で hubot script ができて便利。実際には毎朝何時になったら Apple TV の volume いくつに戻したいとか、そういう需要のためだけど… (目覚まし)

他の ES Remote 使えるソニーのアンプ使えるんじゃないかなぁ、って思っているけど、動作確認事例お待ちしています。音量周り、dB がパラメータになってるのはダメかもしれない。

自己責任でどうぞ。

sorah> hubot amp
hubot> Apple TV is selected at volume 30

sorah> hubot amp volume 25
hubot> Volumed to 25.

sorah> hubot select chrome
hubot> Tuned to Chrome.

sorah> hubot mute amp
hubot> Muted.

解析の形跡はこちら。 https://gist.github.com/sorah/8161dc9ee36ea30bbae8

Wireshark で iPhone のパケットを食べる

iOS 5 から Remote Virtual Interface (rvi) が使える のでそれを使います。

Wireshark: User DLTs table edit

Wireshark でこうしておいて後はいじるだけ。

s3_proxy.gem

そういえば S3 の認証周りを任せてプロキシできる Rack アプリ s3_proxy ってのを作って release しました https://github.com/sorah/s3_proxy

puma あたりでホスティングして、nginx + nginx proxy cache を有効にして使うと良い感じだと思います。GET しかできない。conditional GET は対応してる。

Published at 2014-06-13 23:00:00 +0900

2014-06-12: ろくがつじゅうににち

hubot デプロイして油断してたら、よくわからない内に記憶を落としてた。

みなさまにおかれましては、 redis-cli --raw get hubot:storage > /tmp/backup-$(date +%s).json とかをデプロイ時・定期的に実行することをおすすめします。

後、hubot で hubot deploy できるようにすると、hubot が壊れた時にロールバックできなくなって詰むので、気をつけた方がいいという知見も別件で得た。ruboty から hubot デプロイできるようにするとよさそう。

たぶんプラグインの読み込み順序がかわって、brain の読み込みがおそくなってスクリプトのバグを踏み抜いたとかそういうのだと思う。復旧は、まだhubotがいろいろ使われるようになって少ししかたっていなかったので、チャットログを人間が追って、同じ内容を保存しなおすという復旧をした。

hipchat はオペレーションログだし、これが chatops ですよ、chatops!

Published at 2014-06-12 23:00:00 +0900

2014-06-05: セキュリティ、環境変数、そして

5/20 頃に 公開した envchain というツールの紹介記事を、会社の技術ブログに書いた。

OS X キーチェーンから環境変数をセットするツールを作りました - クックパッド開発者ブログ

投下時間の関係もあると思うけど、思いの他結構拡散してびっくりした。まあ、それは置いておいて、本題。

ごもっともだと思います。

実際のところ、わたしはなんか「環境変数やめろ bot かよ」と言われるレベルであまり環境変数に機密情報を入れる事を好んでないです。

なのにこのツールをつくってしまった訳だけど… というわけで、kazuho さんとかには断片的にいろいろリプライしたけど自分の見解を個人の日記で述べておきます。

... Continue Reading...
Published at 2014-06-05 01:53:36 +0900

2014-05-25: ごがつにじゅういつか #kernelvm

第十回 カーネル/VM探検隊 に行ってきた。例によって濃い。ワタシハリナックスチョットデキル人がいっぱいいた。

  • ためしてみよう! io-drive とか書いて io-drive が thunderbolt のシャーシに刺さってたのもだいぶ異様な光景
  • 艦これ API はなんで JSON 選んだの? XML とか application/x-www-form-urlencoded とか Flash で扱いやすいフォーマットにしないのはなんで?
    • 今は native decoder あるからいいけど、普通 XML 選ぶだろ
  • PHP「結局、Unicode を使うプログラムをきちんと書くには、 うまく動かない関数の使わないよう注意するしかないということです。 (略) しかし、Unicode をまともに扱える関数を使うというのは 単なる始まりに過ぎません 。」 http://scrap.sorah.jp/post/86780706732/unicode
  • twitter クライアント立ち上げっぱなしで fav 通知で画面が埋まってもクライアントを終了する発想がないのとてもいい。
  • 懇親会はあきらかに店のキャパオーバー (80人+) で、料理は大量に出てくるが GC, consumer が間に合ってなくてつらかった
    • 料理の品質に文句はありませんでした。
    • 目の前に座ってたのが @hasegaw さん, @kfujieda さん, @kosaki55tea と落ち着いて考えたらおそろしい面子だった。
  • Intel 純正品の安心さが消えた。NUC ほしいけど…
    • NUC じゃなくていいから Core i5 くらいのスペックで仮想化支援が乗ったマシンが欲しい。手元にある Linux は VPS か Windows の VMware で稼動してるやつ or MicroServer の低スペックしかなくて地味に不便。
Published at 2014-05-25 23:00:00 +0900

2014-05-24: ごがつにじゅうよっか: Rails 寺子屋 #terakoya

http://rails.terakoya.io/ をまたやってきました。

ライブコーディングをまたやったのだけれど、次は他の人にバトンを渡したい。 あと今回は事前にネタを決めてたとはいえ、解説しながら実装するのは無理なので、しっかり実況できる人 2 つ用意して望みたいところ。

ライブコーディング以外だと、わたしは Rails できないので、はしっこでぼけーっと周囲を見渡したりしてました。 ワタシハRubyチョットデキル!

それともう一つ思うのはもくもくしてる人達から質問があがらない事だよなぁ。コードとか見てあげたい気持ちはあるんだけど。どうするのがいいんだろう?

あ、で、で、だれかライブコーディング次回やりませんか? 実況ならやるので。

Published at 2014-05-24 23:00:00 +0900

2014-05-20: ごがつはつか: Asakusa.rb #261

Asakusa.rb #261 だった。レアキャラゲストがきていたので例によって途中で移動が発生したのだけど、予算の関係で早期に撤退しました。

envchain というのをつくったはなし

https://github.com/sorah/envchain を作って公開しました。

export AWS_SECRET_ACCESS_KEY とかしてカジュアルに普通のシェル環境につねに credential とか token の類をつっこんでおくと、意図せずそのトークンが使われて事故ったり、悪意のあるコードとかで流出したら怖いよね (特に前者) ということで昔から専用の env コマンドの alias をつかって必要なコマンドにだけ AWS トークンな環境変数をセットしていた。

という事をいってたら「それみんなもそうした方がいいかもねー、あーほら OS X keychain とか」みたいな事を言われたので実装してしまった。

$ envchain --set aws-sorah AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
aws-sorah.AWS_ACCESS_KEY_ID: foo
aws-sorah.AWS_SECRET_ACCESS_KEY: bar
$ env | grep AWS_ || echo 'there is no aws env'
there is no aws env
$ envchain aws-sorah env | grep AWS_
AWS_ACCESS_KEY_ID=foo

自分にとっても気軽に同様のコマンド増やせるし、plain text で保存しなくてすむし、複数の credential 切り替えとかも楽だし便利になった。

どうぞご利用ください。

Published at 2014-05-20 23:00:00 +0900