2008-04-03
■絶版のYA文庫は入手しにくい
なぜかという"卒業"してしまうので、実家に置きっぱなしになったりして、新古書店や古書店の流通にも乗らずに破棄されることが多いから。
ということで、
にはがんばっていただきたい。
などと口で言っているだけではいけないので、ちゃんと購読者になることにしようと思う。
■間違った手法で失敗すると、正しい手法で失敗することを怖れるようになる
といういい見本かも。
非正規形のDBを使っている技術者はJOINが遅くなることを体験しており、「正規化するともっと遅くなる」と誤解している。
DOA+コンソーシアム(ディー・オー・エー・プラス コンソーシアム)
なんとなく説得力がある。
「正規化するとJOINが多くなるから遅くなるんじゃない?」って考えがちなようだという観察があって、その根拠が「非正規形のDBを使っていてJOINが遅いことを体験しているから」ではないかという仮説を立てた。
でもその仮説が偽ならば、つまり「JOINが遅いのは非正規形のDBだからだ」が真だと言えるなら、「正規化するとJOINが多くなるから遅くなる」の根拠にはならなくなる。
それを実証してみました、と。
(なんとなく関係がありそうなこと
p118
人の脳はストレスを感じると、すでに知っている方法によってそこから逃れようとする、という話をしました。うまくいかないことが起こると、同じ個とを、"より一生懸命"繰り返す。それで解決することもあるでしょうが、まったく違うアプローチが必要なことも少なくない。
p64
仕事でも生活でも、私たちはみな、失敗するのではないかとか、うまくできないのではないかと思っていると、無意識に新しいものや良いものを遠ざけてしまう。
2008-04-02
■Rubyスクリプティングテクニック テスト駆動による日常業務処理術
結構楽しめた。存外に良書だ。借りて読んだのだけど、自分でも買おうか迷っていたりする(家に置いておくために)。
基本は、「ソフトウェア開発プロジェクトに参加していて、日々手作業による雑用におわれている人」を対象にしているので、「プログラミングなんて初めての人」ぱある程度切り捨ててしまっていると言っていい。
「いまさら"Hello World"から始まる本なんて読みたくない」けど、「他の言語を使っているけど Ruby も気になる人」や「なんとなくスクリプトを書いているけど Ruby についてもっと深く理解したい」人にはよいかと。
第1章はインストールや環境の話なので置いておくとして、
第2章 はじめてのスクリプト : ファイルインベントリを比較する
第3章 Rubyの事実 : 配列
で始まる。ちなみに"Rubyの事実"とついた章は要するにリファレンス。他に"等価テスト、そしてUnless","ブール値","正規表現","クラス(シンボルについて)", "ハッシュ","引数リスト","モジュール" などの章がある。
これらも意外に秀逸。
例えばモジュールの章、
19.1 入れ子のモジュール
19.2 モジュールをインクルードする
19.2.1 名前の衝突
19.2.2 入れ子とインクルードは異なる
19.3 クラスはモジュール
である。19.1 の前にリード文があって"普通の説明"はここに収められている。そこで終わらないのがこの本のいいところ。
目次を引用しておく
1章 さあ、Rubyをはじめよう
I部 基本
2章 はじめてのスクリプト : ファイルインベントリを比較する
3章 Rubyの事実 : 配列
4章 3つの改良と1つのバグ修正
5章 Rubyの事実 : 等価テスト、そしてUnless
II部 スクリプトを拡張する
6章 チャーン (churn) : 落ち着いてプロジェクトを記述する
7章 Rubyの事実 : ブール値
8章 我がよき友、正規表現
9章 Rubyの事実 : 正規表現
10章 クラスのデータとメソッド
11章 クラス(シンボルについて)
III部 Webの世界に飛び込む
12章 正規表現によるWebページのスクレーピング
13章 Webアプリケーションとの別の形での連携
14章 カンマ区切り値を利用する
15章 Rubyの事実 : ハッシュ
16章 Rubyの事実 : 引数リスト
17章 ヘルパースクリプトとアプリケーションをダウンロードする
18章 スクリプトの仕上げ
19章 Rubyの事実 : モジュール
20章 スクリプトの実行中に問題に遭遇したら
IV部 完ぺきなスクリプタを目指して
21章 フレームワーク : ブランクを埋めてスクリプトを記述する
22章 発見は作成より安全である
23章 最終的な考察
V部 付録
(略)
■申請があってから許可するんじゃなくて、まず許可してしまえ(ついでに"無断リンク禁止"なんてやめちゃえば?)
Forgiveness も Permission も辞書を見ちゃうとあまり違いがなくて、でもニュアンスは違うはずだし、と気にかかっていてずっとInstapaperに入ったままだったこの記事。
Twitter を使い始めて、ようやく意味が判った(ような気がした)。
Enterprise 2.0 Executive Forum | Blog | Forgiveness, not Permission
Tweitter で誰かを forrow するのは簡単。
相手の設定がそうなっていればボタン一つでOK。
でも、そうすると相手に通知がいく。相手がこちらを見て「何だこいつ?」と思ったら、相手は block することができる。
相手に許可を与える時に、まず申請をもらってそれに対してOKを出す。それが従来のやり方だった、と。相手は申請してから許可がおりるまで待たされることになる。
そうではなく、まず許可を与える。誰に対しても。誰かが申し出てきたら判るようにしておく。許可を与えたくなければ、拒否する。その方がずっとよい。
というような考え方を説明しているらしい。
金を払うまで使えないパッケージソフトよりも、一定期間使える試用版の方がいいよ、というメタファを持ち出すと当たり前の話なんだけど。
でも、ここではコミュニティとかコラボレーションとか、人と人との繋がりをどのように形成するか? という文脈で読むべきか。
Twitter で誰かが自分を forrow したよ、というメッセージが来る。
ちょっと見に行って、いかにも無差別的な forrow でなければそのままにしておいちゃえ、って思うもの。
もちろん誰もがそう思うわけではないだろう。最初にまずプロテクトしてしまう人はいる。
知らない人からforrowされるなんて気持ち悪い、という人は間違いなくいる。
それは"無断リンク禁止"の件をとってみれば分かることだけど。
でも"これからのネットワーク"は、そういう形には進んでいないんだな、と。
2008-04-01
■ぽわそん・だぶりる
今日の日記に書かれたことはすべて嘘であるか間違いである。
■怪獣ソフビ大全
"あえてカタログ形式ではなく"ってあたりが気になる。
(BK1内容説明より)
ウルトラQからウルトラマンレオまでのウルトラシリーズと、同時期のゴジラシリーズの希少怪獣ソフビを一挙614体収録。単なるカタログ形式ではなく、「美しい怪獣の本」をコンセプトに美麗な写真を掲載。
■tDiary2.2.x 問題なさそう
正確には「問題ない」のは tDiary2.2.x ではなくて、私が自分で変更したソースの部分なのだけど。
結局、Subversion を使って、
- tDiay2.1.3 をこのサイトが使っている plugin に合わせて配置
- ブランチ
- 一方を 2.2.1 に、一方のこのサイトのソースで上書きしてコミット
- 2.2.1 の系に私の変更分をマージ(捨てた部分も多いけど)
という手順を踏んでやっとまともに動く様になったという。
自分で書いたソースはちゃんとリビジョン管理できるシステムに入れておかないとなぁ、と改めて思った。
あと、"リビジョン管理する"ことを考えてソース書かないとね。
(追記)
自分の Feed を Google Reader で見てみるとタイトルが、".."が付いてしまって途中までしかでていない。
タイトル部分を途中で切り取らないで全文出すように変更していたんだったかなぁ。
2.1.x で自分が手を入れた部分が捕捉不可能というエンジニアにあるまじき失態。
おかけで 2.2.x への更新がこんなに遅れたわけだし。
あと、自分の Feed は自分のリーダで確認することはわりと大切。
■"Availability" UI
なるほど! という UI をいくつか紹介している。
[Screens Around Town] TripIt, Theocacao, Gmail, and a look at "Availability" UI - (37signals)
以下気になったものを項目箇条書きとかなり怪しい訳を付けておく
■創造的「図解」の技術
Amazonのカスタマレビューでは惨憺たる評価。
いわれのない中傷ではないと思う。
図解について「文」で説明しようとすれば、無理がでるのも道理。
章立ても良くないし、なぜここにこの図が挿入されているのか、という唐突な例示が多すぎる(説明がない)。
でも読む価値がないとまでは思わなかった。
「説明文」はざっと読み流して雰囲気だけ感じ取って、あとは図解の豊富な例を眺めればよいんじゃないか。
そのぐらいの心持ちで読めばいいと思う。
理論立てて「図解はこうやるんだ」ときっちりと説明しているような本は(あるのか?)別に読めばいいんだ。
まあ、上で書いたような読み方をするには高くつく感もあるけど、紙質という面で考えれば妥当でもある。
*1 travel を訳したが、go でも意味は変わらないと思うので、ここでは"遠地への移動"というニュアンスの方が妥当なのだろう。
2008-03-31
■tDIary2.2.1 再度チャレンジ
さてどうか?
■Diary2.2.1 まぁ、大丈夫……かな
mod_reqrite を使って、index.rdf を with_comments.rdf に、no_comments.rdf を index.rdf に見せかけるってのはどうだろう。
――だめか。ページに link 要素で埋め込んであるんだもんな。
makerss.rb 直した方が正当か。
あと recent_rss に経過日時が出ているのは消してたんだな。
preview.rhtml も 2.2.1で上書きしたから後で直そう。
Amazon.rb は 2.1.x からそのまんま持ってきたけどちょっと見直すか?
(追記というかメモ)
recent_rss 経過日時をコメントアウト。ol 要素を ul 要素に変更。
preview.rhtml は自分向けにタブオーダーを変更。
Amazon.rb は時間があった時に……。

