なんとこの季節に山陰直撃コース。帰れるかな。
東京の神殿に行きました。あやうく遅刻しそうだった。
田舎の人は、いつも車で移動するので距離だけで判断するのですが、 都会では駅まで歩いて、電車を待って、駅から目的地まで歩くという手順があるので 思ったより時間がかかるんですよね。
結局タクシーを使ってしまった。思わぬ出費。
結局出雲便は欠航しました。どうやって帰るかなあ。
結局、新幹線+特急で帰りました。1時間のフライトで済むところが7時間近くかかりました。 疲れた。台風なんて嫌いだ。
NIKKEIプラス1の何でもランキング。
東京のたべものは他の地方とは違うことがあるという話。 こういう話になること自体、東京中心主義のような気もしないでもない。
が、確かにうどんやそばのつゆが黒いのは閉口した。 大学ではうどん屋でも牛丼ばかり食べてたっけ。 自炊しようとしても薄口醤油が売ってなくてねえ。
が、私の実家では桜餅は道明寺ではないので、別にびっくりはしなかった。
「和菓子屋でいなりずしを売っている」のは知らなかったなあ。
リンク先の内容は変わってしまいそうなので、ランキングだけ保存しておく。
富士通がARIBの基準を満たして、ハイビジョンが扱えるPCを発売した、という話。
専用のボードを開発し、HDDの録画時、バス上のデータ、処理中のメモリにいたるまで保護を行い、 家電なみの著作権保護機能を実装とのこと。
まあ、ご苦労さまなことだし、努力のほどはわからないでもないが、 そこまでして客を悪者扱いしなければならない制度や基準は変だと思う。
別にハイビジョン映像が扱えなくてもいいから、 もっと自由にコンテンツを見たい・扱いたいという私の欲求は自然なものだと思うのだけど。
「デフォルトコピーワンス」の世界が遠くない今、 なにかもう一度考え直す必要があるのではないだろうか。
わたし自身も明日発表があるのだが、 これはLinux Conferenceで発表する後輩の練習につきあう。
だがしかし、技術的には間違ってない、嘘のない内容ではあるが、 全体のストーリーが弱く、小さな話が数珠つなぎになっているような構成なので、 聞いてて正直つらい。直前だが、全体構成から見直してスライドを並び替えるように提案する。
酷なことをしてしまったか。
Ruby 1.9ではしばらく前から、ローカル変数の後ろに引数を並べたものは、 そのオブジェクトに対する「call」の呼び出しとするというルールを試験的に導入していた。
しかし、いろいろ試してみると
が予想以上に多かった。というわけで、このアイディアを採用するのは止めようと思う。
思い付いたときには、いいアイディアだと思ったんだがなあ。
で、代わりにどうするかというと、ばくぜんと以下のいずれかを考えている。
2番目のものは、現状のclosureは[]を使ってcallの代わりをして、 なんとなく関数的に見える呼び出しかたを許しているが、 現状のRubyは[]の呼び出しにブロックを指定できないので、 完全互換ではない。ここを修正することで、関数呼び出しと同等にできるというアイディア。
試しに実装してみたら、「foo[1]{p 11}」のようなスタイルは簡単だが、 ブロック変数「&block」を許そうと思ったら、とたんにreduce/reduce conflictの山だった。 要するに「ary[&block]=5」のようなものをどうするかということなんだと思う。
3番目のものは実装してみたら簡単だった。あんまり、あっというまにできてしまったので 拍子抜けしてしまったくらい。ただし、
a=lambda{|x,&b|p 5; b.call} (a)(10){p 11}
のようなコードを許すのが本当によいことなのか自信はない。 っていうか、「(a)(10){p 11}」はあんまりだろう。 International Obfuscated Ruby Code Contest出場者は喜ぶかもしれないけど。
えーと、これはどこのファッション雑誌なんでしょう。
DHHカッコつけすぎ。あるいはカッコよすぎ。
ま、表紙についてはおいとくとしても、 Linux JournalでこのようにRubyが大々的に扱ってもらえるというのは Railsのおかげに違いない。 私にとってもありがたいことだが、 動的言語への世間の理解が進んだということでもあるので、 プログラミング言語の世界全体への貢献であるともいえないことはない。
正直なところ、脆弱性対応ってのは面倒なことが多い。
XSSみたいに比較的簡単なものはすぐに直せばそれで終わりだけれど、 DoS(Denial of Service)のようなものは、
などを考え出すと大変めんどくさい。 しかも、Rubyのようなプログラミングの下のレイヤーのツールへの脆弱性レポートってそんなのばっかりなんだよな。まあ、一番多いのは$SAFE=4によるサンドボックスに対するものだけど。 そのたびに「こんなの作るんじゃなかった」と思ってしまう。
で、JPCERT/CCの仕事に否定的というわけではないのだけど、 「発見してくれてありがとう」、「でも、面倒を増やしてくれて本音では嬉しくない」というのが、開発者としての偽らざる気持ちである。FSIJが協力することで、この辺の「開発者のジレンマ」をすくいあげてくれるようになったら、いいなあ。無理かなあ。
実引数リストに複数のsplat演算子を置く修正を実装。 NODE_ARGSCATをネストさせることでパーサーの修正のみで完了した。
というわけで、とうとう正式発表。 楽天からのプレスリリース。
FAQ。
転職ですか
いいえ、NaClと兼務になります。
東京勤務ですか
いいえ、松江在住のままです。 定期的(月一程度)face to faceのミーティングを行います。 あとはネットで。
楽天でなにするんですか?
えっと、「フェロー」です。それなにって言わないように。 私もよくわからないから(苦笑)。
まだ詳細は決まってないけど、基本的にRubyの活用、 技術発展に関するテーマの「研究」をすることになります。 結局、今までとあんまり変わらないような気もしないでもないですが、 それは今後明らかになると思います。
昨日のLinuxWorldのレポート。
私たちのセッションについても触れられている。
「毎日1つずつWebアプリケーションを作るようなことはまずないので、1日かかるか15分でできるかというのは、生産性の面からはあまり関係ないように思われるかもしれない。だが、開発者の仕事は作ってそれで終わりではない。15分で済めば残りの時間で既存アプリケーションのメンテナンスができるし、発注元からの仕様変更にも迅速に対応できるようになる」(まつもと氏)。
うーん、なんかニュアンスが違うな。「〜まずないので15分でできるというのはインパクトはあってもクリティカルではない。Railsの本当の便利さは機能拡張や変更の容易さにある」とかいうようなつもりだったんだけど。
なんでもできるけど、全部はとても覚えられない、CommonLispのLoopマクロについて。
もうちょっとなんとかならないものかと思わないでもない。
プリプロセッサを使ってRubyにもPythonスタイルの インデントによるブロックを、という話。
あれが好きな人は結構いるよね。個人的にはあまり好きじゃないんだけど。 弊害の方が多いような気がして。
4839919798
Code Readingに続くシリーズ二冊目。「今度は品質だ」
途中GreatCodeとかが入ったので、勘違いしている人もいるかもしれないけど、 厳密にはこれが二冊目だから。
ということで、Code Reading同様カバー裏のギミックも健在である。 私の主要な役割は前書き書き。これはこれで大変なのよ。
いやあ、Ruby開発者の日記だというのにまだRuby 1.8で動作していて、恥ずかしい状態だったこの「Matzにっき」だが、前田修吾さんのご尽力で Heroku に移行しました。バージョンも 2.6.2 へ。
これで恥ずかしくない。 最近は、主に Twitter か、Quora で書いてたけど、そろそろここも更新を再開するべきか。