2014-09-26(金) [長年日記]
■ Shellshock対策
Bashに発見されたいわゆる「Shellshock脆弱性」、昨日の朝から大騒ぎで、しばらくはセキュリティ界隈の主要な話題になりそうな気配でけっこうなことだけど(ぜんぜんけっこうじゃない)、今年はHeartbleedといい派手なのが多すぎて気の休まる暇がないよ。
運用しているサーバはすでに対策品が出ていたのでアップデートするだけだったけど、公開しているgemなんかが奥のほうでsystemとか呼んでいたら困る。というか自作のkindlegen gemが内部でsystemu gemを使ってkindlegenコマンドを実行してるんだよな。中を見てみたら、IO.popen使ってるので対応しておいた方が良さそう。
とりあえず不要な環境変数を削ることを考えるけど、systemu側ではどの環境変数を残せばいいのか判断つかないので、呼び出し元でなんとかしないといけないか……。ということで呼び出し前にENVをバックアップしてから空っぽにし、終わったら元にもどすという感じにしたけど、いいのかなぁ。もっとスマートなやり方がきっとあるとは思うけど。
追記 (2014-09-30)
なかださんにENVに生えてるメソッド群を教えてもらったので(ぜんぜん知らんかったよそんなの)、それを使うように変更。もっとも動作に変わりはないので、gemのアップデートはせず。そもそもsystemuを使うべきではないという話もあるので、それは追って。
さらに追記
Open3.capture3を使うと良いと教えてもらったので調べてみたら、systemuの機能をほぼそのまま内包していることがわかったのでこちらで置き換えることに。めでたしめでたし。
2014-09-20(土) [長年日記]
■ 「RubyKaigi 2014」に参加してきた(3日目)
昨日に引き続きRubyKaigi。今回(というか以前から)Rails関連のセッションは避ける方針なので朝イチのパネルはパスして、ホールBのマニアックな感じのセッションに潜入。
- RubyでファミコンROMをハックする話。特定の(日本語の)文字列をRelative Searchを使って探したりして面白かった。独自エンコーディングの文字列探しとか、CTFのネタになりそう
- そのあとSONYのデジカメにはWiFiでアクセスできるAPIを公開しているものがあるという話(参考→Supported devices|Sony Developer World)。RESTじゃなくてJSON-RPCなのねー、でも普通のHTTPなのでセキュリティ魂がピピッと反応するね。遊びたいので誰か買ってくれないかしらん
- 午後イチにもセキュリティ関連のセッションがあったので聴いていたら、最後までRuby関係ないまま終わった(笑)。でもDH鍵交換の説明に色を使うのはすごく良いアイデアだった。使う機会があったら真似しよう。あと外人さんだけど日本語はめっちゃ上手かった
- @yotii23のセッション、初心者向けなのに最前列にコミッターが勢揃いしてて気の毒な感じだった。まぁ@ko1の妻になった者の宿命よの……
- @m_sekiあいかわらず面白かった。仕様をよく調べずに作り始めるの、参考にしたい
- 最後の日本語セッションになった@ktouの話、Rubyの適用領域を網羅していて、これがキーノートでもいいんじゃないのという内容だった。他のセッションにもあったけど、mrubyをちゃんと組み込んで使ってる事例が増えていて焦る
- 最後のキーノート、あとの予定があって最後まで聴けなかったが、きちんとプロファイリングしながらコトを進めるのはプロフェッショナルですごいなぁと思ったものの、さすがにもう「rubyのバージョンあげるのつらい」みたいなネタは食傷気味なのだよなぁ
この翌日にはRubyHirobaもあって、実質的に通算4日間のRubyKaigiという感じだが、さすがにもう無理なのでこれにて退散。まいどまいど、刺激を受けるカンファレンスだ。来年も来れると良いなぁ。
■ 川崎 0-0 FC東京@等々力陸上競技場
RubyKaigiからその足で等々力へ。今日は多摩川クラシコだけど、さすがにハーフタイムにやっと間に合う感じだった。前半は互角という情報だったけど、後半はかなりこっちが押していて、そのままどっかで得点して逃げ切りそう……と思っていたけどやっぱり入らなかった。ゴール前で焦って枠を外しちゃうのはなんとかならんのかのー。
まぁ、看板蹴った大久保が出場停止だったりして、ドローでも御の字か。でも1位の浦和が勝っちゃったから、差は開く一方なんだよなぁ。今年こそ優勝しようぜ、ほんと。
2014-09-19(金) [長年日記]
■ 「RubyKaigi 2014」に参加してきた(2日目)
初日につづいて2日目。開発環境を昨日リリースされたruby 2.2.0-preview1にアップデートしてから出発。今日は最初にMatzのキーノートなのでちゃんと朝から。というか、船堀までたどりつかない列車があるとか、罠にもほどがあるぞ都営新宿線。
ここしばらくRubyの新機能に関するプレゼンをしてこなかったMatzが、ついに「3.0」の話を始めたということで、まぁ興奮しますわな。で、いくつかネタをあげた上でピックアップしたのが静的型。ネット上では見かけない日はないというくらいに定番の「静的 vs 動的」、個人的にはもううんざりで、それって結局は「人間ががんばって型情報を書く」vs「人間ががんばってテストを書く」というどっちも人間ががんばるモデルなのが気に食わない*1。せっかくコンピュータ使ってんだから機械にがんばらせろよ、と思うわけです。Matzの提案はまさにその方向なので、大賛成だ。まぁRubyの場合、最終的にがんばるのは機械じゃなくてRuby開発者なんだけど*2
今日は興味のあるセッションをつまみ食いしつつ、ロビーでおしゃべりしたり。あと、この会期中にtDiaryのプラグイン用ストレージを形にするという決心を持ってコードを書いたり。個人的にRubyKaigi中は半分くらいはコード書きの時間にしたいという野望がある。
以下メモ:
- 従来のコミッターたちが苦手な領域で最近活躍いちじるしい@hsbtのセッション、FOSSへのコントリビューションHOWTOみたいな感じで、癖のあるRubyに限らず有用なプレゼンだったと思う
- 「Sweaters as a Service」というタイトルを見て、ニット男子のはしくれとして聴かないわけにはいくまいと意気込んで臨んだら、フロッピードライブ付きの古いブラザーの編み機をネットにつなげる話だった。いや、たぶんこれは野望への第一歩なんだろうけど、最終的に手動になるのは笑った
- LT。@ongaeshiのofrubyはすごかったね。これ、4年前のLLTigerでおれが話した「家庭からPCがなくなるとプログラマが生まれなくなるかもよ」という警告に対するアンサーのひとつでもある。まぁ、よりによってそのプラットフォームがApple製品というのはちょっとジョークのようだけど
- LTは他にも面白い話がいっぱいあったはずなんだけど、@YaSuYuKiの最後のスライドがもちょだったせいで全部飛んじゃったので訴訟
*1 これに型推論が加わるとややこしくなる気がするけどそもそも型推論に言及できるほど知りませんすみません。
*2 Ruby利用者に比べて苦労する人数は格段に少ないので良しとするのがRubyの開発モデルだし(←ひどい)。
◆ sorah [写真の alt タグ今気付いた…(*゜0゜)]
◆ ただただし [くくく]