«前の日(05-30) 最新 次の日(06-01)» 追記

Matzにっき


2003年05月31日

_ 台風

なんとこの季節に山陰直撃コース。帰れるかな。

_ [教会]神殿

東京の神殿に行きました。あやうく遅刻しそうだった。

田舎の人は、いつも車で移動するので距離だけで判断するのですが、 都会では駅まで歩いて、電車を待って、駅から目的地まで歩くという手順があるので 思ったより時間がかかるんですよね。

結局タクシーを使ってしまった。思わぬ出費。

_ 欠航

結局出雲便は欠航しました。どうやって帰るかなあ。

_ 帰宅

結局、新幹線+特急で帰りました。1時間のフライトで済むところが7時間近くかかりました。 疲れた。台風なんて嫌いだ。

_ 新幹線の中で見たイヤなもの

  • 指定券なしに「のぞみ」にのり、車掌から逃げ隠れするオジさん
  • 「上海→福岡」のラベルがはってあるスーツケースと、そのそばで咳をしている人(持ち主とは限らないけど)

2004年05月31日

_ 東京でびっくりした食べ物

NIKKEIプラス1の何でもランキング。

東京のたべものは他の地方とは違うことがあるという話。 こういう話になること自体、東京中心主義のような気もしないでもない。

が、確かにうどんやそばのつゆが黒いのは閉口した。 大学ではうどん屋でも牛丼ばかり食べてたっけ。 自炊しようとしても薄口醤油が売ってなくてねえ。

が、私の実家では桜餅は道明寺ではないので、別にびっくりはしなかった。

「和菓子屋でいなりずしを売っている」のは知らなかったなあ。

リンク先の内容は変わってしまいそうなので、ランキングだけ保存しておく。

  1. そばのおつゆが黒い
  2. もんじゃ焼きを初めて見た
  3. ちくわぶを初めて見た
  4. 濡れせんべいがあった
  5. うどんがシコシコしてなくてやわらかい
  6. すじが牛筋でなく練り物だった
  7. 桜もちのご飯粒がつぶつぶしていない
  8. 肉じゃがの肉が牛でなく豚だった
  9. 青ネギがなく白ネギばかり
  10. 和菓子屋でいなりずしを売っている

2005年05月31日

_ 「セキュアLSI」などで著作権保護技術を搭載し、ハイビジョンがようやくパソコンで実現

富士通がARIBの基準を満たして、ハイビジョンが扱えるPCを発売した、という話。

PC Watchによる開発談

専用のボードを開発し、HDDの録画時、バス上のデータ、処理中のメモリにいたるまで保護を行い、 家電なみの著作権保護機能を実装とのこと。

まあ、ご苦労さまなことだし、努力のほどはわからないでもないが、 そこまでして客を悪者扱いしなければならない制度や基準は変だと思う。

別にハイビジョン映像が扱えなくてもいいから、 もっと自由にコンテンツを見たい・扱いたいという私の欲求は自然なものだと思うのだけど。

「デフォルトコピーワンス」の世界が遠くない今、 なにかもう一度考え直す必要があるのではないだろうか。

_ プレゼン練習

わたし自身も明日発表があるのだが、 これはLinux Conferenceで発表する後輩の練習につきあう。

だがしかし、技術的には間違ってない、嘘のない内容ではあるが、 全体のストーリーが弱く、小さな話が数珠つなぎになっているような構成なので、 聞いてて正直つらい。直前だが、全体構成から見直してスライドを並び替えるように提案する。

酷なことをしてしまったか。

_ [Ruby]暗黙のcall

Ruby 1.9ではしばらく前から、ローカル変数の後ろに引数を並べたものは、 そのオブジェクトに対する「call」の呼び出しとするというルールを試験的に導入していた。

しかし、いろいろ試してみると

  • ローカル変数と同名のメソッドを呼び出す例
  • ローカル変数だけでは満足しない(任意の式に対してimplicit callしたい)人

が予想以上に多かった。というわけで、このアイディアを採用するのは止めようと思う。

思い付いたときには、いいアイディアだと思ったんだがなあ。

で、代わりにどうするかというと、ばくぜんと以下のいずれかを考えている。

  1. なにも新たには追加しない。
  2. 「foo[]」の呼び出しにブロックが指定できるようにする
  3. 「(expr)(args...)」でimplicit 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出場者は喜ぶかもしれないけど。


2006年05月31日

_ Linux Journal Contents #147, July 2006

えーと、これはどこのファッション雑誌なんでしょう。

DHHカッコつけすぎ。あるいはカッコよすぎ。

