2008-03-01
■tDiary2.2.0 00:27
テスト中です
(追記)
どうにかなったみたいです。
2.2.0 への変更点の中の、
本日のリンク元ファイル管理を日単位にし、過去の日記へのリンク元表示を揮発性に
tDiary.org - [release] tDiary 2.2.0リリース
があるために、移行後の最初のアクセスで、その月の分のリンク元データ(.tdrファイル)の分解が行われます。
レンタルサーバの場合、cgi の実行時間が制限されることがあり Internal Server Error がでてしまって先に進めないページ(月)が発生しました。
自宅内サーバでこれを実行して、その結果をレンタルサーバにアップロードするということをしました。
cache フォルダ内の.parser .rb なども問題が発生する月の分は同様。
なんとかこれでいけているみたいです。あとはコンテンツのチェックをしないといけないわけですが……。
ふぅ。
(追記)
2.1.3に戻しました。
■牛の首
ウォッチするのを忘れてた〜。
聞いたらあまりの怖さで死ぬとかおかしくなるとかいう「牛の首」と言う話が知りたいのですが
http://q.hatena.ne.jp/1069654969
小松左京氏の「牛の首」は、
に収録されている。
「牛の首」の話のどこが本当に怖いかという話をしたいところだけど、その怖さはここで語りたくはない。
私は上の本で「牛の首」を読んだことがあるので確かに知っている(知っているのは「牛の首」の中身についてではなくて、「牛の首」の何が怖いかについて、だが)。知っているけど、知っているからこそ、語れない。
というところが怖いのだ。
この怖さは読んだものでなければ分からないし、ちゃんと分かった人はその怖さを他人に伝えることができない。
「怖さを語ることができない」というところがこの話の怖さ(やっぱり伝わらない)。
それゆえに、この質問にはちゃんとした回答――質問者が納得できる回答が書かれることはないだろうな、と感じたのだけどそのままウォッチするのを忘れてた。
ふと思い出して検索してみて、やっぱりそうなったか、ということでトラックバックをしてみるのだけど、このエントリも質問者が納得できる内容ではないわなぁ……。
追記
小松左京の創作「牛の首」と、現実世界の怪談「牛の首」を混同しているような書き方をしているけど、そうしたのは怪談「牛の首」が内包する恐さを小松左京が実に的確に抽出している、と判断しているから。
疑問に思った人は小松左京の「牛の首」を読んでみて、他の誰かにどういう話なのかを説明してみようとするとよい。
2008-03-02
■tDiary2.2.1 → 2.1.3
一日分の referer データを捨てて元のバージョンに戻しました。
■メタルラックにとりつけられる液晶モニタアーム
液晶モニタに関して色々見ていたら出てきた。
違う楽天のモールへのリンクだけど同じ商品。別々の画像だったので2つ貼り付けた。
メタルラックのポール部分に取り付けられるってのは、PC 周りにメタルラックがあるなら使えそうだなぁ。
と思ったけどうちのラックはもっときゃしゃなフレームなので無理だ……。
■誤りを指摘する
ちょっと自省の念をこめてメモしておく。
どのような誤解に基づくものかを見いだして指摘する必要がある。「専門家の視点と一般向けの視点は別なのですよ」というありがちな言い訳をされないように注意しなければならない。重箱の隅をつつく揚げ足取りと思われないようにし、過剰な指摘をしないよう注意しないといけない。
高木浩光@自宅の日記 - 公開鍵暗号方式の誤り解説の氾濫をそろそろどげんかせんと
しかし、日経BPの記事はまずどこから指摘すれば困るぐらいひどいなぁ。
ライターによって記事の質の差がありすぎ、という感じはしていたけど。
……ってのはIT開発業界と一緒か。
雑誌と違って後から修正できる(余地がある)のは救い。
■色々たまっていました
だいぶインパクトが薄れてきた。
フェティッシュな部分の比率を高めればいいってものでもないし。まったりしたペースに移行していくのも悪くはないか。
重要な秘密が判明。
といっても読んでいる側は一回ぐらいはその可能性を考えていると思うのだけど、不自然なほど登場人物は疑問にも思ってなかったんだよなぁ。
1巻を読んでいた時は、TT(タイム・トラベル)ものと、吸血鬼や鬼の伝説を絡めたアイデアは陳腐な気はしていた。
ところが、「TTで未来から来た人間(?)が、色んな時代・場所に到達した」ということが2巻で判明して、それが世界の推移に干渉し、未来から来た人間がそういった様々事実を把握していない(というかそもそも「何か」の調査をしにきているのだし)となると……。
これからが楽しみな展開になってきた。
このコミカライズの企画を藤原カムイさんに持っていった人に感謝。
元々の物語の面白さは折り紙付きで、藤原カムイのアプローチや料理の仕方も抜群。
具体的に指摘できない「作品全体の雰囲気」がすごく心地よい。
踊る人形事件。
シャーロキアンの中でも物議の元となっている(らしい)この作品*1を、実際に暗号を解く役目をクリスティに持たせたことでピタリとはまった。
パロディなんかで「ワトスンが名探偵でホームズは道化回し」というようなものがあるけど、ホームズもちゃんと名探偵で主人公のクリスティもまたそれなりの探偵役をやっている、というのは上手。
……クリスティの性格付けが新谷かおるの十八番だってのもあって、ファン大喜び。という図式も合っているんだろうけど。
*1 暗号が簡単過ぎるのでないか、という点で。
2008-03-03
■奇譚蒐集家
「求む奇譚! 自分が体験した不可思議な話を話してくれた方に高額報酬進呈。ただし審査あり」
という広告を見てバー"strawberry hill"の扉をくぐる人々。
語られる不思議な話。
合理的な解釈を披露する探偵役。
という筋書きが繰り返される短編集。
で、最後の章でどんなアクロバットが披露されるのかちょっと楽しみだったのだけど、期待が大きすぎたか。
でも、まぁ、それぞれの短編の方が面白かったので、本全体として及第点以上、楽しく読めた。
■国民のための情報セキュリティサイト の用語集がそこはかとなく変
Cookie(クッキー)
(略)
また、ウイルスの中には、クレジットカード番号などの個人情報が含まれたCookieを搾取しようとするものがあります。
国民のための情報セキュリティサイト 用語辞典(英字)
「クレジットカード番号などの個人情報が含まれたCookie」なんてものを作るサイトがあったら怖いぞ。
サーバー証明書(サーバー・しょうめいしょ)
Webサーバーに対して発行される電子証明書のこと。
Webページの発行元のサーバーを運用しているWebサイトが実在していることを証明するものです。(略)
国民のための情報セキュリティサイト 用語辞典(さ行)
どういう意味か数分間悩んだが分からないものは分からない。
2008-03-04
■URL Hack で Youtube を高画質に
URLの後ろに &fmt=6 を付ける。
you append &fmt=6 to the URL of a YouTube video
YouTube Tests Higher Resolution Videos
ただそれだけで、
a higher quality encoding (448x336)
YouTube Tests Higher Resolution Videos
の動画が再生される。
とりあえず1つだけ試してみたけど、確かに変化した。
お試しあれ。
via
……多分百式管理人さんあたりも書くんだろうけど。
2008-03-05
■不機嫌な職場 を読んだ
著者が4人いるのね。
各章それぞれは、よく書けている――現場の雰囲気を率直に書き出しているし、なぜそうなったのか? という考察、アカデミックな面からのアプローチなど――と思うのだけど、全体を通しての一つの道筋が無い。
残念なことではあるし、瑕疵ではあるけれども、それだけをとりあげて価値無し、とするには勿体ない。
ざっと目次を引用する。
第一章 いま、職場で何が起きているのか
第二章 何が協力関係を阻害しているのか
第三章 協力の心理を理解する
第四章 協力し合う組織に学ぶ
第五章 協力し合える組織を作る方法
となる。
第一章は、まさに今私の「職場で何が起きているか」が端的に書かれている。
アジェンダを書く。
関わらない協力しない→自分の状況を周りに解ってもらえない→自分を守ろうとする心理→つぶれる人→生産性・創造性の低下→品質問題*1)→協力の問題は組織の問題であり社会の問題でもある
関心やコミュニケーションの欠如がまずうたわれる。
p21
さらに状況を悪化させてしまうことが起きる。助けて欲しいときに、誰も気づいてくれなかった、誰も声を掛けてくれなかった、声をあげたのに手伝ってもらえなかったという経験である。これを繰り返してしまうと、何もしないほうがよいという学習をしてしまう。「学習的無力感」というものだ。
これがひどくなると人は潰れる。うつ。適応障害など。
この問題は何かというと人と人との「関係」、「協力」にあるとする。
つまり、一人では解決できない。
むしろこれを一人ひとりの問題だと捉えてしまうと、全員に負の行動を取らせてしまうと説く。
組織長の問題だと捉えても、中間管理職の問題だと捉えても、リーダーの問題と捉えてはいけない。あるいは自分の問題だと捉えてもいけない。
そこが負の行動の出発点である。
第二章。ではなぜ組織はそうなってしまうのか? あるいはそうなってしまったのだろうか? という話。
ここで私自身、不思議に感じていることがあった。
「10年前はこんな感じじゃなかった」と。
何が変わったのか。
「役割構造」「評判情報」「インセンティブ」という枠組みで捉えている。
仕事の定義が明確になった。とりわけ「成果主義」により、個人の役割が、何がその人の仕事の「成果」なのかが明文化された。
仕事が高度になった。高度化の圧力は、個々の人の専門性を高めてしまう。技術やスキルといった話だけではない。仕事上の人間関係なども含む。○○地区は誰が担当する、などといった仕事の割り方なども、専門性を高める要因。
インフォーマル・ネットワークの消失。呑み会、忘年会、新年会、社員旅行、課内旅行……。それらが消えた。
一緒に仕事をしている人がどういう人かを知る機械を失った。
長期雇用という保障の消失。会社への帰属の動機が消えた。本の中で印象的な台詞が出てくる。「その仕事は私のためになるんですか?」
第三章はアカデミックなアプローチ。社会心理学的な側面から。
社会的に「相手を信頼する」「信頼した上で資源を交換する」という知見である。
その中で、信頼と社会的交換を阻害する要因、について明らかにする。
第四章は、事例紹介。グーグルの記事はちょっと飽きた感じもあるが、他の2つの例は刺激的。
ここまで後ろ向きな内容だっただけに、この章が目立つこと目立つこと。
第五章でいよいよ協力し合える組織作りの話になるのだけど、そんな都合のいい魔法な手段は、もちろん、ない。
先の「役割構造」「評判情報」「インセンティブ」という枠組みから、「工夫」が書かれている。
p152
「壁を作らないから、なんでも意見を言いなさい」というところまでは多くの組織で行われている。しかし、そこで出てくる意見を一つひとつまじに取り上げないならば、社員は、そのうち馬鹿らしくなる。
中には、そう言っておきながら、出てきた提案を一蹴しておしまい、あるいは、否定的な見解で返すという場の運用を許している組織を見かける。
「壁を越えて、なんでも意見を言えといっているのに、うちの会社は社員がおとなしいせいか、なかなか意見が出てこない」という会社は、実際はこうした現場になってたせいだろうか。
会社に限らない。
問題点を挙げろ! といっても、それに対して施策をうってくれなければ、誰も問題を自分で抱え込む。
p164
インフォーマル活動の価値を再認識したとしても、このような活動をただ行えばよいというものではない。
「よしわかった。昔やった要領で社員旅行を復活させればいいんだな」とやってしまうと、必ず失敗する。
なぜか。それは、インフォーマル活動を通じて得られる人間関係情報は、あくまで企業にとっての隠れてベネフィットであり、前面に立つものではないからである。
「人の顔を互いに知ろう」と呼びかけたところで、そんな場所にいきたいきんう動機は働かない。
あくまで、前面に立つのは、活動そのものである。つまり、社員旅行なら旅行である。それゆえに、そこに人が集まるためには、その旅行自体が魅力的なものでなければならない。魅力=豪華ではない。人が行きたいと思う工夫がその中にあるかどうかである。
p165〜p166
例えば、サイバーエージェントでは、人となりを知る工夫の一つに「ブログ」を利用している、と紹介した。また、イントラネットを利用した、社員の情報交換等も行っている、と紹介した。
しかし、疑問に思う人もいるのではないだろうか。
多くの会社が社内ブログやイントラネットを活用したが、上手くいっていないと聞く。なぜ、サイバーエージェントではそれが、上手く機能しているのだろうか、と
答えは単純明快である。それは、彼らの社内ブログやイントラネットは、圧倒的に面白いからである。外にあるブログやホームページと比べて、競争力のあるレベルで面白いから人はそこを訪れるのである
p176
スタッフが言われたものを持っていく。すると、すかさず「ありがとう」という言葉が医師から出る。
これは何も特別なことではないように見える。しかし、スタッフが医師の指示に従って、モノを取ってくるぐらい当たり前で、いちいち感謝すべきことではないという認識が"普通"になっている病院の方が実際は多いのである。
あなたの会社などをだろうか。「普通」になっている認識を、一度検証してみたいとかだろうか。
認知とは文字通り、他人を認めるという応答のことだ。平たく言えば、「この人すごいよ」と言ってもらえることである。
p180
風土を醸成するためには「感謝しろ」「認知しろ」とお題目を唱えているだけではなかなか進まない。やはり、何がしかの仕掛けや仕組みを企業運営のあちこちに用意しておくことが必要となる。
p182
毎週、無作為に選ばれた顧客から、滞在期間中のベストホテルマンを教えてもらい、そのホテルマンを表彰する、という仕組みである。
これだけだと、よくある「目立つ仕事をしている人だけが、会社から感謝され、認められる」制度で終わる。
しかし、このプログラムには工夫がある。
そのホテルマンは、自分がいい仕事をする上で、欠かせない協力をしてくれた裏方の社員を三名選出し、その社員も次の週に、同じように表彰されるという工夫である。
つまり、このホテルでは、目立つ仕事をしてる人だけではなく、いろいろな仕事をしている人が、さまざまな同僚から感謝と認知の喜びを享受する機会を整えているのである。
とにかく「工夫」である。
制度だけじゃない。ルールだけじゃない。
そこに「工夫」を持ち込む姿勢が唯一の道だと言っている様でもある。
引用が多くなってしまった。
なぜかといえば、この本は「そうか! そういうことか!」というカタルシスを得るようなものではないからである。
当たり前のことが書いてある。
でも、今、社会の中で、その当たり前のことが出来なくなっている。見えなくなっている。
そこに光を当ててくれる。気付かせてくれる。
そういう本なのだ。
もう一度言う。
この本に、明快な解はない。そんなものはどこにだってないのだろう。
ネットにあふれるブログよりも面白いもの、役に立つこと。それを社内ブログに書こうというインセンティブがあるのか。
(もっと面白く!)
小さな工夫。小さな気づき。
ちょっとした感謝の言葉。
(もっと楽しく!)
あなたが見えなくなっているものは何?
*1 ここで不正問題もでてくるが、それは私の職場ではない。(と思う。
2008-03-06
2008-03-07
■Eclipse 復活
JVM terminated. Exit code=-1
というエラーで起動しなかったEclipse。
いつのまにか、eclipse.ini の、
--launcher.XXMaxPermSize 256m
が、
--launcher.XXMaxPermSize 256m
になっていたせいだった……。
分かってみれば馬鹿馬鹿しい原因だけど、なかなか気がつかないもんだなぁ。
■パッケージシステムの適用が「開発中断」って
IT業界の人とか、ユーザ企業のIT部門の人じゃないとピンとこないんじゃなかろうか? と疑ってしまうのだけど、逆にピンとこないからこそスルーしてしまうんだろうな。
パッケージシステムを導入している企業で相反する要求があったりすると、どちらかはカストマイズ(改造)による対応をするか、あるいは両方ともカストマイズするか、ということになる。
それがソースコードレベルにとどまっているうちはまだいいのだけど、データベース構造の層まで入り込んでくると手に負えなくなってくる。
このフラグによって使うテーブルが違います、とかカラムが違います、とかになったり。
それならまだマシな方かも。
第1正規形さえ満たしていない構造になっちゃったりすると怖いね〜。
via
(追記)
このエントリを思い出した。強調部分は私によるもの。
リプレースするときに、この問題を根本的に解決するには、"仕様そのものを見直します"、"以前のものとは違うものです"ということをお客様に納得させなければならない。
だけど、それが難しい、あるいは"とてもそんなことは言えない"という心理になっていて最初からそんなこと考えもしていないのか。
しかし、数年もかけて運用してきたと言う事実はある。
つまり、色んな業務フローに対するバグフィックスや機能追加を重ねて、安定稼動したシステムになったのだ。それらを捨ててスクラッチで作り直す時、過去のノウハウも全て捨ててしまうことと同じ。
プログラマの思索: システムのリプレース案件が最も危険な理由
お客さんから見れば、既に動いているシステムがあるのだから、仕様ははっきりしているでしょう、と思うだろうが、肝心のシステムは中身が全く違う。
運用していくうちに、バグフィックスや機能追加で、恐竜のように馬鹿でかくなった中身は、最新のオブジェクト指向言語で、同じようにたくさんのバグフィックスを重ねて積み上げたものに変わる。
同じソースコードの断片は一つもないはず。
要点は、何千人年の仕事が今のWordやExcelには費やされてきたのであり、これらのアプリケーションの完璧なクローンを作りたいと本当に欲するなら、あなたは何千人年を費やさなくてはならないことになる、ということだ。ファイルフォーマットは単に、アプリケーションがサポートする全てのフィーチャーの簡潔なサマリーなのだ。
Joel On Software私訳
■鉄腕バーディー 18
バーディーの存在が主要人物の多くと接触した以外、エピソードとして必要だったかな? と感じた。
まぁ、アクションは読んでいてそれだけで楽しいけど。
あと"ネットワーク"の状況とかにもちょっと触れられていたか。
■クロサギ 18
巻末の解説のページに"本来の談合は一種の無尽であり"と書いてあるのだけど、"無尽"ってどれだけの人が知っている言葉なんだろう?
私はこの言葉を目にしたのは、これでたったの2度目なんだけど。
クロサギを好んで読むような人は普通に知っているのか??
本編は面白かった方だと思う。
考えてみると白石って、レギュラーのシロサギの中で唯一"微笑んでいる表情"をするんだよな。しかもかなりのシーンで。
2008-03-08
■バイ・リンガル
(BK1 内容説明より)
第2言語を学んだ人が母国へ戻ったとき、学ばれた第2言語はどうなるのか。高校の英語教師として豊富な経験を持つ著者が、日本の高校における帰国子女の英語能力の保有・損失状況について調べる。
小学生時代にヨーロッパで何年か過ごしていたという友人は「英語教師とは喧嘩した」みたいなことを言っていたなぁ(なるべく関わらないようにしていた、だったかな?)。
Amazonの題名が途中で切れてるか。
Language Attrition and Retention in Japanese Returnee Students
ですな。
2008-03-09
■学校教育の旧態依然とした画一性を打破せよ!
というお題でいつか書いてみたい。
というのは下の記事で笑ったから。
産業技術総合研究所情報セキュリティ研究センターの高木浩光主任研究員は、「これまで文系のセキュリティ屋がお経のように唱えてきた『パスワードを定期的に変更せよ』とかいう対策は何の防御策にもならない。ユーザーは、ソフトウェアを常に最新のものにして、マルウェアを誤って実行しないよう注意するしかない。安全なファイルの開き方を学校教育で教えるべきだ」と話している。
高木浩光@自宅の日記 - 朝日新聞の記事を真っ当な内容に書き直してみた
■購入した人のお金はどこへいくのか?
以下、本来は「引用の引用」という形にしないといけないのだけど、「本来の引用先」を明に示せないので単純な引用の形にしてます。
コンテクストを混乱させるかもしれないのですがご容赦を。
日本の音楽業界特有の言葉に「(ミュージシャンを)食わせている」というのがあって、日本ではスタッフがアーティストを食わせている。しかしアメリカでは逆で、アーティストがスタッフを食わせている。アーティスト自身が、マネージメントやライツ関係やその他いろいろなスタッフを雇用している。
ヒートウェイヴが敗北的な和解、送信可能化権はソニーが所有 - *mohri++
さて。
この話を聞いてふと思いだしたのが薬の値段。
薬屋に行ってよく観察すると、テレビCMでよく名前を知っている薬のそばに、同じ薬効成分・分量でしかし値段が安い(もしくは量が多い)薬があったりします。
そんなとき「テレビCMでよく名前を知っている」方を選ぶ人もいるでしょう。
でも、表記されている薬効成分・分量は同じ。
ではこの値段の差は?
……広告料。
その値段の差が、テレビ局を、広告会社を、制作会社を、CM出演者を、プロダクションを「食わせている」わけですな。
■名前のアイデンティティについて最近考える
サイドバーに書いてあるけど、私のネットワーク上のアイデンティティ、つまり id は quintia にしている。
元々ははてなidだけどこれは今も生きていて、写真を貼り付けているページからフォトライフに飛ぶのでそれは確認できると思う。
これが Web 上の id として、つまり私を指す唯一に認識可能な識別子として使えるか?
とりあえず、日本ではなんとか使えるっぽい。
2000年前後に quintia を id としていた絵師の方がいらっしゃるようなのだけど、それからもう使われていないようなので、現時点ではなんとかなる。
なんかすごーく適当につけたわりにはユニークに機能した。
ずっと後になってから調べたのだけど、ちょっとびっくり。
世界では?
どうにもならない。一般名詞であって id としては全然駄目(MSやAppleのCEOぐらい有名になれば別だろうけど)。
で、本名。
漢字はというと、実はネットニュース時代にたくさん書きこみを残している私と同じ漢字の方がいて、それらがけっこう引っかかってくる。
ても読みは違う。
私の場合漢字よりも読みの方が特徴があるのだけど、じゃあ全部ひらがなにして検索すると……全然駄目なのだ。全然違うものの"途中までの文字"に一致してしまう。
読みの方が特徴があるのでそちらに愛着があるが、そちらでは駄目。
さすがにネットニュースの時代も過ぎ去り、先の方も実名での発言もされていないようで、もし"いかにもid"ではなくて"名前らしい"識別子を使う時が来たら……、漢字を使うかーとか考えていたり。
でも読みと組み合わせると、きっと日本でもユニークか、1〜2人いるか? というぐらいの珍しさになってしまうので抵抗もあったり。
漢字は本名。読みを変えるか。
それとも逆か。
あ。苗字は漢字で名前はひらがな?
とか思ったけど実際書いてみると字面がいまいち。
はい。どうでもいい話でしたね。
2008-03-10
■Instapaper の bookmarklet を参考にして del.icio.us 用のを書いてみた
あまりにもできがよい"あとで読む"専用サイト、
の bookmarklet がまた凝っていたので、似たようなのを del.icio.us 用にも欲しいと思い、書いてみた。
これが、Instapaper の知財を犯していないかどうか、ということだけど……。
ま、大丈夫だよ……ね?
選択中の文字列が notes に入るのだ。
なお Firefox 2.0.0.12 でしか試していないので注意!
追記 2008/08/04
del.icio.us のUIが変わったので、scrollbars=yes を追加しておいた。
■ケーブルマネジメント
うわ。なんか格好いい響きだ。
なのだが、それって前にやった、
となんかアイデア的に違いがある? とか思ってスルーしようと思ったのだけど。
こんなまとめ記事へのリンクがあったのでメモ。
■ARIA 12
今の落ち込んだ気持ちで読むにはちょっとつらいです。
灯里の笑顔が、言葉が眩しすぎます。
痛いです。
アリシアさんの、灯里への告白が胸を打ちます。
それを受けての灯里の応えが、この巻に流れている大きな主題(テーマ)だと感じました。
――私は、変わることが怖くて、立ち止まろうとしているんじゃないだろうか?
自問せずにはいられません。
だから、今はちょっと不安定です。
2008-03-12
2008-03-13
■やっとか。でも遅いよ
blogの表示を確認してリンクの確認もして――、とかやってると自分のアフィリエイト*1を踏んで買うってこと、よくやってたものなぁ。
その分が入ると紛らわしくなるんだ……。
自己注文の取扱変更に関するお知らせ
Amazon.co.jp アソシエイト・セントラル
運営規約第4項に明記されているとおり、アソシエイト・プログラムではご自身のアソシエイトリンクからの自己注文を禁止いたしております。これまでは該当の注文に関する調整を支払時期ごとに行っており、調整金額を支払履歴に記載しておりましたが、今後につきましては、該当の注文を注文レポート、売上レポートより随時削除させていただくこととなりました。一旦各レポートに計上された商品について、その後削除されている場合は、自己注文によるものとご理解いただきますようお願い申し上げます。
今はそんなことしないけど。
■『機械どもの荒野』の解説
な、なんですとっ?
森岡浩之『機械どもの荒野』の解説を書きました。あれですね、この手の文章のお仕事は大歓迎なのですけれど、サイドバーにでも「仕事ください」と書いておいたら仕事が来るでしょうか。そんな甘いものじゃないか?
お仕事。 - Something Orange
この本、届いてはいるけどまだ何もしていない。
家に帰ったら早速見てみなければ。
以下2008/4/末までの期限付き記述
「谷川史子リング」つながりでウォッチしていた人が、こんなお仕事をするだなんて、意外な展開にビックリ。
■ビデオ共有サイトがはらむ財政および法制上のリスク
あまりにも分かりやす過ぎる説明。
この議論からは、ビデオ共有サイトがはらむ財政および法制上のリスクが浮かび上がってくる。Googleの資金で支えられているYouTubeなら、エンターテインメント業界の大手企業から訴えられても応戦できるだろうが、他社はそうはゆかないのである。
DivXの最高財務責任者が明かした「Stage6」閉鎖の本当の理由:ニュース - CNET Japan
だけど「分かりやすすぎる結論」なだけに逆に注意して読まないと、と感じた。
*1 と書かせてもらう。
2008-03-14
■とてもコンパクトな Firefox のテーマ
サブマシン。何かの事情で小さい画面で作業をしている人。
ここまでコンパクトに、しかも破綻しないでキレイにまとめきったテーマは今まで見たことない。
via
■数値文字列と MD5
それぞれが 0x30〜0x39 までの値しかとりえないバイト列で、衝突なんか起こるかなぁ?? という根本的な疑問が。
1,2,3〜nとインクリメントされていく数値文字列をMD5でハッシュ化していった際に、
最初にコリジョンが発生するnは何でしょうか?
http://q.hatena.ne.jp/1205459729
解答が分かるほど理解はしてないけど。
2008-03-15
■帰ってきた
楽しかったし、勉強にもなった。
昨日上手く寝つけなくてもう眠いのでもう寝ようっと。
2008-03-16
■Set が Ruby にはないという話
に参加してでてきた話。
Ruby使いの人
「Java の Set って何?」
「Java の Set にあたるものって Ruby では何? と聞かれて分からなかった*1」
Java使いの人
「あぁ、Set って確かにあまり使わないなぁ」
「っていうか Map つまり連想配列のキーの部分と変わらないし」
私
「Set には実装として HashSet と TreeSet があるから、Set は抽象レベルの話で、Java では実装が選べるから……」
Java使いの人
「やっぱり結局ハッシュのキーの部分ってことでいいんじゃ?」
私
「いや、連想配列のことを俗にハッシュって言っているけど、それはイコールじゃないし。あぁ、説明できない〜。っていうか忘れてる〜」
となったのでその話。
import java.util.*; public class Test { public static void main(String[] args) { Set s = new HashSet(); s.add("a"); s.add("b"); s.add("c"); s.add("b"); s.add("c"); s.add("d"); System.out.println(s.size()); Iterator iter = s.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } } }
実行すると、
4 d b c a
こんな感じ。
s の中身は4つ。"b"を2回、"c"を2回 add しているけど、Set の性質である"重複を許さない"ためにそうなる。
重複要素のないコレクションです。すなわち、セットは、e1.equals(e2) である e1 と e2 の要素ペアは持たず、null 要素を最大 1 つしか持ちません。その名前が示すように、このインタフェースは、数学で言う集合の抽象化をモデル化します。
Java 2 Platform SE 1.3: インタフェース Set
ということ。
さて、上のソースでは interface Set の具象クラスとして HashSet を利用したのだけど、これを TreeSet にしてみる。
Set s = new TreeSet();
に変更するだけ。
実行結果はこう。
4 a b c d
つまりソートされた状態を保持するわけだ。
iterator で中身を全部吐き出す時や、first, last メソッドがその様に振る舞う。
Set を実装するにあたって"重複を許さない"という性質をどのようにするか? 逆に言うと"重複があるかどうかを調べる"にはどうするか? ということ。
単純に頭から重複があるか探していったら O(n) のオーダになってしまいます*2。
で、Java で最初から用意されている方法がハッシュを使う方法と、ツリーを使う方法。ってそのままカタカナに直しただけに見えますな。
後者は、赤黒木を使って、ソートされた状態を保った平衡二分木でデータを保持します。
前者は……全くややこしいことですが、ハッシュ=連想配列と考えている人が多いので困ります。
初期のJavaの実装では、まず11個の配列を用意しています。
add するオブジェクトの hashCode() メソッドを呼び、その11の剰余でそれぞれの配列に分配していきます。
なぜ11かというと、
- あまり配列が小さくて大きくても効率が悪い
- Object#hashCode はメモリアドレスを返す仕様になっているので、4や8の倍数になると予想される。その倍数や約数の配列を用意すると、全部の配列にうまくまんべんなく入ってくれない*3ので都合が悪い。
という感じで、適当に小さくも大きくもない素数として選ばれたんではなかろうか、と私は思う(きっと情報工学の初期にこういうことを研究した人がいて、ちゃんと論文もあるんだろうなぁ、とは思う。いや数論の分野かな?)
Javaでもあとのバージョンになると単純な剰余ではなくなり(計算時間を気にした? とも思えないけど、効率がよくなかったんだろうなぁ)、上の様な簡単な話にはならない。
でも、ある数の配列を用意して、それにうまく分散して格納していくことで、重複のチェックにかかる時間を 1/(配列の数) あたりまで減らすことができる、という考えは一緒。
本題はここから。 < おい
Ruby になんで Set にあたるものが無いかというと、連想配列(Ruby でいうと Hash クラス)のキーの部分だけ見ると同じ機構を持っているからなんだろう。
s = {} s['a']=nil s['b']=nil s['c']=nil s['b']=nil s['c']=nil s['d']=nil p s.size #=>4 p s.has_key?('a') #=>true s.each_key {|key| p key }
でいいわけで。
で、オチなんだけど、実はJavaも、古いバージョンの TreeSet の実装って中に TreeMap を持っているだけだったと記憶しているんだよね(今確かめる気はないけど)。
なんだよ、じゃ Set なんて要らないじゃん? とか思わなくもない。
けど、きっと Collection という一連のユーティリティとして、あった方が"完璧"つまり"キズが無い"ってことを重視したのではないかと。
そしてもちろん、抽象概念としての Set とその実装を分離することで、アルゴリズムやデータ構造に対して意識を向けさせられる。
私としてはそっちの方に大きな意味を感じるのだけど、開発の現場では結局あまり意識されない、というのもきっと事実。
(で、連想配列=ハッシュ という勘違いが広がるんだよ)
(最近でこそハッシュに、"大きなデータストリームの同一性のチェック"という利用価値が出て来たけどな。それを除けば、ハッシュといえば連想配列に使われる、ってことでいいんじゃね?)
関連
2008-03-17
■「牛の首」 ネタバレ注意!!
聞いたらあまりの怖さで死ぬとかおかしくなるとかいう「牛の首」と言う話が知りたいのですが
http://q.hatena.ne.jp/1069654969
小松左京の短編小説に同名のものがある。
の巻頭に収録されている。
他には、
にも収録されているようだ。
では、ネタバレをこれから書きます。
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
一人称小説。
「こわい話もずいぶんきいたけど……」とS氏は、急にあらたまった口調で言った。「やっぱり一番すごいのは……」
という書き出しで始まる。
そして「私」は"牛の首"という"本当にこわい話"の存在を聞きつける。
が、誰もその中身については口をつぐんで話そうとしない。
「もう、あの話だけはよそう」
「それがなかなか――」(略)「いえないし――、実をいうと、思い出す*1のもいやなんで……」
という感じ。
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
最後に「私」は気付く。
それは題名と、非常に恐ろしい話だということだけわかっていて、その内容は誰も知らないのだということに。
あんなものすごい話は
誰もどんな話か知らないのに、その恐怖だけが
そして結末。
「私」がある人に、"牛の首"という怪談があるそうですね、と尋ねられ、そして応える。
「ああ……」私は顔が青ざめるのを意識しながら、低くつぶやいた。「知っているとも――あんな、恐ろしい話は、きいたことがない……」
と幕引き。
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
という内容のショートショートなのである。
このショートショートの何が「怖い」かというと。
物語世界の「私」と同じ情況に、読者も陥るからなのだ。
聞いたらあまりの怖さで死ぬとかおかしくなるとかいう「牛の首」と言う話が知りたいのですが
というはてなの質問に、なんと回答すればいいのだろう?
小松左京に「牛の首」というショートショートがある。
それは実は、題名だけが伝えられていて、その中身については誰も知らない、という物語なのです。
と答えたとしよう。
……そう。答えになっていない。
これが答えだと認識する人はいないだろう。
物語の中の「私」の状況が、物語を超えて現実の自分にも降りかかる。
「小松左京の"牛の首"という題名のショートショート」であるはずの作品が、その内容を説明しようとしたとたん、物語の中に自分が組み込まれてしまったことに気がつくという恐怖なのである。
以下余談。というか完全に蛇足だな。
それとは別に都市伝説として語られている"牛の首"という話もあるようなのだけど――。
それが小松左京の"牛の首"が発端であって、つまり、題名だけで中身の無い話に誰かが中身を与えようとした
出てくるのだけどそれを確認できないあたりもまた、この話の怖いところ。
*1 引用者註:本文では傍点での強調。
2008-03-18
■Photoshopの災厄 ありえない修正がされた画像たち
そんな画像や、何かの間違いが混じり込んだ画像を見つけて紹介しているblog。
分かりにくいものは英語を読まないといけないんですが、写真だけで分かるものもあるので、フィードリーダに入れておくと時々吹き出してしまったり。
http://photoshopdisasters.blogspot.com/2008/03/victorias-secret-classic-severed-hand.html
心霊写真か? みたいなのとか。
http://photoshopdisasters.blogspot.com/2008/03/bebe-eva-longoria-is-made-of-rubber.html
あなたの体はゴムで出きてるんですか? みたいな無茶な修正とか。
http://photoshopdisasters.blogspot.com/2008/03/imagine-babyz-whats-watermark.html
素材無料使用した時に入り込む透かしマークが、なぜかゲームのパッケージに……、とか。
http://photoshopdisasters.blogspot.com/2008/03/diario-sportivo-as-i-wasnt-expecting.html
スペインにはソックリさんがたくさんいるようで……。
■日本の伝統的な強みって を受けて
「技術が形式知化されずに*1人から人へ伝承できること」だったのかなぁ、と私は思いました。
人材だよね。技術じゃないよね。とかふと思った。
日本の伝統的な強みって - lethevert is a programmer
今は何でも"形式知化"で(ISO9000シリーズとか)、"人から人へ伝承できなく"なっているんじゃなかろうか、と。
あぁ、そのことを指して漠然と"人材"という言葉で言い表しているんだろうなぁ、と想像してはいますが。そこをあえてくどい表現にしてみました、ということです。
*1 されないままでも、の方が良かったか。
2008-03-19
2008-03-20
■コミュニケーションのための「空間」
(BK1内容説明より)
研究開発の知的生産性向上に有効なダイレクトコミュニケーション。その活発化のために何が必要か、全体像を提示。また、知的生産性を直接引き上げる施策を「スキル」「マネジメント」「空間」という3つの切り口で紹介する。
「空間」大事。
そこをなんとかする権限をマネージャーが与えらないといけない、ということを会社が(というのはつまり上司とか上司の上司とかが)理解してないと……。
図書館に入らないかね。
■パーセプトロン……忘れたよ!
見た目上のパラメータ次元数が10×10の100あって、10クラスを分類しようとするのは確かに無理っぽいような気もするけど。
こういうのは数式とか見てるよりも実際にいじっている人じゃないと分からないんだろうなぁ。
1つだけ明確に直すべきだと判断できるのは、上下左右の空白部分を学習に入れてしまっているあたり。
g2.drawImage(img, 0, 0, mesh, mesh, this);
2008-03-18 - きしだのはてな
10×10のmeshに黒画素の濃度を入れて学習に使っているけど、数字の大きさや、書いた位置に左右されてしまう。
なので、上下左右の空白部分を除去した形で、meshを作りたい。
もっとも簡単な正規化を、もっとも頭悪いコードで実装してみる。
import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import javax.swing.*; public class Perceptron extends JComponent implements ActionListener, MouseMotionListener{ // Image img = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB); BufferedImage img = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB); Graphics bg = img.getGraphics(); Point pt; final int mesh = 10; double[][][] perc = new double[10][mesh][mesh]; double[] b = new double[10]; double k = 0.1;//学習係数 public static void main(String[] args){ JFrame f = new JFrame("パーセプトロン"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(320, 400); //描画領域 Perceptron pc = new Perceptron(); pc.addMouseMotionListener(pc); pc.clear(); f.add(pc); //数字ボタン JPanel p = new JPanel(); p.setLayout(new GridLayout(2, 5)); for(int i = 0; i < 10; ++i){ JButton b = new JButton(i +""); p.add(b); b.addActionListener(pc); } f.add(p, BorderLayout.SOUTH); //判定ボタン JButton b = new JButton("判定"); b.addActionListener(pc); f.add(b, BorderLayout.NORTH); //ウィンドウ表示 f.setVisible(true); } /** ボタンが押されたときの処理 */ public void actionPerformed(ActionEvent e) { //手書き結果を学習メッシュに合わせる BufferedImage bi = new BufferedImage(mesh, mesh, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D) bi.getGraphics(); Rectangle destArea = noWhiteArea(img); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); // g2.drawImage(img, 0, 0, mesh, mesh, this); g2.drawImage(img, 0, 0, mesh, mesh, destArea.x, destArea.y, destArea.x + destArea.width, destArea.y + destArea.height, this); if("判定".equals(e.getActionCommand())){ //判定ボタンの処理 double mr = 0; int ans = -1; //認識失敗??? for(int i = 0; i < 10; ++i){ double r = 0; for(int x = 0; x < mesh; ++x){ for(int y = 0; y < mesh; ++y){ double d = (255 - bi.getRGB(x, y) & 255) / 255.; r += d * perc[i][x][y]; } } r += b[i]; System.out.printf("%d:%.2f ", i, r); if(mr < r){ mr = r; ans = i; } } System.out.println("\n答えは" + ans); clear(); return; } //数字ボタンが押されたときの学習処理 int idx = Integer.parseInt(e.getActionCommand()); for(int i = 0; i < 10; ++i){ double yi = (i == idx) ? 1 : -1; double in = 0; for(int x = 0; x < mesh; ++x){ for(int y = 0; y < mesh; ++y){ double d = (255 - bi.getRGB(x, y) & 255) / 255.; in += d * perc[i][x][y]; } } in = (in + b[i]) * yi; System.out.printf("%d:% .2f ", i, in); if(in <= 0){ //再学習 for(int x = 0; x < mesh; ++x){ for(int y = 0; y < mesh; ++y){ double d = (255 - bi.getRGB(x, y) & 255) / 255.; perc[i][x][y] += d * k * yi; b[i] += k * yi; } } } } System.out.println(); clear(); } /** マウスで描画 */ public void mouseDragged(MouseEvent e) { Point old = pt; pt = e.getPoint(); if(old != null){ bg.setColor(Color.BLACK); ((Graphics2D)bg).setStroke(new BasicStroke(25)); bg.drawLine(old.x, old.y, pt.x, pt.y); repaint(); } } public void mouseMoved(MouseEvent e) { pt = null; } //描画 @Override protected void paintComponent(Graphics g) { g.drawImage(img, 0, 0, this); } private void clear(){ bg.setColor(Color.WHITE); bg.fillRect(0, 0, 300, 300); repaint(); } public Rectangle noWhiteArea(BufferedImage img) { Rectangle ret = new Rectangle(); Graphics2D g2 = (Graphics2D) img.getGraphics(); BREAKTOP: for (int x=0; x<300; x++) { for (int y = 0; y< 300; y++){ if ((img.getRGB(x,y) & 255)==0) { ret.x = x; break BREAKTOP; } } } BREAKLEFT: for (int y=0; y<300; y++) { for (int x = 0; x< 300; x++){ if ((img.getRGB(x,y) & 255)==0) { ret.y = y; break BREAKLEFT; } } } BREAKDOWN: for (int x=299; x>=0; x--) { for (int y = 299; y >= 0; y--){ if ((img.getRGB(x,y) & 255)==0) { ret.width = x - ret.x; break BREAKDOWN; } } } BREAKRIGHT: for (int y=299; y>=0; y--) { for (int x = 299; x>= 0; x--){ if ((img.getRGB(x,y) & 255)==0) { ret.height = y - ret.y; break BREAKRIGHT; } } } return ret; } }
最後のメソッドの追加と、mesh に drawImage する時にそこから範囲を指定しているところが大きな修正点。
Rectangle destArea = noWhiteArea(img); g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); // g2.drawImage(img, 0, 0, mesh, mesh, this); g2.drawImage(img, 0, 0, mesh, mesh, destArea.x, destArea.y, destArea.x + destArea.width, destArea.y + destArea.height, this);
黒画素が存在する矩形部分だけを、mesh に対して drawImage してみました、ということ。
あとは些末。
……マシになったような気もするけど、気のせいと言われればそんな気も。
データ集合を準備して、ちゃんと学習データと、認識用のデータを固定しないと、評価はできませんねぇ。
■音源調整の革命……かも
まずはムービーを見るべし。ダウンロードした方がいいかも。
これ、すごい!
すごい、と思うのは、フーリエ変換して周波数特性を見る、なんてことを大学の時にかじったからかもしれないけど、でもこれって、Photoshop (の様なソフト)がデジタルな写真加工に革命をもたらしたのと同じことが、音楽の世界でも起きるかもしれないってことでは?
ちょっとしたミスでもデジタルで調整すればいいや、みたいな。
いや、今でもある程度のことは出来るんだろうけど、それがさらに加速する、てなことを想像してる。
面白い。
2008-03-21
■書きかえられたアトム
(BK1内容説明)
単行本化に際し、手塚治虫は何度も「鉄腕アトム」の原稿を描きかえている。どこがどう変わったのか、雑誌初出時の図版と比較し、オリジナルの持つ魅力をいま一度呼び起こす。
永遠のβ版? < 違う
■シンメトリーとモンスター
モンスターって何? と思った。
えーと……、
この辺りか。
むむむ。面白そうだけど、せめてガロア体やアーベル群ぐらいは(ある程度)理解したあとじゃないとなぁ。という気もする。
■CDをejectするショートカットの作り方
Create a Shortcut or Hotkey to Eject the CD/DVD Drive - How-To Geek
"MacintoshのCDの取り出し方"が、先日のRail勉強会@東北の懇親会でちょっと話に出てたなぁ……。
via
■日本のタクシーのライトが海外で紹介されている
しかも丁寧に、
- Shibuya, Tokyo
- Utsunomiya, Tochigi Prefecture
- Aizuwakamatsu, Fukushima
- Hiroshima City
- Fukuoka City
南東北から北九州まで。
英語が読めなくても、眺めているだけでも楽しめるかも。
via
■CNET iPhone UI と それを支えるライブラリ
という記事の様に見えるのだけど、ちゃんと読んでいない。
こっちが紹介記事。
Product reviews and prices, software downloads, and tech news - CNET
こっちが、Javascriptのライブラリ。
Product reviews and prices, software downloads, and tech news - CNET
mootoolsというライブラリとの関係が読めていない。mootools に依存しているのか、あるいは、mootools のサブセット+αなのか、そのどちらかだとは思うけど……。
■PS3 次のファームではDVD/BDにレジューム機能追加予定
素直に嬉しい。
Resume Play - begin playing a DVD or BD disc from the point where you previously stopped it,
PlayStation.Blog >> Firmware v2.20 bringing BD-Live to PS3
2008-03-22
■classという文 そして プライベートインスタンスメソッド
Rails' Wiki - Rails勉強会@東北第9回 で出た話題を復習した。
rubyはクラスを定義した時にクラスメソッドを実行することが出来て、
このin_place_edit_forはクラスメソッドなんですよ。
quintia:うわー!そうだったのかー。
2008-03-19 - 福島でRailsを使って仕事を頑張る計画
この quintia が私。
さて、「クラスを定義した時にクラスメソッドを実行することが出来て」は多分厳密には正しくないのではないかと思います。(追記)取り消して書き直しました
さて、「クラスを定義した時にクラスメソッドを実行することが出来て」の部分は当然ではあるのですが、けれどこの場合、in_place_edit_for がクラスメソッドだというのはちょっとピンときません。
レシーバが曖昧なのです。
以下復習したことをまとめてみましょう。
Rails の in_place_edit_for は敷居が高いので、
class Foo attr_accessor :foo attr_reader :bar attr_writer :baz end
の attr_accessor, attr_reader, attr_writer を考えましょう。
これは実はメソッドなのですね。(http://www.ruby-lang.org/ja/man/html/Module.html#attr_accessor 参照)
ところでRuby ではクラス定義も"文"の実行です。
class〜end でクラス定義"文"を作っているんです。
さて、クラス定義文の実行中の self、つまりメソッドの実行主体――Ruby では"レシーバ"と呼ばれますね――は何なのでしょう?
Fooクラスです。
といってもこれでは誤解を招くので噛み砕きます。
まず Foo というのは"定数"です。定数の形式を思いだしてください。"英大文字で始まること"でした。
Ruby で俗に"クラス名"と呼んでいるものの正体は、実は"定数"なのです(文法上は)。
定数Fooが指しているものは何でしょう?
Classというクラスがあります。
定数Fooは"Classクラスのインスタンス"になります。
class Foo p self.class.name # =>"Class" end
で確認できます。
(実行した時の結果を # => というコメントで表記するという慣例に従ってます)
attr_accessor は、Moduleクラスのプライベートインスタンスメソッドなのですが(先に提示したリンク先のページをよく見てください)、ClassクラスがModuleクラスを継承しているので、クラス定義式の中で使えます。
class Foo attr_accessor :foo end
を、省略されている色んなものを書き足すと、
class Foo self.attr_accessor(:foo) end
という感じになります(ただしプライベートインスタンスメソッドなので本当にこのようには書けません。"概念的にはこんな感じ"という比喩です)。
ここに書いた self は先に書いた様に定数Fooが指しているものにほかならず、それはClassクラスのインスタンスです。
だから、この場所から、プライベートインスタンスメソッドを呼び出せるのです。
そしてattr_accessor メソッドは、レシーバにシンボルと同じ名前の、最も単純な形での"呼び出しメソッド"と"代入メソッド"を作ります。
もう一度書きましょう。
attr_accessor メソッドは、"メソッドを作るメソッド"なのです。
それによって、
class Foo def foo @foo end def foo=(val) @foo = val end end
と等価になるのです。
ここまで書けば、勘のいい人は気づくのでしょうが、メソッド定義である def も"文"であって、def〜end がメソッド定義"文"になりです。
メソッド定義文内の self (レシーバ)は、Fooクラスのインスタンスです。
これはまぁ、当たり前ですね。
class Foo def foo p self.class.name #=>"Foo" end end
あとは余談。
クラス定義文もメソッド定義文も、ちゃんと値を返してくれて、変数に代入することができたりします。
nilですけどね……。
a = class Bar end p a #=> nil
class Baz a = def baz end p a #=> nil end
もしくはグローバル変数を使うと
class Baz $a = def baz end end p $a #=> nil
てな感じです。
ずっと昔には理解できていたことなのかもしれませんが、すっかり忘れていました。
Rails はこういう仕組みをバンバン使ってますよ〜、ということでした。
復習終わり。
■仮面ライダーカブト GOD SPEED LOVE 見た
というか子どもたちに見せていたというか。
時間ものは難しい。色々と目をつぶらないといけないことはあるものの、面白かった。
番外編の様でいて、本編と重なっている。重なっているようで繋がらない。
そんな微妙さがいいさじ加減。
2008-03-23
■Perforce Merge を使ってみる
資料
EUC-JP のファイルが化けてしまって使えない。
選択肢の中に、Japanese(EUC-JP)があるのに……。
検索してみると、Release Note で"EUC-JP の扱いを直したよ"という表記が。
あれ? と思ったら、何のことはない。古いバージョンをインストールしていたのであった。
新しいのに入れ直したら解決するかな?
(追記)解決した
■今日もtDiary2.2.x 系へのアップデートできず
操作ミスなどもあってうまくマージできんかった……。
2008-03-24
■Evernoteβ 結構よいかも
- デスクトップアプリケーションが存在する
- Web←→デスクトップアプリケーションのシンクロ可能
- 複数台のマシンでもOK(そのうち、わざと衝突させてみようと思う)
- Mac OS X (Leopard)、Windows Mobile のアプリケーションもある(私は使ってない)
- UIはケレン味がなくスッキリ
- 日本語対応はまだまだ(サムネイルが駄目。入力できるがシンクロできない文字もある)
- GoogleDesktop にプラグインが入った。まだ試してない
- デスクトップアプリケーション自身もインデクシングできるみたいな感じだが試してない。確認してない
今はβ中なので、申し込んでから使えるようになるまで、何日かかかると思う。
■サニタイズ言うなキャンペーン発動中
「信頼できないデータ」という答えしかない。
サニタイズする項目一覧でわかりやすいのを探しています。
http://q.hatena.ne.jp/1206314825
質問の意図は判る。
うっかり忘れたりしないように"一般に信頼できないとされるデータが羅列されているリストがあったらいいなぁ"ということだ。
問題視するべきはそれを「サニタイズする項目一覧」の一言で片づけていること。
その一覧に載っていない項目は気にしなくていいわけではない。
サニタイズがなんなのかをどう捉えているかが判らない。
信頼できる/できないは、考え、決定するしかない。答えはない。
ある時まで信頼できるものであったものが、次の瞬間に信頼できないものになる、なんてセキュリティでは当たり前。
既存のリストに頼るという姿勢が、危険。
■少し変わった子あります 読了
軽い読み物、と思っていたらとんでもない。
ここ最近の森作品では最高の切れ味だった*1。
ストーリィが希薄。
森作品の特徴ではあるが、この本は極めてそれが色濃く出ている。
なぜそう感じるかというと、それに加えて人間関係までもが希薄だから。
ストーリィも人間関係もない。
言葉の力のみが圧倒的に、直截に迫ってくる。
最後の章に隠された、ほんのわずかな「差」が、読者の方に向けられた切っ先に思われて、少し震えた。
■影を作る時に回転してはいけません
先日も紹介した"Photoshop Disasters"から2つほど、同じ様な間違いをしている写真。
PSD: Photoshop Disasters: Readers Digest: Maybe It's A VampirePhone
PSD: Photoshop Disasters: Shimano: Righty Tighty Lefty Loosey
下の方に映り込みっぽい"影"を描くのにうっかり回転を使っちゃったということか。
(追記)2008/03/26
こういう"映り込み"が流行りなんだろうけど、逆にその辺りの標準的な手順が確立されてないのかも。
また似たようなエントリが上がっていた。
PSD: Photoshop Disasters: Apple: Huge Goof, Jobs, Entire Board To Resign
*1 注:最近はハードカヴァでは買っていないことを記しておく。
2008-03-25
■古本屋。ただし女子の
(BK1内容説明より)
ネット、カフェ、ギャラリー、雑貨、イベントなど、好きを仕事にした個性派13人の女性店主たち。その素顔と開業までの道のりを紹介する。『ちくま』連載を単行本化。
■Gmail 上で議事録を書くというのはどうだろう?
関連記事(というかリンクしただけの記事だけど)
こちらは英語記事へのリンク
共通する主張は、会議の最中にリアルタイムで議事録を採りなさい、である。
で、そのためのツールは何が適しているか、とかどういう機能が要るだろうか? とかそういうことを考えていた*1のだけど、今日、ふっ、と浮かんだアイデア。
Gmailの編集画面上で議事録を取るというのはどうだろう? と思った。
- 自動で定期的にバックアップしてくれる。
- バックアップ先は"そのマシン上"ではないので少し安心。
- 会議の終わりに誰に送るかを、その場で、出席者との間で確認できる。
いいかも。
「Gmailの送信」が会議の最後のタスクというのも、なかなかよさそう。
ネックなのは、バックアップ先がインターネット上なこと、で会社によっては許されないかも。
というようなものもあるみたいだけど。
まずは自分で工夫するのが技術者でしょ、とちょっと思う。
なのでまずはアイデア出しからスタート。
■"八木アンテナ"の八木教授の講演が聴ける
ちょっと前のニュースで、仙台近辺在住の人向けだけど。
行ってみたいな。
……でも、磁気テープとCDとでどっちが永く保つんだろう? あ、CDといってもデジタルデータ(wav)を別に保存していけばいいだけか。
■ハイクォリティなアイコン
16x16ピクセルのアイコン集。ライセンスはCreative Commons — Attribution 2.5 Generic
— CC BY 2.5。利用・変更は自由だけど、あなたのサイトの credits からリンクしてね、とのこと(雑な訳なので注意)。
Webアプリケーションを作るのに重宝しそうなアイコンがずらりと。
"View all icons (.png file, 1MB)"というリンクで一覧できる。
via
Three Extremely Useful Sets of Free Icons | You The Designer
*1 無意識化で、だ。別に時間割いているわけじゃない。精確には識域下で、なのかな?
2008-03-26
■文書表現技術ガイドブック ほぼ読了
表紙を見るとなかなか堅そうな本に見えるが、その通り。
実にアカデミックな内容だった。
といっても、空論で、実際には使えないといったような負の評価ではない。
構成、文体などが大学で使う様な教科書然としてはいる。
中身も、認知心理学分野から多くの論文を引用しており、やっぱりアカデミックである。その辺りにとっつきにくさを感じる人は多いだろう。
でも特別難しいことが書いてあるわけではない。臆せず読み進めてOK。
目次を引用する。
第1章 文書とは何か?
第2章 読み手は文書をどの様に理解するのか?
第3章 読み手に合わせた表現とは?
第4章 文章表現や文章構造の工夫とは?
第5章 図表を使った表現はなぜわかりやすいか?
第6章 わかりやすいプレゼンテーションとは何か?
第7章 Web による表現をどのように工夫するか?
私は第7章を読み飛ばしたことを記しておく。
p11
学校の先生は説明のプロです.(略)
上手に説明できるかどうかは,先生の「授業スキル」の基本です.(略)そして,あるベテランの先生に伺うと,(略)
基本は、「何を説明するか」ではなく、「何を説明しないか」を考えるそうです。
これに限る。
とにかく、意識せず、自然に書いていると長くなる。だから、いかに書くかなんて考えたことはなくて、いかに書かないかばかりを考えている。小説を書き始めた頃に、これに気づき、以来ずっと、どこまで削れるか、というチャレンジを続けている。
MORI LOG ACADEMY: いかに書かないか
それで、新聞のコラムで読んだと前置きした上で覚えている限りの文章を打ち込み、《時間がなかったので長文になりました》と結んだ。
(略)
――《パスカルだね》
(略)
きっと書き込みミスだと判断して、それを報せるメールを発信したのだ。まもなくそれに対する返信が届いた。
――パスカルはフランスの哲学・物理学者。彼が誰かへ宛てた手紙にそう記していると何かで読んだ覚えがある。「時間がなかったので長文になりました」とね。短い言葉で用件を伝えるには、それなりに時間が必要だからね。
「白い花の舞い散る時間」はこれで何度目の引用だろう。
なぜ「説明しない」「書かない」ことが重要なのか。
p11
余計なことを言うと大混乱し,知らない用語を使うと授業がストップするからです.
「未だ知らないこと」について説明しようとしているのだから、なんだか変な感じもするだろうが「理解するのに邪魔なもの」を知ること。考えること、重要。
結局、そのためには情報の「受け手」について意識しなければならない。
このテーゼは、この本の中で幾度もでてくる。第3章がまるまるその内容だし。
様々な論文を引用し*1実験と結果を書き連ねている。
その中から「なぜ受け手を意識しなければならないのか?」を説明しようとしている本だ。と私は感じた。
以下、気になった部分を列挙して終わりにしよう。
p26
ウォルフェ(Qolfe et al., 1998)は,先行知識の量が中くらいの文章で最も知識の獲得がなされることを明らかにしています.
読もうとしている本の半分ぐらいは知っている内容、がちょうどいいらしい。
p48に出てくる実験。学習者と説明者の群にわけ、コンピュータ操作の説明をさせる実験。
辻(2006)は,コンピュータ操作を説明する場面で、学習者の知識・目的・溜まっている問題を,説明者がどのくらい正しく推定できるかを調査しました.その結果,学習者の目的を正しく推定した割合は 85.0% であり,困っている問題を正しく推定した割合は 58.3% である一方,学習者の知識を正しく推定できた割合は 41.7 % にとどまりました.
何をしようとしているか、何に困っているかを推定するよりも、相手がどの程度知っているかを推定する方が難しいというのである。
これは「読み手を意識すること重要」というこの本の主題を考えると致命的に不利な結果である。
結局「読み手を意識する」というのは「読み手を想定する」ことにつながり、ペルソナ手法などの出番となる、という風に進む。
p111 プレゼンの話
この研究では聞き手がスライドから感じ取った興味,わかりやすさ,おもしろさの高さと,正誤形式の質問項目の正答率が重なっていることも確認されました.つまり,聞き手が興味をもち,「わかりやすい」「おもしろい」と感じるスライドほど正しく理解されるということになります.
場面によっては「正しくもれなく説明する」ことよりも、「おもしろい」ことを優先させた方が、相手が正しく理解してくれる、ということか。
それもまた結局、「何を説明しないか」に繋がるのではないだろうか。
「正しくもれなく」って、想像を働かせる余地ももなくて、つまらないじゃないか。
■図書館カビのために休館
カビの胞子が貴重書庫に充満……って書くとすごいビジュアルイメージが浮かんでしまうけど、まぁ、普通だよね。濃度が高いってだけで。
1980年代半ばに導入した、旧式で湿度管理が十分にできていなかった空調システム(エアコン)のせいで、カビの胞子が貴重書庫に充満してしまっているとのことです。事態は2007年の晩秋には発見されていたのですが、状況調査、人体への影響、対策の検討などに時間を費やしてしまい、せっかくの乾燥した冬の気候を無駄にしてしまったと同館の職員はAmerican Libraries誌のインタビューに答えています。
イリノイ大学アーバナ・シャンパーン校の貴重書図書館、カビのため休館 | カレントアウェアネス・ポータル
■Face your pockets!
pocket は米語でカバンのことね。
face がダブルミーニングなので訳さなかった。
どういうことかはサイトを見れば分かる。
ちょっと訳を書いておく。
どうやるの?
スキャナに物を並べる。顔か顔の一部が映る様に隙間を空けてね。
Aaaaand スキャン! あとはメールで送ってね。(略)
注意!
目を開けてちゃ駄目だよ!
via
余談
こういうのを見ると、メールアドレスを収集するための evil player なんじゃ? とか一回は疑ってしまうな。
*1 筆者自身の論文かも。未確認。
2008-03-27
■ 「悪いこと」したら、どうなるの?
よりみちパン!セ はいつも本屋でチェックする叢書。
(BK1内容説明より)
子どもでも死刑になるの? 少年院ってどんなところなの? 改正少年法は子どもを守ってくれるの? 「少年犯罪」の現状を知りぬく著者がさまざまな疑問に答える。武富健治によるマンガも収録。
■ウィンドウを切り替えないでコピー&ペースト
正確には、
Ctrl+C → Alt+Tab → ちょっと待つ → Ctrl+V→ Alt+Tab
という一連の動作をやってくれるスクリプトを WIn+C に割り当てよう、というアイデア。
なるほど。
(ちゃんとした紹介は百式管理人さんあたりがどこかにアップするでしょう。きっと)
■「殺すしかないようだな」という台詞に意味がある時
「プロの暗殺者」が銃を体に突きつけてたりするハリウッド映画とか見なれてしまっているせいもあって(殺傷可能な範囲内に入ってるのに何やってんの?)、こういう台詞って「阿呆か!」と言いたくなるところをあえて論考してみるという。
相変わらず、切れ味鋭いなぁ。尊敬。
■数百という数の項目を相手にするときはページ切り替え方式がいいのかな
Google Notebook や Ever Note β とを使っていると、追加しては適宜消していくという使い方の方がいいんじゃないか、と思ってくる。
ソーシャルブックマークとしては、del.icio.us を使っているけどこっちは消していこうなんて思わない(たまに整理をしたくはなるが、それは削除を意味しない)。
なぜだろうか? と考えていたわけではないけれど、ふと思ったこと。
スクロール方式*1とページ切り替え方式を比べると、登録しているページが数百を超えてくると後者の方が楽なんじゃなかろうか?
del.icio.us は 1ページに100項目出せるので、出すだけだしてあとは(ブラウザの)スクロールバーで流し読みするなり検索するなり。
Google Notebook みたいにページの中にスクロールバーがあると、どうもその辺りが"気持ちの良さ"を削いでいるような感じがする。
*1 HTML内のスクロールペインのこと。
2008-03-28
■こういうタイトルの付け方はやめていただきたい
まったく。絶対関係ないだろ? っていうジャンル(文庫,叢書)ならまだ許せるというか、さほど混乱もないんだけど。
普通はこっちを思い出す*1
あぁ、「なかよし」でこんな漫画もあったなぁ。
■ペーパークイリング
小物作りの手法って、次から次へとでてくるなぁ、と。
(出版社サイトの説明より)
細長い紙を巻いて仕立てるペーパークイリング。基本テクニックで作るカードから応用編、壁飾りやウエルカムボード、立体オーナメントなど難易度の高い作品も掲載。
*1 ここで書いている「普通」は「一般人」ではないだろうけど。
2008-03-29
■鉛筆用補助軸を iPod touch のスタイラスにする
2本入り、210円の鉛筆用補助軸を買ってきた。
iPod touch のスタイラスにするために。
↓こんなの。
バッチリ!! というほどではないけど OK!
*1 ドリマガ連載の絵柄の方。
2008-03-30
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 は時間があった時に……。