ま、表紙についてはおいとくとしても、 Linux JournalでこのようにRubyが大々的に扱ってもらえるというのは Railsのおかげに違いない。 私にとってもありがたいことだが、 動的言語への世間の理解が進んだということでもあるので、 プログラミング言語の世界全体への貢献であるともいえないことはない。

_ [OSS] オープンソース/フリーソフトの脆弱性対策でJPCERT/CCとFSIJが協力

正直なところ、脆弱性対応ってのは面倒なことが多い。

XSSみたいに比較的簡単なものはすぐに直せばそれで終わりだけれど、 DoS(Denial of Service)のようなものは、

  • これは本当に対応すべきか
  • この対応は正しいのか
  • この対応によって同種の問題は防止できるのか

などを考え出すと大変めんどくさい。 しかも、Rubyのようなプログラミングの下のレイヤーのツールへの脆弱性レポートってそんなのばっかりなんだよな。まあ、一番多いのは$SAFE=4によるサンドボックスに対するものだけど。 そのたびに「こんなの作るんじゃなかった」と思ってしまう。

で、JPCERT/CCの仕事に否定的というわけではないのだけど、 「発見してくれてありがとう」、「でも、面倒を増やしてくれて本音では嬉しくない」というのが、開発者としての偽らざる気持ちである。FSIJが協力することで、この辺の「開発者のジレンマ」をすくいあげてくれるようになったら、いいなあ。無理かなあ。

_ [Ruby] 1.9 argument passing

実引数リストに複数のsplat演算子を置く修正を実装。 NODE_ARGSCATをネストさせることでパーサーの修正のみで完了した。


2007年05月31日

_ [Ruby] まつもとゆきひろ氏が楽天技術研究所のフェローに就任,楽天はRubyの活用を拡大へ:ITpro

というわけで、とうとう正式発表。 楽天からのプレスリリース

FAQ。

  • 転職ですか

    いいえ、NaClと兼務になります。

  • 東京勤務ですか

    いいえ、松江在住のままです。 定期的(月一程度)face to faceのミーティングを行います。 あとはネットで。

  • 楽天でなにするんですか?

    えっと、「フェロー」です。それなにって言わないように。 私もよくわからないから(苦笑)。

    まだ詳細は決まってないけど、基本的にRubyの活用、 技術発展に関するテーマの「研究」をすることになります。 結局、今までとあんまり変わらないような気もしないでもないですが、 それは今後明らかになると思います。

_ [Ruby] Open Tech Press | イベントリポート:LinuxWorld2007——初日の講演から

昨日のLinuxWorldのレポート。

私たちのセッションについても触れられている。

「毎日1つずつWebアプリケーションを作るようなことはまずないので、1日かかるか15分でできるかというのは、生産性の面からはあまり関係ないように思われるかもしれない。だが、開発者の仕事は作ってそれで終わりではない。15分で済めば残りの時間で既存アプリケーションのメンテナンスができるし、発注元からの仕様変更にも迅速に対応できるようになる」(まつもと氏)。

うーん、なんかニュアンスが違うな。「〜まずないので15分でできるというのはインパクトはあってもクリティカルではない。Railsの本当の便利さは機能拡張や変更の容易さにある」とかいうようなつもりだったんだけど。

_ [言語] 微酔半壊: Common Lisp: loopマクロ用法抄

なんでもできるけど、全部はとても覚えられない、CommonLispのLoopマクロについて。

もうちょっとなんとかならないものかと思わないでもない。

_ [Ruby] 360 Degree DB Programming: Groovy, Ruby, PHP, Python: the revival of scripting languages

プリプロセッサを使ってRubyにもPythonスタイルの インデントによるブロックを、という話。

あれが好きな人は結構いるよね。個人的にはあまり好きじゃないんだけど。 弊害の方が多いような気がして。

_ 4839919798

4839919798

Code Readingに続くシリーズ二冊目。「今度は品質だ」

途中GreatCodeとかが入ったので、勘違いしている人もいるかもしれないけど、 厳密にはこれが二冊目だから。

ということで、Code Reading同様カバー裏のギミックも健在である。 私の主要な役割は前書き書き。これはこれで大変なのよ。


2019年05月31日 Matzにっき、Herokuへ移行

いやあ、Ruby開発者の日記だというのにまだRuby 1.8で動作していて、恥ずかしい状態だったこの「Matzにっき」だが、前田修吾さんのご尽力で Heroku に移行しました。バージョンも 2.6.2 へ。

これで恥ずかしくない。 最近は、主に Twitter か、Quora で書いてたけど、そろそろここも更新を再開するべきか。


«前の日(05-30) 最新 次の日(06-01)» 追記